@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 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) | 1 read |
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
- | `scan_extension` | Pre-publish security scan of a local artifact (.zip/.crx/.xpi), with live progress | 1 monthly-quota scan |
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
- Every plan includes monthly reads and scans — the Free plan has 25 reads and 5 scans per
49
- month, paid plans go up to 10,000 reads and 1,000 scans. Quotas reset on the 1st (UTC).
50
- Manage your plan at https://dojo.extenshi.io/billing.
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;AAOH,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;CACnC;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,CAuB/F"}
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;AAoB9D,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;KAC7D,CAAA;AACF,CAAC"}
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 (free; no key)
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
  *
@@ -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;AAgBnC,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,QAQe,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;AA+GD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAsdnE"}
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 (free; no key)
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 monthly allowance (25 catalog reads + 5 scans), so you can explore the ' +
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. The catalog and ' +
62
- `scan tools require an Extenshi API key (${KEY_PAGE}). Every account gets a free monthly ` +
63
- 'allowance 25 reads and 5 scans per month; beyond it, buy prepaid credit packs (scans ' +
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 (5/mo) resets on the 1st (UTC).`;
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 by its numeric catalog ID: metadata, ' +
396
- 'per-store ratings, install counts, categories, and a security badge.',
397
- parameters: z.object({
398
- extension_id: z.number().int().describe('Numeric catalog ID (from search_extensions results).'),
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 result = await bff(context).getExtensionById(args.extension_id);
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 ${args.extension_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
- extension_id: z.number().int().describe('Numeric catalog ID (from search_extensions results).'),
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 bff(context).getReviews({
448
- extensionId: args.extension_id,
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
- parameters: z.object({
471
- extension_id: z.number().int().describe('Numeric catalog ID.'),
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(args.extension_id).catch(() => null),
481
- client.getRiskSummary(args.extension_id).catch(() => null),
482
- client.getExtensionById(args.extension_id).catch(() => null),
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 monthly allowance (5 scans/month) or a ' +
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
- extension_id: z
607
- .number()
608
- .int()
609
- .optional()
610
- .describe('Optional numeric catalog ID to associate the scan with a catalog listing.'),
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: args.extension_id?.toString(),
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extenshi/mcp",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "Extenshi MCP server — bring the extension catalog (search, security, market research) and pre-publish scanning into your AI tools",
5
5
  "type": "module",
6
6
  "license": "MIT",