oh-my-opencode-gpt-slim 0.0.3
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/LICENSE.md +82 -0
- package/README.md +84 -0
- package/README.zh-cn.md +341 -0
- package/bin/oh-my-opencode-gpt-slim.js +140 -0
- package/bin/platform.d.ts +14 -0
- package/bin/platform.js +64 -0
- package/dist/agents/agent-builder.d.ts +7 -0
- package/dist/agents/atlas/agent.d.ts +35 -0
- package/dist/agents/atlas/default.d.ts +11 -0
- package/dist/agents/atlas/gemini.d.ts +11 -0
- package/dist/agents/atlas/gpt.d.ts +11 -0
- package/dist/agents/atlas/index.d.ts +2 -0
- package/dist/agents/atlas/prompt-section-builder.d.ts +13 -0
- package/dist/agents/builtin-agents/agent-overrides.d.ts +12 -0
- package/dist/agents/builtin-agents/atlas-agent.d.ts +17 -0
- package/dist/agents/builtin-agents/available-skills.d.ts +4 -0
- package/dist/agents/builtin-agents/environment-context.d.ts +6 -0
- package/dist/agents/builtin-agents/general-agents.d.ts +24 -0
- package/dist/agents/builtin-agents/model-resolution.d.ts +24 -0
- package/dist/agents/builtin-agents/resolve-file-uri.d.ts +1 -0
- package/dist/agents/builtin-agents/sisyphus-agent.d.ts +20 -0
- package/dist/agents/builtin-agents.d.ts +6 -0
- package/dist/agents/custom-agent-summaries.d.ts +8 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +34 -0
- package/dist/agents/env-context.d.ts +7 -0
- package/dist/agents/explore.d.ts +7 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/librarian.d.ts +7 -0
- package/dist/agents/metis.d.ts +21 -0
- package/dist/agents/momus.d.ts +25 -0
- package/dist/agents/multimodal-looker.d.ts +7 -0
- package/dist/agents/oracle.d.ts +7 -0
- package/dist/agents/prometheus/behavioral-summary.d.ts +6 -0
- package/dist/agents/prometheus/gemini.d.ts +12 -0
- package/dist/agents/prometheus/gpt.d.ts +11 -0
- package/dist/agents/prometheus/high-accuracy-mode.d.ts +6 -0
- package/dist/agents/prometheus/identity-constraints.d.ts +7 -0
- package/dist/agents/prometheus/index.d.ts +2 -0
- package/dist/agents/prometheus/interview-mode.d.ts +7 -0
- package/dist/agents/prometheus/plan-generation.d.ts +7 -0
- package/dist/agents/prometheus/plan-template.d.ts +7 -0
- package/dist/agents/prometheus/system-prompt.d.ts +28 -0
- package/dist/agents/sisyphus/default.d.ts +9 -0
- package/dist/agents/sisyphus/gemini.d.ts +20 -0
- package/dist/agents/sisyphus/gpt-5-4.d.ts +13 -0
- package/dist/agents/sisyphus/index.d.ts +11 -0
- package/dist/agents/sisyphus-junior/agent.d.ts +27 -0
- package/dist/agents/sisyphus-junior/default.d.ts +9 -0
- package/dist/agents/sisyphus-junior/gemini.d.ts +10 -0
- package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +8 -0
- package/dist/agents/sisyphus-junior/gpt-5-4.d.ts +11 -0
- package/dist/agents/sisyphus-junior/gpt.d.ts +9 -0
- package/dist/agents/sisyphus-junior/index.d.ts +7 -0
- package/dist/agents/sisyphus.d.ts +8 -0
- package/dist/agents/types.d.ts +67 -0
- package/dist/cli/cli-installer.d.ts +2 -0
- package/dist/cli/cli-program.d.ts +1 -0
- package/dist/cli/config-manager/add-plugin-to-opencode-config.d.ts +2 -0
- package/dist/cli/config-manager/bun-install.d.ts +7 -0
- package/dist/cli/config-manager/config-context.d.ts +13 -0
- package/dist/cli/config-manager/deep-merge-record.d.ts +1 -0
- package/dist/cli/config-manager/detect-current-config.d.ts +2 -0
- package/dist/cli/config-manager/ensure-config-directory-exists.d.ts +1 -0
- package/dist/cli/config-manager/format-error-with-suggestion.d.ts +1 -0
- package/dist/cli/config-manager/generate-omo-config.d.ts +2 -0
- package/dist/cli/config-manager/npm-dist-tags.d.ts +7 -0
- package/dist/cli/config-manager/opencode-binary.d.ts +2 -0
- package/dist/cli/config-manager/opencode-config-format.d.ts +5 -0
- package/dist/cli/config-manager/parse-opencode-config-file.d.ts +10 -0
- package/dist/cli/config-manager/plugin-array-updater.d.ts +1 -0
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -0
- package/dist/cli/config-manager/write-omo-config.d.ts +2 -0
- package/dist/cli/config-manager.d.ts +11 -0
- package/dist/cli/doctor/checks/config.d.ts +2 -0
- package/dist/cli/doctor/checks/dependencies.d.ts +4 -0
- package/dist/cli/doctor/checks/index.d.ts +7 -0
- package/dist/cli/doctor/checks/model-resolution-cache.d.ts +2 -0
- package/dist/cli/doctor/checks/model-resolution-config.d.ts +2 -0
- package/dist/cli/doctor/checks/model-resolution-details.d.ts +6 -0
- package/dist/cli/doctor/checks/model-resolution-effective-model.d.ts +3 -0
- package/dist/cli/doctor/checks/model-resolution-types.d.ts +37 -0
- package/dist/cli/doctor/checks/model-resolution-variant.d.ts +5 -0
- package/dist/cli/doctor/checks/model-resolution.d.ts +6 -0
- package/dist/cli/doctor/checks/system-binary.d.ts +13 -0
- package/dist/cli/doctor/checks/system-loaded-version.d.ts +10 -0
- package/dist/cli/doctor/checks/system-plugin.d.ts +17 -0
- package/dist/cli/doctor/checks/system.d.ts +3 -0
- package/dist/cli/doctor/checks/tools-gh.d.ts +10 -0
- package/dist/cli/doctor/checks/tools-lsp.d.ts +6 -0
- package/dist/cli/doctor/checks/tools-mcp.d.ts +3 -0
- package/dist/cli/doctor/checks/tools.d.ts +3 -0
- package/dist/cli/doctor/constants.d.ts +29 -0
- package/dist/cli/doctor/format-default.d.ts +2 -0
- package/dist/cli/doctor/format-shared.d.ts +6 -0
- package/dist/cli/doctor/format-status.d.ts +2 -0
- package/dist/cli/doctor/format-verbose.d.ts +2 -0
- package/dist/cli/doctor/formatter.d.ts +3 -0
- package/dist/cli/doctor/index.d.ts +5 -0
- package/dist/cli/doctor/runner.d.ts +5 -0
- package/dist/cli/doctor/types.d.ts +124 -0
- package/dist/cli/fallback-chain-resolution.d.ts +10 -0
- package/dist/cli/get-local-version/formatter.d.ts +3 -0
- package/dist/cli/get-local-version/get-local-version.d.ts +2 -0
- package/dist/cli/get-local-version/index.d.ts +2 -0
- package/dist/cli/get-local-version/types.d.ts +13 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +29033 -0
- package/dist/cli/install-validators.d.ts +32 -0
- package/dist/cli/install.d.ts +2 -0
- package/dist/cli/mcp-oauth/index.d.ts +6 -0
- package/dist/cli/mcp-oauth/login.d.ts +6 -0
- package/dist/cli/mcp-oauth/logout.d.ts +4 -0
- package/dist/cli/mcp-oauth/status.d.ts +1 -0
- package/dist/cli/model-fallback-requirements.d.ts +3 -0
- package/dist/cli/model-fallback-types.d.ts +26 -0
- package/dist/cli/model-fallback.d.ts +5 -0
- package/dist/cli/openai-only-model-catalog.d.ts +3 -0
- package/dist/cli/plugin-reference.d.ts +9 -0
- package/dist/cli/provider-availability.d.ts +4 -0
- package/dist/cli/provider-model-id-transform.d.ts +1 -0
- package/dist/cli/run/agent-profile-colors.d.ts +2 -0
- package/dist/cli/run/agent-resolver.d.ts +5 -0
- package/dist/cli/run/completion.d.ts +2 -0
- package/dist/cli/run/continuation-state.d.ts +9 -0
- package/dist/cli/run/display-chars.d.ts +5 -0
- package/dist/cli/run/event-formatting.d.ts +3 -0
- package/dist/cli/run/event-handlers.d.ts +11 -0
- package/dist/cli/run/event-state.d.ts +49 -0
- package/dist/cli/run/event-stream-processor.d.ts +3 -0
- package/dist/cli/run/events.d.ts +4 -0
- package/dist/cli/run/index.d.ts +9 -0
- package/dist/cli/run/json-output.d.ts +12 -0
- package/dist/cli/run/on-complete-hook.d.ts +7 -0
- package/dist/cli/run/opencode-binary-resolver.d.ts +5 -0
- package/dist/cli/run/output-renderer.d.ts +7 -0
- package/dist/cli/run/poll-for-completion.d.ts +10 -0
- package/dist/cli/run/runner.d.ts +5 -0
- package/dist/cli/run/server-connection.d.ts +6 -0
- package/dist/cli/run/session-resolver.d.ts +6 -0
- package/dist/cli/run/stdin-suppression.d.ts +12 -0
- package/dist/cli/run/timestamp-output.d.ts +5 -0
- package/dist/cli/run/tool-input-preview.d.ts +6 -0
- package/dist/cli/run/types.d.ts +131 -0
- package/dist/cli/tui-install-prompts.d.ts +2 -0
- package/dist/cli/tui-installer.d.ts +2 -0
- package/dist/cli/types.d.ts +39 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/schema/agent-names.d.ts +47 -0
- package/dist/config/schema/agent-overrides.d.ts +1181 -0
- package/dist/config/schema/babysitting.d.ts +5 -0
- package/dist/config/schema/background-task.d.ts +10 -0
- package/dist/config/schema/browser-automation.d.ts +17 -0
- package/dist/config/schema/categories.d.ts +78 -0
- package/dist/config/schema/claude-code.d.ts +11 -0
- package/dist/config/schema/commands.d.ts +11 -0
- package/dist/config/schema/comment-checker.d.ts +5 -0
- package/dist/config/schema/dynamic-context-pruning.d.ts +28 -0
- package/dist/config/schema/experimental.d.ts +40 -0
- package/dist/config/schema/fallback-models.d.ts +3 -0
- package/dist/config/schema/git-master.d.ts +6 -0
- package/dist/config/schema/hooks.d.ts +51 -0
- package/dist/config/schema/internal/permission.d.ts +44 -0
- package/dist/config/schema/notification.d.ts +5 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +1307 -0
- package/dist/config/schema/ralph-loop.d.ts +11 -0
- package/dist/config/schema/runtime-fallback.d.ts +10 -0
- package/dist/config/schema/sisyphus-agent.d.ts +8 -0
- package/dist/config/schema/sisyphus.d.ts +15 -0
- package/dist/config/schema/skills.d.ts +58 -0
- package/dist/config/schema/start-work.d.ts +5 -0
- package/dist/config/schema/tmux.d.ts +23 -0
- package/dist/config/schema/websearch.d.ts +13 -0
- package/dist/config/schema.d.ts +24 -0
- package/dist/create-hooks.d.ts +100 -0
- package/dist/create-managers.d.ts +20 -0
- package/dist/create-tools.d.ts +20 -0
- package/dist/features/background-agent/background-task-notification-template.d.ts +10 -0
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +3 -0
- package/dist/features/background-agent/concurrency.d.ts +27 -0
- package/dist/features/background-agent/constants.d.ts +45 -0
- package/dist/features/background-agent/duration-formatter.d.ts +1 -0
- package/dist/features/background-agent/error-classifier.d.ts +10 -0
- package/dist/features/background-agent/fallback-retry-handler.d.ts +16 -0
- package/dist/features/background-agent/index.d.ts +2 -0
- package/dist/features/background-agent/manager.d.ts +140 -0
- package/dist/features/background-agent/opencode-client.d.ts +2 -0
- package/dist/features/background-agent/process-cleanup.d.ts +8 -0
- package/dist/features/background-agent/remove-task-toast-tracking.d.ts +1 -0
- package/dist/features/background-agent/session-idle-event-handler.d.ts +10 -0
- package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +6 -0
- package/dist/features/background-agent/spawner.d.ts +14 -0
- package/dist/features/background-agent/state.d.ts +35 -0
- package/dist/features/background-agent/task-history.d.ts +18 -0
- package/dist/features/background-agent/task-poller.d.ts +21 -0
- package/dist/features/background-agent/types.d.ts +90 -0
- package/dist/features/boulder-state/constants.d.ts +10 -0
- package/dist/features/boulder-state/index.d.ts +3 -0
- package/dist/features/boulder-state/storage.d.ts +28 -0
- package/dist/features/boulder-state/types.d.ts +28 -0
- package/dist/features/builtin-commands/commands.d.ts +2 -0
- package/dist/features/builtin-commands/index.d.ts +2 -0
- package/dist/features/builtin-commands/templates/handoff.d.ts +1 -0
- package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
- package/dist/features/builtin-commands/templates/ralph-loop.d.ts +3 -0
- package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
- package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +6 -0
- package/dist/features/builtin-skills/index.d.ts +2 -0
- package/dist/features/builtin-skills/skills/dev-browser.d.ts +2 -0
- package/dist/features/builtin-skills/skills/frontend-ui-ux.d.ts +2 -0
- package/dist/features/builtin-skills/skills/git-master-skill-metadata.d.ts +2 -0
- package/dist/features/builtin-skills/skills/git-master.d.ts +2 -0
- package/dist/features/builtin-skills/skills/index.d.ts +5 -0
- package/dist/features/builtin-skills/skills/playwright-cli.d.ts +10 -0
- package/dist/features/builtin-skills/skills/playwright.d.ts +3 -0
- package/dist/features/builtin-skills/skills.d.ts +7 -0
- package/dist/features/builtin-skills/types.d.ts +15 -0
- package/dist/features/claude-code-agent-loader/index.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +3 -0
- package/dist/features/claude-code-agent-loader/types.d.ts +15 -0
- package/dist/features/claude-code-command-loader/index.d.ts +2 -0
- package/dist/features/claude-code-command-loader/loader.d.ts +6 -0
- package/dist/features/claude-code-command-loader/types.d.ts +42 -0
- package/dist/features/claude-code-mcp-loader/env-expander.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/index.d.ts +10 -0
- package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
- package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/types.d.ts +39 -0
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/command-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/discovery.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/hook-loader.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/index.d.ts +10 -0
- package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
- package/dist/features/claude-code-plugin-loader/mcp-server-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/plugin-path-resolver.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/skill-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +196 -0
- package/dist/features/claude-code-session-state/index.d.ts +1 -0
- package/dist/features/claude-code-session-state/state.d.ts +10 -0
- package/dist/features/claude-tasks/session-storage.d.ts +9 -0
- package/dist/features/claude-tasks/storage.d.ts +14 -0
- package/dist/features/claude-tasks/types.d.ts +25 -0
- package/dist/features/context-injector/collector.d.ts +11 -0
- package/dist/features/context-injector/index.d.ts +3 -0
- package/dist/features/context-injector/injector.d.ts +39 -0
- package/dist/features/context-injector/types.d.ts +83 -0
- package/dist/features/hook-message-injector/constants.d.ts +1 -0
- package/dist/features/hook-message-injector/index.d.ts +4 -0
- package/dist/features/hook-message-injector/injector.d.ts +69 -0
- package/dist/features/hook-message-injector/types.d.ts +46 -0
- package/dist/features/mcp-oauth/callback-server.d.ts +11 -0
- package/dist/features/mcp-oauth/dcr.d.ts +34 -0
- package/dist/features/mcp-oauth/discovery.d.ts +8 -0
- package/dist/features/mcp-oauth/oauth-authorization-flow.d.ts +26 -0
- package/dist/features/mcp-oauth/provider.d.ts +29 -0
- package/dist/features/mcp-oauth/resource-indicator.d.ts +2 -0
- package/dist/features/mcp-oauth/schema.d.ts +6 -0
- package/dist/features/mcp-oauth/step-up.d.ts +8 -0
- package/dist/features/mcp-oauth/storage.d.ts +17 -0
- package/dist/features/opencode-skill-loader/allowed-tools-parser.d.ts +1 -0
- package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
- package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
- package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +7 -0
- package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
- package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +2 -0
- package/dist/features/opencode-skill-loader/index.d.ts +15 -0
- package/dist/features/opencode-skill-loader/loaded-skill-from-path.d.ts +9 -0
- package/dist/features/opencode-skill-loader/loaded-skill-template-extractor.d.ts +2 -0
- package/dist/features/opencode-skill-loader/loader.d.ts +19 -0
- package/dist/features/opencode-skill-loader/merger/builtin-skill-converter.d.ts +3 -0
- package/dist/features/opencode-skill-loader/merger/config-skill-entry-loader.d.ts +3 -0
- package/dist/features/opencode-skill-loader/merger/scope-priority.d.ts +2 -0
- package/dist/features/opencode-skill-loader/merger/skill-definition-merger.d.ts +3 -0
- package/dist/features/opencode-skill-loader/merger/skills-config-normalizer.d.ts +11 -0
- package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
- package/dist/features/opencode-skill-loader/skill-content.d.ts +5 -0
- package/dist/features/opencode-skill-loader/skill-deduplication.d.ts +2 -0
- package/dist/features/opencode-skill-loader/skill-definition-record.d.ts +3 -0
- package/dist/features/opencode-skill-loader/skill-directory-loader.d.ts +8 -0
- package/dist/features/opencode-skill-loader/skill-discovery.d.ts +4 -0
- package/dist/features/opencode-skill-loader/skill-mcp-config.d.ts +3 -0
- package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +8 -0
- package/dist/features/opencode-skill-loader/skill-template-resolver.d.ts +11 -0
- package/dist/features/opencode-skill-loader/types.d.ts +34 -0
- package/dist/features/run-continuation-state/constants.d.ts +1 -0
- package/dist/features/run-continuation-state/index.d.ts +3 -0
- package/dist/features/run-continuation-state/storage.d.ts +6 -0
- package/dist/features/run-continuation-state/types.d.ts +12 -0
- package/dist/features/skill-mcp-manager/cleanup.d.ts +8 -0
- package/dist/features/skill-mcp-manager/connection-type.d.ts +7 -0
- package/dist/features/skill-mcp-manager/connection.d.ts +15 -0
- package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
- package/dist/features/skill-mcp-manager/http-client.d.ts +3 -0
- package/dist/features/skill-mcp-manager/index.d.ts +2 -0
- package/dist/features/skill-mcp-manager/manager.d.ts +21 -0
- package/dist/features/skill-mcp-manager/oauth-handler.d.ts +9 -0
- package/dist/features/skill-mcp-manager/stdio-client.d.ts +3 -0
- package/dist/features/skill-mcp-manager/types.d.ts +55 -0
- package/dist/features/task-toast-manager/index.d.ts +2 -0
- package/dist/features/task-toast-manager/manager.d.ts +64 -0
- package/dist/features/task-toast-manager/types.d.ts +25 -0
- package/dist/features/tmux-subagent/action-executor-core.d.ts +21 -0
- package/dist/features/tmux-subagent/action-executor.d.ts +20 -0
- package/dist/features/tmux-subagent/cleanup.d.ts +9 -0
- package/dist/features/tmux-subagent/decision-engine.d.ts +7 -0
- package/dist/features/tmux-subagent/event-handlers.d.ts +6 -0
- package/dist/features/tmux-subagent/grid-planning.d.ts +21 -0
- package/dist/features/tmux-subagent/index.d.ts +15 -0
- package/dist/features/tmux-subagent/manager.d.ts +68 -0
- package/dist/features/tmux-subagent/oldest-agent-pane.d.ts +7 -0
- package/dist/features/tmux-subagent/pane-split-availability.d.ts +8 -0
- package/dist/features/tmux-subagent/pane-state-querier.d.ts +2 -0
- package/dist/features/tmux-subagent/polling-constants.d.ts +3 -0
- package/dist/features/tmux-subagent/polling-manager.d.ts +13 -0
- package/dist/features/tmux-subagent/polling.d.ts +19 -0
- package/dist/features/tmux-subagent/session-created-event.d.ts +14 -0
- package/dist/features/tmux-subagent/session-created-handler.d.ts +22 -0
- package/dist/features/tmux-subagent/session-deleted-handler.d.ts +15 -0
- package/dist/features/tmux-subagent/session-message-count.d.ts +1 -0
- package/dist/features/tmux-subagent/session-ready-waiter.d.ts +7 -0
- package/dist/features/tmux-subagent/session-status-parser.d.ts +5 -0
- package/dist/features/tmux-subagent/spawn-action-decider.d.ts +4 -0
- package/dist/features/tmux-subagent/spawn-target-finder.d.ts +6 -0
- package/dist/features/tmux-subagent/tmux-grid-constants.d.ts +11 -0
- package/dist/features/tmux-subagent/types.d.ts +55 -0
- package/dist/features/tool-metadata-store/index.d.ts +2 -0
- package/dist/features/tool-metadata-store/store.d.ts +39 -0
- package/dist/hooks/auto-update-checker/cache.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker/cached-version.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/check-for-update.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker/config-paths.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/latest-version.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/local-dev-path.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker/local-dev-version.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/plugin-entry.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +6 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +6 -0
- package/dist/hooks/auto-update-checker/hook.d.ts +10 -0
- package/dist/hooks/auto-update-checker/index.d.ts +5 -0
- package/dist/hooks/auto-update-checker/types.d.ts +20 -0
- package/dist/hooks/auto-update-checker/version-channel.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/types.d.ts +14 -0
- package/dist/hooks/directory-agents-injector/constants.d.ts +2 -0
- package/dist/hooks/directory-agents-injector/finder.d.ts +5 -0
- package/dist/hooks/directory-agents-injector/hook.d.ts +28 -0
- package/dist/hooks/directory-agents-injector/index.d.ts +1 -0
- package/dist/hooks/directory-agents-injector/injector.d.ts +16 -0
- package/dist/hooks/directory-agents-injector/storage.d.ts +1 -0
- package/dist/hooks/directory-readme-injector/constants.d.ts +2 -0
- package/dist/hooks/directory-readme-injector/finder.d.ts +5 -0
- package/dist/hooks/directory-readme-injector/hook.d.ts +28 -0
- package/dist/hooks/directory-readme-injector/index.d.ts +1 -0
- package/dist/hooks/directory-readme-injector/injector.d.ts +16 -0
- package/dist/hooks/directory-readme-injector/storage.d.ts +1 -0
- package/dist/hooks/edit-error-recovery/hook.d.ts +31 -0
- package/dist/hooks/edit-error-recovery/index.d.ts +1 -0
- package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +28 -0
- package/dist/hooks/hashline-edit-diff-enhancer/index.d.ts +1 -0
- package/dist/hooks/hashline-read-enhancer/hook.d.ts +18 -0
- package/dist/hooks/hashline-read-enhancer/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/model-fallback/hook.d.ts +60 -0
- package/dist/hooks/ralph-loop/command-arguments.d.ts +7 -0
- package/dist/hooks/ralph-loop/constants.d.ts +3 -0
- package/dist/hooks/ralph-loop/storage.d.ts +18 -0
- package/dist/hooks/rules-injector/cache.d.ts +8 -0
- package/dist/hooks/rules-injector/constants.d.ts +7 -0
- package/dist/hooks/rules-injector/finder.d.ts +3 -0
- package/dist/hooks/rules-injector/hook.d.ts +28 -0
- package/dist/hooks/rules-injector/index.d.ts +2 -0
- package/dist/hooks/rules-injector/injector.d.ts +20 -0
- package/dist/hooks/rules-injector/matcher.d.ts +21 -0
- package/dist/hooks/rules-injector/output-path.d.ts +5 -0
- package/dist/hooks/rules-injector/parser.d.ts +18 -0
- package/dist/hooks/rules-injector/project-root-finder.d.ts +8 -0
- package/dist/hooks/rules-injector/rule-distance.d.ts +10 -0
- package/dist/hooks/rules-injector/rule-file-finder.d.ts +15 -0
- package/dist/hooks/rules-injector/rule-file-scanner.d.ts +14 -0
- package/dist/hooks/rules-injector/storage.d.ts +9 -0
- package/dist/hooks/rules-injector/types.d.ts +54 -0
- package/dist/hooks/runtime-fallback/agent-resolver.d.ts +5 -0
- package/dist/hooks/runtime-fallback/auto-retry.d.ts +10 -0
- package/dist/hooks/runtime-fallback/chat-message-handler.d.ts +20 -0
- package/dist/hooks/runtime-fallback/constants.d.ts +19 -0
- package/dist/hooks/runtime-fallback/error-classifier.d.ts +17 -0
- package/dist/hooks/runtime-fallback/event-handler.d.ts +8 -0
- package/dist/hooks/runtime-fallback/fallback-models.d.ts +2 -0
- package/dist/hooks/runtime-fallback/fallback-state.d.ts +6 -0
- package/dist/hooks/runtime-fallback/hook.d.ts +3 -0
- package/dist/hooks/runtime-fallback/index.d.ts +2 -0
- package/dist/hooks/runtime-fallback/message-update-handler.d.ts +5 -0
- package/dist/hooks/runtime-fallback/types.d.ts +59 -0
- package/dist/hooks/session-recovery/constants.d.ts +4 -0
- package/dist/hooks/session-recovery/detect-error-type.d.ts +4 -0
- package/dist/hooks/session-recovery/hook.d.ts +20 -0
- package/dist/hooks/session-recovery/index.d.ts +5 -0
- package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +13 -0
- package/dist/hooks/session-recovery/recover-thinking-block-order.d.ts +5 -0
- package/dist/hooks/session-recovery/recover-thinking-disabled-violation.d.ts +5 -0
- package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +5 -0
- package/dist/hooks/session-recovery/recover-unavailable-tool.d.ts +5 -0
- package/dist/hooks/session-recovery/resume.d.ts +7 -0
- package/dist/hooks/session-recovery/storage/empty-messages.d.ts +3 -0
- package/dist/hooks/session-recovery/storage/empty-text.d.ts +7 -0
- package/dist/hooks/session-recovery/storage/message-dir.d.ts +1 -0
- package/dist/hooks/session-recovery/storage/messages-reader.d.ts +6 -0
- package/dist/hooks/session-recovery/storage/orphan-thinking-search.d.ts +2 -0
- package/dist/hooks/session-recovery/storage/part-content.d.ts +3 -0
- package/dist/hooks/session-recovery/storage/part-id.d.ts +1 -0
- package/dist/hooks/session-recovery/storage/parts-reader.d.ts +6 -0
- package/dist/hooks/session-recovery/storage/text-part-injector.d.ts +5 -0
- package/dist/hooks/session-recovery/storage/thinking-block-search.d.ts +2 -0
- package/dist/hooks/session-recovery/storage/thinking-prepend.d.ts +5 -0
- package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +5 -0
- package/dist/hooks/session-recovery/storage.d.ts +20 -0
- package/dist/hooks/session-recovery/types.d.ts +91 -0
- package/dist/hooks/shared/compaction-model-resolver.d.ts +5 -0
- package/dist/hooks/tool-output-truncator.d.ts +20 -0
- package/dist/hooks/write-existing-file-guard/hook.d.ts +3 -0
- package/dist/hooks/write-existing-file-guard/index.d.ts +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +79805 -0
- package/dist/mcp/context7.d.ts +9 -0
- package/dist/mcp/grep-app.d.ts +6 -0
- package/dist/mcp/index.d.ts +10 -0
- package/dist/mcp/types.d.ts +9 -0
- package/dist/mcp/websearch.d.ts +11 -0
- package/dist/oh-my-opencode.schema.json +3643 -0
- package/dist/plugin/available-categories.d.ts +3 -0
- package/dist/plugin/chat-headers.d.ts +4 -0
- package/dist/plugin/chat-message.d.ts +31 -0
- package/dist/plugin/chat-params.d.ts +27 -0
- package/dist/plugin/event.d.ts +21 -0
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +17 -0
- package/dist/plugin/hooks/create-core-hooks.d.ts +23 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +18 -0
- package/dist/plugin/hooks/create-skill-hooks.d.ts +13 -0
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +19 -0
- package/dist/plugin/hooks/create-transform-hooks.d.ts +12 -0
- package/dist/plugin/messages-transform.d.ts +13 -0
- package/dist/plugin/recent-synthetic-idles.d.ts +6 -0
- package/dist/plugin/session-agent-resolver.d.ts +19 -0
- package/dist/plugin/session-status-normalizer.d.ts +8 -0
- package/dist/plugin/skill-context.d.ts +14 -0
- package/dist/plugin/system-transform.d.ts +10 -0
- package/dist/plugin/tool-execute-after.d.ts +14 -0
- package/dist/plugin/tool-execute-before.d.ts +12 -0
- package/dist/plugin/tool-registry.d.ts +16 -0
- package/dist/plugin/types.d.ts +18 -0
- package/dist/plugin/ultrawork-db-model-override.d.ts +11 -0
- package/dist/plugin/ultrawork-model-override.d.ts +37 -0
- package/dist/plugin/unstable-agent-babysitter.d.ts +8 -0
- package/dist/plugin-config.d.ts +5 -0
- package/dist/plugin-handlers/agent-config-handler.d.ts +11 -0
- package/dist/plugin-handlers/agent-key-remapper.d.ts +1 -0
- package/dist/plugin-handlers/agent-priority-order.d.ts +1 -0
- package/dist/plugin-handlers/category-config-resolver.d.ts +2 -0
- package/dist/plugin-handlers/command-config-handler.d.ts +10 -0
- package/dist/plugin-handlers/config-handler.d.ts +12 -0
- package/dist/plugin-handlers/index.d.ts +10 -0
- package/dist/plugin-handlers/mcp-config-handler.d.ts +7 -0
- package/dist/plugin-handlers/plan-model-inheritance.d.ts +1 -0
- package/dist/plugin-handlers/plugin-components-loader.d.ts +22 -0
- package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +23 -0
- package/dist/plugin-handlers/provider-config-handler.d.ts +5 -0
- package/dist/plugin-handlers/tool-config-handler.d.ts +6 -0
- package/dist/plugin-interface.d.ts +21 -0
- package/dist/plugin-state.d.ts +5 -0
- package/dist/shared/agent-display-names.d.ts +17 -0
- package/dist/shared/agent-tool-restrictions.d.ts +7 -0
- package/dist/shared/agent-variant.d.ts +9 -0
- package/dist/shared/binary-downloader.d.ts +10 -0
- package/dist/shared/claude-config-dir.d.ts +1 -0
- package/dist/shared/command-executor/embedded-commands.d.ts +7 -0
- package/dist/shared/command-executor/execute-command.d.ts +1 -0
- package/dist/shared/command-executor/execute-hook-command.d.ts +12 -0
- package/dist/shared/command-executor/home-directory.d.ts +1 -0
- package/dist/shared/command-executor/resolve-commands-in-text.d.ts +1 -0
- package/dist/shared/command-executor/shell-path.d.ts +2 -0
- package/dist/shared/command-executor.d.ts +4 -0
- package/dist/shared/config-errors.d.ts +7 -0
- package/dist/shared/connected-providers-cache.d.ts +55 -0
- package/dist/shared/data-path.d.ts +30 -0
- package/dist/shared/deep-merge.d.ts +13 -0
- package/dist/shared/disabled-tools.d.ts +2 -0
- package/dist/shared/dynamic-truncator.d.ts +31 -0
- package/dist/shared/external-plugin-detector.d.ts +18 -0
- package/dist/shared/fallback-chain-from-models.d.ts +3 -0
- package/dist/shared/fallback-model-availability.d.ts +12 -0
- package/dist/shared/file-reference-resolver.d.ts +1 -0
- package/dist/shared/file-utils.d.ts +7 -0
- package/dist/shared/first-message-variant.d.ts +11 -0
- package/dist/shared/frontmatter.d.ts +7 -0
- package/dist/shared/git-worktree/collect-git-diff-stats.d.ts +2 -0
- package/dist/shared/git-worktree/format-file-changes.d.ts +2 -0
- package/dist/shared/git-worktree/index.d.ts +7 -0
- package/dist/shared/git-worktree/parse-diff-numstat.d.ts +2 -0
- package/dist/shared/git-worktree/parse-status-porcelain-line.d.ts +6 -0
- package/dist/shared/git-worktree/parse-status-porcelain.d.ts +2 -0
- package/dist/shared/git-worktree/types.d.ts +7 -0
- package/dist/shared/hook-disabled.d.ts +2 -0
- package/dist/shared/index.d.ts +56 -0
- package/dist/shared/internal-initiator-marker.d.ts +5 -0
- package/dist/shared/jsonc-parser.d.ts +15 -0
- package/dist/shared/logger.d.ts +2 -0
- package/dist/shared/merge-categories.d.ts +6 -0
- package/dist/shared/migration/agent-category.d.ts +19 -0
- package/dist/shared/migration/agent-names.d.ts +6 -0
- package/dist/shared/migration/config-migration.d.ts +1 -0
- package/dist/shared/migration/hook-names.d.ts +6 -0
- package/dist/shared/migration/model-versions.d.ts +13 -0
- package/dist/shared/migration.d.ts +5 -0
- package/dist/shared/model-availability.d.ts +15 -0
- package/dist/shared/model-error-classifier.d.ts +32 -0
- package/dist/shared/model-format-normalizer.d.ts +7 -0
- package/dist/shared/model-normalization.d.ts +2 -0
- package/dist/shared/model-requirements.d.ts +14 -0
- package/dist/shared/model-resolution-pipeline.d.ts +26 -0
- package/dist/shared/model-resolution-types.d.ts +23 -0
- package/dist/shared/model-resolver.d.ts +28 -0
- package/dist/shared/model-sanitizer.d.ts +3 -0
- package/dist/shared/model-suggestion-retry.d.ts +36 -0
- package/dist/shared/normalize-sdk-response.d.ts +4 -0
- package/dist/shared/opencode-config-dir-types.d.ts +13 -0
- package/dist/shared/opencode-config-dir.d.ts +8 -0
- package/dist/shared/opencode-http-api.d.ts +3 -0
- package/dist/shared/opencode-message-dir.d.ts +1 -0
- package/dist/shared/opencode-server-auth.d.ts +19 -0
- package/dist/shared/opencode-storage-detection.d.ts +2 -0
- package/dist/shared/opencode-storage-paths.d.ts +4 -0
- package/dist/shared/opencode-version.d.ts +24 -0
- package/dist/shared/pattern-matcher.d.ts +3 -0
- package/dist/shared/permission-compat.d.ts +27 -0
- package/dist/shared/plugin-command-discovery.d.ts +6 -0
- package/dist/shared/port-utils.d.ts +9 -0
- package/dist/shared/prompt-timeout-context.d.ts +12 -0
- package/dist/shared/prompt-tools.d.ts +3 -0
- package/dist/shared/provider-model-id-transform.d.ts +1 -0
- package/dist/shared/record-type-guard.d.ts +1 -0
- package/dist/shared/retry-status-utils.d.ts +2 -0
- package/dist/shared/safe-create-hook.d.ts +5 -0
- package/dist/shared/session-category-registry.d.ts +32 -0
- package/dist/shared/session-cursor.d.ts +13 -0
- package/dist/shared/session-directory-resolver.d.ts +7 -0
- package/dist/shared/session-injected-paths.d.ts +10 -0
- package/dist/shared/session-model-state.d.ts +7 -0
- package/dist/shared/session-tools-store.d.ts +4 -0
- package/dist/shared/session-utils.d.ts +2 -0
- package/dist/shared/shell-env.d.ts +41 -0
- package/dist/shared/skill-path-resolver.d.ts +9 -0
- package/dist/shared/snake-case.d.ts +5 -0
- package/dist/shared/spawn-with-windows-hide.d.ts +15 -0
- package/dist/shared/system-directive.d.ts +45 -0
- package/dist/shared/tmux/constants.d.ts +5 -0
- package/dist/shared/tmux/index.d.ts +3 -0
- package/dist/shared/tmux/tmux-utils/environment.d.ts +3 -0
- package/dist/shared/tmux/tmux-utils/layout.d.ts +18 -0
- package/dist/shared/tmux/tmux-utils/pane-close.d.ts +1 -0
- package/dist/shared/tmux/tmux-utils/pane-dimensions.d.ts +5 -0
- package/dist/shared/tmux/tmux-utils/pane-replace.d.ts +3 -0
- package/dist/shared/tmux/tmux-utils/pane-spawn.d.ts +4 -0
- package/dist/shared/tmux/tmux-utils/server-health.d.ts +2 -0
- package/dist/shared/tmux/tmux-utils.d.ts +9 -0
- package/dist/shared/tmux/types.d.ts +4 -0
- package/dist/shared/tool-name.d.ts +1 -0
- package/dist/shared/truncate-description.d.ts +1 -0
- package/dist/shared/zip-extractor.d.ts +1 -0
- package/dist/tools/background-task/clients.d.ts +45 -0
- package/dist/tools/background-task/constants.d.ts +3 -0
- package/dist/tools/background-task/create-background-cancel.d.ts +4 -0
- package/dist/tools/background-task/create-background-output.d.ts +3 -0
- package/dist/tools/background-task/create-background-task.d.ts +3 -0
- package/dist/tools/background-task/delay.d.ts +1 -0
- package/dist/tools/background-task/full-session-format.d.ts +9 -0
- package/dist/tools/background-task/index.d.ts +3 -0
- package/dist/tools/background-task/message-dir.d.ts +1 -0
- package/dist/tools/background-task/session-messages.d.ts +3 -0
- package/dist/tools/background-task/task-result-format.d.ts +3 -0
- package/dist/tools/background-task/task-status-format.d.ts +2 -0
- package/dist/tools/background-task/time-format.d.ts +2 -0
- package/dist/tools/background-task/tools.d.ts +4 -0
- package/dist/tools/background-task/truncate-text.d.ts +1 -0
- package/dist/tools/background-task/types.d.ts +90 -0
- package/dist/tools/delegate-task/available-models.d.ts +2 -0
- package/dist/tools/delegate-task/background-continuation.d.ts +3 -0
- package/dist/tools/delegate-task/background-task.d.ts +8 -0
- package/dist/tools/delegate-task/categories.d.ts +17 -0
- package/dist/tools/delegate-task/category-resolver.d.ts +20 -0
- package/dist/tools/delegate-task/constants.d.ts +42 -0
- package/dist/tools/delegate-task/error-formatting.d.ts +15 -0
- package/dist/tools/delegate-task/executor-types.d.ts +52 -0
- package/dist/tools/delegate-task/executor.d.ts +11 -0
- package/dist/tools/delegate-task/index.d.ts +4 -0
- package/dist/tools/delegate-task/model-selection.d.ts +12 -0
- package/dist/tools/delegate-task/model-string-parser.d.ts +7 -0
- package/dist/tools/delegate-task/parent-context-resolver.d.ts +4 -0
- package/dist/tools/delegate-task/prompt-builder.d.ts +7 -0
- package/dist/tools/delegate-task/sisyphus-junior-agent.d.ts +1 -0
- package/dist/tools/delegate-task/skill-resolver.d.ts +11 -0
- package/dist/tools/delegate-task/subagent-resolver.d.ts +13 -0
- package/dist/tools/delegate-task/sync-continuation-deps.d.ts +7 -0
- package/dist/tools/delegate-task/sync-continuation.d.ts +4 -0
- package/dist/tools/delegate-task/sync-prompt-sender.d.ts +22 -0
- package/dist/tools/delegate-task/sync-result-fetcher.d.ts +8 -0
- package/dist/tools/delegate-task/sync-session-creator.d.ts +14 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +12 -0
- package/dist/tools/delegate-task/sync-task-deps.d.ts +11 -0
- package/dist/tools/delegate-task/sync-task.d.ts +9 -0
- package/dist/tools/delegate-task/time-formatter.d.ts +4 -0
- package/dist/tools/delegate-task/timing.d.ts +13 -0
- package/dist/tools/delegate-task/token-limiter.d.ts +4 -0
- package/dist/tools/delegate-task/tools.d.ts +6 -0
- package/dist/tools/delegate-task/types.d.ts +83 -0
- package/dist/tools/delegate-task/unstable-agent-task.d.ts +7 -0
- package/dist/tools/glob/cli.d.ts +11 -0
- package/dist/tools/glob/constants.d.ts +6 -0
- package/dist/tools/glob/index.d.ts +1 -0
- package/dist/tools/glob/result-formatter.d.ts +2 -0
- package/dist/tools/glob/tools.d.ts +3 -0
- package/dist/tools/glob/types.d.ts +21 -0
- package/dist/tools/grep/cli.d.ts +3 -0
- package/dist/tools/grep/constants.d.ts +18 -0
- package/dist/tools/grep/downloader.d.ts +3 -0
- package/dist/tools/grep/index.d.ts +1 -0
- package/dist/tools/grep/result-formatter.d.ts +3 -0
- package/dist/tools/grep/tools.d.ts +3 -0
- package/dist/tools/grep/types.d.ts +39 -0
- package/dist/tools/hashline-edit/autocorrect-replacement-lines.d.ts +6 -0
- package/dist/tools/hashline-edit/constants.d.ts +4 -0
- package/dist/tools/hashline-edit/diff-utils.d.ts +6 -0
- package/dist/tools/hashline-edit/edit-deduplication.d.ts +5 -0
- package/dist/tools/hashline-edit/edit-operation-primitives.d.ts +10 -0
- package/dist/tools/hashline-edit/edit-operations.d.ts +8 -0
- package/dist/tools/hashline-edit/edit-ordering.d.ts +4 -0
- package/dist/tools/hashline-edit/edit-text-normalization.d.ts +7 -0
- package/dist/tools/hashline-edit/file-text-canonicalization.d.ts +7 -0
- package/dist/tools/hashline-edit/hash-computation.d.ts +10 -0
- package/dist/tools/hashline-edit/hashline-chunk-formatter.d.ts +10 -0
- package/dist/tools/hashline-edit/hashline-edit-diff.d.ts +1 -0
- package/dist/tools/hashline-edit/hashline-edit-executor.d.ts +10 -0
- package/dist/tools/hashline-edit/index.d.ts +7 -0
- package/dist/tools/hashline-edit/normalize-edits.d.ts +10 -0
- package/dist/tools/hashline-edit/tool-description.d.ts +1 -0
- package/dist/tools/hashline-edit/tools.d.ts +2 -0
- package/dist/tools/hashline-edit/types.d.ts +17 -0
- package/dist/tools/hashline-edit/validation.d.ts +20 -0
- package/dist/tools/index.d.ts +17 -0
- package/dist/tools/interactive-bash/tmux-path-resolver.d.ts +1 -0
- package/dist/tools/lsp/client.d.ts +3 -0
- package/dist/tools/lsp/config.d.ts +3 -0
- package/dist/tools/lsp/constants.d.ts +6 -0
- package/dist/tools/lsp/diagnostics-tool.d.ts +2 -0
- package/dist/tools/lsp/directory-diagnostics.d.ts +1 -0
- package/dist/tools/lsp/find-references-tool.d.ts +2 -0
- package/dist/tools/lsp/goto-definition-tool.d.ts +2 -0
- package/dist/tools/lsp/index.d.ts +8 -0
- package/dist/tools/lsp/language-config.d.ts +1 -0
- package/dist/tools/lsp/language-mappings.d.ts +3 -0
- package/dist/tools/lsp/lsp-client-connection.d.ts +4 -0
- package/dist/tools/lsp/lsp-client-transport.d.ts +20 -0
- package/dist/tools/lsp/lsp-client-wrapper.d.ts +9 -0
- package/dist/tools/lsp/lsp-client.d.ts +17 -0
- package/dist/tools/lsp/lsp-formatters.d.ts +13 -0
- package/dist/tools/lsp/lsp-manager-process-cleanup.d.ts +15 -0
- package/dist/tools/lsp/lsp-manager-temp-directory-cleanup.d.ts +8 -0
- package/dist/tools/lsp/lsp-process.d.ts +29 -0
- package/dist/tools/lsp/lsp-server.d.ts +24 -0
- package/dist/tools/lsp/rename-tools.d.ts +3 -0
- package/dist/tools/lsp/server-config-loader.d.ts +25 -0
- package/dist/tools/lsp/server-definitions.d.ts +3 -0
- package/dist/tools/lsp/server-installation.d.ts +1 -0
- package/dist/tools/lsp/server-resolution.d.ts +15 -0
- package/dist/tools/lsp/symbols-tool.d.ts +2 -0
- package/dist/tools/lsp/tools.d.ts +5 -0
- package/dist/tools/lsp/types.d.ts +123 -0
- package/dist/tools/lsp/workspace-edit.d.ts +8 -0
- package/dist/tools/session-manager/constants.d.ts +9 -0
- package/dist/tools/session-manager/index.d.ts +3 -0
- package/dist/tools/session-manager/session-formatter.d.ts +11 -0
- package/dist/tools/session-manager/storage.d.ts +15 -0
- package/dist/tools/session-manager/tools.d.ts +3 -0
- package/dist/tools/session-manager/types.d.ts +89 -0
- package/dist/tools/shared/semaphore.d.ts +14 -0
- package/dist/tools/skill/constants.d.ts +3 -0
- package/dist/tools/skill/index.d.ts +3 -0
- package/dist/tools/skill/tools.d.ts +4 -0
- package/dist/tools/skill/types.d.ts +37 -0
- package/dist/tools/slashcommand/command-discovery.d.ts +6 -0
- package/dist/tools/slashcommand/command-output-formatter.d.ts +3 -0
- package/dist/tools/slashcommand/index.d.ts +2 -0
- package/dist/tools/slashcommand/types.d.ts +18 -0
- package/dist/tools/task/index.d.ts +7 -0
- package/dist/tools/task/task-create.d.ts +4 -0
- package/dist/tools/task/task-get.d.ts +3 -0
- package/dist/tools/task/task-list.d.ts +3 -0
- package/dist/tools/task/task-update.d.ts +4 -0
- package/dist/tools/task/todo-sync.d.ts +16 -0
- package/dist/tools/task/types.d.ts +97 -0
- package/package.json +101 -0
- package/postinstall.mjs +55 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
/**
|
|
3
|
+
* Known Edit tool error patterns that indicate the AI made a mistake
|
|
4
|
+
*/
|
|
5
|
+
export declare const EDIT_ERROR_PATTERNS: readonly ["oldString and newString must be different", "oldString not found", "oldString found multiple times"];
|
|
6
|
+
/**
|
|
7
|
+
* System reminder injected when Edit tool fails due to AI mistake
|
|
8
|
+
* Short, direct, and commanding - forces immediate corrective action
|
|
9
|
+
*/
|
|
10
|
+
export declare const EDIT_ERROR_REMINDER = "\n[EDIT ERROR - IMMEDIATE ACTION REQUIRED]\n\nYou made an Edit mistake. STOP and do this NOW:\n\n1. READ the file immediately to see its ACTUAL current state\n2. VERIFY what the content really looks like (your assumption was wrong)\n3. APOLOGIZE briefly to the user for the error\n4. CONTINUE with corrected action based on the real file content\n\nDO NOT attempt another edit until you've read and verified the file state.\n";
|
|
11
|
+
/**
|
|
12
|
+
* Detects Edit tool errors caused by AI mistakes and injects a recovery reminder
|
|
13
|
+
*
|
|
14
|
+
* This hook catches common Edit tool failures:
|
|
15
|
+
* - oldString and newString must be different (trying to "edit" to same content)
|
|
16
|
+
* - oldString not found (wrong assumption about file content)
|
|
17
|
+
* - oldString found multiple times (ambiguous match, need more context)
|
|
18
|
+
*
|
|
19
|
+
* @see https://github.com/sst/opencode/issues/4718
|
|
20
|
+
*/
|
|
21
|
+
export declare function createEditErrorRecoveryHook(_ctx: PluginInput): {
|
|
22
|
+
"tool.execute.after": (input: {
|
|
23
|
+
tool: string;
|
|
24
|
+
sessionID: string;
|
|
25
|
+
callID: string;
|
|
26
|
+
}, output: {
|
|
27
|
+
title: string;
|
|
28
|
+
output: string;
|
|
29
|
+
metadata: unknown;
|
|
30
|
+
}) => Promise<void>;
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createEditErrorRecoveryHook, EDIT_ERROR_PATTERNS, EDIT_ERROR_REMINDER, } from "./hook";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
interface HashlineEditDiffEnhancerConfig {
|
|
2
|
+
hashline_edit?: {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
type BeforeInput = {
|
|
7
|
+
tool: string;
|
|
8
|
+
sessionID: string;
|
|
9
|
+
callID: string;
|
|
10
|
+
};
|
|
11
|
+
type BeforeOutput = {
|
|
12
|
+
args: Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
type AfterInput = {
|
|
15
|
+
tool: string;
|
|
16
|
+
sessionID: string;
|
|
17
|
+
callID: string;
|
|
18
|
+
};
|
|
19
|
+
type AfterOutput = {
|
|
20
|
+
title: string;
|
|
21
|
+
output: string;
|
|
22
|
+
metadata: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
export declare function createHashlineEditDiffEnhancerHook(config: HashlineEditDiffEnhancerConfig): {
|
|
25
|
+
"tool.execute.before": (input: BeforeInput, output: BeforeOutput) => Promise<void>;
|
|
26
|
+
"tool.execute.after": (input: AfterInput, output: AfterOutput) => Promise<void>;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createHashlineEditDiffEnhancerHook } from "./hook";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
interface HashlineReadEnhancerConfig {
|
|
3
|
+
hashline_edit?: {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export declare function createHashlineReadEnhancerHook(_ctx: PluginInput, config: HashlineReadEnhancerConfig): {
|
|
8
|
+
"tool.execute.after": (input: {
|
|
9
|
+
tool: string;
|
|
10
|
+
sessionID: string;
|
|
11
|
+
callID: string;
|
|
12
|
+
}, output: {
|
|
13
|
+
title: string;
|
|
14
|
+
output: string;
|
|
15
|
+
metadata: unknown;
|
|
16
|
+
}) => Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createHashlineReadEnhancerHook } from "./hook";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createAutoUpdateCheckerHook } from "./auto-update-checker";
|
|
2
|
+
export { createEditErrorRecoveryHook } from "./edit-error-recovery";
|
|
3
|
+
export { createModelFallbackHook, setPendingModelFallback, clearPendingModelFallback, type ModelFallbackState } from "./model-fallback/hook";
|
|
4
|
+
export { createRuntimeFallbackHook, type RuntimeFallbackHook, type RuntimeFallbackOptions } from "./runtime-fallback";
|
|
5
|
+
export { createSessionRecoveryHook, type SessionRecoveryHook, type SessionRecoveryOptions } from "./session-recovery";
|
|
6
|
+
export { createDirectoryAgentsInjectorHook } from "./directory-agents-injector";
|
|
7
|
+
export { createDirectoryReadmeInjectorHook } from "./directory-readme-injector";
|
|
8
|
+
export { createRulesInjectorHook } from "./rules-injector";
|
|
9
|
+
export { createHashlineReadEnhancerHook } from "./hashline-read-enhancer";
|
|
10
|
+
export { createHashlineEditDiffEnhancerHook } from "./hashline-edit-diff-enhancer";
|
|
11
|
+
export { createToolOutputTruncatorHook } from "./tool-output-truncator";
|
|
12
|
+
export { createWriteExistingFileGuardHook } from "./write-existing-file-guard";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { FallbackEntry } from "../../shared/model-requirements";
|
|
2
|
+
import type { ChatMessageInput, ChatMessageHandlerOutput } from "../../plugin/chat-message";
|
|
3
|
+
type FallbackToast = (input: {
|
|
4
|
+
title: string;
|
|
5
|
+
message: string;
|
|
6
|
+
variant?: "info" | "success" | "warning" | "error";
|
|
7
|
+
duration?: number;
|
|
8
|
+
}) => void | Promise<void>;
|
|
9
|
+
type FallbackCallback = (input: {
|
|
10
|
+
sessionID: string;
|
|
11
|
+
providerID: string;
|
|
12
|
+
modelID: string;
|
|
13
|
+
variant?: string;
|
|
14
|
+
}) => void | Promise<void>;
|
|
15
|
+
export type ModelFallbackState = {
|
|
16
|
+
providerID: string;
|
|
17
|
+
modelID: string;
|
|
18
|
+
fallbackChain: FallbackEntry[];
|
|
19
|
+
attemptCount: number;
|
|
20
|
+
pending: boolean;
|
|
21
|
+
};
|
|
22
|
+
export declare function setSessionFallbackChain(sessionID: string, fallbackChain: FallbackEntry[] | undefined): void;
|
|
23
|
+
export declare function clearSessionFallbackChain(sessionID: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Sets a pending model fallback for a session.
|
|
26
|
+
* Called when a model error is detected in session.error handler.
|
|
27
|
+
*/
|
|
28
|
+
export declare function setPendingModelFallback(sessionID: string, agentName: string, currentProviderID: string, currentModelID: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Gets the next fallback model for a session.
|
|
31
|
+
* Increments attemptCount each time called.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getNextFallback(sessionID: string): {
|
|
34
|
+
providerID: string;
|
|
35
|
+
modelID: string;
|
|
36
|
+
variant?: string;
|
|
37
|
+
} | null;
|
|
38
|
+
/**
|
|
39
|
+
* Clears the pending fallback for a session.
|
|
40
|
+
* Called after fallback is successfully applied.
|
|
41
|
+
*/
|
|
42
|
+
export declare function clearPendingModelFallback(sessionID: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Checks if there's a pending fallback for a session.
|
|
45
|
+
*/
|
|
46
|
+
export declare function hasPendingModelFallback(sessionID: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Gets the current fallback state for a session (for debugging).
|
|
49
|
+
*/
|
|
50
|
+
export declare function getFallbackState(sessionID: string): ModelFallbackState | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a chat.message hook that applies model fallbacks when pending.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createModelFallbackHook(args?: {
|
|
55
|
+
toast?: FallbackToast;
|
|
56
|
+
onApplied?: FallbackCallback;
|
|
57
|
+
}): {
|
|
58
|
+
"chat.message": (input: ChatMessageInput, output: ChatMessageHandlerOutput) => Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface RalphLoopState {
|
|
2
|
+
active: boolean;
|
|
3
|
+
iteration: number;
|
|
4
|
+
completion_promise: string;
|
|
5
|
+
initial_completion_promise: string;
|
|
6
|
+
started_at: string;
|
|
7
|
+
prompt: string;
|
|
8
|
+
session_id?: string;
|
|
9
|
+
ultrawork?: boolean;
|
|
10
|
+
strategy?: "reset" | "continue";
|
|
11
|
+
max_iterations?: number;
|
|
12
|
+
verification_pending?: boolean;
|
|
13
|
+
verification_attempt_id?: string;
|
|
14
|
+
verification_session_id?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function readState(directory: string): RalphLoopState | null;
|
|
17
|
+
export declare function writeState(directory: string, state: RalphLoopState): void;
|
|
18
|
+
export declare function clearState(directory: string): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type SessionInjectedRulesCache = {
|
|
2
|
+
contentHashes: Set<string>;
|
|
3
|
+
realPaths: Set<string>;
|
|
4
|
+
};
|
|
5
|
+
export declare function createSessionCacheStore(): {
|
|
6
|
+
getSessionCache: (sessionID: string) => SessionInjectedRulesCache;
|
|
7
|
+
clearSessionCache: (sessionID: string) => void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const RULES_INJECTOR_STORAGE: string;
|
|
2
|
+
export declare const PROJECT_MARKERS: string[];
|
|
3
|
+
export declare const PROJECT_RULE_SUBDIRS: [string, string][];
|
|
4
|
+
export declare const PROJECT_RULE_FILES: string[];
|
|
5
|
+
export declare const GITHUB_INSTRUCTIONS_PATTERN: RegExp;
|
|
6
|
+
export declare const USER_RULE_DIR = ".claude/rules";
|
|
7
|
+
export declare const RULE_EXTENSIONS: string[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
interface ToolExecuteInput {
|
|
3
|
+
tool: string;
|
|
4
|
+
sessionID: string;
|
|
5
|
+
callID: string;
|
|
6
|
+
}
|
|
7
|
+
interface ToolExecuteOutput {
|
|
8
|
+
title: string;
|
|
9
|
+
output: string;
|
|
10
|
+
metadata: unknown;
|
|
11
|
+
}
|
|
12
|
+
interface ToolExecuteBeforeOutput {
|
|
13
|
+
args: unknown;
|
|
14
|
+
}
|
|
15
|
+
interface EventInput {
|
|
16
|
+
event: {
|
|
17
|
+
type: string;
|
|
18
|
+
properties?: unknown;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export declare function createRulesInjectorHook(ctx: PluginInput, modelCacheState?: {
|
|
22
|
+
anthropicContext1MEnabled: boolean;
|
|
23
|
+
}): {
|
|
24
|
+
"tool.execute.before": (input: ToolExecuteInput, output: ToolExecuteBeforeOutput) => Promise<void>;
|
|
25
|
+
"tool.execute.after": (input: ToolExecuteInput, output: ToolExecuteOutput) => Promise<void>;
|
|
26
|
+
event: ({ event }: EventInput) => Promise<void>;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SessionInjectedRulesCache } from "./cache";
|
|
2
|
+
type ToolExecuteOutput = {
|
|
3
|
+
title: string;
|
|
4
|
+
output: string;
|
|
5
|
+
metadata: unknown;
|
|
6
|
+
};
|
|
7
|
+
type DynamicTruncator = {
|
|
8
|
+
truncate: (sessionID: string, content: string) => Promise<{
|
|
9
|
+
result: string;
|
|
10
|
+
truncated: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
export declare function createRuleInjectionProcessor(deps: {
|
|
14
|
+
workspaceDirectory: string;
|
|
15
|
+
truncator: DynamicTruncator;
|
|
16
|
+
getSessionCache: (sessionID: string) => SessionInjectedRulesCache;
|
|
17
|
+
}): {
|
|
18
|
+
processFilePathForInjection: (filePath: string, sessionID: string, output: ToolExecuteOutput) => Promise<void>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RuleMetadata } from "./types";
|
|
2
|
+
export interface MatchResult {
|
|
3
|
+
applies: boolean;
|
|
4
|
+
reason?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Check if a rule should apply to the current file based on metadata
|
|
8
|
+
*/
|
|
9
|
+
export declare function shouldApplyRule(metadata: RuleMetadata, currentFilePath: string, projectRoot: string | null): MatchResult;
|
|
10
|
+
/**
|
|
11
|
+
* Check if realPath already exists in cache (symlink deduplication)
|
|
12
|
+
*/
|
|
13
|
+
export declare function isDuplicateByRealPath(realPath: string, cache: Set<string>): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Create SHA-256 hash of content, truncated to 16 chars
|
|
16
|
+
*/
|
|
17
|
+
export declare function createContentHash(content: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Check if content hash already exists in cache
|
|
20
|
+
*/
|
|
21
|
+
export declare function isDuplicateByContentHash(hash: string, cache: Set<string>): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RuleMetadata } from "./types";
|
|
2
|
+
export interface RuleFrontmatterResult {
|
|
3
|
+
metadata: RuleMetadata;
|
|
4
|
+
body: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Parse YAML frontmatter from rule file content
|
|
8
|
+
* Supports:
|
|
9
|
+
* - Single string: globs: "**\/*.py"
|
|
10
|
+
* - Inline array: globs: ["**\/*.py", "src/**\/*.ts"]
|
|
11
|
+
* - Multi-line array:
|
|
12
|
+
* globs:
|
|
13
|
+
* - "**\/*.py"
|
|
14
|
+
* - "src/**\/*.ts"
|
|
15
|
+
* - Comma-separated: globs: "**\/*.py, src/**\/*.ts"
|
|
16
|
+
* - Claude Code 'paths' field (alias for globs)
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseRuleFrontmatter(content: string): RuleFrontmatterResult;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find project root by walking up from startPath.
|
|
3
|
+
* Checks for PROJECT_MARKERS (.git, pyproject.toml, package.json, etc.)
|
|
4
|
+
*
|
|
5
|
+
* @param startPath - Starting path to search from (file or directory)
|
|
6
|
+
* @returns Project root path or null if not found
|
|
7
|
+
*/
|
|
8
|
+
export declare function findProjectRoot(startPath: string): string | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate directory distance between a rule file and current file.
|
|
3
|
+
* Distance is based on common ancestor within project root.
|
|
4
|
+
*
|
|
5
|
+
* @param rulePath - Path to the rule file
|
|
6
|
+
* @param currentFile - Path to the current file being edited
|
|
7
|
+
* @param projectRoot - Project root for relative path calculation
|
|
8
|
+
* @returns Distance (0 = same directory, higher = further)
|
|
9
|
+
*/
|
|
10
|
+
export declare function calculateDistance(rulePath: string, currentFile: string, projectRoot: string | null): number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RuleFileCandidate } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Find all rule files for a given context.
|
|
4
|
+
* Searches from currentFile upward to projectRoot for rule directories,
|
|
5
|
+
* then user-level directory (~/.claude/rules).
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: This searches EVERY directory from file to project root.
|
|
8
|
+
* Not just the project root itself.
|
|
9
|
+
*
|
|
10
|
+
* @param projectRoot - Project root path (or null if outside any project)
|
|
11
|
+
* @param homeDir - User home directory
|
|
12
|
+
* @param currentFile - Current file being edited (for distance calculation)
|
|
13
|
+
* @returns Array of rule file candidates sorted by distance
|
|
14
|
+
*/
|
|
15
|
+
export declare function findRuleFiles(projectRoot: string | null, homeDir: string, currentFile: string): RuleFileCandidate[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursively find all rule files (*.md, *.mdc) in a directory
|
|
3
|
+
*
|
|
4
|
+
* @param dir - Directory to search
|
|
5
|
+
* @param results - Array to accumulate results
|
|
6
|
+
*/
|
|
7
|
+
export declare function findRuleFilesRecursive(dir: string, results: string[]): void;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve symlinks safely with fallback to original path
|
|
10
|
+
*
|
|
11
|
+
* @param filePath - Path to resolve
|
|
12
|
+
* @returns Real path or original path if resolution fails
|
|
13
|
+
*/
|
|
14
|
+
export declare function safeRealpathSync(filePath: string): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function loadInjectedRules(sessionID: string): {
|
|
2
|
+
contentHashes: Set<string>;
|
|
3
|
+
realPaths: Set<string>;
|
|
4
|
+
};
|
|
5
|
+
export declare function saveInjectedRules(sessionID: string, data: {
|
|
6
|
+
contentHashes: Set<string>;
|
|
7
|
+
realPaths: Set<string>;
|
|
8
|
+
}): void;
|
|
9
|
+
export declare function clearInjectedRules(sessionID: string): void;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule file metadata (Claude Code style frontmatter)
|
|
3
|
+
* Supports both Claude Code format (globs, paths) and GitHub Copilot format (applyTo)
|
|
4
|
+
* @see https://docs.anthropic.com/en/docs/claude-code/settings#rule-files
|
|
5
|
+
* @see https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot
|
|
6
|
+
*/
|
|
7
|
+
export interface RuleMetadata {
|
|
8
|
+
description?: string;
|
|
9
|
+
globs?: string | string[];
|
|
10
|
+
alwaysApply?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Rule information with path context and content
|
|
14
|
+
*/
|
|
15
|
+
export interface RuleInfo {
|
|
16
|
+
/** Absolute path to the rule file */
|
|
17
|
+
path: string;
|
|
18
|
+
/** Path relative to project root */
|
|
19
|
+
relativePath: string;
|
|
20
|
+
/** Directory distance from target file (0 = same dir) */
|
|
21
|
+
distance: number;
|
|
22
|
+
/** Rule file content (without frontmatter) */
|
|
23
|
+
content: string;
|
|
24
|
+
/** SHA-256 hash of content for deduplication */
|
|
25
|
+
contentHash: string;
|
|
26
|
+
/** Parsed frontmatter metadata */
|
|
27
|
+
metadata: RuleMetadata;
|
|
28
|
+
/** Why this rule matched (e.g., "alwaysApply", "glob: *.ts", "path match") */
|
|
29
|
+
matchReason: string;
|
|
30
|
+
/** Real path after symlink resolution (for duplicate detection) */
|
|
31
|
+
realPath: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Rule file candidate with discovery context
|
|
35
|
+
*/
|
|
36
|
+
export interface RuleFileCandidate {
|
|
37
|
+
path: string;
|
|
38
|
+
realPath: string;
|
|
39
|
+
isGlobal: boolean;
|
|
40
|
+
distance: number;
|
|
41
|
+
/** Single-file rules (e.g., .github/copilot-instructions.md) always apply without frontmatter */
|
|
42
|
+
isSingleFile?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Session storage for injected rules tracking
|
|
46
|
+
*/
|
|
47
|
+
export interface InjectedRulesData {
|
|
48
|
+
sessionID: string;
|
|
49
|
+
/** Content hashes of already injected rules */
|
|
50
|
+
injectedHashes: string[];
|
|
51
|
+
/** Real paths of already injected rules (for symlink deduplication) */
|
|
52
|
+
injectedRealPaths: string[];
|
|
53
|
+
updatedAt: number;
|
|
54
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const AGENT_NAMES: string[];
|
|
2
|
+
export declare const agentPattern: RegExp;
|
|
3
|
+
export declare function detectAgentFromSession(sessionID: string): string | undefined;
|
|
4
|
+
export declare function normalizeAgentName(agent: string | undefined): string | undefined;
|
|
5
|
+
export declare function resolveAgentForSession(sessionID: string, eventAgent?: string): string | undefined;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HookDeps } from "./types";
|
|
2
|
+
export declare function createAutoRetryHelpers(deps: HookDeps): {
|
|
3
|
+
abortSessionRequest: (sessionID: string, source: string) => Promise<void>;
|
|
4
|
+
clearSessionFallbackTimeout: (sessionID: string) => void;
|
|
5
|
+
scheduleSessionFallbackTimeout: (sessionID: string, resolvedAgent?: string) => void;
|
|
6
|
+
autoRetryWithFallback: (sessionID: string, newModel: string, resolvedAgent: string | undefined, source: string) => Promise<void>;
|
|
7
|
+
resolveAgentForSessionFromContext: (sessionID: string, eventAgent?: string) => Promise<string | undefined>;
|
|
8
|
+
cleanupStaleSessions: () => void;
|
|
9
|
+
};
|
|
10
|
+
export type AutoRetryHelpers = ReturnType<typeof createAutoRetryHelpers>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HookDeps } from "./types";
|
|
2
|
+
export declare function createChatMessageHandler(deps: HookDeps): (input: {
|
|
3
|
+
sessionID: string;
|
|
4
|
+
agent?: string;
|
|
5
|
+
model?: {
|
|
6
|
+
providerID: string;
|
|
7
|
+
modelID: string;
|
|
8
|
+
};
|
|
9
|
+
}, output: {
|
|
10
|
+
message: {
|
|
11
|
+
model?: {
|
|
12
|
+
providerID: string;
|
|
13
|
+
modelID: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
parts?: Array<{
|
|
17
|
+
type: string;
|
|
18
|
+
text?: string;
|
|
19
|
+
}>;
|
|
20
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Fallback Hook - Constants
|
|
3
|
+
*
|
|
4
|
+
* Default values and configuration constants for the runtime fallback feature.
|
|
5
|
+
*/
|
|
6
|
+
import type { RuntimeFallbackConfig } from "../../config";
|
|
7
|
+
/**
|
|
8
|
+
* Default configuration values for runtime fallback
|
|
9
|
+
*/
|
|
10
|
+
export declare const DEFAULT_CONFIG: Required<RuntimeFallbackConfig>;
|
|
11
|
+
/**
|
|
12
|
+
* Error patterns that indicate rate limiting or temporary failures
|
|
13
|
+
* These are checked in addition to HTTP status codes
|
|
14
|
+
*/
|
|
15
|
+
export declare const RETRYABLE_ERROR_PATTERNS: RegExp[];
|
|
16
|
+
/**
|
|
17
|
+
* Hook name for identification and logging
|
|
18
|
+
*/
|
|
19
|
+
export declare const HOOK_NAME = "runtime-fallback";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
2
|
+
export declare function extractStatusCode(error: unknown, retryOnErrors?: number[]): number | undefined;
|
|
3
|
+
export declare function extractErrorName(error: unknown): string | undefined;
|
|
4
|
+
export declare function classifyErrorType(error: unknown): string | undefined;
|
|
5
|
+
export interface AutoRetrySignal {
|
|
6
|
+
signal: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const AUTO_RETRY_PATTERNS: Array<(combined: string) => boolean>;
|
|
9
|
+
export declare function extractAutoRetrySignal(info: Record<string, unknown> | undefined): AutoRetrySignal | undefined;
|
|
10
|
+
export declare function containsErrorContent(parts: Array<{
|
|
11
|
+
type?: string;
|
|
12
|
+
text?: string;
|
|
13
|
+
}> | undefined): {
|
|
14
|
+
hasError: boolean;
|
|
15
|
+
errorMessage?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function isRetryableError(error: unknown, retryOnErrors: number[]): boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HookDeps } from "./types";
|
|
2
|
+
import type { AutoRetryHelpers } from "./auto-retry";
|
|
3
|
+
export declare function createEventHandler(deps: HookDeps, helpers: AutoRetryHelpers): ({ event }: {
|
|
4
|
+
event: {
|
|
5
|
+
type: string;
|
|
6
|
+
properties?: unknown;
|
|
7
|
+
};
|
|
8
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FallbackState, FallbackResult } from "./types";
|
|
2
|
+
import type { RuntimeFallbackConfig } from "../../config";
|
|
3
|
+
export declare function createFallbackState(originalModel: string): FallbackState;
|
|
4
|
+
export declare function isModelInCooldown(model: string, state: FallbackState, cooldownSeconds: number): boolean;
|
|
5
|
+
export declare function findNextAvailableFallback(state: FallbackState, fallbackModels: string[], cooldownSeconds: number): string | undefined;
|
|
6
|
+
export declare function prepareFallback(sessionID: string, state: FallbackState, fallbackModels: string[], config: Required<RuntimeFallbackConfig>): FallbackResult;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { HookDeps } from "./types";
|
|
2
|
+
import type { AutoRetryHelpers } from "./auto-retry";
|
|
3
|
+
import { extractAutoRetrySignal } from "./error-classifier";
|
|
4
|
+
export declare function hasVisibleAssistantResponse(extractAutoRetrySignalFn: typeof extractAutoRetrySignal): (ctx: HookDeps["ctx"], sessionID: string, _info: Record<string, unknown> | undefined) => Promise<boolean>;
|
|
5
|
+
export declare function createMessageUpdateHandler(deps: HookDeps, helpers: AutoRetryHelpers): (props: Record<string, unknown> | undefined) => Promise<void>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { RuntimeFallbackConfig, OhMyOpenCodeConfig } from "../../config";
|
|
3
|
+
export interface FallbackState {
|
|
4
|
+
originalModel: string;
|
|
5
|
+
currentModel: string;
|
|
6
|
+
fallbackIndex: number;
|
|
7
|
+
failedModels: Map<string, number>;
|
|
8
|
+
attemptCount: number;
|
|
9
|
+
pendingFallbackModel?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface FallbackResult {
|
|
12
|
+
success: boolean;
|
|
13
|
+
newModel?: string;
|
|
14
|
+
error?: string;
|
|
15
|
+
maxAttemptsReached?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface RuntimeFallbackOptions {
|
|
18
|
+
config?: RuntimeFallbackConfig;
|
|
19
|
+
pluginConfig?: OhMyOpenCodeConfig;
|
|
20
|
+
session_timeout_ms?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface RuntimeFallbackHook {
|
|
23
|
+
event: (input: {
|
|
24
|
+
event: {
|
|
25
|
+
type: string;
|
|
26
|
+
properties?: unknown;
|
|
27
|
+
};
|
|
28
|
+
}) => Promise<void>;
|
|
29
|
+
"chat.message"?: (input: {
|
|
30
|
+
sessionID: string;
|
|
31
|
+
agent?: string;
|
|
32
|
+
model?: {
|
|
33
|
+
providerID: string;
|
|
34
|
+
modelID: string;
|
|
35
|
+
};
|
|
36
|
+
}, output: {
|
|
37
|
+
message: {
|
|
38
|
+
model?: {
|
|
39
|
+
providerID: string;
|
|
40
|
+
modelID: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
parts?: Array<{
|
|
44
|
+
type: string;
|
|
45
|
+
text?: string;
|
|
46
|
+
}>;
|
|
47
|
+
}) => Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
export interface HookDeps {
|
|
50
|
+
ctx: PluginInput;
|
|
51
|
+
config: Required<RuntimeFallbackConfig>;
|
|
52
|
+
options: RuntimeFallbackOptions | undefined;
|
|
53
|
+
pluginConfig: OhMyOpenCodeConfig | undefined;
|
|
54
|
+
sessionStates: Map<string, FallbackState>;
|
|
55
|
+
sessionLastAccess: Map<string, number>;
|
|
56
|
+
sessionRetryInFlight: Set<string>;
|
|
57
|
+
sessionAwaitingFallbackResult: Set<string>;
|
|
58
|
+
sessionFallbackTimeouts: Map<string, ReturnType<typeof setTimeout>>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type RecoveryErrorType = "tool_result_missing" | "thinking_block_order" | "thinking_disabled_violation" | "assistant_prefill_unsupported" | "unavailable_tool" | null;
|
|
2
|
+
export declare function extractMessageIndex(error: unknown): number | null;
|
|
3
|
+
export declare function extractUnavailableToolName(error: unknown): string | null;
|
|
4
|
+
export declare function detectErrorType(error: unknown): RecoveryErrorType;
|