@cat-factory/worker 0.89.0 → 0.90.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":"D1PublicApiKeyRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PublicApiKeyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA0B3D,uEAAuE;AACvE,qBAAa,wBAAyB,YAAW,sBAAsB;IACrE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnD;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAM5D;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAUxE;IAEK,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpD;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;CACF"}
1
+ {"version":3,"file":"D1PublicApiKeyRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PublicApiKeyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA4B3D,uEAAuE;AACvE,qBAAa,wBAAyB,YAAW,sBAAsB;IACrE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAA;KAAE,EAErC;IAEK,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBnD;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAM5D;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAUxE;IAEK,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpD;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;CACF"}
@@ -4,6 +4,7 @@ function rowToRecord(row) {
4
4
  accountId: row.account_id,
5
5
  workspaceId: row.workspace_id,
6
6
  label: row.label,
7
+ scope: row.scope,
7
8
  secretHash: row.secret_hash,
8
9
  createdAt: row.created_at,
9
10
  lastUsedAt: row.last_used_at,
@@ -19,9 +20,9 @@ export class D1PublicApiKeyRepository {
19
20
  async add(record) {
20
21
  await this.db
21
22
  .prepare(`INSERT INTO public_api_keys
22
- (id, account_id, workspace_id, label, secret_hash, created_at, last_used_at, revoked_at)
23
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
24
- .bind(record.id, record.accountId, record.workspaceId, record.label, record.secretHash, record.createdAt, record.lastUsedAt, record.revokedAt)
23
+ (id, account_id, workspace_id, label, scope, secret_hash, created_at, last_used_at, revoked_at)
24
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
25
+ .bind(record.id, record.accountId, record.workspaceId, record.label, record.scope, record.secretHash, record.createdAt, record.lastUsedAt, record.revokedAt)
25
26
  .run();
26
27
  }
27
28
  async getById(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"D1PublicApiKeyRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PublicApiKeyRepository.ts"],"names":[],"mappings":"AAcA,SAAS,WAAW,CAAC,GAAoB;IACvC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,OAAO,wBAAwB;IAClB,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAA0B;QAClC,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN;;yCAEiC,CAClC;aACA,IAAI,CACH,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,CACjB;aACA,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,OAAO,CAAC,4CAA4C,CAAC;aACrD,IAAI,CAAC,EAAE,CAAC;aACR,KAAK,EAAmB,CAAA;QAC3B,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CACN;;mCAE2B,CAC5B;aACA,IAAI,CAAC,WAAW,CAAC;aACjB,GAAG,EAAmB,CAAA;QACzB,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,EAAU;QACnC,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CAAC,0DAA0D,CAAC;aACnE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aACZ,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,EAAU,EAAE,EAAU;QACtD,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN,oGAAoG,CACrG;aACA,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC;aACzB,GAAG,EAAE,CAAA;IACV,CAAC;CACF"}
1
+ {"version":3,"file":"D1PublicApiKeyRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/repositories/D1PublicApiKeyRepository.ts"],"names":[],"mappings":"AAgBA,SAAS,WAAW,CAAC,GAAoB;IACvC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAuB;QAClC,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,OAAO,wBAAwB;IAClB,EAAE,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAsB;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAA0B;QAClC,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN;;4CAEoC,CACrC;aACA,IAAI,CACH,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,CACjB;aACA,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,OAAO,CAAC,4CAA4C,CAAC;aACrD,IAAI,CAAC,EAAE,CAAC;aACR,KAAK,EAAmB,CAAA;QAC3B,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,OAAO,CACN;;mCAE2B,CAC5B;aACA,IAAI,CAAC,WAAW,CAAC;aACjB,GAAG,EAAmB,CAAA;QACzB,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,EAAU;QACnC,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CAAC,0DAA0D,CAAC;aACnE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;aACZ,GAAG,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,EAAU,EAAE,EAAU;QACtD,MAAM,IAAI,CAAC,EAAE;aACV,OAAO,CACN,oGAAoG,CACrG;aACA,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC;aACzB,GAAG,EAAE,CAAA;IACV,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ -- Per-key permission scopes for the inbound public-API keys (initiative: public API expansion,
2
+ -- item #13). A key now carries a `scope` on the `/api/v1` surface — an inclusive ladder
3
+ -- (read ⊂ write ⊂ admin) the controller gates each endpoint on: reads need `read`, non-destructive
4
+ -- mutations need `write`, and destructive / merge-adjacent operations (e.g. DELETE a task) need
5
+ -- `admin`. Existing keys backfill to `write` — they keep every capability the surface shipped
6
+ -- before scopes existed (all of it read/write-level) but do NOT auto-gain the new destructive
7
+ -- power, which must be minted explicitly. Mirrored on Node by the `scope` column on the Drizzle
8
+ -- `public_api_keys` table.
9
+ ALTER TABLE public_api_keys ADD COLUMN scope TEXT NOT NULL DEFAULT 'write';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/worker",
3
- "version": "0.89.0",
3
+ "version": "0.90.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,22 +42,22 @@
42
42
  "pino": "^10.3.1",
43
43
  "valibot": "^1.4.2",
44
44
  "workers-ai-provider": "^3.3.1",
45
- "@cat-factory/caching": "0.9.5",
46
- "@cat-factory/contracts": "0.142.0",
47
- "@cat-factory/consensus": "0.10.63",
48
- "@cat-factory/eks": "0.1.90",
49
- "@cat-factory/agents": "0.62.2",
50
- "@cat-factory/gitlab": "0.10.9",
51
- "@cat-factory/integrations": "0.84.12",
52
- "@cat-factory/gates": "0.5.47",
53
- "@cat-factory/kernel": "0.135.0",
54
- "@cat-factory/observability-otel": "0.1.11",
55
- "@cat-factory/orchestration": "0.118.0",
56
- "@cat-factory/provider-cloudflare": "0.7.234",
57
- "@cat-factory/prompt-fragments": "0.13.31",
58
- "@cat-factory/server": "0.129.2",
59
- "@cat-factory/spend": "0.12.43",
60
- "@cat-factory/observability-langfuse": "0.7.217"
45
+ "@cat-factory/agents": "0.62.3",
46
+ "@cat-factory/consensus": "0.10.64",
47
+ "@cat-factory/contracts": "0.143.0",
48
+ "@cat-factory/eks": "0.1.91",
49
+ "@cat-factory/gates": "0.5.48",
50
+ "@cat-factory/caching": "0.10.0",
51
+ "@cat-factory/gitlab": "0.10.10",
52
+ "@cat-factory/kernel": "0.136.0",
53
+ "@cat-factory/observability-langfuse": "0.7.218",
54
+ "@cat-factory/observability-otel": "0.1.12",
55
+ "@cat-factory/prompt-fragments": "0.13.32",
56
+ "@cat-factory/orchestration": "0.119.0",
57
+ "@cat-factory/integrations": "0.85.0",
58
+ "@cat-factory/server": "0.130.0",
59
+ "@cat-factory/provider-cloudflare": "0.7.235",
60
+ "@cat-factory/spend": "0.12.44"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@cloudflare/vitest-pool-workers": "^0.18.0",
@@ -65,7 +65,7 @@
65
65
  "typescript": "7.0.2",
66
66
  "vitest": "^4.1.10",
67
67
  "wrangler": "^4.110.0",
68
- "@cat-factory/conformance": "0.11.6"
68
+ "@cat-factory/conformance": "0.11.7"
69
69
  },
70
70
  "scripts": {
71
71
  "build": "tsc -b tsconfig.build.json",