@cat-factory/worker 0.187.0 → 0.188.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.
@@ -16,6 +16,7 @@ export declare class D1ModelPresetRepository implements ModelPresetRepository {
16
16
  list(workspaceId: string): Promise<ModelPreset[]>;
17
17
  getDefault(workspaceId: string): Promise<ModelPreset | null>;
18
18
  upsert(workspaceId: string, preset: ModelPreset): Promise<void>;
19
+ upsertMany(workspaceId: string, presets: ModelPreset[]): Promise<void>;
19
20
  remove(workspaceId: string, id: string): Promise<void>;
20
21
  }
21
22
  //# sourceMappingURL=D1ModelPresetRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1ModelPresetRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ModelPresetRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAkC3D;;;;;GAKG;AACH,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,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMtE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAMtD;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAUjE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCpE;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;CACF"}
1
+ {"version":3,"file":"D1ModelPresetRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ModelPresetRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAkC3D;;;;;GAKG;AACH,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,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMtE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAMtD;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAUjE;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD3E;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;CACF"}
@@ -55,19 +55,28 @@ export class D1ModelPresetRepository {
55
55
  .first();
56
56
  return row ? rowToPreset(row) : null;
57
57
  }
58
- async upsert(workspaceId, preset) {
58
+ upsert(workspaceId, preset) {
59
+ return this.upsertMany(workspaceId, [preset]);
60
+ }
61
+ async upsertMany(workspaceId, presets) {
62
+ if (presets.length === 0)
63
+ return;
59
64
  // Demote + upsert run in ONE batch so the single-default invariant can never be
60
65
  // observed broken (zero or two defaults) by a concurrent reader or a partial
61
- // failure matching the Drizzle mirror's transaction. Promoting this preset to
62
- // default demotes any other default in the same atomic step.
66
+ // failure, matching the Drizzle mirror's transaction. A promoted preset demotes any
67
+ // other default in the same atomic step; over a batch, "any other" means every row
68
+ // outside the batch, since a member's own flag is written by its own INSERT.
63
69
  const statements = [];
64
- if (preset.isDefault) {
70
+ if (presets.some((p) => p.isDefault)) {
71
+ const placeholders = presets.map(() => '?').join(', ');
65
72
  statements.push(this.db
66
- .prepare(`UPDATE model_presets SET is_default = 0 WHERE workspace_id = ? AND id <> ?`)
67
- .bind(workspaceId, preset.id));
73
+ .prepare(`UPDATE model_presets SET is_default = 0
74
+ WHERE workspace_id = ? AND id NOT IN (${placeholders})`)
75
+ .bind(workspaceId, ...presets.map((p) => p.id)));
68
76
  }
69
- statements.push(this.db
70
- .prepare(`INSERT INTO model_presets
77
+ for (const preset of presets) {
78
+ statements.push(this.db
79
+ .prepare(`INSERT INTO model_presets
71
80
  (workspace_id, id, name, base_model_id, overrides, is_default, version,
72
81
  provider_preference, created_at)
73
82
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
@@ -78,7 +87,8 @@ export class D1ModelPresetRepository {
78
87
  is_default = excluded.is_default,
79
88
  version = excluded.version,
80
89
  provider_preference = excluded.provider_preference`)
81
- .bind(workspaceId, preset.id, preset.name, preset.baseModelId, JSON.stringify(preset.overrides), preset.isDefault ? 1 : 0, preset.version ?? null, serializeProviderPreferenceColumn(preset.providerPreference), preset.createdAt));
90
+ .bind(workspaceId, preset.id, preset.name, preset.baseModelId, JSON.stringify(preset.overrides), preset.isDefault ? 1 : 0, preset.version ?? null, serializeProviderPreferenceColumn(preset.providerPreference), preset.createdAt));
91
+ }
82
92
  await this.db.batch(statements);
83
93
  }
84
94
  async remove(workspaceId, id) {
@@ -1 +1 @@
1
- {"version":3,"file":"D1ModelPresetRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ModelPresetRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1ModelPresetRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1ModelPresetRepository.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/worker",
3
- "version": "0.187.0",
3
+ "version": "0.188.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.127.1",
47
- "@cat-factory/caching": "0.20.10",
48
- "@cat-factory/consensus": "0.16.10",
49
- "@cat-factory/contracts": "0.303.0",
50
- "@cat-factory/eks": "0.1.314",
51
- "@cat-factory/gates": "0.10.41",
52
- "@cat-factory/gitlab": "0.20.11",
53
- "@cat-factory/integrations": "0.160.8",
54
- "@cat-factory/kernel": "0.294.0",
55
- "@cat-factory/observability-langfuse": "0.10.85",
56
- "@cat-factory/observability-otel": "0.19.5",
57
- "@cat-factory/orchestration": "0.265.0",
58
- "@cat-factory/provider-cloudflare": "0.7.463",
59
- "@cat-factory/prompt-fragments": "1.0.65",
60
- "@cat-factory/server": "0.280.0",
61
- "@cat-factory/spend": "0.15.83"
46
+ "@cat-factory/agents": "0.127.3",
47
+ "@cat-factory/caching": "0.20.12",
48
+ "@cat-factory/consensus": "0.16.12",
49
+ "@cat-factory/contracts": "0.305.0",
50
+ "@cat-factory/eks": "0.1.316",
51
+ "@cat-factory/gates": "0.10.43",
52
+ "@cat-factory/gitlab": "0.20.13",
53
+ "@cat-factory/integrations": "0.160.10",
54
+ "@cat-factory/kernel": "0.295.0",
55
+ "@cat-factory/observability-langfuse": "0.10.87",
56
+ "@cat-factory/observability-otel": "0.19.7",
57
+ "@cat-factory/orchestration": "0.267.0",
58
+ "@cat-factory/prompt-fragments": "1.0.67",
59
+ "@cat-factory/provider-cloudflare": "0.7.465",
60
+ "@cat-factory/server": "0.282.0",
61
+ "@cat-factory/spend": "0.15.85"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@cloudflare/vitest-pool-workers": "^0.20.3",
@@ -66,7 +66,7 @@
66
66
  "typescript": "7.0.2",
67
67
  "vitest": "^4.1.10",
68
68
  "wrangler": "^4.120.0",
69
- "@cat-factory/conformance": "0.41.0"
69
+ "@cat-factory/conformance": "0.42.1"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsc -b tsconfig.build.json",