@cat-factory/worker 0.78.0 → 0.78.2

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.
@@ -9,6 +9,7 @@ export declare class D1AccountRepository implements AccountRepository {
9
9
  get(id: string): Promise<AccountRecord | null>;
10
10
  listByIds(ids: string[]): Promise<AccountRecord[]>;
11
11
  create(account: AccountRecord): Promise<void>;
12
+ ensurePersonal(account: AccountRecord): Promise<AccountRecord>;
12
13
  rename(id: string, name: string): Promise<void>;
13
14
  updateSettings(id: string, patch: AccountSettingsPatch): Promise<void>;
14
15
  findPersonalByUser(userId: string): Promise<AccountRecord | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"D1AccountRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA6B3D,qFAAqF;AACrF,qBAAa,mBAAoB,YAAW,iBAAiB;IAC3D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAMnD;IAEK,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAavD;IAEK,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlD;IAEK,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;IAEK,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3E;IAEK,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAMtE;CACF"}
1
+ {"version":3,"file":"D1AccountRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA6B3D,qFAAqF;AACrF,qBAAa,mBAAoB,YAAW,iBAAiB;IAC3D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAMnD;IAEK,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAavD;IAEK,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlD;IAEK,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA2BnE;IAEK,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;IAEK,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3E;IAEK,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAMtE;CACF"}
@@ -48,6 +48,21 @@ export class D1AccountRepository {
48
48
  .bind(account.id, account.type, account.name, account.githubAccountLogin, account.ownerUserId, account.createdAt, account.defaultCloudProvider ?? null, account.spendMonthlyLimit ?? null)
49
49
  .run();
50
50
  }
51
+ async ensurePersonal(account) {
52
+ // Atomic get-or-create: `INSERT OR IGNORE` no-ops when a personal account already exists
53
+ // for this owner (the partial unique index `idx_accounts_personal` arbitrates), so
54
+ // concurrent first-sign-in callers converge on the one surviving row instead of racing to
55
+ // a duplicate-key error. Re-select to return whichever row won.
56
+ await this.db
57
+ .prepare('INSERT OR IGNORE INTO accounts (id, type, name, github_account_login, owner_user_id, created_at, default_cloud_provider, spend_monthly_limit) VALUES (?, ?, ?, ?, ?, ?, ?, ?)')
58
+ .bind(account.id, account.type, account.name, account.githubAccountLogin, account.ownerUserId, account.createdAt, account.defaultCloudProvider ?? null, account.spendMonthlyLimit ?? null)
59
+ .run();
60
+ const row = await this.findPersonalByUser(account.ownerUserId ?? '');
61
+ if (!row) {
62
+ throw new Error(`ensurePersonal: personal account missing after insert for ${account.ownerUserId}`);
63
+ }
64
+ return row;
65
+ }
51
66
  async rename(id, name) {
52
67
  await this.db.prepare('UPDATE accounts SET name = ? WHERE id = ?').bind(name, id).run();
53
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"D1AccountRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1AccountRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1AccountRepository.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.78.0",
3
+ "version": "0.78.2",
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,21 +42,21 @@
42
42
  "pino": "^10.3.1",
43
43
  "valibot": "^1.4.2",
44
44
  "workers-ai-provider": "^3.3.1",
45
- "@cat-factory/agents": "0.48.1",
46
- "@cat-factory/caching": "0.6.9",
47
- "@cat-factory/consensus": "0.10.8",
45
+ "@cat-factory/agents": "0.48.3",
46
+ "@cat-factory/caching": "0.6.10",
47
+ "@cat-factory/consensus": "0.10.10",
48
48
  "@cat-factory/contracts": "0.119.0",
49
- "@cat-factory/eks": "0.1.32",
50
- "@cat-factory/gates": "0.4.29",
51
- "@cat-factory/gitlab": "0.7.32",
52
- "@cat-factory/integrations": "0.78.0",
53
- "@cat-factory/kernel": "0.109.0",
54
- "@cat-factory/observability-langfuse": "0.7.164",
55
- "@cat-factory/orchestration": "0.97.0",
49
+ "@cat-factory/eks": "0.1.33",
50
+ "@cat-factory/gates": "0.4.30",
51
+ "@cat-factory/gitlab": "0.7.33",
52
+ "@cat-factory/integrations": "0.78.1",
53
+ "@cat-factory/kernel": "0.109.1",
54
+ "@cat-factory/observability-langfuse": "0.7.165",
55
+ "@cat-factory/orchestration": "0.97.2",
56
56
  "@cat-factory/prompt-fragments": "0.13.1",
57
- "@cat-factory/provider-cloudflare": "0.7.179",
58
- "@cat-factory/server": "0.101.0",
59
- "@cat-factory/spend": "0.11.15"
57
+ "@cat-factory/provider-cloudflare": "0.7.181",
58
+ "@cat-factory/server": "0.101.2",
59
+ "@cat-factory/spend": "0.11.16"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@cloudflare/vitest-pool-workers": "^0.18.0",
@@ -64,7 +64,7 @@
64
64
  "typescript": "7.0.1-rc",
65
65
  "vitest": "^4.1.9",
66
66
  "wrangler": "^4.107.0",
67
- "@cat-factory/conformance": "0.10.64"
67
+ "@cat-factory/conformance": "0.10.66"
68
68
  },
69
69
  "scripts": {
70
70
  "build": "tsc -b tsconfig.build.json",