@codemieai/code 0.0.45 → 0.0.47
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/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +20 -3
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/metrics/types.d.ts +0 -6
- package/dist/agents/core/metrics/types.d.ts.map +1 -1
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +0 -6
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +0 -11
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.js +0 -32
- package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +1 -28
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/README.md +1 -14
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +4 -4
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/SKILL.md +206 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-agent.md +45 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-claude-md-snippet.md +40 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-command.md +30 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-hooks.json +23 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-skill.md +48 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-agent.md +145 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-claude-md-snippet.md +126 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-command.md +170 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-hooks.json +46 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-skill.md +144 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/sample-report.md +223 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +510 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/component-checklists.md +413 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/scripts/scan-repo.sh +162 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +183 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +233 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.py +785 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +3 -78
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +7 -16
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.d.ts +1 -1
- package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.js +1 -4
- package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -4
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +26 -81
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +1 -8
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.js +2 -30
- package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +2 -8
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +0 -7
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/opencode/index.d.ts +1 -1
- package/dist/agents/plugins/opencode/index.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/index.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -22
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.js +5 -30
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +0 -2
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +0 -8
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +8 -97
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
- package/dist/cli/commands/analytics/aggregator.d.ts +0 -8
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -1
- package/dist/cli/commands/analytics/aggregator.js +5 -100
- package/dist/cli/commands/analytics/aggregator.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts +0 -7
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +3 -10
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/exporter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/exporter.js +0 -12
- package/dist/cli/commands/analytics/exporter.js.map +1 -1
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/formatter.js +0 -9
- package/dist/cli/commands/analytics/formatter.js.map +1 -1
- package/dist/cli/commands/analytics/types.d.ts +0 -17
- package/dist/cli/commands/analytics/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts +22 -0
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js +80 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js.map +1 -0
- package/dist/cli/commands/assistants/{chat.d.ts → chat/index.d.ts} +1 -1
- package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/{chat.js → chat/index.js} +54 -45
- package/dist/cli/commands/assistants/chat/index.js.map +1 -0
- package/dist/cli/commands/assistants/chat/types.d.ts +27 -0
- package/dist/cli/commands/assistants/chat/types.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/types.js +5 -0
- package/dist/cli/commands/assistants/chat/types.js.map +1 -0
- package/dist/cli/commands/assistants/chat/utils.d.ts +12 -0
- package/dist/cli/commands/assistants/chat/utils.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/utils.js +24 -0
- package/dist/cli/commands/assistants/chat/utils.js.map +1 -0
- package/dist/cli/commands/assistants/constants.d.ts +1 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.js.map +1 -1
- package/dist/cli/commands/assistants/index.js +2 -2
- package/dist/cli/commands/assistants/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +1 -1
- package/dist/cli/commands/assistants/setup/index.js +4 -4
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.js +5 -3
- package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +7 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/types.d.ts +2 -0
- package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.js +15 -4
- package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
- package/dist/cli/commands/hook.js +1 -1
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts +16 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +210 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/setup.js +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +3 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/commands/sound.d.ts +3 -0
- package/dist/cli/commands/sound.d.ts.map +1 -0
- package/dist/cli/commands/sound.js +87 -0
- package/dist/cli/commands/sound.js.map +1 -0
- package/dist/cli/commands/test-metrics.js +3 -5
- package/dist/cli/commands/test-metrics.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +8 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/plugins/core/index.d.ts +13 -0
- package/dist/plugins/core/index.d.ts.map +1 -0
- package/dist/plugins/core/index.js +15 -0
- package/dist/plugins/core/index.js.map +1 -0
- package/dist/plugins/core/manifest-parser.d.ts +28 -0
- package/dist/plugins/core/manifest-parser.d.ts.map +1 -0
- package/dist/plugins/core/manifest-parser.js +137 -0
- package/dist/plugins/core/manifest-parser.js.map +1 -0
- package/dist/plugins/core/plugin-cache.d.ts +65 -0
- package/dist/plugins/core/plugin-cache.d.ts.map +1 -0
- package/dist/plugins/core/plugin-cache.js +170 -0
- package/dist/plugins/core/plugin-cache.js.map +1 -0
- package/dist/plugins/core/plugin-loader.d.ts +21 -0
- package/dist/plugins/core/plugin-loader.d.ts.map +1 -0
- package/dist/plugins/core/plugin-loader.js +55 -0
- package/dist/plugins/core/plugin-loader.js.map +1 -0
- package/dist/plugins/core/plugin-resolver.d.ts +33 -0
- package/dist/plugins/core/plugin-resolver.d.ts.map +1 -0
- package/dist/plugins/core/plugin-resolver.js +118 -0
- package/dist/plugins/core/plugin-resolver.js.map +1 -0
- package/dist/plugins/core/types.d.ts +183 -0
- package/dist/plugins/core/types.d.ts.map +1 -0
- package/dist/plugins/core/types.js +22 -0
- package/dist/plugins/core/types.js.map +1 -0
- package/dist/plugins/loaders/agents-loader.d.ts +19 -0
- package/dist/plugins/loaders/agents-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/agents-loader.js +92 -0
- package/dist/plugins/loaders/agents-loader.js.map +1 -0
- package/dist/plugins/loaders/hooks-loader.d.ts +27 -0
- package/dist/plugins/loaders/hooks-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/hooks-loader.js +94 -0
- package/dist/plugins/loaders/hooks-loader.js.map +1 -0
- package/dist/plugins/loaders/mcp-loader.d.ts +24 -0
- package/dist/plugins/loaders/mcp-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/mcp-loader.js +86 -0
- package/dist/plugins/loaders/mcp-loader.js.map +1 -0
- package/dist/plugins/loaders/skills-loader.d.ts +30 -0
- package/dist/plugins/loaders/skills-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/skills-loader.js +167 -0
- package/dist/plugins/loaders/skills-loader.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js +1 -1
- package/dist/providers/plugins/jwt/jwt.setup-steps.js +1 -1
- package/dist/providers/plugins/jwt/jwt.template.js +1 -1
- package/dist/providers/plugins/litellm/litellm.template.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +10 -0
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +3 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.js +2 -3
- package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts +21 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js +159 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts +24 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.js +36 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts +19 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/{conversation-sync-processor.js → syncProcessor.js} +48 -33
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/{conversation-types.d.ts → types.d.ts} +14 -2
- package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/types.js +14 -0
- package/dist/providers/plugins/sso/session/processors/conversations/types.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +16 -17
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +3 -3
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +8 -38
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +2 -6
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +49 -31
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +1 -1
- package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.d.ts +10 -0
- package/dist/skills/core/SkillDiscovery.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.js +64 -7
- package/dist/skills/core/SkillDiscovery.js.map +1 -0
- package/dist/skills/core/SkillManager.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.js +15 -10
- package/dist/skills/core/SkillManager.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/types.d.ts +3 -25
- package/dist/skills/core/types.d.ts.map +1 -0
- package/dist/skills/core/types.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/index.d.ts +3 -3
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/index.js +2 -2
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/sync/SkillSync.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.js +5 -3
- package/dist/skills/sync/SkillSync.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.d.ts +2 -12
- package/dist/skills/utils/content-loader.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.js +3 -8
- package/dist/skills/utils/content-loader.js.map +1 -0
- package/dist/skills/utils/pattern-matcher.d.ts.map +1 -0
- package/dist/skills/utils/pattern-matcher.js.map +1 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/package.json +1 -1
- package/dist/agents/codemie-code/agent.d.ts +0 -129
- package/dist/agents/codemie-code/agent.d.ts.map +0 -1
- package/dist/agents/codemie-code/agent.js +0 -1106
- package/dist/agents/codemie-code/agent.js.map +0 -1
- package/dist/agents/codemie-code/config.d.ts +0 -40
- package/dist/agents/codemie-code/config.d.ts.map +0 -1
- package/dist/agents/codemie-code/config.js +0 -293
- package/dist/agents/codemie-code/config.js.map +0 -1
- package/dist/agents/codemie-code/filters.d.ts +0 -91
- package/dist/agents/codemie-code/filters.d.ts.map +0 -1
- package/dist/agents/codemie-code/filters.js +0 -328
- package/dist/agents/codemie-code/filters.js.map +0 -1
- package/dist/agents/codemie-code/index.d.ts +0 -93
- package/dist/agents/codemie-code/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/index.js +0 -359
- package/dist/agents/codemie-code/index.js.map +0 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +0 -87
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +0 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js +0 -957
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +0 -1
- package/dist/agents/codemie-code/modes/planMode.d.ts +0 -116
- package/dist/agents/codemie-code/modes/planMode.d.ts.map +0 -1
- package/dist/agents/codemie-code/modes/planMode.js +0 -537
- package/dist/agents/codemie-code/modes/planMode.js.map +0 -1
- package/dist/agents/codemie-code/prompts.d.ts +0 -47
- package/dist/agents/codemie-code/prompts.d.ts.map +0 -1
- package/dist/agents/codemie-code/prompts.js +0 -207
- package/dist/agents/codemie-code/prompts.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/types.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/types.js.map +0 -1
- package/dist/agents/codemie-code/skills/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/index.js.map +0 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/frontmatter.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/frontmatter.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.js.map +0 -1
- package/dist/agents/codemie-code/storage/todoStorage.d.ts +0 -78
- package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +0 -1
- package/dist/agents/codemie-code/storage/todoStorage.js +0 -225
- package/dist/agents/codemie-code/storage/todoStorage.js.map +0 -1
- package/dist/agents/codemie-code/tokenUtils.d.ts +0 -108
- package/dist/agents/codemie-code/tokenUtils.d.ts.map +0 -1
- package/dist/agents/codemie-code/tokenUtils.js +0 -220
- package/dist/agents/codemie-code/tokenUtils.js.map +0 -1
- package/dist/agents/codemie-code/toolMetadata.d.ts +0 -15
- package/dist/agents/codemie-code/toolMetadata.d.ts.map +0 -1
- package/dist/agents/codemie-code/toolMetadata.js +0 -316
- package/dist/agents/codemie-code/toolMetadata.js.map +0 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts +0 -47
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.js +0 -129
- package/dist/agents/codemie-code/tools/assistant-invocation.js.map +0 -1
- package/dist/agents/codemie-code/tools/index.d.ts +0 -111
- package/dist/agents/codemie-code/tools/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/index.js +0 -424
- package/dist/agents/codemie-code/tools/index.js.map +0 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +0 -54
- package/dist/agents/codemie-code/tools/planning.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/planning.js +0 -226
- package/dist/agents/codemie-code/tools/planning.js.map +0 -1
- package/dist/agents/codemie-code/types.d.ts +0 -459
- package/dist/agents/codemie-code/types.d.ts.map +0 -1
- package/dist/agents/codemie-code/types.js +0 -59
- package/dist/agents/codemie-code/types.js.map +0 -1
- package/dist/agents/codemie-code/ui/autocomplete.d.ts +0 -98
- package/dist/agents/codemie-code/ui/autocomplete.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/autocomplete.js +0 -145
- package/dist/agents/codemie-code/ui/autocomplete.js.map +0 -1
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts +0 -112
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/keyHandlers.js +0 -415
- package/dist/agents/codemie-code/ui/keyHandlers.js.map +0 -1
- package/dist/agents/codemie-code/ui/mentions.d.ts +0 -86
- package/dist/agents/codemie-code/ui/mentions.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/mentions.js +0 -122
- package/dist/agents/codemie-code/ui/mentions.js.map +0 -1
- package/dist/agents/codemie-code/ui/progressTracker.d.ts +0 -125
- package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/progressTracker.js +0 -343
- package/dist/agents/codemie-code/ui/progressTracker.js.map +0 -1
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts +0 -38
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/terminalCodes.js +0 -42
- package/dist/agents/codemie-code/ui/terminalCodes.js.map +0 -1
- package/dist/agents/codemie-code/ui/todoPanel.d.ts +0 -112
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +0 -321
- package/dist/agents/codemie-code/ui/todoPanel.js.map +0 -1
- package/dist/agents/codemie-code/ui.d.ts +0 -180
- package/dist/agents/codemie-code/ui.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui.js +0 -1345
- package/dist/agents/codemie-code/ui.js.map +0 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +0 -87
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.js +0 -293
- package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +0 -1
- package/dist/agents/codemie-code/utils/todoParser.d.ts +0 -41
- package/dist/agents/codemie-code/utils/todoParser.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/todoParser.js +0 -305
- package/dist/agents/codemie-code/utils/todoParser.js.map +0 -1
- package/dist/agents/codemie-code/utils/todoValidator.d.ts +0 -65
- package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/todoValidator.js +0 -249
- package/dist/agents/codemie-code/utils/todoValidator.js.map +0 -1
- package/dist/agents/codemie-code/validators/planValidator.d.ts +0 -94
- package/dist/agents/codemie-code/validators/planValidator.d.ts.map +0 -1
- package/dist/agents/codemie-code/validators/planValidator.js +0 -281
- package/dist/agents/codemie-code/validators/planValidator.js.map +0 -1
- package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +0 -98
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.ps1 +0 -112
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.sh +0 -58
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +0 -26
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +0 -1
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +0 -38
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +0 -1
- package/dist/cli/commands/assistants/chat.d.ts.map +0 -1
- package/dist/cli/commands/assistants/chat.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +0 -26
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +0 -146
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +0 -22
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +0 -7
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +0 -1
- /package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/core/types.js +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.js +0 -0
- /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.js +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Cache
|
|
3
|
+
*
|
|
4
|
+
* Manages the plugin cache directory at ~/.codemie/plugins/cache/.
|
|
5
|
+
* Handles copying plugins for installation and cleaning up orphaned entries.
|
|
6
|
+
*/
|
|
7
|
+
import { join, resolve, sep } from 'path';
|
|
8
|
+
import { existsSync } from 'fs';
|
|
9
|
+
import { mkdir, cp, rm, readdir, readFile, writeFile } from 'fs/promises';
|
|
10
|
+
import { logger } from '../../utils/logger.js';
|
|
11
|
+
import { getCodemiePath } from '../../utils/paths.js';
|
|
12
|
+
import { parseManifest } from './manifest-parser.js';
|
|
13
|
+
/**
|
|
14
|
+
* Validate that a plugin name is safe (kebab-case, no path traversal)
|
|
15
|
+
*/
|
|
16
|
+
function validatePluginName(name) {
|
|
17
|
+
if (!name || /[/\\]/.test(name) || name.includes('..')) {
|
|
18
|
+
throw new Error(`Invalid plugin name: "${name}". Must be a simple kebab-case name.`);
|
|
19
|
+
}
|
|
20
|
+
if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(name)) {
|
|
21
|
+
throw new Error(`Invalid plugin name: "${name}". Must be kebab-case (lowercase alphanumeric with hyphens).`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the plugin cache directory path
|
|
26
|
+
*/
|
|
27
|
+
export function getPluginCacheDir() {
|
|
28
|
+
return getCodemiePath('plugins', 'cache');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Install a plugin from a source directory into the cache
|
|
32
|
+
*
|
|
33
|
+
* Copies the plugin directory to ~/.codemie/plugins/cache/<plugin-name>/.
|
|
34
|
+
* If the plugin already exists with the same version, skips the copy.
|
|
35
|
+
*
|
|
36
|
+
* @param sourceDir - Absolute path to the plugin source directory
|
|
37
|
+
* @returns The cache directory path where the plugin was installed
|
|
38
|
+
*/
|
|
39
|
+
export async function installPluginToCache(sourceDir) {
|
|
40
|
+
if (!existsSync(sourceDir)) {
|
|
41
|
+
throw new Error(`Plugin source directory does not exist: ${sourceDir}`);
|
|
42
|
+
}
|
|
43
|
+
// Parse manifest to get plugin name and version
|
|
44
|
+
const manifest = await parseManifest(sourceDir);
|
|
45
|
+
const cacheDir = getPluginCacheDir();
|
|
46
|
+
const pluginCacheDir = join(cacheDir, manifest.name);
|
|
47
|
+
// Check if already installed with same version
|
|
48
|
+
if (existsSync(pluginCacheDir)) {
|
|
49
|
+
try {
|
|
50
|
+
const existingManifest = await parseManifest(pluginCacheDir);
|
|
51
|
+
if (existingManifest.version && manifest.version && existingManifest.version === manifest.version) {
|
|
52
|
+
logger.debug(`[plugin] Plugin "${manifest.name}" v${manifest.version} already cached, skipping`);
|
|
53
|
+
return pluginCacheDir;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
logger.debug(`[plugin] Corrupt cache for "${manifest.name}", reinstalling: ${error instanceof Error ? error.message : String(error)}`);
|
|
58
|
+
}
|
|
59
|
+
// Remove existing cached version
|
|
60
|
+
await rm(pluginCacheDir, { recursive: true, force: true });
|
|
61
|
+
}
|
|
62
|
+
// Ensure cache directory exists
|
|
63
|
+
await mkdir(cacheDir, { recursive: true });
|
|
64
|
+
// Copy plugin to cache
|
|
65
|
+
await cp(sourceDir, pluginCacheDir, { recursive: true });
|
|
66
|
+
logger.debug(`[plugin] Installed "${manifest.name}" to cache: ${pluginCacheDir}`);
|
|
67
|
+
return pluginCacheDir;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Remove a plugin from the cache
|
|
71
|
+
*
|
|
72
|
+
* @param pluginName - Name of the plugin to remove
|
|
73
|
+
* @returns true if the plugin was removed, false if not found
|
|
74
|
+
*/
|
|
75
|
+
export async function removePluginFromCache(pluginName) {
|
|
76
|
+
validatePluginName(pluginName);
|
|
77
|
+
const cacheDir = getPluginCacheDir();
|
|
78
|
+
const pluginCacheDir = join(cacheDir, pluginName);
|
|
79
|
+
// Verify resolved path stays within cache directory
|
|
80
|
+
const resolvedPath = resolve(pluginCacheDir);
|
|
81
|
+
const resolvedCache = resolve(cacheDir);
|
|
82
|
+
if (!resolvedPath.startsWith(resolvedCache + sep)) {
|
|
83
|
+
throw new Error(`Plugin path escapes cache directory: ${pluginName}`);
|
|
84
|
+
}
|
|
85
|
+
if (!existsSync(pluginCacheDir)) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
await rm(pluginCacheDir, { recursive: true, force: true });
|
|
89
|
+
logger.debug(`[plugin] Removed "${pluginName}" from cache`);
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* List all cached plugins
|
|
94
|
+
*
|
|
95
|
+
* @returns Array of { name, dir } for each cached plugin
|
|
96
|
+
*/
|
|
97
|
+
export async function listCachedPlugins() {
|
|
98
|
+
const cacheDir = getPluginCacheDir();
|
|
99
|
+
if (!existsSync(cacheDir)) {
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
const entries = await readdir(cacheDir, { withFileTypes: true });
|
|
104
|
+
return entries
|
|
105
|
+
.filter(entry => entry.isDirectory())
|
|
106
|
+
.map(entry => ({
|
|
107
|
+
name: entry.name,
|
|
108
|
+
dir: join(cacheDir, entry.name),
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
logger.debug(`[plugin] Failed to list cached plugins: ${error instanceof Error ? error.message : String(error)}`);
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Read plugin settings from ~/.codemie/plugins.json
|
|
118
|
+
*/
|
|
119
|
+
export async function readPluginSettings() {
|
|
120
|
+
const settingsPath = getCodemiePath('plugins.json');
|
|
121
|
+
if (!existsSync(settingsPath)) {
|
|
122
|
+
return {};
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
const raw = await readFile(settingsPath, 'utf-8');
|
|
126
|
+
return JSON.parse(raw);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger.debug(`[plugin] Failed to read plugin settings: ${error instanceof Error ? error.message : String(error)}`);
|
|
130
|
+
return {};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Write plugin settings to ~/.codemie/plugins.json
|
|
135
|
+
*/
|
|
136
|
+
export async function writePluginSettings(settings) {
|
|
137
|
+
const settingsPath = getCodemiePath('plugins.json');
|
|
138
|
+
const pluginsDir = getCodemiePath('plugins');
|
|
139
|
+
await mkdir(pluginsDir, { recursive: true });
|
|
140
|
+
await writeFile(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Enable a plugin by name (remove from disabled list)
|
|
144
|
+
*/
|
|
145
|
+
export async function enablePlugin(pluginName) {
|
|
146
|
+
validatePluginName(pluginName);
|
|
147
|
+
const settings = await readPluginSettings();
|
|
148
|
+
settings.disabled = (settings.disabled || []).filter(n => n !== pluginName);
|
|
149
|
+
await writePluginSettings(settings);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Disable a plugin by name (add to disabled list)
|
|
153
|
+
*/
|
|
154
|
+
export async function disablePlugin(pluginName) {
|
|
155
|
+
validatePluginName(pluginName);
|
|
156
|
+
const settings = await readPluginSettings();
|
|
157
|
+
settings.disabled = settings.disabled || [];
|
|
158
|
+
if (!settings.disabled.includes(pluginName)) {
|
|
159
|
+
settings.disabled.push(pluginName);
|
|
160
|
+
}
|
|
161
|
+
await writePluginSettings(settings);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Check if a plugin is installed in the cache
|
|
165
|
+
*/
|
|
166
|
+
export function isPluginCached(pluginName) {
|
|
167
|
+
validatePluginName(pluginName);
|
|
168
|
+
return existsSync(join(getPluginCacheDir(), pluginName));
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=plugin-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-cache.js","sourceRoot":"","sources":["../../../src/plugins/core/plugin-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads a single plugin from a directory. Parses the manifest and discovers
|
|
5
|
+
* all components (skills, commands, agents, hooks, MCP servers).
|
|
6
|
+
*/
|
|
7
|
+
import type { LoadedPlugin, PluginSource } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Load a plugin from a directory
|
|
10
|
+
*
|
|
11
|
+
* Parses the manifest, discovers all components (skills, commands, agents,
|
|
12
|
+
* hooks, MCP servers), and returns a fully loaded plugin object.
|
|
13
|
+
*
|
|
14
|
+
* @param pluginDir - Absolute path to the plugin root directory
|
|
15
|
+
* @param source - Where this plugin was found (local, user, project)
|
|
16
|
+
* @param enabled - Whether the plugin should be enabled (default: true)
|
|
17
|
+
* @returns Loaded plugin with all discovered components
|
|
18
|
+
* @throws Error if the directory doesn't exist or manifest is invalid
|
|
19
|
+
*/
|
|
20
|
+
export declare function loadPlugin(pluginDir: string, source: PluginSource, enabled?: boolean): Promise<LoadedPlugin>;
|
|
21
|
+
//# sourceMappingURL=plugin-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/core/plugin-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,OAAc,GACtB,OAAO,CAAC,YAAY,CAAC,CAmCvB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads a single plugin from a directory. Parses the manifest and discovers
|
|
5
|
+
* all components (skills, commands, agents, hooks, MCP servers).
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync } from 'fs';
|
|
8
|
+
import { logger } from '../../utils/logger.js';
|
|
9
|
+
import { parseManifest } from './manifest-parser.js';
|
|
10
|
+
import { discoverPluginSkills, discoverPluginCommands } from '../loaders/skills-loader.js';
|
|
11
|
+
import { loadPluginHooks } from '../loaders/hooks-loader.js';
|
|
12
|
+
import { loadPluginMcpServers } from '../loaders/mcp-loader.js';
|
|
13
|
+
import { discoverPluginAgents } from '../loaders/agents-loader.js';
|
|
14
|
+
/**
|
|
15
|
+
* Load a plugin from a directory
|
|
16
|
+
*
|
|
17
|
+
* Parses the manifest, discovers all components (skills, commands, agents,
|
|
18
|
+
* hooks, MCP servers), and returns a fully loaded plugin object.
|
|
19
|
+
*
|
|
20
|
+
* @param pluginDir - Absolute path to the plugin root directory
|
|
21
|
+
* @param source - Where this plugin was found (local, user, project)
|
|
22
|
+
* @param enabled - Whether the plugin should be enabled (default: true)
|
|
23
|
+
* @returns Loaded plugin with all discovered components
|
|
24
|
+
* @throws Error if the directory doesn't exist or manifest is invalid
|
|
25
|
+
*/
|
|
26
|
+
export async function loadPlugin(pluginDir, source, enabled = true) {
|
|
27
|
+
if (!existsSync(pluginDir)) {
|
|
28
|
+
throw new Error(`Plugin directory does not exist: ${pluginDir}`);
|
|
29
|
+
}
|
|
30
|
+
// Parse manifest
|
|
31
|
+
const manifest = await parseManifest(pluginDir);
|
|
32
|
+
logger.debug(`[plugin] Loading plugin "${manifest.name}" from ${pluginDir}`);
|
|
33
|
+
// Discover all components in parallel
|
|
34
|
+
const [skills, commands, agents, hooks, mcpServers] = await Promise.all([
|
|
35
|
+
discoverPluginSkills(pluginDir, manifest),
|
|
36
|
+
discoverPluginCommands(pluginDir, manifest),
|
|
37
|
+
discoverPluginAgents(pluginDir, manifest),
|
|
38
|
+
loadPluginHooks(pluginDir, manifest),
|
|
39
|
+
loadPluginMcpServers(pluginDir, manifest),
|
|
40
|
+
]);
|
|
41
|
+
const plugin = {
|
|
42
|
+
manifest,
|
|
43
|
+
rootDir: pluginDir,
|
|
44
|
+
source,
|
|
45
|
+
enabled,
|
|
46
|
+
skills,
|
|
47
|
+
commands,
|
|
48
|
+
agents,
|
|
49
|
+
hooks,
|
|
50
|
+
mcpServers,
|
|
51
|
+
};
|
|
52
|
+
logger.debug(`[plugin] Loaded "${manifest.name}": ${skills.length} skills, ${commands.length} commands, ${agents.length} agents`);
|
|
53
|
+
return plugin;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../../src/plugins/core/plugin-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAAiB,EACjB,MAAoB,EACpB,UAAmB,IAAI;IAEvB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB;IACjB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,IAAI,UAAU,SAAS,EAAE,CAAC,CAAC;IAE7E,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtE,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC;QACzC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC3C,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC;QACzC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC;QACpC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAiB;QAC3B,QAAQ;QACR,OAAO,EAAE,SAAS;QAClB,MAAM;QACN,OAAO;QACP,MAAM;QACN,QAAQ;QACR,MAAM;QACN,KAAK;QACL,UAAU;KACX,CAAC;IAEF,MAAM,CAAC,KAAK,CACV,oBAAoB,QAAQ,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,cAAc,MAAM,CAAC,MAAM,SAAS,CACpH,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Resolver
|
|
3
|
+
*
|
|
4
|
+
* Discovers plugins from multiple sources, resolves enabled/disabled state,
|
|
5
|
+
* and returns an ordered list of loaded plugins. Higher-priority sources
|
|
6
|
+
* win when the same plugin exists in multiple locations.
|
|
7
|
+
*/
|
|
8
|
+
import type { LoadedPlugin, PluginSettings } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Options for plugin resolution
|
|
11
|
+
*/
|
|
12
|
+
export interface PluginResolverOptions {
|
|
13
|
+
/** Additional plugin directories from CLI flags (highest priority) */
|
|
14
|
+
cliDirs?: string[];
|
|
15
|
+
/** Working directory for project-level plugins */
|
|
16
|
+
cwd?: string;
|
|
17
|
+
/** Plugin settings from config */
|
|
18
|
+
settings?: PluginSettings;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolve all plugins from all sources
|
|
22
|
+
*
|
|
23
|
+
* Discovery sources (in priority order):
|
|
24
|
+
* 1. CLI flag directories (--plugin-dir) — highest priority
|
|
25
|
+
* 2. Project plugins (.codemie/plugins/) — team-shared
|
|
26
|
+
* 3. User cache (~/.codemie/plugins/cache/) — personal installs
|
|
27
|
+
* 4. Settings dirs (from config plugins.dirs) — managed
|
|
28
|
+
*
|
|
29
|
+
* @param options - Resolution options
|
|
30
|
+
* @returns Array of loaded plugins, deduplicated (highest priority wins)
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolvePlugins(options?: PluginResolverOptions): Promise<LoadedPlugin[]>;
|
|
33
|
+
//# sourceMappingURL=plugin-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-resolver.d.ts","sourceRoot":"","sources":["../../../src/plugins/core/plugin-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,YAAY,EAAE,CAAC,CA2CzB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Resolver
|
|
3
|
+
*
|
|
4
|
+
* Discovers plugins from multiple sources, resolves enabled/disabled state,
|
|
5
|
+
* and returns an ordered list of loaded plugins. Higher-priority sources
|
|
6
|
+
* win when the same plugin exists in multiple locations.
|
|
7
|
+
*/
|
|
8
|
+
import { join, basename } from 'path';
|
|
9
|
+
import { existsSync } from 'fs';
|
|
10
|
+
import { readdir } from 'fs/promises';
|
|
11
|
+
import { logger } from '../../utils/logger.js';
|
|
12
|
+
import { getCodemiePath } from '../../utils/paths.js';
|
|
13
|
+
import { loadPlugin } from './plugin-loader.js';
|
|
14
|
+
/**
|
|
15
|
+
* Resolve all plugins from all sources
|
|
16
|
+
*
|
|
17
|
+
* Discovery sources (in priority order):
|
|
18
|
+
* 1. CLI flag directories (--plugin-dir) — highest priority
|
|
19
|
+
* 2. Project plugins (.codemie/plugins/) — team-shared
|
|
20
|
+
* 3. User cache (~/.codemie/plugins/cache/) — personal installs
|
|
21
|
+
* 4. Settings dirs (from config plugins.dirs) — managed
|
|
22
|
+
*
|
|
23
|
+
* @param options - Resolution options
|
|
24
|
+
* @returns Array of loaded plugins, deduplicated (highest priority wins)
|
|
25
|
+
*/
|
|
26
|
+
export async function resolvePlugins(options = {}) {
|
|
27
|
+
const { cliDirs = [], cwd = process.cwd(), settings = {} } = options;
|
|
28
|
+
const disabledSet = new Set(settings.disabled || []);
|
|
29
|
+
const enabledSet = settings.enabled ? new Set(settings.enabled) : null;
|
|
30
|
+
// Discover from all sources
|
|
31
|
+
const sources = [
|
|
32
|
+
{ dirs: cliDirs, source: 'local', priority: 400 },
|
|
33
|
+
{ dirs: await getProjectPluginDirs(cwd), source: 'project', priority: 300 },
|
|
34
|
+
{ dirs: await getUserPluginDirs(), source: 'user', priority: 200 },
|
|
35
|
+
{ dirs: settings.dirs || [], source: 'local', priority: 100 },
|
|
36
|
+
];
|
|
37
|
+
// Load all plugins from all sources
|
|
38
|
+
const pluginMap = new Map();
|
|
39
|
+
for (const { dirs, source, priority: _priority } of sources) {
|
|
40
|
+
for (const dir of dirs) {
|
|
41
|
+
try {
|
|
42
|
+
const isEnabled = determineEnabled(dir, enabledSet, disabledSet);
|
|
43
|
+
const plugin = await loadPlugin(dir, source, isEnabled);
|
|
44
|
+
const name = plugin.manifest.name;
|
|
45
|
+
// Higher priority source wins (first encountered wins since we iterate highest first)
|
|
46
|
+
if (!pluginMap.has(name)) {
|
|
47
|
+
pluginMap.set(name, plugin);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
logger.debug(`[plugin] Skipping duplicate plugin "${name}" from ${dir} (already loaded from higher priority source)`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
logger.debug(`[plugin] Failed to load plugin from ${dir}: ${error instanceof Error ? error.message : String(error)}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const plugins = Array.from(pluginMap.values());
|
|
59
|
+
logger.debug(`[plugin] Resolved ${plugins.length} plugins (${plugins.filter(p => p.enabled).length} enabled)`);
|
|
60
|
+
return plugins;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get project-level plugin directories
|
|
64
|
+
*
|
|
65
|
+
* Scans .codemie/plugins/ for subdirectories, each treated as a plugin root.
|
|
66
|
+
*/
|
|
67
|
+
async function getProjectPluginDirs(cwd) {
|
|
68
|
+
const projectPluginsDir = join(cwd, '.codemie', 'plugins');
|
|
69
|
+
if (!existsSync(projectPluginsDir)) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const entries = await readdir(projectPluginsDir, { withFileTypes: true });
|
|
74
|
+
return entries
|
|
75
|
+
.filter(entry => entry.isDirectory())
|
|
76
|
+
.map(entry => join(projectPluginsDir, entry.name));
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get user-level plugin directories from cache
|
|
84
|
+
*/
|
|
85
|
+
async function getUserPluginDirs() {
|
|
86
|
+
const cacheDir = getCodemiePath('plugins', 'cache');
|
|
87
|
+
if (!existsSync(cacheDir)) {
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const entries = await readdir(cacheDir, { withFileTypes: true });
|
|
92
|
+
return entries
|
|
93
|
+
.filter(entry => entry.isDirectory())
|
|
94
|
+
.map(entry => join(cacheDir, entry.name));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
logger.debug(`[plugin] Failed to read user plugin cache: ${error instanceof Error ? error.message : String(error)}`);
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Determine if a plugin directory should be enabled
|
|
103
|
+
*/
|
|
104
|
+
function determineEnabled(dir, enabledSet, disabledSet) {
|
|
105
|
+
// Extract plugin name from directory for matching
|
|
106
|
+
const dirName = basename(dir);
|
|
107
|
+
// Explicit disabled takes precedence
|
|
108
|
+
if (disabledSet.has(dirName)) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
// If enabledSet exists, only enable explicitly listed plugins
|
|
112
|
+
if (enabledSet) {
|
|
113
|
+
return enabledSet.has(dirName);
|
|
114
|
+
}
|
|
115
|
+
// Default: enabled
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=plugin-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-resolver.js","sourceRoot":"","sources":["../../../src/plugins/core/plugin-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin System Types
|
|
3
|
+
*
|
|
4
|
+
* Defines interfaces for the native plugin system following the Anthropic
|
|
5
|
+
* Claude Code plugin format (.claude-plugin/plugin.json, skills/, commands/, etc.)
|
|
6
|
+
*/
|
|
7
|
+
import type { HooksConfiguration } from '../../hooks/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Author information for a plugin
|
|
10
|
+
*/
|
|
11
|
+
export interface PluginAuthor {
|
|
12
|
+
name: string;
|
|
13
|
+
email?: string;
|
|
14
|
+
url?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* MCP server configuration from a plugin
|
|
18
|
+
*/
|
|
19
|
+
export interface McpConfig {
|
|
20
|
+
mcpServers: Record<string, McpServerConfig>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Individual MCP server configuration
|
|
24
|
+
*/
|
|
25
|
+
export interface McpServerConfig {
|
|
26
|
+
command: string;
|
|
27
|
+
args?: string[];
|
|
28
|
+
env?: Record<string, string>;
|
|
29
|
+
cwd?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* LSP server configuration from a plugin
|
|
33
|
+
*/
|
|
34
|
+
export interface LspConfig {
|
|
35
|
+
lspServers: Record<string, LspServerConfig>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Individual LSP server configuration
|
|
39
|
+
*/
|
|
40
|
+
export interface LspServerConfig {
|
|
41
|
+
command: string;
|
|
42
|
+
args?: string[];
|
|
43
|
+
env?: Record<string, string>;
|
|
44
|
+
languages?: string[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Plugin manifest as defined in .claude-plugin/plugin.json
|
|
48
|
+
*
|
|
49
|
+
* Follows the Anthropic Claude Code plugin format.
|
|
50
|
+
*/
|
|
51
|
+
export interface PluginManifest {
|
|
52
|
+
/** Plugin name (required, kebab-case) */
|
|
53
|
+
name: string;
|
|
54
|
+
/** Semantic version */
|
|
55
|
+
version?: string;
|
|
56
|
+
/** Human-readable description */
|
|
57
|
+
description?: string;
|
|
58
|
+
/** Author information */
|
|
59
|
+
author?: PluginAuthor;
|
|
60
|
+
/** Plugin homepage URL */
|
|
61
|
+
homepage?: string;
|
|
62
|
+
/** Source repository URL */
|
|
63
|
+
repository?: string;
|
|
64
|
+
/** License identifier (e.g., 'MIT', 'Apache-2.0') */
|
|
65
|
+
license?: string;
|
|
66
|
+
/** Search keywords */
|
|
67
|
+
keywords?: string[];
|
|
68
|
+
/** Commands directory path override(s) */
|
|
69
|
+
commands?: string | string[];
|
|
70
|
+
/** Agents directory path override(s) */
|
|
71
|
+
agents?: string | string[];
|
|
72
|
+
/** Skills directory path override(s) */
|
|
73
|
+
skills?: string | string[];
|
|
74
|
+
/** Hooks config path(s) or inline config */
|
|
75
|
+
hooks?: string | string[] | HooksConfiguration;
|
|
76
|
+
/** MCP servers config path(s) or inline config */
|
|
77
|
+
mcpServers?: string | string[] | McpConfig;
|
|
78
|
+
/** LSP servers config path(s) or inline config */
|
|
79
|
+
lspServers?: string | string[] | LspConfig;
|
|
80
|
+
/** Output style path overrides */
|
|
81
|
+
outputStyles?: string | string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A skill discovered from a plugin's skills/ or commands/ directory
|
|
85
|
+
*/
|
|
86
|
+
export interface PluginSkill {
|
|
87
|
+
/** Name of the parent plugin */
|
|
88
|
+
pluginName: string;
|
|
89
|
+
/** Original skill name from SKILL.md frontmatter */
|
|
90
|
+
skillName: string;
|
|
91
|
+
/** Namespaced name: "plugin-name:skill-name" */
|
|
92
|
+
namespacedName: string;
|
|
93
|
+
/** Absolute path to the skill file */
|
|
94
|
+
filePath: string;
|
|
95
|
+
/** Raw file content (markdown body after frontmatter) */
|
|
96
|
+
content: string;
|
|
97
|
+
/** Parsed frontmatter metadata */
|
|
98
|
+
metadata: Record<string, unknown>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A command discovered from a plugin's commands/ directory
|
|
102
|
+
*/
|
|
103
|
+
export interface PluginCommand {
|
|
104
|
+
/** Name of the parent plugin */
|
|
105
|
+
pluginName: string;
|
|
106
|
+
/** Original command name */
|
|
107
|
+
commandName: string;
|
|
108
|
+
/** Namespaced name: "plugin-name:command-name" */
|
|
109
|
+
namespacedName: string;
|
|
110
|
+
/** Absolute path to the command file */
|
|
111
|
+
filePath: string;
|
|
112
|
+
/** Raw file content */
|
|
113
|
+
content: string;
|
|
114
|
+
/** Parsed frontmatter metadata */
|
|
115
|
+
metadata: Record<string, unknown>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* An agent discovered from a plugin's agents/ directory
|
|
119
|
+
*/
|
|
120
|
+
export interface PluginAgent {
|
|
121
|
+
/** Name of the parent plugin */
|
|
122
|
+
pluginName: string;
|
|
123
|
+
/** Original agent name */
|
|
124
|
+
agentName: string;
|
|
125
|
+
/** Namespaced name: "plugin-name:agent-name" */
|
|
126
|
+
namespacedName: string;
|
|
127
|
+
/** Absolute path to the agent file */
|
|
128
|
+
filePath: string;
|
|
129
|
+
/** Raw file content */
|
|
130
|
+
content: string;
|
|
131
|
+
/** Parsed frontmatter metadata */
|
|
132
|
+
metadata: Record<string, unknown>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Source of where a plugin was found/installed
|
|
136
|
+
*/
|
|
137
|
+
export type PluginSource = 'local' | 'user' | 'project';
|
|
138
|
+
/**
|
|
139
|
+
* A fully loaded and resolved plugin with all its components
|
|
140
|
+
*/
|
|
141
|
+
export interface LoadedPlugin {
|
|
142
|
+
/** Parsed manifest from plugin.json */
|
|
143
|
+
manifest: PluginManifest;
|
|
144
|
+
/** Absolute path to the plugin root directory */
|
|
145
|
+
rootDir: string;
|
|
146
|
+
/** Where the plugin was found/installed */
|
|
147
|
+
source: PluginSource;
|
|
148
|
+
/** Whether this plugin is enabled */
|
|
149
|
+
enabled: boolean;
|
|
150
|
+
/** Discovered skills with namespace prefix */
|
|
151
|
+
skills: PluginSkill[];
|
|
152
|
+
/** Discovered commands with namespace prefix */
|
|
153
|
+
commands: PluginCommand[];
|
|
154
|
+
/** Discovered agents with namespace prefix */
|
|
155
|
+
agents: PluginAgent[];
|
|
156
|
+
/** Merged hooks configuration (or null if none) */
|
|
157
|
+
hooks: HooksConfiguration | null;
|
|
158
|
+
/** Merged MCP server configuration (or null if none) */
|
|
159
|
+
mcpServers: McpConfig | null;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Plugin settings stored in config
|
|
163
|
+
*/
|
|
164
|
+
export interface PluginSettings {
|
|
165
|
+
/** Explicitly enabled plugin names */
|
|
166
|
+
enabled?: string[];
|
|
167
|
+
/** Explicitly disabled plugin names */
|
|
168
|
+
disabled?: string[];
|
|
169
|
+
/** Additional plugin directories to scan */
|
|
170
|
+
dirs?: string[];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Error codes for plugin operations
|
|
174
|
+
*/
|
|
175
|
+
export declare enum PluginErrorCode {
|
|
176
|
+
MANIFEST_NOT_FOUND = "MANIFEST_NOT_FOUND",
|
|
177
|
+
MANIFEST_INVALID = "MANIFEST_INVALID",
|
|
178
|
+
PLUGIN_NOT_FOUND = "PLUGIN_NOT_FOUND",
|
|
179
|
+
PLUGIN_ALREADY_INSTALLED = "PLUGIN_ALREADY_INSTALLED",
|
|
180
|
+
INSTALL_FAILED = "INSTALL_FAILED",
|
|
181
|
+
LOAD_FAILED = "LOAD_FAILED"
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin System Types
|
|
3
|
+
*
|
|
4
|
+
* Defines interfaces for the native plugin system following the Anthropic
|
|
5
|
+
* Claude Code plugin format (.claude-plugin/plugin.json, skills/, commands/, etc.)
|
|
6
|
+
*/
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Plugin Errors
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Error codes for plugin operations
|
|
12
|
+
*/
|
|
13
|
+
export var PluginErrorCode;
|
|
14
|
+
(function (PluginErrorCode) {
|
|
15
|
+
PluginErrorCode["MANIFEST_NOT_FOUND"] = "MANIFEST_NOT_FOUND";
|
|
16
|
+
PluginErrorCode["MANIFEST_INVALID"] = "MANIFEST_INVALID";
|
|
17
|
+
PluginErrorCode["PLUGIN_NOT_FOUND"] = "PLUGIN_NOT_FOUND";
|
|
18
|
+
PluginErrorCode["PLUGIN_ALREADY_INSTALLED"] = "PLUGIN_ALREADY_INSTALLED";
|
|
19
|
+
PluginErrorCode["INSTALL_FAILED"] = "INSTALL_FAILED";
|
|
20
|
+
PluginErrorCode["LOAD_FAILED"] = "LOAD_FAILED";
|
|
21
|
+
})(PluginErrorCode || (PluginErrorCode = {}));
|
|
22
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2OH,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,4DAAyC,CAAA;IACzC,wDAAqC,CAAA;IACrC,wDAAqC,CAAA;IACrC,wEAAqD,CAAA;IACrD,oDAAiC,CAAA;IACjC,8CAA2B,CAAA;AAC7B,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B"}
|