@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.
- package/dist/app.d.ts +14 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -6
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/appCachesHost.d.ts +48 -0
- package/dist/infrastructure/appCachesHost.d.ts.map +1 -0
- package/dist/infrastructure/appCachesHost.js +102 -0
- package/dist/infrastructure/appCachesHost.js.map +1 -0
- package/dist/infrastructure/container-assembly.d.ts.map +1 -1
- package/dist/infrastructure/container-assembly.js +5 -1
- package/dist/infrastructure/container-assembly.js.map +1 -1
- package/dist/infrastructure/container-documents-deps.d.ts +38 -0
- package/dist/infrastructure/container-documents-deps.d.ts.map +1 -0
- package/dist/infrastructure/container-documents-deps.js +119 -0
- package/dist/infrastructure/container-documents-deps.js.map +1 -0
- package/dist/infrastructure/container.d.ts +0 -9
- package/dist/infrastructure/container.d.ts.map +1 -1
- package/dist/infrastructure/container.js +12 -76
- package/dist/infrastructure/container.js.map +1 -1
- package/dist/infrastructure/durable-objects/CacheGenerationDirectory.d.ts +23 -0
- package/dist/infrastructure/durable-objects/CacheGenerationDirectory.d.ts.map +1 -0
- package/dist/infrastructure/durable-objects/CacheGenerationDirectory.js +49 -0
- package/dist/infrastructure/durable-objects/CacheGenerationDirectory.js.map +1 -0
- package/dist/infrastructure/env.d.ts +11 -0
- package/dist/infrastructure/env.d.ts.map +1 -1
- package/dist/infrastructure/env.js.map +1 -1
- package/dist/infrastructure/repositories/D1SpendRollupRepository.d.ts +1 -0
- package/dist/infrastructure/repositories/D1SpendRollupRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1SpendRollupRepository.js +82 -45
- package/dist/infrastructure/repositories/D1SpendRollupRepository.js.map +1 -1
- package/dist/infrastructure/requestContext.d.ts +21 -0
- package/dist/infrastructure/requestContext.d.ts.map +1 -0
- package/dist/infrastructure/requestContext.js +41 -0
- package/dist/infrastructure/requestContext.js.map +1 -0
- 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":"AAAA,OAAO,KAAK,EACV,EAAE,EACF,UAAU,EACV,sBAAsB,EACtB,KAAK,EACL,QAAQ,EACR,QAAQ,EACT,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAE9E,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,6EAA6E;AAC7E,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,UAAU,CAAA;IAEd;;;;;;OAMG;IACH,YAAY,EAAE,UAAU,CAAA;IAExB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,UAAU,CAAA;IAE5B;;;;;;;OAOG;IACH,QAAQ,EAAE,UAAU,CAAA;IAEpB,iFAAiF;IACjF,EAAE,CAAC,EAAE,EAAE,CAAA;IAEP;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAA;IAG1B,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,QAAQ,CAAA;IAC7B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAC9C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAA;IAC7B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,QAAQ,CAAA;IACrC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAA;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;
|
|
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;
|
|
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;
|
|
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":"AAAA,OAAO,EAA6B,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACzF,OAAO,EACL,iBAAiB,GAMlB,MAAM,qBAAqB,CAAA;AAG5B,kFAAkF;AAClF,6FAA6F;AAC7F,gGAAgG;AAChG,6FAA6F;AAC7F,qFAAqF;AACrF,yEAAyE;AAEzE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAElC;;;;;GAKG;AACH,MAAM,cAAc,GAAG;;;sCAGe,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG;;;;gEAIwC,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,YAAY,GAAG;;;;gBAIL,cAAc;;;gBAGd,eAAe;yEAC0C,CAAA;AAEzE;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,mCAAmC,CAAA;AACxD,MAAM,iBAAiB,GAAG,wCAAwC,CAAA;AAElE,gFAAgF;AAChF,MAAM,UAAU,GAAiE;IAC/E,KAAK,EAAE,EAAE,GAAG,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/D,SAAS,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,SAAS,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACtE,OAAO,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAChE,QAAQ,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;IAChD,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACvD,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,GAAG,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE;CAC9D,CAAA;AAYD,MAAM,OAAO,uBAAuB;IACjB,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,SAAiB;QAC1D,sFAAsF;QACtF,qEAAqE;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,MAAM,CAAA;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAA;QACjD,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,CAAC,CAAA;QACxB,wFAAwF;QACxF,0FAA0F;QAC1F,kFAAkF;QAClF,kFAAkF;QAClF,wFAAwF;QACxF,yFAAyF;QACzF,uFAAuF;QACvF,EAAE;QACF,sFAAsF;QACtF,yFAAyF;QACzF,uFAAuF;QACvF,sFAAsF;QACtF,uFAAuF;QACvF,yFAAyF;QACzF,mEAAmE;QACnE,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;6DAEmD,CACpD;iBACA,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,EAAE
|
|
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.
|
|
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.
|
|
47
|
-
"@cat-factory/caching": "0.
|
|
48
|
-
"@cat-factory/consensus": "0.14.
|
|
49
|
-
"@cat-factory/contracts": "0.
|
|
50
|
-
"@cat-factory/eks": "0.1.
|
|
51
|
-
"@cat-factory/gates": "0.9.
|
|
52
|
-
"@cat-factory/gitlab": "0.16.
|
|
53
|
-
"@cat-factory/integrations": "0.
|
|
54
|
-
"@cat-factory/kernel": "0.
|
|
55
|
-
"@cat-factory/observability-langfuse": "0.10.
|
|
56
|
-
"@cat-factory/observability-otel": "0.
|
|
57
|
-
"@cat-factory/orchestration": "0.
|
|
58
|
-
"@cat-factory/prompt-fragments": "1.0.
|
|
59
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
60
|
-
"@cat-factory/server": "0.
|
|
61
|
-
"@cat-factory/spend": "0.15.
|
|
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.
|
|
69
|
+
"@cat-factory/conformance": "0.31.22"
|
|
70
70
|
},
|
|
71
71
|
"scripts": {
|
|
72
72
|
"build": "tsc -b tsconfig.build.json",
|