@cat-factory/worker 0.168.1 → 0.170.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 (38) hide show
  1. package/dist/app.d.ts +14 -1
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js.map +1 -1
  4. package/dist/index.d.ts +10 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +84 -6
  7. package/dist/index.js.map +1 -1
  8. package/dist/infrastructure/appCachesHost.d.ts +48 -0
  9. package/dist/infrastructure/appCachesHost.d.ts.map +1 -0
  10. package/dist/infrastructure/appCachesHost.js +102 -0
  11. package/dist/infrastructure/appCachesHost.js.map +1 -0
  12. package/dist/infrastructure/container-assembly.d.ts.map +1 -1
  13. package/dist/infrastructure/container-assembly.js +5 -1
  14. package/dist/infrastructure/container-assembly.js.map +1 -1
  15. package/dist/infrastructure/container-documents-deps.d.ts +38 -0
  16. package/dist/infrastructure/container-documents-deps.d.ts.map +1 -0
  17. package/dist/infrastructure/container-documents-deps.js +119 -0
  18. package/dist/infrastructure/container-documents-deps.js.map +1 -0
  19. package/dist/infrastructure/container.d.ts +0 -9
  20. package/dist/infrastructure/container.d.ts.map +1 -1
  21. package/dist/infrastructure/container.js +12 -76
  22. package/dist/infrastructure/container.js.map +1 -1
  23. package/dist/infrastructure/durable-objects/CacheGenerationDirectory.d.ts +23 -0
  24. package/dist/infrastructure/durable-objects/CacheGenerationDirectory.d.ts.map +1 -0
  25. package/dist/infrastructure/durable-objects/CacheGenerationDirectory.js +49 -0
  26. package/dist/infrastructure/durable-objects/CacheGenerationDirectory.js.map +1 -0
  27. package/dist/infrastructure/env.d.ts +11 -0
  28. package/dist/infrastructure/env.d.ts.map +1 -1
  29. package/dist/infrastructure/env.js.map +1 -1
  30. package/dist/infrastructure/repositories/D1SpendRollupRepository.d.ts +1 -0
  31. package/dist/infrastructure/repositories/D1SpendRollupRepository.d.ts.map +1 -1
  32. package/dist/infrastructure/repositories/D1SpendRollupRepository.js +82 -45
  33. package/dist/infrastructure/repositories/D1SpendRollupRepository.js.map +1 -1
  34. package/dist/infrastructure/requestContext.d.ts +21 -0
  35. package/dist/infrastructure/requestContext.d.ts.map +1 -0
  36. package/dist/infrastructure/requestContext.js +41 -0
  37. package/dist/infrastructure/requestContext.js.map +1 -0
  38. package/package.json +18 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheGenerationDirectory.js","sourceRoot":"","sources":["../../../src/infrastructure/durable-objects/CacheGenerationDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,wBAAyB,SAAQ,aAAkB;IACrD,KAAK,CAAC,KAAK,CAAC,OAAgB;QACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAU,CAAA;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1D,IAAI,SAAkB,CAAA;YACtB,IAAI,CAAC;gBACH,SAAS,GAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAA6B,CAAC,SAAS,CAAA;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,QAAQ,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,IAAI,QAAQ,CAAC,yCAAyC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAS,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7E,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YACjD,OAAO,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,yCAAyC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACjF,CAAC;CACF;AAED,SAAS,IAAI,CAAC,IAAa;IACzB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC"}
@@ -2,6 +2,7 @@ import type { Ai, D1Database, DurableObjectNamespace, Queue, R2Bucket, Workflow
2
2
  import type { TrackerWebhookEvent } from '@cat-factory/kernel';
3
3
  import type { DeployContainer } from './containers/DeployContainer';
4
4
  import type { ExecutionContainer } from './containers/ExecutionContainer';
5
+ import type { CacheGenerationDirectory } from './durable-objects/CacheGenerationDirectory';
5
6
  import type { WorkspaceEventsHub } from './durable-objects/WorkspaceEventsHub';
6
7
  /** Message enqueued to bound the rate at which durable runs are started. */
7
8
  export interface ExecutionStartMessage {
@@ -163,6 +164,16 @@ export interface Env {
163
164
  * nothing (clients still get state on connect / refresh).
164
165
  */
165
166
  WORKSPACE_EVENTS?: DurableObjectNamespace<WorkspaceEventsHub>;
167
+ /**
168
+ * Cross-isolate cache-coherency directory (Durable Object): one generation counter per
169
+ * (cache, group), sharded by group. Its presence is what selects the COHERENT app-cache
170
+ * profile: caches of our own mutable state get a real in-isolate TTL with a generation
171
+ * probe bounding cross-isolate staleness (see `appCachesHost.ts`). When absent, the
172
+ * Worker keeps the isolate-safe pass-through stance for those caches: prior behaviour,
173
+ * no boot failure, which is the safe direction for a deployment whose wrangler.toml
174
+ * predates the binding.
175
+ */
176
+ CACHE_GENERATIONS?: DurableObjectNamespace<CacheGenerationDirectory>;
166
177
  /**
167
178
  * Durable Object namespace backing per-run implementation containers. Each run
168
179
  * addresses its own instance; the container runs the Pi coding-agent harness.
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/infrastructure/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/infrastructure/env.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/infrastructure/env.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA+uB7D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,GAAG,CAAC,YAAY,CAAA;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/infrastructure/env.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA0vB7D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,GAAG,CAAC,YAAY,CAAA;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,CAAA;AACf,CAAC"}
@@ -7,6 +7,7 @@ export declare class D1SpendRollupRepository implements SpendRollupRepository {
7
7
  db: D1Database;
8
8
  });
9
9
  rollupSpendDays(fromEpochMs: number, toEpochMs: number): Promise<number>;
10
+ rollupWorkspaceSpendDays(workspaceId: string, fromEpochMs: number, toEpochMs: number): Promise<number>;
10
11
  spendRollupWatermark(): Promise<number | null>;
11
12
  /**
12
13
  * The account (+ optional single-board) scope and the day window. Scoped on the row's OWN
@@ -1 +1 @@
1
- {"version":3,"file":"D1SpendRollupRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1SpendRollupRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAyB,MAAM,wBAAwB,CAAA;AACzF,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAqF3D,qBAAa,uBAAwB,YAAW,qBAAqB;IACnE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgG7E;IAEK,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMnD;IAED;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAYb,gBAAgB,CACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4B7B;IAEK,UAAU,CACd,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAkCnC;CACF"}
1
+ {"version":3,"file":"D1SpendRollupRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1SpendRollupRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAyB,MAAM,wBAAwB,CAAA;AACzF,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA4I3D,qBAAa,uBAAwB,YAAW,qBAAqB;IACnE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD7E;IAEK,wBAAwB,CAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA2BjB;IAEK,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMnD;IAED;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAYb,gBAAgB,CACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4B7B;IAEK,UAAU,CACd,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAkCnC;CACF"}
@@ -45,6 +45,60 @@ const ROLLUP_JOINS = `LEFT JOIN workspaces w ON w.id = tu.workspace_id
45
45
  AND gr.github_id = s.repo_github_id
46
46
  LEFT JOIN (${TICKET_BY_BLOCK}) tk ON tk.workspace_id = ar.workspace_id
47
47
  AND tk.linked_block_id = ar.block_id`;
48
+ /**
49
+ * The fold itself: `token_usage` for a `[from, to)` window aggregated per bucket with the run's
50
+ * board shape frozen onto it. `scoped` narrows it to ONE workspace (the board-delete fold),
51
+ * which adds a third bind after the two day-millisecond ones and before the window pair.
52
+ *
53
+ * One statement for both callers so the sweep's fold and the delete's cannot drift into
54
+ * attributing the same spend differently, which would be visible only as a board's last days
55
+ * disagreeing with every day before them.
56
+ */
57
+ function foldSql(scoped) {
58
+ return `INSERT INTO spend_days (
59
+ workspace_id, day_start, execution_id, agent_kind, provider, model, billing, vendor,
60
+ account_id, workspace_name, block_id, block_title, service_id, service_name,
61
+ repo_id, repo_name, task_type, ticket_ref,
62
+ calls, input_tokens, output_tokens, metered_cost, subscription_cost)
63
+ SELECT tu.workspace_id,
64
+ CAST(tu.created_at / ? AS INTEGER) * ? AS day_start,
65
+ COALESCE(tu.execution_id, '') AS execution_id,
66
+ tu.agent_kind,
67
+ tu.provider,
68
+ tu.model,
69
+ tu.billing,
70
+ COALESCE(tu.vendor, '') AS vendor,
71
+ -- The ledger's own denormalized account wins; the board's is the fallback
72
+ -- for a row recorded before it was resolved.
73
+ MAX(COALESCE(tu.account_id, w.account_id, '')) AS account_id,
74
+ MAX(w.name) AS workspace_name,
75
+ MAX(COALESCE(ar.block_id, '')) AS block_id,
76
+ MAX(b.title) AS block_title,
77
+ MAX(COALESCE(ar.service_id, '')) AS service_id,
78
+ MAX(sl.title) AS service_name,
79
+ MAX(COALESCE(CAST(s.repo_github_id AS TEXT), '')) AS repo_id,
80
+ MAX(gr.owner || '/' || gr.name) AS repo_name,
81
+ MAX(COALESCE(b.task_type, '')) AS task_type,
82
+ MAX(COALESCE(tk.ticket_key, '')) AS ticket_ref,
83
+ COUNT(*) AS calls,
84
+ COALESCE(SUM(tu.input_tokens), 0) AS input_tokens,
85
+ COALESCE(SUM(tu.output_tokens), 0) AS output_tokens,
86
+ COALESCE(SUM(CASE WHEN tu.billing = 'subscription'
87
+ THEN 0 ELSE tu.cost_estimate END), 0) AS metered_cost,
88
+ COALESCE(SUM(CASE WHEN tu.billing = 'subscription'
89
+ THEN tu.cost_estimate ELSE 0 END), 0) AS subscription_cost
90
+ FROM token_usage tu
91
+ ${ROLLUP_JOINS}
92
+ WHERE ${scoped ? 'tu.workspace_id = ? AND ' : ''}tu.created_at >= ? AND tu.created_at < ?
93
+ GROUP BY 1, 2, 3, 4, 5, 6, 7, 8
94
+ ON CONFLICT(workspace_id, day_start, execution_id, agent_kind, provider, model,
95
+ billing, vendor)
96
+ DO UPDATE SET calls = excluded.calls,
97
+ input_tokens = excluded.input_tokens,
98
+ output_tokens = excluded.output_tokens,
99
+ metered_cost = excluded.metered_cost,
100
+ subscription_cost = excluded.subscription_cost`;
101
+ }
48
102
  /**
49
103
  * The two cost sums, spelled out rather than referenced by output alias.
50
104
  *
@@ -99,51 +153,7 @@ export class D1SpendRollupRepository {
99
153
  WHERE day_start >= ? AND day_start < ?
100
154
  AND workspace_id IN (SELECT id FROM workspaces)`)
101
155
  .bind(from, to),
102
- this.db
103
- .prepare(`INSERT INTO spend_days (
104
- workspace_id, day_start, execution_id, agent_kind, provider, model, billing, vendor,
105
- account_id, workspace_name, block_id, block_title, service_id, service_name,
106
- repo_id, repo_name, task_type, ticket_ref,
107
- calls, input_tokens, output_tokens, metered_cost, subscription_cost)
108
- SELECT tu.workspace_id,
109
- CAST(tu.created_at / ? AS INTEGER) * ? AS day_start,
110
- COALESCE(tu.execution_id, '') AS execution_id,
111
- tu.agent_kind,
112
- tu.provider,
113
- tu.model,
114
- tu.billing,
115
- COALESCE(tu.vendor, '') AS vendor,
116
- -- The ledger's own denormalized account wins; the board's is the fallback
117
- -- for a row recorded before it was resolved.
118
- MAX(COALESCE(tu.account_id, w.account_id, '')) AS account_id,
119
- MAX(w.name) AS workspace_name,
120
- MAX(COALESCE(ar.block_id, '')) AS block_id,
121
- MAX(b.title) AS block_title,
122
- MAX(COALESCE(ar.service_id, '')) AS service_id,
123
- MAX(sl.title) AS service_name,
124
- MAX(COALESCE(CAST(s.repo_github_id AS TEXT), '')) AS repo_id,
125
- MAX(gr.owner || '/' || gr.name) AS repo_name,
126
- MAX(COALESCE(b.task_type, '')) AS task_type,
127
- MAX(COALESCE(tk.ticket_key, '')) AS ticket_ref,
128
- COUNT(*) AS calls,
129
- COALESCE(SUM(tu.input_tokens), 0) AS input_tokens,
130
- COALESCE(SUM(tu.output_tokens), 0) AS output_tokens,
131
- COALESCE(SUM(CASE WHEN tu.billing = 'subscription'
132
- THEN 0 ELSE tu.cost_estimate END), 0) AS metered_cost,
133
- COALESCE(SUM(CASE WHEN tu.billing = 'subscription'
134
- THEN tu.cost_estimate ELSE 0 END), 0) AS subscription_cost
135
- FROM token_usage tu
136
- ${ROLLUP_JOINS}
137
- WHERE tu.created_at >= ? AND tu.created_at < ?
138
- GROUP BY 1, 2, 3, 4, 5, 6, 7, 8
139
- ON CONFLICT(workspace_id, day_start, execution_id, agent_kind, provider, model,
140
- billing, vendor)
141
- DO UPDATE SET calls = excluded.calls,
142
- input_tokens = excluded.input_tokens,
143
- output_tokens = excluded.output_tokens,
144
- metered_cost = excluded.metered_cost,
145
- subscription_cost = excluded.subscription_cost`)
146
- .bind(DAY_MS, DAY_MS, from, to),
156
+ this.db.prepare(foldSql(false)).bind(DAY_MS, DAY_MS, from, to),
147
157
  // The sweep's coverage, in the SAME batch (hence the same transaction) as the rewrite it
148
158
  // describes, and forward-only so a catch-up pass over an older window cannot present a
149
159
  // current rollup as a stalled one.
@@ -163,6 +173,33 @@ export class D1SpendRollupRepository {
163
173
  ]);
164
174
  return inserted?.meta.changes ?? 0;
165
175
  }
176
+ async rollupWorkspaceSpendDays(workspaceId, fromEpochMs, toEpochMs) {
177
+ const from = Math.floor(fromEpochMs / DAY_MS) * DAY_MS;
178
+ const to = Math.ceil(toEpochMs / DAY_MS) * DAY_MS;
179
+ if (to <= from)
180
+ return 0;
181
+ // The board's LAST fold, run inside its own deletion so the spend it made since the last
182
+ // rolled-up day is frozen before `token_usage` goes with the cascade. Same rewrite shape as
183
+ // the sweep's, narrowed to one board, and with the two differences the port documents:
184
+ //
185
+ // - The existence guard STAYS. This is called before the cascade, but the guard is what
186
+ // makes that ordering enforced by the query rather than remembered at the call site:
187
+ // after the cascade the fold reads nothing, and an unguarded DELETE would reclaim the
188
+ // frozen rows this whole table exists to keep.
189
+ // - `platform_rollup_state` is NOT touched. That marker is deployment-scoped and says how
190
+ // far the SWEEP has covered every board; one board's final fold covers no other board's
191
+ // days, and the marker only moves forward, so advancing it here would permanently
192
+ // present days nothing folded as covered.
193
+ const [, inserted] = await this.db.batch([
194
+ this.db
195
+ .prepare(`DELETE FROM spend_days
196
+ WHERE workspace_id = ? AND day_start >= ? AND day_start < ?
197
+ AND workspace_id IN (SELECT id FROM workspaces)`)
198
+ .bind(workspaceId, from, to),
199
+ this.db.prepare(foldSql(true)).bind(DAY_MS, DAY_MS, workspaceId, from, to),
200
+ ]);
201
+ return inserted?.meta.changes ?? 0;
202
+ }
166
203
  async spendRollupWatermark() {
167
204
  const row = await this.db
168
205
  .prepare('SELECT through_day FROM platform_rollup_state WHERE rollup = ?')
@@ -1 +1 @@
1
- {"version":3,"file":"D1SpendRollupRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1SpendRollupRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1SpendRollupRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1SpendRollupRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ExecutionContext } from '@cloudflare/workers-types';
2
+ /**
3
+ * Run one invocation's work with its ExecutionContext ambient. Every Worker entry point
4
+ * (fetch, scheduled, queue) wraps its handling in this; Workflows steps do not (they have
5
+ * no ExecutionContext), which is why readers must tolerate an absent store.
6
+ */
7
+ export declare function runWithExecutionContext<T>(ctx: ExecutionContext, fn: () => T): T;
8
+ /** The current invocation's ExecutionContext, or undefined outside any wrapped entry point. */
9
+ export declare function currentExecutionContext(): ExecutionContext | undefined;
10
+ /**
11
+ * The current invocation's IDENTITY, for `@cat-factory/caching`'s per-invocation load scoping.
12
+ *
13
+ * It is the same `ExecutionContext` object, read for a different reason: the caching layer
14
+ * never calls it, it only compares it, so that a cache miss can tell "a load already running
15
+ * for THIS invocation" (safe to await) from one running for a concurrent invocation in the
16
+ * same isolate (uncatchably fatal to await). A distinct name because the two uses have
17
+ * different failure modes and a future invocation token that is not the `ctx` would keep this
18
+ * one honest.
19
+ */
20
+ export declare function currentInvocation(): object | undefined;
21
+ //# sourceMappingURL=requestContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../src/infrastructure/requestContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAkBjE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhF;AAED,+FAA+F;AAC/F,wBAAgB,uBAAuB,IAAI,gBAAgB,GAAG,SAAS,CAEtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD"}
@@ -0,0 +1,41 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ // The ambient ExecutionContext of the invocation currently being served, carried on an
3
+ // AsyncLocalStorage (available under the `nodejs_compat` flag wrangler.toml already sets).
4
+ //
5
+ // Why an ambient rather than a threaded parameter: the module-scope cache bag
6
+ // (`appCachesHost.ts`) outlives every request, but the background work its loaders start
7
+ // (preemptive refreshes, staleness probes) performs I/O, and on Workers I/O is scoped to
8
+ // the request that created it, and a promise left detached past its request faults with
9
+ // "Cannot perform I/O on behalf of a different request". The adopter therefore has to
10
+ // resolve the CURRENT invocation's `ctx` at spawn time; a `ctx` captured at construction
11
+ // would belong to whichever invocation happened to build the bag, and a module-scope
12
+ // pending-work registry drained by middleware can adopt request B's promise onto request
13
+ // A's `waitUntil` when two run concurrently in one isolate. ALS attributes each spawn to
14
+ // the invocation that caused it, by construction.
15
+ const executionContextStorage = new AsyncLocalStorage();
16
+ /**
17
+ * Run one invocation's work with its ExecutionContext ambient. Every Worker entry point
18
+ * (fetch, scheduled, queue) wraps its handling in this; Workflows steps do not (they have
19
+ * no ExecutionContext), which is why readers must tolerate an absent store.
20
+ */
21
+ export function runWithExecutionContext(ctx, fn) {
22
+ return executionContextStorage.run(ctx, fn);
23
+ }
24
+ /** The current invocation's ExecutionContext, or undefined outside any wrapped entry point. */
25
+ export function currentExecutionContext() {
26
+ return executionContextStorage.getStore();
27
+ }
28
+ /**
29
+ * The current invocation's IDENTITY, for `@cat-factory/caching`'s per-invocation load scoping.
30
+ *
31
+ * It is the same `ExecutionContext` object, read for a different reason: the caching layer
32
+ * never calls it, it only compares it, so that a cache miss can tell "a load already running
33
+ * for THIS invocation" (safe to await) from one running for a concurrent invocation in the
34
+ * same isolate (uncatchably fatal to await). A distinct name because the two uses have
35
+ * different failure modes and a future invocation token that is not the `ctx` would keep this
36
+ * one honest.
37
+ */
38
+ export function currentInvocation() {
39
+ return executionContextStorage.getStore();
40
+ }
41
+ //# sourceMappingURL=requestContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestContext.js","sourceRoot":"","sources":["../../src/infrastructure/requestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,uFAAuF;AACvF,2FAA2F;AAC3F,EAAE;AACF,8EAA8E;AAC9E,yFAAyF;AACzF,yFAAyF;AACzF,wFAAwF;AACxF,sFAAsF;AACtF,yFAAyF;AACzF,qFAAqF;AACrF,yFAAyF;AACzF,yFAAyF;AACzF,kDAAkD;AAElD,MAAM,uBAAuB,GAAG,IAAI,iBAAiB,EAAoB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAI,GAAqB,EAAE,EAAW;IAC3E,OAAO,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,uBAAuB;IACrC,OAAO,uBAAuB,CAAC,QAAQ,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,uBAAuB,CAAC,QAAQ,EAAE,CAAA;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/worker",
3
- "version": "0.168.1",
3
+ "version": "0.170.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",
@@ -43,22 +43,22 @@
43
43
  "pino": "^10.3.1",
44
44
  "valibot": "^1.4.2",
45
45
  "workers-ai-provider": "^4.0.0",
46
- "@cat-factory/agents": "0.116.7",
47
- "@cat-factory/caching": "0.17.1",
48
- "@cat-factory/consensus": "0.14.44",
49
- "@cat-factory/contracts": "0.261.0",
50
- "@cat-factory/eks": "0.1.256",
51
- "@cat-factory/gates": "0.9.24",
52
- "@cat-factory/gitlab": "0.16.15",
53
- "@cat-factory/integrations": "0.140.1",
54
- "@cat-factory/kernel": "0.260.0",
55
- "@cat-factory/observability-langfuse": "0.10.28",
56
- "@cat-factory/observability-otel": "0.16.8",
57
- "@cat-factory/orchestration": "0.228.1",
58
- "@cat-factory/prompt-fragments": "1.0.8",
59
- "@cat-factory/provider-cloudflare": "0.7.406",
60
- "@cat-factory/server": "0.239.1",
61
- "@cat-factory/spend": "0.15.26"
46
+ "@cat-factory/agents": "0.117.0",
47
+ "@cat-factory/caching": "0.18.1",
48
+ "@cat-factory/consensus": "0.14.46",
49
+ "@cat-factory/contracts": "0.262.0",
50
+ "@cat-factory/eks": "0.1.258",
51
+ "@cat-factory/gates": "0.9.26",
52
+ "@cat-factory/gitlab": "0.16.17",
53
+ "@cat-factory/integrations": "0.141.0",
54
+ "@cat-factory/kernel": "0.262.0",
55
+ "@cat-factory/observability-langfuse": "0.10.30",
56
+ "@cat-factory/observability-otel": "0.17.1",
57
+ "@cat-factory/orchestration": "0.230.0",
58
+ "@cat-factory/prompt-fragments": "1.0.10",
59
+ "@cat-factory/provider-cloudflare": "0.7.408",
60
+ "@cat-factory/server": "0.240.0",
61
+ "@cat-factory/spend": "0.15.28"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@cloudflare/vitest-pool-workers": "^0.20.1",
@@ -66,7 +66,7 @@
66
66
  "typescript": "7.0.2",
67
67
  "vitest": "^4.1.10",
68
68
  "wrangler": "^4.118.0",
69
- "@cat-factory/conformance": "0.31.20"
69
+ "@cat-factory/conformance": "0.31.22"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsc -b tsconfig.build.json",