@codemieai/code 0.0.28 → 0.0.30
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 +792 -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,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metrics Orchestrator
|
|
3
|
-
*
|
|
4
|
-
* Coordinates metrics collection across agent lifecycle:
|
|
5
|
-
* 1. Pre-spawn snapshot
|
|
6
|
-
* 2. Post-spawn snapshot + correlation
|
|
7
|
-
* 3. Session creation and persistence
|
|
8
|
-
*
|
|
9
|
-
* Phase 1 & 2 implementation (Phase 3-5 later)
|
|
10
|
-
*/
|
|
11
|
-
import type { AgentMetricsSupport } from './types.js';
|
|
12
|
-
export interface MetricsOrchestratorOptions {
|
|
13
|
-
sessionId?: string;
|
|
14
|
-
agentName: string;
|
|
15
|
-
provider: string;
|
|
16
|
-
project?: string;
|
|
17
|
-
workingDirectory: string;
|
|
18
|
-
metricsAdapter: AgentMetricsSupport;
|
|
19
|
-
}
|
|
20
|
-
export declare class MetricsOrchestrator {
|
|
21
|
-
private sessionId;
|
|
22
|
-
private agentName;
|
|
23
|
-
private provider;
|
|
24
|
-
private project?;
|
|
25
|
-
private workingDirectory;
|
|
26
|
-
private metricsAdapter;
|
|
27
|
-
private snapshotter;
|
|
28
|
-
private correlator;
|
|
29
|
-
private store;
|
|
30
|
-
private deltaWriter;
|
|
31
|
-
private syncStateManager;
|
|
32
|
-
private fileWatcher;
|
|
33
|
-
private beforeSnapshot;
|
|
34
|
-
private session;
|
|
35
|
-
private isCollecting;
|
|
36
|
-
constructor(options: MetricsOrchestratorOptions);
|
|
37
|
-
/**
|
|
38
|
-
* Check if metrics collection is enabled for this provider
|
|
39
|
-
*/
|
|
40
|
-
isEnabled(): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Step 1: Take snapshot before agent spawn
|
|
43
|
-
* Called before spawning the agent process
|
|
44
|
-
* Note: This method is only called when metrics are enabled
|
|
45
|
-
*/
|
|
46
|
-
beforeAgentSpawn(): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Step 2: Take snapshot after agent spawn + correlate
|
|
49
|
-
* Called after spawning the agent process
|
|
50
|
-
* Note: This method is only called when metrics are enabled
|
|
51
|
-
*/
|
|
52
|
-
afterAgentSpawn(): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Finalize session on agent exit
|
|
55
|
-
* Called when agent process exits
|
|
56
|
-
* Note: This method is only called when metrics are enabled
|
|
57
|
-
*/
|
|
58
|
-
onAgentExit(exitCode: number): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Start incremental monitoring with delta collection
|
|
61
|
-
*/
|
|
62
|
-
private startIncrementalMonitoring;
|
|
63
|
-
/**
|
|
64
|
-
* Collect delta metrics from agent session file
|
|
65
|
-
*/
|
|
66
|
-
private collectDeltas;
|
|
67
|
-
/**
|
|
68
|
-
* Get initialization errors for display to user
|
|
69
|
-
* Returns the first error that occurred during metrics initialization
|
|
70
|
-
*/
|
|
71
|
-
getInitializationError(): unknown | null;
|
|
72
|
-
/**
|
|
73
|
-
* Check if metrics initialization had any errors
|
|
74
|
-
*/
|
|
75
|
-
hasInitializationError(): boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Sleep utility
|
|
78
|
-
*/
|
|
79
|
-
private sleep;
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=MetricsOrchestrator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/agents/core/metrics/MetricsOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAgC,MAAM,YAAY,CAAC;AAOpF,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAsB;IAE5C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,KAAK,CAAe;IAG5B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,WAAW,CAAyC;IAE5D,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,YAAY,CAAkB;gBAE1B,OAAO,EAAE,0BAA0B;IAa/C;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiFvC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAwGtC;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDlD;;OAEG;YACW,0BAA0B;IA+CxC;;OAEG;YACW,aAAa;IAiH3B;;;OAGG;IACH,sBAAsB,IAAI,OAAO,GAAG,IAAI;IAUxC;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -1,417 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metrics Orchestrator
|
|
3
|
-
*
|
|
4
|
-
* Coordinates metrics collection across agent lifecycle:
|
|
5
|
-
* 1. Pre-spawn snapshot
|
|
6
|
-
* 2. Post-spawn snapshot + correlation
|
|
7
|
-
* 3. Session creation and persistence
|
|
8
|
-
*
|
|
9
|
-
* Phase 1 & 2 implementation (Phase 3-5 later)
|
|
10
|
-
*/
|
|
11
|
-
import { randomUUID } from 'crypto';
|
|
12
|
-
import { FileSnapshotter } from './core/FileSnapshotter.js';
|
|
13
|
-
import { SessionCorrelator } from './core/SessionCorrelator.js';
|
|
14
|
-
import { SessionStore } from './session/SessionStore.js';
|
|
15
|
-
import { DeltaWriter } from './core/DeltaWriter.js';
|
|
16
|
-
import { SyncStateManager } from './core/SyncStateManager.js';
|
|
17
|
-
import { METRICS_CONFIG } from '../metrics-config.js';
|
|
18
|
-
import { logger } from '../../../utils/logger.js';
|
|
19
|
-
import { watch } from 'fs';
|
|
20
|
-
import { detectGitBranch } from '../../../utils/processes.js';
|
|
21
|
-
import { createErrorContext, formatErrorForLog } from '../../../utils/errors.js';
|
|
22
|
-
export class MetricsOrchestrator {
|
|
23
|
-
sessionId;
|
|
24
|
-
agentName;
|
|
25
|
-
provider;
|
|
26
|
-
project;
|
|
27
|
-
workingDirectory;
|
|
28
|
-
metricsAdapter;
|
|
29
|
-
snapshotter;
|
|
30
|
-
correlator;
|
|
31
|
-
store;
|
|
32
|
-
// Delta-based components
|
|
33
|
-
deltaWriter = null;
|
|
34
|
-
syncStateManager = null;
|
|
35
|
-
fileWatcher = null;
|
|
36
|
-
beforeSnapshot = null;
|
|
37
|
-
session = null;
|
|
38
|
-
isCollecting = false;
|
|
39
|
-
constructor(options) {
|
|
40
|
-
this.sessionId = options.sessionId || randomUUID();
|
|
41
|
-
this.agentName = options.agentName;
|
|
42
|
-
this.provider = options.provider;
|
|
43
|
-
this.project = options.project;
|
|
44
|
-
this.workingDirectory = options.workingDirectory;
|
|
45
|
-
this.metricsAdapter = options.metricsAdapter;
|
|
46
|
-
this.snapshotter = new FileSnapshotter();
|
|
47
|
-
this.correlator = new SessionCorrelator();
|
|
48
|
-
this.store = new SessionStore();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Check if metrics collection is enabled for this provider
|
|
52
|
-
*/
|
|
53
|
-
isEnabled() {
|
|
54
|
-
return METRICS_CONFIG.enabled(this.provider);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Step 1: Take snapshot before agent spawn
|
|
58
|
-
* Called before spawning the agent process
|
|
59
|
-
* Note: This method is only called when metrics are enabled
|
|
60
|
-
*/
|
|
61
|
-
async beforeAgentSpawn() {
|
|
62
|
-
try {
|
|
63
|
-
logger.info('[MetricsOrchestrator] Preparing to track session metrics...');
|
|
64
|
-
// Get agent data paths
|
|
65
|
-
const { sessionsDir } = this.metricsAdapter.getDataPaths();
|
|
66
|
-
logger.debug(`[MetricsOrchestrator] Taking pre-spawn snapshot of: ${sessionsDir}`);
|
|
67
|
-
// Take snapshot
|
|
68
|
-
this.beforeSnapshot = await this.snapshotter.snapshot(sessionsDir);
|
|
69
|
-
logger.info(`[MetricsOrchestrator] Baseline: ${this.beforeSnapshot.files.length} existing session file${this.beforeSnapshot.files.length !== 1 ? 's' : ''}`);
|
|
70
|
-
logger.debug(`[MetricsOrchestrator] Pre-spawn snapshot complete: ${this.beforeSnapshot.files.length} files`);
|
|
71
|
-
// Show sample of baseline files for debugging
|
|
72
|
-
if (this.beforeSnapshot.files.length > 0) {
|
|
73
|
-
const sampleSize = Math.min(3, this.beforeSnapshot.files.length);
|
|
74
|
-
const sample = this.beforeSnapshot.files.slice(0, sampleSize).map(f => f.path);
|
|
75
|
-
logger.info(`[MetricsOrchestrator] Sample files (first ${sampleSize}):`);
|
|
76
|
-
for (const filePath of sample) {
|
|
77
|
-
logger.info(`[MetricsOrchestrator] → ${filePath}`);
|
|
78
|
-
}
|
|
79
|
-
if (this.beforeSnapshot.files.length > sampleSize) {
|
|
80
|
-
logger.info(`[MetricsOrchestrator] ... and ${this.beforeSnapshot.files.length - sampleSize} more`);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// Detect git branch from working directory
|
|
84
|
-
const gitBranch = await detectGitBranch(this.workingDirectory);
|
|
85
|
-
// Create session record
|
|
86
|
-
this.session = {
|
|
87
|
-
sessionId: this.sessionId,
|
|
88
|
-
agentName: this.agentName,
|
|
89
|
-
provider: this.provider,
|
|
90
|
-
...(this.project && { project: this.project }),
|
|
91
|
-
startTime: Date.now(),
|
|
92
|
-
workingDirectory: this.workingDirectory,
|
|
93
|
-
...(gitBranch && { gitBranch }), // Include branch if detected
|
|
94
|
-
status: 'active',
|
|
95
|
-
correlation: {
|
|
96
|
-
status: 'pending',
|
|
97
|
-
retryCount: 0
|
|
98
|
-
},
|
|
99
|
-
monitoring: {
|
|
100
|
-
isActive: false,
|
|
101
|
-
changeCount: 0
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
// Save initial session
|
|
105
|
-
await this.store.saveSession(this.session);
|
|
106
|
-
logger.info(`[MetricsOrchestrator] Session created: ${this.sessionId}`);
|
|
107
|
-
logger.debug(`[MetricsOrchestrator] Agent: ${this.agentName}, Provider: ${this.provider}`);
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
// Disable metrics for the rest of the session to prevent log pollution
|
|
111
|
-
process.env.CODEMIE_METRICS_DISABLED = '1';
|
|
112
|
-
// Create comprehensive error context for logging
|
|
113
|
-
const errorContext = createErrorContext(error, {
|
|
114
|
-
sessionId: this.sessionId,
|
|
115
|
-
agent: this.agentName,
|
|
116
|
-
provider: this.provider,
|
|
117
|
-
...(this.project && { model: this.project })
|
|
118
|
-
});
|
|
119
|
-
logger.error('[MetricsOrchestrator] Failed to take pre-spawn snapshot', formatErrorForLog(errorContext));
|
|
120
|
-
// Store raw error for display to user (not ErrorContext)
|
|
121
|
-
if (this.session) {
|
|
122
|
-
this.session.initError = error;
|
|
123
|
-
}
|
|
124
|
-
// Don't throw - metrics failures shouldn't break agent execution
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Step 2: Take snapshot after agent spawn + correlate
|
|
129
|
-
* Called after spawning the agent process
|
|
130
|
-
* Note: This method is only called when metrics are enabled
|
|
131
|
-
*/
|
|
132
|
-
async afterAgentSpawn() {
|
|
133
|
-
if (!this.isEnabled() || !this.beforeSnapshot || !this.session) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
try {
|
|
137
|
-
logger.info(`[MetricsOrchestrator] Agent started - waiting for session file creation...`);
|
|
138
|
-
// Wait for agent to initialize and create session file
|
|
139
|
-
const initDelay = this.metricsAdapter.getInitDelay();
|
|
140
|
-
await this.sleep(initDelay);
|
|
141
|
-
// Get agent data paths
|
|
142
|
-
const { sessionsDir } = this.metricsAdapter.getDataPaths();
|
|
143
|
-
logger.info(`[MetricsOrchestrator] Scanning directory: ${sessionsDir}`);
|
|
144
|
-
// Take snapshot
|
|
145
|
-
const afterSnapshot = await this.snapshotter.snapshot(sessionsDir);
|
|
146
|
-
logger.info(`[MetricsOrchestrator] Found ${afterSnapshot.files.length} total session file${afterSnapshot.files.length !== 1 ? 's' : ''} in directory`);
|
|
147
|
-
logger.debug(`[MetricsOrchestrator] Pre-spawn: ${this.beforeSnapshot.files.length} files, Post-spawn: ${afterSnapshot.files.length} files`);
|
|
148
|
-
// Show sample of post-spawn files for comparison
|
|
149
|
-
if (afterSnapshot.files.length > 0 && afterSnapshot.files.length !== this.beforeSnapshot.files.length) {
|
|
150
|
-
const sampleSize = Math.min(3, afterSnapshot.files.length);
|
|
151
|
-
const sample = afterSnapshot.files.slice(0, sampleSize).map(f => f.path);
|
|
152
|
-
logger.info(`[MetricsOrchestrator] Post-spawn files (first ${sampleSize}):`);
|
|
153
|
-
for (const filePath of sample) {
|
|
154
|
-
logger.info(`[MetricsOrchestrator] → ${filePath}`);
|
|
155
|
-
}
|
|
156
|
-
if (afterSnapshot.files.length > sampleSize) {
|
|
157
|
-
logger.info(`[MetricsOrchestrator] ... and ${afterSnapshot.files.length - sampleSize} more`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
// Compute diff
|
|
161
|
-
const newFiles = this.snapshotter.diff(this.beforeSnapshot, afterSnapshot);
|
|
162
|
-
if (newFiles.length > 0) {
|
|
163
|
-
logger.info(`[MetricsOrchestrator] ${newFiles.length} new file${newFiles.length !== 1 ? 's' : ''} created since agent start`);
|
|
164
|
-
// Use path.basename for cross-platform display
|
|
165
|
-
const { basename } = await import('path');
|
|
166
|
-
logger.info(`[MetricsOrchestrator] ${newFiles.map(f => `→ ${basename(f.path)}`).join(', ')}`);
|
|
167
|
-
logger.debug(`[MetricsOrchestrator] New files (full paths): ${newFiles.map(f => f.path).join(', ')}`);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
logger.info(`[MetricsOrchestrator] No new files yet - will retry...`);
|
|
171
|
-
logger.debug(`[MetricsOrchestrator] Diff result: 0 new files (baseline had ${this.beforeSnapshot.files.length}, post-spawn has ${afterSnapshot.files.length})`);
|
|
172
|
-
}
|
|
173
|
-
// Correlate with retry
|
|
174
|
-
logger.debug('[MetricsOrchestrator] Starting correlation with retry...');
|
|
175
|
-
const correlation = await this.correlator.correlateWithRetry({
|
|
176
|
-
sessionId: this.sessionId,
|
|
177
|
-
agentName: this.agentName,
|
|
178
|
-
workingDirectory: this.workingDirectory,
|
|
179
|
-
newFiles,
|
|
180
|
-
agentPlugin: this.metricsAdapter
|
|
181
|
-
}, async () => {
|
|
182
|
-
// Snapshot function for retries
|
|
183
|
-
const retrySnapshot = await this.snapshotter.snapshot(sessionsDir);
|
|
184
|
-
return this.snapshotter.diff(this.beforeSnapshot, retrySnapshot);
|
|
185
|
-
});
|
|
186
|
-
// Update session with correlation result
|
|
187
|
-
await this.store.updateSessionCorrelation(this.sessionId, correlation);
|
|
188
|
-
// Reload session to get updated correlation
|
|
189
|
-
this.session = await this.store.loadSession(this.sessionId);
|
|
190
|
-
if (correlation.status === 'matched') {
|
|
191
|
-
logger.debug(`[MetricsOrchestrator] Session correlated: ${correlation.agentSessionId}`);
|
|
192
|
-
logger.debug(`[MetricsOrchestrator] Agent file: ${correlation.agentSessionFile}`);
|
|
193
|
-
logger.debug(`[MetricsOrchestrator] Retry count: ${correlation.retryCount}`);
|
|
194
|
-
// Start incremental delta monitoring
|
|
195
|
-
await this.startIncrementalMonitoring(correlation.agentSessionFile);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
logger.warn(`[MetricsOrchestrator] Correlation failed after ${correlation.retryCount} retries`);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
// Create comprehensive error context for logging
|
|
203
|
-
const errorContext = createErrorContext(error, {
|
|
204
|
-
sessionId: this.sessionId,
|
|
205
|
-
agent: this.agentName,
|
|
206
|
-
provider: this.provider,
|
|
207
|
-
...(this.project && { model: this.project })
|
|
208
|
-
});
|
|
209
|
-
logger.error('[MetricsOrchestrator] Failed in post-spawn phase', formatErrorForLog(errorContext));
|
|
210
|
-
// Store raw error for display to user (not ErrorContext)
|
|
211
|
-
if (this.session) {
|
|
212
|
-
this.session.postSpawnError = error;
|
|
213
|
-
}
|
|
214
|
-
// Don't throw - metrics failures shouldn't break agent execution
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Finalize session on agent exit
|
|
219
|
-
* Called when agent process exits
|
|
220
|
-
* Note: This method is only called when metrics are enabled
|
|
221
|
-
*/
|
|
222
|
-
async onAgentExit(exitCode) {
|
|
223
|
-
if (!this.isEnabled() || !this.session) {
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
try {
|
|
227
|
-
logger.debug('[MetricsOrchestrator] Finalizing session...');
|
|
228
|
-
// Stop file watcher
|
|
229
|
-
if (this.fileWatcher) {
|
|
230
|
-
this.fileWatcher.close();
|
|
231
|
-
this.fileWatcher = null;
|
|
232
|
-
logger.debug('[MetricsOrchestrator] Stopped file watcher');
|
|
233
|
-
}
|
|
234
|
-
// Collect final deltas
|
|
235
|
-
if (this.session.correlation.status === 'matched' &&
|
|
236
|
-
this.session.correlation.agentSessionFile) {
|
|
237
|
-
await this.collectDeltas(this.session.correlation.agentSessionFile);
|
|
238
|
-
logger.debug('[MetricsOrchestrator] Collected final deltas');
|
|
239
|
-
}
|
|
240
|
-
// Update sync state status with end time
|
|
241
|
-
const endTime = Date.now();
|
|
242
|
-
const status = exitCode === 0 ? 'completed' : 'failed';
|
|
243
|
-
if (this.syncStateManager) {
|
|
244
|
-
await this.syncStateManager.updateStatus(status, endTime);
|
|
245
|
-
}
|
|
246
|
-
// Update session status
|
|
247
|
-
await this.store.updateSessionStatus(this.sessionId, status);
|
|
248
|
-
logger.debug('[MetricsOrchestrator] Session finalized');
|
|
249
|
-
}
|
|
250
|
-
catch (error) {
|
|
251
|
-
// Create comprehensive error context for logging
|
|
252
|
-
const errorContext = createErrorContext(error, {
|
|
253
|
-
sessionId: this.sessionId,
|
|
254
|
-
agent: this.agentName,
|
|
255
|
-
provider: this.provider,
|
|
256
|
-
...(this.project && { model: this.project })
|
|
257
|
-
});
|
|
258
|
-
logger.error('[MetricsOrchestrator] Failed to finalize session', formatErrorForLog(errorContext));
|
|
259
|
-
// Don't throw - metrics failures shouldn't break agent execution
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Start incremental monitoring with delta collection
|
|
264
|
-
*/
|
|
265
|
-
async startIncrementalMonitoring(sessionFilePath) {
|
|
266
|
-
if (!this.isEnabled() || !this.session || !this.session.correlation.agentSessionId) {
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
try {
|
|
270
|
-
// Initialize delta writer and sync state manager
|
|
271
|
-
this.deltaWriter = new DeltaWriter(this.sessionId);
|
|
272
|
-
this.syncStateManager = new SyncStateManager(this.sessionId);
|
|
273
|
-
// Initialize sync state with session start time
|
|
274
|
-
await this.syncStateManager.initialize(this.sessionId, this.session.correlation.agentSessionId, this.session.startTime);
|
|
275
|
-
logger.info('[MetricsOrchestrator] Monitoring session activity in real-time');
|
|
276
|
-
logger.debug('[MetricsOrchestrator] Initialized delta-based metrics tracking');
|
|
277
|
-
// Collect initial deltas
|
|
278
|
-
await this.collectDeltas(sessionFilePath);
|
|
279
|
-
// Start file watching
|
|
280
|
-
let debounceTimer = null;
|
|
281
|
-
const DEBOUNCE_DELAY = 5000; // 5 seconds
|
|
282
|
-
this.fileWatcher = watch(sessionFilePath, (eventType) => {
|
|
283
|
-
if (eventType === 'change') {
|
|
284
|
-
// Debounce: wait 5s after last change before collecting
|
|
285
|
-
if (debounceTimer) {
|
|
286
|
-
clearTimeout(debounceTimer);
|
|
287
|
-
}
|
|
288
|
-
debounceTimer = setTimeout(async () => {
|
|
289
|
-
await this.collectDeltas(sessionFilePath);
|
|
290
|
-
}, DEBOUNCE_DELAY);
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
logger.debug('[MetricsOrchestrator] Started file watching for incremental metrics');
|
|
294
|
-
}
|
|
295
|
-
catch (error) {
|
|
296
|
-
logger.error('[MetricsOrchestrator] Failed to start incremental monitoring:', error);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Collect delta metrics from agent session file
|
|
301
|
-
*/
|
|
302
|
-
async collectDeltas(sessionFilePath) {
|
|
303
|
-
// Prevent concurrent collection or if metrics disabled
|
|
304
|
-
if (!this.isEnabled() || this.isCollecting || !this.deltaWriter || !this.syncStateManager) {
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
this.isCollecting = true;
|
|
308
|
-
try {
|
|
309
|
-
// Load current sync state
|
|
310
|
-
const syncState = await this.syncStateManager.load();
|
|
311
|
-
// If sync state doesn't exist (file deleted or not initialized yet), skip collection
|
|
312
|
-
if (!syncState) {
|
|
313
|
-
logger.debug('[MetricsOrchestrator] Sync state not available, skipping delta collection');
|
|
314
|
-
this.isCollecting = false;
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
// Get already-processed record IDs from sync state
|
|
318
|
-
const processedRecordIds = new Set(syncState.processedRecordIds);
|
|
319
|
-
// Get already-attached user prompt texts from sync state
|
|
320
|
-
const attachedUserPromptTexts = new Set(syncState.attachedUserPromptTexts || []);
|
|
321
|
-
// Parse incremental metrics with processed record IDs and attached prompts
|
|
322
|
-
logger.info(`[MetricsOrchestrator] Scanning session for new activity...`);
|
|
323
|
-
const { deltas, lastLine, newlyAttachedPrompts } = await this.metricsAdapter.parseIncrementalMetrics(sessionFilePath, processedRecordIds, attachedUserPromptTexts);
|
|
324
|
-
if (deltas.length === 0) {
|
|
325
|
-
logger.debug('[MetricsOrchestrator] No new deltas to collect');
|
|
326
|
-
this.isCollecting = false;
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
logger.info(`[MetricsOrchestrator] Found ${deltas.length} new interaction${deltas.length !== 1 ? 's' : ''} to record`);
|
|
330
|
-
// Collect record IDs for tracking
|
|
331
|
-
const newRecordIds = [];
|
|
332
|
-
// Calculate summary statistics for logging
|
|
333
|
-
let totalTokens = 0;
|
|
334
|
-
let totalTools = 0;
|
|
335
|
-
let totalFiles = 0;
|
|
336
|
-
// Append each delta to JSONL
|
|
337
|
-
for (const delta of deltas) {
|
|
338
|
-
// Set CodeMie session ID
|
|
339
|
-
delta.sessionId = this.sessionId;
|
|
340
|
-
// Set gitBranch if not already present in delta
|
|
341
|
-
if (!delta.gitBranch) {
|
|
342
|
-
delta.gitBranch = await detectGitBranch(this.workingDirectory);
|
|
343
|
-
}
|
|
344
|
-
// Accumulate statistics
|
|
345
|
-
if (delta.tokens) {
|
|
346
|
-
totalTokens += (delta.tokens.input || 0) + (delta.tokens.output || 0);
|
|
347
|
-
}
|
|
348
|
-
if (delta.tools) {
|
|
349
|
-
totalTools += Object.values(delta.tools).reduce((sum, count) => sum + count, 0);
|
|
350
|
-
}
|
|
351
|
-
if (delta.fileOperations) {
|
|
352
|
-
totalFiles += delta.fileOperations.length;
|
|
353
|
-
}
|
|
354
|
-
// Append to JSONL
|
|
355
|
-
await this.deltaWriter.appendDelta(delta);
|
|
356
|
-
newRecordIds.push(delta.recordId);
|
|
357
|
-
}
|
|
358
|
-
// Update sync state with processed record IDs
|
|
359
|
-
await this.syncStateManager.addProcessedRecords(newRecordIds);
|
|
360
|
-
await this.syncStateManager.updateLastProcessed(lastLine, Date.now());
|
|
361
|
-
await this.syncStateManager.incrementDeltas(deltas.length);
|
|
362
|
-
// Update sync state with newly attached user prompts
|
|
363
|
-
if (newlyAttachedPrompts && newlyAttachedPrompts.length > 0) {
|
|
364
|
-
await this.syncStateManager.addAttachedUserPrompts(newlyAttachedPrompts);
|
|
365
|
-
}
|
|
366
|
-
// Log summary with meaningful statistics
|
|
367
|
-
const parts = [];
|
|
368
|
-
if (totalTokens > 0)
|
|
369
|
-
parts.push(`${totalTokens.toLocaleString()} tokens`);
|
|
370
|
-
if (totalTools > 0)
|
|
371
|
-
parts.push(`${totalTools} tool${totalTools !== 1 ? 's' : ''}`);
|
|
372
|
-
if (totalFiles > 0)
|
|
373
|
-
parts.push(`${totalFiles} file${totalFiles !== 1 ? 's' : ''}`);
|
|
374
|
-
const summary = parts.length > 0 ? ` (${parts.join(', ')})` : '';
|
|
375
|
-
logger.info(`[MetricsOrchestrator] Recorded${summary}`);
|
|
376
|
-
logger.debug(`[MetricsOrchestrator] Processed up to line ${lastLine}`);
|
|
377
|
-
}
|
|
378
|
-
catch (error) {
|
|
379
|
-
// Create comprehensive error context for logging
|
|
380
|
-
const errorContext = createErrorContext(error, {
|
|
381
|
-
sessionId: this.sessionId,
|
|
382
|
-
agent: this.agentName,
|
|
383
|
-
provider: this.provider,
|
|
384
|
-
...(this.project && { model: this.project })
|
|
385
|
-
});
|
|
386
|
-
logger.error('[MetricsOrchestrator] Failed to collect deltas', formatErrorForLog(errorContext));
|
|
387
|
-
}
|
|
388
|
-
finally {
|
|
389
|
-
this.isCollecting = false;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* Get initialization errors for display to user
|
|
394
|
-
* Returns the first error that occurred during metrics initialization
|
|
395
|
-
*/
|
|
396
|
-
getInitializationError() {
|
|
397
|
-
if (!this.session) {
|
|
398
|
-
return null;
|
|
399
|
-
}
|
|
400
|
-
// Check for errors in order of occurrence
|
|
401
|
-
const sessionWithErrors = this.session;
|
|
402
|
-
return sessionWithErrors.initError || sessionWithErrors.postSpawnError || null;
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Check if metrics initialization had any errors
|
|
406
|
-
*/
|
|
407
|
-
hasInitializationError() {
|
|
408
|
-
return this.getInitializationError() !== null;
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Sleep utility
|
|
412
|
-
*/
|
|
413
|
-
sleep(ms) {
|
|
414
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
//# sourceMappingURL=MetricsOrchestrator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsOrchestrator.js","sourceRoot":"","sources":["../../../../src/agents/core/metrics/MetricsOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Delta Writer
|
|
3
|
-
*
|
|
4
|
-
* Handles incremental metrics storage in JSONL format.
|
|
5
|
-
* Stores metrics in: ~/.codemie/metrics/sessions/{sessionId}_metrics.jsonl
|
|
6
|
-
* Provides O(1) append operations and efficient filtering by sync status.
|
|
7
|
-
*/
|
|
8
|
-
import type { MetricDelta, SyncStatus } from '../types.js';
|
|
9
|
-
export declare class DeltaWriter {
|
|
10
|
-
private readonly filePath;
|
|
11
|
-
constructor(sessionId: string);
|
|
12
|
-
/**
|
|
13
|
-
* Append new delta to JSONL file (O(1) operation)
|
|
14
|
-
* Returns the recordId from the delta
|
|
15
|
-
*/
|
|
16
|
-
appendDelta(delta: Omit<MetricDelta, 'syncStatus' | 'syncAttempts'>): Promise<string>;
|
|
17
|
-
/**
|
|
18
|
-
* Read all deltas from JSONL file
|
|
19
|
-
*/
|
|
20
|
-
readAll(): Promise<MetricDelta[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Update sync status for specific records
|
|
23
|
-
* This requires rewriting the entire file
|
|
24
|
-
*/
|
|
25
|
-
updateSyncStatus(recordIds: string[], status: SyncStatus, error?: string): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Get deltas with specific sync status
|
|
28
|
-
*/
|
|
29
|
-
filterByStatus(status: SyncStatus): Promise<MetricDelta[]>;
|
|
30
|
-
/**
|
|
31
|
-
* Get sync statistics
|
|
32
|
-
*/
|
|
33
|
-
getSyncStats(): Promise<{
|
|
34
|
-
total: number;
|
|
35
|
-
pending: number;
|
|
36
|
-
syncing: number;
|
|
37
|
-
synced: number;
|
|
38
|
-
failed: number;
|
|
39
|
-
}>;
|
|
40
|
-
/**
|
|
41
|
-
* Get file path
|
|
42
|
-
*/
|
|
43
|
-
getFilePath(): string;
|
|
44
|
-
/**
|
|
45
|
-
* Check if file exists
|
|
46
|
-
*/
|
|
47
|
-
exists(): boolean;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=DeltaWriter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaWriter.d.ts","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/DeltaWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK3D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,SAAS,EAAE,MAAM;IAI7B;;;OAGG;IACG,WAAW,CACf,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,CAAC,GACtD,OAAO,CAAC,MAAM,CAAC;IA6BlB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBvC;;;OAGG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,UAAU,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAYhE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAyBF;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,MAAM,IAAI,OAAO;CAGlB"}
|