@12ui/design 0.2.81 → 0.2.83
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 +11 -7
- 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 +4 -7
- package/dist/cli-capabilities.d.ts.map +1 -1
- package/dist/cli-capabilities.js +4 -4
- 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 +3 -3
- package/dist/cli-help/workflow.d.ts +2 -2
- package/dist/cli-help/workflow.js +4 -4
- package/dist/cli-help/workflow.js.map +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.d.ts.map +1 -1
- package/dist/cli-usage.js +8 -7
- package/dist/cli-usage.js.map +1 -1
- 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 +13 -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/mcp-workflow-tools.js +2 -2
- package/dist/mcp-workflow-tools.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/review-files-server.d.ts +8 -0
- package/dist/review-files-server.d.ts.map +1 -0
- package/dist/review-files-server.js +133 -0
- package/dist/review-files-server.js.map +1 -0
- package/dist/review-page-assets.d.ts +1 -1
- package/dist/review-page-assets.d.ts.map +1 -1
- package/dist/review-page-assets.js +3 -1
- package/dist/review-page-assets.js.map +1 -1
- package/dist/review-page.d.ts +8 -1
- package/dist/review-page.d.ts.map +1 -1
- package/dist/review-page.js +32 -21
- package/dist/review-page.js.map +1 -1
- package/dist/review-server-guard.d.ts +33 -0
- package/dist/review-server-guard.d.ts.map +1 -0
- package/dist/review-server-guard.js +65 -0
- package/dist/review-server-guard.js.map +1 -0
- package/dist/review-server.d.ts +2 -0
- package/dist/review-server.d.ts.map +1 -1
- package/dist/review-server.js +45 -74
- package/dist/review-server.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/workflow/adapter-12ui.js +1 -1
- package/dist/workflow/adapter-12ui.js.map +1 -1
- package/dist/workflow/adapters.d.ts.map +1 -1
- package/dist/workflow/adapters.js +3 -3
- package/dist/workflow/adapters.js.map +1 -1
- package/dist/workflow/providers.js +2 -2
- package/dist/workflow/providers.js.map +1 -1
- package/dist/workflow/routing.d.ts +8 -1
- package/dist/workflow/routing.d.ts.map +1 -1
- package/dist/workflow/routing.js +9 -2
- package/dist/workflow/routing.js.map +1 -1
- package/dist/workflow/types.d.ts +5 -2
- package/dist/workflow/types.d.ts.map +1 -1
- package/dist/workflow/types.js.map +1 -1
- package/dist/workflow-transport.d.ts.map +1 -1
- package/dist/workflow-transport.js +4 -2
- package/dist/workflow-transport.js.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 +5 -5
- package/dist/workspace-draw-codex.d.ts.map +1 -1
- package/dist/workspace-draw-codex.js +4 -3
- 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 +44 -4
- package/dist/workspace-draw-run.js.map +1 -1
- package/dist/workspace-draw-types.d.ts +18 -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.mjs +42 -19
- package/runtime/codex-conversion/src/run.mjs +2 -1
- package/skills/12ui-design/SKILL.md +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-round-runner.js","sourceRoot":"","sources":["../src/slate-round-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"slate-round-runner.js","sourceRoot":"","sources":["../src/slate-round-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BranchLaunch } from './slate-branch-runner.js';
|
|
1
2
|
import type { SlateCorpus } from './slate-corpus.js';
|
|
2
3
|
import type { SlateImageExecutor } from './slate-image-executor.js';
|
|
3
4
|
import { type LedgerInput } from './slate-ledger.js';
|
|
@@ -21,6 +22,8 @@ export type RunnerEnv = {
|
|
|
21
22
|
workspaceId: string;
|
|
22
23
|
corpus: () => SlateCorpus;
|
|
23
24
|
executor: SlateImageExecutor;
|
|
25
|
+
/** Starts `12ui branch execute` for a branch round (slate-branch-runner.ts). */
|
|
26
|
+
branch: BranchLaunch;
|
|
24
27
|
clock: RunnerClock;
|
|
25
28
|
log: (entry: Record<string, unknown>) => Promise<void>;
|
|
26
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-runner-context.d.ts","sourceRoot":"","sources":["../src/slate-runner-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slate-runner-context.d.ts","sourceRoot":"","sources":["../src/slate-runner-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAExF;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,8FAA8F;IAC9F,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,WAAW,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gFAAgF;IAChF,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC;AAIF,iGAAiG;AACjG,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,SAAS,CAAC,KAAK,CAYxE,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,WAAW,cAAc,EAAE,MAAM,MAAM,KAAG,OAI9D,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,MAAM,GAAI,KAAK,SAAS,EAAE,OAAO,WAAW,KAAG,OAAO,CAAC,IAAI,CAEvE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,KAAK,IAAI,KAAG,OAAO,CAAC,IAAI,CAE7G,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAU,KAAK,SAAS,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAG1E,CAAC;AAEF,MAAM,MAAM,OAAO,GACf;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GACtB;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5B,wFAAwF;AACxF,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,QAAO;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,EAAE,OAAO,YAAY,KAAG,OAGrI,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,QAAQ,GAAU,KAAK,SAAS,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,IAAI,CAa7E,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,YAMhD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,cAAc,MAAM,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,IAAI,CAKhF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-runner-context.js","sourceRoot":"","sources":["../src/slate-runner-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slate-runner-context.js","sourceRoot":"","sources":["../src/slate-runner-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type SlateCorpus } from './slate-corpus.js';
|
|
2
2
|
import { type SlateImageExecutor } from './slate-image-executor.js';
|
|
3
|
+
import { type BranchLaunch } from './slate-branch-runner.js';
|
|
3
4
|
import { type RunnerClock } from './slate-runner-context.js';
|
|
4
5
|
/**
|
|
5
6
|
* The detached process that owns one op to a terminal state (D1).
|
|
@@ -19,6 +20,8 @@ export type RunnerDependencies = {
|
|
|
19
20
|
corpus?: () => SlateCorpus;
|
|
20
21
|
/** The image executor; the default is the local Codex CLI's native image call. */
|
|
21
22
|
executor?: (root: string) => SlateImageExecutor;
|
|
23
|
+
/** How a branch round starts `12ui branch execute`; the default is this CLI as a child process. */
|
|
24
|
+
branch?: BranchLaunch;
|
|
22
25
|
clock?: Partial<RunnerClock>;
|
|
23
26
|
heartbeatIntervalMs?: number;
|
|
24
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-runner-main.d.ts","sourceRoot":"","sources":["../src/slate-runner-main.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"slate-runner-main.d.ts","sourceRoot":"","sources":["../src/slate-runner-main.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAS/F,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE5F,OAAO,EAQL,KAAK,WAAW,EAEjB,MAAM,2BAA2B,CAAC;AAKnC;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,WAAW,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAChD,mGAAmG;IACnG,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,MAAM;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,KAAG,OAAO,CAAC,MAAM,CAqEjB,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { createNativeImageExecutor } from './slate-image-executor.js';
|
|
|
9
9
|
import { OP_ID_PATTERN, digestOf } from './slate-ids.js';
|
|
10
10
|
import { RUNNER_HEARTBEAT_INTERVAL_MS, acquireLock, staleWhenHeartbeatLapsed, } from './slate-lock.js';
|
|
11
11
|
import { ensureRealDirectory, opLockFile } from './slate-paths.js';
|
|
12
|
+
import { runBranch, spawnBranchExecute } from './slate-branch-runner.js';
|
|
12
13
|
import { runRound } from './slate-round-runner.js';
|
|
13
14
|
import { createRunLog, errorFromRunner, finishOp, ledger, opIn, sleepFor, } from './slate-runner-context.js';
|
|
14
15
|
import { RUNNER_ENV_FLAG } from './slate-runner-flag.js';
|
|
@@ -73,6 +74,7 @@ export const runSlateRunner = async (args) => {
|
|
|
73
74
|
workspaceId: workspace.workspaceId,
|
|
74
75
|
corpus: deps.corpus ?? lazyCorpus(() => readCorpusConfig()),
|
|
75
76
|
executor: (deps.executor ?? ((where) => createNativeImageExecutor({ root: where, env: environment })))(root),
|
|
77
|
+
branch: deps.branch ?? spawnBranchExecute,
|
|
76
78
|
clock,
|
|
77
79
|
log: createRunLog(root, args.opId),
|
|
78
80
|
};
|
|
@@ -118,7 +120,9 @@ const execute = async (env, lock) => {
|
|
|
118
120
|
try {
|
|
119
121
|
const { workspace } = await loadWorkspaceAt(env.root, env.clock.now);
|
|
120
122
|
const op = opIn(workspace, env.opId);
|
|
121
|
-
outcome = op.kind === '
|
|
123
|
+
outcome = op.kind === 'edit' ? await runEdit(env, op)
|
|
124
|
+
: op.params.kind === 'round' && op.params.mode === 'branch' ? await runBranch(env, op)
|
|
125
|
+
: await runRound(env, op);
|
|
122
126
|
}
|
|
123
127
|
catch (error) {
|
|
124
128
|
await env.log({ event: 'error', message: error instanceof Error ? error.message : String(error) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-runner-main.js","sourceRoot":"","sources":["../src/slate-runner-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAA2B,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACX,wBAAwB,GAEzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,GAIT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"slate-runner-main.js","sourceRoot":"","sources":["../src/slate-runner-main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import { RUNNER_ENV_FLAG } from './slate-runner-flag.js';
|
|
4
|
-
/** What the runner inherits: enough for `codex exec` to find itself and
|
|
5
|
-
const INHERITED = ['PATH', 'HOME', 'TMPDIR', 'TEMP', 'TMP', 'LANG', 'LC_ALL', 'SYSTEMROOT', 'CODEX_HOME', 'TWELVE_UI_CODEX_BIN', 'TWELVE_UI_ORIGIN'];
|
|
4
|
+
/** What the runner inherits: enough for `codex exec` to find itself, its home and the person's wrapper model, nothing else. */
|
|
5
|
+
const INHERITED = ['PATH', 'HOME', 'TMPDIR', 'TEMP', 'TMP', 'LANG', 'LC_ALL', 'SYSTEMROOT', 'CODEX_HOME', 'TWELVE_UI_CODEX_BIN', 'TWELVE_UI_CODEX_MODEL', 'TWELVE_UI_ORIGIN'];
|
|
6
6
|
export const runnerEnvironment = (args, parent = process.env) => {
|
|
7
7
|
const environment = { [RUNNER_ENV_FLAG]: '1', TWELVE_UI_SLATE_STATE_DIR: args.stateRoot };
|
|
8
8
|
for (const key of INHERITED)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-runner-spawn.js","sourceRoot":"","sources":["../src/slate-runner-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAsBzD
|
|
1
|
+
{"version":3,"file":"slate-runner-spawn.js","sourceRoot":"","sources":["../src/slate-runner-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAsBzD,+HAA+H;AAC/H,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,CAAU,CAAC;AAEvL,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAA2B,EAAE,SAA4B,OAAO,CAAC,GAAG,EAAqB,EAAE;IAC3H,MAAM,WAAW,GAAsB,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,yBAAyB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAC7G,KAAK,MAAM,GAAG,IAAI,SAAS;QAAE,IAAI,MAAM,CAAC,GAAG,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAiB,KAAK,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QACrF,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,IAAI,CAAC,IAAI;QACd,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAC;IACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PrototypeBrowserProvisioning } from './prototype-browsers.js';
|
|
1
2
|
/**
|
|
2
3
|
* The capture step of the References tab: each suggested site opened headless in the Playwright Chromium the CLI
|
|
3
4
|
* already ships, at a desktop viewport, and photographed above the fold once the page has settled, with a trivial
|
|
@@ -7,14 +8,50 @@ export declare const CAPTURE_VIEWPORT: {
|
|
|
7
8
|
readonly width: 1440;
|
|
8
9
|
readonly height: 900;
|
|
9
10
|
};
|
|
11
|
+
/** `lastOverlayMs`: when, after navigation, the last banner or pop-up was cleared (null when none was). */
|
|
10
12
|
export type CapturedSite = {
|
|
11
13
|
image: Buffer;
|
|
12
14
|
thumb: Buffer;
|
|
13
15
|
title: string;
|
|
14
16
|
finalUrl: string;
|
|
17
|
+
lastOverlayMs?: number | null;
|
|
15
18
|
};
|
|
16
|
-
|
|
19
|
+
type PageLike = {
|
|
20
|
+
goto(url: string, options: Record<string, unknown>): Promise<{
|
|
21
|
+
status(): number;
|
|
22
|
+
} | null>;
|
|
23
|
+
waitForLoadState(state: string, options: Record<string, unknown>): Promise<void>;
|
|
24
|
+
waitForTimeout(ms: number): Promise<void>;
|
|
25
|
+
evaluate<T>(script: string): Promise<T>;
|
|
26
|
+
screenshot(options: Record<string, unknown>): Promise<Buffer>;
|
|
27
|
+
title(): Promise<string>;
|
|
28
|
+
url(): string;
|
|
29
|
+
keyboard: {
|
|
30
|
+
press(key: string): Promise<void>;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
type ContextLike = {
|
|
34
|
+
newPage(): Promise<PageLike>;
|
|
35
|
+
close(): Promise<void>;
|
|
36
|
+
};
|
|
37
|
+
export type BrowserLike = {
|
|
38
|
+
newContext(options: Record<string, unknown>): Promise<ContextLike>;
|
|
39
|
+
close(): Promise<void>;
|
|
40
|
+
};
|
|
41
|
+
export type CaptureBrowserDependencies = {
|
|
42
|
+
provisioning?: () => Promise<PrototypeBrowserProvisioning>;
|
|
43
|
+
launch?: () => Promise<BrowserLike>;
|
|
44
|
+
install?: (provisioning: PrototypeBrowserProvisioning) => Promise<void>;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* The managed Chromium, installed first when this home has none: a fresh home (a new person's first `npx`) has no
|
|
48
|
+
* browser, and its References tab stayed empty (seen on design.12ui.com with 0.2.81, 2026-10-02). Any other launch
|
|
49
|
+
* failure is the gather's to report.
|
|
50
|
+
*/
|
|
51
|
+
export declare const launchCaptureBrowser: (deps?: CaptureBrowserDependencies) => Promise<BrowserLike>;
|
|
52
|
+
export declare const openSiteCapture: (deps?: CaptureBrowserDependencies) => Promise<{
|
|
17
53
|
capture: (url: string) => Promise<CapturedSite | null>;
|
|
18
54
|
close: () => Promise<void>;
|
|
19
55
|
}>;
|
|
56
|
+
export {};
|
|
20
57
|
//# sourceMappingURL=slate-site-references-capture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-site-references-capture.d.ts","sourceRoot":"","sources":["../src/slate-site-references-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slate-site-references-capture.d.ts","sourceRoot":"","sources":["../src/slate-site-references-capture.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB;;;CAAwC,CAAC;AAUtE,2GAA2G;AAC3G,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE5H,KAAK,QAAQ,GAAG;IACd,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,IAAI,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC1F,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,GAAG,IAAI,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CACjD,CAAC;AACF,KAAK,WAAW,GAAG;IAAE,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG;IAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AA+DzH,MAAM,MAAM,0BAA0B,GAAG;IACvC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAM,0BAA+B,KAAG,OAAO,CAAC,WAAW,CAWrG,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,OAAM,0BAA+B,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAsC3K,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import sharp from 'sharp';
|
|
2
|
-
import { resolvePrototypeBrowserProvisioning } from './prototype-browsers.js';
|
|
2
|
+
import { installPrototypeBrowser, isMissingPrototypeBrowserOutput, resolvePrototypeBrowserProvisioning, } from './prototype-browsers.js';
|
|
3
3
|
/**
|
|
4
4
|
* The capture step of the References tab: each suggested site opened headless in the Playwright Chromium the CLI
|
|
5
5
|
* already ships, at a desktop viewport, and photographed above the fold once the page has settled, with a trivial
|
|
@@ -73,11 +73,27 @@ const HIDE_OVERLAYS = String.raw `(() => {
|
|
|
73
73
|
})()`;
|
|
74
74
|
const HAS_CONTENT = '((document.body && document.body.innerText || "").trim().length > 40 || document.images.length > 2)';
|
|
75
75
|
const quietly = async (work) => { await work.catch(() => undefined); };
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
/**
|
|
77
|
+
* The managed Chromium, installed first when this home has none: a fresh home (a new person's first `npx`) has no
|
|
78
|
+
* browser, and its References tab stayed empty (seen on design.12ui.com with 0.2.81, 2026-10-02). Any other launch
|
|
79
|
+
* failure is the gather's to report.
|
|
80
|
+
*/
|
|
81
|
+
export const launchCaptureBrowser = async (deps = {}) => {
|
|
82
|
+
const provisioning = await (deps.provisioning ?? resolvePrototypeBrowserProvisioning)();
|
|
78
83
|
process.env.PLAYWRIGHT_BROWSERS_PATH = provisioning.browsersPath;
|
|
79
|
-
const
|
|
80
|
-
|
|
84
|
+
const launch = deps.launch ?? (async () => (await import('@playwright/test')).chromium.launch());
|
|
85
|
+
try {
|
|
86
|
+
return await launch();
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (!isMissingPrototypeBrowserOutput(error instanceof Error ? error.message : String(error)))
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
await (deps.install ?? installPrototypeBrowser)(provisioning);
|
|
93
|
+
return await launch();
|
|
94
|
+
};
|
|
95
|
+
export const openSiteCapture = async (deps = {}) => {
|
|
96
|
+
const browser = await launchCaptureBrowser(deps);
|
|
81
97
|
const capture = async (url) => {
|
|
82
98
|
const context = await browser.newContext({ viewport: CAPTURE_VIEWPORT, deviceScaleFactor: 1, userAgent: USER_AGENT, locale: 'en-US', colorScheme: 'light' });
|
|
83
99
|
try {
|
|
@@ -90,9 +106,11 @@ export const openSiteCapture = async () => {
|
|
|
90
106
|
await quietly(page.waitForLoadState('networkidle', { timeout: IDLE_WAIT_MS }));
|
|
91
107
|
// Banners and pop-ups often arrive a moment after load, some on a timer: clear them, then look again until the
|
|
92
108
|
// settle time has passed.
|
|
109
|
+
let lastOverlayMs = null;
|
|
93
110
|
for (let pass = 0; pass === 0 || Date.now() - startedAt < POPUP_SETTLE_MS; pass += 1) {
|
|
94
111
|
await page.waitForTimeout(pass === 0 ? 800 : 1_000);
|
|
95
|
-
await page.evaluate(CLEAR_OVERLAYS).catch(() => 0)
|
|
112
|
+
if ((await page.evaluate(CLEAR_OVERLAYS).catch(() => 0)) > 0)
|
|
113
|
+
lastOverlayMs = Date.now() - startedAt;
|
|
96
114
|
// A pop-up that listens for Escape closes with it.
|
|
97
115
|
await quietly(page.keyboard.press('Escape'));
|
|
98
116
|
}
|
|
@@ -105,7 +123,7 @@ export const openSiteCapture = async () => {
|
|
|
105
123
|
return null;
|
|
106
124
|
const image = await page.screenshot({ type: 'jpeg', quality: 82, clip: { x: 0, y: 0, ...CAPTURE_VIEWPORT } });
|
|
107
125
|
const thumb = await sharp(image).resize({ width: THUMB_WIDTH }).jpeg({ quality: 78, mozjpeg: true }).toBuffer();
|
|
108
|
-
return { image, thumb, title: (await page.title().catch(() => '')).trim(), finalUrl: page.url() };
|
|
126
|
+
return { image, thumb, title: (await page.title().catch(() => '')).trim(), finalUrl: page.url(), lastOverlayMs };
|
|
109
127
|
}
|
|
110
128
|
catch {
|
|
111
129
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-site-references-capture.js","sourceRoot":"","sources":["../src/slate-site-references-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"slate-site-references-capture.js","sourceRoot":"","sources":["../src/slate-site-references-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { type DrawFetch } from './workspace-draw-client.js';
|
|
2
2
|
/**
|
|
3
3
|
* The References tab's two calls on design.12ui.com, authenticated by the workspace's upload token like the draw
|
|
4
|
-
* command's: what to look for (the brief, and the sites already added),
|
|
4
|
+
* command's: what to look for (the brief, and the sites already added), the sites still being captured (the plan), and
|
|
5
|
+
* one captured site.
|
|
6
|
+
*
|
|
7
|
+
* A refusal the server marks retryable (a `409 workspace_busy` while another write holds the workspace, a `429`) is
|
|
8
|
+
* tried again after a short backoff, up to `SITES_ATTEMPTS` in all: both calls are idempotent (the same page pushed
|
|
9
|
+
* twice is replayed, never added twice), and a site dropped on a busy workspace was a site the person never saw.
|
|
5
10
|
*/
|
|
6
11
|
export type SitesBrief = {
|
|
7
12
|
concept: string;
|
|
@@ -19,13 +24,20 @@ export type SitePush = {
|
|
|
19
24
|
image: Buffer;
|
|
20
25
|
thumb: Buffer;
|
|
21
26
|
};
|
|
27
|
+
export declare const SITES_ATTEMPTS = 4;
|
|
22
28
|
export declare const createSitesClient: (args: {
|
|
23
29
|
origin: string;
|
|
24
30
|
token: string;
|
|
25
31
|
cliVersion: string;
|
|
26
32
|
fetch?: DrawFetch;
|
|
33
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
27
34
|
}) => {
|
|
28
35
|
brief: () => Promise<SitesBrief>;
|
|
36
|
+
/** The sites still to be captured; `ended` on the last (empty) plan, when gathering is over. */
|
|
37
|
+
plan: (pending: {
|
|
38
|
+
url: string;
|
|
39
|
+
title: string;
|
|
40
|
+
}[], ended?: boolean) => Promise<void>;
|
|
29
41
|
push: (site: SitePush) => Promise<{
|
|
30
42
|
id: string;
|
|
31
43
|
replayed: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-site-references-client.d.ts","sourceRoot":"","sources":["../src/slate-site-references-client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"slate-site-references-client.d.ts","sourceRoot":"","sources":["../src/slate-site-references-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4F,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEtJ;;;;;;;;GAQG;AAEH,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5H,MAAM,MAAM,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,eAAO,MAAM,cAAc,IAAI,CAAC;AAUhC,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;iBAuBoB,OAAO,CAAC,UAAU,CAAC;IAUpC,gGAAgG;oBAC1E;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,sBAAkB,OAAO,CAAC,IAAI,CAAC;iBAGlE,QAAQ,KAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAa3E,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,18 +1,37 @@
|
|
|
1
|
-
import { CLI_HEADER, NO_REDIRECT, PUSH_HEADER, readBody } from './workspace-draw-client.js';
|
|
1
|
+
import { CLI_HEADER, DrawHttpError, errorCodeOf, NO_REDIRECT, PUSH_HEADER, readBody, retryAfterOf } from './workspace-draw-client.js';
|
|
2
|
+
export const SITES_ATTEMPTS = 4;
|
|
3
|
+
const BACKOFF_MS = 400;
|
|
4
|
+
const BACKOFF_MAX_MS = 3_000;
|
|
5
|
+
const retryableOf = (status, body) => {
|
|
6
|
+
if (status === 429)
|
|
7
|
+
return true;
|
|
8
|
+
const error = body && typeof body === 'object' ? body.error : undefined;
|
|
9
|
+
return !!error && typeof error === 'object' && error.retryable === true;
|
|
10
|
+
};
|
|
2
11
|
export const createSitesClient = (args) => {
|
|
3
12
|
const fetcher = args.fetch ?? ((url, init) => fetch(url, init));
|
|
13
|
+
const sleep = args.sleep ?? ((milliseconds) => new Promise((resolve) => { setTimeout(resolve, milliseconds); }));
|
|
4
14
|
const url = `${args.origin}/api/v1/slate/sites`;
|
|
5
15
|
const headers = { [PUSH_HEADER]: args.token, [CLI_HEADER]: args.cliVersion };
|
|
16
|
+
/** `init` is built afresh for each attempt (a form body is sent once). */
|
|
6
17
|
const call = async (init) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
for (let attempt = 1;; attempt += 1) {
|
|
19
|
+
const request = init();
|
|
20
|
+
const response = await fetcher(url, { ...request, redirect: NO_REDIRECT, headers: { ...headers, ...request.headers } });
|
|
21
|
+
const body = await readBody(response);
|
|
22
|
+
if (response.ok && body && typeof body === 'object')
|
|
23
|
+
return body;
|
|
24
|
+
const retryAfter = retryAfterOf(response, body);
|
|
25
|
+
if (!response.ok && retryableOf(response.status, body) && attempt < SITES_ATTEMPTS) {
|
|
26
|
+
await sleep(Math.min(BACKOFF_MAX_MS, retryAfter !== null ? retryAfter * 1000 : BACKOFF_MS * 2 ** (attempt - 1)));
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
throw new DrawHttpError(response.status, errorCodeOf(body) ?? `http_${response.status}`, retryAfter, body);
|
|
30
|
+
}
|
|
12
31
|
};
|
|
13
32
|
return {
|
|
14
33
|
brief: async () => {
|
|
15
|
-
const body = await call({ method: 'GET' });
|
|
34
|
+
const body = await call(() => ({ method: 'GET' }));
|
|
16
35
|
const brief = (body.brief ?? {});
|
|
17
36
|
return {
|
|
18
37
|
concept: typeof brief.concept === 'string' ? brief.concept : '',
|
|
@@ -21,14 +40,20 @@ export const createSitesClient = (args) => {
|
|
|
21
40
|
max: typeof body.max === 'number' ? body.max : 12,
|
|
22
41
|
};
|
|
23
42
|
},
|
|
43
|
+
/** The sites still to be captured; `ended` on the last (empty) plan, when gathering is over. */
|
|
44
|
+
plan: async (pending, ended = false) => {
|
|
45
|
+
await call(() => ({ method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(ended ? { pending, ended: true } : { pending }) }));
|
|
46
|
+
},
|
|
24
47
|
push: async (site) => {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
48
|
+
const body = await call(() => {
|
|
49
|
+
const form = new FormData();
|
|
50
|
+
form.append('url', site.url);
|
|
51
|
+
form.append('title', site.title);
|
|
52
|
+
form.append('why', site.why);
|
|
53
|
+
form.append('image', new Blob([new Uint8Array(site.image)], { type: 'image/jpeg' }), 'image.jpg');
|
|
54
|
+
form.append('thumb', new Blob([new Uint8Array(site.thumb)], { type: 'image/jpeg' }), 'thumb.jpg');
|
|
55
|
+
return { method: 'POST', body: form };
|
|
56
|
+
});
|
|
32
57
|
return { id: String(body.id), replayed: body.replayed === true };
|
|
33
58
|
},
|
|
34
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-site-references-client.js","sourceRoot":"","sources":["../src/slate-site-references-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAkB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"slate-site-references-client.js","sourceRoot":"","sources":["../src/slate-site-references-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { type PlannedSite } from './slate-site-references.js';
|
|
1
2
|
import type { SitePush } from './slate-site-references-client.js';
|
|
2
3
|
export declare const localSiteId: (url: string) => string;
|
|
3
4
|
export declare const addLocalSite: (root: string, site: SitePush) => Promise<string>;
|
|
5
|
+
/** The sites still being captured, in capture order, replacing the last plan; the ones already in `sites` are left out. */
|
|
6
|
+
export declare const planLocalSites: (root: string, planned: PlannedSite[]) => Promise<void>;
|
|
4
7
|
/** Gather once per workspace per server process; a workspace that already has its sites gathers nothing. */
|
|
5
8
|
export declare const startLocalReferences: (root: string, env?: NodeJS.ProcessEnv) => void;
|
|
6
9
|
//# sourceMappingURL=slate-site-references-local.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-site-references-local.d.ts","sourceRoot":"","sources":["../src/slate-site-references-local.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slate-site-references-local.d.ts","sourceRoot":"","sources":["../src/slate-site-references-local.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAiBlE,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAAuD,CAAC;AAOlG,eAAO,MAAM,YAAY,GAAU,MAAM,MAAM,EAAE,MAAM,QAAQ,KAAG,OAAO,CAAC,MAAM,CAgB/E,CAAC;AAEF,2HAA2H;AAC3H,eAAO,MAAM,cAAc,GAAU,MAAM,MAAM,EAAE,SAAS,WAAW,EAAE,KAAG,OAAO,CAAC,IAAI,CAUvF,CAAC;AAIF,4GAA4G;AAC5G,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,MAAK,MAAM,CAAC,UAAwB,KAAG,IAgBzF,CAAC"}
|
|
@@ -9,7 +9,8 @@ import { loadWorkspaceAt, mutateWorkspace, NoWrite } from './slate-workspace-sto
|
|
|
9
9
|
* The local plugin's References tab: the same gathering as the hosted workspace's, started by the local MCP server the
|
|
10
10
|
* first time it shows a workspace with fewer than a dozen sites. Each site's screenshot is cached as that reference's
|
|
11
11
|
* pictures (`inspiration/<id>.ref.png` and `.thumb.png`), so the reference tool, the selection and the local runner's
|
|
12
|
-
* draws take it like any reference, and the record names it in `sites
|
|
12
|
+
* draws take it like any reference, and the record names it in `sites`; the sites still being captured are its
|
|
13
|
+
* `pendingSites`, so the tab shows a named placeholder for each.
|
|
13
14
|
*/
|
|
14
15
|
/** `site-` and 16 hex of sha256 of the page address without its fragment: the hosted server's id for the same page. */
|
|
15
16
|
const pageOf = (url) => {
|
|
@@ -35,11 +36,28 @@ export const addLocalSite = async (root, site) => {
|
|
|
35
36
|
if (sites.some((entry) => entry.referenceId === id))
|
|
36
37
|
return new NoWrite(undefined);
|
|
37
38
|
workspace.sites = [...sites, { referenceId: id, url: pageOf(site.url), title: site.title.slice(0, 200), why: site.why ? site.why.slice(0, 500) : null }];
|
|
39
|
+
if (workspace.pendingSites)
|
|
40
|
+
workspace.pendingSites = workspace.pendingSites.filter((entry) => entry.referenceId !== id);
|
|
38
41
|
workspace.references[id] = { referenceId: id, aspect: 'landscape', width: width ?? null, height: height ?? null, description: site.title.slice(0, 200), uiType: 'website' };
|
|
39
42
|
return undefined;
|
|
40
43
|
});
|
|
41
44
|
return id;
|
|
42
45
|
};
|
|
46
|
+
/** The sites still being captured, in capture order, replacing the last plan; the ones already in `sites` are left out. */
|
|
47
|
+
export const planLocalSites = async (root, planned) => {
|
|
48
|
+
await mutateWorkspace(root, (workspace) => {
|
|
49
|
+
const landed = new Set((workspace.sites ?? []).map((site) => site.referenceId));
|
|
50
|
+
const next = planned.map((site) => ({ referenceId: localSiteId(site.url), url: pageOf(site.url), title: site.title.slice(0, 200) }))
|
|
51
|
+
.filter((site) => !landed.has(site.referenceId)).slice(0, SITE_TARGET * 2);
|
|
52
|
+
if (JSON.stringify(next) === JSON.stringify(workspace.pendingSites ?? []))
|
|
53
|
+
return new NoWrite(undefined);
|
|
54
|
+
if (next.length > 0)
|
|
55
|
+
workspace.pendingSites = next;
|
|
56
|
+
else
|
|
57
|
+
delete workspace.pendingSites;
|
|
58
|
+
return undefined;
|
|
59
|
+
});
|
|
60
|
+
};
|
|
43
61
|
const started = new Set();
|
|
44
62
|
/** Gather once per workspace per server process; a workspace that already has its sites gathers nothing. */
|
|
45
63
|
export const startLocalReferences = (root, env = process.env) => {
|
|
@@ -57,6 +75,7 @@ export const startLocalReferences = (root, env = process.env) => {
|
|
|
57
75
|
env,
|
|
58
76
|
progress: (line) => { process.stderr.write(`${line}\n`); },
|
|
59
77
|
push: async (site) => { await addLocalSite(root, site); },
|
|
78
|
+
plan: async (sites) => { await planLocalSites(root, sites); },
|
|
60
79
|
});
|
|
61
80
|
})().catch((error) => { process.stderr.write(`12ui references: stopped: ${error instanceof Error ? error.message : String(error)}\n`); });
|
|
62
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-site-references-local.js","sourceRoot":"","sources":["../src/slate-site-references-local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"slate-site-references-local.js","sourceRoot":"","sources":["../src/slate-site-references-local.ts"],"names":[],"mappings":"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"}
|