Update to Quote Unit Cost Normalize
Snapshot Nov 2, 2026 · 06:12 UTC · version 1.0.4
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Up to 10 plugins free · no card required.
All fields and original values.
These are saved file metadata. Open a changed file to read its text edits.
Package file
Oct 24, 2026 · 13:51 UTC
Not present
Nov 2, 2026 · 06:12 UTC
{"sha256":"353e3f731eb85c3b522f37c6c2d085f621162b7a2070c4473afbb8b8560aa786","size":481}
Package file
Oct 24, 2026 · 13:51 UTC
Not present
Nov 2, 2026 · 06:12 UTC
{"sha256":"188b3f69a8998916fefac126754ba62308e7971c53365d42ae56ea52095ed915","size":481}
Package file
Oct 24, 2026 · 13:51 UTC
Not present
Nov 2, 2026 · 06:12 UTC
{"sha256":"f641b4f679104b2cbc0dcf3e68faf97b090c9684d5d21f62f96df9221ee636a8","size":372}
Package file
Oct 24, 2026 · 13:51 UTC
14764f89d539b77b78a78f92e8c75ed8da27e3d019d1be63676304968e2763a3
Nov 2, 2026 · 06:12 UTC
ca9e2e73448d5db764278110c005b1d2d55148dde36d5feb6f6152759fdd81cf
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
plugin.json
− removed · + added
--- before +++ after @@ -1,8 +1,8 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "duopore-public-quote-unit-cost-normalization", - "version": "1.0.1", - "description": "Normalize supplied package quotes to a common base-unit price and a chosen quantity, before fees. You must provide equivalent units and one currency; no exchange rates are fetched.", + "version": "1.0.4", + "description": "Turn pack prices into a price per unit so different quotes are easier to compare.", "author": { "name": "DUOPORE VENTURES PTE. LTD.", "email": "ch.kae88@gmail.com", @@ -10,6 +10,7 @@ }, "homepage": "https://duopore-public-tools.ch-kae88.workers.dev/tools/quote-unit-cost-normalization", "keywords": [ + "compare prices per unit", "quote unit cost normalize", "quotes", "worksheet", @@ -19,24 +20,27 @@ "com.openai": { "interface": { "displayName": "Quote Unit Cost Normalize", - "shortDescription": "Quote Unit Cost Normalize", - "longDescription": "Normalize supplied package quotes to a common base-unit price and a chosen quantity, before fees. You must provide equivalent units and one currency; no exchange rates are fetched. Uses explicitly supplied structured inputs. Server computations are transient; the standalone website computes locally in your browser. Review the output before exporting it. No persistent account records, external source retrieval, sending, transactions or paid model calls. CSV/JSON review and export are available on the standalone website. MCP requests are capped at 128 KiB and computed responses at 256 KiB; individual field and record limits also apply.", + "shortDescription": "Compare prices per unit", + "longDescription": "Turn pack prices into a price per unit so different quotes are easier to compare. Enter each pack's price, how much it holds and the total amount you need. See prices in the same base unit and the cost for your chosen quantity before fees. You must use units that mean the same thing and one currency. No exchange rates are fetched.", "developerName": "DUOPORE VENTURES PTE. LTD.", "category": "Productivity", "capabilities": [ - "Prepare quote unit cost normalize" + "Compare prices per unit" ], "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/quote-unit-cost-normalization", "supportURL": "https://duopore-public-tools.ch-kae88.workers.dev/support", "privacyPolicyURL": "https://duopore-public-tools.ch-kae88.workers.dev/privacy", "termsOfServiceURL": "https://duopore-public-tools.ch-kae88.workers.dev/terms", "defaultPrompt": [ - "Help me prepare a quote unit cost normalize.", - "Review my inputs for quote unit cost normalize." + "Compare these pack quotes by price per unit.", + "What does my required quantity cost at each quoted unit price?" ], - "brandColor": "#246C59", - "composerIcon": "./assets/icon.svg", - "logo": "./assets/logo.svg" + "brandColor": "#4A8D1B", + "composerIcon": "./assets/brand4-composer.svg", + "logo": "./assets/brand4-logo.svg", + "brandColorDark": "#A9EA7B", + "composerIconDark": "./assets/brand4-composer-dark.svg", + "logoDark": "./assets/brand4-logo.svg" }, "review": { "test_cases": { @@ -95,7 +99,7 @@ "demo_recording_url": "https://duopore-review-evidence.ch-kae88.workers.dev/duopore-quote-unit-cost-normalization/" }, "publication": { - "release_notes": "Initial public review candidate. Five recorded positive endpoint cases and malformed-input guards accompany the review walkthrough. The evidence page clearly separates API checks from native ChatGPT evaluation. No public approval or publication is claimed." + "release_notes": "Clear benefit-first descriptions and original bold geometric branding with light/dark icon variants. App behavior, privacy, connections and review evidence unchanged." }, "apps": "./.app.json" }
Full technical diff · 5 changed fields
added /files/assets~1brand4-composer-dark.svg
Field was absent
{
"sha256": "353e3f731eb85c3b522f37c6c2d085f621162b7a2070c4473afbb8b8560aa786",
"size": 481
}added /files/assets~1brand4-composer.svg
Field was absent
{
"sha256": "188b3f69a8998916fefac126754ba62308e7971c53365d42ae56ea52095ed915",
"size": 481
}added /files/assets~1brand4-logo.svg
Field was absent
{
"sha256": "f641b4f679104b2cbc0dcf3e68faf97b090c9684d5d21f62f96df9221ee636a8",
"size": 372
}changed /files/plugin.json/sha256
"14764f89d539b77b78a78f92e8c75ed8da27e3d019d1be63676304968e2763a3"
"ca9e2e73448d5db764278110c005b1d2d55148dde36d5feb6f6152759fdd81cf"
changed /files/plugin.json/size
11200
10904
Full snapshot data
{
"files": {
".app.json": {
"sha256": "16e21839a51ac27b4e6bb11a73f4f3fabc519b419a2e13ebdd8880f7a5a301f2",
"size": 129
},
"EXAMPLE.json": {
"sha256": "fa0fe98aac3040d5a4a71c2fb8a71c5446c415deca31d30184c4e2c989438cee",
"size": 1221
},
"PUBLICATION-STATUS.md": {
"sha256": "7be3cc2abaece4f19ab8d77d639174820af16984594e5358adc8d13ce45d404a",
"size": 130
},
"README.md": {
"sha256": "c9496642a2e3833fb1143646964435c9d7d57e09a3b4b76eb9a5b3959385547f",
"size": 1333
},
"RELEASE-NOTES.md": {
"sha256": "2f939bff13a2bcfcfa9d8a4bedb3204f175d23261f29afbedb583a53d5cdbdd5",
"size": 317
},
"REVIEW-EVIDENCE.md": {
"sha256": "ef51794b830e8b582b80e22efb5f21f776173660135bedb074706619b43f0d70",
"size": 495
},
"assets/brand4-composer-dark.svg": {
"sha256": "353e3f731eb85c3b522f37c6c2d085f621162b7a2070c4473afbb8b8560aa786",
"size": 481
},
"assets/brand4-composer.svg": {
"sha256": "188b3f69a8998916fefac126754ba62308e7971c53365d42ae56ea52095ed915",
"size": 481
},
"assets/brand4-logo.svg": {
"sha256": "f641b4f679104b2cbc0dcf3e68faf97b090c9684d5d21f62f96df9221ee636a8",
"size": 372
},
"assets/icon.svg": {
"sha256": "52d2ee53e2ef07a05a9c28d9edd1c94ea14d9cae097cad9e14b834e16bce6746",
"size": 391
},
"assets/logo.svg": {
"sha256": "52d2ee53e2ef07a05a9c28d9edd1c94ea14d9cae097cad9e14b834e16bce6746",
"size": 391
},
"mcp.json": {
"sha256": "8624979862a4886039869b5b1c32be48ba5f893677380563ba51da073f062950",
"size": 407
},
"plugin.json": {
"sha256": "ca9e2e73448d5db764278110c005b1d2d55148dde36d5feb6f6152759fdd81cf",
"size": 10904
}
}
}SHA-256 of public snapshot: 0441ac84a24f46c377987d34fbe45004ccc3591632b86d55da0f3560fcac6060