oh-my-musacode 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +82 -0
- package/README.ja.md +370 -0
- package/README.md +376 -0
- package/README.zh-cn.md +380 -0
- package/bin/oh-my-musacode-dev.js +80 -0
- package/bin/oh-my-musacode.js +80 -0
- package/bin/platform.js +38 -0
- package/bin/platform.test.ts +148 -0
- package/dist/agents/atlas.d.ts +19 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +30 -0
- package/dist/agents/explore.d.ts +4 -0
- package/dist/agents/index.d.ts +11 -0
- package/dist/agents/librarian.d.ts +4 -0
- package/dist/agents/metis.d.ts +18 -0
- package/dist/agents/momus.d.ts +18 -0
- package/dist/agents/momus.test.d.ts +1 -0
- package/dist/agents/multimodal-looker.d.ts +4 -0
- package/dist/agents/musa-orchestrator-junior.d.ts +7 -0
- package/dist/agents/musa-orchestrator-junior.test.d.ts +1 -0
- package/dist/agents/musa-orchestrator.d.ts +3 -0
- package/dist/agents/oracle.d.ts +4 -0
- package/dist/agents/prometheus-prompt.d.ts +29 -0
- package/dist/agents/prometheus-prompt.test.d.ts +1 -0
- package/dist/agents/sisyphus-junior.d.ts +7 -0
- package/dist/agents/sisyphus-junior.test.d.ts +1 -0
- package/dist/agents/sisyphus.d.ts +3 -0
- package/dist/agents/types.d.ts +50 -0
- package/dist/agents/utils.d.ts +14 -0
- package/dist/agents/utils.test.d.ts +1 -0
- package/dist/cli/config-manager.d.ts +99 -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/musacode.d.ts +14 -0
- package/dist/cli/doctor/checks/musacode.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 +25243 -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 +12 -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 +1835 -0
- package/dist/config/schema.test.d.ts +1 -0
- package/dist/features/background-agent/concurrency.d.ts +27 -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 +104 -0
- package/dist/features/background-agent/manager.test.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +73 -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 +9 -0
- package/dist/features/claude-code-session-state/state.test.d.ts +1 -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 +18 -0
- package/dist/features/hook-message-injector/types.d.ts +44 -0
- package/dist/features/musacode-skill-loader/async-loader.d.ts +6 -0
- package/dist/features/musacode-skill-loader/async-loader.test.d.ts +1 -0
- package/dist/features/musacode-skill-loader/blocking.d.ts +2 -0
- package/dist/features/musacode-skill-loader/blocking.test.d.ts +1 -0
- package/dist/features/musacode-skill-loader/discover-worker.d.ts +1 -0
- package/dist/features/musacode-skill-loader/index.d.ts +4 -0
- package/dist/features/musacode-skill-loader/loader.d.ts +16 -0
- package/dist/features/musacode-skill-loader/loader.test.d.ts +1 -0
- package/dist/features/musacode-skill-loader/merger.d.ts +7 -0
- package/dist/features/musacode-skill-loader/skill-content.d.ts +20 -0
- package/dist/features/musacode-skill-loader/skill-content.test.d.ts +1 -0
- package/dist/features/musacode-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 +40 -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 +57 -0
- package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
- package/dist/features/task-toast-manager/types.d.ts +21 -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 +16 -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-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 +37 -0
- package/dist/hooks/atlas/index.d.ts +35 -0
- package/dist/hooks/atlas/index.test.d.ts +1 -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/checker.test.d.ts +1 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +13 -0
- package/dist/hooks/auto-update-checker/index.d.ts +17 -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 +52 -0
- package/dist/hooks/comment-checker/cli.test.d.ts +1 -0
- package/dist/hooks/comment-checker/downloader.d.ts +25 -0
- package/dist/hooks/comment-checker/index.d.ts +19 -0
- package/dist/hooks/comment-checker/types.d.ts +31 -0
- package/dist/hooks/compaction-context-injector/index.d.ts +8 -0
- package/dist/hooks/context-window-monitor.d.ts +18 -0
- package/dist/hooks/delegate-task-retry/index.d.ts +24 -0
- package/dist/hooks/delegate-task-retry/index.test.d.ts +1 -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-task-response-detector.d.ts +12 -0
- package/dist/hooks/index.d.ts +29 -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 +23 -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/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 +21 -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 +17 -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/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 +67990 -0
- package/dist/mcp/context7.d.ts +6 -0
- package/dist/mcp/grep-app.d.ts +6 -0
- package/dist/mcp/index.d.ts +9 -0
- package/dist/mcp/index.test.d.ts +1 -0
- package/dist/mcp/types.d.ts +9 -0
- package/dist/mcp/websearch.d.ts +9 -0
- package/dist/plugin-config.d.ts +4 -0
- package/dist/plugin-config.test.d.ts +1 -0
- package/dist/plugin-handlers/config-handler.d.ts +12 -0
- package/dist/plugin-handlers/config-handler.test.d.ts +1 -0
- package/dist/plugin-handlers/index.d.ts +1 -0
- package/dist/plugin-state.d.ts +6 -0
- package/dist/shared/agent-tool-restrictions.d.ts +7 -0
- package/dist/shared/agent-variant.d.ts +5 -0
- package/dist/shared/agent-variant.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/deep-merge.test.d.ts +1 -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/first-message-variant.d.ts +11 -0
- package/dist/shared/first-message-variant.test.d.ts +1 -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 +29 -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 +31 -0
- package/dist/shared/migration.test.d.ts +1 -0
- package/dist/shared/model-resolver.d.ts +19 -0
- package/dist/shared/model-resolver.test.d.ts +1 -0
- package/dist/shared/model-sanitizer.d.ts +3 -0
- package/dist/shared/musacode-config-dir.d.ts +19 -0
- package/dist/shared/musacode-config-dir.test.d.ts +1 -0
- package/dist/shared/musacode-version.d.ts +13 -0
- package/dist/shared/musacode-version.test.d.ts +1 -0
- package/dist/shared/pattern-matcher.d.ts +3 -0
- package/dist/shared/permission-compat.d.ts +27 -0
- package/dist/shared/permission-compat.test.d.ts +1 -0
- package/dist/shared/session-cursor.d.ts +13 -0
- package/dist/shared/session-cursor.test.d.ts +1 -0
- package/dist/shared/shell-env.d.ts +41 -0
- package/dist/shared/shell-env.test.d.ts +1 -0
- package/dist/shared/snake-case.d.ts +4 -0
- package/dist/shared/system-directive.d.ts +31 -0
- package/dist/shared/tool-name.d.ts +1 -0
- package/dist/shared/zip-extractor.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/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/delegate-task/constants.d.ts +12 -0
- package/dist/tools/delegate-task/index.d.ts +3 -0
- package/dist/tools/delegate-task/tools.d.ts +27 -0
- package/dist/tools/delegate-task/tools.test.d.ts +1 -0
- package/dist/tools/delegate-task/types.d.ts +9 -0
- package/dist/tools/glob/cli.d.ts +11 -0
- package/dist/tools/glob/cli.test.d.ts +1 -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 +20 -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 +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/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 +9 -0
- package/dist/tools/look-at/tools.test.d.ts +1 -0
- package/dist/tools/look-at/types.d.ts +4 -0
- package/dist/tools/lsp/client.d.ts +57 -0
- package/dist/tools/lsp/config.d.ts +17 -0
- package/dist/tools/lsp/config.test.d.ts +1 -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 +7 -0
- package/dist/tools/lsp/types.d.ts +123 -0
- package/dist/tools/lsp/utils.d.ts +26 -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 +28 -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/package.json +89 -0
- package/postinstall.mjs +47 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Plugin Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Claude Code plugin system compatibility.
|
|
5
|
+
* Based on https://code.claude.com/docs/en/plugins-reference
|
|
6
|
+
*/
|
|
7
|
+
export type PluginScope = "user" | "project" | "local" | "managed";
|
|
8
|
+
/**
|
|
9
|
+
* Plugin installation entry in installed_plugins.json
|
|
10
|
+
*/
|
|
11
|
+
export interface PluginInstallation {
|
|
12
|
+
scope: PluginScope;
|
|
13
|
+
installPath: string;
|
|
14
|
+
version: string;
|
|
15
|
+
installedAt: string;
|
|
16
|
+
lastUpdated: string;
|
|
17
|
+
gitCommitSha?: string;
|
|
18
|
+
isLocal?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Installed plugins database v1 (legacy)
|
|
22
|
+
* plugins stored as direct objects
|
|
23
|
+
*/
|
|
24
|
+
export interface InstalledPluginsDatabaseV1 {
|
|
25
|
+
version: 1;
|
|
26
|
+
plugins: Record<string, PluginInstallation>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Installed plugins database v2 (current)
|
|
30
|
+
* plugins stored as arrays
|
|
31
|
+
*/
|
|
32
|
+
export interface InstalledPluginsDatabaseV2 {
|
|
33
|
+
version: 2;
|
|
34
|
+
plugins: Record<string, PluginInstallation[]>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Installed plugins database structure
|
|
38
|
+
* Located at ~/.claude/plugins/installed_plugins.json
|
|
39
|
+
*/
|
|
40
|
+
export type InstalledPluginsDatabase = InstalledPluginsDatabaseV1 | InstalledPluginsDatabaseV2;
|
|
41
|
+
/**
|
|
42
|
+
* Plugin author information
|
|
43
|
+
*/
|
|
44
|
+
export interface PluginAuthor {
|
|
45
|
+
name?: string;
|
|
46
|
+
email?: string;
|
|
47
|
+
url?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Plugin manifest (plugin.json)
|
|
51
|
+
* Located at <plugin_root>/.claude-plugin/plugin.json
|
|
52
|
+
*/
|
|
53
|
+
export interface PluginManifest {
|
|
54
|
+
name: string;
|
|
55
|
+
version?: string;
|
|
56
|
+
description?: string;
|
|
57
|
+
author?: PluginAuthor;
|
|
58
|
+
homepage?: string;
|
|
59
|
+
repository?: string;
|
|
60
|
+
license?: string;
|
|
61
|
+
keywords?: string[];
|
|
62
|
+
commands?: string | string[];
|
|
63
|
+
agents?: string | string[];
|
|
64
|
+
skills?: string | string[];
|
|
65
|
+
hooks?: string | HooksConfig;
|
|
66
|
+
mcpServers?: string | McpServersConfig;
|
|
67
|
+
lspServers?: string | LspServersConfig;
|
|
68
|
+
outputStyles?: string | string[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Hooks configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface HookEntry {
|
|
74
|
+
type: "command" | "prompt" | "agent";
|
|
75
|
+
command?: string;
|
|
76
|
+
prompt?: string;
|
|
77
|
+
agent?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface HookMatcher {
|
|
80
|
+
matcher?: string;
|
|
81
|
+
hooks: HookEntry[];
|
|
82
|
+
}
|
|
83
|
+
export interface HooksConfig {
|
|
84
|
+
hooks?: {
|
|
85
|
+
PreToolUse?: HookMatcher[];
|
|
86
|
+
PostToolUse?: HookMatcher[];
|
|
87
|
+
PostToolUseFailure?: HookMatcher[];
|
|
88
|
+
PermissionRequest?: HookMatcher[];
|
|
89
|
+
UserPromptSubmit?: HookMatcher[];
|
|
90
|
+
Notification?: HookMatcher[];
|
|
91
|
+
Stop?: HookMatcher[];
|
|
92
|
+
SubagentStart?: HookMatcher[];
|
|
93
|
+
SubagentStop?: HookMatcher[];
|
|
94
|
+
SessionStart?: HookMatcher[];
|
|
95
|
+
SessionEnd?: HookMatcher[];
|
|
96
|
+
PreCompact?: HookMatcher[];
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* MCP servers configuration in plugin
|
|
101
|
+
*/
|
|
102
|
+
export interface PluginMcpServer {
|
|
103
|
+
command?: string;
|
|
104
|
+
args?: string[];
|
|
105
|
+
env?: Record<string, string>;
|
|
106
|
+
cwd?: string;
|
|
107
|
+
url?: string;
|
|
108
|
+
type?: "stdio" | "http" | "sse";
|
|
109
|
+
disabled?: boolean;
|
|
110
|
+
}
|
|
111
|
+
export interface McpServersConfig {
|
|
112
|
+
mcpServers?: Record<string, PluginMcpServer>;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* LSP server configuration
|
|
116
|
+
*/
|
|
117
|
+
export interface LspServerConfig {
|
|
118
|
+
command: string;
|
|
119
|
+
args?: string[];
|
|
120
|
+
extensionToLanguage: Record<string, string>;
|
|
121
|
+
transport?: "stdio" | "socket";
|
|
122
|
+
env?: Record<string, string>;
|
|
123
|
+
initializationOptions?: Record<string, unknown>;
|
|
124
|
+
settings?: Record<string, unknown>;
|
|
125
|
+
workspaceFolder?: string;
|
|
126
|
+
startupTimeout?: number;
|
|
127
|
+
shutdownTimeout?: number;
|
|
128
|
+
restartOnCrash?: boolean;
|
|
129
|
+
maxRestarts?: number;
|
|
130
|
+
loggingConfig?: {
|
|
131
|
+
args?: string[];
|
|
132
|
+
env?: Record<string, string>;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export interface LspServersConfig {
|
|
136
|
+
[language: string]: LspServerConfig;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Loaded plugin with all resolved components
|
|
140
|
+
*/
|
|
141
|
+
export interface LoadedPlugin {
|
|
142
|
+
name: string;
|
|
143
|
+
version: string;
|
|
144
|
+
scope: PluginScope;
|
|
145
|
+
installPath: string;
|
|
146
|
+
manifest?: PluginManifest;
|
|
147
|
+
pluginKey: string;
|
|
148
|
+
commandsDir?: string;
|
|
149
|
+
agentsDir?: string;
|
|
150
|
+
skillsDir?: string;
|
|
151
|
+
hooksPath?: string;
|
|
152
|
+
mcpPath?: string;
|
|
153
|
+
lspPath?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Plugin load result with all components
|
|
157
|
+
*/
|
|
158
|
+
export interface PluginLoadResult {
|
|
159
|
+
plugins: LoadedPlugin[];
|
|
160
|
+
errors: PluginLoadError[];
|
|
161
|
+
}
|
|
162
|
+
export interface PluginLoadError {
|
|
163
|
+
pluginKey: string;
|
|
164
|
+
installPath: string;
|
|
165
|
+
error: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Claude settings from ~/.claude/settings.json
|
|
169
|
+
*/
|
|
170
|
+
export interface ClaudeSettings {
|
|
171
|
+
enabledPlugins?: Record<string, boolean>;
|
|
172
|
+
[key: string]: unknown;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Plugin loader options
|
|
176
|
+
*/
|
|
177
|
+
export interface PluginLoaderOptions {
|
|
178
|
+
/**
|
|
179
|
+
* Override enabled plugins from oh-my-musacode config.
|
|
180
|
+
* Key format: "pluginName@marketplace" (e.g., "shell-scripting@claude-code-workflows")
|
|
181
|
+
* Value: true = enabled, false = disabled
|
|
182
|
+
*
|
|
183
|
+
* This takes precedence over ~/.claude/settings.json enabledPlugins
|
|
184
|
+
*/
|
|
185
|
+
enabledPluginsOverride?: Record<string, boolean>;
|
|
186
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./state";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const subagentSessions: Set<string>;
|
|
2
|
+
export declare function setMainSession(id: string | undefined): void;
|
|
3
|
+
export declare function getMainSessionID(): string | undefined;
|
|
4
|
+
/** @internal For testing only */
|
|
5
|
+
export declare function _resetForTesting(): void;
|
|
6
|
+
export declare function setSessionAgent(sessionID: string, agent: string): void;
|
|
7
|
+
export declare function updateSessionAgent(sessionID: string, agent: string): void;
|
|
8
|
+
export declare function getSessionAgent(sessionID: string): string | undefined;
|
|
9
|
+
export declare function clearSessionAgent(sessionID: string): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 { 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" | "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" | "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,4 @@
|
|
|
1
|
+
export { injectHookMessage, findNearestMessageWithFields, findFirstMessageWithAgent } from "./injector";
|
|
2
|
+
export type { StoredMessage } from "./injector";
|
|
3
|
+
export type { MessageMeta, OriginalMessageContext, TextPart, ToolPermission } from "./types";
|
|
4
|
+
export { MESSAGE_STORAGE } from "./constants";
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* Finds the FIRST (oldest) message in the session with agent field.
|
|
13
|
+
* This is used to get the original agent that started the session,
|
|
14
|
+
* avoiding issues where newer messages may have a different agent
|
|
15
|
+
* due to MusaCode's internal agent switching.
|
|
16
|
+
*/
|
|
17
|
+
export declare function findFirstMessageWithAgent(messageDir: string): string | null;
|
|
18
|
+
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 loadMusacodeGlobalSkills(): Promise<Record<string, CommandDefinition>>;
|
|
6
|
+
export declare function loadMusacodeProjectSkills(): 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 discoverMusacodeGlobalSkills(): Promise<LoadedSkill[]>;
|
|
16
|
+
export declare function discoverMusacodeProjectSkills(): 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[], userMusacodeSkills: LoadedSkill[], projectClaudeSkills: LoadedSkill[], projectMusacodeSkills: LoadedSkill[], options?: MergeSkillsOptions): LoadedSkill[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LoadedSkill } from "./types";
|
|
2
|
+
import type { GitMasterConfig } from "../../config/schema";
|
|
3
|
+
export interface SkillResolutionOptions {
|
|
4
|
+
gitMasterConfig?: GitMasterConfig;
|
|
5
|
+
}
|
|
6
|
+
declare function clearSkillCache(): void;
|
|
7
|
+
declare function getAllSkills(): Promise<LoadedSkill[]>;
|
|
8
|
+
declare function extractSkillTemplate(skill: LoadedSkill): Promise<string>;
|
|
9
|
+
export { clearSkillCache, getAllSkills, extractSkillTemplate };
|
|
10
|
+
export declare function injectGitMasterConfig(template: string, config?: GitMasterConfig): string;
|
|
11
|
+
export declare function resolveSkillContent(skillName: string, options?: SkillResolutionOptions): string | null;
|
|
12
|
+
export declare function resolveMultipleSkills(skillNames: string[], options?: SkillResolutionOptions): {
|
|
13
|
+
resolved: Map<string, string>;
|
|
14
|
+
notFound: string[];
|
|
15
|
+
};
|
|
16
|
+
export declare function resolveSkillContentAsync(skillName: string, options?: SkillResolutionOptions): Promise<string | null>;
|
|
17
|
+
export declare function resolveMultipleSkillsAsync(skillNames: string[], options?: SkillResolutionOptions): Promise<{
|
|
18
|
+
resolved: Map<string, string>;
|
|
19
|
+
notFound: string[];
|
|
20
|
+
}>;
|
|
@@ -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" | "musacode" | "musacode-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,40 @@
|
|
|
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
|
+
/**
|
|
16
|
+
* Create an HTTP-based MCP client using StreamableHTTPClientTransport.
|
|
17
|
+
* Supports remote MCP servers with optional authentication headers.
|
|
18
|
+
*/
|
|
19
|
+
private createHttpClient;
|
|
20
|
+
/**
|
|
21
|
+
* Create a stdio-based MCP client using StdioClientTransport.
|
|
22
|
+
* Spawns a local process and communicates via stdin/stdout.
|
|
23
|
+
*/
|
|
24
|
+
private createStdioClient;
|
|
25
|
+
disconnectSession(sessionID: string): Promise<void>;
|
|
26
|
+
disconnectAll(): Promise<void>;
|
|
27
|
+
private startCleanupTimer;
|
|
28
|
+
private stopCleanupTimer;
|
|
29
|
+
private cleanupIdleClients;
|
|
30
|
+
listTools(info: SkillMcpClientInfo, context: SkillMcpServerContext): Promise<Tool[]>;
|
|
31
|
+
listResources(info: SkillMcpClientInfo, context: SkillMcpServerContext): Promise<Resource[]>;
|
|
32
|
+
listPrompts(info: SkillMcpClientInfo, context: SkillMcpServerContext): Promise<Prompt[]>;
|
|
33
|
+
callTool(info: SkillMcpClientInfo, context: SkillMcpServerContext, name: string, args: Record<string, unknown>): Promise<unknown>;
|
|
34
|
+
readResource(info: SkillMcpClientInfo, context: SkillMcpServerContext, uri: string): Promise<unknown>;
|
|
35
|
+
getPrompt(info: SkillMcpClientInfo, context: SkillMcpServerContext, name: string, args: Record<string, string>): Promise<unknown>;
|
|
36
|
+
private withOperationRetry;
|
|
37
|
+
private getOrCreateClientWithRetry;
|
|
38
|
+
getConnectedServers(): string[];
|
|
39
|
+
isConnected(info: SkillMcpClientInfo): boolean;
|
|
40
|
+
}
|
|
@@ -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
|
+
}
|