@cat-factory/worker 0.27.0 → 0.28.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.
@@ -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,CAoBnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;CACF"}
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,CAqBnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBnE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;CACF"}
@@ -24,16 +24,17 @@ 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, labels, archived, builtin) 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.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.builtin ? 1 : null)
27
+ .prepare('INSERT INTO pipelines (workspace_id, id, name, agent_kinds, gates, thresholds, enabled, consensus, gating, labels, archived, builtin, version) 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.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.builtin ? 1 : null, pipeline.version ?? null)
29
29
  .run();
30
30
  }
31
31
  async update(workspaceId, pipeline) {
32
32
  // UPDATE (not delete+insert) preserves the row's rowid, so an edited pipeline keeps
33
33
  // its place in the catalog order. `builtin` is immutable, so it is not rewritten.
34
+ // `version` IS rewritten so a reseed bumps the stored copy to the current catalog version.
34
35
  await this.db
35
- .prepare('UPDATE pipelines SET name = ?, agent_kinds = ?, gates = ?, thresholds = ?, enabled = ?, consensus = ?, gating = ?, labels = ?, archived = ? WHERE workspace_id = ? AND id = ?')
36
- .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.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, workspaceId, pipeline.id)
36
+ .prepare('UPDATE pipelines SET name = ?, agent_kinds = ?, gates = ?, thresholds = ?, enabled = ?, consensus = ?, gating = ?, labels = ?, archived = ?, version = ? 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.labels ? JSON.stringify(pipeline.labels) : null, pipeline.archived ? 1 : null, pipeline.version ?? null, workspaceId, pipeline.id)
37
38
  .run();
38
39
  }
39
40
  async delete(workspaceId, id) {
@@ -1 +1 @@
1
- {"version":3,"file":"D1PipelineRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1PipelineRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PipelineRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ -- Per-pipeline seed version, so a workspace's persisted built-in copy can be compared
2
+ -- against the current catalog (`seedPipelines()`) and offered a reseed when the catalog
3
+ -- definition moves ahead.
4
+ --
5
+ -- `pipelines.version` — monotonic integer for a built-in pipeline; NULL on user-created /
6
+ -- cloned pipelines (not version-tracked) and on rows persisted before
7
+ -- this column existed (the app treats NULL as 0, so they read as
8
+ -- "update available" once).
9
+
10
+ ALTER TABLE pipelines ADD COLUMN version INTEGER;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/worker",
3
- "version": "0.27.0",
3
+ "version": "0.28.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,18 +42,18 @@
42
42
  "pino": "^10.3.1",
43
43
  "valibot": "^1.4.1",
44
44
  "workers-ai-provider": "^3.2.0",
45
- "@cat-factory/agents": "0.18.4",
46
- "@cat-factory/consensus": "0.7.51",
47
- "@cat-factory/contracts": "0.37.0",
48
- "@cat-factory/gates": "0.2.3",
49
- "@cat-factory/integrations": "0.23.3",
50
- "@cat-factory/kernel": "0.39.0",
51
- "@cat-factory/observability-langfuse": "0.7.47",
52
- "@cat-factory/orchestration": "0.29.0",
53
- "@cat-factory/prompt-fragments": "0.7.35",
54
- "@cat-factory/provider-cloudflare": "0.7.51",
55
- "@cat-factory/server": "0.33.0",
56
- "@cat-factory/spend": "0.10.8"
45
+ "@cat-factory/agents": "0.18.5",
46
+ "@cat-factory/consensus": "0.7.52",
47
+ "@cat-factory/contracts": "0.38.0",
48
+ "@cat-factory/gates": "0.2.4",
49
+ "@cat-factory/integrations": "0.23.4",
50
+ "@cat-factory/kernel": "0.40.0",
51
+ "@cat-factory/observability-langfuse": "0.7.48",
52
+ "@cat-factory/orchestration": "0.30.0",
53
+ "@cat-factory/prompt-fragments": "0.7.36",
54
+ "@cat-factory/provider-cloudflare": "0.7.52",
55
+ "@cat-factory/server": "0.34.0",
56
+ "@cat-factory/spend": "0.10.9"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@cloudflare/vitest-pool-workers": "^0.16.19",
@@ -61,7 +61,7 @@
61
61
  "typescript": "7.0.1-rc",
62
62
  "vitest": "^4.1.9",
63
63
  "wrangler": "^4.104.0",
64
- "@cat-factory/conformance": "0.8.7"
64
+ "@cat-factory/conformance": "0.9.0"
65
65
  },
66
66
  "scripts": {
67
67
  "build": "tsc -b tsconfig.build.json",