@cat-factory/worker 0.112.2 → 0.113.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/infrastructure/container-tracker-deps.d.ts.map +1 -1
- package/dist/infrastructure/container-tracker-deps.js +4 -1
- package/dist/infrastructure/container-tracker-deps.js.map +1 -1
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js +10 -6
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js.map +1 -1
- package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts.map +1 -1
- package/dist/infrastructure/workflows/ExecutionWorkflow.js +18 -9
- package/dist/infrastructure/workflows/ExecutionWorkflow.js.map +1 -1
- package/package.json +18 -18
- package/telemetry-migrations/0003_llm_cache_class_split.sql +17 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-tracker-deps.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-tracker-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"container-tracker-deps.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-tracker-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,qBAAqB,CAAA;AAM5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAiBnC;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA0H3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FetchGitHubClient, WebCryptoSecretCipher } from '@cat-factory/server';
|
|
1
|
+
import { FetchGitHubClient, logger, WebCryptoSecretCipher, } from '@cat-factory/server';
|
|
2
2
|
import { IssueWritebackService, TicketTrackerService, githubIssuesLogic, } from '@cat-factory/integrations';
|
|
3
3
|
import { buildAppRegistry, buildResolveRepoTarget } from './container.js';
|
|
4
4
|
import { D1GitHubInstallationRepository } from './repositories/D1GitHubInstallationRepository.js';
|
|
@@ -39,6 +39,9 @@ export function selectRecurringDeps(env, config, db, clock, idGenerator) {
|
|
|
39
39
|
// the writeback passes through, since a replaying driver would otherwise re-post.
|
|
40
40
|
reviewQuestionPostRepository: new D1ReviewQuestionPostRepository({ db }),
|
|
41
41
|
clock,
|
|
42
|
+
// Every hook here is fire-and-forget; without a logger a permanently broken tracker
|
|
43
|
+
// connection produces no symptom but comments that never appear.
|
|
44
|
+
logger,
|
|
42
45
|
};
|
|
43
46
|
// GitHub issues: file through the App-authenticated client against the service's
|
|
44
47
|
// linked repo (resolved from the github_repos projection). Only when the App is configured.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-tracker-deps.js","sourceRoot":"","sources":["../../src/infrastructure/container-tracker-deps.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"container-tracker-deps.js","sourceRoot":"","sources":["../../src/infrastructure/container-tracker-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1LlmCallMetricRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1LlmCallMetricRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"D1LlmCallMetricRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1LlmCallMetricRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAsE3D,iEAAiE;AACjE,qBAAa,yBAA0B,YAAW,uBAAuB;IACvE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDjD;IAEK,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAoBnC;IAEK,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAa1B;IAEK,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAsDjC;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;CACF"}
|
|
@@ -16,7 +16,8 @@ function rowToMetric(row) {
|
|
|
16
16
|
toolCount: row.tool_count,
|
|
17
17
|
requestMaxTokens: row.request_max_tokens,
|
|
18
18
|
promptTokens: row.prompt_tokens,
|
|
19
|
-
|
|
19
|
+
cacheReadTokens: row.cache_read_tokens,
|
|
20
|
+
cacheWriteTokens: row.cache_write_tokens,
|
|
20
21
|
completionTokens: row.completion_tokens,
|
|
21
22
|
totalTokens: row.total_tokens,
|
|
22
23
|
finishReason: row.finish_reason,
|
|
@@ -53,12 +54,13 @@ export class D1LlmCallMetricRepository {
|
|
|
53
54
|
.prepare(`INSERT INTO llm_call_metrics
|
|
54
55
|
(id, workspace_id, execution_id, agent_kind, provider, model, created_at,
|
|
55
56
|
streaming, message_count, tool_count, request_max_tokens,
|
|
56
|
-
prompt_tokens,
|
|
57
|
+
prompt_tokens, cache_read_tokens, cache_write_tokens, completion_tokens,
|
|
58
|
+
total_tokens, finish_reason,
|
|
57
59
|
upstream_ms, overhead_ms, total_ms, ok, http_status, error_message,
|
|
58
60
|
prompt_text, prompt_prefix_count, prompt_hash, response_text, reasoning_text)
|
|
59
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
61
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
60
62
|
ON CONFLICT(id) DO NOTHING`)
|
|
61
|
-
.bind(metric.id, metric.workspaceId, metric.executionId, metric.agentKind, metric.provider, metric.model, metric.createdAt, metric.streaming ? 1 : 0, metric.messageCount, metric.toolCount, metric.requestMaxTokens, metric.promptTokens, metric.
|
|
63
|
+
.bind(metric.id, metric.workspaceId, metric.executionId, metric.agentKind, metric.provider, metric.model, metric.createdAt, metric.streaming ? 1 : 0, metric.messageCount, metric.toolCount, metric.requestMaxTokens, metric.promptTokens, metric.cacheReadTokens, metric.cacheWriteTokens, metric.completionTokens, metric.totalTokens, metric.finishReason, metric.upstreamMs, metric.overheadMs, metric.totalMs, metric.ok ? 1 : 0, metric.httpStatus, metric.errorMessage, metric.promptText, metric.promptPrefixCount, metric.promptHash, metric.responseText, metric.reasoningText)
|
|
62
64
|
.run();
|
|
63
65
|
}
|
|
64
66
|
async latestChainTip(workspaceId, executionId, agentKind) {
|
|
@@ -101,7 +103,8 @@ export class D1LlmCallMetricRepository {
|
|
|
101
103
|
agent_kind AS agent_kind,
|
|
102
104
|
COUNT(*) AS calls,
|
|
103
105
|
COALESCE(SUM(prompt_tokens), 0) AS prompt_tokens,
|
|
104
|
-
COALESCE(SUM(
|
|
106
|
+
COALESCE(SUM(cache_read_tokens), 0) AS cache_read_tokens,
|
|
107
|
+
COALESCE(SUM(cache_write_tokens), 0) AS cache_write_tokens,
|
|
105
108
|
COALESCE(SUM(completion_tokens), 0) AS completion_tokens,
|
|
106
109
|
COALESCE(MAX(completion_tokens), 0) AS peak_completion_tokens,
|
|
107
110
|
MAX(request_max_tokens) AS max_output_tokens,
|
|
@@ -119,7 +122,8 @@ export class D1LlmCallMetricRepository {
|
|
|
119
122
|
agentKind: r.agent_kind,
|
|
120
123
|
calls: r.calls,
|
|
121
124
|
promptTokens: r.prompt_tokens,
|
|
122
|
-
|
|
125
|
+
cacheReadTokens: r.cache_read_tokens,
|
|
126
|
+
cacheWriteTokens: r.cache_write_tokens,
|
|
123
127
|
completionTokens: r.completion_tokens,
|
|
124
128
|
peakCompletionTokens: r.peak_completion_tokens,
|
|
125
129
|
maxOutputTokens: r.max_output_tokens,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1LlmCallMetricRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1LlmCallMetricRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAK3B,MAAM,qBAAqB,CAAA;AAG5B,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"D1LlmCallMetricRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1LlmCallMetricRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutionWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAKjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAWpE;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtE,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC7C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAuQf;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { WorkflowEntrypoint, } from 'cloudflare:workers';
|
|
2
|
+
import { redactSecrets } from '@cat-factory/kernel';
|
|
2
3
|
import { buildContainer } from '../container';
|
|
3
4
|
import { loadConfig } from '../config';
|
|
4
5
|
import { logger } from '../observability/logger';
|
|
@@ -19,6 +20,10 @@ const STEP_CONFIG = {
|
|
|
19
20
|
export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
20
21
|
async run(event, step) {
|
|
21
22
|
const { workspaceId, executionId } = event.payload;
|
|
23
|
+
// Bind the run's correlation ONCE, the way `BootstrapWorkflow`/`EnvConfigRepairWorkflow`
|
|
24
|
+
// already do and `driveExecution` does on the Node side. Re-spreading the ids per call is
|
|
25
|
+
// how a nested emit ends up with none of them (observability-logging-gaps.md, A3).
|
|
26
|
+
const log = logger.child({ workspaceId, executionId, workflow: 'execution' });
|
|
22
27
|
// One DI-graph assembly per wake: the container is pure wiring over env bindings
|
|
23
28
|
// (no I/O), so every step/poll in this invocation shares it instead of re-running
|
|
24
29
|
// the whole composition root per `step.do`. A hibernation wake replays `run()`
|
|
@@ -37,7 +42,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
37
42
|
// thousands/day a 30s busy-loop would accrue toward the Workflows per-instance limit.
|
|
38
43
|
const pauseRecheckTimeout = decisionTimeout;
|
|
39
44
|
const failRun = async (i, message, kind = 'agent', detail = null) => {
|
|
40
|
-
|
|
45
|
+
log.warn(`failing run: ${message}`, { step: i, failureKind: kind });
|
|
41
46
|
await step.do(`fail-${i}`, () => container.executionService.failRun(workspaceId, executionId, message, kind, detail));
|
|
42
47
|
};
|
|
43
48
|
// Run one durable status read, converting a *thrown* (transient) poll error into a
|
|
@@ -48,10 +53,11 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
48
53
|
return { kind: 'ok', result: (await step.do(label, STEP_CONFIG, read)) };
|
|
49
54
|
}
|
|
50
55
|
catch (error) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
// Scrubbed HERE, once, because this message is both logged and folded into the run's
|
|
57
|
+
// user-visible failure text — and a poll error surfaced from `fetch` routinely echoes
|
|
58
|
+
// the request URL (with its query) or an auth header back in its own message.
|
|
59
|
+
const raw = error instanceof Error ? error.message : String(error);
|
|
60
|
+
return { kind: 'read_failed', message: redactSecrets(raw) ?? '' };
|
|
55
61
|
}
|
|
56
62
|
};
|
|
57
63
|
// Poll a dispatched async job (a container coding step) for step `i` between durable
|
|
@@ -72,9 +78,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
72
78
|
const attempt = await pollOnce(`poll-${i}-${p}`, () => container.executionService.pollAgentJob(workspaceId, executionId));
|
|
73
79
|
if (attempt.kind === 'read_failed') {
|
|
74
80
|
pollReadFailures += 1;
|
|
75
|
-
|
|
76
|
-
workspaceId,
|
|
77
|
-
executionId,
|
|
81
|
+
log.warn('poll could not read job status; treating as still running and retrying', {
|
|
78
82
|
step: i,
|
|
79
83
|
poll: p,
|
|
80
84
|
pollReadFailures,
|
|
@@ -113,7 +117,12 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
113
117
|
const attempt = await pollOnce(`gate-poll-${i}-${p}`, () => container.executionService.pollGate(workspaceId, executionId));
|
|
114
118
|
if (attempt.kind === 'read_failed') {
|
|
115
119
|
pollReadFailures += 1;
|
|
116
|
-
|
|
120
|
+
log.warn('gate poll could not read its precheck; treating as still pending and retrying', {
|
|
121
|
+
step: i,
|
|
122
|
+
poll: p,
|
|
123
|
+
pollReadFailures,
|
|
124
|
+
err: attempt.message,
|
|
125
|
+
});
|
|
117
126
|
if (pollReadFailures < execConfig.jobPollFailureTolerance)
|
|
118
127
|
continue;
|
|
119
128
|
await failRun(i, `Gate precheck was unreadable for ${pollReadFailures} consecutive polls ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.113.0",
|
|
4
4
|
"description": "Reusable Cloudflare Worker library (Hono + D1) exposing the Agent Architecture Board core: the `createApp()` Hono factory, the default fetch/scheduled/queue handler, and the Durable Object + Workflow classes. Deployments (see deploy/backend) supply the wrangler.toml + config and re-export these.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -42,22 +42,22 @@
|
|
|
42
42
|
"pino": "^10.3.1",
|
|
43
43
|
"valibot": "^1.4.2",
|
|
44
44
|
"workers-ai-provider": "^4.0.0",
|
|
45
|
-
"@cat-factory/agents": "0.
|
|
46
|
-
"@cat-factory/
|
|
47
|
-
"@cat-factory/
|
|
48
|
-
"@cat-factory/
|
|
49
|
-
"@cat-factory/
|
|
50
|
-
"@cat-factory/gates": "0.8.
|
|
51
|
-
"@cat-factory/gitlab": "0.13.
|
|
52
|
-
"@cat-factory/integrations": "0.
|
|
53
|
-
"@cat-factory/kernel": "0.
|
|
54
|
-
"@cat-factory/observability-langfuse": "0.
|
|
55
|
-
"@cat-factory/observability-otel": "0.
|
|
56
|
-
"@cat-factory/orchestration": "0.
|
|
57
|
-
"@cat-factory/prompt-fragments": "0.15.
|
|
58
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
59
|
-
"@cat-factory/server": "0.
|
|
60
|
-
"@cat-factory/spend": "0.12.
|
|
45
|
+
"@cat-factory/agents": "0.79.0",
|
|
46
|
+
"@cat-factory/caching": "0.11.3",
|
|
47
|
+
"@cat-factory/consensus": "0.12.4",
|
|
48
|
+
"@cat-factory/contracts": "0.182.0",
|
|
49
|
+
"@cat-factory/eks": "0.1.156",
|
|
50
|
+
"@cat-factory/gates": "0.8.3",
|
|
51
|
+
"@cat-factory/gitlab": "0.13.23",
|
|
52
|
+
"@cat-factory/integrations": "0.107.0",
|
|
53
|
+
"@cat-factory/kernel": "0.175.0",
|
|
54
|
+
"@cat-factory/observability-langfuse": "0.9.0",
|
|
55
|
+
"@cat-factory/observability-otel": "0.4.0",
|
|
56
|
+
"@cat-factory/orchestration": "0.155.0",
|
|
57
|
+
"@cat-factory/prompt-fragments": "0.15.5",
|
|
58
|
+
"@cat-factory/provider-cloudflare": "0.7.309",
|
|
59
|
+
"@cat-factory/server": "0.165.0",
|
|
60
|
+
"@cat-factory/spend": "0.12.104"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@cloudflare/vitest-pool-workers": "^0.18.8",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"typescript": "7.0.2",
|
|
66
66
|
"vitest": "^4.1.10",
|
|
67
67
|
"wrangler": "^4.114.0",
|
|
68
|
-
"@cat-factory/conformance": "0.12.
|
|
68
|
+
"@cat-factory/conformance": "0.12.21"
|
|
69
69
|
},
|
|
70
70
|
"scripts": {
|
|
71
71
|
"build": "tsc -b tsconfig.build.json",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-- Split the single lumped `cached_prompt_tokens` into the two classes it was hiding, and
|
|
2
|
+
-- redefine `prompt_tokens` as FRESH input only, so the three input classes are orthogonal and
|
|
3
|
+
-- additive (total input = prompt + cache_read + cache_write).
|
|
4
|
+
--
|
|
5
|
+
-- A cache READ is ~0.1x base input; a cache WRITE is 1.25-2x base input, i.e. dearer than
|
|
6
|
+
-- fresh. Summed together, a repair loop that keeps invalidating and re-writing the prefix is
|
|
7
|
+
-- indistinguishable from one riding a warm cache — which is exactly the attribution the
|
|
8
|
+
-- token-burn instrumentation needs (docs/initiatives/token-burn-instrumentation.md).
|
|
9
|
+
--
|
|
10
|
+
-- The old column is DROPPED rather than dual-read: backwards compatibility is a non-goal, and
|
|
11
|
+
-- this table is pruned to LLM_CALL_METRICS_RETENTION_DAYS (3 by default), so the rows whose
|
|
12
|
+
-- `prompt_tokens` still carries the old inclusive semantics churn out within the window. No
|
|
13
|
+
-- backfill is attempted for the same reason — and because the split genuinely cannot be
|
|
14
|
+
-- recovered from one summed number.
|
|
15
|
+
ALTER TABLE llm_call_metrics ADD COLUMN cache_read_tokens INTEGER NOT NULL DEFAULT 0;
|
|
16
|
+
ALTER TABLE llm_call_metrics ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
17
|
+
ALTER TABLE llm_call_metrics DROP COLUMN cached_prompt_tokens;
|