@bastani/atomic 0.9.14-alpha.1 → 0.9.14-alpha.2
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/CHANGELOG.md +46 -0
- package/README.md +3 -3
- package/dist/builtin/intercom/package.json +2 -2
- package/dist/builtin/mcp/package.json +3 -3
- package/dist/builtin/subagents/CHANGELOG.md +14 -0
- package/dist/builtin/subagents/README.md +6 -4
- package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
- package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-locator.md +1 -1
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +1 -1
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +1 -1
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-research-locator.md +1 -1
- package/dist/builtin/subagents/agents/debugger.md +1 -1
- package/dist/builtin/subagents/agents/worker.md +1 -1
- package/dist/builtin/subagents/package.json +6 -5
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +17 -11
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +115 -43
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +10 -8
- package/dist/builtin/subagents/src/agents/agent-management.ts +8 -7
- package/dist/builtin/subagents/src/agents/agent-overrides.ts +2 -2
- package/dist/builtin/subagents/src/agents/agent-scope.ts +1 -1
- package/dist/builtin/subagents/src/agents/agent-selection.ts +1 -1
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +24 -3
- package/dist/builtin/subagents/src/agents/agent-types.ts +3 -1
- package/dist/builtin/subagents/src/agents/agents.ts +7 -5
- package/dist/builtin/subagents/src/agents/frontmatter.ts +67 -22
- package/dist/builtin/subagents/src/agents/identity.ts +1 -1
- package/dist/builtin/subagents/src/agents/skills-paths.ts +1 -1
- package/dist/builtin/subagents/src/agents/skills.ts +64 -6
- package/dist/builtin/subagents/src/extension/config.ts +1 -1
- package/dist/builtin/subagents/src/extension/control-notices.ts +2 -2
- package/dist/builtin/subagents/src/extension/doctor.ts +15 -5
- package/dist/builtin/subagents/src/extension/fanout-child.ts +12 -12
- package/dist/builtin/subagents/src/extension/index.ts +23 -23
- package/dist/builtin/subagents/src/extension/notification-content.ts +1 -1
- package/dist/builtin/subagents/src/extension/schemas.ts +1 -1
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +3 -3
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +3 -3
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +1 -1
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +1 -1
- package/dist/builtin/subagents/src/runs/foreground/completion-notification.ts +2 -2
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +1 -1
- package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +3 -3
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +1 -1
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +2 -2
- package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +1 -1
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +2 -2
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +27 -11
- package/dist/builtin/subagents/src/runs/foreground/notify.ts +3 -3
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +11 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +3 -3
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +15 -14
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +19 -19
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +2 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +14 -13
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +9 -9
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +7 -7
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +6 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +24 -23
- package/dist/builtin/subagents/src/runs/inprocess/control-registry.ts +1 -1
- package/dist/builtin/subagents/src/runs/inprocess/control-status.ts +3 -3
- package/dist/builtin/subagents/src/runs/inprocess/index.ts +3 -3
- package/dist/builtin/subagents/src/runs/inprocess/prompt-behavior.ts +17 -8
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +60 -12
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-api.ts +8 -8
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-control.ts +3 -3
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-core.ts +4 -4
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-projection.ts +4 -4
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-registry.ts +5 -5
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-rendering.ts +3 -3
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-sanitize.ts +3 -3
- package/dist/builtin/subagents/src/runs/inprocess.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +3 -3
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +2 -2
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +1 -1
- package/dist/builtin/subagents/src/shared/artifacts.ts +2 -2
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +1 -1
- package/dist/builtin/subagents/src/shared/fast-mode.ts +1 -1
- package/dist/builtin/subagents/src/shared/formatters.ts +2 -2
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +1 -1
- package/dist/builtin/subagents/src/shared/model-resolution.ts +1 -1
- package/dist/builtin/subagents/src/shared/session-tokens.ts +1 -1
- package/dist/builtin/subagents/src/shared/settings.ts +4 -4
- package/dist/builtin/subagents/src/shared/status-format.ts +1 -1
- package/dist/builtin/subagents/src/shared/types-config.ts +16 -4
- package/dist/builtin/subagents/src/shared/types-depth.ts +1 -1
- package/dist/builtin/subagents/src/shared/types-nested.ts +1 -1
- package/dist/builtin/subagents/src/shared/types-output.ts +1 -1
- package/dist/builtin/subagents/src/shared/types-results.ts +1 -1
- package/dist/builtin/subagents/src/shared/types-runtime.ts +1 -1
- package/dist/builtin/subagents/src/shared/types.ts +6 -6
- package/dist/builtin/subagents/src/shared/utils.ts +3 -3
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +1 -1
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +3 -3
- package/dist/builtin/subagents/src/slash/slash-commands.ts +6 -6
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +3 -3
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +2 -2
- package/dist/builtin/subagents/src/tui/render-layout.ts +1 -1
- package/dist/builtin/subagents/src/tui/render-progress.ts +2 -2
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +7 -7
- package/dist/builtin/subagents/src/tui/render-result.ts +10 -10
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -1
- package/dist/builtin/subagents/src/tui/render-status-progress.ts +5 -5
- package/dist/builtin/subagents/src/tui/render.ts +4 -4
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +45 -0
- package/dist/builtin/workflows/README.md +30 -8
- package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +16 -5
- package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +12 -4
- package/dist/builtin/workflows/builtin/goal-models.ts +8 -10
- package/dist/builtin/workflows/builtin/index.d.ts +0 -4
- package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +4 -2
- package/dist/builtin/workflows/builtin/open-claude-design-live-protocol.ts +305 -0
- package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +115 -171
- package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +9 -25
- package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +19 -86
- package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +0 -6
- package/dist/builtin/workflows/builtin/open-claude-design.d.ts +0 -5
- package/dist/builtin/workflows/builtin/open-claude-design.ts +7 -15
- package/dist/builtin/workflows/builtin/ralph-models.ts +24 -29
- package/dist/builtin/workflows/builtin/tournament-runner.ts +6 -3
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/skills/impeccable/SKILL.md +3 -3
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_asset_producer.toml +25 -31
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_documenter.toml +1 -0
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_finish_reviewer.toml +16 -10
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_manual_edit_applier.toml +2 -2
- package/dist/builtin/workflows/skills/impeccable/reference/android.md +6 -0
- package/dist/builtin/workflows/skills/impeccable/reference/animate.md +3 -0
- package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +3 -1
- package/dist/builtin/workflows/skills/impeccable/reference/craft-floor.md +6 -1
- package/dist/builtin/workflows/skills/impeccable/reference/critique.md +18 -2
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +24 -30
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/documenter.md +1 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +16 -10
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/manual-edit-applier.md +2 -2
- package/dist/builtin/workflows/skills/impeccable/reference/distill.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/doctor.md +1 -0
- package/dist/builtin/workflows/skills/impeccable/reference/document.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/extract.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +12 -6
- package/dist/builtin/workflows/skills/impeccable/reference/init.md +12 -3
- package/dist/builtin/workflows/skills/impeccable/reference/ios.md +6 -0
- package/dist/builtin/workflows/skills/impeccable/reference/live-setup.md +102 -0
- package/dist/builtin/workflows/skills/impeccable/reference/live.md +113 -521
- package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +39 -26
- package/dist/builtin/workflows/skills/impeccable/reference/overdrive.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/polish.md +3 -3
- package/dist/builtin/workflows/skills/impeccable/reference/quieter.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +25 -11
- package/dist/builtin/workflows/skills/impeccable/scripts/concept-seed.mjs +332 -221
- package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +10 -19
- package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +91 -38
- package/dist/builtin/workflows/skills/impeccable/scripts/critique-storage.mjs +19 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +56 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +10 -16
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +140 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +1174 -694
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns.mjs +1 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +5 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +431 -45
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +10 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +47 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/node/file-system.mjs +23 -22
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +0 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +384 -384
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/color.mjs +466 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/doctor.mjs +2 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/embed-prompt.mjs +270 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/generate-image.mjs +51 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +70 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +336 -90
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/composition-catalog.mjs +38 -3
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/concept-catalog.mjs +77 -11
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/design-parser.mjs +102 -19
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +44 -59
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/is-generated.mjs +3 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/open-system-browser.mjs +57 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/roll-selection.mjs +369 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-deep.mjs +31 -3
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness.mjs +73 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/live/accept-css.mjs +617 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/accept-verify.mjs +71 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/browser-script-parts.mjs +29 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/live/event-validation.mjs +54 -7
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +157 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/journal.mjs +205 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/nuxt.mjs +170 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/script-src.mjs +26 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/instructions.mjs +169 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/roots.mjs +670 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/session-store.mjs +232 -35
- package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-ast.mjs +969 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-component.mjs +621 -74
- package/dist/builtin/workflows/skills/impeccable/scripts/live/sveltekit-adapter.mjs +66 -28
- package/dist/builtin/workflows/skills/impeccable/scripts/live/tanstack-adapter.mjs +12 -12
- package/dist/builtin/workflows/skills/impeccable/scripts/live/ui-surfaces.mjs +75 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/vocabulary.mjs +135 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +23 -37
- package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +945 -115
- package/dist/builtin/workflows/skills/impeccable/scripts/live-complete.mjs +33 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/live-copy-edit-agent.mjs +132 -15
- package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +173 -425
- package/dist/builtin/workflows/skills/impeccable/scripts/live-insert.mjs +2 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +16 -3
- package/dist/builtin/workflows/skills/impeccable/scripts/live-resume.mjs +39 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +194 -27
- package/dist/builtin/workflows/skills/impeccable/scripts/live-status.mjs +10 -4
- package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +50 -31
- package/dist/builtin/workflows/skills/impeccable/scripts/live.mjs +91 -28
- package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +8 -5
- package/dist/builtin/workflows/skills/impeccable/scripts/serve-question.mjs +759 -109
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +10 -0
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +30 -17
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +14 -0
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +60 -57
- package/dist/builtin/workflows/src/durable/dbos-process-owner.ts +87 -0
- package/dist/builtin/workflows/src/durable/dbos-registration-diagnostics.ts +113 -0
- package/dist/builtin/workflows/src/durable/factory.ts +11 -8
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +5 -0
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +186 -20
- package/dist/builtin/workflows/src/durable/types.ts +4 -0
- package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +9 -1
- package/dist/builtin/workflows/src/extension/adopt-session-run-state.ts +20 -0
- package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +9 -30
- package/dist/builtin/workflows/src/extension/extension-factory.ts +3 -0
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +28 -10
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +2680 -1418
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +4 -1
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +29 -5
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +32 -1
- package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +10 -1
- package/dist/builtin/workflows/src/runs/background/job-tracker.ts +10 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +16 -11
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +31 -1
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +41 -10
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +48 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +4 -1
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +45 -12
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +9 -0
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +9 -0
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +14 -2
- package/dist/builtin/workflows/src/shared/prompt-answer.ts +130 -0
- package/dist/builtin/workflows/src/shared/session-scoped-singleton.ts +98 -0
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +9 -1
- package/dist/builtin/workflows/src/shared/store-factory.ts +9 -1
- package/dist/builtin/workflows/src/shared/store-public-types.ts +2 -1
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +7 -0
- package/dist/builtin/workflows/src/shared/store-types.ts +18 -1
- package/dist/builtin/workflows/src/shared/tool-payload-bounds.ts +576 -0
- package/dist/builtin/workflows/src/tui/graph-theme.ts +8 -1
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +11 -0
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +100 -5
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +42 -11
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +55 -6
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +71 -6
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +43 -0
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +2 -0
- package/dist/builtin/workflows/src/tui/node-card.ts +5 -1
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +11 -2
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +36 -10
- package/dist/builtin/workflows/src/tui/switcher.ts +11 -4
- package/dist/builtin/workflows/src/tui/tool-detail.ts +348 -0
- package/dist/builtin/workflows/src/tui/workflow-status.ts +5 -2
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +11 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts +1 -1
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/credential-print.d.ts +1 -1
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/list-models.d.ts +1 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +9 -0
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +7 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/core/agent-session-custom-message-commit.js +2 -2
- package/dist/core/agent-session-custom-message-commit.js.map +1 -1
- package/dist/core/agent-session-export.d.ts +6 -1
- package/dist/core/agent-session-export.d.ts.map +1 -1
- package/dist/core/agent-session-export.js +6 -3
- package/dist/core/agent-session-export.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +6 -4
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +5 -2
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts +12 -1
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +31 -10
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +1 -1
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-skill-block.d.ts +1 -0
- package/dist/core/agent-session-skill-block.d.ts.map +1 -1
- package/dist/core/agent-session-skill-block.js +18 -2
- package/dist/core/agent-session-skill-block.js.map +1 -1
- package/dist/core/agent-session-state.d.ts.map +1 -1
- package/dist/core/agent-session-state.js +2 -1
- package/dist/core/agent-session-state.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +2 -1
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +1 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/atomic-guide-command.js +2 -2
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +0 -6
- package/dist/core/builtin-packages.js.map +1 -1
- package/dist/core/cloudflare-gateway-binding.d.ts +11 -0
- package/dist/core/cloudflare-gateway-binding.d.ts.map +1 -0
- package/dist/core/cloudflare-gateway-binding.js +11 -0
- package/dist/core/cloudflare-gateway-binding.js.map +1 -0
- package/dist/core/codex-fast-mode-transport.d.ts +12 -0
- package/dist/core/codex-fast-mode-transport.d.ts.map +1 -0
- package/dist/core/codex-fast-mode-transport.js +130 -0
- package/dist/core/codex-fast-mode-transport.js.map +1 -0
- package/dist/core/codex-fast-mode.d.ts +20 -6
- package/dist/core/codex-fast-mode.d.ts.map +1 -1
- package/dist/core/codex-fast-mode.js +111 -3
- package/dist/core/codex-fast-mode.js.map +1 -1
- package/dist/core/diagnostics.d.ts +4 -0
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/event-bus.d.ts +12 -0
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +22 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/experimental.d.ts +25 -0
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js +24 -0
- package/dist/core/experimental.js.map +1 -1
- package/dist/core/export-html/template-js/tree-filter-render.js +4 -3
- package/dist/core/export-html/template.js +4 -3
- package/dist/core/extension-session-state.d.ts +28 -0
- package/dist/core/extension-session-state.d.ts.map +1 -0
- package/dist/core/extension-session-state.js +55 -0
- package/dist/core/extension-session-state.js.map +1 -0
- package/dist/core/extensions/api-types.d.ts +6 -0
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +4 -0
- package/dist/core/extensions/context-types.d.ts.map +1 -1
- package/dist/core/extensions/context-types.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +16 -10
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +12 -1
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/runner-context.d.ts +2 -0
- package/dist/core/extensions/runner-context.d.ts.map +1 -1
- package/dist/core/extensions/runner-context.js +8 -0
- package/dist/core/extensions/runner-context.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +1 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +3 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +3 -0
- package/dist/core/extensions/runtime-types.d.ts.map +1 -1
- package/dist/core/extensions/runtime-types.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +5 -0
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/keybindings.d.ts +24 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +6 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +1 -0
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +1 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-cli.d.ts +1 -1
- package/dist/core/model-resolver-cli.js.map +1 -1
- package/dist/core/model-resolver-defaults.js +3 -3
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/model-resolver-initial.d.ts +1 -1
- package/dist/core/model-resolver-initial.js.map +1 -1
- package/dist/core/model-resolver-scope.d.ts +1 -1
- package/dist/core/model-resolver-scope.js.map +1 -1
- package/dist/core/model-runtime.d.ts +54 -0
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +96 -13
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/oauth-login.js.map +1 -1
- package/dist/core/project-trust.d.ts +10 -0
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.js +12 -0
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/resource-loader-assets.d.ts.map +1 -1
- package/dist/core/resource-loader-assets.js +14 -5
- package/dist/core/resource-loader-assets.js.map +1 -1
- package/dist/core/resource-loader-core.d.ts +3 -0
- package/dist/core/resource-loader-core.d.ts.map +1 -1
- package/dist/core/resource-loader-core.js +5 -0
- package/dist/core/resource-loader-core.js.map +1 -1
- package/dist/core/resource-loader-internals.d.ts +2 -0
- package/dist/core/resource-loader-internals.d.ts.map +1 -1
- package/dist/core/resource-loader-internals.js.map +1 -1
- package/dist/core/resource-loader-reload.d.ts.map +1 -1
- package/dist/core/resource-loader-reload.js +2 -0
- package/dist/core/resource-loader-reload.js.map +1 -1
- package/dist/core/resource-loader-types.d.ts +2 -0
- package/dist/core/resource-loader-types.d.ts.map +1 -1
- package/dist/core/resource-loader-types.js.map +1 -1
- package/dist/core/resource-loader.d.ts +2 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +1 -0
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk-types.d.ts +7 -6
- package/dist/core/sdk-types.d.ts.map +1 -1
- package/dist/core/sdk-types.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +17 -6
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager-core.d.ts +7 -1
- package/dist/core/session-manager-core.d.ts.map +1 -1
- package/dist/core/session-manager-core.js +11 -2
- package/dist/core/session-manager-core.js.map +1 -1
- package/dist/core/session-manager-entries.d.ts +2 -2
- package/dist/core/session-manager-entries.d.ts.map +1 -1
- package/dist/core/session-manager-entries.js +6 -4
- package/dist/core/session-manager-entries.js.map +1 -1
- package/dist/core/session-manager-list.d.ts.map +1 -1
- package/dist/core/session-manager-list.js +5 -1
- package/dist/core/session-manager-list.js.map +1 -1
- package/dist/core/session-manager-types.d.ts +25 -2
- package/dist/core/session-manager-types.d.ts.map +1 -1
- package/dist/core/session-manager-types.js.map +1 -1
- package/dist/core/session-manager.d.ts +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +1 -0
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +8 -0
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager-ui-accessors.d.ts +3 -1
- package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-ui-accessors.js +9 -0
- package/dist/core/settings-manager-ui-accessors.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-types.d.ts +4 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/skill-catalog.d.ts +35 -0
- package/dist/core/skill-catalog.d.ts.map +1 -0
- package/dist/core/skill-catalog.js +264 -0
- package/dist/core/skill-catalog.js.map +1 -0
- package/dist/core/skills-async.d.ts.map +1 -1
- package/dist/core/skills-async.js +12 -6
- package/dist/core/skills-async.js.map +1 -1
- package/dist/core/skills.d.ts +2 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +8 -5
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -5
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.js +2 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts +4 -2
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js +13 -9
- package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +2 -0
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +2 -0
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +3 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.js +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/hashline-engine/format.d.ts +2 -0
- package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/format.js +4 -2
- package/dist/core/tools/hashline-engine/format.js.map +1 -1
- package/dist/core/tools/hashline-engine/messages.d.ts +2 -0
- package/dist/core/tools/hashline-engine/messages.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/messages.js +4 -2
- package/dist/core/tools/hashline-engine/messages.js.map +1 -1
- package/dist/core/tools/hashline-engine/parser.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/parser.js +16 -4
- package/dist/core/tools/hashline-engine/parser.js.map +1 -1
- package/dist/core/tools/hashline-engine/tokenizer.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/tokenizer.js +37 -27
- package/dist/core/tools/hashline-engine/tokenizer.js.map +1 -1
- package/dist/core/tools/hashline.d.ts.map +1 -1
- package/dist/core/tools/hashline.js +8 -2
- package/dist/core/tools/hashline.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +2 -0
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +8 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/search.d.ts.map +1 -1
- package/dist/core/tools/search.js +2 -0
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/tools/todos.d.ts +3 -12
- package/dist/core/tools/todos.d.ts.map +1 -1
- package/dist/core/tools/todos.js +19 -4
- package/dist/core/tools/todos.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +2 -0
- package/dist/core/tools/write.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/main-runtime-api-key.d.ts +1 -1
- package/dist/main-runtime-api-key.js.map +1 -1
- package/dist/main-session-options.d.ts +1 -1
- package/dist/main-session-options.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +10 -2
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +8 -0
- package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.js +8 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +26 -0
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +38 -0
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts +37 -0
- package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.js +54 -1
- package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.js +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +2 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts +4 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js +4 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.js +3 -0
- package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js +7 -0
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +3 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +12 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +5 -4
- package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.js +2 -2
- package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-custom-ui.js +2 -2
- package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +38 -3
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +75 -10
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +7 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-types.d.ts +2 -0
- package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
- package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +8 -1
- package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-model-catalog-startup.js +13 -3
- package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.js +3 -4
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +6 -0
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-disclosure.js +2 -2
- package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +7 -3
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +7 -1
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +2 -2
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +34 -9
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-tui.d.ts +18 -1
- package/dist/modes/interactive/interactive-tui.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-tui.js +126 -38
- package/dist/modes/interactive/interactive-tui.js.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.d.ts +17 -0
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
- package/dist/modes/interactive/model-catalog-refresh.js +84 -0
- package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +2 -0
- package/dist/modes/interactive/theme/light.json +2 -0
- package/dist/modes/interactive/theme/theme-class.d.ts +12 -3
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +6 -1
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +10 -2
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +23 -10
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.js +1 -0
- package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.d.ts +8 -0
- package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.js +3 -1
- package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +9 -1
- package/dist/modes/json-event.d.ts +6 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +17 -2
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +5 -4
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
- package/dist/modes/rpc/rpc-responses.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/server/create-harness.d.ts.map +1 -1
- package/dist/server/create-harness.js +11 -0
- package/dist/server/create-harness.js.map +1 -1
- package/dist/utils/abort.d.ts +9 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +19 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +16 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +19 -19
- package/dist/utils/tools-manager.js.map +1 -1
- package/docs/custom-provider.md +9 -8
- package/docs/development.md +0 -1
- package/docs/docs.json +0 -1
- package/docs/environment-variables.md +3 -0
- package/docs/extensions.md +73 -2
- package/docs/json.md +3 -1
- package/docs/keybindings.md +7 -3
- package/docs/models/artificial-analysis-index.md +2 -2
- package/docs/models/model-selection.md +32 -23
- package/docs/models/pareto-efficiency.md +25 -24
- package/docs/providers.md +95 -2
- package/docs/quickstart.md +4 -2
- package/docs/rpc.md +21 -7
- package/docs/sdk.md +26 -1
- package/docs/session-format.md +5 -2
- package/docs/settings.md +34 -3
- package/docs/skills.md +16 -1
- package/docs/terminal-setup.md +15 -2
- package/docs/themes.md +22 -4
- package/docs/tools.md +3 -1
- package/docs/tui.md +2 -0
- package/docs/usage.md +5 -4
- package/docs/workflows.md +62 -19
- package/npm-shrinkwrap.json +211 -232
- package/package.json +8 -8
- package/dist/builtin/i-have-adhd/CHANGELOG.md +0 -30
- package/dist/builtin/i-have-adhd/LICENSE +0 -21
- package/dist/builtin/i-have-adhd/README.md +0 -18
- package/dist/builtin/i-have-adhd/index.ts +0 -238
- package/dist/builtin/i-have-adhd/package.json +0 -56
- package/dist/builtin/i-have-adhd/skills/i-have-adhd/SKILL.md +0 -140
- package/dist/builtin/workflows/builtin/open-claude-design-feedback.ts +0 -359
- package/dist/builtin/workflows/skills/impeccable/scripts/live/ui-core.mjs +0 -180
- package/docs/i-have-adhd.md +0 -36
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { WorkflowParallelOptions, WorkflowTaskOptions, WorkflowTaskResult, WorkflowTaskStep } from "../src/shared/types.js";
|
|
2
2
|
import {
|
|
3
|
-
DEFAULT_MAX_REFINEMENTS,
|
|
4
3
|
REFERENCE_PRECEDENCE,
|
|
5
4
|
buildPlaywrightCliBootstrapRules,
|
|
6
5
|
discoveryDecisionSchema,
|
|
7
6
|
ensurePlaywrightCli,
|
|
8
7
|
joinResults,
|
|
9
|
-
positiveInteger,
|
|
10
8
|
prepareArtifactDir,
|
|
11
9
|
shouldEarlyExitForBrowser,
|
|
12
10
|
taggedPrompt,
|
|
@@ -30,17 +28,19 @@ const DELEGATION_RULE =
|
|
|
30
28
|
|
|
31
29
|
type OpenClaudeDesignOutputs = {
|
|
32
30
|
readonly output_type?: string; readonly design_system?: string; readonly artifact?: string; readonly handoff?: string;
|
|
33
|
-
readonly
|
|
31
|
+
readonly import_context?: string; readonly run_id?: string;
|
|
34
32
|
readonly artifact_dir?: string; readonly preview_path?: string; readonly preview_file_url?: string; readonly spec_path?: string; readonly spec_file_url?: string;
|
|
35
33
|
readonly playwright_cli_status?: string;
|
|
36
34
|
};
|
|
37
35
|
|
|
38
36
|
type OpenClaudeDesignContext = {
|
|
39
37
|
readonly cwd?: string;
|
|
40
|
-
readonly inputs: { readonly prompt: string; readonly discover_references?: boolean
|
|
38
|
+
readonly inputs: { readonly prompt: string; readonly discover_references?: boolean };
|
|
41
39
|
exit?(options?: { readonly status?: string; readonly reason?: string; readonly outputs?: Partial<OpenClaudeDesignOutputs> }): never;
|
|
42
40
|
task(name: string, options: WorkflowTaskOptions): Promise<WorkflowTaskResult>;
|
|
43
41
|
parallel(steps: readonly WorkflowTaskStep[], options: WorkflowParallelOptions): Promise<WorkflowTaskResult[]>;
|
|
42
|
+
/** Durable tool node; the workflow-driven live review loop is built from these. */
|
|
43
|
+
tool<T>(name: string, args: object, fn: (handle: { readonly signal: AbortSignal }) => Promise<T>): Promise<T>;
|
|
44
44
|
readonly ui: LiveReviewGateUi;
|
|
45
45
|
};
|
|
46
46
|
|
|
@@ -55,10 +55,6 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
55
55
|
const inputs = designContext.inputs;
|
|
56
56
|
const prompt = inputs.prompt;
|
|
57
57
|
const discoverReferences = inputs.discover_references !== false;
|
|
58
|
-
const maxRefinements = positiveInteger(
|
|
59
|
-
inputs.max_refinements,
|
|
60
|
-
DEFAULT_MAX_REFINEMENTS,
|
|
61
|
-
);
|
|
62
58
|
|
|
63
59
|
const workflowCwd = designContext.cwd ?? process.cwd();
|
|
64
60
|
const { runId, artifactDir, previewPath, specPath } = prepareArtifactDir(
|
|
@@ -122,17 +118,16 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
122
118
|
"openai-codex/gpt-5.6-sol:xhigh",
|
|
123
119
|
"github-copilot/gpt-5.6-sol:xhigh",
|
|
124
120
|
"openai/gpt-5.6-sol:xhigh",
|
|
125
|
-
"xai/grok-4.
|
|
126
|
-
"zai/glm-5.
|
|
127
|
-
"zai-coding-cn/glm-5.
|
|
121
|
+
"xai/grok-4.6:high",
|
|
122
|
+
"zai/glm-5.3:high",
|
|
123
|
+
"zai-coding-cn/glm-5.3:high",
|
|
128
124
|
"openrouter/anthropic/claude-opus-5:high",
|
|
129
125
|
"openrouter/anthropic/claude-fable-5:high",
|
|
130
126
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
131
127
|
"openrouter/moonshotai/kimi-k3:max",
|
|
132
128
|
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
133
129
|
"openrouter/sakana/fugu-ultra:high",
|
|
134
|
-
"openrouter/x-ai/grok-4.
|
|
135
|
-
"openrouter/z-ai/glm-5.2:xhigh"
|
|
130
|
+
"openrouter/x-ai/grok-4.6",
|
|
136
131
|
],
|
|
137
132
|
};
|
|
138
133
|
// Phase 1: combined discovery + init — one stage interviews the user via
|
|
@@ -302,18 +297,12 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
302
297
|
].join("\n")
|
|
303
298
|
: "No user reference was provided; infer the design direction from the brief, project design context, research, and curated reference inspiration.";
|
|
304
299
|
|
|
305
|
-
let latestDesign = "";
|
|
306
|
-
let approvedForExport = false;
|
|
307
|
-
let refinementCount = 0;
|
|
308
|
-
|
|
309
300
|
const refinement = await refineOpenClaudeDesign({
|
|
310
301
|
designContext,
|
|
311
302
|
prompt: designBrief,
|
|
312
303
|
outputType,
|
|
313
|
-
maxRefinements,
|
|
314
304
|
previewPath,
|
|
315
305
|
previewFileUrl,
|
|
316
|
-
artifactDir,
|
|
317
306
|
browserBootstrapRules,
|
|
318
307
|
designContextFile,
|
|
319
308
|
referencesFile,
|
|
@@ -322,9 +311,7 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
322
311
|
importContext,
|
|
323
312
|
ui: designContext.ui,
|
|
324
313
|
});
|
|
325
|
-
latestDesign = refinement.latestDesign;
|
|
326
|
-
approvedForExport = refinement.approvedForExport;
|
|
327
|
-
refinementCount = refinement.refinementCount;
|
|
314
|
+
const latestDesign = refinement.latestDesign;
|
|
328
315
|
|
|
329
316
|
const exportResult = await exportOpenClaudeDesign({
|
|
330
317
|
designContext,
|
|
@@ -340,7 +327,6 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
340
327
|
latestDesign,
|
|
341
328
|
designModelConfig,
|
|
342
329
|
});
|
|
343
|
-
latestDesign = exportResult.latestDesign;
|
|
344
330
|
const handoff = exportResult.handoff;
|
|
345
331
|
|
|
346
332
|
return {
|
|
@@ -348,8 +334,6 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
348
334
|
design_system: "project-derived design system",
|
|
349
335
|
artifact: latestDesign,
|
|
350
336
|
handoff: handoff.text,
|
|
351
|
-
approved_for_export: approvedForExport,
|
|
352
|
-
refinements_completed: refinementCount,
|
|
353
337
|
import_context: importContext,
|
|
354
338
|
run_id: runId,
|
|
355
339
|
artifact_dir: artifactDir,
|
|
@@ -244,80 +244,9 @@ export function persistDesignContext(artifactDir: string, content: string): void
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
// ---------------------------------------------------------------------------
|
|
247
|
-
// 2. Live interactive QA prompt (user-feedback
|
|
247
|
+
// 2. Live interactive QA prompt (the user-feedback review session)
|
|
248
248
|
// ---------------------------------------------------------------------------
|
|
249
249
|
|
|
250
|
-
/**
|
|
251
|
-
* Build the interactive-QA prompt for the `user-feedback-*` stages. Drives
|
|
252
|
-
* `/skill:impeccable live` against the static preview so the user can pick
|
|
253
|
-
* elements in the browser, annotate, and accept on-brand variants; degrades to
|
|
254
|
-
* `playwright-cli show --annotate` and finally to a manual file path. The output
|
|
255
|
-
* labels (`user_notes`, `annotated_snapshot`, `live_changes`) are parsed by the
|
|
256
|
-
* generate/user-feedback loop.
|
|
257
|
-
*/
|
|
258
|
-
export function buildLivePreviewDisplayPrompt(args: {
|
|
259
|
-
readonly previewPath: string;
|
|
260
|
-
readonly previewFileUrl: string;
|
|
261
|
-
readonly browserBootstrapRules: string;
|
|
262
|
-
readonly iteration?: number;
|
|
263
|
-
readonly maxRefinements?: number;
|
|
264
|
-
readonly final?: boolean;
|
|
265
|
-
}): string {
|
|
266
|
-
const isInitial = args.iteration === undefined;
|
|
267
|
-
const isFinal = args.final === true;
|
|
268
|
-
const label = isInitial
|
|
269
|
-
? "the just-generated HTML artifact"
|
|
270
|
-
: "the revised preview";
|
|
271
|
-
const objective = isFinal
|
|
272
|
-
? `Show the user ${label} as the FINAL refinement pass and let them review it in the browser. This is the last automated iteration, so do NOT solicit change requests this run cannot apply — if the user wants further changes, tell them to re-run \`/workflow open-claude-design\`. Drive \`/skill:impeccable live\` for viewing/QA when possible; degrade gracefully.`
|
|
273
|
-
: `Make ${label} visible to the user, run an interactive design-QA session against it, then capture the user's feedback for the refinement loop. Drive \`/skill:impeccable live\` against the static preview when possible; degrade gracefully when browser automation is unavailable.`;
|
|
274
|
-
const interactiveQa = isFinal
|
|
275
|
-
? [
|
|
276
|
-
`1. Open the preview for a final review: run \`/skill:impeccable live\` (or \`playwright-cli open ${args.previewFileUrl}\`) so the user can inspect ${label} in the browser.`,
|
|
277
|
-
"2. Make clear this is the final automated refinement pass. Do NOT promise to apply further annotations; instead, tell the user exactly how to re-run the workflow to iterate again.",
|
|
278
|
-
].join("\n")
|
|
279
|
-
: [
|
|
280
|
-
`1. Run \`/skill:impeccable live\` targeted at the preview file so the user can pick elements in the browser, annotate them, and compare on-brand variants. The preview is a single static HTML file at ${args.previewPath}; point live at it (configure \`.impeccable/live/config.json\` for that file or pass \`--target ${args.previewPath}\` per the live reference) and open ${args.previewFileUrl} in the browser.`,
|
|
281
|
-
`2. The moment the live review is reachable — and BEFORE starting any long-poll wait — print the exact review URL in plain text: the live \`http://\` URL when the live server is up, plus ${args.previewFileUrl} as the manual fallback. Anyone attaching to this stage mid-run must see where the review is happening from your first lines of output.`,
|
|
282
|
-
"3. For each element the user picks, follow the live contract: read any annotation screenshot, extract the page identity FIRST, then generate three DISTINCT on-brand variants and let the user accept one. Accepted variants are written into the preview HTML in place; do NOT branch the artifact.",
|
|
283
|
-
"4. Also handle the live `steer` path for page-level direction the user types/speaks, and treat any freeform prompt as the ceiling on direction.",
|
|
284
|
-
"5. Keep iterating until the user signals they are done with this round.",
|
|
285
|
-
].join("\n");
|
|
286
|
-
const outputFormat = isFinal
|
|
287
|
-
? [
|
|
288
|
-
"Markdown with: `display_method` (live | playwright-annotate | manual), `preview_path`, and `next_action_hint` (how to re-run the workflow for further changes).",
|
|
289
|
-
"Do NOT collect `user_notes` or `live_changes`: this final pass cannot apply them, so don't invite feedback that would go nowhere.",
|
|
290
|
-
].join("\n")
|
|
291
|
-
: [
|
|
292
|
-
"Markdown with these exact labels so the refinement loop can parse the captured feedback:",
|
|
293
|
-
"`display_method` (live | playwright-annotate | manual)",
|
|
294
|
-
"`preview_path`",
|
|
295
|
-
"`live_changes` (summary of every element/variant the user ACCEPTED in the live session; `none` when no live edits were made)",
|
|
296
|
-
"`annotated_snapshot` (path to any annotated screenshot, if captured)",
|
|
297
|
-
"`user_notes` (the user's verbatim notes/annotations for the next iteration; `none` when the user gave no notes)",
|
|
298
|
-
"`next_action_hint`",
|
|
299
|
-
].join("\n");
|
|
300
|
-
return taggedPrompt([
|
|
301
|
-
["preview_path", args.previewPath],
|
|
302
|
-
["preview_file_url", args.previewFileUrl],
|
|
303
|
-
["browser_use_guidelines", args.browserBootstrapRules],
|
|
304
|
-
[
|
|
305
|
-
"role",
|
|
306
|
-
"You are an opinionated staff design engineer running interactive `live` QA in a real browser.",
|
|
307
|
-
],
|
|
308
|
-
["objective", objective],
|
|
309
|
-
["interactive_live_qa", interactiveQa],
|
|
310
|
-
[
|
|
311
|
-
"graceful_degradation",
|
|
312
|
-
[
|
|
313
|
-
`If \`/skill:impeccable live\` cannot boot, open the preview with \`playwright-cli open ${args.previewFileUrl}\`, then run \`playwright-cli snapshot\`${isFinal ? "" : " and `playwright-cli show --annotate` for user notes"}. If the browser executable is missing, follow the bootstrap rules and retry once.`,
|
|
314
|
-
`If \`playwright-cli\` is unavailable, tell the user to open ${args.previewPath} or ${args.previewFileUrl} manually.`,
|
|
315
|
-
"Unavailable tooling must not block the workflow; return a non-empty status.",
|
|
316
|
-
].join("\n"),
|
|
317
|
-
],
|
|
318
|
-
["output_format", `${outputFormat}\nKeep the report under 250 words. ${GROUNDED_REPORTING}`],
|
|
319
|
-
]);
|
|
320
|
-
}
|
|
321
250
|
|
|
322
251
|
// ---------------------------------------------------------------------------
|
|
323
252
|
// 3. Deterministic live-review gate (run-level HIL prompt, issue #2060)
|
|
@@ -333,9 +262,9 @@ export type LiveReviewGateUi = {
|
|
|
333
262
|
};
|
|
334
263
|
|
|
335
264
|
/**
|
|
336
|
-
* Choices for the deterministic gate raised before
|
|
337
|
-
*
|
|
338
|
-
*
|
|
265
|
+
* Choices for the deterministic gate raised before the live review session.
|
|
266
|
+
* The first entry starts the session; the second accepts the current design
|
|
267
|
+
* and skips straight to export.
|
|
339
268
|
*/
|
|
340
269
|
export const LIVE_REVIEW_GATE_OPTIONS = [
|
|
341
270
|
"Start live review",
|
|
@@ -343,27 +272,31 @@ export const LIVE_REVIEW_GATE_OPTIONS = [
|
|
|
343
272
|
] as const;
|
|
344
273
|
|
|
345
274
|
/**
|
|
346
|
-
* Message for the deterministic run-level prompt raised before
|
|
347
|
-
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
275
|
+
* Message for the deterministic run-level prompt raised before the live
|
|
276
|
+
* review session. The browser long-poll never sets `awaiting_input`, so
|
|
277
|
+
* without this gate the run is indistinguishable from active compute while it
|
|
278
|
+
* waits on a human (issue #2060). Raising a `ctx.ui` prompt sets the run-level
|
|
279
|
+
* pending prompt, which fires the needs-attention badge and carries the
|
|
280
|
+
* preview URL to the root session deterministically.
|
|
352
281
|
*/
|
|
353
282
|
export function buildLiveReviewGateMessage(args: {
|
|
354
|
-
readonly
|
|
355
|
-
readonly maxRefinements: number;
|
|
283
|
+
readonly round: number;
|
|
356
284
|
readonly previewPath: string;
|
|
357
285
|
readonly previewFileUrl: string;
|
|
358
286
|
}): string {
|
|
359
287
|
return [
|
|
360
|
-
`Design review
|
|
288
|
+
`Design review session ${args.round} is ready for your browser review.`,
|
|
361
289
|
"",
|
|
362
290
|
`Preview file: ${args.previewPath}`,
|
|
363
291
|
`Preview URL: ${args.previewFileUrl}`,
|
|
364
292
|
"",
|
|
365
|
-
`"${LIVE_REVIEW_GATE_OPTIONS[0]}" opens an interactive browser session; the
|
|
366
|
-
|
|
293
|
+
`"${LIVE_REVIEW_GATE_OPTIONS[0]}" opens an interactive browser session; the session-start stage prints the live http:// review URL as soon as its server is up (attach with /workflow connect to see it, or open the preview URL above directly).`,
|
|
294
|
+
"The session is unbounded: pick elements, accept variants, and steer for as long as you like, and everything you accept lands in the preview as you go.",
|
|
295
|
+
"",
|
|
296
|
+
"YOU end the review, and nothing else does. It keeps waiting through any amount of silence.",
|
|
297
|
+
"End it by clicking exit in the Impeccable overlay, closing the browser tab, or saying \"exit live\".",
|
|
298
|
+
"The moment you do, the design you are looking at is exported. There is no further round and no confirmation, so end the session only when the preview is what you want handed off.",
|
|
299
|
+
`"${LIVE_REVIEW_GATE_OPTIONS[1]}" accepts the current design and proceeds to export without opening a session.`,
|
|
367
300
|
].join("\n");
|
|
368
301
|
}
|
|
369
302
|
|
|
@@ -17,7 +17,6 @@ export const OUTPUT_TYPES = [
|
|
|
17
17
|
] as const;
|
|
18
18
|
export type OutputType = (typeof OUTPUT_TYPES)[number];
|
|
19
19
|
export const DEFAULT_OUTPUT_TYPE: OutputType = "prototype";
|
|
20
|
-
export const DEFAULT_MAX_REFINEMENTS = 3;
|
|
21
20
|
|
|
22
21
|
type PromptSection = readonly [tag: string, content: string];
|
|
23
22
|
|
|
@@ -30,11 +29,6 @@ export function taggedPrompt(sections: readonly PromptSection[]): string {
|
|
|
30
29
|
.join("\n\n");
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
export function positiveInteger(value: number | undefined, fallback: number): number {
|
|
34
|
-
return typeof value === "number" && Number.isFinite(value) && value > 0
|
|
35
|
-
? Math.floor(value)
|
|
36
|
-
: fallback;
|
|
37
|
-
}
|
|
38
32
|
|
|
39
33
|
export function normalizeOutputType(value: string | undefined): OutputType {
|
|
40
34
|
return value !== undefined &&
|
|
@@ -5,22 +5,17 @@ export type OpenClaudeDesignOutputType = "prototype" | "wireframe" | "page" | "c
|
|
|
5
5
|
export type OpenClaudeDesignWorkflowInputs = {
|
|
6
6
|
readonly prompt: string;
|
|
7
7
|
readonly discover_references: boolean;
|
|
8
|
-
readonly max_refinements: number;
|
|
9
8
|
};
|
|
10
9
|
|
|
11
10
|
export type OpenClaudeDesignWorkflowRunInputs = {
|
|
12
11
|
readonly prompt: string;
|
|
13
12
|
readonly discover_references?: boolean;
|
|
14
|
-
readonly max_refinements?: number;
|
|
15
13
|
};
|
|
16
|
-
|
|
17
14
|
export type OpenClaudeDesignWorkflowOutputs = WorkflowOutputValues & {
|
|
18
15
|
readonly output_type?: string;
|
|
19
16
|
readonly design_system?: string;
|
|
20
17
|
readonly artifact?: string;
|
|
21
18
|
readonly handoff?: string;
|
|
22
|
-
readonly approved_for_export?: boolean;
|
|
23
|
-
readonly refinements_completed?: number;
|
|
24
19
|
readonly import_context?: string;
|
|
25
20
|
readonly run_id?: string;
|
|
26
21
|
readonly artifact_dir?: string;
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
* Builtin workflow: open-claude-design
|
|
3
3
|
*
|
|
4
4
|
* Adapts Atomic SDK's Claude Design workflow to the local workflow SDK:
|
|
5
|
-
* combined discovery/init, design-system/reference research, generation,
|
|
6
|
-
*
|
|
5
|
+
* combined discovery/init, design-system/reference research, one generation,
|
|
6
|
+
* one live review session, export, and final display run through
|
|
7
|
+
* ctx.task()/ctx.parallel().
|
|
7
8
|
*
|
|
8
9
|
* Every stage prompt invokes the specific impeccable sub-skill that maps to
|
|
9
10
|
* its role (see https://github.com/pbakaus/impeccable/tree/main/site/content/skills):
|
|
10
11
|
*
|
|
11
12
|
* onboarding → impeccable `document` / `extract` / `audit`
|
|
12
13
|
* import → impeccable `extract`
|
|
13
|
-
* generate-
|
|
14
|
-
*
|
|
14
|
+
* generate-1 → impeccable `craft` (HTML preview)
|
|
15
|
+
* live review → impeccable `live` (unbounded browser review session)
|
|
15
16
|
* exporter → impeccable `document` (rich HTML spec)
|
|
16
17
|
* final-display → opens/surfaces the exported HTML spec
|
|
17
18
|
*/
|
|
@@ -20,13 +21,10 @@ import { Type } from "typebox";
|
|
|
20
21
|
import { workflow } from "../src/authoring/workflow.js";
|
|
21
22
|
import { withSteeringPropagationContext } from "./steering-context.js";
|
|
22
23
|
import { runOpenClaudeDesignWorkflow } from "./open-claude-design-runner.js";
|
|
23
|
-
import {
|
|
24
|
-
DEFAULT_MAX_REFINEMENTS,
|
|
25
|
-
} from "./open-claude-design-utils.js";
|
|
26
24
|
|
|
27
25
|
export default workflow({
|
|
28
26
|
name: "open-claude-design",
|
|
29
|
-
description: "AI-powered design workflow: combined discovery/init → design-system/reference research → curated reference discovery → HTML generation → live
|
|
27
|
+
description: "AI-powered design workflow: combined discovery/init → design-system/reference research → curated reference discovery → HTML generation → one live review session → rich HTML handoff. The discovery stage asks what to build, the output type, and which references to emulate, then runs impeccable init for PRODUCT.md/DESIGN.md (references take precedence over project context). The user reviews the generated HTML in one live session.",
|
|
30
28
|
// Disabled: this workflow is driven by the user reviewing generated HTML,
|
|
31
29
|
// so the parent chat is already the thing holding it to its goal. A periodic
|
|
32
30
|
// alignment steer would interrupt that review rather than inform it.
|
|
@@ -40,18 +38,12 @@ export default workflow({
|
|
|
40
38
|
description:
|
|
41
39
|
"Discover beautiful, current reference designs from notable design websites (Awwwards, recent.design, Dribbble, Monet, Motionsites) and feed them to generation. Set false to skip the network/browser reference pass.",
|
|
42
40
|
}),
|
|
43
|
-
max_refinements: Type.Number({
|
|
44
|
-
default: DEFAULT_MAX_REFINEMENTS,
|
|
45
|
-
description: `Maximum generate/user-feedback loop iterations (default ${DEFAULT_MAX_REFINEMENTS}).`,
|
|
46
|
-
}),
|
|
47
41
|
},
|
|
48
42
|
outputs: {
|
|
49
43
|
output_type: Type.Optional(Type.String({ description: "Kind of design artifact produced." })),
|
|
50
44
|
design_system: Type.Optional(Type.String({ description: "Design system source used for generation: the project-derived design system." })),
|
|
51
|
-
artifact: Type.Optional(Type.String({ description: "Latest final design summary from the
|
|
45
|
+
artifact: Type.Optional(Type.String({ description: "Latest final design summary from the final preview artifact." })),
|
|
52
46
|
handoff: Type.Optional(Type.String({ description: "Final rich HTML spec and implementation handoff summary." })),
|
|
53
|
-
approved_for_export: Type.Optional(Type.Boolean({ description: "Whether refinement completed before export." })),
|
|
54
|
-
refinements_completed: Type.Optional(Type.Number({ description: "Number of refinement iterations completed." })),
|
|
55
47
|
import_context: Type.Optional(Type.String({ description: "Reference-import context used during generation." })),
|
|
56
48
|
run_id: Type.Optional(Type.String({ description: "Per-run design workflow artifact identifier." })),
|
|
57
49
|
artifact_dir: Type.Optional(Type.String({ description: "Directory containing preview and spec artifacts." })),
|
|
@@ -9,10 +9,10 @@ import { reviewDecisionSchema } from "./ralph-core.js";
|
|
|
9
9
|
// decorrelate review errors from reviewer A.
|
|
10
10
|
// - Dominated benchmark models stay out of the chains: claude-sonnet-5,
|
|
11
11
|
// claude-sonnet-4.6, gemini-3.1-pro, and gemini-3.5-flash.
|
|
12
|
-
// - GLM-5.
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
12
|
+
// - GLM-5.3 exposes reasoning without a thinkingLevelMap or reasoning-effort
|
|
13
|
+
// control, so chains use the catalog-supported :high tier explicitly rather
|
|
14
|
+
// than carrying the prior GLM generation's :xhigh/:max suffixes forward. OpenRouter has no
|
|
15
|
+
// GLM-5.3 catalog entry, so its unavailable fallback is intentionally omitted.
|
|
16
16
|
|
|
17
17
|
export const promptEngineerModelConfig = {
|
|
18
18
|
model: "anthropic/claude-opus-5:high",
|
|
@@ -31,9 +31,9 @@ export const promptEngineerModelConfig = {
|
|
|
31
31
|
"openai/gpt-5.5:xhigh",
|
|
32
32
|
"anthropic/claude-opus-4-8:high",
|
|
33
33
|
"github-copilot/claude-opus-4.8:high",
|
|
34
|
-
"xai/grok-4.
|
|
35
|
-
"zai/glm-5.
|
|
36
|
-
"zai-coding-cn/glm-5.
|
|
34
|
+
"xai/grok-4.6:high",
|
|
35
|
+
"zai/glm-5.3:high",
|
|
36
|
+
"zai-coding-cn/glm-5.3:high",
|
|
37
37
|
"openrouter/anthropic/claude-opus-5:high",
|
|
38
38
|
"openrouter/anthropic/claude-fable-5:high",
|
|
39
39
|
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
@@ -41,8 +41,7 @@ export const promptEngineerModelConfig = {
|
|
|
41
41
|
"openrouter/sakana/fugu-ultra:high",
|
|
42
42
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
43
43
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
44
|
-
"openrouter/x-ai/grok-4.
|
|
45
|
-
"openrouter/z-ai/glm-5.2:xhigh"
|
|
44
|
+
"openrouter/x-ai/grok-4.6",
|
|
46
45
|
],
|
|
47
46
|
excludedTools: ["ask_user_question"],
|
|
48
47
|
};
|
|
@@ -64,9 +63,9 @@ export const researchModelConfig = {
|
|
|
64
63
|
"openai/gpt-5.5:xhigh",
|
|
65
64
|
"anthropic/claude-opus-4-8:high",
|
|
66
65
|
"github-copilot/claude-opus-4.8:high",
|
|
67
|
-
"xai/grok-4.
|
|
68
|
-
"zai/glm-5.
|
|
69
|
-
"zai-coding-cn/glm-5.
|
|
66
|
+
"xai/grok-4.6:high",
|
|
67
|
+
"zai/glm-5.3:high",
|
|
68
|
+
"zai-coding-cn/glm-5.3:high",
|
|
70
69
|
"openrouter/anthropic/claude-opus-5:high",
|
|
71
70
|
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
72
71
|
"openrouter/anthropic/claude-fable-5:high",
|
|
@@ -74,8 +73,7 @@ export const researchModelConfig = {
|
|
|
74
73
|
"openrouter/sakana/fugu-ultra:high",
|
|
75
74
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
76
75
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
77
|
-
"openrouter/x-ai/grok-4.
|
|
78
|
-
"openrouter/z-ai/glm-5.2:xhigh"
|
|
76
|
+
"openrouter/x-ai/grok-4.6",
|
|
79
77
|
],
|
|
80
78
|
excludedTools: ["ask_user_question"],
|
|
81
79
|
};
|
|
@@ -97,9 +95,9 @@ export const orchestratorModelConfig = {
|
|
|
97
95
|
"openai/gpt-5.5:xhigh",
|
|
98
96
|
"anthropic/claude-opus-4-8:high",
|
|
99
97
|
"github-copilot/claude-opus-4.8:high",
|
|
100
|
-
"xai/grok-4.
|
|
101
|
-
"zai/glm-5.
|
|
102
|
-
"zai-coding-cn/glm-5.
|
|
98
|
+
"xai/grok-4.6:high",
|
|
99
|
+
"zai/glm-5.3:high",
|
|
100
|
+
"zai-coding-cn/glm-5.3:high",
|
|
103
101
|
"openrouter/anthropic/claude-opus-5:high",
|
|
104
102
|
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
105
103
|
"openrouter/anthropic/claude-fable-5:high",
|
|
@@ -107,8 +105,7 @@ export const orchestratorModelConfig = {
|
|
|
107
105
|
"openrouter/sakana/fugu-ultra:high",
|
|
108
106
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
109
107
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
110
|
-
"openrouter/x-ai/grok-4.
|
|
111
|
-
"openrouter/z-ai/glm-5.2:xhigh"
|
|
108
|
+
"openrouter/x-ai/grok-4.6",
|
|
112
109
|
],
|
|
113
110
|
excludedTools: ["ask_user_question"],
|
|
114
111
|
};
|
|
@@ -130,9 +127,9 @@ export const reviewerAModelConfig = {
|
|
|
130
127
|
"openai/gpt-5.5:xhigh",
|
|
131
128
|
"anthropic/claude-opus-4-8:high",
|
|
132
129
|
"github-copilot/claude-opus-4.8:high",
|
|
133
|
-
"xai/grok-4.
|
|
134
|
-
"zai/glm-5.
|
|
135
|
-
"zai-coding-cn/glm-5.
|
|
130
|
+
"xai/grok-4.6:high",
|
|
131
|
+
"zai/glm-5.3:high",
|
|
132
|
+
"zai-coding-cn/glm-5.3:high",
|
|
136
133
|
"openrouter/anthropic/claude-opus-5:high",
|
|
137
134
|
"openrouter/anthropic/claude-fable-5:high",
|
|
138
135
|
"openrouter/moonshotai/kimi-k3:max",
|
|
@@ -140,8 +137,7 @@ export const reviewerAModelConfig = {
|
|
|
140
137
|
"openrouter/sakana/fugu-ultra:high",
|
|
141
138
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
142
139
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
143
|
-
"openrouter/x-ai/grok-4.
|
|
144
|
-
"openrouter/z-ai/glm-5.2:xhigh"
|
|
140
|
+
"openrouter/x-ai/grok-4.6",
|
|
145
141
|
],
|
|
146
142
|
excludedTools: ["ask_user_question"],
|
|
147
143
|
schema: reviewDecisionSchema,
|
|
@@ -164,9 +160,9 @@ export const reviewerBModelConfig = {
|
|
|
164
160
|
"openai/gpt-5.5:xhigh",
|
|
165
161
|
"anthropic/claude-opus-4-8:high",
|
|
166
162
|
"github-copilot/claude-opus-4.8:high",
|
|
167
|
-
"xai/grok-4.
|
|
168
|
-
"zai/glm-5.
|
|
169
|
-
"zai-coding-cn/glm-5.
|
|
163
|
+
"xai/grok-4.6:high",
|
|
164
|
+
"zai/glm-5.3:high",
|
|
165
|
+
"zai-coding-cn/glm-5.3:high",
|
|
170
166
|
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
171
167
|
"openrouter/anthropic/claude-opus-5:high",
|
|
172
168
|
"openrouter/anthropic/claude-fable-5:high",
|
|
@@ -174,8 +170,7 @@ export const reviewerBModelConfig = {
|
|
|
174
170
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
175
171
|
"openrouter/sakana/fugu-ultra:high",
|
|
176
172
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
177
|
-
"openrouter/x-ai/grok-4.
|
|
178
|
-
"openrouter/z-ai/glm-5.2:xhigh"
|
|
173
|
+
"openrouter/x-ai/grok-4.6",
|
|
179
174
|
],
|
|
180
175
|
excludedTools: ["ask_user_question"],
|
|
181
176
|
schema: reviewDecisionSchema,
|
|
@@ -125,8 +125,6 @@ export async function runTournament(ctx: WorkflowRunContext<TournamentInputs>) {
|
|
|
125
125
|
context: "fresh" as const,
|
|
126
126
|
reads: [first.path, second.path],
|
|
127
127
|
schema: judgeDecisionSchema,
|
|
128
|
-
output: path,
|
|
129
|
-
outputMode: "file-only" as const,
|
|
130
128
|
};
|
|
131
129
|
});
|
|
132
130
|
const judgeResults = await ctx.parallel(judgeSteps, {
|
|
@@ -141,6 +139,11 @@ export async function runTournament(ctx: WorkflowRunContext<TournamentInputs>) {
|
|
|
141
139
|
const second = reverse ? left : right;
|
|
142
140
|
const name = `judge-round-${round}-match-${index + 1}`;
|
|
143
141
|
const decision = decisionFrom(resultByName(judgeResults, name));
|
|
142
|
+
// Judge decisions are inter-stage data: the bracket reducer reads
|
|
143
|
+
// schema-shaped JSON from these paths, so the runner persists the
|
|
144
|
+
// structured decisions itself rather than the stage artifact channel.
|
|
145
|
+
const judgeArtifactPath = judgeArtifactPaths.at(-pairs.length + index)!;
|
|
146
|
+
await writeFile(judgeArtifactPath, `${JSON.stringify(decision, null, 2)}\n`);
|
|
144
147
|
const winner = decision.winner === "first" ? first : second;
|
|
145
148
|
next.push(winner);
|
|
146
149
|
matches.push({
|
|
@@ -151,7 +154,7 @@ export async function runTournament(ctx: WorkflowRunContext<TournamentInputs>) {
|
|
|
151
154
|
winner: winner.label,
|
|
152
155
|
rationale: decision.rationale,
|
|
153
156
|
evidence: decision.evidence,
|
|
154
|
-
judge_artifact_path:
|
|
157
|
+
judge_artifact_path: judgeArtifactPath,
|
|
155
158
|
});
|
|
156
159
|
}
|
|
157
160
|
if (bye !== undefined) next.push(bye);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/workflows",
|
|
3
|
-
"version": "0.9.14-alpha.
|
|
3
|
+
"version": "0.9.14-alpha.2",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Atomic extension for multi-stage workflow authoring and execution.",
|
|
6
6
|
"contributors": [
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|
|
85
85
|
"@bastani/atomic": "*",
|
|
86
|
-
"@earendil-works/pi-tui": "^0.84.
|
|
86
|
+
"@earendil-works/pi-tui": "^0.84.2"
|
|
87
87
|
},
|
|
88
88
|
"peerDependenciesMeta": {
|
|
89
89
|
"@bastani/atomic": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: impeccable
|
|
3
3
|
description: Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
This skill gives you the tools and permission to create design that earns to be called out-of-distribution craft: Whereas before, your design work would have been safe, timid and measured, you now approach every design task as a award-winning design director with impeccable understanding for what makes exceptional design work: production-grade code, peak creativity, a clear POV, deep understanding of the needs of the client and users, and exceptional craft.
|
|
@@ -9,11 +9,11 @@ This skill gives you the tools and permission to create design that earns to be
|
|
|
9
9
|
Core principles:
|
|
10
10
|
- Go all out. No hedging, no shortcuts. The deliverable must be complete (except assets the user must provide).
|
|
11
11
|
- Dream big and bold. Distinct, beautiful, outstanding and highly inspiring work.
|
|
12
|
-
- Verify in bounded passes, not a loop, and the ceiling covers the whole cycle: screenshots, defect scans, micro-edits, and rebuilds alike. Build fully, inspect once with a batched round (desktop and mobile together), fix everything it shows in one batch, confirm with at most one more round, and stop polishing. Open-ended self-QA burns the user's money doing worse what the finish handoffs do better.
|
|
12
|
+
- Verify in bounded passes, not a loop, and the ceiling covers the whole cycle: screenshots, defect scans, micro-edits, and rebuilds alike. Build fully, inspect once with a batched round (desktop and mobile together on the web; the shipped device classes on a native platform), fix everything it shows in one batch, confirm with at most one more round, and stop polishing. Open-ended self-QA burns the user's money doing worse what the finish handoffs do better.
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Run `node
|
|
16
|
+
1. Run `node <skill-base-dir>/scripts/context.mjs` once per session, where `<skill-base-dir>` is the loaded base directory the runtime reports for this skill; keep cwd at the user's project. That base directory resolves every `node .agents/skills/impeccable/scripts/...` command in this skill and its references, and `.agents/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
|
|
17
17
|
2. Before acting, load the one playbook that owns the request: the Commands table's reference for an explicit or clearly implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Then inspect the target and at least one representative source of incumbent visual truth (tokens, theme, CSS, component, or asset) before editing.
|
|
18
18
|
3. After analysis and direction are resolved, load [reference/craft-floor.md](reference/craft-floor.md) immediately before editing UI. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
|
|
19
19
|
|