@cat-factory/worker 0.205.0 → 0.206.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/repositories/D1EnvironmentRegistryRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.js +9 -3
- package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.js.map +1 -1
- package/migrations/0099_environment_poll_marker.sql +13 -0
- package/package.json +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1EnvironmentRegistryRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1EnvironmentRegistryRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"D1EnvironmentRegistryRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1EnvironmentRegistryRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAuE3D,uEAAuE;AACvE,qBAAa,+BAAgC,YAAW,6BAA6B;IACnF,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,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCrD;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1F;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAQ5E;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAUxF;IAEK,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAUnC;IAEK,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAUnC;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAQvE;IAEK,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CASlE;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3E;CACF"}
|
|
@@ -12,6 +12,10 @@ function rowToRecord(row) {
|
|
|
12
12
|
accessCipher: row.access_cipher,
|
|
13
13
|
provisionFieldsCipher: row.provision_fields_cipher,
|
|
14
14
|
reachability: row.reachability ?? null,
|
|
15
|
+
lastPolledAt: row.last_polled_at ?? null,
|
|
16
|
+
// `?? 0` for a row written before the column existed, where the count is genuinely zero: this
|
|
17
|
+
// marker's whole job is to say how much polling is RECORDED, and none is.
|
|
18
|
+
pollCount: row.poll_count ?? 0,
|
|
15
19
|
createdAt: row.created_at,
|
|
16
20
|
expiresAt: row.expires_at,
|
|
17
21
|
lastError: row.last_error,
|
|
@@ -29,6 +33,8 @@ const PATCH_COLUMNS = {
|
|
|
29
33
|
accessCipher: 'access_cipher',
|
|
30
34
|
provisionFieldsCipher: 'provision_fields_cipher',
|
|
31
35
|
reachability: 'reachability',
|
|
36
|
+
lastPolledAt: 'last_polled_at',
|
|
37
|
+
pollCount: 'poll_count',
|
|
32
38
|
expiresAt: 'expires_at',
|
|
33
39
|
lastError: 'last_error',
|
|
34
40
|
statusNote: 'status_note',
|
|
@@ -46,9 +52,9 @@ export class D1EnvironmentRegistryRepository {
|
|
|
46
52
|
.prepare(`INSERT INTO environments
|
|
47
53
|
(id, workspace_id, block_id, frame_id, execution_id, provider_id, external_id, url, status,
|
|
48
54
|
access_cipher, provision_fields_cipher, reachability, created_at, expires_at, last_error,
|
|
49
|
-
status_note, deleted_at, provision_type, engine)
|
|
50
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?)`)
|
|
51
|
-
.bind(record.id, record.workspaceId, record.blockId, record.frameId, record.executionId, record.providerId, record.externalId, record.url, record.status, record.accessCipher, record.provisionFieldsCipher, record.reachability, record.createdAt, record.expiresAt, record.lastError, record.statusNote, record.provisionType, record.engine)
|
|
55
|
+
status_note, deleted_at, last_polled_at, poll_count, provision_type, engine)
|
|
56
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?, ?, ?)`)
|
|
57
|
+
.bind(record.id, record.workspaceId, record.blockId, record.frameId, record.executionId, record.providerId, record.externalId, record.url, record.status, record.accessCipher, record.provisionFieldsCipher, record.reachability, record.createdAt, record.expiresAt, record.lastError, record.statusNote, record.lastPolledAt, record.pollCount, record.provisionType, record.engine)
|
|
52
58
|
.run();
|
|
53
59
|
}
|
|
54
60
|
async update(workspaceId, id, patch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1EnvironmentRegistryRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1EnvironmentRegistryRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"D1EnvironmentRegistryRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1EnvironmentRegistryRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
-- The trail a status poll that SUCCEEDS leaves behind.
|
|
2
|
+
--
|
|
3
|
+
-- The provisioning log records a poll that throws and a poll that transitions an environment to
|
|
4
|
+
-- `failed`. A poll that answers cleanly wrote nothing at all, so a readiness wait that polled for
|
|
5
|
+
-- four minutes left two log rows a second apart at the create and nothing after them, and nothing
|
|
6
|
+
-- in the data distinguished "nothing polled" from "polling is not logged". The environment
|
|
7
|
+
-- investigation read that absence as the absence of polling and stated it as established fact.
|
|
8
|
+
--
|
|
9
|
+
-- A row per poll is the wrong shape at a ten-second cadence. These two columns are enough to tell
|
|
10
|
+
-- a four-minute wait from no wait at all: `last_polled_at` is exact (a lost race still leaves the
|
|
11
|
+
-- later stamp) and `poll_count` is a FLOOR, written from the count the poll read at its start.
|
|
12
|
+
ALTER TABLE environments ADD COLUMN last_polled_at INTEGER;
|
|
13
|
+
ALTER TABLE environments ADD COLUMN poll_count INTEGER NOT NULL DEFAULT 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.206.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",
|
|
@@ -36,23 +36,23 @@
|
|
|
36
36
|
"@ai-sdk/anthropic": "^4.0.46",
|
|
37
37
|
"@ai-sdk/openai": "^4.0.52",
|
|
38
38
|
"@ai-sdk/openai-compatible": "^3.0.41",
|
|
39
|
-
"@cat-factory/agents": "0.
|
|
40
|
-
"@cat-factory/binary-generators": "0.3.
|
|
41
|
-
"@cat-factory/caching": "0.20.
|
|
42
|
-
"@cat-factory/consensus": "0.17.
|
|
43
|
-
"@cat-factory/contracts": "0.
|
|
44
|
-
"@cat-factory/eks": "0.1.
|
|
45
|
-
"@cat-factory/gates": "0.11.
|
|
46
|
-
"@cat-factory/gitlab": "0.22.
|
|
47
|
-
"@cat-factory/integrations": "0.
|
|
48
|
-
"@cat-factory/kernel": "0.
|
|
49
|
-
"@cat-factory/observability-langfuse": "0.11.
|
|
50
|
-
"@cat-factory/observability-otel": "0.23.
|
|
51
|
-
"@cat-factory/orchestration": "0.
|
|
52
|
-
"@cat-factory/prompt-fragments": "1.1.
|
|
53
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
54
|
-
"@cat-factory/server": "0.310.
|
|
55
|
-
"@cat-factory/spend": "0.17.
|
|
39
|
+
"@cat-factory/agents": "0.150.0",
|
|
40
|
+
"@cat-factory/binary-generators": "0.3.26",
|
|
41
|
+
"@cat-factory/caching": "0.20.60",
|
|
42
|
+
"@cat-factory/consensus": "0.17.26",
|
|
43
|
+
"@cat-factory/contracts": "0.339.0",
|
|
44
|
+
"@cat-factory/eks": "0.1.365",
|
|
45
|
+
"@cat-factory/gates": "0.11.26",
|
|
46
|
+
"@cat-factory/gitlab": "0.22.26",
|
|
47
|
+
"@cat-factory/integrations": "0.170.0",
|
|
48
|
+
"@cat-factory/kernel": "0.328.0",
|
|
49
|
+
"@cat-factory/observability-langfuse": "0.11.26",
|
|
50
|
+
"@cat-factory/observability-otel": "0.23.19",
|
|
51
|
+
"@cat-factory/orchestration": "0.295.0",
|
|
52
|
+
"@cat-factory/prompt-fragments": "1.1.22",
|
|
53
|
+
"@cat-factory/provider-cloudflare": "0.7.518",
|
|
54
|
+
"@cat-factory/server": "0.310.2",
|
|
55
|
+
"@cat-factory/spend": "0.17.4",
|
|
56
56
|
"@cloudflare/containers": "^0.3.7",
|
|
57
57
|
"@hono/valibot-validator": "^0.6.1",
|
|
58
58
|
"ai": "^7.0.85",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"workers-ai-provider": "^4.0.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@cat-factory/conformance": "0.50.
|
|
65
|
+
"@cat-factory/conformance": "0.50.2",
|
|
66
66
|
"@cloudflare/vitest-pool-workers": "^0.22.0",
|
|
67
67
|
"@cloudflare/workers-types": "5.20260815.1",
|
|
68
68
|
"typescript": "7.0.2",
|