oh-my-opencode 5.0.0-beta.30 → 5.0.0-beta.32
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/cli/index.js +178 -37
- package/dist/cli-node/index.js +178 -37
- package/dist/config/schema/background-task.d.ts +1 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
- package/dist/features/background-agent/constants.d.ts +0 -7
- package/dist/features/background-agent/manager.d.ts +2 -1
- package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +0 -1
- package/dist/features/background-agent/parent-wake-notifier-types.d.ts +1 -1
- package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +1 -1
- package/dist/features/background-agent/parent-wake-session-inspector.d.ts +1 -1
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +8 -0
- package/dist/features/monitor/manager-internals.d.ts +1 -1
- package/dist/features/monitor/output-injector-types.d.ts +1 -1
- package/dist/features/task-toast-manager/manager.d.ts +0 -24
- package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +1 -0
- package/dist/features/team-mode/tools/messaging-runtime.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/message-storage-directory.d.ts +0 -3
- package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage/empty-messages.d.ts +0 -1
- package/dist/hooks/anthropic-context-window-limit-recovery/tool-result-storage.d.ts +11 -0
- package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/stop.d.ts +2 -0
- package/dist/hooks/claude-code-hooks/todo.d.ts +0 -1
- package/dist/hooks/claude-code-hooks/transcript.d.ts +2 -0
- package/dist/hooks/fsync-skip-warning/index.d.ts +4 -0
- package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +1 -0
- package/dist/hooks/hashline-edit-diff-enhancer/pending-captures.d.ts +13 -0
- package/dist/hooks/keyword-detector/hook.d.ts +7 -0
- package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +0 -1
- package/dist/hooks/model-fallback/hook.d.ts +1 -1
- package/dist/index.js +681 -273
- package/dist/oh-my-opencode.schema.json +5 -0
- package/dist/plugin-dispose.d.ts +3 -0
- package/dist/shared/agent-tool-restrictions.d.ts +0 -1
- package/dist/skills/ultimate-browsing/references/insane-search/README.md +9 -2
- package/dist/tools/delegate-task/sync-session-cleanup.d.ts +3 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
- package/dist/tools/delegate-task/types.d.ts +1 -0
- package/dist/tools/session-manager/directory-filter.d.ts +2 -0
- package/dist/tui.js +148 -9
- package/package.json +16 -15
- package/packages/git-bash-mcp/dist/cli.js +1 -0
- package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +47 -19
- package/packages/lsp-core/src/lsp/client-diagnostics-pull-timeout.test.ts +64 -0
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +97 -0
- package/packages/lsp-core/src/lsp/client-wrapper.ts +21 -6
- package/packages/lsp-core/src/lsp/client.ts +6 -3
- package/packages/lsp-core/src/lsp/constants.ts +5 -0
- package/packages/lsp-core/src/lsp/controlled-clock-test-support.ts +61 -0
- package/packages/lsp-core/src/lsp/errors.ts +15 -0
- package/packages/lsp-core/src/lsp/fixtures/workspace-edit-server.mjs +10 -3
- package/packages/lsp-core/src/lsp/manager-lifecycle.test.ts +262 -0
- package/packages/lsp-core/src/lsp/manager.ts +106 -13
- package/packages/lsp-core/src/lsp/timer-provider.ts +13 -0
- package/packages/lsp-core/src/lsp/transport-request-timeout.test.ts +73 -0
- package/packages/lsp-core/src/lsp/transport.ts +7 -2
- package/packages/lsp-core/src/lsp/workspace-document-state.test.ts +84 -1
- package/packages/lsp-core/src/lsp/workspace-document-state.ts +30 -11
- package/packages/lsp-core/src/lsp/workspace-markers.ts +18 -1
- package/packages/lsp-core/src/mcp.ts +3 -0
- package/packages/lsp-core/src/tools/parameters.test.ts +51 -0
- package/packages/lsp-daemon/dist/cli.js +155 -34
- package/packages/lsp-daemon/dist/client.js +155 -34
- package/packages/lsp-daemon/dist/index.js +155 -34
- package/packages/lsp-daemon/dist/proxy.js +3 -0
- package/packages/lsp-tools-mcp/dist/cli.js +155 -34
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +134 -28
- package/packages/lsp-tools-mcp/dist/mcp.js +155 -34
- package/packages/lsp-tools-mcp/dist/tools.js +154 -34
- package/packages/lsp-tools-mcp/package.json +1 -1
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +17 -2
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +17 -2
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +12 -0
- package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable-idle.test.ts +47 -0
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +152 -34
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +5 -4
- package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +489 -4
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -2
- package/packages/omo-codex/plugin/components/ultrawork/scripts/sync-directive.mjs +30 -14
- package/packages/omo-codex/plugin/components/ultrawork/src/directive-content.ts +4 -0
- package/packages/omo-codex/plugin/components/ultrawork/src/directive.ts +5 -2
- package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +14 -8
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +12 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +5 -2
- package/packages/omo-codex/plugin/components/ulw-loop/README.md +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +9 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +14 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +10 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.d.ts +8 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.js +113 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +9 -5
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +856 -347
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +27 -6
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +13 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +14 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +17 -9
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +17 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.d.ts +13 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.js +19 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.js +53 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.d.ts +9 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.js +85 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +41 -102
- package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +185 -14
- package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.js +33 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +18 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +65 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +17 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +7 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +25 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-template.ts +127 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +10 -12
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +34 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +23 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +19 -9
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +18 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-missing-recovery.ts +27 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-aggregate.ts +57 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-artifacts.ts +103 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-fields.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +54 -123
- package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +187 -12
- package/packages/omo-codex/plugin/components/ulw-loop/src/status-next-actions.ts +36 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +95 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +107 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-template.test.ts +92 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-status-next-actions.test.ts +183 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +35 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +7 -3
- package/packages/omo-codex/plugin/components/ulw-loop/test/guided-recovery.test.ts +105 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-aggregate.test.ts +101 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +46 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-senpi-surface.test.ts +131 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +5 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +318 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +74 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +9 -3
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +31 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +9 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +17 -0
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +11 -1
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +13 -0
- package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +5 -2
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +9 -2
- package/dist/features/builtin-skills/index.d.ts +0 -1
- package/dist/features/builtin-skills/skill-file-loader.d.ts +0 -1
- package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +0 -1
- package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +0 -1
- package/dist/features/builtin-skills/skills/debugging.d.ts +0 -1
- package/dist/features/builtin-skills/skills/dev-browser.d.ts +0 -1
- package/dist/features/builtin-skills/skills/frontend.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master-skill-metadata.d.ts +0 -1
- package/dist/features/builtin-skills/skills/git-master.d.ts +0 -1
- package/dist/features/builtin-skills/skills/index.d.ts +0 -1
- package/dist/features/builtin-skills/skills/init-deep.d.ts +0 -1
- package/dist/features/builtin-skills/skills/playwright-cli.d.ts +0 -1
- package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +0 -1
- package/dist/features/builtin-skills/skills/playwright.d.ts +0 -1
- package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +0 -1
- package/dist/features/builtin-skills/skills/review-work.d.ts +0 -1
- package/dist/features/builtin-skills/skills/security-research.d.ts +0 -1
- package/dist/features/builtin-skills/skills/security-review.d.ts +0 -1
- package/dist/features/builtin-skills/skills/team-mode.d.ts +0 -1
- package/dist/features/builtin-skills/skills/visual-qa.d.ts +0 -1
- package/dist/features/builtin-skills/skills.d.ts +0 -1
- package/dist/features/builtin-skills/types.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/command-loader.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/discovery.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/hook-loader.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/index.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/loader.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/mcp-server-loader.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/plugin-path-resolver.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/scope-filter.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/skill-loader.d.ts +0 -1
- package/dist/features/claude-code-plugin-loader/types.d.ts +0 -1
- package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +0 -11
- package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +0 -7
- package/dist/shared/prompt-async-gate/message-inspection-error.d.ts +0 -1
- package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +0 -1
- package/dist/shared/prompt-async-gate/prompt-message-state.d.ts +0 -1
- package/dist/shared/prompt-async-gate/queue.d.ts +0 -1
- package/dist/shared/prompt-async-gate/recent-dispatches.d.ts +0 -1
- package/dist/shared/prompt-async-gate/reservations.d.ts +0 -1
- package/dist/shared/prompt-async-gate/semantic-dedupe.d.ts +0 -1
- package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +0 -1
- package/dist/shared/prompt-async-gate/timing.d.ts +0 -1
- package/dist/shared/prompt-async-gate/types.d.ts +0 -1
- package/dist/tools/call-omo-agent/message-storage-directory.d.ts +0 -1
- package/dist/tools/delegate-task/model-string-parser.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +0 -1
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +0 -483
- package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +0 -490
package/dist/cli-node/index.js
CHANGED
|
@@ -55,7 +55,7 @@ var package_default;
|
|
|
55
55
|
var init_package = __esm(() => {
|
|
56
56
|
package_default = {
|
|
57
57
|
name: "oh-my-opencode",
|
|
58
|
-
version: "5.0.0-beta.
|
|
58
|
+
version: "5.0.0-beta.32",
|
|
59
59
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
60
60
|
main: "./dist/index.js",
|
|
61
61
|
types: "dist/index.d.ts",
|
|
@@ -168,6 +168,7 @@ var init_package = __esm(() => {
|
|
|
168
168
|
"install:codex-dev": "bun run script/build-codex-install.ts && bun run script/install-codex-dev.ts",
|
|
169
169
|
"build:codex-plugin": "npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build",
|
|
170
170
|
"build:senpi-plugin": "bun run build:lsp-daemon && bun run build:ast-grep-mcp && bun run build:senpi-plugin:stage",
|
|
171
|
+
"build:senpi-plugin:native": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-agent-toolkit.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
|
|
171
172
|
"build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-agent-toolkit.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
|
|
172
173
|
"build:materialize-frontend": "node packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs --strict",
|
|
173
174
|
"build:shared-skills-assets": "bun run build:materialize-frontend && rm -rf dist/skills && cp -R packages/shared-skills/skills dist/skills",
|
|
@@ -236,7 +237,7 @@ var init_package = __esm(() => {
|
|
|
236
237
|
zod: "^4.4.3"
|
|
237
238
|
},
|
|
238
239
|
devDependencies: {
|
|
239
|
-
"@code-yeongyu/senpi": "2026.
|
|
240
|
+
"@code-yeongyu/senpi": "2026.9.2",
|
|
240
241
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
241
242
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
242
243
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -277,18 +278,18 @@ var init_package = __esm(() => {
|
|
|
277
278
|
typescript: "^7.0.2"
|
|
278
279
|
},
|
|
279
280
|
optionalDependencies: {
|
|
280
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
281
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
282
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
283
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
284
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
285
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
286
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
287
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
288
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
289
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
290
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
291
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
281
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.32",
|
|
282
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.32",
|
|
283
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.32",
|
|
284
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.32",
|
|
285
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.32",
|
|
286
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.32",
|
|
287
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.32",
|
|
288
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.32",
|
|
289
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.32",
|
|
290
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.32",
|
|
291
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.32",
|
|
292
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.32"
|
|
292
293
|
},
|
|
293
294
|
overrides: {
|
|
294
295
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -306,7 +307,7 @@ var init_package = __esm(() => {
|
|
|
306
307
|
"@code-yeongyu/comment-checker"
|
|
307
308
|
],
|
|
308
309
|
patchedDependencies: {
|
|
309
|
-
"@code-yeongyu/senpi@2026.
|
|
310
|
+
"@code-yeongyu/senpi@2026.9.2": "patches/@code-yeongyu%2Fsenpi@2026.9.2.patch"
|
|
310
311
|
}
|
|
311
312
|
};
|
|
312
313
|
});
|
|
@@ -3098,10 +3099,11 @@ var init_js_yaml = __esm(() => {
|
|
|
3098
3099
|
function parseFrontmatter(content, options = {}) {
|
|
3099
3100
|
if (options.mode === "rule")
|
|
3100
3101
|
return parseRuleFrontmatter(content);
|
|
3102
|
+
const normalized = stripBom(content);
|
|
3101
3103
|
const frontmatterRegex = /^---\r?\n([\s\S]*?)\r?\n?---\r?\n([\s\S]*)$/;
|
|
3102
|
-
const match =
|
|
3104
|
+
const match = normalized.match(frontmatterRegex);
|
|
3103
3105
|
if (!match) {
|
|
3104
|
-
return { data: {}, body:
|
|
3106
|
+
return { data: {}, body: normalized, hadFrontmatter: false, parseError: false };
|
|
3105
3107
|
}
|
|
3106
3108
|
const yamlContent = match[1];
|
|
3107
3109
|
const body = match[2];
|
|
@@ -20230,7 +20232,7 @@ var init_git_master = __esm(() => {
|
|
|
20230
20232
|
});
|
|
20231
20233
|
|
|
20232
20234
|
// packages/omo-config-core/src/schema/memory.ts
|
|
20233
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
20235
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
20234
20236
|
var init_memory = __esm(() => {
|
|
20235
20237
|
init_zod();
|
|
20236
20238
|
OmoMemoryReflectionTriggerSchema = object({
|
|
@@ -20252,6 +20254,10 @@ var init_memory = __esm(() => {
|
|
|
20252
20254
|
OmoMemorySearchSchema = object({
|
|
20253
20255
|
enabled: boolean2().default(true)
|
|
20254
20256
|
}).strict();
|
|
20257
|
+
OmoMemoryRecallSchema = object({
|
|
20258
|
+
enabled: boolean2().default(true),
|
|
20259
|
+
max_items: number2().int().min(1).max(5).default(2)
|
|
20260
|
+
}).strict();
|
|
20255
20261
|
OmoMemoryNudgeSchema = object({
|
|
20256
20262
|
enabled: boolean2().default(true),
|
|
20257
20263
|
every_user_turns: number2().int().min(1).default(10)
|
|
@@ -20298,6 +20304,10 @@ var init_memory = __esm(() => {
|
|
|
20298
20304
|
OmoMemorySearchLayerSchema = object({
|
|
20299
20305
|
enabled: boolean2().optional()
|
|
20300
20306
|
}).strict();
|
|
20307
|
+
OmoMemoryRecallLayerSchema = object({
|
|
20308
|
+
enabled: boolean2().optional(),
|
|
20309
|
+
max_items: number2().int().min(1).max(5).optional()
|
|
20310
|
+
}).strict();
|
|
20301
20311
|
OmoMemoryNudgeLayerSchema = object({
|
|
20302
20312
|
enabled: boolean2().optional(),
|
|
20303
20313
|
every_user_turns: number2().int().min(1).optional()
|
|
@@ -20337,6 +20347,7 @@ var init_memory = __esm(() => {
|
|
|
20337
20347
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
20338
20348
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
20339
20349
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
20350
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
20340
20351
|
compile_warn_tokens: number2().int().positive().optional()
|
|
20341
20352
|
}).strict();
|
|
20342
20353
|
OmoMemorySettingsSchema = object({
|
|
@@ -20366,6 +20377,7 @@ var init_memory = __esm(() => {
|
|
|
20366
20377
|
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
20367
20378
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
20368
20379
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
20380
|
+
recall: OmoMemoryRecallSchema.default({ enabled: true, max_items: 2 }),
|
|
20369
20381
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
20370
20382
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
20371
20383
|
}).strict();
|
|
@@ -20382,6 +20394,7 @@ var init_memory = __esm(() => {
|
|
|
20382
20394
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
20383
20395
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
20384
20396
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
20397
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
20385
20398
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
20386
20399
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
20387
20400
|
}).strict();
|
|
@@ -20415,11 +20428,11 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
|
|
|
20415
20428
|
const record2 = record(string2(), unknown()).parse(input);
|
|
20416
20429
|
return OmoTaskSettingsSchema.parse({
|
|
20417
20430
|
...record2,
|
|
20418
|
-
residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() *
|
|
20431
|
+
residency_max_children: record2["residency_max_children"] ?? Math.min(DEFAULT_RESIDENCY_MAX_CHILDREN, Math.max(8, resolveParallelism() * 2)),
|
|
20419
20432
|
global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
|
|
20420
20433
|
});
|
|
20421
20434
|
}
|
|
20422
|
-
var ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
20435
|
+
var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
20423
20436
|
var init_task = __esm(() => {
|
|
20424
20437
|
init_zod();
|
|
20425
20438
|
ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
|
|
@@ -22551,12 +22564,15 @@ function normalizeInputPath(absolutePath) {
|
|
|
22551
22564
|
function isUnderPath(normalizedPath, normalizedParentPath) {
|
|
22552
22565
|
return normalizedPath === normalizedParentPath || normalizedPath.startsWith(`${normalizedParentPath}/`);
|
|
22553
22566
|
}
|
|
22567
|
+
function isOneDriveSegment(segment) {
|
|
22568
|
+
const lowercaseSegment = segment.toLowerCase();
|
|
22569
|
+
return lowercaseSegment === "onedrive" || lowercaseSegment.startsWith("onedrive - ");
|
|
22570
|
+
}
|
|
22554
22571
|
function classifyPathEnvironment(absolutePath) {
|
|
22555
22572
|
if (absolutePath.length === 0)
|
|
22556
22573
|
return "unknown";
|
|
22557
22574
|
const normalizedPath = normalizeInputPath(absolutePath);
|
|
22558
|
-
|
|
22559
|
-
if (lowercasePath.includes("/onedrive") || lowercasePath.includes("/onedrive/")) {
|
|
22575
|
+
if (normalizedPath.split("/").some(isOneDriveSegment)) {
|
|
22560
22576
|
return "onedrive";
|
|
22561
22577
|
}
|
|
22562
22578
|
if (normalizedPath.includes("/Library/Mobile Documents/")) {
|
|
@@ -23981,7 +23997,6 @@ function extractPromptFailureMessage(error51) {
|
|
|
23981
23997
|
try {
|
|
23982
23998
|
return JSON.stringify(error51);
|
|
23983
23999
|
} catch (stringifyError) {
|
|
23984
|
-
stringifyError instanceof Error;
|
|
23985
24000
|
return "";
|
|
23986
24001
|
}
|
|
23987
24002
|
}
|
|
@@ -24197,6 +24212,33 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
24197
24212
|
{ providers: ["opencode-go"], model: "glm-5.2" }
|
|
24198
24213
|
]
|
|
24199
24214
|
},
|
|
24215
|
+
"omo-senpi-code-reviewer": {
|
|
24216
|
+
fallbackChain: [
|
|
24217
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-terra", variant: "medium" },
|
|
24218
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-terra", variant: "medium" },
|
|
24219
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-6" },
|
|
24220
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24221
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24222
|
+
]
|
|
24223
|
+
},
|
|
24224
|
+
"omo-senpi-qa-executor": {
|
|
24225
|
+
fallbackChain: [
|
|
24226
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-luna", variant: "high" },
|
|
24227
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-luna", variant: "high" },
|
|
24228
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-6" },
|
|
24229
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24230
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24231
|
+
]
|
|
24232
|
+
},
|
|
24233
|
+
"omo-senpi-gate-reviewer": {
|
|
24234
|
+
fallbackChain: [
|
|
24235
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-sol", variant: "low" },
|
|
24236
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "low" },
|
|
24237
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-5", variant: "max" },
|
|
24238
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24239
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24240
|
+
]
|
|
24241
|
+
},
|
|
24200
24242
|
atlas: {
|
|
24201
24243
|
fallbackChain: [
|
|
24202
24244
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
|
|
@@ -24703,7 +24745,7 @@ function normalizeCapabilitiesReasoningEfforts(capabilities) {
|
|
|
24703
24745
|
}
|
|
24704
24746
|
return capabilities.reasoningEfforts.map((value) => value.toLowerCase());
|
|
24705
24747
|
}
|
|
24706
|
-
function resolveField(normalized, familyCaps,
|
|
24748
|
+
function resolveField(normalized, familyCaps, familyKnown, metadataOverride, familyAliases) {
|
|
24707
24749
|
const aliased = familyAliases?.[normalized];
|
|
24708
24750
|
if (aliased && (metadataOverride?.includes(aliased) || familyCaps?.includes(aliased))) {
|
|
24709
24751
|
return { value: aliased, reason: "unsupported-by-model-family" };
|
|
@@ -24738,7 +24780,7 @@ function resolveCompatibleModelSettings(input) {
|
|
|
24738
24780
|
let variant = input.desired.variant;
|
|
24739
24781
|
if (variant !== undefined) {
|
|
24740
24782
|
const normalized = variant.toLowerCase();
|
|
24741
|
-
const resolved = resolveField(normalized, family?.variants,
|
|
24783
|
+
const resolved = resolveField(normalized, family?.variants, familyKnown, metadataVariants);
|
|
24742
24784
|
if (resolved.value !== normalized && resolved.reason) {
|
|
24743
24785
|
changes.push({ field: "variant", from: variant, to: resolved.value, reason: resolved.reason });
|
|
24744
24786
|
}
|
|
@@ -24747,7 +24789,7 @@ function resolveCompatibleModelSettings(input) {
|
|
|
24747
24789
|
let reasoningEffort = input.desired.reasoningEffort;
|
|
24748
24790
|
if (reasoningEffort !== undefined) {
|
|
24749
24791
|
const normalized = reasoningEffort.toLowerCase();
|
|
24750
|
-
const resolved = resolveField(normalized, family?.reasoningEfforts,
|
|
24792
|
+
const resolved = resolveField(normalized, family?.reasoningEfforts, familyKnown, metadataReasoningEfforts, family?.reasoningEffortAliases);
|
|
24751
24793
|
if (resolved.value !== normalized && resolved.reason) {
|
|
24752
24794
|
changes.push({ field: "reasoningEffort", from: reasoningEffort, to: resolved.value, reason: resolved.reason });
|
|
24753
24795
|
}
|
|
@@ -25048,6 +25090,111 @@ var init_supplemental_entries = __esm(() => {
|
|
|
25048
25090
|
input: 272000,
|
|
25049
25091
|
output: 128000
|
|
25050
25092
|
}
|
|
25093
|
+
},
|
|
25094
|
+
"grok-4.5": {
|
|
25095
|
+
id: "grok-4.5",
|
|
25096
|
+
family: "grok",
|
|
25097
|
+
reasoning: false,
|
|
25098
|
+
temperature: true,
|
|
25099
|
+
toolCall: true,
|
|
25100
|
+
modalities: {
|
|
25101
|
+
input: ["text", "image"],
|
|
25102
|
+
output: ["text"]
|
|
25103
|
+
},
|
|
25104
|
+
limit: {
|
|
25105
|
+
context: 500000,
|
|
25106
|
+
output: 32768
|
|
25107
|
+
}
|
|
25108
|
+
},
|
|
25109
|
+
"xai/grok-4.5": {
|
|
25110
|
+
id: "xai/grok-4.5",
|
|
25111
|
+
family: "grok",
|
|
25112
|
+
reasoning: false,
|
|
25113
|
+
temperature: true,
|
|
25114
|
+
toolCall: true,
|
|
25115
|
+
modalities: {
|
|
25116
|
+
input: ["text", "image"],
|
|
25117
|
+
output: ["text"]
|
|
25118
|
+
},
|
|
25119
|
+
limit: {
|
|
25120
|
+
context: 500000,
|
|
25121
|
+
output: 32768
|
|
25122
|
+
}
|
|
25123
|
+
},
|
|
25124
|
+
"x-ai/grok-4.5": {
|
|
25125
|
+
id: "x-ai/grok-4.5",
|
|
25126
|
+
family: "grok",
|
|
25127
|
+
reasoning: false,
|
|
25128
|
+
temperature: true,
|
|
25129
|
+
toolCall: true,
|
|
25130
|
+
modalities: {
|
|
25131
|
+
input: ["text", "image"],
|
|
25132
|
+
output: ["text"]
|
|
25133
|
+
},
|
|
25134
|
+
limit: {
|
|
25135
|
+
context: 500000,
|
|
25136
|
+
output: 32768
|
|
25137
|
+
}
|
|
25138
|
+
},
|
|
25139
|
+
"grok-4.6": {
|
|
25140
|
+
id: "grok-4.6",
|
|
25141
|
+
family: "grok",
|
|
25142
|
+
reasoning: false,
|
|
25143
|
+
temperature: true,
|
|
25144
|
+
toolCall: true,
|
|
25145
|
+
modalities: {
|
|
25146
|
+
input: ["text", "image"],
|
|
25147
|
+
output: ["text"]
|
|
25148
|
+
},
|
|
25149
|
+
limit: {
|
|
25150
|
+
context: 500000,
|
|
25151
|
+
output: 32768
|
|
25152
|
+
}
|
|
25153
|
+
},
|
|
25154
|
+
"xai/grok-4.6": {
|
|
25155
|
+
id: "xai/grok-4.6",
|
|
25156
|
+
family: "grok",
|
|
25157
|
+
reasoning: false,
|
|
25158
|
+
temperature: true,
|
|
25159
|
+
toolCall: true,
|
|
25160
|
+
modalities: {
|
|
25161
|
+
input: ["text", "image"],
|
|
25162
|
+
output: ["text"]
|
|
25163
|
+
},
|
|
25164
|
+
limit: {
|
|
25165
|
+
context: 500000,
|
|
25166
|
+
output: 32768
|
|
25167
|
+
}
|
|
25168
|
+
},
|
|
25169
|
+
"xai/grok-build-0.1": {
|
|
25170
|
+
id: "xai/grok-build-0.1",
|
|
25171
|
+
family: "grok",
|
|
25172
|
+
reasoning: false,
|
|
25173
|
+
temperature: true,
|
|
25174
|
+
toolCall: true,
|
|
25175
|
+
modalities: {
|
|
25176
|
+
input: ["text", "image"],
|
|
25177
|
+
output: ["text"]
|
|
25178
|
+
},
|
|
25179
|
+
limit: {
|
|
25180
|
+
context: 256000,
|
|
25181
|
+
output: 32768
|
|
25182
|
+
}
|
|
25183
|
+
},
|
|
25184
|
+
"x-ai/grok-build-0.1": {
|
|
25185
|
+
id: "x-ai/grok-build-0.1",
|
|
25186
|
+
family: "grok",
|
|
25187
|
+
reasoning: false,
|
|
25188
|
+
temperature: true,
|
|
25189
|
+
toolCall: true,
|
|
25190
|
+
modalities: {
|
|
25191
|
+
input: ["text", "image"],
|
|
25192
|
+
output: ["text"]
|
|
25193
|
+
},
|
|
25194
|
+
limit: {
|
|
25195
|
+
context: 256000,
|
|
25196
|
+
output: 32768
|
|
25197
|
+
}
|
|
25051
25198
|
}
|
|
25052
25199
|
};
|
|
25053
25200
|
});
|
|
@@ -84189,14 +84336,9 @@ var init_claude_code_plugin_loader = __esm(() => {
|
|
|
84189
84336
|
init_hook_loader();
|
|
84190
84337
|
});
|
|
84191
84338
|
|
|
84192
|
-
// packages/omo-opencode/src/features/claude-code-plugin-loader/index.ts
|
|
84193
|
-
var init_claude_code_plugin_loader2 = __esm(() => {
|
|
84194
|
-
init_claude_code_plugin_loader();
|
|
84195
|
-
});
|
|
84196
|
-
|
|
84197
84339
|
// packages/omo-opencode/src/shared/plugin-command-discovery.ts
|
|
84198
84340
|
var init_plugin_command_discovery = __esm(() => {
|
|
84199
|
-
|
|
84341
|
+
init_claude_code_plugin_loader();
|
|
84200
84342
|
});
|
|
84201
84343
|
|
|
84202
84344
|
// packages/omo-opencode/src/shared/session-category-registry.ts
|
|
@@ -94479,7 +94621,7 @@ var package_default2;
|
|
|
94479
94621
|
var init_package2 = __esm(() => {
|
|
94480
94622
|
package_default2 = {
|
|
94481
94623
|
name: "@oh-my-opencode/omo-codex",
|
|
94482
|
-
version: "5.0.0-beta.
|
|
94624
|
+
version: "5.0.0-beta.32",
|
|
94483
94625
|
type: "module",
|
|
94484
94626
|
private: true,
|
|
94485
94627
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -94919,7 +95061,6 @@ function getLocalDevVersion(directory) {
|
|
|
94919
95061
|
const pkg = JSON.parse(content);
|
|
94920
95062
|
return pkg.version ?? null;
|
|
94921
95063
|
} catch (error51) {
|
|
94922
|
-
error51 instanceof Error;
|
|
94923
95064
|
return null;
|
|
94924
95065
|
}
|
|
94925
95066
|
}
|
|
@@ -94951,7 +95092,6 @@ function findPluginEntry(directory) {
|
|
|
94951
95092
|
}
|
|
94952
95093
|
}
|
|
94953
95094
|
} catch (error51) {
|
|
94954
|
-
error51 instanceof Error;
|
|
94955
95095
|
continue;
|
|
94956
95096
|
}
|
|
94957
95097
|
}
|
|
@@ -95056,7 +95196,6 @@ async function getLatestVersion(channel = "latest") {
|
|
|
95056
95196
|
const data = await response.json();
|
|
95057
95197
|
return data[channel] ?? data.latest ?? null;
|
|
95058
95198
|
} catch (error51) {
|
|
95059
|
-
error51 instanceof Error;
|
|
95060
95199
|
return null;
|
|
95061
95200
|
} finally {
|
|
95062
95201
|
clearTimeout(timeoutId);
|
|
@@ -103643,6 +103782,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
103643
103782
|
join62("extensions", "reflection-persona.md"),
|
|
103644
103783
|
join62("extensions", "dream-persona.md"),
|
|
103645
103784
|
join62("extensions", "facts-persona.md"),
|
|
103785
|
+
join62("extensions", "memorian-persona.md"),
|
|
103646
103786
|
join62("skills", "ast-grep", "SKILL.md"),
|
|
103647
103787
|
join62("skills", "coding-agent-sessions", "SKILL.md"),
|
|
103648
103788
|
join62("skills", "debugging", "SKILL.md"),
|
|
@@ -107140,6 +107280,7 @@ var BackgroundTaskConfigSchema = exports_external.object({
|
|
|
107140
107280
|
providerConcurrency: exports_external.record(exports_external.string(), exports_external.number().min(0)).optional(),
|
|
107141
107281
|
modelConcurrency: exports_external.record(exports_external.string(), exports_external.number().min(0)).optional(),
|
|
107142
107282
|
maxDepth: exports_external.number().int().min(1).optional(),
|
|
107283
|
+
maxLiveDescendantsPerRoot: exports_external.number().int().min(0).optional(),
|
|
107143
107284
|
staleTimeoutMs: exports_external.number().min(60000).optional(),
|
|
107144
107285
|
messageStalenessTimeoutMs: exports_external.number().min(60000).optional(),
|
|
107145
107286
|
taskTtlMs: exports_external.number().min(300000).optional(),
|
|
@@ -108885,7 +109026,7 @@ async function getContinuationState(directory, sessionID, client3) {
|
|
|
108885
109026
|
}
|
|
108886
109027
|
async function hasActiveBoulderContinuation(directory, sessionID, client3) {
|
|
108887
109028
|
const boulder = readBoulderState(directory);
|
|
108888
|
-
if (!boulder)
|
|
109029
|
+
if (!boulder || !boulder.active_plan)
|
|
108889
109030
|
return false;
|
|
108890
109031
|
const progress = getPlanProgress(resolveBoulderPlanPath(directory, boulder));
|
|
108891
109032
|
if (progress.isComplete)
|
|
@@ -4,6 +4,7 @@ export declare const BackgroundTaskConfigSchema: z.ZodObject<{
|
|
|
4
4
|
providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
5
5
|
modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
6
6
|
maxDepth: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
maxLiveDescendantsPerRoot: z.ZodOptional<z.ZodNumber>;
|
|
7
8
|
staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
8
9
|
messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
9
10
|
taskTtlMs: z.ZodOptional<z.ZodNumber>;
|
|
@@ -3557,6 +3557,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
3557
3557
|
providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
3558
3558
|
modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
3559
3559
|
maxDepth: z.ZodOptional<z.ZodNumber>;
|
|
3560
|
+
maxLiveDescendantsPerRoot: z.ZodOptional<z.ZodNumber>;
|
|
3560
3561
|
staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
3561
3562
|
messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
3562
3563
|
taskTtlMs: z.ZodOptional<z.ZodNumber>;
|
|
@@ -14,7 +14,6 @@ export declare const MIN_IDLE_TIME_MS = 5000;
|
|
|
14
14
|
export declare const POLLING_INTERVAL_MS = 3000;
|
|
15
15
|
export declare const TASK_CLEANUP_DELAY_MS: number;
|
|
16
16
|
export declare const TMUX_CALLBACK_DELAY_MS = 200;
|
|
17
|
-
export type ProcessCleanupEvent = NodeJS.Signals | "beforeExit" | "exit";
|
|
18
17
|
export type OpencodeClient = PluginInput["client"];
|
|
19
18
|
export interface MessagePartInfo {
|
|
20
19
|
sessionID?: string;
|
|
@@ -32,12 +31,6 @@ export interface BackgroundEvent {
|
|
|
32
31
|
type: string;
|
|
33
32
|
properties?: EventProperties;
|
|
34
33
|
}
|
|
35
|
-
export interface Todo {
|
|
36
|
-
content: string;
|
|
37
|
-
status: string;
|
|
38
|
-
priority: string;
|
|
39
|
-
id?: string;
|
|
40
|
-
}
|
|
41
34
|
export interface QueueItem {
|
|
42
35
|
attemptID: string;
|
|
43
36
|
rawConcurrencyKey?: string;
|
|
@@ -88,6 +88,8 @@ export declare class BackgroundManager {
|
|
|
88
88
|
commit: () => number;
|
|
89
89
|
rollback: () => void;
|
|
90
90
|
}>;
|
|
91
|
+
acquireSyncSubagentConcurrency(model: string, taskId?: string): Promise<void>;
|
|
92
|
+
releaseSyncSubagentConcurrency(model: string): void;
|
|
91
93
|
private registerRootDescendant;
|
|
92
94
|
private unregisterRootDescendant;
|
|
93
95
|
private markPreStartDescendantReservation;
|
|
@@ -162,7 +164,6 @@ export declare class BackgroundManager {
|
|
|
162
164
|
private requeueDispatchedParentWake;
|
|
163
165
|
private clearSessionOutputObserved;
|
|
164
166
|
private clearSessionTodoObservation;
|
|
165
|
-
private messageUpdatedInfoHasParentWakeOutput;
|
|
166
167
|
private shouldHoldDispatchedParentWakeForTextDelta;
|
|
167
168
|
private parentWakeTextDeltaBufferKey;
|
|
168
169
|
private clearParentWakeTextDeltaBuffers;
|
|
@@ -19,7 +19,6 @@ export declare class ParentWakeDispatchedTracker {
|
|
|
19
19
|
releaseNotificationPreparation(sessionID: string): void;
|
|
20
20
|
hasNotificationPreparation(sessionID: string): boolean;
|
|
21
21
|
getWake(sessionID: string): PendingParentWake | undefined;
|
|
22
|
-
hasWake(sessionID: string): boolean;
|
|
23
22
|
clearWake(sessionID: string): void;
|
|
24
23
|
trackWake(sessionID: string, wake: PendingParentWake, dispatchedAt: number): void;
|
|
25
24
|
refreshWakeTimer(sessionID: string): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PromptDispatchClient, PromptMessagesQuery } from "
|
|
1
|
+
import type { PromptDispatchClient, PromptMessagesQuery } from "@oh-my-opencode/utils/prompt-async-gate/types";
|
|
2
2
|
import type { ParentWakePromptContext } from "./parent-wake-dedupe";
|
|
3
3
|
type ParentWakePromptBody = ParentWakePromptContext & {
|
|
4
4
|
readonly noReply?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PromptDispatchClient } from "
|
|
1
|
+
import type { PromptDispatchClient } from "@oh-my-opencode/utils/prompt-async-gate/types";
|
|
2
2
|
import { type PendingParentWake } from "./parent-wake-dedupe";
|
|
3
3
|
import type { ToolWaitDeferralDecision } from "./parent-wake-session-history";
|
|
4
4
|
type ParentWakePromptDispatchInput = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PromptMessagesQuery } from "
|
|
1
|
+
import type { PromptMessagesQuery } from "@oh-my-opencode/utils/prompt-async-gate/types";
|
|
2
2
|
import type { PendingParentWake } from "./parent-wake-dedupe";
|
|
3
3
|
import { type ToolWaitDeferralDecision } from "./parent-wake-session-history";
|
|
4
4
|
type ParentWakeSessionInspectorClient = {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { BackgroundTaskConfig } from "../../config/schema";
|
|
2
2
|
import type { OpencodeClient } from "./constants";
|
|
3
3
|
export declare const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
4
|
+
export declare const DEFAULT_MAX_LIVE_DESCENDANTS_PER_ROOT = 24;
|
|
4
5
|
export interface SubagentSpawnContext {
|
|
5
6
|
rootSessionID: string;
|
|
6
7
|
parentDepth: number;
|
|
7
8
|
childDepth: number;
|
|
8
9
|
}
|
|
9
10
|
export declare function getMaxSubagentDepth(config?: BackgroundTaskConfig): number;
|
|
11
|
+
export declare function getMaxLiveDescendantsPerRoot(config?: BackgroundTaskConfig): number;
|
|
10
12
|
export declare function resolveSubagentSpawnContext(client: OpencodeClient, parentSessionID: string, directory?: string): Promise<SubagentSpawnContext>;
|
|
11
13
|
export declare function createSubagentDepthLimitError(input: {
|
|
12
14
|
childDepth: number;
|
|
@@ -14,3 +16,9 @@ export declare function createSubagentDepthLimitError(input: {
|
|
|
14
16
|
parentSessionID: string;
|
|
15
17
|
rootSessionID: string;
|
|
16
18
|
}): Error;
|
|
19
|
+
export declare function createSubagentDescendantLimitError(input: {
|
|
20
|
+
descendantCount: number;
|
|
21
|
+
maxDescendants: number;
|
|
22
|
+
parentSessionID: string;
|
|
23
|
+
rootSessionID: string;
|
|
24
|
+
}): Error;
|
|
@@ -2,7 +2,7 @@ import type { PluginInput } from "@opencode-ai/plugin";
|
|
|
2
2
|
import type { MonitorConfig } from "../../config/schema/monitor";
|
|
3
3
|
import { registerManagerForCleanup, unregisterManagerForCleanup } from "../background-agent/process-cleanup";
|
|
4
4
|
import { log } from "../../shared";
|
|
5
|
-
import type { InternalPromptDispatchArgs, PromptAsyncInput, PromptDispatchClient } from "
|
|
5
|
+
import type { InternalPromptDispatchArgs, PromptAsyncInput, PromptDispatchClient } from "@oh-my-opencode/utils/prompt-async-gate/types";
|
|
6
6
|
import { MonitorBatcher, type SchedulerDeps } from "./batcher";
|
|
7
7
|
import { createMonitorPipeline } from "./pipeline";
|
|
8
8
|
import { spawnMonitoredProcess, type MonitoredProcess } from "./process";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InternalPromptDispatchArgs, InternalPromptDispatchResult, PromptAsyncInput, PromptDispatchClient } from "
|
|
1
|
+
import type { InternalPromptDispatchArgs, InternalPromptDispatchResult, PromptAsyncInput, PromptDispatchClient } from "@oh-my-opencode/utils/prompt-async-gate/types";
|
|
2
2
|
import type { MonitorRecord, OutputBatch } from "./types";
|
|
3
3
|
export type MonitorPromptClient = PromptDispatchClient & InternalPromptDispatchArgs<PromptAsyncInput>["client"];
|
|
4
4
|
export type MonitorOutputInjectorDeps = {
|
|
@@ -19,39 +19,15 @@ export declare class TaskToastManager {
|
|
|
19
19
|
skills?: string[];
|
|
20
20
|
modelInfo?: ModelFallbackInfo;
|
|
21
21
|
}): void;
|
|
22
|
-
/**
|
|
23
|
-
* Update task status
|
|
24
|
-
*/
|
|
25
22
|
updateTask(id: string, status: TaskStatus): void;
|
|
26
|
-
/**
|
|
27
|
-
* Update model info for a task by session ID
|
|
28
|
-
*/
|
|
29
23
|
updateTaskModelBySession(sessionID: string, modelInfo: ModelFallbackInfo): void;
|
|
30
|
-
/**
|
|
31
|
-
* Remove completed/error task
|
|
32
|
-
*/
|
|
33
24
|
removeTask(id: string): void;
|
|
34
|
-
/**
|
|
35
|
-
* Get all running tasks (newest first)
|
|
36
|
-
*/
|
|
37
25
|
getRunningTasks(): TrackedTask[];
|
|
38
|
-
/**
|
|
39
|
-
* Get all queued tasks
|
|
40
|
-
*/
|
|
41
26
|
getQueuedTasks(): TrackedTask[];
|
|
42
|
-
/**
|
|
43
|
-
* Format duration since task started
|
|
44
|
-
*/
|
|
45
27
|
private formatDuration;
|
|
46
28
|
private getConcurrencyInfo;
|
|
47
29
|
private buildTaskListMessage;
|
|
48
|
-
/**
|
|
49
|
-
* Show consolidated toast with all running/queued tasks
|
|
50
|
-
*/
|
|
51
30
|
private showTaskListToast;
|
|
52
|
-
/**
|
|
53
|
-
* Show task completion toast
|
|
54
|
-
*/
|
|
55
31
|
showCompletionToast(task: {
|
|
56
32
|
id: string;
|
|
57
33
|
description: string;
|
|
@@ -9,6 +9,7 @@ export type TeamRuntimeDetails = {
|
|
|
9
9
|
};
|
|
10
10
|
export type TeamSendMessageToolDeps = {
|
|
11
11
|
loadRuntimeState: typeof loadRuntimeState;
|
|
12
|
+
liveDeliverySettleMs?: number;
|
|
12
13
|
};
|
|
13
14
|
export declare const defaultTeamSendMessageToolDeps: TeamSendMessageToolDeps;
|
|
14
15
|
type RuntimeMember = RuntimeState["members"][number];
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
1
|
import { getMessageDir } from "../../shared/opencode-message-dir";
|
|
3
2
|
export { getMessageDir };
|
|
4
|
-
type OpencodeClient = PluginInput["client"];
|
|
5
|
-
export declare function getMessageIdsFromSDK(client: OpencodeClient, sessionID: string): Promise<string[]>;
|
|
6
3
|
export declare function getMessageIds(sessionID: string): string[];
|
|
@@ -2,6 +2,7 @@ import type { AutoCompactState, RetryState, TruncateState } from "./types";
|
|
|
2
2
|
export declare function getOrCreateRetryState(autoCompactState: AutoCompactState, sessionID: string): RetryState;
|
|
3
3
|
export declare function getOrCreateTruncateState(autoCompactState: AutoCompactState, sessionID: string): TruncateState;
|
|
4
4
|
export declare function clearSessionState(autoCompactState: AutoCompactState, sessionID: string): void;
|
|
5
|
+
export declare function clearAllSessionState(autoCompactState: AutoCompactState): void;
|
|
5
6
|
export declare function setRetryTimer(autoCompactState: AutoCompactState, sessionID: string, timeout: ReturnType<typeof setTimeout>): void;
|
|
6
7
|
export declare function clearRetryTimer(autoCompactState: AutoCompactState, sessionID: string): void;
|
|
7
8
|
export declare function getEmptyContentAttempt(autoCompactState: AutoCompactState, sessionID: string): number;
|
|
@@ -6,5 +6,16 @@ export declare function truncateToolResult(partPath: string): {
|
|
|
6
6
|
toolName?: string;
|
|
7
7
|
originalSize?: number;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Infrastructure for the future distillation feature (issue #1734).
|
|
11
|
+
*
|
|
12
|
+
* The non-destructive truncation in `truncateToolResult()` writes the original
|
|
13
|
+
* tool output to `{partPath}.original`. This function reads that backup so the
|
|
14
|
+
* distiller can access the full output even after the live part file has been
|
|
15
|
+
* truncated. It is not called anywhere today because the distillation consumer
|
|
16
|
+
* has not been implemented yet.
|
|
17
|
+
*/
|
|
18
|
+
export declare function recoverTruncatedOutput(partPath: string): string | null;
|
|
19
|
+
export declare function cleanupTruncationBackups(sessionID: string): number;
|
|
9
20
|
export declare function getTotalToolOutputSize(sessionID: string): number;
|
|
10
21
|
export declare function countTruncatedResults(sessionID: string): number;
|
|
@@ -7,4 +7,5 @@ export declare const sessionInterruptState: Map<string, {
|
|
|
7
7
|
interrupted: boolean;
|
|
8
8
|
}>;
|
|
9
9
|
export declare function clearSessionHookState(sessionID: string): void;
|
|
10
|
+
export declare function clearSessionEndHookState(sessionID: string): void;
|
|
10
11
|
export declare function clearAllSessionHookState(): void;
|