@12ui/design 0.2.92 → 0.2.93
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 +8 -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 +2 -0
- package/dist/branch-completion.d.ts.map +1 -1
- package/dist/branch-completion.js +1 -1
- package/dist/branch-completion.js.map +1 -1
- package/dist/branch-core/branch-planner.d.ts +25 -11
- package/dist/branch-core/branch-planner.d.ts.map +1 -1
- package/dist/branch-core/branch-planner.js +67 -25
- package/dist/branch-core/branch-planner.js.map +1 -1
- package/dist/branch-core/branch-scope.d.ts +73 -0
- package/dist/branch-core/branch-scope.d.ts.map +1 -0
- package/dist/branch-core/branch-scope.js +88 -0
- package/dist/branch-core/branch-scope.js.map +1 -0
- package/dist/branch-core/index.d.ts +2 -1
- package/dist/branch-core/index.d.ts.map +1 -1
- package/dist/branch-core/index.js +1 -0
- package/dist/branch-core/index.js.map +1 -1
- package/dist/branch-execution.d.ts +14 -1
- package/dist/branch-execution.d.ts.map +1 -1
- package/dist/branch-execution.js +56 -13
- package/dist/branch-execution.js.map +1 -1
- package/dist/branch-identity.d.ts +22 -1
- package/dist/branch-identity.d.ts.map +1 -1
- package/dist/branch-identity.js +23 -4
- package/dist/branch-identity.js.map +1 -1
- package/dist/branch-local-client.d.ts.map +1 -1
- package/dist/branch-local-client.js +2 -1
- package/dist/branch-local-client.js.map +1 -1
- package/dist/branch-local-plan.d.ts +3 -0
- package/dist/branch-local-plan.d.ts.map +1 -1
- package/dist/branch-local-plan.js +1 -0
- package/dist/branch-local-plan.js.map +1 -1
- package/dist/branch-page-conversion.js +1 -1
- package/dist/branch-page-conversion.js.map +1 -1
- package/dist/branch-page-rollover.js +2 -2
- package/dist/branch-page-rollover.js.map +1 -1
- package/dist/branch-plan.d.ts +9 -0
- package/dist/branch-plan.d.ts.map +1 -1
- package/dist/branch-plan.js +3 -0
- package/dist/branch-plan.js.map +1 -1
- package/dist/branch-run-outcome.d.ts +24 -0
- package/dist/branch-run-outcome.d.ts.map +1 -0
- package/dist/branch-run-outcome.js +31 -0
- package/dist/branch-run-outcome.js.map +1 -0
- package/dist/branch-run-record.d.ts +13 -0
- package/dist/branch-run-record.d.ts.map +1 -1
- package/dist/branch-run-record.js.map +1 -1
- package/dist/branch-run-supersede.d.ts +41 -0
- package/dist/branch-run-supersede.d.ts.map +1 -0
- package/dist/branch-run-supersede.js +64 -0
- package/dist/branch-run-supersede.js.map +1 -0
- 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.map +1 -1
- package/dist/cli-branch-command.js +13 -1
- package/dist/cli-branch-command.js.map +1 -1
- package/dist/cli-help/design.d.ts +2 -2
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +2 -1
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +2 -2
- package/dist/mcp-slate-ui-copy.d.ts +16 -6
- package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
- package/dist/mcp-slate-ui-copy.js +11 -4
- package/dist/mcp-slate-ui-copy.js.map +1 -1
- package/dist/mcp-slate-ui-locales/de-DE.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/de-DE.js +8 -3
- package/dist/mcp-slate-ui-locales/de-DE.js.map +1 -1
- package/dist/mcp-slate-ui-locales/es-419.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/es-419.js +8 -3
- package/dist/mcp-slate-ui-locales/es-419.js.map +1 -1
- package/dist/mcp-slate-ui-locales/es-ES.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/es-ES.js +8 -3
- package/dist/mcp-slate-ui-locales/es-ES.js.map +1 -1
- package/dist/mcp-slate-ui-locales/fr-FR.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/fr-FR.js +8 -3
- package/dist/mcp-slate-ui-locales/fr-FR.js.map +1 -1
- package/dist/mcp-slate-ui-locales/hi-IN.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/hi-IN.js +8 -3
- package/dist/mcp-slate-ui-locales/hi-IN.js.map +1 -1
- package/dist/mcp-slate-ui-locales/it-IT.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/it-IT.js +7 -2
- package/dist/mcp-slate-ui-locales/it-IT.js.map +1 -1
- package/dist/mcp-slate-ui-locales/ja-JP.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/ja-JP.js +7 -2
- package/dist/mcp-slate-ui-locales/ja-JP.js.map +1 -1
- package/dist/mcp-slate-ui-locales/ko-KR.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/ko-KR.js +8 -3
- package/dist/mcp-slate-ui-locales/ko-KR.js.map +1 -1
- package/dist/mcp-slate-ui-locales/pt-BR.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/pt-BR.js +8 -3
- package/dist/mcp-slate-ui-locales/pt-BR.js.map +1 -1
- package/dist/mcp-slate-ui-locales/zh-CN.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/zh-CN.js +8 -3
- package/dist/mcp-slate-ui-locales/zh-CN.js.map +1 -1
- package/dist/mcp-slate-ui-locales/zh-TW.d.ts.map +1 -1
- package/dist/mcp-slate-ui-locales/zh-TW.js +8 -3
- package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -1
- package/dist/mcp-slate-ui-script-designs.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-designs.js +25 -4
- package/dist/mcp-slate-ui-script-designs.js.map +1 -1
- package/dist/mcp-slate-ui-script-remote.js +2 -2
- package/dist/mcp-slate-ui-script-viewer.d.ts +4 -3
- package/dist/mcp-slate-ui-script-viewer.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-viewer.js +13 -4
- package/dist/mcp-slate-ui-script-viewer.js.map +1 -1
- package/dist/mcp-slate-ui-styles-designs.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-designs.js +7 -0
- package/dist/mcp-slate-ui-styles-designs.js.map +1 -1
- package/dist/slate-branch-runner.d.ts.map +1 -1
- package/dist/slate-branch-runner.js +19 -2
- package/dist/slate-branch-runner.js.map +1 -1
- package/dist/slate-retry.d.ts +2 -1
- package/dist/slate-retry.d.ts.map +1 -1
- package/dist/slate-retry.js +32 -0
- package/dist/slate-retry.js.map +1 -1
- package/dist/slate-run-action.js +9 -4
- package/dist/slate-run-action.js.map +1 -1
- package/dist/slate-view-contract.d.ts +9 -1
- package/dist/slate-view-contract.d.ts.map +1 -1
- package/dist/slate-view-contract.js +3 -1
- package/dist/slate-view-contract.js.map +1 -1
- package/dist/slate-view.d.ts.map +1 -1
- package/dist/slate-view.js +1 -0
- package/dist/slate-view.js.map +1 -1
- package/dist/slate-workspace-parse.d.ts.map +1 -1
- package/dist/slate-workspace-parse.js +4 -0
- package/dist/slate-workspace-parse.js.map +1 -1
- package/dist/slate-workspace-types.d.ts +8 -0
- package/dist/slate-workspace-types.d.ts.map +1 -1
- package/dist/workspace-draw-branch.d.ts +2 -1
- package/dist/workspace-draw-branch.d.ts.map +1 -1
- package/dist/workspace-draw-branch.js +14 -5
- package/dist/workspace-draw-branch.js.map +1 -1
- package/dist/workspace-draw-client.d.ts +1 -0
- package/dist/workspace-draw-client.d.ts.map +1 -1
- package/dist/workspace-draw-client.js +6 -3
- package/dist/workspace-draw-client.js.map +1 -1
- package/dist/workspace-draw-messages.d.ts +13 -0
- package/dist/workspace-draw-messages.d.ts.map +1 -1
- package/dist/workspace-draw-messages.js +17 -0
- package/dist/workspace-draw-messages.js.map +1 -1
- package/dist/workspace-draw-types.d.ts +1 -0
- package/dist/workspace-draw-types.d.ts.map +1 -1
- package/dist/workspace-draw-types.js +2 -0
- package/dist/workspace-draw-types.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE scope policy of a branch: what the person chose to grow from the
|
|
3
|
+
* approved screen, said to the planner and applied to its answer. One module
|
|
4
|
+
* owns both halves so the words the planner reads and the rule its answer is
|
|
5
|
+
* held to can never drift apart (CLAUDE.md item 9).
|
|
6
|
+
*
|
|
7
|
+
* - `site` (the default, and every caller that predates scope): the web
|
|
8
|
+
* /branch plan — the source page continued where it needs it, plus the
|
|
9
|
+
* further pages or routes the planner chooses.
|
|
10
|
+
* - `page`: the person chose to continue this same page below the approved
|
|
11
|
+
* screen. The planner is told so, told to plan no other pages, and told that
|
|
12
|
+
* a visible footer is the only reason to plan no continuation. Its answer is
|
|
13
|
+
* then read as that choice: the source page's own continuations answer it,
|
|
14
|
+
* screens filed under additional pages continue the source page when it has
|
|
15
|
+
* none of its own (the provider schema stays permissive, CLAUDE.md item 2),
|
|
16
|
+
* and zero continuations is a valid plan only when the planner itself
|
|
17
|
+
* declared that the approved screen already ends.
|
|
18
|
+
*
|
|
19
|
+
* Also here, for both scopes: the brief the planner quotes was written for the
|
|
20
|
+
* approved screen (the first-screen round), so a first-viewport limit in it
|
|
21
|
+
* describes that screen and never limits the branch.
|
|
22
|
+
*/
|
|
23
|
+
export declare const BRANCH_PLAN_SCOPES: readonly ["page", "site"];
|
|
24
|
+
export type BranchPlanScope = (typeof BRANCH_PLAN_SCOPES)[number];
|
|
25
|
+
export declare const isBranchPlanScope: (value: unknown) => value is BranchPlanScope;
|
|
26
|
+
/** Both scopes: the brief describes the approved screen, so its first-screen limits do not bound the branch. */
|
|
27
|
+
export declare const BRANCH_BRIEF_SCOPE_NOTE = "The original brief was written for the approved screen, the first screen of this design. Any limit it sets to the first viewport, one screen or a single view described that screen only and does not limit this branch.";
|
|
28
|
+
/** Page scope: the person's choice, said as the planner's task. */
|
|
29
|
+
export declare const PAGE_SCOPE_TASK = "The person chose to continue this same page below the approved screen. Plan its source continuations: the sections a visitor reaches next by scrolling down this page, each adding something the approved screen does not already say.";
|
|
30
|
+
export declare const PAGE_SCOPE_NO_OTHER_PAGES = "Keep additionalPages empty: this branch designs no other pages or routes.";
|
|
31
|
+
export declare const PAGE_SCOPE_FOOTER_RULE = "A visible footer is the only reason to return no continuations. Set sourceEndsHere to true and leave the source viewports empty only when the approved screen visibly closes with its webpage footer; otherwise set sourceEndsHere to false and plan at least one continuation below it.";
|
|
32
|
+
export declare const PAGE_SCOPE_STATUS_UPDATE = "Set statusUpdate to one or two concise first-person sentences explaining what you chose to add below the approved screen and how it completes this page. Speak directly to the user. Do not mention internal planning, models, generation mechanics, implementation details, or visual decisions.";
|
|
33
|
+
export declare const PAGE_SCOPE_ONE_SCREEN = "Exactly one generated screen can fit: plan one source continuation.";
|
|
34
|
+
export declare const PAGE_SCOPE_FOLLOW_BRIEF = "Follow the original brief for what this page still needs to say below the approved screen.";
|
|
35
|
+
export declare const pageScopeScreenBudget: (cap: number) => string;
|
|
36
|
+
type ScopedViewport = {
|
|
37
|
+
content: string;
|
|
38
|
+
slotType?: unknown;
|
|
39
|
+
targetWords?: unknown;
|
|
40
|
+
};
|
|
41
|
+
type ScopedPage<V extends ScopedViewport> = {
|
|
42
|
+
kind: 'source' | 'additional';
|
|
43
|
+
pageType: string;
|
|
44
|
+
sourceEndsHere?: boolean;
|
|
45
|
+
viewports: V[];
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* ARBITRATION (page scope): the planner's answer read as the person's choice.
|
|
49
|
+
* Fires only under page scope; site scope never reaches it.
|
|
50
|
+
*
|
|
51
|
+
* - The source page's own continuations are the answer to the page: any
|
|
52
|
+
* further pages the planner added anyway are dropped (the person chose this
|
|
53
|
+
* page, and the prompt asked for no others).
|
|
54
|
+
* - When the source page has none of its own but the planner filed screens
|
|
55
|
+
* under additional pages, those screens are the only plan it made of what
|
|
56
|
+
* comes next, so they continue the source page, in plan order, up to its
|
|
57
|
+
* continuation cap (a misfiled representation, CLAUDE.md item 2, resolved
|
|
58
|
+
* without another paid call). A source page that is not editorial cannot
|
|
59
|
+
* carry the editorial slot contract, so a borrowed screen sheds it.
|
|
60
|
+
* - A plan with continuations does not end here, whatever sourceEndsHere said:
|
|
61
|
+
* the person asked for the page to go on and the planner wrote how.
|
|
62
|
+
* - A plan with none is valid only when the planner declared the end
|
|
63
|
+
* (sourceEndsHere true: the approved screen visibly closes with its footer).
|
|
64
|
+
* Without that declaration it is a structural defect, so the bounded retry
|
|
65
|
+
* runs; "no continuations" is never taken to mean "already complete".
|
|
66
|
+
*/
|
|
67
|
+
export declare const resolvePageScopePages: <V extends ScopedViewport, P extends ScopedPage<V>>(args: {
|
|
68
|
+
pages: P[];
|
|
69
|
+
sourceCap: (source: P) => number;
|
|
70
|
+
anomalies: string[];
|
|
71
|
+
}) => P[];
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=branch-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-scope.d.ts","sourceRoot":"","sources":["../../src/branch-core/branch-scope.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,kBAAkB,2BAA4B,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAE3D,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,6NAA6N,CAAC;AAElQ,mEAAmE;AACnE,eAAO,MAAM,eAAe,2OAA2O,CAAC;AACxQ,eAAO,MAAM,yBAAyB,8EAA8E,CAAC;AACrH,eAAO,MAAM,sBAAsB,6RAA6R,CAAC;AACjU,eAAO,MAAM,wBAAwB,sSAAsS,CAAC;AAC5U,eAAO,MAAM,qBAAqB,wEAAwE,CAAC;AAC3G,eAAO,MAAM,uBAAuB,+FAA+F,CAAC;AAEpI,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,MAEnD,CAAC;AAEF,KAAK,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACrF,KAAK,UAAU,CAAC,CAAC,SAAS,cAAc,IAAI;IAC1C,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,CAAC,EAAE,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM;IAC7F,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,KAAG,CAAC,EA2BJ,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// GENERATED — do not edit. Copied verbatim from
|
|
2
|
+
// packages/layerdoc/src/branch-core by scripts/sync-improve-core.mjs.
|
|
3
|
+
/**
|
|
4
|
+
* THE scope policy of a branch: what the person chose to grow from the
|
|
5
|
+
* approved screen, said to the planner and applied to its answer. One module
|
|
6
|
+
* owns both halves so the words the planner reads and the rule its answer is
|
|
7
|
+
* held to can never drift apart (CLAUDE.md item 9).
|
|
8
|
+
*
|
|
9
|
+
* - `site` (the default, and every caller that predates scope): the web
|
|
10
|
+
* /branch plan — the source page continued where it needs it, plus the
|
|
11
|
+
* further pages or routes the planner chooses.
|
|
12
|
+
* - `page`: the person chose to continue this same page below the approved
|
|
13
|
+
* screen. The planner is told so, told to plan no other pages, and told that
|
|
14
|
+
* a visible footer is the only reason to plan no continuation. Its answer is
|
|
15
|
+
* then read as that choice: the source page's own continuations answer it,
|
|
16
|
+
* screens filed under additional pages continue the source page when it has
|
|
17
|
+
* none of its own (the provider schema stays permissive, CLAUDE.md item 2),
|
|
18
|
+
* and zero continuations is a valid plan only when the planner itself
|
|
19
|
+
* declared that the approved screen already ends.
|
|
20
|
+
*
|
|
21
|
+
* Also here, for both scopes: the brief the planner quotes was written for the
|
|
22
|
+
* approved screen (the first-screen round), so a first-viewport limit in it
|
|
23
|
+
* describes that screen and never limits the branch.
|
|
24
|
+
*/
|
|
25
|
+
export const BRANCH_PLAN_SCOPES = ['page', 'site'];
|
|
26
|
+
export const isBranchPlanScope = (value) => (typeof value === 'string' && BRANCH_PLAN_SCOPES.includes(value));
|
|
27
|
+
/** Both scopes: the brief describes the approved screen, so its first-screen limits do not bound the branch. */
|
|
28
|
+
export const BRANCH_BRIEF_SCOPE_NOTE = 'The original brief was written for the approved screen, the first screen of this design. Any limit it sets to the first viewport, one screen or a single view described that screen only and does not limit this branch.';
|
|
29
|
+
/** Page scope: the person's choice, said as the planner's task. */
|
|
30
|
+
export const PAGE_SCOPE_TASK = 'The person chose to continue this same page below the approved screen. Plan its source continuations: the sections a visitor reaches next by scrolling down this page, each adding something the approved screen does not already say.';
|
|
31
|
+
export const PAGE_SCOPE_NO_OTHER_PAGES = 'Keep additionalPages empty: this branch designs no other pages or routes.';
|
|
32
|
+
export const PAGE_SCOPE_FOOTER_RULE = 'A visible footer is the only reason to return no continuations. Set sourceEndsHere to true and leave the source viewports empty only when the approved screen visibly closes with its webpage footer; otherwise set sourceEndsHere to false and plan at least one continuation below it.';
|
|
33
|
+
export const PAGE_SCOPE_STATUS_UPDATE = 'Set statusUpdate to one or two concise first-person sentences explaining what you chose to add below the approved screen and how it completes this page. Speak directly to the user. Do not mention internal planning, models, generation mechanics, implementation details, or visual decisions.';
|
|
34
|
+
export const PAGE_SCOPE_ONE_SCREEN = 'Exactly one generated screen can fit: plan one source continuation.';
|
|
35
|
+
export const PAGE_SCOPE_FOLLOW_BRIEF = 'Follow the original brief for what this page still needs to say below the approved screen.';
|
|
36
|
+
export const pageScopeScreenBudget = (cap) => (`Plan at most ${cap} screens in total. Prefer fewer, stronger screens over filling the budget.`);
|
|
37
|
+
/**
|
|
38
|
+
* ARBITRATION (page scope): the planner's answer read as the person's choice.
|
|
39
|
+
* Fires only under page scope; site scope never reaches it.
|
|
40
|
+
*
|
|
41
|
+
* - The source page's own continuations are the answer to the page: any
|
|
42
|
+
* further pages the planner added anyway are dropped (the person chose this
|
|
43
|
+
* page, and the prompt asked for no others).
|
|
44
|
+
* - When the source page has none of its own but the planner filed screens
|
|
45
|
+
* under additional pages, those screens are the only plan it made of what
|
|
46
|
+
* comes next, so they continue the source page, in plan order, up to its
|
|
47
|
+
* continuation cap (a misfiled representation, CLAUDE.md item 2, resolved
|
|
48
|
+
* without another paid call). A source page that is not editorial cannot
|
|
49
|
+
* carry the editorial slot contract, so a borrowed screen sheds it.
|
|
50
|
+
* - A plan with continuations does not end here, whatever sourceEndsHere said:
|
|
51
|
+
* the person asked for the page to go on and the planner wrote how.
|
|
52
|
+
* - A plan with none is valid only when the planner declared the end
|
|
53
|
+
* (sourceEndsHere true: the approved screen visibly closes with its footer).
|
|
54
|
+
* Without that declaration it is a structural defect, so the bounded retry
|
|
55
|
+
* runs; "no continuations" is never taken to mean "already complete".
|
|
56
|
+
*/
|
|
57
|
+
export const resolvePageScopePages = (args) => {
|
|
58
|
+
const source = args.pages.find((page) => page.kind === 'source');
|
|
59
|
+
if (!source)
|
|
60
|
+
throw new Error('sourcePage is missing.');
|
|
61
|
+
const others = args.pages.filter((page) => page.kind !== 'source' && page.viewports.length > 0);
|
|
62
|
+
let viewports = source.viewports;
|
|
63
|
+
if (others.length > 0 && viewports.length > 0) {
|
|
64
|
+
args.anomalies.push(`Page scope: dropped ${others.length} additional page(s); the source page's own continuations answer the page.`);
|
|
65
|
+
}
|
|
66
|
+
else if (others.length > 0) {
|
|
67
|
+
viewports = others.flatMap((page) => page.viewports.map((viewport) => {
|
|
68
|
+
if (source.pageType === 'editorial')
|
|
69
|
+
return viewport;
|
|
70
|
+
const { slotType: _slotType, targetWords: _targetWords, ...rest } = viewport;
|
|
71
|
+
return rest;
|
|
72
|
+
}));
|
|
73
|
+
args.anomalies.push(`Page scope: read ${viewports.length} screen(s) planned under additionalPages as continuations of the source page.`);
|
|
74
|
+
}
|
|
75
|
+
const cap = args.sourceCap(source);
|
|
76
|
+
if (viewports.length > cap) {
|
|
77
|
+
args.anomalies.push(`Page scope: kept the first ${cap} of ${viewports.length} continuations.`);
|
|
78
|
+
viewports = viewports.slice(0, cap);
|
|
79
|
+
}
|
|
80
|
+
if (viewports.length === 0 && source.sourceEndsHere !== true) {
|
|
81
|
+
throw new Error('sourcePage planned no continuation of this page and declared no footer ending.');
|
|
82
|
+
}
|
|
83
|
+
if (viewports.length > 0 && source.sourceEndsHere === true) {
|
|
84
|
+
args.anomalies.push('Page scope: sourcePage.sourceEndsHere was true with continuations planned; kept the continuations.');
|
|
85
|
+
}
|
|
86
|
+
return [{ ...source, viewports, sourceEndsHere: viewports.length === 0 }];
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=branch-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-scope.js","sourceRoot":"","sources":["../../src/branch-core/branch-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { BRANCH_PAGE_TYPES, BRANCH_PLAN_SCHEMA_VERSION, BRANCH_SURFACE_TYPES, BRANCH_VIEWPORT_SLOT_TYPES, BUILD_SLOTS, branchContentSlotId, branchPlanCells, type BranchCell, type BranchCellPlacement, type BranchPageType, type BranchPlan, type BranchPlanPage, type BranchPlanViewport, type BranchSurfaceType, type BranchViewportSlotType, type BuildSlot, } from './branch-plan-model.js';
|
|
13
13
|
export { CREATE_ASPECT_SIZES, branchAspectForCanvas, branchCanvasDecision, branchProviderCanvas, parseBranchCanvasDecision, resolveBranchPlanCanvases, type BranchAspect, type BranchCanvas, type BranchCanvasDecision, } from './branch-canvas.js';
|
|
14
|
-
export { BRANCH_PLANNER_SYSTEM_PROMPT, BUILD_PLAN_MODEL, MAX_BRANCH_ADDITIONAL_PAGES, MAX_BRANCH_CELLS, MAX_BRANCH_SOURCE_CONTINUATIONS, MAX_BRANCH_VIEWPORTS, MAX_EDITORIAL_BRANCH_SOURCE_CONTINUATIONS, MIN_BRANCH_ADDITIONAL_PAGES, MIN_BRANCH_VIEWPORTS, branchBriefRequestsLongFormSamePage, branchConceptText, branchPlanParseOptions, branchPlanResponseSchema, branchScreenCap, buildBranchPlannerPrompt, parseBranchPlan, } from './branch-planner.js';
|
|
14
|
+
export { BRANCH_PLANNER_SYSTEM_PROMPT, BUILD_PLAN_MODEL, MAX_BRANCH_ADDITIONAL_PAGES, MAX_BRANCH_CELLS, MAX_BRANCH_SOURCE_CONTINUATIONS, MAX_BRANCH_VIEWPORTS, MAX_EDITORIAL_BRANCH_SOURCE_CONTINUATIONS, MIN_BRANCH_ADDITIONAL_PAGES, MIN_BRANCH_VIEWPORTS, branchBriefRequestsLongFormSamePage, branchConceptText, branchPlanParseOptions, branchPlanResponseSchema, branchScreenCap, buildBranchPlannerPrompt, parseBranchPlan, type BranchPlanParseOptions, } from './branch-planner.js';
|
|
15
|
+
export { BRANCH_PLAN_SCOPES, isBranchPlanScope, type BranchPlanScope, } from './branch-scope.js';
|
|
15
16
|
export { branchPromptFor, buildBranchGenerationPrompt, type BranchGenerationPromptInput, } from './branch-prompt.js';
|
|
16
17
|
export { branchFooterSeedSlot, branchGenerationSourceKeys, evaluateBranchDispatchGate, type BranchCandidateState, type BranchDispatchGate, type BranchReferenceRole, type BranchReferenceSlotInputs, } from './branch-gates.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,KAAK,2BAA2B,GACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
export { BRANCH_PAGE_TYPES, BRANCH_PLAN_SCHEMA_VERSION, BRANCH_SURFACE_TYPES, BRANCH_VIEWPORT_SLOT_TYPES, BUILD_SLOTS, branchContentSlotId, branchPlanCells, } from './branch-plan-model.js';
|
|
15
15
|
export { CREATE_ASPECT_SIZES, branchAspectForCanvas, branchCanvasDecision, branchProviderCanvas, parseBranchCanvasDecision, resolveBranchPlanCanvases, } from './branch-canvas.js';
|
|
16
16
|
export { BRANCH_PLANNER_SYSTEM_PROMPT, BUILD_PLAN_MODEL, MAX_BRANCH_ADDITIONAL_PAGES, MAX_BRANCH_CELLS, MAX_BRANCH_SOURCE_CONTINUATIONS, MAX_BRANCH_VIEWPORTS, MAX_EDITORIAL_BRANCH_SOURCE_CONTINUATIONS, MIN_BRANCH_ADDITIONAL_PAGES, MIN_BRANCH_VIEWPORTS, branchBriefRequestsLongFormSamePage, branchConceptText, branchPlanParseOptions, branchPlanResponseSchema, branchScreenCap, buildBranchPlannerPrompt, parseBranchPlan, } from './branch-planner.js';
|
|
17
|
+
export { BRANCH_PLAN_SCOPES, isBranchPlanScope, } from './branch-scope.js';
|
|
17
18
|
export { branchPromptFor, buildBranchGenerationPrompt, } from './branch-prompt.js';
|
|
18
19
|
export { branchFooterSeedSlot, branchGenerationSourceKeys, evaluateBranchDispatchGate, } from './branch-gates.js';
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sEAAsE;AAEtE;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,GAUhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAI1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sEAAsE;AAEtE;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,GAUhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAI1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,GAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAK3B,MAAM,mBAAmB,CAAC"}
|
|
@@ -23,13 +23,26 @@ export type { BranchExecutionEvent, BranchExecutionInputs, BranchExecutionResult
|
|
|
23
23
|
* rather than only in the record nobody reads until afterwards.
|
|
24
24
|
*/
|
|
25
25
|
export declare const describeBranchPlan: (plan: BranchNormalizedPlan) => string;
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* The run key these inputs derive: under this contract, or under `revision`
|
|
28
|
+
* (the contract a recorded run started under), for the person's `retry`th
|
|
29
|
+
* Retry of a settled run that drew nothing (branch-run-supersede.ts).
|
|
30
|
+
*/
|
|
31
|
+
export declare const deriveBranchRunKey: (inputs: BranchExecutionInputs, options?: {
|
|
32
|
+
revision?: string;
|
|
33
|
+
retry?: number;
|
|
34
|
+
}) => string;
|
|
27
35
|
export declare const executeBranchRun: (args: {
|
|
28
36
|
branchClient: BranchRunClient;
|
|
29
37
|
packageClient?: TwelveUiConversionPackageClient;
|
|
30
38
|
inputs: BranchExecutionInputs;
|
|
31
39
|
origin: string;
|
|
32
40
|
resume?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* With `resume`: the person's Retry. A recorded run that settled without drawing a screen is kept aside and planned
|
|
43
|
+
* afresh (branch-run-supersede.ts); any other run resumes exactly as a plain resume would.
|
|
44
|
+
*/
|
|
45
|
+
retrySettled?: boolean;
|
|
33
46
|
onEvent?: (event: BranchExecutionEvent) => void;
|
|
34
47
|
dispatch?: BranchDispatchTuning;
|
|
35
48
|
packageTimeoutMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-execution.d.ts","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"branch-execution.d.ts","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AA0B5B,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,oBAAoB,KAAG,MAsB/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,qBAAqB,EAC7B,UAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,KAClD,MAYF,CAAC;AAsCF,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC,qBAAqB,CAkiBhC,CAAC"}
|
package/dist/branch-execution.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { finalizeBranchConversion } from './branch-conversion-engine.js';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { BranchApiError, } from './branch-client.js';
|
|
4
|
-
import { BRANCH_WORKFLOW_REVISION, branchConceptDigest, branchRunKey, } from './branch-identity.js';
|
|
4
|
+
import { BRANCH_WORKFLOW_REVISION, branchConceptDigest, branchRunKey, withBranchRetry, } from './branch-identity.js';
|
|
5
|
+
import { settledEmptyRun, supersedeSettledRun } from './branch-run-supersede.js';
|
|
5
6
|
import { buildCompletion, terminalFailure } from './branch-completion.js';
|
|
6
7
|
import { createRunMaterializer } from './branch-materialize.js';
|
|
7
8
|
import { branchScreenPath } from './branch-downloads.js';
|
|
@@ -55,16 +56,32 @@ export const describeBranchPlan = (plan) => {
|
|
|
55
56
|
+ ' conversion page(s), with complete app states separate';
|
|
56
57
|
return `${packaging}${composition}${plan.screens.length} screen(s) to generate${left}`;
|
|
57
58
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
/**
|
|
60
|
+
* The run key these inputs derive: under this contract, or under `revision`
|
|
61
|
+
* (the contract a recorded run started under), for the person's `retry`th
|
|
62
|
+
* Retry of a settled run that drew nothing (branch-run-supersede.ts).
|
|
63
|
+
*/
|
|
64
|
+
export const deriveBranchRunKey = (inputs, options = {}) => (inputs.idempotencyKey
|
|
65
|
+
? withBranchRetry(inputs.idempotencyKey, options.retry)
|
|
66
|
+
: branchRunKey({
|
|
67
|
+
winner: inputs.winner.kind === 'run'
|
|
68
|
+
? { runId: inputs.winner.runId, slot: inputs.winner.slot }
|
|
69
|
+
: { imageSha256: inputs.winner.sha256 },
|
|
70
|
+
concept: inputs.concept,
|
|
71
|
+
scope: inputs.scope,
|
|
72
|
+
...(options.revision ? { revision: options.revision } : {}),
|
|
73
|
+
...(options.retry ? { retry: options.retry } : {}),
|
|
74
|
+
}));
|
|
75
|
+
/**
|
|
76
|
+
* Whether a recorded attempt is the run these inputs describe, under the contract and Retry it was started with. An
|
|
77
|
+
* attempt recorded before attempts named their contract may carry any revision's key.
|
|
78
|
+
*/
|
|
79
|
+
const sameRun = (attempt, inputs) => ((attempt.workflowRevision ? [attempt.workflowRevision] : ['branch-execute-v1', 'branch-execute-v2', BRANCH_WORKFLOW_REVISION])
|
|
80
|
+
.some((revision) => attempt.runKey === deriveBranchRunKey(inputs, { revision, ...(attempt.retry ? { retry: attempt.retry } : {}) })));
|
|
65
81
|
const claimBuildRun = async (args) => {
|
|
66
82
|
return await args.client.startBuildRun({
|
|
67
83
|
concept: args.inputs.concept,
|
|
84
|
+
...(args.scope ? { scope: args.scope } : {}),
|
|
68
85
|
...(args.inputs.aspect ? { aspect: args.inputs.aspect } : {}),
|
|
69
86
|
// The planner shapes whole pages to the cap; the client trim that
|
|
70
87
|
// follows is then a no-op on a plan that already fits.
|
|
@@ -88,7 +105,6 @@ export const executeBranchRun = async (args) => {
|
|
|
88
105
|
const completionFile = branchCompletionPath(outDir);
|
|
89
106
|
const screensDirectory = path.join(outDir, BRANCH_SCREENS_DIRECTORY);
|
|
90
107
|
const pagesDirectory = path.join(outDir, BRANCH_PAGES_DIRECTORY);
|
|
91
|
-
const runKey = deriveBranchRunKey(inputs);
|
|
92
108
|
const startedAt = new Date().toISOString();
|
|
93
109
|
const progressFile = branchProgressPath(outDir);
|
|
94
110
|
// Progress writes are serialized AND coalesced: the file is the one thing
|
|
@@ -144,6 +160,20 @@ export const executeBranchRun = async (args) => {
|
|
|
144
160
|
progressScreens = screens;
|
|
145
161
|
publish();
|
|
146
162
|
};
|
|
163
|
+
// The person's Retry of a settled run that drew nothing plans afresh; the
|
|
164
|
+
// replaced run is kept whole beside this one (branch-run-supersede.ts). A
|
|
165
|
+
// plain resume never does: it replays, and says how the run ended.
|
|
166
|
+
let supersedes;
|
|
167
|
+
let retry = 0;
|
|
168
|
+
if (args.resume && args.retrySettled) {
|
|
169
|
+
const settled = await settledEmptyRun(outDir);
|
|
170
|
+
if (settled) {
|
|
171
|
+
const moved = await supersedeSettledRun(outDir, settled, new Date());
|
|
172
|
+
retry = moved.retry;
|
|
173
|
+
supersedes = { path: moved.path, runKey: settled.attempt.runKey, workflowRevision: settled.workflowRevision, reason: settled.reason };
|
|
174
|
+
emit({ kind: 'phase', phase: 'claim', detail: `planning afresh: the earlier run ${settled.reason}; its record is kept in ${moved.path}` });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
147
177
|
const finished = await readBranchCompletion(completionFile);
|
|
148
178
|
if (finished) {
|
|
149
179
|
throw new Error(`This branch run already completed: ${completionFile} names run ${finished.runId},`
|
|
@@ -157,7 +187,7 @@ export const executeBranchRun = async (args) => {
|
|
|
157
187
|
+ ' continue it: a resume replays every settled screen for free and re-dispatches only'
|
|
158
188
|
+ ' what is still pending. It can never buy a screen twice.');
|
|
159
189
|
}
|
|
160
|
-
if (!existing && args.resume) {
|
|
190
|
+
if (!existing && args.resume && !supersedes) {
|
|
161
191
|
// Never started, so nothing failed. This answers in a different register
|
|
162
192
|
// from a recovery report on purpose: a caller told "0 recovered" about work
|
|
163
193
|
// it never asked for concludes the service is broken and gives up.
|
|
@@ -165,15 +195,21 @@ export const executeBranchRun = async (args) => {
|
|
|
165
195
|
+ ` failed. There is no ${BRANCH_ATTEMPT_FILENAME} in ${outDir}. Run the same command`
|
|
166
196
|
+ ' without --resume to start it; it blocks for the whole run and streams progress.');
|
|
167
197
|
}
|
|
168
|
-
|
|
198
|
+
// A recorded run resumes under the contract it started with: an older run
|
|
199
|
+
// holding paid screens, or still in flight, keeps its own key and plan.
|
|
200
|
+
if (existing && !sameRun(existing, inputs)) {
|
|
169
201
|
throw new Error(`Refusing to resume: ${outDir} holds run key ${existing.runKey} but these inputs derive`
|
|
170
|
-
+ ` ${
|
|
202
|
+
+ ` ${deriveBranchRunKey(inputs, { revision: existing.workflowRevision ?? 'branch-execute-v1' })}.`
|
|
203
|
+
+ ' A resume must replay the same winner, concept, and scope.');
|
|
171
204
|
}
|
|
205
|
+
const runKey = existing ? existing.runKey : deriveBranchRunKey(inputs, retry > 0 ? { retry } : {});
|
|
172
206
|
const attempt = existing ?? {
|
|
173
207
|
version: 1,
|
|
174
208
|
workflowRevision: BRANCH_WORKFLOW_REVISION,
|
|
175
209
|
status: 'claiming',
|
|
176
210
|
runKey,
|
|
211
|
+
...(retry > 0 ? { retry } : {}),
|
|
212
|
+
...(supersedes ? { supersedes } : {}),
|
|
177
213
|
origin: args.origin,
|
|
178
214
|
scope: inputs.scope,
|
|
179
215
|
concept: inputs.concept,
|
|
@@ -252,7 +288,13 @@ export const executeBranchRun = async (args) => {
|
|
|
252
288
|
try {
|
|
253
289
|
envelope = attempt.runId
|
|
254
290
|
? await args.branchClient.getRun(attempt.runId, args.signal)
|
|
255
|
-
: await claimBuildRun({
|
|
291
|
+
: await claimBuildRun({
|
|
292
|
+
client: args.branchClient,
|
|
293
|
+
inputs,
|
|
294
|
+
runKey,
|
|
295
|
+
...(attempt.workflowRevision === BRANCH_WORKFLOW_REVISION ? { scope: inputs.scope } : {}),
|
|
296
|
+
signal: args.signal,
|
|
297
|
+
});
|
|
256
298
|
}
|
|
257
299
|
catch (error) {
|
|
258
300
|
const terminal = error instanceof BranchApiError
|
|
@@ -564,6 +606,7 @@ export const executeBranchRun = async (args) => {
|
|
|
564
606
|
conversions,
|
|
565
607
|
...(rolloverLedger ? { rolloverLedger } : {}),
|
|
566
608
|
stopped,
|
|
609
|
+
...(attempt.workflowRevision ? { workflowRevision: attempt.workflowRevision } : {}),
|
|
567
610
|
});
|
|
568
611
|
publishProgress('terminal', envelope.id, branchProgressScreens(plan, {}));
|
|
569
612
|
await progressWrites;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-execution.js","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branch-execution.js","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,30 @@
|
|
|
10
10
|
* collision resistance over inputs that are already scoped by run id, which is
|
|
11
11
|
* far more than the number of runs any account will ever hold.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* The branch contract a run was started under, part of its run key. v3
|
|
15
|
+
* (2026-10-04): the planner is told the person's scope (`page` continues this
|
|
16
|
+
* same page below the approved screen) and the hosted claim carries it, so a
|
|
17
|
+
* page-scope run planned under v2's scope-blind prompt never replays as v3.
|
|
18
|
+
*/
|
|
19
|
+
export declare const BRANCH_WORKFLOW_REVISION = "branch-execute-v3";
|
|
20
|
+
/**
|
|
21
|
+
* Every revision whose frozen plan the page-conversion rollover may re-admit
|
|
22
|
+
* (branch-page-rollover.ts). v3 changed only how the plan is asked for, not the
|
|
23
|
+
* conversion attempts a run records, so v2 runs keep their rollover.
|
|
24
|
+
*/
|
|
25
|
+
export declare const BRANCH_ROLLOVER_WORKFLOW_REVISIONS: ReadonlySet<string>;
|
|
14
26
|
export type BranchScope = 'page' | 'site';
|
|
15
27
|
export declare const branchConceptDigest: (concept: string) => string;
|
|
16
28
|
/**
|
|
17
29
|
* Same inputs -> same run, so an interrupted claim replays instead of starting
|
|
18
30
|
* a second one. A changed concept is a different design problem and therefore a
|
|
19
31
|
* different run, so it derives a new key rather than wedging the old one.
|
|
32
|
+
*
|
|
33
|
+
* `revision` names the contract a recorded run started under (a resumed older
|
|
34
|
+
* run keeps its own key); `retry` is the person's Retry of a settled run that
|
|
35
|
+
* drew nothing (branch-run-supersede.ts): a fresh plan needs a key the settled
|
|
36
|
+
* claim never used, or the hosted claim would replay the settled one.
|
|
20
37
|
*/
|
|
21
38
|
export declare const branchRunKey: (args: {
|
|
22
39
|
winner: {
|
|
@@ -27,7 +44,11 @@ export declare const branchRunKey: (args: {
|
|
|
27
44
|
};
|
|
28
45
|
concept: string;
|
|
29
46
|
scope: BranchScope;
|
|
47
|
+
revision?: string;
|
|
48
|
+
retry?: number;
|
|
30
49
|
}) => string;
|
|
50
|
+
/** A run key for the person's nth Retry of a settled run that drew nothing; the key itself when there is none. */
|
|
51
|
+
export declare const withBranchRetry: (key: string, retry?: number) => string;
|
|
31
52
|
/**
|
|
32
53
|
* The ONLY keyed dispatch. Automatic dispatch is unkeyed so every replay is
|
|
33
54
|
* free; a redraw is an explicit request for one further paid attempt and needs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-identity.d.ts","sourceRoot":"","sources":["../src/branch-identity.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAM1C,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,MAErD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"branch-identity.d.ts","sourceRoot":"","sources":["../src/branch-identity.ts"],"names":[],"mappings":"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"}
|
package/dist/branch-identity.js
CHANGED
|
@@ -11,27 +11,46 @@ import { createHash } from 'node:crypto';
|
|
|
11
11
|
* collision resistance over inputs that are already scoped by run id, which is
|
|
12
12
|
* far more than the number of runs any account will ever hold.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* The branch contract a run was started under, part of its run key. v3
|
|
16
|
+
* (2026-10-04): the planner is told the person's scope (`page` continues this
|
|
17
|
+
* same page below the approved screen) and the hosted claim carries it, so a
|
|
18
|
+
* page-scope run planned under v2's scope-blind prompt never replays as v3.
|
|
19
|
+
*/
|
|
20
|
+
export const BRANCH_WORKFLOW_REVISION = 'branch-execute-v3';
|
|
21
|
+
/**
|
|
22
|
+
* Every revision whose frozen plan the page-conversion rollover may re-admit
|
|
23
|
+
* (branch-page-rollover.ts). v3 changed only how the plan is asked for, not the
|
|
24
|
+
* conversion attempts a run records, so v2 runs keep their rollover.
|
|
25
|
+
*/
|
|
26
|
+
export const BRANCH_ROLLOVER_WORKFLOW_REVISIONS = new Set(['branch-execute-v2', BRANCH_WORKFLOW_REVISION]);
|
|
15
27
|
const shortDigest = (value, characters = 16) => (createHash('sha256').update(value).digest('hex').slice(0, characters));
|
|
16
28
|
export const branchConceptDigest = (concept) => (createHash('sha256').update(concept).digest('hex'));
|
|
17
29
|
/**
|
|
18
30
|
* Same inputs -> same run, so an interrupted claim replays instead of starting
|
|
19
31
|
* a second one. A changed concept is a different design problem and therefore a
|
|
20
32
|
* different run, so it derives a new key rather than wedging the old one.
|
|
33
|
+
*
|
|
34
|
+
* `revision` names the contract a recorded run started under (a resumed older
|
|
35
|
+
* run keeps its own key); `retry` is the person's Retry of a settled run that
|
|
36
|
+
* drew nothing (branch-run-supersede.ts): a fresh plan needs a key the settled
|
|
37
|
+
* claim never used, or the hosted claim would replay the settled one.
|
|
21
38
|
*/
|
|
22
39
|
export const branchRunKey = (args) => {
|
|
23
40
|
const origin = 'runId' in args.winner
|
|
24
41
|
? `${args.winner.runId}:${args.winner.slot}`
|
|
25
42
|
: `img-${args.winner.imageSha256.slice(0, 32)}:-`;
|
|
26
|
-
return [
|
|
43
|
+
return withBranchRetry([
|
|
27
44
|
'branch',
|
|
28
45
|
'v1',
|
|
29
46
|
origin,
|
|
30
47
|
shortDigest(args.concept),
|
|
31
48
|
args.scope,
|
|
32
|
-
BRANCH_WORKFLOW_REVISION,
|
|
33
|
-
].join(':');
|
|
49
|
+
args.revision ?? BRANCH_WORKFLOW_REVISION,
|
|
50
|
+
].join(':'), args.retry);
|
|
34
51
|
};
|
|
52
|
+
/** A run key for the person's nth Retry of a settled run that drew nothing; the key itself when there is none. */
|
|
53
|
+
export const withBranchRetry = (key, retry) => (retry && retry > 0 ? `${key}:retry-${retry}` : key);
|
|
35
54
|
/**
|
|
36
55
|
* The ONLY keyed dispatch. Automatic dispatch is unkeyed so every replay is
|
|
37
56
|
* free; a redraw is an explicit request for one further paid attempt and needs
|