@codemieai/code 0.0.57 → 0.1.0
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 +165 -19
- package/bin/proxy-daemon.js +10 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +3 -0
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/session/SessionStore.d.ts +4 -0
- package/dist/agents/core/session/SessionStore.d.ts.map +1 -1
- package/dist/agents/core/session/SessionStore.js +40 -1
- package/dist/agents/core/session/SessionStore.js.map +1 -1
- package/dist/agents/core/session/types.d.ts +7 -0
- package/dist/agents/core/session/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +18 -0
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/commands/README.md +2 -31
- package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +5 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +42 -43
- package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +5 -0
- package/dist/agents/plugins/claude/plugin/commands/handoff.md +56 -0
- package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +5 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +1 -1
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-rewrite.sh +101 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +4 -1
- package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +27 -8
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +63 -3
- package/dist/agents/plugins/claude/plugin/skills/report-issue/SKILL.md +1 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts +1 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +32 -20
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts +2 -0
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +24 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/assets/demo.gif +0 -0
- package/dist/assets/skills-sh-egress-guard.cjs +166 -0
- package/dist/bin/proxy-daemon.d.ts +2 -0
- package/dist/bin/proxy-daemon.d.ts.map +1 -0
- package/dist/bin/proxy-daemon.js +138 -0
- package/dist/bin/proxy-daemon.js.map +1 -0
- package/dist/cli/commands/assistants/setup/constants.d.ts +1 -25
- package/dist/cli/commands/assistants/setup/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/constants.js +1 -20
- package/dist/cli/commands/assistants/setup/constants.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts +4 -4
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +11 -10
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +4 -4
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +11 -9
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts +4 -18
- package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.js +10 -60
- package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
- package/dist/cli/commands/assistants/setup/index.d.ts +0 -8
- package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/index.js +20 -164
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/actions.d.ts +1 -30
- package/dist/cli/commands/assistants/setup/selection/actions.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/actions.js +1 -320
- package/dist/cli/commands/assistants/setup/selection/actions.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/constants.d.ts +3 -65
- package/dist/cli/commands/assistants/setup/selection/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/constants.js +4 -81
- package/dist/cli/commands/assistants/setup/selection/constants.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -9
- package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.js +14 -34
- package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts +1 -19
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +1 -338
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/types.d.ts +7 -23
- package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts +0 -8
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.js +7 -123
- package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +10 -1
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop-managed-mcp-servers.json +50 -0
- package/dist/cli/commands/proxy/connectors/desktop.d.ts +65 -0
- package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/desktop.js +218 -0
- package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -0
- package/dist/cli/commands/proxy/daemon-manager.d.ts +35 -0
- package/dist/cli/commands/proxy/daemon-manager.d.ts.map +1 -0
- package/dist/cli/commands/proxy/daemon-manager.js +107 -0
- package/dist/cli/commands/proxy/daemon-manager.js.map +1 -0
- package/dist/cli/commands/proxy/index.d.ts +3 -0
- package/dist/cli/commands/proxy/index.d.ts.map +1 -0
- package/dist/cli/commands/proxy/index.js +258 -0
- package/dist/cli/commands/proxy/index.js.map +1 -0
- package/dist/cli/commands/proxy/inspect-desktop.d.ts +28 -0
- package/dist/cli/commands/proxy/inspect-desktop.d.ts.map +1 -0
- package/dist/cli/commands/proxy/inspect-desktop.js +134 -0
- package/dist/cli/commands/proxy/inspect-desktop.js.map +1 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +2 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/shared/constants.d.ts +15 -0
- package/dist/cli/commands/shared/constants.d.ts.map +1 -0
- package/dist/cli/commands/shared/constants.js +10 -0
- package/dist/cli/commands/shared/constants.js.map +1 -0
- package/dist/cli/commands/shared/helpers.d.ts +12 -0
- package/dist/cli/commands/shared/helpers.d.ts.map +1 -0
- package/dist/cli/commands/shared/helpers.js +54 -0
- package/dist/cli/commands/shared/helpers.js.map +1 -0
- package/dist/cli/commands/shared/prompts/storage-scope.d.ts +6 -0
- package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -0
- package/dist/cli/commands/shared/prompts/storage-scope.js +84 -0
- package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -0
- package/dist/cli/commands/shared/selection/actions.d.ts +40 -0
- package/dist/cli/commands/shared/selection/actions.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/actions.js +264 -0
- package/dist/cli/commands/shared/selection/actions.js.map +1 -0
- package/dist/cli/commands/shared/selection/constants.d.ts +68 -0
- package/dist/cli/commands/shared/selection/constants.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/constants.js +70 -0
- package/dist/cli/commands/shared/selection/constants.js.map +1 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.d.ts +16 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.js +276 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.js.map +1 -0
- package/dist/cli/commands/shared/selection/types.d.ts +31 -0
- package/dist/cli/commands/shared/selection/types.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/types.js +2 -0
- package/dist/cli/commands/shared/selection/types.js.map +1 -0
- package/dist/cli/commands/shared/selection/ui.d.ts +9 -0
- package/dist/cli/commands/shared/selection/ui.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/ui.js +92 -0
- package/dist/cli/commands/shared/selection/ui.js.map +1 -0
- package/dist/cli/commands/skills/add.d.ts +9 -0
- package/dist/cli/commands/skills/add.d.ts.map +1 -0
- package/dist/cli/commands/skills/add.js +187 -0
- package/dist/cli/commands/skills/add.js.map +1 -0
- package/dist/cli/commands/skills/find.d.ts +17 -0
- package/dist/cli/commands/skills/find.d.ts.map +1 -0
- package/dist/cli/commands/skills/find.js +94 -0
- package/dist/cli/commands/skills/find.js.map +1 -0
- package/dist/cli/commands/skills/index.d.ts +10 -0
- package/dist/cli/commands/skills/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/index.js +23 -0
- package/dist/cli/commands/skills/index.js.map +1 -0
- package/dist/cli/commands/skills/lib/agent-detection.d.ts +27 -0
- package/dist/cli/commands/skills/lib/agent-detection.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/agent-detection.js +50 -0
- package/dist/cli/commands/skills/lib/agent-detection.js.map +1 -0
- package/dist/cli/commands/skills/lib/error-classify.d.ts +14 -0
- package/dist/cli/commands/skills/lib/error-classify.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/error-classify.js +64 -0
- package/dist/cli/commands/skills/lib/error-classify.js.map +1 -0
- package/dist/cli/commands/skills/lib/require-auth.d.ts +17 -0
- package/dist/cli/commands/skills/lib/require-auth.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/require-auth.js +44 -0
- package/dist/cli/commands/skills/lib/require-auth.js.map +1 -0
- package/dist/cli/commands/skills/lib/result-render.d.ts +26 -0
- package/dist/cli/commands/skills/lib/result-render.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/result-render.js +77 -0
- package/dist/cli/commands/skills/lib/result-render.js.map +1 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.d.ts +46 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.js +217 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.js.map +1 -0
- package/dist/cli/commands/skills/lib/sanitize.d.ts +17 -0
- package/dist/cli/commands/skills/lib/sanitize.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/sanitize.js +73 -0
- package/dist/cli/commands/skills/lib/sanitize.js.map +1 -0
- package/dist/cli/commands/skills/lib/skills-metrics.d.ts +74 -0
- package/dist/cli/commands/skills/lib/skills-metrics.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/skills-metrics.js +268 -0
- package/dist/cli/commands/skills/lib/skills-metrics.js.map +1 -0
- package/dist/cli/commands/skills/lib/skills-search-client.d.ts +36 -0
- package/dist/cli/commands/skills/lib/skills-search-client.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/skills-search-client.js +147 -0
- package/dist/cli/commands/skills/lib/skills-search-client.js.map +1 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts +10 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.js +33 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.js.map +1 -0
- package/dist/cli/commands/skills/list.d.ts +13 -0
- package/dist/cli/commands/skills/list.d.ts.map +1 -0
- package/dist/cli/commands/skills/list.js +55 -0
- package/dist/cli/commands/skills/list.js.map +1 -0
- package/dist/cli/commands/skills/remove.d.ts +11 -0
- package/dist/cli/commands/skills/remove.d.ts.map +1 -0
- package/dist/cli/commands/skills/remove.js +93 -0
- package/dist/cli/commands/skills/remove.js.map +1 -0
- package/dist/cli/commands/skills/setup/constants.d.ts +2 -0
- package/dist/cli/commands/skills/setup/constants.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/constants.js +2 -0
- package/dist/cli/commands/skills/setup/constants.js.map +1 -0
- package/dist/cli/commands/skills/setup/data.d.ts +28 -0
- package/dist/cli/commands/skills/setup/data.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/data.js +79 -0
- package/dist/cli/commands/skills/setup/data.js.map +1 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts +12 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js +94 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js.map +1 -0
- package/dist/cli/commands/skills/setup/helpers.d.ts +12 -0
- package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/helpers.js +31 -0
- package/dist/cli/commands/skills/setup/helpers.js.map +1 -0
- package/dist/cli/commands/skills/setup/index.d.ts +5 -0
- package/dist/cli/commands/skills/setup/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/index.js +137 -0
- package/dist/cli/commands/skills/setup/index.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/actions.d.ts +2 -0
- package/dist/cli/commands/skills/setup/selection/actions.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/actions.js +2 -0
- package/dist/cli/commands/skills/setup/selection/actions.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/constants.d.ts +11 -0
- package/dist/cli/commands/skills/setup/selection/constants.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/constants.js +11 -0
- package/dist/cli/commands/skills/setup/selection/constants.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/index.d.ts +13 -0
- package/dist/cli/commands/skills/setup/selection/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/index.js +113 -0
- package/dist/cli/commands/skills/setup/selection/index.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts +2 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.js +2 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/types.d.ts +13 -0
- package/dist/cli/commands/skills/setup/selection/types.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/types.js +2 -0
- package/dist/cli/commands/skills/setup/selection/types.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/ui.d.ts +3 -0
- package/dist/cli/commands/skills/setup/selection/ui.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/ui.js +68 -0
- package/dist/cli/commands/skills/setup/selection/ui.js.map +1 -0
- package/dist/cli/commands/skills/setup/sync.d.ts +13 -0
- package/dist/cli/commands/skills/setup/sync.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/sync.js +46 -0
- package/dist/cli/commands/skills/setup/sync.js.map +1 -0
- package/dist/cli/commands/skills/update.d.ts +7 -0
- package/dist/cli/commands/skills/update.d.ts.map +1 -0
- package/dist/cli/commands/skills/update.js +71 -0
- package/dist/cli/commands/skills/update.js.map +1 -0
- package/dist/cli/first-time.d.ts.map +1 -1
- package/dist/cli/first-time.js +4 -0
- package/dist/cli/first-time.js.map +1 -1
- package/dist/cli/index.js +14 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +14 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/providers/core/types.d.ts +1 -1
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.d.ts.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js +26 -2
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts +31 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +148 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.d.ts +9 -0
- package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.js +36 -0
- package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +12 -12
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +15 -15
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +4 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +4 -3
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +3 -3
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.models.js +2 -2
- package/dist/providers/plugins/sso/sso.models.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +6 -10
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/telemetry/clients/claude-desktop/ClaudeDesktopTelemetryAdapter.d.ts +15 -0
- package/dist/telemetry/clients/claude-desktop/ClaudeDesktopTelemetryAdapter.d.ts.map +1 -0
- package/dist/telemetry/clients/claude-desktop/ClaudeDesktopTelemetryAdapter.js +117 -0
- package/dist/telemetry/clients/claude-desktop/ClaudeDesktopTelemetryAdapter.js.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts +3 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +138 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.metrics.d.ts +4 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.metrics.d.ts.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.metrics.js +53 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.metrics.js.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts +4 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js +60 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.d.ts +4 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.d.ts.map +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js +19 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js.map +1 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts +23 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +243 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -0
- package/dist/telemetry/runtime/checkpoints.d.ts +10 -0
- package/dist/telemetry/runtime/checkpoints.d.ts.map +1 -0
- package/dist/telemetry/runtime/checkpoints.js +8 -0
- package/dist/telemetry/runtime/checkpoints.js.map +1 -0
- package/dist/telemetry/runtime/types.d.ts +32 -0
- package/dist/telemetry/runtime/types.d.ts.map +1 -0
- package/dist/telemetry/runtime/types.js +2 -0
- package/dist/telemetry/runtime/types.js.map +1 -0
- package/dist/utils/config.d.ts +14 -3
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +95 -5
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/processes.d.ts +6 -0
- package/dist/utils/processes.d.ts.map +1 -1
- package/dist/utils/processes.js +13 -3
- package/dist/utils/processes.js.map +1 -1
- package/package.json +25 -11
- package/scripts/README.md +15 -1
- package/scripts/copy-plugins.js +5 -0
- package/scripts/prepare-install-artifacts.mjs +66 -0
- package/scripts/sonar/package.json +3 -0
- package/scripts/sonar/run-local-sonar.js +405 -0
- package/scripts/test-desktop-telemetry.js +229 -0
- package/scripts/test-proxy-endpoint.js +173 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +0 -31
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +0 -81
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts +0 -30
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts.map +0 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js +0 -111
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export function extractClaudeDesktopMetrics(messages) {
|
|
2
|
+
const toolCounts = {};
|
|
3
|
+
const toolStatus = {};
|
|
4
|
+
const fileOperations = [];
|
|
5
|
+
const toolResultsMap = new Map();
|
|
6
|
+
for (const msg of messages) {
|
|
7
|
+
if (!msg.message?.content || !Array.isArray(msg.message.content))
|
|
8
|
+
continue;
|
|
9
|
+
for (const item of msg.message.content) {
|
|
10
|
+
if (item.type === 'tool_result' && item.tool_use_id) {
|
|
11
|
+
const isError = item.isError === true || item.is_error === true;
|
|
12
|
+
toolResultsMap.set(item.tool_use_id, isError);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
for (const msg of messages) {
|
|
17
|
+
if (msg.message?.content && Array.isArray(msg.message.content)) {
|
|
18
|
+
for (const item of msg.message.content) {
|
|
19
|
+
if (item.type !== 'tool_use' || !item.name || !item.id)
|
|
20
|
+
continue;
|
|
21
|
+
toolCounts[item.name] = (toolCounts[item.name] || 0) + 1;
|
|
22
|
+
toolStatus[item.name] ??= { success: 0, failure: 0 };
|
|
23
|
+
if (toolResultsMap.has(item.id)) {
|
|
24
|
+
if (toolResultsMap.get(item.id)) {
|
|
25
|
+
toolStatus[item.name].failure++;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
toolStatus[item.name].success++;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const filePath = msg.toolUseResult?.file?.filePath;
|
|
34
|
+
const toolType = msg.toolUseResult?.type?.toLowerCase();
|
|
35
|
+
if (!filePath || !toolType)
|
|
36
|
+
continue;
|
|
37
|
+
if (toolType.includes('write')) {
|
|
38
|
+
fileOperations.push({ type: 'write', path: filePath });
|
|
39
|
+
}
|
|
40
|
+
else if (toolType.includes('edit')) {
|
|
41
|
+
fileOperations.push({ type: 'edit', path: filePath });
|
|
42
|
+
}
|
|
43
|
+
else if (toolType.includes('delete') || toolType.includes('remove')) {
|
|
44
|
+
fileOperations.push({ type: 'delete', path: filePath });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
tools: toolCounts,
|
|
49
|
+
toolStatus,
|
|
50
|
+
fileOperations
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=claude-desktop.metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-desktop.metrics.js","sourceRoot":"","sources":["../../../../src/telemetry/clients/claude-desktop/claude-desktop.metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ParsedSession } from '../../../agents/core/session/BaseSessionAdapter.js';
|
|
2
|
+
import type { LocalTelemetryDiscoveredSession } from '../../../telemetry/runtime/types.js';
|
|
3
|
+
export declare function parseClaudeDesktopSession(discovered: LocalTelemetryDiscoveredSession, codemieSessionId: string): Promise<ParsedSession>;
|
|
4
|
+
//# sourceMappingURL=claude-desktop.parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-desktop.parser.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/clients/claude-desktop/claude-desktop.parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAKjF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAwDpF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,+BAA+B,EAC3C,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC,CA+BxB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { readFile } from 'fs/promises';
|
|
2
|
+
import { ClaudePluginMetadata } from '../../../agents/plugins/claude/claude.plugin.js';
|
|
3
|
+
import { ClaudeSessionAdapter } from '../../../agents/plugins/claude/claude.session.js';
|
|
4
|
+
import { readJSONL } from '../../../agents/core/session/utils/jsonl-reader.js';
|
|
5
|
+
import { extractClaudeDesktopMetrics } from './claude-desktop.metrics.js';
|
|
6
|
+
function normalizeTimestamp(event, metadata) {
|
|
7
|
+
return event.timestamp
|
|
8
|
+
|| event._audit_timestamp
|
|
9
|
+
|| new Date(metadata.lastActivityAt || metadata.createdAt).toISOString();
|
|
10
|
+
}
|
|
11
|
+
function normalizeMessage(event, metadata) {
|
|
12
|
+
const content = event.message?.content;
|
|
13
|
+
const normalizedContent = Array.isArray(content)
|
|
14
|
+
? content
|
|
15
|
+
: typeof content === 'string'
|
|
16
|
+
? content
|
|
17
|
+
: [];
|
|
18
|
+
return {
|
|
19
|
+
type: event.type,
|
|
20
|
+
subtype: event.subtype,
|
|
21
|
+
uuid: event.uuid || `${event.type}-${normalizeTimestamp(event, metadata)}`,
|
|
22
|
+
parentUuid: typeof event.parent_tool_use_id === 'string' ? event.parent_tool_use_id : undefined,
|
|
23
|
+
sessionId: event.session_id || metadata.cliSessionId || metadata.sessionId,
|
|
24
|
+
timestamp: normalizeTimestamp(event, metadata),
|
|
25
|
+
cwd: event.cwd,
|
|
26
|
+
message: event.message ? {
|
|
27
|
+
...event.message,
|
|
28
|
+
model: event.message.model || metadata.model,
|
|
29
|
+
content: normalizedContent
|
|
30
|
+
} : undefined,
|
|
31
|
+
toolUseResult: event.toolUseResult
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export async function parseClaudeDesktopSession(discovered, codemieSessionId) {
|
|
35
|
+
if (discovered.transcriptPath.endsWith('.jsonl')) {
|
|
36
|
+
const parsed = await new ClaudeSessionAdapter(ClaudePluginMetadata).parseSessionFile(discovered.transcriptPath, codemieSessionId);
|
|
37
|
+
return {
|
|
38
|
+
...parsed,
|
|
39
|
+
agentName: 'claude-desktop'
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const metadata = JSON.parse(await readFile(discovered.metadataPath, 'utf-8'));
|
|
43
|
+
const auditEvents = await readJSONL(discovered.transcriptPath);
|
|
44
|
+
const messages = auditEvents
|
|
45
|
+
.filter((event) => event.type === 'user' || event.type === 'assistant' || event.type === 'system')
|
|
46
|
+
.map((event) => normalizeMessage(event, metadata));
|
|
47
|
+
return {
|
|
48
|
+
sessionId: codemieSessionId,
|
|
49
|
+
agentName: 'claude-desktop',
|
|
50
|
+
agentVersion: undefined,
|
|
51
|
+
metadata: {
|
|
52
|
+
projectPath: discovered.transcriptPath,
|
|
53
|
+
createdAt: new Date(discovered.createdAt).toISOString(),
|
|
54
|
+
updatedAt: new Date(discovered.updatedAt).toISOString()
|
|
55
|
+
},
|
|
56
|
+
messages,
|
|
57
|
+
metrics: extractClaudeDesktopMetrics(messages)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=claude-desktop.parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-desktop.parser.js","sourceRoot":"","sources":["../../../../src/telemetry/clients/claude-desktop/claude-desktop.parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-desktop.paths.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/clients/claude-desktop/claude-desktop.paths.ts"],"names":[],"mappings":"AAIA,wBAAgB,uBAAuB,IAAI,MAAM,CAYhD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { ConfigurationError } from '../../../utils/errors.js';
|
|
4
|
+
export function getClaudeDesktopBaseDir() {
|
|
5
|
+
if (process.platform === 'win32') {
|
|
6
|
+
return join(process.env.APPDATA ?? join(homedir(), 'AppData', 'Roaming'), 'Claude-3p');
|
|
7
|
+
}
|
|
8
|
+
if (process.platform === 'darwin') {
|
|
9
|
+
return join(homedir(), 'Library', 'Application Support', 'Claude-3p');
|
|
10
|
+
}
|
|
11
|
+
throw new ConfigurationError(`Claude Desktop proxy is not supported on platform "${process.platform}"`);
|
|
12
|
+
}
|
|
13
|
+
export function getClaudeDesktopLocalSessionsRoot() {
|
|
14
|
+
return join(getClaudeDesktopBaseDir(), 'local-agent-mode-sessions');
|
|
15
|
+
}
|
|
16
|
+
export function getClaudeDesktopCodeSessionsRoot() {
|
|
17
|
+
return join(getClaudeDesktopBaseDir(), 'claude-code-sessions');
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=claude-desktop.paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-desktop.paths.js","sourceRoot":"","sources":["../../../../src/telemetry/clients/claude-desktop/claude-desktop.paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,UAAU,uBAAuB;IACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,IAAI,kBAAkB,CAC1B,sDAAsD,OAAO,CAAC,QAAQ,GAAG,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,IAAI,CAAC,uBAAuB,EAAE,EAAE,2BAA2B,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO,IAAI,CAAC,uBAAuB,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DesktopTelemetryRuntimeConfig, LocalTelemetryAdapter } from '../../telemetry/runtime/types.js';
|
|
2
|
+
export declare class DesktopTelemetryRuntime {
|
|
3
|
+
private readonly adapter;
|
|
4
|
+
private readonly config;
|
|
5
|
+
private readonly sessionStore;
|
|
6
|
+
private readonly syncer;
|
|
7
|
+
private readonly trackedSessions;
|
|
8
|
+
private readonly startedAt;
|
|
9
|
+
private timer?;
|
|
10
|
+
private lastPollAt;
|
|
11
|
+
private isPolling;
|
|
12
|
+
constructor(adapter: LocalTelemetryAdapter, config: DesktopTelemetryRuntimeConfig);
|
|
13
|
+
start(): Promise<void>;
|
|
14
|
+
stop(): Promise<void>;
|
|
15
|
+
private poll;
|
|
16
|
+
private ensureSession;
|
|
17
|
+
private processSession;
|
|
18
|
+
private finalizeSession;
|
|
19
|
+
private buildProcessingContext;
|
|
20
|
+
private sendSessionStartMetric;
|
|
21
|
+
private sendSessionEndMetric;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=DesktopTelemetryRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DesktopTelemetryRuntime.d.ts","sourceRoot":"","sources":["../../../src/telemetry/runtime/DesktopTelemetryRuntime.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qBAAqB,EAEtB,MAAM,8BAA8B,CAAC;AAUtC,qBAAa,uBAAuB;IAUhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAS;gBAGP,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,6BAA6B;IAGlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAWb,IAAI;YAuCJ,aAAa;YAkDb,cAAc;YAgBd,eAAe;YA+Cf,sBAAsB;YAiCtB,sBAAsB;YAiCtB,oBAAoB;CA+BnC"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
import { SessionStore } from '../../agents/core/session/SessionStore.js';
|
|
3
|
+
import { MetricsSender } from '../../providers/plugins/sso/index.js';
|
|
4
|
+
import { SessionSyncer } from '../../providers/plugins/sso/session/SessionSyncer.js';
|
|
5
|
+
import { CodeMieSSO } from '../../providers/plugins/sso/sso.auth.js';
|
|
6
|
+
import { setRuntimeCheckpoint } from '../../telemetry/runtime/checkpoints.js';
|
|
7
|
+
import { logger } from '../../utils/logger.js';
|
|
8
|
+
import { detectGitBranch, detectGitRemoteRepo } from '../../utils/processes.js';
|
|
9
|
+
export class DesktopTelemetryRuntime {
|
|
10
|
+
adapter;
|
|
11
|
+
config;
|
|
12
|
+
sessionStore = new SessionStore();
|
|
13
|
+
syncer = new SessionSyncer();
|
|
14
|
+
trackedSessions = new Map();
|
|
15
|
+
startedAt = Date.now();
|
|
16
|
+
timer;
|
|
17
|
+
lastPollAt = this.startedAt;
|
|
18
|
+
isPolling = false;
|
|
19
|
+
constructor(adapter, config) {
|
|
20
|
+
this.adapter = adapter;
|
|
21
|
+
this.config = config;
|
|
22
|
+
}
|
|
23
|
+
async start() {
|
|
24
|
+
await this.poll();
|
|
25
|
+
this.timer = setInterval(() => {
|
|
26
|
+
this.poll().catch((error) => {
|
|
27
|
+
logger.error('[desktop-telemetry] Poll failed:', error);
|
|
28
|
+
});
|
|
29
|
+
}, this.config.pollIntervalMs);
|
|
30
|
+
}
|
|
31
|
+
async stop() {
|
|
32
|
+
if (this.timer) {
|
|
33
|
+
clearInterval(this.timer);
|
|
34
|
+
this.timer = undefined;
|
|
35
|
+
}
|
|
36
|
+
for (const tracked of this.trackedSessions.values()) {
|
|
37
|
+
await this.finalizeSession(tracked.codemieSessionId, 'desktop-daemon-stop');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async poll() {
|
|
41
|
+
if (this.isPolling) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.isPolling = true;
|
|
45
|
+
const now = Date.now();
|
|
46
|
+
try {
|
|
47
|
+
const discoveredSessions = await this.adapter.discoverSessions(this.lastPollAt - this.config.pollIntervalMs);
|
|
48
|
+
for (const discovered of discoveredSessions) {
|
|
49
|
+
if (discovered.createdAt < this.startedAt) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const session = await this.ensureSession(discovered);
|
|
53
|
+
this.trackedSessions.set(discovered.externalSessionId, {
|
|
54
|
+
codemieSessionId: session.sessionId,
|
|
55
|
+
lastSeenActivityAt: discovered.updatedAt
|
|
56
|
+
});
|
|
57
|
+
await this.processSession(session, discovered);
|
|
58
|
+
}
|
|
59
|
+
for (const [externalSessionId, tracked] of this.trackedSessions) {
|
|
60
|
+
const inactiveForMs = now - tracked.lastSeenActivityAt;
|
|
61
|
+
if (inactiveForMs < this.config.inactivityTimeoutMs) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
await this.finalizeSession(tracked.codemieSessionId, 'desktop-inactive-timeout');
|
|
65
|
+
this.trackedSessions.delete(externalSessionId);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
this.lastPollAt = now;
|
|
70
|
+
this.isPolling = false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async ensureSession(discovered) {
|
|
74
|
+
const existing = await this.sessionStore.findSessionByExternalId(this.config.clientType, discovered.externalSessionId);
|
|
75
|
+
if (existing) {
|
|
76
|
+
setRuntimeCheckpoint(existing, {
|
|
77
|
+
externalSessionId: discovered.externalSessionId,
|
|
78
|
+
transcriptPath: discovered.transcriptPath,
|
|
79
|
+
lastDiscoveredAt: Date.now(),
|
|
80
|
+
lastSeenActivityAt: discovered.updatedAt
|
|
81
|
+
});
|
|
82
|
+
await this.sessionStore.saveSession(existing);
|
|
83
|
+
return existing;
|
|
84
|
+
}
|
|
85
|
+
const [gitBranch, repository] = await Promise.all([
|
|
86
|
+
detectGitBranch(discovered.workingDirectory),
|
|
87
|
+
detectGitRemoteRepo(discovered.workingDirectory)
|
|
88
|
+
]);
|
|
89
|
+
const session = {
|
|
90
|
+
sessionId: randomUUID(),
|
|
91
|
+
agentName: this.config.clientType,
|
|
92
|
+
provider: this.config.provider,
|
|
93
|
+
startTime: discovered.createdAt,
|
|
94
|
+
workingDirectory: discovered.workingDirectory,
|
|
95
|
+
gitBranch: gitBranch || undefined,
|
|
96
|
+
repository: repository || undefined,
|
|
97
|
+
status: 'active',
|
|
98
|
+
activeDurationMs: 0,
|
|
99
|
+
correlation: {
|
|
100
|
+
status: 'matched',
|
|
101
|
+
agentSessionId: discovered.agentSessionId,
|
|
102
|
+
agentSessionFile: discovered.transcriptPath,
|
|
103
|
+
retryCount: 0
|
|
104
|
+
},
|
|
105
|
+
runtimeCheckpoint: {
|
|
106
|
+
externalSessionId: discovered.externalSessionId,
|
|
107
|
+
transcriptPath: discovered.transcriptPath,
|
|
108
|
+
lastDiscoveredAt: Date.now(),
|
|
109
|
+
lastSeenActivityAt: discovered.updatedAt
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
await this.sessionStore.saveSession(session);
|
|
113
|
+
await this.sendSessionStartMetric(session, discovered);
|
|
114
|
+
return session;
|
|
115
|
+
}
|
|
116
|
+
async processSession(session, discovered) {
|
|
117
|
+
const parsedSession = await this.adapter.parseSession(discovered, session.sessionId);
|
|
118
|
+
const context = await this.buildProcessingContext(session, discovered);
|
|
119
|
+
const result = await this.adapter.processParsedSession(parsedSession, context);
|
|
120
|
+
if (result.totalRecords > 0) {
|
|
121
|
+
const syncResult = await this.syncer.sync(session.sessionId, context);
|
|
122
|
+
logger.info('[desktop-telemetry] Session synced', {
|
|
123
|
+
sessionId: session.sessionId,
|
|
124
|
+
externalSessionId: discovered.externalSessionId,
|
|
125
|
+
totalRecords: result.totalRecords,
|
|
126
|
+
syncMessage: syncResult.message
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async finalizeSession(sessionId, reason) {
|
|
131
|
+
const session = await this.sessionStore.loadSession(sessionId);
|
|
132
|
+
if (!session || session.status === 'completed') {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
session.status = 'completed';
|
|
136
|
+
session.reason = reason;
|
|
137
|
+
session.endTime = Date.now();
|
|
138
|
+
await this.sessionStore.saveSession(session);
|
|
139
|
+
const externalSessionId = session.runtimeCheckpoint?.externalSessionId;
|
|
140
|
+
if (externalSessionId) {
|
|
141
|
+
try {
|
|
142
|
+
const sinceMs = Math.max(0, (session.runtimeCheckpoint?.lastSeenActivityAt
|
|
143
|
+
?? session.runtimeCheckpoint?.lastDiscoveredAt
|
|
144
|
+
?? session.startTime) - this.config.pollIntervalMs);
|
|
145
|
+
const discoveredSessions = await this.adapter.discoverSessions(sinceMs);
|
|
146
|
+
const discovered = discoveredSessions.find(candidate => candidate.externalSessionId === externalSessionId);
|
|
147
|
+
if (discovered) {
|
|
148
|
+
await this.processSession(session, discovered);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
logger.warn('[desktop-telemetry] Failed to rediscover session during finalization', {
|
|
152
|
+
sessionId,
|
|
153
|
+
externalSessionId
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
logger.warn('[desktop-telemetry] Final transcript processing failed', {
|
|
159
|
+
sessionId,
|
|
160
|
+
externalSessionId,
|
|
161
|
+
error: error instanceof Error ? error.message : String(error)
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
const context = await this.buildProcessingContext(session);
|
|
166
|
+
await this.syncer.sync(sessionId, context);
|
|
167
|
+
await this.sendSessionEndMetric(session);
|
|
168
|
+
}
|
|
169
|
+
async buildProcessingContext(session, discovered) {
|
|
170
|
+
let cookies = '';
|
|
171
|
+
const credentialsUrl = this.config.syncCodeMieUrl || this.config.targetApiUrl;
|
|
172
|
+
try {
|
|
173
|
+
const credentials = await new CodeMieSSO().getStoredCredentials(credentialsUrl);
|
|
174
|
+
if (credentials?.cookies) {
|
|
175
|
+
cookies = Object.entries(credentials.cookies)
|
|
176
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
177
|
+
.join('; ');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
logger.debug('[desktop-telemetry] Failed to load SSO credentials', {
|
|
182
|
+
credentialsUrl,
|
|
183
|
+
error: error instanceof Error ? error.message : String(error)
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
apiBaseUrl: this.config.syncApiUrl || this.config.targetApiUrl,
|
|
188
|
+
cookies,
|
|
189
|
+
clientType: this.config.clientType,
|
|
190
|
+
version: this.config.version,
|
|
191
|
+
dryRun: false,
|
|
192
|
+
sessionId: session.sessionId,
|
|
193
|
+
agentSessionId: discovered?.agentSessionId || session.correlation.agentSessionId,
|
|
194
|
+
agentSessionFile: discovered?.transcriptPath || session.correlation.agentSessionFile
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
async sendSessionStartMetric(session, discovered) {
|
|
198
|
+
const context = await this.buildProcessingContext(session, discovered);
|
|
199
|
+
if (!context.cookies) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const sender = new MetricsSender({
|
|
203
|
+
baseUrl: context.apiBaseUrl,
|
|
204
|
+
cookies: context.cookies,
|
|
205
|
+
version: this.config.version,
|
|
206
|
+
clientType: this.config.clientType,
|
|
207
|
+
retryAttempts: 2,
|
|
208
|
+
timeout: 10000
|
|
209
|
+
});
|
|
210
|
+
await sender.sendSessionStart({
|
|
211
|
+
sessionId: discovered.agentSessionId,
|
|
212
|
+
agentName: this.config.clientType,
|
|
213
|
+
provider: this.config.provider,
|
|
214
|
+
startTime: session.startTime,
|
|
215
|
+
workingDirectory: session.workingDirectory,
|
|
216
|
+
repository: session.repository,
|
|
217
|
+
model: discovered.model
|
|
218
|
+
}, session.workingDirectory, { status: 'started', reason: 'desktop-proxy-detected' });
|
|
219
|
+
}
|
|
220
|
+
async sendSessionEndMetric(session) {
|
|
221
|
+
const context = await this.buildProcessingContext(session);
|
|
222
|
+
if (!context.cookies) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const sender = new MetricsSender({
|
|
226
|
+
baseUrl: context.apiBaseUrl,
|
|
227
|
+
cookies: context.cookies,
|
|
228
|
+
version: this.config.version,
|
|
229
|
+
clientType: this.config.clientType,
|
|
230
|
+
retryAttempts: 2,
|
|
231
|
+
timeout: 10000
|
|
232
|
+
});
|
|
233
|
+
await sender.sendSessionEnd({
|
|
234
|
+
sessionId: session.correlation.agentSessionId || session.sessionId,
|
|
235
|
+
agentName: this.config.clientType,
|
|
236
|
+
provider: this.config.provider,
|
|
237
|
+
startTime: session.startTime,
|
|
238
|
+
workingDirectory: session.workingDirectory,
|
|
239
|
+
repository: session.repository
|
|
240
|
+
}, session.workingDirectory, { status: 'completed', reason: session.reason || 'desktop-session-complete' }, Math.max(0, (session.endTime || Date.now()) - session.startTime), undefined, session.activeDurationMs);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=DesktopTelemetryRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DesktopTelemetryRuntime.js","sourceRoot":"","sources":["../../../src/telemetry/runtime/DesktopTelemetryRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Session } from '../../agents/core/session/types.js';
|
|
2
|
+
export interface RuntimeCheckpoint {
|
|
3
|
+
externalSessionId: string;
|
|
4
|
+
transcriptPath: string;
|
|
5
|
+
lastDiscoveredAt: number;
|
|
6
|
+
lastSeenActivityAt?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function getRuntimeCheckpoint(session: Session): RuntimeCheckpoint | undefined;
|
|
9
|
+
export declare function setRuntimeCheckpoint(session: Session, checkpoint: RuntimeCheckpoint): Session;
|
|
10
|
+
//# sourceMappingURL=checkpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../../src/telemetry/runtime/checkpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAEpF;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAGT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoints.js","sourceRoot":"","sources":["../../../src/telemetry/runtime/checkpoints.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,OAAO,CAAC,iBAAiB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,UAA6B;IAE7B,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC;IACvC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AggregatedResult, ParsedSession } from '../../agents/core/session/BaseSessionAdapter.js';
|
|
2
|
+
import type { ProcessingContext } from '../../agents/core/session/BaseProcessor.js';
|
|
3
|
+
export interface LocalTelemetryDiscoveredSession {
|
|
4
|
+
externalSessionId: string;
|
|
5
|
+
agentSessionId: string;
|
|
6
|
+
transcriptPath: string;
|
|
7
|
+
metadataPath: string;
|
|
8
|
+
workingDirectory: string;
|
|
9
|
+
createdAt: number;
|
|
10
|
+
updatedAt: number;
|
|
11
|
+
model?: string;
|
|
12
|
+
isArchived?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface DesktopTelemetryRuntimeConfig {
|
|
15
|
+
clientType: string;
|
|
16
|
+
targetApiUrl: string;
|
|
17
|
+
provider: string;
|
|
18
|
+
version: string;
|
|
19
|
+
profile?: string;
|
|
20
|
+
syncApiUrl?: string;
|
|
21
|
+
syncCodeMieUrl?: string;
|
|
22
|
+
pollIntervalMs: number;
|
|
23
|
+
inactivityTimeoutMs: number;
|
|
24
|
+
}
|
|
25
|
+
export interface LocalTelemetryAdapter {
|
|
26
|
+
readonly clientType: string;
|
|
27
|
+
discoverSessions(sinceMs: number): Promise<LocalTelemetryDiscoveredSession[]>;
|
|
28
|
+
parseSession(discovered: LocalTelemetryDiscoveredSession, codemieSessionId: string): Promise<ParsedSession>;
|
|
29
|
+
processParsedSession(parsedSession: ParsedSession, context: ProcessingContext): Promise<AggregatedResult>;
|
|
30
|
+
isSessionComplete?(discovered: LocalTelemetryDiscoveredSession, now: number): boolean;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/telemetry/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,MAAM,WAAW,+BAA+B;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAC9E,YAAY,CACV,UAAU,EAAE,+BAA+B,EAC3C,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,oBAAoB,CAClB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,iBAAiB,CAAC,CAAC,UAAU,EAAE,+BAA+B,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/telemetry/runtime/types.ts"],"names":[],"mappings":""}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CodeMieConfigOptions, ProviderProfile, MultiProviderConfig, CodeMieIntegrationInfo, ConfigWithSource, ConfigWithSources, CodemieAssistant } from '../env/types.js';
|
|
1
|
+
import { CodeMieConfigOptions, ProviderProfile, MultiProviderConfig, CodeMieIntegrationInfo, ConfigWithSource, ConfigWithSources, CodemieAssistant, CodemieSkill } from '../env/types.js';
|
|
2
2
|
export type { CodeMieConfigOptions, CodeMieIntegrationInfo, ConfigWithSource, ConfigWithSources };
|
|
3
3
|
/**
|
|
4
4
|
* Unified configuration loader with priority system:
|
|
@@ -28,12 +28,20 @@ export declare class ConfigLoader {
|
|
|
28
28
|
/**
|
|
29
29
|
* Load global config and extract active profile if multi-provider
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
static loadGlobalConfigProfile(profileName?: string): Promise<Partial<CodeMieConfigOptions>>;
|
|
32
32
|
/**
|
|
33
33
|
* Load local (project) config and extract active profile if multi-provider
|
|
34
34
|
* Returns ONLY the fields defined in local config (for overlay on top of global)
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
static loadLocalConfigProfile(workingDir: string, profileName?: string): Promise<Partial<CodeMieConfigOptions>>;
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the effective profile name before loading profile data.
|
|
39
|
+
*
|
|
40
|
+
* Local configs can set activeProfile to a profile that exists only globally.
|
|
41
|
+
* In that case, the global profile must be loaded as the base before local
|
|
42
|
+
* overrides are applied.
|
|
43
|
+
*/
|
|
44
|
+
private static resolveProfileName;
|
|
37
45
|
/**
|
|
38
46
|
* Load configuration with validation (throws if required fields missing)
|
|
39
47
|
*/
|
|
@@ -119,6 +127,9 @@ export declare class ConfigLoader {
|
|
|
119
127
|
* Creates the local config file if it does not exist.
|
|
120
128
|
*/
|
|
121
129
|
static saveAssistantsToProjectConfig(workingDir: string, profileName: string, assistants: CodemieAssistant[]): Promise<void>;
|
|
130
|
+
static loadSkillsByScope(scope: 'global' | 'local', workingDir: string, profileName: string): Promise<CodemieSkill[]>;
|
|
131
|
+
static loadAssistantsByScope(scope: 'global' | 'local', workingDir: string, profileName: string): Promise<CodemieAssistant[]>;
|
|
132
|
+
static saveSkillsToProjectConfig(workingDir: string, profileName: string, skills: CodemieSkill[]): Promise<void>;
|
|
122
133
|
/**
|
|
123
134
|
* Delete global config file
|
|
124
135
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|