@codemieai/code 0.0.27 → 0.0.29
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/README.md +9 -11
- package/bin/agent-executor.js +1 -1
- package/dist/agents/codemie-code/agent.js +1 -1
- package/dist/agents/codemie-code/config.d.ts +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +3 -4
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/index.js +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.js +2 -2
- package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -1
- package/dist/agents/codemie-code/tools/index.js +1 -1
- package/dist/agents/codemie-code/tools/index.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +6 -10
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +17 -9
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +80 -72
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts +258 -0
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -0
- package/dist/agents/core/extension/BaseExtensionInstaller.js +522 -0
- package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -0
- package/dist/agents/core/lifecycle-helpers.d.ts.map +1 -1
- package/dist/agents/core/lifecycle-helpers.js +16 -2
- package/dist/agents/core/lifecycle-helpers.js.map +1 -1
- package/dist/agents/core/metrics/index.d.ts +0 -2
- package/dist/agents/core/metrics/index.d.ts.map +1 -1
- package/dist/agents/core/metrics/index.js +0 -3
- package/dist/agents/core/metrics/index.js.map +1 -1
- package/dist/agents/core/metrics/types.d.ts +4 -232
- package/dist/agents/core/metrics/types.d.ts.map +1 -1
- package/dist/agents/core/metrics/types.js +2 -2
- package/dist/agents/core/session/BaseProcessor.d.ts +72 -0
- package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -0
- package/dist/agents/core/session/BaseProcessor.js +9 -0
- package/dist/agents/core/session/BaseProcessor.js.map +1 -0
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +99 -0
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -0
- package/dist/agents/core/session/BaseSessionAdapter.js +9 -0
- package/dist/agents/core/session/BaseSessionAdapter.js.map +1 -0
- package/dist/agents/core/session/SessionStore.d.ts +23 -0
- package/dist/agents/core/session/SessionStore.d.ts.map +1 -0
- package/dist/agents/core/session/SessionStore.js +75 -0
- package/dist/agents/core/session/SessionStore.js.map +1 -0
- package/dist/agents/core/session/session-config.d.ts +27 -0
- package/dist/agents/core/session/session-config.d.ts.map +1 -0
- package/dist/agents/core/session/session-config.js +61 -0
- package/dist/agents/core/session/session-config.js.map +1 -0
- package/dist/agents/core/session/types.d.ts +87 -0
- package/dist/agents/core/session/types.d.ts.map +1 -0
- package/dist/agents/core/session/types.js +8 -0
- package/dist/agents/core/session/types.js.map +1 -0
- package/dist/agents/core/session/utils/jsonl-reader.d.ts +15 -0
- package/dist/agents/core/session/utils/jsonl-reader.d.ts.map +1 -0
- package/dist/agents/core/session/utils/jsonl-reader.js +33 -0
- package/dist/agents/core/session/utils/jsonl-reader.js.map +1 -0
- package/dist/agents/core/session/utils/jsonl-writer.d.ts +26 -0
- package/dist/agents/core/session/utils/jsonl-writer.d.ts.map +1 -0
- package/dist/agents/core/session/utils/jsonl-writer.js +56 -0
- package/dist/agents/core/session/utils/jsonl-writer.js.map +1 -0
- package/dist/agents/core/types.d.ts +78 -11
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-message-types.d.ts +74 -0
- package/dist/agents/plugins/claude/claude-message-types.d.ts.map +1 -0
- package/dist/agents/plugins/claude/claude-message-types.js +8 -0
- package/dist/agents/plugins/claude/claude-message-types.js.map +1 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +53 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.js +63 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -0
- package/dist/agents/plugins/claude/claude.plugin.d.ts +26 -0
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/{claude.plugin.js → claude/claude.plugin.js} +20 -11
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -0
- package/dist/agents/plugins/claude/claude.session.d.ts +60 -0
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -0
- package/dist/agents/plugins/claude/claude.session.js +339 -0
- package/dist/agents/plugins/claude/claude.session.js.map +1 -0
- package/dist/agents/plugins/claude/plugin/.claude-plugin/local-install.json +15 -0
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +9 -0
- package/dist/agents/plugins/claude/plugin/README.md +299 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/README.md +539 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +511 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/INDEX.md +205 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/TEMPLATE_SIZES.md +74 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +207 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/layered-architecture.md.template +143 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/project-structure.md.template +127 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +168 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +210 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/integration/external-integrations.md.template +160 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +170 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +150 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/git-workflow.md.template +177 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +143 -0
- package/dist/agents/plugins/claude/plugin/commands/README.md +0 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +10 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +731 -0
- package/dist/agents/plugins/claude/plugin/commands/memory-add.md +44 -0
- package/dist/agents/plugins/claude/plugin/commands/memory-init.md +18 -0
- package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +54 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +71 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts +51 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +840 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -0
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts +37 -0
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -0
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +275 -0
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.js +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/extension/README.md +88 -0
- package/dist/agents/plugins/gemini/extension/gemini-extension.json +11 -0
- package/dist/agents/plugins/gemini/extension/hooks/hooks.json +65 -0
- package/dist/agents/plugins/gemini/gemini.extension-installer.d.ts +49 -0
- package/dist/agents/plugins/gemini/gemini.extension-installer.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/gemini.extension-installer.js +63 -0
- package/dist/agents/plugins/gemini/gemini.extension-installer.js.map +1 -0
- package/dist/agents/plugins/gemini/gemini.hook-transformer.d.ts +43 -0
- package/dist/agents/plugins/gemini/gemini.hook-transformer.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/gemini.hook-transformer.js +57 -0
- package/dist/agents/plugins/gemini/gemini.hook-transformer.js.map +1 -0
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts +32 -0
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/gemini.plugin.js +136 -0
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -0
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +68 -0
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/gemini.session-adapter.js +268 -0
- package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts +36 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +186 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts +32 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +193 -0
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -0
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +26 -0
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +38 -0
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +1 -0
- package/dist/agents/plugins/gemini/session/utils/tool-aggregator.d.ts +33 -0
- package/dist/agents/plugins/gemini/session/utils/tool-aggregator.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/session/utils/tool-aggregator.js +58 -0
- package/dist/agents/plugins/gemini/session/utils/tool-aggregator.js.map +1 -0
- package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts +70 -0
- package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/session/utils/turn-detector.js +86 -0
- package/dist/agents/plugins/gemini/session/utils/turn-detector.js.map +1 -0
- package/dist/agents/registry.d.ts +7 -2
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +17 -8
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +3 -3
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/index.js +1 -1
- package/dist/cli/commands/analytics/index.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js +1 -1
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/NpmCheck.js +1 -1
- package/dist/cli/commands/doctor/checks/NpmCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/PythonCheck.d.ts +13 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/PythonCheck.js +91 -32
- package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/UvCheck.js +1 -1
- package/dist/cli/commands/doctor/checks/UvCheck.js.map +1 -1
- package/dist/cli/commands/doctor/types.d.ts +1 -1
- package/dist/cli/commands/doctor/types.d.ts.map +1 -1
- package/dist/cli/commands/hook.d.ts +7 -0
- package/dist/cli/commands/hook.d.ts.map +1 -0
- package/dist/cli/commands/hook.js +788 -0
- package/dist/cli/commands/hook.js.map +1 -0
- package/dist/cli/commands/profile/auth.js +1 -1
- package/dist/cli/commands/profile/auth.js.map +1 -1
- package/dist/{utils/profile-display.d.ts → cli/commands/profile/display.d.ts} +3 -3
- package/dist/cli/commands/profile/display.d.ts.map +1 -0
- package/dist/{utils/profile-display.js → cli/commands/profile/display.js} +2 -2
- package/dist/cli/commands/profile/display.js.map +1 -0
- package/dist/cli/commands/profile/index.js +2 -2
- package/dist/cli/commands/profile/index.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +4 -5
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +291 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/version.js +1 -1
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/{utils → cli}/first-time.d.ts +4 -0
- package/dist/cli/first-time.d.ts.map +1 -0
- package/dist/{utils → cli}/first-time.js +27 -14
- package/dist/cli/first-time.js.map +1 -0
- package/dist/cli/index.js +6 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/env/manager.d.ts.map +1 -1
- package/dist/env/manager.js +3 -4
- package/dist/env/manager.js.map +1 -1
- package/dist/frameworks/core/BaseFrameworkAdapter.js +1 -1
- package/dist/frameworks/core/BaseFrameworkAdapter.js.map +1 -1
- package/dist/frameworks/core/types.d.ts +1 -1
- package/dist/frameworks/plugins/bmad.plugin.js +2 -2
- package/dist/frameworks/plugins/bmad.plugin.js.map +1 -1
- package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -1
- package/dist/frameworks/plugins/speckit.plugin.js +2 -3
- package/dist/frameworks/plugins/speckit.plugin.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/001-config-rename.migration.d.ts.map +1 -1
- package/dist/migrations/001-config-rename.migration.js +2 -2
- package/dist/migrations/001-config-rename.migration.js.map +1 -1
- package/dist/migrations/002-consolidate-sessions.migration.d.ts +50 -0
- package/dist/migrations/002-consolidate-sessions.migration.d.ts.map +1 -0
- package/dist/migrations/002-consolidate-sessions.migration.js +220 -0
- package/dist/migrations/002-consolidate-sessions.migration.js.map +1 -0
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +3 -2
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/tracker.d.ts.map +1 -1
- package/dist/migrations/tracker.js +2 -2
- package/dist/migrations/tracker.js.map +1 -1
- package/dist/providers/core/base/http-client.js +1 -1
- package/dist/providers/core/types.d.ts +1 -1
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.js +3 -1
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
- package/dist/providers/plugins/sso/index.d.ts +1 -1
- package/dist/providers/plugins/sso/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/index.js +1 -1
- package/dist/providers/plugins/sso/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +3 -3
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts +40 -0
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +194 -0
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts +1 -0
- package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-http-client.js +40 -6
- package/dist/providers/plugins/sso/proxy/proxy-http-client.js.map +1 -1
- package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +72 -0
- package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/BaseProcessor.js +9 -0
- package/dist/providers/plugins/sso/session/BaseProcessor.js.map +1 -0
- package/dist/providers/plugins/sso/session/BaseSessionAdapter.d.ts +99 -0
- package/dist/providers/plugins/sso/session/BaseSessionAdapter.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/BaseSessionAdapter.js +9 -0
- package/dist/providers/plugins/sso/session/BaseSessionAdapter.js.map +1 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +36 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.js +140 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +26 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +146 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +23 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js +171 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts +69 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +7 -0
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.d.ts +30 -0
- package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.js +79 -0
- package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.js.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-aggregator.d.ts → session/processors/metrics/metrics-aggregator.d.ts} +6 -5
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-aggregator.js → session/processors/metrics/metrics-aggregator.js} +20 -12
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sender.d.ts → session/processors/metrics/metrics-api-client.d.ts} +18 -11
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sender.js → session/processors/metrics/metrics-api-client.js} +143 -15
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-post-processor.d.ts → session/processors/metrics/metrics-post-processor.d.ts} +3 -3
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-post-processor.js → session/processors/metrics/metrics-post-processor.js} +3 -3
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts +24 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sync.plugin.js → session/processors/metrics/metrics-sync-processor.js} +94 -165
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-types.d.ts → session/processors/metrics/metrics-types.d.ts} +2 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-types.js → session/processors/metrics/metrics-types.js} +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.js.map +1 -0
- package/dist/providers/plugins/sso/session/utils/jsonl-reader.d.ts +15 -0
- package/dist/providers/plugins/sso/session/utils/jsonl-reader.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/utils/jsonl-reader.js +33 -0
- package/dist/providers/plugins/sso/session/utils/jsonl-reader.js.map +1 -0
- package/dist/providers/plugins/sso/session/utils/jsonl-writer.d.ts +26 -0
- package/dist/providers/plugins/sso/session/utils/jsonl-writer.d.ts.map +1 -0
- package/dist/providers/plugins/sso/{metrics/sync/sso.jsonl-writer.js → session/utils/jsonl-writer.js} +11 -27
- package/dist/providers/plugins/sso/session/utils/jsonl-writer.js.map +1 -0
- package/dist/providers/plugins/sso/sso.auth.js +1 -1
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +71 -43
- package/dist/providers/plugins/sso/sso.template.js.map +1 -1
- package/dist/utils/{config-loader.d.ts → config.d.ts} +6 -1
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/{config-loader.js → config.js} +30 -4
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/errors.d.ts +89 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +340 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/exec.d.ts +6 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +6 -0
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/file-operations.d.ts +20 -0
- package/dist/utils/file-operations.d.ts.map +1 -0
- package/dist/utils/file-operations.js +48 -0
- package/dist/utils/file-operations.js.map +1 -0
- package/dist/utils/logger.d.ts +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +15 -7
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/{json-parser.d.ts → parsers.d.ts} +1 -1
- package/dist/utils/parsers.d.ts.map +1 -0
- package/dist/utils/{json-parser.js → parsers.js} +1 -1
- package/dist/utils/parsers.js.map +1 -0
- package/dist/utils/{path-utils.d.ts → paths.d.ts} +77 -12
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/{path-utils.js → paths.js} +103 -12
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/{npm.d.ts → processes.d.ts} +44 -7
- package/dist/utils/processes.d.ts.map +1 -0
- package/dist/utils/{npm.js → processes.js} +129 -10
- package/dist/utils/processes.js.map +1 -0
- package/dist/utils/profile.d.ts +1 -16
- package/dist/utils/profile.d.ts.map +1 -1
- package/dist/utils/profile.js +1 -27
- package/dist/utils/profile.js.map +1 -1
- package/dist/utils/security.d.ts +62 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js +396 -0
- package/dist/utils/security.js.map +1 -0
- package/package.json +11 -11
- package/scripts/copy-plugins.js +57 -0
- package/scripts/license-check.js +23 -0
- package/bin/codemie-codex.js +0 -18
- package/bin/codemie-deepagents.js +0 -18
- package/dist/agents/core/BaseMetricsAdapter.d.ts +0 -165
- package/dist/agents/core/BaseMetricsAdapter.d.ts.map +0 -1
- package/dist/agents/core/BaseMetricsAdapter.js +0 -308
- package/dist/agents/core/BaseMetricsAdapter.js.map +0 -1
- package/dist/agents/core/metrics/MetricsOrchestrator.d.ts +0 -81
- package/dist/agents/core/metrics/MetricsOrchestrator.d.ts.map +0 -1
- package/dist/agents/core/metrics/MetricsOrchestrator.js +0 -417
- package/dist/agents/core/metrics/MetricsOrchestrator.js.map +0 -1
- package/dist/agents/core/metrics/core/DeltaWriter.d.ts +0 -49
- package/dist/agents/core/metrics/core/DeltaWriter.d.ts.map +0 -1
- package/dist/agents/core/metrics/core/DeltaWriter.js +0 -152
- package/dist/agents/core/metrics/core/DeltaWriter.js.map +0 -1
- package/dist/agents/core/metrics/core/FileSnapshotter.d.ts +0 -22
- package/dist/agents/core/metrics/core/FileSnapshotter.d.ts.map +0 -1
- package/dist/agents/core/metrics/core/FileSnapshotter.js +0 -74
- package/dist/agents/core/metrics/core/FileSnapshotter.js.map +0 -1
- package/dist/agents/core/metrics/core/SessionCorrelator.d.ts +0 -34
- package/dist/agents/core/metrics/core/SessionCorrelator.d.ts.map +0 -1
- package/dist/agents/core/metrics/core/SessionCorrelator.js +0 -157
- package/dist/agents/core/metrics/core/SessionCorrelator.js.map +0 -1
- package/dist/agents/core/metrics/core/SyncStateManager.d.ts +0 -69
- package/dist/agents/core/metrics/core/SyncStateManager.d.ts.map +0 -1
- package/dist/agents/core/metrics/core/SyncStateManager.js +0 -283
- package/dist/agents/core/metrics/core/SyncStateManager.js.map +0 -1
- package/dist/agents/core/metrics/session/SessionStore.d.ts +0 -43
- package/dist/agents/core/metrics/session/SessionStore.d.ts.map +0 -1
- package/dist/agents/core/metrics/session/SessionStore.js +0 -146
- package/dist/agents/core/metrics/session/SessionStore.js.map +0 -1
- package/dist/agents/core/metrics-config.d.ts +0 -38
- package/dist/agents/core/metrics-config.d.ts.map +0 -1
- package/dist/agents/core/metrics-config.js +0 -95
- package/dist/agents/core/metrics-config.js.map +0 -1
- package/dist/agents/plugins/claude.metrics.d.ts +0 -102
- package/dist/agents/plugins/claude.metrics.d.ts.map +0 -1
- package/dist/agents/plugins/claude.metrics.js +0 -656
- package/dist/agents/plugins/claude.metrics.js.map +0 -1
- package/dist/agents/plugins/claude.plugin.d.ts +0 -19
- package/dist/agents/plugins/claude.plugin.d.ts.map +0 -1
- package/dist/agents/plugins/claude.plugin.js.map +0 -1
- package/dist/agents/plugins/codex.plugin.d.ts +0 -17
- package/dist/agents/plugins/codex.plugin.d.ts.map +0 -1
- package/dist/agents/plugins/codex.plugin.js +0 -386
- package/dist/agents/plugins/codex.plugin.js.map +0 -1
- package/dist/agents/plugins/deepagents.plugin.d.ts +0 -21
- package/dist/agents/plugins/deepagents.plugin.d.ts.map +0 -1
- package/dist/agents/plugins/deepagents.plugin.js +0 -104
- package/dist/agents/plugins/deepagents.plugin.js.map +0 -1
- package/dist/agents/plugins/gemini.metrics.d.ts +0 -99
- package/dist/agents/plugins/gemini.metrics.d.ts.map +0 -1
- package/dist/agents/plugins/gemini.metrics.js +0 -475
- package/dist/agents/plugins/gemini.metrics.js.map +0 -1
- package/dist/agents/plugins/gemini.plugin.d.ts +0 -16
- package/dist/agents/plugins/gemini.plugin.d.ts.map +0 -1
- package/dist/agents/plugins/gemini.plugin.js +0 -80
- package/dist/agents/plugins/gemini.plugin.js.map +0 -1
- package/dist/agents/plugins/history-parser.d.ts +0 -52
- package/dist/agents/plugins/history-parser.d.ts.map +0 -1
- package/dist/agents/plugins/history-parser.js +0 -155
- package/dist/agents/plugins/history-parser.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts +0 -28
- package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts +0 -62
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js +0 -157
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts +0 -32
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js +0 -159
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts +0 -36
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts.map +0 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.js.map +0 -1
- package/dist/utils/config-loader.d.ts.map +0 -1
- package/dist/utils/config-loader.js.map +0 -1
- package/dist/utils/credential-store.d.ts +0 -22
- package/dist/utils/credential-store.d.ts.map +0 -1
- package/dist/utils/credential-store.js +0 -165
- package/dist/utils/credential-store.js.map +0 -1
- package/dist/utils/dirname.d.ts +0 -7
- package/dist/utils/dirname.d.ts.map +0 -1
- package/dist/utils/dirname.js +0 -11
- package/dist/utils/dirname.js.map +0 -1
- package/dist/utils/error-context.d.ts +0 -90
- package/dist/utils/error-context.d.ts.map +0 -1
- package/dist/utils/error-context.js +0 -338
- package/dist/utils/error-context.js.map +0 -1
- package/dist/utils/first-time.d.ts.map +0 -1
- package/dist/utils/first-time.js.map +0 -1
- package/dist/utils/git.d.ts +0 -13
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js +0 -37
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/installation-id.d.ts +0 -10
- package/dist/utils/installation-id.d.ts.map +0 -1
- package/dist/utils/installation-id.js +0 -30
- package/dist/utils/installation-id.js.map +0 -1
- package/dist/utils/json-parser.d.ts.map +0 -1
- package/dist/utils/json-parser.js.map +0 -1
- package/dist/utils/npm.d.ts.map +0 -1
- package/dist/utils/npm.js.map +0 -1
- package/dist/utils/path-utils.d.ts.map +0 -1
- package/dist/utils/path-utils.js.map +0 -1
- package/dist/utils/profile-display.d.ts.map +0 -1
- package/dist/utils/profile-display.js.map +0 -1
- package/dist/utils/sanitize.d.ts +0 -28
- package/dist/utils/sanitize.d.ts.map +0 -1
- package/dist/utils/sanitize.js +0 -212
- package/dist/utils/sanitize.js.map +0 -1
- package/dist/utils/which.d.ts +0 -20
- package/dist/utils/which.d.ts.map +0 -1
- package/dist/utils/which.js +0 -54
- package/dist/utils/which.js.map +0 -1
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Session Sync Plugin (Unified)
|
|
3
|
+
* Priority: 100 (replaces metrics and conversations sync plugins)
|
|
4
|
+
*
|
|
5
|
+
* Purpose: Unified orchestrator that syncs session data via multiple processors
|
|
6
|
+
* - Runs only in SSO mode (ai-run-sso provider)
|
|
7
|
+
* - Background timer (every 5 minutes)
|
|
8
|
+
* - Discovers session files once via adapter
|
|
9
|
+
* - Passes parsed sessions to all processors (metrics, conversations)
|
|
10
|
+
* - Tracks processed sessions in unified store
|
|
11
|
+
* - Final sync on proxy shutdown
|
|
12
|
+
*
|
|
13
|
+
* Architecture Benefits:
|
|
14
|
+
* - Zero duplication: Sessions read once, processed multiple times
|
|
15
|
+
* - Pluggable: Add processors without modifying plugin
|
|
16
|
+
* - Agent-agnostic: Supports Claude, Gemini via adapters
|
|
17
|
+
* - Reusable: Shared utilities for discovery and I/O
|
|
18
|
+
*
|
|
19
|
+
* SOLID: Single responsibility = orchestrate session sync across processors
|
|
20
|
+
* KISS: Simple timer-based sync with pluggable processors
|
|
21
|
+
*/
|
|
22
|
+
import { logger } from '../../../../../utils/logger.js';
|
|
23
|
+
import { SessionSyncer } from '../../session/SessionSyncer.js';
|
|
24
|
+
export class SSOSessionSyncPlugin {
|
|
25
|
+
id = '@codemie/sso-session-sync';
|
|
26
|
+
name = 'SSO Session Sync (Unified)';
|
|
27
|
+
version = '1.0.0';
|
|
28
|
+
priority = 100; // Run after logging (priority 50)
|
|
29
|
+
async createInterceptor(context) {
|
|
30
|
+
// Only create interceptor if we have necessary context
|
|
31
|
+
if (!context.config.sessionId) {
|
|
32
|
+
logger.debug('[SSOSessionSyncPlugin] Skipping: Session ID not available');
|
|
33
|
+
throw new Error('Session ID not available (session sync disabled)');
|
|
34
|
+
}
|
|
35
|
+
if (!context.credentials) {
|
|
36
|
+
logger.debug('[SSOSessionSyncPlugin] Skipping: SSO credentials not available');
|
|
37
|
+
throw new Error('SSO credentials not available (session sync disabled)');
|
|
38
|
+
}
|
|
39
|
+
if (!context.config.clientType) {
|
|
40
|
+
logger.debug('[SSOSessionSyncPlugin] Skipping: Client type not available');
|
|
41
|
+
throw new Error('Client type not available (session sync disabled)');
|
|
42
|
+
}
|
|
43
|
+
// Check if sync is enabled (from config or env var)
|
|
44
|
+
const syncEnabled = this.isSyncEnabled(context);
|
|
45
|
+
if (!syncEnabled) {
|
|
46
|
+
logger.debug('[SSOSessionSyncPlugin] Skipping: Session sync disabled by configuration');
|
|
47
|
+
throw new Error('Session sync disabled by configuration');
|
|
48
|
+
}
|
|
49
|
+
logger.debug('[SSOSessionSyncPlugin] Initializing unified session sync');
|
|
50
|
+
// Check if dry-run mode is enabled
|
|
51
|
+
const dryRun = this.isDryRunEnabled(context);
|
|
52
|
+
return new SSOSessionSyncInterceptor(context.config.sessionId, context.config.targetApiUrl, context.credentials.cookies, context.config.clientType, context.config.version, dryRun);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if session sync is enabled
|
|
56
|
+
* Priority: ENV > Profile config > Default (true)
|
|
57
|
+
*/
|
|
58
|
+
isSyncEnabled(context) {
|
|
59
|
+
// Check environment variable first
|
|
60
|
+
const envEnabled = process.env.CODEMIE_SESSION_SYNC_ENABLED;
|
|
61
|
+
if (envEnabled !== undefined) {
|
|
62
|
+
return envEnabled === 'true' || envEnabled === '1';
|
|
63
|
+
}
|
|
64
|
+
// Check profile config (if available)
|
|
65
|
+
const profileConfig = context.profileConfig;
|
|
66
|
+
if (profileConfig?.session?.sync?.enabled !== undefined) {
|
|
67
|
+
return profileConfig.session.sync.enabled;
|
|
68
|
+
}
|
|
69
|
+
// Default to enabled for SSO mode
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if dry-run mode is enabled
|
|
74
|
+
* Priority: ENV > Profile config > Default (false)
|
|
75
|
+
*/
|
|
76
|
+
isDryRunEnabled(context) {
|
|
77
|
+
// Check environment variable first
|
|
78
|
+
const envDryRun = process.env.CODEMIE_SESSION_DRY_RUN;
|
|
79
|
+
if (envDryRun !== undefined) {
|
|
80
|
+
return envDryRun === 'true' || envDryRun === '1';
|
|
81
|
+
}
|
|
82
|
+
// Check profile config (if available)
|
|
83
|
+
const profileConfig = context.profileConfig;
|
|
84
|
+
if (profileConfig?.session?.sync?.dryRun !== undefined) {
|
|
85
|
+
return profileConfig.session.sync.dryRun;
|
|
86
|
+
}
|
|
87
|
+
// Default to disabled
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
class SSOSessionSyncInterceptor {
|
|
92
|
+
sessionId;
|
|
93
|
+
name = 'sso-session-sync';
|
|
94
|
+
syncTimer;
|
|
95
|
+
syncer;
|
|
96
|
+
context;
|
|
97
|
+
syncInterval;
|
|
98
|
+
isSyncing = false;
|
|
99
|
+
constructor(sessionId, baseUrl, cookies, clientType, version = '0.0.0', dryRun = false) {
|
|
100
|
+
this.sessionId = sessionId;
|
|
101
|
+
if (dryRun) {
|
|
102
|
+
logger.info('[sso-session-sync] Dry-run mode enabled - sessions will be logged but not sent');
|
|
103
|
+
}
|
|
104
|
+
// Check for localhost development override
|
|
105
|
+
const devApiUrl = process.env.CODEMIE_DEV_API_URL;
|
|
106
|
+
const devApiKey = process.env.CODEMIE_DEV_API_KEY;
|
|
107
|
+
// Use dev settings if both are provided
|
|
108
|
+
const isLocalDev = !!devApiUrl && !!devApiKey;
|
|
109
|
+
if (isLocalDev) {
|
|
110
|
+
logger.info(`[sso-session-sync] Local development mode: using ${devApiUrl} with user-id header`);
|
|
111
|
+
}
|
|
112
|
+
// Build cookie header (only if not in local dev mode)
|
|
113
|
+
const cookieHeader = isLocalDev ? '' : Object.entries(cookies)
|
|
114
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
115
|
+
.join('; ');
|
|
116
|
+
// Create processing context (shared by SessionSyncer)
|
|
117
|
+
this.context = {
|
|
118
|
+
apiBaseUrl: isLocalDev ? devApiUrl : baseUrl,
|
|
119
|
+
cookies: cookieHeader,
|
|
120
|
+
apiKey: isLocalDev ? devApiKey : undefined,
|
|
121
|
+
clientType,
|
|
122
|
+
version,
|
|
123
|
+
dryRun
|
|
124
|
+
};
|
|
125
|
+
// Initialize SessionSyncer
|
|
126
|
+
this.syncer = new SessionSyncer();
|
|
127
|
+
// Get sync interval from env or default to 2 minutes
|
|
128
|
+
this.syncInterval = Number.parseInt(process.env.CODEMIE_SESSION_SYNC_INTERVAL || '120000', 10);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Called when proxy starts - initialize background timer
|
|
132
|
+
*/
|
|
133
|
+
async onProxyStart() {
|
|
134
|
+
const intervalMinutes = Math.round(this.syncInterval / 60000);
|
|
135
|
+
logger.info(`[${this.name}] Session sync enabled - syncing every ${intervalMinutes} minute${intervalMinutes !== 1 ? 's' : ''}`);
|
|
136
|
+
// Start background timer
|
|
137
|
+
this.syncTimer = setInterval(() => {
|
|
138
|
+
this.syncSessions().catch(error => {
|
|
139
|
+
logger.error(`[${this.name}] Sync failed:`, error);
|
|
140
|
+
});
|
|
141
|
+
}, this.syncInterval);
|
|
142
|
+
logger.debug(`[${this.name}] Background timer started`);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Called when proxy stops - cleanup and final sync
|
|
146
|
+
*/
|
|
147
|
+
async onProxyStop() {
|
|
148
|
+
logger.debug(`[${this.name}] Stopping session sync`);
|
|
149
|
+
// Stop timer
|
|
150
|
+
if (this.syncTimer) {
|
|
151
|
+
clearInterval(this.syncTimer);
|
|
152
|
+
this.syncTimer = undefined;
|
|
153
|
+
}
|
|
154
|
+
// Final sync (ensure all sessions are processed)
|
|
155
|
+
// This syncs BOTH metrics and conversations
|
|
156
|
+
try {
|
|
157
|
+
logger.info(`[${this.name}] sync: phase=final session_id=${this.sessionId}`);
|
|
158
|
+
await this.syncSessions();
|
|
159
|
+
logger.info(`[${this.name}] sync: phase=final status=success session_id=${this.sessionId}`);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
logger.error(`[${this.name}] sync: phase=final status=error session_id=${this.sessionId}`, error);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Sync sessions to API using SessionSyncer
|
|
167
|
+
*/
|
|
168
|
+
async syncSessions() {
|
|
169
|
+
// Skip if already syncing (prevent concurrent syncs)
|
|
170
|
+
if (this.isSyncing) {
|
|
171
|
+
logger.debug(`[${this.name}] Sync already in progress, skipping`);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
this.isSyncing = true;
|
|
175
|
+
try {
|
|
176
|
+
logger.debug(`[${this.name}] Starting sync for session ${this.sessionId}`);
|
|
177
|
+
// Use SessionSyncer service
|
|
178
|
+
const result = await this.syncer.sync(this.sessionId, this.context);
|
|
179
|
+
if (result.success) {
|
|
180
|
+
logger.info(`[${this.name}] ${result.message}`);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
logger.warn(`[${this.name}] Sync had failures: ${result.message}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
logger.error(`[${this.name}] Sync failed:`, error);
|
|
188
|
+
}
|
|
189
|
+
finally {
|
|
190
|
+
this.isSyncing = false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=sso.session-sync.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.session-sync.plugin.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* KISS: Does one thing well - forwards HTTP requests with streaming.
|
|
5
5
|
* Memory efficient: Returns streams directly, no buffering.
|
|
6
|
+
* Proxy support: Respects HTTP_PROXY/HTTPS_PROXY environment variables.
|
|
6
7
|
*/
|
|
7
8
|
import http from 'http';
|
|
8
9
|
export interface HTTPClientOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-http-client.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/proxy/proxy-http-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"proxy-http-client.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/proxy/proxy-http-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,IAAI,MAAM,MAAM,CAAC;AAMxB,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAcD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,iBAAsB;IAuC3C;;;OAGG;IACG,OAAO,CACX,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAyIhC;;;OAGG;IACG,YAAY,CAChB,QAAQ,EAAE,IAAI,CAAC,eAAe,EAC9B,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,WAAW,GAAE,MAAM,EAAwC,GAC1D,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;;OAIG;IACG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvE;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -3,12 +3,26 @@
|
|
|
3
3
|
*
|
|
4
4
|
* KISS: Does one thing well - forwards HTTP requests with streaming.
|
|
5
5
|
* Memory efficient: Returns streams directly, no buffering.
|
|
6
|
+
* Proxy support: Respects HTTP_PROXY/HTTPS_PROXY environment variables.
|
|
6
7
|
*/
|
|
7
8
|
import { pipeline } from 'stream/promises';
|
|
8
9
|
import https from 'https';
|
|
9
10
|
import http from 'http';
|
|
11
|
+
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
12
|
+
import { HttpProxyAgent } from 'http-proxy-agent';
|
|
10
13
|
import { NetworkError } from './proxy-errors.js';
|
|
11
14
|
import { logger } from '../../../../utils/logger.js';
|
|
15
|
+
/**
|
|
16
|
+
* Parse proxy URL from environment variables
|
|
17
|
+
*/
|
|
18
|
+
function getProxyUrl(protocol) {
|
|
19
|
+
// Check protocol-specific proxy first, then fall back to generic HTTP_PROXY
|
|
20
|
+
if (protocol === 'https:') {
|
|
21
|
+
return process.env.HTTPS_PROXY || process.env.https_proxy ||
|
|
22
|
+
process.env.HTTP_PROXY || process.env.http_proxy;
|
|
23
|
+
}
|
|
24
|
+
return process.env.HTTP_PROXY || process.env.http_proxy;
|
|
25
|
+
}
|
|
12
26
|
/**
|
|
13
27
|
* Simple streaming HTTP client for proxy forwarding
|
|
14
28
|
*/
|
|
@@ -19,18 +33,38 @@ export class ProxyHTTPClient {
|
|
|
19
33
|
constructor(options = {}) {
|
|
20
34
|
// Use provided timeout or 0 for unlimited (AI requests can be very long)
|
|
21
35
|
this.timeout = options.timeout || 0;
|
|
36
|
+
// Check for proxy configuration from environment variables
|
|
37
|
+
const httpsProxyUrl = getProxyUrl('https:');
|
|
38
|
+
const httpProxyUrl = getProxyUrl('http:');
|
|
22
39
|
// Connection pooling with keep-alive
|
|
23
40
|
// NO timeout on agent - we handle it at request level
|
|
24
|
-
const
|
|
41
|
+
const baseAgentOptions = {
|
|
25
42
|
rejectUnauthorized: options.rejectUnauthorized ?? false,
|
|
26
43
|
keepAlive: true,
|
|
27
44
|
maxSockets: 50
|
|
28
45
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
46
|
+
// Create HTTPS agent (with proxy support if configured)
|
|
47
|
+
if (httpsProxyUrl) {
|
|
48
|
+
logger.debug('[proxy-http-client] Using HTTPS proxy:', httpsProxyUrl);
|
|
49
|
+
this.httpsAgent = new HttpsProxyAgent(httpsProxyUrl, baseAgentOptions);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.httpsAgent = new https.Agent(baseAgentOptions);
|
|
53
|
+
}
|
|
54
|
+
// Create HTTP agent (with proxy support if configured)
|
|
55
|
+
if (httpProxyUrl) {
|
|
56
|
+
logger.debug('[proxy-http-client] Using HTTP proxy:', httpProxyUrl);
|
|
57
|
+
this.httpAgent = new HttpProxyAgent(httpProxyUrl, {
|
|
58
|
+
keepAlive: true,
|
|
59
|
+
maxSockets: 50
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.httpAgent = new http.Agent({
|
|
64
|
+
keepAlive: true,
|
|
65
|
+
maxSockets: 50
|
|
66
|
+
});
|
|
67
|
+
}
|
|
34
68
|
}
|
|
35
69
|
/**
|
|
36
70
|
* Forward request with streaming - no buffering
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-http-client.js","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/proxy/proxy-http-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"proxy-http-client.js","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/proxy/proxy-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Session Processor
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for session processors.
|
|
5
|
+
* Each processor (metrics, conversations, analytics) implements this interface
|
|
6
|
+
* to transform parsed session data for their specific use case.
|
|
7
|
+
*/
|
|
8
|
+
import type { ParsedSession } from './BaseSessionAdapter.js';
|
|
9
|
+
/**
|
|
10
|
+
* Processing context passed to all processors.
|
|
11
|
+
* Contains API credentials and configuration needed for processing.
|
|
12
|
+
*/
|
|
13
|
+
export interface ProcessingContext {
|
|
14
|
+
/** API base URL */
|
|
15
|
+
apiBaseUrl: string;
|
|
16
|
+
/** Authentication cookies */
|
|
17
|
+
cookies: string;
|
|
18
|
+
/** API key for localhost development (user-id header) */
|
|
19
|
+
apiKey?: string;
|
|
20
|
+
/** Client type identifier */
|
|
21
|
+
clientType: string;
|
|
22
|
+
/** Client version */
|
|
23
|
+
version: string;
|
|
24
|
+
/** Dry run mode (don't send to API) */
|
|
25
|
+
dryRun: boolean;
|
|
26
|
+
/** CodeMie session ID */
|
|
27
|
+
sessionId?: string;
|
|
28
|
+
/** Agent-specific session ID (e.g., Claude's sessionId from JSONL) */
|
|
29
|
+
agentSessionId?: string;
|
|
30
|
+
/** Path to agent session file */
|
|
31
|
+
agentSessionFile?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Result of processing a session.
|
|
35
|
+
* Allows tracking per-processor status.
|
|
36
|
+
*/
|
|
37
|
+
export interface ProcessingResult {
|
|
38
|
+
/** Whether processing succeeded */
|
|
39
|
+
success: boolean;
|
|
40
|
+
/** Optional status message */
|
|
41
|
+
message?: string;
|
|
42
|
+
/** Optional metadata for tracking */
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Base interface for session processors.
|
|
47
|
+
* Each processor implements a specific use case (metrics, conversations, analytics, etc.).
|
|
48
|
+
*/
|
|
49
|
+
export interface SessionProcessor {
|
|
50
|
+
/** Processor name (used for logging and tracking) */
|
|
51
|
+
readonly name: string;
|
|
52
|
+
/** Execution priority (lower runs first) */
|
|
53
|
+
readonly priority: number;
|
|
54
|
+
/**
|
|
55
|
+
* Check if this processor should run for the given session.
|
|
56
|
+
* Allows conditional processing based on session data.
|
|
57
|
+
*
|
|
58
|
+
* @param session - Parsed session data
|
|
59
|
+
* @returns True if processor should run
|
|
60
|
+
*/
|
|
61
|
+
shouldProcess(session: ParsedSession): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Process a session.
|
|
64
|
+
* Implements the specific transformation/upload logic for this processor.
|
|
65
|
+
*
|
|
66
|
+
* @param session - Parsed session data
|
|
67
|
+
* @param context - Processing context (API credentials, config)
|
|
68
|
+
* @returns Processing result (success/failure status)
|
|
69
|
+
*/
|
|
70
|
+
process(session: ParsedSession, context: ProcessingContext): Promise<ProcessingResult>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=BaseProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/BaseProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAGhB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAE/C;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACxF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Session Processor
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for session processors.
|
|
5
|
+
* Each processor (metrics, conversations, analytics) implements this interface
|
|
6
|
+
* to transform parsed session data for their specific use case.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=BaseProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseProcessor.js","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/BaseProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Session Adapter
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for agent-specific session parsing.
|
|
5
|
+
* Each agent (Claude, Gemini) implements this interface to parse
|
|
6
|
+
* their session file format into a unified ParsedSession format.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Agent-agnostic session representation.
|
|
10
|
+
* Both metrics and conversations processors work with this unified format.
|
|
11
|
+
*/
|
|
12
|
+
export interface ParsedSession {
|
|
13
|
+
sessionId: string;
|
|
14
|
+
agentName: string;
|
|
15
|
+
agentVersion?: string;
|
|
16
|
+
metadata: {
|
|
17
|
+
projectPath?: string;
|
|
18
|
+
createdAt?: string;
|
|
19
|
+
updatedAt?: string;
|
|
20
|
+
repository?: string;
|
|
21
|
+
branch?: string;
|
|
22
|
+
};
|
|
23
|
+
messages: unknown[];
|
|
24
|
+
subagents?: Array<{
|
|
25
|
+
agentId: string;
|
|
26
|
+
slug?: string;
|
|
27
|
+
filePath: string;
|
|
28
|
+
messages: unknown[];
|
|
29
|
+
}>;
|
|
30
|
+
metrics?: {
|
|
31
|
+
tokens?: {
|
|
32
|
+
input: number;
|
|
33
|
+
output: number;
|
|
34
|
+
cacheRead?: number;
|
|
35
|
+
cacheWrite?: number;
|
|
36
|
+
};
|
|
37
|
+
tools?: Record<string, number>;
|
|
38
|
+
toolStatus?: Record<string, {
|
|
39
|
+
success: number;
|
|
40
|
+
failure: number;
|
|
41
|
+
}>;
|
|
42
|
+
fileOperations?: Array<{
|
|
43
|
+
type: 'write' | 'edit' | 'delete';
|
|
44
|
+
path: string;
|
|
45
|
+
linesAdded?: number;
|
|
46
|
+
linesRemoved?: number;
|
|
47
|
+
}>;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Aggregated result from processing a session with multiple processors.
|
|
52
|
+
* Contains results from all processors that ran.
|
|
53
|
+
*/
|
|
54
|
+
export interface AggregatedResult {
|
|
55
|
+
/** True if all processors succeeded */
|
|
56
|
+
success: boolean;
|
|
57
|
+
/** Results from each processor by name */
|
|
58
|
+
processors: Record<string, {
|
|
59
|
+
success: boolean;
|
|
60
|
+
message?: string;
|
|
61
|
+
recordsProcessed?: number;
|
|
62
|
+
}>;
|
|
63
|
+
/** Total records processed across all processors */
|
|
64
|
+
totalRecords: number;
|
|
65
|
+
/** Names of failed processors */
|
|
66
|
+
failedProcessors: string[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Base interface for session adapters.
|
|
70
|
+
* Each agent implements this to provide agent-specific parsing logic.
|
|
71
|
+
*/
|
|
72
|
+
export interface SessionAdapter {
|
|
73
|
+
/** Agent name (e.g., 'claude', 'gemini') */
|
|
74
|
+
readonly agentName: string;
|
|
75
|
+
/**
|
|
76
|
+
* Parse session file to unified format.
|
|
77
|
+
* @param filePath - Absolute path to session file
|
|
78
|
+
* @param sessionId - CodeMie session ID (already correlated)
|
|
79
|
+
* @returns Parsed session in agent-agnostic format
|
|
80
|
+
*/
|
|
81
|
+
parseSessionFile(filePath: string, sessionId: string): Promise<ParsedSession>;
|
|
82
|
+
/**
|
|
83
|
+
* Register a processor to run during session processing.
|
|
84
|
+
* Processors are sorted by priority (lower runs first).
|
|
85
|
+
* @param processor - Processor to register
|
|
86
|
+
*/
|
|
87
|
+
registerProcessor(processor: import('./BaseProcessor.js').SessionProcessor): void;
|
|
88
|
+
/**
|
|
89
|
+
* Process session file with all registered processors.
|
|
90
|
+
* Reads file once, passes ParsedSession to all processors.
|
|
91
|
+
*
|
|
92
|
+
* @param filePath - Path to agent session file
|
|
93
|
+
* @param sessionId - CodeMie session ID
|
|
94
|
+
* @param context - Processing context (for processors that need API access)
|
|
95
|
+
* @returns Aggregated results from all processors
|
|
96
|
+
*/
|
|
97
|
+
processSession(filePath: string, sessionId: string, context: import('./BaseProcessor.js').ProcessingContext): Promise<AggregatedResult>;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=BaseSessionAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSessionAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/BaseSessionAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,QAAQ,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAGF,QAAQ,EAAE,OAAO,EAAE,CAAC;IAIpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC,CAAC;IAGH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,cAAc,CAAC,EAAE,KAAK,CAAC;YACrB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;YAClC,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;IACH,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9E;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,OAAO,oBAAoB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAElF;;;;;;;;OAQG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,oBAAoB,EAAE,iBAAiB,GACtD,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Session Adapter
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for agent-specific session parsing.
|
|
5
|
+
* Each agent (Claude, Gemini) implements this interface to parse
|
|
6
|
+
* their session file format into a unified ParsedSession format.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=BaseSessionAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSessionAdapter.js","sourceRoot":"","sources":["../../../../../src/providers/plugins/sso/session/BaseSessionAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Syncer Service
|
|
3
|
+
*
|
|
4
|
+
* Syncs pending metrics and conversations from JSONL to API.
|
|
5
|
+
* Used by both proxy timer and SessionEnd hook for consistent behavior.
|
|
6
|
+
*
|
|
7
|
+
* Prerequisites: Messages must already be transformed to JSONL by Claude processors
|
|
8
|
+
*
|
|
9
|
+
* Flow:
|
|
10
|
+
* 1. Load session metadata
|
|
11
|
+
* 2. Create empty ParsedSession (triggers Branch 2 in processors)
|
|
12
|
+
* 3. Iterate through processors (same logic as plugin)
|
|
13
|
+
* 4. Return aggregated results
|
|
14
|
+
*/
|
|
15
|
+
import type { ProcessingContext, ProcessingResult } from '../../../../agents/core/session/BaseProcessor.js';
|
|
16
|
+
export interface SessionSyncResult {
|
|
17
|
+
success: boolean;
|
|
18
|
+
message: string;
|
|
19
|
+
processorResults: Record<string, ProcessingResult>;
|
|
20
|
+
failedProcessors: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare class SessionSyncer {
|
|
23
|
+
private sessionStore;
|
|
24
|
+
private processors;
|
|
25
|
+
constructor();
|
|
26
|
+
/**
|
|
27
|
+
* Sync pending data to API
|
|
28
|
+
* Iterates through processors (same logic as plugin)
|
|
29
|
+
*
|
|
30
|
+
* @param sessionId - CodeMie session ID
|
|
31
|
+
* @param context - Processing context with API credentials
|
|
32
|
+
* @returns Sync results
|
|
33
|
+
*/
|
|
34
|
+
sync(sessionId: string, context: ProcessingContext): Promise<SessionSyncResult>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=SessionSyncer.d.ts.map
|
|
@@ -0,0 +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;;;;;;;OAOG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAoHtF"}
|