@cat-factory/worker 0.60.0 → 0.62.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/D1PipelineRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1PipelineRepository.js +4 -4
- package/dist/infrastructure/repositories/D1PipelineRepository.js.map +1 -1
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.d.ts.map +1 -1
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.js +6 -4
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.js.map +1 -1
- package/migrations/0037_pipeline_availability.sql +10 -0
- package/migrations/0037_recurring_on_demand.sql +4 -0
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1PipelineRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D,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,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAU9D;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAMnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"D1PipelineRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D,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,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAU9D;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAMnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;CACF"}
|
|
@@ -24,8 +24,8 @@ export class D1PipelineRepository {
|
|
|
24
24
|
}
|
|
25
25
|
async insert(workspaceId, pipeline) {
|
|
26
26
|
await this.db
|
|
27
|
-
.prepare('INSERT INTO pipelines (workspace_id, id, name, agent_kinds, gates, thresholds, enabled, consensus, gating, follow_ups, tester_quality, labels, archived, builtin, version, public) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
28
|
-
.bind(workspaceId, pipeline.id, pipeline.name, JSON.stringify(pipeline.agentKinds), pipeline.gates ? JSON.stringify(pipeline.gates) : null, pipeline.thresholds ? JSON.stringify(pipeline.thresholds) : null, pipeline.enabled ? JSON.stringify(pipeline.enabled) : null, pipeline.consensus ? JSON.stringify(pipeline.consensus) : null, pipeline.gating ? JSON.stringify(pipeline.gating) : null, pipeline.followUps ? JSON.stringify(pipeline.followUps) : null, pipeline.testerQuality ? JSON.stringify(pipeline.testerQuality) : null, pipeline.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.builtin ? 1 : null, pipeline.version ?? null, pipeline.public ? 1 : null)
|
|
27
|
+
.prepare('INSERT INTO pipelines (workspace_id, id, name, agent_kinds, gates, thresholds, enabled, consensus, gating, follow_ups, tester_quality, labels, archived, builtin, version, public, availability) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
28
|
+
.bind(workspaceId, pipeline.id, pipeline.name, JSON.stringify(pipeline.agentKinds), pipeline.gates ? JSON.stringify(pipeline.gates) : null, pipeline.thresholds ? JSON.stringify(pipeline.thresholds) : null, pipeline.enabled ? JSON.stringify(pipeline.enabled) : null, pipeline.consensus ? JSON.stringify(pipeline.consensus) : null, pipeline.gating ? JSON.stringify(pipeline.gating) : null, pipeline.followUps ? JSON.stringify(pipeline.followUps) : null, pipeline.testerQuality ? JSON.stringify(pipeline.testerQuality) : null, pipeline.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.builtin ? 1 : null, pipeline.version ?? null, pipeline.public ? 1 : null, pipeline.availability ?? null)
|
|
29
29
|
.run();
|
|
30
30
|
}
|
|
31
31
|
async update(workspaceId, pipeline) {
|
|
@@ -33,8 +33,8 @@ export class D1PipelineRepository {
|
|
|
33
33
|
// its place in the catalog order. `builtin` is immutable, so it is not rewritten.
|
|
34
34
|
// `version` IS rewritten so a reseed bumps the stored copy to the current catalog version.
|
|
35
35
|
await this.db
|
|
36
|
-
.prepare('UPDATE pipelines SET name = ?, agent_kinds = ?, gates = ?, thresholds = ?, enabled = ?, consensus = ?, gating = ?, follow_ups = ?, tester_quality = ?, labels = ?, archived = ?, version = ?, public = ? WHERE workspace_id = ? AND id = ?')
|
|
37
|
-
.bind(pipeline.name, JSON.stringify(pipeline.agentKinds), pipeline.gates ? JSON.stringify(pipeline.gates) : null, pipeline.thresholds ? JSON.stringify(pipeline.thresholds) : null, pipeline.enabled ? JSON.stringify(pipeline.enabled) : null, pipeline.consensus ? JSON.stringify(pipeline.consensus) : null, pipeline.gating ? JSON.stringify(pipeline.gating) : null, pipeline.followUps ? JSON.stringify(pipeline.followUps) : null, pipeline.testerQuality ? JSON.stringify(pipeline.testerQuality) : null, pipeline.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.version ?? null, pipeline.public ? 1 : null, workspaceId, pipeline.id)
|
|
36
|
+
.prepare('UPDATE pipelines SET name = ?, agent_kinds = ?, gates = ?, thresholds = ?, enabled = ?, consensus = ?, gating = ?, follow_ups = ?, tester_quality = ?, labels = ?, archived = ?, version = ?, public = ?, availability = ? WHERE workspace_id = ? AND id = ?')
|
|
37
|
+
.bind(pipeline.name, JSON.stringify(pipeline.agentKinds), pipeline.gates ? JSON.stringify(pipeline.gates) : null, pipeline.thresholds ? JSON.stringify(pipeline.thresholds) : null, pipeline.enabled ? JSON.stringify(pipeline.enabled) : null, pipeline.consensus ? JSON.stringify(pipeline.consensus) : null, pipeline.gating ? JSON.stringify(pipeline.gating) : null, pipeline.followUps ? JSON.stringify(pipeline.followUps) : null, pipeline.testerQuality ? JSON.stringify(pipeline.testerQuality) : null, pipeline.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.version ?? null, pipeline.public ? 1 : null, pipeline.availability ?? null, workspaceId, pipeline.id)
|
|
38
38
|
.run();
|
|
39
39
|
}
|
|
40
40
|
async delete(workspaceId, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1PipelineRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineRepository.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,aAAa,EAAE,MAAM,WAAW,CAAA;AAE3D,MAAM,OAAO,oBAAoB;IACd,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,iFAAiF;QACjF,qEAAqE;QACrE,gFAAgF;QAChF,2EAA2E;QAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CAAC,+DAA+D,CAAC;aACxE,IAAI,CAAC,WAAW,CAAC;aACjB,GAAG,EAAe,CAAA;QACrB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,EAAU;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,OAAO,CAAC,2DAA2D,CAAC;aACpE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;aACrB,KAAK,EAAe,CAAA;QACvB,OAAO,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,QAAkB;QAClD,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN,
|
|
1
|
+
{"version":3,"file":"D1PipelineRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1PipelineScheduleRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineScheduleRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAEhB,WAAW,EAEZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"D1PipelineScheduleRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineScheduleRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAEhB,WAAW,EAEZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAgF3D;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,0BAA0B;IAC7E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAM3E;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAMvF;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAM3D;IAEK,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAMlE;IAEK,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAetE;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAUlD;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C3E;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpE;IAEK,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,GACrF,OAAO,CAAC,IAAI,CAAC,CA2Bf;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU9E;IAEK,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrD;CACF"}
|
|
@@ -16,6 +16,7 @@ function rowToSchedule(row) {
|
|
|
16
16
|
template: row.template,
|
|
17
17
|
name: row.name,
|
|
18
18
|
recurrence,
|
|
19
|
+
onDemand: row.on_demand === 1,
|
|
19
20
|
enabled: row.enabled === 1,
|
|
20
21
|
lastRunAt: row.last_run_at,
|
|
21
22
|
nextRunAt: row.next_run_at,
|
|
@@ -99,7 +100,7 @@ export class D1PipelineScheduleRepository {
|
|
|
99
100
|
async listDue(asOf) {
|
|
100
101
|
const { results } = await this.db
|
|
101
102
|
.prepare(`SELECT * FROM pipeline_schedules
|
|
102
|
-
WHERE enabled = 1 AND next_run_at <= ?
|
|
103
|
+
WHERE enabled = 1 AND on_demand = 0 AND next_run_at <= ?
|
|
103
104
|
ORDER BY next_run_at ASC`)
|
|
104
105
|
.bind(asOf)
|
|
105
106
|
.all();
|
|
@@ -111,8 +112,8 @@ export class D1PipelineScheduleRepository {
|
|
|
111
112
|
.prepare(`INSERT INTO pipeline_schedules
|
|
112
113
|
(workspace_id, id, service_id, block_id, frame_id, pipeline_id, template, name,
|
|
113
114
|
interval_hours, weekdays, window_start_hour, window_end_hour, timezone, enabled,
|
|
114
|
-
last_run_at, next_run_at, created_at)
|
|
115
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
115
|
+
on_demand, last_run_at, next_run_at, created_at)
|
|
116
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
116
117
|
ON CONFLICT (workspace_id, id) DO UPDATE SET
|
|
117
118
|
service_id = excluded.service_id,
|
|
118
119
|
block_id = excluded.block_id,
|
|
@@ -126,9 +127,10 @@ export class D1PipelineScheduleRepository {
|
|
|
126
127
|
window_end_hour = excluded.window_end_hour,
|
|
127
128
|
timezone = excluded.timezone,
|
|
128
129
|
enabled = excluded.enabled,
|
|
130
|
+
on_demand = excluded.on_demand,
|
|
129
131
|
last_run_at = excluded.last_run_at,
|
|
130
132
|
next_run_at = excluded.next_run_at`)
|
|
131
|
-
.bind(workspaceId, schedule.id, schedule.serviceId, schedule.blockId, schedule.frameId, schedule.pipelineId, schedule.template, schedule.name, r.intervalHours, JSON.stringify(r.weekdays), r.windowStartHour, r.windowEndHour, r.timezone, schedule.enabled ? 1 : 0, schedule.lastRunAt, schedule.nextRunAt, schedule.createdAt)
|
|
133
|
+
.bind(workspaceId, schedule.id, schedule.serviceId, schedule.blockId, schedule.frameId, schedule.pipelineId, schedule.template, schedule.name, r.intervalHours, JSON.stringify(r.weekdays), r.windowStartHour, r.windowEndHour, r.timezone, schedule.enabled ? 1 : 0, schedule.onDemand ? 1 : 0, schedule.lastRunAt, schedule.nextRunAt, schedule.createdAt)
|
|
132
134
|
.run();
|
|
133
135
|
}
|
|
134
136
|
async remove(workspaceId, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1PipelineScheduleRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineScheduleRepository.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"D1PipelineScheduleRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineScheduleRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
-- Pipeline launch availability: persist the `availability` field that was previously carried
|
|
2
|
+
-- on the domain entity but dropped at the persistence layer (same class of gap as migration
|
|
3
|
+
-- 0032's companion toggles).
|
|
4
|
+
--
|
|
5
|
+
-- `pipelines.availability` — how the pipeline may be LAUNCHED: `'one-off'` (only as a manual
|
|
6
|
+
-- task), `'recurring'` (only attached to a schedule), or `'both'`.
|
|
7
|
+
-- NULL/absent ⇒ unrestricted (`'both'`), so existing rows read
|
|
8
|
+
-- unchanged (pre-1.0, no back-fill).
|
|
9
|
+
|
|
10
|
+
ALTER TABLE pipelines ADD COLUMN availability TEXT;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- On-demand recurring pipelines: a schedule flagged `on_demand` is never auto-fired by the
|
|
2
|
+
-- cron sweeper (it runs only via manual run-now), so its block may use an individual-usage
|
|
3
|
+
-- subscription model. `listDue` now filters `on_demand = 0` so these are skipped by the sweep.
|
|
4
|
+
ALTER TABLE pipeline_schedules ADD COLUMN on_demand 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.62.0",
|
|
4
4
|
"description": "Reusable Cloudflare Worker library (Hono + D1) exposing the Agent Architecture Board core: the `createApp()` Hono factory, the default fetch/scheduled/queue handler, and the Durable Object + Workflow classes. Deployments (see deploy/backend) supply the wrangler.toml + config and re-export these.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -42,19 +42,19 @@
|
|
|
42
42
|
"pino": "^10.3.1",
|
|
43
43
|
"valibot": "^1.4.2",
|
|
44
44
|
"workers-ai-provider": "^3.2.1",
|
|
45
|
-
"@cat-factory/agents": "0.30.
|
|
46
|
-
"@cat-factory/consensus": "0.8.
|
|
47
|
-
"@cat-factory/contracts": "0.
|
|
48
|
-
"@cat-factory/gates": "0.2.
|
|
49
|
-
"@cat-factory/gitlab": "0.6.
|
|
50
|
-
"@cat-factory/integrations": "0.60.
|
|
51
|
-
"@cat-factory/kernel": "0.
|
|
52
|
-
"@cat-factory/observability-langfuse": "0.7.
|
|
53
|
-
"@cat-factory/orchestration": "0.
|
|
54
|
-
"@cat-factory/prompt-fragments": "0.9.
|
|
55
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
56
|
-
"@cat-factory/server": "0.
|
|
57
|
-
"@cat-factory/spend": "0.10.
|
|
45
|
+
"@cat-factory/agents": "0.30.3",
|
|
46
|
+
"@cat-factory/consensus": "0.8.28",
|
|
47
|
+
"@cat-factory/contracts": "0.93.0",
|
|
48
|
+
"@cat-factory/gates": "0.2.83",
|
|
49
|
+
"@cat-factory/gitlab": "0.6.7",
|
|
50
|
+
"@cat-factory/integrations": "0.60.2",
|
|
51
|
+
"@cat-factory/kernel": "0.80.0",
|
|
52
|
+
"@cat-factory/observability-langfuse": "0.7.126",
|
|
53
|
+
"@cat-factory/orchestration": "0.67.0",
|
|
54
|
+
"@cat-factory/prompt-fragments": "0.9.53",
|
|
55
|
+
"@cat-factory/provider-cloudflare": "0.7.133",
|
|
56
|
+
"@cat-factory/server": "0.78.0",
|
|
57
|
+
"@cat-factory/spend": "0.10.87"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@cloudflare/vitest-pool-workers": "^0.16.20",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"typescript": "7.0.1-rc",
|
|
63
63
|
"vitest": "^4.1.9",
|
|
64
64
|
"wrangler": "^4.105.0",
|
|
65
|
-
"@cat-factory/conformance": "0.10.
|
|
65
|
+
"@cat-factory/conformance": "0.10.9"
|
|
66
66
|
},
|
|
67
67
|
"scripts": {
|
|
68
68
|
"build": "tsc -b tsconfig.build.json",
|