@12ui/design 0.2.14 → 0.2.16
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 +21 -1
- package/dist/bounded-concurrency.d.ts +13 -0
- package/dist/bounded-concurrency.d.ts.map +1 -0
- package/dist/bounded-concurrency.js +43 -0
- package/dist/bounded-concurrency.js.map +1 -0
- package/dist/branch-downloads.d.ts +10 -0
- package/dist/branch-downloads.d.ts.map +1 -1
- package/dist/branch-downloads.js +20 -0
- package/dist/branch-downloads.js.map +1 -1
- package/dist/branch-execution.d.ts +7 -0
- package/dist/branch-execution.d.ts.map +1 -1
- package/dist/branch-execution.js +175 -38
- package/dist/branch-execution.js.map +1 -1
- package/dist/branch-materialize.d.ts +23 -12
- package/dist/branch-materialize.d.ts.map +1 -1
- package/dist/branch-materialize.js +55 -38
- package/dist/branch-materialize.js.map +1 -1
- package/dist/branch-page-conversion.d.ts +109 -5
- package/dist/branch-page-conversion.d.ts.map +1 -1
- package/dist/branch-page-conversion.js +375 -179
- package/dist/branch-page-conversion.js.map +1 -1
- package/dist/branch-progress.d.ts +24 -0
- package/dist/branch-progress.d.ts.map +1 -1
- package/dist/branch-progress.js +35 -6
- package/dist/branch-progress.js.map +1 -1
- package/dist/branch-run-record.d.ts +14 -0
- package/dist/branch-run-record.d.ts.map +1 -1
- package/dist/branch-run-record.js.map +1 -1
- package/dist/branch-status.d.ts.map +1 -1
- package/dist/branch-status.js +3 -0
- package/dist/branch-status.js.map +1 -1
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +1 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-branch-command.d.ts +10 -1
- package/dist/cli-branch-command.d.ts.map +1 -1
- package/dist/cli-branch-command.js +60 -11
- package/dist/cli-branch-command.js.map +1 -1
- package/dist/cli-capabilities.d.ts +35 -2
- package/dist/cli-capabilities.d.ts.map +1 -1
- package/dist/cli-capabilities.js +38 -1
- package/dist/cli-capabilities.js.map +1 -1
- package/dist/cli-draft-command.d.ts +2 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +22 -4
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-package-command.d.ts +13 -0
- package/dist/cli-package-command.d.ts.map +1 -1
- package/dist/cli-package-command.js +35 -8
- package/dist/cli-package-command.js.map +1 -1
- package/dist/cli-progress.d.ts +81 -5
- package/dist/cli-progress.d.ts.map +1 -1
- package/dist/cli-progress.js +108 -5
- package/dist/cli-progress.js.map +1 -1
- package/dist/cli-skill-command.d.ts.map +1 -1
- package/dist/cli-skill-command.js +27 -12
- package/dist/cli-skill-command.js.map +1 -1
- package/dist/cli.js +20 -10
- package/dist/cli.js.map +1 -1
- package/dist/conversion-receipt-store.d.ts +75 -0
- package/dist/conversion-receipt-store.d.ts.map +1 -0
- package/dist/conversion-receipt-store.js +143 -0
- package/dist/conversion-receipt-store.js.map +1 -0
- package/dist/conversion-receipt.d.ts +223 -0
- package/dist/conversion-receipt.d.ts.map +1 -0
- package/dist/conversion-receipt.js +352 -0
- package/dist/conversion-receipt.js.map +1 -0
- package/dist/draft-adoption.d.ts +48 -0
- package/dist/draft-adoption.d.ts.map +1 -0
- package/dist/draft-adoption.js +237 -0
- package/dist/draft-adoption.js.map +1 -0
- package/dist/draft-run.d.ts +10 -0
- package/dist/draft-run.d.ts.map +1 -1
- package/dist/draft-run.js +16 -4
- package/dist/draft-run.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +65 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/package-client.d.ts +28 -0
- package/dist/package-client.d.ts.map +1 -1
- package/dist/package-client.js +21 -1
- package/dist/package-client.js.map +1 -1
- package/dist/package-source-refusal.d.ts +17 -0
- package/dist/package-source-refusal.d.ts.map +1 -0
- package/dist/package-source-refusal.js +61 -0
- package/dist/package-source-refusal.js.map +1 -0
- package/dist/package-submission.d.ts +43 -1
- package/dist/package-submission.d.ts.map +1 -1
- package/dist/package-submission.js +32 -7
- package/dist/package-submission.js.map +1 -1
- package/dist/skill-clients.d.ts +39 -0
- package/dist/skill-clients.d.ts.map +1 -0
- package/dist/skill-clients.js +156 -0
- package/dist/skill-clients.js.map +1 -0
- package/dist/skill-installer.d.ts +2 -3
- package/dist/skill-installer.d.ts.map +1 -1
- package/dist/skill-installer.js +9 -101
- package/dist/skill-installer.js.map +1 -1
- package/package.json +1 -1
- package/skills/design/SKILL.md +6 -3
- package/skills/design-branch/SKILL.md +6 -5
- package/skills/design-convert/SKILL.md +3 -3
- package/skills/design-draft/SKILL.md +3 -3
- package/skills/design-search/SKILL.md +3 -3
package/dist/package-client.js
CHANGED
|
@@ -16,9 +16,29 @@ const parseOperation = (value) => {
|
|
|
16
16
|
throw new Error('Package operation is missing pages');
|
|
17
17
|
return record;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* A refusal from the package routes, kept whole.
|
|
21
|
+
*
|
|
22
|
+
* Every one of them is RFC7807 problem+json whose machine-readable field is
|
|
23
|
+
* `code` — `detail` carries the sentence (`workers/api/src/conversion/problem.ts`,
|
|
24
|
+
* `buildConversionProblem`). A caller that reduces the answer to a sentence
|
|
25
|
+
* cannot tell one refusal from another, and telling them apart is what lets a
|
|
26
|
+
* disproven attachment cost one retry instead of a page. The message stays the
|
|
27
|
+
* detail line, so everything that only reports it reads exactly as before.
|
|
28
|
+
*/
|
|
29
|
+
export class ConversionPackageRequestError extends Error {
|
|
30
|
+
status;
|
|
31
|
+
problem;
|
|
32
|
+
constructor(message, status, problem) {
|
|
33
|
+
super(message);
|
|
34
|
+
this.status = status;
|
|
35
|
+
this.problem = problem;
|
|
36
|
+
this.name = 'ConversionPackageRequestError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
19
39
|
const problemFor = async (response) => {
|
|
20
40
|
const payload = await response.json().catch(() => null);
|
|
21
|
-
return new
|
|
41
|
+
return new ConversionPackageRequestError(payload?.detail || payload?.title || `${response.status} ${response.statusText}`, response.status, payload ?? {});
|
|
22
42
|
};
|
|
23
43
|
const delay = async (milliseconds, signal) => await new Promise((resolve, reject) => {
|
|
24
44
|
const timer = setTimeout(resolve, milliseconds);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-client.js","sourceRoot":"","sources":["../src/package-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAUxD,MAAM,CAAC,MAAM,6BAA6B,GAAG,6CAAsD,CAAC;AACpG,MAAM,CAAC,MAAM,kCAAkC,GAAG,iBAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"package-client.js","sourceRoot":"","sources":["../src/package-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConversionPackageRequestError } from './package-client.js';
|
|
2
|
+
export declare const isSourceConversionRefusal: (error: unknown) => error is ConversionPackageRequestError;
|
|
3
|
+
/**
|
|
4
|
+
* The single viewport a refusal is about.
|
|
5
|
+
*
|
|
6
|
+
* The server proves attachments one at a time and throws on the first that
|
|
7
|
+
* fails, and every refusal it can raise opens with the viewport's own id
|
|
8
|
+
* (`Viewport <id> source_conversion_id …`). A refusal therefore disproves
|
|
9
|
+
* exactly ONE attachment and says nothing about the others — they were never
|
|
10
|
+
* reached. Reading the id out is what keeps a stale entry costing one
|
|
11
|
+
* re-bought screen instead of every reuse in the request.
|
|
12
|
+
*
|
|
13
|
+
* Null when the detail names no viewport, which is the caller's signal that it
|
|
14
|
+
* has no better option than dropping every attachment it sent.
|
|
15
|
+
*/
|
|
16
|
+
export declare const sourceConversionRefusalViewportId: (error: unknown) => string | null;
|
|
17
|
+
//# sourceMappingURL=package-source-refusal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-source-refusal.d.ts","sourceRoot":"","sources":["../src/package-source-refusal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAuCpE,eAAO,MAAM,yBAAyB,GACpC,OAAO,OAAO,KACb,KAAK,IAAI,6BAKX,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iCAAiC,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,IAI3E,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ConversionPackageRequestError } from './package-client.js';
|
|
2
|
+
/**
|
|
3
|
+
* Reading the server refusing an ATTACHED conversion, as distinct from it
|
|
4
|
+
* refusing the request that carried one.
|
|
5
|
+
*
|
|
6
|
+
* A viewport that declares `source_conversion_id` is a claim about an existing
|
|
7
|
+
* conversion, and the server proves every field of that claim against the
|
|
8
|
+
* referenced run's durable admitted evidence before the package row exists
|
|
9
|
+
* (`workers/api/src/conversionPackage/sourceConversionAttachment.ts`). A claim
|
|
10
|
+
* that no longer holds — expired since it was recorded, owned by another
|
|
11
|
+
* account, converted with another model or to another output, or run by a
|
|
12
|
+
* pipeline this one cannot resume — is refused at admission, before anything
|
|
13
|
+
* durable is created. So the refusal disproves the reuse, not the page: the
|
|
14
|
+
* same bytes submitted without the attachment convert normally.
|
|
15
|
+
*
|
|
16
|
+
* This module is the single owner of what that refusal looks like on the wire.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* The two codes the attachment proof can raise, both 400
|
|
20
|
+
* (`conversionProblemHttpStatus`): `invalid_request` for evidence that no
|
|
21
|
+
* longer matches, `source_pipeline_stale` for a conversion the current
|
|
22
|
+
* pipeline cannot resume.
|
|
23
|
+
*
|
|
24
|
+
* `invalid_request` alone proves nothing — it is the code for most malformed
|
|
25
|
+
* requests — so the code narrows and the detail decides. `code` is preferred
|
|
26
|
+
* wherever it decides something, and its absence means only that the body did
|
|
27
|
+
* not parse as a problem document, never that a non-refusal may pass.
|
|
28
|
+
*/
|
|
29
|
+
const SOURCE_REFUSAL_CODES = new Set([
|
|
30
|
+
'invalid_request',
|
|
31
|
+
'source_pipeline_stale',
|
|
32
|
+
]);
|
|
33
|
+
const refusalDetail = (error) => (error.problem.detail ?? error.message);
|
|
34
|
+
export const isSourceConversionRefusal = (error) => {
|
|
35
|
+
if (!(error instanceof ConversionPackageRequestError) || error.status !== 400)
|
|
36
|
+
return false;
|
|
37
|
+
const { code } = error.problem;
|
|
38
|
+
if (code !== undefined && !SOURCE_REFUSAL_CODES.has(code))
|
|
39
|
+
return false;
|
|
40
|
+
return refusalDetail(error).includes('source_conversion_id');
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The single viewport a refusal is about.
|
|
44
|
+
*
|
|
45
|
+
* The server proves attachments one at a time and throws on the first that
|
|
46
|
+
* fails, and every refusal it can raise opens with the viewport's own id
|
|
47
|
+
* (`Viewport <id> source_conversion_id …`). A refusal therefore disproves
|
|
48
|
+
* exactly ONE attachment and says nothing about the others — they were never
|
|
49
|
+
* reached. Reading the id out is what keeps a stale entry costing one
|
|
50
|
+
* re-bought screen instead of every reuse in the request.
|
|
51
|
+
*
|
|
52
|
+
* Null when the detail names no viewport, which is the caller's signal that it
|
|
53
|
+
* has no better option than dropping every attachment it sent.
|
|
54
|
+
*/
|
|
55
|
+
export const sourceConversionRefusalViewportId = (error) => {
|
|
56
|
+
if (!isSourceConversionRefusal(error))
|
|
57
|
+
return null;
|
|
58
|
+
return /^Viewport (?<viewportId>\S+) source_conversion_id\s/u
|
|
59
|
+
.exec(refusalDetail(error))?.groups?.viewportId ?? null;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=package-source-refusal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-source-refusal.js","sourceRoot":"","sources":["../src/package-source-refusal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,iBAAiB;IACjB,uBAAuB;CACxB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,KAAoC,EAAU,EAAE,CAAC,CACtE,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAc,EAC0B,EAAE;IAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,6BAA6B,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC5F,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAAc,EAAiB,EAAE;IACjF,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,sDAAsD;SAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC;AAC5D,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ConversionModel } from './conversion-models.js';
|
|
2
2
|
import { type ConversionOutput } from './conversion-outputs.js';
|
|
3
3
|
import type { ResponsiveConversionQuality } from './responsive-quality.js';
|
|
4
4
|
import { TwelveUiConversionPackageClient, type ConversionPackageFile, type ConversionPackageLegacyManifest, type ConversionPackageOperation } from './package-client.js';
|
|
@@ -43,6 +43,17 @@ export type PackageSubmission = {
|
|
|
43
43
|
pages: PackagePageInput[];
|
|
44
44
|
idempotencyKey: string;
|
|
45
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* One viewport's own child conversion. Carried out of the operation because a
|
|
48
|
+
* viewport conversion is a durable, reusable artifact in its own right — the
|
|
49
|
+
* winner's conversion is the one a later run can attach instead of buying.
|
|
50
|
+
*/
|
|
51
|
+
export type PackageViewportResult = {
|
|
52
|
+
id: string;
|
|
53
|
+
ordinal: number;
|
|
54
|
+
status: 'queued' | 'running' | 'succeeded' | 'failed';
|
|
55
|
+
conversionId?: string;
|
|
56
|
+
};
|
|
46
57
|
export type PackagePageResult = {
|
|
47
58
|
id: string;
|
|
48
59
|
ordinal: number;
|
|
@@ -54,20 +65,50 @@ export type PackagePageResult = {
|
|
|
54
65
|
mediaType?: string;
|
|
55
66
|
status: 'succeeded' | 'failed';
|
|
56
67
|
error?: string;
|
|
68
|
+
viewports?: PackageViewportResult[];
|
|
57
69
|
};
|
|
58
70
|
export type PackageSubmissionResult = {
|
|
59
71
|
packageId: string;
|
|
60
72
|
status: ConversionPackageOperation['status'];
|
|
61
73
|
output: ConversionOutput;
|
|
62
74
|
idempotencyKey: string;
|
|
75
|
+
/**
|
|
76
|
+
* The model the server ran, which is NOT necessarily the one the submission
|
|
77
|
+
* asked for: a manifest may name none at all and let the account's default
|
|
78
|
+
* decide. A reused viewport conversion must have run the model the next
|
|
79
|
+
* package declares, so the receipt records what was actually run rather than
|
|
80
|
+
* what was requested. Optional because the operation is forwarded as the
|
|
81
|
+
* server sent it and a server that answers without a recognised model is not
|
|
82
|
+
* a failure — it only means nothing here can prove a viewport conversion
|
|
83
|
+
* would be attachable under a declared model.
|
|
84
|
+
*/
|
|
85
|
+
model?: ConversionModel;
|
|
86
|
+
/**
|
|
87
|
+
* When this package and the conversions it bought stop being readable.
|
|
88
|
+
* Optional because a server that answers without it is not a failure — it
|
|
89
|
+
* only means nothing here can prove a viewport conversion is still attachable.
|
|
90
|
+
*/
|
|
91
|
+
expiresAt?: string;
|
|
63
92
|
pages: PackagePageResult[];
|
|
64
93
|
resultPath?: string;
|
|
65
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* Everything the server publishes about a running package, forwarded whole.
|
|
97
|
+
*
|
|
98
|
+
* A caller that polls a percent which has not moved cannot tell slow work from
|
|
99
|
+
* wedged work, and the measured consequence is an agent abandoning paid work.
|
|
100
|
+
* `running` and `stageSince` are the facts that separate them, so the client
|
|
101
|
+
* carries them rather than reducing the poll to a stage and a percent.
|
|
102
|
+
*/
|
|
66
103
|
export type PackageProgressEvent = {
|
|
67
104
|
stage: string;
|
|
68
105
|
percent?: number;
|
|
69
106
|
completed?: number;
|
|
70
107
|
total?: number;
|
|
108
|
+
running?: number;
|
|
109
|
+
stageSince?: string;
|
|
110
|
+
pagesAvailable?: number;
|
|
111
|
+
bandsAvailable?: number;
|
|
71
112
|
};
|
|
72
113
|
/**
|
|
73
114
|
* The stitch precondition, checked HERE rather than at admission. Composition
|
|
@@ -82,6 +123,7 @@ export declare const buildConversionPackageRequest: (submission: PackageSubmissi
|
|
|
82
123
|
manifest: ConversionPackageLegacyManifest;
|
|
83
124
|
screenshots: ConversionPackageFile[];
|
|
84
125
|
}>;
|
|
126
|
+
export declare const packageProgressEvent: (operation: ConversionPackageOperation) => PackageProgressEvent;
|
|
85
127
|
/**
|
|
86
128
|
* Submit, wait, and materialize. The package's own operation record is the
|
|
87
129
|
* durable identity: a retry under the same derived key replays it rather than
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-submission.d.ts","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"package-submission.d.ts","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { mkdir, writeFile } from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
+
import { isConversionModel } from './conversion-models.js';
|
|
4
5
|
import { CONVERSION_OUTPUT_EXTENSIONS, } from './conversion-outputs.js';
|
|
5
6
|
import { readImageDimensions } from './image-dimensions.js';
|
|
6
7
|
/**
|
|
@@ -80,6 +81,24 @@ export const buildConversionPackageRequest = async (submission) => {
|
|
|
80
81
|
};
|
|
81
82
|
return { manifest, screenshots };
|
|
82
83
|
};
|
|
84
|
+
export const packageProgressEvent = (operation) => {
|
|
85
|
+
const progress = operation.progress;
|
|
86
|
+
return {
|
|
87
|
+
stage: progress?.stage ?? operation.status,
|
|
88
|
+
...(progress?.percent === undefined ? {} : { percent: progress.percent }),
|
|
89
|
+
...(progress?.completed === undefined
|
|
90
|
+
? {}
|
|
91
|
+
: { completed: progress.completed, total: progress.total }),
|
|
92
|
+
...(progress?.running === undefined ? {} : { running: progress.running }),
|
|
93
|
+
...(progress?.stage_since === undefined ? {} : { stageSince: progress.stage_since }),
|
|
94
|
+
...(progress?.pages_available === undefined
|
|
95
|
+
? {}
|
|
96
|
+
: { pagesAvailable: progress.pages_available }),
|
|
97
|
+
...(progress?.bands_available === undefined
|
|
98
|
+
? {}
|
|
99
|
+
: { bandsAvailable: progress.bands_available }),
|
|
100
|
+
};
|
|
101
|
+
};
|
|
83
102
|
const delay = async (milliseconds, signal) => (new Promise((resolve, reject) => {
|
|
84
103
|
const timer = setTimeout(resolve, milliseconds);
|
|
85
104
|
signal?.addEventListener('abort', () => {
|
|
@@ -109,13 +128,7 @@ export const submitConversionPackage = async (args) => {
|
|
|
109
128
|
throw new Error(`Timed out waiting for package ${created.id}. It is still running server-side; read it`
|
|
110
129
|
+ ` back with GET /api/v1/convert/package/${created.id} rather than submitting again.`);
|
|
111
130
|
}
|
|
112
|
-
args.onProgress?.(
|
|
113
|
-
stage: operation.progress?.stage ?? operation.status,
|
|
114
|
-
...(operation.progress?.percent === undefined ? {} : { percent: operation.progress.percent }),
|
|
115
|
-
...(operation.progress?.completed === undefined
|
|
116
|
-
? {}
|
|
117
|
-
: { completed: operation.progress.completed, total: operation.progress.total }),
|
|
118
|
-
});
|
|
131
|
+
args.onProgress?.(packageProgressEvent(operation));
|
|
119
132
|
await sleep(args.pollIntervalMs ?? PACKAGE_POLL_INTERVAL_MS, args.signal);
|
|
120
133
|
operation = await args.client.getPackage(created.id, args.signal);
|
|
121
134
|
}
|
|
@@ -123,6 +136,14 @@ export const submitConversionPackage = async (args) => {
|
|
|
123
136
|
await mkdir(args.outDir, { recursive: true });
|
|
124
137
|
const extension = CONVERSION_OUTPUT_EXTENSIONS[args.submission.output];
|
|
125
138
|
const pages = [];
|
|
139
|
+
const viewportsOf = (page) => (page.viewports.length === 0 ? {} : {
|
|
140
|
+
viewports: page.viewports.map((viewport) => ({
|
|
141
|
+
id: viewport.id,
|
|
142
|
+
ordinal: viewport.ordinal,
|
|
143
|
+
status: viewport.status,
|
|
144
|
+
...(viewport.conversion_id ? { conversionId: viewport.conversion_id } : {}),
|
|
145
|
+
})),
|
|
146
|
+
});
|
|
126
147
|
for (const page of operation.pages) {
|
|
127
148
|
if (page.status !== 'succeeded' || !page.href) {
|
|
128
149
|
pages.push({
|
|
@@ -131,6 +152,7 @@ export const submitConversionPackage = async (args) => {
|
|
|
131
152
|
...(page.title ? { title: page.title } : {}),
|
|
132
153
|
status: 'failed',
|
|
133
154
|
error: operation.error?.detail ?? `Page ${page.id} finished ${page.status}.`,
|
|
155
|
+
...viewportsOf(page),
|
|
134
156
|
});
|
|
135
157
|
continue;
|
|
136
158
|
}
|
|
@@ -147,6 +169,7 @@ export const submitConversionPackage = async (args) => {
|
|
|
147
169
|
bytes: downloaded.bytes.byteLength,
|
|
148
170
|
mediaType: downloaded.mediaType,
|
|
149
171
|
status: 'succeeded',
|
|
172
|
+
...viewportsOf(page),
|
|
150
173
|
});
|
|
151
174
|
}
|
|
152
175
|
if (operation.status !== 'succeeded' && pages.every((page) => page.status === 'failed')) {
|
|
@@ -158,6 +181,8 @@ export const submitConversionPackage = async (args) => {
|
|
|
158
181
|
status: operation.status,
|
|
159
182
|
output: args.submission.output,
|
|
160
183
|
idempotencyKey: args.submission.idempotencyKey,
|
|
184
|
+
...(isConversionModel(operation.model) ? { model: operation.model } : {}),
|
|
185
|
+
...(operation.expires_at ? { expiresAt: operation.expires_at } : {}),
|
|
161
186
|
pages,
|
|
162
187
|
};
|
|
163
188
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-submission.js","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"package-submission.js","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every coding agent whose installed release discovers `SKILL.md` bundles from
|
|
3
|
+
* a user-scoped `skills/` directory. Each entry below was read out of the
|
|
4
|
+
* installed binary or its shipped documentation, never from a blog post:
|
|
5
|
+
*
|
|
6
|
+
* - codex every `~/.codex` profile's `skills/` (plus `CODEX_HOME`)
|
|
7
|
+
* - claude-code `~/.claude/skills/`
|
|
8
|
+
* - grok `~/.grok/skills/` (README "Skill Locations"; `GROK_HOME`)
|
|
9
|
+
* - cursor `~/.cursor/skills/` (bundled `skill-path-utils.ts` roots)
|
|
10
|
+
* - antigravity `~/.gemini/config/skills/` (agy's "Customization Roots")
|
|
11
|
+
* - copilot `~/.copilot/skills/` (`/skills` help: "Personal")
|
|
12
|
+
*
|
|
13
|
+
* One layout serves all six, so the skill bundle is byte-identical everywhere
|
|
14
|
+
* and no client gets its own copy of the model-facing text.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SKILL_CLIENTS: readonly ["codex", "claude-code", "grok", "cursor", "antigravity", "copilot"];
|
|
17
|
+
export type SkillClient = typeof SKILL_CLIENTS[number];
|
|
18
|
+
export declare const isSkillClient: (value: unknown) => value is SkillClient;
|
|
19
|
+
export declare const resolveClientHome: (args: {
|
|
20
|
+
client: SkillClient;
|
|
21
|
+
clientHome?: string;
|
|
22
|
+
environment: NodeJS.ProcessEnv;
|
|
23
|
+
homeDirectory: string;
|
|
24
|
+
}) => string;
|
|
25
|
+
export declare const executableExists: (executable: string, environment: NodeJS.ProcessEnv) => Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Homes to install into for one client, or an empty list when the client is
|
|
28
|
+
* not on this machine. A CLIENT-SPECIFIC relocating variable counts as proof
|
|
29
|
+
* on its own — the operator pointed that client somewhere deliberately — but
|
|
30
|
+
* a generic one like `XDG_CONFIG_HOME` only says where the home would be:
|
|
31
|
+
* presence still has to be earned by the directory existing or the
|
|
32
|
+
* executable being on PATH.
|
|
33
|
+
*/
|
|
34
|
+
export declare const discoverClientHomes: (args: {
|
|
35
|
+
client: SkillClient;
|
|
36
|
+
environment: NodeJS.ProcessEnv;
|
|
37
|
+
homeDirectory: string;
|
|
38
|
+
}) => Promise<string[]>;
|
|
39
|
+
//# sourceMappingURL=skill-clients.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-clients.d.ts","sourceRoot":"","sources":["../src/skill-clients.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,+EAOhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAmDvD,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAEvD,CAAC;AAgCF,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,MAOH,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,YAAY,MAAM,EAClB,aAAa,MAAM,CAAC,UAAU,KAC7B,OAAO,CAAC,OAAO,CAoBjB,CAAC;AA+BF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC,MAAM,EAAE,CASnB,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { constants } from 'node:fs';
|
|
2
|
+
import { access, readdir, stat } from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Every coding agent whose installed release discovers `SKILL.md` bundles from
|
|
6
|
+
* a user-scoped `skills/` directory. Each entry below was read out of the
|
|
7
|
+
* installed binary or its shipped documentation, never from a blog post:
|
|
8
|
+
*
|
|
9
|
+
* - codex every `~/.codex` profile's `skills/` (plus `CODEX_HOME`)
|
|
10
|
+
* - claude-code `~/.claude/skills/`
|
|
11
|
+
* - grok `~/.grok/skills/` (README "Skill Locations"; `GROK_HOME`)
|
|
12
|
+
* - cursor `~/.cursor/skills/` (bundled `skill-path-utils.ts` roots)
|
|
13
|
+
* - antigravity `~/.gemini/config/skills/` (agy's "Customization Roots")
|
|
14
|
+
* - copilot `~/.copilot/skills/` (`/skills` help: "Personal")
|
|
15
|
+
*
|
|
16
|
+
* One layout serves all six, so the skill bundle is byte-identical everywhere
|
|
17
|
+
* and no client gets its own copy of the model-facing text.
|
|
18
|
+
*/
|
|
19
|
+
export const SKILL_CLIENTS = [
|
|
20
|
+
'codex',
|
|
21
|
+
'claude-code',
|
|
22
|
+
'grok',
|
|
23
|
+
'cursor',
|
|
24
|
+
'antigravity',
|
|
25
|
+
'copilot',
|
|
26
|
+
];
|
|
27
|
+
const clientDefinitions = {
|
|
28
|
+
codex: {
|
|
29
|
+
defaultHome: '.codex',
|
|
30
|
+
executable: 'codex',
|
|
31
|
+
homeEnvironment: { name: 'CODEX_HOME', proves: true },
|
|
32
|
+
},
|
|
33
|
+
'claude-code': {
|
|
34
|
+
defaultHome: '.claude',
|
|
35
|
+
executable: 'claude',
|
|
36
|
+
},
|
|
37
|
+
grok: {
|
|
38
|
+
defaultHome: '.grok',
|
|
39
|
+
executable: 'grok',
|
|
40
|
+
homeEnvironment: { name: 'GROK_HOME', proves: true },
|
|
41
|
+
},
|
|
42
|
+
cursor: {
|
|
43
|
+
defaultHome: '.cursor',
|
|
44
|
+
executable: 'cursor-agent',
|
|
45
|
+
},
|
|
46
|
+
antigravity: {
|
|
47
|
+
defaultHome: path.join('.gemini', 'config'),
|
|
48
|
+
executable: 'agy',
|
|
49
|
+
},
|
|
50
|
+
copilot: {
|
|
51
|
+
defaultHome: '.copilot',
|
|
52
|
+
executable: 'copilot',
|
|
53
|
+
homeEnvironment: { name: 'XDG_CONFIG_HOME', suffix: '.copilot' },
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
export const isSkillClient = (value) => (typeof value === 'string' && SKILL_CLIENTS.includes(value));
|
|
57
|
+
const expandHome = (value, homeDirectory) => (value === '~'
|
|
58
|
+
? homeDirectory
|
|
59
|
+
: value.startsWith(`~${path.sep}`)
|
|
60
|
+
? path.join(homeDirectory, value.slice(2))
|
|
61
|
+
: value);
|
|
62
|
+
const exists = async (target) => {
|
|
63
|
+
try {
|
|
64
|
+
await stat(target);
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (error.code === 'ENOENT')
|
|
69
|
+
return false;
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const environmentHome = (client, environment, homeDirectory) => {
|
|
74
|
+
const configured = clientDefinitions[client].homeEnvironment;
|
|
75
|
+
const value = configured ? environment[configured.name]?.trim() : undefined;
|
|
76
|
+
if (!value)
|
|
77
|
+
return undefined;
|
|
78
|
+
const expanded = expandHome(value, homeDirectory);
|
|
79
|
+
return configured?.suffix ? path.join(expanded, configured.suffix) : expanded;
|
|
80
|
+
};
|
|
81
|
+
export const resolveClientHome = (args) => {
|
|
82
|
+
const explicitHome = args.clientHome?.trim();
|
|
83
|
+
const configuredHome = explicitHome
|
|
84
|
+
? expandHome(explicitHome, args.homeDirectory)
|
|
85
|
+
: environmentHome(args.client, args.environment, args.homeDirectory)
|
|
86
|
+
?? path.join(args.homeDirectory, clientDefinitions[args.client].defaultHome);
|
|
87
|
+
return path.resolve(configuredHome);
|
|
88
|
+
};
|
|
89
|
+
export const executableExists = async (executable, environment) => {
|
|
90
|
+
const pathValue = environment.PATH?.trim();
|
|
91
|
+
if (!pathValue)
|
|
92
|
+
return false;
|
|
93
|
+
const extensions = process.platform === 'win32'
|
|
94
|
+
? (environment.PATHEXT ?? '.EXE;.CMD;.BAT;.COM').split(';')
|
|
95
|
+
: [''];
|
|
96
|
+
const candidates = pathValue
|
|
97
|
+
.split(path.delimiter)
|
|
98
|
+
.filter(Boolean)
|
|
99
|
+
.flatMap((directory) => extensions.map((extension) => (path.join(directory, `${executable}${extension.toLowerCase()}`))));
|
|
100
|
+
return (await Promise.all(candidates.map(async (candidate) => {
|
|
101
|
+
try {
|
|
102
|
+
await access(candidate, process.platform === 'win32' ? constants.F_OK : constants.X_OK);
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}))).some(Boolean);
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Codex is the one client with more than one home per machine: every
|
|
112
|
+
* `~/.codex*` directory is a separate profile with its own skills, and
|
|
113
|
+
* `CODEX_HOME` may point outside that set.
|
|
114
|
+
*/
|
|
115
|
+
const discoverCodexHomes = async (environment, homeDirectory) => {
|
|
116
|
+
const configuredHome = environmentHome('codex', environment, homeDirectory);
|
|
117
|
+
let entries = [];
|
|
118
|
+
try {
|
|
119
|
+
entries = await readdir(homeDirectory, { withFileTypes: true });
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
if (error.code !== 'ENOENT')
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
const homes = entries
|
|
126
|
+
.filter((entry) => entry.isDirectory() && entry.name.startsWith('.codex'))
|
|
127
|
+
.map((entry) => path.join(homeDirectory, entry.name))
|
|
128
|
+
.sort();
|
|
129
|
+
if (configuredHome && !homes.some((home) => path.resolve(home) === path.resolve(configuredHome))) {
|
|
130
|
+
homes.push(configuredHome);
|
|
131
|
+
}
|
|
132
|
+
if (homes.length === 0 && await executableExists('codex', environment)) {
|
|
133
|
+
homes.push(path.join(homeDirectory, clientDefinitions.codex.defaultHome));
|
|
134
|
+
}
|
|
135
|
+
return [...new Set(homes.map((home) => path.resolve(home)))];
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Homes to install into for one client, or an empty list when the client is
|
|
139
|
+
* not on this machine. A CLIENT-SPECIFIC relocating variable counts as proof
|
|
140
|
+
* on its own — the operator pointed that client somewhere deliberately — but
|
|
141
|
+
* a generic one like `XDG_CONFIG_HOME` only says where the home would be:
|
|
142
|
+
* presence still has to be earned by the directory existing or the
|
|
143
|
+
* executable being on PATH.
|
|
144
|
+
*/
|
|
145
|
+
export const discoverClientHomes = async (args) => {
|
|
146
|
+
if (args.client === 'codex')
|
|
147
|
+
return discoverCodexHomes(args.environment, args.homeDirectory);
|
|
148
|
+
const definition = clientDefinitions[args.client];
|
|
149
|
+
const configuredHome = environmentHome(args.client, args.environment, args.homeDirectory);
|
|
150
|
+
const clientHome = resolveClientHome(args);
|
|
151
|
+
const detected = Boolean(configuredHome && definition.homeEnvironment?.proves)
|
|
152
|
+
|| await exists(clientHome)
|
|
153
|
+
|| await executableExists(definition.executable, args.environment);
|
|
154
|
+
return detected ? [clientHome] : [];
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=skill-clients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-clients.js","sourceRoot":"","sources":["../src/skill-clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
import { isSkillClient, SKILL_CLIENTS, type SkillClient } from './skill-clients.js';
|
|
2
|
+
export { isSkillClient, SKILL_CLIENTS, type SkillClient };
|
|
1
3
|
export declare const TWELVE_UI_SKILL_NAME = "design";
|
|
2
4
|
export declare const TWELVE_UI_SKILL_NAMES: readonly ["design", "design-search", "design-draft", "design-branch", "design-convert"];
|
|
3
5
|
export type TwelveUiSkillName = typeof TWELVE_UI_SKILL_NAMES[number];
|
|
4
|
-
export declare const SKILL_CLIENTS: readonly ["codex", "claude-code"];
|
|
5
|
-
export type SkillClient = typeof SKILL_CLIENTS[number];
|
|
6
6
|
export type SkillInstallStatus = 'not_installed' | 'current' | 'different';
|
|
7
7
|
export type SkillTarget = {
|
|
8
8
|
client: SkillClient;
|
|
9
9
|
destination: string;
|
|
10
10
|
skill: TwelveUiSkillName;
|
|
11
11
|
};
|
|
12
|
-
export declare const isSkillClient: (value: unknown) => value is SkillClient;
|
|
13
12
|
export declare const isTwelveUiSkillName: (value: unknown) => value is TwelveUiSkillName;
|
|
14
13
|
export declare const skillSupportsClient: (skill: TwelveUiSkillName, client: SkillClient) => boolean;
|
|
15
14
|
export declare const requiredScopesForSkill: (skill: TwelveUiSkillName) => readonly ("design.convert" | "design.corpus.retrieve")[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../src/skill-installer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../src/skill-installer.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,aAAa,EAEb,aAAa,EACb,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,CAAC;AAE1D,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,qBAAqB,yFAMxB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;AAC3E,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAiDF,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,iBAE7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,iBAAiB,EACxB,QAAQ,WAAW,KAClB,OAA2D,CAAC;AAE/D,eAAO,MAAM,sBAAsB,GACjC,OAAO,iBAAiB,KACvB,SAAS,CAAC,gBAAgB,GAAG,wBAAwB,CAAC,EAExD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,SAAS,iBAAiB,EAAE,KACnC,SAAS,CAAC,gBAAgB,GAAG,wBAAwB,CAAC,EAKxD,CAAC;AAcF,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B,KAAG,MAaH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,OAAM;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACtB,KAAG,OAAO,CAAC,WAAW,EAAE,CAc7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,KAClB,OAAO,CAAC,kBAAkB,CA2B5B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,MAAM;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,KAAG,OAAO,CAAC,WAAW,GAAG,UAAU,GAAG,iBAAiB,CA8BvD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,iBAAiB,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM;IACnD,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,KAAG,OAAO,CAAC,kBAAkB,EAAE,CA6D/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAU,MAAM;IACvD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CA6CrD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CAKtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAO,iBAAwC,KAC9C,OAAO,CAAC,MAAM,CAEhB,CAAC"}
|