@12ui/design 0.2.82 → 0.2.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/SKILL.md +1 -1
- package/dist/branch-execution.d.ts.map +1 -1
- package/dist/branch-execution.js +6 -0
- package/dist/branch-execution.js.map +1 -1
- package/dist/branch-materialize.d.ts.map +1 -1
- package/dist/branch-materialize.js +6 -2
- package/dist/branch-materialize.js.map +1 -1
- package/dist/cli-capabilities.d.ts +2 -5
- package/dist/cli-capabilities.d.ts.map +1 -1
- package/dist/cli-capabilities.js +2 -2
- package/dist/cli-capabilities.js.map +1 -1
- package/dist/cli-help/conversion.d.ts +1 -1
- package/dist/cli-help/conversion.js +1 -1
- package/dist/cli-help/conversion.js.map +1 -1
- package/dist/cli-help/index.d.ts +1 -1
- package/dist/cli-image-backend.d.ts +6 -1
- package/dist/cli-image-backend.d.ts.map +1 -1
- package/dist/cli-image-backend.js +8 -3
- package/dist/cli-image-backend.js.map +1 -1
- package/dist/cli-local-runtime.d.ts +6 -0
- package/dist/cli-local-runtime.d.ts.map +1 -1
- package/dist/cli-local-runtime.js +14 -1
- package/dist/cli-local-runtime.js.map +1 -1
- package/dist/cli-usage.js +3 -3
- package/dist/cli-workspace-draw.d.ts.map +1 -1
- package/dist/cli-workspace-draw.js +2 -0
- package/dist/cli-workspace-draw.js.map +1 -1
- package/dist/cli-workspace-runner.d.ts.map +1 -1
- package/dist/cli-workspace-runner.js +2 -1
- package/dist/cli-workspace-runner.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +24 -1
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/mcp-slate-tool-defs.d.ts.map +1 -1
- package/dist/mcp-slate-tool-defs.js +3 -2
- package/dist/mcp-slate-tool-defs.js.map +1 -1
- package/dist/mcp-slate-ui-copy.d.ts +10 -0
- package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
- package/dist/mcp-slate-ui-copy.js +9 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -1
- package/dist/mcp-slate-ui-script-board.d.ts +19 -0
- package/dist/mcp-slate-ui-script-board.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-board.js +126 -0
- package/dist/mcp-slate-ui-script-board.js.map +1 -0
- package/dist/mcp-slate-ui-script-designs.d.ts +1 -1
- package/dist/mcp-slate-ui-script-designs.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-designs.js +24 -15
- package/dist/mcp-slate-ui-script-designs.js.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-collage.d.ts +5 -2
- package/dist/mcp-slate-ui-script-inspiration-collage.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-collage.js +9 -5
- package/dist/mcp-slate-ui-script-inspiration-collage.js.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-gallery.d.ts +7 -4
- package/dist/mcp-slate-ui-script-inspiration-gallery.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-gallery.js +46 -5
- package/dist/mcp-slate-ui-script-inspiration-gallery.js.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-grid.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-grid.js +4 -0
- package/dist/mcp-slate-ui-script-inspiration-grid.js.map +1 -1
- package/dist/mcp-slate-ui-script-pause.d.ts +4 -0
- package/dist/mcp-slate-ui-script-pause.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-pause.js +9 -2
- package/dist/mcp-slate-ui-script-pause.js.map +1 -1
- package/dist/mcp-slate-ui-script-peek.d.ts +16 -0
- package/dist/mcp-slate-ui-script-peek.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-peek.js +89 -0
- package/dist/mcp-slate-ui-script-peek.js.map +1 -0
- package/dist/mcp-slate-ui-script-references.d.ts +4 -2
- package/dist/mcp-slate-ui-script-references.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-references.js +39 -7
- package/dist/mcp-slate-ui-script-references.js.map +1 -1
- package/dist/mcp-slate-ui-script-remote.js +2 -2
- package/dist/mcp-slate-ui-script-viewer.d.ts +7 -2
- package/dist/mcp-slate-ui-script-viewer.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-viewer.js +183 -50
- package/dist/mcp-slate-ui-script-viewer.js.map +1 -1
- package/dist/mcp-slate-ui-script.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script.js +4 -0
- package/dist/mcp-slate-ui-script.js.map +1 -1
- package/dist/mcp-slate-ui-styles-board.d.ts +7 -0
- package/dist/mcp-slate-ui-styles-board.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-board.js +30 -0
- package/dist/mcp-slate-ui-styles-board.js.map +1 -0
- package/dist/mcp-slate-ui-styles-designs.d.ts +2 -1
- package/dist/mcp-slate-ui-styles-designs.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-designs.js +10 -8
- package/dist/mcp-slate-ui-styles-designs.js.map +1 -1
- package/dist/mcp-slate-ui-styles-inspiration.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-inspiration.js +13 -2
- package/dist/mcp-slate-ui-styles-inspiration.js.map +1 -1
- package/dist/mcp-slate-ui-styles-loading.d.ts +18 -0
- package/dist/mcp-slate-ui-styles-loading.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-loading.js +37 -0
- package/dist/mcp-slate-ui-styles-loading.js.map +1 -0
- package/dist/mcp-slate-ui-styles-peek.d.ts +8 -0
- package/dist/mcp-slate-ui-styles-peek.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-peek.js +13 -0
- package/dist/mcp-slate-ui-styles-peek.js.map +1 -0
- package/dist/mcp-slate-ui-styles.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles.js +0 -3
- package/dist/mcp-slate-ui-styles.js.map +1 -1
- package/dist/mcp-slate-ui.d.ts.map +1 -1
- package/dist/mcp-slate-ui.js +4 -1
- package/dist/mcp-slate-ui.js.map +1 -1
- package/dist/prototype-browsers.d.ts +10 -2
- package/dist/prototype-browsers.d.ts.map +1 -1
- package/dist/prototype-browsers.js +27 -2
- package/dist/prototype-browsers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/slate-actions.d.ts +6 -7
- package/dist/slate-actions.d.ts.map +1 -1
- package/dist/slate-actions.js +6 -9
- package/dist/slate-actions.js.map +1 -1
- package/dist/slate-branch-runner.d.ts +120 -0
- package/dist/slate-branch-runner.d.ts.map +1 -0
- package/dist/slate-branch-runner.js +312 -0
- package/dist/slate-branch-runner.js.map +1 -0
- package/dist/slate-captions-local.d.ts +14 -0
- package/dist/slate-captions-local.d.ts.map +1 -0
- package/dist/slate-captions-local.js +70 -0
- package/dist/slate-captions-local.js.map +1 -0
- package/dist/slate-captions-remote.d.ts +29 -0
- package/dist/slate-captions-remote.d.ts.map +1 -0
- package/dist/slate-captions-remote.js +65 -0
- package/dist/slate-captions-remote.js.map +1 -0
- package/dist/slate-captions.d.ts +41 -0
- package/dist/slate-captions.d.ts.map +1 -0
- package/dist/slate-captions.js +112 -0
- package/dist/slate-captions.js.map +1 -0
- package/dist/slate-commit.d.ts.map +1 -1
- package/dist/slate-commit.js +8 -6
- package/dist/slate-commit.js.map +1 -1
- package/dist/slate-image-executor.d.ts +18 -3
- package/dist/slate-image-executor.d.ts.map +1 -1
- package/dist/slate-image-executor.js +18 -5
- package/dist/slate-image-executor.js.map +1 -1
- package/dist/slate-paths.d.ts +3 -1
- package/dist/slate-paths.d.ts.map +1 -1
- package/dist/slate-paths.js +8 -2
- package/dist/slate-paths.js.map +1 -1
- package/dist/slate-round-prompt.d.ts +0 -12
- package/dist/slate-round-prompt.d.ts.map +1 -1
- package/dist/slate-round-prompt.js +0 -15
- package/dist/slate-round-prompt.js.map +1 -1
- package/dist/slate-round-runner.d.ts.map +1 -1
- package/dist/slate-round-runner.js +8 -14
- package/dist/slate-round-runner.js.map +1 -1
- package/dist/slate-runner-context.d.ts +3 -0
- package/dist/slate-runner-context.d.ts.map +1 -1
- package/dist/slate-runner-context.js.map +1 -1
- package/dist/slate-runner-main.d.ts +3 -0
- package/dist/slate-runner-main.d.ts.map +1 -1
- package/dist/slate-runner-main.js +5 -1
- package/dist/slate-runner-main.js.map +1 -1
- package/dist/slate-runner-spawn.js +2 -2
- package/dist/slate-runner-spawn.js.map +1 -1
- package/dist/slate-site-references-capture.d.ts +38 -1
- package/dist/slate-site-references-capture.d.ts.map +1 -1
- package/dist/slate-site-references-capture.js +25 -7
- package/dist/slate-site-references-capture.js.map +1 -1
- package/dist/slate-site-references-client.d.ts +13 -1
- package/dist/slate-site-references-client.d.ts.map +1 -1
- package/dist/slate-site-references-client.js +39 -14
- package/dist/slate-site-references-client.js.map +1 -1
- package/dist/slate-site-references-local.d.ts +3 -0
- package/dist/slate-site-references-local.d.ts.map +1 -1
- package/dist/slate-site-references-local.js +20 -1
- package/dist/slate-site-references-local.js.map +1 -1
- package/dist/slate-site-references-suggest.d.ts +25 -2
- package/dist/slate-site-references-suggest.d.ts.map +1 -1
- package/dist/slate-site-references-suggest.js +71 -12
- package/dist/slate-site-references-suggest.js.map +1 -1
- package/dist/slate-site-references.d.ts +11 -0
- package/dist/slate-site-references.d.ts.map +1 -1
- package/dist/slate-site-references.js +42 -3
- package/dist/slate-site-references.js.map +1 -1
- package/dist/slate-view-contract.d.ts +39 -1
- package/dist/slate-view-contract.d.ts.map +1 -1
- package/dist/slate-view.d.ts.map +1 -1
- package/dist/slate-view.js +8 -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 +35 -0
- package/dist/slate-workspace-parse.js.map +1 -1
- package/dist/slate-workspace-types.d.ts +31 -2
- package/dist/slate-workspace-types.d.ts.map +1 -1
- package/dist/workspace-draw-branch.d.ts +27 -0
- package/dist/workspace-draw-branch.d.ts.map +1 -0
- package/dist/workspace-draw-branch.js +101 -0
- package/dist/workspace-draw-branch.js.map +1 -0
- package/dist/workspace-draw-client.d.ts +27 -0
- package/dist/workspace-draw-client.d.ts.map +1 -1
- package/dist/workspace-draw-client.js +30 -0
- package/dist/workspace-draw-client.js.map +1 -1
- package/dist/workspace-draw-codex.d.ts +10 -7
- package/dist/workspace-draw-codex.d.ts.map +1 -1
- package/dist/workspace-draw-codex.js +41 -16
- package/dist/workspace-draw-codex.js.map +1 -1
- package/dist/workspace-draw-run.d.ts +19 -3
- package/dist/workspace-draw-run.d.ts.map +1 -1
- package/dist/workspace-draw-run.js +48 -6
- package/dist/workspace-draw-run.js.map +1 -1
- package/dist/workspace-draw-types.d.ts +23 -2
- package/dist/workspace-draw-types.d.ts.map +1 -1
- package/dist/workspace-draw-types.js.map +1 -1
- package/dist/workspace-runner-main.d.ts +9 -2
- package/dist/workspace-runner-main.d.ts.map +1 -1
- package/dist/workspace-runner-main.js +21 -2
- package/dist/workspace-runner-main.js.map +1 -1
- package/dist/workspace-runner-spawn.js +1 -1
- package/dist/workspace-runner-spawn.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/runtime/codex-conversion/bin/convert.mjs +1 -1
- package/runtime/codex-conversion/src/codex/caller-home.mjs +95 -0
- package/runtime/codex-conversion/src/codex/home.mjs +8 -2
- package/runtime/codex-conversion/src/images/execute.mjs +1 -1
- package/runtime/codex-conversion/src/images/native-invoke.mjs +21 -13
- package/runtime/codex-conversion/src/images/native-records.mjs +3 -1
- package/runtime/codex-conversion/src/images/native.mjs +42 -19
- package/runtime/codex-conversion/src/run.mjs +2 -1
- package/skills/12ui-design/SKILL.md +6 -6
- package/skills/12ui-design/outputs.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-draw-types.js","sourceRoot":"","sources":["../src/workspace-draw-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"workspace-draw-types.js","sourceRoot":"","sources":["../src/workspace-draw-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoDH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACP,CAAC;AA0DX,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC"}
|
|
@@ -35,10 +35,17 @@ export type RunnerDependencies = {
|
|
|
35
35
|
/** Extra dependencies for each draw (tests hand in the executor and the readiness probe). */
|
|
36
36
|
drawDeps?: Partial<DrawDependencies>;
|
|
37
37
|
/**
|
|
38
|
-
* Gathers the References tab's websites (slate-site-references.ts). The runner starts it once, the first
|
|
39
|
-
*
|
|
38
|
+
* Gathers the References tab's websites (slate-site-references.ts). The runner starts it once, on the first heartbeat
|
|
39
|
+
* that lists a request of its workspace, whether that round waits on the person (the agent's command handed it to the
|
|
40
|
+
* runner and returned) or not (the agent's command draws it, or the runner will): the sites then land while the
|
|
41
|
+
* person can still pick them for the first round, and a round that never pauses still gets them.
|
|
40
42
|
*/
|
|
41
43
|
gatherReferences?: DrawDependencies['gatherReferences'];
|
|
44
|
+
/**
|
|
45
|
+
* Writes the one-line captions (slate-captions-remote.ts): for a round that waits on the person (the tabs' lines and
|
|
46
|
+
* that round's, in one call), and beside each draw of the runner's.
|
|
47
|
+
*/
|
|
48
|
+
captions?: DrawDependencies['captions'];
|
|
42
49
|
now?: () => number;
|
|
43
50
|
sleep?: (milliseconds: number, signal: AbortSignal) => Promise<void>;
|
|
44
51
|
policy?: Partial<typeof RUNNER_POLICY>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-runner-main.d.ts","sourceRoot":"","sources":["../src/workspace-runner-main.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/F,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIvH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAY7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,MAAM,GACN,eAAe,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC
|
|
1
|
+
{"version":3,"file":"workspace-runner-main.d.ts","sourceRoot":"","sources":["../src/workspace-runner-main.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/F,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIvH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAY7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,MAAM,GACN,eAAe,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACxD;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;IACvC,sDAAsD;IACtD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,uHAAuH;AACvH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAuC1G,eAAO,MAAM,kBAAkB,GAAU,MAAM;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,KAAG,OAAO,CAAC,aAAa,CAySxB,CAAC"}
|
|
@@ -125,12 +125,28 @@ export const runWorkspaceRunner = async (args) => {
|
|
|
125
125
|
void deps.gatherReferences({ origin: args.origin, token, cliVersion, env, progress: (line) => { void log({ event: 'references', line }); } })
|
|
126
126
|
.catch((error) => { void log({ event: 'references_stopped', message: error instanceof Error ? error.message : String(error) }); });
|
|
127
127
|
};
|
|
128
|
+
const captioned = new Set();
|
|
129
|
+
const captionOnce = (opId) => {
|
|
130
|
+
if (captioned.has(opId) || !deps.captions || token === '')
|
|
131
|
+
return;
|
|
132
|
+
captioned.add(opId);
|
|
133
|
+
void deps.captions({ origin: args.origin, token, cliVersion, opId, env, progress: (line) => { void log({ event: 'captions', opId, line }); } })
|
|
134
|
+
.catch((error) => { void log({ event: 'captions_stopped', opId, message: error instanceof Error ? error.message : String(error) }); });
|
|
135
|
+
};
|
|
128
136
|
const drawOne = (opId) => {
|
|
129
137
|
const work = (async () => {
|
|
130
138
|
await log({ event: 'draw_started', opId });
|
|
131
139
|
let result;
|
|
132
140
|
try {
|
|
133
|
-
result = await draw({ opId, token, origin: args.origin, engine: 'auto', dryRun: false, runnerId }, {
|
|
141
|
+
result = await draw({ opId, token, origin: args.origin, engine: 'auto', dryRun: false, runnerId }, {
|
|
142
|
+
processOptions,
|
|
143
|
+
...(deps.captions && !captioned.has(opId) ? { captions: deps.captions } : {}),
|
|
144
|
+
...deps.drawDeps,
|
|
145
|
+
env,
|
|
146
|
+
dataRoot,
|
|
147
|
+
cliVersion,
|
|
148
|
+
progress: (line) => { void log({ event: 'progress', opId, line }); },
|
|
149
|
+
});
|
|
134
150
|
}
|
|
135
151
|
catch (error) {
|
|
136
152
|
await log({ event: 'draw_fault', opId, message: error instanceof Error ? error.message : String(error) });
|
|
@@ -171,6 +187,9 @@ export const runWorkspaceRunner = async (args) => {
|
|
|
171
187
|
}
|
|
172
188
|
};
|
|
173
189
|
const claimAndDraw = async (beat) => {
|
|
190
|
+
// The first sight of a round starts the References tab's gathering, paused or not.
|
|
191
|
+
if (beat.ops.length > 0)
|
|
192
|
+
gatherOnce();
|
|
174
193
|
for (const op of beat.ops) {
|
|
175
194
|
if (stop)
|
|
176
195
|
return;
|
|
@@ -194,7 +213,7 @@ export const runWorkspaceRunner = async (args) => {
|
|
|
194
213
|
// Its round waits on the person: nobody draws it until they continue (or its countdown ends). It stays listed,
|
|
195
214
|
// so the runner stays for it, and the person's References tab fills meanwhile.
|
|
196
215
|
if (op.waiting) {
|
|
197
|
-
|
|
216
|
+
captionOnce(op.opId);
|
|
198
217
|
continue;
|
|
199
218
|
}
|
|
200
219
|
// The agent's own command is drawing it on this Mac: it is that run's. Its op lock goes quiet while the Mac
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-runner-main.js","sourceRoot":"","sources":["../src/workspace-runner-main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-runner-main.js","sourceRoot":"","sources":["../src/workspace-runner-main.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { ensureRunnerDir, liveRunnerHolder, runnerDirOf, writeRunnerToken } from
|
|
|
17
17
|
export const WORKSPACE_RUNNER_ENV_FLAG = 'TWELVE_UI_WORKSPACE_RUNNER';
|
|
18
18
|
const INHERITED = [
|
|
19
19
|
'PATH', 'HOME', 'USER', 'LOGNAME', 'TMPDIR', 'TEMP', 'TMP', 'LANG', 'LC_ALL', 'SYSTEMROOT', 'APPDATA', 'LOCALAPPDATA',
|
|
20
|
-
'XDG_DATA_HOME', 'CODEX_HOME', 'CODEX_CLI_PATH', 'TWELVE_UI_CODEX_BIN', 'TWELVE_UI_INSTALL_SOURCE', 'TWELVE_UI_BUNDLE_ROOT',
|
|
20
|
+
'XDG_DATA_HOME', 'CODEX_HOME', 'CODEX_CLI_PATH', 'TWELVE_UI_CODEX_BIN', 'TWELVE_UI_CODEX_MODEL', 'TWELVE_UI_INSTALL_SOURCE', 'TWELVE_UI_BUNDLE_ROOT',
|
|
21
21
|
'HTTPS_PROXY', 'HTTP_PROXY', 'NO_PROXY', 'ALL_PROXY', 'https_proxy', 'http_proxy', 'no_proxy', 'all_proxy',
|
|
22
22
|
'SSL_CERT_FILE', 'NODE_EXTRA_CA_CERTS',
|
|
23
23
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-runner-spawn.js","sourceRoot":"","sources":["../src/workspace-runner-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAA4B,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/G;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAEtE,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc;IACrH,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"workspace-runner-spawn.js","sourceRoot":"","sources":["../src/workspace-runner-spawn.ts"],"names":[],"mappings":"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"}
|
package/open-design.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"specVersion": "1.0.0",
|
|
4
4
|
"name": "12ui-design",
|
|
5
5
|
"title": "12UI Design",
|
|
6
|
-
"version": "0.2.
|
|
6
|
+
"version": "0.2.84",
|
|
7
7
|
"description": "Explore corpus-grounded interface directions, choose one, and convert it into production-ready responsive or native artifacts with 12UI.",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Just Every",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"command": "npx",
|
|
50
50
|
"args": [
|
|
51
51
|
"-y",
|
|
52
|
-
"@12ui/design@0.2.
|
|
52
|
+
"@12ui/design@0.2.84",
|
|
53
53
|
"mcp"
|
|
54
54
|
]
|
|
55
55
|
}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@ try {
|
|
|
8
8
|
'clean-assets': { type: 'string' }, 'image-backend': { type: 'string' }, reasoning: { type: 'string' }, 'codex-bin': { type: 'string' }, 'timeout-ms': { type: 'string' }, help: { type: 'boolean' },
|
|
9
9
|
} });
|
|
10
10
|
if (values.help) {
|
|
11
|
-
console.log(JSON.stringify({ usage: '12ui-convert convert --source IMAGE --run-dir NEW_DIR --auth-home CODEX_HOME [--reasoning low|medium] [--clean-assets crop|enhance] [--image-backend external|native] | 12ui-convert resume --run-dir DIR [--auth-home CODEX_HOME]', imageCredentials: { external: 'OPENAI_API_KEY', native: 'Codex account via --auth-home' }, format: 'html-css', defaultImageBackend: '
|
|
11
|
+
console.log(JSON.stringify({ usage: '12ui-convert convert --source IMAGE --run-dir NEW_DIR --auth-home CODEX_HOME [--reasoning low|medium] [--clean-assets crop|enhance] [--image-backend external|native] | 12ui-convert resume --run-dir DIR [--auth-home CODEX_HOME]', imageCredentials: { external: 'OPENAI_API_KEY', native: 'Codex account via --auth-home' }, format: 'html-css', defaultImageBackend: 'native', defaultReasoning: 'low' }));
|
|
12
12
|
} else {
|
|
13
13
|
if (!values['run-dir'] || !['convert', 'resume'].includes(positionals[0]) || positionals.length !== 1) throw new Error('Expected convert or resume and --run-dir');
|
|
14
14
|
const options = { cleanAssets: values['clean-assets'], imageBackend: values['image-backend'], reasoning: values.reasoning, source: values.source, runDir: values['run-dir'], authHome: values['auth-home'], binary: values['codex-bin'], timeoutMs: values['timeout-ms'] ? Number(values['timeout-ms']) : undefined, progress: message => process.stderr.write(message + '\n') };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { readdir, readFile } from 'node:fs/promises';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { execFile } from 'node:child_process';
|
|
5
|
+
import { subscriptionEnv } from './home.mjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A native image call runs in the calling agent's own Codex home: the `CODEX_HOME` it was given, so its sign-in, plan
|
|
9
|
+
* and session files are the caller's. With none, the call's environment leaves `CODEX_HOME` unset and Codex uses its
|
|
10
|
+
* own default (`~/.codex`), which is only read here, for the checks and for finding the call's session file.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** A model the home's own models cache lists; a home without the cache cannot run the call. */
|
|
14
|
+
async function requireModel(home, model) {
|
|
15
|
+
let cache;
|
|
16
|
+
try { cache = JSON.parse(await readFile(path.join(home, 'models_cache.json'), 'utf8')); }
|
|
17
|
+
catch (error) { throw new Error(`Codex home ${home} must contain models_cache.json`, { cause: error }); }
|
|
18
|
+
if (!cache.models?.some(entry => entry.slug === model)) throw new Error(`Codex home ${home} does not list the model ${model}`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The person's own speed choice: `service_tier` at the top of `<home>/config.toml` (before any table), or null. An
|
|
23
|
+
* image call ignores the rest of the person's config (`--ignore-user-config`), so this one setting is carried over.
|
|
24
|
+
* @param {string} home
|
|
25
|
+
*/
|
|
26
|
+
export async function configuredServiceTier(home) {
|
|
27
|
+
let text;
|
|
28
|
+
try { text = await readFile(path.join(home, 'config.toml'), 'utf8'); }
|
|
29
|
+
catch (error) { if (error.code === 'ENOENT') return null; throw error; }
|
|
30
|
+
for (const line of text.split('\n')) {
|
|
31
|
+
if (/^\s*\[/u.test(line)) return null;
|
|
32
|
+
const match = /^\s*service_tier\s*=\s*["']([A-Za-z0-9_-]+)["']\s*(?:#.*)?$/u.exec(line);
|
|
33
|
+
if (match) return match[1];
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Checks the caller's home before a call is dispatched: signed in with ChatGPT (never an API key) and listing the
|
|
40
|
+
* call's model. `envHome` is what the call's `CODEX_HOME` is set to (null: unset).
|
|
41
|
+
* @param {{callerHome?: string | null, binary: string, model: string}} options
|
|
42
|
+
*/
|
|
43
|
+
export async function prepareCallerHome({ callerHome, binary, model }) {
|
|
44
|
+
const envHome = callerHome?.trim() ? path.resolve(callerHome.trim()) : null;
|
|
45
|
+
const home = envHome ?? path.join(homedir(), '.codex');
|
|
46
|
+
await requireModel(home, model);
|
|
47
|
+
const login = await new Promise(resolve => {
|
|
48
|
+
execFile(binary, ['login', 'status'], { env: subscriptionEnv(envHome), encoding: 'utf8', timeout: 30000 },
|
|
49
|
+
(error, stdout, stderr) => resolve({ ok: !error, output: `${stdout ?? ''}${stderr ?? ''}` }));
|
|
50
|
+
});
|
|
51
|
+
if (!login.ok || !login.output.includes('Logged in using ChatGPT')) {
|
|
52
|
+
throw new Error('ChatGPT authentication unavailable; API authentication is not supported for the planner');
|
|
53
|
+
}
|
|
54
|
+
return { home, envHome, authentication: 'chatgpt', serviceTier: await configuredServiceTier(home) };
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** The thread id `codex exec --json` announces first (`thread.started`) in the call's events, or null. */
|
|
58
|
+
export async function threadIdOf(eventsPath) {
|
|
59
|
+
let text;
|
|
60
|
+
try { text = await readFile(eventsPath, 'utf8'); }
|
|
61
|
+
catch (error) { if (error.code === 'ENOENT') return null; throw error; }
|
|
62
|
+
for (const line of text.split('\n')) {
|
|
63
|
+
try {
|
|
64
|
+
const event = JSON.parse(line);
|
|
65
|
+
if (event?.type === 'thread.started' && typeof event.thread_id === 'string') return event.thread_id;
|
|
66
|
+
} catch { /* a malformed line is the collector's to report */ }
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const dayDirs = (home, times) => [...new Set(times.flatMap(time => {
|
|
72
|
+
const date = new Date(time);
|
|
73
|
+
const pad = value => String(value).padStart(2, '0');
|
|
74
|
+
return [
|
|
75
|
+
path.join(home, 'sessions', String(date.getFullYear()), pad(date.getMonth() + 1), pad(date.getDate())),
|
|
76
|
+
path.join(home, 'sessions', String(date.getUTCFullYear()), pad(date.getUTCMonth() + 1), pad(date.getUTCDate())),
|
|
77
|
+
];
|
|
78
|
+
}))];
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* The call's own session file: `<home>/sessions/YYYY/MM/DD/rollout-*-<threadId>.jsonl`, looked up only in the day
|
|
82
|
+
* folders the call ran across (a person's home can hold thousands of sessions). Empty when there is none.
|
|
83
|
+
* @param {string} home @param {string | null} threadId @param {Array<string | number | Date>} times
|
|
84
|
+
*/
|
|
85
|
+
export async function callRollouts(home, threadId, times) {
|
|
86
|
+
if (!threadId) return [];
|
|
87
|
+
const found = [];
|
|
88
|
+
for (const dir of dayDirs(home, times)) {
|
|
89
|
+
let names;
|
|
90
|
+
try { names = await readdir(dir); }
|
|
91
|
+
catch (error) { if (error.code === 'ENOENT') continue; throw error; }
|
|
92
|
+
for (const name of names) if (name.startsWith('rollout-') && name.endsWith(`-${threadId}.jsonl`)) found.push(path.join(dir, name));
|
|
93
|
+
}
|
|
94
|
+
return found.sort();
|
|
95
|
+
}
|
|
@@ -5,10 +5,13 @@ import { execFile } from 'node:child_process';
|
|
|
5
5
|
|
|
6
6
|
const TEMP_HOME_PREFIX = '12ui-codex-';
|
|
7
7
|
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* The planner receives an allowlisted environment, never provider credentials. With no home, `CODEX_HOME` stays unset
|
|
10
|
+
* and Codex uses its own default home. @param {string | null | undefined} home
|
|
11
|
+
*/
|
|
9
12
|
export function subscriptionEnv(home) {
|
|
10
13
|
/** @type {NodeJS.ProcessEnv} */
|
|
11
|
-
const env = { CODEX_HOME: home };
|
|
14
|
+
const env = home ? { CODEX_HOME: home } : {};
|
|
12
15
|
for (const key of ['PATH', 'HOME', 'TMPDIR', 'TEMP', 'TMP', 'LANG', 'LC_ALL', 'SYSTEMROOT']) {
|
|
13
16
|
if (process.env[key]) env[key] = process.env[key];
|
|
14
17
|
}
|
|
@@ -49,6 +52,9 @@ export async function prepareHome({ authHome, binary, runDir, reasoning = 'low'
|
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
|
|
55
|
+
/** Whether a recorded home is one of this module's temp homes (image calls of earlier releases ran in one). */
|
|
56
|
+
export const isTempHome = home => typeof home === 'string' && path.basename(home).startsWith(TEMP_HOME_PREFIX);
|
|
57
|
+
|
|
52
58
|
/**
|
|
53
59
|
* Remove one temp home this module made. Only a directory directly under the temp root whose name
|
|
54
60
|
* carries the temp-home prefix is ever removed, so a corrupted record cannot point this at a real home.
|
|
@@ -34,7 +34,7 @@ async function executeGroup({group,sourceBytes,runDir,store,env,progress,fetchIm
|
|
|
34
34
|
progress?.({phase:'image-complete',groupId:group.id,reused:result.reused});
|
|
35
35
|
return {assets,receipt};
|
|
36
36
|
}
|
|
37
|
-
export async function executeImages({plan,sourcePath,runDir,store,env=process.env,progress,fetchImpl=fetch,imageBackend='
|
|
37
|
+
export async function executeImages({plan,sourcePath,runDir,store,env=process.env,progress,fetchImpl=fetch,imageBackend='native',codexBinary='codex',codexHome=undefined,timeoutMs=1800000,nativeModel='gpt-6-astra'}) {
|
|
38
38
|
if(!['external','native'].includes(imageBackend))throw Error('Unsupported image backend');
|
|
39
39
|
if(nativeModel!=='gpt-6-astra')throw Error('Unsupported native model');
|
|
40
40
|
await fs.mkdir(runDir,{recursive:true});
|
|
@@ -3,26 +3,35 @@ import path from 'node:path';
|
|
|
3
3
|
import {spawn} from 'node:child_process';
|
|
4
4
|
import {createWriteStream} from 'node:fs';
|
|
5
5
|
import {finished} from 'node:stream/promises';
|
|
6
|
-
import {subscriptionEnv
|
|
7
|
-
import {
|
|
6
|
+
import {subscriptionEnv} from '../codex/home.mjs';
|
|
7
|
+
import {callRollouts,threadIdOf} from '../codex/caller-home.mjs';
|
|
8
8
|
import {collectNative,packNativeReceipt} from './native-collect.mjs';
|
|
9
9
|
|
|
10
|
+
/** The model that wraps the image tool, and its effort, when a request names neither. */
|
|
11
|
+
export const NATIVE_DEFAULTS=Object.freeze({model:'gpt-6-astra',effort:'medium'});
|
|
12
|
+
|
|
10
13
|
// Based on the successful C-N03 study invocation; separate from the no-tool planner.
|
|
11
14
|
// The call is unattended (`-a never`) and its prompt carries text from outside (a person's typed edit, a plan built
|
|
12
15
|
// from a source image), so its sandbox is read-only: the model may read the attached images and call the image tool,
|
|
13
16
|
// whose output Codex itself records in the rollout and its own home, but any command it is talked into cannot write.
|
|
14
17
|
// Proven with real Codex 0.159.3 (docs/slate-remote.md, "Image calls are read-only").
|
|
18
|
+
// `--ignore-user-config` keeps the person's MCP servers, plugins and hooks out of the call; their `service_tier` (their
|
|
19
|
+
// own fast-lane choice) is carried over by itself when the home sets one.
|
|
15
20
|
export const NATIVE_SANDBOX = 'read-only';
|
|
16
21
|
export function nativeArgv(spec, finalPath) {
|
|
22
|
+
const model = spec.model ?? NATIVE_DEFAULTS.model, effort = spec.effort ?? NATIVE_DEFAULTS.effort;
|
|
17
23
|
return ['-a', 'never', 'exec', '--ignore-user-config', '--ignore-rules', '--strict-config', '-C', spec.workDir,
|
|
18
|
-
'--skip-git-repo-check', '-s', NATIVE_SANDBOX, '-m',
|
|
24
|
+
'--skip-git-repo-check', '-s', NATIVE_SANDBOX, '-m', model, '-c', `model_reasoning_effort="${effort}"`,
|
|
19
25
|
'-c', 'model_provider="openai"', '-c', 'forced_login_method="chatgpt"', '-c', 'project_doc_max_bytes=0',
|
|
26
|
+
...(spec.serviceTier ? ['-c', `service_tier="${spec.serviceTier}"`] : []),
|
|
20
27
|
'--enable', 'skip_host_skill_discovery', '--json', '--color', 'never', '--output-last-message', finalPath,
|
|
21
28
|
...(spec.referencePaths ?? [spec.referencePath]).flatMap(file => ['--image', file]), '-'];
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
24
|
-
* One native image call: `codex exec` in its own process group,
|
|
25
|
-
* call directory.
|
|
31
|
+
* One native image call: `codex exec` in its own process group, in the caller's Codex home (`auth.envHome`; unset
|
|
32
|
+
* leaves Codex's default), its prompt on stdin, its events and stderr kept in the call directory. The call's own
|
|
33
|
+
* session file, found by the thread id its events announce, is copied into the call's native-custody and stays in the
|
|
34
|
+
* home like any other session. Optional in `spec`:
|
|
26
35
|
* - `interruptOnSignal` (default true): a SIGINT or SIGTERM of this process stops the call. A caller that finishes its
|
|
27
36
|
* calls on a signal itself (the Design workspace runner) passes false, so the call runs to its own end or timeout.
|
|
28
37
|
* - `onSpawn({pgid, callDir})` / `onExit({pgid})`: told the child's process group (it leads its own) once it runs and
|
|
@@ -32,14 +41,15 @@ export async function invokeNative(spec, {callDir, persistMetadata}) {
|
|
|
32
41
|
await fs.mkdir(spec.workDir, {recursive: true});
|
|
33
42
|
const auth = spec.auth;
|
|
34
43
|
const finalPath = path.join(callDir, 'final.txt'), argv = nativeArgv(spec, finalPath);
|
|
35
|
-
const metadata = {model:
|
|
44
|
+
const metadata = {model: spec.model ?? NATIVE_DEFAULTS.model, effort: spec.effort ?? NATIVE_DEFAULTS.effort, serviceTier: spec.serviceTier ?? null,
|
|
45
|
+
authentication: auth.authentication, home: auth.home, envHome: auth.envHome, argv, startedAt: new Date().toISOString()};
|
|
36
46
|
await persistMetadata(metadata); // Private runtime location needed for collection after interruption.
|
|
37
47
|
await fs.writeFile(path.join(callDir, 'invocation.json'), JSON.stringify(metadata, null, 2) + '\n', {flag: 'wx'});
|
|
38
48
|
const stdout = createWriteStream(path.join(callDir, 'events.jsonl'), {flags: 'wx'});
|
|
39
49
|
const stderr = createWriteStream(path.join(callDir, 'stderr.log'), {flags: 'wx'});
|
|
40
50
|
const prompt = spec.prompt;
|
|
41
51
|
let timedOut = false, killTimer;
|
|
42
|
-
const child = spawn(spec.binary, argv, {cwd: spec.workDir, env: subscriptionEnv(auth.
|
|
52
|
+
const child = spawn(spec.binary, argv, {cwd: spec.workDir, env: subscriptionEnv(auth.envHome), detached: true, stdio: ['pipe', 'pipe', 'pipe']});
|
|
43
53
|
// ESRCH: the group is gone. EPERM: macOS answers so for a group whose members are all zombies.
|
|
44
54
|
const stop = signal => { if (child.pid) try { process.kill(-child.pid, signal); } catch (error) { if (error.code !== 'ESRCH' && error.code !== 'EPERM') throw error; } };
|
|
45
55
|
const terminate = () => { stop('SIGTERM'); killTimer = setTimeout(() => stop('SIGKILL'), 5000); };
|
|
@@ -59,13 +69,11 @@ export async function invokeNative(spec, {callDir, persistMetadata}) {
|
|
|
59
69
|
const events=(await fs.readFile(path.join(callDir,'events.jsonl'),'utf8')).split('\n').filter(Boolean).flatMap(line=>{try{return [JSON.parse(line)];}catch{return [{type:'malformed-event'}];}});
|
|
60
70
|
const diagnostics=events.filter(event=>['error','turn.failed','malformed-event'].includes(event.type));
|
|
61
71
|
const codexUsage=events.filter(event=>event.type==='turn.completed').map(event=>event.usage);
|
|
62
|
-
const
|
|
72
|
+
const threadId = await threadIdOf(path.join(callDir, 'events.jsonl'));
|
|
73
|
+
const completed = {...metadata, threadId, diagnostics, codexUsage, ...result, timedOut, finishedAt: new Date().toISOString()};
|
|
63
74
|
await persistMetadata(completed);
|
|
64
75
|
await fs.writeFile(path.join(callDir, 'completion.json'), JSON.stringify(completed, null, 2) + '\n', {flag: 'wx'});
|
|
65
|
-
const rolloutPaths =
|
|
76
|
+
const rolloutPaths = await callRollouts(auth.home, threadId, [metadata.startedAt, completed.finishedAt]);
|
|
66
77
|
const receipt = await collectNative({rolloutPaths, outputDir: path.join(callDir, 'native-custody'), expected: spec.expected});
|
|
67
|
-
|
|
68
|
-
// before this line keeps its home, because recovery collects from it.
|
|
69
|
-
await removeTempHome(auth.home);
|
|
70
|
-
return {bytes: await packNativeReceipt(receipt), metadata: {...completed,nativeToolMs:receipt.toolMs,quotaBefore:receipt.quotaBefore,quotaAfter:receipt.quotaAfter,tokenUsage:receipt.tokenUsage,tempHomeRemoved:true}};
|
|
78
|
+
return {bytes: await packNativeReceipt(receipt), metadata: {...completed,nativeToolMs:receipt.toolMs,quotaBefore:receipt.quotaBefore,quotaAfter:receipt.quotaAfter,tokenUsage:receipt.tokenUsage}};
|
|
71
79
|
}
|
|
@@ -25,7 +25,9 @@ export function parseNativeRecords(text) {
|
|
|
25
25
|
}
|
|
26
26
|
if (p.type === 'function_call' && /^(image_gen[._]imagegen|image_gen__imagegen)$/.test(p.name ?? '')) calls.set(p.call_id, {callId: p.call_id, count: 1, prompts: [functionCallPrompt(p.arguments)], line: index + 1, timestamp: record.timestamp});
|
|
27
27
|
if (item?.kind === 'image_gen.generation' && p.type === 'item_completed') {
|
|
28
|
-
|
|
28
|
+
// A refused generation (status "failed", e.g. the image tool's output moderation) carries `result: ""`: no bytes,
|
|
29
|
+
// so its call audits as native-failed instead of crashing collection on a zero-byte "PNG" before the receipt.
|
|
30
|
+
const bytes = typeof item.result === 'string' && item.result.length > 0 ? Buffer.from(item.result, 'base64') : null;
|
|
29
31
|
const entry = {id: item.id, status: item.status, failure: item.failure ?? null, savedPath: item.savedPath ?? null,
|
|
30
32
|
transparentBackground: item.transparentBackground, revisedPrompt: item.revisedPrompt,
|
|
31
33
|
line: index + 1, timestamp: record.timestamp, threadId: p.thread_id, turnId: p.turn_id,
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import os from 'node:os';
|
|
4
3
|
import sharp from 'sharp';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import {isTempHome,removeTempHome} from '../codex/home.mjs';
|
|
5
|
+
import {callRollouts,prepareCallerHome,threadIdOf} from '../codex/caller-home.mjs';
|
|
6
|
+
import {invokeNative,NATIVE_DEFAULTS} from './native-invoke.mjs';
|
|
7
7
|
import {collectNative,packNativeReceipt} from './native-collect.mjs';
|
|
8
|
-
import {
|
|
8
|
+
import {inputFileNames} from './native-files.mjs';
|
|
9
9
|
import {sha256,pngDimensions,parseNativeRecords} from './native-records.mjs';
|
|
10
10
|
import {fitToFrame} from './native-frame.mjs';
|
|
11
11
|
|
|
12
12
|
/** How a native image meets its frame: conversion's exact stretch (the default), or the aspect-preserving fit (native-frame.mjs). */
|
|
13
13
|
export const NATIVE_NORMALIZATIONS=Object.freeze({stretch:'exact-stretch-lanczos3',preserveAspect:'aspect-preserving-lanczos3'});
|
|
14
14
|
/** @typedef {typeof NATIVE_NORMALIZATIONS[keyof typeof NATIVE_NORMALIZATIONS]} NativeNormalization */
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* `expect` is the model and effort the request asked for (conversion's defaults when omitted): a receipt run under any
|
|
17
|
+
* other is refused.
|
|
18
|
+
* @param {Buffer} bytes @param {{normalization?: NativeNormalization, expect?: {model?: string, effort?: string}}} [options]
|
|
19
|
+
*/
|
|
20
|
+
export async function decodeNativeResponse(bytes,{normalization=NATIVE_NORMALIZATIONS.stretch,expect={}}={}) {
|
|
17
21
|
if(!Object.values(NATIVE_NORMALIZATIONS).includes(normalization)) throw Error('Unknown native normalization: '+normalization);
|
|
18
22
|
const receipt=JSON.parse(bytes.toString('utf8'));
|
|
19
23
|
if(!['exact-size-pass','size-mismatch'].includes(receipt.state)||receipt.outputs.length!==1) throw Error('Native image call requires inspection: '+receipt.state);
|
|
20
|
-
if(receipt.model!==
|
|
24
|
+
if(receipt.model!==(expect.model??NATIVE_DEFAULTS.model)||receipt.effort!==(expect.effort??NATIVE_DEFAULTS.effort))throw Error('Native coordinator model/effort does not match requested execution');
|
|
21
25
|
const original=Buffer.from(receipt.outputs[0].base64,'base64');
|
|
22
26
|
if(sha256(original)!==receipt.outputs[0].sha256) throw Error('Native original custody mismatch');
|
|
23
27
|
const actual=pngDimensions(original), expected=receipt.geometry.raw.expected;
|
|
@@ -26,32 +30,51 @@ export async function decodeNativeResponse(bytes,{normalization=NATIVE_NORMALIZA
|
|
|
26
30
|
:{png:await sharp(original).resize(expected.width,expected.height,{fit:'fill',kernel:'lanczos3'}).png().toBuffer(),normalization:{name:'exact-stretch',kernel:'lanczos3',output:expected,scaleX:expected.width/actual.width,scaleY:expected.height/actual.height}};
|
|
27
31
|
return {png:fitted.png,usage:{codexTokens:receipt.tokenUsage??[],imageUsage:null},revisedPrompt:receipt.generations[0].revisedPrompt??null,native:{originalPath:receipt.outputs[0].path,originalSha256:sha256(original),originalDimensions:actual,normalization:fitted.normalization,model:receipt.model,effort:receipt.effort,imageModel:null,invocationCount:receipt.invocationCount}};
|
|
28
32
|
}
|
|
29
|
-
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The wrapper turn's instructions. The images ride along with `--image`, so the model already sees them: it is told to
|
|
36
|
+
* call the image tool straight away instead of opening them again first (a whole model turn, measured at ~10 s).
|
|
37
|
+
* @param {string[]} referencePaths @param {string} imagePrompt
|
|
38
|
+
*/
|
|
39
|
+
export function nativeCallPrompt(referencePaths,imagePrompt) {
|
|
40
|
+
const paths=`[${referencePaths.map(file=>JSON.stringify(file)).join(', ')}]`;
|
|
41
|
+
const references=referencePaths.length===1
|
|
42
|
+
?`referenced_image_paths=${paths}. That image is already attached to this message, so do not view it first`
|
|
43
|
+
:`referenced_image_paths=${paths}, one for each of these files, in this order. Those images are already attached to this message, so do not view them first`;
|
|
44
|
+
return `This is an asset-execution task. Invoke tools.image_gen__imagegen exactly once, as your first action, with the following prompt copied verbatim and ${references}. Do not use shell, web, apps, other image providers, or image-editing code. No retries, extra calls, HTML work, or visual repair. If unavailable or unsuccessful, report failure. Emit the native image result with generatedImage and finish. Do not print base64.\n\nIMAGE PROMPT:\n${imagePrompt}\n`;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* `codexHome` is the caller's Codex home, where the call runs (its `CODEX_HOME`; null leaves Codex's default). The
|
|
49
|
+
* request's `model` and `effort` drive the wrapper turn (conversion's defaults when omitted).
|
|
50
|
+
* `processOptions` reaches the call's `codex exec` child: `interruptOnSignal`, `onSpawn`, `onExit` (native-invoke.mjs).
|
|
51
|
+
*/
|
|
30
52
|
export async function executeNativeCall({request,input,callId,store,codexBinary='codex',codexHome,timeoutMs=1800000,processOptions={}}) {
|
|
31
53
|
let auth;
|
|
54
|
+
const model=request.model??NATIVE_DEFAULTS.model, effort=request.effort??NATIVE_DEFAULTS.effort;
|
|
32
55
|
return store.runCall(callId,request,async({callDir,persistMetadata})=>{
|
|
33
56
|
// One reference is the conversion case; a list attaches every image in order (design workspace edits and variations).
|
|
34
57
|
const inputs=Array.isArray(input)?input:[input];
|
|
35
58
|
// Each input is named by its sniffed type (reference.webp, reference-2.png), never a blanket .png.
|
|
36
59
|
const referencePaths=inputFileNames(inputs).map(name=>path.join(callDir,name));
|
|
37
60
|
for(const [index,bytes] of inputs.entries())await fs.writeFile(referencePaths[index],bytes,{flag:'wx'});
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const authHome=codexHome??process.env.CODEX_HOME??path.join(os.homedir(),'.codex');
|
|
44
|
-
auth=await prepareHome({authHome,binary:codexBinary,runDir:callDir});
|
|
61
|
+
const prompt=nativeCallPrompt(referencePaths,request.prompt);
|
|
62
|
+
return invokeNative({...processOptions,auth,binary:codexBinary,model,effort,serviceTier:auth.serviceTier,workDir:path.join(callDir,'work'),referencePath:referencePaths[0],referencePaths,prompt,timeoutMs,expected:request.expected},{callDir,persistMetadata});
|
|
63
|
+
},{prepare:async()=>{
|
|
64
|
+
// An explicit null is "no CODEX_HOME"; only an omitted home falls back to this process's own.
|
|
65
|
+
auth=await prepareCallerHome({callerHome:codexHome===undefined?process.env.CODEX_HOME??null:codexHome,binary:codexBinary,model});
|
|
45
66
|
},recover:async({callDir,metadata})=>{
|
|
46
67
|
if(!metadata?.home)return null;
|
|
47
|
-
|
|
68
|
+
// The call's own session file, by the thread id its events announced (an earlier release's call ran in a temp home).
|
|
69
|
+
const threadId=metadata.threadId??await threadIdOf(path.join(callDir,'events.jsonl'));
|
|
70
|
+
const rolloutPaths=await callRollouts(metadata.home,threadId,[metadata.startedAt,Date.now()]);
|
|
48
71
|
if(!rolloutPaths.length)return null;
|
|
49
72
|
const audit=parseNativeRecords((await Promise.all(rolloutPaths.map(file=>fs.readFile(file,'utf8')))).join('\n'));
|
|
50
73
|
if(audit.state!=='completed-awaiting-dimensions')return null;
|
|
51
74
|
const receipt=await collectNative({rolloutPaths,outputDir:path.join(callDir,'native-custody'),expected:request.expected});
|
|
52
75
|
if(!['exact-size-pass','size-mismatch'].includes(receipt.state))return null;
|
|
53
|
-
// Recovered and in custody:
|
|
54
|
-
await removeTempHome(metadata.home);
|
|
55
|
-
return {bytes:await packNativeReceipt(receipt),metadata:{...metadata,nativeToolMs:receipt.toolMs,quotaBefore:receipt.quotaBefore,quotaAfter:receipt.quotaAfter,tokenUsage:receipt.tokenUsage,collectionRecovery:true
|
|
76
|
+
// Recovered and in custody: an earlier release's temp home has nothing left that anything will read.
|
|
77
|
+
if(isTempHome(metadata.home))await removeTempHome(metadata.home);
|
|
78
|
+
return {bytes:await packNativeReceipt(receipt),metadata:{...metadata,threadId,nativeToolMs:receipt.toolMs,quotaBefore:receipt.quotaBefore,quotaAfter:receipt.quotaAfter,tokenUsage:receipt.tokenUsage,collectionRecovery:true}};
|
|
56
79
|
}});
|
|
57
80
|
}
|
|
@@ -36,7 +36,8 @@ async function initialize(options) {
|
|
|
36
36
|
const source = { path: 'source.image', sha256: hash(bytes), width: metadata.width, height: metadata.height, mimeType: `image/${metadata.format}` };
|
|
37
37
|
const effort = options.reasoning ?? 'low';
|
|
38
38
|
if (!['low', 'medium'].includes(effort)) throw new Error('reasoning must be low or medium');
|
|
39
|
-
|
|
39
|
+
// External spends on the user's own OpenAI key, so a new run reaches it only by naming it; the default is the Codex sign-in.
|
|
40
|
+
const imageBackend = options.imageBackend ?? 'native';
|
|
40
41
|
if (!['external', 'native'].includes(imageBackend)) throw new Error('imageBackend must be external or native');
|
|
41
42
|
const cleanAssets=options.cleanAssets??'enhance';
|
|
42
43
|
if(!['crop','enhance'].includes(cleanAssets))throw Error('cleanAssets must be crop or enhance');
|