@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.
- package/README.md +11 -2
- package/dist/bff.d.ts +33 -0
- package/dist/bff.d.ts.map +1 -1
- package/dist/bff.js +7 -0
- package/dist/bff.js.map +1 -1
- package/dist/development-guide.d.ts +121 -37
- package/dist/development-guide.d.ts.map +1 -1
- package/dist/development-guide.js +97 -12
- package/dist/development-guide.js.map +1 -1
- package/dist/icon-workflow.d.ts.map +1 -1
- package/dist/icon-workflow.js +15 -2
- package/dist/icon-workflow.js.map +1 -1
- package/dist/json-ld.d.ts +89 -0
- package/dist/json-ld.d.ts.map +1 -0
- package/dist/json-ld.js +118 -0
- package/dist/json-ld.js.map +1 -0
- package/dist/landing-page.d.ts +123 -0
- package/dist/landing-page.d.ts.map +1 -0
- package/dist/landing-page.js +405 -0
- package/dist/landing-page.js.map +1 -0
- package/dist/landing-workflow.d.ts +49 -0
- package/dist/landing-workflow.d.ts.map +1 -0
- package/dist/landing-workflow.js +80 -0
- package/dist/landing-workflow.js.map +1 -0
- package/dist/pay.d.ts +8 -1
- package/dist/pay.d.ts.map +1 -1
- package/dist/pay.js +9 -0
- package/dist/pay.js.map +1 -1
- package/dist/privacy-ai-outcome.d.ts +21 -0
- package/dist/privacy-ai-outcome.d.ts.map +1 -0
- package/dist/privacy-ai-outcome.js +69 -0
- package/dist/privacy-ai-outcome.js.map +1 -0
- package/dist/project-media.d.ts +29 -0
- package/dist/project-media.d.ts.map +1 -0
- package/dist/project-media.js +72 -0
- package/dist/project-media.js.map +1 -0
- package/dist/publish.d.ts +101 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +81 -2
- package/dist/publish.js.map +1 -1
- package/dist/scan.d.ts +7 -0
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +26 -2
- package/dist/scan.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +3 -0
- package/dist/telemetry.js.map +1 -1
- package/dist/tools.d.ts +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +436 -15
- package/dist/tools.js.map +1 -1
- 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":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;AAC3D,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAC1D,MAAM,SAAS,GAAG,CAAC;KACjB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,IAAI,CAAC;KACT,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;AACnE,CAAC,EAAE,sCAAsC,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;SACZ,MAAM,CAAC;QACP,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,MAAM,EAAE;IACV,YAAY,EAAE,CAAC;SACb,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SAClG,MAAM,EAAE;IACV,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,GAAG;IACpB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;QACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;IACF,YAAY,EAAE,GAAG;IACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAChE,CAAC;IACF,gBAAgB,EAAE,GAAG;IACrB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,CAAC;aACR,MAAM,CAAC;YACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;SAC9B,CAAC;aACD,MAAM,EAAE;KACV,CAAC;IACF,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC;QAC1B,GAAG;QACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACvD,CAAC;IACF,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACpC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;IACnD,YAAY,EAAE,GAAG;CACR,CAAA;AAGV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B;QACC,aAAa;QACb,eAAe;QACf,MAAM;QACN,aAAa;QACb,KAAK;QACL,iIAAiI;KACjI;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,IAAI;QACJ,mLAAmL;KACnL;IACD;QACC,WAAW;QACX,aAAa;QACb,KAAK;QACL,YAAY;QACZ,KAAK;QACL,sDAAsD;KACtD;IACD;QACC,iBAAiB;QACjB,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,KAAK;QACL,uIAAuI;KACvI;IACD;QACC,YAAY;QACZ,cAAc;QACd,MAAM;QACN,aAAa;QACb,IAAI;QACJ,mHAAmH;KACnH;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,IAAI;QACJ,yEAAyE;KACzE;IACD;QACC,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,gBAAgB;QAChB,IAAI;QACJ,0GAA0G;KAC1G;IACD;QACC,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,eAAe;QACf,KAAK;QACL,6LAA6L;KAC7L;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,KAAK;QACL,yRAAyR;KACzR;IACD;QACC,kBAAkB;QAClB,oBAAoB;QACpB,SAAS;QACT,mBAAmB;QACnB,IAAI;QACJ,qKAAqK;KACrK;IACD;QACC,kBAAkB;QAClB,oBAAoB;QACpB,SAAS;QACT,yBAAyB;QACzB,IAAI;QACJ,sGAAsG;KACtG;IACD;QACC,qBAAqB;QACrB,wBAAwB;QACxB,SAAS;QACT,4BAA4B;QAC5B,IAAI;QACJ,gJAAgJ;KAChJ;IACD;QACC,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;QACd,uBAAuB;QACvB,IAAI;QACJ,8NAA8N;KAC9N;IACD;QACC,iBAAiB;QACjB,mBAAmB;QACnB,eAAe;QACf,wBAAwB;QACxB,IAAI;QACJ,2EAA2E;KAC3E;IACD;QACC,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,sBAAsB;QACtB,IAAI;QACJ,wWAAwW;KACxW;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,YAAY;QACZ,gCAAgC;QAChC,IAAI;QACJ,+KAA+K;KAC/K;CACQ,CAAA;AAEV,2GAA2G;AAC3G,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,KAA8B;IAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/F,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAChC,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AACrC,CAAC"}
|
|
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":"AAAA;;;;;;;;;;;;GAYG;AAUH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACvD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAA;AAEzF,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7G,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3F,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACtD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAA;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;IAE5C,IAAI,MAAc,CAAA;IAClB,IAAI,OAAO;QAAE,MAAM,GAAG,KAAK,CAAA;SACtB,IAAI,MAAM,KAAK,YAAY;QAAE,MAAM,GAAG,YAAY,CAAA;SAClD,IAAI,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,GAAG,aAAa,CAAA;SACrE,IAAI,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,GAAG,WAAW,CAAA;IAC1E,0EAA0E;IAC1E,iFAAiF;SAC5E,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,GAAG,aAAa,CAAA;;QACpE,MAAM,GAAG,YAAY,CAAA;IAE1B,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACjF,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,SAAS,CAAC,MAAM;QAAE,UAAU,IAAI,sCAAsC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACjG,IAAI,OAAO,CAAC,MAAM;QAAE,UAAU,IAAI,4CAA4C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAEnG,IAAI,MAAc,CAAA;IAClB,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,KAAK;YACT,MAAM,GAAG,GAAG,MAAM,IAAI,8BAA8B,0CAA0C,UAAU,EAAE,CAAA;YAC1G,MAAK;QACN,KAAK,YAAY;YAChB,MAAM,GAAG,GAAG,MAAM,IAAI,gEAAgE,GAAG,UAAU,EAAE,CAAA;YACrG,MAAK;QACN;YACC,MAAM;gBACL,GAAG,MAAM,IAAI,4FAA4F,GAAG;oBAC5G,mGAAmG;oBACnG,kCAAkC,UAAU,EAAE,CAAA;IACjD,CAAC;IAED,uEAAuE;IACvE,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;AACzE,CAAC"}
|
|
@@ -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;
|
package/dist/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
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 =
|
|
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,
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,EACN,SAAS,EACT,OAAO,EACP,UAAU,EACV,eAAe,GAGf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAQ5D,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACpD,MAAM,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC;IAC7F,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;IAC3E,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;CACnF,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACxE,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACvG,KAAK,CAAC,MAAM,GAAG;YACd,KAAK,EAAE,GAAG,CAAC,aAAa;YACxB,QAAQ,EAAE,GAAG,CAAC,gBAAgB;YAC9B,YAAY,EAAE,GAAG,CAAC,oBAAoB;YACtC,YAAY,EAAE,GAAG,CAAC,oBAAoB;SACtC,CAAA;IACF,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAChF,KAAK,CAAC,OAAO,GAAG;YACf,SAAS,EAAE,GAAG,CAAC,kBAAkB;YACjC,SAAS,EAAE,GAAG,CAAC,kBAAkB;YACjC,SAAS,EAAE,GAAG,CAAC,kBAAkB;SACjC,CAAA;IACF,CAAC;IACD,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/F,KAAK,CAAC,IAAI,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,eAAe;YAC9B,QAAQ,EAAE,GAAG,CAAC,cAAc;YAC5B,YAAY,EAAE,GAAG,CAAC,kBAAkB;YACpC,QAAQ,EAAE,GAAG,CAAC,cAAc;SAC5B,CAAA;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC;
|
|
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
|
package/dist/scan.d.ts.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|