@cat-factory/local-server 0.55.2 → 0.55.3

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":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAoB,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAWtF,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAO7F,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,qBAAqB,CAAA;AA6E5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CA2iBlF;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAyBf"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAoB,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAWtF,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAO7F,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,qBAAqB,CAAA;AA6E5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CA2jBlF;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAyBf"}
package/dist/container.js CHANGED
@@ -186,9 +186,16 @@ export function buildLocalContainer(options) {
186
186
  // A settings edit is applied LIVE to this instance (see the service's `onChange` below),
187
187
  // so the panel takes effect without a restart.
188
188
  let containerTransport;
189
- const localSettingsService = options.db
189
+ // The warm-pool + checkout config repo: Drizzle over the local Postgres (siloed local mode),
190
+ // else the local `node:sqlite` singleton in mothership mode (no Postgres, but these settings
191
+ // configure the LOCAL Docker runner — the local facade's own differentiator — so they belong on
192
+ // the laptop, not the mothership). Either way the panel persists + reads back live.
193
+ const localSettingsRepository = options.db
194
+ ? new DrizzleLocalSettingsRepository(options.db)
195
+ : mothership?.localSettingsStore.localSettingsRepository;
196
+ const localSettingsService = localSettingsRepository
190
197
  ? new LocalSettingsService({
191
- localSettingsRepository: new DrizzleLocalSettingsRepository(options.db),
198
+ localSettingsRepository,
192
199
  clock: { now: () => Date.now() },
193
200
  // Apply an edit to the already-built serving transport so the warm-pool + checkout
194
201
  // config takes effect WITHOUT a restart. No-op until the transport is built (the
@@ -422,13 +429,20 @@ export function buildLocalContainer(options) {
422
429
  env,
423
430
  config,
424
431
  repos,
425
- // Mothership credentials stay on the laptop: inject the local node:sqlite store's two repos
426
- // so the API-key pool + local-model endpoints are sealed with the LOCAL key (the
427
- // mothership's ENCRYPTION_KEY never reaches this machine). Off Drizzle over Postgres.
432
+ // Mothership credentials stay on the laptop: inject the local node:sqlite store's repos so
433
+ // the API-key pool, local-model endpoints, AND the subscription credentials (pooled tokens +
434
+ // per-user personal creds + their per-run activations) are sealed with the LOCAL key and
435
+ // leased by the LOCAL container executor — the mothership's ENCRYPTION_KEY never reaches this
436
+ // machine. Off → Drizzle over Postgres. `subscriptionActivationRepository` is threaded ONCE
437
+ // here and reused by BOTH consumers in buildNodeContainer (the personal-subscription service's
438
+ // mint + the engine core's clear-on-completion), so they agree on one store.
428
439
  ...(mothership
429
440
  ? {
430
441
  providerApiKeyRepository: mothership.credentialStore.providerApiKeyRepository,
431
442
  localModelEndpointRepository: mothership.credentialStore.localModelEndpointRepository,
443
+ providerSubscriptionTokenRepository: mothership.credentialStore.providerSubscriptionTokenRepository,
444
+ personalSubscriptionRepository: mothership.credentialStore.personalSubscriptionRepository,
445
+ subscriptionActivationRepository: mothership.credentialStore.subscriptionActivationRepository,
432
446
  }
433
447
  : {}),
434
448
  // Share the SAME registries the pool resolver above was built with (so a custom runner
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type CoreRepositories, type DriveConfig, driveExecution } from '@cat-fa
2
2
  import { type Logger, type MothershipConnector } from '@cat-factory/server';
3
3
  import type { AgentRunRepository, WorkRunner } from '@cat-factory/kernel';
4
4
  import { type LocalCredentialStore } from './sqlite/credentialStore.js';
5
+ import { type LocalSettingsStore } from './sqlite/localSettingsStore.js';
5
6
  import { type LocalMachineTokenStore } from './sqlite/machineTokenStore.js';
6
7
  import { SqliteWorkQueue } from './sqlite/workQueue.js';
7
8
  /** True when this local node should boot in mothership mode (a mothership URL is configured). */
@@ -19,8 +20,20 @@ export interface MothershipComposition {
19
20
  * local (the `node:sqlite` store), composed over the top of this registry by the facade.
20
21
  */
21
22
  repos: CoreRepositories;
22
- /** The local-sqlite credential store (kept on the laptop, sealed with the local key). */
23
+ /**
24
+ * The local-sqlite credential store (kept on the laptop, sealed with the local key). Beyond the
25
+ * direct-vendor API-key pool + local-model endpoints, it now also backs the subscription
26
+ * credentials the local container executor leases — `providerSubscriptionTokenRepository`,
27
+ * `personalSubscriptionRepository`, `subscriptionActivationRepository` — for the same reason
28
+ * (they never traverse the machine API to the mothership).
29
+ */
23
30
  credentialStore: LocalCredentialStore;
31
+ /**
32
+ * The local-sqlite store for the local-mode operational settings singleton (warm-pool +
33
+ * checkout config for the local Docker runner). NOT org state — it configures the local
34
+ * facade's own differentiator — so it lives on the laptop, not the mothership.
35
+ */
36
+ localSettingsStore: LocalSettingsStore;
24
37
  /** The durable local-sqlite execution work queue (the no-pg-boss durability substrate). */
25
38
  workQueue: SqliteWorkQueue;
26
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { mkdirSync } from 'node:fs';
4
4
  import { driveExecution } from '@cat-factory/node-server';
5
5
  import { HttpPersistenceRpcClient, createRemoteRepositoryRegistry, } from '@cat-factory/server';
6
6
  import { createLocalCredentialStore } from './sqlite/credentialStore.js';
7
+ import { createLocalSettingsStore } from './sqlite/localSettingsStore.js';
7
8
  import { createLocalMachineTokenStore, } from './sqlite/machineTokenStore.js';
8
9
  import { SqliteWorkQueue, createWorkQueue } from './sqlite/workQueue.js';
9
10
  // Mothership mode (docs/initiatives/mothership-mode.md): the local node keeps NO main
@@ -63,14 +64,17 @@ export function composeMothership(env) {
63
64
  });
64
65
  const repos = createRemoteRepositoryRegistry(client);
65
66
  const credentialStore = createLocalCredentialStore(localDbPath(env.LOCAL_MOTHERSHIP_CREDENTIAL_DB, 'credentials.sqlite'));
67
+ const localSettingsStore = createLocalSettingsStore(localDbPath(env.LOCAL_MOTHERSHIP_SETTINGS_DB, 'local-settings.sqlite'));
66
68
  const workQueue = createWorkQueue(localDbPath(env.LOCAL_MOTHERSHIP_WORK_DB, 'work-queue.sqlite'));
67
69
  return {
68
70
  repos,
69
71
  credentialStore,
72
+ localSettingsStore,
70
73
  workQueue,
71
74
  machineTokenStore,
72
75
  close: () => {
73
76
  credentialStore.close();
77
+ localSettingsStore.close();
74
78
  workQueue.close();
75
79
  machineTokenStore.close();
76
80
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { DatabaseSync } from 'node:sqlite';
2
- import type { ApiKeyProvider, ApiKeyScope, ApiKeyScopeRef, LocalModelEndpointRecord, LocalModelEndpointRepository, ProviderApiKeyRecord, ProviderApiKeyRepository } from '@cat-factory/kernel';
2
+ import type { ApiKeyProvider, ApiKeyScope, ApiKeyScopeRef, LocalModelEndpointRecord, LocalModelEndpointRepository, PersonalSubscriptionRecord, PersonalSubscriptionRepository, ProviderApiKeyRecord, ProviderApiKeyRepository, ProviderSubscriptionTokenRecord, ProviderSubscriptionTokenRepository, SubscriptionActivationRecord, SubscriptionActivationRepository, SubscriptionVendor } from '@cat-factory/kernel';
3
3
  import type { LocalRunner } from '@cat-factory/contracts';
4
4
  /** Open (creating if absent) the local credential SQLite database and ensure its schema. */
5
5
  export declare function openLocalCredentialDb(path: string): DatabaseSync;
@@ -27,15 +27,71 @@ export declare class SqliteLocalModelEndpointRepository implements LocalModelEnd
27
27
  upsert(record: LocalModelEndpointRecord): Promise<void>;
28
28
  remove(userId: string, provider: LocalRunner): Promise<void>;
29
29
  }
30
+ /**
31
+ * The per-workspace subscription-token pool over `node:sqlite` — the local-sqlite mirror of
32
+ * `DrizzleProviderSubscriptionTokenRepository` / `D1ProviderSubscriptionTokenRepository`
33
+ * (unlike the API-key pool there is no `leaseLeastUsed` here — the least-loaded pick lives in
34
+ * `ProviderSubscriptionService`, which reads `listByVendor` then `markLeased`).
35
+ */
36
+ export declare class SqliteProviderSubscriptionTokenRepository implements ProviderSubscriptionTokenRepository {
37
+ private readonly db;
38
+ constructor(db: DatabaseSync);
39
+ listByVendor(workspaceId: string, vendor: SubscriptionVendor): Promise<ProviderSubscriptionTokenRecord[]>;
40
+ getById(workspaceId: string, id: string): Promise<ProviderSubscriptionTokenRecord | null>;
41
+ add(record: ProviderSubscriptionTokenRecord): Promise<void>;
42
+ markLeased(workspaceId: string, id: string, at: number): Promise<void>;
43
+ recordUsage(workspaceId: string, id: string, usage: {
44
+ inputTokens: number;
45
+ outputTokens: number;
46
+ }, at: number, windowMs: number): Promise<void>;
47
+ softDelete(workspaceId: string, id: string, at: number): Promise<void>;
48
+ }
49
+ /**
50
+ * Per-user individual-usage subscriptions over `node:sqlite` — the local-sqlite mirror of
51
+ * `DrizzlePersonalSubscriptionRepository` / `D1PersonalSubscriptionRepository`. The stored
52
+ * `tokenCipher` is DOUBLE-encrypted (`system.encrypt(personal.seal(token, password))`) by
53
+ * `PersonalSubscriptionService`; this store only ever sees the opaque outer blob, so the
54
+ * password never touches the laptop's disk. `upsert` keeps one live row per (user, vendor).
55
+ */
56
+ export declare class SqlitePersonalSubscriptionRepository implements PersonalSubscriptionRepository {
57
+ private readonly db;
58
+ constructor(db: DatabaseSync);
59
+ getByUserVendor(userId: string, vendor: SubscriptionVendor): Promise<PersonalSubscriptionRecord | null>;
60
+ listByUser(userId: string): Promise<PersonalSubscriptionRecord[]>;
61
+ upsert(record: PersonalSubscriptionRecord): Promise<void>;
62
+ markUsed(userId: string, vendor: SubscriptionVendor, at: number): Promise<void>;
63
+ softDelete(userId: string, vendor: SubscriptionVendor, at: number): Promise<void>;
64
+ listExpiring(now: number, before: number): Promise<PersonalSubscriptionRecord[]>;
65
+ }
66
+ /**
67
+ * Per-run personal-credential activations over `node:sqlite` — the local-sqlite mirror of
68
+ * `DrizzleSubscriptionActivationRepository` / `D1SubscriptionActivationRepository`. A row is a
69
+ * system-key-only re-encryption of the raw token scoped to one execution, minted when the user
70
+ * supplies their password at start/retry so the async local container steps of THAT run can use
71
+ * it without the user present; it is deleted when the run reaches a terminal state (and the TTL
72
+ * sweep is the backstop). Kept LOCAL because it is decrypted by the LOCAL container executor.
73
+ */
74
+ export declare class SqliteSubscriptionActivationRepository implements SubscriptionActivationRepository {
75
+ private readonly db;
76
+ constructor(db: DatabaseSync);
77
+ get(executionId: string, userId: string, vendor: SubscriptionVendor, now: number): Promise<SubscriptionActivationRecord | null>;
78
+ upsert(record: SubscriptionActivationRecord): Promise<void>;
79
+ refresh(executionId: string, userId: string, vendor: SubscriptionVendor, expiresAt: number): Promise<void>;
80
+ deleteByExecution(executionId: string): Promise<void>;
81
+ deleteExpired(now: number): Promise<number>;
82
+ }
30
83
  /** The local-sqlite credential repositories plus a handle to close the underlying db. */
31
84
  export interface LocalCredentialStore {
32
85
  providerApiKeyRepository: ProviderApiKeyRepository;
33
86
  localModelEndpointRepository: LocalModelEndpointRepository;
87
+ providerSubscriptionTokenRepository: ProviderSubscriptionTokenRepository;
88
+ personalSubscriptionRepository: PersonalSubscriptionRepository;
89
+ subscriptionActivationRepository: SubscriptionActivationRepository;
34
90
  close(): void;
35
91
  }
36
92
  /**
37
93
  * Open the local credential store at `path` (e.g. a file under the developer's config dir,
38
- * or `:memory:` in tests) and expose the two `local-sqlite` repositories over it.
94
+ * or `:memory:` in tests) and expose the `local-sqlite` credential repositories over it.
39
95
  *
40
96
  * This holds ONLY credentials, never org/durable state — that all lives on the mothership.
41
97
  * The secrets it stores are already sealed by the caller with the LOCAL key, so the
@@ -1 +1 @@
1
- {"version":3,"file":"credentialStore.d.ts","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA2DzD,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAEhE;AAmDD,qBAAa,8BAA+B,YAAW,wBAAwB;IACjE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,YAAY,EAAI;IAE3C,WAAW,CACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWjC;IAEK,WAAW,CACf,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWjC;IAEK,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAUjF;IAEK,OAAO,CACX,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAStC;IAEK,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBrD;IAEK,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;IAEK,cAAc,CAClB,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAwBtC;IAEK,WAAW,CACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EACpD,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAqBf;IAEK,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;CACF;AA0CD,qBAAa,kCAAmC,YAAW,4BAA4B;IACzE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,YAAY,EAAI;IAE3C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAQpE;IAEK,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAQ1C;IAEK,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB5D;IAEK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE;CACF;AAMD,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAO7E"}
1
+ {"version":3,"file":"credentialStore.d.ts","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,24 @@ import { openSqliteDb } from './db.js';
7
7
  // CREDENTIALS: they are kept on the developer's machine, sealed with a LOCAL key, so the
8
8
  // mothership's `ENCRYPTION_KEY` never has to reach the laptop (confirmed product decision 3
9
9
  // in `docs/initiatives/mothership-mode.md`). This module is their persistence: a file-based
10
- // `node:sqlite` store implementing the two `local-sqlite` bucket ports —
11
- // `providerApiKeyRepository` (the direct-vendor API-key pool) and `localModelEndpointRepository`
12
- // (per-user locally-run model endpoints).
10
+ // `node:sqlite` store implementing the `local-sqlite` bucket credential ports —
11
+ // `providerApiKeyRepository` (the direct-vendor API-key pool), `localModelEndpointRepository`
12
+ // (per-user locally-run model endpoints), and the subscription-credential trio the Claude
13
+ // Code / Codex / GLM harnesses lease inside a per-run local container:
14
+ // `providerSubscriptionTokenRepository` (the per-workspace pooled subscription tokens),
15
+ // `personalSubscriptionRepository` (per-user individual-usage credentials, double-encrypted),
16
+ // and `subscriptionActivationRepository` (their short-lived per-run, system-key-only copies).
17
+ // All are laptop-local for the same reason the API-key pool is: a subscription token is a
18
+ // credential the LOCAL container executor leases and decrypts with the LOCAL key, and it must
19
+ // never traverse the machine API to the mothership.
13
20
  //
14
- // It stores ONLY the sealed `keyCipher` / `apiKeyCipher` envelopes the service layer hands
15
- // it (the cipher itself is wired at composition time with the local key), so this layer is
16
- // crypto-agnostic. The schema mirrors the Drizzle/D1 columns column-for-column, and the
17
- // repositories mirror `DrizzleProviderApiKeyRepository` / `DrizzleLocalModelEndpointRepository`
18
- // behaviour exactly (usage-window rotation, lease-least-used ordering, upsert preserving
19
- // `createdAt`) so a mothership-mode node pools and rotates keys identically to a Postgres one.
21
+ // It stores ONLY the sealed `*Cipher` envelopes the service layer hands it (the cipher — and,
22
+ // for personal subscriptions, the inner password layer is applied ABOVE this store, so the
23
+ // blob is opaque here), so this layer is crypto-agnostic. The schema mirrors the Drizzle/D1
24
+ // columns column-for-column, and each repository mirrors its `Drizzle*` / `D1*` counterpart's
25
+ // behaviour exactly (usage-window rotation, lease-least-used ordering, one-live-row-per
26
+ // upsert, the createdAt-preserving endpoint upsert) so a mothership-mode node pools, rotates
27
+ // and activates credentials identically to a Postgres one.
20
28
  //
21
29
  // `node:sqlite`'s `DatabaseSync` is synchronous and single-process, so `leaseLeastUsed`'s
22
30
  // select-then-mark is inherently atomic: no other JavaScript runs between the two statements,
@@ -52,6 +60,49 @@ CREATE TABLE IF NOT EXISTS local_model_endpoints (
52
60
  updated_at INTEGER NOT NULL,
53
61
  PRIMARY KEY (user_id, provider)
54
62
  );
63
+
64
+ CREATE TABLE IF NOT EXISTS provider_subscription_tokens (
65
+ id TEXT PRIMARY KEY,
66
+ workspace_id TEXT NOT NULL,
67
+ vendor TEXT NOT NULL,
68
+ label TEXT NOT NULL,
69
+ token_cipher TEXT NOT NULL,
70
+ created_at INTEGER NOT NULL,
71
+ last_used_at INTEGER,
72
+ window_started_at INTEGER,
73
+ input_tokens INTEGER NOT NULL DEFAULT 0,
74
+ output_tokens INTEGER NOT NULL DEFAULT 0,
75
+ request_count INTEGER NOT NULL DEFAULT 0,
76
+ deleted_at INTEGER
77
+ );
78
+ CREATE INDEX IF NOT EXISTS provider_subscription_tokens_pool
79
+ ON provider_subscription_tokens (workspace_id, vendor, deleted_at);
80
+
81
+ CREATE TABLE IF NOT EXISTS personal_subscriptions (
82
+ id TEXT PRIMARY KEY,
83
+ user_id TEXT NOT NULL,
84
+ vendor TEXT NOT NULL,
85
+ label TEXT NOT NULL,
86
+ token_cipher TEXT NOT NULL,
87
+ expires_at INTEGER,
88
+ created_at INTEGER NOT NULL,
89
+ updated_at INTEGER NOT NULL,
90
+ last_used_at INTEGER,
91
+ deleted_at INTEGER
92
+ );
93
+ CREATE INDEX IF NOT EXISTS personal_subscriptions_user
94
+ ON personal_subscriptions (user_id, vendor, deleted_at);
95
+
96
+ CREATE TABLE IF NOT EXISTS subscription_activations (
97
+ id TEXT PRIMARY KEY,
98
+ execution_id TEXT NOT NULL,
99
+ user_id TEXT NOT NULL,
100
+ vendor TEXT NOT NULL,
101
+ token_cipher TEXT NOT NULL,
102
+ created_at INTEGER NOT NULL,
103
+ expires_at INTEGER NOT NULL,
104
+ UNIQUE (execution_id, user_id, vendor)
105
+ );
55
106
  `;
56
107
  /** Open (creating if absent) the local credential SQLite database and ensure its schema. */
57
108
  export function openLocalCredentialDb(path) {
@@ -251,9 +302,239 @@ export class SqliteLocalModelEndpointRepository {
251
302
  .run(userId, provider);
252
303
  }
253
304
  }
305
+ function subscriptionTokenRowToRecord(row) {
306
+ return {
307
+ id: row.id,
308
+ workspaceId: row.workspace_id,
309
+ vendor: row.vendor,
310
+ label: row.label,
311
+ tokenCipher: row.token_cipher,
312
+ createdAt: row.created_at,
313
+ lastUsedAt: row.last_used_at,
314
+ windowStartedAt: row.window_started_at,
315
+ inputTokens: row.input_tokens,
316
+ outputTokens: row.output_tokens,
317
+ requestCount: row.request_count,
318
+ deletedAt: row.deleted_at,
319
+ };
320
+ }
321
+ const SUBSCRIPTION_TOKEN_COLUMNS = 'id, workspace_id, vendor, label, token_cipher, created_at, last_used_at, ' +
322
+ 'window_started_at, input_tokens, output_tokens, request_count, deleted_at';
323
+ /**
324
+ * The per-workspace subscription-token pool over `node:sqlite` — the local-sqlite mirror of
325
+ * `DrizzleProviderSubscriptionTokenRepository` / `D1ProviderSubscriptionTokenRepository`
326
+ * (unlike the API-key pool there is no `leaseLeastUsed` here — the least-loaded pick lives in
327
+ * `ProviderSubscriptionService`, which reads `listByVendor` then `markLeased`).
328
+ */
329
+ export class SqliteProviderSubscriptionTokenRepository {
330
+ db;
331
+ constructor(db) {
332
+ this.db = db;
333
+ }
334
+ async listByVendor(workspaceId, vendor) {
335
+ const rows = this.db
336
+ .prepare(`SELECT ${SUBSCRIPTION_TOKEN_COLUMNS} FROM provider_subscription_tokens
337
+ WHERE workspace_id = ? AND vendor = ? AND deleted_at IS NULL
338
+ ORDER BY created_at ASC`)
339
+ .all(workspaceId, vendor);
340
+ return rows.map(subscriptionTokenRowToRecord);
341
+ }
342
+ async getById(workspaceId, id) {
343
+ const row = this.db
344
+ .prepare(`SELECT ${SUBSCRIPTION_TOKEN_COLUMNS} FROM provider_subscription_tokens
345
+ WHERE id = ? AND workspace_id = ? AND deleted_at IS NULL
346
+ LIMIT 1`)
347
+ .get(id, workspaceId);
348
+ return row ? subscriptionTokenRowToRecord(row) : null;
349
+ }
350
+ async add(record) {
351
+ // Force `deleted_at` NULL on insert (matching the D1/Drizzle repos) — a tombstone is only
352
+ // ever set later by `softDelete`, never carried in at birth.
353
+ this.db
354
+ .prepare(`INSERT INTO provider_subscription_tokens
355
+ (${SUBSCRIPTION_TOKEN_COLUMNS})
356
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)`)
357
+ .run(record.id, record.workspaceId, record.vendor, record.label, record.tokenCipher, record.createdAt, record.lastUsedAt, record.windowStartedAt, record.inputTokens, record.outputTokens, record.requestCount);
358
+ }
359
+ async markLeased(workspaceId, id, at) {
360
+ this.db
361
+ .prepare('UPDATE provider_subscription_tokens SET last_used_at = ? WHERE id = ? AND workspace_id = ?')
362
+ .run(at, id, workspaceId);
363
+ }
364
+ async recordUsage(workspaceId, id, usage, at, windowMs) {
365
+ // One atomic statement (no read-modify-write), mirroring the Drizzle/D1 repos: keep the
366
+ // window's counters while it is still active, else reset it to `at` and start from this
367
+ // call. Named parameters so the repeated `:at`/`:windowMs` bind once and can't drift.
368
+ const active = '(window_started_at IS NOT NULL AND :at - window_started_at < :windowMs)';
369
+ this.db
370
+ .prepare(`UPDATE provider_subscription_tokens SET
371
+ window_started_at = CASE WHEN ${active} THEN window_started_at ELSE :at END,
372
+ input_tokens = CASE WHEN ${active} THEN input_tokens ELSE 0 END + :inTokens,
373
+ output_tokens = CASE WHEN ${active} THEN output_tokens ELSE 0 END + :outTokens,
374
+ request_count = CASE WHEN ${active} THEN request_count ELSE 0 END + 1
375
+ WHERE id = :id AND workspace_id = :workspaceId`)
376
+ .run({
377
+ at,
378
+ windowMs,
379
+ inTokens: usage.inputTokens,
380
+ outTokens: usage.outputTokens,
381
+ id,
382
+ workspaceId,
383
+ });
384
+ }
385
+ async softDelete(workspaceId, id, at) {
386
+ this.db
387
+ .prepare(`UPDATE provider_subscription_tokens SET deleted_at = ?
388
+ WHERE id = ? AND workspace_id = ? AND deleted_at IS NULL`)
389
+ .run(at, id, workspaceId);
390
+ }
391
+ }
392
+ function personalSubscriptionRowToRecord(row) {
393
+ return {
394
+ id: row.id,
395
+ userId: row.user_id,
396
+ vendor: row.vendor,
397
+ label: row.label,
398
+ tokenCipher: row.token_cipher,
399
+ expiresAt: row.expires_at,
400
+ createdAt: row.created_at,
401
+ updatedAt: row.updated_at,
402
+ lastUsedAt: row.last_used_at,
403
+ deletedAt: row.deleted_at,
404
+ };
405
+ }
406
+ const PERSONAL_SUBSCRIPTION_COLUMNS = 'id, user_id, vendor, label, token_cipher, expires_at, created_at, updated_at, ' +
407
+ 'last_used_at, deleted_at';
408
+ /**
409
+ * Per-user individual-usage subscriptions over `node:sqlite` — the local-sqlite mirror of
410
+ * `DrizzlePersonalSubscriptionRepository` / `D1PersonalSubscriptionRepository`. The stored
411
+ * `tokenCipher` is DOUBLE-encrypted (`system.encrypt(personal.seal(token, password))`) by
412
+ * `PersonalSubscriptionService`; this store only ever sees the opaque outer blob, so the
413
+ * password never touches the laptop's disk. `upsert` keeps one live row per (user, vendor).
414
+ */
415
+ export class SqlitePersonalSubscriptionRepository {
416
+ db;
417
+ constructor(db) {
418
+ this.db = db;
419
+ }
420
+ async getByUserVendor(userId, vendor) {
421
+ const row = this.db
422
+ .prepare(`SELECT ${PERSONAL_SUBSCRIPTION_COLUMNS} FROM personal_subscriptions
423
+ WHERE user_id = ? AND vendor = ? AND deleted_at IS NULL
424
+ LIMIT 1`)
425
+ .get(userId, vendor);
426
+ return row ? personalSubscriptionRowToRecord(row) : null;
427
+ }
428
+ async listByUser(userId) {
429
+ const rows = this.db
430
+ .prepare(`SELECT ${PERSONAL_SUBSCRIPTION_COLUMNS} FROM personal_subscriptions
431
+ WHERE user_id = ? AND deleted_at IS NULL
432
+ ORDER BY created_at ASC`)
433
+ .all(userId);
434
+ return rows.map(personalSubscriptionRowToRecord);
435
+ }
436
+ async upsert(record) {
437
+ // One live row per (user, vendor): tombstone any OTHER live row first, then upsert by id —
438
+ // exactly the D1/Drizzle two-statement sequence.
439
+ this.db
440
+ .prepare(`UPDATE personal_subscriptions SET deleted_at = ?
441
+ WHERE user_id = ? AND vendor = ? AND deleted_at IS NULL AND id != ?`)
442
+ .run(record.updatedAt, record.userId, record.vendor, record.id);
443
+ this.db
444
+ .prepare(`INSERT INTO personal_subscriptions (${PERSONAL_SUBSCRIPTION_COLUMNS})
445
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)
446
+ ON CONFLICT (id) DO UPDATE SET
447
+ label = excluded.label,
448
+ token_cipher = excluded.token_cipher,
449
+ expires_at = excluded.expires_at,
450
+ updated_at = excluded.updated_at,
451
+ deleted_at = NULL`)
452
+ .run(record.id, record.userId, record.vendor, record.label, record.tokenCipher, record.expiresAt, record.createdAt, record.updatedAt, record.lastUsedAt);
453
+ }
454
+ async markUsed(userId, vendor, at) {
455
+ this.db
456
+ .prepare(`UPDATE personal_subscriptions SET last_used_at = ?
457
+ WHERE user_id = ? AND vendor = ? AND deleted_at IS NULL`)
458
+ .run(at, userId, vendor);
459
+ }
460
+ async softDelete(userId, vendor, at) {
461
+ this.db
462
+ .prepare(`UPDATE personal_subscriptions SET deleted_at = ?
463
+ WHERE user_id = ? AND vendor = ? AND deleted_at IS NULL`)
464
+ .run(at, userId, vendor);
465
+ }
466
+ async listExpiring(now, before) {
467
+ const rows = this.db
468
+ .prepare(`SELECT ${PERSONAL_SUBSCRIPTION_COLUMNS} FROM personal_subscriptions
469
+ WHERE deleted_at IS NULL AND expires_at IS NOT NULL
470
+ AND expires_at >= ? AND expires_at <= ?
471
+ ORDER BY expires_at ASC`)
472
+ .all(now, before);
473
+ return rows.map(personalSubscriptionRowToRecord);
474
+ }
475
+ }
476
+ function subscriptionActivationRowToRecord(row) {
477
+ return {
478
+ id: row.id,
479
+ executionId: row.execution_id,
480
+ userId: row.user_id,
481
+ vendor: row.vendor,
482
+ tokenCipher: row.token_cipher,
483
+ createdAt: row.created_at,
484
+ expiresAt: row.expires_at,
485
+ };
486
+ }
487
+ const SUBSCRIPTION_ACTIVATION_COLUMNS = 'id, execution_id, user_id, vendor, token_cipher, created_at, expires_at';
488
+ /**
489
+ * Per-run personal-credential activations over `node:sqlite` — the local-sqlite mirror of
490
+ * `DrizzleSubscriptionActivationRepository` / `D1SubscriptionActivationRepository`. A row is a
491
+ * system-key-only re-encryption of the raw token scoped to one execution, minted when the user
492
+ * supplies their password at start/retry so the async local container steps of THAT run can use
493
+ * it without the user present; it is deleted when the run reaches a terminal state (and the TTL
494
+ * sweep is the backstop). Kept LOCAL because it is decrypted by the LOCAL container executor.
495
+ */
496
+ export class SqliteSubscriptionActivationRepository {
497
+ db;
498
+ constructor(db) {
499
+ this.db = db;
500
+ }
501
+ async get(executionId, userId, vendor, now) {
502
+ const row = this.db
503
+ .prepare(`SELECT ${SUBSCRIPTION_ACTIVATION_COLUMNS} FROM subscription_activations
504
+ WHERE execution_id = ? AND user_id = ? AND vendor = ? AND expires_at > ?
505
+ LIMIT 1`)
506
+ .get(executionId, userId, vendor, now);
507
+ return row ? subscriptionActivationRowToRecord(row) : null;
508
+ }
509
+ async upsert(record) {
510
+ this.db
511
+ .prepare(`INSERT INTO subscription_activations (${SUBSCRIPTION_ACTIVATION_COLUMNS})
512
+ VALUES (?, ?, ?, ?, ?, ?, ?)
513
+ ON CONFLICT (execution_id, user_id, vendor) DO UPDATE SET
514
+ token_cipher = excluded.token_cipher,
515
+ created_at = excluded.created_at,
516
+ expires_at = excluded.expires_at`)
517
+ .run(record.id, record.executionId, record.userId, record.vendor, record.tokenCipher, record.createdAt, record.expiresAt);
518
+ }
519
+ async refresh(executionId, userId, vendor, expiresAt) {
520
+ this.db
521
+ .prepare(`UPDATE subscription_activations SET expires_at = ?
522
+ WHERE execution_id = ? AND user_id = ? AND vendor = ?`)
523
+ .run(expiresAt, executionId, userId, vendor);
524
+ }
525
+ async deleteByExecution(executionId) {
526
+ this.db.prepare('DELETE FROM subscription_activations WHERE execution_id = ?').run(executionId);
527
+ }
528
+ async deleteExpired(now) {
529
+ const res = this.db
530
+ .prepare('DELETE FROM subscription_activations WHERE expires_at <= ?')
531
+ .run(now);
532
+ return Number(res.changes);
533
+ }
534
+ }
254
535
  /**
255
536
  * Open the local credential store at `path` (e.g. a file under the developer's config dir,
256
- * or `:memory:` in tests) and expose the two `local-sqlite` repositories over it.
537
+ * or `:memory:` in tests) and expose the `local-sqlite` credential repositories over it.
257
538
  *
258
539
  * This holds ONLY credentials, never org/durable state — that all lives on the mothership.
259
540
  * The secrets it stores are already sealed by the caller with the LOCAL key, so the
@@ -264,6 +545,9 @@ export function createLocalCredentialStore(path) {
264
545
  return {
265
546
  providerApiKeyRepository: new SqliteProviderApiKeyRepository(db),
266
547
  localModelEndpointRepository: new SqliteLocalModelEndpointRepository(db),
548
+ providerSubscriptionTokenRepository: new SqliteProviderSubscriptionTokenRepository(db),
549
+ personalSubscriptionRepository: new SqlitePersonalSubscriptionRepository(db),
550
+ subscriptionActivationRepository: new SqliteSubscriptionActivationRepository(db),
267
551
  close: () => db.close(),
268
552
  };
269
553
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credentialStore.js","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,8CAA8C;AAC9C,EAAE;AACF,yFAAyF;AACzF,2EAA2E;AAC3E,qFAAqF;AACrF,yFAAyF;AACzF,4FAA4F;AAC5F,4FAA4F;AAC5F,yEAAyE;AACzE,iGAAiG;AACjG,0CAA0C;AAC1C,EAAE;AACF,2FAA2F;AAC3F,2FAA2F;AAC3F,wFAAwF;AACxF,gGAAgG;AAChG,yFAAyF;AACzF,+FAA+F;AAC/F,EAAE;AACF,0FAA0F;AAC1F,8FAA8F;AAC9F,6FAA6F;AAC7F,qFAAqF;AAErF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Bd,CAAA;AAED,4FAA4F;AAC5F,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACnC,CAAC;AAsBD,SAAS,iBAAiB,CAAC,GAAc;IACvC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAoB;QAC/B,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,QAAQ,EAAE,GAAG,CAAC,QAA0B;QACxC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED,MAAM,eAAe,GACnB,8EAA8E;IAC9E,2EAA2E,CAAA;AAE7E,wFAAwF;AACxF,SAAS,UAAU,CAAC,MAAwB;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,OAAO,8BAA8B;IACZ,EAAE;IAA/B,YAA6B,EAAgB;kBAAhB,EAAE;IAAiB,CAAC;IAEjD,KAAK,CAAC,WAAW,CACf,KAAkB,EAClB,OAAe,EACf,QAAyB;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,UAAU,eAAe;;aAEpB,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;;iCAEd,CAC1B;aACA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAA2B,CAAA;QAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAwB,EACxB,QAAwB;QAExB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,UAAU,eAAe;iBAChB,KAAK,CAAC,GAAG;iCACO,CAC1B;aACA,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAA2B,CAAA;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAwB;QACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;iBACS,KAAK,CAAC,GAAG,yBAAyB,CAC5C;aACA,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAsC,CAAA;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAA0B,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAkB,EAClB,OAAe,EACf,EAAU;QAEV,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,UAAU,eAAe;;iBAEhB,CACV;aACA,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAqC,CAAA;QAC9D,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAA4B;QACpC,2FAA2F;QAC3F,4FAA4F;QAC5F,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;cACM,eAAe;2DAC8B,CACpD;aACA,GAAG,CACF,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,CACpB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,EAAU;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAwB,EACxB,QAAwB,EACxB,GAAW,EACX,QAAgB;QAEhB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAChC,0EAA0E;QAC1E,wFAAwF;QACxF,qFAAqF;QACrF,wDAAwD;QACxD,MAAM,KAAK,GAAG;qEACmD,CAAA;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;iBACS,KAAK,CAAC,GAAG;qBACL,KAAK;iBACT,CACV;aACA,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAA+B,CAAA;QAC9E,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAA;QACrB,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,UAAU,eAAe,sCAAsC,CAAC;aACxE,GAAG,CAAC,EAAE,CAAqC,CAAA;QAC9C,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,EAAU,EACV,KAAoD,EACpD,EAAU,EACV,QAAgB;QAEhB,wFAAwF;QACxF,uFAAuF;QACvF,sFAAsF;QACtF,MAAM,MAAM,GAAG,yEAAyE,CAAA;QACxF,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;2CACmC,MAAM;sCACX,MAAM;uCACL,MAAM;uCACN,MAAM;wBACrB,CACjB;aACA,GAAG,CAAC;YACH,EAAE;YACF,QAAQ;YACR,QAAQ,EAAE,KAAK,CAAC,WAAW;YAC3B,SAAS,EAAE,KAAK,CAAC,YAAY;YAC7B,EAAE;SACH,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAkB,EAAE,OAAe,EAAE,EAAU,EAAE,EAAU;QAC1E,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;4EACoE,CACrE;aACA,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAiBD,SAAS,mBAAmB,CAAC,GAAqB;IAChD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,QAAQ,EAAE,GAAG,CAAC,QAAuB;QACrC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,YAAY,EAAE,GAAG,CAAC,cAAc;QAChC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;QAC/B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GACpB,oFAAoF,CAAA;AAEtF,MAAM,OAAO,kCAAkC;IAChB,EAAE;IAA/B,YAA6B,EAAgB;kBAAhB,EAAE;IAAiB,CAAC;IAEjD,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,UAAU,gBAAgB;mDACiB,CAC5C;aACA,GAAG,CAAC,MAAM,CAAkC,CAAA;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,QAAqB;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,UAAU,gBAAgB;oDACkB,CAC7C;aACA,GAAG,CAAC,MAAM,EAAE,QAAQ,CAA4C,CAAA;QACnE,OAAO,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAgC;QAC3C,uFAAuF;QACvF,kDAAkD;QAClD,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,sCAAsC,gBAAgB;;;;;;;4CAOlB,CACrC;aACA,GAAG,CACF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAAqB;QAChD,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,sEAAsE,CAAC;aAC/E,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC1B,CAAC;CACF;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IACtC,OAAO;QACL,wBAAwB,EAAE,IAAI,8BAA8B,CAAC,EAAE,CAAC;QAChE,4BAA4B,EAAE,IAAI,kCAAkC,CAAC,EAAE,CAAC;QACxE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE;KACxB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"credentialStore.js","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ import type { LocalSettingsRecord, LocalSettingsRepository } from '@cat-factory/kernel';
3
+ /** Open (creating if absent) the local-settings SQLite database and ensure its schema. */
4
+ export declare function openLocalSettingsDb(path: string): DatabaseSync;
5
+ /**
6
+ * The local-mode operational settings singleton over `node:sqlite` — the local-sqlite mirror of
7
+ * `DrizzleLocalSettingsRepository` (one row, fixed id, createdAt-preserving upsert).
8
+ */
9
+ export declare class SqliteLocalSettingsRepository implements LocalSettingsRepository {
10
+ private readonly db;
11
+ constructor(db: DatabaseSync);
12
+ get(): Promise<LocalSettingsRecord | null>;
13
+ upsert(record: LocalSettingsRecord): Promise<void>;
14
+ }
15
+ /** The local-sqlite settings repository plus a handle to close the underlying db. */
16
+ export interface LocalSettingsStore {
17
+ localSettingsRepository: LocalSettingsRepository;
18
+ close(): void;
19
+ }
20
+ /**
21
+ * Open the local-settings store at `path` (a file under the developer's config dir, or
22
+ * `:memory:` in tests). Holds ONLY the non-secret local-mode operational config, never org state.
23
+ */
24
+ export declare function createLocalSettingsStore(path: string): LocalSettingsStore;
25
+ //# sourceMappingURL=localSettingsStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localSettingsStore.d.ts","sourceRoot":"","sources":["../../src/sqlite/localSettingsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAqCvF,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED;;;GAGG;AACH,qBAAa,6BAA8B,YAAW,uBAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,YAAY,EAAI;IAE3C,GAAG,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAM/C;IAEK,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvD;CACF;AAED,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAMzE"}
@@ -0,0 +1,69 @@
1
+ import { openSqliteDb } from './db.js';
2
+ // The mothership-mode LOCAL settings store.
3
+ //
4
+ // The local-mode operational settings (warm-pool sizing + per-repo checkout reuse for the local
5
+ // container runner) are a per-DEPLOYMENT singleton — one developer's machine, so exactly one row.
6
+ // In the standard siloed-Postgres local mode they live in the `local_settings` Postgres table
7
+ // (`DrizzleLocalSettingsRepository`); in mothership mode there is no local Postgres, but they are
8
+ // NOT org state either — they configure the local Docker runner, which is the local facade's own
9
+ // differentiator — so they belong on the laptop, NOT the mothership. This module is their
10
+ // no-Postgres home: a file-based `node:sqlite` singleton mirroring the Drizzle repo's behaviour
11
+ // (one row, addressed by a fixed key; a missing row means "all defaults"). Non-secret config, so
12
+ // unlike the credential store it seals nothing.
13
+ //
14
+ // Kept in its own store (not the credential store) so that store's "ONLY credentials" invariant
15
+ // holds — this is operational config, not a credential. `DatabaseSync` is synchronous, so the
16
+ // port's async methods execute synchronously here.
17
+ /** The fixed key for the local-mode settings singleton row (one developer's machine). */
18
+ const LOCAL_SETTINGS_ID = 'local';
19
+ const SCHEMA = `
20
+ CREATE TABLE IF NOT EXISTS local_settings (
21
+ id TEXT PRIMARY KEY,
22
+ config TEXT NOT NULL,
23
+ created_at INTEGER NOT NULL,
24
+ updated_at INTEGER NOT NULL
25
+ );
26
+ `;
27
+ /** Open (creating if absent) the local-settings SQLite database and ensure its schema. */
28
+ export function openLocalSettingsDb(path) {
29
+ return openSqliteDb(path, SCHEMA);
30
+ }
31
+ /**
32
+ * The local-mode operational settings singleton over `node:sqlite` — the local-sqlite mirror of
33
+ * `DrizzleLocalSettingsRepository` (one row, fixed id, createdAt-preserving upsert).
34
+ */
35
+ export class SqliteLocalSettingsRepository {
36
+ db;
37
+ constructor(db) {
38
+ this.db = db;
39
+ }
40
+ async get() {
41
+ const row = this.db
42
+ .prepare('SELECT config, created_at, updated_at FROM local_settings WHERE id = ?')
43
+ .get(LOCAL_SETTINGS_ID);
44
+ if (!row)
45
+ return null;
46
+ return { config: row.config, createdAt: row.created_at, updatedAt: row.updated_at };
47
+ }
48
+ async upsert(record) {
49
+ // Preserve the original `created_at` on conflict (only `config`/`updated_at` change), exactly
50
+ // like the Drizzle repo.
51
+ this.db
52
+ .prepare(`INSERT INTO local_settings (id, config, created_at, updated_at)
53
+ VALUES (?, ?, ?, ?)
54
+ ON CONFLICT (id) DO UPDATE SET config = excluded.config, updated_at = excluded.updated_at`)
55
+ .run(LOCAL_SETTINGS_ID, record.config, record.createdAt, record.updatedAt);
56
+ }
57
+ }
58
+ /**
59
+ * Open the local-settings store at `path` (a file under the developer's config dir, or
60
+ * `:memory:` in tests). Holds ONLY the non-secret local-mode operational config, never org state.
61
+ */
62
+ export function createLocalSettingsStore(path) {
63
+ const db = openLocalSettingsDb(path);
64
+ return {
65
+ localSettingsRepository: new SqliteLocalSettingsRepository(db),
66
+ close: () => db.close(),
67
+ };
68
+ }
69
+ //# sourceMappingURL=localSettingsStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localSettingsStore.js","sourceRoot":"","sources":["../../src/sqlite/localSettingsStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,4CAA4C;AAC5C,EAAE;AACF,gGAAgG;AAChG,kGAAkG;AAClG,8FAA8F;AAC9F,kGAAkG;AAClG,iGAAiG;AACjG,0FAA0F;AAC1F,gGAAgG;AAChG,iGAAiG;AACjG,gDAAgD;AAChD,EAAE;AACF,gGAAgG;AAChG,8FAA8F;AAC9F,mDAAmD;AAEnD,yFAAyF;AACzF,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAEjC,MAAM,MAAM,GAAG;;;;;;;CAOd,CAAA;AAQD,0FAA0F;AAC1F,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IACX,EAAE;IAA/B,YAA6B,EAAgB;kBAAhB,EAAE;IAAiB,CAAC;IAEjD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,wEAAwE,CAAC;aACjF,GAAG,CAAC,iBAAiB,CAA4C,CAAA;QACpE,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAA;IACrF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,8FAA8F;QAC9F,yBAAyB;QACzB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;mGAE2F,CAC5F;aACA,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;CACF;AAQD;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO;QACL,uBAAuB,EAAE,IAAI,6BAA6B,CAAC,EAAE,CAAC;QAC9D,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE;KACxB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/local-server",
3
- "version": "0.55.2",
3
+ "version": "0.55.3",
4
4
  "description": "Local-mode runtime facade for the Agent Architecture Board: the @cat-factory/node-server stack with agent jobs run as local Docker/Podman containers and GitHub accessed via a personal access token — a developer can run the whole product on their own machine.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,22 +26,22 @@
26
26
  "dependencies": {
27
27
  "@hono/node-server": "^2.0.8",
28
28
  "drizzle-orm": "1.0.0-rc.4",
29
- "@cat-factory/agents": "0.40.5",
30
- "@cat-factory/contracts": "0.110.1",
29
+ "@cat-factory/agents": "0.40.6",
30
+ "@cat-factory/contracts": "0.111.0",
31
31
  "@cat-factory/executor-harness": "1.35.0",
32
- "@cat-factory/gitlab": "0.7.19",
33
- "@cat-factory/integrations": "0.73.6",
34
- "@cat-factory/kernel": "0.101.1",
35
- "@cat-factory/node-server": "0.82.2",
36
- "@cat-factory/orchestration": "0.83.2",
37
- "@cat-factory/server": "0.94.2"
32
+ "@cat-factory/gitlab": "0.7.20",
33
+ "@cat-factory/kernel": "0.101.2",
34
+ "@cat-factory/node-server": "0.83.0",
35
+ "@cat-factory/orchestration": "0.84.0",
36
+ "@cat-factory/server": "0.94.3",
37
+ "@cat-factory/integrations": "0.74.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^26.1.0",
41
41
  "typescript": "7.0.1-rc",
42
42
  "vitest": "^4.1.9",
43
- "@cat-factory/conformance": "0.10.40",
44
- "@cat-factory/gates": "0.4.16"
43
+ "@cat-factory/conformance": "0.10.41",
44
+ "@cat-factory/gates": "0.4.17"
45
45
  },
46
46
  "scripts": {
47
47
  "build": "tsc -b tsconfig.build.json",