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
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ToolContext } from "@opencode-ai/plugin/tool";
|
|
1
|
+
import type { ToolContext, ToolResult } from "@opencode-ai/plugin/tool";
|
|
2
2
|
import type { OpencodeClient } from "../../../tools/delegate-task/types";
|
|
3
3
|
import type { BackgroundManager } from "../../background-agent/manager";
|
|
4
4
|
import type { RuntimeState, TeamSpec } from "../types";
|
|
5
|
-
export declare function parseToolResult<TValue>(value:
|
|
5
|
+
export declare function parseToolResult<TValue>(value: ToolResult): TValue;
|
|
6
6
|
export declare function createToolContext(sessionID: string): ToolContext;
|
|
7
7
|
export declare function getLatestShutdownRequest(runtimeState: RuntimeState, memberName: string): RuntimeState["shutdownRequests"][number] | undefined;
|
|
8
8
|
export declare function createSpec(): TeamSpec;
|
|
@@ -72,7 +72,7 @@ export declare const deleteTeamMock: import("bun:test").Mock<(teamRunId: string,
|
|
|
72
72
|
}>>;
|
|
73
73
|
export declare const requestShutdownOfMemberMock: import("bun:test").Mock<(teamRunId: string, targetMemberName: string, requesterName: string) => Promise<void>>;
|
|
74
74
|
export declare const approveShutdownMock: import("bun:test").Mock<(teamRunId: string, memberName: string) => Promise<void>>;
|
|
75
|
-
export declare const rejectShutdownMock: import("bun:test").Mock<(teamRunId: string, memberName: string, reason: string) => Promise<void>>;
|
|
75
|
+
export declare const rejectShutdownMock: import("bun:test").Mock<(teamRunId: string, memberName: string, _rejectorName: string, reason: string) => Promise<void>>;
|
|
76
76
|
export declare const loadTeamSpecMock: import("bun:test").Mock<() => Promise<{
|
|
77
77
|
version: 1;
|
|
78
78
|
name: string;
|
|
@@ -1,37 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import type { OpencodeClient } from "../../../tools/delegate-task/types";
|
|
5
|
-
import type { BackgroundManager } from "../../background-agent/manager";
|
|
6
|
-
import type { TmuxSessionManager } from "../../tmux-subagent/manager";
|
|
7
|
-
import { loadTeamSpec } from "../team-registry/loader";
|
|
8
|
-
import { createTeamRun } from "../team-runtime/create";
|
|
9
|
-
import { approveShutdown, deleteTeam, rejectShutdown, requestShutdownOfMember } from "../team-runtime/shutdown";
|
|
10
|
-
import { listActiveTeams, loadRuntimeState } from "../team-state-store/store";
|
|
11
|
-
type TeamRuntimeStoreDeps = {
|
|
12
|
-
listActiveTeams: typeof listActiveTeams;
|
|
13
|
-
loadRuntimeState: typeof loadRuntimeState;
|
|
14
|
-
};
|
|
15
|
-
type TeamShutdownToolDeps = TeamRuntimeStoreDeps & {
|
|
16
|
-
deleteTeam: typeof deleteTeam;
|
|
17
|
-
requestShutdownOfMember: typeof requestShutdownOfMember;
|
|
18
|
-
approveShutdown: typeof approveShutdown;
|
|
19
|
-
rejectShutdown: typeof rejectShutdown;
|
|
20
|
-
};
|
|
21
|
-
export type TeamCreateExecutorConfig = {
|
|
22
|
-
userCategories?: CategoriesConfig;
|
|
23
|
-
sisyphusJuniorModel?: string;
|
|
24
|
-
agentOverrides?: AgentOverrides;
|
|
25
|
-
};
|
|
26
|
-
type TeamCreateToolDeps = {
|
|
27
|
-
createTeamRun: typeof createTeamRun;
|
|
28
|
-
loadTeamSpec: typeof loadTeamSpec;
|
|
29
|
-
listActiveTeams: typeof listActiveTeams;
|
|
30
|
-
loadRuntimeState: typeof loadRuntimeState;
|
|
31
|
-
};
|
|
32
|
-
export declare function createTeamCreateTool(config: TeamModeConfig, client: OpencodeClient, bgMgr: BackgroundManager, tmuxMgr?: TmuxSessionManager, executorConfig?: TeamCreateExecutorConfig, deps?: TeamCreateToolDeps): ToolDefinition;
|
|
33
|
-
export declare function createTeamDeleteTool(config: TeamModeConfig, client: OpencodeClient, backgroundManager: BackgroundManager, tmuxMgr?: TmuxSessionManager, deps?: TeamShutdownToolDeps): ToolDefinition;
|
|
34
|
-
export declare function createTeamShutdownRequestTool(config: TeamModeConfig, client: OpencodeClient, deps?: TeamShutdownToolDeps): ToolDefinition;
|
|
35
|
-
export declare function createTeamApproveShutdownTool(config: TeamModeConfig, client: OpencodeClient, deps?: TeamShutdownToolDeps): ToolDefinition;
|
|
36
|
-
export declare function createTeamRejectShutdownTool(config: TeamModeConfig, client: OpencodeClient, deps?: TeamShutdownToolDeps): ToolDefinition;
|
|
37
|
-
export {};
|
|
1
|
+
export { createTeamCreateTool } from "./lifecycle-create-tool";
|
|
2
|
+
export type { TeamCreateExecutorConfig } from "./lifecycle-inline-spec";
|
|
3
|
+
export { createTeamApproveShutdownTool, createTeamDeleteTool, createTeamRejectShutdownTool, createTeamShutdownRequestTool, } from "./lifecycle-shutdown-tools";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type LiveDeliveryClient = {
|
|
2
|
+
session: {
|
|
3
|
+
promptAsync(input: {
|
|
4
|
+
path: {
|
|
5
|
+
id: string;
|
|
6
|
+
};
|
|
7
|
+
body: {
|
|
8
|
+
parts: Array<{
|
|
9
|
+
type: "text";
|
|
10
|
+
text: string;
|
|
11
|
+
}>;
|
|
12
|
+
agent?: string;
|
|
13
|
+
model?: {
|
|
14
|
+
providerID: string;
|
|
15
|
+
modelID: string;
|
|
16
|
+
};
|
|
17
|
+
variant?: string;
|
|
18
|
+
};
|
|
19
|
+
query?: {
|
|
20
|
+
directory: string;
|
|
21
|
+
};
|
|
22
|
+
}): Promise<unknown>;
|
|
23
|
+
status?: () => Promise<unknown>;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TeamModeConfig } from "../../../config/schema/team-mode";
|
|
2
|
+
import { buildEnvelope } from "../team-mailbox/poll";
|
|
3
|
+
import type { Message, RuntimeState } from "../types";
|
|
4
|
+
import type { LiveDeliveryClient } from "./messaging-live-delivery-client";
|
|
5
|
+
import type { DeliveryReservation } from "./messaging-live-delivery-reservation";
|
|
6
|
+
type RuntimeMember = RuntimeState["members"][number];
|
|
7
|
+
type LiveDeliveryEnvelope = ReturnType<typeof buildEnvelope>;
|
|
8
|
+
export declare function deliverLiveToRecipient(input: {
|
|
9
|
+
client: LiveDeliveryClient;
|
|
10
|
+
message: Message;
|
|
11
|
+
envelope: LiveDeliveryEnvelope;
|
|
12
|
+
teamRunId: string;
|
|
13
|
+
recipientName: string;
|
|
14
|
+
recipientMember: RuntimeMember;
|
|
15
|
+
reservation: DeliveryReservation;
|
|
16
|
+
config: TeamModeConfig;
|
|
17
|
+
directory: string;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TeamModeConfig } from "../../../config/schema/team-mode";
|
|
2
|
+
import { type DeliveryReservation as TeamMailboxDeliveryReservation } from "../team-mailbox/reservation";
|
|
3
|
+
export type DeliveryReservation = TeamMailboxDeliveryReservation;
|
|
4
|
+
export type NullableDeliveryReservation = DeliveryReservation | null;
|
|
5
|
+
export declare function releaseReservationSafely(reservation: NullableDeliveryReservation, input: {
|
|
6
|
+
teamRunId: string;
|
|
7
|
+
recipient: string;
|
|
8
|
+
messageId: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export declare function releaseReservationsForRecipients(teamRunId: string, recipientNames: readonly string[], messageId: string, config: TeamModeConfig): Promise<void>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TeamModeConfig } from "../../../config/schema/team-mode";
|
|
2
|
+
import type { RuntimeState } from "../types";
|
|
3
|
+
import type { TeamSendMessageToolDeps } from "./messaging-runtime";
|
|
4
|
+
export declare function markLiveDeliveryPending(teamRunId: string, recipientName: string, messageId: string, config: TeamModeConfig): Promise<void>;
|
|
5
|
+
export declare function loadRuntimeStateForLiveDelivery(teamRunId: string, deliveredTo: readonly string[], messageId: string, config: TeamModeConfig, deps: TeamSendMessageToolDeps): Promise<RuntimeState | undefined>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TeamModeConfig } from "../../../config/schema/team-mode";
|
|
2
|
+
import type { Message } from "../types";
|
|
3
|
+
import type { LiveDeliveryClient } from "./messaging-live-delivery-client";
|
|
4
|
+
import type { TeamSendMessageToolDeps } from "./messaging-runtime";
|
|
5
|
+
export type { LiveDeliveryClient } from "./messaging-live-delivery-client";
|
|
6
|
+
export declare function deliverLive(client: LiveDeliveryClient, message: Message, teamRunId: string, deliveredTo: readonly string[], config: TeamModeConfig, directory: string, deps: TeamSendMessageToolDeps): Promise<void>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TeamModeConfig } from "../../../config/schema/team-mode";
|
|
2
|
+
import { loadRuntimeState } from "../team-state-store/store";
|
|
3
|
+
import type { Message, RuntimeState } from "../types";
|
|
4
|
+
export type TeamRuntimeDetails = {
|
|
5
|
+
teamRunId: string;
|
|
6
|
+
isLead: boolean;
|
|
7
|
+
senderName: string;
|
|
8
|
+
activeMembers: string[];
|
|
9
|
+
};
|
|
10
|
+
export type TeamSendMessageToolDeps = {
|
|
11
|
+
loadRuntimeState: typeof loadRuntimeState;
|
|
12
|
+
};
|
|
13
|
+
export declare const defaultTeamSendMessageToolDeps: TeamSendMessageToolDeps;
|
|
14
|
+
type RuntimeMember = RuntimeState["members"][number];
|
|
15
|
+
export declare function shouldReserveRecipientMailbox(member: RuntimeMember, message: Message, senderName: string): boolean;
|
|
16
|
+
export declare function resolveTeamRuntimeDetails(teamRunId: string, sessionID: string, config: TeamModeConfig, deps: TeamSendMessageToolDeps): Promise<TeamRuntimeDetails>;
|
|
17
|
+
export {};
|
|
@@ -1,32 +1,7 @@
|
|
|
1
1
|
import { type ToolDefinition } from "@opencode-ai/plugin/tool";
|
|
2
2
|
import type { TeamModeConfig } from "../../../config/schema/team-mode";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
path: {
|
|
8
|
-
id: string;
|
|
9
|
-
};
|
|
10
|
-
body: {
|
|
11
|
-
parts: Array<{
|
|
12
|
-
type: "text";
|
|
13
|
-
text: string;
|
|
14
|
-
}>;
|
|
15
|
-
agent?: string;
|
|
16
|
-
model?: {
|
|
17
|
-
providerID: string;
|
|
18
|
-
modelID: string;
|
|
19
|
-
};
|
|
20
|
-
variant?: string;
|
|
21
|
-
};
|
|
22
|
-
query?: {
|
|
23
|
-
directory: string;
|
|
24
|
-
};
|
|
25
|
-
}): Promise<unknown>;
|
|
26
|
-
status?: () => Promise<unknown>;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export type TeamSendMessageToolDeps = {
|
|
30
|
-
loadRuntimeState: typeof loadRuntimeState;
|
|
31
|
-
};
|
|
3
|
+
import { type LiveDeliveryClient } from "./messaging-live-delivery";
|
|
4
|
+
import { type TeamSendMessageToolDeps } from "./messaging-runtime";
|
|
5
|
+
export type { LiveDeliveryClient } from "./messaging-live-delivery";
|
|
6
|
+
export type { TeamSendMessageToolDeps } from "./messaging-runtime";
|
|
32
7
|
export declare function createTeamSendMessageTool(config: TeamModeConfig, client: LiveDeliveryClient, deps?: TeamSendMessageToolDeps): ToolDefinition;
|
|
@@ -26,6 +26,24 @@ export interface TmuxUtilDeps {
|
|
|
26
26
|
executeAction: typeof executeAction;
|
|
27
27
|
log: typeof sharedModule.log;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Options passed to TmuxSessionManager at construction time.
|
|
31
|
+
*
|
|
32
|
+
* Distinct from `TmuxUtilDeps` (low-level tmux util injection): these are
|
|
33
|
+
* external policy hooks the manager defers to without owning the policy.
|
|
34
|
+
*/
|
|
35
|
+
export interface TmuxSessionManagerOptions {
|
|
36
|
+
/**
|
|
37
|
+
* Predicate the manager calls in `onSessionCreated` to decide whether this
|
|
38
|
+
* session should be ignored entirely. Used to keep team-mode member sessions
|
|
39
|
+
* out of the subagent pane tracking, since team-layout-tmux owns their pane
|
|
40
|
+
* lifecycle separately and double-tracking causes pane double-close races
|
|
41
|
+
* and stale entries in the subagent panel.
|
|
42
|
+
*
|
|
43
|
+
* Defaults to `() => false` (track everything).
|
|
44
|
+
*/
|
|
45
|
+
shouldSkipSession?: (sessionId: string) => boolean;
|
|
46
|
+
}
|
|
29
47
|
export declare class TmuxSessionManager {
|
|
30
48
|
private client;
|
|
31
49
|
private tmuxConfig;
|
|
@@ -45,6 +63,7 @@ export declare class TmuxSessionManager {
|
|
|
45
63
|
private deferredAttachTickScheduled;
|
|
46
64
|
private nullStateCount;
|
|
47
65
|
private deps;
|
|
66
|
+
private shouldSkipSession;
|
|
48
67
|
private pollingManager;
|
|
49
68
|
private isolatedContainerPaneId;
|
|
50
69
|
private isolatedWindowPaneId;
|
|
@@ -52,7 +71,7 @@ export declare class TmuxSessionManager {
|
|
|
52
71
|
private staleSweepCompleted;
|
|
53
72
|
private staleSweepInProgress;
|
|
54
73
|
private isolatedSessionManagerId;
|
|
55
|
-
constructor(ctx: PluginInput, tmuxConfig: TmuxConfig, deps?: Partial<TmuxUtilDeps
|
|
74
|
+
constructor(ctx: PluginInput, tmuxConfig: TmuxConfig, deps?: Partial<TmuxUtilDeps>, options?: TmuxSessionManagerOptions);
|
|
56
75
|
private isEnabled;
|
|
57
76
|
private isIsolated;
|
|
58
77
|
private getEffectiveSourcePaneId;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
import type { TmuxConfig } from "../../config/schema";
|
|
3
3
|
import type { CapacityConfig, TrackedSession } from "./types";
|
|
4
|
+
import { queryWindowState } from "./pane-state-querier";
|
|
4
5
|
import { type SessionMapping } from "./decision-engine";
|
|
6
|
+
import { executeActions } from "./action-executor";
|
|
5
7
|
import type { SessionCreatedEvent } from "./session-created-event";
|
|
6
8
|
type OpencodeClient = PluginInput["client"];
|
|
7
9
|
export interface SessionCreatedHandlerDeps {
|
|
@@ -18,6 +20,8 @@ export interface SessionCreatedHandlerDeps {
|
|
|
18
20
|
getSessionMappings: () => SessionMapping[];
|
|
19
21
|
waitForSessionReady: (sessionId: string) => Promise<boolean>;
|
|
20
22
|
startPolling: () => void;
|
|
23
|
+
queryWindowState?: typeof queryWindowState;
|
|
24
|
+
executeActions?: typeof executeActions;
|
|
21
25
|
}
|
|
22
26
|
export declare function handleSessionCreated(deps: SessionCreatedHandlerDeps, event: SessionCreatedEvent): Promise<void>;
|
|
23
27
|
export {};
|
|
@@ -3,7 +3,7 @@ export declare const PLACEHOLDER_TEXT = "[user interrupted]";
|
|
|
3
3
|
type OpencodeClient = PluginInput["client"];
|
|
4
4
|
export declare function sanitizeEmptyMessagesBeforeSummarize(sessionID: string, client?: OpencodeClient): Promise<number>;
|
|
5
5
|
export declare function formatBytes(bytes: number): string;
|
|
6
|
-
export declare function getLastAssistant(sessionID: string, client:
|
|
6
|
+
export declare function getLastAssistant(sessionID: string, client: OpencodeClient, directory: string): Promise<{
|
|
7
7
|
info: Record<string, unknown>;
|
|
8
8
|
hasContent: boolean;
|
|
9
9
|
} | null>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { BoulderState } from "../../features/boulder-state";
|
|
3
|
+
import type { AtlasHookOptions, SessionState } from "./types";
|
|
4
|
+
export declare function handleCompletedBoulderIdle(input: {
|
|
5
|
+
ctx: PluginInput;
|
|
6
|
+
options?: AtlasHookOptions;
|
|
7
|
+
sessionID: string;
|
|
8
|
+
sessionState: SessionState;
|
|
9
|
+
boulderState: BoulderState;
|
|
10
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { AtlasHookOptions, SessionState } from "./types";
|
|
3
|
+
export declare function hasRunningBackgroundTasks(sessionID: string, options?: AtlasHookOptions): boolean;
|
|
4
|
+
export declare function injectContinuation(input: {
|
|
5
|
+
ctx: PluginInput;
|
|
6
|
+
sessionID: string;
|
|
7
|
+
sessionState: SessionState;
|
|
8
|
+
options?: AtlasHookOptions;
|
|
9
|
+
planName: string;
|
|
10
|
+
progress: {
|
|
11
|
+
total: number;
|
|
12
|
+
completed: number;
|
|
13
|
+
};
|
|
14
|
+
agent?: string;
|
|
15
|
+
worktreePath?: string;
|
|
16
|
+
idleSettleMs?: number;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
export declare function scheduleRetry(input: {
|
|
19
|
+
ctx: PluginInput;
|
|
20
|
+
sessionID: string;
|
|
21
|
+
sessionState: SessionState;
|
|
22
|
+
options?: AtlasHookOptions;
|
|
23
|
+
}): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
export declare function canContinueTrackedBoulderSession(input: {
|
|
3
|
+
client: PluginInput["client"];
|
|
4
|
+
sessionID: string;
|
|
5
|
+
sessionOrigin?: "direct" | "appended";
|
|
6
|
+
boulderSessionIDs: string[];
|
|
7
|
+
requiredAgent?: string;
|
|
8
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { ToolExecuteAfterInput, ToolExecuteAfterOutput } from "./types";
|
|
3
|
+
export declare function handleDirectWorkToolAfter(input: {
|
|
4
|
+
ctx: PluginInput;
|
|
5
|
+
pendingFilePaths: Map<string, string>;
|
|
6
|
+
pendingPlanSnapshots?: Map<string, string>;
|
|
7
|
+
toolInput: ToolExecuteAfterInput;
|
|
8
|
+
toolOutput: ToolExecuteAfterOutput;
|
|
9
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import { collectGitDiffStats, formatFileChanges } from "../../shared/git-worktree";
|
|
3
|
+
import type { PendingTaskRef, SessionState, ToolExecuteAfterInput, ToolExecuteAfterOutput } from "./types";
|
|
4
|
+
export declare function handleSubagentCompletionAfter(input: {
|
|
5
|
+
ctx: PluginInput;
|
|
6
|
+
pendingTaskRefs: Map<string, PendingTaskRef>;
|
|
7
|
+
autoCommit: boolean;
|
|
8
|
+
getState: (sessionID: string) => SessionState;
|
|
9
|
+
collectGitDiffStats: typeof collectGitDiffStats;
|
|
10
|
+
formatFileChanges: typeof formatFileChanges;
|
|
11
|
+
toolInput: ToolExecuteAfterInput;
|
|
12
|
+
toolOutput: ToolExecuteAfterOutput;
|
|
13
|
+
metadataSessionId: string | undefined;
|
|
14
|
+
}): Promise<void>;
|
|
@@ -23,6 +23,12 @@ type BackgroundUpdateCheckDeps = {
|
|
|
23
23
|
syncCachePackageJsonToIntent: typeof syncCachePackageJsonToIntent;
|
|
24
24
|
showUpdateAvailableToast: typeof showUpdateAvailableToast;
|
|
25
25
|
showAutoUpdatedToast: typeof showAutoUpdatedToast;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the workspace directory hosting the currently loaded plugin
|
|
28
|
+
* module, or `null` if the plugin is not running from a standard install
|
|
29
|
+
* layout. Used to detect OpenCode-managed sandboxes (see #4318).
|
|
30
|
+
*/
|
|
31
|
+
getModuleHostingWorkspace: () => string | null;
|
|
26
32
|
};
|
|
27
33
|
type BackgroundUpdateCheckRunner = (ctx: PluginInput, autoUpdate: boolean, getToastMessage: (isUpdate: boolean, latestVersion?: string) => string) => Promise<void>;
|
|
28
34
|
export declare function createBackgroundUpdateCheckRunner(overrides?: Partial<BackgroundUpdateCheckDeps>): BackgroundUpdateCheckRunner;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function ignoreToastError(error: unknown): void;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { AgentsMdCache } from "@oh-my-opencode/rules-engine";
|
|
2
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
3
|
+
import type { ContextLimitModelCacheState } from "../../shared/context-limit-resolver";
|
|
4
|
+
type ChatMessageInput = {
|
|
5
|
+
readonly sessionID: string;
|
|
6
|
+
readonly agent?: string;
|
|
7
|
+
};
|
|
8
|
+
type OutputPart = {
|
|
9
|
+
readonly type: string;
|
|
10
|
+
text?: string;
|
|
11
|
+
readonly [key: string]: unknown;
|
|
12
|
+
};
|
|
13
|
+
type ChatMessageOutput = {
|
|
14
|
+
readonly message: Record<string, unknown>;
|
|
15
|
+
readonly parts: OutputPart[];
|
|
16
|
+
};
|
|
17
|
+
type EventInput = {
|
|
18
|
+
readonly event: {
|
|
19
|
+
readonly type: string;
|
|
20
|
+
readonly properties?: unknown;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
type AgentsMdTruncator = {
|
|
24
|
+
readonly truncate: (sessionID: string, output: string) => Promise<{
|
|
25
|
+
readonly result: string;
|
|
26
|
+
readonly truncated: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
29
|
+
type HephaestusAgentsMdInjectorOptions = {
|
|
30
|
+
readonly agentsMdCache?: AgentsMdCache;
|
|
31
|
+
readonly truncator?: AgentsMdTruncator;
|
|
32
|
+
};
|
|
33
|
+
export declare function createHephaestusAgentsMdInjectorHook(ctx: PluginInput, modelCacheState?: ContextLimitModelCacheState, options?: HephaestusAgentsMdInjectorOptions): {
|
|
34
|
+
"chat.message": (input: ChatMessageInput, output: ChatMessageOutput) => Promise<void>;
|
|
35
|
+
event: ({ event }: EventInput) => Promise<void>;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createHephaestusAgentsMdInjectorHook } from "./hook";
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export { createCategorySkillReminderHook } from "./category-skill-reminder";
|
|
|
29
29
|
export { createRalphLoopHook, type RalphLoopHook } from "./ralph-loop";
|
|
30
30
|
export { createNoSisyphusGptHook } from "./no-sisyphus-gpt";
|
|
31
31
|
export { createNoHephaestusNonGptHook } from "./no-hephaestus-non-gpt";
|
|
32
|
+
export { createHephaestusAgentsMdInjectorHook } from "./hephaestus-agents-md-injector";
|
|
32
33
|
export { createAutoSlashCommandHook } from "./auto-slash-command";
|
|
33
34
|
export { createEditErrorRecoveryHook } from "./edit-error-recovery";
|
|
34
35
|
export { createPrometheusMdOnlyHook } from "./prometheus-md-only";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
export declare const JSON_ERROR_TOOL_EXCLUDE_LIST: readonly ["bash", "read", "glob", "grep", "webfetch", "look_at", "grep_app_searchgithub", "websearch_web_search_exa", "todowrite", "todoread"];
|
|
2
|
+
export declare const JSON_ERROR_TOOL_EXCLUDE_LIST: readonly ["bash", "read", "glob", "grep", "webfetch", "look_at", "grep_app_searchgithub", "websearch_web_search_exa", "todowrite", "todoread", "task", "call_omo_agent", "background_output", "session_read", "session_search", "session_info", "session_list", "skill", "skill_mcp"];
|
|
3
3
|
export declare const JSON_ERROR_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
4
4
|
export declare const JSON_ERROR_REMINDER = "\n[JSON PARSE ERROR - IMMEDIATE ACTION REQUIRED]\n\nYou sent invalid JSON arguments. The system could not parse your tool call.\nSTOP and do this NOW:\n\n1. LOOK at the error message above to see what was expected vs what you sent.\n2. CORRECT your JSON syntax (missing braces, unescaped quotes, trailing commas, etc).\n3. RETRY the tool call with valid JSON.\n\nDO NOT repeat the exact same invalid call.\n";
|
|
5
5
|
export declare function createJsonErrorRecoveryHook(_ctx: PluginInput): {
|
|
@@ -5,4 +5,5 @@ export type ParsedRalphLoopArguments = {
|
|
|
5
5
|
completionPromise?: string;
|
|
6
6
|
strategy?: RalphLoopStrategy;
|
|
7
7
|
};
|
|
8
|
+
export declare function isRalphLoopResumeArgument(rawArguments: string): boolean;
|
|
8
9
|
export declare function parseRalphLoopArguments(rawArguments: string): ParsedRalphLoopArguments;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopOptions } from "./types";
|
|
3
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
4
|
+
export declare const RAPID_IDLE_DEDUP_MS = 500;
|
|
5
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
6
|
+
export declare function hasActiveBackgroundTasks(backgroundManager: RalphLoopOptions["backgroundManager"], sessionID: string): boolean;
|
|
7
|
+
export declare function getRuntimeRetryActivitySessionID(eventType: string, props: Record<string, unknown> | undefined): string | undefined;
|
|
8
|
+
export declare function isSyntheticIdle(props: Record<string, unknown> | undefined): boolean;
|
|
9
|
+
export declare function isAbortError(error: unknown): boolean;
|
|
10
|
+
export declare function latestUserMessageIsInProgress(ctx: PluginInput, options: RalphLoopEventHandlerOptions, sessionID: string, now: number): Promise<boolean>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopState } from "./types";
|
|
3
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
4
|
+
export declare function handleCompletionIfDetected(ctx: PluginInput, options: RalphLoopEventHandlerOptions, input: {
|
|
5
|
+
readonly sessionID: string;
|
|
6
|
+
readonly state: RalphLoopState;
|
|
7
|
+
readonly verificationSessionID: string | undefined;
|
|
8
|
+
readonly runtimeErrorRetriedSessions: Map<string, number>;
|
|
9
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopState } from "./types";
|
|
3
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
4
|
+
type ContinueSettledIterationInput = {
|
|
5
|
+
readonly sessionID: string;
|
|
6
|
+
readonly state: RalphLoopState;
|
|
7
|
+
readonly runtimeErrorRetriedSessions: Map<string, number>;
|
|
8
|
+
readonly afterRuntimeError: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare function stopIfLatestAssistantMadeNoProgress(ctx: PluginInput, options: RalphLoopEventHandlerOptions, input: {
|
|
11
|
+
readonly sessionID: string;
|
|
12
|
+
readonly state: RalphLoopState;
|
|
13
|
+
readonly afterRuntimeError?: boolean;
|
|
14
|
+
}): Promise<boolean>;
|
|
15
|
+
export declare function continueSettledIteration(ctx: PluginInput, options: RalphLoopEventHandlerOptions, input: ContinueSettledIterationInput): Promise<void>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopState } from "./types";
|
|
3
|
+
export declare function showToastBestEffort(ctx: PluginInput, body: {
|
|
4
|
+
title: string;
|
|
5
|
+
message: string;
|
|
6
|
+
variant: "warning" | "info";
|
|
7
|
+
duration: number;
|
|
8
|
+
}): void;
|
|
9
|
+
export declare function showMaxIterationsToast(ctx: PluginInput, state: RalphLoopState): void;
|
|
10
|
+
export declare function showIterationToast(ctx: PluginInput, state: RalphLoopState): void;
|
|
11
|
+
export declare function showNoProgressToast(ctx: PluginInput): void;
|
|
12
|
+
export declare function showIterationCommitFailureToast(ctx: PluginInput): void;
|
|
13
|
+
export declare function showDispatchFailureToast(ctx: PluginInput, result: {
|
|
14
|
+
readonly status: string;
|
|
15
|
+
readonly error?: unknown;
|
|
16
|
+
}): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopState } from "./types";
|
|
3
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
4
|
+
export type EventHandlerRuntime = {
|
|
5
|
+
readonly inFlightSessions: Set<string>;
|
|
6
|
+
readonly runtimeErrorRetriedSessions: Map<string, number>;
|
|
7
|
+
readonly recentHandledSyntheticIdleAt: Map<string, number>;
|
|
8
|
+
};
|
|
9
|
+
export declare function getVerificationSessionID(state: RalphLoopState): string | undefined;
|
|
10
|
+
export declare function matchesLoopSession(state: RalphLoopState, sessionID: string, verificationSessionID: string | undefined): {
|
|
11
|
+
readonly parent: boolean;
|
|
12
|
+
readonly verification: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare function maxIterationsReached(state: RalphLoopState): boolean;
|
|
15
|
+
export declare function handleIdleEvent(ctx: PluginInput, options: RalphLoopEventHandlerOptions, runtime: EventHandlerRuntime, props: Record<string, unknown> | undefined, sessionID: string): Promise<void>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
3
|
+
type RalphLoopEvent = {
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly properties?: unknown;
|
|
6
|
+
};
|
|
7
|
+
export declare function createRalphLoopEventHandlerImpl(ctx: PluginInput, options: RalphLoopEventHandlerOptions): ({ event }: {
|
|
8
|
+
readonly event: RalphLoopEvent;
|
|
9
|
+
}) => Promise<void>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
3
|
+
import { type EventHandlerRuntime } from "./event-handler-idle";
|
|
4
|
+
export declare function handleRuntimeErrorEvent(ctx: PluginInput, options: RalphLoopEventHandlerOptions, runtime: EventHandlerRuntime, props: Record<string, unknown> | undefined, sessionID: string): Promise<void>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RalphLoopOptions, IterationCommitExpectation, RalphLoopState } from "./types";
|
|
2
|
+
export type LoopStateController = {
|
|
3
|
+
getState: () => RalphLoopState | null;
|
|
4
|
+
clear: () => boolean;
|
|
5
|
+
incrementIteration: (expected?: IterationCommitExpectation) => RalphLoopState | null;
|
|
6
|
+
setSessionID: (sessionID: string) => RalphLoopState | null;
|
|
7
|
+
markVerificationPending: (sessionID: string) => RalphLoopState | null;
|
|
8
|
+
setVerificationSessionID: (sessionID: string, verificationSessionID: string) => RalphLoopState | null;
|
|
9
|
+
restartAfterFailedVerification: (sessionID: string, messageCountAtStart?: number) => RalphLoopState | null;
|
|
10
|
+
clearVerificationState: (sessionID: string, messageCountAtStart?: number) => RalphLoopState | null;
|
|
11
|
+
};
|
|
12
|
+
export type RalphLoopEventHandlerOptions = {
|
|
13
|
+
directory: string;
|
|
14
|
+
apiTimeoutMs: number;
|
|
15
|
+
idleSettleMs: number;
|
|
16
|
+
getTranscriptPath: (sessionID: string) => string | undefined;
|
|
17
|
+
checkSessionExists?: RalphLoopOptions["checkSessionExists"];
|
|
18
|
+
backgroundManager?: RalphLoopOptions["backgroundManager"];
|
|
19
|
+
loopState: LoopStateController;
|
|
20
|
+
};
|
|
@@ -16,6 +16,7 @@ export declare function createLoopStateController(options: {
|
|
|
16
16
|
clear(): boolean;
|
|
17
17
|
incrementIteration(expected?: IterationCommitExpectation): RalphLoopState | null;
|
|
18
18
|
setSessionID(sessionID: string): RalphLoopState | null;
|
|
19
|
+
resumeLoop(sessionID: string): RalphLoopState | null;
|
|
19
20
|
setMessageCountAtStart(sessionID: string, messageCountAtStart: number, expectedStartedAt?: string): RalphLoopState | null;
|
|
20
21
|
markVerificationPending(sessionID: string): RalphLoopState | null;
|
|
21
22
|
setVerificationSessionID(sessionID: string, verificationSessionID: string): RalphLoopState | null;
|
|
@@ -1,28 +1,8 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
import type {
|
|
3
|
-
type LoopStateController = {
|
|
4
|
-
getState: () => RalphLoopState | null;
|
|
5
|
-
clear: () => boolean;
|
|
6
|
-
incrementIteration: (expected?: IterationCommitExpectation) => RalphLoopState | null;
|
|
7
|
-
setSessionID: (sessionID: string) => RalphLoopState | null;
|
|
8
|
-
markVerificationPending: (sessionID: string) => RalphLoopState | null;
|
|
9
|
-
setVerificationSessionID: (sessionID: string, verificationSessionID: string) => RalphLoopState | null;
|
|
10
|
-
restartAfterFailedVerification: (sessionID: string, messageCountAtStart?: number) => RalphLoopState | null;
|
|
11
|
-
clearVerificationState: (sessionID: string, messageCountAtStart?: number) => RalphLoopState | null;
|
|
12
|
-
};
|
|
13
|
-
type RalphLoopEventHandlerOptions = {
|
|
14
|
-
directory: string;
|
|
15
|
-
apiTimeoutMs: number;
|
|
16
|
-
idleSettleMs: number;
|
|
17
|
-
getTranscriptPath: (sessionID: string) => string | undefined;
|
|
18
|
-
checkSessionExists?: RalphLoopOptions["checkSessionExists"];
|
|
19
|
-
backgroundManager?: RalphLoopOptions["backgroundManager"];
|
|
20
|
-
loopState: LoopStateController;
|
|
21
|
-
};
|
|
2
|
+
import type { RalphLoopEventHandlerOptions } from "./event-handler-types";
|
|
22
3
|
export declare function createRalphLoopEventHandler(ctx: PluginInput, options: RalphLoopEventHandlerOptions): ({ event }: {
|
|
23
|
-
event: {
|
|
24
|
-
type: string;
|
|
25
|
-
properties?: unknown;
|
|
4
|
+
readonly event: {
|
|
5
|
+
readonly type: string;
|
|
6
|
+
readonly properties?: unknown;
|
|
26
7
|
};
|
|
27
8
|
}) => Promise<void>;
|
|
28
|
-
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PNG_SIGNATURE: Buffer<ArrayBuffer>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function crc32(data: Buffer): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function decodePngPixels(idatData: Buffer, width: number, height: number, bytesPerPixel: number): Buffer | null;
|