homer-simpson 0.1.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 +1274 -0
- package/README.zh-cn.md +1107 -0
- package/dist/agents/architect.d.ts +5 -0
- package/dist/agents/bart.d.ts +3 -0
- package/dist/agents/build-prompt.d.ts +31 -0
- package/dist/agents/comic-book-guy.d.ts +5 -0
- package/dist/agents/consultant.d.ts +19 -0
- package/dist/agents/designer.d.ts +5 -0
- package/dist/agents/edna.d.ts +5 -0
- package/dist/agents/explorer.d.ts +5 -0
- package/dist/agents/grandpa.d.ts +6 -0
- package/dist/agents/homer-prompt-builder.d.ts +26 -0
- package/dist/agents/homer.d.ts +4 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/lisa.d.ts +5 -0
- package/dist/agents/milhouse.d.ts +5 -0
- package/dist/agents/orchestrator.d.ts +20 -0
- package/dist/agents/plan-prompt.d.ts +64 -0
- package/dist/agents/prometheus-prompt.d.ts +27 -0
- package/dist/agents/researcher.d.ts +5 -0
- package/dist/agents/reviewer.d.ts +6 -0
- package/dist/agents/santas-little-helper.d.ts +5 -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/agents/viewer.d.ts +5 -0
- package/dist/agents/writer.d.ts +5 -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 +23631 -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 +4 -0
- package/dist/config/presets.d.ts +89 -0
- package/dist/config/schema.d.ts +1952 -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 +70 -0
- package/dist/features/background-agent/manager.test.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +68 -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/donut-state/constants.d.ts +10 -0
- package/dist/features/donut-state/index.d.ts +3 -0
- package/dist/features/donut-state/storage.d.ts +28 -0
- package/dist/features/donut-state/storage.test.d.ts +1 -0
- package/dist/features/donut-state/types.d.ts +24 -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/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 +16 -0
- package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
- package/dist/hooks/auto-update-checker/types.d.ts +25 -0
- package/dist/hooks/background-compaction/index.d.ts +19 -0
- package/dist/hooks/background-notification/index.d.ts +18 -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/homer-orchestrator/index.d.ts +35 -0
- package/dist/hooks/homer-orchestrator/index.test.d.ts +1 -0
- package/dist/hooks/index.d.ts +32 -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 +31 -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/start-work/index.d.ts +16 -0
- package/dist/hooks/start-work/index.test.d.ts +1 -0
- package/dist/hooks/status-recorder/index.d.ts +51 -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 +57170 -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/agent-display.d.ts +43 -0
- package/dist/shared/agent-display.test.d.ts +1 -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 +24 -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/messages.d.ts +33 -0
- package/dist/shared/messages.test.d.ts +1 -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-homer-agent/constants.d.ts +2 -0
- package/dist/tools/call-homer-agent/index.d.ts +3 -0
- package/dist/tools/call-homer-agent/tools.d.ts +3 -0
- package/dist/tools/call-homer-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/homer-task/constants.d.ts +12 -0
- package/dist/tools/homer-task/index.d.ts +3 -0
- package/dist/tools/homer-task/tools.d.ts +16 -0
- package/dist/tools/homer-task/tools.test.d.ts +1 -0
- package/dist/tools/homer-task/types.d.ts +9 -0
- package/dist/tools/index.d.ts +16 -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 +60 -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 +4 -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 +5 -0
- package/dist/tools/slashcommand/types.d.ts +24 -0
- package/dist/tools/spec-system/clarity-checker.d.ts +23 -0
- package/dist/tools/spec-system/clarity-checker.test.d.ts +1 -0
- package/dist/tools/spec-system/index.d.ts +9 -0
- package/dist/tools/spec-system/scenario-builder.d.ts +56 -0
- package/dist/tools/spec-system/spec-file-manager.d.ts +59 -0
- package/dist/tools/spec-system/types.d.ts +92 -0
- package/dist/tools/status-recorder/attempt-tracker.d.ts +98 -0
- package/dist/tools/status-recorder/failure-analyzer.d.ts +48 -0
- package/dist/tools/status-recorder/index.d.ts +7 -0
- package/dist/tools/status-recorder/types.d.ts +80 -0
- package/package.json +82 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PendingContext, RegisterContextOptions } from "./types";
|
|
2
|
+
export declare class ContextCollector {
|
|
3
|
+
private sessions;
|
|
4
|
+
register(sessionID: string, options: RegisterContextOptions): void;
|
|
5
|
+
getPending(sessionID: string): PendingContext;
|
|
6
|
+
consume(sessionID: string): PendingContext;
|
|
7
|
+
clear(sessionID: string): void;
|
|
8
|
+
hasPending(sessionID: string): boolean;
|
|
9
|
+
private sortEntries;
|
|
10
|
+
}
|
|
11
|
+
export declare const contextCollector: ContextCollector;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { ContextCollector, contextCollector } from "./collector";
|
|
2
|
+
export { injectPendingContext, createContextInjectorHook, createContextInjectorMessagesTransformHook, } from "./injector";
|
|
3
|
+
export type { ContextSourceType, ContextPriority, ContextEntry, RegisterContextOptions, PendingContext, MessageContext, OutputParts, InjectionStrategy, } from "./types";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ContextCollector } from "./collector";
|
|
2
|
+
import type { Message, Part } from "@opencode-ai/sdk";
|
|
3
|
+
interface OutputPart {
|
|
4
|
+
type: string;
|
|
5
|
+
text?: string;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
interface InjectionResult {
|
|
9
|
+
injected: boolean;
|
|
10
|
+
contextLength: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function injectPendingContext(collector: ContextCollector, sessionID: string, parts: OutputPart[]): InjectionResult;
|
|
13
|
+
interface ChatMessageInput {
|
|
14
|
+
sessionID: string;
|
|
15
|
+
agent?: string;
|
|
16
|
+
model?: {
|
|
17
|
+
providerID: string;
|
|
18
|
+
modelID: string;
|
|
19
|
+
};
|
|
20
|
+
messageID?: string;
|
|
21
|
+
}
|
|
22
|
+
interface ChatMessageOutput {
|
|
23
|
+
message: Record<string, unknown>;
|
|
24
|
+
parts: OutputPart[];
|
|
25
|
+
}
|
|
26
|
+
export declare function createContextInjectorHook(collector: ContextCollector): {
|
|
27
|
+
"chat.message": (input: ChatMessageInput, output: ChatMessageOutput) => Promise<void>;
|
|
28
|
+
};
|
|
29
|
+
interface MessageWithParts {
|
|
30
|
+
info: Message;
|
|
31
|
+
parts: Part[];
|
|
32
|
+
}
|
|
33
|
+
type MessagesTransformHook = {
|
|
34
|
+
"experimental.chat.messages.transform"?: (input: Record<string, never>, output: {
|
|
35
|
+
messages: MessageWithParts[];
|
|
36
|
+
}) => Promise<void>;
|
|
37
|
+
};
|
|
38
|
+
export declare function createContextInjectorMessagesTransformHook(collector: ContextCollector): MessagesTransformHook;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source identifier for context injection
|
|
3
|
+
* Each source registers context that will be merged and injected together
|
|
4
|
+
*/
|
|
5
|
+
export type ContextSourceType = "keyword-detector" | "rules-injector" | "directory-agents" | "directory-readme" | "spec-system" | "status-recorder" | "custom";
|
|
6
|
+
/**
|
|
7
|
+
* Priority levels for context ordering
|
|
8
|
+
* Higher priority contexts appear first in the merged output
|
|
9
|
+
*/
|
|
10
|
+
export type ContextPriority = "critical" | "high" | "medium" | "normal" | "low";
|
|
11
|
+
/**
|
|
12
|
+
* A single context entry registered by a source
|
|
13
|
+
*/
|
|
14
|
+
export interface ContextEntry {
|
|
15
|
+
/** Unique identifier for this entry within the source */
|
|
16
|
+
id: string;
|
|
17
|
+
/** The source that registered this context */
|
|
18
|
+
source: ContextSourceType;
|
|
19
|
+
/** The actual context content to inject */
|
|
20
|
+
content: string;
|
|
21
|
+
/** Priority for ordering (default: normal) */
|
|
22
|
+
priority: ContextPriority;
|
|
23
|
+
/** Timestamp when registered */
|
|
24
|
+
timestamp: number;
|
|
25
|
+
/** Optional metadata for debugging/logging */
|
|
26
|
+
metadata?: Record<string, unknown>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Options for registering context
|
|
30
|
+
*/
|
|
31
|
+
export interface RegisterContextOptions {
|
|
32
|
+
/** Unique ID for this context entry (used for deduplication) */
|
|
33
|
+
id: string;
|
|
34
|
+
/** Source identifier */
|
|
35
|
+
source: ContextSourceType;
|
|
36
|
+
/** The content to inject */
|
|
37
|
+
content: string;
|
|
38
|
+
/** Priority for ordering (default: normal) */
|
|
39
|
+
priority?: ContextPriority;
|
|
40
|
+
/** Optional metadata */
|
|
41
|
+
metadata?: Record<string, unknown>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Result of getting pending context for a session
|
|
45
|
+
*/
|
|
46
|
+
export interface PendingContext {
|
|
47
|
+
/** Merged context string, ready for injection */
|
|
48
|
+
merged: string;
|
|
49
|
+
/** Individual entries that were merged */
|
|
50
|
+
entries: ContextEntry[];
|
|
51
|
+
/** Whether there's any content to inject */
|
|
52
|
+
hasContent: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Message context from the original user message
|
|
56
|
+
* Used when injecting to match the message format
|
|
57
|
+
*/
|
|
58
|
+
export interface MessageContext {
|
|
59
|
+
agent?: string;
|
|
60
|
+
model?: {
|
|
61
|
+
providerID?: string;
|
|
62
|
+
modelID?: string;
|
|
63
|
+
};
|
|
64
|
+
path?: {
|
|
65
|
+
cwd?: string;
|
|
66
|
+
root?: string;
|
|
67
|
+
};
|
|
68
|
+
tools?: Record<string, boolean>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Output parts from chat.message hook
|
|
72
|
+
*/
|
|
73
|
+
export interface OutputParts {
|
|
74
|
+
parts: Array<{
|
|
75
|
+
type: string;
|
|
76
|
+
text?: string;
|
|
77
|
+
[key: string]: unknown;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Injection strategy
|
|
82
|
+
*/
|
|
83
|
+
export type InjectionStrategy = "prepend-parts" | "storage" | "auto";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Donut State Constants
|
|
3
|
+
*/
|
|
4
|
+
export declare const DONUT_DIR = ".homer";
|
|
5
|
+
export declare const DONUT_FILE = "donut.json";
|
|
6
|
+
export declare const DONUT_STATE_PATH = ".homer/donut.json";
|
|
7
|
+
export declare const NOTEPAD_DIR = "notepads";
|
|
8
|
+
export declare const NOTEPAD_BASE_PATH = ".homer/notepads";
|
|
9
|
+
/** Prometheus plan directory pattern */
|
|
10
|
+
export declare const PROMETHEUS_PLANS_DIR = ".homer/plans";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Donut State Storage
|
|
3
|
+
*
|
|
4
|
+
* Handles reading/writing donut.json for active plan tracking.
|
|
5
|
+
*/
|
|
6
|
+
import type { DonutState, PlanProgress } from "./types";
|
|
7
|
+
export declare function getDonutFilePath(directory: string): string;
|
|
8
|
+
export declare function readDonutState(directory: string): DonutState | null;
|
|
9
|
+
export declare function writeDonutState(directory: string, state: DonutState): boolean;
|
|
10
|
+
export declare function appendSessionId(directory: string, sessionId: string): DonutState | null;
|
|
11
|
+
export declare function clearDonutState(directory: string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Find Prometheus plan files for this project.
|
|
14
|
+
* Prometheus stores plans at: {project}/.homer/plans/{name}.md
|
|
15
|
+
*/
|
|
16
|
+
export declare function findPrometheusPlans(directory: string): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Parse a plan file and count checkbox progress.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getPlanProgress(planPath: string): PlanProgress;
|
|
21
|
+
/**
|
|
22
|
+
* Extract plan name from file path.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getPlanName(planPath: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Create a new donut state for a plan.
|
|
27
|
+
*/
|
|
28
|
+
export declare function createDonutState(planPath: string, sessionId: string): DonutState;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Donut State Types
|
|
3
|
+
*
|
|
4
|
+
* Manages the active work plan state for Homer orchestrator.
|
|
5
|
+
* Named after Homer's donuts - the eternal snack that must be consumed.
|
|
6
|
+
*/
|
|
7
|
+
export interface DonutState {
|
|
8
|
+
/** Absolute path to the active plan file */
|
|
9
|
+
active_plan: string;
|
|
10
|
+
/** ISO timestamp when work started */
|
|
11
|
+
started_at: string;
|
|
12
|
+
/** Session IDs that have worked on this plan */
|
|
13
|
+
session_ids: string[];
|
|
14
|
+
/** Plan name derived from filename */
|
|
15
|
+
plan_name: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PlanProgress {
|
|
18
|
+
/** Total number of checkboxes */
|
|
19
|
+
total: number;
|
|
20
|
+
/** Number of completed checkboxes */
|
|
21
|
+
completed: number;
|
|
22
|
+
/** Whether all tasks are done */
|
|
23
|
+
isComplete: boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OriginalMessageContext, ToolPermission } from "./types";
|
|
2
|
+
export interface StoredMessage {
|
|
3
|
+
agent?: string;
|
|
4
|
+
model?: {
|
|
5
|
+
providerID?: string;
|
|
6
|
+
modelID?: string;
|
|
7
|
+
};
|
|
8
|
+
tools?: Record<string, ToolPermission>;
|
|
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,44 @@
|
|
|
1
|
+
export type ToolPermission = boolean | "allow" | "deny" | "ask";
|
|
2
|
+
export interface MessageMeta {
|
|
3
|
+
id: string;
|
|
4
|
+
sessionID: string;
|
|
5
|
+
role: "user" | "assistant";
|
|
6
|
+
time: {
|
|
7
|
+
created: number;
|
|
8
|
+
completed?: number;
|
|
9
|
+
};
|
|
10
|
+
agent?: string;
|
|
11
|
+
model?: {
|
|
12
|
+
providerID: string;
|
|
13
|
+
modelID: string;
|
|
14
|
+
};
|
|
15
|
+
path?: {
|
|
16
|
+
cwd: string;
|
|
17
|
+
root: string;
|
|
18
|
+
};
|
|
19
|
+
tools?: Record<string, ToolPermission>;
|
|
20
|
+
}
|
|
21
|
+
export interface OriginalMessageContext {
|
|
22
|
+
agent?: string;
|
|
23
|
+
model?: {
|
|
24
|
+
providerID?: string;
|
|
25
|
+
modelID?: string;
|
|
26
|
+
};
|
|
27
|
+
path?: {
|
|
28
|
+
cwd?: string;
|
|
29
|
+
root?: string;
|
|
30
|
+
};
|
|
31
|
+
tools?: Record<string, ToolPermission>;
|
|
32
|
+
}
|
|
33
|
+
export interface TextPart {
|
|
34
|
+
id: string;
|
|
35
|
+
type: "text";
|
|
36
|
+
text: string;
|
|
37
|
+
synthetic: boolean;
|
|
38
|
+
time: {
|
|
39
|
+
start: number;
|
|
40
|
+
end: number;
|
|
41
|
+
};
|
|
42
|
+
messageID: string;
|
|
43
|
+
sessionID: string;
|
|
44
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SkillScope, LoadedSkill } from "./types";
|
|
2
|
+
import type { SkillMcpConfig } from "../skill-mcp-manager/types";
|
|
3
|
+
export declare function mapWithConcurrency<T, R>(items: T[], mapper: (item: T) => Promise<R>, concurrency: number): Promise<R[]>;
|
|
4
|
+
export declare function loadMcpJsonFromDirAsync(skillDir: string): Promise<SkillMcpConfig | undefined>;
|
|
5
|
+
export declare function loadSkillFromPathAsync(skillPath: string, resolvedPath: string, defaultName: string, scope: SkillScope): Promise<LoadedSkill | null>;
|
|
6
|
+
export declare function discoverSkillsInDirAsync(skillsDir: string): Promise<LoadedSkill[]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CommandDefinition } from "../claude-code-command-loader/types";
|
|
2
|
+
import type { LoadedSkill } from "./types";
|
|
3
|
+
export declare function loadUserSkills(): Promise<Record<string, CommandDefinition>>;
|
|
4
|
+
export declare function loadProjectSkills(): Promise<Record<string, CommandDefinition>>;
|
|
5
|
+
export declare function loadOpencodeGlobalSkills(): Promise<Record<string, CommandDefinition>>;
|
|
6
|
+
export declare function loadOpencodeProjectSkills(): Promise<Record<string, CommandDefinition>>;
|
|
7
|
+
export interface DiscoverSkillsOptions {
|
|
8
|
+
includeClaudeCodePaths?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function discoverAllSkills(): Promise<LoadedSkill[]>;
|
|
11
|
+
export declare function discoverSkills(options?: DiscoverSkillsOptions): Promise<LoadedSkill[]>;
|
|
12
|
+
export declare function getSkillByName(name: string, options?: DiscoverSkillsOptions): Promise<LoadedSkill | undefined>;
|
|
13
|
+
export declare function discoverUserClaudeSkills(): Promise<LoadedSkill[]>;
|
|
14
|
+
export declare function discoverProjectClaudeSkills(): Promise<LoadedSkill[]>;
|
|
15
|
+
export declare function discoverOpencodeGlobalSkills(): Promise<LoadedSkill[]>;
|
|
16
|
+
export declare function discoverOpencodeProjectSkills(): Promise<LoadedSkill[]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LoadedSkill } from "./types";
|
|
2
|
+
import type { SkillsConfig } from "../../config/schema";
|
|
3
|
+
import type { BuiltinSkill } from "../builtin-skills/types";
|
|
4
|
+
export interface MergeSkillsOptions {
|
|
5
|
+
configDir?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function mergeSkills(builtinSkills: BuiltinSkill[], config: SkillsConfig | undefined, userClaudeSkills: LoadedSkill[], userOpencodeSkills: LoadedSkill[], projectClaudeSkills: LoadedSkill[], projectOpencodeSkills: LoadedSkill[], options?: MergeSkillsOptions): LoadedSkill[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CommandDefinition } from "../claude-code-command-loader/types";
|
|
2
|
+
import type { SkillMcpConfig } from "../skill-mcp-manager/types";
|
|
3
|
+
export type SkillScope = "builtin" | "config" | "user" | "project" | "opencode" | "opencode-project";
|
|
4
|
+
export interface SkillMetadata {
|
|
5
|
+
name?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
model?: string;
|
|
8
|
+
"argument-hint"?: string;
|
|
9
|
+
agent?: string;
|
|
10
|
+
subtask?: boolean;
|
|
11
|
+
license?: string;
|
|
12
|
+
compatibility?: string;
|
|
13
|
+
metadata?: Record<string, string>;
|
|
14
|
+
"allowed-tools"?: string;
|
|
15
|
+
mcp?: SkillMcpConfig;
|
|
16
|
+
}
|
|
17
|
+
export interface LazyContentLoader {
|
|
18
|
+
loaded: boolean;
|
|
19
|
+
content?: string;
|
|
20
|
+
load: () => Promise<string>;
|
|
21
|
+
}
|
|
22
|
+
export interface LoadedSkill {
|
|
23
|
+
name: string;
|
|
24
|
+
path?: string;
|
|
25
|
+
resolvedPath?: string;
|
|
26
|
+
definition: CommandDefinition;
|
|
27
|
+
scope: SkillScope;
|
|
28
|
+
license?: string;
|
|
29
|
+
compatibility?: string;
|
|
30
|
+
metadata?: Record<string, string>;
|
|
31
|
+
allowedTools?: string[];
|
|
32
|
+
mcpConfig?: SkillMcpConfig;
|
|
33
|
+
lazyContent?: LazyContentLoader;
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
2
|
+
import type { Tool, Resource, Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
3
|
+
import type { ClaudeCodeMcpServer } from "../claude-code-mcp-loader/types";
|
|
4
|
+
import type { SkillMcpClientInfo, SkillMcpServerContext } from "./types";
|
|
5
|
+
export declare class SkillMcpManager {
|
|
6
|
+
private clients;
|
|
7
|
+
private pendingConnections;
|
|
8
|
+
private cleanupRegistered;
|
|
9
|
+
private cleanupInterval;
|
|
10
|
+
private readonly IDLE_TIMEOUT;
|
|
11
|
+
private getClientKey;
|
|
12
|
+
private registerProcessCleanup;
|
|
13
|
+
getOrCreateClient(info: SkillMcpClientInfo, config: ClaudeCodeMcpServer): Promise<Client>;
|
|
14
|
+
private createClient;
|
|
15
|
+
disconnectSession(sessionID: string): Promise<void>;
|
|
16
|
+
disconnectAll(): Promise<void>;
|
|
17
|
+
private startCleanupTimer;
|
|
18
|
+
private stopCleanupTimer;
|
|
19
|
+
private cleanupIdleClients;
|
|
20
|
+
listTools(info: SkillMcpClientInfo, context: SkillMcpServerContext): Promise<Tool[]>;
|
|
21
|
+
listResources(info: SkillMcpClientInfo, context: SkillMcpServerContext): Promise<Resource[]>;
|
|
22
|
+
listPrompts(info: SkillMcpClientInfo, context: SkillMcpServerContext): Promise<Prompt[]>;
|
|
23
|
+
callTool(info: SkillMcpClientInfo, context: SkillMcpServerContext, name: string, args: Record<string, unknown>): Promise<unknown>;
|
|
24
|
+
readResource(info: SkillMcpClientInfo, context: SkillMcpServerContext, uri: string): Promise<unknown>;
|
|
25
|
+
getPrompt(info: SkillMcpClientInfo, context: SkillMcpServerContext, name: string, args: Record<string, string>): Promise<unknown>;
|
|
26
|
+
private getOrCreateClientWithRetry;
|
|
27
|
+
getConnectedServers(): string[];
|
|
28
|
+
isConnected(info: SkillMcpClientInfo): boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ClaudeCodeMcpServer } from "../claude-code-mcp-loader/types";
|
|
2
|
+
export type SkillMcpConfig = Record<string, ClaudeCodeMcpServer>;
|
|
3
|
+
export interface SkillMcpClientInfo {
|
|
4
|
+
serverName: string;
|
|
5
|
+
skillName: string;
|
|
6
|
+
sessionID: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SkillMcpServerContext {
|
|
9
|
+
config: ClaudeCodeMcpServer;
|
|
10
|
+
skillName: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { TrackedTask, TaskStatus } from "./types";
|
|
3
|
+
import type { ConcurrencyManager } from "../background-agent/concurrency";
|
|
4
|
+
type OpencodeClient = PluginInput["client"];
|
|
5
|
+
export declare class TaskToastManager {
|
|
6
|
+
private tasks;
|
|
7
|
+
private client;
|
|
8
|
+
private concurrencyManager?;
|
|
9
|
+
constructor(client: OpencodeClient, concurrencyManager?: ConcurrencyManager);
|
|
10
|
+
setConcurrencyManager(manager: ConcurrencyManager): void;
|
|
11
|
+
addTask(task: {
|
|
12
|
+
id: string;
|
|
13
|
+
description: string;
|
|
14
|
+
agent: string;
|
|
15
|
+
isBackground: boolean;
|
|
16
|
+
status?: TaskStatus;
|
|
17
|
+
skills?: string[];
|
|
18
|
+
}): void;
|
|
19
|
+
/**
|
|
20
|
+
* Update task status
|
|
21
|
+
*/
|
|
22
|
+
updateTask(id: string, status: TaskStatus): void;
|
|
23
|
+
/**
|
|
24
|
+
* Remove completed/error task
|
|
25
|
+
*/
|
|
26
|
+
removeTask(id: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get all running tasks (newest first)
|
|
29
|
+
*/
|
|
30
|
+
getRunningTasks(): TrackedTask[];
|
|
31
|
+
/**
|
|
32
|
+
* Get all queued tasks
|
|
33
|
+
*/
|
|
34
|
+
getQueuedTasks(): TrackedTask[];
|
|
35
|
+
/**
|
|
36
|
+
* Format duration since task started
|
|
37
|
+
*/
|
|
38
|
+
private formatDuration;
|
|
39
|
+
private getConcurrencyInfo;
|
|
40
|
+
private buildTaskListMessage;
|
|
41
|
+
/**
|
|
42
|
+
* Show consolidated toast with all running/queued tasks
|
|
43
|
+
*/
|
|
44
|
+
private showTaskListToast;
|
|
45
|
+
/**
|
|
46
|
+
* Show task completion toast
|
|
47
|
+
*/
|
|
48
|
+
showCompletionToast(task: {
|
|
49
|
+
id: string;
|
|
50
|
+
description: string;
|
|
51
|
+
duration: string;
|
|
52
|
+
}): void;
|
|
53
|
+
}
|
|
54
|
+
export declare function getTaskToastManager(): TaskToastManager | null;
|
|
55
|
+
export declare function initTaskToastManager(client: OpencodeClient, concurrencyManager?: ConcurrencyManager): TaskToastManager;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type TaskStatus = "running" | "queued" | "completed" | "error";
|
|
2
|
+
export interface TrackedTask {
|
|
3
|
+
id: string;
|
|
4
|
+
description: string;
|
|
5
|
+
agent: string;
|
|
6
|
+
status: TaskStatus;
|
|
7
|
+
startedAt: Date;
|
|
8
|
+
isBackground: boolean;
|
|
9
|
+
skills?: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface TaskToastOptions {
|
|
12
|
+
title: string;
|
|
13
|
+
message: string;
|
|
14
|
+
variant: "info" | "success" | "warning" | "error";
|
|
15
|
+
duration?: number;
|
|
16
|
+
}
|