@codemieai/code 0.0.28 → 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 +8 -10
- package/bin/agent-executor.js +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +0 -1
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +4 -8
- 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 +75 -67
- 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/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.js +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/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 +90 -31
- package/dist/cli/commands/doctor/checks/PythonCheck.js.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/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +3 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +2 -1
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/first-time.d.ts +4 -0
- package/dist/cli/first-time.d.ts.map +1 -1
- package/dist/cli/first-time.js +26 -13
- package/dist/cli/first-time.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/frameworks/core/types.d.ts +1 -1
- package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -1
- package/dist/frameworks/plugins/speckit.plugin.js +1 -2
- package/dist/frameworks/plugins/speckit.plugin.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/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 +2 -10
- 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.template.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +71 -44
- package/dist/providers/plugins/sso/sso.template.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 +12 -4
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/paths.d.ts +20 -5
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +23 -5
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/processes.d.ts +2 -0
- package/dist/utils/processes.d.ts.map +1 -1
- package/dist/utils/processes.js +6 -1
- package/dist/utils/processes.js.map +1 -1
- package/package.json +9 -9
- 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 -96
- 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.metrics.d.ts +0 -69
- package/dist/agents/plugins/codex.metrics.d.ts.map +0 -1
- package/dist/agents/plugins/codex.metrics.js +0 -483
- package/dist/agents/plugins/codex.metrics.js.map +0 -1
- package/dist/agents/plugins/codex.plugin.d.ts +0 -21
- package/dist/agents/plugins/codex.plugin.d.ts.map +0 -1
- package/dist/agents/plugins/codex.plugin.js +0 -222
- 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
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync State Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages sync state embedded in session metadata file.
|
|
5
|
-
* Tracks which records have been synced to prevent duplicates.
|
|
6
|
-
* Sync state is stored in: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
7
|
-
*/
|
|
8
|
-
import { readFile, writeFile, mkdir, rename } from 'fs/promises';
|
|
9
|
-
import { existsSync } from 'fs';
|
|
10
|
-
import { dirname, join } from 'path';
|
|
11
|
-
import { randomUUID } from 'crypto';
|
|
12
|
-
import { logger } from '../../../../utils/logger.js';
|
|
13
|
-
import { getSessionPath } from '../../metrics-config.js';
|
|
14
|
-
export class SyncStateManager {
|
|
15
|
-
sessionId;
|
|
16
|
-
filePath;
|
|
17
|
-
constructor(sessionId) {
|
|
18
|
-
this.sessionId = sessionId;
|
|
19
|
-
this.filePath = getSessionPath(sessionId);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Initialize new sync state (embedded in session file)
|
|
23
|
-
*/
|
|
24
|
-
async initialize(sessionId, agentSessionId, sessionStartTime) {
|
|
25
|
-
try {
|
|
26
|
-
// Check if session exists and already has sync state
|
|
27
|
-
if (existsSync(this.filePath)) {
|
|
28
|
-
const session = await this.loadSession();
|
|
29
|
-
if (session.syncState) {
|
|
30
|
-
logger.debug('[SyncStateManager] Sync state already exists, loading...');
|
|
31
|
-
return session.syncState;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
// Create new sync state
|
|
35
|
-
const syncState = {
|
|
36
|
-
sessionId,
|
|
37
|
-
agentSessionId,
|
|
38
|
-
sessionStartTime,
|
|
39
|
-
status: 'active',
|
|
40
|
-
lastProcessedLine: 0,
|
|
41
|
-
lastProcessedTimestamp: Date.now(),
|
|
42
|
-
processedRecordIds: [],
|
|
43
|
-
attachedUserPromptTexts: [],
|
|
44
|
-
totalDeltas: 0,
|
|
45
|
-
totalSynced: 0,
|
|
46
|
-
totalFailed: 0
|
|
47
|
-
};
|
|
48
|
-
// Save to session file
|
|
49
|
-
await this.save(syncState);
|
|
50
|
-
logger.info('[SyncStateManager] Initialized new sync state');
|
|
51
|
-
return syncState;
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
logger.error('[SyncStateManager] Failed to initialize sync state:', error);
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Load session file
|
|
60
|
-
*/
|
|
61
|
-
async loadSession() {
|
|
62
|
-
if (!existsSync(this.filePath)) {
|
|
63
|
-
throw new Error(`Session file does not exist: ${this.filePath}`);
|
|
64
|
-
}
|
|
65
|
-
const content = await readFile(this.filePath, 'utf-8');
|
|
66
|
-
return JSON.parse(content);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Load sync state from session file
|
|
70
|
-
* Returns null if file doesn't exist (graceful handling for deleted files)
|
|
71
|
-
*/
|
|
72
|
-
async load() {
|
|
73
|
-
try {
|
|
74
|
-
// Check if session file exists
|
|
75
|
-
if (!existsSync(this.filePath)) {
|
|
76
|
-
logger.debug('[SyncStateManager] Session file does not exist, returning null');
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
const session = await this.loadSession();
|
|
80
|
-
if (!session.syncState) {
|
|
81
|
-
logger.debug('[SyncStateManager] Sync state not initialized yet, returning null');
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
logger.debug(`[SyncStateManager] Loaded sync state: ${session.syncState.totalDeltas} deltas, ${session.syncState.totalSynced} synced`);
|
|
85
|
-
return session.syncState;
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
logger.error('[SyncStateManager] Failed to load sync state:', error);
|
|
89
|
-
// Return null instead of throwing to allow graceful degradation
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Save sync state to session file (atomic write)
|
|
95
|
-
*/
|
|
96
|
-
async save(state) {
|
|
97
|
-
try {
|
|
98
|
-
// Load current session
|
|
99
|
-
const session = await this.loadSession();
|
|
100
|
-
// Update sync state
|
|
101
|
-
session.syncState = state;
|
|
102
|
-
// Ensure directory exists
|
|
103
|
-
const dir = dirname(this.filePath);
|
|
104
|
-
if (!existsSync(dir)) {
|
|
105
|
-
await mkdir(dir, { recursive: true });
|
|
106
|
-
}
|
|
107
|
-
// Write to temp file first (atomic write) - use same directory to avoid cross-device rename
|
|
108
|
-
const tempFile = join(dir, `.session_${randomUUID()}.json.tmp`);
|
|
109
|
-
await writeFile(tempFile, JSON.stringify(session, null, 2), 'utf-8');
|
|
110
|
-
// Rename to final location (atomic operation)
|
|
111
|
-
await rename(tempFile, this.filePath);
|
|
112
|
-
logger.debug('[SyncStateManager] Saved sync state');
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
logger.error('[SyncStateManager] Failed to save sync state:', error);
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Update last processed line
|
|
121
|
-
*/
|
|
122
|
-
async updateLastProcessed(line, timestamp) {
|
|
123
|
-
try {
|
|
124
|
-
const state = await this.load();
|
|
125
|
-
if (!state) {
|
|
126
|
-
logger.debug('[SyncStateManager] Cannot update - sync state does not exist');
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
state.lastProcessedLine = line;
|
|
130
|
-
state.lastProcessedTimestamp = timestamp;
|
|
131
|
-
await this.save(state);
|
|
132
|
-
logger.debug(`[SyncStateManager] Updated last processed line: ${line}`);
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
logger.error('[SyncStateManager] Failed to update last processed line:', error);
|
|
136
|
-
// Don't throw - allow graceful degradation
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Add processed record IDs to tracking
|
|
141
|
-
*/
|
|
142
|
-
async addProcessedRecords(recordIds) {
|
|
143
|
-
try {
|
|
144
|
-
const state = await this.load();
|
|
145
|
-
if (!state) {
|
|
146
|
-
logger.debug('[SyncStateManager] Cannot add records - sync state does not exist');
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
// Add to processed records list
|
|
150
|
-
state.processedRecordIds.push(...recordIds);
|
|
151
|
-
await this.save(state);
|
|
152
|
-
logger.debug(`[SyncStateManager] Added ${recordIds.length} processed record IDs`);
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
logger.error('[SyncStateManager] Failed to add processed records:', error);
|
|
156
|
-
// Don't throw - allow graceful degradation
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Mark records as synced
|
|
161
|
-
* Note: Sync status is tracked in metrics JSONL (syncStatus field)
|
|
162
|
-
* This only updates aggregate statistics and last sync info
|
|
163
|
-
*/
|
|
164
|
-
async markSynced(recordIds) {
|
|
165
|
-
try {
|
|
166
|
-
const state = await this.load();
|
|
167
|
-
if (!state) {
|
|
168
|
-
logger.debug('[SyncStateManager] Cannot mark synced - sync state does not exist');
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
// Update last synced record (for resume capability)
|
|
172
|
-
if (recordIds.length > 0) {
|
|
173
|
-
state.lastSyncedRecordId = recordIds[recordIds.length - 1];
|
|
174
|
-
state.lastSyncAt = Date.now();
|
|
175
|
-
}
|
|
176
|
-
// Update statistics
|
|
177
|
-
state.totalSynced += recordIds.length;
|
|
178
|
-
await this.save(state);
|
|
179
|
-
logger.debug(`[SyncStateManager] Marked ${recordIds.length} records as synced`);
|
|
180
|
-
}
|
|
181
|
-
catch (error) {
|
|
182
|
-
logger.error('[SyncStateManager] Failed to mark records as synced:', error);
|
|
183
|
-
// Don't throw - allow graceful degradation
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Add attached user prompt texts to tracking (prevents duplication)
|
|
188
|
-
*/
|
|
189
|
-
async addAttachedUserPrompts(promptTexts) {
|
|
190
|
-
try {
|
|
191
|
-
const state = await this.load();
|
|
192
|
-
if (!state) {
|
|
193
|
-
logger.debug('[SyncStateManager] Cannot add attached prompts - sync state does not exist');
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
// Initialize array if not present
|
|
197
|
-
if (!state.attachedUserPromptTexts) {
|
|
198
|
-
state.attachedUserPromptTexts = [];
|
|
199
|
-
}
|
|
200
|
-
// Add to attached prompts list
|
|
201
|
-
state.attachedUserPromptTexts.push(...promptTexts);
|
|
202
|
-
await this.save(state);
|
|
203
|
-
logger.debug(`[SyncStateManager] Added ${promptTexts.length} attached user prompt texts`);
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
logger.error('[SyncStateManager] Failed to add attached prompts:', error);
|
|
207
|
-
// Don't throw - allow graceful degradation
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Increment delta count
|
|
212
|
-
*/
|
|
213
|
-
async incrementDeltas(count) {
|
|
214
|
-
try {
|
|
215
|
-
const state = await this.load();
|
|
216
|
-
if (!state) {
|
|
217
|
-
logger.debug('[SyncStateManager] Cannot increment deltas - sync state does not exist');
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
state.totalDeltas += count;
|
|
221
|
-
await this.save(state);
|
|
222
|
-
logger.debug(`[SyncStateManager] Incremented delta count by ${count}`);
|
|
223
|
-
}
|
|
224
|
-
catch (error) {
|
|
225
|
-
logger.error('[SyncStateManager] Failed to increment deltas:', error);
|
|
226
|
-
// Don't throw - allow graceful degradation
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Increment failed count
|
|
231
|
-
*/
|
|
232
|
-
async incrementFailed(count) {
|
|
233
|
-
try {
|
|
234
|
-
const state = await this.load();
|
|
235
|
-
if (!state) {
|
|
236
|
-
logger.debug('[SyncStateManager] Cannot increment failed - sync state does not exist');
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
state.totalFailed += count;
|
|
240
|
-
await this.save(state);
|
|
241
|
-
logger.debug(`[SyncStateManager] Incremented failed count by ${count}`);
|
|
242
|
-
}
|
|
243
|
-
catch (error) {
|
|
244
|
-
logger.error('[SyncStateManager] Failed to increment failed count:', error);
|
|
245
|
-
// Don't throw - allow graceful degradation
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Update session status
|
|
250
|
-
*/
|
|
251
|
-
async updateStatus(status, endTime) {
|
|
252
|
-
try {
|
|
253
|
-
const state = await this.load();
|
|
254
|
-
if (!state) {
|
|
255
|
-
logger.debug('[SyncStateManager] Cannot update status - sync state does not exist');
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
state.status = status;
|
|
259
|
-
if (endTime && (status === 'completed' || status === 'failed')) {
|
|
260
|
-
state.sessionEndTime = endTime;
|
|
261
|
-
}
|
|
262
|
-
await this.save(state);
|
|
263
|
-
logger.debug(`[SyncStateManager] Updated status to: ${status}`);
|
|
264
|
-
}
|
|
265
|
-
catch (error) {
|
|
266
|
-
logger.error('[SyncStateManager] Failed to update status:', error);
|
|
267
|
-
// Don't throw - allow graceful degradation
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Get file path
|
|
272
|
-
*/
|
|
273
|
-
getFilePath() {
|
|
274
|
-
return this.filePath;
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Check if file exists
|
|
278
|
-
*/
|
|
279
|
-
exists() {
|
|
280
|
-
return existsSync(this.filePath);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
//# sourceMappingURL=SyncStateManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyncStateManager.js","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/SyncStateManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session Store
|
|
3
|
-
*
|
|
4
|
-
* Manages persistence of metrics session data to JSON files.
|
|
5
|
-
* One file per session: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
6
|
-
*/
|
|
7
|
-
import type { MetricsSession } from '../types.js';
|
|
8
|
-
export declare class SessionStore {
|
|
9
|
-
/**
|
|
10
|
-
* Save session to disk
|
|
11
|
-
* Path: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
12
|
-
*/
|
|
13
|
-
saveSession(session: MetricsSession): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Load session from disk
|
|
16
|
-
*/
|
|
17
|
-
loadSession(sessionId: string): Promise<MetricsSession | null>;
|
|
18
|
-
/**
|
|
19
|
-
* List all sessions
|
|
20
|
-
*/
|
|
21
|
-
listSessions(): Promise<MetricsSession[]>;
|
|
22
|
-
/**
|
|
23
|
-
* List active sessions (status === 'active')
|
|
24
|
-
*/
|
|
25
|
-
listActiveSessions(): Promise<MetricsSession[]>;
|
|
26
|
-
/**
|
|
27
|
-
* Update session status
|
|
28
|
-
*/
|
|
29
|
-
updateSessionStatus(sessionId: string, status: MetricsSession['status']): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Update session correlation
|
|
32
|
-
*/
|
|
33
|
-
updateSessionCorrelation(sessionId: string, correlation: Partial<MetricsSession['correlation']>): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Update session watermark
|
|
36
|
-
*/
|
|
37
|
-
updateSessionWatermark(sessionId: string, watermark: MetricsSession['watermark']): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Update monitoring state
|
|
40
|
-
*/
|
|
41
|
-
updateMonitoringState(sessionId: string, monitoring: Partial<MetricsSession['monitoring']>): Promise<void>;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=SessionStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionStore.d.ts","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/session/SessionStore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,qBAAa,YAAY;IACvB;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzD;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAqBpE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA6B/C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKrD;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7F;;OAEG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAWhB;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;CAcjB"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session Store
|
|
3
|
-
*
|
|
4
|
-
* Manages persistence of metrics session data to JSON files.
|
|
5
|
-
* One file per session: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
6
|
-
*/
|
|
7
|
-
import { readFile, writeFile, readdir, mkdir } from 'fs/promises';
|
|
8
|
-
import { existsSync } from 'fs';
|
|
9
|
-
import { dirname } from 'path';
|
|
10
|
-
import { getSessionPath, getMetricsPath, METRICS_PATHS } from '../../metrics-config.js';
|
|
11
|
-
import { logger } from '../../../../utils/logger.js';
|
|
12
|
-
import { createErrorContext, formatErrorForLog } from '../../../../utils/errors.js';
|
|
13
|
-
export class SessionStore {
|
|
14
|
-
/**
|
|
15
|
-
* Save session to disk
|
|
16
|
-
* Path: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
17
|
-
*/
|
|
18
|
-
async saveSession(session) {
|
|
19
|
-
const sessionPath = getSessionPath(session.sessionId);
|
|
20
|
-
try {
|
|
21
|
-
// Ensure directory exists
|
|
22
|
-
const dir = dirname(sessionPath);
|
|
23
|
-
if (!existsSync(dir)) {
|
|
24
|
-
await mkdir(dir, { recursive: true });
|
|
25
|
-
}
|
|
26
|
-
// Write session data (metrics path is now derived from sessionId)
|
|
27
|
-
await writeFile(sessionPath, JSON.stringify(session, null, 2), 'utf-8');
|
|
28
|
-
logger.debug(`[SessionStore] Saved session: ${session.sessionId}`);
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
const errorContext = createErrorContext(error, { sessionId: session.sessionId });
|
|
32
|
-
logger.error(`[SessionStore] Failed to save session: ${session.sessionId}`, formatErrorForLog(errorContext));
|
|
33
|
-
throw error;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Load session from disk
|
|
38
|
-
*/
|
|
39
|
-
async loadSession(sessionId) {
|
|
40
|
-
const sessionPath = getSessionPath(sessionId);
|
|
41
|
-
if (!existsSync(sessionPath)) {
|
|
42
|
-
logger.debug(`[SessionStore] Session file not found: ${sessionId}`);
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
try {
|
|
46
|
-
const content = await readFile(sessionPath, 'utf-8');
|
|
47
|
-
const session = JSON.parse(content);
|
|
48
|
-
logger.debug(`[SessionStore] Loaded session: ${sessionId}`);
|
|
49
|
-
return session;
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
const errorContext = createErrorContext(error, { sessionId });
|
|
53
|
-
logger.error(`[SessionStore] Failed to load session: ${sessionId}`, formatErrorForLog(errorContext));
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* List all sessions
|
|
59
|
-
*/
|
|
60
|
-
async listSessions() {
|
|
61
|
-
const sessionsDir = getMetricsPath(METRICS_PATHS.sessions);
|
|
62
|
-
if (!existsSync(sessionsDir)) {
|
|
63
|
-
return [];
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
const files = await readdir(sessionsDir);
|
|
67
|
-
const sessions = [];
|
|
68
|
-
for (const file of files) {
|
|
69
|
-
if (file.endsWith('.json')) {
|
|
70
|
-
const sessionId = file.replace('.json', '');
|
|
71
|
-
const session = await this.loadSession(sessionId);
|
|
72
|
-
if (session) {
|
|
73
|
-
sessions.push(session);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return sessions;
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
const errorContext = createErrorContext(error);
|
|
81
|
-
logger.error('[SessionStore] Failed to list sessions', formatErrorForLog(errorContext));
|
|
82
|
-
return [];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* List active sessions (status === 'active')
|
|
87
|
-
*/
|
|
88
|
-
async listActiveSessions() {
|
|
89
|
-
const allSessions = await this.listSessions();
|
|
90
|
-
return allSessions.filter(s => s.status === 'active');
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Update session status
|
|
94
|
-
*/
|
|
95
|
-
async updateSessionStatus(sessionId, status) {
|
|
96
|
-
const session = await this.loadSession(sessionId);
|
|
97
|
-
if (!session) {
|
|
98
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
99
|
-
}
|
|
100
|
-
session.status = status;
|
|
101
|
-
if (status === 'completed' || status === 'recovered' || status === 'failed') {
|
|
102
|
-
session.endTime = Date.now();
|
|
103
|
-
}
|
|
104
|
-
await this.saveSession(session);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Update session correlation
|
|
108
|
-
*/
|
|
109
|
-
async updateSessionCorrelation(sessionId, correlation) {
|
|
110
|
-
const session = await this.loadSession(sessionId);
|
|
111
|
-
if (!session) {
|
|
112
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
113
|
-
}
|
|
114
|
-
session.correlation = {
|
|
115
|
-
...session.correlation,
|
|
116
|
-
...correlation
|
|
117
|
-
};
|
|
118
|
-
await this.saveSession(session);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Update session watermark
|
|
122
|
-
*/
|
|
123
|
-
async updateSessionWatermark(sessionId, watermark) {
|
|
124
|
-
const session = await this.loadSession(sessionId);
|
|
125
|
-
if (!session) {
|
|
126
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
127
|
-
}
|
|
128
|
-
session.watermark = watermark;
|
|
129
|
-
await this.saveSession(session);
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Update monitoring state
|
|
133
|
-
*/
|
|
134
|
-
async updateMonitoringState(sessionId, monitoring) {
|
|
135
|
-
const session = await this.loadSession(sessionId);
|
|
136
|
-
if (!session) {
|
|
137
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
138
|
-
}
|
|
139
|
-
session.monitoring = {
|
|
140
|
-
...session.monitoring,
|
|
141
|
-
...monitoring
|
|
142
|
-
};
|
|
143
|
-
await this.saveSession(session);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=SessionStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionStore.js","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/session/SessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metrics Collection Configuration
|
|
3
|
-
*
|
|
4
|
-
* Centralized configuration for the metrics collection system.
|
|
5
|
-
*/
|
|
6
|
-
import type { MetricsConfig } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Default metrics configuration
|
|
9
|
-
*/
|
|
10
|
-
export declare const METRICS_CONFIG: MetricsConfig;
|
|
11
|
-
/**
|
|
12
|
-
* Storage paths
|
|
13
|
-
*/
|
|
14
|
-
export declare const METRICS_PATHS: {
|
|
15
|
-
root: string;
|
|
16
|
-
sessions: string;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Get full path for metrics storage
|
|
20
|
-
*/
|
|
21
|
-
export declare function getMetricsPath(subpath?: string): string;
|
|
22
|
-
/**
|
|
23
|
-
* Get session metadata file path
|
|
24
|
-
* Format: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
25
|
-
*/
|
|
26
|
-
export declare function getSessionPath(sessionId: string): string;
|
|
27
|
-
/**
|
|
28
|
-
* Get session metrics JSONL file path
|
|
29
|
-
* Format: ~/.codemie/metrics/sessions/{sessionId}_metrics.jsonl
|
|
30
|
-
*/
|
|
31
|
-
export declare function getSessionMetricsPath(sessionId: string): string;
|
|
32
|
-
/**
|
|
33
|
-
* Get sync state file path (embedded in session metadata)
|
|
34
|
-
* This is a legacy function - sync state is now stored in session.json
|
|
35
|
-
* @deprecated Use session.json for sync state
|
|
36
|
-
*/
|
|
37
|
-
export declare function getSyncStatePath(sessionId: string): string;
|
|
38
|
-
//# sourceMappingURL=metrics-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-config.d.ts","sourceRoot":"","sources":["../../../src/agents/core/metrics-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAqD5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metrics Collection Configuration
|
|
3
|
-
*
|
|
4
|
-
* Centralized configuration for the metrics collection system.
|
|
5
|
-
*/
|
|
6
|
-
import { join } from 'path';
|
|
7
|
-
import { getCodemieHome } from '../../utils/paths.js';
|
|
8
|
-
/**
|
|
9
|
-
* Default metrics configuration
|
|
10
|
-
*/
|
|
11
|
-
export const METRICS_CONFIG = {
|
|
12
|
-
/**
|
|
13
|
-
* Metrics only enabled for ai-run-sso provider
|
|
14
|
-
* Can be disabled at runtime via CODEMIE_METRICS_DISABLED env var
|
|
15
|
-
*/
|
|
16
|
-
enabled: (provider) => {
|
|
17
|
-
// Check if metrics are disabled at runtime
|
|
18
|
-
if (process.env.CODEMIE_METRICS_DISABLED === '1') {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
return provider === 'ai-run-sso';
|
|
22
|
-
},
|
|
23
|
-
/**
|
|
24
|
-
* Agent-specific initialization delays (ms)
|
|
25
|
-
* Time to wait after agent spawn before taking post-snapshot
|
|
26
|
-
*/
|
|
27
|
-
initDelay: {
|
|
28
|
-
claude: 500
|
|
29
|
-
// Future: gemini, codex, etc.
|
|
30
|
-
},
|
|
31
|
-
/**
|
|
32
|
-
* Retry configuration for correlation
|
|
33
|
-
* Exponential backoff: 500ms → 1s → 2s → 4s → 8s → 16s → 32s → 32s
|
|
34
|
-
* Total wait time: ~1.6 minutes
|
|
35
|
-
*/
|
|
36
|
-
retry: {
|
|
37
|
-
attempts: 8,
|
|
38
|
-
delays: [500, 1000, 2000, 4000, 8000, 16000, 32000, 32000] // Exponential backoff capped at 32s
|
|
39
|
-
},
|
|
40
|
-
/**
|
|
41
|
-
* File monitoring configuration
|
|
42
|
-
*/
|
|
43
|
-
monitoring: {
|
|
44
|
-
pollInterval: 5000, // 5s fallback polling
|
|
45
|
-
debounceDelay: 5000 // 5s debounce before collection
|
|
46
|
-
},
|
|
47
|
-
/**
|
|
48
|
-
* Watermark configuration
|
|
49
|
-
*/
|
|
50
|
-
watermark: {
|
|
51
|
-
ttl: 24 * 60 * 60 * 1000 // 24 hours
|
|
52
|
-
},
|
|
53
|
-
/**
|
|
54
|
-
* Post-processing configuration
|
|
55
|
-
* Global default: exclude errors from shell tools (contains sensitive command output)
|
|
56
|
-
* Individual agents can override this via their metricsConfig.excludeErrorsFromTools
|
|
57
|
-
*/
|
|
58
|
-
excludeErrorsFromTools: ['Bash', 'Execute', 'Shell']
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Storage paths
|
|
62
|
-
*/
|
|
63
|
-
export const METRICS_PATHS = {
|
|
64
|
-
root: '.codemie/metrics',
|
|
65
|
-
sessions: 'sessions'
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Get full path for metrics storage
|
|
69
|
-
*/
|
|
70
|
-
export function getMetricsPath(subpath) {
|
|
71
|
-
const base = join(getCodemieHome(), 'metrics');
|
|
72
|
-
return subpath ? join(base, subpath) : base;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get session metadata file path
|
|
76
|
-
* Format: ~/.codemie/metrics/sessions/{sessionId}.json
|
|
77
|
-
*/
|
|
78
|
-
export function getSessionPath(sessionId) {
|
|
79
|
-
return getMetricsPath(`${METRICS_PATHS.sessions}/${sessionId}.json`);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Get session metrics JSONL file path
|
|
83
|
-
* Format: ~/.codemie/metrics/sessions/{sessionId}_metrics.jsonl
|
|
84
|
-
*/
|
|
85
|
-
export function getSessionMetricsPath(sessionId) {
|
|
86
|
-
return getMetricsPath(`${METRICS_PATHS.sessions}/${sessionId}_metrics.jsonl`);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Get sync state file path (embedded in session metadata)
|
|
90
|
-
* This is a legacy function - sync state is now stored in session.json
|
|
91
|
-
* @deprecated Use session.json for sync state
|
|
92
|
-
*/
|
|
93
|
-
export function getSyncStatePath(sessionId) {
|
|
94
|
-
return getMetricsPath(`${METRICS_PATHS.sessions}/${sessionId}.json`);
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=metrics-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-config.js","sourceRoot":"","sources":["../../../src/agents/core/metrics-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C;;;OAGG;IACH,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE;QAC5B,2CAA2C;QAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,QAAQ,KAAK,YAAY,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,SAAS,EAAE;QACT,MAAM,EAAE,GAAG;QACX,8BAA8B;KAC/B;IAED;;;;OAIG;IACH,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,oCAAoC;KAChG;IAED;;OAEG;IACH,UAAU,EAAE;QACV,YAAY,EAAE,IAAI,EAAE,sBAAsB;QAC1C,aAAa,EAAE,IAAI,CAAC,gCAAgC;KACrD;IAED;;OAEG;IACH,SAAS,EAAE;QACT,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;KACrC;IAED;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,gBAAgB,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC"}
|