@bastani/atomic 0.9.5-alpha.8 → 0.9.5
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 +122 -0
- package/README.md +2 -2
- package/dist/builtin/cursor/CHANGELOG.md +12 -0
- package/dist/builtin/cursor/package.json +3 -3
- package/dist/builtin/cursor/src/model-mapper.ts +6 -3
- package/dist/builtin/intercom/CHANGELOG.md +37 -0
- package/dist/builtin/intercom/README.md +4 -2
- package/dist/builtin/intercom/broker/broker.ts +6 -114
- package/dist/builtin/intercom/broker/client.ts +29 -54
- package/dist/builtin/intercom/broker/delivered-message-cache.ts +44 -0
- package/dist/builtin/intercom/broker/pending-send-registry.ts +142 -0
- package/dist/builtin/intercom/broker/send-handler.ts +106 -0
- package/dist/builtin/intercom/broker/send-signature.ts +37 -0
- package/dist/builtin/intercom/foreground-detach-handoff.ts +136 -0
- package/dist/builtin/intercom/index-heavy.ts +49 -53
- package/dist/builtin/intercom/index.ts +278 -262
- package/dist/builtin/intercom/lazy-heavy-proxy.ts +114 -0
- package/dist/builtin/intercom/lazy-subagent-ack.ts +20 -0
- package/dist/builtin/intercom/lazy-tool-execution.ts +39 -0
- package/dist/builtin/intercom/lifecycle-lease.ts +51 -0
- package/dist/builtin/intercom/lifecycle.ts +37 -20
- package/dist/builtin/intercom/package.json +3 -6
- package/dist/builtin/intercom/reply-routing.ts +17 -0
- package/dist/builtin/intercom/subagent-relay.ts +58 -12
- package/dist/builtin/intercom/types.ts +3 -3
- package/dist/builtin/mcp/CHANGELOG.md +38 -0
- package/dist/builtin/mcp/OAUTH.md +1 -0
- package/dist/builtin/mcp/README.md +10 -6
- package/dist/builtin/mcp/apps-cancellation.ts +32 -0
- package/dist/builtin/mcp/call-tool-result.ts +9 -0
- package/dist/builtin/mcp/caller-wait.ts +50 -0
- package/dist/builtin/mcp/command-registration.ts +82 -0
- package/dist/builtin/mcp/direct-tool-executor.ts +279 -0
- package/dist/builtin/mcp/direct-tools.ts +40 -255
- package/dist/builtin/mcp/host-html-template.ts +4 -2
- package/dist/builtin/mcp/index.ts +274 -239
- package/dist/builtin/mcp/init.ts +96 -126
- package/dist/builtin/mcp/mcp-auth-flow.ts +247 -237
- package/dist/builtin/mcp/mcp-callback-server.ts +89 -68
- package/dist/builtin/mcp/mcp-oauth-provider.ts +23 -1
- package/dist/builtin/mcp/metadata-hydration.ts +52 -0
- package/dist/builtin/mcp/package.json +3 -3
- package/dist/builtin/mcp/proxy-auth.ts +4 -4
- package/dist/builtin/mcp/proxy-call.ts +111 -40
- package/dist/builtin/mcp/proxy-connect.ts +35 -15
- package/dist/builtin/mcp/proxy-info-modes.ts +106 -23
- package/dist/builtin/mcp/proxy-modes.ts +3 -3
- package/dist/builtin/mcp/session-cleanup-barrier.ts +43 -0
- package/dist/builtin/mcp/startup-warmup.ts +98 -0
- package/dist/builtin/mcp/state-lease.ts +12 -0
- package/dist/builtin/mcp/tool-result-renderer.ts +3 -3
- package/dist/builtin/mcp/ui-server.ts +8 -8
- package/dist/builtin/mcp/ui-session.ts +9 -18
- package/dist/builtin/subagents/CHANGELOG.md +78 -0
- package/dist/builtin/subagents/README.md +30 -29
- package/dist/builtin/subagents/agents/code-simplifier.md +2 -2
- package/dist/builtin/subagents/agents/codebase-analyzer.md +2 -2
- package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +2 -2
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +2 -2
- package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
- package/dist/builtin/subagents/agents/debugger.md +2 -2
- package/dist/builtin/subagents/agents/worker.md +2 -2
- package/dist/builtin/subagents/package.json +5 -5
- package/dist/builtin/subagents/prompts/review-loop.md +1 -1
- package/dist/builtin/subagents/skills/subagent/SKILL.md +37 -36
- package/dist/builtin/subagents/src/extension/api-lifecycle.ts +64 -0
- package/dist/builtin/subagents/src/extension/fanout-child.ts +44 -51
- package/dist/builtin/subagents/src/extension/index.ts +289 -320
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +7 -10
- package/dist/builtin/subagents/src/extension/schemas.ts +22 -5
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +89 -0
- package/dist/builtin/subagents/src/extension/tool-description.ts +29 -0
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +13 -2
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +4 -4
- package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +106 -0
- package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +26 -20
- package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +13 -2
- package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +3 -0
- package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +1 -1
- package/dist/builtin/subagents/src/runs/background/completion-claims.ts +189 -0
- package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +44 -7
- package/dist/builtin/subagents/src/runs/background/completion-notification.ts +34 -0
- package/dist/builtin/subagents/src/runs/background/notify.ts +72 -22
- package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +232 -0
- package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +151 -0
- package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +72 -0
- package/dist/builtin/subagents/src/runs/background/result-retry-scheduler.ts +48 -0
- package/dist/builtin/subagents/src/runs/background/result-status.ts +81 -0
- package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +59 -0
- package/dist/builtin/subagents/src/runs/background/result-watcher.ts +177 -233
- package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +3 -2
- package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +73 -14
- package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +29 -15
- package/dist/builtin/subagents/src/runs/background/top-level-async.ts +1 -2
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +1 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +1 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +1 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +7 -9
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +3 -13
- package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +2 -15
- package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +2 -2
- package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +63 -46
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +48 -0
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +17 -0
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +39 -26
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +3 -1
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +3 -51
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +6 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +11 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +2 -0
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +5 -112
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +2 -0
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +68 -118
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +79 -7
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +3 -0
- package/dist/builtin/subagents/src/runs/shared/pi-args.ts +2 -2
- package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +55 -12
- package/dist/builtin/subagents/src/shared/artifacts.ts +22 -11
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +294 -0
- package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +44 -0
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +1 -0
- package/dist/builtin/subagents/src/shared/model-info.ts +2 -2
- package/dist/builtin/subagents/src/shared/settings.ts +20 -10
- package/dist/builtin/subagents/src/shared/types-async.ts +3 -1
- package/dist/builtin/subagents/src/shared/types-config.ts +2 -0
- package/dist/builtin/subagents/src/shared/types-runtime.ts +3 -2
- package/dist/builtin/subagents/src/slash/slash-commands.ts +9 -12
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +63 -32
- package/dist/builtin/subagents/src/tui/render-result.ts +7 -0
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -0
- package/dist/builtin/subagents/src/tui/render-widget.ts +157 -89
- package/dist/builtin/web-access/CHANGELOG.md +28 -0
- package/dist/builtin/web-access/README.md +4 -0
- package/dist/builtin/web-access/content-tools.ts +8 -3
- package/dist/builtin/web-access/index-heavy.ts +1 -1
- package/dist/builtin/web-access/index.ts +190 -46
- package/dist/builtin/web-access/lifecycle-lease.ts +38 -0
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/web-access/result-renderers.ts +1 -1
- package/dist/builtin/web-access/summary-review.ts +1 -1
- package/dist/builtin/web-access/web-search-activity.ts +1 -1
- package/dist/builtin/web-access/web-search-return.ts +7 -0
- package/dist/builtin/web-access/web-search-summary.ts +1 -1
- package/dist/builtin/web-access/web-search-tool.ts +4 -2
- package/dist/builtin/workflows/CHANGELOG.md +86 -0
- package/dist/builtin/workflows/README.md +5 -5
- package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +27 -4
- package/dist/builtin/workflows/builtin/goal-runner.ts +86 -27
- package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +10 -0
- package/dist/builtin/workflows/builtin/ralph-core.ts +9 -9
- package/dist/builtin/workflows/builtin/ralph-models.ts +71 -36
- package/dist/builtin/workflows/builtin/ralph-runner.ts +20 -31
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/skills/impeccable/SKILL.md +16 -13
- package/dist/builtin/workflows/skills/impeccable/reference/adapt.md +1 -0
- package/dist/builtin/workflows/skills/impeccable/reference/adapt.native.md +58 -0
- package/dist/builtin/workflows/skills/impeccable/reference/android.md +40 -0
- package/dist/builtin/workflows/skills/impeccable/reference/animate.md +2 -0
- package/dist/builtin/workflows/skills/impeccable/reference/audit.md +2 -0
- package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +139 -0
- package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +69 -62
- package/dist/builtin/workflows/skills/impeccable/reference/critique.md +21 -7
- package/dist/builtin/workflows/skills/impeccable/reference/document.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +92 -0
- package/dist/builtin/workflows/skills/impeccable/reference/init.md +29 -7
- package/dist/builtin/workflows/skills/impeccable/reference/ios.md +45 -0
- package/dist/builtin/workflows/skills/impeccable/reference/layout.md +25 -1
- package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +23 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +2 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +75 -14
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +1 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +31 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +64 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +118 -11
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +16 -11
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +66 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +42 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/page.mjs +4 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +660 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +516 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +1764 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +61 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +4 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/is-generated.mjs +2 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-component.mjs +13 -16
- package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +17 -11
- package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +104 -37
- package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +9 -0
- package/dist/builtin/workflows/src/durable/backend.ts +12 -0
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +17 -1
- package/dist/builtin/workflows/src/durable/resume-catalog.ts +12 -0
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +5 -2
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +2 -1
- package/dist/builtin/workflows/src/durable/types.ts +16 -0
- package/dist/builtin/workflows/src/engine/primitives/task.ts +3 -1
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +1 -2
- package/dist/builtin/workflows/src/engine/run-returned-status.ts +50 -16
- package/dist/builtin/workflows/src/engine/run.ts +20 -19
- package/dist/builtin/workflows/src/engine/runtime.ts +5 -0
- package/dist/builtin/workflows/src/extension/extension-factory.ts +3 -0
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +9 -2
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +137 -27
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +22 -6
- package/dist/builtin/workflows/src/extension/public-types.ts +1 -1
- package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +13 -1
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +19 -4
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +9 -0
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +17 -22
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +48 -23
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +15 -2
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +20 -8
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +24 -8
- package/dist/builtin/workflows/src/runs/background/status.ts +4 -3
- package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +29 -8
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +1 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +3 -2
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +1 -1
- package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +155 -20
- package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +6 -0
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +2 -1
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +2 -2
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +2 -2
- package/dist/builtin/workflows/src/shared/resume-continuation.ts +2 -0
- package/dist/builtin/workflows/src/shared/returned-run-status.ts +116 -0
- package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +2 -0
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +21 -3
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +3 -0
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +3 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +1 -23
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +54 -9
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +5 -2
- package/dist/builtin/workflows/src/tui/status-list.ts +22 -15
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +4 -4
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-session-auto-compaction.d.ts +23 -3
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +129 -17
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +9 -1
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-message-queue.d.ts.map +1 -1
- package/dist/core/agent-session-message-queue.js +1 -1
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +6 -3
- 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.map +1 -1
- package/dist/core/agent-session-prompt.js +2 -2
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-retry.d.ts.map +1 -1
- package/dist/core/agent-session-retry.js +1 -1
- package/dist/core/agent-session-retry.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +3 -2
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js +1 -1
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +4 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +4 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/anthropic-thinking-guard.d.ts +5 -5
- package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
- package/dist/core/anthropic-thinking-guard.js +42 -32
- package/dist/core/anthropic-thinking-guard.js.map +1 -1
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +15 -15
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +14 -9
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +2 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +79 -46
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/context-assistant-turns.d.ts +42 -0
- package/dist/core/compaction/context-assistant-turns.d.ts.map +1 -0
- package/dist/core/compaction/context-assistant-turns.js +87 -0
- package/dist/core/compaction/context-assistant-turns.js.map +1 -0
- package/dist/core/compaction/context-compaction-critical.d.ts +1 -1
- package/dist/core/compaction/context-compaction-critical.d.ts.map +1 -1
- package/dist/core/compaction/context-compaction-critical.js +2 -2
- package/dist/core/compaction/context-compaction-critical.js.map +1 -1
- package/dist/core/compaction/context-compaction-eviction-alternates.d.ts +18 -0
- package/dist/core/compaction/context-compaction-eviction-alternates.d.ts.map +1 -0
- package/dist/core/compaction/context-compaction-eviction-alternates.js +186 -0
- package/dist/core/compaction/context-compaction-eviction-alternates.js.map +1 -0
- package/dist/core/compaction/context-compaction-eviction.d.ts +10 -2
- package/dist/core/compaction/context-compaction-eviction.d.ts.map +1 -1
- package/dist/core/compaction/context-compaction-eviction.js +196 -146
- package/dist/core/compaction/context-compaction-eviction.js.map +1 -1
- package/dist/core/compaction/context-compaction-prompt.d.ts.map +1 -1
- package/dist/core/compaction/context-compaction-prompt.js +1 -1
- package/dist/core/compaction/context-compaction-prompt.js.map +1 -1
- package/dist/core/compaction/context-compaction-types.d.ts +2 -0
- package/dist/core/compaction/context-compaction-types.d.ts.map +1 -1
- package/dist/core/compaction/context-compaction-types.js.map +1 -1
- package/dist/core/compaction/context-deletion-application.d.ts +5 -4
- package/dist/core/compaction/context-deletion-application.d.ts.map +1 -1
- package/dist/core/compaction/context-deletion-application.js +17 -15
- package/dist/core/compaction/context-deletion-application.js.map +1 -1
- package/dist/core/compaction/context-deletion-store.d.ts.map +1 -1
- package/dist/core/compaction/context-deletion-store.js +1 -1
- package/dist/core/compaction/context-deletion-store.js.map +1 -1
- package/dist/core/compaction/context-deletion-targets.d.ts +2 -1
- package/dist/core/compaction/context-deletion-targets.d.ts.map +1 -1
- package/dist/core/compaction/context-deletion-targets.js +36 -31
- package/dist/core/compaction/context-deletion-targets.js.map +1 -1
- package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +1 -1
- package/dist/core/compaction/context-deletion-tool-helpers.js +116 -43
- package/dist/core/compaction/context-deletion-tool-helpers.js.map +1 -1
- package/dist/core/compaction/context-transcript-analysis.d.ts +1 -2
- package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -1
- package/dist/core/compaction/context-transcript-analysis.js +33 -37
- package/dist/core/compaction/context-transcript-analysis.js.map +1 -1
- package/dist/core/copilot-model-synthesis.d.ts.map +1 -1
- package/dist/core/copilot-model-synthesis.js +3 -1
- package/dist/core/copilot-model-synthesis.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts +8 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +2 -1
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/provider-types.d.ts +2 -7
- package/dist/core/extensions/provider-types.d.ts.map +1 -1
- package/dist/core/extensions/provider-types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +6 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +72 -29
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/messages.d.ts +9 -0
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +100 -18
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-registry-builtins.d.ts.map +1 -1
- package/dist/core/model-registry-builtins.js +5 -0
- package/dist/core/model-registry-builtins.js.map +1 -1
- package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
- package/dist/core/model-registry-custom-loader.js +49 -8
- package/dist/core/model-registry-custom-loader.js.map +1 -1
- package/dist/core/model-registry-dynamic.d.ts.map +1 -1
- package/dist/core/model-registry-dynamic.js +11 -5
- package/dist/core/model-registry-dynamic.js.map +1 -1
- package/dist/core/model-registry-loader.d.ts.map +1 -1
- package/dist/core/model-registry-loader.js +8 -0
- package/dist/core/model-registry-loader.js.map +1 -1
- package/dist/core/model-registry-schemas.d.ts +93 -8
- package/dist/core/model-registry-schemas.d.ts.map +1 -1
- package/dist/core/model-registry-schemas.js +24 -12
- package/dist/core/model-registry-schemas.js.map +1 -1
- package/dist/core/model-registry-types.d.ts +7 -6
- package/dist/core/model-registry-types.d.ts.map +1 -1
- package/dist/core/model-registry-types.js.map +1 -1
- package/dist/core/model-registry.d.ts +5 -0
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +23 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-cli.d.ts.map +1 -1
- package/dist/core/model-resolver-cli.js +33 -5
- package/dist/core/model-resolver-cli.js.map +1 -1
- package/dist/core/model-resolver-initial.d.ts +6 -1
- package/dist/core/model-resolver-initial.d.ts.map +1 -1
- package/dist/core/model-resolver-initial.js +12 -7
- package/dist/core/model-resolver-initial.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/openai-responses-payload-sanitizer.d.ts +1 -0
- package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -1
- package/dist/core/openai-responses-payload-sanitizer.js +24 -9
- package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
- package/dist/core/resource-loader-context-files.d.ts +1 -0
- package/dist/core/resource-loader-context-files.d.ts.map +1 -1
- package/dist/core/resource-loader-context-files.js +13 -10
- package/dist/core/resource-loader-context-files.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +2 -2
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-entry-normalization.d.ts +7 -0
- package/dist/core/session-entry-normalization.d.ts.map +1 -0
- package/dist/core/session-entry-normalization.js +14 -0
- package/dist/core/session-entry-normalization.js.map +1 -0
- package/dist/core/session-manager-core.d.ts.map +1 -1
- package/dist/core/session-manager-core.js +1 -0
- package/dist/core/session-manager-core.js.map +1 -1
- package/dist/core/session-manager-history.d.ts +2 -2
- package/dist/core/session-manager-history.d.ts.map +1 -1
- package/dist/core/session-manager-history.js +127 -108
- package/dist/core/session-manager-history.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +2 -2
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-types.d.ts +1 -1
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.d.ts +2 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +141 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +11 -8
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/main-deferred-startup.d.ts.map +1 -1
- package/dist/main-deferred-startup.js +2 -2
- package/dist/main-deferred-startup.js.map +1 -1
- package/dist/main-early-input.d.ts.map +1 -1
- package/dist/main-early-input.js +7 -0
- package/dist/main-early-input.js.map +1 -1
- package/dist/main-session.d.ts.map +1 -1
- package/dist/main-session.js +1 -0
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js +0 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-options.js +3 -1
- package/dist/modes/interactive/components/settings-selector-options.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +2 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +3 -1
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +21 -9
- package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
- package/dist/modes/interactive/interactive-child-ordering.d.ts +7 -0
- package/dist/modes/interactive/interactive-child-ordering.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-child-ordering.js +26 -0
- package/dist/modes/interactive/interactive-child-ordering.js.map +1 -0
- package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +43 -30
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-hotkeys-debug.js +1 -0
- package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +41 -6
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +3 -0
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +3 -0
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -2
- package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.js +2 -2
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +2 -2
- 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-model-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.js +11 -4
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js +0 -3
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +15 -1
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.js +5 -1
- package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +20 -21
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/global-theme.js +26 -2
- package/dist/modes/interactive/theme/global-theme.js.map +1 -1
- package/dist/modes/interactive/theme/theme-class.d.ts +1 -1
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +2 -0
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +3 -0
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/fs-watch.d.ts +24 -1
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js +60 -5
- package/dist/utils/fs-watch.js.map +1 -1
- package/docs/changelog.mdx +19 -0
- package/docs/compaction.md +60 -49
- package/docs/custom-provider.md +18 -5
- package/docs/development.md +4 -0
- package/docs/extensions.md +11 -2
- package/docs/json.md +1 -1
- package/docs/models.md +69 -10
- package/docs/providers.md +1 -1
- package/docs/quickstart.md +12 -8
- package/docs/rpc.md +2 -2
- package/docs/sdk.md +1 -1
- package/docs/settings.md +4 -4
- package/docs/subagents.md +40 -5
- package/docs/tools.md +1 -1
- package/docs/usage.md +4 -2
- package/docs/windows.md +4 -0
- package/docs/workflows.md +33 -48
- package/examples/extensions/preset.ts +2 -2
- package/examples/extensions/subagent/README.md +2 -2
- package/examples/extensions/subagent/index.ts +1 -2
- package/examples/extensions/subagent/schemas.ts +4 -1
- package/examples/sdk/12-full-control.ts +1 -1
- package/npm-shrinkwrap.json +48 -51
- package/package.json +7 -7
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-behavior.ts +0 -75
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-component.ts +0 -202
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-edit.ts +0 -97
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-editor.ts +0 -160
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-frame.ts +0 -72
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-modes.ts +0 -161
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-selectors.ts +0 -203
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-selectors.ts +0 -234
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-state.ts +0 -103
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify-types.ts +0 -29
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify.ts +0 -9
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-clarify.ts +0 -117
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
An open-source Atomic workflow extension: install it, author workflows in TypeScript, run them from chat.
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
Use
|
|
8
|
+
Use the least orchestration that fits the user's intent: keep interactive/exploratory work inline, use bounded single/chain/parallel subagents while the parent remains in control, and use workflows for clearly delegated, well-defined autonomous jobs that are likely long-running/background-oriented or materially need durable stages, artifacts/checkpoints, resumability, HIL, gates, retries, or bounded loops. Multiple steps, files, tests, validation, or parallelism alone do not require a workflow. Loop or stop-condition requests such as `do X until Y`, `repeat until`, `iterate until`, `review/fix until passing`, `run checks and fix until green`, or `keep going until done` are key workflow signals when the user delegates execution because they already define control flow and a completion condition. When workflow execution fits, Atomic may always author a custom TypeScript `workflow({...})` inline with normal coding tools if that shape best achieves the task; it is not limited to installed workflows or direct modes. Named workflows can be builtin, project, user, or package supplied, and direct task/tasks/chain modes cover one-off tracked shapes.
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
11
|
<a href="#authoring-api">Authoring API</a>
|
|
@@ -300,7 +300,7 @@ Worktree semantics:
|
|
|
300
300
|
- Symlinked repo/worktree paths preserve their logical spelling in the default cwd, matching Codex-style worktree behavior.
|
|
301
301
|
- Explicit `cwd` still wins. Relative `cwd` values are resolved against the worktree default cwd; absolute `cwd` values are used as provided.
|
|
302
302
|
|
|
303
|
-
`worktree: true` is different: it creates temporary isolated worktrees for direct task/parallel/chain execution and cleans them up afterward. It is mutually exclusive with `gitWorktreeDir`, which is intended for named/reusable worktrees that remain available across retries.
|
|
303
|
+
`worktree: true` is different: it creates temporary isolated worktrees for direct task/parallel/chain execution and cleans them up afterward. It is mutually exclusive with `gitWorktreeDir`, which is intended for named/reusable worktrees that remain available across retries and `/workflow resume`. Durable resume records the original invocation cwd and resolved reusable-worktree metadata, then replays from that original repository context rather than whichever cwd the resumed interactive session currently has. Reusable worktree setup is cached within a workflow run, read-only Git repository probes retry a transient timeout once, and slow Git subprocess failures include the exact command, cwd, timeout, elapsed time, exit status/signal, and spawn error details.
|
|
304
304
|
|
|
305
305
|
For advanced integrations, the SDK also exports `setupGitWorktree(options)`, which returns `{ worktreeRoot, cwd, repositoryRoot, created }` and uses the same validation/path behavior as the executor.
|
|
306
306
|
|
|
@@ -542,7 +542,7 @@ Tradeoff: `Type.Unsafe<T>()` does not deeply validate at runtime — it trusts t
|
|
|
542
542
|
|
|
543
543
|
Input overrides are bare `key=value` tokens (no leading `--`). Values are JSON-parsed when possible, so numbers, booleans, and quoted strings work as expected (e.g. `count=3`, `flag=true`, `prompt="multi word value"`). A whole-object override can be passed as a single JSON token (e.g. `{"prompt":"...","count":3}`). Runtime validation is strict: unknown input keys, missing required values, type mismatches, and invalid `select` choices fail before a named workflow run starts.
|
|
544
544
|
|
|
545
|
-
Workflows always run as **background tasks** in interactive sessions — the chat editor stays free while a run executes. Press **F2** (or `/workflow connect <run-id>`) to attach to the live graph viewer; HIL prompts (`ctx.ui.input/confirm/select/editor/custom`) appear as awaiting-input graph nodes. Press Enter on a focused node, or click a visible graph node directly, to open that stage and answer locally, never as a modal dialog over the chat. Attached stage chats capture mouse/trackpad wheel events by default so scrolling stays inside the active stage transcript or prompt instead of falling through to terminal/main-chat scrollback. Press `ctrl+t` to toggle **copy mode**: copy mode disables workflow-chat mouse reporting so normal terminal/tmux text selection can work; press `ctrl+t` again to leave copy mode and restore workflow-chat scrolling. While copy mode is on, wheel/trackpad gestures are handled by the terminal/tmux and may scroll terminal scrollback, so leave copy mode before using the wheel again. Human input is detected when those runtime `ctx.ui.*` calls execute; workflows no longer have a declaration-time HIL flag.
|
|
545
|
+
Workflows always run as **background tasks** in interactive sessions — the chat editor stays free while a run executes. Press **F2** (or `/workflow connect <run-id>`) to attach to the live graph viewer; HIL prompts (`ctx.ui.input/confirm/select/editor/custom`) appear as awaiting-input graph nodes. Press Enter on a focused node, or click a visible graph node directly, to open that stage and answer locally, never as a modal dialog over the chat. Attached stage chats capture mouse/trackpad wheel events by default so scrolling stays inside the active stage transcript or prompt instead of falling through to terminal/main-chat scrollback. Press `ctrl+t` to toggle **copy mode**: copy mode disables workflow-chat mouse reporting so normal terminal/tmux text selection can work; press `ctrl+t` again to leave copy mode and restore workflow-chat scrolling. Archived read-only stage transcripts show the same copy-mode footer/status, allowing their transcript text to be selected and copied while preserving `esc` close and `ctrl+d` graph navigation. While copy mode is on, wheel/trackpad gestures are handled by the terminal/tmux and may scroll terminal scrollback, so leave copy mode before using the wheel again. Human input is detected when those runtime `ctx.ui.*` calls execute; workflows no longer have a declaration-time HIL flag.
|
|
546
546
|
|
|
547
547
|
Durable resume preserves the original completed-stage shape: replayed stage/task/parallel/child checkpoints retain summaries, durations, session/model metadata, and parallel branch parentage in the graph instead of flattening fanout branches into a sequential replay chain.
|
|
548
548
|
|
|
@@ -557,7 +557,7 @@ Prompt answer replay is live-memory only. `StageSnapshot.promptAnswerState` repo
|
|
|
557
557
|
```json
|
|
558
558
|
{
|
|
559
559
|
"name": "workflow",
|
|
560
|
-
"description": "Run named workflows or direct one-off task/tasks/chain workflows; discover with list/get/inputs, inspect status/stages/stage details, send prompt answers or steering, pause/resume/interrupt/kill runs, and reload workflow resources. For large stage handoffs, write context to files/artifacts, pass paths via reads, and prompt downstream agents to 'Read the file at <path>...' instead of injecting large previous text. For transcripts, prefer status/stages/stage to get sessionFile/transcriptPath, quote the exact path without rewriting separators (Windows backslashes are valid), then search it with rg/grep and read small ranges; transcript is path-only by default when sessionFile/transcriptPath exists, explicit tail/limit returns bounded previews, and missing transcript paths fall back to a small preview.",
|
|
560
|
+
"description": "Run named builtin, project, user, or package workflows, or direct one-off task/tasks/chain workflows; when workflow execution fits but another shape would better achieve the task, author a custom TypeScript workflow({...}) inline with normal coding tools, reload it, and run it; discover with list/get/inputs, inspect status/stages/stage details, send prompt answers or steering, pause/resume/interrupt/kill runs, and reload workflow resources. For large stage handoffs, write context to files/artifacts, pass paths via reads, and prompt downstream agents to 'Read the file at <path>...' instead of injecting large previous text. For transcripts, prefer status/stages/stage to get sessionFile/transcriptPath, quote the exact path without rewriting separators (Windows backslashes are valid), then search it with rg/grep and read small ranges; transcript is path-only by default when sessionFile/transcriptPath exists, explicit tail/limit returns bounded previews, and missing transcript paths fall back to a small preview.",
|
|
561
561
|
"parameters": {
|
|
562
562
|
"workflow": "string (optional) — workflow ID or normalized name",
|
|
563
563
|
"inputs": "object (optional) — key/value map of workflow inputs",
|
|
@@ -683,7 +683,7 @@ Child workflow outputs: `result`, `status`, `approved`, `goal_id`, `objective`,
|
|
|
683
683
|
|
|
684
684
|
### `ralph`
|
|
685
685
|
|
|
686
|
-
Raw prompt → prompt-engineering research → orchestrate → review workflow with optional final-stage PR handoff: use the raw prompt as the operative objective, keep optional `acceptance_criteria` as the immutable original task contract (defaulting to `prompt`), transform the prompt into a codebase and online research question with `/skill:prompt-engineer`, run `/skill:research-codebase` against it, write findings under `research/`, delegate implementation through sub-agents from that research, run parallel reviewers across Claude Fable 5
|
|
686
|
+
Raw prompt → prompt-engineering research → orchestrate → review workflow with optional final-stage PR handoff: use the raw prompt as the operative objective, keep optional `acceptance_criteria` as the immutable original task contract (defaulting to `prompt`), transform the prompt into a codebase and online research question with `/skill:prompt-engineer`, run `/skill:research-codebase` against it, write findings under `research/`, delegate implementation through sub-agents from that research, run parallel reviewers across Claude Fable 5 and GPT-5.5 Codex model families, and iterate until approval or the loop limit. Ralph's research, orchestrator, and reviewer prompts receive the objective next to the literal acceptance contract; when launching follow-up Ralph runs from reviewer findings, pass the ORIGINAL task text as `acceptance_criteria` so deltas cannot drift from the contract. Ralph's orchestrator and reviewers are prompted to verify user-visible behavior end-to-end when practical with `playwright-cli`-skilled subagents for web/frontend flows that may depend on backend/API behavior and tmux-skilled subagents for TUI or terminal-app scenarios. They must assume credentials/auth/environment access exists until concrete non-destructive checks plus an actual launch/flow attempt prove otherwise; skipped E2E is valid only when exact attempted commands and observed failure output are recorded. For UI-applicable or full-stack changes, the orchestrator runs a `playwright-cli` end-to-end QA pass and records a reviewable proof video, references it in the implementation notes, and exposes it as the `qa_video_path` output; reviewers receive that path and inspect the actual video before treating it as proof. Review decisions include `requirements_traceability`, a non-empty clause-by-clause map over every prompt/acceptance-criteria requirement, and Ralph approval requires every entry to be `proven`; worker-authored tests/snapshots passing are circular evidence unless tied to independent current-state proof. When `create_pr=true`, the final `pull-request` stage attaches or links that video to the created PR/MR/review. Follow-up iterations pass unresolved review artifacts into prompt-engineering/research and fork research from prior research session data when available. Ralph skips PR creation by default; prompt text alone does not opt in. Pass `create_pr=true` to authorize only the final `pull-request` stage to inspect provider credentials and attempt provider-appropriate PR/MR/review creation (for example GitHub `gh`, Azure Repos `az repos pr create`, or Sapling/Phabricator tooling). Ralph's own PR-creation instructions live in that final stage. Reviewers inspect repository infrastructure directly as needed; Ralph no longer runs separate `infra-*` discovery stages.
|
|
687
687
|
|
|
688
688
|
```text
|
|
689
689
|
/workflow ralph prompt="Migrate the database layer to Drizzle ORM" max_loops=3 base_branch=develop
|
|
@@ -37,18 +37,29 @@ export const FILE_ONLY_OUTPUT = "file-only" satisfies WorkflowOutputMode;
|
|
|
37
37
|
export const PLANNER_MODEL_CONFIG = {
|
|
38
38
|
model: "anthropic/claude-fable-5:high",
|
|
39
39
|
fallbackModels: [
|
|
40
|
+
"openai-codex/gpt-5.6-sol:xhigh",
|
|
41
|
+
"github-copilot/gpt-5.6-sol:xhigh",
|
|
42
|
+
"openai/gpt-5.6-sol:xhigh",
|
|
40
43
|
"openai-codex/gpt-5.5:xhigh",
|
|
41
44
|
"github-copilot/gpt-5.5:xhigh",
|
|
42
45
|
"openai/gpt-5.5:xhigh",
|
|
43
46
|
"github-copilot/claude-opus-4.8 (1m):high",
|
|
44
47
|
"anthropic/claude-opus-4-8:high",
|
|
48
|
+
"cursor/claude-fable-5:high",
|
|
49
|
+
"cursor/gpt-5.6-sol:xhigh",
|
|
50
|
+
"cursor/gpt-5.5:high",
|
|
51
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
52
|
+
"cursor/grok-4.5",
|
|
45
53
|
"zai/glm-5.2:xhigh",
|
|
46
54
|
"zai-coding-cn/glm-5.2:xhigh",
|
|
55
|
+
"cursor/glm-5.2",
|
|
47
56
|
"openrouter/anthropic/claude-fable-5:high",
|
|
57
|
+
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
48
58
|
"openrouter/sakana/fugu-ultra:high",
|
|
49
59
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
50
60
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
51
|
-
"openrouter/
|
|
61
|
+
"openrouter/x-ai/grok-4.5",
|
|
62
|
+
"openrouter/z-ai/glm-5.2:xhigh",
|
|
52
63
|
],
|
|
53
64
|
excludedTools: ["ask_user_question"],
|
|
54
65
|
} as const;
|
|
@@ -58,16 +69,26 @@ export const PLANNER_MODEL_CONFIG = {
|
|
|
58
69
|
// and glm-5.2:high (36%/$2.84) back it up; unbenchmarked minis/haiku/flash
|
|
59
70
|
// are excluded.
|
|
60
71
|
export const EXPLORER_MODEL_CONFIG = {
|
|
61
|
-
model: "openai-codex/gpt-5.
|
|
72
|
+
model: "openai-codex/gpt-5.6-terra:high",
|
|
62
73
|
fallbackModels: [
|
|
74
|
+
"github-copilot/gpt-5.6-terra:high",
|
|
75
|
+
"openai/gpt-5.6-terra:high",
|
|
76
|
+
"openai-codex/gpt-5.5:low",
|
|
63
77
|
"github-copilot/gpt-5.5:low",
|
|
64
78
|
"openai/gpt-5.5:low",
|
|
65
79
|
"github-copilot/claude-opus-4.8 (1m):low",
|
|
66
80
|
"anthropic/claude-opus-4-8:low",
|
|
81
|
+
"cursor/gpt-5.6-terra:high",
|
|
82
|
+
"cursor/gpt-5.5:low",
|
|
83
|
+
"cursor/claude-opus-4-8-thinking:low",
|
|
84
|
+
"cursor/grok-4.5",
|
|
67
85
|
"zai/glm-5.2:high",
|
|
68
86
|
"zai-coding-cn/glm-5.2:high",
|
|
87
|
+
"cursor/glm-5.2",
|
|
88
|
+
"openrouter/openai/gpt-5.6-terra:high",
|
|
69
89
|
"openrouter/openai/gpt-5.5:low",
|
|
70
90
|
"openrouter/anthropic/claude-opus-4-8:low",
|
|
91
|
+
"openrouter/x-ai/grok-4.5",
|
|
71
92
|
"openrouter/z-ai/glm-5.2:xhigh",
|
|
72
93
|
],
|
|
73
94
|
excludedTools: ["ask_user_question"],
|
|
@@ -92,7 +113,10 @@ export function taggedPrompt(sections: readonly PromptSection[]): string {
|
|
|
92
113
|
.join("\n\n");
|
|
93
114
|
}
|
|
94
115
|
|
|
95
|
-
export function positiveInteger(
|
|
116
|
+
export function positiveInteger(
|
|
117
|
+
value: number | undefined,
|
|
118
|
+
fallback: number,
|
|
119
|
+
): number {
|
|
96
120
|
return typeof value === "number" && Number.isFinite(value) && value > 0
|
|
97
121
|
? Math.floor(value)
|
|
98
122
|
: fallback;
|
|
@@ -351,4 +375,3 @@ export function displayRelativePath(path: string, fromCwd: string): string {
|
|
|
351
375
|
}
|
|
352
376
|
return displayPath(path);
|
|
353
377
|
}
|
|
354
|
-
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
type GoalWorkflowInputs,
|
|
9
9
|
type GoalWorkflowOutputs,
|
|
10
10
|
type ReviewRecord,
|
|
11
|
+
type ReducerDecision,
|
|
11
12
|
} from "./goal-types.js";
|
|
12
13
|
import { artifactSafeName, writeReviewArtifact, writeReviewRoundArtifact } from "./goal-artifacts.js";
|
|
13
14
|
import { appendLifecycleEvent, createGoalLedger, writeGoalLedger } from "./goal-ledger.js";
|
|
@@ -75,6 +76,27 @@ type GoalWorkflowOptions = {
|
|
|
75
76
|
readonly workflowStartCwd: string;
|
|
76
77
|
};
|
|
77
78
|
|
|
79
|
+
function reviewerExecutionFailedDecision(input: {
|
|
80
|
+
readonly turn: number;
|
|
81
|
+
readonly reviewQuorum: number;
|
|
82
|
+
readonly reviews: readonly ReviewRecord[];
|
|
83
|
+
readonly reason: string;
|
|
84
|
+
}): ReducerDecision {
|
|
85
|
+
return {
|
|
86
|
+
turn: input.turn,
|
|
87
|
+
decision: "needs_human",
|
|
88
|
+
reason: input.reason,
|
|
89
|
+
complete_votes: input.reviews.filter((review) => review.decision === "complete").length,
|
|
90
|
+
review_quorum: input.reviewQuorum,
|
|
91
|
+
parsed: input.reviews.every((review) => review.parsed),
|
|
92
|
+
approved: false,
|
|
93
|
+
stopReviewLoop: false,
|
|
94
|
+
nextAction: "needs_human",
|
|
95
|
+
finalActionRemaining: false,
|
|
96
|
+
diagnostics: input.reviews.flatMap((review) => review.parse_diagnostics),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
78
100
|
export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkflowOptions): Promise<GoalWorkflowOutputs> {
|
|
79
101
|
const inputs = ctx.inputs;
|
|
80
102
|
const createPr = options.createPr;
|
|
@@ -92,22 +114,32 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
|
|
|
92
114
|
const comparisonBaseBranch = normalizeBranchInput(inputs.base_branch, "origin/main");
|
|
93
115
|
const { ledger, ledgerPath, artifactDir } = await createGoalLedger(objective, acceptanceCriteria);
|
|
94
116
|
|
|
95
|
-
// Chains curated from Atomic's agentic-coding benchmark
|
|
96
|
-
// ralph-models.ts for the frontier data and drop rationale).
|
|
117
|
+
// Chains curated from Atomic's agentic-coding benchmark; see ralph-models.ts for frontier data and drop rationale.
|
|
97
118
|
const workerModelConfig = {
|
|
98
|
-
model: "openai-codex/gpt-5.
|
|
119
|
+
model: "openai-codex/gpt-5.6-sol:medium",
|
|
99
120
|
fallbackModels: [
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
121
|
+
"github-copilot/gpt-5.6-sol:medium",
|
|
122
|
+
"openai/gpt-5.6-sol:medium",
|
|
123
|
+
"openai-codex/gpt-5.5:medium",
|
|
124
|
+
"github-copilot/gpt-5.5:medium",
|
|
125
|
+
"openai/gpt-5.5:medium",
|
|
126
|
+
"anthropic/claude-fable-5:low",
|
|
127
|
+
"github-copilot/claude-opus-4.8 (1m):medium",
|
|
128
|
+
"anthropic/claude-opus-4-8:medium",
|
|
129
|
+
"cursor/gpt-5.6-sol:medium",
|
|
130
|
+
"cursor/gpt-5.5:medium",
|
|
131
|
+
"cursor/claude-fable-5:low",
|
|
132
|
+
"cursor/claude-opus-4-8-thinking:medium",
|
|
133
|
+
"cursor/grok-4.5",
|
|
134
|
+
"zai/glm-5.2:high",
|
|
135
|
+
"zai-coding-cn/glm-5.2:high",
|
|
136
|
+
"cursor/glm-5.2",
|
|
137
|
+
"openrouter/openai/gpt-5.6-sol:medium",
|
|
138
|
+
"openrouter/openai/gpt-5.5:medium",
|
|
139
|
+
"openrouter/anthropic/claude-fable-5:low",
|
|
140
|
+
"openrouter/anthropic/claude-opus-4-8:medium",
|
|
141
|
+
"openrouter/x-ai/grok-4.5",
|
|
142
|
+
"openrouter/z-ai/glm-5.2:xhigh"
|
|
111
143
|
],
|
|
112
144
|
excludedTools: ["ask_user_question"],
|
|
113
145
|
};
|
|
@@ -115,18 +147,29 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
|
|
|
115
147
|
const reviewerModelConfig = {
|
|
116
148
|
model: "anthropic/claude-fable-5:high",
|
|
117
149
|
fallbackModels: [
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
150
|
+
"openai-codex/gpt-5.6-sol:max",
|
|
151
|
+
"github-copilot/gpt-5.6-sol:max",
|
|
152
|
+
"openai/gpt-5.6-sol:max",
|
|
153
|
+
"openai-codex/gpt-5.5:xhigh",
|
|
154
|
+
"github-copilot/gpt-5.5:xhigh",
|
|
155
|
+
"openai/gpt-5.5:xhigh",
|
|
156
|
+
"github-copilot/claude-opus-4.8 (1m):high",
|
|
157
|
+
"anthropic/claude-opus-4-8:high",
|
|
158
|
+
"cursor/claude-fable-5:high",
|
|
159
|
+
"cursor/gpt-5.6-sol:max",
|
|
160
|
+
"cursor/gpt-5.5:high",
|
|
161
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
162
|
+
"cursor/grok-4.5",
|
|
163
|
+
"zai/glm-5.2:xhigh",
|
|
164
|
+
"zai-coding-cn/glm-5.2:xhigh",
|
|
165
|
+
"cursor/glm-5.2",
|
|
166
|
+
"openrouter/anthropic/claude-fable-5:high",
|
|
167
|
+
"openrouter/openai/gpt-5.6-sol:max",
|
|
168
|
+
"openrouter/sakana/fugu-ultra:high",
|
|
169
|
+
"openrouter/openai/gpt-5.5:xhigh",
|
|
170
|
+
"openrouter/anthropic/claude-opus-4-8:high",
|
|
171
|
+
"openrouter/x-ai/grok-4.5",
|
|
172
|
+
"openrouter/z-ai/glm-5.2:xhigh"
|
|
130
173
|
],
|
|
131
174
|
excludedTools: ["ask_user_question"],
|
|
132
175
|
schema: reviewDecisionSchema,
|
|
@@ -255,12 +298,14 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
|
|
|
255
298
|
];
|
|
256
299
|
|
|
257
300
|
let reviewResults: WorkflowTaskResult[];
|
|
301
|
+
let reviewerBatchFailed = false;
|
|
258
302
|
try {
|
|
259
303
|
reviewResults = await ctx.parallel(reviewerSteps, {
|
|
260
304
|
task: objective,
|
|
261
|
-
failFast:
|
|
305
|
+
failFast: true,
|
|
262
306
|
});
|
|
263
307
|
} catch (err) {
|
|
308
|
+
reviewerBatchFailed = true;
|
|
264
309
|
reviewResults = [
|
|
265
310
|
{
|
|
266
311
|
name: "reviewer-error",
|
|
@@ -308,6 +353,20 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
|
|
|
308
353
|
`Recorded ${latestReviews.length} reviewer decisions.`,
|
|
309
354
|
turn,
|
|
310
355
|
);
|
|
356
|
+
if (reviewerBatchFailed) {
|
|
357
|
+
terminalRemainingWork = collectRemainingWork(latestReviews);
|
|
358
|
+
const reason = `Reviewer execution failed before quorum could be established. Remaining work: ${terminalRemainingWork}`;
|
|
359
|
+
ledger.decisions.push(reviewerExecutionFailedDecision({
|
|
360
|
+
turn,
|
|
361
|
+
reviewQuorum,
|
|
362
|
+
reviews: latestReviews,
|
|
363
|
+
reason,
|
|
364
|
+
}));
|
|
365
|
+
ledger.status = "needs_human";
|
|
366
|
+
appendLifecycleEvent(ledger, "status_decided", reason, turn);
|
|
367
|
+
await writeGoalLedger(ledgerPath, ledger);
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
311
370
|
|
|
312
371
|
const reducerOutcome = reduceGoalDecision(ledger, latestReviews, {
|
|
313
372
|
turn,
|
|
@@ -82,11 +82,21 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
|
|
|
82
82
|
fallbackModels: [
|
|
83
83
|
"github-copilot/claude-opus-4.8 (1m):high",
|
|
84
84
|
"anthropic/claude-opus-4-8:high",
|
|
85
|
+
"cursor/claude-fable-5:high",
|
|
86
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
87
|
+
"openai-codex/gpt-5.6-sol:xhigh",
|
|
88
|
+
"github-copilot/gpt-5.6-sol:xhigh",
|
|
89
|
+
"openai/gpt-5.6-sol:xhigh",
|
|
90
|
+
"cursor/gpt-5.6-sol:xhigh",
|
|
91
|
+
"cursor/grok-4.5",
|
|
85
92
|
"zai/glm-5.2:xhigh",
|
|
86
93
|
"zai-coding-cn/glm-5.2:xhigh",
|
|
94
|
+
"cursor/glm-5.2",
|
|
87
95
|
"openrouter/anthropic/claude-fable-5:high",
|
|
88
96
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
97
|
+
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
89
98
|
"openrouter/sakana/fugu-ultra:high",
|
|
99
|
+
"openrouter/x-ai/grok-4.5",
|
|
90
100
|
"openrouter/z-ai/glm-5.2:xhigh"
|
|
91
101
|
],
|
|
92
102
|
};
|
|
@@ -21,15 +21,15 @@ const DEFAULT_RESEARCH_DIR = "research";
|
|
|
21
21
|
const IMPLEMENTATION_NOTES_FILENAME = "implementation-notes.md";
|
|
22
22
|
const QA_E2E_VIDEO_FILENAME = "qa-e2e-evidence.webm";
|
|
23
23
|
const MAX_RESEARCH_SLUG_LENGTH = 80;
|
|
24
|
-
// Reviewer fan-out launches
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
24
|
+
// Reviewer fan-out launches two independent reviewers; the loop stops only when
|
|
25
|
+
// both reviewers independently approve. Approval is severity-aware: a reviewer
|
|
26
|
+
// approves when it judged the patch correct, reported no reviewer_error, and
|
|
27
|
+
// filed no *blocking* (P0/P1/P2) finding. P3 nice-to-haves no longer keep the
|
|
28
28
|
// loop iterating, so a single low-priority nit (or a placeholder finding) can no
|
|
29
29
|
// longer strand an otherwise-approved patch. Requiring unanimous approval still
|
|
30
|
-
// means a blocking finding from
|
|
30
|
+
// means a blocking finding from either reviewer keeps the loop going. See
|
|
31
31
|
// ./ralph-review-gate.ts for the gate types and decision logic.
|
|
32
|
-
export const REVIEWER_COUNT =
|
|
32
|
+
export const REVIEWER_COUNT = 2;
|
|
33
33
|
|
|
34
34
|
const reviewFindingSchema = Type.Object(
|
|
35
35
|
{
|
|
@@ -434,10 +434,10 @@ export function renderForkedOrchestratorPrompt(args: {
|
|
|
434
434
|
[
|
|
435
435
|
"output_format",
|
|
436
436
|
[
|
|
437
|
-
"After
|
|
437
|
+
"After the implementation work is complete, return Markdown with headings:",
|
|
438
438
|
"1. Research file — the path you read",
|
|
439
|
-
"2. Delegations performed — subagents
|
|
440
|
-
"3. Changes made — concrete changes
|
|
439
|
+
"2. Delegations performed — subagents used and what each completed, or none when direct work was sufficient",
|
|
440
|
+
"3. Changes made — concrete completed changes, not intentions",
|
|
441
441
|
"4. Files touched",
|
|
442
442
|
"5. Validation run / recommended",
|
|
443
443
|
"6. Deferred work or blockers",
|
|
@@ -5,9 +5,8 @@ import { reviewDecisionSchema } from "./ralph-core.js";
|
|
|
5
5
|
// - Critical synthesis/review stages prefer fable-5:xhigh, then gpt-5.5 xhigh
|
|
6
6
|
// variants, openrouter fugu-ultra, long-context opus, and GLM fallbacks.
|
|
7
7
|
// - Research remains on gpt-5.5:medium / fable-5:low for perf-per-dollar.
|
|
8
|
-
// - Reviewer B keeps gpt-5.5:xhigh as an independent frontier family
|
|
9
|
-
//
|
|
10
|
-
// mid-chain, to decorrelate review errors.
|
|
8
|
+
// - Reviewer B keeps gpt-5.5:xhigh as an independent frontier family to
|
|
9
|
+
// decorrelate review errors from reviewer A.
|
|
11
10
|
// - Dominated benchmark models stay out of the chains: claude-sonnet-5,
|
|
12
11
|
// claude-sonnet-4.6, gemini-3.1-pro, and gemini-3.5-flash.
|
|
13
12
|
// - GLM-5.2 has only two real reasoning tiers — its thinkingLevelMap collapses
|
|
@@ -18,54 +17,87 @@ import { reviewDecisionSchema } from "./ralph-core.js";
|
|
|
18
17
|
export const promptEngineerModelConfig = {
|
|
19
18
|
model: "anthropic/claude-fable-5:high",
|
|
20
19
|
fallbackModels: [
|
|
20
|
+
"openai-codex/gpt-5.6-sol:xhigh",
|
|
21
|
+
"github-copilot/gpt-5.6-sol:xhigh",
|
|
22
|
+
"openai/gpt-5.6-sol:xhigh",
|
|
21
23
|
"openai-codex/gpt-5.5:xhigh",
|
|
22
24
|
"github-copilot/gpt-5.5:xhigh",
|
|
23
25
|
"openai/gpt-5.5:xhigh",
|
|
24
26
|
"github-copilot/claude-opus-4.8 (1m):high",
|
|
25
27
|
"anthropic/claude-opus-4-8:high",
|
|
28
|
+
"cursor/claude-fable-5:high",
|
|
29
|
+
"cursor/gpt-5.6-sol:xhigh",
|
|
30
|
+
"cursor/gpt-5.5:high",
|
|
31
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
32
|
+
"cursor/grok-4.5",
|
|
26
33
|
"zai/glm-5.2:xhigh",
|
|
27
34
|
"zai-coding-cn/glm-5.2:xhigh",
|
|
35
|
+
"cursor/glm-5.2",
|
|
28
36
|
"openrouter/anthropic/claude-fable-5:high",
|
|
37
|
+
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
29
38
|
"openrouter/sakana/fugu-ultra:high",
|
|
30
39
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
31
40
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
41
|
+
"openrouter/x-ai/grok-4.5",
|
|
32
42
|
"openrouter/z-ai/glm-5.2:xhigh"
|
|
33
43
|
],
|
|
34
44
|
excludedTools: ["ask_user_question"],
|
|
35
45
|
};
|
|
36
46
|
|
|
37
47
|
export const researchModelConfig = {
|
|
38
|
-
model: "openai-codex/gpt-5.
|
|
48
|
+
model: "openai-codex/gpt-5.6-sol:medium",
|
|
39
49
|
fallbackModels: [
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
"github-copilot/gpt-5.6-sol:medium",
|
|
51
|
+
"openai/gpt-5.6-sol:medium",
|
|
52
|
+
"openai-codex/gpt-5.5:medium",
|
|
53
|
+
"github-copilot/gpt-5.5:medium",
|
|
54
|
+
"openai/gpt-5.5:medium",
|
|
55
|
+
"anthropic/claude-fable-5:low",
|
|
56
|
+
"github-copilot/claude-opus-4.8 (1m):medium",
|
|
57
|
+
"anthropic/claude-opus-4-8:medium",
|
|
58
|
+
"cursor/gpt-5.6-sol:medium",
|
|
59
|
+
"cursor/gpt-5.5:medium",
|
|
60
|
+
"cursor/claude-fable-5:low",
|
|
61
|
+
"cursor/claude-opus-4-8-thinking:medium",
|
|
62
|
+
"cursor/grok-4.5",
|
|
63
|
+
"zai/glm-5.2:high",
|
|
64
|
+
"zai-coding-cn/glm-5.2:high",
|
|
65
|
+
"cursor/glm-5.2",
|
|
66
|
+
"openrouter/openai/gpt-5.6-sol:medium",
|
|
67
|
+
"openrouter/openai/gpt-5.5:medium",
|
|
68
|
+
"openrouter/anthropic/claude-fable-5:low",
|
|
69
|
+
"openrouter/anthropic/claude-opus-4-8:medium",
|
|
70
|
+
"openrouter/x-ai/grok-4.5",
|
|
71
|
+
"openrouter/z-ai/glm-5.2:high"
|
|
51
72
|
],
|
|
52
73
|
excludedTools: ["ask_user_question"],
|
|
53
74
|
};
|
|
54
75
|
|
|
55
76
|
export const orchestratorModelConfig = {
|
|
56
|
-
model: "
|
|
77
|
+
model: "openai-codex/gpt-5.6-sol:xhigh",
|
|
57
78
|
fallbackModels: [
|
|
79
|
+
"github-copilot/gpt-5.6-sol:xhigh",
|
|
80
|
+
"openai/gpt-5.6-sol:xhigh",
|
|
81
|
+
"anthropic/claude-fable-5:high",
|
|
58
82
|
"openai-codex/gpt-5.5:xhigh",
|
|
59
83
|
"github-copilot/gpt-5.5:xhigh",
|
|
60
84
|
"openai/gpt-5.5:xhigh",
|
|
61
85
|
"github-copilot/claude-opus-4.8 (1m):high",
|
|
62
86
|
"anthropic/claude-opus-4-8:high",
|
|
87
|
+
"cursor/gpt-5.6-sol:xhigh",
|
|
88
|
+
"cursor/claude-fable-5:high",
|
|
89
|
+
"cursor/gpt-5.5:high",
|
|
90
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
91
|
+
"cursor/grok-4.5",
|
|
63
92
|
"zai/glm-5.2:xhigh",
|
|
64
93
|
"zai-coding-cn/glm-5.2:xhigh",
|
|
94
|
+
"cursor/glm-5.2",
|
|
95
|
+
"openrouter/openai/gpt-5.6-sol:xhigh",
|
|
65
96
|
"openrouter/anthropic/claude-fable-5:high",
|
|
66
97
|
"openrouter/sakana/fugu-ultra:high",
|
|
67
98
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
68
99
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
100
|
+
"openrouter/x-ai/grok-4.5",
|
|
69
101
|
"openrouter/z-ai/glm-5.2:xhigh"
|
|
70
102
|
],
|
|
71
103
|
excludedTools: ["ask_user_question"],
|
|
@@ -74,17 +106,28 @@ export const orchestratorModelConfig = {
|
|
|
74
106
|
export const reviewerAModelConfig = {
|
|
75
107
|
model: "anthropic/claude-fable-5:high",
|
|
76
108
|
fallbackModels: [
|
|
109
|
+
"openai-codex/gpt-5.6-sol:max",
|
|
110
|
+
"github-copilot/gpt-5.6-sol:max",
|
|
111
|
+
"openai/gpt-5.6-sol:max",
|
|
77
112
|
"openai-codex/gpt-5.5:xhigh",
|
|
78
113
|
"github-copilot/gpt-5.5:xhigh",
|
|
79
114
|
"openai/gpt-5.5:xhigh",
|
|
80
115
|
"github-copilot/claude-opus-4.8 (1m):high",
|
|
81
116
|
"anthropic/claude-opus-4-8:high",
|
|
117
|
+
"cursor/claude-fable-5:high",
|
|
118
|
+
"cursor/gpt-5.6-sol:max",
|
|
119
|
+
"cursor/gpt-5.5:high",
|
|
120
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
121
|
+
"cursor/grok-4.5",
|
|
82
122
|
"zai/glm-5.2:xhigh",
|
|
83
123
|
"zai-coding-cn/glm-5.2:xhigh",
|
|
124
|
+
"cursor/glm-5.2",
|
|
84
125
|
"openrouter/anthropic/claude-fable-5:high",
|
|
126
|
+
"openrouter/openai/gpt-5.6-sol:max",
|
|
85
127
|
"openrouter/sakana/fugu-ultra:high",
|
|
86
128
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
87
129
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
130
|
+
"openrouter/x-ai/grok-4.5",
|
|
88
131
|
"openrouter/z-ai/glm-5.2:xhigh"
|
|
89
132
|
],
|
|
90
133
|
excludedTools: ["ask_user_question"],
|
|
@@ -92,41 +135,33 @@ export const reviewerAModelConfig = {
|
|
|
92
135
|
};
|
|
93
136
|
|
|
94
137
|
export const reviewerBModelConfig = {
|
|
95
|
-
model: "openai-codex/gpt-5.
|
|
138
|
+
model: "openai-codex/gpt-5.6-sol:max",
|
|
96
139
|
fallbackModels: [
|
|
140
|
+
"github-copilot/gpt-5.6-sol:max",
|
|
141
|
+
"openai/gpt-5.6-sol:max",
|
|
142
|
+
"openai-codex/gpt-5.5:xhigh",
|
|
97
143
|
"github-copilot/gpt-5.5:xhigh",
|
|
98
144
|
"openai/gpt-5.5:xhigh",
|
|
99
145
|
"anthropic/claude-fable-5:high",
|
|
100
146
|
"github-copilot/claude-opus-4.8 (1m):high",
|
|
101
147
|
"anthropic/claude-opus-4-8:high",
|
|
148
|
+
"cursor/gpt-5.6-sol:max",
|
|
149
|
+
"cursor/gpt-5.5:high",
|
|
150
|
+
"cursor/claude-fable-5:high",
|
|
151
|
+
"cursor/claude-opus-4-8-thinking:high",
|
|
152
|
+
"cursor/grok-4.5",
|
|
102
153
|
"zai/glm-5.2:xhigh",
|
|
103
154
|
"zai-coding-cn/glm-5.2:xhigh",
|
|
155
|
+
"cursor/glm-5.2",
|
|
156
|
+
"openrouter/openai/gpt-5.6-sol:max",
|
|
104
157
|
"openrouter/openai/gpt-5.5:xhigh",
|
|
105
158
|
"openrouter/anthropic/claude-fable-5:high",
|
|
106
159
|
"openrouter/sakana/fugu-ultra:high",
|
|
107
160
|
"openrouter/anthropic/claude-opus-4-8:high",
|
|
161
|
+
"openrouter/x-ai/grok-4.5",
|
|
108
162
|
"openrouter/z-ai/glm-5.2:xhigh"
|
|
109
163
|
],
|
|
110
164
|
excludedTools: ["ask_user_question"],
|
|
111
165
|
schema: reviewDecisionSchema,
|
|
112
166
|
};
|
|
113
167
|
|
|
114
|
-
export const reviewerCModelConfig = {
|
|
115
|
-
model: "zai/glm-5.2:xhigh",
|
|
116
|
-
fallbackModels: [
|
|
117
|
-
"zai-coding-cn/glm-5.2:xhigh",
|
|
118
|
-
"openai-codex/gpt-5.5:xhigh",
|
|
119
|
-
"github-copilot/gpt-5.5:xhigh",
|
|
120
|
-
"openai/gpt-5.5:xhigh",
|
|
121
|
-
"anthropic/claude-fable-5:high",
|
|
122
|
-
"github-copilot/claude-opus-4.8 (1m):high",
|
|
123
|
-
"anthropic/claude-opus-4-8:high",
|
|
124
|
-
"openrouter/sakana/fugu-ultra:high",
|
|
125
|
-
"openrouter/z-ai/glm-5.2:xhigh",
|
|
126
|
-
"openrouter/openai/gpt-5.5:xhigh",
|
|
127
|
-
"openrouter/anthropic/claude-fable-5:high",
|
|
128
|
-
"openrouter/anthropic/claude-opus-4-8:high"
|
|
129
|
-
],
|
|
130
|
-
excludedTools: ["ask_user_question"],
|
|
131
|
-
schema: reviewDecisionSchema,
|
|
132
|
-
};
|