@hiai-gg/hiai-opencode 0.1.1 → 0.1.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/.env.example +57 -57
- package/AGENTS.md +280 -281
- package/ARCHITECTURE.md +280 -281
- package/LICENSE.md +59 -59
- package/README.md +301 -301
- package/assets/mcp/mempalace.mjs +153 -153
- package/assets/mcp/rag.mjs +236 -236
- package/assets/runtime/npm-package-runner.mjs +54 -54
- package/config/hiai-opencode.schema.json +82 -82
- package/config/opencode.json +4 -4
- package/dist/index.js +243 -243
- package/hiai-opencode.json +57 -57
- package/package.json +86 -91
- package/skills/api-and-interface-design/SKILL.md +294 -294
- package/skills/brainstorming/SKILL.md +164 -164
- package/skills/brainstorming/scripts/frame-template.html +214 -214
- package/skills/brainstorming/scripts/helper.js +88 -88
- package/skills/brainstorming/scripts/server.cjs +354 -354
- package/skills/brainstorming/scripts/start-server.sh +148 -148
- package/skills/brainstorming/scripts/stop-server.sh +56 -56
- package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -49
- package/skills/brainstorming/visual-companion.md +287 -287
- package/skills/browser-testing-with-devtools/SKILL.md +302 -302
- package/skills/ci-cd-and-automation/SKILL.md +390 -390
- package/skills/code-review-and-quality/SKILL.md +347 -347
- package/skills/code-simplification/SKILL.md +331 -331
- package/skills/context-engineering/SKILL.md +289 -289
- package/skills/deprecation-and-migration/SKILL.md +206 -206
- package/skills/dispatching-parallel-agents/SKILL.md +182 -182
- package/skills/documentation-and-adrs/SKILL.md +278 -278
- package/skills/executing-plans/SKILL.md +70 -70
- package/skills/finishing-a-development-branch/SKILL.md +200 -200
- package/skills/frontend-ui-engineering/SKILL.md +322 -322
- package/skills/git-workflow-and-versioning/SKILL.md +300 -300
- package/skills/incremental-implementation/SKILL.md +241 -241
- package/skills/performance-optimization/SKILL.md +350 -350
- package/skills/receiving-code-review/SKILL.md +213 -213
- package/skills/requesting-code-review/SKILL.md +105 -105
- package/skills/requesting-code-review/code-reviewer.md +146 -146
- package/skills/security-and-hardening/SKILL.md +349 -349
- package/skills/shipping-and-launch/SKILL.md +309 -309
- package/skills/source-driven-development/SKILL.md +194 -194
- package/skills/spec-driven-development/SKILL.md +200 -200
- package/skills/subagent-driven-development/SKILL.md +277 -277
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -26
- package/skills/subagent-driven-development/implementer-prompt.md +113 -113
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -61
- package/skills/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/systematic-debugging/SKILL.md +596 -596
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/systematic-debugging/find-polluter.sh +63 -63
- package/skills/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/systematic-debugging/test-academic.md +14 -14
- package/skills/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/test-driven-development/SKILL.md +379 -379
- package/skills/using-agent-skills/SKILL.md +174 -174
- package/skills/using-git-worktrees/SKILL.md +218 -218
- package/skills/using-superpowers/SKILL.md +117 -117
- package/skills/using-superpowers/references/codex-tools.md +100 -100
- package/skills/using-superpowers/references/copilot-tools.md +52 -52
- package/skills/using-superpowers/references/gemini-tools.md +33 -33
- package/skills/verification-before-completion/SKILL.md +139 -139
- package/skills/writing-plans/SKILL.md +152 -152
- package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -49
- package/skills/writing-skills/SKILL.md +655 -655
- package/skills/writing-skills/anthropic-best-practices.md +1150 -1150
- package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
- package/skills/writing-skills/graphviz-conventions.dot +171 -171
- package/skills/writing-skills/persuasion-principles.md +187 -187
- package/skills/writing-skills/render-graphs.js +168 -168
- package/skills/writing-skills/testing-skills-with-subagents.md +384 -384
- package/src/AGENTS.md +41 -41
- package/src/agents/AGENTS.md +74 -74
- package/src/agents/agent-builder.ts +50 -50
- package/src/agents/bob/AGENTS.md +29 -29
- package/src/agents/bob/default.ts +128 -128
- package/src/agents/bob/gemini.ts +237 -237
- package/src/agents/bob/gpt-pro.ts +430 -430
- package/src/agents/bob/index.ts +19 -19
- package/src/agents/bob.ts +528 -528
- package/src/agents/builtin-agents/agent-overrides.ts +75 -75
- package/src/agents/builtin-agents/available-skills.ts +35 -35
- package/src/agents/builtin-agents/bob-agent.ts +96 -96
- package/src/agents/builtin-agents/coder-agent.ts +98 -98
- package/src/agents/builtin-agents/environment-context.ts +16 -16
- package/src/agents/builtin-agents/general-agents.ts +122 -122
- package/src/agents/builtin-agents/guard-agent.ts +66 -66
- package/src/agents/builtin-agents/model-resolution.ts +31 -31
- package/src/agents/builtin-agents/resolve-file-uri.ts +42 -42
- package/src/agents/builtin-agents.ts +194 -194
- package/src/agents/coder/AGENTS.md +34 -34
- package/src/agents/coder/agent.ts +162 -162
- package/src/agents/coder/gpt-codex.ts +404 -404
- package/src/agents/coder/gpt-pro.ts +319 -319
- package/src/agents/coder/gpt.ts +253 -253
- package/src/agents/coder/index.ts +8 -8
- package/src/agents/critic/agent.ts +105 -105
- package/src/agents/custom-agent-summaries.ts +61 -61
- package/src/agents/dynamic-agent-category-skills-guide.ts +138 -138
- package/src/agents/dynamic-agent-core-sections.ts +237 -237
- package/src/agents/dynamic-agent-policy-sections.ts +182 -182
- package/src/agents/dynamic-agent-prompt-builder.ts +31 -31
- package/src/agents/dynamic-agent-prompt-types.ts +24 -24
- package/src/agents/dynamic-agent-tool-categorization.ts +45 -45
- package/src/agents/env-context.ts +16 -16
- package/src/agents/gpt-apply-patch-guard.ts +7 -7
- package/src/agents/guard/agent.ts +146 -146
- package/src/agents/guard/default-prompt-sections.ts +305 -305
- package/src/agents/guard/default.ts +22 -22
- package/src/agents/guard/gemini-prompt-sections.ts +293 -293
- package/src/agents/guard/gemini.ts +22 -22
- package/src/agents/guard/gpt-prompt-sections.ts +296 -296
- package/src/agents/guard/gpt.ts +22 -22
- package/src/agents/guard/index.ts +2 -2
- package/src/agents/guard/prompt-section-builder.ts +104 -104
- package/src/agents/guard/shared-prompt.ts +172 -172
- package/src/agents/index.ts +5 -5
- package/src/agents/platform-adapter.ts +236 -236
- package/src/agents/platform-manager.ts +57 -57
- package/src/agents/prompt-library/identity.ts +14 -14
- package/src/agents/prompt-library/index.ts +7 -7
- package/src/agents/prompt-library/intent-gate.ts +149 -149
- package/src/agents/prompt-library/orchestration.ts +60 -60
- package/src/agents/prompt-library/platform.ts +36 -36
- package/src/agents/prompt-library/specialized.ts +39 -39
- package/src/agents/prompt-library/strategy.ts +80 -80
- package/src/agents/prompt-library/todo-discipline.ts +22 -22
- package/src/agents/quality-guardian.ts +76 -76
- package/src/agents/researcher.ts +73 -73
- package/src/agents/strategist/AGENTS.md +37 -37
- package/src/agents/strategist/behavioral-summary.ts +79 -79
- package/src/agents/strategist/gemini.ts +333 -333
- package/src/agents/strategist/gpt.ts +460 -460
- package/src/agents/strategist/high-accuracy-mode.ts +78 -78
- package/src/agents/strategist/identity-constraints.ts +336 -336
- package/src/agents/strategist/index.ts +6 -6
- package/src/agents/strategist/interview-mode.ts +335 -335
- package/src/agents/strategist/plan-generation.ts +213 -213
- package/src/agents/strategist/plan-template.ts +325 -325
- package/src/agents/strategist/system-prompt.ts +68 -68
- package/src/agents/sub/agent.ts +141 -141
- package/src/agents/sub/default.ts +52 -52
- package/src/agents/sub/gemini.ts +194 -194
- package/src/agents/sub/gpt-codex.ts +156 -156
- package/src/agents/sub/gpt-pro.ts +161 -161
- package/src/agents/sub/gpt.ts +157 -157
- package/src/agents/sub/index.ts +13 -13
- package/src/agents/types.ts +144 -144
- package/src/agents/ui.ts +58 -58
- package/src/config/data/model-capabilities.json +40690 -40690
- package/src/config/defaults.ts +146 -146
- package/src/config/hiai-opencode.schema.json +12 -12
- package/src/config/index.ts +67 -67
- package/src/config/loader.test.ts +65 -65
- package/src/config/loader.ts +183 -183
- package/src/config/models.ts +32 -32
- package/src/config/platform-schema.ts +192 -192
- package/src/config/schema/agent-definitions.ts +5 -5
- package/src/config/schema/agent-names.ts +66 -66
- package/src/config/schema/agent-overrides.ts +95 -95
- package/src/config/schema/babysitting.ts +7 -7
- package/src/config/schema/background-task.ts +29 -29
- package/src/config/schema/bob-agent.ts +11 -11
- package/src/config/schema/bob.ts +17 -17
- package/src/config/schema/browser-automation.ts +24 -24
- package/src/config/schema/categories.ts +45 -45
- package/src/config/schema/claude-code.ts +13 -13
- package/src/config/schema/commands.ts +14 -14
- package/src/config/schema/comment-checker.ts +8 -8
- package/src/config/schema/dynamic-context-pruning.ts +53 -53
- package/src/config/schema/experimental.ts +27 -27
- package/src/config/schema/fallback-models.ts +31 -31
- package/src/config/schema/fast-apply.ts +14 -14
- package/src/config/schema/git-env-prefix.ts +28 -28
- package/src/config/schema/git-master.ts +14 -14
- package/src/config/schema/hooks.ts +61 -61
- package/src/config/schema/index.ts +52 -52
- package/src/config/schema/internal/permission.ts +20 -20
- package/src/config/schema/model-capabilities.ts +10 -10
- package/src/config/schema/notification.ts +8 -8
- package/src/config/schema/oh-my-opencode-config.ts +90 -90
- package/src/config/schema/openclaw.ts +50 -50
- package/src/config/schema/ralph-loop.ts +11 -11
- package/src/config/schema/runtime-fallback.ts +18 -18
- package/src/config/schema/skills.ts +39 -39
- package/src/config/schema/start-work.ts +7 -7
- package/src/config/schema/tmux.ts +28 -28
- package/src/config/schema/websearch.ts +15 -15
- package/src/config/types.ts +174 -174
- package/src/create-hooks.ts +93 -93
- package/src/create-managers.ts +116 -116
- package/src/create-runtime-tmux-config.ts +18 -18
- package/src/create-tools.ts +53 -53
- package/src/features/background-agent/AGENTS.md +56 -56
- package/src/features/background-agent/abort-with-timeout.ts +35 -35
- package/src/features/background-agent/background-task-notification-template.ts +74 -74
- package/src/features/background-agent/compaction-aware-message-resolver.ts +164 -164
- package/src/features/background-agent/concurrency.ts +137 -137
- package/src/features/background-agent/constants.ts +58 -58
- package/src/features/background-agent/duration-formatter.ts +14 -14
- package/src/features/background-agent/error-classifier.ts +83 -83
- package/src/features/background-agent/fallback-retry-handler.ts +134 -134
- package/src/features/background-agent/index.ts +2 -2
- package/src/features/background-agent/loop-detector.ts +102 -102
- package/src/features/background-agent/manager.ts +2220 -2220
- package/src/features/background-agent/opencode-client.ts +3 -3
- package/src/features/background-agent/process-cleanup.ts +98 -98
- package/src/features/background-agent/remove-task-toast-tracking.ts +8 -8
- package/src/features/background-agent/session-existence.ts +57 -57
- package/src/features/background-agent/session-idle-event-handler.ts +93 -93
- package/src/features/background-agent/session-status-classifier.ts +20 -20
- package/src/features/background-agent/spawner/parent-directory-resolver.ts +24 -24
- package/src/features/background-agent/spawner.ts +327 -327
- package/src/features/background-agent/state.ts +199 -199
- package/src/features/background-agent/subagent-spawn-limits.ts +97 -97
- package/src/features/background-agent/task-history.ts +79 -79
- package/src/features/background-agent/task-poller.ts +225 -225
- package/src/features/background-agent/types.ts +100 -100
- package/src/features/boulder-state/constants.ts +13 -13
- package/src/features/boulder-state/index.ts +4 -4
- package/src/features/boulder-state/storage.ts +336 -336
- package/src/features/boulder-state/top-level-task.ts +78 -78
- package/src/features/boulder-state/types.ts +61 -61
- package/src/features/builtin-commands/commands.ts +143 -143
- package/src/features/builtin-commands/index.ts +2 -2
- package/src/features/builtin-commands/templates/handoff.ts +177 -177
- package/src/features/builtin-commands/templates/init-deep.ts +305 -305
- package/src/features/builtin-commands/templates/ralph-loop.ts +66 -66
- package/src/features/builtin-commands/templates/refactor.ts +619 -619
- package/src/features/builtin-commands/templates/remove-ai-slops.ts +96 -96
- package/src/features/builtin-commands/templates/start-work.ts +128 -128
- package/src/features/builtin-commands/templates/stop-continuation.ts +13 -13
- package/src/features/builtin-commands/types.ts +9 -9
- package/src/features/builtin-skills/index.ts +2 -2
- package/src/features/builtin-skills/materialize.ts +338 -338
- package/src/features/builtin-skills/skills/ai-slop-remover.ts +145 -145
- package/src/features/builtin-skills/skills/dev-browser.ts +221 -221
- package/src/features/builtin-skills/skills/frontend-ui-ux.ts +79 -79
- package/src/features/builtin-skills/skills/git-master-sections/commit-workflow.ts +509 -509
- package/src/features/builtin-skills/skills/git-master-sections/history-search-workflow.ts +229 -229
- package/src/features/builtin-skills/skills/git-master-sections/overview.ts +64 -64
- package/src/features/builtin-skills/skills/git-master-sections/quick-reference.ts +86 -86
- package/src/features/builtin-skills/skills/git-master-sections/rebase-workflow.ts +181 -181
- package/src/features/builtin-skills/skills/git-master-skill-metadata.ts +4 -4
- package/src/features/builtin-skills/skills/git-master.ts +28 -28
- package/src/features/builtin-skills/skills/index.ts +7 -7
- package/src/features/builtin-skills/skills/playwright-cli.ts +268 -268
- package/src/features/builtin-skills/skills/playwright.ts +466 -466
- package/src/features/builtin-skills/skills/review-work.ts +536 -536
- package/src/features/builtin-skills/skills.ts +39 -39
- package/src/features/builtin-skills/types.ts +16 -16
- package/src/features/claude-code-agent-loader/agent-definitions-loader.ts +87 -87
- package/src/features/claude-code-agent-loader/claude-model-mapper.ts +53 -53
- package/src/features/claude-code-agent-loader/index.ts +5 -5
- package/src/features/claude-code-agent-loader/json-agent-loader.ts +53 -53
- package/src/features/claude-code-agent-loader/loader.ts +86 -86
- package/src/features/claude-code-agent-loader/opencode-config-agents-reader.ts +125 -125
- package/src/features/claude-code-agent-loader/types.ts +31 -31
- package/src/features/claude-code-command-loader/index.ts +2 -2
- package/src/features/claude-code-command-loader/loader.ts +169 -169
- package/src/features/claude-code-command-loader/types.ts +46 -46
- package/src/features/claude-code-mcp-loader/configure-allowed-env-vars.ts +48 -48
- package/src/features/claude-code-mcp-loader/env-expander.ts +51 -51
- package/src/features/claude-code-mcp-loader/index.ts +12 -12
- package/src/features/claude-code-mcp-loader/loader.ts +156 -156
- package/src/features/claude-code-mcp-loader/scope-filter.ts +17 -17
- package/src/features/claude-code-mcp-loader/transformer.ts +57 -57
- package/src/features/claude-code-mcp-loader/types.ts +51 -51
- package/src/features/claude-code-plugin-loader/agent-loader.ts +59 -59
- package/src/features/claude-code-plugin-loader/command-loader.ts +53 -53
- package/src/features/claude-code-plugin-loader/discovery.ts +251 -251
- package/src/features/claude-code-plugin-loader/hook-loader.ts +26 -26
- package/src/features/claude-code-plugin-loader/index.ts +10 -10
- package/src/features/claude-code-plugin-loader/loader.ts +134 -134
- package/src/features/claude-code-plugin-loader/mcp-server-loader.ts +59 -59
- package/src/features/claude-code-plugin-loader/plugin-path-resolver.ts +23 -23
- package/src/features/claude-code-plugin-loader/scope-filter.ts +29 -29
- package/src/features/claude-code-plugin-loader/skill-loader.ts +62 -62
- package/src/features/claude-code-plugin-loader/types.ts +255 -255
- package/src/features/claude-code-session-state/index.ts +1 -1
- package/src/features/claude-code-session-state/state.ts +154 -154
- package/src/features/claude-tasks/session-storage.ts +52 -52
- package/src/features/claude-tasks/storage.ts +169 -169
- package/src/features/claude-tasks/types.ts +20 -20
- package/src/features/context-injector/collector.ts +91 -91
- package/src/features/context-injector/index.ts +14 -14
- package/src/features/context-injector/injector.ts +167 -167
- package/src/features/context-injector/types.ts +91 -91
- package/src/features/hook-message-injector/constants.ts +1 -1
- package/src/features/hook-message-injector/index.ts +11 -11
- package/src/features/hook-message-injector/injector.ts +437 -437
- package/src/features/hook-message-injector/types.ts +49 -49
- package/src/features/mcp-oauth/AGENTS.md +54 -54
- package/src/features/mcp-oauth/callback-server.ts +106 -106
- package/src/features/mcp-oauth/dcr.ts +98 -98
- package/src/features/mcp-oauth/discovery.ts +134 -134
- package/src/features/mcp-oauth/oauth-authorization-flow.ts +150 -150
- package/src/features/mcp-oauth/provider.ts +215 -215
- package/src/features/mcp-oauth/refresh-mutex.ts +58 -58
- package/src/features/mcp-oauth/resource-indicator.ts +16 -16
- package/src/features/mcp-oauth/schema.ts +8 -8
- package/src/features/mcp-oauth/step-up.ts +79 -79
- package/src/features/mcp-oauth/storage.ts +155 -155
- package/src/features/opencode-skill-loader/AGENTS.md +59 -59
- package/src/features/opencode-skill-loader/allowed-tools-parser.ts +9 -9
- package/src/features/opencode-skill-loader/async-loader.ts +213 -213
- package/src/features/opencode-skill-loader/blocking.ts +62 -62
- package/src/features/opencode-skill-loader/config-source-discovery.ts +114 -114
- package/src/features/opencode-skill-loader/discover-worker.ts +56 -56
- package/src/features/opencode-skill-loader/git-master-template-injection.ts +150 -150
- package/src/features/opencode-skill-loader/index.ts +17 -17
- package/src/features/opencode-skill-loader/loaded-skill-from-path.ts +73 -73
- package/src/features/opencode-skill-loader/loaded-skill-template-extractor.ts +16 -16
- package/src/features/opencode-skill-loader/loader.ts +172 -172
- package/src/features/opencode-skill-loader/merger/builtin-skill-converter.ts +26 -26
- package/src/features/opencode-skill-loader/merger/config-skill-entry-loader.ts +117 -117
- package/src/features/opencode-skill-loader/merger/scope-priority.ts +10 -10
- package/src/features/opencode-skill-loader/merger/skill-definition-merger.ts +31 -31
- package/src/features/opencode-skill-loader/merger/skills-config-normalizer.ts +19 -19
- package/src/features/opencode-skill-loader/merger.ts +96 -96
- package/src/features/opencode-skill-loader/skill-content.ts +11 -11
- package/src/features/opencode-skill-loader/skill-deduplication.ts +13 -13
- package/src/features/opencode-skill-loader/skill-definition-record.ts +11 -11
- package/src/features/opencode-skill-loader/skill-directory-loader.ts +112 -112
- package/src/features/opencode-skill-loader/skill-discovery.ts +76 -76
- package/src/features/opencode-skill-loader/skill-mcp-config.ts +45 -45
- package/src/features/opencode-skill-loader/skill-resolution-options.ts +9 -9
- package/src/features/opencode-skill-loader/skill-template-resolver.ts +97 -97
- package/src/features/opencode-skill-loader/types.ts +38 -38
- package/src/features/run-continuation-state/constants.ts +1 -1
- package/src/features/run-continuation-state/index.ts +3 -3
- package/src/features/run-continuation-state/storage.ts +80 -80
- package/src/features/run-continuation-state/types.ts +15 -15
- package/src/features/skill-mcp-manager/AGENTS.md +111 -111
- package/src/features/skill-mcp-manager/cleanup.ts +153 -153
- package/src/features/skill-mcp-manager/connection-type.ts +26 -26
- package/src/features/skill-mcp-manager/connection.ts +146 -146
- package/src/features/skill-mcp-manager/env-cleaner.ts +59 -59
- package/src/features/skill-mcp-manager/error-redaction.ts +47 -47
- package/src/features/skill-mcp-manager/http-client.ts +126 -126
- package/src/features/skill-mcp-manager/index.ts +2 -2
- package/src/features/skill-mcp-manager/manager.ts +178 -178
- package/src/features/skill-mcp-manager/oauth-handler.ts +160 -160
- package/src/features/skill-mcp-manager/stdio-client.ts +112 -112
- package/src/features/skill-mcp-manager/types.ts +96 -96
- package/src/features/task-toast-manager/index.ts +2 -2
- package/src/features/task-toast-manager/manager.ts +251 -251
- package/src/features/task-toast-manager/types.ts +29 -29
- package/src/features/tmux-subagent/action-executor-core.ts +82 -82
- package/src/features/tmux-subagent/action-executor.ts +137 -137
- package/src/features/tmux-subagent/cleanup.ts +42 -42
- package/src/features/tmux-subagent/decision-engine.ts +22 -22
- package/src/features/tmux-subagent/event-handlers.ts +6 -6
- package/src/features/tmux-subagent/grid-planning.ts +137 -137
- package/src/features/tmux-subagent/index.ts +16 -16
- package/src/features/tmux-subagent/manager.ts +969 -969
- package/src/features/tmux-subagent/oldest-agent-pane.ts +37 -37
- package/src/features/tmux-subagent/pane-split-availability.ts +77 -77
- package/src/features/tmux-subagent/pane-state-parser.ts +135 -135
- package/src/features/tmux-subagent/pane-state-querier.ts +76 -76
- package/src/features/tmux-subagent/polling-constants.ts +6 -6
- package/src/features/tmux-subagent/polling-manager.ts +167 -167
- package/src/features/tmux-subagent/polling.ts +183 -183
- package/src/features/tmux-subagent/session-created-event.ts +44 -44
- package/src/features/tmux-subagent/session-created-handler.ts +175 -175
- package/src/features/tmux-subagent/session-deleted-handler.ts +50 -50
- package/src/features/tmux-subagent/session-message-count.ts +3 -3
- package/src/features/tmux-subagent/session-ready-waiter.ts +44 -44
- package/src/features/tmux-subagent/session-status-parser.ts +17 -17
- package/src/features/tmux-subagent/spawn-action-decider.ts +147 -147
- package/src/features/tmux-subagent/spawn-target-finder.ts +146 -146
- package/src/features/tmux-subagent/tmux-grid-constants.ts +57 -57
- package/src/features/tmux-subagent/tracked-session-state.ts +29 -29
- package/src/features/tmux-subagent/types.ts +54 -54
- package/src/features/tool-metadata-store/index.ts +7 -7
- package/src/features/tool-metadata-store/store.ts +84 -84
- package/src/hooks/agent-usage-reminder/constants.ts +52 -52
- package/src/hooks/agent-usage-reminder/hook.ts +134 -134
- package/src/hooks/agent-usage-reminder/index.ts +1 -1
- package/src/hooks/agent-usage-reminder/storage.ts +42 -42
- package/src/hooks/agent-usage-reminder/types.ts +6 -6
- package/src/hooks/anthropic-context-window-limit-recovery/AGENTS.md +49 -49
- package/src/hooks/anthropic-context-window-limit-recovery/aggressive-truncation-strategy.ts +87 -87
- package/src/hooks/anthropic-context-window-limit-recovery/client.ts +21 -21
- package/src/hooks/anthropic-context-window-limit-recovery/deduplication-recovery.ts +77 -77
- package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.ts +199 -199
- package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery.ts +149 -149
- package/src/hooks/anthropic-context-window-limit-recovery/executor.ts +83 -83
- package/src/hooks/anthropic-context-window-limit-recovery/index.ts +8 -8
- package/src/hooks/anthropic-context-window-limit-recovery/message-builder.ts +190 -190
- package/src/hooks/anthropic-context-window-limit-recovery/message-storage-directory.ts +40 -40
- package/src/hooks/anthropic-context-window-limit-recovery/parser.ts +209 -209
- package/src/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.ts +189 -189
- package/src/hooks/anthropic-context-window-limit-recovery/pruning-tool-output-truncation.ts +142 -142
- package/src/hooks/anthropic-context-window-limit-recovery/pruning-types.ts +44 -44
- package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.ts +119 -119
- package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts +193 -193
- package/src/hooks/anthropic-context-window-limit-recovery/recovery-strategy.ts +2 -2
- package/src/hooks/anthropic-context-window-limit-recovery/session-timeout-map.ts +20 -20
- package/src/hooks/anthropic-context-window-limit-recovery/state.ts +78 -78
- package/src/hooks/anthropic-context-window-limit-recovery/storage-paths.ts +6 -6
- package/src/hooks/anthropic-context-window-limit-recovery/storage.ts +18 -18
- package/src/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.ts +218 -218
- package/src/hooks/anthropic-context-window-limit-recovery/target-token-truncation.ts +196 -196
- package/src/hooks/anthropic-context-window-limit-recovery/tool-part-types.ts +38 -38
- package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage-sdk.ts +123 -123
- package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage.ts +119 -119
- package/src/hooks/anthropic-context-window-limit-recovery/types.ts +44 -44
- package/src/hooks/anthropic-effort/hook.ts +93 -93
- package/src/hooks/anthropic-effort/index.ts +1 -1
- package/src/hooks/auto-slash-command/constants.ts +12 -12
- package/src/hooks/auto-slash-command/detector.ts +88 -88
- package/src/hooks/auto-slash-command/executor.ts +165 -165
- package/src/hooks/auto-slash-command/hook.ts +238 -238
- package/src/hooks/auto-slash-command/index.ts +7 -7
- package/src/hooks/auto-slash-command/processed-command-store.ts +74 -74
- package/src/hooks/auto-slash-command/types.ts +42 -42
- package/src/hooks/background-notification/hook.ts +54 -54
- package/src/hooks/background-notification/index.ts +2 -2
- package/src/hooks/background-notification/types.ts +5 -5
- package/src/hooks/bash-file-read-guard.ts +44 -44
- package/src/hooks/category-skill-reminder/formatter.ts +37 -37
- package/src/hooks/category-skill-reminder/hook.ts +142 -142
- package/src/hooks/category-skill-reminder/index.ts +1 -1
- package/src/hooks/claude-code-hooks/AGENTS.md +41 -41
- package/src/hooks/claude-code-hooks/claude-code-hooks-hook.ts +28 -28
- package/src/hooks/claude-code-hooks/config-loader.ts +151 -151
- package/src/hooks/claude-code-hooks/config.ts +147 -147
- package/src/hooks/claude-code-hooks/dispatch-hook.ts +27 -27
- package/src/hooks/claude-code-hooks/execute-http-hook.ts +116 -116
- package/src/hooks/claude-code-hooks/handlers/chat-message-handler.ts +140 -140
- package/src/hooks/claude-code-hooks/handlers/pre-compact-handler.ts +41 -41
- package/src/hooks/claude-code-hooks/handlers/session-event-handler.ts +137 -137
- package/src/hooks/claude-code-hooks/handlers/tool-execute-after-handler.ts +160 -160
- package/src/hooks/claude-code-hooks/handlers/tool-execute-before-handler.ts +93 -93
- package/src/hooks/claude-code-hooks/index.ts +1 -1
- package/src/hooks/claude-code-hooks/plugin-config.ts +12 -12
- package/src/hooks/claude-code-hooks/post-tool-use.ts +195 -195
- package/src/hooks/claude-code-hooks/pre-compact.ts +105 -105
- package/src/hooks/claude-code-hooks/pre-tool-use.ts +168 -168
- package/src/hooks/claude-code-hooks/session-hook-state.ts +17 -17
- package/src/hooks/claude-code-hooks/stop.ts +118 -118
- package/src/hooks/claude-code-hooks/todo.ts +76 -76
- package/src/hooks/claude-code-hooks/tool-input-cache.ts +82 -82
- package/src/hooks/claude-code-hooks/transcript.ts +248 -248
- package/src/hooks/claude-code-hooks/types.ts +214 -214
- package/src/hooks/claude-code-hooks/user-prompt-submit.ts +121 -121
- package/src/hooks/comment-checker/cli-runner.ts +127 -127
- package/src/hooks/comment-checker/cli.ts +269 -269
- package/src/hooks/comment-checker/downloader.ts +170 -170
- package/src/hooks/comment-checker/hook.ts +192 -192
- package/src/hooks/comment-checker/index.ts +1 -1
- package/src/hooks/comment-checker/pending-calls.ts +45 -45
- package/src/hooks/comment-checker/types.ts +33 -33
- package/src/hooks/compaction-context-injector/compaction-context-prompt.ts +56 -56
- package/src/hooks/compaction-context-injector/constants.ts +5 -5
- package/src/hooks/compaction-context-injector/hook.ts +164 -164
- package/src/hooks/compaction-context-injector/index.ts +1 -1
- package/src/hooks/compaction-context-injector/recovery-prompt-config.ts +77 -77
- package/src/hooks/compaction-context-injector/recovery.ts +163 -163
- package/src/hooks/compaction-context-injector/session-id.ts +8 -8
- package/src/hooks/compaction-context-injector/session-prompt-config-resolver.ts +120 -120
- package/src/hooks/compaction-context-injector/tail-monitor.ts +52 -52
- package/src/hooks/compaction-context-injector/types.ts +25 -25
- package/src/hooks/compaction-context-injector/validated-model.ts +47 -47
- package/src/hooks/compaction-todo-preserver/hook.ts +127 -127
- package/src/hooks/compaction-todo-preserver/index.ts +2 -2
- package/src/hooks/context-window-monitor.ts +113 -113
- package/src/hooks/delegate-task-retry/guidance.ts +45 -45
- package/src/hooks/delegate-task-retry/hook.ts +22 -22
- package/src/hooks/delegate-task-retry/index.ts +4 -4
- package/src/hooks/delegate-task-retry/patterns.ts +77 -77
- package/src/hooks/directory-agents-injector/constants.ts +7 -7
- package/src/hooks/directory-agents-injector/finder.ts +38 -38
- package/src/hooks/directory-agents-injector/hook.ts +80 -80
- package/src/hooks/directory-agents-injector/index.ts +1 -1
- package/src/hooks/directory-agents-injector/injector.ts +59 -59
- package/src/hooks/directory-agents-injector/storage.ts +8 -8
- package/src/hooks/directory-readme-injector/constants.ts +7 -7
- package/src/hooks/directory-readme-injector/finder.ts +33 -33
- package/src/hooks/directory-readme-injector/hook.ts +80 -80
- package/src/hooks/directory-readme-injector/index.ts +1 -1
- package/src/hooks/directory-readme-injector/injector.ts +59 -59
- package/src/hooks/directory-readme-injector/storage.ts +8 -8
- package/src/hooks/edit-error-recovery/hook.ts +58 -58
- package/src/hooks/edit-error-recovery/index.ts +5 -5
- package/src/hooks/empty-task-response-detector.ts +27 -27
- package/src/hooks/fast-apply/hook.ts +11 -11
- package/src/hooks/fast-apply/index.ts +1 -1
- package/src/hooks/fast-apply/ollama-client.ts +53 -53
- package/src/hooks/fast-apply/tool-execute-before-handler.ts +86 -86
- package/src/hooks/guard/AGENTS.md +64 -64
- package/src/hooks/guard/background-launch-session-tracking.ts +97 -97
- package/src/hooks/guard/bob-path.ts +8 -8
- package/src/hooks/guard/boulder-continuation-injector.ts +109 -109
- package/src/hooks/guard/boulder-session-lineage.ts +44 -44
- package/src/hooks/guard/event-handler.ts +104 -104
- package/src/hooks/guard/final-wave-approval-gate.ts +47 -47
- package/src/hooks/guard/final-wave-plan-state.ts +60 -60
- package/src/hooks/guard/guard-hook.ts +27 -27
- package/src/hooks/guard/hook-name.ts +1 -1
- package/src/hooks/guard/idle-event.ts +341 -341
- package/src/hooks/guard/index.ts +3 -3
- package/src/hooks/guard/is-abort-error.ts +20 -20
- package/src/hooks/guard/recent-model-resolver.ts +89 -89
- package/src/hooks/guard/resolve-active-boulder-session.ts +29 -29
- package/src/hooks/guard/session-last-agent.ts +153 -153
- package/src/hooks/guard/subagent-session-id.ts +54 -54
- package/src/hooks/guard/system-reminder-templates.ts +249 -249
- package/src/hooks/guard/task-context.ts +45 -45
- package/src/hooks/guard/tool-execute-after.ts +209 -209
- package/src/hooks/guard/tool-execute-before.ts +102 -102
- package/src/hooks/guard/tsconfig.json +9 -9
- package/src/hooks/guard/types.ts +45 -45
- package/src/hooks/guard/verification-reminders.ts +197 -197
- package/src/hooks/guard/write-edit-tool-policy.ts +5 -5
- package/src/hooks/hashline-edit-diff-enhancer/hook.ts +106 -106
- package/src/hooks/hashline-read-enhancer/hook.ts +193 -193
- package/src/hooks/hashline-read-enhancer/index.ts +1 -1
- package/src/hooks/index.ts +58 -58
- package/src/hooks/interactive-bash-session/constants.ts +13 -13
- package/src/hooks/interactive-bash-session/hook.ts +125 -125
- package/src/hooks/interactive-bash-session/index.ts +3 -3
- package/src/hooks/interactive-bash-session/interactive-bash-session-tracker.ts +119 -119
- package/src/hooks/interactive-bash-session/parser.ts +118 -118
- package/src/hooks/interactive-bash-session/state-manager.ts +35 -35
- package/src/hooks/interactive-bash-session/storage.ts +59 -59
- package/src/hooks/interactive-bash-session/tmux-command-parser.ts +125 -125
- package/src/hooks/interactive-bash-session/types.ts +11 -11
- package/src/hooks/json-error-recovery/hook.ts +58 -58
- package/src/hooks/json-error-recovery/index.ts +6 -6
- package/src/hooks/keyword-detector/AGENTS.md +57 -57
- package/src/hooks/keyword-detector/analyze/default.ts +28 -28
- package/src/hooks/keyword-detector/analyze/index.ts +1 -1
- package/src/hooks/keyword-detector/constants.ts +45 -45
- package/src/hooks/keyword-detector/detector.ts +53 -53
- package/src/hooks/keyword-detector/hook.ts +143 -143
- package/src/hooks/keyword-detector/index.ts +5 -5
- package/src/hooks/keyword-detector/search/default.ts +20 -20
- package/src/hooks/keyword-detector/search/index.ts +1 -1
- package/src/hooks/keyword-detector/types.ts +4 -4
- package/src/hooks/keyword-detector/ultrawork/default.ts +302 -302
- package/src/hooks/keyword-detector/ultrawork/gemini.ts +290 -290
- package/src/hooks/keyword-detector/ultrawork/gpt.ts +173 -173
- package/src/hooks/keyword-detector/ultrawork/index.ts +56 -56
- package/src/hooks/keyword-detector/ultrawork/planner.ts +140 -140
- package/src/hooks/keyword-detector/ultrawork/source-detector.ts +65 -65
- package/src/hooks/legacy-plugin-toast/auto-migrate-runner.ts +2 -2
- package/src/hooks/legacy-plugin-toast/auto-migrate.ts +64 -64
- package/src/hooks/legacy-plugin-toast/hook.ts +68 -68
- package/src/hooks/legacy-plugin-toast/index.ts +1 -1
- package/src/hooks/legacy-plugin-toast/plugin-entry-migrator.ts +1 -1
- package/src/hooks/model-fallback/chat-message-fallback-handler.ts +74 -74
- package/src/hooks/model-fallback/hook.ts +201 -201
- package/src/hooks/model-fallback/next-fallback.ts +84 -84
- package/src/hooks/no-bob-gpt/hook.ts +56 -56
- package/src/hooks/no-bob-gpt/index.ts +1 -1
- package/src/hooks/no-coder-non-gpt/hook.ts +67 -67
- package/src/hooks/no-coder-non-gpt/index.ts +1 -1
- package/src/hooks/non-interactive-env/constants.ts +70 -70
- package/src/hooks/non-interactive-env/detector.ts +19 -19
- package/src/hooks/non-interactive-env/index.ts +5 -5
- package/src/hooks/non-interactive-env/non-interactive-env-hook.ts +73 -73
- package/src/hooks/non-interactive-env/types.ts +3 -3
- package/src/hooks/preemptive-compaction-degradation-monitor.ts +212 -212
- package/src/hooks/preemptive-compaction-no-text-tail.ts +70 -70
- package/src/hooks/preemptive-compaction.ts +218 -218
- package/src/hooks/question-label-truncator/hook.ts +62 -62
- package/src/hooks/question-label-truncator/index.ts +1 -1
- package/src/hooks/ralph-loop/AGENTS.md +62 -62
- package/src/hooks/ralph-loop/command-arguments.ts +30 -30
- package/src/hooks/ralph-loop/completion-handler.ts +65 -65
- package/src/hooks/ralph-loop/completion-promise-detector-test-input.ts +23 -23
- package/src/hooks/ralph-loop/completion-promise-detector.ts +165 -165
- package/src/hooks/ralph-loop/constants.ts +7 -7
- package/src/hooks/ralph-loop/continuation-prompt-builder.ts +77 -77
- package/src/hooks/ralph-loop/continuation-prompt-injector.ts +91 -91
- package/src/hooks/ralph-loop/index.ts +6 -6
- package/src/hooks/ralph-loop/iteration-continuation.ts +64 -64
- package/src/hooks/ralph-loop/logician-verification-detector.ts +88 -88
- package/src/hooks/ralph-loop/loop-session-recovery.ts +33 -33
- package/src/hooks/ralph-loop/loop-state-controller.ts +178 -178
- package/src/hooks/ralph-loop/message-storage-directory.ts +1 -1
- package/src/hooks/ralph-loop/pending-verification-handler.ts +152 -152
- package/src/hooks/ralph-loop/ralph-loop-event-handler.ts +231 -231
- package/src/hooks/ralph-loop/ralph-loop-hook.ts +90 -90
- package/src/hooks/ralph-loop/session-event-handler.ts +56 -56
- package/src/hooks/ralph-loop/session-reset-strategy.ts +69 -69
- package/src/hooks/ralph-loop/storage.ts +164 -164
- package/src/hooks/ralph-loop/types.ts +25 -25
- package/src/hooks/ralph-loop/verification-failure-handler.ts +103 -103
- package/src/hooks/ralph-loop/with-timeout.ts +20 -20
- package/src/hooks/read-image-resizer/hook.ts +209 -209
- package/src/hooks/read-image-resizer/image-dimensions.ts +191 -191
- package/src/hooks/read-image-resizer/image-resizer.ts +191 -191
- package/src/hooks/read-image-resizer/index.ts +1 -1
- package/src/hooks/read-image-resizer/png-fallback-resizer.ts +359 -359
- package/src/hooks/read-image-resizer/types.ts +16 -16
- package/src/hooks/rules-injector/AGENTS.md +53 -53
- package/src/hooks/rules-injector/cache.ts +27 -27
- package/src/hooks/rules-injector/constants.ts +31 -31
- package/src/hooks/rules-injector/finder.ts +3 -3
- package/src/hooks/rules-injector/hook.ts +94 -94
- package/src/hooks/rules-injector/index.ts +2 -2
- package/src/hooks/rules-injector/injector.ts +189 -189
- package/src/hooks/rules-injector/matcher.ts +63 -63
- package/src/hooks/rules-injector/output-path.ts +22 -22
- package/src/hooks/rules-injector/parser.ts +211 -211
- package/src/hooks/rules-injector/project-root-finder.ts +36 -36
- package/src/hooks/rules-injector/rule-distance.ts +53 -53
- package/src/hooks/rules-injector/rule-file-finder.ts +139 -139
- package/src/hooks/rules-injector/rule-file-scanner.ts +55 -55
- package/src/hooks/rules-injector/storage.ts +59 -59
- package/src/hooks/rules-injector/types.ts +57 -57
- package/src/hooks/runtime-fallback/AGENTS.md +102 -102
- package/src/hooks/runtime-fallback/agent-resolver.ts +50 -50
- package/src/hooks/runtime-fallback/auto-retry-signal.ts +32 -32
- package/src/hooks/runtime-fallback/auto-retry.ts +228 -228
- package/src/hooks/runtime-fallback/chat-message-handler.ts +62 -62
- package/src/hooks/runtime-fallback/constants.ts +47 -47
- package/src/hooks/runtime-fallback/error-classifier.ts +183 -183
- package/src/hooks/runtime-fallback/event-handler.ts +213 -213
- package/src/hooks/runtime-fallback/fallback-bootstrap-model.ts +63 -63
- package/src/hooks/runtime-fallback/fallback-models.ts +86 -86
- package/src/hooks/runtime-fallback/fallback-retry-dispatcher.ts +55 -55
- package/src/hooks/runtime-fallback/fallback-state.ts +74 -74
- package/src/hooks/runtime-fallback/hook.ts +87 -87
- package/src/hooks/runtime-fallback/index.ts +2 -2
- package/src/hooks/runtime-fallback/last-user-retry-parts.ts +20 -20
- package/src/hooks/runtime-fallback/message-update-handler.ts +168 -168
- package/src/hooks/runtime-fallback/retry-model-payload.ts +30 -30
- package/src/hooks/runtime-fallback/session-messages.ts +38 -38
- package/src/hooks/runtime-fallback/session-status-handler.ts +126 -126
- package/src/hooks/runtime-fallback/types.ts +77 -77
- package/src/hooks/runtime-fallback/visible-assistant-response.ts +80 -80
- package/src/hooks/session-notification-content.ts +145 -145
- package/src/hooks/session-notification-formatting.ts +25 -25
- package/src/hooks/session-notification-scheduler.ts +188 -188
- package/src/hooks/session-notification-sender.ts +117 -117
- package/src/hooks/session-notification-utils.ts +80 -80
- package/src/hooks/session-notification.ts +219 -219
- package/src/hooks/session-recovery/AGENTS.md +59 -59
- package/src/hooks/session-recovery/constants.ts +5 -5
- package/src/hooks/session-recovery/detect-error-type.ts +102 -102
- package/src/hooks/session-recovery/hook.ts +166 -166
- package/src/hooks/session-recovery/index.ts +7 -7
- package/src/hooks/session-recovery/recover-empty-content-message-sdk.ts +201 -201
- package/src/hooks/session-recovery/recover-thinking-block-order.ts +137 -137
- package/src/hooks/session-recovery/recover-thinking-disabled-violation.ts +75 -75
- package/src/hooks/session-recovery/recover-tool-result-missing.ts +108 -108
- package/src/hooks/session-recovery/recover-unavailable-tool.ts +108 -108
- package/src/hooks/session-recovery/resume.ts +49 -49
- package/src/hooks/session-recovery/storage/empty-messages.ts +47 -47
- package/src/hooks/session-recovery/storage/empty-text.ts +118 -118
- package/src/hooks/session-recovery/storage/message-dir.ts +1 -1
- package/src/hooks/session-recovery/storage/messages-reader.ts +83 -83
- package/src/hooks/session-recovery/storage/orphan-thinking-search.ts +43 -43
- package/src/hooks/session-recovery/storage/part-content.ts +28 -28
- package/src/hooks/session-recovery/storage/part-id.ts +5 -5
- package/src/hooks/session-recovery/storage/parts-reader.ts +56 -56
- package/src/hooks/session-recovery/storage/text-part-injector.ts +63 -63
- package/src/hooks/session-recovery/storage/thinking-block-search.ts +42 -42
- package/src/hooks/session-recovery/storage/thinking-prepend.ts +223 -223
- package/src/hooks/session-recovery/storage/thinking-strip.ts +67 -67
- package/src/hooks/session-recovery/storage.ts +34 -34
- package/src/hooks/session-recovery/types.ts +101 -101
- package/src/hooks/session-todo-status.ts +20 -20
- package/src/hooks/shared/compaction-model-resolver.ts +34 -34
- package/src/hooks/shared/shared/compaction-model-resolver.ts +34 -34
- package/src/hooks/start-work/context-info-builder.ts +319 -319
- package/src/hooks/start-work/index.ts +4 -4
- package/src/hooks/start-work/parse-user-request.ts +32 -32
- package/src/hooks/start-work/start-work-hook.ts +135 -135
- package/src/hooks/start-work/worktree-block.ts +11 -11
- package/src/hooks/start-work/worktree-detector.ts +77 -77
- package/src/hooks/stop-continuation-guard/hook.ts +122 -122
- package/src/hooks/stop-continuation-guard/index.ts +2 -2
- package/src/hooks/strategist-md-only/agent-matcher.ts +5 -5
- package/src/hooks/strategist-md-only/agent-resolution.ts +70 -70
- package/src/hooks/strategist-md-only/constants.ts +78 -78
- package/src/hooks/strategist-md-only/hook.ts +82 -82
- package/src/hooks/strategist-md-only/index.ts +2 -2
- package/src/hooks/strategist-md-only/path-policy.ts +41 -41
- package/src/hooks/sub-notepad/constants.ts +29 -29
- package/src/hooks/sub-notepad/hook.ts +44 -44
- package/src/hooks/sub-notepad/index.ts +3 -3
- package/src/hooks/task-reminder/hook.ts +59 -59
- package/src/hooks/task-reminder/index.ts +1 -1
- package/src/hooks/task-resume-info/hook.ts +39 -39
- package/src/hooks/task-resume-info/index.ts +1 -1
- package/src/hooks/tasks-todowrite-disabler/constants.ts +30 -30
- package/src/hooks/tasks-todowrite-disabler/hook.ts +34 -34
- package/src/hooks/tasks-todowrite-disabler/index.ts +2 -2
- package/src/hooks/think-mode/detector.ts +59 -59
- package/src/hooks/think-mode/hook.ts +76 -76
- package/src/hooks/think-mode/index.ts +5 -5
- package/src/hooks/think-mode/switcher.ts +100 -100
- package/src/hooks/think-mode/types.ts +16 -16
- package/src/hooks/thinking-block-validator/hook.ts +181 -181
- package/src/hooks/thinking-block-validator/index.ts +1 -1
- package/src/hooks/todo-continuation-enforcer/AGENTS.md +65 -65
- package/src/hooks/todo-continuation-enforcer/abort-detection.ts +17 -17
- package/src/hooks/todo-continuation-enforcer/compaction-guard.ts +39 -39
- package/src/hooks/todo-continuation-enforcer/constants.ts +25 -25
- package/src/hooks/todo-continuation-enforcer/continuation-injection.ts +222 -222
- package/src/hooks/todo-continuation-enforcer/countdown.ts +86 -86
- package/src/hooks/todo-continuation-enforcer/handler.ts +99 -99
- package/src/hooks/todo-continuation-enforcer/idle-event.ts +225 -225
- package/src/hooks/todo-continuation-enforcer/index.ts +59 -59
- package/src/hooks/todo-continuation-enforcer/message-directory.ts +1 -1
- package/src/hooks/todo-continuation-enforcer/non-idle-events.ts +107 -107
- package/src/hooks/todo-continuation-enforcer/pending-question-detection.ts +40 -40
- package/src/hooks/todo-continuation-enforcer/resolve-message-info.ts +48 -48
- package/src/hooks/todo-continuation-enforcer/session-state.ts +283 -283
- package/src/hooks/todo-continuation-enforcer/stagnation-detection.ts +36 -36
- package/src/hooks/todo-continuation-enforcer/todo.ts +11 -11
- package/src/hooks/todo-continuation-enforcer/token-limit-detection.ts +38 -38
- package/src/hooks/todo-continuation-enforcer/types.ts +74 -74
- package/src/hooks/todo-description-override/description.ts +28 -28
- package/src/hooks/todo-description-override/hook.ts +14 -14
- package/src/hooks/todo-description-override/index.ts +1 -1
- package/src/hooks/tool-output-truncator.ts +66 -66
- package/src/hooks/tool-pair-validator/hook.ts +184 -184
- package/src/hooks/tool-pair-validator/index.ts +1 -1
- package/src/hooks/unstable-agent-babysitter/index.ts +9 -9
- package/src/hooks/unstable-agent-babysitter/task-message-analyzer.ts +110 -110
- package/src/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.ts +238 -238
- package/src/hooks/webfetch-redirect-guard/constants.ts +11 -11
- package/src/hooks/webfetch-redirect-guard/hook.ts +123 -123
- package/src/hooks/webfetch-redirect-guard/index.ts +1 -1
- package/src/hooks/webfetch-redirect-guard/redirect-resolution.ts +89 -89
- package/src/hooks/write-existing-file-guard/hook.ts +108 -108
- package/src/hooks/write-existing-file-guard/index.ts +1 -1
- package/src/hooks/write-existing-file-guard/session-read-permissions.ts +36 -36
- package/src/hooks/write-existing-file-guard/tool-execute-before-handler.ts +176 -176
- package/src/index.ts +284 -284
- package/src/internals/plugins/pty/LICENSE +21 -21
- package/src/internals/plugins/pty/constants.ts +7 -7
- package/src/internals/plugins/pty/plugin.ts +28 -28
- package/src/internals/plugins/pty/pty/buffer.ts +75 -75
- package/src/internals/plugins/pty/pty/formatters.ts +22 -22
- package/src/internals/plugins/pty/pty/manager.ts +175 -175
- package/src/internals/plugins/pty/pty/notification-manager.ts +75 -75
- package/src/internals/plugins/pty/pty/output-manager.ts +29 -29
- package/src/internals/plugins/pty/pty/permissions.ts +115 -115
- package/src/internals/plugins/pty/pty/session-lifecycle.ts +161 -161
- package/src/internals/plugins/pty/pty/tools/kill.ts +41 -41
- package/src/internals/plugins/pty/pty/tools/kill.txt +25 -25
- package/src/internals/plugins/pty/pty/tools/list.ts +25 -25
- package/src/internals/plugins/pty/pty/tools/list.txt +22 -22
- package/src/internals/plugins/pty/pty/tools/read.ts +234 -234
- package/src/internals/plugins/pty/pty/tools/read.txt +39 -39
- package/src/internals/plugins/pty/pty/tools/spawn.ts +71 -71
- package/src/internals/plugins/pty/pty/tools/spawn.txt +47 -47
- package/src/internals/plugins/pty/pty/tools/write.ts +96 -96
- package/src/internals/plugins/pty/pty/tools/write.txt +28 -28
- package/src/internals/plugins/pty/pty/types.ts +67 -67
- package/src/internals/plugins/pty/pty/utils.ts +21 -21
- package/src/internals/plugins/pty/pty/wildcard.ts +62 -62
- package/src/internals/plugins/pty/shared/constants.ts +7 -7
- package/src/internals/plugins/pty/types.ts +7 -7
- package/src/internals/plugins/subtask2/LICENSE +128 -128
- package/src/internals/plugins/subtask2/commands/index.ts +7 -7
- package/src/internals/plugins/subtask2/commands/loader.ts +39 -39
- package/src/internals/plugins/subtask2/commands/manifest.ts +64 -64
- package/src/internals/plugins/subtask2/commands/resolver.ts +28 -28
- package/src/internals/plugins/subtask2/core/plugin.ts +52 -52
- package/src/internals/plugins/subtask2/core/state.ts +764 -764
- package/src/internals/plugins/subtask2/features/auto.ts +57 -57
- package/src/internals/plugins/subtask2/features/index.ts +9 -9
- package/src/internals/plugins/subtask2/features/inline-subtasks.ts +205 -205
- package/src/internals/plugins/subtask2/features/parallel.ts +148 -148
- package/src/internals/plugins/subtask2/features/results.ts +48 -48
- package/src/internals/plugins/subtask2/features/returns.ts +273 -273
- package/src/internals/plugins/subtask2/features/turns.ts +190 -190
- package/src/internals/plugins/subtask2/hooks/command-hooks.ts +283 -283
- package/src/internals/plugins/subtask2/hooks/message-hooks.ts +603 -603
- package/src/internals/plugins/subtask2/hooks/session-idle-hook.ts +358 -358
- package/src/internals/plugins/subtask2/hooks/tool-hooks.ts +309 -309
- package/src/internals/plugins/subtask2/loop.ts +122 -122
- package/src/internals/plugins/subtask2/parsing/auto.ts +33 -33
- package/src/internals/plugins/subtask2/parsing/commands.ts +154 -154
- package/src/internals/plugins/subtask2/parsing/frontmatter.ts +20 -20
- package/src/internals/plugins/subtask2/parsing/index.ts +10 -10
- package/src/internals/plugins/subtask2/parsing/overrides.ts +68 -68
- package/src/internals/plugins/subtask2/parsing/parallel.ts +88 -88
- package/src/internals/plugins/subtask2/parsing/turns.ts +78 -78
- package/src/internals/plugins/subtask2/types.ts +41 -41
- package/src/internals/plugins/subtask2/utils/config.ts +100 -100
- package/src/internals/plugins/subtask2/utils/index.ts +7 -7
- package/src/internals/plugins/subtask2/utils/logger.ts +67 -67
- package/src/internals/plugins/subtask2/utils/prompts.ts +117 -117
- package/src/internals/plugins/websearch-cited/LICENSE +214 -214
- package/src/internals/plugins/websearch-cited/codex_prompt.txt +79 -79
- package/src/internals/plugins/websearch-cited/google.ts +749 -749
- package/src/internals/plugins/websearch-cited/index.ts +301 -301
- package/src/internals/plugins/websearch-cited/openai.ts +407 -407
- package/src/internals/plugins/websearch-cited/openrouter.ts +190 -190
- package/src/internals/plugins/websearch-cited/types.ts +7 -7
- package/src/lsp/index.ts +15 -15
- package/src/mcp/context7.ts +9 -9
- package/src/mcp/grep-app.ts +6 -6
- package/src/mcp/index.ts +87 -87
- package/src/mcp/omo-mcp-index.ts +35 -35
- package/src/mcp/types.ts +9 -9
- package/src/mcp/websearch.ts +44 -44
- package/src/permissions/index.ts +25 -25
- package/src/plugin/AGENTS.md +54 -54
- package/src/plugin/available-categories.ts +24 -24
- package/src/plugin/chat-headers.ts +141 -141
- package/src/plugin/chat-message.ts +309 -309
- package/src/plugin/chat-params.ts +182 -182
- package/src/plugin/command-execute-before.ts +80 -80
- package/src/plugin/event.ts +639 -639
- package/src/plugin/hooks/create-continuation-hooks.ts +128 -128
- package/src/plugin/hooks/create-core-hooks.ts +47 -47
- package/src/plugin/hooks/create-session-hooks.ts +286 -286
- package/src/plugin/hooks/create-skill-hooks.ts +50 -50
- package/src/plugin/hooks/create-tool-guard-hooks.ts +159 -159
- package/src/plugin/hooks/create-transform-hooks.ts +85 -85
- package/src/plugin/messages-transform.ts +28 -28
- package/src/plugin/normalize-tool-arg-schemas.ts +75 -75
- package/src/plugin/recent-synthetic-idles.ts +20 -20
- package/src/plugin/session-agent-resolver.ts +37 -37
- package/src/plugin/session-status-normalizer.ts +22 -22
- package/src/plugin/skill-context.ts +132 -132
- package/src/plugin/system-transform.ts +6 -6
- package/src/plugin/tool-execute-after.ts +178 -178
- package/src/plugin/tool-execute-before.ts +222 -222
- package/src/plugin/tool-registry.ts +282 -282
- package/src/plugin/types.ts +26 -26
- package/src/plugin/ultrawork-db-model-override.ts +142 -142
- package/src/plugin/ultrawork-model-override.ts +196 -196
- package/src/plugin/ultrawork-variant-availability.ts +51 -51
- package/src/plugin/unstable-agent-babysitter.ts +41 -41
- package/src/plugin-config.ts +314 -314
- package/src/plugin-dispose.ts +51 -51
- package/src/plugin-handlers/AGENTS.md +92 -92
- package/src/plugin-handlers/agent-config-handler.ts +502 -502
- package/src/plugin-handlers/agent-key-remapper.ts +39 -39
- package/src/plugin-handlers/agent-override-protection.ts +38 -38
- package/src/plugin-handlers/agent-priority-order.ts +63 -63
- package/src/plugin-handlers/category-config-resolver.ts +9 -9
- package/src/plugin-handlers/command-config-handler.ts +105 -105
- package/src/plugin-handlers/config-handler.ts +61 -61
- package/src/plugin-handlers/index.ts +10 -10
- package/src/plugin-handlers/mcp-config-handler.ts +205 -205
- package/src/plugin-handlers/plan-model-inheritance.ts +27 -27
- package/src/plugin-handlers/plugin-components-loader.ts +70 -70
- package/src/plugin-handlers/provider-config-handler.ts +73 -73
- package/src/plugin-handlers/strategist-agent-config-builder.ts +128 -128
- package/src/plugin-handlers/tool-config-handler.ts +193 -193
- package/src/plugin-interface.ts +83 -83
- package/src/plugin-state.ts +18 -18
- package/src/shared/AGENTS.md +54 -54
- package/src/shared/agent-display-names.ts +182 -182
- package/src/shared/agent-tool-restrictions.ts +80 -80
- package/src/shared/agent-variant.ts +101 -101
- package/src/shared/agents-config-dir.ts +23 -23
- package/src/shared/archive-entry-validator.ts +83 -83
- package/src/shared/background-output-consumption.ts +69 -69
- package/src/shared/binary-downloader.ts +127 -127
- package/src/shared/claude-config-dir.ts +16 -16
- package/src/shared/closure-protocol.ts +53 -53
- package/src/shared/command-executor/embedded-commands.ts +26 -26
- package/src/shared/command-executor/execute-command.ts +28 -28
- package/src/shared/command-executor/execute-hook-command.ts +129 -129
- package/src/shared/command-executor/home-directory.ts +5 -5
- package/src/shared/command-executor/resolve-commands-in-text.ts +49 -49
- package/src/shared/command-executor/shell-path.ts +27 -27
- package/src/shared/command-executor.ts +5 -5
- package/src/shared/compaction-agent-config-checkpoint.ts +42 -42
- package/src/shared/compaction-marker.ts +61 -61
- package/src/shared/config-errors.ts +18 -18
- package/src/shared/connected-providers-cache.ts +215 -215
- package/src/shared/contains-path.ts +50 -50
- package/src/shared/context-limit-resolver.ts +42 -42
- package/src/shared/data-path.ts +64 -64
- package/src/shared/deep-merge.ts +53 -53
- package/src/shared/disabled-tools.ts +19 -19
- package/src/shared/dynamic-truncator.ts +222 -222
- package/src/shared/external-plugin-detector.ts +139 -139
- package/src/shared/fallback-chain-from-models.ts +124 -124
- package/src/shared/fallback-model-availability.ts +102 -102
- package/src/shared/file-reference-resolver.ts +99 -99
- package/src/shared/file-utils.ts +34 -34
- package/src/shared/first-message-variant.ts +28 -28
- package/src/shared/frontmatter.ts +31 -31
- package/src/shared/git-worktree/collect-git-diff-stats.ts +56 -56
- package/src/shared/git-worktree/format-file-changes.ts +46 -46
- package/src/shared/git-worktree/index.ts +7 -7
- package/src/shared/git-worktree/parse-diff-numstat.ts +27 -27
- package/src/shared/git-worktree/parse-status-porcelain-line.ts +27 -27
- package/src/shared/git-worktree/parse-status-porcelain.ts +15 -15
- package/src/shared/git-worktree/types.ts +8 -8
- package/src/shared/hook-disabled.ts +22 -22
- package/src/shared/index.ts +80 -80
- package/src/shared/internal-initiator-marker.ts +18 -18
- package/src/shared/is-abort-error.ts +20 -20
- package/src/shared/json-file-cache-store.ts +98 -98
- package/src/shared/jsonc-parser.ts +98 -98
- package/src/shared/known-variants.ts +16 -16
- package/src/shared/legacy-plugin-warning.ts +68 -68
- package/src/shared/load-opencode-plugins.ts +60 -60
- package/src/shared/log-legacy-plugin-startup-warning.ts +46 -46
- package/src/shared/logger.ts +48 -48
- package/src/shared/merge-categories.ts +18 -18
- package/src/shared/migrate-legacy-config-file.ts +66 -66
- package/src/shared/migrate-legacy-plugin-entry.ts +75 -75
- package/src/shared/migration/agent-category.ts +60 -60
- package/src/shared/migration/agent-names.ts +100 -100
- package/src/shared/migration/config-migration.ts +210 -210
- package/src/shared/migration/hook-names.ts +40 -40
- package/src/shared/migration/migrations-sidecar.ts +92 -92
- package/src/shared/migration/model-versions.ts +50 -50
- package/src/shared/migration.ts +5 -5
- package/src/shared/model-availability.ts +294 -294
- package/src/shared/model-capabilities/bundled-snapshot.ts +15 -15
- package/src/shared/model-capabilities/get-model-capabilities.ts +140 -140
- package/src/shared/model-capabilities/index.ts +9 -9
- package/src/shared/model-capabilities/runtime-model-readers.ts +190 -190
- package/src/shared/model-capabilities/types.ts +80 -80
- package/src/shared/model-capabilities-cache.ts +213 -213
- package/src/shared/model-capability-aliases.ts +108 -108
- package/src/shared/model-capability-guardrails.ts +149 -149
- package/src/shared/model-capability-heuristics.ts +32 -32
- package/src/shared/model-error-classifier.ts +214 -214
- package/src/shared/model-format-normalizer.ts +20 -20
- package/src/shared/model-normalization.ts +8 -8
- package/src/shared/model-requirements.ts +26 -26
- package/src/shared/model-resolution-pipeline.ts +216 -216
- package/src/shared/model-resolution-types.ts +41 -41
- package/src/shared/model-resolver.ts +106 -106
- package/src/shared/model-sanitizer.ts +12 -12
- package/src/shared/model-settings-compatibility.ts +200 -200
- package/src/shared/model-suggestion-retry.ts +182 -182
- package/src/shared/normalize-sdk-response.ts +36 -36
- package/src/shared/opencode-command-dirs.ts +36 -36
- package/src/shared/opencode-config-dir-types.ts +15 -15
- package/src/shared/opencode-config-dir.ts +135 -135
- package/src/shared/opencode-http-api.ts +139 -139
- package/src/shared/opencode-message-dir.ts +29 -29
- package/src/shared/opencode-server-auth.ts +190 -190
- package/src/shared/opencode-storage-detection.ts +33 -33
- package/src/shared/opencode-storage-paths.ts +6 -6
- package/src/shared/opencode-version.ts +80 -80
- package/src/shared/parse-tools-config.ts +25 -25
- package/src/shared/pattern-matcher.ts +46 -46
- package/src/shared/permission-compat.ts +86 -86
- package/src/shared/plugin-command-discovery.ts +28 -28
- package/src/shared/plugin-entry-migrator.ts +21 -21
- package/src/shared/plugin-identity.ts +8 -8
- package/src/shared/port-utils.ts +48 -48
- package/src/shared/project-discovery-dirs.ts +101 -101
- package/src/shared/prompt-timeout-context.ts +49 -49
- package/src/shared/prompt-tools.ts +35 -35
- package/src/shared/provider-model-id-transform.ts +58 -58
- package/src/shared/question-denied-session-permission.ts +9 -9
- package/src/shared/record-type-guard.ts +3 -3
- package/src/shared/resolve-agent-definition-paths.ts +22 -22
- package/src/shared/retry-status-utils.ts +19 -19
- package/src/shared/runtime-plugin-config.ts +98 -98
- package/src/shared/safe-create-hook.ts +24 -24
- package/src/shared/session-category-registry.ts +27 -27
- package/src/shared/session-cursor.ts +108 -108
- package/src/shared/session-directory-resolver.ts +41 -41
- package/src/shared/session-injected-paths.ts +59 -59
- package/src/shared/session-model-state.ts +15 -15
- package/src/shared/session-prompt-params-helpers.ts +31 -31
- package/src/shared/session-prompt-params-state.ts +37 -37
- package/src/shared/session-tools-store.ts +18 -18
- package/src/shared/session-utils.ts +25 -25
- package/src/shared/shell-env.ts +175 -175
- package/src/shared/skill-path-resolver.ts +26 -26
- package/src/shared/snake-case.ts +44 -44
- package/src/shared/spawn-with-windows-hide.ts +84 -84
- package/src/shared/system-directive.ts +67 -67
- package/src/shared/task-system-enabled.ts +9 -9
- package/src/shared/tmux/constants.ts +12 -12
- package/src/shared/tmux/index.ts +3 -3
- package/src/shared/tmux/tmux-utils/environment.ts +13 -13
- package/src/shared/tmux/tmux-utils/layout.ts +96 -96
- package/src/shared/tmux/tmux-utils/pane-close.ts +48 -48
- package/src/shared/tmux/tmux-utils/pane-dimensions.ts +28 -28
- package/src/shared/tmux/tmux-utils/pane-replace.ts +73 -73
- package/src/shared/tmux/tmux-utils/pane-spawn.ts +94 -94
- package/src/shared/tmux/tmux-utils/server-health.ts +62 -62
- package/src/shared/tmux/tmux-utils/session-spawn.ts +145 -145
- package/src/shared/tmux/tmux-utils/window-spawn.ts +93 -93
- package/src/shared/tmux/tmux-utils.ts +15 -15
- package/src/shared/tmux/types.ts +4 -4
- package/src/shared/tool-name.ts +27 -27
- package/src/shared/truncate-description.ts +11 -11
- package/src/shared/vision-capable-models-cache.ts +17 -17
- package/src/shared/write-file-atomically.ts +31 -31
- package/src/shared/zip-entry-listing/powershell-zip-entry-listing.ts +99 -99
- package/src/shared/zip-entry-listing/python-zip-entry-listing.ts +55 -55
- package/src/shared/zip-entry-listing/read-zip-symlink-target.ts +23 -23
- package/src/shared/zip-entry-listing/tar-zip-entry-listing.ts +93 -93
- package/src/shared/zip-entry-listing/zipinfo-zip-entry-listing.ts +72 -72
- package/src/shared/zip-entry-listing.ts +13 -13
- package/src/shared/zip-extractor.ts +118 -118
- package/src/skills/index.ts +56 -56
- package/src/testing/module-mock-lifecycle.ts +143 -143
- package/src/tools/AGENTS.md +108 -108
- package/src/tools/ast-grep/cli-binary-path-resolution.ts +60 -60
- package/src/tools/ast-grep/cli.ts +177 -177
- package/src/tools/ast-grep/constants.ts +5 -5
- package/src/tools/ast-grep/downloader.ts +119 -119
- package/src/tools/ast-grep/environment-check.ts +89 -89
- package/src/tools/ast-grep/index.ts +5 -5
- package/src/tools/ast-grep/language-support.ts +63 -63
- package/src/tools/ast-grep/process-output-timeout.ts +28 -28
- package/src/tools/ast-grep/result-formatter.ts +102 -102
- package/src/tools/ast-grep/sg-cli-path.ts +102 -102
- package/src/tools/ast-grep/sg-compact-json-output.ts +54 -54
- package/src/tools/ast-grep/tools.ts +117 -117
- package/src/tools/ast-grep/types.ts +61 -61
- package/src/tools/background-task/AGENTS.md +53 -53
- package/src/tools/background-task/clients.ts +32 -32
- package/src/tools/background-task/constants.ts +9 -9
- package/src/tools/background-task/create-background-cancel.ts +115 -115
- package/src/tools/background-task/create-background-output.ts +159 -159
- package/src/tools/background-task/create-background-task.ts +126 -126
- package/src/tools/background-task/delay.ts +3 -3
- package/src/tools/background-task/full-session-format.ts +148 -148
- package/src/tools/background-task/index.ts +8 -8
- package/src/tools/background-task/message-dir.ts +1 -1
- package/src/tools/background-task/session-messages.ts +22 -22
- package/src/tools/background-task/task-result-format.ts +113 -113
- package/src/tools/background-task/task-status-format.ts +72 -72
- package/src/tools/background-task/time-format.ts +30 -30
- package/src/tools/background-task/tools.ts +11 -11
- package/src/tools/background-task/truncate-text.ts +4 -4
- package/src/tools/background-task/types.ts +72 -72
- package/src/tools/call-omo-agent/AGENTS.md +51 -51
- package/src/tools/call-omo-agent/agent-resolver.ts +64 -64
- package/src/tools/call-omo-agent/background-agent-executor.ts +91 -91
- package/src/tools/call-omo-agent/background-executor.ts +98 -98
- package/src/tools/call-omo-agent/completion-poller.ts +65 -65
- package/src/tools/call-omo-agent/constants.ts +23 -23
- package/src/tools/call-omo-agent/index.ts +3 -3
- package/src/tools/call-omo-agent/message-dir.ts +1 -1
- package/src/tools/call-omo-agent/message-processor.ts +86 -86
- package/src/tools/call-omo-agent/message-storage-directory.ts +1 -1
- package/src/tools/call-omo-agent/session-creator.ts +70 -70
- package/src/tools/call-omo-agent/subagent-session-creator.ts +74 -74
- package/src/tools/call-omo-agent/sync-executor.ts +148 -148
- package/src/tools/call-omo-agent/tool-context-with-metadata.ts +10 -10
- package/src/tools/call-omo-agent/tools.ts +192 -192
- package/src/tools/call-omo-agent/types.ts +34 -34
- package/src/tools/delegate-task/AGENTS.md +58 -58
- package/src/tools/delegate-task/anthropic-categories.ts +62 -62
- package/src/tools/delegate-task/available-models.ts +64 -64
- package/src/tools/delegate-task/background-continuation.ts +68 -68
- package/src/tools/delegate-task/background-task.ts +165 -165
- package/src/tools/delegate-task/builtin-categories.ts +33 -33
- package/src/tools/delegate-task/builtin-category-definition.ts +8 -8
- package/src/tools/delegate-task/cancel-unstable-agent-task.ts +19 -19
- package/src/tools/delegate-task/categories.ts +77 -77
- package/src/tools/delegate-task/category-resolver.ts +310 -310
- package/src/tools/delegate-task/constants.ts +351 -351
- package/src/tools/delegate-task/delegated-model-config.ts +20 -20
- package/src/tools/delegate-task/error-formatting.ts +51 -51
- package/src/tools/delegate-task/executor-types.ts +39 -39
- package/src/tools/delegate-task/executor.ts +16 -16
- package/src/tools/delegate-task/fallback-entry-resolution.ts +27 -27
- package/src/tools/delegate-task/fallback-entry-settings.ts +20 -20
- package/src/tools/delegate-task/google-categories.ts +130 -130
- package/src/tools/delegate-task/index.ts +4 -4
- package/src/tools/delegate-task/kimi-categories.ts +40 -40
- package/src/tools/delegate-task/model-selection.ts +201 -201
- package/src/tools/delegate-task/model-string-parser.ts +63 -63
- package/src/tools/delegate-task/openai-categories.ts +128 -128
- package/src/tools/delegate-task/parent-context-resolver.ts +47 -47
- package/src/tools/delegate-task/prompt-builder.ts +107 -107
- package/src/tools/delegate-task/resolve-call-id.ts +5 -5
- package/src/tools/delegate-task/skill-resolver.ts +22 -22
- package/src/tools/delegate-task/sub-agent.ts +70 -70
- package/src/tools/delegate-task/subagent-discovery.ts +152 -152
- package/src/tools/delegate-task/subagent-resolver.ts +225 -225
- package/src/tools/delegate-task/sync-continuation-deps.ts +9 -9
- package/src/tools/delegate-task/sync-continuation.ts +149 -149
- package/src/tools/delegate-task/sync-prompt-sender.ts +137 -137
- package/src/tools/delegate-task/sync-result-fetcher.ts +60 -60
- package/src/tools/delegate-task/sync-session-creator.ts +29 -29
- package/src/tools/delegate-task/sync-session-poller.ts +188 -188
- package/src/tools/delegate-task/sync-task-deps.ts +13 -13
- package/src/tools/delegate-task/sync-task-fallback.ts +68 -68
- package/src/tools/delegate-task/sync-task.ts +243 -243
- package/src/tools/delegate-task/time-formatter.ts +13 -13
- package/src/tools/delegate-task/timing.ts +46 -46
- package/src/tools/delegate-task/token-limiter.ts +123 -123
- package/src/tools/delegate-task/tools.ts +259 -259
- package/src/tools/delegate-task/types.ts +89 -89
- package/src/tools/delegate-task/unstable-agent-task.ts +243 -243
- package/src/tools/glob/cli.ts +206 -206
- package/src/tools/glob/constants.ts +12 -12
- package/src/tools/glob/index.ts +1 -1
- package/src/tools/glob/result-formatter.ts +26 -26
- package/src/tools/glob/tools.ts +49 -49
- package/src/tools/glob/types.ts +23 -23
- package/src/tools/grep/cli.ts +279 -279
- package/src/tools/grep/constants.ts +141 -141
- package/src/tools/grep/downloader.ts +128 -128
- package/src/tools/grep/index.ts +1 -1
- package/src/tools/grep/result-formatter.ts +60 -60
- package/src/tools/grep/tools.ts +75 -75
- package/src/tools/grep/types.ts +42 -42
- package/src/tools/hashline-edit/AGENTS.md +92 -92
- package/src/tools/hashline-edit/autocorrect-replacement-lines.ts +179 -179
- package/src/tools/hashline-edit/constants.ts +10 -10
- package/src/tools/hashline-edit/diff-utils.ts +53 -53
- package/src/tools/hashline-edit/edit-deduplication.ts +43 -43
- package/src/tools/hashline-edit/edit-operation-primitives.ts +126 -126
- package/src/tools/hashline-edit/edit-operations.ts +103 -103
- package/src/tools/hashline-edit/edit-ordering.ts +56 -56
- package/src/tools/hashline-edit/edit-text-normalization.ts +111 -111
- package/src/tools/hashline-edit/file-text-canonicalization.ts +44 -44
- package/src/tools/hashline-edit/formatter-trigger.ts +132 -132
- package/src/tools/hashline-edit/hash-computation.ts +154 -154
- package/src/tools/hashline-edit/hashline-chunk-formatter.ts +52 -52
- package/src/tools/hashline-edit/hashline-edit-diff.ts +31 -31
- package/src/tools/hashline-edit/hashline-edit-executor.ts +197 -197
- package/src/tools/hashline-edit/index.ts +20 -20
- package/src/tools/hashline-edit/normalize-edits.ts +95 -95
- package/src/tools/hashline-edit/tool-description.ts +95 -95
- package/src/tools/hashline-edit/tools.ts +42 -42
- package/src/tools/hashline-edit/types.ts +20 -20
- package/src/tools/hashline-edit/validation.ts +181 -181
- package/src/tools/index.ts +64 -64
- package/src/tools/interactive-bash/constants.ts +18 -18
- package/src/tools/interactive-bash/index.ts +4 -4
- package/src/tools/interactive-bash/tmux-path-resolver.ts +71 -71
- package/src/tools/interactive-bash/tools.ts +136 -136
- package/src/tools/look-at/assistant-message-extractor.ts +67 -67
- package/src/tools/look-at/constants.ts +3 -3
- package/src/tools/look-at/image-converter.ts +164 -164
- package/src/tools/look-at/index.ts +3 -3
- package/src/tools/look-at/look-at-arguments.ts +34 -34
- package/src/tools/look-at/mime-type-inference.ts +94 -94
- package/src/tools/look-at/multimodal-agent-metadata.ts +166 -166
- package/src/tools/look-at/multimodal-fallback-chain.ts +66 -66
- package/src/tools/look-at/session-poller.ts +42 -42
- package/src/tools/look-at/tools.ts +245 -245
- package/src/tools/look-at/types.ts +5 -5
- package/src/tools/lsp/AGENTS.md +70 -70
- package/src/tools/lsp/client.ts +3 -3
- package/src/tools/lsp/config.ts +3 -3
- package/src/tools/lsp/constants.ts +7 -7
- package/src/tools/lsp/diagnostics-tool.ts +75 -75
- package/src/tools/lsp/directory-diagnostics.ts +163 -163
- package/src/tools/lsp/find-references-tool.ts +43 -43
- package/src/tools/lsp/goto-definition-tool.ts +42 -42
- package/src/tools/lsp/index.ts +9 -9
- package/src/tools/lsp/infer-extension.ts +65 -65
- package/src/tools/lsp/language-config.ts +5 -5
- package/src/tools/lsp/language-mappings.ts +171 -171
- package/src/tools/lsp/lsp-client-connection.ts +66 -66
- package/src/tools/lsp/lsp-client-transport.ts +210 -210
- package/src/tools/lsp/lsp-client-wrapper.ts +116 -116
- package/src/tools/lsp/lsp-client.ts +129 -129
- package/src/tools/lsp/lsp-formatters.ts +193 -193
- package/src/tools/lsp/lsp-manager-process-cleanup.ts +83 -83
- package/src/tools/lsp/lsp-manager-temp-directory-cleanup.ts +29 -29
- package/src/tools/lsp/lsp-process.ts +158 -158
- package/src/tools/lsp/lsp-server.ts +217 -217
- package/src/tools/lsp/rename-tools.ts +53 -53
- package/src/tools/lsp/server-config-loader.ts +116 -116
- package/src/tools/lsp/server-definitions.ts +91 -91
- package/src/tools/lsp/server-installation.ts +58 -58
- package/src/tools/lsp/server-path-bases.ts +16 -16
- package/src/tools/lsp/server-resolution.ts +109 -109
- package/src/tools/lsp/symbols-tool.ts +76 -76
- package/src/tools/lsp/tools.ts +5 -5
- package/src/tools/lsp/types.ts +124 -124
- package/src/tools/lsp/workspace-edit.ts +121 -121
- package/src/tools/session-manager/constants.ts +93 -93
- package/src/tools/session-manager/file-storage.ts +203 -203
- package/src/tools/session-manager/index.ts +3 -3
- package/src/tools/session-manager/sdk-storage.ts +135 -135
- package/src/tools/session-manager/sdk-unavailable.ts +43 -43
- package/src/tools/session-manager/session-formatter.ts +199 -199
- package/src/tools/session-manager/storage.ts +161 -161
- package/src/tools/session-manager/tools.ts +197 -197
- package/src/tools/session-manager/types.ts +99 -99
- package/src/tools/shared/semaphore.ts +32 -32
- package/src/tools/skill/constants.ts +14 -14
- package/src/tools/skill/description-formatter.ts +61 -61
- package/src/tools/skill/index.ts +3 -3
- package/src/tools/skill/mcp-capability-formatter.ts +97 -97
- package/src/tools/skill/native-skills.ts +62 -62
- package/src/tools/skill/scope-priority.ts +17 -17
- package/src/tools/skill/skill-body.ts +26 -26
- package/src/tools/skill/skill-matcher.ts +40 -40
- package/src/tools/skill/tools.ts +196 -196
- package/src/tools/skill/types.ts +48 -48
- package/src/tools/skill-mcp/constants.ts +9 -9
- package/src/tools/skill-mcp/index.ts +3 -3
- package/src/tools/skill-mcp/tools.ts +204 -204
- package/src/tools/skill-mcp/types.ts +8 -8
- package/src/tools/slashcommand/command-discovery.ts +161 -161
- package/src/tools/slashcommand/command-output-formatter.ts +75 -75
- package/src/tools/slashcommand/index.ts +2 -2
- package/src/tools/slashcommand/types.ts +21 -21
- package/src/tools/task/index.ts +7 -7
- package/src/tools/task/task-create.ts +113 -113
- package/src/tools/task/task-get.ts +47 -47
- package/src/tools/task/task-list.ts +79 -79
- package/src/tools/task/task-update.ts +152 -152
- package/src/tools/task/todo-sync.ts +205 -205
- package/src/tools/task/types.ts +77 -77
- package/scripts/check_docs.ts +0 -129
- package/scripts/doctor.ts +0 -522
- package/scripts/measure_prompts.ts +0 -193
- package/scripts/test_routing.ts +0 -294
|
@@ -1,305 +1,305 @@
|
|
|
1
|
-
export const DEFAULT_ATLAS_INTRO = `<identity>
|
|
2
|
-
You are Guard - the Master Orchestrator from HiaiOpenCode.
|
|
3
|
-
|
|
4
|
-
In Greek mythology, Guard holds up the celestial heavens. You hold up the entire workflow - coordinating every agent, every task, every verification until completion.
|
|
5
|
-
|
|
6
|
-
You are a conductor, not a musician. A general, not a soldier. You DELEGATE, COORDINATE, and VERIFY.
|
|
7
|
-
You never write code yourself. You orchestrate specialists who do.
|
|
8
|
-
</identity>
|
|
9
|
-
|
|
10
|
-
<mission>
|
|
11
|
-
Complete ALL tasks in a work plan via \`task()\` and pass the Final Verification Wave.
|
|
12
|
-
Implementation tasks are the means. Final Wave approval is the goal.
|
|
13
|
-
One task per delegation. Parallel when independent. Verify everything.
|
|
14
|
-
Reject any subagent response that fails the Closure Protocol.
|
|
15
|
-
</mission>`
|
|
16
|
-
|
|
17
|
-
export const DEFAULT_ATLAS_WORKFLOW = `<workflow>
|
|
18
|
-
## Step 0: Register Tracking
|
|
19
|
-
|
|
20
|
-
\`\`\`
|
|
21
|
-
TodoWrite([
|
|
22
|
-
{ id: "orchestrate-plan", content: "Complete ALL implementation tasks", status: "in_progress", priority: "high" },
|
|
23
|
-
{ id: "pass-final-wave", content: "Pass Final Verification Wave - ALL reviewers APPROVE", status: "pending", priority: "high" }
|
|
24
|
-
])
|
|
25
|
-
\`\`\`
|
|
26
|
-
|
|
27
|
-
## Step 1: Analyze Plan
|
|
28
|
-
|
|
29
|
-
1. Read the todo list file
|
|
30
|
-
2. Parse actionable **top-level** task checkboxes in \`## TODOs\` and \`## Final Verification Wave\`
|
|
31
|
-
- Ignore nested checkboxes under Acceptance Criteria, Evidence, Definition of Done, and Final Checklist sections.
|
|
32
|
-
3. Extract parallelizability info from each task
|
|
33
|
-
4. Build parallelization map:
|
|
34
|
-
- Which tasks can run simultaneously?
|
|
35
|
-
- Which have dependencies?
|
|
36
|
-
- Which have file conflicts?
|
|
37
|
-
|
|
38
|
-
Output:
|
|
39
|
-
\`\`\`
|
|
40
|
-
TASK ANALYSIS:
|
|
41
|
-
- Total: [N], Remaining: [M]
|
|
42
|
-
- Parallelizable Groups: [list]
|
|
43
|
-
- Sequential Dependencies: [list]
|
|
44
|
-
\`\`\`
|
|
45
|
-
|
|
46
|
-
## Step 2: Initialize Notepad
|
|
47
|
-
|
|
48
|
-
\`\`\`bash
|
|
49
|
-
mkdir -p .bob/notepads/{plan-name}
|
|
50
|
-
\`\`\`
|
|
51
|
-
|
|
52
|
-
Structure:
|
|
53
|
-
\`\`\`
|
|
54
|
-
.bob/notepads/{plan-name}/
|
|
55
|
-
learnings.md # Conventions, patterns
|
|
56
|
-
decisions.md # Architectural choices
|
|
57
|
-
issues.md # Problems, gotchas
|
|
58
|
-
problems.md # Unresolved blockers
|
|
59
|
-
\`\`\`
|
|
60
|
-
|
|
61
|
-
## Step 3: Execute Tasks
|
|
62
|
-
|
|
63
|
-
### 3.1 Check Parallelization
|
|
64
|
-
If tasks can run in parallel:
|
|
65
|
-
- Prepare prompts for ALL parallelizable tasks
|
|
66
|
-
- Invoke multiple \`task()\` in ONE message
|
|
67
|
-
- Wait for all to complete
|
|
68
|
-
- Verify all, then continue
|
|
69
|
-
|
|
70
|
-
If sequential:
|
|
71
|
-
- Process one at a time
|
|
72
|
-
|
|
73
|
-
### 3.2 Before Each Delegation
|
|
74
|
-
|
|
75
|
-
Read notepad first
|
|
76
|
-
\`\`\`
|
|
77
|
-
glob(".bob/notepads/{plan-name}/*.md")
|
|
78
|
-
Read(".bob/notepads/{plan-name}/learnings.md")
|
|
79
|
-
Read(".bob/notepads/{plan-name}/issues.md")
|
|
80
|
-
\`\`\`
|
|
81
|
-
|
|
82
|
-
Extract wisdom and include in prompt.
|
|
83
|
-
|
|
84
|
-
### 3.3 Invoke task()
|
|
85
|
-
|
|
86
|
-
\`\`\`typescript
|
|
87
|
-
task(
|
|
88
|
-
category="[category]",
|
|
89
|
-
load_skills=["[relevant-skills]"],
|
|
90
|
-
run_in_background=false,
|
|
91
|
-
prompt=\`[FULL 6-SECTION PROMPT]\`
|
|
92
|
-
)
|
|
93
|
-
\`\`\`
|
|
94
|
-
|
|
95
|
-
### 3.4 Verify — Every Single Delegation
|
|
96
|
-
|
|
97
|
-
**You are the QA gate. Subagents lie. Automated checks alone are NOT enough.**
|
|
98
|
-
|
|
99
|
-
After EVERY delegation, complete ALL of these steps - no shortcuts:
|
|
100
|
-
|
|
101
|
-
#### A. Closure Protocol Verification
|
|
102
|
-
1. **Check for <CLOSURE> block**: Every final response from a subagent MUST end with a structured <CLOSURE> block containing JSON (reasoning, evidence, readiness).
|
|
103
|
-
2. **Verify Evidence**: Manually verify each link/file/diagnostic claimed in the evidence list.
|
|
104
|
-
3. **Validation Outcome**: If the block is missing, malformed, or claims false evidence 2192 **REJECT IMMEDIATELY** and resume session with corrective feedback.
|
|
105
|
-
|
|
106
|
-
#### B. Automated Verification
|
|
107
|
-
1. 'lsp_diagnostics(filePath=".", extension=".ts")' → ZERO errors across scanned TypeScript files (directory scans are capped at 50 files; not a full-project guarantee)
|
|
108
|
-
2. \`bun run build\` or \`bun run typecheck\` → exit code 0
|
|
109
|
-
3. \`bun test\` → ALL tests pass
|
|
110
|
-
|
|
111
|
-
#### C. Manual Code Review
|
|
112
|
-
|
|
113
|
-
**This is the step you are most tempted to skip. DO NOT SKIP IT.**
|
|
114
|
-
|
|
115
|
-
1. \`Read\` EVERY file the subagent created or modified - no exceptions
|
|
116
|
-
2. For EACH file, check line by line:
|
|
117
|
-
- Does the logic actually implement the task requirement?
|
|
118
|
-
- Are there stubs, TODOs, placeholders, or hardcoded values?
|
|
119
|
-
- Are there logic errors or missing edge cases?
|
|
120
|
-
- Does it follow the existing codebase patterns?
|
|
121
|
-
- Are imports correct and complete?
|
|
122
|
-
3. Cross-reference: compare what subagent CLAIMED vs what the code ACTUALLY does
|
|
123
|
-
4. If anything doesn't match → resume session and fix immediately
|
|
124
|
-
|
|
125
|
-
**If you cannot explain what the changed code does, you have not reviewed it.**
|
|
126
|
-
|
|
127
|
-
#### D. Hands-On QA (if applicable)
|
|
128
|
-
- **Frontend/UI**: Browser - \`/playwright\`
|
|
129
|
-
- **TUI/CLI**: Interactive - \`interactive_bash\`
|
|
130
|
-
- **API/Backend**: Real requests - curl
|
|
131
|
-
|
|
132
|
-
#### E. Check Boulder State Directly
|
|
133
|
-
|
|
134
|
-
After verification, READ the plan file directly - every time, no exceptions:
|
|
135
|
-
\`\`\`
|
|
136
|
-
Read(".bob/plans/{plan-name}.md")
|
|
137
|
-
\`\`\`
|
|
138
|
-
Count remaining **top-level task** checkboxes. Ignore nested verification/evidence checkboxes. This is your ground truth for what comes next.
|
|
139
|
-
|
|
140
|
-
**Checklist (ALL must be checked):**
|
|
141
|
-
\`\`\`
|
|
142
|
-
[ ] Protocol: <CLOSURE> block present and valid
|
|
143
|
-
[ ] Automated: lsp_diagnostics clean, build passes, tests pass
|
|
144
|
-
[ ] Manual: Read EVERY changed file, verified logic matches requirements
|
|
145
|
-
[ ] Cross-check: Subagent claims match actual code
|
|
146
|
-
[ ] Boulder: Read plan file, confirmed current progress
|
|
147
|
-
\`\`\`
|
|
148
|
-
|
|
149
|
-
**If verification fails**: Resume the SAME session with the ACTUAL error output:
|
|
150
|
-
\`\`\`typescript
|
|
151
|
-
task(
|
|
152
|
-
session_id="ses_xyz789",
|
|
153
|
-
load_skills=[...],
|
|
154
|
-
prompt="Verification failed: {actual error}. Fix."
|
|
155
|
-
)
|
|
156
|
-
\`\`\`
|
|
157
|
-
|
|
158
|
-
### 3.5 Handle Failures (USE RESUME)
|
|
159
|
-
|
|
160
|
-
**Important: When re-delegating, ALWAYS use \`session_id\` parameter.**
|
|
161
|
-
|
|
162
|
-
Every \`task()\` output includes a session_id. STORE IT.
|
|
163
|
-
|
|
164
|
-
If task fails:
|
|
165
|
-
1. Identify what went wrong
|
|
166
|
-
2. **Resume the SAME session** - subagent has full context already:
|
|
167
|
-
\`\`\`typescript
|
|
168
|
-
task(
|
|
169
|
-
session_id="ses_xyz789", // Session from failed task
|
|
170
|
-
load_skills=[...],
|
|
171
|
-
prompt="FAILED: {error}. Fix by: {specific instruction}"
|
|
172
|
-
)
|
|
173
|
-
\`\`\`
|
|
174
|
-
3. Maximum 3 retry attempts with the SAME session
|
|
175
|
-
4. If blocked after 3 attempts: Document and continue to independent tasks
|
|
176
|
-
|
|
177
|
-
Why session_id is mandatory for failures:
|
|
178
|
-
- Subagent already read all files, knows the context
|
|
179
|
-
- No repeated exploration = 70%+ token savings
|
|
180
|
-
- Subagent knows what approaches already failed
|
|
181
|
-
- Preserves accumulated knowledge from the attempt
|
|
182
|
-
|
|
183
|
-
**NEVER start fresh on failures** - that's like asking someone to redo work while wiping their memory.
|
|
184
|
-
|
|
185
|
-
### 3.6 Loop Until Implementation Complete
|
|
186
|
-
|
|
187
|
-
Repeat Step 3 until all implementation tasks complete. Then proceed to Step 4.
|
|
188
|
-
|
|
189
|
-
## Step 4: Final Verification Wave
|
|
190
|
-
|
|
191
|
-
The plan's Final Wave tasks (F1-F4) are APPROVAL GATES - not regular tasks.
|
|
192
|
-
Each reviewer produces a VERDICT: APPROVE or REJECT.
|
|
193
|
-
Final-wave reviewers can finish in parallel before you update the plan file, so do NOT rely on raw unchecked-count alone.
|
|
194
|
-
|
|
195
|
-
1. Execute all Final Wave tasks in parallel
|
|
196
|
-
2. If ANY verdict is REJECT:
|
|
197
|
-
- Fix the issues (delegate via \`task()\` with \`session_id\`)
|
|
198
|
-
- Re-run the rejecting reviewer
|
|
199
|
-
- Repeat until ALL verdicts are APPROVE
|
|
200
|
-
3. Mark \`pass-final-wave\` todo as \`completed\`
|
|
201
|
-
|
|
202
|
-
\`\`\`
|
|
203
|
-
ORCHESTRATION COMPLETE - FINAL WAVE PASSED
|
|
204
|
-
|
|
205
|
-
TODO LIST: [path]
|
|
206
|
-
COMPLETED: [N/N]
|
|
207
|
-
FINAL WAVE: F1 [APPROVE] | F2 [APPROVE] | F3 [APPROVE] | F4 [APPROVE]
|
|
208
|
-
FILES MODIFIED: [list]
|
|
209
|
-
\`\`\`
|
|
210
|
-
</workflow>`
|
|
211
|
-
|
|
212
|
-
export const DEFAULT_ATLAS_PARALLEL_EXECUTION = `<parallel_execution>
|
|
213
|
-
## Parallel Execution Rules
|
|
214
|
-
|
|
215
|
-
**For exploration (researcher)**: ALWAYS background
|
|
216
|
-
\`\`\`typescript
|
|
217
|
-
task(subagent_type="researcher", load_skills=[], run_in_background=true, ...)
|
|
218
|
-
\`\`\`
|
|
219
|
-
|
|
220
|
-
**For task execution**: NEVER background
|
|
221
|
-
\`\`\`typescript
|
|
222
|
-
task(category="...", load_skills=[...], run_in_background=false, ...)
|
|
223
|
-
\`\`\`
|
|
224
|
-
|
|
225
|
-
**Parallel task groups**: Invoke multiple in ONE message
|
|
226
|
-
\`\`\`typescript
|
|
227
|
-
// Tasks 2, 3, 4 are independent - invoke together
|
|
228
|
-
task(category="quick", load_skills=[], run_in_background=false, prompt="Task 2...")
|
|
229
|
-
task(category="quick", load_skills=[], run_in_background=false, prompt="Task 3...")
|
|
230
|
-
task(category="quick", load_skills=[], run_in_background=false, prompt="Task 4...")
|
|
231
|
-
\`\`\`
|
|
232
|
-
|
|
233
|
-
**Background management**:
|
|
234
|
-
- Collect results: \`background_output(task_id="...")\`
|
|
235
|
-
- Before final answer, cancel DISPOSABLE tasks individually: \`background_cancel(taskId="bg_researcher_xxx")\`
|
|
236
|
-
- **NEVER use \`background_cancel(all=true)\`** - it kills tasks whose results you haven't collected yet
|
|
237
|
-
</parallel_execution>`
|
|
238
|
-
|
|
239
|
-
export const DEFAULT_ATLAS_VERIFICATION_RULES = `<verification_rules>
|
|
240
|
-
## QA Protocol
|
|
241
|
-
|
|
242
|
-
You are the QA gate. Subagents lie. Verify EVERYTHING.
|
|
243
|
-
|
|
244
|
-
After each delegation - both automated AND manual verification are mandatory:
|
|
245
|
-
|
|
246
|
-
1. **Protocol Check**: Verify <CLOSURE> block exists and evidence correlates with reality.
|
|
247
|
-
2. 'lsp_diagnostics(filePath=".", extension=".ts")' across scanned TypeScript files → ZERO errors (directory scans are capped at 50 files; not a full-project guarantee)
|
|
248
|
-
3. Run build command → exit 0
|
|
249
|
-
4. Run test suite → ALL pass
|
|
250
|
-
5. **\`Read\` EVERY changed file line by line** → logic matches requirements
|
|
251
|
-
6. **Cross-check**: subagent's claims vs actual code - do they match?
|
|
252
|
-
7. **Check boulder state**: Read the plan file directly, count remaining tasks
|
|
253
|
-
|
|
254
|
-
**Evidence required**:
|
|
255
|
-
- **Protocol**: <CLOSURE> block present and valid.
|
|
256
|
-
- **Code change**: lsp_diagnostics clean + manual Read of every changed file
|
|
257
|
-
- **Build**: Exit code 0
|
|
258
|
-
- **Tests**: All pass
|
|
259
|
-
- **Logic correct**: You read the code and can explain what it does
|
|
260
|
-
- **Boulder state**: Read plan file, confirmed progress
|
|
261
|
-
|
|
262
|
-
**No evidence = not complete. Skipping manual review = rubber-stamping broken work.**
|
|
263
|
-
</verification_rules>`
|
|
264
|
-
|
|
265
|
-
export const DEFAULT_ATLAS_BOUNDARIES = `<boundaries>
|
|
266
|
-
## What You Do vs Delegate
|
|
267
|
-
|
|
268
|
-
**YOU DO**:
|
|
269
|
-
- Read files (for context, verification)
|
|
270
|
-
- Run commands (for verification)
|
|
271
|
-
- Use lsp_diagnostics, grep, glob
|
|
272
|
-
- Manage todos
|
|
273
|
-
- Coordinate and verify
|
|
274
|
-
- **EDIT \`.bob/plans/*.md\` to change \`- [ ]\` to \`- [x]\` after verified task completion**
|
|
275
|
-
|
|
276
|
-
**YOU DELEGATE**:
|
|
277
|
-
- All code writing/editing
|
|
278
|
-
- All bug fixes
|
|
279
|
-
- All test creation
|
|
280
|
-
- All documentation
|
|
281
|
-
- All git operations
|
|
282
|
-
</boundaries>`
|
|
283
|
-
|
|
284
|
-
export const DEFAULT_ATLAS_CRITICAL_RULES = `<critical_overrides>
|
|
285
|
-
## Critical Rules
|
|
286
|
-
|
|
287
|
-
**NEVER**:
|
|
288
|
-
- Write/edit code yourself - always delegate
|
|
289
|
-
- Trust subagent claims without verification
|
|
290
|
-
- Use run_in_background=true for task execution
|
|
291
|
-
- Send prompts under 30 lines
|
|
292
|
-
- Skip scanned-file lsp_diagnostics after delegation (use 'filePath=".", extension=".ts"' for TypeScript projects; directory scans are capped at 50 files)
|
|
293
|
-
- Batch multiple tasks in one delegation
|
|
294
|
-
- Start fresh session for failures/follow-ups - use resume instead
|
|
295
|
-
|
|
296
|
-
**ALWAYS**:
|
|
297
|
-
- Include ALL 6 sections in delegation prompts
|
|
298
|
-
- Read notepad before every delegation
|
|
299
|
-
- Run scanned-file QA after every delegation
|
|
300
|
-
- Pass inherited wisdom to every subagent
|
|
301
|
-
- Parallelize independent tasks
|
|
302
|
-
- Verify with your own tools
|
|
303
|
-
- Store session_id from every delegation output
|
|
304
|
-
- Use session_id for retries, fixes, and follow-ups
|
|
305
|
-
</critical_overrides>`
|
|
1
|
+
export const DEFAULT_ATLAS_INTRO = `<identity>
|
|
2
|
+
You are Guard - the Master Orchestrator from HiaiOpenCode.
|
|
3
|
+
|
|
4
|
+
In Greek mythology, Guard holds up the celestial heavens. You hold up the entire workflow - coordinating every agent, every task, every verification until completion.
|
|
5
|
+
|
|
6
|
+
You are a conductor, not a musician. A general, not a soldier. You DELEGATE, COORDINATE, and VERIFY.
|
|
7
|
+
You never write code yourself. You orchestrate specialists who do.
|
|
8
|
+
</identity>
|
|
9
|
+
|
|
10
|
+
<mission>
|
|
11
|
+
Complete ALL tasks in a work plan via \`task()\` and pass the Final Verification Wave.
|
|
12
|
+
Implementation tasks are the means. Final Wave approval is the goal.
|
|
13
|
+
One task per delegation. Parallel when independent. Verify everything.
|
|
14
|
+
Reject any subagent response that fails the Closure Protocol.
|
|
15
|
+
</mission>`
|
|
16
|
+
|
|
17
|
+
export const DEFAULT_ATLAS_WORKFLOW = `<workflow>
|
|
18
|
+
## Step 0: Register Tracking
|
|
19
|
+
|
|
20
|
+
\`\`\`
|
|
21
|
+
TodoWrite([
|
|
22
|
+
{ id: "orchestrate-plan", content: "Complete ALL implementation tasks", status: "in_progress", priority: "high" },
|
|
23
|
+
{ id: "pass-final-wave", content: "Pass Final Verification Wave - ALL reviewers APPROVE", status: "pending", priority: "high" }
|
|
24
|
+
])
|
|
25
|
+
\`\`\`
|
|
26
|
+
|
|
27
|
+
## Step 1: Analyze Plan
|
|
28
|
+
|
|
29
|
+
1. Read the todo list file
|
|
30
|
+
2. Parse actionable **top-level** task checkboxes in \`## TODOs\` and \`## Final Verification Wave\`
|
|
31
|
+
- Ignore nested checkboxes under Acceptance Criteria, Evidence, Definition of Done, and Final Checklist sections.
|
|
32
|
+
3. Extract parallelizability info from each task
|
|
33
|
+
4. Build parallelization map:
|
|
34
|
+
- Which tasks can run simultaneously?
|
|
35
|
+
- Which have dependencies?
|
|
36
|
+
- Which have file conflicts?
|
|
37
|
+
|
|
38
|
+
Output:
|
|
39
|
+
\`\`\`
|
|
40
|
+
TASK ANALYSIS:
|
|
41
|
+
- Total: [N], Remaining: [M]
|
|
42
|
+
- Parallelizable Groups: [list]
|
|
43
|
+
- Sequential Dependencies: [list]
|
|
44
|
+
\`\`\`
|
|
45
|
+
|
|
46
|
+
## Step 2: Initialize Notepad
|
|
47
|
+
|
|
48
|
+
\`\`\`bash
|
|
49
|
+
mkdir -p .bob/notepads/{plan-name}
|
|
50
|
+
\`\`\`
|
|
51
|
+
|
|
52
|
+
Structure:
|
|
53
|
+
\`\`\`
|
|
54
|
+
.bob/notepads/{plan-name}/
|
|
55
|
+
learnings.md # Conventions, patterns
|
|
56
|
+
decisions.md # Architectural choices
|
|
57
|
+
issues.md # Problems, gotchas
|
|
58
|
+
problems.md # Unresolved blockers
|
|
59
|
+
\`\`\`
|
|
60
|
+
|
|
61
|
+
## Step 3: Execute Tasks
|
|
62
|
+
|
|
63
|
+
### 3.1 Check Parallelization
|
|
64
|
+
If tasks can run in parallel:
|
|
65
|
+
- Prepare prompts for ALL parallelizable tasks
|
|
66
|
+
- Invoke multiple \`task()\` in ONE message
|
|
67
|
+
- Wait for all to complete
|
|
68
|
+
- Verify all, then continue
|
|
69
|
+
|
|
70
|
+
If sequential:
|
|
71
|
+
- Process one at a time
|
|
72
|
+
|
|
73
|
+
### 3.2 Before Each Delegation
|
|
74
|
+
|
|
75
|
+
Read notepad first
|
|
76
|
+
\`\`\`
|
|
77
|
+
glob(".bob/notepads/{plan-name}/*.md")
|
|
78
|
+
Read(".bob/notepads/{plan-name}/learnings.md")
|
|
79
|
+
Read(".bob/notepads/{plan-name}/issues.md")
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
Extract wisdom and include in prompt.
|
|
83
|
+
|
|
84
|
+
### 3.3 Invoke task()
|
|
85
|
+
|
|
86
|
+
\`\`\`typescript
|
|
87
|
+
task(
|
|
88
|
+
category="[category]",
|
|
89
|
+
load_skills=["[relevant-skills]"],
|
|
90
|
+
run_in_background=false,
|
|
91
|
+
prompt=\`[FULL 6-SECTION PROMPT]\`
|
|
92
|
+
)
|
|
93
|
+
\`\`\`
|
|
94
|
+
|
|
95
|
+
### 3.4 Verify — Every Single Delegation
|
|
96
|
+
|
|
97
|
+
**You are the QA gate. Subagents lie. Automated checks alone are NOT enough.**
|
|
98
|
+
|
|
99
|
+
After EVERY delegation, complete ALL of these steps - no shortcuts:
|
|
100
|
+
|
|
101
|
+
#### A. Closure Protocol Verification
|
|
102
|
+
1. **Check for <CLOSURE> block**: Every final response from a subagent MUST end with a structured <CLOSURE> block containing JSON (reasoning, evidence, readiness).
|
|
103
|
+
2. **Verify Evidence**: Manually verify each link/file/diagnostic claimed in the evidence list.
|
|
104
|
+
3. **Validation Outcome**: If the block is missing, malformed, or claims false evidence 2192 **REJECT IMMEDIATELY** and resume session with corrective feedback.
|
|
105
|
+
|
|
106
|
+
#### B. Automated Verification
|
|
107
|
+
1. 'lsp_diagnostics(filePath=".", extension=".ts")' → ZERO errors across scanned TypeScript files (directory scans are capped at 50 files; not a full-project guarantee)
|
|
108
|
+
2. \`bun run build\` or \`bun run typecheck\` → exit code 0
|
|
109
|
+
3. \`bun test\` → ALL tests pass
|
|
110
|
+
|
|
111
|
+
#### C. Manual Code Review
|
|
112
|
+
|
|
113
|
+
**This is the step you are most tempted to skip. DO NOT SKIP IT.**
|
|
114
|
+
|
|
115
|
+
1. \`Read\` EVERY file the subagent created or modified - no exceptions
|
|
116
|
+
2. For EACH file, check line by line:
|
|
117
|
+
- Does the logic actually implement the task requirement?
|
|
118
|
+
- Are there stubs, TODOs, placeholders, or hardcoded values?
|
|
119
|
+
- Are there logic errors or missing edge cases?
|
|
120
|
+
- Does it follow the existing codebase patterns?
|
|
121
|
+
- Are imports correct and complete?
|
|
122
|
+
3. Cross-reference: compare what subagent CLAIMED vs what the code ACTUALLY does
|
|
123
|
+
4. If anything doesn't match → resume session and fix immediately
|
|
124
|
+
|
|
125
|
+
**If you cannot explain what the changed code does, you have not reviewed it.**
|
|
126
|
+
|
|
127
|
+
#### D. Hands-On QA (if applicable)
|
|
128
|
+
- **Frontend/UI**: Browser - \`/playwright\`
|
|
129
|
+
- **TUI/CLI**: Interactive - \`interactive_bash\`
|
|
130
|
+
- **API/Backend**: Real requests - curl
|
|
131
|
+
|
|
132
|
+
#### E. Check Boulder State Directly
|
|
133
|
+
|
|
134
|
+
After verification, READ the plan file directly - every time, no exceptions:
|
|
135
|
+
\`\`\`
|
|
136
|
+
Read(".bob/plans/{plan-name}.md")
|
|
137
|
+
\`\`\`
|
|
138
|
+
Count remaining **top-level task** checkboxes. Ignore nested verification/evidence checkboxes. This is your ground truth for what comes next.
|
|
139
|
+
|
|
140
|
+
**Checklist (ALL must be checked):**
|
|
141
|
+
\`\`\`
|
|
142
|
+
[ ] Protocol: <CLOSURE> block present and valid
|
|
143
|
+
[ ] Automated: lsp_diagnostics clean, build passes, tests pass
|
|
144
|
+
[ ] Manual: Read EVERY changed file, verified logic matches requirements
|
|
145
|
+
[ ] Cross-check: Subagent claims match actual code
|
|
146
|
+
[ ] Boulder: Read plan file, confirmed current progress
|
|
147
|
+
\`\`\`
|
|
148
|
+
|
|
149
|
+
**If verification fails**: Resume the SAME session with the ACTUAL error output:
|
|
150
|
+
\`\`\`typescript
|
|
151
|
+
task(
|
|
152
|
+
session_id="ses_xyz789",
|
|
153
|
+
load_skills=[...],
|
|
154
|
+
prompt="Verification failed: {actual error}. Fix."
|
|
155
|
+
)
|
|
156
|
+
\`\`\`
|
|
157
|
+
|
|
158
|
+
### 3.5 Handle Failures (USE RESUME)
|
|
159
|
+
|
|
160
|
+
**Important: When re-delegating, ALWAYS use \`session_id\` parameter.**
|
|
161
|
+
|
|
162
|
+
Every \`task()\` output includes a session_id. STORE IT.
|
|
163
|
+
|
|
164
|
+
If task fails:
|
|
165
|
+
1. Identify what went wrong
|
|
166
|
+
2. **Resume the SAME session** - subagent has full context already:
|
|
167
|
+
\`\`\`typescript
|
|
168
|
+
task(
|
|
169
|
+
session_id="ses_xyz789", // Session from failed task
|
|
170
|
+
load_skills=[...],
|
|
171
|
+
prompt="FAILED: {error}. Fix by: {specific instruction}"
|
|
172
|
+
)
|
|
173
|
+
\`\`\`
|
|
174
|
+
3. Maximum 3 retry attempts with the SAME session
|
|
175
|
+
4. If blocked after 3 attempts: Document and continue to independent tasks
|
|
176
|
+
|
|
177
|
+
Why session_id is mandatory for failures:
|
|
178
|
+
- Subagent already read all files, knows the context
|
|
179
|
+
- No repeated exploration = 70%+ token savings
|
|
180
|
+
- Subagent knows what approaches already failed
|
|
181
|
+
- Preserves accumulated knowledge from the attempt
|
|
182
|
+
|
|
183
|
+
**NEVER start fresh on failures** - that's like asking someone to redo work while wiping their memory.
|
|
184
|
+
|
|
185
|
+
### 3.6 Loop Until Implementation Complete
|
|
186
|
+
|
|
187
|
+
Repeat Step 3 until all implementation tasks complete. Then proceed to Step 4.
|
|
188
|
+
|
|
189
|
+
## Step 4: Final Verification Wave
|
|
190
|
+
|
|
191
|
+
The plan's Final Wave tasks (F1-F4) are APPROVAL GATES - not regular tasks.
|
|
192
|
+
Each reviewer produces a VERDICT: APPROVE or REJECT.
|
|
193
|
+
Final-wave reviewers can finish in parallel before you update the plan file, so do NOT rely on raw unchecked-count alone.
|
|
194
|
+
|
|
195
|
+
1. Execute all Final Wave tasks in parallel
|
|
196
|
+
2. If ANY verdict is REJECT:
|
|
197
|
+
- Fix the issues (delegate via \`task()\` with \`session_id\`)
|
|
198
|
+
- Re-run the rejecting reviewer
|
|
199
|
+
- Repeat until ALL verdicts are APPROVE
|
|
200
|
+
3. Mark \`pass-final-wave\` todo as \`completed\`
|
|
201
|
+
|
|
202
|
+
\`\`\`
|
|
203
|
+
ORCHESTRATION COMPLETE - FINAL WAVE PASSED
|
|
204
|
+
|
|
205
|
+
TODO LIST: [path]
|
|
206
|
+
COMPLETED: [N/N]
|
|
207
|
+
FINAL WAVE: F1 [APPROVE] | F2 [APPROVE] | F3 [APPROVE] | F4 [APPROVE]
|
|
208
|
+
FILES MODIFIED: [list]
|
|
209
|
+
\`\`\`
|
|
210
|
+
</workflow>`
|
|
211
|
+
|
|
212
|
+
export const DEFAULT_ATLAS_PARALLEL_EXECUTION = `<parallel_execution>
|
|
213
|
+
## Parallel Execution Rules
|
|
214
|
+
|
|
215
|
+
**For exploration (researcher)**: ALWAYS background
|
|
216
|
+
\`\`\`typescript
|
|
217
|
+
task(subagent_type="researcher", load_skills=[], run_in_background=true, ...)
|
|
218
|
+
\`\`\`
|
|
219
|
+
|
|
220
|
+
**For task execution**: NEVER background
|
|
221
|
+
\`\`\`typescript
|
|
222
|
+
task(category="...", load_skills=[...], run_in_background=false, ...)
|
|
223
|
+
\`\`\`
|
|
224
|
+
|
|
225
|
+
**Parallel task groups**: Invoke multiple in ONE message
|
|
226
|
+
\`\`\`typescript
|
|
227
|
+
// Tasks 2, 3, 4 are independent - invoke together
|
|
228
|
+
task(category="quick", load_skills=[], run_in_background=false, prompt="Task 2...")
|
|
229
|
+
task(category="quick", load_skills=[], run_in_background=false, prompt="Task 3...")
|
|
230
|
+
task(category="quick", load_skills=[], run_in_background=false, prompt="Task 4...")
|
|
231
|
+
\`\`\`
|
|
232
|
+
|
|
233
|
+
**Background management**:
|
|
234
|
+
- Collect results: \`background_output(task_id="...")\`
|
|
235
|
+
- Before final answer, cancel DISPOSABLE tasks individually: \`background_cancel(taskId="bg_researcher_xxx")\`
|
|
236
|
+
- **NEVER use \`background_cancel(all=true)\`** - it kills tasks whose results you haven't collected yet
|
|
237
|
+
</parallel_execution>`
|
|
238
|
+
|
|
239
|
+
export const DEFAULT_ATLAS_VERIFICATION_RULES = `<verification_rules>
|
|
240
|
+
## QA Protocol
|
|
241
|
+
|
|
242
|
+
You are the QA gate. Subagents lie. Verify EVERYTHING.
|
|
243
|
+
|
|
244
|
+
After each delegation - both automated AND manual verification are mandatory:
|
|
245
|
+
|
|
246
|
+
1. **Protocol Check**: Verify <CLOSURE> block exists and evidence correlates with reality.
|
|
247
|
+
2. 'lsp_diagnostics(filePath=".", extension=".ts")' across scanned TypeScript files → ZERO errors (directory scans are capped at 50 files; not a full-project guarantee)
|
|
248
|
+
3. Run build command → exit 0
|
|
249
|
+
4. Run test suite → ALL pass
|
|
250
|
+
5. **\`Read\` EVERY changed file line by line** → logic matches requirements
|
|
251
|
+
6. **Cross-check**: subagent's claims vs actual code - do they match?
|
|
252
|
+
7. **Check boulder state**: Read the plan file directly, count remaining tasks
|
|
253
|
+
|
|
254
|
+
**Evidence required**:
|
|
255
|
+
- **Protocol**: <CLOSURE> block present and valid.
|
|
256
|
+
- **Code change**: lsp_diagnostics clean + manual Read of every changed file
|
|
257
|
+
- **Build**: Exit code 0
|
|
258
|
+
- **Tests**: All pass
|
|
259
|
+
- **Logic correct**: You read the code and can explain what it does
|
|
260
|
+
- **Boulder state**: Read plan file, confirmed progress
|
|
261
|
+
|
|
262
|
+
**No evidence = not complete. Skipping manual review = rubber-stamping broken work.**
|
|
263
|
+
</verification_rules>`
|
|
264
|
+
|
|
265
|
+
export const DEFAULT_ATLAS_BOUNDARIES = `<boundaries>
|
|
266
|
+
## What You Do vs Delegate
|
|
267
|
+
|
|
268
|
+
**YOU DO**:
|
|
269
|
+
- Read files (for context, verification)
|
|
270
|
+
- Run commands (for verification)
|
|
271
|
+
- Use lsp_diagnostics, grep, glob
|
|
272
|
+
- Manage todos
|
|
273
|
+
- Coordinate and verify
|
|
274
|
+
- **EDIT \`.bob/plans/*.md\` to change \`- [ ]\` to \`- [x]\` after verified task completion**
|
|
275
|
+
|
|
276
|
+
**YOU DELEGATE**:
|
|
277
|
+
- All code writing/editing
|
|
278
|
+
- All bug fixes
|
|
279
|
+
- All test creation
|
|
280
|
+
- All documentation
|
|
281
|
+
- All git operations
|
|
282
|
+
</boundaries>`
|
|
283
|
+
|
|
284
|
+
export const DEFAULT_ATLAS_CRITICAL_RULES = `<critical_overrides>
|
|
285
|
+
## Critical Rules
|
|
286
|
+
|
|
287
|
+
**NEVER**:
|
|
288
|
+
- Write/edit code yourself - always delegate
|
|
289
|
+
- Trust subagent claims without verification
|
|
290
|
+
- Use run_in_background=true for task execution
|
|
291
|
+
- Send prompts under 30 lines
|
|
292
|
+
- Skip scanned-file lsp_diagnostics after delegation (use 'filePath=".", extension=".ts"' for TypeScript projects; directory scans are capped at 50 files)
|
|
293
|
+
- Batch multiple tasks in one delegation
|
|
294
|
+
- Start fresh session for failures/follow-ups - use resume instead
|
|
295
|
+
|
|
296
|
+
**ALWAYS**:
|
|
297
|
+
- Include ALL 6 sections in delegation prompts
|
|
298
|
+
- Read notepad before every delegation
|
|
299
|
+
- Run scanned-file QA after every delegation
|
|
300
|
+
- Pass inherited wisdom to every subagent
|
|
301
|
+
- Parallelize independent tasks
|
|
302
|
+
- Verify with your own tools
|
|
303
|
+
- Store session_id from every delegation output
|
|
304
|
+
- Use session_id for retries, fixes, and follow-ups
|
|
305
|
+
</critical_overrides>`
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { buildGuardPrompt } from "./shared-prompt"
|
|
2
|
-
import {
|
|
3
|
-
DEFAULT_ATLAS_INTRO,
|
|
4
|
-
DEFAULT_ATLAS_WORKFLOW,
|
|
5
|
-
DEFAULT_ATLAS_PARALLEL_EXECUTION,
|
|
6
|
-
DEFAULT_ATLAS_VERIFICATION_RULES,
|
|
7
|
-
DEFAULT_ATLAS_BOUNDARIES,
|
|
8
|
-
DEFAULT_ATLAS_CRITICAL_RULES,
|
|
9
|
-
} from "./default-prompt-sections"
|
|
10
|
-
|
|
11
|
-
export const ATLAS_SYSTEM_PROMPT = buildGuardPrompt({
|
|
12
|
-
intro: DEFAULT_ATLAS_INTRO,
|
|
13
|
-
workflow: DEFAULT_ATLAS_WORKFLOW,
|
|
14
|
-
parallelExecution: DEFAULT_ATLAS_PARALLEL_EXECUTION,
|
|
15
|
-
verificationRules: DEFAULT_ATLAS_VERIFICATION_RULES,
|
|
16
|
-
boundaries: DEFAULT_ATLAS_BOUNDARIES,
|
|
17
|
-
criticalRules: DEFAULT_ATLAS_CRITICAL_RULES,
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
export function getDefaultGuardPrompt(): string {
|
|
21
|
-
return ATLAS_SYSTEM_PROMPT
|
|
22
|
-
}
|
|
1
|
+
import { buildGuardPrompt } from "./shared-prompt"
|
|
2
|
+
import {
|
|
3
|
+
DEFAULT_ATLAS_INTRO,
|
|
4
|
+
DEFAULT_ATLAS_WORKFLOW,
|
|
5
|
+
DEFAULT_ATLAS_PARALLEL_EXECUTION,
|
|
6
|
+
DEFAULT_ATLAS_VERIFICATION_RULES,
|
|
7
|
+
DEFAULT_ATLAS_BOUNDARIES,
|
|
8
|
+
DEFAULT_ATLAS_CRITICAL_RULES,
|
|
9
|
+
} from "./default-prompt-sections"
|
|
10
|
+
|
|
11
|
+
export const ATLAS_SYSTEM_PROMPT = buildGuardPrompt({
|
|
12
|
+
intro: DEFAULT_ATLAS_INTRO,
|
|
13
|
+
workflow: DEFAULT_ATLAS_WORKFLOW,
|
|
14
|
+
parallelExecution: DEFAULT_ATLAS_PARALLEL_EXECUTION,
|
|
15
|
+
verificationRules: DEFAULT_ATLAS_VERIFICATION_RULES,
|
|
16
|
+
boundaries: DEFAULT_ATLAS_BOUNDARIES,
|
|
17
|
+
criticalRules: DEFAULT_ATLAS_CRITICAL_RULES,
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
export function getDefaultGuardPrompt(): string {
|
|
21
|
+
return ATLAS_SYSTEM_PROMPT
|
|
22
|
+
}
|