@cat-factory/local-server 0.55.1 → 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.
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +19 -5
- package/dist/container.js.map +1 -1
- package/dist/mothership.d.ts +14 -1
- package/dist/mothership.d.ts.map +1 -1
- package/dist/mothership.js +4 -0
- package/dist/mothership.js.map +1 -1
- package/dist/sqlite/credentialStore.d.ts +58 -2
- package/dist/sqlite/credentialStore.d.ts.map +1 -1
- package/dist/sqlite/credentialStore.js +294 -10
- package/dist/sqlite/credentialStore.js.map +1 -1
- package/dist/sqlite/localSettingsStore.d.ts +25 -0
- package/dist/sqlite/localSettingsStore.d.ts.map +1 -0
- package/dist/sqlite/localSettingsStore.js +69 -0
- package/dist/sqlite/localSettingsStore.js.map +1 -0
- package/package.json +11 -11
package/dist/container.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
|
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
|
|
426
|
-
//
|
|
427
|
-
//
|
|
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
|
package/dist/container.js.map
CHANGED
|
@@ -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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"}
|
package/dist/mothership.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
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
|
/**
|
package/dist/mothership.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,6BAA6B,CAAA;AACnG,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAA;AAUxE,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEhE;AAqBD,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,KAAK,EAAE,gBAAgB,CAAA;IACvB
|
|
1
|
+
{"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,6BAA6B,CAAA;AACnG,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,gCAAgC,CAAA;AAClG,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAA;AAUxE,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEhE;AAqBD,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,KAAK,EAAE,gBAAgB,CAAA;IACvB;;;;;;OAMG;IACH,eAAe,EAAE,oBAAoB,CAAA;IACrC;;;;OAIG;IACH,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,2FAA2F;IAC3F,SAAS,EAAE,eAAe,CAAA;IAC1B;;;;OAIG;IACH,iBAAiB,EAAE,sBAAsB,CAAA;IACzC,gEAAgE;IAChE,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,qBAAqB,CAkC/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB,GAAG,mBAAmB,CA8DtB;AAED,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5D,oGAAoG;AACpG,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,KAAK,EAAE,WAAW,CAAA;IAClB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;IACtB,iGAAiG;IACjG,eAAe,EAAE,MAAM,CAAA;IACvB,4FAA4F;IAC5F,WAAW,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IAQ/C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAVtB,OAAO,CAAC,IAAI,CAAC,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,UAAU,CAAC,CAAgC;IACnD,OAAO,CAAC,OAAO,CAAQ;IAEvB,YACmB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,uBAAuB,EAC7B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,MAAiB,EAC3C;IAEJ;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAyBjE;IAED,sGAAsG;IACtG,IAAI,IAAI,IAAI,CAIX;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;IAEK,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/B;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAI;IASZ,sGAAsG;IACtG,OAAO,CAAC,KAAK;YAmBC,YAAY;IAyC1B,gGAAgG;IAChG,OAAO,CAAC,YAAY;IAKpB;;;;;;OAMG;YACW,WAAW;IAyBzB;;;;;;;;OAQG;YACW,gBAAgB;CAuB/B"}
|
package/dist/mothership.js
CHANGED
|
@@ -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
|
},
|
package/dist/mothership.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAA2C,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EACL,wBAAwB,EAGxB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAA6B,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACnG,OAAO,EAEL,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAExE,sFAAsF;AACtF,8FAA8F;AAC9F,yFAAyF;AACzF,4FAA4F;AAC5F,8FAA8F;AAC9F,yFAAyF;AACzF,uFAAuF;AAEvF,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,OAAO,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAA;AAC3C,CAAC;AAED,qGAAqG;AACrG,SAAS,gBAAgB,CAAC,KAA6B;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3B,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,QAA4B,EAAE,QAAgB;IACjE,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAA;IAC3C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAA2C,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EACL,wBAAwB,EAGxB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAA6B,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACnG,OAAO,EAA2B,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAClG,OAAO,EAEL,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAExE,sFAAsF;AACtF,8FAA8F;AAC9F,yFAAyF;AACzF,4FAA4F;AAC5F,8FAA8F;AAC9F,yFAAyF;AACzF,uFAAuF;AAEvF,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,OAAO,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAA;AAC3C,CAAC;AAED,qGAAqG;AACrG,SAAS,gBAAgB,CAAC,KAA6B;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3B,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,QAA4B,EAAE,QAAgB;IACjE,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAA;IAC3C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAyCD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAA;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,iBAAiB,GAAG,4BAA4B,CACpD,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CACnE,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC;QAC1C,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,gBAAgB,CAAC,iBAAiB,CAAC;KAC7D,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,8BAA8B,CAAC,MAAM,CAAgC,CAAA;IACnF,MAAM,eAAe,GAAG,0BAA0B,CAChD,WAAW,CAAC,GAAG,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CACtE,CAAA;IACD,MAAM,kBAAkB,GAAG,wBAAwB,CACjD,WAAW,CAAC,GAAG,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,CACvE,CAAA;IACD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IACjG,OAAO;QACL,KAAK;QACL,eAAe;QACf,kBAAkB;QAClB,SAAS;QACT,iBAAiB;QACjB,KAAK,EAAE,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAA;YACvB,kBAAkB,CAAC,KAAK,EAAE,CAAA;YAC1B,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,iBAAiB,CAAC,KAAK,EAAE,CAAA;QAC3B,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAIzC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/C,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,OAAO;YACnB,IAAI,GAAa,CAAA;YACjB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,OAAO,qBAAqB,EAAE;oBACrD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,EAAE;oBACnF,qFAAqF;oBACrF,iFAAiF;oBACjF,IAAI,EAAE,IAAI;iBACX,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC/F,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAcxC,CAAA;YACR,IACE,CAAC,GAAG,CAAC,EAAE;gBACP,CAAC,IAAI,EAAE,KAAK;gBACZ,CAAC,IAAI,CAAC,MAAM;gBACZ,CAAC,IAAI,CAAC,MAAM;gBACZ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC/B,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAC5B,CAAC,IAAI,CAAC,IAAI,EACV,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG;oBACzB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,qCAAqC;iBACvE,CAAA;YACH,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAA;YACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAClF,CAAC;KACF,CAAA;AACH,CAAC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,gBAAgB;IAQR,KAAK;IACL,IAAI;IACJ,GAAG;IACH,GAAG;IAVd,IAAI,CAAmB;IACvB,SAAS,CAAqB;IACrB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,UAAU,CAAiC;IAC3C,OAAO,GAAG,KAAK,CAAA;IAEvB,YACmB,KAAsB,EACtB,IAA6B,EAC7B,GAAW,EACX,GAAG,GAAiB,IAAI,CAAC,GAAG;qBAH5B,KAAK;oBACL,IAAI;mBACJ,GAAG;mBACH,GAAG;IACnB,CAAC;IAEJ;;;;;;;OAOG;IACH,IAAI,CAAC,IAAsB,EAAE,SAA8B;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,+FAA+F;QAC/F,gEAAgE;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;QACzC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,EAAE,OAAO,EAAE,EACX,oEAAoE,CACrE,CAAA;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,8FAA8F;QAC9F,qFAAqF;QACrF,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC5B,gGAAgG;QAChG,yFAAyF;QACzF,qFAAqF;QACrF,IAAI,IAAI,CAAC,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC9B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAA;IAC3B,CAAC;IAED,sGAAsG;IACtG,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,IAAI,CAAC,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,WAAmB;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,WAAmB;QAC3D,8FAA8F;QAC9F,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,0FAA0F;QAC1F,8FAA8F;IAChG,CAAC;IAED;;;;;;OAMG;IACK,IAAI,CAAC,WAAmB,EAAE,WAAmB;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,sGAAsG;IAC9F,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACtC,6FAA6F;QAC7F,gGAAgG;QAChG,4CAA4C;QAC5C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAC7C,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,IAAI,CAAC,WAAW,EACrB,IAAI,CAAC,OAAO,CACb,EAAE,CAAC;YACF,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACzE,IAAI,CAAC,GAAG;gBAAE,MAAK;YACf,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,WAAmB;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACpF,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAA;YACF,0FAA0F;YAC1F,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,0FAA0F;gBAC1F,yFAAyF;gBACzF,qFAAqF;gBACrF,2FAA2F;gBAC3F,yFAAyF;gBACzF,8CAA8C;gBAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAC5F,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC1D,CAAC;iBAAM,CAAC;gBACN,2FAA2F;gBAC3F,+EAA+E;gBAC/E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACnF,+CAA+C,CAChD,CAAA;YACD,6FAA6F;YAC7F,yFAAyF;YACzF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC7C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAClC,CAAC;QACD,8FAA8F;QAC9F,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,gGAAgG;IACxF,YAAY,CAAC,OAAe;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAClE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACjB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,WAAW,CACvB,WAAmB,EACnB,WAAmB,EACnB,QAAgB;QAEhB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,EACtC,mEAAmE,CACpE,CAAA;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,CACtB,WAAW,EACX,WAAW,EACX,2BAA2B,QAAQ,6BAA6B,EAChE,SAAS,EACT,IAAI,CACL,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACnF,6DAA6D,CAC9D,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QAC3C,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5E,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;oBAAE,SAAQ;gBACtC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAQ;gBACtC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;oBAAE,SAAS,EAAE,CAAA;YAClF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gFAAgF;YAChF,OAAM;QACR,CAAC;QACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,EAAE,SAAS,EAAE,EACb,oFAAoF,CACrF,CAAA;YACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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
|
|
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,
|
|
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
|
|
11
|
-
// `providerApiKeyRepository` (the direct-vendor API-key pool)
|
|
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 `
|
|
15
|
-
//
|
|
16
|
-
// crypto-agnostic. The schema mirrors the Drizzle/D1
|
|
17
|
-
//
|
|
18
|
-
// behaviour exactly (usage-window rotation, lease-least-used ordering,
|
|
19
|
-
//
|
|
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
|
|
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.
|
|
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.
|
|
30
|
-
"@cat-factory/contracts": "0.
|
|
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.
|
|
33
|
-
"@cat-factory/kernel": "0.101.
|
|
34
|
-
"@cat-factory/node-server": "0.
|
|
35
|
-
"@cat-factory/
|
|
36
|
-
"@cat-factory/
|
|
37
|
-
"@cat-factory/
|
|
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.
|
|
44
|
-
"@cat-factory/gates": "0.4.
|
|
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",
|