@cat-factory/worker 0.175.0 → 0.176.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/infrastructure/config/execution.d.ts +1 -1
- package/dist/infrastructure/config/execution.d.ts.map +1 -1
- package/dist/infrastructure/config/execution.js +12 -3
- package/dist/infrastructure/config/execution.js.map +1 -1
- package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts +15 -1
- package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts.map +1 -1
- package/dist/infrastructure/containers/CloudflareContainerTransport.js +55 -16
- package/dist/infrastructure/containers/CloudflareContainerTransport.js.map +1 -1
- package/dist/infrastructure/containers/DeployContainer.d.ts +2 -20
- package/dist/infrastructure/containers/DeployContainer.d.ts.map +1 -1
- package/dist/infrastructure/containers/DeployContainer.js +7 -56
- package/dist/infrastructure/containers/DeployContainer.js.map +1 -1
- package/dist/infrastructure/containers/ExecutionContainer.d.ts +2 -51
- package/dist/infrastructure/containers/ExecutionContainer.d.ts.map +1 -1
- package/dist/infrastructure/containers/ExecutionContainer.js +9 -93
- package/dist/infrastructure/containers/ExecutionContainer.js.map +1 -1
- package/dist/infrastructure/containers/RunContainer.d.ts +98 -0
- package/dist/infrastructure/containers/RunContainer.d.ts.map +1 -0
- package/dist/infrastructure/containers/RunContainer.js +164 -0
- package/dist/infrastructure/containers/RunContainer.js.map +1 -0
- package/dist/infrastructure/containers/stopCause.d.ts +105 -0
- package/dist/infrastructure/containers/stopCause.d.ts.map +1 -0
- package/dist/infrastructure/containers/stopCause.js +108 -0
- package/dist/infrastructure/containers/stopCause.js.map +1 -0
- package/dist/infrastructure/env.d.ts +10 -0
- package/dist/infrastructure/env.d.ts.map +1 -1
- package/dist/infrastructure/env.js.map +1 -1
- package/dist/infrastructure/repositories/D1BinaryArtifactMetadataStore.d.ts +3 -1
- package/dist/infrastructure/repositories/D1BinaryArtifactMetadataStore.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1BinaryArtifactMetadataStore.js +38 -5
- package/dist/infrastructure/repositories/D1BinaryArtifactMetadataStore.js.map +1 -1
- package/dist/infrastructure/repositories/D1DocumentRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1DocumentRepository.js +5 -3
- package/dist/infrastructure/repositories/D1DocumentRepository.js.map +1 -1
- package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts.map +1 -1
- package/dist/infrastructure/workflows/ExecutionWorkflow.js +17 -8
- package/dist/infrastructure/workflows/ExecutionWorkflow.js.map +1 -1
- package/migrations/0087_document_renders.sql +28 -0
- package/package.json +18 -18
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { chunkForIn } from './chunk';
|
|
1
2
|
function rowToRecord(row) {
|
|
2
3
|
return {
|
|
3
4
|
id: row.id,
|
|
@@ -11,6 +12,11 @@ function rowToRecord(row) {
|
|
|
11
12
|
hash: row.hash,
|
|
12
13
|
storage: row.storage,
|
|
13
14
|
storageKey: row.storage_key,
|
|
15
|
+
// Both halves or neither: a row with only one is not a document reference, and treating it as
|
|
16
|
+
// one would key a reclaim on a half-identity that matches the wrong artifacts.
|
|
17
|
+
document: row.document_source && row.document_external_id
|
|
18
|
+
? { source: row.document_source, externalId: row.document_external_id }
|
|
19
|
+
: null,
|
|
14
20
|
createdAt: row.created_at,
|
|
15
21
|
};
|
|
16
22
|
}
|
|
@@ -24,9 +30,10 @@ export class D1BinaryArtifactMetadataStore {
|
|
|
24
30
|
await this.db
|
|
25
31
|
.prepare(`INSERT INTO binary_artifacts
|
|
26
32
|
(workspace_id, id, execution_id, block_id, kind, view, content_type,
|
|
27
|
-
byte_size, hash, storage, storage_key,
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
byte_size, hash, storage, storage_key, document_source, document_external_id,
|
|
34
|
+
created_at)
|
|
35
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
36
|
+
.bind(record.workspaceId, record.id, record.executionId, record.blockId, record.kind, record.view, record.contentType, record.byteSize, record.hash, record.storage, record.storageKey, record.document?.source ?? null, record.document?.externalId ?? null, record.createdAt)
|
|
30
37
|
.run();
|
|
31
38
|
}
|
|
32
39
|
async get(workspaceId, id) {
|
|
@@ -61,22 +68,48 @@ export class D1BinaryArtifactMetadataStore {
|
|
|
61
68
|
.all();
|
|
62
69
|
return (results ?? []).map(rowToRecord);
|
|
63
70
|
}
|
|
71
|
+
async listByDocument(workspaceId, document) {
|
|
72
|
+
const { results } = await this.db
|
|
73
|
+
.prepare(`SELECT * FROM binary_artifacts
|
|
74
|
+
WHERE workspace_id = ? AND document_source = ? AND document_external_id = ?
|
|
75
|
+
ORDER BY created_at ASC, id ASC`)
|
|
76
|
+
.bind(workspaceId, document.source, document.externalId)
|
|
77
|
+
.all();
|
|
78
|
+
return (results ?? []).map(rowToRecord);
|
|
79
|
+
}
|
|
80
|
+
async deleteByIds(workspaceId, ids) {
|
|
81
|
+
let removed = 0;
|
|
82
|
+
for (const chunk of chunkForIn(ids)) {
|
|
83
|
+
const placeholders = chunk.map(() => '?').join(', ');
|
|
84
|
+
const { meta } = await this.db
|
|
85
|
+
.prepare(`DELETE FROM binary_artifacts
|
|
86
|
+
WHERE workspace_id = ? AND id IN (${placeholders})`)
|
|
87
|
+
.bind(workspaceId, ...chunk)
|
|
88
|
+
.run();
|
|
89
|
+
removed += meta.changes ?? 0;
|
|
90
|
+
}
|
|
91
|
+
return removed;
|
|
92
|
+
}
|
|
64
93
|
async delete(workspaceId, id) {
|
|
65
94
|
await this.db
|
|
66
95
|
.prepare('DELETE FROM binary_artifacts WHERE workspace_id = ? AND id = ?')
|
|
67
96
|
.bind(workspaceId, id)
|
|
68
97
|
.run();
|
|
69
98
|
}
|
|
99
|
+
// The age sweep's two halves carry the SAME `document_source IS NULL` exemption: a document's
|
|
100
|
+
// renders expire with their document, never on a clock (see the port).
|
|
70
101
|
async listOlderThan(workspaceId, olderThan) {
|
|
71
102
|
const { results } = await this.db
|
|
72
|
-
.prepare(
|
|
103
|
+
.prepare(`SELECT * FROM binary_artifacts
|
|
104
|
+
WHERE workspace_id = ? AND created_at < ? AND document_source IS NULL`)
|
|
73
105
|
.bind(workspaceId, olderThan)
|
|
74
106
|
.all();
|
|
75
107
|
return (results ?? []).map(rowToRecord);
|
|
76
108
|
}
|
|
77
109
|
async deleteOlderThan(workspaceId, olderThan) {
|
|
78
110
|
const { meta } = await this.db
|
|
79
|
-
.prepare(
|
|
111
|
+
.prepare(`DELETE FROM binary_artifacts
|
|
112
|
+
WHERE workspace_id = ? AND created_at < ? AND document_source IS NULL`)
|
|
80
113
|
.bind(workspaceId, olderThan)
|
|
81
114
|
.run();
|
|
82
115
|
return meta.changes ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1BinaryArtifactMetadataStore.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1BinaryArtifactMetadataStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"D1BinaryArtifactMetadataStore.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1BinaryArtifactMetadataStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1DocumentRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1DocumentRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,WAAW,
|
|
1
|
+
{"version":3,"file":"D1DocumentRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1DocumentRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,WAAW,EAEX,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAuD3D,yFAAyF;AACzF,qBAAa,oBAAqB,YAAW,kBAAkB;IAC7D,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,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkClD;IAEK,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQhC;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAkB7F;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQpE;IAEK,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQjF;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAa/E;IAEK,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf;IAEK,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlF;IAEK,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,SAAS,WAAW,EAAE,EAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAqBf;IAEK,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQhC;IAEK,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ3B;IAEK,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ7E;IAEK,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAOf;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9F;IAEK,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAOf;CACF"}
|
|
@@ -27,6 +27,7 @@ function rowToRecord(row) {
|
|
|
27
27
|
body: row.body,
|
|
28
28
|
contentHash: row.content_hash ?? '',
|
|
29
29
|
sourceVersion: row.source_version,
|
|
30
|
+
renderStatus: row.render_status ?? null,
|
|
30
31
|
linkedBlockId: row.linked_block_id,
|
|
31
32
|
role: row.role ?? null,
|
|
32
33
|
docKind: row.doc_kind ?? null,
|
|
@@ -44,8 +45,8 @@ export class D1DocumentRepository {
|
|
|
44
45
|
await this.db
|
|
45
46
|
.prepare(`INSERT INTO documents
|
|
46
47
|
(workspace_id, source, external_id, title, url, excerpt, body,
|
|
47
|
-
content_hash, source_version, linked_block_id, synced_at, deleted_at)
|
|
48
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)
|
|
48
|
+
content_hash, source_version, render_status, linked_block_id, synced_at, deleted_at)
|
|
49
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)
|
|
49
50
|
ON CONFLICT (workspace_id, source, external_id) DO UPDATE SET
|
|
50
51
|
title = excluded.title,
|
|
51
52
|
url = excluded.url,
|
|
@@ -53,10 +54,11 @@ export class D1DocumentRepository {
|
|
|
53
54
|
body = excluded.body,
|
|
54
55
|
content_hash = excluded.content_hash,
|
|
55
56
|
source_version = excluded.source_version,
|
|
57
|
+
render_status = excluded.render_status,
|
|
56
58
|
linked_block_id = excluded.linked_block_id,
|
|
57
59
|
synced_at = excluded.synced_at,
|
|
58
60
|
deleted_at = NULL`)
|
|
59
|
-
.bind(record.workspaceId, record.source, record.externalId, record.title, record.url, record.excerpt, record.body, record.contentHash, record.sourceVersion, record.linkedBlockId, record.syncedAt)
|
|
61
|
+
.bind(record.workspaceId, record.source, record.externalId, record.title, record.url, record.excerpt, record.body, record.contentHash, record.sourceVersion, record.renderStatus, record.linkedBlockId, record.syncedAt)
|
|
60
62
|
.run();
|
|
61
63
|
}
|
|
62
64
|
async get(workspaceId, source, externalId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1DocumentRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1DocumentRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"D1DocumentRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1DocumentRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAMjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutionWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAMjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AA6JpE;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC;IAC5E,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7F;YAEa,KAAK;CA2MpB"}
|
|
@@ -6,11 +6,18 @@ import { loadConfig } from '../config';
|
|
|
6
6
|
import { logger } from '../observability/logger';
|
|
7
7
|
import { withWorkflowLogExport } from './logExport';
|
|
8
8
|
import { buildWorkflowRuntime } from './runtime';
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Per-step retry policy: failures retry a few times before the run is failed. The timeout is the
|
|
11
|
+
* engine's hang bound on one advance (`ExecutionConfig.advanceTimeout`) rather than a constant,
|
|
12
|
+
* because Node races the SAME value in `driveExecution`: one knob, so the two facades cannot
|
|
13
|
+
* drift apart on how long a wedged advance is waited out (stuck-run audit F9).
|
|
14
|
+
*/
|
|
15
|
+
function buildStepConfig(timeout) {
|
|
16
|
+
return {
|
|
17
|
+
retries: { limit: 3, delay: '5 seconds', backoff: 'exponential' },
|
|
18
|
+
timeout: timeout,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
14
21
|
/**
|
|
15
22
|
* Poll a dispatched async job (a container coding step) for step `i` between durable
|
|
16
23
|
* sleeps until it finishes. A thrown poll error is always transient, so tolerate a
|
|
@@ -97,7 +104,7 @@ async function driveGatePollLoop(deps, i, initial) {
|
|
|
97
104
|
// Poll budget spent. Let the gate decide: a time-windowed watch gate
|
|
98
105
|
// (post-release-health) PASSES, while CI/conflicts resolve to a `job_failed`
|
|
99
106
|
// timeout the checks below funnel through `failRun`. One policy, both runtimes.
|
|
100
|
-
result = (await step.do(`gate-exhausted-${i}`,
|
|
107
|
+
result = (await step.do(`gate-exhausted-${i}`, deps.stepConfig, deps.resolveExhaustion));
|
|
101
108
|
}
|
|
102
109
|
return result;
|
|
103
110
|
}
|
|
@@ -133,6 +140,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
133
140
|
const decisionTimeout = execConfig.decisionTimeout;
|
|
134
141
|
const jobPollInterval = execConfig.jobPollInterval;
|
|
135
142
|
const ciPollInterval = execConfig.ciPollInterval;
|
|
143
|
+
const stepConfig = buildStepConfig(execConfig.advanceTimeout);
|
|
136
144
|
// Chunk length for a spend-paused run's budget re-check (see the `paused` branch below).
|
|
137
145
|
// Reuses the decision-wait cadence (default 24h), NOT the short gate-poll cadence: the run
|
|
138
146
|
// parks on `waitForEvent`, so `/spend/resume` wakes it immediately via `signalResume` and
|
|
@@ -160,7 +168,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
160
168
|
// Eviction / a genuine job failure are RETURNED as an `ok` AdvanceResult, not thrown.
|
|
161
169
|
const pollOnce = async (label, read) => {
|
|
162
170
|
try {
|
|
163
|
-
return { kind: 'ok', result: (await step.do(label,
|
|
171
|
+
return { kind: 'ok', result: (await step.do(label, stepConfig, read)) };
|
|
164
172
|
}
|
|
165
173
|
catch (error) {
|
|
166
174
|
// Scrubbed HERE, once, because this message is both logged and folded into the run's
|
|
@@ -179,6 +187,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
179
187
|
maxPolls: execConfig.jobMaxPolls,
|
|
180
188
|
failureTolerance: execConfig.jobPollFailureTolerance,
|
|
181
189
|
pollInterval: jobPollInterval,
|
|
190
|
+
stepConfig,
|
|
182
191
|
pollOnce,
|
|
183
192
|
failRun,
|
|
184
193
|
poll: () => container.executionService.pollAgentJob(workspaceId, executionId),
|
|
@@ -193,7 +202,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
193
202
|
for (let i = 0;; i++) {
|
|
194
203
|
let result;
|
|
195
204
|
try {
|
|
196
|
-
result = (await step.do(`advance-${i}`,
|
|
205
|
+
result = (await step.do(`advance-${i}`, stepConfig, () => container.executionService.advanceInstance(workspaceId, executionId, {
|
|
197
206
|
rethrowAgentErrors: true,
|
|
198
207
|
})));
|
|
199
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAe,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGhD
|
|
1
|
+
{"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAe,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGhD;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO;QACL,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;QACjE,OAAO,EAAE,OAAwC;KAClD,CAAA;AACH,CAAC;AA4BD;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAkB,EAClB,CAAS,EACT,OAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IAC7F,IAAI,MAAM,GAAG,OAAO,CAAA;IACpB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,kFAAkF;QAClF,kFAAkF;QAClF,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACtD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,gBAAgB,IAAI,CAAC,CAAA;YACrB,GAAG,CAAC,IAAI,CAAC,wEAAwE,EAAE;gBACjF,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,gBAAgB;gBAChB,GAAG,EAAE,OAAO,CAAC,OAAO;aACrB,CAAC,CAAA;YACF,IAAI,gBAAgB,GAAG,gBAAgB;gBAAE,SAAQ;YACjD,MAAM,OAAO,CACX,CAAC,EACD,iBAAiB,CACf,iCAAiC,gBAAgB,sBAAsB;gBACrE,kDAAkD,OAAO,CAAC,OAAO,GAAG,EACtE,SAAS,CACV,CACF,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,gBAAgB,GAAG,CAAC,CAAA;QACpB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,GAAG,IAAI,CAAA;YACb,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC9C,MAAM,OAAO,CACX,CAAC,EACD,iBAAiB,CAAC,6DAA6D,EAAE,SAAS,CAAC,CAC5F,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,IAAwE,EACxE,CAAS,EACT,OAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IAC7F,IAAI,MAAM,GAAG,OAAO,CAAA;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,gBAAgB,IAAI,CAAC,CAAA;YACrB,GAAG,CAAC,IAAI,CAAC,+EAA+E,EAAE;gBACxF,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,gBAAgB;gBAChB,GAAG,EAAE,OAAO,CAAC,OAAO;aACrB,CAAC,CAAA;YACF,IAAI,gBAAgB,GAAG,gBAAgB;gBAAE,SAAQ;YACjD,MAAM,OAAO,CACX,CAAC,EACD,iBAAiB,CACf,oCAAoC,gBAAgB,qBAAqB;gBACvE,gBAAgB,OAAO,CAAC,OAAO,GAAG,EACpC,SAAS,CACV,CACF,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,gBAAgB,GAAG,CAAC,CAAA;QACpB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACpC,OAAO,GAAG,IAAI,CAAA;YACd,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAChD,qEAAqE;QACrE,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CACrB,kBAAkB,CAAC,EAAE,EACrB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,iBAAiB,CACvB,CAAkB,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAgD;IAC5E,GAAG,CAAC,KAA6C,EAAE,IAAkB;QAC5E,4FAA4F;QAC5F,2FAA2F;QAC3F,2FAA2F;QAC3F,+CAA+C;QAC/C,OAAO,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IACzF,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,MAA+B,EAAE,IAAkB;QACrE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;QAC3C,yFAAyF;QACzF,0FAA0F;QAC1F,mFAAmF;QACnF,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;QAC7E,iFAAiF;QACjF,kFAAkF;QAClF,+EAA+E;QAC/E,wFAAwF;QACxF,oFAAoF;QACpF,qCAAqC;QACrC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAC3F,IAAI,EACJ,MAAM,CACP,CAAA;QACD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAwC,CAAA;QAC3E,MAAM,eAAe,GAAG,UAAU,CAAC,eAAwC,CAAA;QAC3E,MAAM,cAAc,GAAG,UAAU,CAAC,cAAuC,CAAA;QACzE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;QAC7D,yFAAyF;QACzF,2FAA2F;QAC3F,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,sFAAsF;QACtF,MAAM,mBAAmB,GAAG,eAAe,CAAA;QAE3C,uFAAuF;QACvF,4FAA4F;QAC5F,oFAAoF;QACpF,6FAA6F;QAC7F,2FAA2F;QAC3F,2FAA2F;QAC3F,8DAA8D;QAC9D,MAAM,OAAO,GAAG,KAAK,EAAE,CAAS,EAAE,OAAmB,EAAiB,EAAE;YACtE,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,OAAO,EAAE,EAAE;gBAC1C,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAC9B,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAChC,WAAW,EACX,WAAW,EACX,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,CACf,CACF,CAAA;QACH,CAAC,CAAA;QAED,mFAAmF;QACnF,qFAAqF;QACrF,sFAAsF;QACtF,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAa,EACb,IAAkC,EACZ,EAAE;YACxB,IAAI,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAkB,EAAE,CAAA;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qFAAqF;gBACrF,sFAAsF;gBACtF,8EAA8E;gBAC9E,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAClE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;YACnE,CAAC;QACH,CAAC,CAAA;QAED,2FAA2F;QAC3F,qFAAqF;QACrF,4BAA4B;QAC5B,MAAM,WAAW,GAAiB;YAChC,IAAI;YACJ,GAAG;YACH,QAAQ,EAAE,UAAU,CAAC,WAAW;YAChC,gBAAgB,EAAE,UAAU,CAAC,uBAAuB;YACpD,YAAY,EAAE,eAAe;YAC7B,UAAU;YACV,QAAQ;YACR,OAAO;YACP,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;SAC9E,CAAA;QACD,MAAM,YAAY,GAAG;YACnB,GAAG,WAAW;YACd,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC/B,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;YACzE,iBAAiB,EAAE,GAAG,EAAE,CACtB,SAAS,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,WAAW,EAAE,WAAW,CAAC;SACjF,CAAA;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;YACtB,IAAI,MAAqB,CAAA;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CACvD,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE;oBACnE,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CACH,CAAkB,CAAA;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iFAAiF;gBACjF,sEAAsE;gBACtE,oFAAoF;gBACpF,mFAAmF;gBACnF,+DAA+D;gBAC/D,MAAM,OAAO,CAAC,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChD,OAAM;YACR,CAAC;YAED,gFAAgF;YAChF,oFAAoF;YACpF,sFAAsF;YACtF,8EAA8E;YAC9E,mFAAmF;YACnF,0BAA0B;YAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACnC,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;gBAChE,IAAI,YAAY,KAAK,IAAI;oBAAE,OAAM;gBACjC,MAAM,GAAG,YAAY,CAAA;YACvB,CAAC;YAED,qFAAqF;YACrF,iFAAiF;YACjF,uFAAuF;YACvF,kEAAkE;YAClE,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;gBACpE,IAAI,WAAW,KAAK,IAAI;oBAAE,OAAM;gBAChC,MAAM,GAAG,WAAW,CAAA;gBACpB,2EAA2E;gBAC3E,gFAAgF;YAClF,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjC,4EAA4E;gBAC5E,6EAA6E;gBAC7E,0EAA0E;gBAC1E,MAAM,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YAED,6EAA6E;YAC7E,4EAA4E;YAC5E,gFAAgF;YAChF,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,oFAAoF;gBACpF,mFAAmF;gBACnF,iFAAiF;gBACjF,iCAAiC;gBACjC,MAAM,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAM;YAE5D,oFAAoF;YACpF,uFAAuF;YACvF,qFAAqF;YACrF,uFAAuF;YACvF,oFAAoF;YACpF,yFAAyF;YACzF,qFAAqF;YACrF,wFAAwF;YACxF,wFAAwF;YACxF,4CAA4C;YAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE;wBAC3C,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,mBAAmB;qBAC7B,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,uFAAuF;gBACzF,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;gBACpC,gFAAgF;gBAChF,gFAAgF;gBAChF,0EAA0E;gBAC1E,iFAAiF;gBACjF,6EAA6E;gBAC7E,iFAAiF;gBACjF,6EAA6E;gBAC7E,iFAAiF;gBACjF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,UAAU,IAAI,CAAC,EAAE,EAAE;wBAClD,IAAI,EAAE,YAAY,UAAU,EAAE;wBAC9B,OAAO,EAAE,eAAe;qBACzB,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,+EAA+E;gBACjF,CAAC;YACH,CAAC;YACD,+EAA+E;QACjF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- Design-document renders: the pixels an import retains beside the text.
|
|
2
|
+
--
|
|
3
|
+
-- A design source describes a screen twice over, as the structure/styling an agent reads and as the
|
|
4
|
+
-- picture a person recognises. The second half now lands in the binary-artifact store as a
|
|
5
|
+
-- `reference` artifact, which is the same shelf the visual-confirmation gate already reads from,
|
|
6
|
+
-- so a design frame and a hand-uploaded reference image are the same kind of thing to every reader
|
|
7
|
+
-- downstream. Two columns are needed to make that work.
|
|
8
|
+
|
|
9
|
+
-- What became of the renders at the import that wrote the stored body: `stored` / `partial` /
|
|
10
|
+
-- `none` / `failed` / `storage_unavailable`. Deliberately nullable, and NULL is a distinct fourth
|
|
11
|
+
-- state rather than a default: it means the question does not apply (a prose source, an `upload`,
|
|
12
|
+
-- or a row written before renders existed), where every non-null value means renders WERE in scope
|
|
13
|
+
-- and says how they went. Each of those failures renders as the same absence of images and asks for
|
|
14
|
+
-- a different fix (configure image storage, retry a rate-limited source, or nothing at all), which
|
|
15
|
+
-- is the whole reason this is a vocabulary and not a boolean.
|
|
16
|
+
ALTER TABLE documents ADD COLUMN render_status TEXT;
|
|
17
|
+
|
|
18
|
+
-- Which imported document an artifact was rendered FROM, or NULL for one a person uploaded.
|
|
19
|
+
--
|
|
20
|
+
-- The document's own SOURCE identity (`documents` is keyed by `(workspace_id, source, external_id)`)
|
|
21
|
+
-- rather than the block it happens to be attached to: an import runs before the document is
|
|
22
|
+
-- attached to anything, the attachment can move later, and only artifacts that came from a document
|
|
23
|
+
-- may be replaced wholesale when it is re-imported. Keyed on the pair so the reclaim is one indexed
|
|
24
|
+
-- range delete rather than a scan.
|
|
25
|
+
ALTER TABLE binary_artifacts ADD COLUMN document_source TEXT;
|
|
26
|
+
ALTER TABLE binary_artifacts ADD COLUMN document_external_id TEXT;
|
|
27
|
+
CREATE INDEX idx_binary_artifacts_document
|
|
28
|
+
ON binary_artifacts (workspace_id, document_source, document_external_id);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.176.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.117.
|
|
47
|
-
"@cat-factory/
|
|
48
|
-
"@cat-factory/
|
|
49
|
-
"@cat-factory/
|
|
50
|
-
"@cat-factory/
|
|
51
|
-
"@cat-factory/gates": "0.9.
|
|
52
|
-
"@cat-factory/gitlab": "0.18.
|
|
53
|
-
"@cat-factory/integrations": "0.
|
|
54
|
-
"@cat-factory/kernel": "0.
|
|
55
|
-
"@cat-factory/observability-langfuse": "0.10.
|
|
56
|
-
"@cat-factory/
|
|
57
|
-
"@cat-factory/
|
|
58
|
-
"@cat-factory/
|
|
59
|
-
"@cat-factory/
|
|
60
|
-
"@cat-factory/server": "0.
|
|
61
|
-
"@cat-factory/
|
|
46
|
+
"@cat-factory/agents": "0.117.11",
|
|
47
|
+
"@cat-factory/consensus": "0.14.57",
|
|
48
|
+
"@cat-factory/contracts": "0.273.0",
|
|
49
|
+
"@cat-factory/eks": "0.1.269",
|
|
50
|
+
"@cat-factory/caching": "0.18.12",
|
|
51
|
+
"@cat-factory/gates": "0.9.37",
|
|
52
|
+
"@cat-factory/gitlab": "0.18.4",
|
|
53
|
+
"@cat-factory/integrations": "0.149.0",
|
|
54
|
+
"@cat-factory/kernel": "0.271.0",
|
|
55
|
+
"@cat-factory/observability-langfuse": "0.10.41",
|
|
56
|
+
"@cat-factory/orchestration": "0.239.0",
|
|
57
|
+
"@cat-factory/prompt-fragments": "1.0.21",
|
|
58
|
+
"@cat-factory/provider-cloudflare": "0.7.419",
|
|
59
|
+
"@cat-factory/spend": "0.15.39",
|
|
60
|
+
"@cat-factory/server": "0.251.0",
|
|
61
|
+
"@cat-factory/observability-otel": "0.18.4"
|
|
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.
|
|
69
|
+
"@cat-factory/conformance": "0.34.0"
|
|
70
70
|
},
|
|
71
71
|
"scripts": {
|
|
72
72
|
"build": "tsc -b tsconfig.build.json",
|