@12ui/design 0.2.14 → 0.2.15
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/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 +2 -0
- package/dist/branch-execution.d.ts.map +1 -1
- package/dist/branch-execution.js +157 -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 +93 -5
- package/dist/branch-page-conversion.d.ts.map +1 -1
- package/dist/branch-page-conversion.js +356 -180
- 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 +11 -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 +25 -2
- package/dist/cli-capabilities.d.ts.map +1 -1
- package/dist/cli-capabilities.js +24 -1
- package/dist/cli-capabilities.js.map +1 -1
- package/dist/cli-package-command.d.ts +11 -0
- package/dist/cli-package-command.d.ts.map +1 -1
- package/dist/cli-package-command.js +24 -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.js +17 -7
- package/dist/cli.js.map +1 -1
- package/dist/conversion-receipt.d.ts +127 -0
- package/dist/conversion-receipt.d.ts.map +1 -0
- package/dist/conversion-receipt.js +184 -0
- package/dist/conversion-receipt.js.map +1 -0
- 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 +25 -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 +31 -0
- package/dist/package-submission.d.ts.map +1 -1
- package/dist/package-submission.js +30 -7
- package/dist/package-submission.js.map +1 -1
- package/package.json +1 -1
- package/skills/design/SKILL.md +4 -1
- package/skills/design-branch/SKILL.md +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-materialize.js","sourceRoot":"","sources":["../src/branch-materialize.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"branch-materialize.js","sourceRoot":"","sources":["../src/branch-materialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ConversionModel } from './conversion-models.js';
|
|
2
2
|
import type { ResponsiveConversionQuality } from './responsive-quality.js';
|
|
3
|
-
import type
|
|
4
|
-
import type { BranchNormalizedPlan } from './branch-plan.js';
|
|
3
|
+
import { type BranchDownloadedScreen } from './branch-downloads.js';
|
|
4
|
+
import type { BranchNormalizedPlan, BranchPlannedPage } from './branch-plan.js';
|
|
5
5
|
import type { BranchCompletionPage } from './branch-run-record.js';
|
|
6
|
+
import { type ConversionReceipt } from './conversion-receipt.js';
|
|
6
7
|
import type { TwelveUiConversionPackageClient } from './package-client.js';
|
|
7
8
|
import { type PackageProgressEvent } from './package-submission.js';
|
|
8
9
|
/**
|
|
@@ -11,9 +12,17 @@ import { type PackageProgressEvent } from './package-submission.js';
|
|
|
11
12
|
* server never generates it — so the package is what makes the winner and its
|
|
12
13
|
* continuations one document instead of a pile of separately converted images.
|
|
13
14
|
*
|
|
15
|
+
* Pages are independent work and run in parallel, bounded: one page per package
|
|
16
|
+
* (a page's viewports already fan out inside the package, and fusing pages into
|
|
17
|
+
* one submission would put every page's assets in one Durable Object's memory),
|
|
18
|
+
* with at most `concurrency` packages in flight so the account's admission slots
|
|
19
|
+
* are spent converting rather than queueing.
|
|
20
|
+
*
|
|
14
21
|
* A page with a hole in it is parked, not converted: stitching an incomplete
|
|
15
22
|
* page would silently ship a page that is missing a section. Its siblings still
|
|
16
|
-
* convert, because one failed screen must not cost the pages that are whole
|
|
23
|
+
* convert, because one failed screen must not cost the pages that are whole —
|
|
24
|
+
* and for the same reason no page's failure, of any kind, is allowed to abort
|
|
25
|
+
* or orphan a sibling that is already paid for and in flight.
|
|
17
26
|
*/
|
|
18
27
|
export type BranchConversionSettings = {
|
|
19
28
|
output: 'html';
|
|
@@ -23,17 +32,96 @@ export type BranchConversionSettings = {
|
|
|
23
32
|
sourceConversionId?: string;
|
|
24
33
|
};
|
|
25
34
|
export declare const WINNER_VIEWPORT_ID = "winner";
|
|
35
|
+
export declare const DEFAULT_PACKAGE_MODEL = "standard";
|
|
26
36
|
type PageConversion = NonNullable<BranchCompletionPage['conversion']>;
|
|
27
|
-
|
|
37
|
+
/** The winner's own child conversion, once the package has proved it. */
|
|
38
|
+
export type BranchWinnerConversion = {
|
|
39
|
+
sha256: string;
|
|
40
|
+
conversionId: string;
|
|
41
|
+
model: string;
|
|
42
|
+
/**
|
|
43
|
+
* The package's own expiry, which the child cannot outlive backwards: a
|
|
44
|
+
* viewport child is admitted during the drive with the same artifact TTL, so
|
|
45
|
+
* it expires at or after the package that bought it. Reporting the package's
|
|
46
|
+
* is the conservative fact, and a receipt without one would be a claim whose
|
|
47
|
+
* liveness nothing proves.
|
|
48
|
+
*/
|
|
49
|
+
expiresAt: string;
|
|
50
|
+
};
|
|
51
|
+
/** One reuse claim the server refused, and the reason it gave. */
|
|
52
|
+
export type BranchReuseDisproof = {
|
|
53
|
+
viewportId: string;
|
|
54
|
+
conversionId: string;
|
|
55
|
+
detail: string;
|
|
56
|
+
};
|
|
57
|
+
export type BranchPageConversionArgs = {
|
|
28
58
|
client: TwelveUiConversionPackageClient;
|
|
29
59
|
plan: BranchNormalizedPlan;
|
|
60
|
+
page: BranchPlannedPage;
|
|
61
|
+
screens: ReadonlyMap<string, BranchDownloadedScreen>;
|
|
62
|
+
winner?: BranchDownloadedScreen;
|
|
63
|
+
settings: BranchConversionSettings;
|
|
64
|
+
pagesDirectory: string;
|
|
65
|
+
timeoutMs?: number;
|
|
66
|
+
/** Proved conversions of the approved design, from earlier runs. */
|
|
67
|
+
winnerReceipts?: readonly ConversionReceipt[];
|
|
68
|
+
onProgress?: (event: PackageProgressEvent) => void;
|
|
69
|
+
onWinnerConversion?: (conversion: BranchWinnerConversion) => void;
|
|
70
|
+
/** A reuse the server refused, so the proof it came from can be withdrawn. */
|
|
71
|
+
onReuseDisproven?: (disproof: BranchReuseDisproof) => void;
|
|
72
|
+
signal?: AbortSignal;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* The reuse claim, gated on proof rather than on intent.
|
|
76
|
+
*
|
|
77
|
+
* A normalized winner is no longer the bytes any earlier conversion was
|
|
78
|
+
* admitted with, so a declared `--source-conversion-id` would assert a digest
|
|
79
|
+
* the server will disprove and turn a convertible page into a failed one. A
|
|
80
|
+
* receipt is keyed on the bytes actually submitted, so it survives
|
|
81
|
+
* normalization — the same approved design reconciled to the same server canvas
|
|
82
|
+
* produces the same bytes — and it is only honoured on an exact digest match.
|
|
83
|
+
*/
|
|
84
|
+
export declare const winnerReuseConversionId: (args: {
|
|
85
|
+
settings: BranchConversionSettings;
|
|
86
|
+
submittedSha256: string;
|
|
87
|
+
normalized: boolean;
|
|
88
|
+
receipts: readonly ConversionReceipt[];
|
|
89
|
+
runId: string;
|
|
90
|
+
model: string;
|
|
91
|
+
}) => string | undefined;
|
|
92
|
+
export declare const convertBranchPage: (args: BranchPageConversionArgs) => Promise<PageConversion>;
|
|
93
|
+
/** What a page needs before it can be submitted, resolved when its slot opens. */
|
|
94
|
+
export type BranchPageInputs = {
|
|
30
95
|
screens: ReadonlyMap<string, BranchDownloadedScreen>;
|
|
31
96
|
winner?: BranchDownloadedScreen;
|
|
97
|
+
};
|
|
98
|
+
export type BranchPageConversionPool = {
|
|
99
|
+
/** Enqueue a page. A page already enqueued is never submitted twice. */
|
|
100
|
+
start: (plan: BranchNormalizedPlan, page: BranchPlannedPage) => void;
|
|
101
|
+
/** Resolves once every enqueued page has settled, one way or the other. */
|
|
102
|
+
settled: () => Promise<Map<string, PageConversion>>;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* The one owner of "which pages are converting, and how many at once".
|
|
106
|
+
*
|
|
107
|
+
* Pages are handed in as they become eligible rather than all at the end, so a
|
|
108
|
+
* page whose screens landed in the first wave is already converting while the
|
|
109
|
+
* rest of the run is still generating. `prepare` runs inside the page's own
|
|
110
|
+
* slot, which is what keeps a delivery for a page that has not started from
|
|
111
|
+
* competing with the packages that are already paid for.
|
|
112
|
+
*/
|
|
113
|
+
export declare const createBranchPageConversions: (args: {
|
|
114
|
+
client: TwelveUiConversionPackageClient;
|
|
32
115
|
settings: BranchConversionSettings;
|
|
33
116
|
pagesDirectory: string;
|
|
117
|
+
prepare: (page: BranchPlannedPage, plan: BranchNormalizedPlan) => Promise<BranchPageInputs>;
|
|
118
|
+
concurrency?: number;
|
|
34
119
|
timeoutMs?: number;
|
|
120
|
+
winnerReceipts?: readonly ConversionReceipt[];
|
|
35
121
|
onProgress?: (pageId: string, event: PackageProgressEvent) => void;
|
|
122
|
+
onWinnerConversion?: (conversion: BranchWinnerConversion) => void;
|
|
123
|
+
onReuseDisproven?: (disproof: BranchReuseDisproof) => void;
|
|
36
124
|
signal?: AbortSignal;
|
|
37
|
-
}) =>
|
|
125
|
+
}) => BranchPageConversionPool;
|
|
38
126
|
export {};
|
|
39
127
|
//# sourceMappingURL=branch-page-conversion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-page-conversion.d.ts","sourceRoot":"","sources":["../src/branch-page-conversion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"branch-page-conversion.d.ts","sourceRoot":"","sources":["../src/branch-page-conversion.ts"],"names":[],"mappings":"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"}
|