@reinamaccredy/oh-my-opencode 1.0.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 +1107 -0
- package/README.md +1243 -0
- package/README.zh-cn.md +1107 -0
- package/dist/agents/build-prompt.d.ts +31 -0
- package/dist/agents/document-writer.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/index.d.ts +5 -0
- package/dist/agents/librarian.d.ts +5 -0
- package/dist/agents/metis.d.ts +18 -0
- package/dist/agents/momus.d.ts +6 -0
- package/dist/agents/multimodal-looker.d.ts +5 -0
- package/dist/agents/oracle.d.ts +5 -0
- package/dist/agents/orchestrator-sisyphus.d.ts +19 -0
- package/dist/agents/plan-prompt.d.ts +64 -0
- package/dist/agents/prometheus-prompt.d.ts +27 -0
- package/dist/agents/sisyphus-junior.d.ts +3 -0
- package/dist/agents/sisyphus-prompt-builder.d.ts +26 -0
- package/dist/agents/sisyphus.d.ts +4 -0
- package/dist/agents/types.d.ts +49 -0
- package/dist/agents/utils.d.ts +13 -0
- package/dist/agents/utils.test.d.ts +1 -0
- package/dist/auth/antigravity/accounts.d.ts +40 -0
- package/dist/auth/antigravity/accounts.test.d.ts +1 -0
- package/dist/auth/antigravity/browser.d.ts +27 -0
- package/dist/auth/antigravity/browser.test.d.ts +1 -0
- package/dist/auth/antigravity/cli.d.ts +2 -0
- package/dist/auth/antigravity/cli.test.d.ts +1 -0
- package/dist/auth/antigravity/constants.d.ts +98 -0
- package/dist/auth/antigravity/constants.test.d.ts +1 -0
- package/dist/auth/antigravity/fetch.d.ts +69 -0
- package/dist/auth/antigravity/index.d.ts +13 -0
- package/dist/auth/antigravity/integration.test.d.ts +10 -0
- package/dist/auth/antigravity/message-converter.d.ts +54 -0
- package/dist/auth/antigravity/oauth.d.ts +51 -0
- package/dist/auth/antigravity/oauth.test.d.ts +1 -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 +116 -0
- package/dist/auth/antigravity/request.test.d.ts +1 -0
- package/dist/auth/antigravity/response.d.ts +137 -0
- package/dist/auth/antigravity/storage.d.ts +5 -0
- package/dist/auth/antigravity/storage.test.d.ts +1 -0
- package/dist/auth/antigravity/thinking.d.ts +278 -0
- package/dist/auth/antigravity/thinking.test.d.ts +10 -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/token.test.d.ts +1 -0
- package/dist/auth/antigravity/tools.d.ts +119 -0
- package/dist/auth/antigravity/types.d.ts +229 -0
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/config-manager.d.ts +91 -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 +23604 -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 +1914 -0
- package/dist/config/schema.test.d.ts +1 -0
- package/dist/features/background-agent/concurrency.d.ts +10 -0
- package/dist/features/background-agent/concurrency.test.d.ts +1 -0
- package/dist/features/background-agent/index.d.ts +3 -0
- package/dist/features/background-agent/manager.d.ts +55 -0
- package/dist/features/background-agent/manager.test.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +64 -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/storage.test.d.ts +1 -0
- package/dist/features/boulder-state/types.d.ts +24 -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/templates/refactor.d.ts +1 -0
- package/dist/features/builtin-commands/templates/start-work.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.d.ts +2 -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 +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/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/context-injector/collector.d.ts +11 -0
- package/dist/features/context-injector/collector.test.d.ts +1 -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/injector.test.d.ts +1 -0
- package/dist/features/context-injector/types.d.ts +83 -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 +44 -0
- package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
- package/dist/features/opencode-skill-loader/async-loader.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
- package/dist/features/opencode-skill-loader/blocking.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
- package/dist/features/opencode-skill-loader/index.d.ts +4 -0
- package/dist/features/opencode-skill-loader/loader.d.ts +16 -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/skill-content.d.ts +5 -0
- package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/types.d.ts +34 -0
- package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
- package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
- package/dist/features/skill-mcp-manager/index.d.ts +2 -0
- package/dist/features/skill-mcp-manager/manager.d.ts +29 -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/features/task-toast-manager/index.d.ts +2 -0
- package/dist/features/task-toast-manager/manager.d.ts +56 -0
- package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
- package/dist/features/task-toast-manager/types.d.ts +16 -0
- package/dist/features/workflow-engine/adapters/index.d.ts +2 -0
- package/dist/features/workflow-engine/adapters/maestro/index.d.ts +43 -0
- package/dist/features/workflow-engine/adapters/sisyphus/index.d.ts +30 -0
- package/dist/features/workflow-engine/contracts/v1/contract.test.d.ts +1 -0
- package/dist/features/workflow-engine/contracts/v1/engine.contract.d.ts +27 -0
- package/dist/features/workflow-engine/contracts/v1/index.d.ts +2 -0
- package/dist/features/workflow-engine/contracts/v1/types.d.ts +337 -0
- package/dist/features/workflow-engine/engines/index.d.ts +1 -0
- package/dist/features/workflow-engine/engines/maestro-engine.d.ts +40 -0
- package/dist/features/workflow-engine/index.d.ts +4 -0
- package/dist/features/workflow-engine/service.d.ts +6 -0
- package/dist/google-auth.d.ts +3 -0
- package/dist/google-auth.js +3871 -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 +11 -0
- package/dist/hooks/auto-slash-command/index.d.ts +12 -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 +48 -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 +183 -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 +30 -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 +12 -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/index.test.d.ts +1 -0
- package/dist/hooks/keyword-detector/types.d.ts +4 -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/prometheus-md-only/constants.d.ts +6 -0
- package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
- package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -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 +16 -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/sisyphus-orchestrator/index.d.ts +35 -0
- package/dist/hooks/sisyphus-orchestrator/index.test.d.ts +1 -0
- package/dist/hooks/start-work/index.d.ts +16 -0
- package/dist/hooks/start-work/index.test.d.ts +1 -0
- package/dist/hooks/task-resume-info/index.d.ts +11 -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 +17 -0
- package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
- package/dist/hooks/tool-output-truncator.d.ts +17 -0
- package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +56428 -0
- package/dist/mcp/context7.d.ts +5 -0
- package/dist/mcp/grep-app.d.ts +5 -0
- package/dist/mcp/index.d.ts +8 -0
- package/dist/mcp/index.test.d.ts +1 -0
- package/dist/mcp/types.d.ts +9 -0
- package/dist/mcp/websearch.d.ts +8 -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/external-plugin-detector.d.ts +18 -0
- package/dist/shared/external-plugin-detector.test.d.ts +1 -0
- package/dist/shared/file-reference-resolver.d.ts +1 -0
- package/dist/shared/file-utils.d.ts +7 -0
- package/dist/shared/frontmatter.d.ts +7 -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 +22 -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 +17 -0
- package/dist/shared/migration.test.d.ts +1 -0
- package/dist/shared/model-sanitizer.d.ts +3 -0
- package/dist/shared/opencode-config-dir.d.ts +19 -0
- package/dist/shared/opencode-config-dir.test.d.ts +1 -0
- package/dist/shared/opencode-version.d.ts +10 -0
- package/dist/shared/opencode-version.test.d.ts +1 -0
- package/dist/shared/pattern-matcher.d.ts +3 -0
- package/dist/shared/permission-compat.d.ts +12 -0
- package/dist/shared/permission-compat.test.d.ts +1 -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 +14 -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/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/sisyphus-task/constants.d.ts +12 -0
- package/dist/tools/sisyphus-task/index.d.ts +3 -0
- package/dist/tools/sisyphus-task/tools.d.ts +16 -0
- package/dist/tools/sisyphus-task/tools.test.d.ts +1 -0
- package/dist/tools/sisyphus-task/types.d.ts +9 -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 +11 -0
- package/dist/tools/slashcommand/types.d.ts +24 -0
- package/package.json +83 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { McpNameSchema, type McpName } from "./types";
|
|
2
|
+
type RemoteMcpConfig = {
|
|
3
|
+
type: "remote";
|
|
4
|
+
url: string;
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
headers?: Record<string, string>;
|
|
7
|
+
};
|
|
8
|
+
export declare function createBuiltinMcps(disabledMcps?: string[]): Record<string, RemoteMcpConfig>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const McpNameSchema: z.ZodEnum<{
|
|
3
|
+
websearch: "websearch";
|
|
4
|
+
context7: "context7";
|
|
5
|
+
grep_app: "grep_app";
|
|
6
|
+
}>;
|
|
7
|
+
export type McpName = z.infer<typeof McpNameSchema>;
|
|
8
|
+
export declare const AnyMcpNameSchema: z.ZodString;
|
|
9
|
+
export type AnyMcpName = z.infer<typeof AnyMcpNameSchema>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type OhMyOpenCodeConfig } from "./config";
|
|
2
|
+
export declare function loadConfigFromPath(configPath: string, ctx: unknown): OhMyOpenCodeConfig | null;
|
|
3
|
+
export declare function mergeConfigs(base: OhMyOpenCodeConfig, override: OhMyOpenCodeConfig): OhMyOpenCodeConfig;
|
|
4
|
+
export declare function loadPluginConfig(directory: string, ctx: unknown): OhMyOpenCodeConfig;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OhMyOpenCodeConfig } from "../config";
|
|
2
|
+
import type { ModelCacheState } from "../plugin-state";
|
|
3
|
+
export interface ConfigHandlerDeps {
|
|
4
|
+
ctx: {
|
|
5
|
+
directory: string;
|
|
6
|
+
};
|
|
7
|
+
pluginConfig: OhMyOpenCodeConfig;
|
|
8
|
+
modelCacheState: ModelCacheState;
|
|
9
|
+
}
|
|
10
|
+
export declare function createConfigHandler(deps: ConfigHandlerDeps): (config: Record<string, unknown>) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createConfigHandler, type ConfigHandlerDeps } from "./config-handler";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface ModelCacheState {
|
|
2
|
+
modelContextLimitsCache: Map<string, number>;
|
|
3
|
+
anthropicContext1MEnabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function createModelCacheState(): ModelCacheState;
|
|
6
|
+
export declare function getModelLimit(state: ModelCacheState, providerID: string, modelID: string): number | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getClaudeConfigDir(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface CommandResult {
|
|
2
|
+
exitCode: number;
|
|
3
|
+
stdout?: string;
|
|
4
|
+
stderr?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ExecuteHookOptions {
|
|
7
|
+
forceZsh?: boolean;
|
|
8
|
+
zshPath?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Execute a hook command with stdin input
|
|
12
|
+
*/
|
|
13
|
+
export declare function executeHookCommand(command: string, stdin: string, cwd: string, options?: ExecuteHookOptions): Promise<CommandResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Execute a simple command and return output
|
|
16
|
+
*/
|
|
17
|
+
export declare function executeCommand(command: string): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve embedded commands in text recursively
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveCommandsInText(text: string, depth?: number, maxDepth?: number): Promise<string>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type ConfigLoadError = {
|
|
2
|
+
path: string;
|
|
3
|
+
error: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function getConfigLoadErrors(): ConfigLoadError[];
|
|
6
|
+
export declare function clearConfigLoadErrors(): void;
|
|
7
|
+
export declare function addConfigLoadError(error: ConfigLoadError): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the user-level config directory based on the OS.
|
|
3
|
+
* - Linux/macOS: XDG_CONFIG_HOME or ~/.config
|
|
4
|
+
* - Windows: Checks ~/.config first (cross-platform), then %APPDATA% (fallback)
|
|
5
|
+
*
|
|
6
|
+
* On Windows, prioritizes ~/.config for cross-platform consistency.
|
|
7
|
+
* Falls back to %APPDATA% for backward compatibility with existing installations.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getUserConfigDir(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the full path to the user-level oh-my-opencode config file.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getUserConfigPath(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Returns the full path to the project-level oh-my-opencode config file.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getProjectConfigPath(directory: string): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the user-level data directory.
|
|
3
|
+
* Matches OpenCode's behavior via xdg-basedir:
|
|
4
|
+
* - All platforms: XDG_DATA_HOME or ~/.local/share
|
|
5
|
+
*
|
|
6
|
+
* Note: OpenCode uses xdg-basedir which returns ~/.local/share on ALL platforms
|
|
7
|
+
* including Windows, so we match that behavior exactly.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDataDir(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the OpenCode storage directory path.
|
|
12
|
+
* All platforms: ~/.local/share/opencode/storage
|
|
13
|
+
*/
|
|
14
|
+
export declare function getOpenCodeStorageDir(): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
2
|
+
/**
|
|
3
|
+
* Deep merges two objects, with override values taking precedence.
|
|
4
|
+
* - Objects are recursively merged
|
|
5
|
+
* - Arrays are replaced (not concatenated)
|
|
6
|
+
* - undefined values in override do not overwrite base values
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* deepMerge({ a: 1, b: { c: 2, d: 3 } }, { b: { c: 10 }, e: 5 })
|
|
10
|
+
* // => { a: 1, b: { c: 10, d: 3 }, e: 5 }
|
|
11
|
+
*/
|
|
12
|
+
export declare function deepMerge<T extends Record<string, unknown>>(base: T, override: Partial<T>, depth?: number): T;
|
|
13
|
+
export declare function deepMerge<T extends Record<string, unknown>>(base: T | undefined, override: T | undefined, depth?: number): T | undefined;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
export interface TruncationResult {
|
|
3
|
+
result: string;
|
|
4
|
+
truncated: boolean;
|
|
5
|
+
removedCount?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface TruncationOptions {
|
|
8
|
+
targetMaxTokens?: number;
|
|
9
|
+
preserveHeaderLines?: number;
|
|
10
|
+
contextWindowLimit?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function truncateToTokenLimit(output: string, maxTokens: number, preserveHeaderLines?: number): TruncationResult;
|
|
13
|
+
export declare function getContextWindowUsage(ctx: PluginInput, sessionID: string): Promise<{
|
|
14
|
+
usedTokens: number;
|
|
15
|
+
remainingTokens: number;
|
|
16
|
+
usagePercentage: number;
|
|
17
|
+
} | null>;
|
|
18
|
+
export declare function dynamicTruncate(ctx: PluginInput, sessionID: string, output: string, options?: TruncationOptions): Promise<TruncationResult>;
|
|
19
|
+
export declare function createDynamicTruncator(ctx: PluginInput): {
|
|
20
|
+
truncate: (sessionID: string, output: string, options?: TruncationOptions) => Promise<TruncationResult>;
|
|
21
|
+
getUsage: (sessionID: string) => Promise<{
|
|
22
|
+
usedTokens: number;
|
|
23
|
+
remainingTokens: number;
|
|
24
|
+
usagePercentage: number;
|
|
25
|
+
} | null>;
|
|
26
|
+
truncateSync: (output: string, maxTokens: number, preserveHeaderLines?: number) => TruncationResult;
|
|
27
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detects external plugins that may conflict with oh-my-opencode features.
|
|
3
|
+
* Used to prevent crashes from concurrent notification plugins.
|
|
4
|
+
*/
|
|
5
|
+
export interface ExternalNotifierResult {
|
|
6
|
+
detected: boolean;
|
|
7
|
+
pluginName: string | null;
|
|
8
|
+
allPlugins: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Detect if any external notification plugin is configured.
|
|
12
|
+
* Returns information about detected plugins for logging/warning.
|
|
13
|
+
*/
|
|
14
|
+
export declare function detectExternalNotificationPlugin(directory: string): ExternalNotifierResult;
|
|
15
|
+
/**
|
|
16
|
+
* Generate a warning message for users with conflicting notification plugins.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getNotificationConflictWarning(pluginName: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function resolveFileReferencesInText(text: string, cwd?: string, depth?: number, maxDepth?: number): Promise<string>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function isMarkdownFile(entry: {
|
|
2
|
+
name: string;
|
|
3
|
+
isFile: () => boolean;
|
|
4
|
+
}): boolean;
|
|
5
|
+
export declare function isSymbolicLink(filePath: string): boolean;
|
|
6
|
+
export declare function resolveSymlink(filePath: string): string;
|
|
7
|
+
export declare function resolveSymlinkAsync(filePath: string): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export * from "./frontmatter";
|
|
2
|
+
export * from "./command-executor";
|
|
3
|
+
export * from "./file-reference-resolver";
|
|
4
|
+
export * from "./model-sanitizer";
|
|
5
|
+
export * from "./logger";
|
|
6
|
+
export * from "./snake-case";
|
|
7
|
+
export * from "./tool-name";
|
|
8
|
+
export * from "./pattern-matcher";
|
|
9
|
+
export * from "./hook-disabled";
|
|
10
|
+
export * from "./deep-merge";
|
|
11
|
+
export * from "./file-utils";
|
|
12
|
+
export * from "./dynamic-truncator";
|
|
13
|
+
export * from "./config-path";
|
|
14
|
+
export * from "./data-path";
|
|
15
|
+
export * from "./config-errors";
|
|
16
|
+
export * from "./claude-config-dir";
|
|
17
|
+
export * from "./jsonc-parser";
|
|
18
|
+
export * from "./migration";
|
|
19
|
+
export * from "./opencode-config-dir";
|
|
20
|
+
export * from "./opencode-version";
|
|
21
|
+
export * from "./permission-compat";
|
|
22
|
+
export * from "./external-plugin-detector";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface JsoncParseResult<T> {
|
|
2
|
+
data: T | null;
|
|
3
|
+
errors: Array<{
|
|
4
|
+
message: string;
|
|
5
|
+
offset: number;
|
|
6
|
+
length: number;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
export declare function parseJsonc<T = unknown>(content: string): T;
|
|
10
|
+
export declare function parseJsoncSafe<T = unknown>(content: string): JsoncParseResult<T>;
|
|
11
|
+
export declare function readJsoncFile<T = unknown>(filePath: string): T | null;
|
|
12
|
+
export declare function detectConfigFile(basePath: string): {
|
|
13
|
+
format: "json" | "jsonc" | "none";
|
|
14
|
+
path: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const AGENT_NAME_MAP: Record<string, string>;
|
|
2
|
+
export declare const HOOK_NAME_MAP: Record<string, string>;
|
|
3
|
+
export declare const MODEL_TO_CATEGORY_MAP: Record<string, string>;
|
|
4
|
+
export declare function migrateAgentNames(agents: Record<string, unknown>): {
|
|
5
|
+
migrated: Record<string, unknown>;
|
|
6
|
+
changed: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function migrateHookNames(hooks: string[]): {
|
|
9
|
+
migrated: string[];
|
|
10
|
+
changed: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function migrateAgentConfigToCategory(config: Record<string, unknown>): {
|
|
13
|
+
migrated: Record<string, unknown>;
|
|
14
|
+
changed: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare function shouldDeleteAgentConfig(config: Record<string, unknown>, category: string): boolean;
|
|
17
|
+
export declare function migrateConfigFile(configPath: string, rawConfig: Record<string, unknown>): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type OpenCodeBinaryType = "opencode" | "opencode-desktop";
|
|
2
|
+
export interface OpenCodeConfigDirOptions {
|
|
3
|
+
binary: OpenCodeBinaryType;
|
|
4
|
+
version?: string | null;
|
|
5
|
+
checkExisting?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface OpenCodeConfigPaths {
|
|
8
|
+
configDir: string;
|
|
9
|
+
configJson: string;
|
|
10
|
+
configJsonc: string;
|
|
11
|
+
packageJson: string;
|
|
12
|
+
omoConfig: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const TAURI_APP_IDENTIFIER = "ai.opencode.desktop";
|
|
15
|
+
export declare const TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
|
|
16
|
+
export declare function isDevBuild(version: string | null | undefined): boolean;
|
|
17
|
+
export declare function getOpenCodeConfigDir(options: OpenCodeConfigDirOptions): string;
|
|
18
|
+
export declare function getOpenCodeConfigPaths(options: OpenCodeConfigDirOptions): OpenCodeConfigPaths;
|
|
19
|
+
export declare function detectExistingConfigDir(binary: OpenCodeBinaryType, version?: string | null): string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const PERMISSION_BREAKING_VERSION = "1.1.1";
|
|
2
|
+
export declare function parseVersion(version: string): number[];
|
|
3
|
+
export declare function compareVersions(a: string, b: string): -1 | 0 | 1;
|
|
4
|
+
export declare function isVersionGte(a: string, b: string): boolean;
|
|
5
|
+
export declare function isVersionLt(a: string, b: string): boolean;
|
|
6
|
+
export declare function getOpenCodeVersion(): string | null;
|
|
7
|
+
export declare function supportsNewPermissionSystem(): boolean;
|
|
8
|
+
export declare function usesLegacyToolsSystem(): boolean;
|
|
9
|
+
export declare function resetVersionCache(): void;
|
|
10
|
+
export declare function setVersionCache(version: string | null): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ClaudeHooksConfig, HookMatcher } from "../hooks/claude-code-hooks/types";
|
|
2
|
+
export declare function matchesToolMatcher(toolName: string, matcher: string): boolean;
|
|
3
|
+
export declare function findMatchingHooks(config: ClaudeHooksConfig, eventName: keyof ClaudeHooksConfig, toolName?: string): HookMatcher[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type PermissionValue = "ask" | "allow" | "deny";
|
|
2
|
+
export interface LegacyToolsFormat {
|
|
3
|
+
tools: Record<string, boolean>;
|
|
4
|
+
}
|
|
5
|
+
export interface NewPermissionFormat {
|
|
6
|
+
permission: Record<string, PermissionValue>;
|
|
7
|
+
}
|
|
8
|
+
export type VersionAwareRestrictions = LegacyToolsFormat | NewPermissionFormat;
|
|
9
|
+
export declare function createAgentToolRestrictions(denyTools: string[]): VersionAwareRestrictions;
|
|
10
|
+
export declare function migrateToolsToPermission(tools: Record<string, boolean>): Record<string, PermissionValue>;
|
|
11
|
+
export declare function migratePermissionToTools(permission: Record<string, PermissionValue>): Record<string, boolean>;
|
|
12
|
+
export declare function migrateAgentConfig(config: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function camelToSnake(str: string): string;
|
|
2
|
+
export declare function snakeToCamel(str: string): string;
|
|
3
|
+
export declare function objectToSnakeCase(obj: Record<string, unknown>, deep?: boolean): Record<string, unknown>;
|
|
4
|
+
export declare function objectToCamelCase(obj: Record<string, unknown>, deep?: boolean): Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function transformToolName(toolName: string): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CliLanguage, SgResult } from "./types";
|
|
2
|
+
export interface RunOptions {
|
|
3
|
+
pattern: string;
|
|
4
|
+
lang: CliLanguage;
|
|
5
|
+
paths?: string[];
|
|
6
|
+
globs?: string[];
|
|
7
|
+
rewrite?: string;
|
|
8
|
+
context?: number;
|
|
9
|
+
updateAll?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function getAstGrepPath(): Promise<string | null>;
|
|
12
|
+
export declare function startBackgroundInit(): void;
|
|
13
|
+
export declare function runSg(options: RunOptions): Promise<SgResult>;
|
|
14
|
+
export declare function isCliAvailable(): boolean;
|
|
15
|
+
export declare function ensureCliAvailable(): Promise<boolean>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare function findSgCliPathSync(): string | null;
|
|
2
|
+
export declare function getSgCliPath(): string;
|
|
3
|
+
export declare function setSgCliPath(path: string): void;
|
|
4
|
+
export declare const CLI_LANGUAGES: readonly ["bash", "c", "cpp", "csharp", "css", "elixir", "go", "haskell", "html", "java", "javascript", "json", "kotlin", "lua", "nix", "php", "python", "ruby", "rust", "scala", "solidity", "swift", "typescript", "tsx", "yaml"];
|
|
5
|
+
export declare const NAPI_LANGUAGES: readonly ["html", "javascript", "tsx", "css", "typescript"];
|
|
6
|
+
export declare const DEFAULT_TIMEOUT_MS = 300000;
|
|
7
|
+
export declare const DEFAULT_MAX_OUTPUT_BYTES: number;
|
|
8
|
+
export declare const DEFAULT_MAX_MATCHES = 500;
|
|
9
|
+
export declare const LANG_EXTENSIONS: Record<string, string[]>;
|
|
10
|
+
export interface EnvironmentCheckResult {
|
|
11
|
+
cli: {
|
|
12
|
+
available: boolean;
|
|
13
|
+
path: string;
|
|
14
|
+
error?: string;
|
|
15
|
+
};
|
|
16
|
+
napi: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
error?: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Check if ast-grep CLI and NAPI are available.
|
|
23
|
+
* Call this at startup to provide early feedback about missing dependencies.
|
|
24
|
+
*/
|
|
25
|
+
export declare function checkEnvironment(): EnvironmentCheckResult;
|
|
26
|
+
/**
|
|
27
|
+
* Format environment check result as user-friendly message.
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatEnvironmentCheck(result: EnvironmentCheckResult): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function getCacheDir(): string;
|
|
2
|
+
export declare function getBinaryName(): string;
|
|
3
|
+
export declare function getCachedBinaryPath(): string | null;
|
|
4
|
+
export declare function downloadAstGrep(version?: string): Promise<string | null>;
|
|
5
|
+
export declare function ensureAstGrepBinary(): Promise<string | null>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ToolDefinition } from "@opencode-ai/plugin";
|
|
2
|
+
import { ast_grep_search, ast_grep_replace } from "./tools";
|
|
3
|
+
export declare const builtinTools: Record<string, ToolDefinition>;
|
|
4
|
+
export { ast_grep_search, ast_grep_replace };
|
|
5
|
+
export { ensureAstGrepBinary, getCachedBinaryPath, getCacheDir } from "./downloader";
|
|
6
|
+
export { getAstGrepPath, isCliAvailable, ensureCliAvailable, startBackgroundInit } from "./cli";
|
|
7
|
+
export { checkEnvironment, formatEnvironmentCheck } from "./constants";
|
|
8
|
+
export type { EnvironmentCheckResult } from "./constants";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NapiLanguage, AnalyzeResult, MetaVariable } from "./types";
|
|
2
|
+
export declare function parseCode(code: string, lang: NapiLanguage): import("@ast-grep/napi").SgRoot<import("@ast-grep/napi/types/staticTypes").TypesMap>;
|
|
3
|
+
export declare function findPattern(root: ReturnType<typeof parseCode>, pattern: string): import("@ast-grep/napi").SgNode<import("@ast-grep/napi/types/staticTypes").TypesMap, import("@ast-grep/napi/types/staticTypes").Kinds<import("@ast-grep/napi/types/staticTypes").TypesMap>>[];
|
|
4
|
+
export declare function extractMetaVariables(node: ReturnType<ReturnType<typeof parseCode>["root"]>, pattern: string): MetaVariable[];
|
|
5
|
+
export declare function analyzeCode(code: string, lang: NapiLanguage, pattern: string, shouldExtractMetaVars: boolean): AnalyzeResult[];
|
|
6
|
+
export declare function transformCode(code: string, lang: NapiLanguage, pattern: string, rewrite: string): {
|
|
7
|
+
transformed: string;
|
|
8
|
+
editCount: number;
|
|
9
|
+
};
|
|
10
|
+
export declare function getRootInfo(code: string, lang: NapiLanguage): {
|
|
11
|
+
kind: string;
|
|
12
|
+
childCount: number;
|
|
13
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { CLI_LANGUAGES, NAPI_LANGUAGES } from "./constants";
|
|
2
|
+
export type CliLanguage = (typeof CLI_LANGUAGES)[number];
|
|
3
|
+
export type NapiLanguage = (typeof NAPI_LANGUAGES)[number];
|
|
4
|
+
export interface Position {
|
|
5
|
+
line: number;
|
|
6
|
+
column: number;
|
|
7
|
+
}
|
|
8
|
+
export interface Range {
|
|
9
|
+
start: Position;
|
|
10
|
+
end: Position;
|
|
11
|
+
}
|
|
12
|
+
export interface CliMatch {
|
|
13
|
+
text: string;
|
|
14
|
+
range: {
|
|
15
|
+
byteOffset: {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
};
|
|
19
|
+
start: Position;
|
|
20
|
+
end: Position;
|
|
21
|
+
};
|
|
22
|
+
file: string;
|
|
23
|
+
lines: string;
|
|
24
|
+
charCount: {
|
|
25
|
+
leading: number;
|
|
26
|
+
trailing: number;
|
|
27
|
+
};
|
|
28
|
+
language: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SearchMatch {
|
|
31
|
+
file: string;
|
|
32
|
+
text: string;
|
|
33
|
+
range: Range;
|
|
34
|
+
lines: string;
|
|
35
|
+
}
|
|
36
|
+
export interface MetaVariable {
|
|
37
|
+
name: string;
|
|
38
|
+
text: string;
|
|
39
|
+
kind: string;
|
|
40
|
+
}
|
|
41
|
+
export interface AnalyzeResult {
|
|
42
|
+
text: string;
|
|
43
|
+
range: Range;
|
|
44
|
+
kind: string;
|
|
45
|
+
metaVariables: MetaVariable[];
|
|
46
|
+
}
|
|
47
|
+
export interface TransformResult {
|
|
48
|
+
original: string;
|
|
49
|
+
transformed: string;
|
|
50
|
+
editCount: number;
|
|
51
|
+
}
|
|
52
|
+
export interface SgResult {
|
|
53
|
+
matches: CliMatch[];
|
|
54
|
+
totalMatches: number;
|
|
55
|
+
truncated: boolean;
|
|
56
|
+
truncatedReason?: "max_matches" | "max_output_bytes" | "timeout";
|
|
57
|
+
error?: string;
|
|
58
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AnalyzeResult, SgResult } from "./types";
|
|
2
|
+
export declare function formatSearchResult(result: SgResult): string;
|
|
3
|
+
export declare function formatReplaceResult(result: SgResult, isDryRun: boolean): string;
|
|
4
|
+
export declare function formatAnalyzeResult(results: AnalyzeResult[], extractedMetaVars: boolean): string;
|
|
5
|
+
export declare function formatTransformResult(_original: string, transformed: string, editCount: number): string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const BACKGROUND_TASK_DESCRIPTION = "Run agent task in background. Returns task_id immediately; notifies on completion.\n\nUse `background_output` to get results. Prompts MUST be in English.";
|
|
2
|
+
export declare const BACKGROUND_OUTPUT_DESCRIPTION = "Get output from background task. System notifies on completion, so block=true rarely needed.";
|
|
3
|
+
export declare const BACKGROUND_CANCEL_DESCRIPTION = "Cancel running background task(s). Use all=true to cancel ALL before final answer.";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type PluginInput, type ToolDefinition } from "@opencode-ai/plugin";
|
|
2
|
+
import type { BackgroundManager } from "../../features/background-agent";
|
|
3
|
+
type OpencodeClient = PluginInput["client"];
|
|
4
|
+
export declare function createBackgroundTask(manager: BackgroundManager): ToolDefinition;
|
|
5
|
+
export declare function createBackgroundOutput(manager: BackgroundManager, client: OpencodeClient): ToolDefinition;
|
|
6
|
+
export declare function createBackgroundCancel(manager: BackgroundManager, client: OpencodeClient): ToolDefinition;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface BackgroundTaskArgs {
|
|
2
|
+
description: string;
|
|
3
|
+
prompt: string;
|
|
4
|
+
agent: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BackgroundOutputArgs {
|
|
7
|
+
task_id: string;
|
|
8
|
+
block?: boolean;
|
|
9
|
+
timeout?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface BackgroundCancelArgs {
|
|
12
|
+
taskId?: string;
|
|
13
|
+
all?: boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const ALLOWED_AGENTS: readonly ["explore", "librarian"];
|
|
2
|
+
export declare const CALL_OMO_AGENT_DESCRIPTION = "Spawn explore/librarian agent. run_in_background REQUIRED (true=async with task_id, false=sync).\n\nAvailable: {agents}\n\nPass `resume=session_id` to continue previous agent with full context. Prompts MUST be in English. Use `background_output` for async results.";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ALLOWED_AGENTS } from "./constants";
|
|
2
|
+
export type AllowedAgentType = (typeof ALLOWED_AGENTS)[number];
|
|
3
|
+
export interface CallOmoAgentArgs {
|
|
4
|
+
description: string;
|
|
5
|
+
prompt: string;
|
|
6
|
+
subagent_type: string;
|
|
7
|
+
run_in_background: boolean;
|
|
8
|
+
session_id?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface CallOmoAgentSyncResult {
|
|
11
|
+
title: string;
|
|
12
|
+
metadata: {
|
|
13
|
+
summary?: Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
tool: string;
|
|
16
|
+
state: {
|
|
17
|
+
status: string;
|
|
18
|
+
title?: string;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
21
|
+
sessionId: string;
|
|
22
|
+
};
|
|
23
|
+
output: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type GrepBackend } from "./constants";
|
|
2
|
+
import type { GlobOptions, GlobResult } from "./types";
|
|
3
|
+
export interface ResolvedCli {
|
|
4
|
+
path: string;
|
|
5
|
+
backend: GrepBackend;
|
|
6
|
+
}
|
|
7
|
+
export declare function runRgFiles(options: GlobOptions, resolvedCli?: ResolvedCli): Promise<GlobResult>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { resolveGrepCli, resolveGrepCliWithAutoInstall, type GrepBackend } from "../grep/constants";
|
|
2
|
+
export declare const DEFAULT_TIMEOUT_MS = 60000;
|
|
3
|
+
export declare const DEFAULT_LIMIT = 100;
|
|
4
|
+
export declare const DEFAULT_MAX_DEPTH = 20;
|
|
5
|
+
export declare const DEFAULT_MAX_OUTPUT_BYTES: number;
|
|
6
|
+
export declare const RG_FILES_FLAGS: readonly ["--files", "--color=never", "--glob=!.git/*"];
|