oh-my-opencode-kikokikok 2.13.0
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.ja.md +1029 -0
- package/README.ko.md +1022 -0
- package/README.md +1100 -0
- package/README.zh-cn.md +1032 -0
- package/dist/agents/api-designer.d.ts +5 -0
- package/dist/agents/build-prompt.d.ts +31 -0
- package/dist/agents/code-indexer.d.ts +5 -0
- package/dist/agents/code-reviewer.d.ts +5 -0
- package/dist/agents/dba.d.ts +5 -0
- package/dist/agents/debugger.d.ts +5 -0
- package/dist/agents/devops-engineer.d.ts +5 -0
- package/dist/agents/document-writer.d.ts +5 -0
- package/dist/agents/enterprise-agents.test.d.ts +1 -0
- package/dist/agents/estimator.d.ts +5 -0
- package/dist/agents/explore.d.ts +5 -0
- package/dist/agents/frontend-ui-ux-engineer.d.ts +5 -0
- package/dist/agents/incident-commander.d.ts +5 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/knowledge-curator.d.ts +5 -0
- package/dist/agents/librarian.d.ts +5 -0
- package/dist/agents/multimodal-looker.d.ts +5 -0
- package/dist/agents/oracle.d.ts +5 -0
- package/dist/agents/performance-analyst.d.ts +5 -0
- package/dist/agents/plan-prompt.d.ts +61 -0
- package/dist/agents/project-manager.d.ts +5 -0
- package/dist/agents/security-reviewer.d.ts +5 -0
- package/dist/agents/sisyphus-prompt-builder.d.ts +25 -0
- package/dist/agents/sisyphus.d.ts +4 -0
- package/dist/agents/test-engineer.d.ts +5 -0
- package/dist/agents/types.d.ts +49 -0
- package/dist/agents/utils.d.ts +10 -0
- package/dist/agents/utils.test.d.ts +1 -0
- package/dist/auth/antigravity/constants.d.ts +36 -0
- package/dist/auth/antigravity/fetch.d.ts +68 -0
- package/dist/auth/antigravity/index.d.ts +13 -0
- package/dist/auth/antigravity/message-converter.d.ts +54 -0
- package/dist/auth/antigravity/oauth.d.ts +85 -0
- package/dist/auth/antigravity/plugin.d.ts +54 -0
- package/dist/auth/antigravity/project.d.ts +10 -0
- package/dist/auth/antigravity/request.d.ts +104 -0
- package/dist/auth/antigravity/response.d.ts +137 -0
- package/dist/auth/antigravity/thinking.d.ts +234 -0
- package/dist/auth/antigravity/thought-signature-store.d.ts +52 -0
- package/dist/auth/antigravity/token.d.ts +38 -0
- package/dist/auth/antigravity/tools.d.ts +119 -0
- package/dist/auth/antigravity/types.d.ts +205 -0
- package/dist/cli/config-manager.d.ts +94 -0
- package/dist/cli/config-manager.test.d.ts +1 -0
- package/dist/cli/doctor/checks/auth.d.ts +7 -0
- package/dist/cli/doctor/checks/auth.test.d.ts +1 -0
- package/dist/cli/doctor/checks/config.d.ts +8 -0
- package/dist/cli/doctor/checks/config.test.d.ts +1 -0
- package/dist/cli/doctor/checks/dependencies.d.ts +8 -0
- package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
- package/dist/cli/doctor/checks/gh.d.ts +13 -0
- package/dist/cli/doctor/checks/gh.test.d.ts +1 -0
- package/dist/cli/doctor/checks/index.d.ts +11 -0
- package/dist/cli/doctor/checks/lsp.d.ts +8 -0
- package/dist/cli/doctor/checks/lsp.test.d.ts +1 -0
- package/dist/cli/doctor/checks/mcp.d.ts +6 -0
- package/dist/cli/doctor/checks/mcp.test.d.ts +1 -0
- package/dist/cli/doctor/checks/opencode.d.ts +10 -0
- package/dist/cli/doctor/checks/opencode.test.d.ts +1 -0
- package/dist/cli/doctor/checks/plugin.d.ts +4 -0
- package/dist/cli/doctor/checks/plugin.test.d.ts +1 -0
- package/dist/cli/doctor/checks/version.d.ts +4 -0
- package/dist/cli/doctor/checks/version.test.d.ts +1 -0
- package/dist/cli/doctor/constants.d.ts +40 -0
- package/dist/cli/doctor/formatter.d.ts +12 -0
- package/dist/cli/doctor/formatter.test.d.ts +1 -0
- package/dist/cli/doctor/index.d.ts +5 -0
- package/dist/cli/doctor/runner.d.ts +7 -0
- package/dist/cli/doctor/runner.test.d.ts +1 -0
- package/dist/cli/doctor/types.d.ts +91 -0
- package/dist/cli/get-local-version/formatter.d.ts +3 -0
- package/dist/cli/get-local-version/index.d.ts +3 -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 +23400 -0
- package/dist/cli/install.d.ts +2 -0
- package/dist/cli/run/completion.d.ts +2 -0
- package/dist/cli/run/completion.test.d.ts +1 -0
- package/dist/cli/run/events.d.ts +11 -0
- package/dist/cli/run/events.test.d.ts +1 -0
- package/dist/cli/run/index.d.ts +2 -0
- package/dist/cli/run/runner.d.ts +2 -0
- package/dist/cli/run/types.d.ts +71 -0
- package/dist/cli/types.d.ts +27 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/schema.d.ts +2717 -0
- package/dist/features/background-agent/index.d.ts +2 -0
- package/dist/features/background-agent/manager.d.ts +41 -0
- package/dist/features/background-agent/manager.test.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +38 -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/init-deep.d.ts +1 -0
- package/dist/features/builtin-commands/templates/ralph-loop.d.ts +2 -0
- package/dist/features/builtin-commands/types.d.ts +6 -0
- package/dist/features/builtin-skills/api/index.d.ts +1 -0
- package/dist/features/builtin-skills/api/types.d.ts +193 -0
- package/dist/features/builtin-skills/code-index/index.d.ts +1 -0
- package/dist/features/builtin-skills/code-index/types.d.ts +95 -0
- package/dist/features/builtin-skills/db/index.d.ts +1 -0
- package/dist/features/builtin-skills/db/types.d.ts +210 -0
- package/dist/features/builtin-skills/debug/index.d.ts +1 -0
- package/dist/features/builtin-skills/debug/types.d.ts +229 -0
- package/dist/features/builtin-skills/deploy/index.d.ts +1 -0
- package/dist/features/builtin-skills/deploy/types.d.ts +215 -0
- package/dist/features/builtin-skills/incident/index.d.ts +4 -0
- package/dist/features/builtin-skills/incident/types.d.ts +39 -0
- package/dist/features/builtin-skills/index.d.ts +2 -0
- package/dist/features/builtin-skills/oncall/index.d.ts +1 -0
- package/dist/features/builtin-skills/oncall/types.d.ts +223 -0
- package/dist/features/builtin-skills/perf/index.d.ts +1 -0
- package/dist/features/builtin-skills/perf/types.d.ts +170 -0
- package/dist/features/builtin-skills/project/index.d.ts +1 -0
- package/dist/features/builtin-skills/project/types.d.ts +190 -0
- package/dist/features/builtin-skills/review/index.d.ts +4 -0
- package/dist/features/builtin-skills/review/types.d.ts +29 -0
- package/dist/features/builtin-skills/security/index.d.ts +4 -0
- package/dist/features/builtin-skills/security/types.d.ts +35 -0
- package/dist/features/builtin-skills/skills.d.ts +2 -0
- package/dist/features/builtin-skills/test/index.d.ts +1 -0
- package/dist/features/builtin-skills/test/types.d.ts +231 -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 +14 -0
- package/dist/features/claude-code-command-loader/index.d.ts +2 -0
- package/dist/features/claude-code-command-loader/loader.d.ts +5 -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/loader.test.d.ts +1 -0
- package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/types.d.ts +35 -0
- package/dist/features/claude-code-plugin-loader/index.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +186 -0
- package/dist/features/claude-code-session-state/index.d.ts +1 -0
- package/dist/features/claude-code-session-state/state.d.ts +4 -0
- package/dist/features/hook-message-injector/constants.d.ts +3 -0
- package/dist/features/hook-message-injector/index.d.ts +4 -0
- package/dist/features/hook-message-injector/injector.d.ts +11 -0
- package/dist/features/hook-message-injector/types.d.ts +43 -0
- package/dist/features/knowledge-repo/cache.d.ts +28 -0
- package/dist/features/knowledge-repo/client.d.ts +39 -0
- package/dist/features/knowledge-repo/client.test.d.ts +1 -0
- package/dist/features/knowledge-repo/conflict-detector.d.ts +28 -0
- package/dist/features/knowledge-repo/index.d.ts +4 -0
- package/dist/features/knowledge-repo/types.d.ts +338 -0
- package/dist/features/mem0-memory/adapter.d.ts +19 -0
- package/dist/features/mem0-memory/adapter.test.d.ts +1 -0
- package/dist/features/mem0-memory/index.d.ts +3 -0
- package/dist/features/mem0-memory/layers.d.ts +29 -0
- package/dist/features/mem0-memory/layers.test.d.ts +1 -0
- package/dist/features/mem0-memory/types.d.ts +45 -0
- package/dist/features/opencode-skill-loader/index.d.ts +3 -0
- package/dist/features/opencode-skill-loader/loader.d.ts +41 -0
- package/dist/features/opencode-skill-loader/loader.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
- package/dist/features/opencode-skill-loader/types.d.ts +28 -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/manager.test.d.ts +1 -0
- package/dist/features/skill-mcp-manager/types.d.ts +11 -0
- package/dist/google-auth.d.ts +3 -0
- package/dist/google-auth.js +1865 -0
- package/dist/hooks/agent-usage-reminder/constants.d.ts +5 -0
- package/dist/hooks/agent-usage-reminder/index.d.ts +22 -0
- package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
- package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +4 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +17 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +7 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-executor.d.ts +3 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-purge-errors.d.ts +7 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-storage.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-supersede.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +28 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +42 -0
- package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
- package/dist/hooks/auto-slash-command/detector.d.ts +9 -0
- package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
- package/dist/hooks/auto-slash-command/executor.d.ts +7 -0
- package/dist/hooks/auto-slash-command/index.d.ts +8 -0
- package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
- package/dist/hooks/auto-slash-command/types.d.ts +27 -0
- package/dist/hooks/auto-update-checker/cache.d.ts +3 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +20 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +13 -0
- package/dist/hooks/auto-update-checker/index.d.ts +13 -0
- package/dist/hooks/auto-update-checker/types.d.ts +25 -0
- package/dist/hooks/background-notification/index.d.ts +12 -0
- package/dist/hooks/background-notification/types.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/config-loader.d.ts +13 -0
- package/dist/hooks/claude-code-hooks/config.d.ts +3 -0
- package/dist/hooks/claude-code-hooks/index.d.ts +47 -0
- package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
- package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
- package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
- package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
- package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
- package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
- package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +5 -0
- package/dist/hooks/claude-code-hooks/transcript.d.ts +38 -0
- package/dist/hooks/claude-code-hooks/types.d.ts +182 -0
- package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
- package/dist/hooks/comment-checker/cli.d.ts +53 -0
- package/dist/hooks/comment-checker/constants.d.ts +3 -0
- package/dist/hooks/comment-checker/downloader.d.ts +25 -0
- package/dist/hooks/comment-checker/filters/bdd.d.ts +2 -0
- package/dist/hooks/comment-checker/filters/directive.d.ts +2 -0
- package/dist/hooks/comment-checker/filters/docstring.d.ts +2 -0
- package/dist/hooks/comment-checker/filters/index.d.ts +7 -0
- package/dist/hooks/comment-checker/filters/shebang.d.ts +2 -0
- package/dist/hooks/comment-checker/index.d.ts +19 -0
- package/dist/hooks/comment-checker/output/formatter.d.ts +2 -0
- package/dist/hooks/comment-checker/output/index.d.ts +2 -0
- package/dist/hooks/comment-checker/output/xml-builder.d.ts +2 -0
- package/dist/hooks/comment-checker/types.d.ts +31 -0
- package/dist/hooks/compaction-context-injector/index.d.ts +2 -0
- package/dist/hooks/context-window-monitor.d.ts +18 -0
- package/dist/hooks/directory-agents-injector/constants.d.ts +3 -0
- package/dist/hooks/directory-agents-injector/index.d.ts +26 -0
- package/dist/hooks/directory-agents-injector/storage.d.ts +3 -0
- package/dist/hooks/directory-agents-injector/types.d.ts +5 -0
- package/dist/hooks/directory-readme-injector/constants.d.ts +3 -0
- package/dist/hooks/directory-readme-injector/index.d.ts +26 -0
- package/dist/hooks/directory-readme-injector/storage.d.ts +3 -0
- package/dist/hooks/directory-readme-injector/types.d.ts +5 -0
- package/dist/hooks/edit-error-recovery/index.d.ts +31 -0
- package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
- package/dist/hooks/empty-message-sanitizer/index.d.ts +12 -0
- package/dist/hooks/empty-task-response-detector.d.ts +12 -0
- package/dist/hooks/index.d.ts +27 -0
- package/dist/hooks/interactive-bash-session/constants.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/index.d.ts +23 -0
- package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
- package/dist/hooks/keyword-detector/constants.d.ts +6 -0
- package/dist/hooks/keyword-detector/detector.d.ts +11 -0
- package/dist/hooks/keyword-detector/index.d.ts +22 -0
- package/dist/hooks/keyword-detector/types.d.ts +4 -0
- package/dist/hooks/knowledge-monitor/conflict-handler.d.ts +19 -0
- package/dist/hooks/knowledge-monitor/conflict-handler.test.d.ts +1 -0
- package/dist/hooks/knowledge-monitor/constants.d.ts +8 -0
- package/dist/hooks/knowledge-monitor/index.d.ts +28 -0
- package/dist/hooks/knowledge-monitor/interruption.d.ts +18 -0
- package/dist/hooks/knowledge-monitor/types.d.ts +41 -0
- package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
- package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
- package/dist/hooks/non-interactive-env/index.d.ts +14 -0
- package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
- package/dist/hooks/non-interactive-env/types.d.ts +3 -0
- package/dist/hooks/preemptive-compaction/constants.d.ts +3 -0
- package/dist/hooks/preemptive-compaction/index.d.ts +24 -0
- package/dist/hooks/preemptive-compaction/types.d.ts +17 -0
- package/dist/hooks/ralph-loop/constants.d.ts +5 -0
- package/dist/hooks/ralph-loop/index.d.ts +20 -0
- package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
- package/dist/hooks/ralph-loop/storage.d.ts +6 -0
- package/dist/hooks/ralph-loop/types.d.ts +15 -0
- package/dist/hooks/rules-injector/constants.d.ts +8 -0
- package/dist/hooks/rules-injector/finder.d.ts +33 -0
- package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
- package/dist/hooks/rules-injector/index.d.ts +26 -0
- package/dist/hooks/rules-injector/matcher.d.ts +21 -0
- package/dist/hooks/rules-injector/parser.d.ts +18 -0
- package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
- package/dist/hooks/rules-injector/storage.d.ts +9 -0
- package/dist/hooks/rules-injector/types.d.ts +54 -0
- package/dist/hooks/session-notification-utils.d.ts +9 -0
- package/dist/hooks/session-notification.d.ts +20 -0
- package/dist/hooks/session-notification.test.d.ts +1 -0
- package/dist/hooks/session-recovery/constants.d.ts +6 -0
- package/dist/hooks/session-recovery/index.d.ts +22 -0
- package/dist/hooks/session-recovery/index.test.d.ts +1 -0
- package/dist/hooks/session-recovery/storage.d.ts +19 -0
- package/dist/hooks/session-recovery/types.d.ts +90 -0
- package/dist/hooks/think-mode/detector.d.ts +5 -0
- package/dist/hooks/think-mode/index.d.ts +14 -0
- package/dist/hooks/think-mode/index.test.d.ts +1 -0
- package/dist/hooks/think-mode/switcher.d.ts +57 -0
- package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
- package/dist/hooks/think-mode/types.d.ts +21 -0
- package/dist/hooks/thinking-block-validator/index.d.ts +30 -0
- package/dist/hooks/todo-continuation-enforcer.d.ts +16 -0
- package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
- package/dist/hooks/tool-output-truncator.d.ts +17 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +50332 -0
- package/dist/mcp/context7.d.ts +5 -0
- package/dist/mcp/cypress.d.ts +5 -0
- package/dist/mcp/grep-app.d.ts +5 -0
- package/dist/mcp/honeycomb.d.ts +5 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/index.test.d.ts +1 -0
- package/dist/mcp/types.d.ts +10 -0
- package/dist/mcp/vault.d.ts +5 -0
- package/dist/mcp/websearch-exa.d.ts +5 -0
- package/dist/plugin-config.d.ts +4 -0
- package/dist/plugin-handlers/config-handler.d.ts +10 -0
- package/dist/plugin-handlers/index.d.ts +1 -0
- package/dist/plugin-state.d.ts +6 -0
- package/dist/shared/claude-config-dir.d.ts +1 -0
- package/dist/shared/claude-config-dir.test.d.ts +1 -0
- package/dist/shared/command-executor.d.ts +21 -0
- package/dist/shared/config-errors.d.ts +7 -0
- package/dist/shared/config-path.d.ts +17 -0
- package/dist/shared/data-path.d.ts +14 -0
- package/dist/shared/deep-merge.d.ts +13 -0
- package/dist/shared/dynamic-truncator.d.ts +27 -0
- package/dist/shared/file-reference-resolver.d.ts +1 -0
- package/dist/shared/file-utils.d.ts +6 -0
- package/dist/shared/frontmatter.d.ts +5 -0
- package/dist/shared/frontmatter.test.d.ts +1 -0
- package/dist/shared/hook-disabled.d.ts +2 -0
- package/dist/shared/index.d.ts +18 -0
- package/dist/shared/jsonc-parser.d.ts +15 -0
- package/dist/shared/jsonc-parser.test.d.ts +1 -0
- package/dist/shared/logger.d.ts +2 -0
- package/dist/shared/migration.d.ts +11 -0
- package/dist/shared/migration.test.d.ts +1 -0
- package/dist/shared/model-sanitizer.d.ts +3 -0
- package/dist/shared/pattern-matcher.d.ts +3 -0
- package/dist/shared/snake-case.d.ts +4 -0
- package/dist/shared/tool-name.d.ts +1 -0
- package/dist/tools/ast-grep/cli.d.ts +15 -0
- package/dist/tools/ast-grep/constants.d.ts +29 -0
- package/dist/tools/ast-grep/downloader.d.ts +5 -0
- package/dist/tools/ast-grep/index.d.ts +8 -0
- package/dist/tools/ast-grep/napi.d.ts +13 -0
- package/dist/tools/ast-grep/tools.d.ts +3 -0
- package/dist/tools/ast-grep/types.d.ts +58 -0
- package/dist/tools/ast-grep/utils.d.ts +5 -0
- package/dist/tools/background-task/constants.d.ts +3 -0
- package/dist/tools/background-task/index.d.ts +3 -0
- package/dist/tools/background-task/tools.d.ts +7 -0
- package/dist/tools/background-task/types.d.ts +14 -0
- package/dist/tools/call-omo-agent/constants.d.ts +2 -0
- package/dist/tools/call-omo-agent/index.d.ts +3 -0
- package/dist/tools/call-omo-agent/tools.d.ts +3 -0
- package/dist/tools/call-omo-agent/types.d.ts +24 -0
- package/dist/tools/glob/cli.d.ts +7 -0
- package/dist/tools/glob/constants.d.ts +6 -0
- package/dist/tools/glob/index.d.ts +2 -0
- package/dist/tools/glob/tools.d.ts +2 -0
- package/dist/tools/glob/types.d.ts +19 -0
- package/dist/tools/glob/utils.d.ts +2 -0
- package/dist/tools/grep/cli.d.ts +3 -0
- package/dist/tools/grep/constants.d.ts +17 -0
- package/dist/tools/grep/downloader.d.ts +3 -0
- package/dist/tools/grep/downloader.test.d.ts +1 -0
- package/dist/tools/grep/index.d.ts +2 -0
- package/dist/tools/grep/tools.d.ts +2 -0
- package/dist/tools/grep/types.d.ts +36 -0
- package/dist/tools/grep/utils.d.ts +3 -0
- package/dist/tools/index.d.ts +11 -0
- package/dist/tools/interactive-bash/constants.d.ts +3 -0
- package/dist/tools/interactive-bash/index.d.ts +3 -0
- package/dist/tools/interactive-bash/tools.d.ts +7 -0
- package/dist/tools/interactive-bash/types.d.ts +3 -0
- package/dist/tools/interactive-bash/utils.d.ts +3 -0
- package/dist/tools/knowledge/constants.d.ts +8 -0
- package/dist/tools/knowledge/index.d.ts +2 -0
- package/dist/tools/knowledge/tools.d.ts +5 -0
- package/dist/tools/knowledge/types.d.ts +79 -0
- package/dist/tools/look-at/constants.d.ts +2 -0
- package/dist/tools/look-at/index.d.ts +3 -0
- package/dist/tools/look-at/tools.d.ts +2 -0
- package/dist/tools/look-at/types.d.ts +4 -0
- package/dist/tools/lsp/client.d.ts +59 -0
- package/dist/tools/lsp/config.d.ts +17 -0
- package/dist/tools/lsp/constants.d.ts +9 -0
- package/dist/tools/lsp/index.d.ts +6 -0
- package/dist/tools/lsp/tools.d.ts +12 -0
- package/dist/tools/lsp/types.d.ts +156 -0
- package/dist/tools/lsp/utils.d.ts +29 -0
- package/dist/tools/session-manager/constants.d.ts +12 -0
- package/dist/tools/session-manager/index.d.ts +3 -0
- package/dist/tools/session-manager/storage.d.ts +12 -0
- package/dist/tools/session-manager/storage.test.d.ts +1 -0
- package/dist/tools/session-manager/tools.d.ts +5 -0
- package/dist/tools/session-manager/tools.test.d.ts +1 -0
- package/dist/tools/session-manager/types.d.ts +89 -0
- package/dist/tools/session-manager/utils.d.ts +11 -0
- package/dist/tools/session-manager/utils.test.d.ts +1 -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 +10 -0
- package/dist/tools/skill/tools.test.d.ts +1 -0
- package/dist/tools/skill/types.d.ts +25 -0
- package/dist/tools/skill-mcp/constants.d.ts +2 -0
- package/dist/tools/skill-mcp/index.d.ts +3 -0
- package/dist/tools/skill-mcp/tools.d.ts +11 -0
- package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
- package/dist/tools/skill-mcp/types.d.ts +8 -0
- package/dist/tools/slashcommand/index.d.ts +2 -0
- package/dist/tools/slashcommand/tools.d.ts +2 -0
- package/dist/tools/slashcommand/types.d.ts +16 -0
- package/package.json +81 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
export type TestSubcommand = "run" | "generate" | "coverage" | "matrix";
|
|
2
|
+
export type Language = "typescript" | "javascript" | "python" | "go" | "rust" | "java" | "kotlin" | "csharp";
|
|
3
|
+
export type TestFramework = "jest" | "vitest" | "mocha" | "playwright" | "cypress" | "pytest" | "unittest" | "hypothesis" | "go-test" | "testify" | "ginkgo" | "cargo-test" | "proptest" | "junit" | "testng" | "mockito" | "spock" | "xunit" | "nunit" | "mstest";
|
|
4
|
+
export interface RunInput {
|
|
5
|
+
language?: Language;
|
|
6
|
+
framework?: TestFramework;
|
|
7
|
+
pattern?: string;
|
|
8
|
+
file?: string;
|
|
9
|
+
directory?: string;
|
|
10
|
+
watch?: boolean;
|
|
11
|
+
coverage?: boolean;
|
|
12
|
+
updateSnapshots?: boolean;
|
|
13
|
+
bail?: boolean;
|
|
14
|
+
grep?: string;
|
|
15
|
+
timeout?: number;
|
|
16
|
+
reporter?: "default" | "verbose" | "json" | "junit" | "tap";
|
|
17
|
+
parallel?: boolean;
|
|
18
|
+
tags?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface RunResult {
|
|
21
|
+
language: Language;
|
|
22
|
+
framework: TestFramework;
|
|
23
|
+
total: number;
|
|
24
|
+
passed: number;
|
|
25
|
+
failed: number;
|
|
26
|
+
skipped: number;
|
|
27
|
+
duration: number;
|
|
28
|
+
coverage?: CoverageResult;
|
|
29
|
+
failures: TestFailure[];
|
|
30
|
+
suites: TestSuite[];
|
|
31
|
+
}
|
|
32
|
+
export interface TestSuite {
|
|
33
|
+
name: string;
|
|
34
|
+
file: string;
|
|
35
|
+
tests: number;
|
|
36
|
+
passed: number;
|
|
37
|
+
failed: number;
|
|
38
|
+
skipped: number;
|
|
39
|
+
duration: number;
|
|
40
|
+
}
|
|
41
|
+
export interface TestFailure {
|
|
42
|
+
name: string;
|
|
43
|
+
file: string;
|
|
44
|
+
line: number;
|
|
45
|
+
message: string;
|
|
46
|
+
expected?: string;
|
|
47
|
+
actual?: string;
|
|
48
|
+
stack?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface GenerateInput {
|
|
51
|
+
file: string;
|
|
52
|
+
language?: Language;
|
|
53
|
+
type: "unit" | "integration" | "e2e" | "property" | "snapshot" | "benchmark";
|
|
54
|
+
framework?: TestFramework;
|
|
55
|
+
functions?: string[];
|
|
56
|
+
coverage?: boolean;
|
|
57
|
+
mocks?: boolean;
|
|
58
|
+
fixtures?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface GenerateResult {
|
|
61
|
+
testFile: string;
|
|
62
|
+
language: Language;
|
|
63
|
+
framework: TestFramework;
|
|
64
|
+
tests: GeneratedTest[];
|
|
65
|
+
mocks: GeneratedMock[];
|
|
66
|
+
fixtures: GeneratedFixture[];
|
|
67
|
+
imports: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface GeneratedTest {
|
|
70
|
+
name: string;
|
|
71
|
+
description: string;
|
|
72
|
+
type: "unit" | "integration" | "e2e" | "property" | "benchmark";
|
|
73
|
+
code: string;
|
|
74
|
+
}
|
|
75
|
+
export interface GeneratedMock {
|
|
76
|
+
name: string;
|
|
77
|
+
target: string;
|
|
78
|
+
language: Language;
|
|
79
|
+
code: string;
|
|
80
|
+
}
|
|
81
|
+
export interface GeneratedFixture {
|
|
82
|
+
name: string;
|
|
83
|
+
type: "setup" | "teardown" | "data";
|
|
84
|
+
scope: "test" | "suite" | "module" | "session";
|
|
85
|
+
code: string;
|
|
86
|
+
}
|
|
87
|
+
export interface CoverageInput {
|
|
88
|
+
language?: Language;
|
|
89
|
+
directory?: string;
|
|
90
|
+
threshold?: CoverageThreshold;
|
|
91
|
+
include?: string[];
|
|
92
|
+
exclude?: string[];
|
|
93
|
+
reporter?: ("text" | "html" | "lcov" | "json" | "cobertura" | "jacoco")[];
|
|
94
|
+
}
|
|
95
|
+
export interface CoverageResult {
|
|
96
|
+
language: Language;
|
|
97
|
+
tool: string;
|
|
98
|
+
lines: CoverageMetric;
|
|
99
|
+
statements: CoverageMetric;
|
|
100
|
+
functions: CoverageMetric;
|
|
101
|
+
branches: CoverageMetric;
|
|
102
|
+
files: FileCoverage[];
|
|
103
|
+
uncovered: UncoveredCode[];
|
|
104
|
+
}
|
|
105
|
+
export interface CoverageMetric {
|
|
106
|
+
total: number;
|
|
107
|
+
covered: number;
|
|
108
|
+
percentage: number;
|
|
109
|
+
threshold?: number;
|
|
110
|
+
passing: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface CoverageThreshold {
|
|
113
|
+
lines?: number;
|
|
114
|
+
statements?: number;
|
|
115
|
+
functions?: number;
|
|
116
|
+
branches?: number;
|
|
117
|
+
}
|
|
118
|
+
export interface FileCoverage {
|
|
119
|
+
file: string;
|
|
120
|
+
lines: number;
|
|
121
|
+
covered: number;
|
|
122
|
+
percentage: number;
|
|
123
|
+
uncoveredLines: number[];
|
|
124
|
+
}
|
|
125
|
+
export interface UncoveredCode {
|
|
126
|
+
file: string;
|
|
127
|
+
startLine: number;
|
|
128
|
+
endLine: number;
|
|
129
|
+
type: "function" | "branch" | "statement";
|
|
130
|
+
code: string;
|
|
131
|
+
}
|
|
132
|
+
export interface MatrixInput {
|
|
133
|
+
parameters: MatrixParameter[];
|
|
134
|
+
constraints?: MatrixConstraint[];
|
|
135
|
+
algorithm?: "pict" | "allpairs" | "exhaustive";
|
|
136
|
+
coverage?: number;
|
|
137
|
+
outputFormat?: "json" | "csv" | "yaml" | "code";
|
|
138
|
+
language?: Language;
|
|
139
|
+
}
|
|
140
|
+
export interface MatrixParameter {
|
|
141
|
+
name: string;
|
|
142
|
+
values: string[];
|
|
143
|
+
weight?: number;
|
|
144
|
+
}
|
|
145
|
+
export interface MatrixConstraint {
|
|
146
|
+
if: Record<string, string>;
|
|
147
|
+
then?: Record<string, string>;
|
|
148
|
+
else?: Record<string, string>;
|
|
149
|
+
}
|
|
150
|
+
export interface MatrixResult {
|
|
151
|
+
combinations: MatrixCombination[];
|
|
152
|
+
totalPossible: number;
|
|
153
|
+
generated: number;
|
|
154
|
+
coverage: number;
|
|
155
|
+
parameters: string[];
|
|
156
|
+
code?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface MatrixCombination {
|
|
159
|
+
id: number;
|
|
160
|
+
values: Record<string, string>;
|
|
161
|
+
priority?: "high" | "medium" | "low";
|
|
162
|
+
}
|
|
163
|
+
export interface E2EInput {
|
|
164
|
+
url?: string;
|
|
165
|
+
scenario: string;
|
|
166
|
+
browser?: "chromium" | "firefox" | "webkit";
|
|
167
|
+
headless?: boolean;
|
|
168
|
+
screenshots?: boolean;
|
|
169
|
+
video?: boolean;
|
|
170
|
+
trace?: boolean;
|
|
171
|
+
language?: Language;
|
|
172
|
+
}
|
|
173
|
+
export interface E2EResult {
|
|
174
|
+
passed: boolean;
|
|
175
|
+
duration: number;
|
|
176
|
+
steps: E2EStep[];
|
|
177
|
+
screenshots?: string[];
|
|
178
|
+
video?: string;
|
|
179
|
+
trace?: string;
|
|
180
|
+
errors: string[];
|
|
181
|
+
}
|
|
182
|
+
export interface E2EStep {
|
|
183
|
+
action: string;
|
|
184
|
+
selector?: string;
|
|
185
|
+
value?: string;
|
|
186
|
+
duration: number;
|
|
187
|
+
passed: boolean;
|
|
188
|
+
screenshot?: string;
|
|
189
|
+
error?: string;
|
|
190
|
+
}
|
|
191
|
+
export interface BenchmarkInput {
|
|
192
|
+
file: string;
|
|
193
|
+
language?: Language;
|
|
194
|
+
functions?: string[];
|
|
195
|
+
iterations?: number;
|
|
196
|
+
warmup?: number;
|
|
197
|
+
outputFormat?: "text" | "json" | "markdown";
|
|
198
|
+
}
|
|
199
|
+
export interface BenchmarkResult {
|
|
200
|
+
benchmarks: Benchmark[];
|
|
201
|
+
environment: BenchmarkEnvironment;
|
|
202
|
+
}
|
|
203
|
+
export interface Benchmark {
|
|
204
|
+
name: string;
|
|
205
|
+
iterations: number;
|
|
206
|
+
meanTime: number;
|
|
207
|
+
stdDev: number;
|
|
208
|
+
minTime: number;
|
|
209
|
+
maxTime: number;
|
|
210
|
+
opsPerSecond: number;
|
|
211
|
+
memoryUsage?: number;
|
|
212
|
+
}
|
|
213
|
+
export interface BenchmarkEnvironment {
|
|
214
|
+
os: string;
|
|
215
|
+
arch: string;
|
|
216
|
+
cpu: string;
|
|
217
|
+
memory: string;
|
|
218
|
+
runtime: string;
|
|
219
|
+
version: string;
|
|
220
|
+
}
|
|
221
|
+
export interface TestConfig {
|
|
222
|
+
defaultLanguage?: Language;
|
|
223
|
+
frameworks?: Partial<Record<Language, TestFramework>>;
|
|
224
|
+
coverageThreshold?: CoverageThreshold;
|
|
225
|
+
testDirectory?: string;
|
|
226
|
+
testPatterns?: Partial<Record<Language, string>>;
|
|
227
|
+
timeout?: number;
|
|
228
|
+
parallel?: boolean;
|
|
229
|
+
}
|
|
230
|
+
export declare const LANGUAGE_FRAMEWORKS: Record<Language, TestFramework[]>;
|
|
231
|
+
export declare const LANGUAGE_COVERAGE_TOOLS: Record<Language, string[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SkillMcpConfig } from "../skill-mcp-manager/types";
|
|
2
|
+
export interface BuiltinSkill {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
template: string;
|
|
6
|
+
license?: string;
|
|
7
|
+
compatibility?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
allowedTools?: string[];
|
|
10
|
+
agent?: string;
|
|
11
|
+
model?: string;
|
|
12
|
+
subtask?: boolean;
|
|
13
|
+
argumentHint?: string;
|
|
14
|
+
mcpConfig?: SkillMcpConfig;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
|
+
export type AgentScope = "user" | "project";
|
|
3
|
+
export interface AgentFrontmatter {
|
|
4
|
+
name?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
tools?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface LoadedAgent {
|
|
10
|
+
name: string;
|
|
11
|
+
path: string;
|
|
12
|
+
config: AgentConfig;
|
|
13
|
+
scope: AgentScope;
|
|
14
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CommandDefinition } from "./types";
|
|
2
|
+
export declare function loadUserCommands(): Record<string, CommandDefinition>;
|
|
3
|
+
export declare function loadProjectCommands(): Record<string, CommandDefinition>;
|
|
4
|
+
export declare function loadOpencodeGlobalCommands(): Record<string, CommandDefinition>;
|
|
5
|
+
export declare function loadOpencodeProjectCommands(): Record<string, CommandDefinition>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type CommandScope = "user" | "project" | "opencode" | "opencode-project";
|
|
2
|
+
/**
|
|
3
|
+
* Handoff definition for command workflows.
|
|
4
|
+
* Based on speckit's handoff pattern for multi-agent orchestration.
|
|
5
|
+
* @see https://github.com/github/spec-kit
|
|
6
|
+
*/
|
|
7
|
+
export interface HandoffDefinition {
|
|
8
|
+
/** Human-readable label for the handoff action */
|
|
9
|
+
label: string;
|
|
10
|
+
/** Target agent/command identifier (e.g., "speckit.tasks") */
|
|
11
|
+
agent: string;
|
|
12
|
+
/** Pre-filled prompt text for the handoff */
|
|
13
|
+
prompt: string;
|
|
14
|
+
/** If true, automatically executes after command completion; if false, shows as suggestion */
|
|
15
|
+
send?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface CommandDefinition {
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
template: string;
|
|
21
|
+
agent?: string;
|
|
22
|
+
model?: string;
|
|
23
|
+
subtask?: boolean;
|
|
24
|
+
argumentHint?: string;
|
|
25
|
+
/** Handoff definitions for workflow transitions */
|
|
26
|
+
handoffs?: HandoffDefinition[];
|
|
27
|
+
}
|
|
28
|
+
export interface CommandFrontmatter {
|
|
29
|
+
description?: string;
|
|
30
|
+
"argument-hint"?: string;
|
|
31
|
+
agent?: string;
|
|
32
|
+
model?: string;
|
|
33
|
+
subtask?: boolean;
|
|
34
|
+
/** Handoff definitions for workflow transitions */
|
|
35
|
+
handoffs?: HandoffDefinition[];
|
|
36
|
+
}
|
|
37
|
+
export interface LoadedCommand {
|
|
38
|
+
name: string;
|
|
39
|
+
path: string;
|
|
40
|
+
definition: CommandDefinition;
|
|
41
|
+
scope: CommandScope;
|
|
42
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Configuration Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads Claude Code .mcp.json format configurations from multiple scopes
|
|
5
|
+
* and transforms them to OpenCode SDK format
|
|
6
|
+
*/
|
|
7
|
+
export * from "./types";
|
|
8
|
+
export * from "./loader";
|
|
9
|
+
export * from "./transformer";
|
|
10
|
+
export * from "./env-expander";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LoadedMcpServer, McpLoadResult } from "./types";
|
|
2
|
+
export declare function getSystemMcpServerNames(): Set<string>;
|
|
3
|
+
export declare function loadMcpConfigs(): Promise<McpLoadResult>;
|
|
4
|
+
export declare function formatLoadedServersForToast(loadedServers: LoadedMcpServer[]): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type McpScope = "user" | "project" | "local";
|
|
2
|
+
export interface ClaudeCodeMcpServer {
|
|
3
|
+
type?: "http" | "sse" | "stdio";
|
|
4
|
+
url?: string;
|
|
5
|
+
command?: string;
|
|
6
|
+
args?: string[];
|
|
7
|
+
env?: Record<string, string>;
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ClaudeCodeMcpConfig {
|
|
12
|
+
mcpServers?: Record<string, ClaudeCodeMcpServer>;
|
|
13
|
+
}
|
|
14
|
+
export interface McpLocalConfig {
|
|
15
|
+
type: "local";
|
|
16
|
+
command: string[];
|
|
17
|
+
environment?: Record<string, string>;
|
|
18
|
+
enabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface McpRemoteConfig {
|
|
21
|
+
type: "remote";
|
|
22
|
+
url: string;
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
enabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type McpServerConfig = McpLocalConfig | McpRemoteConfig;
|
|
27
|
+
export interface LoadedMcpServer {
|
|
28
|
+
name: string;
|
|
29
|
+
scope: McpScope;
|
|
30
|
+
config: McpServerConfig;
|
|
31
|
+
}
|
|
32
|
+
export interface McpLoadResult {
|
|
33
|
+
servers: Record<string, McpServerConfig>;
|
|
34
|
+
loadedServers: LoadedMcpServer[];
|
|
35
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
|
+
import type { CommandDefinition } from "../claude-code-command-loader/types";
|
|
3
|
+
import type { McpServerConfig } from "../claude-code-mcp-loader/types";
|
|
4
|
+
import type { LoadedPlugin, PluginLoadResult, PluginLoadError, HooksConfig, PluginLoaderOptions } from "./types";
|
|
5
|
+
export declare function discoverInstalledPlugins(options?: PluginLoaderOptions): PluginLoadResult;
|
|
6
|
+
export declare function loadPluginCommands(plugins: LoadedPlugin[]): Record<string, CommandDefinition>;
|
|
7
|
+
export declare function loadPluginSkillsAsCommands(plugins: LoadedPlugin[]): Record<string, CommandDefinition>;
|
|
8
|
+
export declare function loadPluginAgents(plugins: LoadedPlugin[]): Record<string, AgentConfig>;
|
|
9
|
+
export declare function loadPluginMcpServers(plugins: LoadedPlugin[]): Promise<Record<string, McpServerConfig>>;
|
|
10
|
+
export declare function loadPluginHooksConfigs(plugins: LoadedPlugin[]): HooksConfig[];
|
|
11
|
+
export interface PluginComponentsResult {
|
|
12
|
+
commands: Record<string, CommandDefinition>;
|
|
13
|
+
skills: Record<string, CommandDefinition>;
|
|
14
|
+
agents: Record<string, AgentConfig>;
|
|
15
|
+
mcpServers: Record<string, McpServerConfig>;
|
|
16
|
+
hooksConfigs: HooksConfig[];
|
|
17
|
+
plugins: LoadedPlugin[];
|
|
18
|
+
errors: PluginLoadError[];
|
|
19
|
+
}
|
|
20
|
+
export declare function loadAllPluginComponents(options?: PluginLoaderOptions): Promise<PluginComponentsResult>;
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Plugin Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Claude Code plugin system compatibility.
|
|
5
|
+
* Based on https://code.claude.com/docs/en/plugins-reference
|
|
6
|
+
*/
|
|
7
|
+
export type PluginScope = "user" | "project" | "local" | "managed";
|
|
8
|
+
/**
|
|
9
|
+
* Plugin installation entry in installed_plugins.json
|
|
10
|
+
*/
|
|
11
|
+
export interface PluginInstallation {
|
|
12
|
+
scope: PluginScope;
|
|
13
|
+
installPath: string;
|
|
14
|
+
version: string;
|
|
15
|
+
installedAt: string;
|
|
16
|
+
lastUpdated: string;
|
|
17
|
+
gitCommitSha?: string;
|
|
18
|
+
isLocal?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Installed plugins database v1 (legacy)
|
|
22
|
+
* plugins stored as direct objects
|
|
23
|
+
*/
|
|
24
|
+
export interface InstalledPluginsDatabaseV1 {
|
|
25
|
+
version: 1;
|
|
26
|
+
plugins: Record<string, PluginInstallation>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Installed plugins database v2 (current)
|
|
30
|
+
* plugins stored as arrays
|
|
31
|
+
*/
|
|
32
|
+
export interface InstalledPluginsDatabaseV2 {
|
|
33
|
+
version: 2;
|
|
34
|
+
plugins: Record<string, PluginInstallation[]>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Installed plugins database structure
|
|
38
|
+
* Located at ~/.claude/plugins/installed_plugins.json
|
|
39
|
+
*/
|
|
40
|
+
export type InstalledPluginsDatabase = InstalledPluginsDatabaseV1 | InstalledPluginsDatabaseV2;
|
|
41
|
+
/**
|
|
42
|
+
* Plugin author information
|
|
43
|
+
*/
|
|
44
|
+
export interface PluginAuthor {
|
|
45
|
+
name?: string;
|
|
46
|
+
email?: string;
|
|
47
|
+
url?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Plugin manifest (plugin.json)
|
|
51
|
+
* Located at <plugin_root>/.claude-plugin/plugin.json
|
|
52
|
+
*/
|
|
53
|
+
export interface PluginManifest {
|
|
54
|
+
name: string;
|
|
55
|
+
version?: string;
|
|
56
|
+
description?: string;
|
|
57
|
+
author?: PluginAuthor;
|
|
58
|
+
homepage?: string;
|
|
59
|
+
repository?: string;
|
|
60
|
+
license?: string;
|
|
61
|
+
keywords?: string[];
|
|
62
|
+
commands?: string | string[];
|
|
63
|
+
agents?: string | string[];
|
|
64
|
+
skills?: string | string[];
|
|
65
|
+
hooks?: string | HooksConfig;
|
|
66
|
+
mcpServers?: string | McpServersConfig;
|
|
67
|
+
lspServers?: string | LspServersConfig;
|
|
68
|
+
outputStyles?: string | string[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Hooks configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface HookEntry {
|
|
74
|
+
type: "command" | "prompt" | "agent";
|
|
75
|
+
command?: string;
|
|
76
|
+
prompt?: string;
|
|
77
|
+
agent?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface HookMatcher {
|
|
80
|
+
matcher?: string;
|
|
81
|
+
hooks: HookEntry[];
|
|
82
|
+
}
|
|
83
|
+
export interface HooksConfig {
|
|
84
|
+
hooks?: {
|
|
85
|
+
PreToolUse?: HookMatcher[];
|
|
86
|
+
PostToolUse?: HookMatcher[];
|
|
87
|
+
PostToolUseFailure?: HookMatcher[];
|
|
88
|
+
PermissionRequest?: HookMatcher[];
|
|
89
|
+
UserPromptSubmit?: HookMatcher[];
|
|
90
|
+
Notification?: HookMatcher[];
|
|
91
|
+
Stop?: HookMatcher[];
|
|
92
|
+
SubagentStart?: HookMatcher[];
|
|
93
|
+
SubagentStop?: HookMatcher[];
|
|
94
|
+
SessionStart?: HookMatcher[];
|
|
95
|
+
SessionEnd?: HookMatcher[];
|
|
96
|
+
PreCompact?: HookMatcher[];
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* MCP servers configuration in plugin
|
|
101
|
+
*/
|
|
102
|
+
export interface PluginMcpServer {
|
|
103
|
+
command?: string;
|
|
104
|
+
args?: string[];
|
|
105
|
+
env?: Record<string, string>;
|
|
106
|
+
cwd?: string;
|
|
107
|
+
url?: string;
|
|
108
|
+
type?: "stdio" | "http" | "sse";
|
|
109
|
+
disabled?: boolean;
|
|
110
|
+
}
|
|
111
|
+
export interface McpServersConfig {
|
|
112
|
+
mcpServers?: Record<string, PluginMcpServer>;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* LSP server configuration
|
|
116
|
+
*/
|
|
117
|
+
export interface LspServerConfig {
|
|
118
|
+
command: string;
|
|
119
|
+
args?: string[];
|
|
120
|
+
extensionToLanguage: Record<string, string>;
|
|
121
|
+
transport?: "stdio" | "socket";
|
|
122
|
+
env?: Record<string, string>;
|
|
123
|
+
initializationOptions?: Record<string, unknown>;
|
|
124
|
+
settings?: Record<string, unknown>;
|
|
125
|
+
workspaceFolder?: string;
|
|
126
|
+
startupTimeout?: number;
|
|
127
|
+
shutdownTimeout?: number;
|
|
128
|
+
restartOnCrash?: boolean;
|
|
129
|
+
maxRestarts?: number;
|
|
130
|
+
loggingConfig?: {
|
|
131
|
+
args?: string[];
|
|
132
|
+
env?: Record<string, string>;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export interface LspServersConfig {
|
|
136
|
+
[language: string]: LspServerConfig;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Loaded plugin with all resolved components
|
|
140
|
+
*/
|
|
141
|
+
export interface LoadedPlugin {
|
|
142
|
+
name: string;
|
|
143
|
+
version: string;
|
|
144
|
+
scope: PluginScope;
|
|
145
|
+
installPath: string;
|
|
146
|
+
manifest?: PluginManifest;
|
|
147
|
+
pluginKey: string;
|
|
148
|
+
commandsDir?: string;
|
|
149
|
+
agentsDir?: string;
|
|
150
|
+
skillsDir?: string;
|
|
151
|
+
hooksPath?: string;
|
|
152
|
+
mcpPath?: string;
|
|
153
|
+
lspPath?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Plugin load result with all components
|
|
157
|
+
*/
|
|
158
|
+
export interface PluginLoadResult {
|
|
159
|
+
plugins: LoadedPlugin[];
|
|
160
|
+
errors: PluginLoadError[];
|
|
161
|
+
}
|
|
162
|
+
export interface PluginLoadError {
|
|
163
|
+
pluginKey: string;
|
|
164
|
+
installPath: string;
|
|
165
|
+
error: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Claude settings from ~/.claude/settings.json
|
|
169
|
+
*/
|
|
170
|
+
export interface ClaudeSettings {
|
|
171
|
+
enabledPlugins?: Record<string, boolean>;
|
|
172
|
+
[key: string]: unknown;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Plugin loader options
|
|
176
|
+
*/
|
|
177
|
+
export interface PluginLoaderOptions {
|
|
178
|
+
/**
|
|
179
|
+
* Override enabled plugins from oh-my-opencode config.
|
|
180
|
+
* Key format: "pluginName@marketplace" (e.g., "shell-scripting@claude-code-workflows")
|
|
181
|
+
* Value: true = enabled, false = disabled
|
|
182
|
+
*
|
|
183
|
+
* This takes precedence over ~/.claude/settings.json enabledPlugins
|
|
184
|
+
*/
|
|
185
|
+
enabledPluginsOverride?: Record<string, boolean>;
|
|
186
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./state";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OriginalMessageContext } from "./types";
|
|
2
|
+
export interface StoredMessage {
|
|
3
|
+
agent?: string;
|
|
4
|
+
model?: {
|
|
5
|
+
providerID?: string;
|
|
6
|
+
modelID?: string;
|
|
7
|
+
};
|
|
8
|
+
tools?: Record<string, boolean>;
|
|
9
|
+
}
|
|
10
|
+
export declare function findNearestMessageWithFields(messageDir: string): StoredMessage | null;
|
|
11
|
+
export declare function injectHookMessage(sessionID: string, hookContent: string, originalMessage: OriginalMessageContext): boolean;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface MessageMeta {
|
|
2
|
+
id: string;
|
|
3
|
+
sessionID: string;
|
|
4
|
+
role: "user" | "assistant";
|
|
5
|
+
time: {
|
|
6
|
+
created: number;
|
|
7
|
+
completed?: number;
|
|
8
|
+
};
|
|
9
|
+
agent?: string;
|
|
10
|
+
model?: {
|
|
11
|
+
providerID: string;
|
|
12
|
+
modelID: string;
|
|
13
|
+
};
|
|
14
|
+
path?: {
|
|
15
|
+
cwd: string;
|
|
16
|
+
root: string;
|
|
17
|
+
};
|
|
18
|
+
tools?: Record<string, boolean>;
|
|
19
|
+
}
|
|
20
|
+
export interface OriginalMessageContext {
|
|
21
|
+
agent?: string;
|
|
22
|
+
model?: {
|
|
23
|
+
providerID?: string;
|
|
24
|
+
modelID?: string;
|
|
25
|
+
};
|
|
26
|
+
path?: {
|
|
27
|
+
cwd?: string;
|
|
28
|
+
root?: string;
|
|
29
|
+
};
|
|
30
|
+
tools?: Record<string, boolean>;
|
|
31
|
+
}
|
|
32
|
+
export interface TextPart {
|
|
33
|
+
id: string;
|
|
34
|
+
type: "text";
|
|
35
|
+
text: string;
|
|
36
|
+
synthetic: boolean;
|
|
37
|
+
time: {
|
|
38
|
+
start: number;
|
|
39
|
+
end: number;
|
|
40
|
+
};
|
|
41
|
+
messageID: string;
|
|
42
|
+
sessionID: string;
|
|
43
|
+
}
|