@extenshi/mcp 0.1.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -6
- package/dist/bff.d.ts +33 -0
- package/dist/bff.d.ts.map +1 -1
- package/dist/bff.js +2 -0
- package/dist/bff.js.map +1 -1
- package/dist/icon-workflow.d.ts +17 -0
- package/dist/icon-workflow.d.ts.map +1 -0
- package/dist/icon-workflow.js +72 -0
- package/dist/icon-workflow.js.map +1 -0
- package/dist/tools.d.ts +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +176 -30
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -37,17 +37,37 @@ enforces it too.
|
|
|
37
37
|
| Tool | What it does | Cost |
|
|
38
38
|
| --- | --- | --- |
|
|
39
39
|
| `search_extensions` | Hybrid search across Chrome/Firefox/Edge with filters (store, category, pricing, rating, risk, permissions) | 1 read |
|
|
40
|
-
| `get_extension` | Full catalog detail for one extension by numeric catalog ID | 1 read |
|
|
40
|
+
| `get_extension` | Full catalog detail for one extension — by numeric catalog ID **or** by its store id (see below) | 1 read |
|
|
41
41
|
| `get_reviews` | Paginated Firefox/Edge user reviews (rating, short excerpt, date, language) + a store-level aggregate (rating, count, reviews link) — Chrome Web Store review rows excluded (aggregate is the only public content for Chrome); reviewer identity omitted; sort by recent or rating | 1 read |
|
|
42
|
-
| `get_security` | Risk score + finding counts + top grouped findings (reads existing scans) |
|
|
42
|
+
| `get_security` | Risk score + finding counts + top grouped findings (reads existing scans) | 3 reads |
|
|
43
43
|
| `market_overview` | Catalog-wide market intelligence with no args (totals, store split, category tree, and the extended breakdown — MV2/MV3, sensitive permissions, risk tiers, trader status, recency, reviews); pass a `query` to scope facets to a search | 1 read |
|
|
44
|
+
| `get_credit_balance` | Remaining credits across every pool (read / scan / icon / inventory), so an agent can size a batch before running it instead of hitting a mid-batch limit | Free |
|
|
44
45
|
| `search_docs` | Search the Extenshi docs + `@extenshi/cli` reference so the assistant can quote exact commands | Free (no key) |
|
|
45
|
-
| `
|
|
46
|
+
| `generate_icon_workflow` | Icon design requirements + the local agent-draws-SVG → `extenshi icon preview` → export workflow | Free (no key) |
|
|
47
|
+
| `scan_extension` | Pre-publish security scan of a local artifact (.zip/.crx/.xpi), with live progress | 1 scan |
|
|
46
48
|
| `publish_extension` | Publish to Chrome/Firefox/Edge with your own store credentials (fully local) | Free |
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
### Identifying an extension by its store id
|
|
51
|
+
|
|
52
|
+
`get_extension`, `get_reviews`, `get_security` and `scan_extension` accept **either** the numeric
|
|
53
|
+
catalog `extension_id` **or** the extension's `store_id` — the id straight from the store URL, which
|
|
54
|
+
is usually the only precise identifier you have:
|
|
55
|
+
|
|
56
|
+
```jsonc
|
|
57
|
+
{ "store_id": "cjpalhdlnbpafiamejdnhcphjbkeiagm", "store": "CHROME" } // Chrome/Edge: `store` required
|
|
58
|
+
{ "store_id": "dark-reader" } // Firefox: unambiguous
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`store` is required for a Chrome/Edge id because both stores use the identical 32-character format;
|
|
62
|
+
Firefox ids (slug, GUID, or email-style) route automatically. Resolving a store id is free — only the
|
|
63
|
+
read that follows costs a credit.
|
|
64
|
+
|
|
65
|
+
### Credits
|
|
66
|
+
|
|
67
|
+
Every account gets a one-time free allowance of 10 reads and 3 scans (no card required). Beyond
|
|
68
|
+
that, buy prepaid credit packs (up to 10,000 reads and 1,000 scans per pack) that never expire.
|
|
69
|
+
Call `get_credit_balance` (free) to check what's left before running a large batch.
|
|
70
|
+
Manage credits at https://dojo.extenshi.io/billing.
|
|
51
71
|
|
|
52
72
|
## Configuration
|
|
53
73
|
|
package/dist/bff.d.ts
CHANGED
|
@@ -12,6 +12,28 @@
|
|
|
12
12
|
* (no anonymous data access) — sending the key now is forward-compatible and
|
|
13
13
|
* needs no client change when enforcement lands.
|
|
14
14
|
*/
|
|
15
|
+
/** One credit pool as reported by `getApiCallerBalance`. */
|
|
16
|
+
export interface CreditPool {
|
|
17
|
+
/** Total calls this pool can still fund (free grant + purchased) — the single number that gates a call. */
|
|
18
|
+
remaining: number;
|
|
19
|
+
/** The slice of `remaining` still coming from the one-time signup grant (always ≤ remaining). */
|
|
20
|
+
freeRemaining: number;
|
|
21
|
+
freeGranted: number;
|
|
22
|
+
freeUsed: number;
|
|
23
|
+
}
|
|
24
|
+
/** Read/scan/icon/inventory balances for the `ek_` key or remote-MCP identity. */
|
|
25
|
+
export interface ApiCallerBalance {
|
|
26
|
+
read: CreditPool;
|
|
27
|
+
scan: CreditPool;
|
|
28
|
+
icon: CreditPool;
|
|
29
|
+
inventory: CreditPool;
|
|
30
|
+
billingUrl: string;
|
|
31
|
+
}
|
|
32
|
+
/** A resolved store→catalog reference (`resolveExtensionRef`). */
|
|
33
|
+
export interface ExtensionRef {
|
|
34
|
+
id: number;
|
|
35
|
+
store: 'CHROME' | 'FIREFOX' | 'EDGE';
|
|
36
|
+
}
|
|
15
37
|
export interface Bff {
|
|
16
38
|
searchExtensions(input: Record<string, unknown>): Promise<unknown>;
|
|
17
39
|
getExtensionById(id: number): Promise<unknown>;
|
|
@@ -25,6 +47,17 @@ export interface Bff {
|
|
|
25
47
|
getExtendedFilterFacets(): Promise<unknown>;
|
|
26
48
|
/** Catalog-wide category tree with per-category counts. */
|
|
27
49
|
getCategoryTree(): Promise<unknown>;
|
|
50
|
+
/** This caller's credit balances across all pools. FREE — never spends a read credit. */
|
|
51
|
+
getApiCallerBalance(): Promise<ApiCallerBalance>;
|
|
52
|
+
/**
|
|
53
|
+
* Resolve a public STORE extension id (from the store URL) to the numeric
|
|
54
|
+
* catalog id the read tools take. FREE — the read that follows is what's
|
|
55
|
+
* metered. Returns null when no catalog listing exists for it yet.
|
|
56
|
+
*/
|
|
57
|
+
resolveExtensionRef(input: {
|
|
58
|
+
storeId: string;
|
|
59
|
+
store?: 'CHROME' | 'FIREFOX' | 'EDGE';
|
|
60
|
+
}): Promise<ExtensionRef | null>;
|
|
28
61
|
}
|
|
29
62
|
/** Build a BFF client from a static `ek_…` key (stdio path). */
|
|
30
63
|
export declare function makeBff(bffUrl: string, apiKey: string): Bff;
|
package/dist/bff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bff.d.ts","sourceRoot":"","sources":["../src/bff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"bff.d.ts","sourceRoot":"","sources":["../src/bff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IAC1B,2GAA2G;IAC3G,SAAS,EAAE,MAAM,CAAA;IACjB,iGAAiG;IACjG,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,GAAG;IACnB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5B,sGAAsG;IACtG,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,2DAA2D;IAC3D,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACnC,yFAAyF;IACzF,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAChD;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;KACrC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;CAChC;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAyB/F"}
|
package/dist/bff.js
CHANGED
|
@@ -44,6 +44,8 @@ export function makeBffWithAuth(bffUrl, authHeader) {
|
|
|
44
44
|
getStats: () => client.catalog.getStats.query(),
|
|
45
45
|
getExtendedFilterFacets: () => client.catalog.getExtendedFilterFacets.query(),
|
|
46
46
|
getCategoryTree: () => client.catalog.getCategoryTree.query(),
|
|
47
|
+
getApiCallerBalance: () => client.cli.getApiCallerBalance.query(),
|
|
48
|
+
resolveExtensionRef: (input) => client.catalog.resolveExtensionRef.query(input),
|
|
47
49
|
};
|
|
48
50
|
}
|
|
49
51
|
//# sourceMappingURL=bff.js.map
|
package/dist/bff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bff.js","sourceRoot":"","sources":["../src/bff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"bff.js","sourceRoot":"","sources":["../src/bff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAuD9D,gEAAgE;AAChE,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,MAAc;IACrD,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,MAAM,EAAE,CAAC,CAAA;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,UAA0C;IACzF,MAAM,MAAM,GAAkB,gBAAgB,CAAC;QAC9C,KAAK,EAAE;YACN,aAAa,CAAC;gBACb,GAAG,EAAE,GAAG,MAAM,WAAW;gBACzB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,UAAU,EAAE,EAAE,CAAC;aAC5D,CAAC;SACF;KACD,CAAC,CAAA;IAEF,uEAAuE;IACvE,mFAAmF;IACnF,OAAO;QACN,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;QACzE,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACvE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC;QACzE,eAAe,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;QACxF,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;QACtF,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;QACvE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QAC/C,uBAAuB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE;QAC7E,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE;QAC7D,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE;QACjE,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;KAC/E,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static content for the free `generate_icon_workflow` MCP tool.
|
|
3
|
+
*
|
|
4
|
+
* The free icon path deliberately spends ZERO Extenshi tokens and touches no
|
|
5
|
+
* Extenshi infrastructure: the coding agent draws the SVG itself, and
|
|
6
|
+
* `@extenshi/cli icon preview` renders the verification page fully offline.
|
|
7
|
+
* This tool exists so an agent connected through the MCP connector gets the
|
|
8
|
+
* exact requirements and commands instead of guessing them.
|
|
9
|
+
*
|
|
10
|
+
* Kept as a template function (not a docs fetch) so the tool works without
|
|
11
|
+
* network access and never fails on a docs outage.
|
|
12
|
+
*/
|
|
13
|
+
export interface IconWorkflowArgs {
|
|
14
|
+
extensionName?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function renderIconWorkflow(args: IconWorkflowArgs): string;
|
|
17
|
+
//# sourceMappingURL=icon-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-workflow.d.ts","sourceRoot":"","sources":["../src/icon-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,gBAAgB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA0DjE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static content for the free `generate_icon_workflow` MCP tool.
|
|
3
|
+
*
|
|
4
|
+
* The free icon path deliberately spends ZERO Extenshi tokens and touches no
|
|
5
|
+
* Extenshi infrastructure: the coding agent draws the SVG itself, and
|
|
6
|
+
* `@extenshi/cli icon preview` renders the verification page fully offline.
|
|
7
|
+
* This tool exists so an agent connected through the MCP connector gets the
|
|
8
|
+
* exact requirements and commands instead of guessing them.
|
|
9
|
+
*
|
|
10
|
+
* Kept as a template function (not a docs fetch) so the tool works without
|
|
11
|
+
* network access and never fails on a docs outage.
|
|
12
|
+
*/
|
|
13
|
+
export function renderIconWorkflow(args) {
|
|
14
|
+
const name = args.extensionName?.trim() || 'My Extension';
|
|
15
|
+
const iconFile = 'icon.svg';
|
|
16
|
+
return `# Browser-extension icon — design requirements and local workflow
|
|
17
|
+
|
|
18
|
+
This workflow is FREE and fully local: you (the agent) draw the SVG yourself, and the
|
|
19
|
+
Extenshi CLI renders an offline verification page. No API key, no credits, no uploads.
|
|
20
|
+
|
|
21
|
+
## Icon requirements (all stores: Chrome, Firefox, Edge)
|
|
22
|
+
|
|
23
|
+
- Deliverables: PNG at 16, 32, 48 and 128 px (128 px is the store-listing size), plus the
|
|
24
|
+
SVG master. Chrome Web Store also uses a 440×280 promo tile.
|
|
25
|
+
- The 16 px toolbar render is what users see most. Design for it:
|
|
26
|
+
- one bold silhouette, minimal interior detail, generous negative space;
|
|
27
|
+
- no text, no thin outlines (<1.5 px at 16 px they dissolve);
|
|
28
|
+
- keep ~1 px of breathing room to the edges (toolbar buttons crop nothing, but
|
|
29
|
+
adjacent icons sit 8–12 px away).
|
|
30
|
+
- Must survive light AND dark toolbars: avoid mid-gray (#7a7a7a-ish) fills that melt
|
|
31
|
+
into both themes; prefer a saturated brand color or add a contrasting outline/backdrop shape.
|
|
32
|
+
- Single \`<svg>\` element, square viewBox (e.g. \`viewBox="0 0 24 24"\` or \`0 0 128 128\`),
|
|
33
|
+
flat shapes, no embedded rasters, no scripts, no external references.
|
|
34
|
+
|
|
35
|
+
## Workflow
|
|
36
|
+
|
|
37
|
+
1. **Draw the SVG yourself** — write it to \`${iconFile}\` in the project. Iterate on the
|
|
38
|
+
silhouette at conceptual 16 px scale before adding any detail.
|
|
39
|
+
2. **Render the verification page** (free, offline):
|
|
40
|
+
|
|
41
|
+
\`\`\`bash
|
|
42
|
+
npx @extenshi/cli icon preview ${iconFile} --name "${name}"
|
|
43
|
+
\`\`\`
|
|
44
|
+
|
|
45
|
+
This writes a self-contained HTML file and opens it: Chrome / Firefox / Edge toolbar
|
|
46
|
+
mockups with the icon pinned in place, switchable palettes (light, tinted, dark, black,
|
|
47
|
+
saturated + a custom color picker) with an automatic contrast warning per palette, a
|
|
48
|
+
store-size matrix, and an 8× pixel magnifier of the 16 px render.
|
|
49
|
+
3. **Ask the human to review the page.** Iterate: edit \`${iconFile}\`, re-run the command
|
|
50
|
+
(add \`--no-open\` on re-runs; the browser tab just needs a refresh).
|
|
51
|
+
4. **Export** straight from the page buttons: per-size PNGs, or the ZIP containing
|
|
52
|
+
\`icons/{16,32,48,128}.png\`, the SVG master and \`manifest-icons.json\`; there is also a
|
|
53
|
+
copy-paste manifest snippet:
|
|
54
|
+
|
|
55
|
+
\`\`\`json
|
|
56
|
+
{
|
|
57
|
+
"icons": { "16": "icons/16.png", "32": "icons/32.png", "48": "icons/48.png", "128": "icons/128.png" },
|
|
58
|
+
"action": { "default_icon": { "16": "icons/16.png", "32": "icons/32.png" } }
|
|
59
|
+
}
|
|
60
|
+
\`\`\`
|
|
61
|
+
5. Unpack the exported \`icons/\` folder into the extension and reference it from
|
|
62
|
+
\`manifest.json\` as above.
|
|
63
|
+
|
|
64
|
+
## Related
|
|
65
|
+
|
|
66
|
+
- Hosted AI icon generation (no local agent needed) lives at
|
|
67
|
+
https://dojo.extenshi.io/tools/icon-generator.
|
|
68
|
+
- Uploading the finished icon into a dojo project is planned but not available yet —
|
|
69
|
+
do not look for an upload API.
|
|
70
|
+
`;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=icon-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-workflow.js","sourceRoot":"","sources":["../src/icon-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,cAAc,CAAA;IACzD,MAAM,QAAQ,GAAG,UAAU,CAAA;IAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;+CAqBuC,QAAQ;;;;;oCAKnB,QAAQ,YAAY,IAAI;;;;;;;2DAOD,QAAQ;;;;;;;;;;;;;;;;;;;;;CAqBlE,CAAA;AACD,CAAC"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* ─────────────────────────────────────────────────────────────
|
|
24
24
|
* 'read' → search_extensions, get_extension, get_reviews,
|
|
25
25
|
* get_security, market_overview
|
|
26
|
-
* 'docs' → search_docs
|
|
26
|
+
* 'docs' → search_docs, generate_icon_workflow (free; no key)
|
|
27
27
|
* 'scan' → scan_extension (local artifact; stdio only)
|
|
28
28
|
* 'publish' → publish_extension (local creds; stdio only)
|
|
29
29
|
*
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,SAAS,CAAA;AAE1G,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,SAAS,CAAA;AAE1G,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAiBnC,eAAO,MAAM,QAAQ,sCAAsC,CAAA;AAC3D,eAAO,MAAM,WAAW,oCAAoC,CAAA;AAC5D,eAAO,MAAM,YAAY,qCAAqC,CAAA;AAE9D,eAAO,MAAM,mBAAmB,QAWS,CAAA;AAEzC,eAAO,MAAM,WAAW,aAAa,CAAA;AAErC,eAAO,MAAM,mBAAmB,QAce,CAAA;AAI/C,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC5B;AAED,MAAM,WAAW,QAAQ;IACxB,kEAAkE;IAClE,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,+BAA+B;IAC/B,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IACrC;;;;;OAKG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,GAAG,CAAA;IACrC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,CAAA;IAChD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAA;IACxD,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAiFD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,GAAE,MAA2B,GAAG,OAAO,CAGxF;AAiND;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAkhBnE"}
|
package/dist/tools.js
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* ─────────────────────────────────────────────────────────────
|
|
24
24
|
* 'read' → search_extensions, get_extension, get_reviews,
|
|
25
25
|
* get_security, market_overview
|
|
26
|
-
* 'docs' → search_docs
|
|
26
|
+
* 'docs' → search_docs, generate_icon_workflow (free; no key)
|
|
27
27
|
* 'scan' → scan_extension (local artifact; stdio only)
|
|
28
28
|
* 'publish' → publish_extension (local creds; stdio only)
|
|
29
29
|
*
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
import { UserError } from 'fastmcp';
|
|
33
33
|
import { z } from 'zod';
|
|
34
34
|
import { DocsError, getDocsIndex, searchDocs } from './docs.js';
|
|
35
|
+
import { renderIconWorkflow } from './icon-workflow.js';
|
|
35
36
|
import { PublishSetupError, publishArtifact, readStoreCredentials, validateStoreCredentials, } from './publish.js';
|
|
36
37
|
import { checkPublishAccess } from './publish-access.js';
|
|
37
38
|
import { ScanError, scanArtifact } from './scan.js';
|
|
@@ -45,7 +46,7 @@ export const BILLING_PAGE = 'https://dojo.extenshi.io/billing';
|
|
|
45
46
|
export const MISSING_KEY_MESSAGE = "This tool needs an Extenshi API key, and you don't have one set up yet — " +
|
|
46
47
|
"here's how to get going.\n\n" +
|
|
47
48
|
'Getting started is free: no credit card required. Every account includes a ' +
|
|
48
|
-
'free
|
|
49
|
+
'one-time free allowance (10 catalog reads + 3 scans), so you can explore the ' +
|
|
49
50
|
'catalog and run scans before paying for anything.\n\n' +
|
|
50
51
|
`1. Create a free account at ${SIGNUP_PAGE}\n` +
|
|
51
52
|
`2. Grab a key at ${KEY_PAGE}\n` +
|
|
@@ -58,9 +59,15 @@ export const SERVER_INSTRUCTIONS = 'Extenshi catalog tools for extension develop
|
|
|
58
59
|
'inspect an extension and its security findings, find competitors, read market stats, ' +
|
|
59
60
|
'run a pre-publish security scan, and publish to the stores. Use search_docs (free, no ' +
|
|
60
61
|
'key) to consult the live product documentation and the @extenshi/cli command reference — ' +
|
|
61
|
-
'prefer quoting exact CLI commands and flags from the docs over guessing.
|
|
62
|
-
|
|
63
|
-
'
|
|
62
|
+
'prefer quoting exact CLI commands and flags from the docs over guessing. Use ' +
|
|
63
|
+
'generate_icon_workflow (free, no key) when the developer needs an extension icon — it ' +
|
|
64
|
+
'returns the local agent-draws-SVG → CLI browser-panel preview → export workflow. Call ' +
|
|
65
|
+
'get_credit_balance (free — it never spends a credit) to check remaining read/scan credits ' +
|
|
66
|
+
'before a large batch instead of guessing whether it is safe. In get_extension / get_reviews / ' +
|
|
67
|
+
'get_security you can identify an extension either by its numeric catalog id or by its store id ' +
|
|
68
|
+
'(the id in the store URL; add the store for a Chrome/Edge id). The catalog and ' +
|
|
69
|
+
`scan tools require an Extenshi API key (${KEY_PAGE}). Every account gets a one-time free ` +
|
|
70
|
+
'allowance — 10 reads and 3 scans; beyond it, buy prepaid credit packs (scans ' +
|
|
64
71
|
`and reads, never expire) at ${BILLING_PAGE}.`;
|
|
65
72
|
// ── Internal helpers (ported from index.ts, now deps-parametrized) ───────────
|
|
66
73
|
/**
|
|
@@ -114,7 +121,7 @@ function scanErrorMessage(err, missingKeyMessage) {
|
|
|
114
121
|
case 401:
|
|
115
122
|
return `Authentication failed: ${err.message}\n\n${missingKeyMessage}`;
|
|
116
123
|
case 402:
|
|
117
|
-
return `Out of scan credits. Buy a scan pack at ${BILLING_PAGE} — the free allowance (
|
|
124
|
+
return `Out of scan credits. Buy a scan pack at ${BILLING_PAGE} to continue — the one-time free allowance (3 scans) does not renew.`;
|
|
118
125
|
case 403:
|
|
119
126
|
// FREE_REQUIRES_* came from the pre-credit-pack backend (free scans
|
|
120
127
|
// were gated on verified ownership). Kept for skew with old backends.
|
|
@@ -202,6 +209,79 @@ function instrument(tool) {
|
|
|
202
209
|
},
|
|
203
210
|
};
|
|
204
211
|
}
|
|
212
|
+
// ── Extension reference (numeric catalog id OR store id) ─────────────────────
|
|
213
|
+
/**
|
|
214
|
+
* The shared parameter shape for "which extension" across the read tools. A
|
|
215
|
+
* caller may point at an extension EITHER by its numeric catalog `extension_id`
|
|
216
|
+
* (from search_extensions, as before) OR by its public `store_id` — the id in
|
|
217
|
+
* the store URL — which is often the only precise identifier an agent has.
|
|
218
|
+
*
|
|
219
|
+
* `extension_id` is now optional (it used to be required); this is
|
|
220
|
+
* backward-compatible — existing callers that pass it are unaffected, and
|
|
221
|
+
* resolveExtensionId() enforces that exactly one form is supplied.
|
|
222
|
+
*/
|
|
223
|
+
const EXTENSION_REF_SHAPE = {
|
|
224
|
+
extension_id: z.number().int().optional().describe('Numeric catalog ID (from search_extensions results).'),
|
|
225
|
+
store_id: z
|
|
226
|
+
.string()
|
|
227
|
+
.min(1)
|
|
228
|
+
.max(100)
|
|
229
|
+
.optional()
|
|
230
|
+
.describe('Alternative to extension_id: the extension’s id in its store URL (e.g. Chrome ' +
|
|
231
|
+
'"cjpalhdlnbpafiamejdnhcphjbkeiagm"). For a Chrome/Edge id (32 letters a–p) you MUST also ' +
|
|
232
|
+
'pass `store` — both stores share that format. Firefox ids (slug / GUID / email) are ' +
|
|
233
|
+
'unambiguous. Resolving a store_id is free; only the read that follows costs a credit.'),
|
|
234
|
+
store: z
|
|
235
|
+
.enum(['CHROME', 'FIREFOX', 'EDGE'])
|
|
236
|
+
.optional()
|
|
237
|
+
.describe('Which store `store_id` belongs to. REQUIRED for Chrome/Edge ids (identical format).'),
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Resolve an extension reference to a numeric catalog id. Prefers an explicit
|
|
241
|
+
* `extension_id`; otherwise resolves `store_id` (+ `store`) via the FREE
|
|
242
|
+
* `resolveExtensionRef` BFF endpoint — so a store-id read costs exactly one
|
|
243
|
+
* credit (the read itself), never two. Throws an actionable UserError when
|
|
244
|
+
* neither form is supplied, when the store id is ambiguous/invalid (surfaced from
|
|
245
|
+
* the backend as an authored message, so it reads as expected — not a fault), or
|
|
246
|
+
* when no catalog listing exists for it yet.
|
|
247
|
+
*/
|
|
248
|
+
async function resolveExtensionId(client, args) {
|
|
249
|
+
if (typeof args.extension_id === 'number')
|
|
250
|
+
return args.extension_id;
|
|
251
|
+
if (args.store_id) {
|
|
252
|
+
let ref;
|
|
253
|
+
try {
|
|
254
|
+
ref = await client.resolveExtensionRef({ storeId: args.store_id, store: args.store });
|
|
255
|
+
}
|
|
256
|
+
catch (err) {
|
|
257
|
+
// A BAD_REQUEST is a caller-input problem (ambiguous/invalid store id),
|
|
258
|
+
// not a fault: re-throw the backend's message as an authored UserError so
|
|
259
|
+
// it surfaces to the agent as guidance and doesn't open a tracking issue.
|
|
260
|
+
const code = err?.data?.code;
|
|
261
|
+
if (code === 'BAD_REQUEST')
|
|
262
|
+
throw new UserError(err instanceof Error ? err.message : String(err));
|
|
263
|
+
throw err;
|
|
264
|
+
}
|
|
265
|
+
if (!ref) {
|
|
266
|
+
throw new UserError(`No catalog extension found for store id "${args.store_id}"${args.store ? ` in ${args.store}` : ''}. ` +
|
|
267
|
+
'It may not be in the catalog yet — try search_extensions by name, or double-check the id.');
|
|
268
|
+
}
|
|
269
|
+
return ref.id;
|
|
270
|
+
}
|
|
271
|
+
throw new UserError('Specify the extension: pass extension_id (numeric catalog id from search_extensions) OR ' +
|
|
272
|
+
'store_id (the id in the store URL; add `store` for a Chrome/Edge id).');
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Optional variant for tools where the extension link is not required (scan
|
|
276
|
+
* association): returns the resolved id, or undefined when NEITHER form is given.
|
|
277
|
+
* A supplied-but-unresolvable store_id still throws (via resolveExtensionId) so a
|
|
278
|
+
* typo is caught before a scan credit is spent, rather than silently dropped.
|
|
279
|
+
*/
|
|
280
|
+
async function resolveOptionalExtensionId(client, args) {
|
|
281
|
+
if (typeof args.extension_id !== 'number' && !args.store_id)
|
|
282
|
+
return undefined;
|
|
283
|
+
return resolveExtensionId(client, args);
|
|
284
|
+
}
|
|
205
285
|
// ── Registration ─────────────────────────────────────────────────────────────
|
|
206
286
|
/**
|
|
207
287
|
* MCP tool annotations (spec: title + behaviour hints). REQUIRED for the
|
|
@@ -242,12 +322,24 @@ const TOOL_ANNOTATIONS = {
|
|
|
242
322
|
idempotentHint: true,
|
|
243
323
|
openWorldHint: true,
|
|
244
324
|
},
|
|
325
|
+
get_credit_balance: {
|
|
326
|
+
title: 'Check credit balance',
|
|
327
|
+
readOnlyHint: true,
|
|
328
|
+
idempotentHint: true,
|
|
329
|
+
openWorldHint: true,
|
|
330
|
+
},
|
|
245
331
|
search_docs: {
|
|
246
332
|
title: 'Search Extenshi documentation',
|
|
247
333
|
readOnlyHint: true,
|
|
248
334
|
idempotentHint: true,
|
|
249
335
|
openWorldHint: true,
|
|
250
336
|
},
|
|
337
|
+
generate_icon_workflow: {
|
|
338
|
+
title: 'Icon design workflow guide',
|
|
339
|
+
readOnlyHint: true,
|
|
340
|
+
idempotentHint: true,
|
|
341
|
+
openWorldHint: false,
|
|
342
|
+
},
|
|
251
343
|
scan_extension: {
|
|
252
344
|
title: 'Scan an extension package',
|
|
253
345
|
readOnlyHint: false,
|
|
@@ -392,16 +484,17 @@ export function registerTools(server, deps) {
|
|
|
392
484
|
});
|
|
393
485
|
add({
|
|
394
486
|
name: 'get_extension',
|
|
395
|
-
description: 'Get full catalog detail for one extension
|
|
396
|
-
'
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
}),
|
|
487
|
+
description: 'Get full catalog detail for one extension: metadata, per-store ratings, install counts, ' +
|
|
488
|
+
'categories, and a security badge. Identify it by numeric catalog `extension_id` OR by its ' +
|
|
489
|
+
'`store_id` (the id in the store URL; add `store` for a Chrome/Edge id).',
|
|
490
|
+
parameters: z.object({ ...EXTENSION_REF_SHAPE }),
|
|
400
491
|
execute: async (args, context) => {
|
|
401
492
|
try {
|
|
402
|
-
const
|
|
493
|
+
const client = bff(context);
|
|
494
|
+
const extensionId = await resolveExtensionId(client, args);
|
|
495
|
+
const result = await client.getExtensionById(extensionId);
|
|
403
496
|
if (!result)
|
|
404
|
-
throw new UserError(`No extension found with catalog ID ${
|
|
497
|
+
throw new UserError(`No extension found with catalog ID ${extensionId}.`);
|
|
405
498
|
return JSON.stringify(shapeExtension(result), null, 2);
|
|
406
499
|
}
|
|
407
500
|
catch (err) {
|
|
@@ -421,7 +514,7 @@ export function registerTools(server, deps) {
|
|
|
421
514
|
'keep the same `sort` while paging, and start over if you change it. Reads existing ' +
|
|
422
515
|
'scraped reviews; use `min_rating` to see only positive or only critical feedback.',
|
|
423
516
|
parameters: z.object({
|
|
424
|
-
|
|
517
|
+
...EXTENSION_REF_SHAPE,
|
|
425
518
|
limit: z.number().int().min(1).max(50).default(20).describe('Max reviews to return (1–50).'),
|
|
426
519
|
cursor: z
|
|
427
520
|
.number()
|
|
@@ -443,9 +536,11 @@ export function registerTools(server, deps) {
|
|
|
443
536
|
}),
|
|
444
537
|
execute: async (args, context) => {
|
|
445
538
|
try {
|
|
539
|
+
const client = bff(context);
|
|
540
|
+
const extensionId = await resolveExtensionId(client, args);
|
|
446
541
|
const limit = args.limit;
|
|
447
|
-
const result = await
|
|
448
|
-
extensionId
|
|
542
|
+
const result = await client.getReviews({
|
|
543
|
+
extensionId,
|
|
449
544
|
limit,
|
|
450
545
|
cursor: args.cursor,
|
|
451
546
|
languageId: args.language_id,
|
|
@@ -466,20 +561,21 @@ export function registerTools(server, deps) {
|
|
|
466
561
|
'severity, and the top grouped findings (scanner, rule, severity, count). Also returns ' +
|
|
467
562
|
'the install-dialog preview — exactly what Chrome/Firefox show users in the permission ' +
|
|
468
563
|
'prompt at install (consolidated + deduped from the manifest), available even for ' +
|
|
469
|
-
'unscanned extensions. Reads existing scan results — does not trigger a new scan.'
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
}),
|
|
564
|
+
'unscanned extensions. Reads existing scan results — does not trigger a new scan. ' +
|
|
565
|
+
'Identify the extension by numeric `extension_id` OR `store_id` (+`store` for Chrome/Edge). ' +
|
|
566
|
+
'NB: this tool costs 3 read credits (it fetches security, risk, and install-preview data).',
|
|
567
|
+
parameters: z.object({ ...EXTENSION_REF_SHAPE }),
|
|
473
568
|
execute: async (args, context) => {
|
|
474
569
|
try {
|
|
475
570
|
const client = bff(context);
|
|
571
|
+
const extensionId = await resolveExtensionId(client, args);
|
|
476
572
|
// getExtensionById carries `installDialogPreview` (a manifest transform,
|
|
477
573
|
// independent of scanning) — fetch it alongside the scan data so the
|
|
478
574
|
// security view always includes the install prompt the user would see.
|
|
479
575
|
const [security, riskSummary, extension] = await Promise.all([
|
|
480
|
-
client.getSecurityData(
|
|
481
|
-
client.getRiskSummary(
|
|
482
|
-
client.getExtensionById(
|
|
576
|
+
client.getSecurityData(extensionId).catch(() => null),
|
|
577
|
+
client.getRiskSummary(extensionId).catch(() => null),
|
|
578
|
+
client.getExtensionById(extensionId).catch(() => null),
|
|
483
579
|
]);
|
|
484
580
|
const installDialogPreview = extension && typeof extension === 'object'
|
|
485
581
|
? extension.installDialogPreview
|
|
@@ -552,6 +648,27 @@ export function registerTools(server, deps) {
|
|
|
552
648
|
}
|
|
553
649
|
},
|
|
554
650
|
});
|
|
651
|
+
add({
|
|
652
|
+
name: 'get_credit_balance',
|
|
653
|
+
description: 'Check your remaining Extenshi credits BEFORE running a batch, so you never guess whether a ' +
|
|
654
|
+
'large request is safe. Returns every credit pool for your API key: `read` (spent one-per-call by ' +
|
|
655
|
+
'search_extensions / get_extension / get_reviews / market_overview; get_security costs 3) and ' +
|
|
656
|
+
'`scan` (spent by scan_extension), plus `icon` and `inventory`. Each pool reports `remaining` — the ' +
|
|
657
|
+
'number that actually gates calls (one-time free grant + purchased credits) — and `freeRemaining` ' +
|
|
658
|
+
'(how much of the never-renewing signup grant is left). FREE to call: checking your balance never ' +
|
|
659
|
+
'spends a credit. Rule of thumb: to fetch N extensions you need read.remaining ≥ N (≥ 3N if you ' +
|
|
660
|
+
'also call get_security on each).',
|
|
661
|
+
parameters: z.object({}),
|
|
662
|
+
execute: async (_args, context) => {
|
|
663
|
+
try {
|
|
664
|
+
const balance = await bff(context).getApiCallerBalance();
|
|
665
|
+
return JSON.stringify(balance, null, 2);
|
|
666
|
+
}
|
|
667
|
+
catch (err) {
|
|
668
|
+
return readError(err, missingKeyMessage);
|
|
669
|
+
}
|
|
670
|
+
},
|
|
671
|
+
});
|
|
555
672
|
}
|
|
556
673
|
// ── Documentation (free; no API key required) ──────────────────────────────
|
|
557
674
|
if (caps.has('docs')) {
|
|
@@ -591,32 +708,61 @@ export function registerTools(server, deps) {
|
|
|
591
708
|
}
|
|
592
709
|
},
|
|
593
710
|
});
|
|
711
|
+
add({
|
|
712
|
+
name: 'generate_icon_workflow',
|
|
713
|
+
description: 'Get the recommended FREE local workflow for creating a browser-extension icon: the ' +
|
|
714
|
+
'agent draws the SVG itself, then `@extenshi/cli icon preview` renders an offline ' +
|
|
715
|
+
'verification page (Chrome/Firefox/Edge toolbar mockups, palette switcher with contrast ' +
|
|
716
|
+
'warnings, store-size matrix, PNG/ZIP export). Returns the icon design requirements ' +
|
|
717
|
+
'(sizes, 16px legibility rules, light/dark survival) and exact commands. Static content: ' +
|
|
718
|
+
'no API key, no network, no credits.',
|
|
719
|
+
parameters: z.object({
|
|
720
|
+
extension_name: z
|
|
721
|
+
.string()
|
|
722
|
+
.max(120)
|
|
723
|
+
.optional()
|
|
724
|
+
.describe('Extension display name to inline into the preview command (optional).'),
|
|
725
|
+
}),
|
|
726
|
+
execute: async (args) => renderIconWorkflow({ extensionName: args.extension_name }),
|
|
727
|
+
});
|
|
594
728
|
}
|
|
595
729
|
// ── Action tool (paid; key + LOCAL filesystem required; stdio only) ─────────
|
|
596
730
|
if (caps.has('scan')) {
|
|
597
731
|
add({
|
|
598
732
|
name: 'scan_extension',
|
|
599
733
|
description: 'Run a pre-publish security scan on a local extension artifact (.zip/.crx/.xpi) and ' +
|
|
600
|
-
'return the report. Uses one scan from your free
|
|
734
|
+
'return the report. Uses one scan from your one-time free allowance (3 scans) or a ' +
|
|
601
735
|
'purchased scan credit once that runs out. Streams live per-scanner progress.',
|
|
602
736
|
parameters: z.object({
|
|
603
737
|
artifact_path: z
|
|
604
738
|
.string()
|
|
605
739
|
.describe('Absolute or relative path to the built extension artifact (≤50 MB).'),
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
740
|
+
// Optional association with a catalog listing — by numeric id OR store id.
|
|
741
|
+
// Reuse the shared ref validators but override the descriptions: here the
|
|
742
|
+
// ref is an optional ASSOCIATION for the scan, not a lookup key, so the
|
|
743
|
+
// shared "from search_extensions results" wording would mislead an agent.
|
|
744
|
+
extension_id: EXTENSION_REF_SHAPE.extension_id.describe('Optional numeric catalog ID to associate this scan with a catalog listing.'),
|
|
745
|
+
store_id: EXTENSION_REF_SHAPE.store_id.describe('Optional: associate this scan with a catalog listing by its store id (the id in the ' +
|
|
746
|
+
'store URL; add `store` for a Chrome/Edge id).'),
|
|
747
|
+
store: EXTENSION_REF_SHAPE.store,
|
|
611
748
|
}),
|
|
612
749
|
execute: async (args, context) => {
|
|
613
750
|
const apiKey = requireApiKey(context);
|
|
751
|
+
// Resolve the optional catalog association BEFORE spending a scan credit,
|
|
752
|
+
// so a mistyped store_id fails fast instead of after the scan runs.
|
|
753
|
+
let extensionId;
|
|
754
|
+
try {
|
|
755
|
+
extensionId = await resolveOptionalExtensionId(bff(context), args);
|
|
756
|
+
}
|
|
757
|
+
catch (err) {
|
|
758
|
+
return readError(err, missingKeyMessage);
|
|
759
|
+
}
|
|
614
760
|
try {
|
|
615
761
|
const report = await scanArtifact({
|
|
616
762
|
artifactPath: args.artifact_path,
|
|
617
763
|
apiKey,
|
|
618
764
|
scanUrl: deps.cfg.scanUrl,
|
|
619
|
-
extensionId:
|
|
765
|
+
extensionId: extensionId?.toString(),
|
|
620
766
|
onProgress: (p) => {
|
|
621
767
|
if (typeof p.total === 'number' && p.total > 0) {
|
|
622
768
|
void context.reportProgress({ progress: p.completed ?? 0, total: p.total });
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED