@cat-factory/worker 0.117.1 → 0.119.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.
Files changed (24) hide show
  1. package/dist/infrastructure/container-assembly.d.ts.map +1 -1
  2. package/dist/infrastructure/container-assembly.js +6 -0
  3. package/dist/infrastructure/container-assembly.js.map +1 -1
  4. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.d.ts +4 -1
  5. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.d.ts.map +1 -1
  6. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.js +56 -0
  7. package/dist/infrastructure/repositories/D1AgentContextSnapshotRepository.js.map +1 -1
  8. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.d.ts +3 -1
  9. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.d.ts.map +1 -1
  10. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.js +26 -0
  11. package/dist/infrastructure/repositories/D1AgentSearchQueryRepository.js.map +1 -1
  12. package/dist/infrastructure/repositories/D1ExecutionRepository.d.ts +10 -0
  13. package/dist/infrastructure/repositories/D1ExecutionRepository.d.ts.map +1 -1
  14. package/dist/infrastructure/repositories/D1ExecutionRepository.js +39 -0
  15. package/dist/infrastructure/repositories/D1ExecutionRepository.js.map +1 -1
  16. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts +3 -1
  17. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts.map +1 -1
  18. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js +247 -20
  19. package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js.map +1 -1
  20. package/dist/infrastructure/repositories/D1ProvisioningLogRepository.d.ts +4 -0
  21. package/dist/infrastructure/repositories/D1ProvisioningLogRepository.d.ts.map +1 -1
  22. package/dist/infrastructure/repositories/D1ProvisioningLogRepository.js +16 -3
  23. package/dist/infrastructure/repositories/D1ProvisioningLogRepository.js.map +1 -1
  24. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"container-assembly.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-assembly.d.ts","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ import { D1EnvironmentTestRunRepository } from './repositories/D1EnvironmentTest
21
21
  import { D1ExecutionRepository } from './repositories/D1ExecutionRepository';
22
22
  import { D1GitHubInstallationRepository } from './repositories/D1GitHubInstallationRepository';
23
23
  import { D1LlmCallMetricRepository } from './repositories/D1LlmCallMetricRepository';
24
+ import { D1AgentContextSnapshotRepository } from './repositories/D1AgentContextSnapshotRepository';
25
+ import { D1AgentSearchQueryRepository } from './repositories/D1AgentSearchQueryRepository';
24
26
  import { D1MembershipRepository } from './repositories/D1MembershipRepository';
25
27
  import { D1PipelineRepository } from './repositories/D1PipelineRepository';
26
28
  import { D1PlatformMetricsRepository } from './repositories/D1PlatformMetricsRepository';
@@ -93,6 +95,10 @@ function buildWorkerCoreDependencies(input) {
93
95
  tokenUsageRepository: new D1TokenUsageRepository({ db }),
94
96
  // Telemetry lives in the dedicated TELEMETRY_DB database.
95
97
  llmCallMetricRepository: new D1LlmCallMetricRepository({ db: telemetryDb }),
98
+ // The stores behind the agent-context + search-query sinks below, handed in alongside
99
+ // them for the remote debugging reader — a pure reader that wants neither capture gate.
100
+ agentContextSnapshotRepository: new D1AgentContextSnapshotRepository({ db: telemetryDb }),
101
+ agentSearchQueryRepository: new D1AgentSearchQueryRepository({ db: telemetryDb }),
96
102
  // Deployment-level rollups over `agent_runs` (MAIN db, not telemetry) for the operator dashboard.
97
103
  platformMetricsRepository: new D1PlatformMetricsRepository({ db }),
98
104
  // Cross-cutting usage analytics over `token_usage` + `agent_runs` (both MAIN db) for
@@ -1 +1 @@
1
- {"version":3,"file":"container-assembly.js","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-assembly.js","sourceRoot":"","sources":["../../src/infrastructure/container-assembly.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentContextSnapshot, AgentContextSnapshotRepository } from '@cat-factory/kernel';
1
+ import type { AgentContextIndexQuery, AgentContextSnapshot, AgentContextSnapshotIndex, AgentContextSnapshotRepository } from '@cat-factory/kernel';
2
2
  import type { D1Database } from '@cloudflare/workers-types';
3
3
  /**
4
4
  * D1-backed sink for agent-context observability. Lives in the dedicated TELEMETRY_DB
@@ -11,6 +11,9 @@ export declare class D1AgentContextSnapshotRepository implements AgentContextSna
11
11
  });
12
12
  record(snapshot: AgentContextSnapshot): Promise<void>;
13
13
  listByExecution(workspaceId: string, executionId: string): Promise<AgentContextSnapshot[]>;
14
+ listIndex(workspaceId: string, query: AgentContextIndexQuery): Promise<AgentContextSnapshotIndex[]>;
15
+ get(workspaceId: string, id: string): Promise<AgentContextSnapshot | null>;
16
+ countByExecution(workspaceId: string, executionId: string): Promise<number>;
14
17
  deleteOlderThan(epochMs: number): Promise<number>;
15
18
  }
16
19
  //# sourceMappingURL=D1AgentContextSnapshotRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1AgentContextSnapshotRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentContextSnapshotRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAwD3D;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,8BAA8B;IACrF,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1D;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAU/F;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;CACF"}
1
+ {"version":3,"file":"D1AgentContextSnapshotRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentContextSnapshotRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAoF3D;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,8BAA8B;IACrF,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1D;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAU/F;IAEK,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,yBAAyB,EAAE,CAAC,CA6BtC;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAM/E;IAEK,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhF;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;CACF"}
@@ -18,6 +18,20 @@ function parseObject(text) {
18
18
  return {};
19
19
  }
20
20
  }
21
+ function rowToIndex(row) {
22
+ return {
23
+ id: row.id,
24
+ agentKind: row.agent_kind,
25
+ stepIndex: row.step_index,
26
+ createdAt: row.created_at,
27
+ model: row.model,
28
+ harness: row.harness,
29
+ systemPromptChars: row.system_prompt_chars ?? 0,
30
+ userPromptChars: row.user_prompt_chars ?? 0,
31
+ fragmentsChars: row.fragments_chars ?? 0,
32
+ contextFilesChars: row.context_files_chars ?? 0,
33
+ };
34
+ }
21
35
  function rowToSnapshot(row) {
22
36
  return {
23
37
  id: row.id,
@@ -62,6 +76,48 @@ export class D1AgentContextSnapshotRepository {
62
76
  .all();
63
77
  return (results ?? []).map(rowToSnapshot);
64
78
  }
79
+ async listIndex(workspaceId, query) {
80
+ const clauses = ['workspace_id = ?', 'execution_id = ?'];
81
+ const binds = [workspaceId, query.executionId];
82
+ if (query.stepIndex != null) {
83
+ clauses.push('step_index = ?');
84
+ binds.push(query.stepIndex);
85
+ }
86
+ if (query.cursor) {
87
+ clauses.push('(created_at < ? OR (created_at = ? AND id < ?))');
88
+ binds.push(query.cursor.createdAt, query.cursor.createdAt, query.cursor.id);
89
+ }
90
+ binds.push(query.limit);
91
+ // Sizes only — the four body-bearing columns are MEASURED, never selected, so listing a
92
+ // run's dispatches costs no body bytes even though a single snapshot can be megabytes.
93
+ const { results } = await this.db
94
+ .prepare(`SELECT id, agent_kind, step_index, created_at, model, harness,
95
+ length(system_prompt) AS system_prompt_chars,
96
+ length(user_prompt) AS user_prompt_chars,
97
+ length(fragments) AS fragments_chars,
98
+ length(context_files) AS context_files_chars
99
+ FROM agent_context_snapshots
100
+ WHERE ${clauses.join(' AND ')}
101
+ ORDER BY created_at DESC, id DESC
102
+ LIMIT ?`)
103
+ .bind(...binds)
104
+ .all();
105
+ return (results ?? []).map(rowToIndex);
106
+ }
107
+ async get(workspaceId, id) {
108
+ const row = await this.db
109
+ .prepare('SELECT * FROM agent_context_snapshots WHERE workspace_id = ? AND id = ?')
110
+ .bind(workspaceId, id)
111
+ .first();
112
+ return row ? rowToSnapshot(row) : null;
113
+ }
114
+ async countByExecution(workspaceId, executionId) {
115
+ const row = await this.db
116
+ .prepare('SELECT COUNT(*) AS n FROM agent_context_snapshots WHERE workspace_id = ? AND execution_id = ?')
117
+ .bind(workspaceId, executionId)
118
+ .first();
119
+ return row?.n ?? 0;
120
+ }
65
121
  async deleteOlderThan(epochMs) {
66
122
  // Range delete on idx_agent_context_snapshots_created; bounded by the rows pruned.
67
123
  const { meta } = await this.db
@@ -1 +1 @@
1
- {"version":3,"file":"D1AgentContextSnapshotRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentContextSnapshotRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1AgentContextSnapshotRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentContextSnapshotRepository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentSearchQuery, AgentSearchQueryRepository } from '@cat-factory/kernel';
1
+ import type { AgentSearchQuery, AgentSearchQueryPageQuery, AgentSearchQueryRepository } from '@cat-factory/kernel';
2
2
  import type { D1Database } from '@cloudflare/workers-types';
3
3
  /**
4
4
  * D1-backed sink for agent-search-query observability. Lives in the dedicated
@@ -12,6 +12,8 @@ export declare class D1AgentSearchQueryRepository implements AgentSearchQueryRep
12
12
  });
13
13
  record(query: AgentSearchQuery): Promise<void>;
14
14
  listByExecution(workspaceId: string, executionId: string): Promise<AgentSearchQuery[]>;
15
+ listPage(workspaceId: string, query: AgentSearchQueryPageQuery): Promise<AgentSearchQuery[]>;
16
+ countByExecution(workspaceId: string, executionId: string): Promise<number>;
15
17
  deleteOlderThan(epochMs: number): Promise<number>;
16
18
  }
17
19
  //# sourceMappingURL=D1AgentSearchQueryRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1AgentSearchQueryRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentSearchQueryRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA2B3D;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,0BAA0B;IAC7E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnD;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAU3F;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;CACF"}
1
+ {"version":3,"file":"D1AgentSearchQueryRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentSearchQueryRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA2B3D;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,0BAA0B;IAC7E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnD;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAU3F;IAEK,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoB7B;IAEK,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhF;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;CACF"}
@@ -39,6 +39,32 @@ export class D1AgentSearchQueryRepository {
39
39
  .all();
40
40
  return (results ?? []).map(rowToQuery);
41
41
  }
42
+ async listPage(workspaceId, query) {
43
+ const clauses = ['workspace_id = ?', 'execution_id = ?'];
44
+ const binds = [workspaceId, query.executionId];
45
+ if (query.cursor) {
46
+ // Composite keyset matching the ORDER BY, so rows sharing a `created_at` millisecond
47
+ // are not skipped between pages. Mirrors the Drizzle repo.
48
+ clauses.push('(created_at < ? OR (created_at = ? AND id < ?))');
49
+ binds.push(query.cursor.createdAt, query.cursor.createdAt, query.cursor.id);
50
+ }
51
+ binds.push(query.limit);
52
+ const { results } = await this.db
53
+ .prepare(`SELECT * FROM agent_search_queries
54
+ WHERE ${clauses.join(' AND ')}
55
+ ORDER BY created_at DESC, id DESC
56
+ LIMIT ?`)
57
+ .bind(...binds)
58
+ .all();
59
+ return (results ?? []).map(rowToQuery);
60
+ }
61
+ async countByExecution(workspaceId, executionId) {
62
+ const row = await this.db
63
+ .prepare('SELECT COUNT(*) AS n FROM agent_search_queries WHERE workspace_id = ? AND execution_id = ?')
64
+ .bind(workspaceId, executionId)
65
+ .first();
66
+ return row?.n ?? 0;
67
+ }
42
68
  async deleteOlderThan(epochMs) {
43
69
  // Range delete on idx_agent_search_queries_created; bounded by the rows pruned.
44
70
  const { meta } = await this.db
@@ -1 +1 @@
1
- {"version":3,"file":"D1AgentSearchQueryRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentSearchQueryRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAc5D,SAAS,UAAU,CAAC,GAAmB;IACrC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,kFAAkF;QAClF,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACjE,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,4BAA4B;IACtB,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN;;yCAEiC,CAClC;aACA,IAAI,CACH,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,SAAS,CAChB;aACA,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,WAAmB;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CACN;;2CAEmC,CACpC;aACA,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;aAC9B,GAAG,EAAkB,CAAA;QACxB,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,gFAAgF;QAChF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC3B,OAAO,CAAC,uDAAuD,CAAC;aAChE,IAAI,CAAC,OAAO,CAAC;aACb,GAAG,EAAE,CAAA;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"D1AgentSearchQueryRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AgentSearchQueryRepository.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,16 @@ export declare class D1ExecutionRepository implements ExecutionRepository {
29
29
  statuses?: ExecutionStatus[];
30
30
  since?: number;
31
31
  }): Promise<ExecutionInstance[]>;
32
+ listRecent(workspaceId: string, opts: {
33
+ limit: number;
34
+ cursor?: {
35
+ createdAt: number;
36
+ id: string;
37
+ };
38
+ statuses?: ExecutionStatus[];
39
+ since?: number;
40
+ }): Promise<ExecutionInstance[]>;
41
+ exists(workspaceId: string, id: string): Promise<boolean>;
32
42
  get(workspaceId: string, id: string): Promise<ExecutionInstance | null>;
33
43
  getByBlock(workspaceId: string, blockId: string): Promise<ExecutionInstance | null>;
34
44
  upsert(workspaceId: string, execution: ExecutionInstance): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"D1ExecutionRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ExecutionRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,mBAAmB,EAExB,KAAK,cAAc,EACnB,KAAK,MAAM,EACZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAY3D;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAG1D;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CASvE;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAe7D;IAEK,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjE;IAEK,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAQnE;IAEK,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAevE;IAEK,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;QAC1C,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACA,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+B9B;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAM5E;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAQxF;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C7E;IAEK,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,iBAAiB,EAC5B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC,CAqDlB;IAEK,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAiCxF;IAEK,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;IAEK,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAU3D;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBtF;CACF"}
1
+ {"version":3,"file":"D1ExecutionRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ExecutionRepository.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,45 @@ export class D1ExecutionRepository {
107
107
  // List read: drop a corrupt run rather than failing the whole page.
108
108
  return tryDecodeRows(results, rowToExecution, runContext);
109
109
  }
110
+ async listRecent(workspaceId, opts) {
111
+ // Same predicates and ordering as `listInternal`, minus its anchor-block join: the debug
112
+ // run index deliberately spans every run in the workspace (see the port). Driven by
113
+ // idx_agent_runs_workspace (workspace_id, created_at) walked in reverse.
114
+ const where = [`workspace_id = ?`, `kind = 'execution'`];
115
+ const binds = [workspaceId];
116
+ if (opts.statuses && opts.statuses.length > 0) {
117
+ where.push(`status IN (${opts.statuses.map(() => '?').join(', ')})`);
118
+ binds.push(...opts.statuses);
119
+ }
120
+ if (opts.since != null) {
121
+ where.push(`created_at >= ?`);
122
+ binds.push(opts.since);
123
+ }
124
+ if (opts.cursor) {
125
+ where.push(`(created_at < ? OR (created_at = ? AND id < ?))`);
126
+ binds.push(opts.cursor.createdAt, opts.cursor.createdAt, opts.cursor.id);
127
+ }
128
+ const { results } = await this.db
129
+ .prepare(`SELECT * FROM agent_runs
130
+ WHERE ${where.join(' AND ')}
131
+ ORDER BY created_at DESC, id DESC
132
+ LIMIT ?`)
133
+ .bind(...binds, opts.limit)
134
+ .all();
135
+ // List read: drop a corrupt run rather than failing the whole page. Note the interaction
136
+ // with the caller's peek-one-extra pagination: a dropped row shrinks the page below
137
+ // `limit + 1`, so a page containing a corrupt run reads as the LAST page and later rows
138
+ // become unreachable until the row is repaired — accepted, matching every other list read.
139
+ return tryDecodeRows(results, rowToExecution, runContext);
140
+ }
141
+ async exists(workspaceId, id) {
142
+ // One indexed probe, no row decode (see the port). Mirrors the Drizzle repo.
143
+ const row = await this.db
144
+ .prepare(`SELECT 1 AS one FROM agent_runs WHERE workspace_id = ? AND id = ? AND kind = 'execution'`)
145
+ .bind(workspaceId, id)
146
+ .first();
147
+ return row != null;
148
+ }
110
149
  async get(workspaceId, id) {
111
150
  const row = await this.db
112
151
  .prepare(`SELECT * FROM agent_runs WHERE workspace_id = ? AND id = ? AND kind = 'execution'`)
@@ -1 +1 @@
1
- {"version":3,"file":"D1ExecutionRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ExecutionRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1ExecutionRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ExecutionRepository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type LlmCallMetric, type LlmCallMetricRepository, type LlmCallMetricSummary, type LlmPromptChainTip } from '@cat-factory/kernel';
1
+ import { type LlmCallBodyWindow, type LlmCallMetric, type LlmCallMetricPage, type LlmCallMetricRepository, type LlmCallMetricSummary, type LlmCallPageQuery, type LlmPromptChainTip } from '@cat-factory/kernel';
2
2
  import type { D1Database } from '@cloudflare/workers-types';
3
3
  /** D1-backed sink for LLM observability (see migration 0026). */
4
4
  export declare class D1LlmCallMetricRepository implements LlmCallMetricRepository {
@@ -9,6 +9,8 @@ export declare class D1LlmCallMetricRepository implements LlmCallMetricRepositor
9
9
  record(metric: LlmCallMetric): Promise<void>;
10
10
  latestChainTip(workspaceId: string, executionId: string, agentKind: string): Promise<LlmPromptChainTip | null>;
11
11
  listByExecution(workspaceId: string, executionId: string, limit?: number, agentKind?: string): Promise<LlmCallMetric[]>;
12
+ listPage(workspaceId: string, query: LlmCallPageQuery): Promise<LlmCallMetricPage[]>;
13
+ get(workspaceId: string, id: string, body?: LlmCallBodyWindow): Promise<LlmCallMetricPage | null>;
12
14
  summarizeByExecution(workspaceId: string, executionId: string): Promise<LlmCallMetricSummary[]>;
13
15
  deleteOlderThan(epochMs: number): Promise<number>;
14
16
  }
@@ -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;AA0E3D,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,CAuDjD;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"}
1
+ {"version":3,"file":"D1LlmCallMetricRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1LlmCallMetricRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA2S3D,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,CAuDjD;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,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsDzF;IAEK,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAUnC;IAEK,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA2BjC;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;CACF"}
@@ -1,7 +1,60 @@
1
- import { LLM_WARNING_FINISH_REASONS, } from '@cat-factory/kernel';
1
+ import { LLM_WARNING_FINISH_REASONS, escapeLikePattern, } from '@cat-factory/kernel';
2
2
  // `length` and `content_filter` as a SQL list literal, derived from the shared
3
3
  // constant so the warning classification matches the service + the Node store.
4
4
  const WARNING_REASONS_SQL = LLM_WARNING_FINISH_REASONS.map((r) => `'${r}'`).join(', ');
5
+ /**
6
+ * The run's calls with each one's total input and the number of turns left in ITS conversation
7
+ * after it — the two factors of the carry-cost proxy (`LlmCallRollupTotals.carryCostTokens`).
8
+ *
9
+ * `PARTITION BY agent_kind` is the conversation boundary, not a convenience: the prompt delta
10
+ * chain is keyed by `(workspace, execution, agent_kind)`, so a later step's turns never re-send
11
+ * an earlier step's context and must not be counted as carrying it.
12
+ *
13
+ * The order is `(created_at, message_count, id)` rather than `turn_index`: a proxied row's turn
14
+ * index is deliberately NULL (the proxy has no job-scoped counter), so ordering by it would
15
+ * heap every Pi call at one end of its conversation. `message_count` breaks the same-millisecond
16
+ * ties a burst produces, and `id` makes the result deterministic.
17
+ */
18
+ const CARRY_COST_SUBQUERY_SQL = `SELECT
19
+ agent_kind,
20
+ phase,
21
+ prompt_tokens,
22
+ cache_read_tokens,
23
+ cache_write_tokens,
24
+ completion_tokens,
25
+ request_max_tokens,
26
+ finish_reason,
27
+ upstream_ms,
28
+ overhead_ms,
29
+ ok,
30
+ (prompt_tokens + cache_read_tokens + cache_write_tokens) AS input_tokens,
31
+ COUNT(*) OVER (PARTITION BY agent_kind)
32
+ - ROW_NUMBER() OVER (PARTITION BY agent_kind ORDER BY created_at, message_count, id)
33
+ AS turns_after
34
+ FROM llm_call_metrics
35
+ WHERE workspace_id = ? AND execution_id = ?`;
36
+ function rowToSummary(r) {
37
+ return {
38
+ agentKind: r.agent_kind,
39
+ phase: r.phase,
40
+ calls: r.calls,
41
+ promptTokens: r.prompt_tokens,
42
+ cacheReadTokens: r.cache_read_tokens,
43
+ cacheWriteTokens: r.cache_write_tokens,
44
+ completionTokens: r.completion_tokens,
45
+ peakCompletionTokens: r.peak_completion_tokens,
46
+ maxOutputTokens: r.max_output_tokens,
47
+ truncatedCalls: r.truncated_calls,
48
+ upstreamMs: r.upstream_ms,
49
+ overheadMs: r.overhead_ms,
50
+ errors: r.errors,
51
+ warnings: r.warnings,
52
+ // Coerced, matching the `node:sqlite` store line for line: these two files mirror each
53
+ // other by contract, and the carry cost is the one column a driver may hand back as
54
+ // something other than a plain number (it is the 64-bit sum).
55
+ carryCostTokens: Number(r.carry_cost_tokens),
56
+ };
57
+ }
5
58
  function rowToMetric(row) {
6
59
  return {
7
60
  id: row.id,
@@ -36,6 +89,134 @@ function rowToMetric(row) {
36
89
  reasoningText: row.reasoning_text,
37
90
  };
38
91
  }
92
+ /**
93
+ * The metadata columns a bounded page selects, plus each body's full `length()`. The bodies
94
+ * themselves are added by {@link bodyColumns} so the SLICE can be bound to the caller's budget.
95
+ */
96
+ const PAGE_METADATA_COLUMNS = `id, workspace_id, execution_id, agent_kind, provider, model,
97
+ created_at, streaming, phase, turn_index, message_count, tool_count, request_max_tokens,
98
+ prompt_tokens,
99
+ cache_read_tokens, cache_write_tokens, completion_tokens, total_tokens, finish_reason, upstream_ms,
100
+ overhead_ms, total_ms, ok, http_status, error_message, prompt_prefix_count,
101
+ length(prompt_text) AS prompt_chars,
102
+ length(response_text) AS response_chars,
103
+ length(reasoning_text) AS reasoning_chars`;
104
+ /**
105
+ * The three body columns, windowed to `bodyChars` from `offsetChars` on — the cases, each a
106
+ * different SQL shape:
107
+ *
108
+ * - `undefined` budget at offset 0 selects the columns RAW. Not
109
+ * `substr(col, 1, <huge sentinel>)`: SQLite returns an EMPTY string for a length that
110
+ * large, so a "give me everything" point read would silently hand back nothing while
111
+ * still reporting the real `totalChars`.
112
+ * - `undefined` budget at a later offset selects the REST of the body from there
113
+ * (two-argument `substr`).
114
+ * - `0` selects a literal empty string rather than `substr(col, 1, 0)`, so a sweep over a
115
+ * long run never makes SQLite materialise (or D1 transfer) a single prompt byte — the
116
+ * whole reason bodies are opt-in here.
117
+ * - anything else slices the caller's window. `substr` is 1-based and counts CHARACTERS
118
+ * (code points), matching the wire contract's offsets, so the bind is `offset + 1`.
119
+ *
120
+ * Lengths are always reported by {@link PAGE_METADATA_COLUMNS} regardless, because a size is
121
+ * what tells the caller which rows are worth a point read. Mirrors the Drizzle repo's
122
+ * `llmPageColumns`.
123
+ */
124
+ function bodyColumns(bodyChars, offsetChars = 0) {
125
+ if (bodyChars !== undefined && bodyChars <= 0) {
126
+ return `'' AS prompt_text, '' AS response_text, '' AS reasoning_text`;
127
+ }
128
+ if (bodyChars === undefined && offsetChars <= 0) {
129
+ return `prompt_text, response_text, reasoning_text`;
130
+ }
131
+ if (bodyChars === undefined) {
132
+ return `substr(prompt_text, ?) AS prompt_text,
133
+ substr(response_text, ?) AS response_text,
134
+ substr(reasoning_text, ?) AS reasoning_text`;
135
+ }
136
+ return `substr(prompt_text, ?, ?) AS prompt_text,
137
+ substr(response_text, ?, ?) AS response_text,
138
+ substr(reasoning_text, ?, ?) AS reasoning_text`;
139
+ }
140
+ /** The window binds `bodyColumns` needs, in the order its placeholders appear. */
141
+ function bodyBinds(bodyChars, offsetChars = 0) {
142
+ if (bodyChars !== undefined && bodyChars <= 0)
143
+ return [];
144
+ if (bodyChars === undefined && offsetChars <= 0)
145
+ return [];
146
+ const from = Math.max(0, offsetChars) + 1;
147
+ if (bodyChars === undefined)
148
+ return [from, from, from];
149
+ return [from, bodyChars, from, bodyChars, from, bodyChars];
150
+ }
151
+ /**
152
+ * The per-body first-match columns a SEARCHED page adds: the 0-based code-point offset of
153
+ * the term in each body, or NULL where it does not occur (`nullif(instr(...), 0) - 1`;
154
+ * NULL propagates through the `- 1`). `instr` counts characters like `substr` does, so the
155
+ * offset feeds a point read's window directly. Case folding matches the WHERE clause's
156
+ * `LIKE`: SQLite's is ASCII-only, so the term is ASCII-lowered in {@link matchBinds}.
157
+ */
158
+ const MATCH_COLUMNS = `,
159
+ nullif(instr(lower(prompt_text), ?), 0) - 1 AS prompt_match,
160
+ nullif(instr(lower(response_text), ?), 0) - 1 AS response_match,
161
+ nullif(instr(lower(reasoning_text), ?), 0) - 1 AS reasoning_match`;
162
+ /** The lowered-term binds {@link MATCH_COLUMNS} needs. */
163
+ function matchBinds(contains) {
164
+ const lowered = contains.toLowerCase();
165
+ return [lowered, lowered, lowered];
166
+ }
167
+ /**
168
+ * The SQL predicate for one outcome class, or null for "no narrowing". Mirrors `classifyCall`
169
+ * and the Drizzle repo: a failed call is an `error`; a successful one cut short by the output
170
+ * limit or a content filter is a `warning`; the rest are `ok`. In SQL so a narrowed page spends
171
+ * its `limit` on rows the caller wants.
172
+ */
173
+ function outcomeClause(outcome) {
174
+ if (outcome === 'error')
175
+ return 'ok = 0';
176
+ if (outcome === 'warning')
177
+ return `ok = 1 AND finish_reason IN (${WARNING_REASONS_SQL})`;
178
+ if (outcome === 'ok') {
179
+ return `ok = 1 AND (finish_reason IS NULL OR finish_reason NOT IN (${WARNING_REASONS_SQL}))`;
180
+ }
181
+ return null;
182
+ }
183
+ /** Attach a searched row's per-body match offset; a plain page's slices carry none. */
184
+ function withMatch(slice, match) {
185
+ return match === undefined ? slice : { ...slice, matchOffset: match };
186
+ }
187
+ function rowToPage(row) {
188
+ return {
189
+ id: row.id,
190
+ workspaceId: row.workspace_id,
191
+ executionId: row.execution_id,
192
+ agentKind: row.agent_kind,
193
+ provider: row.provider,
194
+ model: row.model,
195
+ createdAt: row.created_at,
196
+ streaming: row.streaming === 1,
197
+ phase: row.phase,
198
+ turnIndex: row.turn_index,
199
+ messageCount: row.message_count,
200
+ toolCount: row.tool_count,
201
+ requestMaxTokens: row.request_max_tokens,
202
+ promptTokens: row.prompt_tokens,
203
+ cacheReadTokens: row.cache_read_tokens,
204
+ cacheWriteTokens: row.cache_write_tokens,
205
+ completionTokens: row.completion_tokens,
206
+ totalTokens: row.total_tokens,
207
+ finishReason: row.finish_reason,
208
+ upstreamMs: row.upstream_ms,
209
+ overheadMs: row.overhead_ms,
210
+ totalMs: row.total_ms,
211
+ ok: row.ok === 1,
212
+ httpStatus: row.http_status,
213
+ errorMessage: row.error_message,
214
+ promptPrefixCount: row.prompt_prefix_count,
215
+ prompt: withMatch({ text: row.prompt_text, totalChars: row.prompt_chars ?? 0 }, row.prompt_match),
216
+ response: withMatch({ text: row.response_text, totalChars: row.response_chars ?? 0 }, row.response_match),
217
+ reasoning: withMatch({ text: row.reasoning_text, totalChars: row.reasoning_chars ?? 0 }, row.reasoning_match),
218
+ };
219
+ }
39
220
  /** D1-backed sink for LLM observability (see migration 0026). */
40
221
  export class D1LlmCallMetricRepository {
41
222
  db;
@@ -97,12 +278,72 @@ export class D1LlmCallMetricRepository {
97
278
  .all();
98
279
  return (results ?? []).map(rowToMetric);
99
280
  }
281
+ async listPage(workspaceId, query) {
282
+ const ascending = query.order === 'oldest';
283
+ const clauses = ['workspace_id = ?', 'execution_id = ?'];
284
+ // The SELECT-list binds come FIRST (slices, then match offsets), ahead of every WHERE
285
+ // placeholder.
286
+ const binds = [
287
+ ...bodyBinds(query.bodyChars),
288
+ ...(query.contains != null ? matchBinds(query.contains) : []),
289
+ workspaceId,
290
+ query.executionId,
291
+ ];
292
+ if (query.agentKind != null) {
293
+ clauses.push('agent_kind = ?');
294
+ binds.push(query.agentKind);
295
+ }
296
+ // `!= null`, not a truthiness check: '' is the unattributed slice and a legitimate filter.
297
+ if (query.phase != null) {
298
+ clauses.push('phase = ?');
299
+ binds.push(query.phase);
300
+ }
301
+ const outcome = outcomeClause(query.outcome);
302
+ if (outcome)
303
+ clauses.push(`(${outcome})`);
304
+ if (query.contains != null) {
305
+ // The surface's grep: SQLite's LIKE is ASCII-case-insensitive by default, and the shared
306
+ // escaper makes `%`/`_` in the term literal (`ESCAPE '\'` — SQLite has no default escape
307
+ // character, unlike Postgres).
308
+ const pattern = `%${escapeLikePattern(query.contains)}%`;
309
+ clauses.push(`(prompt_text LIKE ? ESCAPE '\\' OR response_text LIKE ? ESCAPE '\\' OR reasoning_text LIKE ? ESCAPE '\\')`);
310
+ binds.push(pattern, pattern, pattern);
311
+ }
312
+ if (query.cursor) {
313
+ // Composite keyset matching the ORDER BY. Calls are recorded off the response path, so a
314
+ // burst genuinely shares a millisecond; a `created_at`-only bound would drop the ties.
315
+ const cmp = ascending ? '>' : '<';
316
+ clauses.push(`(created_at ${cmp} ? OR (created_at = ? AND id ${cmp} ?))`);
317
+ binds.push(query.cursor.createdAt, query.cursor.createdAt, query.cursor.id);
318
+ }
319
+ binds.push(query.limit);
320
+ const direction = ascending ? 'ASC' : 'DESC';
321
+ const { results } = await this.db
322
+ .prepare(`SELECT ${PAGE_METADATA_COLUMNS}, ${bodyColumns(query.bodyChars)}${query.contains != null ? MATCH_COLUMNS : ''}
323
+ FROM llm_call_metrics
324
+ WHERE ${clauses.join(' AND ')}
325
+ ORDER BY created_at ${direction}, id ${direction}
326
+ LIMIT ?`)
327
+ .bind(...binds)
328
+ .all();
329
+ return (results ?? []).map(rowToPage);
330
+ }
331
+ async get(workspaceId, id, body) {
332
+ const row = await this.db
333
+ .prepare(`SELECT ${PAGE_METADATA_COLUMNS}, ${bodyColumns(body?.chars, body?.offset ?? 0)}
334
+ FROM llm_call_metrics
335
+ WHERE workspace_id = ? AND id = ?`)
336
+ .bind(...bodyBinds(body?.chars, body?.offset ?? 0), workspaceId, id)
337
+ .first();
338
+ return row ? rowToPage(row) : null;
339
+ }
100
340
  async summarizeByExecution(workspaceId, executionId) {
101
341
  // Aggregate-only: deliberately selects no prompt/response text, so this stays
102
342
  // cheap to run on every execution emit (it backs the live board rollups).
103
343
  const { results } = await this.db
104
344
  .prepare(`SELECT
105
345
  agent_kind AS agent_kind,
346
+ phase AS phase,
106
347
  COUNT(*) AS calls,
107
348
  COALESCE(SUM(prompt_tokens), 0) AS prompt_tokens,
108
349
  COALESCE(SUM(cache_read_tokens), 0) AS cache_read_tokens,
@@ -114,27 +355,13 @@ export class D1LlmCallMetricRepository {
114
355
  COALESCE(SUM(upstream_ms), 0) AS upstream_ms,
115
356
  COALESCE(SUM(overhead_ms), 0) AS overhead_ms,
116
357
  COALESCE(SUM(CASE WHEN ok = 0 THEN 1 ELSE 0 END), 0) AS errors,
117
- COALESCE(SUM(CASE WHEN ok = 1 AND finish_reason IN (${WARNING_REASONS_SQL}) THEN 1 ELSE 0 END), 0) AS warnings
118
- FROM llm_call_metrics
119
- WHERE workspace_id = ? AND execution_id = ?
120
- GROUP BY agent_kind`)
358
+ COALESCE(SUM(CASE WHEN ok = 1 AND finish_reason IN (${WARNING_REASONS_SQL}) THEN 1 ELSE 0 END), 0) AS warnings,
359
+ COALESCE(SUM(input_tokens * turns_after), 0) AS carry_cost_tokens
360
+ FROM (${CARRY_COST_SUBQUERY_SQL})
361
+ GROUP BY agent_kind, phase`)
121
362
  .bind(workspaceId, executionId)
122
363
  .all();
123
- return (results ?? []).map((r) => ({
124
- agentKind: r.agent_kind,
125
- calls: r.calls,
126
- promptTokens: r.prompt_tokens,
127
- cacheReadTokens: r.cache_read_tokens,
128
- cacheWriteTokens: r.cache_write_tokens,
129
- completionTokens: r.completion_tokens,
130
- peakCompletionTokens: r.peak_completion_tokens,
131
- maxOutputTokens: r.max_output_tokens,
132
- truncatedCalls: r.truncated_calls,
133
- upstreamMs: r.upstream_ms,
134
- overheadMs: r.overhead_ms,
135
- errors: r.errors,
136
- warnings: r.warnings,
137
- }));
364
+ return (results ?? []).map(rowToSummary);
138
365
  }
139
366
  async deleteOlderThan(epochMs) {
140
367
  // Range delete on idx_llm_call_metrics_created; bounded by the rows being pruned.
@@ -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;AAmCtF,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,CAAC;QAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;QACvC,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;QAChB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAC1C,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,aAAa,EAAE,GAAG,CAAC,cAAc;KAClC,CAAA;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,OAAO,yBAAyB;IACnB,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAqB;QAChC,sFAAsF;QACtF,0FAA0F;QAC1F,2FAA2F;QAC3F,0FAA0F;QAC1F,uFAAuF;QACvF,qFAAqF;QACrF,wFAAwF;QACxF,yFAAyF;QACzF,2BAA2B;QAC3B,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN;;;;;;;;oCAQ4B,CAC7B;aACA,IAAI,CACH,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,aAAa,CACrB;aACA,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,WAAmB,EACnB,WAAmB,EACnB,SAAiB;QAEjB,0EAA0E;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,OAAO;QACN,2EAA2E;QAC3E,2EAA2E;QAC3E,qFAAqF;QACrF,uFAAuF;QACvF,qFAAqF;QACrF,uFAAuF;QACvF,mFAAmF;QACnF,gBAAgB;QAChB;;;iBAGS,CACV;aACA,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;aACzC,KAAK,EAAkD,CAAA;QAC1D,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,WAAmB,EACnB,WAAmB,EACnB,KAAc,EACd,SAAkB;QAElB,oFAAoF;QACpF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CACN;;;;iBAIS,CACV;aACA,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;aACjF,GAAG,EAAa,CAAA;QACnB,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,WAAmB,EACnB,WAAmB;QAEnB,8EAA8E;QAC9E,0EAA0E;QAC1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CACN;;;;;;;;;;;;;iEAayD,mBAAmB;;;6BAGvD,CACtB;aACA,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;aAC9B,GAAG,EAcA,CAAA;QACN,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,aAAa;YAC7B,eAAe,EAAE,CAAC,CAAC,iBAAiB;YACpC,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;YACtC,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;YACrC,oBAAoB,EAAE,CAAC,CAAC,sBAAsB;YAC9C,eAAe,EAAE,CAAC,CAAC,iBAAiB;YACpC,cAAc,EAAE,CAAC,CAAC,eAAe;YACjC,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,kFAAkF;QAClF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC3B,OAAO,CAAC,mDAAmD,CAAC;aAC5D,IAAI,CAAC,OAAO,CAAC;aACb,GAAG,EAAE,CAAA;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"D1LlmCallMetricRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1LlmCallMetricRepository.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export declare class D1ProvisioningLogRepository implements ProvisioningLogRepos
12
12
  });
13
13
  append(record: ProvisioningLogRecord): Promise<void>;
14
14
  list(workspaceId: string, query?: ProvisioningLogQuery): Promise<ProvisioningLogRecord[]>;
15
+ countByExecution(workspaceId: string, executionId: string): Promise<{
16
+ total: number;
17
+ failures: number;
18
+ }>;
15
19
  deleteOlderThan(epochMs: number): Promise<number>;
16
20
  }
17
21
  //# sourceMappingURL=D1ProvisioningLogRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1ProvisioningLogRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ProvisioningLogRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAkC3D;;;;GAIG;AACH,qBAAa,2BAA4B,YAAW,yBAAyB;IAC3E,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,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzD;IAEK,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA+BlC;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtD;CACF"}
1
+ {"version":3,"file":"D1ProvisioningLogRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ProvisioningLogRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAkC3D;;;;GAIG;AACH,qBAAa,2BAA4B,YAAW,yBAAyB;IAC3E,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,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzD;IAEK,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAiClC;IAEK,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAY9C;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtD;CACF"}
@@ -48,9 +48,11 @@ export class D1ProvisioningLogRepository {
48
48
  clauses.push('target_id = ?');
49
49
  binds.push(query.targetId);
50
50
  }
51
- if (query.before != null) {
52
- clauses.push('created_at < ?');
53
- binds.push(query.before);
51
+ if (query.cursor) {
52
+ // Composite keyset matching the ORDER BY: provisioning attempts are appended in bursts,
53
+ // so a `created_at`-only bound would silently drop rows sharing a millisecond.
54
+ clauses.push('(created_at < ? OR (created_at = ? AND id < ?))');
55
+ binds.push(query.cursor.createdAt, query.cursor.createdAt, query.cursor.id);
54
56
  }
55
57
  // Newest first; `LIMIT -1` means "no limit" in SQLite, so an omitted cap reads all.
56
58
  binds.push(query.limit ?? -1);
@@ -63,6 +65,17 @@ export class D1ProvisioningLogRepository {
63
65
  .all();
64
66
  return (results ?? []).map(rowToRecord);
65
67
  }
68
+ async countByExecution(workspaceId, executionId) {
69
+ // Total + failures in ONE aggregate pass over the run's slice (see the port).
70
+ const row = await this.db
71
+ .prepare(`SELECT COUNT(*) AS total,
72
+ COALESCE(SUM(CASE WHEN outcome = 'failure' THEN 1 ELSE 0 END), 0) AS failures
73
+ FROM provisioning_log
74
+ WHERE workspace_id = ? AND execution_id = ?`)
75
+ .bind(workspaceId, executionId)
76
+ .first();
77
+ return { total: row?.total ?? 0, failures: row?.failures ?? 0 };
78
+ }
66
79
  async deleteOlderThan(epochMs) {
67
80
  const { meta } = await this.db
68
81
  .prepare('DELETE FROM provisioning_log WHERE created_at < ?')
@@ -1 +1 @@
1
- {"version":3,"file":"D1ProvisioningLogRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ProvisioningLogRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1ProvisioningLogRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ProvisioningLogRepository.ts"],"names":[],"mappings":"AAsBA,SAAS,WAAW,CAAC,GAAuB;IAC1C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,SAA+C;QAC9D,SAAS,EAAE,GAAG,CAAC,SAA+C;QAC9D,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,OAAO,EAAE,GAAG,CAAC,OAA2C;QACxD,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,2BAA2B;IACrB,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA6B;QACxC,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN;;;qDAG6C,CAC9C;aACA,IAAI,CACH,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,CACjB;aACA,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,IAAI,CACR,WAAmB,EACnB,KAAK,GAAyB,EAAE;QAEhC,MAAM,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACpC,MAAM,KAAK,GAAc,CAAC,WAAW,CAAC,CAAA;QACtC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,wFAAwF;YACxF,+EAA+E;YAC/E,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;YAC/D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,oFAAoF;QACpF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CACN;iBACS,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;;iBAErB,CACV;aACA,IAAI,CAAC,GAAG,KAAK,CAAC;aACd,GAAG,EAAsB,CAAA;QAC5B,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,WAAmB;QAEnB,8EAA8E;QAC9E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,OAAO,CACN;;;qDAG6C,CAC9C;aACA,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;aAC9B,KAAK,EAAuC,CAAA;QAC/C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC3B,OAAO,CAAC,mDAAmD,CAAC;aAC5D,IAAI,CAAC,OAAO,CAAC;aACb,GAAG,EAAE,CAAA;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;IAC1B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/worker",
3
- "version": "0.117.1",
3
+ "version": "0.119.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.82.1",
46
- "@cat-factory/caching": "0.11.9",
47
- "@cat-factory/consensus": "0.12.10",
48
- "@cat-factory/contracts": "0.187.0",
49
- "@cat-factory/eks": "0.1.162",
50
- "@cat-factory/gates": "0.8.9",
51
- "@cat-factory/gitlab": "0.13.29",
52
- "@cat-factory/integrations": "0.109.0",
53
- "@cat-factory/kernel": "0.181.0",
54
- "@cat-factory/observability-langfuse": "0.9.6",
55
- "@cat-factory/observability-otel": "0.4.6",
56
- "@cat-factory/orchestration": "0.159.2",
57
- "@cat-factory/prompt-fragments": "0.15.10",
58
- "@cat-factory/provider-cloudflare": "0.7.315",
59
- "@cat-factory/server": "0.169.0",
60
- "@cat-factory/spend": "0.12.110"
45
+ "@cat-factory/agents": "0.82.3",
46
+ "@cat-factory/caching": "0.11.11",
47
+ "@cat-factory/consensus": "0.12.12",
48
+ "@cat-factory/contracts": "0.189.0",
49
+ "@cat-factory/eks": "0.1.164",
50
+ "@cat-factory/gates": "0.8.11",
51
+ "@cat-factory/gitlab": "0.13.31",
52
+ "@cat-factory/integrations": "0.109.2",
53
+ "@cat-factory/kernel": "0.183.0",
54
+ "@cat-factory/observability-langfuse": "0.9.8",
55
+ "@cat-factory/observability-otel": "0.4.8",
56
+ "@cat-factory/orchestration": "0.161.0",
57
+ "@cat-factory/provider-cloudflare": "0.7.317",
58
+ "@cat-factory/prompt-fragments": "0.15.12",
59
+ "@cat-factory/server": "0.170.1",
60
+ "@cat-factory/spend": "0.12.112"
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.14.3"
68
+ "@cat-factory/conformance": "0.14.5"
69
69
  },
70
70
  "scripts": {
71
71
  "build": "tsc -b tsconfig.build.json",