@codemieai/code 0.10.1 → 0.12.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/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +11 -3
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +3 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +34 -2
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/config-redaction.d.ts +7 -0
- package/dist/agents/core/config-redaction.d.ts.map +1 -0
- package/dist/agents/core/config-redaction.js +20 -0
- package/dist/agents/core/config-redaction.js.map +1 -0
- package/dist/agents/core/print-config.d.ts +8 -0
- package/dist/agents/core/print-config.d.ts.map +1 -0
- package/dist/agents/core/print-config.js +17 -0
- package/dist/agents/core/print-config.js.map +1 -0
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +24 -1
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/core/types.d.ts +44 -4
- package/dist/agents/core/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 +73 -0
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- 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 +115 -32
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/settings-conflict.d.ts +8 -0
- package/dist/agents/plugins/claude/settings-conflict.d.ts.map +1 -0
- package/dist/agents/plugins/claude/settings-conflict.js +35 -0
- package/dist/agents/plugins/claude/settings-conflict.js.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +14 -2
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +218 -263
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -1
- package/dist/agents/plugins/copilot-cli/copilot-cli-event-types.d.ts +146 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli-event-types.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli-event-types.js +12 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli-event-types.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.constants.d.ts +11 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.constants.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.constants.js +11 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.constants.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.paths.d.ts +11 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.paths.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.paths.js +21 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.paths.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts +30 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js +64 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.session.d.ts +43 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.session.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.session.js +331 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.session.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.storage-utils.d.ts +10 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.storage-utils.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.storage-utils.js +41 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.storage-utils.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.usage.d.ts +37 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.usage.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.usage.js +96 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.usage.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.workspace.d.ts +17 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.workspace.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.workspace.js +58 -0
- package/dist/agents/plugins/copilot-cli/copilot-cli.workspace.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/index.d.ts +2 -0
- package/dist/agents/plugins/copilot-cli/index.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/index.js +2 -0
- package/dist/agents/plugins/copilot-cli/index.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.d.ts +15 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.js +20 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.js.map +1 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.metrics-processor.d.ts +16 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.metrics-processor.d.ts.map +1 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.metrics-processor.js +22 -0
- package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.metrics-processor.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +13 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.incremental-sync.d.ts +38 -0
- package/dist/agents/plugins/opencode/opencode.incremental-sync.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.incremental-sync.js +153 -0
- package/dist/agents/plugins/opencode/opencode.incremental-sync.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.paths.d.ts +18 -2
- package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.paths.js +39 -6
- package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.js +241 -75
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts +18 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.js +58 -17
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +8 -2
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +67 -42
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts +19 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.storage-utils.js +51 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.js.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts +13 -19
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js +339 -82
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +37 -33
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +204 -246
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
- package/dist/agents/registry.d.ts +20 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +29 -2
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/analytics/agent-labels.d.ts +3 -0
- package/dist/cli/commands/analytics/agent-labels.d.ts.map +1 -0
- package/dist/cli/commands/analytics/agent-labels.js +19 -0
- package/dist/cli/commands/analytics/agent-labels.js.map +1 -0
- package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.js +12 -0
- package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
- package/dist/cli/commands/analytics/cost/types.d.ts +10 -0
- package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.js +54 -0
- package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/formatter.js +10 -2
- package/dist/cli/commands/analytics/formatter.js.map +1 -1
- package/dist/cli/commands/analytics/index.d.ts.map +1 -1
- package/dist/cli/commands/analytics/index.js +21 -0
- package/dist/cli/commands/analytics/index.js.map +1 -1
- package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/native-loader.js +28 -3
- package/dist/cli/commands/analytics/native-loader.js.map +1 -1
- package/dist/cli/commands/analytics/report/client/app.js +32 -14
- package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
- package/dist/cli/commands/analytics/report/payload-builder.js +7 -0
- package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
- package/dist/cli/commands/analytics/report/types.d.ts +10 -0
- package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
- package/dist/cli/commands/install.js +2 -2
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.js +1 -1
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.js +6 -0
- package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +1 -0
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.js +36 -12
- package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.js +3 -0
- package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
- package/dist/cli/commands/proxy/health-check.d.ts.map +1 -1
- package/dist/cli/commands/proxy/health-check.js +9 -0
- package/dist/cli/commands/proxy/health-check.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +33 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +151 -35
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/uninstall.js +1 -1
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/commands/update.js +2 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/first-time.js +3 -3
- package/dist/cli/first-time.js.map +1 -1
- package/dist/providers/core/types.d.ts +28 -1
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/core/types.js.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.js +21 -2
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -1
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/litellm/litellm.setup-steps.js +21 -5
- package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts +7 -6
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +13 -7
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +3 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.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 +39 -22
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/utils/config.d.ts +6 -2
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +30 -8
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/extensions-scan.d.ts.map +1 -1
- package/dist/utils/extensions-scan.js +59 -22
- package/dist/utils/extensions-scan.js.map +1 -1
- package/dist/utils/mcp-config.d.ts.map +1 -1
- package/dist/utils/mcp-config.js +11 -6
- package/dist/utils/mcp-config.js.map +1 -1
- package/package.json +1 -2
- package/scripts/release.sh +54 -0
|
@@ -13,14 +13,56 @@
|
|
|
13
13
|
* - Implements deduplication to prevent duplicate deltas
|
|
14
14
|
*/
|
|
15
15
|
import { isToolPart } from '../../opencode-message-types.js';
|
|
16
|
-
import {
|
|
16
|
+
import { readJsonlTolerant, loadPartsForMessage } from '../../opencode.storage-utils.js';
|
|
17
17
|
import { logger } from '../../../../../utils/logger.js';
|
|
18
|
-
import { getCodemiePath } from '../../../../../utils/paths.js';
|
|
19
|
-
import { readdir, readFile, writeFile } from 'fs/promises';
|
|
20
18
|
import { existsSync } from 'fs';
|
|
21
19
|
import { join } from 'path';
|
|
22
|
-
//
|
|
23
|
-
|
|
20
|
+
// NOTE: the former 60s REPROCESS_COOLDOWN_MS gate was removed deliberately.
|
|
21
|
+
// It predated incremental sync and would swallow every timer tick, stranding
|
|
22
|
+
// deltas on disk. Deduplication on `recordId` already makes process()
|
|
23
|
+
// idempotent, and the sync timer holds its own in-flight guard.
|
|
24
|
+
/**
|
|
25
|
+
* Map an apply_patch/patch per-file operation kind to a MetricDelta file
|
|
26
|
+
* operation type. The aggregator counts 'write' as files_created, 'edit' as
|
|
27
|
+
* files_modified and 'delete' as files_deleted.
|
|
28
|
+
*/
|
|
29
|
+
function mapPatchFileType(type) {
|
|
30
|
+
switch (type) {
|
|
31
|
+
case 'add': return 'write';
|
|
32
|
+
case 'delete': return 'delete';
|
|
33
|
+
case 'update': return 'edit';
|
|
34
|
+
default: return 'edit';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Count added/removed lines in a unified diff.
|
|
39
|
+
*
|
|
40
|
+
* OpenCode reports edits as patch text (`state.metadata.filediff.patch`,
|
|
41
|
+
* `state.metadata.diff`, `apply_patch` per-file `patch`); unlike Claude it never
|
|
42
|
+
* emits numeric additions/deletions, so the counts have to come from the diff.
|
|
43
|
+
*/
|
|
44
|
+
export function countDiffLines(patch) {
|
|
45
|
+
if (typeof patch !== 'string' || patch.length === 0) {
|
|
46
|
+
return { linesAdded: 0, linesRemoved: 0 };
|
|
47
|
+
}
|
|
48
|
+
let linesAdded = 0;
|
|
49
|
+
let linesRemoved = 0;
|
|
50
|
+
for (const line of patch.split('\n')) {
|
|
51
|
+
// Skip hunk headers and the ---/+++ file header pair, which are not content.
|
|
52
|
+
// The header test requires the trailing space git always emits ("--- a/x"),
|
|
53
|
+
// so a *content* line that merely starts with --- or +++ (a markdown rule, a
|
|
54
|
+
// YAML document separator) is still counted instead of silently dropped.
|
|
55
|
+
if (line.startsWith('@@'))
|
|
56
|
+
continue;
|
|
57
|
+
if (line.startsWith('+++ ') || line.startsWith('--- '))
|
|
58
|
+
continue;
|
|
59
|
+
if (line.startsWith('+'))
|
|
60
|
+
linesAdded++;
|
|
61
|
+
else if (line.startsWith('-'))
|
|
62
|
+
linesRemoved++;
|
|
63
|
+
}
|
|
64
|
+
return { linesAdded, linesRemoved };
|
|
65
|
+
}
|
|
24
66
|
/**
|
|
25
67
|
* OpenCode Metrics Processor
|
|
26
68
|
*
|
|
@@ -30,10 +72,6 @@ const REPROCESS_COOLDOWN_MS = 60_000; // 60 seconds
|
|
|
30
72
|
export class OpenCodeMetricsProcessor {
|
|
31
73
|
name = 'opencode-metrics';
|
|
32
74
|
priority = 1; // Run first (before conversations)
|
|
33
|
-
cacheDir;
|
|
34
|
-
constructor() {
|
|
35
|
-
this.cacheDir = getCodemiePath('cache', 'opencode');
|
|
36
|
-
}
|
|
37
75
|
/**
|
|
38
76
|
* Check if session has data to process
|
|
39
77
|
*/
|
|
@@ -45,7 +83,7 @@ export class OpenCodeMetricsProcessor {
|
|
|
45
83
|
*
|
|
46
84
|
* Per tech spec ADR-1/G2: Validate metadata at START before any processing
|
|
47
85
|
*/
|
|
48
|
-
async process(session,
|
|
86
|
+
async process(session, context) {
|
|
49
87
|
try {
|
|
50
88
|
// MANDATORY: Validate metadata has required fields (ADR-1, Review 13 G2)
|
|
51
89
|
const metadata = session.metadata;
|
|
@@ -61,14 +99,6 @@ export class OpenCodeMetricsProcessor {
|
|
|
61
99
|
}
|
|
62
100
|
const storagePath = metadata.storagePath;
|
|
63
101
|
const openCodeSessionId = metadata.openCodeSessionId || 'unknown';
|
|
64
|
-
// Check concurrent processing prevention (ADR-18)
|
|
65
|
-
if (!await this.shouldProcessSession(session.sessionId)) {
|
|
66
|
-
return {
|
|
67
|
-
success: true,
|
|
68
|
-
message: 'Session recently processed, skipping',
|
|
69
|
-
metadata: { skippedReason: 'RECENTLY_PROCESSED' }
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
102
|
const messages = session.messages;
|
|
73
103
|
// Transform messages to deltas
|
|
74
104
|
// Cast metadata to OpenCodeMetadata (validated above)
|
|
@@ -82,7 +112,11 @@ export class OpenCodeMetricsProcessor {
|
|
|
82
112
|
partsMap: metadata.partsMap,
|
|
83
113
|
storageType: metadata.storageType,
|
|
84
114
|
};
|
|
85
|
-
|
|
115
|
+
// Branch attribution: the aggregator groups deltas by gitBranch and emits
|
|
116
|
+
// one codemie_cli_tool_usage_total per branch. Without this every delta
|
|
117
|
+
// lands in the empty-string bucket.
|
|
118
|
+
const gitBranch = await this.resolveBranch(context, openCodeMetadata);
|
|
119
|
+
const { deltas, stats } = await this.transformMessagesToDeltas(messages, session.sessionId, openCodeSessionId, storagePath, openCodeMetadata, gitBranch);
|
|
86
120
|
if (deltas.length === 0) {
|
|
87
121
|
logger.debug(`[opencode-metrics] No new deltas to write for session ${session.sessionId}`);
|
|
88
122
|
return {
|
|
@@ -111,8 +145,6 @@ export class OpenCodeMetricsProcessor {
|
|
|
111
145
|
});
|
|
112
146
|
await writer.appendDelta(delta);
|
|
113
147
|
}
|
|
114
|
-
// Mark session as processed (ADR-18)
|
|
115
|
-
await this.markSessionProcessed(session.sessionId);
|
|
116
148
|
logger.info(`[opencode-metrics] Wrote ${deltas.length} deltas for session ${session.sessionId}`);
|
|
117
149
|
logger.info(`[opencode-metrics] Metrics file: ${writer.getFilePath()}`);
|
|
118
150
|
return {
|
|
@@ -137,111 +169,127 @@ export class OpenCodeMetricsProcessor {
|
|
|
137
169
|
}
|
|
138
170
|
}
|
|
139
171
|
/**
|
|
140
|
-
*
|
|
172
|
+
* Resolve the git branch every delta in this batch is attributed to.
|
|
173
|
+
*
|
|
174
|
+
* Mirrors codex.metrics-processor's resolveBranch: prefer the branch the CLI
|
|
175
|
+
* already resolved (BaseAgentAdapter sets CODEMIE_GIT_BRANCH before spawning),
|
|
176
|
+
* then the value the adapter overlaid onto session metadata, then detect it.
|
|
141
177
|
*/
|
|
142
|
-
async
|
|
178
|
+
async resolveBranch(context, sessionMetadata) {
|
|
179
|
+
if (context.gitBranch)
|
|
180
|
+
return context.gitBranch;
|
|
181
|
+
if (sessionMetadata.gitBranch)
|
|
182
|
+
return sessionMetadata.gitBranch;
|
|
183
|
+
if (!sessionMetadata.projectPath)
|
|
184
|
+
return undefined;
|
|
143
185
|
try {
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
const lastProcessed = parseInt(await readFile(lastProcessedPath, 'utf-8'), 10);
|
|
147
|
-
if (Date.now() - lastProcessed < REPROCESS_COOLDOWN_MS) {
|
|
148
|
-
logger.debug(`[opencode-metrics] Session ${sessionId} processed recently, skipping`);
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
186
|
+
const { detectGitBranch } = await import('../../../../../utils/processes.js');
|
|
187
|
+
return (await detectGitBranch(sessionMetadata.projectPath)) ?? undefined;
|
|
152
188
|
}
|
|
153
189
|
catch {
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
return true;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Mark session as processed (ADR-18)
|
|
160
|
-
*/
|
|
161
|
-
async markSessionProcessed(sessionId) {
|
|
162
|
-
try {
|
|
163
|
-
const { mkdir } = await import('fs/promises');
|
|
164
|
-
if (!existsSync(this.cacheDir)) {
|
|
165
|
-
await mkdir(this.cacheDir, { recursive: true });
|
|
166
|
-
}
|
|
167
|
-
const lastProcessedPath = join(this.cacheDir, `${sessionId}_last_processed`);
|
|
168
|
-
await writeFile(lastProcessedPath, Date.now().toString());
|
|
169
|
-
}
|
|
170
|
-
catch (error) {
|
|
171
|
-
logger.debug(`[opencode-metrics] Failed to mark session processed: ${error}`);
|
|
190
|
+
return undefined;
|
|
172
191
|
}
|
|
173
192
|
}
|
|
174
193
|
/**
|
|
175
|
-
* Transform messages to MetricDelta records
|
|
194
|
+
* Transform messages to MetricDelta records.
|
|
195
|
+
*
|
|
196
|
+
* One delta per tool call (`{messageId}:{callID}`), per user prompt
|
|
197
|
+
* (`{messageId}:prompt`) and per failed turn (`{messageId}:error`).
|
|
176
198
|
*
|
|
177
|
-
*
|
|
199
|
+
* Granularity matters: when the recordId was the bare assistant message id,
|
|
200
|
+
* the first incremental tick claimed the message and every tool that message
|
|
201
|
+
* accumulated afterwards was deduped away and never reported.
|
|
178
202
|
*/
|
|
179
|
-
async transformMessagesToDeltas(messages, codemieSessionId, openCodeSessionId, storagePath, sessionMetadata) {
|
|
203
|
+
async transformMessagesToDeltas(messages, codemieSessionId, openCodeSessionId, storagePath, sessionMetadata, gitBranch) {
|
|
180
204
|
const deltas = [];
|
|
181
|
-
const stats = {
|
|
182
|
-
|
|
183
|
-
};
|
|
184
|
-
// Get existing record IDs for deduplication (ADR-5)
|
|
205
|
+
const stats = { skippedDueToDedup: 0 };
|
|
206
|
+
// Single read of the existing JSONL — recordId dedup is the only state needed.
|
|
185
207
|
const existingRecordIds = await this.getExistingRecordIds(codemieSessionId);
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
alreadyAttachedPrompts.add(prompt.text);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
// Extract all user prompts (pass partsMap for SQLite-backed sessions)
|
|
198
|
-
const allUserPrompts = await this.extractUserPrompts(messages, storagePath, openCodeSessionId, sessionMetadata.partsMap);
|
|
199
|
-
// Filter to only NEW prompts
|
|
200
|
-
const newPrompts = allUserPrompts.filter(p => !alreadyAttachedPrompts.has(p.text));
|
|
201
|
-
let promptsAttached = false;
|
|
208
|
+
const base = (recordId, timestamp) => ({
|
|
209
|
+
recordId,
|
|
210
|
+
sessionId: codemieSessionId,
|
|
211
|
+
agentSessionId: openCodeSessionId,
|
|
212
|
+
timestamp,
|
|
213
|
+
...(gitBranch && { gitBranch }),
|
|
214
|
+
});
|
|
202
215
|
for (const msg of messages) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const { tools, toolStatus, fileOperations } = this.extractToolMetrics(parts);
|
|
215
|
-
// Skip if no tools, file ops, and not a prompt carrier (nothing meaningful to record)
|
|
216
|
-
const hasData = Object.keys(tools).length > 0 || fileOperations.length > 0;
|
|
217
|
-
const isPromptCarrier = !promptsAttached && newPrompts.length > 0;
|
|
218
|
-
if (!hasData && !isPromptCarrier) {
|
|
216
|
+
const timestamp = this.resolveTimestamp(msg, sessionMetadata);
|
|
217
|
+
if (msg.role === 'user') {
|
|
218
|
+
const recordId = `${msg.id}:prompt`;
|
|
219
|
+
if (existingRecordIds.has(recordId)) {
|
|
220
|
+
stats.skippedDueToDedup++;
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
const text = await this.extractUserPromptText(msg, storagePath, openCodeSessionId, sessionMetadata.partsMap);
|
|
224
|
+
if (!text)
|
|
225
|
+
continue;
|
|
226
|
+
deltas.push({ ...base(recordId, timestamp), userPrompts: [{ count: 1, text }] });
|
|
219
227
|
continue;
|
|
220
228
|
}
|
|
221
|
-
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
229
|
+
const assistantMsg = msg;
|
|
230
|
+
const modelString = this.getValidModelString(assistantMsg.modelID);
|
|
231
|
+
const parts = await loadPartsForMessage(storagePath, assistantMsg.id, openCodeSessionId, sessionMetadata.partsMap);
|
|
232
|
+
for (const part of parts.filter(isToolPart)) {
|
|
233
|
+
// callID is the semantically meaningful key, but older sessions and
|
|
234
|
+
// some tools omit it; part.id is the storage primary key and is always
|
|
235
|
+
// present, so it guarantees the recordId stays collision-free.
|
|
236
|
+
const recordId = `${assistantMsg.id}:${part.callID || part.id}`;
|
|
237
|
+
if (existingRecordIds.has(recordId)) {
|
|
238
|
+
stats.skippedDueToDedup++;
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
const toolDelta = this.buildToolDelta(part, base(recordId, timestamp), modelString);
|
|
242
|
+
if (toolDelta)
|
|
243
|
+
deltas.push(toolDelta);
|
|
235
244
|
}
|
|
236
|
-
//
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
245
|
+
// Turn-level failure. This is OpenCode's analogue of Claude's
|
|
246
|
+
// isApiErrorMessage entries and the ONLY source of apiErrorMessage —
|
|
247
|
+
// tool failures stay in toolStatus, exactly as codemie-claude does, so
|
|
248
|
+
// raw tool output never reaches the error_messages wire field.
|
|
249
|
+
if (assistantMsg.error) {
|
|
250
|
+
const recordId = `${assistantMsg.id}:error`;
|
|
251
|
+
if (existingRecordIds.has(recordId)) {
|
|
252
|
+
stats.skippedDueToDedup++;
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
const detail = assistantMsg.error.data?.message;
|
|
256
|
+
deltas.push({
|
|
257
|
+
...base(recordId, timestamp),
|
|
258
|
+
apiErrorMessage: detail
|
|
259
|
+
? `${assistantMsg.error.name}: ${detail}`
|
|
260
|
+
: assistantMsg.error.name,
|
|
261
|
+
...(modelString && { models: [modelString] }),
|
|
262
|
+
});
|
|
240
263
|
}
|
|
241
|
-
deltas.push(delta);
|
|
242
264
|
}
|
|
243
265
|
return { deltas, stats };
|
|
244
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Build a single-tool delta, or undefined when the tool is still in flight.
|
|
269
|
+
*/
|
|
270
|
+
buildToolDelta(part, delta, modelString) {
|
|
271
|
+
const toolName = part.tool.toLowerCase();
|
|
272
|
+
const statusResult = this.mapToolStatus(part.state.status);
|
|
273
|
+
// pending/running tools are not counted at all — a later tick picks them up
|
|
274
|
+
// once they settle, and the recordId keeps that second visit idempotent.
|
|
275
|
+
if (statusResult === 'skip')
|
|
276
|
+
return undefined;
|
|
277
|
+
const fileOperations = statusResult === 'success'
|
|
278
|
+
? this.extractFileOperation(part.tool, part.state.input, part.state.metadata)
|
|
279
|
+
: [];
|
|
280
|
+
return {
|
|
281
|
+
...delta,
|
|
282
|
+
tools: { [toolName]: 1 },
|
|
283
|
+
toolStatus: {
|
|
284
|
+
[toolName]: {
|
|
285
|
+
success: statusResult === 'success' ? 1 : 0,
|
|
286
|
+
failure: statusResult === 'failure' ? 1 : 0,
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
...(fileOperations.length > 0 && { fileOperations }),
|
|
290
|
+
...(modelString && { models: [modelString] }),
|
|
291
|
+
};
|
|
292
|
+
}
|
|
245
293
|
/**
|
|
246
294
|
* Resolve timestamp with fallback chain (ADR-13 G4)
|
|
247
295
|
*/
|
|
@@ -262,87 +310,6 @@ export class OpenCodeMetricsProcessor {
|
|
|
262
310
|
logger.warn(`[opencode-metrics] Missing timestamp for message ${msg.id}, using Date.now()`);
|
|
263
311
|
return Date.now();
|
|
264
312
|
}
|
|
265
|
-
/**
|
|
266
|
-
* Load parts for a message (ADR-11 - part-message validation)
|
|
267
|
-
*
|
|
268
|
-
* When partsMap is provided (SQLite-backed sessions), uses pre-loaded parts
|
|
269
|
-
* directly instead of reading from the filesystem.
|
|
270
|
-
*/
|
|
271
|
-
async loadPartsForMessage(storagePath, messageId, expectedSessionId, partsMap) {
|
|
272
|
-
// Use pre-loaded partsMap if available (from SQLite bulk query)
|
|
273
|
-
if (partsMap && partsMap[messageId]) {
|
|
274
|
-
const parts = partsMap[messageId];
|
|
275
|
-
// Apply same validation as file-based path
|
|
276
|
-
return parts.filter(part => {
|
|
277
|
-
if (part.messageID !== messageId) {
|
|
278
|
-
logger.debug(`[opencode-metrics] Skipping orphaned part ${part.id}: messageID mismatch`);
|
|
279
|
-
return false;
|
|
280
|
-
}
|
|
281
|
-
if (expectedSessionId && part.sessionID !== expectedSessionId) {
|
|
282
|
-
logger.debug(`[opencode-metrics] Skipping part ${part.id}: sessionID mismatch`);
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
return true;
|
|
286
|
-
}).sort((a, b) => a.id.localeCompare(b.id));
|
|
287
|
-
}
|
|
288
|
-
// File-based loading fallback
|
|
289
|
-
const partsDir = join(storagePath, 'part', messageId);
|
|
290
|
-
if (!existsSync(partsDir)) {
|
|
291
|
-
return [];
|
|
292
|
-
}
|
|
293
|
-
const parts = [];
|
|
294
|
-
try {
|
|
295
|
-
const files = await readdir(partsDir);
|
|
296
|
-
for (const file of files) {
|
|
297
|
-
if (!file.endsWith('.json'))
|
|
298
|
-
continue;
|
|
299
|
-
const part = await readJsonWithRetry(join(partsDir, file));
|
|
300
|
-
if (!part)
|
|
301
|
-
continue;
|
|
302
|
-
// Validate part belongs to this message (ADR-11)
|
|
303
|
-
if (part.messageID !== messageId) {
|
|
304
|
-
logger.debug(`[opencode-metrics] Skipping orphaned part ${part.id}: messageID mismatch`);
|
|
305
|
-
continue;
|
|
306
|
-
}
|
|
307
|
-
// Optionally validate session correlation
|
|
308
|
-
if (expectedSessionId && part.sessionID !== expectedSessionId) {
|
|
309
|
-
logger.debug(`[opencode-metrics] Skipping part ${part.id}: sessionID mismatch`);
|
|
310
|
-
continue;
|
|
311
|
-
}
|
|
312
|
-
parts.push(part);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
catch (error) {
|
|
316
|
-
logger.debug(`[opencode-metrics] Error loading parts from ${partsDir}:`, error);
|
|
317
|
-
}
|
|
318
|
-
return parts.sort((a, b) => a.id.localeCompare(b.id));
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Extract tool metrics from parts (ADR-8, ADR-14)
|
|
322
|
-
*/
|
|
323
|
-
extractToolMetrics(parts) {
|
|
324
|
-
const tools = {};
|
|
325
|
-
const toolStatus = {};
|
|
326
|
-
const fileOperations = [];
|
|
327
|
-
const toolParts = parts.filter(isToolPart);
|
|
328
|
-
for (const part of toolParts) {
|
|
329
|
-
const toolName = part.tool.toLowerCase();
|
|
330
|
-
tools[toolName] = (tools[toolName] || 0) + 1;
|
|
331
|
-
const statusResult = this.mapToolStatus(part.state.status);
|
|
332
|
-
if (statusResult !== 'skip') {
|
|
333
|
-
if (!toolStatus[toolName]) {
|
|
334
|
-
toolStatus[toolName] = { success: 0, failure: 0 };
|
|
335
|
-
}
|
|
336
|
-
toolStatus[toolName][statusResult]++;
|
|
337
|
-
// Extract file operations only for completed tools (ADR-8)
|
|
338
|
-
if (statusResult === 'success') {
|
|
339
|
-
const ops = this.extractFileOperation(part.tool, part.state.input, part.state.metadata);
|
|
340
|
-
fileOperations.push(...ops);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
return { tools, toolStatus, fileOperations };
|
|
345
|
-
}
|
|
346
313
|
/**
|
|
347
314
|
* Map tool status to success/failure/skip (ADR-14)
|
|
348
315
|
*/
|
|
@@ -374,29 +341,31 @@ export class OpenCodeMetricsProcessor {
|
|
|
374
341
|
'edit': 'edit',
|
|
375
342
|
'glob': 'glob',
|
|
376
343
|
'grep': 'grep',
|
|
377
|
-
'apply_patch': 'edit', //
|
|
344
|
+
'apply_patch': 'edit', // per-file type refines this below
|
|
345
|
+
'patch': 'edit', // per-file type refines this below
|
|
378
346
|
'multiedit': 'edit', // Map to edit, not multiedit
|
|
379
347
|
};
|
|
380
348
|
const mappedType = typeMapping[toolLower];
|
|
381
349
|
if (!mappedType)
|
|
382
350
|
return [];
|
|
383
|
-
//
|
|
384
|
-
|
|
351
|
+
// apply_patch / patch — state.metadata.files carries one entry per touched
|
|
352
|
+
// file with its own operation kind and diff (ADR-17). The per-file `type` is
|
|
353
|
+
// what makes files_deleted reachable; mapping every entry to 'edit' left it
|
|
354
|
+
// permanently 0.
|
|
355
|
+
if (toolLower === 'apply_patch' || toolLower === 'patch') {
|
|
385
356
|
const files = metadata?.files;
|
|
386
357
|
if (Array.isArray(files)) {
|
|
387
358
|
for (const file of files) {
|
|
388
359
|
const path = file.filePath || file.relativePath;
|
|
389
|
-
if (typeof path
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
operations.push(op);
|
|
399
|
-
}
|
|
360
|
+
if (typeof path !== 'string')
|
|
361
|
+
continue;
|
|
362
|
+
const { linesAdded, linesRemoved } = countDiffLines(file.patch);
|
|
363
|
+
operations.push({
|
|
364
|
+
type: mapPatchFileType(file.type),
|
|
365
|
+
path,
|
|
366
|
+
...(linesAdded > 0 && { linesAdded }),
|
|
367
|
+
...(linesRemoved > 0 && { linesRemoved }),
|
|
368
|
+
});
|
|
400
369
|
}
|
|
401
370
|
}
|
|
402
371
|
return operations;
|
|
@@ -413,7 +382,6 @@ export class OpenCodeMetricsProcessor {
|
|
|
413
382
|
}
|
|
414
383
|
return operations;
|
|
415
384
|
}
|
|
416
|
-
// Standard file operations
|
|
417
385
|
const fileOp = { type: mappedType };
|
|
418
386
|
// Per ADR-17: field names are camelCase (filePath, not file_path)
|
|
419
387
|
const filePath = input?.filePath || input?.path;
|
|
@@ -423,23 +391,25 @@ export class OpenCodeMetricsProcessor {
|
|
|
423
391
|
if (typeof input?.pattern === 'string') {
|
|
424
392
|
fileOp.pattern = input.pattern;
|
|
425
393
|
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
async extractUserPrompts(messages, storagePath, sessionId, partsMap) {
|
|
433
|
-
const prompts = [];
|
|
434
|
-
for (const msg of messages) {
|
|
435
|
-
if (msg.role !== 'user')
|
|
436
|
-
continue;
|
|
437
|
-
const text = await this.extractUserPromptText(msg, storagePath, sessionId, partsMap);
|
|
438
|
-
if (text) {
|
|
439
|
-
prompts.push({ count: 1, text });
|
|
394
|
+
if (toolLower === 'write') {
|
|
395
|
+
// A write creates the whole file, so every line is an addition. Matches
|
|
396
|
+
// claude-file-operation.ts, which counts Write content lines the same way.
|
|
397
|
+
const content = input?.content;
|
|
398
|
+
if (typeof content === 'string' && content.length > 0) {
|
|
399
|
+
fileOp.linesAdded = content.split('\n').length;
|
|
440
400
|
}
|
|
441
401
|
}
|
|
442
|
-
|
|
402
|
+
if (toolLower === 'edit') {
|
|
403
|
+
// OpenCode reports the edit as diff text; there is no numeric count.
|
|
404
|
+
const filediff = metadata?.filediff;
|
|
405
|
+
const { linesAdded, linesRemoved } = countDiffLines(filediff?.patch ?? metadata?.diff);
|
|
406
|
+
if (linesAdded > 0)
|
|
407
|
+
fileOp.linesAdded = linesAdded;
|
|
408
|
+
if (linesRemoved > 0)
|
|
409
|
+
fileOp.linesRemoved = linesRemoved;
|
|
410
|
+
}
|
|
411
|
+
operations.push(fileOp);
|
|
412
|
+
return operations;
|
|
443
413
|
}
|
|
444
414
|
/**
|
|
445
415
|
* Extract user prompt text from message (ADR-10, ADR-20)
|
|
@@ -448,7 +418,7 @@ export class OpenCodeMetricsProcessor {
|
|
|
448
418
|
// Try pre-loaded partsMap first (SQLite path), then file-based
|
|
449
419
|
const hasParts = partsMap?.[msg.id] || existsSync(join(storagePath, 'part', msg.id));
|
|
450
420
|
if (hasParts) {
|
|
451
|
-
const parts = await
|
|
421
|
+
const parts = await loadPartsForMessage(storagePath, msg.id, sessionId, partsMap);
|
|
452
422
|
// Filter: exclude ignored and synthetic parts (ADR-10)
|
|
453
423
|
const textParts = parts.filter(p => p.type === 'text' &&
|
|
454
424
|
'text' in p &&
|
|
@@ -472,46 +442,34 @@ export class OpenCodeMetricsProcessor {
|
|
|
472
442
|
return undefined;
|
|
473
443
|
}
|
|
474
444
|
/**
|
|
475
|
-
* Get existing record IDs for deduplication (ADR-5)
|
|
476
|
-
*
|
|
445
|
+
* Get existing record IDs for deduplication (ADR-5).
|
|
446
|
+
* Single tolerant read of the JSONL — corrupted lines are skipped.
|
|
477
447
|
*/
|
|
478
448
|
async getExistingRecordIds(sessionId) {
|
|
479
|
-
try {
|
|
480
|
-
const existingDeltas = await this.readExistingDeltas(sessionId);
|
|
481
|
-
return new Set(existingDeltas.map(d => d.recordId));
|
|
482
|
-
}
|
|
483
|
-
catch (error) {
|
|
484
|
-
logger.warn('[opencode-metrics] Could not read existing deltas:', error);
|
|
485
|
-
return new Set();
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
/**
|
|
489
|
-
* Read existing deltas from JSONL file (ADR-5, ADR-21)
|
|
490
|
-
*/
|
|
491
|
-
async readExistingDeltas(sessionId) {
|
|
492
449
|
try {
|
|
493
450
|
const { MetricsWriter } = await import('../../../../../providers/plugins/sso/session/processors/metrics/MetricsWriter.js');
|
|
494
451
|
const writer = new MetricsWriter(sessionId);
|
|
495
452
|
if (!writer.exists()) {
|
|
496
|
-
return
|
|
453
|
+
return new Set();
|
|
497
454
|
}
|
|
498
|
-
|
|
499
|
-
return
|
|
455
|
+
const existingDeltas = await readJsonlTolerant(writer.getFilePath());
|
|
456
|
+
return new Set(existingDeltas.map(d => d.recordId));
|
|
500
457
|
}
|
|
501
458
|
catch (error) {
|
|
502
|
-
logger.
|
|
503
|
-
return
|
|
459
|
+
logger.warn('[opencode-metrics] Could not read existing deltas:', error);
|
|
460
|
+
return new Set();
|
|
504
461
|
}
|
|
505
462
|
}
|
|
506
463
|
/**
|
|
507
|
-
* Get valid model string (ADR-6)
|
|
464
|
+
* Get valid model string (ADR-6).
|
|
465
|
+
*
|
|
466
|
+
* Returns the BARE model id. codemie-claude reports `llm_model` without a
|
|
467
|
+
* provider prefix, so emitting `codemie-proxy/<model>` here would split the
|
|
468
|
+
* same model into two buckets in backend analytics. The provider stays on
|
|
469
|
+
* session metadata for local traceability.
|
|
508
470
|
*/
|
|
509
|
-
getValidModelString(
|
|
510
|
-
|
|
511
|
-
if (!model)
|
|
512
|
-
return undefined;
|
|
513
|
-
const provider = providerID?.toLowerCase().trim();
|
|
514
|
-
return provider ? `${provider}/${model}` : model;
|
|
471
|
+
getValidModelString(modelID) {
|
|
472
|
+
return modelID?.trim() || undefined;
|
|
515
473
|
}
|
|
516
474
|
}
|
|
517
475
|
//# sourceMappingURL=opencode.metrics-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.metrics-processor.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/opencode/session/processors/opencode.metrics-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opencode.metrics-processor.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/opencode/session/processors/opencode.metrics-processor.ts"],"names":[],"mappings":"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"}
|