oh-my-opencode 4.7.5 → 4.8.1
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/.agents/command/get-unpublished-changes.md +35 -6
- package/.agents/command/omomomo.md +1 -1
- package/.agents/command/publish.md +13 -0
- package/.agents/command/security-research.md +0 -1
- package/.agents/skills/get-unpublished-changes/SKILL.md +21 -5
- package/.agents/skills/omomomo/SKILL.md +1 -2
- package/.agents/skills/opencode-qa/scripts/export-roundtrip.sh +57 -19
- package/.agents/skills/opencode-qa/scripts/lib/common.sh +19 -7
- package/.agents/skills/opencode-qa/scripts/sse-hook-probe.sh +3 -0
- package/.agents/skills/opencode-qa/scripts/tui-smoke.sh +1 -1
- package/.agents/skills/pre-publish-review/SKILL.md +24 -4
- package/.agents/skills/publish/SKILL.md +13 -0
- package/.agents/skills/remove-deadcode/SKILL.md +0 -1
- package/.agents/skills/security-research/SKILL.md +0 -1
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +1 -1
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +2 -2
- package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +1 -1
- package/.opencode/command/get-unpublished-changes.md +35 -6
- package/.opencode/command/omomomo.md +1 -1
- package/.opencode/command/publish.md +13 -0
- package/.opencode/command/security-research.md +0 -1
- package/.opencode/skills/pre-publish-review/SKILL.md +24 -4
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +1 -1
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +2 -2
- package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +1 -1
- package/README.ja.md +7 -7
- package/README.ko.md +9 -7
- package/README.md +14 -8
- package/README.ru.md +5 -5
- package/README.zh-cn.md +7 -7
- package/bin/oh-my-opencode.js +24 -1
- package/bin/oh-my-opencode.test.ts +79 -20
- package/dist/agents/hephaestus/agent.d.ts +1 -1
- package/dist/agents/kimi-tool-loop-guard.d.ts +1 -0
- package/dist/agents/momus.d.ts +1 -1
- package/dist/agents/sisyphus-agent-config.d.ts +4 -0
- package/dist/agents/sisyphus-agent-factory.d.ts +6 -0
- package/dist/agents/sisyphus-dynamic-prompt-builder.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-execution.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-exploration.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-role.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-sections.d.ts +18 -0
- package/dist/agents/sisyphus-dynamic-prompt-style.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt.d.ts +3 -0
- package/dist/agents/sisyphus-gemini-fallback-overrides.d.ts +1 -0
- package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
- package/dist/agents/sisyphus-junior/index.d.ts +0 -1
- package/dist/agents/sisyphus.d.ts +1 -6
- package/dist/agents/types.d.ts +14 -3
- package/dist/cli/cli-program.d.ts +3 -0
- package/dist/cli/doctor/checks/codex.d.ts +11 -0
- package/dist/cli/doctor/checks/dependencies.d.ts +1 -0
- package/dist/cli/doctor/checks/index.d.ts +3 -0
- package/dist/cli/doctor/checks/system.d.ts +4 -0
- package/dist/cli/doctor/constants.d.ts +1 -0
- package/dist/cli/doctor/doctor-target.d.ts +2 -0
- package/dist/cli/doctor/index.d.ts +1 -0
- package/dist/cli/doctor/types.d.ts +26 -0
- package/dist/cli/index.js +4466 -2212
- package/dist/cli/install-codex/codex-cache-bins.d.ts +21 -0
- package/dist/cli/install-codex/codex-cache-fs.d.ts +3 -0
- package/dist/cli/install-codex/codex-cache-install.d.ts +13 -0
- package/dist/cli/install-codex/codex-cache-mcp-manifest.d.ts +2 -0
- package/dist/cli/install-codex/codex-cache-prune.d.ts +10 -0
- package/dist/cli/install-codex/codex-cache.d.ts +4 -32
- package/dist/cli/install-codex/codex-cached-marketplace-manifest.d.ts +6 -0
- package/dist/cli/install-codex/codex-config-agents.d.ts +3 -0
- package/dist/cli/install-codex/codex-config-features.d.ts +1 -0
- package/dist/cli/install-codex/codex-config-marketplaces.d.ts +6 -0
- package/dist/cli/install-codex/codex-config-plugins.d.ts +8 -0
- package/dist/cli/install-codex/codex-config-toml-sections.d.ts +9 -0
- package/dist/cli/install-codex/codex-multi-agent-v2-config.d.ts +11 -0
- package/dist/cli/install-codex/codex-process.d.ts +5 -0
- package/dist/cli/install-codex/index.d.ts +1 -1
- package/dist/cli/install-codex/lazycodex-version-stamp.d.ts +19 -0
- package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +4 -0
- package/dist/cli/install-validators.d.ts +3 -0
- package/dist/cli/model-fallback-types.d.ts +3 -0
- package/dist/cli/run/event-handlers.d.ts +4 -11
- package/dist/cli/run/event-message-handlers.d.ts +5 -0
- package/dist/cli/run/event-session-handlers.d.ts +5 -0
- package/dist/cli/run/event-session-ids.d.ts +24 -0
- package/dist/cli/run/event-think-block.d.ts +3 -0
- package/dist/cli/run/event-toast-handlers.d.ts +3 -0
- package/dist/cli/run/event-tool-handlers.d.ts +4 -0
- package/dist/cli/run/event-tool-output.d.ts +2 -0
- package/dist/cli/run/on-complete-hook.d.ts +8 -1
- package/dist/cli/run/opencode-binary-resolver.d.ts +2 -1
- package/dist/cli/run/runnable-agent-resolver.d.ts +11 -0
- package/dist/cli/runtime-commands.d.ts +2 -0
- package/dist/cli/sparkshell-appserver-websocket.d.ts +4 -0
- package/dist/cli/sparkshell-appserver.d.ts +16 -0
- package/dist/cli/sparkshell-parse.d.ts +21 -0
- package/dist/cli/sparkshell.d.ts +26 -0
- package/dist/cli/types.d.ts +9 -0
- package/dist/config/schema/claude-code.d.ts +1 -0
- package/dist/config/schema/hooks.d.ts +1 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
- package/dist/create-hooks.d.ts +1 -0
- package/dist/features/background-agent/concurrency.d.ts +6 -1
- package/dist/features/background-agent/constants.d.ts +1 -0
- package/dist/features/background-agent/empty-assistant-turn.d.ts +7 -0
- package/dist/features/background-agent/manager.d.ts +12 -0
- package/dist/features/background-agent/message-updated-parent-wake-output.d.ts +1 -0
- package/dist/features/background-agent/parent-wake-dedupe.d.ts +2 -0
- package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +21 -0
- package/dist/features/background-agent/parent-wake-flush-runner.d.ts +24 -0
- package/dist/features/background-agent/parent-wake-history-state.d.ts +5 -0
- package/dist/features/background-agent/parent-wake-notifier-types.d.ts +50 -0
- package/dist/features/background-agent/parent-wake-notifier.d.ts +8 -50
- package/dist/features/background-agent/parent-wake-pending-queue.d.ts +22 -0
- package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +19 -0
- package/dist/features/background-agent/parent-wake-session-history.d.ts +73 -0
- package/dist/features/background-agent/parent-wake-session-inspector.d.ts +35 -0
- package/dist/features/background-agent/parent-wake-timer-handle.d.ts +5 -0
- package/dist/features/background-agent/parent-wake-window-recovery.d.ts +13 -0
- package/dist/features/background-agent/process-cleanup.d.ts +2 -0
- package/dist/features/background-agent/process-cleanup.test-helpers.d.ts +3 -0
- package/dist/features/background-agent/session-stream-activity.d.ts +6 -0
- package/dist/features/background-agent/spawner/fallback-agent.d.ts +5 -0
- package/dist/features/background-agent/spawner/task-prompt-body.d.ts +34 -0
- package/dist/features/background-agent/spawner/task-record.d.ts +2 -0
- package/dist/features/background-agent/spawner.d.ts +2 -5
- package/dist/features/builtin-commands/templates/refactor-sections/codemap-and-tests.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/intro-and-analysis.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/plan-and-execution.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/verification-and-tooling.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor.d.ts +2 -2
- package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +2 -0
- package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +2 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
- package/dist/features/builtin-skills/skills/index.d.ts +1 -0
- package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +2 -0
- package/dist/features/builtin-skills/skills/playwright.d.ts +2 -3
- package/dist/features/builtin-skills/skills/visual-qa.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/agent-definitions-loader.d.ts +2 -2
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +1 -1
- package/dist/features/claude-code-agent-loader/loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +1 -1
- package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/discovery.d.ts +3 -4
- package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +1 -0
- package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +1 -0
- package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +4 -0
- package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +1 -0
- package/dist/features/hook-message-injector/context-resolver.d.ts +6 -0
- package/dist/features/hook-message-injector/id-generation.d.ts +2 -0
- package/dist/features/hook-message-injector/index.d.ts +1 -1
- package/dist/features/hook-message-injector/injector.d.ts +7 -69
- package/dist/features/hook-message-injector/json-message-lookup.d.ts +3 -0
- package/dist/features/hook-message-injector/message-directory.d.ts +1 -0
- package/dist/features/hook-message-injector/message-injection.d.ts +2 -0
- package/dist/features/hook-message-injector/sdk-message-context.d.ts +6 -0
- package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +28 -0
- package/dist/features/hook-message-injector/types.d.ts +9 -0
- package/dist/features/mcp-oauth/callback-server.d.ts +10 -2
- package/dist/features/opencode-runtime-skills/source-server.d.ts +1 -0
- package/dist/features/skill-mcp-manager/http-client.d.ts +2 -0
- package/dist/features/team-mode/deps.d.ts +8 -1
- package/dist/features/team-mode/team-layout-tmux/layout.d.ts +2 -0
- package/dist/features/team-mode/team-mailbox/send.d.ts +3 -0
- package/dist/features/team-mode/team-registry/paths.d.ts +17 -2
- package/dist/features/team-mode/team-runtime/shutdown.d.ts +1 -1
- package/dist/features/team-mode/team-runtime/unresolved-team-members.d.ts +3 -0
- package/dist/features/team-mode/team-state-store/active-resume.d.ts +5 -0
- package/dist/features/team-mode/team-state-store/creating-resume.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/deleting-resume.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/error-normalization.d.ts +2 -0
- package/dist/features/team-mode/team-state-store/reservation-reconciliation.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/resume-report.d.ts +7 -0
- package/dist/features/team-mode/team-state-store/resume.d.ts +2 -7
- package/dist/features/team-mode/team-state-store/runtime-cleanup.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/session-liveness.d.ts +9 -0
- package/dist/features/team-mode/team-state-store/worker-resume-status.d.ts +9 -0
- package/dist/features/team-mode/tools/lifecycle-create-tool.d.ts +17 -0
- package/dist/features/team-mode/tools/lifecycle-inline-spec.d.ts +19 -0
- package/dist/features/team-mode/tools/lifecycle-participant.d.ts +25 -0
- package/dist/features/team-mode/tools/lifecycle-shutdown-tools.d.ts +18 -0
- package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +3 -3
- package/dist/features/team-mode/tools/lifecycle.d.ts +3 -37
- package/dist/features/team-mode/tools/messaging-live-delivery-client.d.ts +25 -0
- package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +19 -0
- package/dist/features/team-mode/tools/messaging-live-delivery-reservation.d.ts +10 -0
- package/dist/features/team-mode/tools/messaging-live-delivery-state.d.ts +5 -0
- package/dist/features/team-mode/tools/messaging-live-delivery.d.ts +6 -0
- package/dist/features/team-mode/tools/messaging-runtime.d.ts +17 -0
- package/dist/features/team-mode/tools/messaging.d.ts +4 -29
- package/dist/features/tmux-subagent/manager.d.ts +20 -1
- package/dist/features/tmux-subagent/session-created-handler.d.ts +4 -0
- package/dist/features/tmux-subagent/types.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +1 -1
- package/dist/hooks/atlas/idle-completion-nudge.d.ts +10 -0
- package/dist/hooks/atlas/idle-constants.d.ts +4 -0
- package/dist/hooks/atlas/idle-continuation.d.ts +23 -0
- package/dist/hooks/atlas/idle-session-eligibility.d.ts +8 -0
- package/dist/hooks/atlas/tool-execute-after-direct-work.d.ts +9 -0
- package/dist/hooks/atlas/tool-execute-after-plan-tasks.d.ts +3 -0
- package/dist/hooks/atlas/tool-execute-after-subagent-completion.d.ts +14 -0
- package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +6 -0
- package/dist/hooks/auto-update-checker/hook/ignore-toast-error.d.ts +1 -0
- package/dist/hooks/hephaestus-agents-md-injector/hook.d.ts +37 -0
- package/dist/hooks/hephaestus-agents-md-injector/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/json-error-recovery/hook.d.ts +1 -1
- package/dist/hooks/ralph-loop/command-arguments.d.ts +1 -0
- package/dist/hooks/ralph-loop/event-handler-activity.d.ts +10 -0
- package/dist/hooks/ralph-loop/event-handler-completion.d.ts +9 -0
- package/dist/hooks/ralph-loop/event-handler-continuation.d.ts +16 -0
- package/dist/hooks/ralph-loop/event-handler-feedback.d.ts +16 -0
- package/dist/hooks/ralph-loop/event-handler-idle.d.ts +15 -0
- package/dist/hooks/ralph-loop/event-handler-impl.d.ts +10 -0
- package/dist/hooks/ralph-loop/event-handler-runtime-error.d.ts +4 -0
- package/dist/hooks/ralph-loop/event-handler-types.d.ts +20 -0
- package/dist/hooks/ralph-loop/loop-state-controller.d.ts +1 -0
- package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +4 -24
- package/dist/hooks/ralph-loop/ralph-loop-hook.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-chunks.d.ts +6 -0
- package/dist/hooks/read-image-resizer/png-constants.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-crc.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-decoder.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-encoder.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-filters.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-ihdr.d.ts +11 -0
- package/dist/hooks/read-image-resizer/png-nearest-neighbor.d.ts +1 -0
- package/dist/hooks/rules-injector/injection-output.d.ts +2 -0
- package/dist/hooks/rules-injector/injection-processor.d.ts +22 -0
- package/dist/hooks/rules-injector/injection-types.d.ts +43 -0
- package/dist/hooks/rules-injector/injector.d.ts +3 -47
- package/dist/hooks/rules-injector/match-decision-cache.d.ts +4 -0
- package/dist/hooks/rules-injector/parsed-rule-cache.d.ts +11 -0
- package/dist/hooks/rules-injector/path-resolution.d.ts +1 -0
- package/dist/hooks/rules-injector/rule-match-reason.d.ts +12 -0
- package/dist/hooks/rules-injector/transcript-hydration.d.ts +13 -2
- package/dist/hooks/runtime-fallback/auto-retry-abort.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-agent-context.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-cleanup.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-dispatch.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-metadata.d.ts +9 -0
- package/dist/hooks/runtime-fallback/auto-retry-timeout.d.ts +5 -0
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +1 -1
- package/dist/hooks/runtime-fallback/fallback-state.d.ts +4 -1
- package/dist/hooks/runtime-fallback/normalize-model.d.ts +12 -0
- package/dist/hooks/session-notification-linux.d.ts +3 -0
- package/dist/hooks/session-notification-log.d.ts +2 -0
- package/dist/hooks/session-notification-macos.d.ts +3 -0
- package/dist/hooks/session-notification-platform.d.ts +3 -0
- package/dist/hooks/session-notification-runner.d.ts +9 -0
- package/dist/hooks/session-notification-send.d.ts +3 -0
- package/dist/hooks/session-notification-sender.d.ts +5 -6
- package/dist/hooks/session-notification-sound.d.ts +3 -0
- package/dist/hooks/session-notification-windows.d.ts +3 -0
- package/dist/hooks/session-recovery/error-recovery.d.ts +4 -0
- package/dist/hooks/session-recovery/hook-types.d.ts +22 -0
- package/dist/hooks/session-recovery/hook.d.ts +2 -19
- package/dist/hooks/session-recovery/interrupted-tool-results.d.ts +3 -0
- package/dist/hooks/session-recovery/message-state.d.ts +4 -0
- package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +7 -1
- package/dist/hooks/start-work/context-info-builder.d.ts +9 -9
- package/dist/hooks/start-work/context-info-formatters.d.ts +21 -0
- package/dist/hooks/start-work/explicit-plan-context.d.ts +9 -0
- package/dist/hooks/start-work/plan-discovery-context.d.ts +25 -0
- package/dist/hooks/start-work/plan-selection.d.ts +4 -0
- package/dist/hooks/start-work/work-initializer.d.ts +17 -0
- package/dist/hooks/tool-pair-validator/hook.d.ts +1 -37
- package/dist/hooks/tool-pair-validator/message-transform.d.ts +2 -0
- package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +6 -0
- package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -0
- package/dist/hooks/tool-pair-validator/types.d.ts +36 -0
- package/dist/index.js +12708 -9988
- package/dist/oh-my-opencode.schema.json +4 -0
- package/dist/openclaw/reply-listener-poll-loop.d.ts +3 -0
- package/dist/openclaw/reply-listener-signature.d.ts +2 -0
- package/dist/openclaw/reply-listener-sleep.d.ts +1 -0
- package/dist/openclaw/reply-listener-start.d.ts +9 -0
- package/dist/openclaw/reply-listener-status.d.ts +4 -0
- package/dist/openclaw/reply-listener-stop.d.ts +7 -0
- package/dist/openclaw/reply-listener.d.ts +5 -18
- package/dist/openclaw/session-registry-lock.d.ts +2 -0
- package/dist/openclaw/session-registry-paths.d.ts +9 -0
- package/dist/openclaw/session-registry-storage.d.ts +4 -0
- package/dist/openclaw/session-registry-types.d.ts +11 -0
- package/dist/openclaw/session-registry.d.ts +2 -11
- package/dist/plugin/chat-message/loop-commands.d.ts +9 -0
- package/dist/plugin/chat-message/model-cache-warning.d.ts +12 -0
- package/dist/plugin/chat-message/prompt-text.d.ts +2 -0
- package/dist/plugin/chat-message/session-model.d.ts +4 -0
- package/dist/plugin/chat-message/start-work-message.d.ts +5 -0
- package/dist/plugin/chat-message/types.d.ts +67 -0
- package/dist/plugin/chat-message.d.ts +3 -24
- package/dist/plugin/event-error-utils.d.ts +14 -0
- package/dist/plugin/event-hook-dispatcher.d.ts +5 -0
- package/dist/plugin/event-model-fallback-state.d.ts +30 -0
- package/dist/plugin/event-model-fallback.d.ts +39 -0
- package/dist/plugin/event-session-lifecycle.d.ts +49 -0
- package/dist/plugin/event-session-recovery.d.ts +9 -0
- package/dist/plugin/event-team-handlers.d.ts +13 -0
- package/dist/plugin/event-types.d.ts +78 -0
- package/dist/plugin/event.d.ts +3 -12
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
- package/dist/plugin/hooks/model-fallback-title-updater.d.ts +8 -0
- package/dist/plugin/session-compacting.d.ts +4 -1
- package/dist/plugin/system-transform.d.ts +1 -1
- package/dist/plugin/tool-execute-after.d.ts +2 -0
- package/dist/plugin/tool-registry-core-tools.d.ts +15 -0
- package/dist/plugin/tool-registry-factories.d.ts +36 -0
- package/dist/plugin/tool-registry-gated-tools.d.ts +16 -0
- package/dist/plugin/tool-registry-team-tools.d.ts +14 -0
- package/dist/plugin/tool-registry-trimming.d.ts +2 -0
- package/dist/plugin/tool-registry.d.ts +3 -38
- package/dist/plugin/ultrawork-db-model-override.d.ts +1 -1
- package/dist/plugin-config/agent-order-warnings.d.ts +1 -0
- package/dist/plugin-config/config-merger.d.ts +2 -0
- package/dist/plugin-config/layered-config-loader.d.ts +2 -0
- package/dist/plugin-config/single-config-loader.d.ts +4 -0
- package/dist/plugin-config.d.ts +3 -5
- package/dist/plugin-handlers/agent-config-assembly.d.ts +19 -0
- package/dist/plugin-handlers/agent-config-finalizer.d.ts +4 -0
- package/dist/plugin-handlers/agent-config-handler.d.ts +2 -11
- package/dist/plugin-handlers/agent-config-types.d.ts +30 -0
- package/dist/plugin-handlers/agent-skill-discovery.d.ts +3 -0
- package/dist/plugin-handlers/agent-source-loader.d.ts +2 -0
- package/dist/plugin-handlers/hook-config-handler.d.ts +0 -3
- package/dist/shared/context-window-usage.d.ts +7 -0
- package/dist/shared/dynamic-truncator-types.d.ts +17 -0
- package/dist/shared/dynamic-truncator.d.ts +8 -23
- package/dist/shared/migration/migrations-sidecar.d.ts +2 -2
- package/dist/shared/migration/model-versions.d.ts +7 -4
- package/dist/shared/model-availability.d.ts +1 -1
- package/dist/shared/opencode-version.d.ts +2 -2
- package/dist/shared/sparkshell-awareness.d.ts +5 -0
- package/dist/shared/spawn-with-windows-hide.d.ts +2 -0
- package/dist/shared/token-limit-truncator.d.ts +2 -0
- package/dist/testing/module-mock-lifecycle.d.ts +8 -0
- package/dist/tools/delegate-task/openai-categories.d.ts +0 -1
- package/dist/tools/delegate-task/subagent-agent-match.d.ts +3 -0
- package/dist/tools/delegate-task/subagent-model-resolution.d.ts +4 -0
- package/dist/tools/delegate-task/subagent-request-preflight.d.ts +3 -0
- package/dist/tools/delegate-task/subagent-resolution-types.d.ts +32 -0
- package/dist/tools/delegate-task/subagent-resolver.d.ts +3 -12
- package/dist/tools/delegate-task/sync-completion-message.d.ts +20 -0
- package/dist/tools/delegate-task/sync-poll-error-recovery.d.ts +1 -0
- package/dist/tools/delegate-task/sync-session-lifecycle.d.ts +12 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +2 -0
- package/dist/tools/delegate-task/sync-spawn-reservation.d.ts +10 -0
- package/dist/tools/delegate-task/sync-task-metadata.d.ts +11 -0
- package/dist/tools/delegate-task/sync-task-runner.d.ts +30 -0
- package/dist/tools/delegate-task/sync-task.d.ts +2 -1
- package/dist/tools/hashline-edit/formatter-trigger.d.ts +2 -2
- package/package.json +15 -14
- package/packages/git-bash-mcp/dist/cli.js +29 -12
- package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +1 -1
- package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +1 -1
- package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +95 -30
- package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +1 -2
- package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +1 -11
- package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +1 -0
- package/packages/lsp-tools-mcp/dist/lsp/transport.js +5 -10
- package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +4 -1
- package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +84 -23
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +2 -0
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.js +14 -0
- package/packages/lsp-tools-mcp/dist/tools.js +64 -80
- package/packages/lsp-tools-mcp/package.json +4 -4
- package/packages/omo-codex/lazycodex-repository/.github/workflows/pr-source-guidance.yml +36 -0
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/README.md +3 -1
- package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +188 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/core-values.ts +1 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +15 -361
- package/packages/omo-codex/plugin/components/comment-checker/src/hook-input.ts +19 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/record.ts +11 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +102 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/types.ts +51 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook.test.ts +145 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/core.test.ts +200 -0
- package/packages/omo-codex/plugin/components/lsp/CHANGELOG.md +2 -2
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +11 -5
- package/packages/omo-codex/plugin/components/rules/src/hook-output.ts +11 -1
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +0 -1
- package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +1 -4
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-cache.ts +87 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-loader.ts +94 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-loader.ts +84 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-paths.ts +103 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-static-loader.ts +43 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-types.ts +45 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +8 -419
- package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +39 -13
- package/packages/omo-codex/plugin/components/rules/src/rules/parser-frontmatter.ts +39 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/parser-yaml.ts +271 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +3 -294
- package/packages/omo-codex/plugin/components/rules/src/rules/truncator.ts +17 -0
- package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +57 -0
- package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +13 -2
- package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +17 -0
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +2 -1
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +26 -11
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-context-pressure.test.ts +104 -138
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +5 -2
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +12 -5
- package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +10 -4
- package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +65 -3
- package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +67 -2
- package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +16 -0
- package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +153 -0
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +12 -0
- package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +236 -0
- package/packages/omo-codex/plugin/components/rules/test/tool-paths.test.ts +28 -50
- package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +6 -3
- package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +13 -6
- package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +64 -2
- package/packages/omo-codex/plugin/components/telemetry/README.md +11 -1
- package/packages/omo-codex/plugin/components/telemetry/biome.json +12 -0
- package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +30 -3
- package/packages/omo-codex/plugin/components/telemetry/src/diagnostics.ts +154 -0
- package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +18 -2
- package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +36 -4
- package/packages/omo-codex/plugin/components/telemetry/test/codex-hook-diagnostics.test.ts +115 -0
- package/packages/omo-codex/plugin/components/telemetry/test/codex-hook.test.ts +16 -25
- package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +119 -0
- package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/README.md +5 -5
- package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +2 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +0 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +0 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -2
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +97 -32
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +65 -0
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/agents/openai.yaml +7 -0
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +131 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +38 -10
- package/packages/omo-codex/plugin/components/ultrawork/test/directive-contract.test.ts +18 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +47 -0
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +12 -8
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +28 -21
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +2 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +7 -7
- package/packages/omo-codex/plugin/components/ulw-loop/src/command-types.ts +36 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +64 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +98 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +17 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/runtime.ts +22 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +69 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/types.ts +5 -277
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +35 -13
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +52 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering.test.ts +67 -111
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +31 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +46 -9
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +20 -29
- package/packages/omo-codex/plugin/model-catalog.json +5 -11
- package/packages/omo-codex/plugin/package-lock.json +1 -1
- package/packages/omo-codex/plugin/scripts/auto-update-state.mjs +78 -0
- package/packages/omo-codex/plugin/scripts/auto-update.mjs +166 -76
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +71 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/config-paths.mjs +44 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +40 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/root-settings.mjs +74 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/state.mjs +29 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +33 -204
- package/packages/omo-codex/plugin/scripts/spawn-command.mjs +11 -0
- package/packages/omo-codex/plugin/scripts/sync-hook-status-messages.mjs +23 -9
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +131 -28
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
- package/packages/omo-codex/plugin/skills/git-master/SKILL.md +100 -0
- package/packages/omo-codex/plugin/skills/git-master/agents/openai.yaml +13 -0
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +9 -7
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
- package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +119 -14
- package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +4 -2
- package/packages/omo-codex/plugin/skills/programming/references/go/concurrency.md +2 -2
- package/packages/omo-codex/plugin/skills/programming/references/python/async-anyio.md +6 -6
- package/packages/omo-codex/plugin/skills/programming/references/python/pydantic-ai.md +12 -12
- package/packages/omo-codex/plugin/skills/programming/references/typescript/backend-hono.md +7 -7
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +13 -11
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +10 -8
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +68 -33
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +86 -22
- package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +770 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +12 -8
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +28 -21
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +45 -379
- package/packages/omo-codex/plugin/skills/ulw-plan/agents/openai.yaml +7 -0
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +131 -0
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +237 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/ansi.ts +17 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/cli.ts +82 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/east-asian-width.ts +72 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/image-diff.ts +109 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-crc.ts +27 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-decode.ts +206 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-synth.ts +57 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/tui-grid.ts +88 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/types.ts +54 -0
- package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +55 -0
- package/packages/omo-codex/plugin/test/aggregate-build.test.mjs +38 -0
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +164 -0
- package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +73 -0
- package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +69 -0
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +53 -0
- package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +83 -0
- package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +67 -0
- package/packages/omo-codex/plugin/test/aggregate.test.mjs +2 -514
- package/packages/omo-codex/plugin/test/auto-update-state-persistence.test.mjs +36 -0
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +191 -29
- package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/global-review-debug-gate.test.mjs +29 -0
- package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +23 -10
- package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +81 -0
- package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +91 -0
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +244 -9
- package/packages/omo-codex/plugin/test/node-install-surface.test.mjs +0 -19
- package/packages/omo-codex/plugin/test/start-work-skill.test.mjs +107 -0
- package/packages/omo-codex/plugin/test/subagent-guidance.test.mjs +82 -7
- package/packages/omo-codex/plugin/test/sync-hook-status-messages.test.mjs +58 -6
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +152 -0
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +158 -50
- package/packages/omo-codex/plugin/test/ulw-plan-skill.test.mjs +43 -0
- package/packages/omo-codex/scripts/install/agent-source-roots.mjs +13 -0
- package/packages/omo-codex/scripts/install/agents.mjs +84 -14
- package/packages/omo-codex/scripts/install/bin-links.mjs +239 -0
- package/packages/omo-codex/scripts/install/cache.mjs +152 -108
- package/packages/omo-codex/scripts/install/cached-marketplace-manifest.mjs +21 -0
- package/packages/omo-codex/scripts/install/cli-args.mjs +39 -2
- package/packages/omo-codex/scripts/install/config.mjs +9 -5
- package/packages/omo-codex/scripts/install/lazycodex-version-stamp.mjs +102 -0
- package/packages/omo-codex/scripts/install/legacy-bins.mjs +9 -1
- package/packages/omo-codex/scripts/install/model-catalog.mjs +9 -1
- package/packages/omo-codex/scripts/install/multi-agent-v2-config.mjs +12 -10
- package/packages/omo-codex/scripts/install/process.mjs +3 -1
- package/packages/omo-codex/scripts/install/project-local-cleanup.mjs +0 -1
- package/packages/omo-codex/scripts/install/snapshot.mjs +0 -1
- package/packages/omo-codex/scripts/install-agent-links.test.mjs +205 -11
- package/packages/omo-codex/scripts/install-bin-links.test.mjs +123 -1
- package/packages/omo-codex/scripts/install-cache-copy.test.mjs +129 -5
- package/packages/omo-codex/scripts/install-cli-args.test.mjs +82 -1
- package/packages/omo-codex/scripts/install-config-preservation.test.mjs +43 -0
- package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +14 -1
- package/packages/omo-codex/scripts/install-config.test.mjs +49 -1
- package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +84 -0
- package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +51 -0
- package/packages/omo-codex/scripts/install-local.mjs +42 -40
- package/packages/omo-codex/scripts/install-local.test.mjs +17 -241
- package/packages/omo-codex/scripts/install-marketplace-cache.test.mjs +162 -0
- package/packages/omo-codex/scripts/install-packaged-local.test.mjs +10 -6
- package/packages/omo-codex/scripts/install-project-local-cleanup.test.mjs +73 -2
- package/packages/omo-codex/scripts/sync-telemetry-component.mjs +1 -0
- package/packages/shared-skills/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
- package/packages/shared-skills/skills/git-master/SKILL.md +100 -0
- package/packages/shared-skills/skills/git-master/agents/openai.yaml +13 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
- package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +119 -14
- package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +4 -2
- package/packages/shared-skills/skills/programming/references/go/concurrency.md +2 -2
- package/packages/shared-skills/skills/programming/references/python/async-anyio.md +6 -6
- package/packages/shared-skills/skills/programming/references/python/pydantic-ai.md +12 -12
- package/packages/shared-skills/skills/programming/references/typescript/backend-hono.md +7 -7
- package/packages/shared-skills/skills/refactor/SKILL.md +4 -4
- package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
- package/packages/shared-skills/skills/review-work/SKILL.md +55 -33
- package/packages/shared-skills/skills/start-work/SKILL.md +76 -19
- package/packages/shared-skills/skills/ultraresearch/SKILL.md +770 -0
- package/packages/shared-skills/skills/visual-qa/SKILL.md +219 -0
- package/packages/shared-skills/skills/visual-qa/scripts/ansi.test.ts +45 -0
- package/packages/shared-skills/skills/visual-qa/scripts/ansi.ts +17 -0
- package/packages/shared-skills/skills/visual-qa/scripts/cli.test.ts +73 -0
- package/packages/shared-skills/skills/visual-qa/scripts/cli.ts +82 -0
- package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.test.ts +60 -0
- package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.ts +72 -0
- package/packages/shared-skills/skills/visual-qa/scripts/image-diff.test.ts +70 -0
- package/packages/shared-skills/skills/visual-qa/scripts/image-diff.ts +109 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-crc.ts +27 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-decode.test.ts +44 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-decode.ts +206 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-synth.ts +57 -0
- package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +83 -0
- package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.test.ts +57 -0
- package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.ts +88 -0
- package/packages/shared-skills/skills/visual-qa/scripts/types.ts +54 -0
- package/postinstall.mjs +24 -1
- package/dist/agents/custom-agent-summaries.d.ts +0 -8
- package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +0 -20
- package/dist/agents/prometheus/gemini.d.ts +0 -1
- package/dist/agents/prometheus/gpt.d.ts +0 -1
- package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +0 -8
- package/dist/features/background-agent/session-route.d.ts +0 -12
- package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +0 -6
- package/dist/features/background-agent/state.d.ts +0 -35
- package/dist/features/claude-tasks/session-storage.d.ts +0 -9
- package/dist/features/mcp-oauth/resource-indicator.d.ts +0 -2
- package/dist/features/mcp-oauth/schema.d.ts +0 -6
- package/dist/features/opencode-skill-loader/async-loader.d.ts +0 -6
- package/dist/features/opencode-skill-loader/blocking.d.ts +0 -2
- package/dist/features/opencode-skill-loader/discover-worker.d.ts +0 -1
- package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +0 -13
- package/dist/shared/bun-hash-shim.d.ts +0 -1
- package/dist/tools/delegate-task/resolve-call-id.d.ts +0 -2
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +0 -383
- /package/packages/lsp-tools-mcp/dist/lsp/{utils.d.ts → startup-failure.d.ts} +0 -0
- /package/packages/lsp-tools-mcp/dist/lsp/{utils.js → startup-failure.js} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createTeamApproveShutdownTool, createTeamCreateTool, createTeamDeleteTool, createTeamRejectShutdownTool, createTeamShutdownRequestTool } from "../features/team-mode/tools/lifecycle";
|
|
2
|
+
import { createTeamSendMessageTool } from "../features/team-mode/tools/messaging";
|
|
3
|
+
import { createTeamListTool, createTeamStatusTool } from "../features/team-mode/tools/query";
|
|
4
|
+
import { createTeamTaskCreateTool, createTeamTaskGetTool, createTeamTaskListTool, createTeamTaskUpdateTool } from "../features/team-mode/tools/tasks";
|
|
5
|
+
import { createBackgroundTools, createCallOmoAgent, createDelegateTask, createGlobTools, createGrepTools, createHashlineEditTool, createLookAt, createSessionManagerTools, createSkillMcpTool, createSkillTool, createTaskCreateTool, createTaskGetTool, createTaskList, createTaskUpdateTool, discoverCommandsSync, interactive_bash } from "../tools";
|
|
6
|
+
export type ToolRegistryFactories = {
|
|
7
|
+
createBackgroundTools: typeof createBackgroundTools;
|
|
8
|
+
createCallOmoAgent: typeof createCallOmoAgent;
|
|
9
|
+
createLookAt: typeof createLookAt;
|
|
10
|
+
createSkillMcpTool: typeof createSkillMcpTool;
|
|
11
|
+
createSkillTool: typeof createSkillTool;
|
|
12
|
+
createGrepTools: typeof createGrepTools;
|
|
13
|
+
createGlobTools: typeof createGlobTools;
|
|
14
|
+
createSessionManagerTools: typeof createSessionManagerTools;
|
|
15
|
+
createDelegateTask: typeof createDelegateTask;
|
|
16
|
+
discoverCommandsSync: typeof discoverCommandsSync;
|
|
17
|
+
interactive_bash: typeof interactive_bash;
|
|
18
|
+
createTaskCreateTool: typeof createTaskCreateTool;
|
|
19
|
+
createTaskGetTool: typeof createTaskGetTool;
|
|
20
|
+
createTaskList: typeof createTaskList;
|
|
21
|
+
createTaskUpdateTool: typeof createTaskUpdateTool;
|
|
22
|
+
createHashlineEditTool: typeof createHashlineEditTool;
|
|
23
|
+
createTeamApproveShutdownTool: typeof createTeamApproveShutdownTool;
|
|
24
|
+
createTeamCreateTool: typeof createTeamCreateTool;
|
|
25
|
+
createTeamDeleteTool: typeof createTeamDeleteTool;
|
|
26
|
+
createTeamRejectShutdownTool: typeof createTeamRejectShutdownTool;
|
|
27
|
+
createTeamShutdownRequestTool: typeof createTeamShutdownRequestTool;
|
|
28
|
+
createTeamSendMessageTool: typeof createTeamSendMessageTool;
|
|
29
|
+
createTeamTaskCreateTool: typeof createTeamTaskCreateTool;
|
|
30
|
+
createTeamTaskGetTool: typeof createTeamTaskGetTool;
|
|
31
|
+
createTeamTaskListTool: typeof createTeamTaskListTool;
|
|
32
|
+
createTeamTaskUpdateTool: typeof createTeamTaskUpdateTool;
|
|
33
|
+
createTeamStatusTool: typeof createTeamStatusTool;
|
|
34
|
+
createTeamListTool: typeof createTeamListTool;
|
|
35
|
+
};
|
|
36
|
+
export declare const defaultToolRegistryFactories: ToolRegistryFactories;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ToolDefinition } from "@opencode-ai/plugin";
|
|
2
|
+
import type { OhMyOpenCodeConfig } from "../config";
|
|
3
|
+
import type { PluginContext } from "./types";
|
|
4
|
+
import type { ToolRegistryFactories } from "./tool-registry-factories";
|
|
5
|
+
export declare function createTaskToolsRecord(args: {
|
|
6
|
+
readonly taskSystemEnabled: boolean;
|
|
7
|
+
readonly pluginConfig: OhMyOpenCodeConfig;
|
|
8
|
+
readonly ctx: PluginContext;
|
|
9
|
+
readonly factories: ToolRegistryFactories;
|
|
10
|
+
}): Record<string, ToolDefinition>;
|
|
11
|
+
export declare function createHashlineToolsRecord(args: {
|
|
12
|
+
readonly pluginConfig: OhMyOpenCodeConfig;
|
|
13
|
+
readonly ctx: PluginContext;
|
|
14
|
+
readonly factories: ToolRegistryFactories;
|
|
15
|
+
}): Record<string, ToolDefinition>;
|
|
16
|
+
export declare function getTaskSystemEnabled(pluginConfig: OhMyOpenCodeConfig): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ToolDefinition } from "@opencode-ai/plugin";
|
|
2
|
+
import type { OhMyOpenCodeConfig } from "../config";
|
|
3
|
+
import type { Managers } from "../create-managers";
|
|
4
|
+
import type { PluginContext } from "./types";
|
|
5
|
+
import type { ToolRegistryFactories } from "./tool-registry-factories";
|
|
6
|
+
export declare function getSisyphusJuniorModelOverride(agentOverride?: {
|
|
7
|
+
model?: string;
|
|
8
|
+
}): string | undefined;
|
|
9
|
+
export declare function createTeamModeToolsRecord(args: {
|
|
10
|
+
readonly pluginConfig: OhMyOpenCodeConfig;
|
|
11
|
+
readonly ctx: PluginContext;
|
|
12
|
+
readonly managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager">;
|
|
13
|
+
readonly factories: ToolRegistryFactories;
|
|
14
|
+
}): Record<string, ToolDefinition>;
|
|
@@ -1,48 +1,14 @@
|
|
|
1
1
|
import type { AvailableCategory } from "../agents/dynamic-agent-prompt-builder";
|
|
2
2
|
import type { OhMyOpenCodeConfig } from "../config";
|
|
3
|
-
import { createTeamApproveShutdownTool, createTeamCreateTool, createTeamDeleteTool, createTeamRejectShutdownTool, createTeamShutdownRequestTool } from "../features/team-mode/tools/lifecycle";
|
|
4
|
-
import { createTeamSendMessageTool } from "../features/team-mode/tools/messaging";
|
|
5
|
-
import { createTeamListTool, createTeamStatusTool } from "../features/team-mode/tools/query";
|
|
6
|
-
import { createTeamTaskCreateTool, createTeamTaskGetTool, createTeamTaskListTool, createTeamTaskUpdateTool } from "../features/team-mode/tools/tasks";
|
|
7
|
-
import type { PluginContext, ToolsRecord } from "./types";
|
|
8
|
-
import { createBackgroundTools, createCallOmoAgent, createLookAt, createSkillMcpTool, createSkillTool, createGrepTools, createGlobTools, createSessionManagerTools, createDelegateTask, discoverCommandsSync, interactive_bash, createTaskCreateTool, createTaskGetTool, createTaskList, createTaskUpdateTool, createHashlineEditTool } from "../tools";
|
|
9
3
|
import type { Managers } from "../create-managers";
|
|
10
4
|
import type { SkillContext } from "./skill-context";
|
|
11
|
-
type
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
createLookAt: typeof createLookAt;
|
|
15
|
-
createSkillMcpTool: typeof createSkillMcpTool;
|
|
16
|
-
createSkillTool: typeof createSkillTool;
|
|
17
|
-
createGrepTools: typeof createGrepTools;
|
|
18
|
-
createGlobTools: typeof createGlobTools;
|
|
19
|
-
createSessionManagerTools: typeof createSessionManagerTools;
|
|
20
|
-
createDelegateTask: typeof createDelegateTask;
|
|
21
|
-
discoverCommandsSync: typeof discoverCommandsSync;
|
|
22
|
-
interactive_bash: typeof interactive_bash;
|
|
23
|
-
createTaskCreateTool: typeof createTaskCreateTool;
|
|
24
|
-
createTaskGetTool: typeof createTaskGetTool;
|
|
25
|
-
createTaskList: typeof createTaskList;
|
|
26
|
-
createTaskUpdateTool: typeof createTaskUpdateTool;
|
|
27
|
-
createHashlineEditTool: typeof createHashlineEditTool;
|
|
28
|
-
createTeamApproveShutdownTool: typeof createTeamApproveShutdownTool;
|
|
29
|
-
createTeamCreateTool: typeof createTeamCreateTool;
|
|
30
|
-
createTeamDeleteTool: typeof createTeamDeleteTool;
|
|
31
|
-
createTeamRejectShutdownTool: typeof createTeamRejectShutdownTool;
|
|
32
|
-
createTeamShutdownRequestTool: typeof createTeamShutdownRequestTool;
|
|
33
|
-
createTeamSendMessageTool: typeof createTeamSendMessageTool;
|
|
34
|
-
createTeamTaskCreateTool: typeof createTeamTaskCreateTool;
|
|
35
|
-
createTeamTaskGetTool: typeof createTeamTaskGetTool;
|
|
36
|
-
createTeamTaskListTool: typeof createTeamTaskListTool;
|
|
37
|
-
createTeamTaskUpdateTool: typeof createTeamTaskUpdateTool;
|
|
38
|
-
createTeamStatusTool: typeof createTeamStatusTool;
|
|
39
|
-
createTeamListTool: typeof createTeamListTool;
|
|
40
|
-
};
|
|
5
|
+
import type { PluginContext, ToolsRecord } from "./types";
|
|
6
|
+
import type { ToolRegistryFactories } from "./tool-registry-factories";
|
|
7
|
+
export { trimToolsToCap } from "./tool-registry-trimming";
|
|
41
8
|
export type ToolRegistryResult = {
|
|
42
9
|
filteredTools: ToolsRecord;
|
|
43
10
|
taskSystemEnabled: boolean;
|
|
44
11
|
};
|
|
45
|
-
export declare function trimToolsToCap(filteredTools: ToolsRecord, maxTools: number): void;
|
|
46
12
|
export declare function createToolRegistry(args: {
|
|
47
13
|
ctx: PluginContext;
|
|
48
14
|
pluginConfig: OhMyOpenCodeConfig;
|
|
@@ -52,4 +18,3 @@ export declare function createToolRegistry(args: {
|
|
|
52
18
|
interactiveBashEnabled?: boolean;
|
|
53
19
|
toolFactories?: Partial<ToolRegistryFactories>;
|
|
54
20
|
}): ToolRegistryResult;
|
|
55
|
-
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function addAgentOrderWarnings(configPath: string, agentOrder: string[] | undefined): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type OhMyOpenCodeConfig } from "../config";
|
|
2
|
+
export declare function loadExplicitGitMasterOverrides(configPath: string): Record<string, unknown> | undefined;
|
|
3
|
+
export declare function parseConfigPartially(rawConfig: Record<string, unknown>): Partial<OhMyOpenCodeConfig> | null;
|
|
4
|
+
export declare function loadConfigFromPath(configPath: string, _ctx: unknown): Partial<OhMyOpenCodeConfig> | null;
|
package/dist/plugin-config.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export declare function mergeConfigs(base: OhMyOpenCodeConfig, override: OhMyOpenCodeConfig): OhMyOpenCodeConfig;
|
|
5
|
-
export declare function loadPluginConfig(directory: string, ctx: unknown): OhMyOpenCodeConfig;
|
|
1
|
+
export { loadPluginConfig } from "./plugin-config/layered-config-loader";
|
|
2
|
+
export { mergeConfigs } from "./plugin-config/config-merger";
|
|
3
|
+
export { loadConfigFromPath, parseConfigPartially, } from "./plugin-config/single-config-loader";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
|
+
import type { OhMyOpenCodeConfig } from "../config";
|
|
3
|
+
import type { AgentSources } from "./agent-config-types";
|
|
4
|
+
type BuiltinAgentMap = Record<string, AgentConfig | undefined>;
|
|
5
|
+
type AssembleAgentConfigParams = {
|
|
6
|
+
config: Record<string, unknown>;
|
|
7
|
+
pluginConfig: OhMyOpenCodeConfig;
|
|
8
|
+
builtinAgents: BuiltinAgentMap;
|
|
9
|
+
sources: AgentSources;
|
|
10
|
+
currentModel: string | undefined;
|
|
11
|
+
useTaskSystem: boolean;
|
|
12
|
+
disabledAgentNames: ReadonlySet<string>;
|
|
13
|
+
};
|
|
14
|
+
type AssemblyResult = {
|
|
15
|
+
configuredDefaultAgent: string | undefined;
|
|
16
|
+
};
|
|
17
|
+
export declare function getConfiguredDefaultAgent(config: Record<string, unknown>): string | undefined;
|
|
18
|
+
export declare function assembleAgentConfig(params: AssembleAgentConfigParams): Promise<AssemblyResult>;
|
|
19
|
+
export {};
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function applyAgentConfig(params: {
|
|
4
|
-
config: Record<string, unknown>;
|
|
5
|
-
pluginConfig: OhMyOpenCodeConfig;
|
|
6
|
-
ctx: {
|
|
7
|
-
directory: string;
|
|
8
|
-
client?: any;
|
|
9
|
-
};
|
|
10
|
-
pluginComponents: PluginComponents;
|
|
11
|
-
}): Promise<Record<string, unknown>>;
|
|
1
|
+
import type { ApplyAgentConfigParams } from "./agent-config-types";
|
|
2
|
+
export declare function applyAgentConfig(params: ApplyAgentConfigParams): Promise<Record<string, unknown>>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { OhMyOpenCodeConfig } from "../config";
|
|
2
|
+
import type { PluginComponents } from "./plugin-components-loader";
|
|
3
|
+
export type AgentConfigRecord = Record<string, Record<string, unknown> | undefined> & {
|
|
4
|
+
build?: Record<string, unknown>;
|
|
5
|
+
plan?: Record<string, unknown>;
|
|
6
|
+
};
|
|
7
|
+
export type ApplyAgentConfigParams = {
|
|
8
|
+
config: Record<string, unknown>;
|
|
9
|
+
pluginConfig: OhMyOpenCodeConfig;
|
|
10
|
+
ctx: {
|
|
11
|
+
directory: string;
|
|
12
|
+
client?: unknown;
|
|
13
|
+
};
|
|
14
|
+
pluginComponents: PluginComponents;
|
|
15
|
+
};
|
|
16
|
+
export type AgentSourceMap = Record<string, Record<string, unknown> | undefined>;
|
|
17
|
+
export type AgentSources = {
|
|
18
|
+
userAgents: AgentSourceMap;
|
|
19
|
+
projectAgents: AgentSourceMap;
|
|
20
|
+
opencodeGlobalAgents: AgentSourceMap;
|
|
21
|
+
opencodeProjectAgents: AgentSourceMap;
|
|
22
|
+
pluginAgents: AgentSourceMap;
|
|
23
|
+
agentDefinitionAgents: AgentSourceMap;
|
|
24
|
+
opencodeConfigAgents: AgentSourceMap;
|
|
25
|
+
configAgent: AgentConfigRecord | undefined;
|
|
26
|
+
customAgentSummaries: Array<{
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LoadedSkill } from "../features/opencode-skill-loader";
|
|
2
|
+
import type { ApplyAgentConfigParams } from "./agent-config-types";
|
|
3
|
+
export declare function discoverAgentSkills(params: Pick<ApplyAgentConfigParams, "config" | "pluginConfig" | "ctx">): Promise<LoadedSkill[]>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import { type ContextLimitModelCacheState } from "./context-limit-resolver";
|
|
3
|
+
import type { ContextWindowUsage } from "./dynamic-truncator-types";
|
|
4
|
+
export declare const DEFAULT_CONTEXT_WINDOW_USAGE_FETCH_TIMEOUT_MS = 5000;
|
|
5
|
+
export declare function _setContextWindowUsageFetchTimeoutMsForTesting(ms: number | undefined): void;
|
|
6
|
+
export declare function invalidateContextWindowUsageCache(ctx: PluginInput, sessionID?: string): void;
|
|
7
|
+
export declare function getContextWindowUsage(ctx: PluginInput, sessionID: string, modelCacheState?: ContextLimitModelCacheState): Promise<ContextWindowUsage | null>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
export type ContextWindowUsage = {
|
|
3
|
+
usedTokens: number;
|
|
4
|
+
remainingTokens: number;
|
|
5
|
+
usagePercentage: number;
|
|
6
|
+
};
|
|
7
|
+
export type ContextWindowUsageClient = Pick<PluginInput["client"], "session">;
|
|
8
|
+
export interface TruncationResult {
|
|
9
|
+
result: string;
|
|
10
|
+
truncated: boolean;
|
|
11
|
+
removedCount?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface TruncationOptions {
|
|
14
|
+
targetMaxTokens?: number;
|
|
15
|
+
preserveHeaderLines?: number;
|
|
16
|
+
contextWindowLimit?: number;
|
|
17
|
+
}
|
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
export declare function _setContextWindowUsageFetchTimeoutMsForTesting(ms: number | undefined): void;
|
|
10
|
-
export declare function invalidateContextWindowUsageCache(ctx: PluginInput, sessionID?: string): void;
|
|
11
|
-
export interface TruncationResult {
|
|
12
|
-
result: string;
|
|
13
|
-
truncated: boolean;
|
|
14
|
-
removedCount?: number;
|
|
15
|
-
}
|
|
16
|
-
export interface TruncationOptions {
|
|
17
|
-
targetMaxTokens?: number;
|
|
18
|
-
preserveHeaderLines?: number;
|
|
19
|
-
contextWindowLimit?: number;
|
|
20
|
-
}
|
|
21
|
-
export declare function truncateToTokenLimit(output: string, maxTokens: number, preserveHeaderLines?: number): TruncationResult;
|
|
22
|
-
export declare function getContextWindowUsage(ctx: PluginInput, sessionID: string, modelCacheState?: ContextLimitModelCacheState): Promise<ContextWindowUsage | null>;
|
|
2
|
+
import type { ContextLimitModelCacheState } from "./context-limit-resolver";
|
|
3
|
+
import { getContextWindowUsage, invalidateContextWindowUsageCache, _setContextWindowUsageFetchTimeoutMsForTesting, DEFAULT_CONTEXT_WINDOW_USAGE_FETCH_TIMEOUT_MS } from "./context-window-usage";
|
|
4
|
+
import type { TruncationOptions, TruncationResult } from "./dynamic-truncator-types";
|
|
5
|
+
import { truncateToTokenLimit } from "./token-limit-truncator";
|
|
6
|
+
export { DEFAULT_CONTEXT_WINDOW_USAGE_FETCH_TIMEOUT_MS, getContextWindowUsage, invalidateContextWindowUsageCache, _setContextWindowUsageFetchTimeoutMsForTesting, };
|
|
7
|
+
export { truncateToTokenLimit };
|
|
8
|
+
export type { TruncationOptions, TruncationResult };
|
|
23
9
|
export declare function dynamicTruncate(ctx: PluginInput, sessionID: string, output: string, options?: TruncationOptions, modelCacheState?: ContextLimitModelCacheState): Promise<TruncationResult>;
|
|
24
10
|
export declare function createDynamicTruncator(ctx: PluginInput, modelCacheState?: ContextLimitModelCacheState): {
|
|
25
11
|
truncate: (sessionID: string, output: string, options?: TruncationOptions) => Promise<TruncationResult>;
|
|
26
|
-
getUsage: (sessionID: string) => Promise<ContextWindowUsage | null>;
|
|
12
|
+
getUsage: (sessionID: string) => Promise<import("./dynamic-truncator-types").ContextWindowUsage | null>;
|
|
27
13
|
truncateSync: (output: string, maxTokens: number, preserveHeaderLines?: number) => TruncationResult;
|
|
28
14
|
};
|
|
29
|
-
export {};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* config file.
|
|
4
4
|
*
|
|
5
5
|
* Why this exists (#3263): users who revert an auto-migrated value (e.g.
|
|
6
|
-
* `gpt-5.4` → `gpt-5.
|
|
6
|
+
* `gpt-5.4` → `gpt-5.5`) and then delete the `_migrations` field from
|
|
7
7
|
* their config would fall into an infinite migration loop — every startup
|
|
8
8
|
* re-applied the migration because there was no memory of the previous
|
|
9
9
|
* application. The sidecar remembers applied migrations even when the user
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* {
|
|
18
18
|
* "appliedMigrations": [
|
|
19
|
-
* "model-version:openai/gpt-5.
|
|
19
|
+
* "model-version:openai/gpt-5.4->openai/gpt-5.5",
|
|
20
20
|
* "model-version:anthropic/claude-opus-4-5->anthropic/claude-opus-4-7"
|
|
21
21
|
* ]
|
|
22
22
|
* }
|
|
@@ -6,10 +6,13 @@
|
|
|
6
6
|
* Keys are full "provider/model" strings. Only openai and anthropic entries needed.
|
|
7
7
|
*
|
|
8
8
|
* Only include genuinely retired/superseded models here. Do NOT add mappings
|
|
9
|
-
* for current, user-selectable variants
|
|
10
|
-
* codex powerhouse referenced in docs/guide/agent-model-matching.md
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* for current, user-selectable variants like `gpt-5.5`, the canonical
|
|
10
|
+
* codex powerhouse referenced in docs/guide/agent-model-matching.md. The
|
|
11
|
+
* same rule applies to top-level primary models like `openai/gpt-5.4`
|
|
12
|
+
* while they remain user-selectable:
|
|
13
|
+
* config migrations must not silently rewrite an explicit user choice to a
|
|
14
|
+
* newer default. Auto-rewriting current models broke configs in practice
|
|
15
|
+
* (#3777, #4527).
|
|
13
16
|
*/
|
|
14
17
|
export declare const MODEL_VERSION_MAP: Record<string, string>;
|
|
15
18
|
export declare function migrateModelVersions(configs: Record<string, unknown>, appliedMigrations?: Set<string>): {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* If providers array is given, only models starting with "provider/" are considered.
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
|
-
* const available = new Set(["openai/gpt-5.4", "openai/gpt-5.
|
|
17
|
+
* const available = new Set(["openai/gpt-5.4", "openai/gpt-5.5", "anthropic/claude-opus-4-7"])
|
|
18
18
|
* fuzzyMatchModel("gpt-5.4", available) // → "openai/gpt-5.4"
|
|
19
19
|
* fuzzyMatchModel("claude", available, ["openai"]) // → null (provider filter excludes anthropic)
|
|
20
20
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimum OpenCode version required for this plugin.
|
|
3
|
-
* This plugin only supports OpenCode 1.
|
|
3
|
+
* This plugin only supports OpenCode 1.4.0+.
|
|
4
4
|
*/
|
|
5
|
-
export declare const MINIMUM_OPENCODE_VERSION = "1.
|
|
5
|
+
export declare const MINIMUM_OPENCODE_VERSION = "1.4.0";
|
|
6
6
|
/**
|
|
7
7
|
* OpenCode version that introduced native AGENTS.md injection.
|
|
8
8
|
* PR #10678 merged on Jan 26, 2026 - OpenCode now dynamically resolves
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type RuntimeEnv = Readonly<Record<string, string | undefined>>;
|
|
2
|
+
export declare function isCodexAppServerActive(env?: RuntimeEnv): boolean;
|
|
3
|
+
export declare function getSparkShellRuntimeAwareness(env?: RuntimeEnv): string;
|
|
4
|
+
export declare function hasSparkShellRuntimeAwareness(value: string): boolean;
|
|
5
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ChildProcess } from "node:child_process";
|
|
1
2
|
export interface SpawnOptions {
|
|
2
3
|
cwd?: string;
|
|
3
4
|
env?: Record<string, string | undefined>;
|
|
@@ -12,4 +13,5 @@ export interface SpawnedProcess {
|
|
|
12
13
|
readonly stderr: ReadableStream<Uint8Array> | undefined;
|
|
13
14
|
kill(signal?: NodeJS.Signals): void;
|
|
14
15
|
}
|
|
16
|
+
export declare function wrapNodeProcess(proc: ChildProcess): SpawnedProcess;
|
|
15
17
|
export declare function spawnWithWindowsHide(command: string[], options: SpawnOptions): SpawnedProcess;
|
|
@@ -14,8 +14,16 @@ type ModuleMockLifecycleOptions = {
|
|
|
14
14
|
getCallerUrl?: () => string;
|
|
15
15
|
resolveSpecifier?: (specifier: string, callerUrl: string) => string;
|
|
16
16
|
loadOriginalModule?: (specifier: string, callerUrl: string) => ModuleLoadResult;
|
|
17
|
+
shouldPreserveActiveMocksOnRestore?: () => boolean;
|
|
18
|
+
registerGlobalRestore?: boolean;
|
|
17
19
|
};
|
|
20
|
+
export declare function normalizeStackPath(rawPath: string): string;
|
|
21
|
+
export declare function getCallerUrlFromStack(stack: string, fallbackUrl: string): string;
|
|
18
22
|
export declare function installModuleMockLifecycle(mockApi: MockApi, options?: ModuleMockLifecycleOptions): {
|
|
23
|
+
preserveModuleMocksForTestFile: (callerUrl: string) => void;
|
|
19
24
|
restoreModuleMocks: () => void;
|
|
25
|
+
restoreModuleMocksForTestFile: (callerUrl: string) => void;
|
|
20
26
|
};
|
|
27
|
+
export declare function preserveModuleMocksForTestFile(callerUrl: string): void;
|
|
28
|
+
export declare function restoreModuleMocksForTestFile(callerUrl: string): void;
|
|
21
29
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { BuiltinCategoryDefinition } from "./builtin-category-definition";
|
|
2
2
|
export declare const DEEP_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on GOAL-ORIENTED AUTONOMOUS tasks.\n\nYou are NOT an interactive assistant. You are an autonomous problem-solver.\n\nBEFORE making ANY changes:\n1. Silently explore the codebase extensively (5-15 minutes of reading is normal)\n2. Read related files, trace dependencies, understand the full context\n3. Build a complete mental model of the problem space\n4. Do not ask clarifying questions - the goal is already defined\n\nYou receive a GOAL. When the goal includes numbered steps or phases, treat them as one atomic task broken into sub-steps, not as separate independent tasks. Figure out HOW to achieve it yourself. Thorough research before any action.\n\nSub-steps of ONE goal = execute all steps as phases of one atomic task.\nGenuinely independent tasks = flag and refuse, require separate delegations.\n\nApproach: explore extensively, understand deeply, then act decisively. Prefer comprehensive solutions over quick patches. If the goal is unclear, make reasonable assumptions and proceed.\n\nMinimal status updates. Focus on results, not play-by-play. Report completion with summary of changes.\n</Category_Context>";
|
|
3
|
-
export declare const DEEP_CATEGORY_PROMPT_APPEND_GPT_5_3_CODEX = "<Category_Context name=\"deep\">\nYou are operating in DEEP mode on GPT-5.3-Codex. This category is reserved for goal-oriented autonomous coding work on hairy problems that reward depth over speed and a complete solution over a quick patch.\n\nThe orchestrator routed you here for autonomous execution. Do not stop to ask the orchestrator for permission, do not produce an upfront plan and wait for approval, do not stop at a proof of concept.\n\n# Autonomy and persistence\n\n- Once the goal is given, gather context, implement, verify, and explain outcomes within this turn whenever feasible.\n- Persist end-to-end: do not stop at analysis or partial fixes; carry changes through implementation, verification, and a clear explanation unless you hit a genuine blocker (missing secret, design decision only the user can make, three materially different attempts all failed).\n- Bias to action: default to implementing with reasonable assumptions. Do not end your turn with clarifying questions unless truly blocked. Document assumptions in the final message instead.\n- Avoid excessive looping. If you find yourself re-reading or re-editing the same files without clear progress, stop and end the turn with a concise summary and any clarifying questions needed.\n\n# Goal, not plan\n\nYou receive a GOAL describing the desired outcome. You figure out HOW. The orchestrator deliberately did not hand you a step-by-step plan; producing one and pausing for approval is not what was asked.\n\nWhen the goal contains numbered steps or phases, treat them as sub-steps of ONE atomic task and execute them all in this turn. Splitting them across turns is wrong unless they reveal an architectural blocker that requires the user's input. If the steps turn out to be genuinely independent tasks that should have been separate delegations, flag that in your final message and refuse the ones beyond scope.\n\n# Exploration\n\n- Think first. Before any tool call, decide ALL files and resources you will need.\n- Batch everything. If you need multiple files (even from different places), read them together using parallel tool calls.\n- Always maximize parallelism: never read files one-by-one unless logically unavoidable. For broader questions fire 2-5 explore/librarian sub-agents in parallel.\n- Workflow: (a) plan all needed reads, (b) issue one parallel batch, (c) analyze results, (d) repeat if new unpredictable reads arise. Sequential reads only when you truly cannot know the next file without seeing a prior result first.\n\nBuild a complete mental model before the first edit. Exploration is an investment, not overhead - the orchestrator routed depth tasks here specifically because rushing to implementation is the failure mode.\n\n# Code implementation\n\n- Discerning engineer mindset: optimize for correctness, clarity, and reliability over speed. Cover the root cause, not just a symptom or a narrow slice. Trace at least two levels up before settling - a null check around `foo()` is a symptom; fixing what causes `foo()` to return unexpected values is the root.\n- Conform to codebase conventions: follow existing patterns, helpers, naming, formatting, localization. If you must diverge, state why.\n- Behavior-safe defaults: preserve intended behavior and UX; gate or flag intentional changes; add tests when behavior shifts.\n- Tight error handling: no broad try/catch blocks, no success-shaped fallbacks; propagate or surface errors explicitly. No silent failures - do not early-return on invalid input without logging consistent with repo patterns.\n- Efficient, coherent edits: read enough context before changing a file; batch logical edits together rather than thrashing with many tiny patches.\n- Type safety: changes must pass build and type-check; avoid `as any` or `as unknown as ...`; prefer proper types and guards; reuse existing helpers.\n- Reuse / DRY: search for prior art before adding helpers; reuse or extract a shared helper instead of duplicating.\n- Ambition scaled to context: greenfield = strong defaults, avoid AI-slop, produce work you would hand to another senior engineer. Existing codebase = surgical, respect existing patterns. Depth does not mean invasiveness.\n\n# Completion bar\n\n\"Simplified version\", \"proof of concept\", and \"you can extend this later\" are not acceptable for a deep task. The orchestrator routed here specifically for a complete solution. If you hit a genuine blocker, document it and return; otherwise, finish the task.\n\n# Worktree safety\n\n- NEVER revert existing changes you did not make unless explicitly requested - those changes were made by the user.\n- If asked to commit and there are unrelated changes in those files, do not revert them.\n- If you notice unexpected changes you did not make in unrelated files, ignore them.\n- If you notice unexpected mid-rollout changes you did not make and are not sure how to proceed, stop and ask.\n- NEVER use destructive commands like `git reset --hard` or `git checkout --` unless explicitly requested.\n\n# Status cadence\n\nThe user is not on the other side of this conversation; the orchestrator is, and they will synthesize your progress. Send commentary only at meaningful phase transitions (starting exploration, starting implementation, starting verification, hitting a genuine blocker). Do not narrate every tool call; silence during focused work is expected.\n\nIf you used a planning tool, mark every previously stated intention as Done, Blocked (one-sentence reason + targeted question), or Cancelled (with reason) before finishing. Do not end with in_progress or pending items.\n\n# Final message\n\n- Be concise; pragmatic, not chatty. Higher actionable information per token; fewer social flourishes.\n- Lead with a quick explanation of the change, then context covering where and why. Do not start with \"Summary\"; jump in.\n- Reference paths only - do not dump file contents. Do not say \"save/copy this file\" - the user is on the same machine.\n- For substantial work, summarize clearly with high-level headings.\n- File references: inline code with standalone path. Examples: `src/app.ts`, `src/app.ts:42`. Do not use `file://`, `vscode://`, or `https://` URIs. Do not provide line ranges.\n- Suggest natural next steps (tests, commits, build) only if there are real ones; otherwise omit.\n</Category_Context>";
|
|
4
3
|
export declare const DEEP_CATEGORY_PROMPT_APPEND_GPT_5_5 = "<Category_Context name=\"deep\">\nYou are operating in DEEP mode. This is the category reserved for goal-oriented autonomous work on hairy problems that reward thorough exploration and comprehensive solutions.\n\nThe orchestrator chose this category because the task benefits from depth over speed. You should feel empowered to spend the time needed: five to fifteen minutes of silent exploration before the first edit is normal and correct. Rushing to implementation on a deep task is a failure mode, not a feature.\n\n# How deep mode adjusts the base behavior\n\n**Exploration budget: generous.** Read the files you need, trace dependencies both directions, fire 2-5 explore/librarian sub-agents in parallel for broader questions. Build a complete mental model before the first `apply_patch`. Exploration here is an investment, not overhead.\n\n**Goal, not plan.** You receive a GOAL describing the desired outcome. You figure out HOW to achieve it. The orchestrator deliberately did not hand you a step-by-step plan; producing one and asking for approval is not what was asked. Execute.\n\n**Atomic task treatment.** When the goal contains numbered steps or phases, treat them as sub-steps of ONE task and execute them all in this turn. Splitting them across turns is wrong unless they reveal an architectural blocker that requires the user's input. If the \"steps\" turn out to be genuinely independent tasks that should have been separate delegations, flag that in your final message and refuse the ones beyond scope.\n\n**Root cause bias.** Prefer root-cause fixes over symptom fixes. A null check around `foo()` is a symptom fix; fixing whatever causes `foo()` to return unexpected values is the root fix. Trace at least two levels up before settling on an answer. In deep mode, you have permission (and the expectation) to do the deeper fix.\n\n**Ambition scaled to context.** For brand-new greenfield work, be ambitious. Choose strong defaults, avoid AI-slop aesthetics, produce something you would be proud to hand to another senior engineer. For changes in an existing codebase, be surgical and respect the existing patterns; depth does not mean invasiveness.\n\n**Completion bar: full delivery.** \"Simplified version\", \"proof of concept\", and \"you can extend this later\" are not acceptable deliveries for a deep task. The orchestrator routed here specifically for a complete solution. If you hit a genuine blocker (missing secret, design decision only the user can make, three materially different attempts all failed), document it and return; otherwise, finish the task.\n\n**Status cadence: sparse.** The user is not on the other side of this conversation; the orchestrator is, and they will synthesize your progress. Send commentary only at meaningful phase transitions (starting exploration, starting implementation, starting verification, hitting a genuine blocker). Do not narrate every tool call; silence during focused work is expected.\n</Category_Context>";
|
|
5
4
|
export declare function resolveDeepCategoryPromptAppend(model: string | undefined): string;
|
|
6
5
|
export declare const OPENAI_CATEGORIES: BuiltinCategoryDefinition[];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ExecutorContext } from "./executor-types";
|
|
2
|
+
import type { ResolveSubagentExecutionOptions, SubagentAgentMatch } from "./subagent-resolution-types";
|
|
3
|
+
export declare function resolveSubagentAgentMatch(requestedAgent: string, executorCtx: ExecutorContext, options: ResolveSubagentExecutionOptions): Promise<SubagentAgentMatch>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ExecutorContext } from "./executor-types";
|
|
2
|
+
import type { AgentInfo } from "./subagent-discovery";
|
|
3
|
+
import type { ResolvedSubagentModel } from "./subagent-resolution-types";
|
|
4
|
+
export declare function resolveSubagentModel(agentToUse: string, matchedAgent: AgentInfo, executorCtx: ExecutorContext): Promise<ResolvedSubagentModel>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DelegateTaskArgs } from "./types";
|
|
2
|
+
import type { ResolveSubagentExecutionOptions, SubagentRequestPreflight } from "./subagent-resolution-types";
|
|
3
|
+
export declare function validateSubagentRequest(args: DelegateTaskArgs, parentAgent: string | undefined, categoryExamples: string, options: ResolveSubagentExecutionOptions): SubagentRequestPreflight;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { FallbackEntry } from "../../shared/model-requirements";
|
|
2
|
+
import type { AgentInfo } from "./subagent-discovery";
|
|
3
|
+
import type { DelegatedModelConfig } from "./types";
|
|
4
|
+
export interface ResolveSubagentExecutionOptions {
|
|
5
|
+
allowSisyphusJuniorDirect?: boolean;
|
|
6
|
+
allowPrimaryAgentDelegation?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ResolveSubagentExecutionResult {
|
|
9
|
+
agentToUse: string;
|
|
10
|
+
categoryModel: DelegatedModelConfig | undefined;
|
|
11
|
+
fallbackChain?: FallbackEntry[];
|
|
12
|
+
error?: string;
|
|
13
|
+
}
|
|
14
|
+
export type SubagentRequestPreflight = {
|
|
15
|
+
readonly kind: "valid";
|
|
16
|
+
readonly agentName: string;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: "invalid";
|
|
19
|
+
readonly result: ResolveSubagentExecutionResult;
|
|
20
|
+
};
|
|
21
|
+
export type SubagentAgentMatch = {
|
|
22
|
+
readonly kind: "matched";
|
|
23
|
+
readonly agentToUse: string;
|
|
24
|
+
readonly matchedAgent: AgentInfo;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: "error";
|
|
27
|
+
readonly result: ResolveSubagentExecutionResult;
|
|
28
|
+
};
|
|
29
|
+
export interface ResolvedSubagentModel {
|
|
30
|
+
readonly categoryModel: DelegatedModelConfig | undefined;
|
|
31
|
+
readonly fallbackChain: FallbackEntry[] | undefined;
|
|
32
|
+
}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import type { DelegateTaskArgs } from "./types";
|
|
2
2
|
import type { ExecutorContext } from "./executor-types";
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
allowSisyphusJuniorDirect?: boolean;
|
|
7
|
-
allowPrimaryAgentDelegation?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare function resolveSubagentExecution(args: DelegateTaskArgs, executorCtx: ExecutorContext, parentAgent: string | undefined, categoryExamples: string, options?: ResolveSubagentExecutionOptions): Promise<{
|
|
10
|
-
agentToUse: string;
|
|
11
|
-
categoryModel: DelegatedModelConfig | undefined;
|
|
12
|
-
fallbackChain?: FallbackEntry[];
|
|
13
|
-
error?: string;
|
|
14
|
-
}>;
|
|
3
|
+
import type { ResolveSubagentExecutionOptions, ResolveSubagentExecutionResult } from "./subagent-resolution-types";
|
|
4
|
+
export type { ResolveSubagentExecutionOptions, ResolveSubagentExecutionResult };
|
|
5
|
+
export declare function resolveSubagentExecution(args: DelegateTaskArgs, executorCtx: ExecutorContext, parentAgent: string | undefined, categoryExamples: string, options?: ResolveSubagentExecutionOptions): Promise<ResolveSubagentExecutionResult>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ParentContext } from "./executor-types";
|
|
2
|
+
import type { DelegatedModelConfig, DelegateTaskArgs } from "./types";
|
|
3
|
+
export declare function buildRecoveredSyncTaskCompletion(input: {
|
|
4
|
+
readonly activeSessionID: string;
|
|
5
|
+
readonly agentToUse: string;
|
|
6
|
+
readonly args: DelegateTaskArgs;
|
|
7
|
+
readonly effectiveCategoryModel: DelegatedModelConfig | undefined;
|
|
8
|
+
readonly parentContext: ParentContext;
|
|
9
|
+
readonly startTime: Date;
|
|
10
|
+
readonly textContent: string;
|
|
11
|
+
}): string;
|
|
12
|
+
export declare function buildSyncTaskCompletion(input: {
|
|
13
|
+
readonly activeSessionID: string;
|
|
14
|
+
readonly agentToUse: string;
|
|
15
|
+
readonly args: DelegateTaskArgs;
|
|
16
|
+
readonly effectiveCategoryModel: DelegatedModelConfig | undefined;
|
|
17
|
+
readonly parentContext: ParentContext;
|
|
18
|
+
readonly startTime: Date;
|
|
19
|
+
readonly textContent: string;
|
|
20
|
+
}): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function shouldAttemptPollErrorRecovery(pollError: string): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ExecutorContext, ParentContext } from "./executor-types";
|
|
2
|
+
import type { DelegateTaskArgs } from "./types";
|
|
3
|
+
export declare function registerSyncSessionSideEffects(input: {
|
|
4
|
+
readonly args: DelegateTaskArgs;
|
|
5
|
+
readonly executorCtx: ExecutorContext;
|
|
6
|
+
readonly sessionID: string;
|
|
7
|
+
readonly parentContext: ParentContext;
|
|
8
|
+
readonly agentToUse: string;
|
|
9
|
+
readonly fallbackChain: import("../../shared/model-requirements").FallbackEntry[] | undefined;
|
|
10
|
+
readonly systemContent: string | undefined;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
export declare function cleanupSyncSessionSideEffects(sessionID: string, executorCtx: Pick<ExecutorContext, "modelFallbackControllerAccessor">): void;
|
|
@@ -10,4 +10,6 @@ export declare function pollSyncSession(ctx: ToolContextWithMetadata, client: Op
|
|
|
10
10
|
taskId: string | undefined;
|
|
11
11
|
anchorMessageCount?: number;
|
|
12
12
|
maxAssistantTurns?: number;
|
|
13
|
+
hasActiveChildBackgroundTasks?: (sessionID: string) => boolean;
|
|
14
|
+
childWakeGraceMs?: number;
|
|
13
15
|
}, timeoutMs?: number): Promise<string | null>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExecutorContext, ParentContext } from "./executor-types";
|
|
2
|
+
export interface SyncSpawnReservation {
|
|
3
|
+
readonly spawnContext: {
|
|
4
|
+
readonly rootSessionID: string;
|
|
5
|
+
readonly parentDepth: number;
|
|
6
|
+
readonly childDepth: number;
|
|
7
|
+
};
|
|
8
|
+
readonly reservation: Awaited<ReturnType<ExecutorContext["manager"]["reserveSubagentSpawn"]>> | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare function reserveSyncSubagentSpawn(executorCtx: Pick<ExecutorContext, "manager">, parentContext: Pick<ParentContext, "sessionID">): Promise<SyncSpawnReservation>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ParentContext } from "./executor-types";
|
|
2
|
+
import type { DelegatedModelConfig, DelegateTaskArgs, ToolContextWithMetadata } from "./types";
|
|
3
|
+
export declare function publishSyncTaskMetadata(input: {
|
|
4
|
+
readonly args: DelegateTaskArgs;
|
|
5
|
+
readonly ctx: ToolContextWithMetadata;
|
|
6
|
+
readonly currentSessionID: string;
|
|
7
|
+
readonly currentModel: DelegatedModelConfig | undefined;
|
|
8
|
+
readonly parentContext: ParentContext;
|
|
9
|
+
readonly agentToUse: string;
|
|
10
|
+
readonly spawnDepth: number;
|
|
11
|
+
}): Promise<void>;
|