oh-my-opencode 3.2.0 → 3.2.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/dist/agents/{atlas.d.ts → atlas/default.d.ts} +8 -19
- package/dist/agents/atlas/gpt.d.ts +19 -0
- package/dist/agents/atlas/index.d.ts +39 -0
- package/dist/agents/atlas/utils.d.ts +13 -0
- package/dist/agents/hephaestus.d.ts +1 -1
- package/dist/agents/prometheus/identity-constraints.d.ts +1 -1
- package/dist/agents/prometheus/index.d.ts +1 -1
- package/dist/agents/prometheus/interview-mode.d.ts +1 -1
- package/dist/agents/prometheus/plan-generation.d.ts +1 -1
- package/dist/agents/prometheus/plan-template.d.ts +1 -1
- package/dist/agents/sisyphus-junior/default.d.ts +9 -0
- package/dist/agents/sisyphus-junior/gpt.d.ts +18 -0
- package/dist/agents/sisyphus-junior/index.d.ts +31 -0
- package/dist/agents/sisyphus.d.ts +1 -1
- package/dist/cli/index.js +1140 -835
- package/dist/cli/run/runner.d.ts +4 -0
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema.d.ts +23 -43
- package/dist/features/background-agent/manager.d.ts +6 -0
- package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -1
- package/dist/features/claude-tasks/index.d.ts +2 -0
- package/dist/features/claude-tasks/storage.d.ts +12 -0
- package/dist/features/claude-tasks/types.d.ts +25 -0
- package/dist/hooks/auto-slash-command/detector.d.ts +4 -0
- package/dist/hooks/auto-slash-command/index.d.ts +2 -1
- package/dist/hooks/auto-slash-command/types.d.ts +12 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/keyword-detector/ultrawork/default.d.ts +4 -4
- package/dist/hooks/keyword-detector/ultrawork/gpt5.2.d.ts +5 -6
- package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +1 -1
- package/dist/hooks/preemptive-compaction.d.ts +30 -0
- package/dist/hooks/prometheus-md-only/constants.d.ts +1 -1
- package/dist/hooks/task-reminder/index.d.ts +19 -0
- package/dist/hooks/tasks-todowrite-disabler/constants.d.ts +3 -0
- package/dist/hooks/tasks-todowrite-disabler/index.d.ts +14 -0
- package/dist/index.js +26317 -24694
- package/dist/tools/delegate-task/constants.d.ts +1 -1
- package/dist/tools/delegate-task/types.d.ts +4 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/task/index.d.ts +7 -0
- package/dist/tools/task/task-create.d.ts +4 -0
- package/dist/tools/task/task-get.d.ts +3 -0
- package/dist/tools/task/task-list.d.ts +3 -0
- package/dist/tools/task/task-update.d.ts +4 -0
- package/dist/tools/task/task.d.ts +3 -0
- package/dist/tools/task/todo-sync.d.ts +16 -0
- package/dist/tools/task/types.d.ts +97 -0
- package/package.json +9 -9
- package/dist/agents/momus.test.d.ts +0 -1
- package/dist/agents/prometheus-prompt.test.d.ts +0 -1
- package/dist/agents/sisyphus-junior.d.ts +0 -10
- package/dist/agents/sisyphus-junior.test.d.ts +0 -1
- package/dist/agents/utils.test.d.ts +0 -1
- package/dist/cli/config-manager.test.d.ts +0 -1
- package/dist/cli/doctor/checks/auth.test.d.ts +0 -1
- package/dist/cli/doctor/checks/config.test.d.ts +0 -1
- package/dist/cli/doctor/checks/dependencies.test.d.ts +0 -1
- package/dist/cli/doctor/checks/gh.test.d.ts +0 -1
- package/dist/cli/doctor/checks/lsp.test.d.ts +0 -1
- package/dist/cli/doctor/checks/mcp-oauth.test.d.ts +0 -1
- package/dist/cli/doctor/checks/mcp.test.d.ts +0 -1
- package/dist/cli/doctor/checks/model-resolution.test.d.ts +0 -1
- package/dist/cli/doctor/checks/opencode.test.d.ts +0 -1
- package/dist/cli/doctor/checks/plugin.test.d.ts +0 -1
- package/dist/cli/doctor/checks/version.test.d.ts +0 -1
- package/dist/cli/doctor/formatter.test.d.ts +0 -1
- package/dist/cli/doctor/runner.test.d.ts +0 -1
- package/dist/cli/index.test.d.ts +0 -1
- package/dist/cli/install.test.d.ts +0 -1
- package/dist/cli/mcp-oauth/index.test.d.ts +0 -1
- package/dist/cli/mcp-oauth/login.test.d.ts +0 -1
- package/dist/cli/mcp-oauth/logout.test.d.ts +0 -1
- package/dist/cli/mcp-oauth/status.test.d.ts +0 -1
- package/dist/cli/model-fallback.test.d.ts +0 -1
- package/dist/cli/run/completion.test.d.ts +0 -1
- package/dist/cli/run/events.test.d.ts +0 -1
- package/dist/config/schema.test.d.ts +0 -1
- package/dist/features/background-agent/concurrency.test.d.ts +0 -1
- package/dist/features/background-agent/manager.test.d.ts +0 -1
- package/dist/features/boulder-state/storage.test.d.ts +0 -1
- package/dist/features/builtin-commands/templates/stop-continuation.test.d.ts +0 -1
- package/dist/features/builtin-skills/skills.test.d.ts +0 -1
- package/dist/features/claude-code-mcp-loader/loader.test.d.ts +0 -1
- package/dist/features/claude-code-session-state/state.test.d.ts +0 -1
- package/dist/features/context-injector/collector.test.d.ts +0 -1
- package/dist/features/context-injector/injector.test.d.ts +0 -1
- package/dist/features/mcp-oauth/callback-server.test.d.ts +0 -1
- package/dist/features/mcp-oauth/dcr.test.d.ts +0 -1
- package/dist/features/mcp-oauth/discovery.test.d.ts +0 -1
- package/dist/features/mcp-oauth/provider.test.d.ts +0 -1
- package/dist/features/mcp-oauth/resource-indicator.test.d.ts +0 -1
- package/dist/features/mcp-oauth/schema.test.d.ts +0 -1
- package/dist/features/mcp-oauth/step-up.test.d.ts +0 -1
- package/dist/features/mcp-oauth/storage.test.d.ts +0 -1
- package/dist/features/opencode-skill-loader/async-loader.test.d.ts +0 -1
- package/dist/features/opencode-skill-loader/blocking.test.d.ts +0 -1
- package/dist/features/opencode-skill-loader/loader.test.d.ts +0 -1
- package/dist/features/opencode-skill-loader/skill-content.test.d.ts +0 -1
- package/dist/features/sisyphus-swarm/mailbox/types.d.ts +0 -191
- package/dist/features/sisyphus-swarm/mailbox/types.test.d.ts +0 -1
- package/dist/features/sisyphus-tasks/storage.d.ts +0 -9
- package/dist/features/sisyphus-tasks/storage.test.d.ts +0 -1
- package/dist/features/sisyphus-tasks/types.d.ts +0 -47
- package/dist/features/sisyphus-tasks/types.test.d.ts +0 -1
- package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +0 -1
- package/dist/features/skill-mcp-manager/manager.test.d.ts +0 -1
- package/dist/features/task-toast-manager/manager.test.d.ts +0 -1
- package/dist/features/tmux-subagent/decision-engine.test.d.ts +0 -1
- package/dist/features/tmux-subagent/manager.test.d.ts +0 -1
- package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +0 -1
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +0 -1
- package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +0 -1
- package/dist/hooks/atlas/index.test.d.ts +0 -1
- package/dist/hooks/auto-slash-command/detector.test.d.ts +0 -1
- package/dist/hooks/auto-slash-command/index.test.d.ts +0 -1
- package/dist/hooks/auto-update-checker/checker.test.d.ts +0 -1
- package/dist/hooks/auto-update-checker/index.test.d.ts +0 -1
- package/dist/hooks/category-skill-reminder/index.test.d.ts +0 -1
- package/dist/hooks/comment-checker/cli.test.d.ts +0 -1
- package/dist/hooks/compaction-context-injector/index.test.d.ts +0 -1
- package/dist/hooks/delegate-task-retry/index.test.d.ts +0 -1
- package/dist/hooks/edit-error-recovery/index.test.d.ts +0 -1
- package/dist/hooks/keyword-detector/index.test.d.ts +0 -1
- package/dist/hooks/non-interactive-env/index.test.d.ts +0 -1
- package/dist/hooks/prometheus-md-only/index.test.d.ts +0 -1
- package/dist/hooks/question-label-truncator/index.test.d.ts +0 -1
- package/dist/hooks/ralph-loop/index.test.d.ts +0 -1
- package/dist/hooks/rules-injector/finder.test.d.ts +0 -1
- package/dist/hooks/rules-injector/output-path.test.d.ts +0 -1
- package/dist/hooks/rules-injector/parser.test.d.ts +0 -1
- package/dist/hooks/session-notification.test.d.ts +0 -1
- package/dist/hooks/session-recovery/index.test.d.ts +0 -1
- package/dist/hooks/start-work/index.test.d.ts +0 -1
- package/dist/hooks/stop-continuation-guard/index.test.d.ts +0 -1
- package/dist/hooks/subagent-question-blocker/index.test.d.ts +0 -1
- package/dist/hooks/think-mode/index.test.d.ts +0 -1
- package/dist/hooks/think-mode/switcher.test.d.ts +0 -1
- package/dist/hooks/todo-continuation-enforcer.test.d.ts +0 -1
- package/dist/hooks/tool-output-truncator.test.d.ts +0 -1
- package/dist/hooks/unstable-agent-babysitter/index.test.d.ts +0 -1
- package/dist/index.test.d.ts +0 -1
- package/dist/mcp/index.test.d.ts +0 -1
- package/dist/plugin-config.test.d.ts +0 -1
- package/dist/plugin-handlers/config-handler.test.d.ts +0 -1
- package/dist/shared/agent-config-integration.test.d.ts +0 -1
- package/dist/shared/agent-display-names.test.d.ts +0 -1
- package/dist/shared/agent-variant.test.d.ts +0 -1
- package/dist/shared/claude-config-dir.test.d.ts +0 -1
- package/dist/shared/deep-merge.test.d.ts +0 -1
- package/dist/shared/external-plugin-detector.test.d.ts +0 -1
- package/dist/shared/first-message-variant.test.d.ts +0 -1
- package/dist/shared/frontmatter.test.d.ts +0 -1
- package/dist/shared/jsonc-parser.test.d.ts +0 -1
- package/dist/shared/migration.test.d.ts +0 -1
- package/dist/shared/model-availability.test.d.ts +0 -1
- package/dist/shared/model-requirements.test.d.ts +0 -1
- package/dist/shared/model-resolver.test.d.ts +0 -1
- package/dist/shared/model-suggestion-retry.test.d.ts +0 -1
- package/dist/shared/opencode-config-dir.test.d.ts +0 -1
- package/dist/shared/opencode-version.test.d.ts +0 -1
- package/dist/shared/permission-compat.test.d.ts +0 -1
- package/dist/shared/session-cursor.test.d.ts +0 -1
- package/dist/shared/shell-env.test.d.ts +0 -1
- package/dist/shared/system-directive.test.d.ts +0 -1
- package/dist/shared/tmux/tmux-utils.test.d.ts +0 -1
- package/dist/tools/background-task/tools.test.d.ts +0 -1
- package/dist/tools/delegate-task/tools.test.d.ts +0 -1
- package/dist/tools/glob/cli.test.d.ts +0 -1
- package/dist/tools/grep/downloader.test.d.ts +0 -1
- package/dist/tools/look-at/tools.test.d.ts +0 -1
- package/dist/tools/lsp/config.test.d.ts +0 -1
- package/dist/tools/session-manager/storage.test.d.ts +0 -1
- package/dist/tools/session-manager/tools.test.d.ts +0 -1
- package/dist/tools/session-manager/utils.test.d.ts +0 -1
- package/dist/tools/skill/tools.test.d.ts +0 -1
- package/dist/tools/skill-mcp/tools.test.d.ts +0 -1
- package/dist/tools/slashcommand/tools.test.d.ts +0 -1
|
@@ -16,7 +16,7 @@ export declare const CATEGORY_DESCRIPTIONS: Record<string, string>;
|
|
|
16
16
|
* then summarize user requirements and clarify uncertainties before proceeding.
|
|
17
17
|
* Also MANDATES dependency graphs, parallel execution analysis, and category+skill recommendations.
|
|
18
18
|
*/
|
|
19
|
-
export declare const PLAN_AGENT_SYSTEM_PREPEND = "<system>\nBEFORE you begin planning, you MUST first understand the user's request deeply.\n\nMANDATORY CONTEXT GATHERING PROTOCOL:\n1. Launch background agents to gather context:\n - call_omo_agent(description=\"Explore codebase patterns\", subagent_type=\"explore\", run_in_background=true, prompt=\"<search for relevant patterns, files, and implementations in the codebase related to user's request>\")\n - call_omo_agent(description=\"Research documentation\", subagent_type=\"librarian\", run_in_background=true, prompt=\"<search for external documentation, examples, and best practices related to user's request>\")\n\n2. After gathering context, ALWAYS present:\n - **User Request Summary**: Concise restatement of what the user is asking for\n - **Uncertainties**: List of unclear points, ambiguities, or assumptions you're making\n - **Clarifying Questions**: Specific questions to resolve the uncertainties\n\n3. ITERATE until ALL requirements are crystal clear:\n - Do NOT proceed to planning until you have 100% clarity\n - Ask the user to confirm your understanding\n - Resolve every ambiguity before generating the work plan\n\nREMEMBER: Vague requirements lead to failed implementations. Take the time to understand thoroughly.\n</system>\n\n<CRITICAL_REQUIREMENT_DEPENDENCY_PARALLEL_EXECUTION_CATEGORY_SKILLS>\n#####################################################################\n# #\n# \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 #\n# \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 #\n# \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 #\n# \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u2584\u2584 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 #\n# \u2588\u2588\uFFFD\uFFFD \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D #\n# \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2580\u2580\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u255D #\n# #\n#####################################################################\n\nYOU MUST INCLUDE THE FOLLOWING SECTIONS IN YOUR PLAN OUTPUT.\nTHIS IS NON-NEGOTIABLE. FAILURE TO INCLUDE THESE SECTIONS = INCOMPLETE PLAN.\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 1: TASK DEPENDENCY GRAPH (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOU MUST ANALYZE AND DOCUMENT TASK DEPENDENCIES.\n\nFor EVERY task in your plan, you MUST specify:\n- Which tasks it DEPENDS ON (blockers)\n- Which tasks DEPEND ON IT (dependents)\n- The REASON for each dependency\n\nExample format:\n```\n## Task Dependency Graph\n\n| Task | Depends On | Reason |\n|------|------------|--------|\n| Task 1 | None | Starting point, no prerequisites |\n| Task 2 | Task 1 | Requires output/artifact from Task 1 |\n| Task 3 | Task 1 | Uses same foundation established in Task 1 |\n| Task 4 | Task 2, Task 3 | Integrates results from both tasks |\n```\n\nWHY THIS MATTERS:\n- Executors need to know execution ORDER\n- Prevents blocked work from starting prematurely\n- Identifies critical path for project timeline\n\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 2: PARALLEL EXECUTION GRAPH (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOU MUST IDENTIFY WHICH TASKS CAN RUN IN PARALLEL.\n\nAnalyze your dependency graph and group tasks into PARALLEL EXECUTION WAVES:\n\nExample format:\n```\n## Parallel Execution Graph\n\nWave 1 (Start immediately):\n\u251C\u2500\u2500 Task 1: [description] (no dependencies)\n\u2514\u2500\u2500 Task 5: [description] (no dependencies)\n\nWave 2 (After Wave 1 completes):\n\u251C\u2500\u2500 Task 2: [description] (depends: Task 1)\n\u251C\u2500\u2500 Task 3: [description] (depends: Task 1)\n\u2514\u2500\u2500 Task 6: [description] (depends: Task 5)\n\nWave 3 (After Wave 2 completes):\n\u2514\u2500\u2500 Task 4: [description] (depends: Task 2, Task 3)\n\nCritical Path: Task 1 \u2192 Task 2 \u2192 Task 4\nEstimated Parallel Speedup: 40% faster than sequential\n```\n\nWHY THIS MATTERS:\n- MASSIVE time savings through parallelization\n- Executors can dispatch multiple agents simultaneously\n- Identifies bottlenecks in the execution plan\n\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 3: CATEGORY + SKILLS RECOMMENDATIONS (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nFOR EVERY TASK, YOU MUST RECOMMEND:\n1. Which CATEGORY to use for delegation\n2. Which SKILLS to load for the delegated agent\n\n### AVAILABLE CATEGORIES\n\n| Category | Best For | Model |\n|----------|----------|-------|\n| `visual-engineering` | Frontend, UI/UX, design, styling, animation | google/gemini-3-pro |\n| `ultrabrain` | Complex architecture, deep logical reasoning | openai/gpt-5.2-codex |\n| `artistry` | Highly creative/artistic tasks, novel ideas | google/gemini-3-pro |\n| `quick` | Trivial tasks - single file, typo fixes | anthropic/claude-haiku-4-5 |\n| `unspecified-low` | Moderate effort, doesn't fit other categories | anthropic/claude-sonnet-4-5 |\n| `unspecified-high` | High effort, doesn't fit other categories | anthropic/claude-opus-4-5 |\n| `writing` | Documentation, prose, technical writing | google/gemini-3-flash |\n\n### AVAILABLE SKILLS (ALWAYS EVALUATE ALL)\n\nSkills inject specialized expertise into the delegated agent.\nYOU MUST evaluate EVERY skill and justify inclusions/omissions.\n\n| Skill | Domain |\n|-------|--------|\n| `agent-browser` | Browser automation, web testing |\n| `frontend-ui-ux` | Stunning UI/UX design |\n| `git-master` | Atomic commits, git operations |\n| `dev-browser` | Persistent browser state automation |\n| `typescript-programmer` | Production TypeScript code |\n| `python-programmer` | Production Python code |\n| `svelte-programmer` | Svelte components |\n| `golang-tui-programmer` | Go TUI with Charmbracelet |\n| `python-debugger` | Interactive Python debugging |\n| `data-scientist` | DuckDB/Polars data processing |\n| `prompt-engineer` | AI prompt optimization |\n\n### REQUIRED OUTPUT FORMAT\n\nFor EACH task, include a recommendation block:\n\n```\n### Task N: [Task Title]\n\n**Delegation Recommendation:**\n- Category: `[category-name]` - [reason for choice]\n- Skills: [`skill-1`, `skill-2`] - [reason each skill is needed]\n\n**Skills Evaluation:**\n- INCLUDED `skill-name`: [reason]\n- OMITTED `other-skill`: [reason domain doesn't overlap]\n```\n\nWHY THIS MATTERS:\n- Category determines the MODEL used for execution\n- Skills inject SPECIALIZED KNOWLEDGE into the executor\n- Missing a relevant skill = suboptimal execution\n- Wrong category = wrong model = poor results\n\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 RESPONSE FORMAT SPECIFICATION (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOUR PLAN OUTPUT MUST FOLLOW THIS EXACT STRUCTURE:\n\n```markdown\n# [Plan Title]\n\n## Context\n[User request summary, interview findings, research results]\n\n## Task Dependency Graph\n[Dependency table - see Section 1]\n\n## Parallel Execution Graph \n[Wave structure - see Section 2]\n\n## Tasks\n\n### Task 1: [Title]\n**Description**: [What to do]\n**Delegation Recommendation**:\n- Category: `[category]` - [reason]\n- Skills: [`skill-1`] - [reason]\n**Skills Evaluation**: [\u2705 included / \u274C omitted with reasons]\n**Depends On**: [Task IDs or \"None\"]\n**Acceptance Criteria**: [Verifiable conditions]\n\n### Task 2: [Title]\n[Same structure...]\n\n## Commit Strategy\n[How to commit changes atomically]\n\n## Success Criteria\n[Final verification steps]\n```\n\n#####################################################################\n# #\n# FAILURE TO INCLUDE THESE SECTIONS = PLAN WILL BE REJECTED #\n# BY MOMUS REVIEW. DO NOT SKIP. DO NOT ABBREVIATE. #\n# #\n#####################################################################\n</CRITICAL_REQUIREMENT_DEPENDENCY_PARALLEL_EXECUTION_CATEGORY_SKILLS>\n\n";
|
|
19
|
+
export declare const PLAN_AGENT_SYSTEM_PREPEND = "<system>\nBEFORE you begin planning, you MUST first understand the user's request deeply.\n\nMANDATORY CONTEXT GATHERING PROTOCOL:\n1. Launch background agents to gather context:\n - call_omo_agent(description=\"Explore codebase patterns\", subagent_type=\"explore\", run_in_background=true, prompt=\"<search for relevant patterns, files, and implementations in the codebase related to user's request>\")\n - call_omo_agent(description=\"Research documentation\", subagent_type=\"librarian\", run_in_background=true, prompt=\"<search for external documentation, examples, and best practices related to user's request>\")\n\n2. After gathering context, ALWAYS present:\n - **User Request Summary**: Concise restatement of what the user is asking for\n - **Uncertainties**: List of unclear points, ambiguities, or assumptions you're making\n - **Clarifying Questions**: Specific questions to resolve the uncertainties\n\n3. ITERATE until ALL requirements are crystal clear:\n - Do NOT proceed to planning until you have 100% clarity\n - Ask the user to confirm your understanding\n - Resolve every ambiguity before generating the work plan\n\nREMEMBER: Vague requirements lead to failed implementations. Take the time to understand thoroughly.\n</system>\n\n<CRITICAL_REQUIREMENT_DEPENDENCY_PARALLEL_EXECUTION_CATEGORY_SKILLS>\n#####################################################################\n# #\n# \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 #\n# \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 #\n# \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 #\n# \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u2584\u2584 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 #\n# \u2588\u2588\uFFFD\uFFFD \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D #\n# \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2580\u2580\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u255D #\n# #\n#####################################################################\n\nYOU MUST INCLUDE THE FOLLOWING SECTIONS IN YOUR PLAN OUTPUT.\nTHIS IS NON-NEGOTIABLE. FAILURE TO INCLUDE THESE SECTIONS = INCOMPLETE PLAN.\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 1: TASK DEPENDENCY GRAPH (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOU MUST ANALYZE AND DOCUMENT TASK DEPENDENCIES.\n\nFor EVERY task in your plan, you MUST specify:\n- Which tasks it DEPENDS ON (blockers)\n- Which tasks DEPEND ON IT (dependents)\n- The REASON for each dependency\n\nExample format:\n```\n## Task Dependency Graph\n\n| Task | Depends On | Reason |\n|------|------------|--------|\n| Task 1 | None | Starting point, no prerequisites |\n| Task 2 | Task 1 | Requires output/artifact from Task 1 |\n| Task 3 | Task 1 | Uses same foundation established in Task 1 |\n| Task 4 | Task 2, Task 3 | Integrates results from both tasks |\n```\n\nWHY THIS MATTERS:\n- Executors need to know execution ORDER\n- Prevents blocked work from starting prematurely\n- Identifies critical path for project timeline\n\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 2: PARALLEL EXECUTION GRAPH (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOU MUST IDENTIFY WHICH TASKS CAN RUN IN PARALLEL.\n\nAnalyze your dependency graph and group tasks into PARALLEL EXECUTION WAVES:\n\nExample format:\n```\n## Parallel Execution Graph\n\nWave 1 (Start immediately):\n\u251C\u2500\u2500 Task 1: [description] (no dependencies)\n\u2514\u2500\u2500 Task 5: [description] (no dependencies)\n\nWave 2 (After Wave 1 completes):\n\u251C\u2500\u2500 Task 2: [description] (depends: Task 1)\n\u251C\u2500\u2500 Task 3: [description] (depends: Task 1)\n\u2514\u2500\u2500 Task 6: [description] (depends: Task 5)\n\nWave 3 (After Wave 2 completes):\n\u2514\u2500\u2500 Task 4: [description] (depends: Task 2, Task 3)\n\nCritical Path: Task 1 \u2192 Task 2 \u2192 Task 4\nEstimated Parallel Speedup: 40% faster than sequential\n```\n\nWHY THIS MATTERS:\n- MASSIVE time savings through parallelization\n- Executors can dispatch multiple agents simultaneously\n- Identifies bottlenecks in the execution plan\n\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 3: CATEGORY + SKILLS RECOMMENDATIONS (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nFOR EVERY TASK, YOU MUST RECOMMEND:\n1. Which CATEGORY to use for delegation\n2. Which SKILLS to load for the delegated agent\n\n### AVAILABLE CATEGORIES\n\n| Category | Best For | Model |\n|----------|----------|-------|\n| `visual-engineering` | Frontend, UI/UX, design, styling, animation | google/gemini-3-pro |\n| `ultrabrain` | Complex architecture, deep logical reasoning | openai/gpt-5.2-codex |\n| `artistry` | Highly creative/artistic tasks, novel ideas | google/gemini-3-pro |\n| `quick` | Trivial tasks - single file, typo fixes | anthropic/claude-haiku-4-5 |\n| `unspecified-low` | Moderate effort, doesn't fit other categories | anthropic/claude-sonnet-4-5 |\n| `unspecified-high` | High effort, doesn't fit other categories | anthropic/claude-opus-4-5 |\n| `writing` | Documentation, prose, technical writing | google/gemini-3-flash |\n\n### AVAILABLE SKILLS (ALWAYS EVALUATE ALL)\n\nSkills inject specialized expertise into the delegated agent.\nYOU MUST evaluate EVERY skill and justify inclusions/omissions.\n\n| Skill | Domain |\n|-------|--------|\n| `agent-browser` | Browser automation, web testing |\n| `frontend-ui-ux` | Stunning UI/UX design |\n| `git-master` | Atomic commits, git operations |\n| `dev-browser` | Persistent browser state automation |\n| `typescript-programmer` | Production TypeScript code |\n| `python-programmer` | Production Python code |\n| `svelte-programmer` | Svelte components |\n| `golang-tui-programmer` | Go TUI with Charmbracelet |\n| `python-debugger` | Interactive Python debugging |\n| `data-scientist` | DuckDB/Polars data processing |\n| `prompt-engineer` | AI prompt optimization |\n\n### REQUIRED OUTPUT FORMAT\n\nFor EACH task, include a recommendation block:\n\n```\n### Task N: [Task Title]\n\n**Delegation Recommendation:**\n- Category: `[category-name]` - [reason for choice]\n- Skills: [`skill-1`, `skill-2`] - [reason each skill is needed]\n\n**Skills Evaluation:**\n- INCLUDED `skill-name`: [reason]\n- OMITTED `other-skill`: [reason domain doesn't overlap]\n```\n\nWHY THIS MATTERS:\n- Category determines the MODEL used for execution\n- Skills inject SPECIALIZED KNOWLEDGE into the executor\n- Missing a relevant skill = suboptimal execution\n- Wrong category = wrong model = poor results\n\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 RESPONSE FORMAT SPECIFICATION (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOUR PLAN OUTPUT MUST FOLLOW THIS EXACT STRUCTURE:\n\n```markdown\n# [Plan Title]\n\n## Context\n[User request summary, interview findings, research results]\n\n## Task Dependency Graph\n[Dependency table - see Section 1]\n\n## Parallel Execution Graph \n[Wave structure - see Section 2]\n\n## Tasks\n\n### Task 1: [Title]\n**Description**: [What to do]\n**Delegation Recommendation**:\n- Category: `[category]` - [reason]\n- Skills: [`skill-1`] - [reason]\n**Skills Evaluation**: [\u2705 included / \u274C omitted with reasons]\n**Depends On**: [Task IDs or \"None\"]\n**Acceptance Criteria**: [Verifiable conditions]\n\n### Task 2: [Title]\n[Same structure...]\n\n## Commit Strategy\n[How to commit changes atomically]\n\n## Success Criteria\n[Final verification steps]\n```\n\n#####################################################################\n# #\n# FAILURE TO INCLUDE THESE SECTIONS = PLAN WILL BE REJECTED #\n# BY MOMUS REVIEW. DO NOT SKIP. DO NOT ABBREVIATE. #\n# #\n#####################################################################\n</CRITICAL_REQUIREMENT_DEPENDENCY_PARALLEL_EXECUTION_CATEGORY_SKILLS>\n\n<FINAL_OUTPUT_FOR_CALLER>\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2588 SECTION 4: ACTIONABLE TODO LIST FOR CALLER (MANDATORY) \u2588\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\nYOU MUST END YOUR RESPONSE WITH THIS SECTION.\n\n```markdown\n## TODO List (ADD THESE)\n\n> CALLER: Add these TODOs using TodoWrite/TaskCreate and execute by wave.\n\n### Wave 1 (Start Immediately - No Dependencies)\n\n- [ ] **1. [Task Title]**\n - What: [Clear implementation steps]\n - Depends: None\n - Blocks: [Tasks that depend on this]\n - Category: `category-name`\n - Skills: [`skill-1`, `skill-2`]\n - QA: [How to verify completion - specific command or check]\n\n- [ ] **N. [Task Title]**\n - What: [Steps]\n - Depends: None\n - Blocks: [...]\n - Category: `category-name`\n - Skills: [`skill-1`]\n - QA: [Verification]\n\n### Wave 2 (After Wave 1 Completes)\n\n- [ ] **2. [Task Title]**\n - What: [Steps]\n - Depends: 1\n - Blocks: [4]\n - Category: `category-name`\n - Skills: [`skill-1`]\n - QA: [Verification]\n\n[Continue for all waves...]\n\n## Execution Instructions\n\n1. **Wave 1**: Fire these tasks IN PARALLEL (no dependencies)\n ```\n delegate_task(category=\"...\", load_skills=[...], run_in_background=false, prompt=\"Task 1: ...\")\n delegate_task(category=\"...\", load_skills=[...], run_in_background=false, prompt=\"Task N: ...\")\n ```\n\n2. **Wave 2**: After Wave 1 completes, fire next wave IN PARALLEL\n ```\n delegate_task(category=\"...\", load_skills=[...], run_in_background=false, prompt=\"Task 2: ...\")\n ```\n\n3. Continue until all waves complete\n\n4. Final QA: Verify all tasks pass their QA criteria\n```\n\nWHY THIS FORMAT IS MANDATORY:\n- Caller can directly copy TODO items\n- Wave grouping enables parallel execution\n- Each task has clear delegate_task parameters\n- QA criteria ensure verifiable completion\n</FINAL_OUTPUT_FOR_CALLER>\n\n";
|
|
20
20
|
/**
|
|
21
21
|
* List of agent names that should be treated as plan agents.
|
|
22
22
|
* Case-insensitive matching is used.
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ type OpencodeClient = PluginInput["client"];
|
|
|
11
11
|
export { createCallOmoAgent } from "./call-omo-agent";
|
|
12
12
|
export { createLookAt } from "./look-at";
|
|
13
13
|
export { createDelegateTask } from "./delegate-task";
|
|
14
|
+
export { createTaskCreateTool, createTaskGetTool, createTaskList, createTaskUpdateTool, } from "./task";
|
|
14
15
|
export declare function createBackgroundTools(manager: BackgroundManager, client: OpencodeClient): Record<string, ToolDefinition>;
|
|
15
16
|
export declare const builtinTools: Record<string, ToolDefinition>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createTaskCreateTool } from "./task-create";
|
|
2
|
+
export { createTaskGetTool } from "./task-get";
|
|
3
|
+
export { createTaskList } from "./task-list";
|
|
4
|
+
export { createTaskUpdateTool } from "./task-update";
|
|
5
|
+
export { syncTaskToTodo, syncAllTasksToTodos } from "./todo-sync";
|
|
6
|
+
export type { TaskObject, TaskStatus, TaskCreateInput, TaskListInput, TaskGetInput, TaskUpdateInput, TaskDeleteInput } from "./types";
|
|
7
|
+
export type { TodoInfo } from "./todo-sync";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import { type ToolDefinition } from "@opencode-ai/plugin/tool";
|
|
3
|
+
import type { OhMyOpenCodeConfig } from "../../config/schema";
|
|
4
|
+
export declare function createTaskCreateTool(config: Partial<OhMyOpenCodeConfig>, ctx?: PluginInput): ToolDefinition;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import { type ToolDefinition } from "@opencode-ai/plugin/tool";
|
|
3
|
+
import type { OhMyOpenCodeConfig } from "../../config/schema";
|
|
4
|
+
export declare function createTaskUpdateTool(config: Partial<OhMyOpenCodeConfig>, ctx?: PluginInput): ToolDefinition;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { Task } from "../../features/claude-tasks/types.ts";
|
|
3
|
+
export interface TodoInfo {
|
|
4
|
+
id: string;
|
|
5
|
+
content: string;
|
|
6
|
+
status: "pending" | "in_progress" | "completed" | "cancelled";
|
|
7
|
+
priority?: "low" | "medium" | "high";
|
|
8
|
+
}
|
|
9
|
+
type TodoWriter = (input: {
|
|
10
|
+
sessionID: string;
|
|
11
|
+
todos: TodoInfo[];
|
|
12
|
+
}) => Promise<void>;
|
|
13
|
+
export declare function syncTaskToTodo(task: Task): TodoInfo | null;
|
|
14
|
+
export declare function syncTaskTodoUpdate(ctx: PluginInput | undefined, task: Task, sessionID: string, writer?: TodoWriter): Promise<void>;
|
|
15
|
+
export declare function syncAllTasksToTodos(ctx: PluginInput, tasks: Task[], sessionID?: string): Promise<void>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const TaskStatusSchema: z.ZodEnum<{
|
|
3
|
+
pending: "pending";
|
|
4
|
+
completed: "completed";
|
|
5
|
+
in_progress: "in_progress";
|
|
6
|
+
deleted: "deleted";
|
|
7
|
+
}>;
|
|
8
|
+
export type TaskStatus = z.infer<typeof TaskStatusSchema>;
|
|
9
|
+
export declare const TaskObjectSchema: z.ZodObject<{
|
|
10
|
+
id: z.ZodString;
|
|
11
|
+
subject: z.ZodString;
|
|
12
|
+
description: z.ZodString;
|
|
13
|
+
status: z.ZodEnum<{
|
|
14
|
+
pending: "pending";
|
|
15
|
+
completed: "completed";
|
|
16
|
+
in_progress: "in_progress";
|
|
17
|
+
deleted: "deleted";
|
|
18
|
+
}>;
|
|
19
|
+
activeForm: z.ZodOptional<z.ZodString>;
|
|
20
|
+
blocks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
21
|
+
blockedBy: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
22
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
23
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
+
repoURL: z.ZodOptional<z.ZodString>;
|
|
25
|
+
parentID: z.ZodOptional<z.ZodString>;
|
|
26
|
+
threadID: z.ZodString;
|
|
27
|
+
}, z.core.$strict>;
|
|
28
|
+
export type TaskObject = z.infer<typeof TaskObjectSchema>;
|
|
29
|
+
export declare const TaskSchema: z.ZodObject<{
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
subject: z.ZodString;
|
|
32
|
+
description: z.ZodString;
|
|
33
|
+
status: z.ZodEnum<{
|
|
34
|
+
pending: "pending";
|
|
35
|
+
completed: "completed";
|
|
36
|
+
in_progress: "in_progress";
|
|
37
|
+
deleted: "deleted";
|
|
38
|
+
}>;
|
|
39
|
+
activeForm: z.ZodOptional<z.ZodString>;
|
|
40
|
+
blocks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
41
|
+
blockedBy: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
42
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
43
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
44
|
+
repoURL: z.ZodOptional<z.ZodString>;
|
|
45
|
+
parentID: z.ZodOptional<z.ZodString>;
|
|
46
|
+
threadID: z.ZodString;
|
|
47
|
+
}, z.core.$strict>;
|
|
48
|
+
export type Task = TaskObject;
|
|
49
|
+
export declare const TaskCreateInputSchema: z.ZodObject<{
|
|
50
|
+
subject: z.ZodString;
|
|
51
|
+
description: z.ZodOptional<z.ZodString>;
|
|
52
|
+
activeForm: z.ZodOptional<z.ZodString>;
|
|
53
|
+
blocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
54
|
+
blockedBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
55
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
56
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
57
|
+
repoURL: z.ZodOptional<z.ZodString>;
|
|
58
|
+
parentID: z.ZodOptional<z.ZodString>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
export type TaskCreateInput = z.infer<typeof TaskCreateInputSchema>;
|
|
61
|
+
export declare const TaskListInputSchema: z.ZodObject<{
|
|
62
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
63
|
+
pending: "pending";
|
|
64
|
+
completed: "completed";
|
|
65
|
+
in_progress: "in_progress";
|
|
66
|
+
deleted: "deleted";
|
|
67
|
+
}>>;
|
|
68
|
+
parentID: z.ZodOptional<z.ZodString>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
export type TaskListInput = z.infer<typeof TaskListInputSchema>;
|
|
71
|
+
export declare const TaskGetInputSchema: z.ZodObject<{
|
|
72
|
+
id: z.ZodString;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
export type TaskGetInput = z.infer<typeof TaskGetInputSchema>;
|
|
75
|
+
export declare const TaskUpdateInputSchema: z.ZodObject<{
|
|
76
|
+
id: z.ZodString;
|
|
77
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
78
|
+
description: z.ZodOptional<z.ZodString>;
|
|
79
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
pending: "pending";
|
|
81
|
+
completed: "completed";
|
|
82
|
+
in_progress: "in_progress";
|
|
83
|
+
deleted: "deleted";
|
|
84
|
+
}>>;
|
|
85
|
+
activeForm: z.ZodOptional<z.ZodString>;
|
|
86
|
+
addBlocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
87
|
+
addBlockedBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
88
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
89
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
90
|
+
repoURL: z.ZodOptional<z.ZodString>;
|
|
91
|
+
parentID: z.ZodOptional<z.ZodString>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
export type TaskUpdateInput = z.infer<typeof TaskUpdateInputSchema>;
|
|
94
|
+
export declare const TaskDeleteInputSchema: z.ZodObject<{
|
|
95
|
+
id: z.ZodString;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
export type TaskDeleteInput = z.infer<typeof TaskDeleteInputSchema>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.2",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -70,17 +70,17 @@
|
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@types/js-yaml": "^4.0.9",
|
|
72
72
|
"@types/picomatch": "^3.0.2",
|
|
73
|
-
"bun-types": "
|
|
73
|
+
"bun-types": "1.3.6",
|
|
74
74
|
"typescript": "^5.7.3"
|
|
75
75
|
},
|
|
76
76
|
"optionalDependencies": {
|
|
77
|
-
"oh-my-opencode-darwin-arm64": "3.2.
|
|
78
|
-
"oh-my-opencode-darwin-x64": "3.2.
|
|
79
|
-
"oh-my-opencode-linux-arm64": "3.2.
|
|
80
|
-
"oh-my-opencode-linux-arm64-musl": "3.2.
|
|
81
|
-
"oh-my-opencode-linux-x64": "3.2.
|
|
82
|
-
"oh-my-opencode-linux-x64-musl": "3.2.
|
|
83
|
-
"oh-my-opencode-windows-x64": "3.2.
|
|
77
|
+
"oh-my-opencode-darwin-arm64": "3.2.2",
|
|
78
|
+
"oh-my-opencode-darwin-x64": "3.2.2",
|
|
79
|
+
"oh-my-opencode-linux-arm64": "3.2.2",
|
|
80
|
+
"oh-my-opencode-linux-arm64-musl": "3.2.2",
|
|
81
|
+
"oh-my-opencode-linux-x64": "3.2.2",
|
|
82
|
+
"oh-my-opencode-linux-x64-musl": "3.2.2",
|
|
83
|
+
"oh-my-opencode-windows-x64": "3.2.2"
|
|
84
84
|
},
|
|
85
85
|
"trustedDependencies": [
|
|
86
86
|
"@ast-grep/cli",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
|
-
import type { AgentOverrideConfig } from "../config/schema";
|
|
3
|
-
export declare const SISYPHUS_JUNIOR_DEFAULTS: {
|
|
4
|
-
readonly model: "anthropic/claude-sonnet-4-5";
|
|
5
|
-
readonly temperature: 0.1;
|
|
6
|
-
};
|
|
7
|
-
export declare function createSisyphusJuniorAgentWithOverrides(override: AgentOverrideConfig | undefined, systemDefaultModel?: string): AgentConfig;
|
|
8
|
-
export declare namespace createSisyphusJuniorAgentWithOverrides {
|
|
9
|
-
var mode: "subagent";
|
|
10
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/cli/index.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|