@12ui/design 0.2.25 → 0.2.27
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/SKILL.md +1 -1
- package/dist/branch-client.d.ts +7 -0
- package/dist/branch-client.d.ts.map +1 -1
- package/dist/branch-client.js +1 -0
- package/dist/branch-client.js.map +1 -1
- package/dist/branch-completion.d.ts +8 -0
- package/dist/branch-completion.d.ts.map +1 -1
- package/dist/branch-completion.js +48 -3
- package/dist/branch-completion.js.map +1 -1
- package/dist/branch-execution.d.ts +8 -0
- package/dist/branch-execution.d.ts.map +1 -1
- package/dist/branch-execution.js +37 -6
- package/dist/branch-execution.js.map +1 -1
- package/dist/branch-page-conversion.d.ts +5 -0
- package/dist/branch-page-conversion.d.ts.map +1 -1
- package/dist/branch-page-conversion.js +24 -13
- package/dist/branch-page-conversion.js.map +1 -1
- package/dist/branch-plan.d.ts +38 -0
- package/dist/branch-plan.d.ts.map +1 -1
- package/dist/branch-plan.js +83 -17
- package/dist/branch-plan.js.map +1 -1
- package/dist/branch-progress.d.ts.map +1 -1
- package/dist/branch-progress.js +13 -0
- package/dist/branch-progress.js.map +1 -1
- package/dist/branch-run-record.d.ts +27 -1
- package/dist/branch-run-record.d.ts.map +1 -1
- package/dist/branch-run-record.js.map +1 -1
- package/dist/cli-usage.js +1 -1
- package/dist/conversion-client.d.ts.map +1 -1
- package/dist/conversion-client.js +23 -3
- package/dist/conversion-client.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/operation-poll-policy.d.ts +89 -0
- package/dist/operation-poll-policy.d.ts.map +1 -0
- package/dist/operation-poll-policy.js +99 -0
- package/dist/operation-poll-policy.js.map +1 -0
- package/dist/package-client.d.ts.map +1 -1
- package/dist/package-client.js +48 -9
- package/dist/package-client.js.map +1 -1
- package/dist/package-submission.d.ts.map +1 -1
- package/dist/package-submission.js +30 -2
- package/dist/package-submission.js.map +1 -1
- package/dist/responsive-quality.d.ts +65 -14
- package/dist/responsive-quality.d.ts.map +1 -1
- package/dist/responsive-quality.js +58 -50
- package/dist/responsive-quality.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { LAYERDOC_V2_MEDIA_TYPE, MAX_LAYERDOC_INPUT_BYTES, TwelveUiConversionCli
|
|
|
3
3
|
export { CONVERSION_FIXED_EXPORT_OUTPUTS, CONVERSION_OUTPUT_EXTENSIONS, CONVERSION_OUTPUT_FILENAME_SUFFIXES, CONVERSION_OUTPUT_FORMATS, CONVERSION_OUTPUT_MEDIA_TYPES, CONVERSION_OUTPUTS, LAYERDOC_INPUT_OUTPUTS, isConversionOutput, isLayerDocInputOutput, type ConversionFixedExportOutput, type ConversionOutputFormat, type LayerDocInputOutput, } from './conversion-outputs.js';
|
|
4
4
|
export { APP_PROJECT_CAPABILITIES, APP_PROJECT_FRAMEWORKS, APP_PROJECT_LANGUAGES, APP_PROJECT_PACKAGINGS, APP_PROJECT_STYLINGS, CONVERSION_PROJECT_OUTPUTS, PROJECT_PROFILE_REQUIRED_FIELDS, PROJECT_PROFILE_SCHEMA, WEB_PROJECT_CAPABILITIES, WEB_PROJECT_FRAMEWORKS, WEB_PROJECT_LANGUAGES, WEB_PROJECT_PACKAGINGS, WEB_PROJECT_STYLINGS, canonicalConversionOutputProfileJson, isProjectConversionOutput, parseConversionOutputProfile, type AppProjectFramework, type AppProjectLanguage, type AppProjectPackaging, type AppProjectProfileV1, type AppProjectStyling, type ConversionOutputProfile, type ConversionProjectOutput, type WebProjectFramework, type WebProjectLanguage, type WebProjectPackaging, type WebProjectProfileV1, type WebProjectStyling, } from './project-profiles.js';
|
|
5
5
|
export { CONVERSION_PROBLEM_CODES, type ConversionProblemCode, } from './conversion-problems.js';
|
|
6
|
-
export { RESPONSIVE_CONVERSION_QUALITIES, PERSISTED_RESPONSIVE_CONVERSION_QUALITIES,
|
|
6
|
+
export { RESPONSIVE_CONVERSION_QUALITIES, PERSISTED_RESPONSIVE_CONVERSION_QUALITIES, RESPONSIVE_CONVERSION_ANCHOR_IDS, RESPONSIVE_CONVERSION_ANCHOR_GENERATORS, RESPONSIVE_CONVERSION_ANCHOR_GENERATOR_QUALITIES, RESPONSIVE_CONVERSION_ANCHOR_IMAGE_SIZES, isResponsiveConversionQuality, isPersistedResponsiveConversionQuality, parseResponsiveConversionPlan, type ResponsiveConversionAnchor, type ResponsiveConversionAnchorId, type ResponsiveConversionPlan, type ResponsiveConversionQuality, type PersistedResponsiveConversionQuality, } from './responsive-quality.js';
|
|
7
7
|
export { materializeConversionArtifacts, type MaterializedArtifact, type MaterializedArtifactManifest, } from './artifact-materializer.js';
|
|
8
8
|
export { normalizeConversionOrigin, readConversionConfig, type ConversionConfig } from './config.js';
|
|
9
9
|
export { DEFAULT_TWELVE_UI_DEVICE_SCOPES, DEFAULT_TWELVE_UI_LOGIN_ORIGIN, TWELVE_UI_DEVICE_SCOPES, authenticateTwelveUiDevice, normalizeLoginOrigin, revokeTwelveUiCredential, verifyTwelveUiCredential, type TwelveUiDeviceCredential, type TwelveUiDeviceScope, type VerifiedTwelveUiCredential, } from './login-auth.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,yCAAyC,EACzC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { LAYERDOC_V2_MEDIA_TYPE, MAX_LAYERDOC_INPUT_BYTES, TwelveUiConversionCli
|
|
|
3
3
|
export { CONVERSION_FIXED_EXPORT_OUTPUTS, CONVERSION_OUTPUT_EXTENSIONS, CONVERSION_OUTPUT_FILENAME_SUFFIXES, CONVERSION_OUTPUT_FORMATS, CONVERSION_OUTPUT_MEDIA_TYPES, CONVERSION_OUTPUTS, LAYERDOC_INPUT_OUTPUTS, isConversionOutput, isLayerDocInputOutput, } from './conversion-outputs.js';
|
|
4
4
|
export { APP_PROJECT_CAPABILITIES, APP_PROJECT_FRAMEWORKS, APP_PROJECT_LANGUAGES, APP_PROJECT_PACKAGINGS, APP_PROJECT_STYLINGS, CONVERSION_PROJECT_OUTPUTS, PROJECT_PROFILE_REQUIRED_FIELDS, PROJECT_PROFILE_SCHEMA, WEB_PROJECT_CAPABILITIES, WEB_PROJECT_FRAMEWORKS, WEB_PROJECT_LANGUAGES, WEB_PROJECT_PACKAGINGS, WEB_PROJECT_STYLINGS, canonicalConversionOutputProfileJson, isProjectConversionOutput, parseConversionOutputProfile, } from './project-profiles.js';
|
|
5
5
|
export { CONVERSION_PROBLEM_CODES, } from './conversion-problems.js';
|
|
6
|
-
export { RESPONSIVE_CONVERSION_QUALITIES, PERSISTED_RESPONSIVE_CONVERSION_QUALITIES,
|
|
6
|
+
export { RESPONSIVE_CONVERSION_QUALITIES, PERSISTED_RESPONSIVE_CONVERSION_QUALITIES, RESPONSIVE_CONVERSION_ANCHOR_IDS, RESPONSIVE_CONVERSION_ANCHOR_GENERATORS, RESPONSIVE_CONVERSION_ANCHOR_GENERATOR_QUALITIES, RESPONSIVE_CONVERSION_ANCHOR_IMAGE_SIZES, isResponsiveConversionQuality, isPersistedResponsiveConversionQuality, parseResponsiveConversionPlan, } from './responsive-quality.js';
|
|
7
7
|
export { materializeConversionArtifacts, } from './artifact-materializer.js';
|
|
8
8
|
export { normalizeConversionOrigin, readConversionConfig } from './config.js';
|
|
9
9
|
export { DEFAULT_TWELVE_UI_DEVICE_SCOPES, DEFAULT_TWELVE_UI_LOGIN_ORIGIN, TWELVE_UI_DEVICE_SCOPES, authenticateTwelveUiDevice, normalizeLoginOrigin, revokeTwelveUiCredential, verifyTwelveUiCredential, } from './login-auth.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GAmBzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAItB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,GAa7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,yCAAyC,EACzC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GAmBzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAItB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,GAa7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,yCAAyC,EACzC,gCAAgC,EAChC,uCAAuC,EACvC,gDAAgD,EAChD,wCAAwC,EACxC,6BAA6B,EAC7B,sCAAsC,EACtC,6BAA6B,GAM9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,GAG/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAyB,MAAM,aAAa,CAAC;AACrG,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GAIzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,6BAA6B,EAC7B,+BAA+B,GAQhC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GASnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,cAAc,GAKf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,GAKxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D;;;GAGG;AACH,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,GAMf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,iBAAiB,EACjB,gCAAgC,EAChC,oBAAoB,GAkBrB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One policy for what a FAILED poll of an already-created operation means.
|
|
3
|
+
*
|
|
4
|
+
* The operation lives on the server. A poll is a read of it, and a read that
|
|
5
|
+
* goes wrong is evidence about the read, not about the paid run behind it —
|
|
6
|
+
* measured 2026-08-17, a running pro conversion answered five consecutive
|
|
7
|
+
* polls with `503 service_unavailable`, `retryable: false`, and then
|
|
8
|
+
* succeeded. A client that trusted that flag threw away work it had paid for
|
|
9
|
+
* and that had finished.
|
|
10
|
+
*
|
|
11
|
+
* So a poll failure is transient unless the answer proves the operation is not
|
|
12
|
+
* there to read (404) or not ours to read (401/403). Transience is bounded:
|
|
13
|
+
* a streak of failures buys a bounded number of retries over a bounded window,
|
|
14
|
+
* and the last failure is what the caller finally sees.
|
|
15
|
+
*
|
|
16
|
+
* Everything here is pure. Both wait loops — `conversion-client.ts`
|
|
17
|
+
* `waitForOperation` and `package-client.ts` `waitForPackage` — decide with
|
|
18
|
+
* this module and nothing else, so the two never drift apart.
|
|
19
|
+
*/
|
|
20
|
+
export type PollFailureKind = 'transient' | 'terminal' | 'aborted';
|
|
21
|
+
/** A streak of failed polls since the last successful read. */
|
|
22
|
+
export type PollFailureBudget = {
|
|
23
|
+
readonly consecutive: number;
|
|
24
|
+
/** When the current streak started; null when there is no streak. */
|
|
25
|
+
readonly firstAt: number | null;
|
|
26
|
+
};
|
|
27
|
+
/** What the caller learned about one failed poll. */
|
|
28
|
+
export type PollFailureFacts = {
|
|
29
|
+
/** HTTP status the poll was answered with; null or absent when it never
|
|
30
|
+
* reached one (transport failure, or a body that would not parse). */
|
|
31
|
+
status?: number | null;
|
|
32
|
+
/** The problem body's `retryable` flag, when the body carried one. */
|
|
33
|
+
retryable?: boolean;
|
|
34
|
+
/** What the response asked the caller to wait, in milliseconds. */
|
|
35
|
+
retryAfterMs?: number | null;
|
|
36
|
+
/** The wait's own signal aborted: a caller cancel, or the wait's timeout. */
|
|
37
|
+
aborted: boolean;
|
|
38
|
+
};
|
|
39
|
+
export type PollFailureVerdict =
|
|
40
|
+
/** Wait `delayMs` and read again, carrying `budget` into the next failure. */
|
|
41
|
+
{
|
|
42
|
+
kind: 'retry';
|
|
43
|
+
delayMs: number;
|
|
44
|
+
budget: PollFailureBudget;
|
|
45
|
+
}
|
|
46
|
+
/** The answer settles the operation. Throw the failure unchanged. */
|
|
47
|
+
| {
|
|
48
|
+
kind: 'terminal';
|
|
49
|
+
}
|
|
50
|
+
/** Transient, but the tolerance is spent. Throw the failure annotated. */
|
|
51
|
+
| {
|
|
52
|
+
kind: 'exhausted';
|
|
53
|
+
reason: string;
|
|
54
|
+
}
|
|
55
|
+
/** The caller stopped waiting. Throw the abort reason unchanged. */
|
|
56
|
+
| {
|
|
57
|
+
kind: 'aborted';
|
|
58
|
+
};
|
|
59
|
+
/** Failed polls tolerated in one streak. With the default two-second interval
|
|
60
|
+
* the exponential backoff below spends this over roughly four minutes, which
|
|
61
|
+
* is longer than any read outage measured against a healthy operation and far
|
|
62
|
+
* short of a conversion's own budget. */
|
|
63
|
+
export declare const POLL_TRANSIENT_MAX_CONSECUTIVE = 12;
|
|
64
|
+
/** A streak that has run this long is an outage, not a blip, whatever the
|
|
65
|
+
* caller's poll interval made of the count. */
|
|
66
|
+
export declare const POLL_TRANSIENT_MAX_WINDOW_MS: number;
|
|
67
|
+
/** Backoff ceiling. A longer gap only delays noticing that the operation
|
|
68
|
+
* finished. */
|
|
69
|
+
export declare const POLL_TRANSIENT_MAX_DELAY_MS = 30000;
|
|
70
|
+
export declare const NO_POLL_FAILURES: PollFailureBudget;
|
|
71
|
+
export declare const classifyPollFailure: (error: unknown, facts: PollFailureFacts) => PollFailureKind;
|
|
72
|
+
export declare const nextPollDelayMs: (budget: PollFailureBudget, args: {
|
|
73
|
+
intervalMs: number;
|
|
74
|
+
retryAfterMs?: number | null;
|
|
75
|
+
remainingMs: number;
|
|
76
|
+
}) => number;
|
|
77
|
+
export declare const decidePollFailure: (error: unknown, args: PollFailureFacts & {
|
|
78
|
+
budget: PollFailureBudget;
|
|
79
|
+
now: number;
|
|
80
|
+
intervalMs: number;
|
|
81
|
+
remainingMs: number;
|
|
82
|
+
}) => PollFailureVerdict;
|
|
83
|
+
/**
|
|
84
|
+
* The last failure, told to say how many polls preceded it. The failure itself
|
|
85
|
+
* is kept — its class, its status, its served detail — because everything that
|
|
86
|
+
* inspects the thrown error still needs to.
|
|
87
|
+
*/
|
|
88
|
+
export declare const annotatePollFailure: (error: unknown, reason: string) => unknown;
|
|
89
|
+
//# sourceMappingURL=operation-poll-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-poll-policy.d.ts","sourceRoot":"","sources":["../src/operation-poll-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAEnE,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;0EACsE;IACtE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB;AAC5B,8EAA8E;AAC5E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE;AAC/D,qEAAqE;GACnE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE;AACtB,0EAA0E;GACxE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACvC,oEAAoE;GAClE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB;;;yCAGyC;AACzC,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;+CAC+C;AAC/C,eAAO,MAAM,4BAA4B,QAAa,CAAC;AAEvD;eACe;AACf,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,eAAO,MAAM,gBAAgB,EAAE,iBAAqD,CAAC;AAUrF,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,EAAE,OAAO,gBAAgB,KAAG,eAU7E,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,iBAAiB,EACzB,MAAM;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,KAC9E,MAKF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,EACd,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,KACA,kBA4BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,EAAE,QAAQ,MAAM,KAAG,OAMpE,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One policy for what a FAILED poll of an already-created operation means.
|
|
3
|
+
*
|
|
4
|
+
* The operation lives on the server. A poll is a read of it, and a read that
|
|
5
|
+
* goes wrong is evidence about the read, not about the paid run behind it —
|
|
6
|
+
* measured 2026-08-17, a running pro conversion answered five consecutive
|
|
7
|
+
* polls with `503 service_unavailable`, `retryable: false`, and then
|
|
8
|
+
* succeeded. A client that trusted that flag threw away work it had paid for
|
|
9
|
+
* and that had finished.
|
|
10
|
+
*
|
|
11
|
+
* So a poll failure is transient unless the answer proves the operation is not
|
|
12
|
+
* there to read (404) or not ours to read (401/403). Transience is bounded:
|
|
13
|
+
* a streak of failures buys a bounded number of retries over a bounded window,
|
|
14
|
+
* and the last failure is what the caller finally sees.
|
|
15
|
+
*
|
|
16
|
+
* Everything here is pure. Both wait loops — `conversion-client.ts`
|
|
17
|
+
* `waitForOperation` and `package-client.ts` `waitForPackage` — decide with
|
|
18
|
+
* this module and nothing else, so the two never drift apart.
|
|
19
|
+
*/
|
|
20
|
+
/** Failed polls tolerated in one streak. With the default two-second interval
|
|
21
|
+
* the exponential backoff below spends this over roughly four minutes, which
|
|
22
|
+
* is longer than any read outage measured against a healthy operation and far
|
|
23
|
+
* short of a conversion's own budget. */
|
|
24
|
+
export const POLL_TRANSIENT_MAX_CONSECUTIVE = 12;
|
|
25
|
+
/** A streak that has run this long is an outage, not a blip, whatever the
|
|
26
|
+
* caller's poll interval made of the count. */
|
|
27
|
+
export const POLL_TRANSIENT_MAX_WINDOW_MS = 5 * 60_000;
|
|
28
|
+
/** Backoff ceiling. A longer gap only delays noticing that the operation
|
|
29
|
+
* finished. */
|
|
30
|
+
export const POLL_TRANSIENT_MAX_DELAY_MS = 30_000;
|
|
31
|
+
export const NO_POLL_FAILURES = { consecutive: 0, firstAt: null };
|
|
32
|
+
/** Statuses below 500 that still describe the read rather than the operation:
|
|
33
|
+
* a timed-out request and an admission limit. */
|
|
34
|
+
const TRANSIENT_CLIENT_STATUSES = new Set([408, 429]);
|
|
35
|
+
const isAbortError = (error) => (error instanceof Error && (error.name === 'AbortError' || error.name === 'TimeoutError'));
|
|
36
|
+
export const classifyPollFailure = (error, facts) => {
|
|
37
|
+
if (facts.aborted || isAbortError(error))
|
|
38
|
+
return 'aborted';
|
|
39
|
+
const status = facts.status ?? null;
|
|
40
|
+
if (status === null)
|
|
41
|
+
return 'transient';
|
|
42
|
+
// A 5xx on a read of a KNOWN operation id is the service failing to answer,
|
|
43
|
+
// so its `retryable` flag describes that answer and not the run.
|
|
44
|
+
if (status >= 500 || TRANSIENT_CLIENT_STATUSES.has(status))
|
|
45
|
+
return 'transient';
|
|
46
|
+
// A 4xx is the service saying this id is not there or not ours — unless it
|
|
47
|
+
// explicitly says otherwise, which stays honoured.
|
|
48
|
+
return facts.retryable === true ? 'transient' : 'terminal';
|
|
49
|
+
};
|
|
50
|
+
export const nextPollDelayMs = (budget, args) => {
|
|
51
|
+
const exponent = Math.max(0, Math.min(16, budget.consecutive - 1));
|
|
52
|
+
const backoff = Math.max(0, args.intervalMs) * 2 ** exponent;
|
|
53
|
+
const asked = Math.max(backoff, args.retryAfterMs ?? 0);
|
|
54
|
+
return Math.max(0, Math.min(POLL_TRANSIENT_MAX_DELAY_MS, asked, Math.max(0, args.remainingMs)));
|
|
55
|
+
};
|
|
56
|
+
export const decidePollFailure = (error, args) => {
|
|
57
|
+
const kind = classifyPollFailure(error, args);
|
|
58
|
+
if (kind === 'aborted')
|
|
59
|
+
return { kind: 'aborted' };
|
|
60
|
+
if (kind === 'terminal')
|
|
61
|
+
return { kind: 'terminal' };
|
|
62
|
+
const firstAt = args.budget.firstAt ?? args.now;
|
|
63
|
+
const streak = { consecutive: args.budget.consecutive + 1, firstAt };
|
|
64
|
+
if (streak.consecutive >= POLL_TRANSIENT_MAX_CONSECUTIVE) {
|
|
65
|
+
return {
|
|
66
|
+
kind: 'exhausted',
|
|
67
|
+
reason: `gave up after ${streak.consecutive} consecutive failed polls`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const spanMs = Math.max(0, args.now - firstAt);
|
|
71
|
+
if (spanMs >= POLL_TRANSIENT_MAX_WINDOW_MS) {
|
|
72
|
+
return {
|
|
73
|
+
kind: 'exhausted',
|
|
74
|
+
reason: `gave up after ${streak.consecutive} consecutive failed polls over ${Math.round(spanMs / 1000)}s`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
kind: 'retry',
|
|
79
|
+
delayMs: nextPollDelayMs(streak, {
|
|
80
|
+
intervalMs: args.intervalMs,
|
|
81
|
+
retryAfterMs: args.retryAfterMs ?? null,
|
|
82
|
+
remainingMs: args.remainingMs,
|
|
83
|
+
}),
|
|
84
|
+
budget: streak,
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* The last failure, told to say how many polls preceded it. The failure itself
|
|
89
|
+
* is kept — its class, its status, its served detail — because everything that
|
|
90
|
+
* inspects the thrown error still needs to.
|
|
91
|
+
*/
|
|
92
|
+
export const annotatePollFailure = (error, reason) => {
|
|
93
|
+
if (error instanceof Error) {
|
|
94
|
+
error.message = error.message ? `${error.message} (${reason})` : reason;
|
|
95
|
+
return error;
|
|
96
|
+
}
|
|
97
|
+
return new Error(`${String(error)} (${reason})`, { cause: error });
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=operation-poll-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-poll-policy.js","sourceRoot":"","sources":["../src/operation-poll-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-client.d.ts","sourceRoot":"","sources":["../src/package-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"package-client.d.ts","sourceRoot":"","sources":["../src/package-client.ts"],"names":[],"mappings":"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"}
|
package/dist/package-client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import crypto from 'node:crypto';
|
|
2
2
|
import { declareClientVersion } from './client-version.js';
|
|
3
3
|
import { normalizeConversionOrigin } from './config.js';
|
|
4
|
+
import { NO_POLL_FAILURES, annotatePollFailure, decidePollFailure, } from './operation-poll-policy.js';
|
|
4
5
|
export const CONVERSION_PACKAGE_MEDIA_TYPE = 'application/vnd.12ui.package+json;version=1';
|
|
5
6
|
export const CONVERSION_PACKAGE_SITE_MEDIA_TYPE = 'application/zip';
|
|
6
7
|
const asBuffer = (bytes) => bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
|
|
@@ -41,13 +42,23 @@ const problemFor = async (response) => {
|
|
|
41
42
|
const payload = await response.json().catch(() => null);
|
|
42
43
|
return new ConversionPackageRequestError(payload?.detail || payload?.title || `${response.status} ${response.statusText}`, response.status, payload ?? {});
|
|
43
44
|
};
|
|
44
|
-
const delay = async (milliseconds, signal) =>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
const delay = async (milliseconds, signal) => {
|
|
46
|
+
if (signal?.aborted)
|
|
47
|
+
throw signal.reason ?? new Error('Package wait aborted');
|
|
48
|
+
// A wait now sleeps once per poll AND once per retried failure, so the abort
|
|
49
|
+
// listener has to come off again when the sleep simply ends.
|
|
50
|
+
await new Promise((resolve, reject) => {
|
|
51
|
+
const onAbort = () => {
|
|
52
|
+
clearTimeout(timer);
|
|
53
|
+
reject(signal?.reason ?? new Error('Package wait aborted'));
|
|
54
|
+
};
|
|
55
|
+
const timer = setTimeout(() => {
|
|
56
|
+
signal?.removeEventListener('abort', onAbort);
|
|
57
|
+
resolve();
|
|
58
|
+
}, milliseconds);
|
|
59
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
60
|
+
});
|
|
61
|
+
};
|
|
51
62
|
export class TwelveUiConversionPackageClient {
|
|
52
63
|
origin;
|
|
53
64
|
apiKey;
|
|
@@ -92,16 +103,44 @@ export class TwelveUiConversionPackageClient {
|
|
|
92
103
|
return parseOperation(await response.json());
|
|
93
104
|
}
|
|
94
105
|
async waitForPackage(id, options = {}) {
|
|
106
|
+
const intervalMs = Math.max(250, options.intervalMs ?? 2_000);
|
|
95
107
|
const timeoutMs = Math.max(1_000, options.timeoutMs ?? 30 * 60_000);
|
|
96
108
|
const deadline = Date.now() + timeoutMs;
|
|
109
|
+
let failures = NO_POLL_FAILURES;
|
|
97
110
|
while (Date.now() < deadline) {
|
|
98
|
-
|
|
111
|
+
let operation;
|
|
112
|
+
try {
|
|
113
|
+
operation = await this.getPackage(id, options.signal);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
// Same policy as a conversion wait, for the same reason: the package is
|
|
117
|
+
// running on the server, and a read that failed is evidence about the
|
|
118
|
+
// read. `operation-poll-policy.ts` owns which failures end a wait.
|
|
119
|
+
const requestError = error instanceof ConversionPackageRequestError ? error : null;
|
|
120
|
+
const verdict = decidePollFailure(error, {
|
|
121
|
+
status: requestError?.status ?? null,
|
|
122
|
+
retryable: requestError?.problem.retryable,
|
|
123
|
+
aborted: options.signal?.aborted === true,
|
|
124
|
+
budget: failures,
|
|
125
|
+
now: Date.now(),
|
|
126
|
+
intervalMs,
|
|
127
|
+
remainingMs: Math.max(0, deadline - Date.now()),
|
|
128
|
+
});
|
|
129
|
+
if (verdict.kind === 'exhausted')
|
|
130
|
+
throw annotatePollFailure(error, verdict.reason);
|
|
131
|
+
if (verdict.kind !== 'retry')
|
|
132
|
+
throw error;
|
|
133
|
+
failures = verdict.budget;
|
|
134
|
+
await delay(verdict.delayMs, options.signal);
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
failures = NO_POLL_FAILURES;
|
|
99
138
|
if (operation.status === 'succeeded')
|
|
100
139
|
return operation;
|
|
101
140
|
if (operation.status === 'failed' || operation.status === 'expired') {
|
|
102
141
|
throw new Error(operation.error?.detail || `Package ${operation.status}`);
|
|
103
142
|
}
|
|
104
|
-
await delay(
|
|
143
|
+
await delay(intervalMs, options.signal);
|
|
105
144
|
}
|
|
106
145
|
throw new Error(`Timed out waiting for package ${id}`);
|
|
107
146
|
}
|
|
@@ -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,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"package-client.js","sourceRoot":"","sources":["../src/package-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-submission.d.ts","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"package-submission.d.ts","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ import path from 'node:path';
|
|
|
4
4
|
import { isConversionModel } from './conversion-models.js';
|
|
5
5
|
import { CONVERSION_OUTPUT_EXTENSIONS, } from './conversion-outputs.js';
|
|
6
6
|
import { readImageDimensions } from './image-dimensions.js';
|
|
7
|
+
import { NO_POLL_FAILURES, annotatePollFailure, decidePollFailure, } from './operation-poll-policy.js';
|
|
8
|
+
import { ConversionPackageRequestError, } from './package-client.js';
|
|
7
9
|
/**
|
|
8
10
|
* One page, submitted as ONE package conversion of its ordered viewports.
|
|
9
11
|
*
|
|
@@ -123,14 +125,40 @@ export const submitConversionPackage = async (args) => {
|
|
|
123
125
|
args.onSubmitted?.(created.id);
|
|
124
126
|
const deadline = Date.now() + (args.timeoutMs ?? PACKAGE_TIMEOUT_MS);
|
|
125
127
|
let operation = created;
|
|
128
|
+
const pollIntervalMs = args.pollIntervalMs ?? PACKAGE_POLL_INTERVAL_MS;
|
|
129
|
+
let failures = NO_POLL_FAILURES;
|
|
126
130
|
while (operation.status === 'queued' || operation.status === 'running') {
|
|
127
131
|
if (Date.now() >= deadline) {
|
|
128
132
|
throw new Error(`Timed out waiting for package ${created.id}. It is still running server-side; read it`
|
|
129
133
|
+ ` back with GET /api/v1/convert/package/${created.id} rather than submitting again.`);
|
|
130
134
|
}
|
|
131
135
|
args.onProgress?.(packageProgressEvent(operation));
|
|
132
|
-
await sleep(
|
|
133
|
-
|
|
136
|
+
await sleep(pollIntervalMs, args.signal);
|
|
137
|
+
try {
|
|
138
|
+
operation = await args.client.getPackage(created.id, args.signal);
|
|
139
|
+
failures = NO_POLL_FAILURES;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
// The package is running server-side and every viewport under it is paid
|
|
143
|
+
// work; a read that failed is the read's problem. `operation-poll-policy.ts`
|
|
144
|
+
// owns which failures actually end a wait.
|
|
145
|
+
const requestError = error instanceof ConversionPackageRequestError ? error : null;
|
|
146
|
+
const verdict = decidePollFailure(error, {
|
|
147
|
+
status: requestError?.status ?? null,
|
|
148
|
+
retryable: requestError?.problem.retryable,
|
|
149
|
+
aborted: args.signal?.aborted === true,
|
|
150
|
+
budget: failures,
|
|
151
|
+
now: Date.now(),
|
|
152
|
+
intervalMs: pollIntervalMs,
|
|
153
|
+
remainingMs: Math.max(0, deadline - Date.now()),
|
|
154
|
+
});
|
|
155
|
+
if (verdict.kind === 'exhausted')
|
|
156
|
+
throw annotatePollFailure(error, verdict.reason);
|
|
157
|
+
if (verdict.kind !== 'retry')
|
|
158
|
+
throw error;
|
|
159
|
+
failures = verdict.budget;
|
|
160
|
+
await sleep(verdict.delayMs, args.signal);
|
|
161
|
+
}
|
|
134
162
|
}
|
|
135
163
|
args.onProgress?.({ stage: operation.status });
|
|
136
164
|
await mkdir(args.outDir, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-submission.js","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-submission.js","sourceRoot":"","sources":["../src/package-submission.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,25 +2,76 @@ export declare const RESPONSIVE_CONVERSION_QUALITIES: readonly ["standard", "pro
|
|
|
2
2
|
export type ResponsiveConversionQuality = typeof RESPONSIVE_CONVERSION_QUALITIES[number];
|
|
3
3
|
export declare const PERSISTED_RESPONSIVE_CONVERSION_QUALITIES: readonly ["standard", "enhanced", "pro"];
|
|
4
4
|
export type PersistedResponsiveConversionQuality = typeof PERSISTED_RESPONSIVE_CONVERSION_QUALITIES[number];
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The anchor vocabulary the published contract declares.
|
|
7
|
+
*
|
|
8
|
+
* These three lists are the closed sets in
|
|
9
|
+
* `packages/design-contract/src/conversion.ts` → `ResponsiveConversionAnchor`,
|
|
10
|
+
* mirrored here because this package publishes standalone and cannot depend on
|
|
11
|
+
* the contract workspace. `workers/api/test/conversionResponsivePlanContract.test.ts`
|
|
12
|
+
* asserts the mirror against every anchor the service can actually emit, so a
|
|
13
|
+
* new direction, generator, or image size fails a local test rather than a
|
|
14
|
+
* customer's install.
|
|
15
|
+
*/
|
|
16
|
+
export declare const RESPONSIVE_CONVERSION_ANCHOR_IDS: readonly ["mobile", "tablet", "compact-desktop"];
|
|
17
|
+
export type ResponsiveConversionAnchorId = typeof RESPONSIVE_CONVERSION_ANCHOR_IDS[number];
|
|
18
|
+
export declare const RESPONSIVE_CONVERSION_ANCHOR_GENERATORS: readonly ["gpt-image-2"];
|
|
19
|
+
export declare const RESPONSIVE_CONVERSION_ANCHOR_GENERATOR_QUALITIES: readonly ["low"];
|
|
20
|
+
export declare const RESPONSIVE_CONVERSION_ANCHOR_IMAGE_SIZES: readonly ["1024x3072", "1536x2048", "2048x1536"];
|
|
11
21
|
export declare const isResponsiveConversionQuality: (value: unknown) => value is ResponsiveConversionQuality;
|
|
12
22
|
export declare const isPersistedResponsiveConversionQuality: (value: unknown) => value is PersistedResponsiveConversionQuality;
|
|
23
|
+
export type ResponsiveConversionAnchor = {
|
|
24
|
+
id: ResponsiveConversionAnchorId;
|
|
25
|
+
viewport_width: number;
|
|
26
|
+
generator: typeof RESPONSIVE_CONVERSION_ANCHOR_GENERATORS[number];
|
|
27
|
+
generator_quality: typeof RESPONSIVE_CONVERSION_ANCHOR_GENERATOR_QUALITIES[number];
|
|
28
|
+
image_size: typeof RESPONSIVE_CONVERSION_ANCHOR_IMAGE_SIZES[number];
|
|
29
|
+
};
|
|
13
30
|
export type ResponsiveConversionPlan = {
|
|
14
|
-
|
|
31
|
+
/**
|
|
32
|
+
* The service's name for its own anchor derivation. OPAQUE to every client:
|
|
33
|
+
* the published contract types it as a plain string
|
|
34
|
+
* (`packages/design-contract/src/conversion.ts`), and this package reads it
|
|
35
|
+
* only to hand it back to the caller as evidence.
|
|
36
|
+
*
|
|
37
|
+
* Until 0.2.26 this was a union of six literals. See the note on
|
|
38
|
+
* `parseResponsiveConversionPlan` for what that cost.
|
|
39
|
+
*/
|
|
40
|
+
revision: string;
|
|
15
41
|
quality: PersistedResponsiveConversionQuality;
|
|
16
42
|
native_width: number;
|
|
17
|
-
anchors:
|
|
18
|
-
id: 'mobile' | 'tablet' | 'compact-desktop';
|
|
19
|
-
viewport_width: number;
|
|
20
|
-
generator: 'gpt-image-2';
|
|
21
|
-
generator_quality: 'low';
|
|
22
|
-
image_size: '1024x3072' | '1536x2048' | '2048x1536';
|
|
23
|
-
}>;
|
|
43
|
+
anchors: ResponsiveConversionAnchor[];
|
|
24
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Validate the SHAPE of a responsive plan, and only the shape.
|
|
47
|
+
*
|
|
48
|
+
* ## Why there is no revision list here
|
|
49
|
+
*
|
|
50
|
+
* A plan names which anchor directions a quality bought at a given native
|
|
51
|
+
* width — a *service pricing decision*. Until 0.2.26 this parser refused any
|
|
52
|
+
* `revision` outside a closed `v1…v6` list and, worse, recomputed the topology
|
|
53
|
+
* the service had chosen and asserted equality. That made every published
|
|
54
|
+
* client a reader that must know every derivation the service will ever use,
|
|
55
|
+
* by name.
|
|
56
|
+
*
|
|
57
|
+
* On 2026-08-15 the service shipped `responsive-anchor-plan-v7` (pipeline
|
|
58
|
+
* v175, `workers/api/src/conversion/responsiveAnchorPlan.ts`). From that deploy
|
|
59
|
+
* every API-key client refused the whole conversion operation with
|
|
60
|
+
* "Conversion operation has an invalid responsive plan" — including operations
|
|
61
|
+
* for responsive exports it had already paid for and that had already
|
|
62
|
+
* succeeded, so `--export html`, `convert --output html`, and `resume --output
|
|
63
|
+
* html` all failed and the delivered work could not even be collected. The
|
|
64
|
+
* payload had not changed shape: a Standard v6 plan and a Standard v7 plan for
|
|
65
|
+
* the same source are byte-identical apart from that one string.
|
|
66
|
+
*
|
|
67
|
+
* So: `revision` is opaque, anchor *topology* is not re-derived, and what is
|
|
68
|
+
* checked is what this package actually reads — the declared vocabulary of
|
|
69
|
+
* `packages/design-contract/src/conversion.ts`. A malformed plan still refuses.
|
|
70
|
+
*
|
|
71
|
+
* The fence against this returning is
|
|
72
|
+
* `workers/api/test/conversionResponsivePlanContract.test.ts`: it walks every
|
|
73
|
+
* plan the service can emit, current and every frozen compatibility
|
|
74
|
+
* derivation, through this function.
|
|
75
|
+
*/
|
|
25
76
|
export declare const parseResponsiveConversionPlan: (value: unknown) => ResponsiveConversionPlan;
|
|
26
77
|
//# sourceMappingURL=responsive-quality.d.ts.map
|