@extenshi/mcp 0.8.0 → 0.10.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.
Files changed (52) hide show
  1. package/README.md +11 -2
  2. package/dist/bff.d.ts +33 -0
  3. package/dist/bff.d.ts.map +1 -1
  4. package/dist/bff.js +7 -0
  5. package/dist/bff.js.map +1 -1
  6. package/dist/development-guide.d.ts +121 -37
  7. package/dist/development-guide.d.ts.map +1 -1
  8. package/dist/development-guide.js +97 -12
  9. package/dist/development-guide.js.map +1 -1
  10. package/dist/icon-workflow.d.ts.map +1 -1
  11. package/dist/icon-workflow.js +15 -2
  12. package/dist/icon-workflow.js.map +1 -1
  13. package/dist/json-ld.d.ts +89 -0
  14. package/dist/json-ld.d.ts.map +1 -0
  15. package/dist/json-ld.js +118 -0
  16. package/dist/json-ld.js.map +1 -0
  17. package/dist/landing-page.d.ts +123 -0
  18. package/dist/landing-page.d.ts.map +1 -0
  19. package/dist/landing-page.js +405 -0
  20. package/dist/landing-page.js.map +1 -0
  21. package/dist/landing-workflow.d.ts +49 -0
  22. package/dist/landing-workflow.d.ts.map +1 -0
  23. package/dist/landing-workflow.js +80 -0
  24. package/dist/landing-workflow.js.map +1 -0
  25. package/dist/pay.d.ts +8 -1
  26. package/dist/pay.d.ts.map +1 -1
  27. package/dist/pay.js +9 -0
  28. package/dist/pay.js.map +1 -1
  29. package/dist/privacy-ai-outcome.d.ts +21 -0
  30. package/dist/privacy-ai-outcome.d.ts.map +1 -0
  31. package/dist/privacy-ai-outcome.js +69 -0
  32. package/dist/privacy-ai-outcome.js.map +1 -0
  33. package/dist/project-media.d.ts +29 -0
  34. package/dist/project-media.d.ts.map +1 -0
  35. package/dist/project-media.js +72 -0
  36. package/dist/project-media.js.map +1 -0
  37. package/dist/publish.d.ts +101 -0
  38. package/dist/publish.d.ts.map +1 -1
  39. package/dist/publish.js +81 -2
  40. package/dist/publish.js.map +1 -1
  41. package/dist/scan.d.ts +7 -0
  42. package/dist/scan.d.ts.map +1 -1
  43. package/dist/scan.js +26 -2
  44. package/dist/scan.js.map +1 -1
  45. package/dist/telemetry.d.ts.map +1 -1
  46. package/dist/telemetry.js +3 -0
  47. package/dist/telemetry.js.map +1 -1
  48. package/dist/tools.d.ts +1 -1
  49. package/dist/tools.d.ts.map +1 -1
  50. package/dist/tools.js +436 -15
  51. package/dist/tools.js.map +1 -1
  52. package/package.json +3 -3
package/dist/pay.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Agent-readable outcome for `update_privacy_policy_with_ai`.
3
+ *
4
+ * The backend always returns a proposal: an AI draft when the model ran and
5
+ * its draft passed the category guard, otherwise a deterministic section
6
+ * merge. This puts the difference first in the tool result (`aiStep` +
7
+ * `notice`) so an agent cannot present a merge as an AI draft.
8
+ *
9
+ * Skew-safe in both directions: a backend that returns `ai` (2026-09+) is
10
+ * described from it; an older backend that only returns `usedLlm` /
11
+ * `aiDegraded` / `keptHeadings` is described from those, and its
12
+ * `kind: 'ai_updated'` on a non-AI proposal is corrected to `edited`.
13
+ */
14
+ export type AiStep = 'ran' | 'did_not_run' | 'discarded' | 'not_needed';
15
+ export interface PrivacyAiUpdateView {
16
+ aiStep: AiStep;
17
+ notice: string;
18
+ [key: string]: unknown;
19
+ }
20
+ export declare function describePrivacyAiUpdate(result: unknown): PrivacyAiUpdateView;
21
+ //# sourceMappingURL=privacy-ai-outcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy-ai-outcome.d.ts","sourceRoot":"","sources":["../src/privacy-ai-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,YAAY,CAAA;AAEvE,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB;AAaD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CA0C5E"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Agent-readable outcome for `update_privacy_policy_with_ai`.
3
+ *
4
+ * The backend always returns a proposal: an AI draft when the model ran and
5
+ * its draft passed the category guard, otherwise a deterministic section
6
+ * merge. This puts the difference first in the tool result (`aiStep` +
7
+ * `notice`) so an agent cannot present a merge as an AI draft.
8
+ *
9
+ * Skew-safe in both directions: a backend that returns `ai` (2026-09+) is
10
+ * described from it; an older backend that only returns `usedLlm` /
11
+ * `aiDegraded` / `keptHeadings` is described from those, and its
12
+ * `kind: 'ai_updated'` on a non-AI proposal is corrected to `edited`.
13
+ */
14
+ const AI_STATUSES_NOT_RUN = new Set(['not_configured']);
15
+ const AI_STATUSES_DISCARDED = new Set(['request_failed', 'incomplete_reply', 'rejected']);
16
+ function asRecord(value) {
17
+ return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
18
+ }
19
+ function strings(value) {
20
+ return Array.isArray(value) ? value.filter((v) => typeof v === 'string') : [];
21
+ }
22
+ export function describePrivacyAiUpdate(result) {
23
+ const r = asRecord(result);
24
+ const ai = asRecord(r.ai);
25
+ const status = typeof ai.status === 'string' ? ai.status : undefined;
26
+ const usedLlm = ai.applied === true || (status === undefined && r.usedLlm === true);
27
+ const kept = strings(r.keptHeadings);
28
+ const conflicts = strings(r.conflictHeadings);
29
+ const missing = strings(r.missingCategories);
30
+ let aiStep;
31
+ if (usedLlm)
32
+ aiStep = 'ran';
33
+ else if (status === 'not_needed')
34
+ aiStep = 'not_needed';
35
+ else if (status && AI_STATUSES_NOT_RUN.has(status))
36
+ aiStep = 'did_not_run';
37
+ else if (status && AI_STATUSES_DISCARDED.has(status))
38
+ aiStep = 'discarded';
39
+ // Older backend: no `ai` field. It skipped the model silently when no key
40
+ // was configured, so a customized policy without usedLlm did not get an AI pass.
41
+ else if (r.aiDegraded === true || kept.length > 0)
42
+ aiStep = 'did_not_run';
43
+ else
44
+ aiStep = 'not_needed';
45
+ const reason = typeof ai.reason === 'string' && ai.reason ? ai.reason : undefined;
46
+ let reviewLine = '';
47
+ if (conflicts.length)
48
+ reviewLine += ` Sections that need a manual edit: ${conflicts.join(', ')}.`;
49
+ if (missing.length)
50
+ reviewLine += ` Required data categories not mentioned: ${missing.join(', ')}.`;
51
+ let notice;
52
+ switch (aiStep) {
53
+ case 'ran':
54
+ notice = `${reason ?? 'The proposal is an AI draft.'} Nothing is live until it is published.${reviewLine}`;
55
+ break;
56
+ case 'not_needed':
57
+ notice = `${reason ?? 'No AI step was needed; the proposal is the regenerated policy.'}${reviewLine}`;
58
+ break;
59
+ default:
60
+ notice =
61
+ `${reason ?? 'The AI step did not run. The proposal is the deterministic section merge, not an AI draft.'} ` +
62
+ "proposedMarkdown keeps the author's sections and adds only sections new since the last generated " +
63
+ `baseline; it is not AI-written.${reviewLine}`;
64
+ }
65
+ // Never let a non-AI proposal carry the AI version label into publish.
66
+ const kind = !usedLlm && r.kind === 'ai_updated' ? 'edited' : r.kind;
67
+ return { aiStep, notice, ...r, ...(kind === undefined ? {} : { kind }) };
68
+ }
69
+ //# sourceMappingURL=privacy-ai-outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy-ai-outcome.js","sourceRoot":"","sources":["../src/privacy-ai-outcome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Client-side half of `upload_project_media`: turn a tool call into the BFF's
3
+ * `{ mime, dataBase64 }` payload.
4
+ *
5
+ * The BFF is the real gate (magic bytes, metadata stripping, dimension and
6
+ * quota limits). What only the client can decide is WHICH local file may be
7
+ * read at all. The stdio server runs with the developer's filesystem, so a
8
+ * `filePath` is confined to the workspace (the server's working directory):
9
+ * a prompt-injected "upload ~/Pictures/passport.jpg" must not be able to
10
+ * publish an arbitrary personal image to a public bucket. Files elsewhere go
11
+ * through the CLI (`extenshi media upload`), where the path is on the command
12
+ * line in front of the developer.
13
+ */
14
+ export type ProjectMediaMime = 'image/png' | 'image/jpeg' | 'image/webp';
15
+ export declare const PROJECT_MEDIA_MAX_BYTES: number;
16
+ export declare const PROJECT_MEDIA_MIME_TYPES: readonly ["image/png", "image/jpeg", "image/webp"];
17
+ export declare class ProjectMediaInputError extends Error {
18
+ }
19
+ /** Same signatures the BFF accepts. Anything else (SVG, HTML, GIF) → null. */
20
+ export declare function sniffMediaMime(bytes: Uint8Array): ProjectMediaMime | null;
21
+ /** Read a workspace-local image for upload. `root` is the workspace (default: cwd). */
22
+ export declare function readWorkspaceImage(filePath: string, root?: string): Promise<{
23
+ mime: ProjectMediaMime;
24
+ dataBase64: string;
25
+ bytes: number;
26
+ }>;
27
+ /** Validate an inline payload the same way before it is sent. */
28
+ export declare function checkInlineImage(dataBase64: string, declared: ProjectMediaMime): void;
29
+ //# sourceMappingURL=project-media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-media.d.ts","sourceRoot":"","sources":["../src/project-media.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,CAAA;AAExE,eAAO,MAAM,uBAAuB,QAAkB,CAAA;AACtD,eAAO,MAAM,wBAAwB,oDAAqD,CAAA;AAE1F,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAWzE;AAMD,uFAAuF;AACvF,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAgB,GAClB,OAAO,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BxE;AAED,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAMrF"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Client-side half of `upload_project_media`: turn a tool call into the BFF's
3
+ * `{ mime, dataBase64 }` payload.
4
+ *
5
+ * The BFF is the real gate (magic bytes, metadata stripping, dimension and
6
+ * quota limits). What only the client can decide is WHICH local file may be
7
+ * read at all. The stdio server runs with the developer's filesystem, so a
8
+ * `filePath` is confined to the workspace (the server's working directory):
9
+ * a prompt-injected "upload ~/Pictures/passport.jpg" must not be able to
10
+ * publish an arbitrary personal image to a public bucket. Files elsewhere go
11
+ * through the CLI (`extenshi media upload`), where the path is on the command
12
+ * line in front of the developer.
13
+ */
14
+ import { readFile, realpath, stat } from 'node:fs/promises';
15
+ import path from 'node:path';
16
+ export const PROJECT_MEDIA_MAX_BYTES = 2 * 1024 * 1024;
17
+ export const PROJECT_MEDIA_MIME_TYPES = ['image/png', 'image/jpeg', 'image/webp'];
18
+ export class ProjectMediaInputError extends Error {
19
+ }
20
+ /** Same signatures the BFF accepts. Anything else (SVG, HTML, GIF) → null. */
21
+ export function sniffMediaMime(bytes) {
22
+ const b = bytes;
23
+ if (b.length >= 8 && b[0] === 0x89 && b[1] === 0x50 && b[2] === 0x4e && b[3] === 0x47)
24
+ return 'image/png';
25
+ if (b.length >= 3 && b[0] === 0xff && b[1] === 0xd8 && b[2] === 0xff)
26
+ return 'image/jpeg';
27
+ if (b.length >= 12 &&
28
+ String.fromCharCode(b[0], b[1], b[2], b[3]) === 'RIFF' &&
29
+ String.fromCharCode(b[8], b[9], b[10], b[11]) === 'WEBP')
30
+ return 'image/webp';
31
+ return null;
32
+ }
33
+ const NOT_AN_IMAGE = 'is not a PNG, JPEG or WebP image (checked by content). SVG is not accepted: rasterize it first ' +
34
+ '(npx @extenshi/cli@latest icon store-assets <file.svg>) or pass an inline logo as logoSvg to publish_landing_page.';
35
+ /** Read a workspace-local image for upload. `root` is the workspace (default: cwd). */
36
+ export async function readWorkspaceImage(filePath, root = process.cwd()) {
37
+ let resolved;
38
+ let rootReal;
39
+ try {
40
+ resolved = await realpath(path.resolve(root, filePath));
41
+ rootReal = await realpath(root);
42
+ }
43
+ catch {
44
+ throw new ProjectMediaInputError(`File not found: ${filePath}`);
45
+ }
46
+ const relative = path.relative(rootReal, resolved);
47
+ if (relative.startsWith('..') || path.isAbsolute(relative)) {
48
+ throw new ProjectMediaInputError(`"${filePath}" is outside the workspace (${rootReal}). upload_project_media only reads files inside it; ` +
49
+ 'for other files run `npx @extenshi/cli@latest media upload <file> --project <id>` or send dataBase64.');
50
+ }
51
+ const info = await stat(resolved);
52
+ if (!info.isFile())
53
+ throw new ProjectMediaInputError(`"${filePath}" is not a file.`);
54
+ if (info.size > PROJECT_MEDIA_MAX_BYTES) {
55
+ throw new ProjectMediaInputError(`"${filePath}" is ${(info.size / 1024 / 1024).toFixed(1)} MB; the limit is 2 MB per image.`);
56
+ }
57
+ const bytes = await readFile(resolved);
58
+ const mime = sniffMediaMime(bytes);
59
+ if (!mime)
60
+ throw new ProjectMediaInputError(`"${filePath}" ${NOT_AN_IMAGE}`);
61
+ return { mime, dataBase64: bytes.toString('base64'), bytes: bytes.length };
62
+ }
63
+ /** Validate an inline payload the same way before it is sent. */
64
+ export function checkInlineImage(dataBase64, declared) {
65
+ const bytes = Buffer.from(dataBase64.slice(0, 64), 'base64');
66
+ const mime = sniffMediaMime(bytes);
67
+ if (!mime)
68
+ throw new ProjectMediaInputError(`dataBase64 ${NOT_AN_IMAGE}`);
69
+ if (mime !== declared)
70
+ throw new ProjectMediaInputError(`dataBase64 contains ${mime} but mime says ${declared}.`);
71
+ }
72
+ //# sourceMappingURL=project-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-media.js","sourceRoot":"","sources":["../src/project-media.ts"],"names":[],"mappings":"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"}
package/dist/publish.d.ts CHANGED
@@ -27,6 +27,12 @@ export interface StoreCredentials {
27
27
  };
28
28
  }
29
29
  export declare const ENV_DOCS: Record<StoreType, string[]>;
30
+ /**
31
+ * Store credentials, with an explicitly stated AMO add-on id filling
32
+ * FIREFOX_ADDON_GUID when the environment has none. A different environment
33
+ * value is refused: one run publishes to one add-on id.
34
+ */
35
+ export declare function storeCredentialsFor(addonId?: string, env?: NodeJS.ProcessEnv): StoreCredentials;
30
36
  export declare function readStoreCredentials(env?: NodeJS.ProcessEnv): StoreCredentials;
31
37
  export declare function credentialsHelp(stores: StoreType[]): string;
32
38
  export interface PublishArgs {
@@ -34,9 +40,104 @@ export interface PublishArgs {
34
40
  stores?: StoreType[];
35
41
  firefoxArtifactPath?: string;
36
42
  releaseNotes?: string;
43
+ /** Explicit AMO add-on id; fills FIREFOX_ADDON_GUID when the environment has none. */
44
+ addonId?: string;
45
+ /** Listed AMO submission with metadata instead of a version-only upload. */
46
+ firefoxListing?: {
47
+ listingPath: string;
48
+ sourcePath?: string;
49
+ screenshotsDir?: string;
50
+ /** Resolved by amoCreateAllowed — creating an add-on fixes its id permanently. */
51
+ allowCreate: boolean;
52
+ replaceScreenshots?: boolean;
53
+ };
37
54
  }
38
55
  export declare class PublishSetupError extends Error {
39
56
  }
57
+ /**
58
+ * Whether this call may CREATE a new AMO add-on. With a project, its
59
+ * owner-decided `amo.addonId` governs (and a different FIREFOX_ADDON_GUID is
60
+ * refused). Without one, `allowNewAddon` is the switch and `addonId` has to
61
+ * state the id explicitly — it is never taken silently from the environment.
62
+ * Mirrors the CLI's gate.
63
+ */
64
+ export declare function amoCreateAllowed(opts: {
65
+ addonGuid: string;
66
+ allowNewAddon?: boolean;
67
+ addonId?: string;
68
+ projectId?: string;
69
+ decision?: {
70
+ status: string;
71
+ value: unknown;
72
+ } | null;
73
+ }): boolean;
74
+ /** Load the listing, source and screenshots for a listed AMO submission. */
75
+ export declare function loadFirefoxListing(listing: NonNullable<PublishArgs['firefoxListing']>): {
76
+ listing: {
77
+ defaultLocale: string;
78
+ explicitDefaultLocale: boolean;
79
+ name: {
80
+ [x: string]: string;
81
+ };
82
+ summary: {
83
+ [x: string]: string;
84
+ };
85
+ description: {
86
+ [x: string]: string;
87
+ } | undefined;
88
+ developerComments: {
89
+ [x: string]: string;
90
+ } | undefined;
91
+ homepage: {
92
+ [x: string]: string;
93
+ } | undefined;
94
+ supportEmail: {
95
+ [x: string]: string;
96
+ } | undefined;
97
+ supportUrl: {
98
+ [x: string]: string;
99
+ } | undefined;
100
+ privacyPolicy: {
101
+ [x: string]: string;
102
+ } | undefined;
103
+ eula: {
104
+ [x: string]: string;
105
+ } | undefined;
106
+ releaseNotes: {
107
+ [x: string]: string;
108
+ } | undefined;
109
+ customLicense: {
110
+ name: {
111
+ [x: string]: string;
112
+ };
113
+ text: {
114
+ [x: string]: string;
115
+ };
116
+ } | undefined;
117
+ screenshots: {
118
+ file: string;
119
+ caption: {
120
+ [x: string]: string;
121
+ } | undefined;
122
+ }[] | undefined;
123
+ categories: string[];
124
+ tags?: string[] | undefined;
125
+ slug?: string | undefined;
126
+ requiresPayment?: boolean | undefined;
127
+ contributionsUrl?: string | undefined;
128
+ license?: string | undefined;
129
+ approvalNotes?: string | undefined;
130
+ compatibility?: ("firefox" | "android")[] | Partial<Record<"firefox" | "android", {
131
+ min?: string | undefined;
132
+ max?: string | undefined;
133
+ }>> | undefined;
134
+ addonId?: string | undefined;
135
+ };
136
+ sourceFilePath: string | undefined;
137
+ screenshotPaths: string[] | undefined;
138
+ allowCreate: boolean;
139
+ replaceScreenshots: boolean;
140
+ };
40
141
  export declare function publishArtifact(args: PublishArgs): Promise<UniversalPublishResult>;
41
142
  export declare function validateStoreCredentials(stores?: StoreType[]): Promise<Array<{
42
143
  store: StoreType;
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAKN,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,MAAM,qBAAqB,CAAA;AAG5B,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IACxF,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,IAAI,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACtF;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAIhD,CAAA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,gBAAgB,CA0B3F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAE3D;AAED,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgDxF;AAED,wBAAsB,wBAAwB,CAC7C,MAAM,CAAC,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CA4B3E"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAKN,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,MAAM,qBAAqB,CAAA;AAG5B,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IACxF,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,IAAI,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACtF;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAIhD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,gBAAgB,CAQlB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,gBAAgB,CA0B3F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAE3D;AAED,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,cAAc,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,kFAAkF;QAClF,WAAW,EAAE,OAAO,CAAA;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAC5B,CAAA;CACD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;CACpD,GAAG,OAAO,CAoCV;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgG7D,CAAC;eAEL,CAAC;;;;;;;;EAtErB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAqDxF;AAED,wBAAsB,wBAAwB,CAC7C,MAAM,CAAC,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CA4B3E"}
package/dist/publish.js CHANGED
@@ -7,6 +7,8 @@
7
7
  * API key, nothing passes through Extenshi servers.
8
8
  */
9
9
  import * as fs from 'node:fs';
10
+ import path from 'node:path';
11
+ import { isPlaceholderGeckoId, isValidGeckoId } from '@extenshi/contracts';
10
12
  import { ChromeAPI, EdgeAPI, FirefoxAPI, publishToStores, } from '@extenshi/publisher';
11
13
  import { assertValidArtifact } from './validate-artifact.js';
12
14
  export const ENV_DOCS = {
@@ -14,6 +16,16 @@ export const ENV_DOCS = {
14
16
  firefox: ['FIREFOX_ADDON_GUID', 'FIREFOX_JWT_ISSUER', 'FIREFOX_JWT_SECRET'],
15
17
  edge: ['EDGE_PRODUCT_ID', 'EDGE_CLIENT_ID', 'EDGE_CLIENT_SECRET', 'EDGE_TENANT_ID'],
16
18
  };
19
+ /**
20
+ * Store credentials, with an explicitly stated AMO add-on id filling
21
+ * FIREFOX_ADDON_GUID when the environment has none. A different environment
22
+ * value is refused: one run publishes to one add-on id.
23
+ */
24
+ export function storeCredentialsFor(addonId, env = process.env) {
25
+ if (addonId && env.FIREFOX_ADDON_GUID && env.FIREFOX_ADDON_GUID !== addonId)
26
+ throw new PublishSetupError(`addon_id (${addonId}) differs from FIREFOX_ADDON_GUID (${env.FIREFOX_ADDON_GUID}); state one add-on id.`);
27
+ return readStoreCredentials(addonId && !env.FIREFOX_ADDON_GUID ? { ...env, FIREFOX_ADDON_GUID: addonId } : env);
28
+ }
17
29
  export function readStoreCredentials(env = process.env) {
18
30
  const creds = {};
19
31
  if (env.CHROME_APP_ID && env.CHROME_CLIENT_ID && env.CHROME_CLIENT_SECRET && env.CHROME_REFRESH_TOKEN) {
@@ -46,6 +58,70 @@ export function credentialsHelp(stores) {
46
58
  }
47
59
  export class PublishSetupError extends Error {
48
60
  }
61
+ /**
62
+ * Whether this call may CREATE a new AMO add-on. With a project, its
63
+ * owner-decided `amo.addonId` governs (and a different FIREFOX_ADDON_GUID is
64
+ * refused). Without one, `allowNewAddon` is the switch and `addonId` has to
65
+ * state the id explicitly — it is never taken silently from the environment.
66
+ * Mirrors the CLI's gate.
67
+ */
68
+ export function amoCreateAllowed(opts) {
69
+ if (opts.addonId !== undefined && opts.addonId !== opts.addonGuid)
70
+ throw new PublishSetupError(`addon_id (${opts.addonId}) differs from FIREFOX_ADDON_GUID (${opts.addonGuid}); state one add-on id.`);
71
+ if (!opts.projectId) {
72
+ if (!opts.allowNewAddon)
73
+ return false;
74
+ if (!opts.addonId)
75
+ throw new PublishSetupError('allow_new_addon without project_id needs addon_id: the AMO add-on id to create, stated explicitly. ' +
76
+ 'It becomes permanent at the first upload and is never invented. With project_id the owner decides it in Dojo instead.');
77
+ if (!isValidGeckoId(opts.addonId))
78
+ throw new PublishSetupError(`addon_id ${opts.addonId} is not an AMO add-on id: use a braced GUID ({xxxxxxxx-xxxx-…}) or name@domain.`);
79
+ if (isPlaceholderGeckoId(opts.addonId))
80
+ throw new PublishSetupError(`addon_id ${opts.addonId} is a placeholder; AMO would bind the new add-on to it forever. State the real id.`);
81
+ return true;
82
+ }
83
+ if (opts.decision?.status === 'decided') {
84
+ if (opts.decision.value !== opts.addonGuid)
85
+ throw new PublishSetupError(`FIREFOX_ADDON_GUID (${opts.addonGuid}) differs from the add-on id the project owner decided (${String(opts.decision.value)}). ` +
86
+ 'Set the manifest gecko.id and FIREFOX_ADDON_GUID to the decided id; AMO never renames an add-on.');
87
+ return true;
88
+ }
89
+ if (opts.allowNewAddon)
90
+ throw new PublishSetupError(`The owner of project ${opts.projectId} has not decided amo.addonId, and creating the AMO add-on fixes it permanently. ` +
91
+ 'Propose it with propose_decision; the owner decides it on the Dojo project page.');
92
+ return false;
93
+ }
94
+ /** Load the listing, source and screenshots for a listed AMO submission. */
95
+ export function loadFirefoxListing(listing) {
96
+ if (typeof FirefoxAPI.submitListing !== 'function' || typeof FirefoxAPI.loadAmoListing !== 'function')
97
+ throw new PublishSetupError("This installation's @extenshi/publisher predates AMO listing submission. Reinstall @extenshi/mcp to update it.");
98
+ try {
99
+ const parsed = FirefoxAPI.loadAmoListing(path.resolve(listing.listingPath));
100
+ const sourceFilePath = listing.sourcePath ? path.resolve(listing.sourcePath) : undefined;
101
+ if (sourceFilePath) {
102
+ if (!fs.existsSync(sourceFilePath))
103
+ throw new Error(`Source archive not found: ${listing.sourcePath}`);
104
+ FirefoxAPI.assertSourceArchive(sourceFilePath);
105
+ }
106
+ const screenshotPaths = listing.screenshotsDir
107
+ ? FirefoxAPI.listScreenshots(path.resolve(listing.screenshotsDir), parsed.defaultLocale)
108
+ : undefined;
109
+ if (screenshotPaths && !screenshotPaths.length)
110
+ throw new Error(`No .png, .jpg or .gif screenshots in ${listing.screenshotsDir}`);
111
+ return {
112
+ listing: parsed,
113
+ sourceFilePath,
114
+ screenshotPaths,
115
+ allowCreate: listing.allowCreate,
116
+ replaceScreenshots: listing.replaceScreenshots ?? false,
117
+ };
118
+ }
119
+ catch (err) {
120
+ if (err instanceof PublishSetupError)
121
+ throw err;
122
+ throw new PublishSetupError(err instanceof Error ? err.message : String(err));
123
+ }
124
+ }
49
125
  export async function publishArtifact(args) {
50
126
  if (!fs.existsSync(args.artifactPath)) {
51
127
  throw new PublishSetupError(`Artifact not found: ${args.artifactPath}`);
@@ -62,7 +138,7 @@ export async function publishArtifact(args) {
62
138
  catch (err) {
63
139
  throw new PublishSetupError(err instanceof Error ? err.message : String(err));
64
140
  }
65
- const creds = readStoreCredentials();
141
+ const creds = storeCredentialsFor(args.addonId);
66
142
  const configured = ['chrome', 'firefox', 'edge'].filter((s) => creds[s]);
67
143
  const stores = args.stores?.length ? args.stores : configured;
68
144
  if (!stores.length) {
@@ -74,6 +150,9 @@ export async function publishArtifact(args) {
74
150
  if (missing.length) {
75
151
  throw new PublishSetupError(`Missing credentials for: ${missing.join(', ')}\n${credentialsHelp(missing)}`);
76
152
  }
153
+ if (args.firefoxListing && !stores.includes('firefox'))
154
+ throw new PublishSetupError('listing_path, source_path and screenshots_dir apply to Firefox (AMO); include firefox in stores.');
155
+ const firefoxListing = args.firefoxListing ? loadFirefoxListing(args.firefoxListing) : undefined;
77
156
  return publishToStores({
78
157
  extensionId: creds.chrome?.appId ?? creds.firefox?.addonGuid ?? creds.edge?.productId ?? 'extension',
79
158
  stores,
@@ -84,7 +163,7 @@ export async function publishArtifact(args) {
84
163
  },
85
164
  storeConfigs: {
86
165
  chrome: creds.chrome,
87
- firefox: creds.firefox,
166
+ firefox: creds.firefox ? { ...creds.firefox, ...(firefoxListing ?? {}) } : undefined,
88
167
  edge: creds.edge,
89
168
  },
90
169
  releaseNotes: args.releaseNotes,
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
package/dist/scan.d.ts CHANGED
@@ -41,5 +41,12 @@ export declare class ScanError extends Error {
41
41
  });
42
42
  }
43
43
  export type ScanReport = Record<string, unknown>;
44
+ /**
45
+ * Why a parsed scan response is not a usable report, or null when it is. The
46
+ * backend has already committed the credit by the time a result arrives, so an
47
+ * unusable body must surface as an error naming the job — never as an empty
48
+ * success the caller cannot tell apart from a clean scan.
49
+ */
50
+ export declare function scanReportProblem(report: unknown): string | null;
44
51
  export declare function scanArtifact(opts: ScanArtifactOptions): Promise<ScanReport>;
45
52
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,MAAM,WAAW,YAAY;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;CACtC;AAED,kFAAkF;AAClF,qBAAa,SAAU,SAAQ,KAAK;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO;CAOvG;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEhD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDjF"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,MAAM,WAAW,YAAY;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAA;CACtC;AAED,kFAAkF;AAClF,qBAAa,SAAU,SAAQ,KAAK;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO;CAOvG;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAShE;AAaD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDjF"}
package/dist/scan.js CHANGED
@@ -32,6 +32,30 @@ export class ScanError extends Error {
32
32
  this.retryAfterSec = opts.retryAfterSec;
33
33
  }
34
34
  }
35
+ /**
36
+ * Why a parsed scan response is not a usable report, or null when it is. The
37
+ * backend has already committed the credit by the time a result arrives, so an
38
+ * unusable body must surface as an error naming the job — never as an empty
39
+ * success the caller cannot tell apart from a clean scan.
40
+ */
41
+ export function scanReportProblem(report) {
42
+ if (!report || typeof report !== 'object' || Array.isArray(report))
43
+ return 'the scan returned no report object';
44
+ const r = report;
45
+ if (!Array.isArray(r.scanners)) {
46
+ const job = typeof r.jobId === 'string' ? ` (job ${r.jobId})` : '';
47
+ return `the scan result${job} has no scanner results`;
48
+ }
49
+ return null;
50
+ }
51
+ function assertScanReport(report) {
52
+ const problem = scanReportProblem(report);
53
+ if (problem) {
54
+ throw new ScanError(`Scan finished but ${problem}. If a scan credit was charged, keep the job id and re-run with ` +
55
+ '`npx @extenshi/cli@latest scan <artifact> --format json`, which reads the same backend.');
56
+ }
57
+ return report;
58
+ }
35
59
  export async function scanArtifact(opts) {
36
60
  const { artifactPath, apiKey, scanUrl, extensionId, onProgress } = opts;
37
61
  if (!fs.existsSync(artifactPath)) {
@@ -78,10 +102,10 @@ export async function scanArtifact(opts) {
78
102
  }
79
103
  const contentType = response.headers.get('content-type') ?? '';
80
104
  if (contentType.includes('text/event-stream')) {
81
- return await consumeSseStream(response, onProgress);
105
+ return assertScanReport(await consumeSseStream(response, onProgress));
82
106
  }
83
107
  // Legacy single-JSON mode (server ignored the Accept header).
84
- return await parseJsonBody(response);
108
+ return assertScanReport(await parseJsonBody(response));
85
109
  }
86
110
  async function consumeSseStream(response, onProgress) {
87
111
  if (!response.body)
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAiB,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,cAAc,EAAiB,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,eAAe,GAAG,OAAO,CAAA;AAC/B,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAqB3C,kFAAkF;AAClF,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnC,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,aAAa,CAAS;IAEtB,YAAY,OAAe,EAAE,OAAwE,EAAE;QACtG,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACxC,CAAC;CACD;AAID,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC3D,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACvC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAClG,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC;QACJ,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,SAAS,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC/F,IAAI,WAAW;QAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAExD,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACJ,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;YACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;SAC5C,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,SAAS,CAClB,wBAAwB,eAAe,GAAG,IAAI,wFAAwF,CACtI,CAAA;QACF,CAAC;QACD,MAAM,GAAG,CAAA;IACV,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAC9D,IAAI,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAM,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC;IAED,8DAA8D;IAC9D,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,UAAsC;IAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;IAE3E,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAsB,IAAI,CAAA;IACpC,IAAI,YAAY,GAAkB,IAAI,CAAA;IAEtC,MAAM,MAAM,GAAG,CAAC,EAAY,EAAQ,EAAE;QACrC,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC,IAAI,UAAU;gBAAE,UAAU,CAAC,CAAiB,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;aAAM,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YAC3B,YAAY,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAA;QAC1E,CAAC;IACF,CAAC,CAAA;IAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,GAAG,IAAI,CAAA;QACb,KAAK,MAAM,EAAE,IAAI,MAAM;YAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;IACD,yDAAyD;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,MAAM,MAAM,CAAC,CAAA;IAClD,KAAK,MAAM,EAAE,IAAI,MAAM;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IAEnC,IAAI,YAAY;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAA;IACrE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;IAC/E,OAAO,MAAM,CAAA;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC7B,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAkB;IAC9C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7D,MAAM,IAAI,SAAS,CAClB,mDAAmD,QAAQ,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EACtH,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAC3B,CAAA;IACF,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,IAA6B;IACpE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAA;IAC9E,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACjF,MAAM,aAAa,GAClB,OAAQ,IAAmC,CAAC,aAAa,KAAK,QAAQ;QACrE,CAAC,CAAE,IAAkC,CAAC,aAAa;QACnD,CAAC,CAAC,SAAS,CAAA;IACb,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA+BH,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG9E;AAmCD,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C;AA6CD,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C;AA2DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,MAAM,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACxC,UAAU,CAAC,EAAE,MAAM,GACjB,IAAI,CAkBN;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAQtF;AASD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CASpD"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA+BH,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG9E;AAmCD,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C;AA6CD,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C;AA6DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,MAAM,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACxC,UAAU,CAAC,EAAE,MAAM,GACjB,IAAI,CAkBN;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAQtF;AASD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CASpD"}