@codemieai/code 0.0.44 → 0.0.46
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 +9 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +31 -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/core/types.d.ts +83 -0
- package/dist/agents/core/types.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.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +10 -1
- package/dist/agents/plugins/claude/claude.plugin.js.map +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 +10 -5
- 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/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.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +10 -0
- package/dist/agents/plugins/gemini/gemini.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.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +22 -6
- 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 +6 -5
- 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 +40 -39
- 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 +74 -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/extensions-scan.d.ts +27 -0
- package/dist/utils/extensions-scan.d.ts.map +1 -0
- package/dist/utils/extensions-scan.js +182 -0
- package/dist/utils/extensions-scan.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,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin MCP Loader
|
|
3
|
+
*
|
|
4
|
+
* Discovers and merges MCP (Model Context Protocol) server configurations from plugins.
|
|
5
|
+
* MCP servers are namespaced to avoid conflicts between plugins.
|
|
6
|
+
*/
|
|
7
|
+
import { readFile } from 'fs/promises';
|
|
8
|
+
import { join } from 'path';
|
|
9
|
+
import { existsSync } from 'fs';
|
|
10
|
+
import { logger } from '../../utils/logger.js';
|
|
11
|
+
import { expandPluginRootDeep } from '../core/manifest-parser.js';
|
|
12
|
+
/**
|
|
13
|
+
* Load MCP server configuration from a plugin
|
|
14
|
+
*
|
|
15
|
+
* @param pluginDir - Absolute path to the plugin root
|
|
16
|
+
* @param manifest - Parsed plugin manifest
|
|
17
|
+
* @returns McpConfig with namespaced server names, or null if none found
|
|
18
|
+
*/
|
|
19
|
+
export async function loadPluginMcpServers(pluginDir, manifest) {
|
|
20
|
+
const mcpField = manifest.mcpServers;
|
|
21
|
+
// Inline MCP config in manifest
|
|
22
|
+
if (mcpField && typeof mcpField === 'object' && !Array.isArray(mcpField)) {
|
|
23
|
+
const config = mcpField;
|
|
24
|
+
return namespaceMcpServers(config, manifest.name, pluginDir);
|
|
25
|
+
}
|
|
26
|
+
// Path(s) to MCP config files
|
|
27
|
+
const mcpPaths = resolveMcpPaths(pluginDir, mcpField);
|
|
28
|
+
for (const mcpPath of mcpPaths) {
|
|
29
|
+
if (!existsSync(mcpPath))
|
|
30
|
+
continue;
|
|
31
|
+
try {
|
|
32
|
+
const raw = await readFile(mcpPath, 'utf-8');
|
|
33
|
+
const parsed = JSON.parse(raw);
|
|
34
|
+
return namespaceMcpServers(parsed, manifest.name, pluginDir);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
logger.debug(`[plugin] Failed to parse MCP config from ${mcpPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Merge plugin MCP config into an existing MCP configuration
|
|
44
|
+
*
|
|
45
|
+
* @param base - Existing MCP config
|
|
46
|
+
* @param pluginMcp - MCP config from a plugin (already namespaced)
|
|
47
|
+
* @returns Merged MCP config
|
|
48
|
+
*/
|
|
49
|
+
export function mergeMcpConfigs(base, pluginMcp) {
|
|
50
|
+
return {
|
|
51
|
+
mcpServers: {
|
|
52
|
+
...base.mcpServers,
|
|
53
|
+
...pluginMcp.mcpServers,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Namespace MCP server names to prevent conflicts between plugins
|
|
59
|
+
*
|
|
60
|
+
* E.g., a server named "filesystem" in plugin "my-tools" becomes "my-tools:filesystem"
|
|
61
|
+
*/
|
|
62
|
+
function namespaceMcpServers(config, pluginName, pluginDir) {
|
|
63
|
+
if (!config.mcpServers) {
|
|
64
|
+
return { mcpServers: {} };
|
|
65
|
+
}
|
|
66
|
+
const namespacedServers = {};
|
|
67
|
+
for (const [serverName, serverConfig] of Object.entries(config.mcpServers)) {
|
|
68
|
+
const namespacedName = `${pluginName}:${serverName}`;
|
|
69
|
+
// Expand ${CLAUDE_PLUGIN_ROOT} in server config
|
|
70
|
+
const expanded = expandPluginRootDeep(serverConfig, pluginDir);
|
|
71
|
+
namespacedServers[namespacedName] = expanded;
|
|
72
|
+
}
|
|
73
|
+
return { mcpServers: namespacedServers };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Resolve MCP config file paths from manifest field or defaults
|
|
77
|
+
*/
|
|
78
|
+
function resolveMcpPaths(pluginDir, mcpField) {
|
|
79
|
+
if (!mcpField || typeof mcpField === 'object') {
|
|
80
|
+
// Default: check .mcp.json at plugin root
|
|
81
|
+
return [join(pluginDir, '.mcp.json')];
|
|
82
|
+
}
|
|
83
|
+
const paths = Array.isArray(mcpField) ? mcpField : [mcpField];
|
|
84
|
+
return paths.map(p => join(pluginDir, p));
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=mcp-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-loader.js","sourceRoot":"","sources":["../../../src/plugins/loaders/mcp-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Skills Loader
|
|
3
|
+
*
|
|
4
|
+
* Discovers skills from a plugin's skills/ and commands/ directories.
|
|
5
|
+
* Skills are namespaced with the plugin name to avoid conflicts.
|
|
6
|
+
*/
|
|
7
|
+
import type { PluginSkill, PluginCommand, PluginManifest } from '../core/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Discover skills from a plugin directory
|
|
10
|
+
*
|
|
11
|
+
* Looks for SKILL.md files in the plugin's skills/ directory (or custom paths from manifest).
|
|
12
|
+
* Each skill is namespaced as "plugin-name:skill-name".
|
|
13
|
+
*
|
|
14
|
+
* @param pluginDir - Absolute path to the plugin root
|
|
15
|
+
* @param manifest - Parsed plugin manifest
|
|
16
|
+
* @returns Array of discovered plugin skills
|
|
17
|
+
*/
|
|
18
|
+
export declare function discoverPluginSkills(pluginDir: string, manifest: PluginManifest): Promise<PluginSkill[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Discover commands from a plugin directory
|
|
21
|
+
*
|
|
22
|
+
* Looks for *.md files in the plugin's commands/ directory (or custom paths from manifest).
|
|
23
|
+
* Each command is namespaced as "plugin-name:command-name".
|
|
24
|
+
*
|
|
25
|
+
* @param pluginDir - Absolute path to the plugin root
|
|
26
|
+
* @param manifest - Parsed plugin manifest
|
|
27
|
+
* @returns Array of discovered plugin commands
|
|
28
|
+
*/
|
|
29
|
+
export declare function discoverPluginCommands(pluginDir: string, manifest: PluginManifest): Promise<PluginCommand[]>;
|
|
30
|
+
//# sourceMappingURL=skills-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/loaders/skills-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,EAAE,CAAC,CAiCxB;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC,CAiC1B"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Skills Loader
|
|
3
|
+
*
|
|
4
|
+
* Discovers skills from a plugin's skills/ and commands/ directories.
|
|
5
|
+
* Skills are namespaced with the plugin name to avoid conflicts.
|
|
6
|
+
*/
|
|
7
|
+
import { readFile } from 'fs/promises';
|
|
8
|
+
import { join, basename, dirname } from 'path';
|
|
9
|
+
import fg from 'fast-glob';
|
|
10
|
+
import { logger } from '../../utils/logger.js';
|
|
11
|
+
import { parseFrontmatter, hasFrontmatter } from '../../utils/frontmatter.js';
|
|
12
|
+
/**
|
|
13
|
+
* Discover skills from a plugin directory
|
|
14
|
+
*
|
|
15
|
+
* Looks for SKILL.md files in the plugin's skills/ directory (or custom paths from manifest).
|
|
16
|
+
* Each skill is namespaced as "plugin-name:skill-name".
|
|
17
|
+
*
|
|
18
|
+
* @param pluginDir - Absolute path to the plugin root
|
|
19
|
+
* @param manifest - Parsed plugin manifest
|
|
20
|
+
* @returns Array of discovered plugin skills
|
|
21
|
+
*/
|
|
22
|
+
export async function discoverPluginSkills(pluginDir, manifest) {
|
|
23
|
+
const skillsDirs = resolveComponentDirs(pluginDir, manifest.skills, 'skills');
|
|
24
|
+
const skills = [];
|
|
25
|
+
for (const dir of skillsDirs) {
|
|
26
|
+
try {
|
|
27
|
+
const files = await fg('**/SKILL.md', {
|
|
28
|
+
cwd: dir,
|
|
29
|
+
absolute: true,
|
|
30
|
+
caseSensitiveMatch: false,
|
|
31
|
+
deep: 3,
|
|
32
|
+
ignore: ['**/node_modules/**', '**/.git/**'],
|
|
33
|
+
onlyFiles: true,
|
|
34
|
+
});
|
|
35
|
+
for (const filePath of files) {
|
|
36
|
+
try {
|
|
37
|
+
const skill = await parsePluginSkillFile(filePath, manifest.name);
|
|
38
|
+
if (skill) {
|
|
39
|
+
skills.push(skill);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
logger.debug(`[plugin] Failed to parse skill ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Directory doesn't exist — skip silently
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return skills;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Discover commands from a plugin directory
|
|
55
|
+
*
|
|
56
|
+
* Looks for *.md files in the plugin's commands/ directory (or custom paths from manifest).
|
|
57
|
+
* Each command is namespaced as "plugin-name:command-name".
|
|
58
|
+
*
|
|
59
|
+
* @param pluginDir - Absolute path to the plugin root
|
|
60
|
+
* @param manifest - Parsed plugin manifest
|
|
61
|
+
* @returns Array of discovered plugin commands
|
|
62
|
+
*/
|
|
63
|
+
export async function discoverPluginCommands(pluginDir, manifest) {
|
|
64
|
+
const commandsDirs = resolveComponentDirs(pluginDir, manifest.commands, 'commands');
|
|
65
|
+
const commands = [];
|
|
66
|
+
for (const dir of commandsDirs) {
|
|
67
|
+
try {
|
|
68
|
+
const files = await fg('*.md', {
|
|
69
|
+
cwd: dir,
|
|
70
|
+
absolute: true,
|
|
71
|
+
caseSensitiveMatch: false,
|
|
72
|
+
deep: 1,
|
|
73
|
+
ignore: ['**/node_modules/**', '**/.git/**'],
|
|
74
|
+
onlyFiles: true,
|
|
75
|
+
});
|
|
76
|
+
for (const filePath of files) {
|
|
77
|
+
try {
|
|
78
|
+
const command = await parsePluginCommandFile(filePath, manifest.name);
|
|
79
|
+
if (command) {
|
|
80
|
+
commands.push(command);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
logger.debug(`[plugin] Failed to parse command ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Directory doesn't exist — skip silently
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return commands;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Parse a single SKILL.md file into a PluginSkill
|
|
96
|
+
*/
|
|
97
|
+
async function parsePluginSkillFile(filePath, pluginName) {
|
|
98
|
+
const fileContent = await readFile(filePath, 'utf-8');
|
|
99
|
+
let metadata = {};
|
|
100
|
+
let content;
|
|
101
|
+
if (hasFrontmatter(fileContent)) {
|
|
102
|
+
const parsed = parseFrontmatter(fileContent, filePath);
|
|
103
|
+
metadata = parsed.metadata;
|
|
104
|
+
content = parsed.content;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
content = fileContent.trim();
|
|
108
|
+
}
|
|
109
|
+
// Derive skill name from metadata or directory name
|
|
110
|
+
const skillName = metadata.name || basename(dirname(filePath));
|
|
111
|
+
if (!skillName) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
pluginName,
|
|
116
|
+
skillName,
|
|
117
|
+
namespacedName: `${pluginName}:${skillName}`,
|
|
118
|
+
filePath,
|
|
119
|
+
content,
|
|
120
|
+
metadata,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Parse a single command .md file into a PluginCommand
|
|
125
|
+
*/
|
|
126
|
+
async function parsePluginCommandFile(filePath, pluginName) {
|
|
127
|
+
const fileContent = await readFile(filePath, 'utf-8');
|
|
128
|
+
let metadata = {};
|
|
129
|
+
let content;
|
|
130
|
+
if (hasFrontmatter(fileContent)) {
|
|
131
|
+
const parsed = parseFrontmatter(fileContent, filePath);
|
|
132
|
+
metadata = parsed.metadata;
|
|
133
|
+
content = parsed.content;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
content = fileContent.trim();
|
|
137
|
+
}
|
|
138
|
+
// Derive command name from metadata or filename (without .md extension)
|
|
139
|
+
const commandName = metadata.name || basename(filePath, '.md');
|
|
140
|
+
if (!commandName) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
pluginName,
|
|
145
|
+
commandName,
|
|
146
|
+
namespacedName: `${pluginName}:${commandName}`,
|
|
147
|
+
filePath,
|
|
148
|
+
content,
|
|
149
|
+
metadata,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Resolve component directories from manifest field or defaults
|
|
154
|
+
*
|
|
155
|
+
* @param pluginDir - Plugin root directory
|
|
156
|
+
* @param manifestField - Value from manifest (string, string[], or undefined)
|
|
157
|
+
* @param defaultDir - Default directory name (e.g., 'skills', 'commands')
|
|
158
|
+
* @returns Array of absolute directory paths to scan
|
|
159
|
+
*/
|
|
160
|
+
function resolveComponentDirs(pluginDir, manifestField, defaultDir) {
|
|
161
|
+
if (!manifestField) {
|
|
162
|
+
return [join(pluginDir, defaultDir)];
|
|
163
|
+
}
|
|
164
|
+
const paths = Array.isArray(manifestField) ? manifestField : [manifestField];
|
|
165
|
+
return paths.map(p => join(pluginDir, p));
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=skills-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-loader.js","sourceRoot":"","sources":["../../../src/plugins/loaders/skills-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export const BedrockTemplate = registerProvider({
|
|
|
17
17
|
priority: 15,
|
|
18
18
|
defaultProfileName: 'bedrock',
|
|
19
19
|
recommendedModels: [
|
|
20
|
-
'claude-sonnet-4-
|
|
20
|
+
'claude-sonnet-4-6', // Latest Claude Sonnet 4.6
|
|
21
21
|
],
|
|
22
22
|
capabilities: ['streaming', 'tools', 'function-calling', 'vision'],
|
|
23
23
|
supportsModelInstallation: false,
|
|
@@ -94,7 +94,7 @@ export const JWTBearerSetupSteps = {
|
|
|
94
94
|
// Return default models - actual model list will be fetched at runtime with JWT token
|
|
95
95
|
// User can override model selection via CLI or config
|
|
96
96
|
return [
|
|
97
|
-
'claude-4-
|
|
97
|
+
'claude-sonnet-4-6',
|
|
98
98
|
'claude-opus-4-6',
|
|
99
99
|
'claude-4-5-haiku',
|
|
100
100
|
'gpt-4-turbo',
|
|
@@ -19,7 +19,7 @@ export const JWTTemplate = registerProvider({
|
|
|
19
19
|
hidden: true, // Not shown in interactive setup - used only for script/auto-configuration
|
|
20
20
|
defaultProfileName: 'jwt-bearer',
|
|
21
21
|
recommendedModels: [
|
|
22
|
-
'claude-4-
|
|
22
|
+
'claude-sonnet-4-6',
|
|
23
23
|
'claude-opus-4-6',
|
|
24
24
|
'gpt-4-turbo',
|
|
25
25
|
],
|
|
@@ -17,7 +17,7 @@ export const LiteLLMTemplate = registerProvider({
|
|
|
17
17
|
priority: 14,
|
|
18
18
|
defaultProfileName: 'litellm',
|
|
19
19
|
recommendedModels: [
|
|
20
|
-
'claude-4-
|
|
20
|
+
'claude-sonnet-4-6'
|
|
21
21
|
],
|
|
22
22
|
capabilities: ['streaming', 'tools', 'function-calling'],
|
|
23
23
|
supportsModelInstallation: false,
|
|
@@ -49,6 +49,16 @@ class HeaderInjectionInterceptor {
|
|
|
49
49
|
if (config.clientType) {
|
|
50
50
|
context.headers['X-CodeMie-Client'] = config.clientType;
|
|
51
51
|
}
|
|
52
|
+
// Add repository, branch and project headers
|
|
53
|
+
if (config.repository) {
|
|
54
|
+
context.headers['X-CodeMie-Repository'] = config.repository;
|
|
55
|
+
}
|
|
56
|
+
if (config.branch) {
|
|
57
|
+
context.headers['X-CodeMie-Branch'] = config.branch;
|
|
58
|
+
}
|
|
59
|
+
if (config.project) {
|
|
60
|
+
context.headers['X-CodeMie-Project'] = config.project;
|
|
61
|
+
}
|
|
52
62
|
logger.debug(`[${this.name}] Injected CodeMie headers`);
|
|
53
63
|
}
|
|
54
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-injection.plugin.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/header-injection.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,MAAM,OAAO,qBAAqB;IAChC,EAAE,GAAG,wBAAwB,CAAC;IAC9B,IAAI,GAAG,kBAAkB,CAAC;IAC1B,OAAO,GAAG,OAAO,CAAC;IAClB,QAAQ,GAAG,EAAE,CAAC;IAEd,KAAK,CAAC,iBAAiB,CAAC,OAAsB;QAC5C,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,0BAA0B;IAGV;IAFpB,IAAI,GAAG,kBAAkB,CAAC;IAE1B,YAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAE9C,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,iCAAiC;QACjC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAC5D,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAE5D,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,UAAU,EAAE,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEnC,gDAAgD;QAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,mBAAmB,GAAG,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAErF,uDAAuD;QACvD,IAAI,mBAAmB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAChD,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QAClE,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACxD,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1D,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"header-injection.plugin.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/header-injection.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,MAAM,OAAO,qBAAqB;IAChC,EAAE,GAAG,wBAAwB,CAAC;IAC9B,IAAI,GAAG,kBAAkB,CAAC;IAC1B,OAAO,GAAG,OAAO,CAAC;IAClB,QAAQ,GAAG,EAAE,CAAC;IAEd,KAAK,CAAC,iBAAiB,CAAC,OAAsB;QAC5C,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,0BAA0B;IAGV;IAFpB,IAAI,GAAG,kBAAkB,CAAC;IAE1B,YAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAE9C,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,iCAAiC;QACjC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAC5D,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAE5D,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,UAAU,EAAE,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEnC,gDAAgD;QAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,mBAAmB,GAAG,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAErF,uDAAuD;QACvD,IAAI,mBAAmB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAChD,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QAClE,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACxD,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1D,CAAC;QAED,6CAA6C;QAC7C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACxD,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-types.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/proxy/proxy-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy-types.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/proxy/proxy-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionSyncer.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/SessionSyncer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAoB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAO9H,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAqB;;IAUvC;;;OAGG;YACW,gBAAgB;IAyG9B;;;;;;;OAOG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionSyncer.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/SessionSyncer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAoB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAO9H,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAqB;;IAUvC;;;OAGG;YACW,gBAAgB;IAyG9B;;;;;;;OAOG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA0HtF"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { logger } from '../../../../utils/logger.js';
|
|
16
16
|
import { SessionStore } from '../../../../agents/core/session/SessionStore.js';
|
|
17
17
|
import { MetricsSyncProcessor } from './processors/metrics/metrics-sync-processor.js';
|
|
18
|
-
import {
|
|
18
|
+
import { createSyncProcessor as createConversationSyncProcessor } from './processors/conversations/syncProcessor.js';
|
|
19
19
|
export class SessionSyncer {
|
|
20
20
|
sessionStore = new SessionStore();
|
|
21
21
|
processors;
|
|
@@ -23,7 +23,7 @@ export class SessionSyncer {
|
|
|
23
23
|
// Initialize processors (sorted by priority)
|
|
24
24
|
this.processors = [
|
|
25
25
|
new MetricsSyncProcessor(),
|
|
26
|
-
|
|
26
|
+
createConversationSyncProcessor()
|
|
27
27
|
].sort((a, b) => a.priority - b.priority);
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
@@ -156,7 +156,6 @@ export class SessionSyncer {
|
|
|
156
156
|
metadata: {},
|
|
157
157
|
messages: [], // Empty = triggers Branch 2
|
|
158
158
|
metrics: {
|
|
159
|
-
tokens: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
160
159
|
tools: {},
|
|
161
160
|
toolStatus: {},
|
|
162
161
|
fileOperations: []
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionSyncer.js","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/SessionSyncer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SessionSyncer.js","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/SessionSyncer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation API Client (Factory Pattern)
|
|
3
|
+
*
|
|
4
|
+
* Sends conversation history to Codemie API
|
|
5
|
+
* Uses SSO cookie authentication
|
|
6
|
+
* Supports retry with exponential backoff
|
|
7
|
+
*/
|
|
8
|
+
import type { ConversationApiConfig, ConversationSyncResponse, CodemieHistoryEntry } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Conversation API Client interface
|
|
11
|
+
*/
|
|
12
|
+
export interface ConversationApiClient {
|
|
13
|
+
upsertConversation(conversationId: string, history: CodemieHistoryEntry[], assistantId?: string, folder?: string): Promise<ConversationSyncResponse>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create a conversation API client instance
|
|
17
|
+
* @param config - API configuration
|
|
18
|
+
* @returns ConversationApiClient instance
|
|
19
|
+
*/
|
|
20
|
+
export declare function createApiClient(config: ConversationApiConfig): ConversationApiClient;
|
|
21
|
+
//# sourceMappingURL=apiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/conversations/apiClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CA6KpF"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation API Client (Factory Pattern)
|
|
3
|
+
*
|
|
4
|
+
* Sends conversation history to Codemie API
|
|
5
|
+
* Uses SSO cookie authentication
|
|
6
|
+
* Supports retry with exponential backoff
|
|
7
|
+
*/
|
|
8
|
+
import { logger } from '../../../../../../utils/logger.js';
|
|
9
|
+
import { DEFAULT_API_TIMEOUT_MS, DEFAULT_RETRY_ATTEMPTS, DEFAULT_CONVERSATION_FOLDER, NON_RETRYABLE_HTTP_CODES, RETRY_DELAY_MS } from './constants.js';
|
|
10
|
+
/**
|
|
11
|
+
* Create a conversation API client instance
|
|
12
|
+
* @param config - API configuration
|
|
13
|
+
* @returns ConversationApiClient instance
|
|
14
|
+
*/
|
|
15
|
+
export function createApiClient(config) {
|
|
16
|
+
// Private state (closure)
|
|
17
|
+
const apiConfig = {
|
|
18
|
+
baseUrl: config.baseUrl,
|
|
19
|
+
cookies: config.cookies || '',
|
|
20
|
+
apiKey: config.apiKey || '',
|
|
21
|
+
timeout: config.timeout || DEFAULT_API_TIMEOUT_MS,
|
|
22
|
+
retryAttempts: config.retryAttempts || DEFAULT_RETRY_ATTEMPTS,
|
|
23
|
+
version: config.version || '0.0.0',
|
|
24
|
+
clientType: config.clientType || 'codemie-cli',
|
|
25
|
+
dryRun: config.dryRun || false
|
|
26
|
+
};
|
|
27
|
+
// Private helper functions
|
|
28
|
+
/**
|
|
29
|
+
* Get retry delay with exponential backoff
|
|
30
|
+
*/
|
|
31
|
+
function getRetryDelay(attempt) {
|
|
32
|
+
return RETRY_DELAY_MS[attempt] || RETRY_DELAY_MS[RETRY_DELAY_MS.length - 1];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Sleep utility
|
|
36
|
+
*/
|
|
37
|
+
function sleep(ms) {
|
|
38
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check if HTTP status code should NOT trigger retry
|
|
42
|
+
*/
|
|
43
|
+
function isNonRetryableError(statusCode) {
|
|
44
|
+
return NON_RETRYABLE_HTTP_CODES.includes(statusCode);
|
|
45
|
+
}
|
|
46
|
+
// Public interface
|
|
47
|
+
return {
|
|
48
|
+
/**
|
|
49
|
+
* Upsert conversation history via API
|
|
50
|
+
* PUT /v1/conversations/{conversation_id}/history
|
|
51
|
+
*/
|
|
52
|
+
async upsertConversation(conversationId, history, assistantId = 'claude-code-import', folder = DEFAULT_CONVERSATION_FOLDER) {
|
|
53
|
+
const url = `${apiConfig.baseUrl}/v1/conversations/${conversationId}/history`;
|
|
54
|
+
const payload = {
|
|
55
|
+
assistant_id: assistantId,
|
|
56
|
+
folder,
|
|
57
|
+
history
|
|
58
|
+
};
|
|
59
|
+
// Dry-run mode: Log payload and return success
|
|
60
|
+
if (apiConfig.dryRun) {
|
|
61
|
+
logger.info('[ConversationApiClient] DRY-RUN: Would send conversation', {
|
|
62
|
+
url,
|
|
63
|
+
conversationId,
|
|
64
|
+
historyCount: history.length,
|
|
65
|
+
payload: JSON.stringify(payload, null, 2)
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
success: true,
|
|
69
|
+
message: '[DRY-RUN] Conversation logged (not sent)',
|
|
70
|
+
conversation_id: conversationId,
|
|
71
|
+
new_messages: history.length,
|
|
72
|
+
total_messages: history.length,
|
|
73
|
+
created: true
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// Actual API call with retry
|
|
77
|
+
let lastError = null;
|
|
78
|
+
for (let attempt = 0; attempt < apiConfig.retryAttempts; attempt++) {
|
|
79
|
+
try {
|
|
80
|
+
const controller = new AbortController();
|
|
81
|
+
const timeoutId = setTimeout(() => controller.abort(), apiConfig.timeout);
|
|
82
|
+
const headers = {
|
|
83
|
+
'Content-Type': 'application/json',
|
|
84
|
+
'X-CodeMie-CLI': `${apiConfig.clientType}/${apiConfig.version}`,
|
|
85
|
+
'X-CodeMie-Client': apiConfig.clientType
|
|
86
|
+
};
|
|
87
|
+
// Add authentication headers
|
|
88
|
+
if (apiConfig.apiKey) {
|
|
89
|
+
// Localhost development: user-id header only
|
|
90
|
+
headers['user-id'] = apiConfig.apiKey;
|
|
91
|
+
}
|
|
92
|
+
else if (apiConfig.cookies) {
|
|
93
|
+
// SSO: Cookie header
|
|
94
|
+
headers['Cookie'] = apiConfig.cookies;
|
|
95
|
+
}
|
|
96
|
+
const response = await fetch(url, {
|
|
97
|
+
method: 'PUT',
|
|
98
|
+
headers,
|
|
99
|
+
body: JSON.stringify(payload),
|
|
100
|
+
signal: controller.signal
|
|
101
|
+
});
|
|
102
|
+
clearTimeout(timeoutId);
|
|
103
|
+
if (!response.ok) {
|
|
104
|
+
const errorText = await response.text();
|
|
105
|
+
let errorData;
|
|
106
|
+
try {
|
|
107
|
+
errorData = JSON.parse(errorText);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
errorData = { message: errorText };
|
|
111
|
+
}
|
|
112
|
+
// Check for non-retryable errors
|
|
113
|
+
if (isNonRetryableError(response.status)) {
|
|
114
|
+
logger.error(`[ConversationApiClient] Non-retryable error (${response.status}):`, errorData);
|
|
115
|
+
return {
|
|
116
|
+
success: false,
|
|
117
|
+
message: `API error: ${response.status} ${errorData.message || response.statusText}`
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// Retryable error - throw to retry
|
|
121
|
+
throw new Error(`API error: ${response.status} ${errorData.message || response.statusText}`);
|
|
122
|
+
}
|
|
123
|
+
// Success
|
|
124
|
+
const data = await response.json();
|
|
125
|
+
logger.debug('[ConversationApiClient] Conversation synced successfully', {
|
|
126
|
+
conversationId: data.conversation_id,
|
|
127
|
+
newMessages: data.new_messages,
|
|
128
|
+
totalMessages: data.total_messages,
|
|
129
|
+
created: data.created
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
success: true,
|
|
133
|
+
message: 'Conversation synced successfully',
|
|
134
|
+
conversation_id: data.conversation_id,
|
|
135
|
+
new_messages: data.new_messages,
|
|
136
|
+
total_messages: data.total_messages,
|
|
137
|
+
created: data.created
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
lastError = error;
|
|
142
|
+
// Log retry attempt
|
|
143
|
+
if (attempt < apiConfig.retryAttempts - 1) {
|
|
144
|
+
const delay = getRetryDelay(attempt);
|
|
145
|
+
logger.warn(`[ConversationApiClient] Sync failed (attempt ${attempt + 1}/${apiConfig.retryAttempts}), retrying in ${delay}ms:`, error.message);
|
|
146
|
+
await sleep(delay);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// All retries failed
|
|
151
|
+
logger.error(`[ConversationApiClient] Sync failed after ${apiConfig.retryAttempts} attempts:`, lastError);
|
|
152
|
+
return {
|
|
153
|
+
success: false,
|
|
154
|
+
message: `Sync failed: ${lastError?.message || 'Unknown error'}`
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=apiClient.js.map
|