@cat-factory/local-server 0.33.3 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAUpE,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAO7F,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,qBAAqB,CAAA;AAmD5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CA8dlF;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAc3E"}
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;AAwE5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAoelF;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAc3E"}
package/dist/container.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { CryptoIdGenerator, DrizzleEnvironmentUserHandlerRepository, DrizzleGitHubInstallationRepository, DrizzleLocalSettingsRepository, DrizzleRunnerPoolConnectionRepository, ProvisioningLogRecorder, SystemClock, buildNodeContainer, buildNodeResolveTransport, createDrizzleRepositories, executionRuntime, loadNodeConfig, withProvisioningLog, } from '@cat-factory/node-server';
2
- import { SqliteWorkRunner, composeMothership, isMothershipMode, } from './mothership.js';
2
+ import { SqliteWorkRunner, composeMothership, createMothershipConnector, isMothershipMode, } from './mothership.js';
3
3
  import { ConflictError } from '@cat-factory/kernel';
4
4
  import { WorkspaceSettingsService } from '@cat-factory/orchestration';
5
5
  import { buildInfrastructureCapabilities, logger, RunnerJobClient } from '@cat-factory/server';
@@ -36,14 +36,35 @@ import { createDockerComposeRuntime } from './compose.js';
36
36
  // repo with the link helper). So a developer can run coder/mocker/playwright/
37
37
  // blueprints/ci-fixer/merger jobs entirely locally, pushing real branches and opening
38
38
  // real PRs on github.com via the PAT.
39
+ /**
40
+ * Resolve the local facade's persistence backing in one place: mothership mode (remote RPC org
41
+ * repos + local `node:sqlite` credentials/work-queue, `db` left undefined) vs the standard
42
+ * siloed-Postgres local mode (Drizzle repos over the local db). `repos` prefers an explicitly
43
+ * injected set (the conformance harness), then the mothership composite, then Drizzle over `db`.
44
+ * The `mothership` composition (when present) also carries the credential store + work queue the
45
+ * caller threads into `buildNodeContainer`.
46
+ */
47
+ function resolveLocalPersistence(options, env, clock) {
48
+ const mothership = isMothershipMode(env) && !options.db ? composeMothership(env) : undefined;
49
+ const repos = options.repos ??
50
+ mothership?.repos ??
51
+ createDrizzleRepositories(options.db, clock);
52
+ return { mothership, repos };
53
+ }
39
54
  export function buildLocalContainer(options) {
40
55
  const env = applyLocalDefaults(options.env ?? process.env);
41
- // Mothership mode (docs/initiatives/mothership-mode.md): no local Postgres. Org/durable
42
- // state is served remotely (RPC) and credentials stay local (node:sqlite). When on, we
43
- // build the composite repositories + credential store here and thread them through the
44
- // existing NodeContainer seams with `db` left undefined; the in-process work runner replaces
45
- // pg-boss. Off the standard siloed-Postgres local mode is unchanged.
46
- const mothership = isMothershipMode(env) && !options.db ? composeMothership(env) : undefined;
56
+ // One shared clock/idGenerator, reused by the per-workspace transport chooser below AND
57
+ // threaded into `buildNodeContainer` (which would otherwise build its own) so the chooser
58
+ // reads the same workspace settings the rest of the engine does. Created up front because the
59
+ // mothership-vs-Postgres persistence decision (which needs the clock) is resolved next.
60
+ const clock = new SystemClock();
61
+ const idGenerator = new CryptoIdGenerator();
62
+ // Mothership mode (docs/initiatives/mothership-mode.md): no local Postgres. Org/durable state
63
+ // is served remotely (RPC) and credentials stay local (node:sqlite); `repos` is then the
64
+ // remote (RPC-backed) composite, threaded through the existing NodeContainer seams with `db`
65
+ // left undefined, and the in-process work runner replaces pg-boss. Off → the standard
66
+ // siloed-Postgres local mode is unchanged (`repos` is the Drizzle set over the local Postgres).
67
+ const { mothership, repos } = resolveLocalPersistence(options, env, clock);
47
68
  const pat = env.GITHUB_PAT?.trim();
48
69
  const gitlabPat = env.GITLAB_PAT?.trim();
49
70
  // The push/clone token and the VCS client are provider-agnostic. Prefer a GitHub PAT, else
@@ -99,8 +120,9 @@ export function buildLocalContainer(options) {
99
120
  localMode: {
100
121
  enabled: true,
101
122
  // Surfaced to the SPA so it can label what is stored locally (credentials) vs delegated
102
- // to the mothership (org/durable state). Off the standard siloed-Postgres local mode.
103
- ...(mothership ? { mothership: true } : {}),
123
+ // to the mothership (org/durable state), and (in mothership mode) where to send the user
124
+ // to sign in. Off the standard siloed-Postgres local mode.
125
+ ...(mothership ? { mothership: true, mothershipUrl: env.LOCAL_MOTHERSHIP_URL?.trim() } : {}),
104
126
  ...(gitToken ? {} : { githubPatSetupUrl: githubPatCreationUrl() }),
105
127
  // Scopes-preselected "create a PAT" deep links so the "no token configured" notice sends
106
128
  // the developer straight to the right token page (scopes differ per provider).
@@ -120,16 +142,6 @@ export function buildLocalContainer(options) {
120
142
  const githubInstallationRepository = gitToken && options.db
121
143
  ? new AutoProvisioningInstallationRepository(new DrizzleGitHubInstallationRepository(options.db), resolveAccount)
122
144
  : undefined;
123
- // One shared persistence set + clock/idGenerator, reused by the per-workspace transport
124
- // chooser below AND threaded into `buildNodeContainer` (which would otherwise build its
125
- // own) so the chooser reads the same workspace settings the rest of the engine does.
126
- const clock = new SystemClock();
127
- const idGenerator = new CryptoIdGenerator();
128
- // In mothership mode the repository set is the remote (RPC-backed) composite; otherwise the
129
- // Drizzle set over the local Postgres. The credential repos are injected separately below.
130
- const repos = options.repos ??
131
- mothership?.repos ??
132
- createDrizzleRepositories(options.db, clock);
133
145
  const wsSettings = new WorkspaceSettingsService({
134
146
  workspaceSettingsRepository: repos.workspaceSettingsRepository,
135
147
  workspaceRepository: repos.workspaceRepository,
@@ -451,6 +463,17 @@ export function buildLocalContainer(options) {
451
463
  ...container,
452
464
  vcsIdentity,
453
465
  ...(localSettingsService ? { localSettings: { service: localSettingsService } } : {}),
466
+ // Mothership-mode login seam (local facade only): the SPA hands the node a mothership session
467
+ // via `POST /local/mothership/connect`, which forwards it to the mothership's mint endpoint and
468
+ // caches the returned machine token. Absent (503) outside mothership mode.
469
+ ...(mothership && env.LOCAL_MOTHERSHIP_URL?.trim()
470
+ ? {
471
+ mothershipConnect: createMothershipConnector({
472
+ baseUrl: env.LOCAL_MOTHERSHIP_URL.trim(),
473
+ store: mothership.machineTokenStore,
474
+ }),
475
+ }
476
+ : {}),
454
477
  // On shutdown (mothership mode; the boot path calls this from its SIGTERM/SIGINT handler):
455
478
  // stop the work runner's recovery poll FIRST so it can't touch the queue mid-close, then
456
479
  // release both local SQLite handles (credentials + work queue). No-op otherwise.
@@ -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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"}
@@ -1,7 +1,8 @@
1
1
  import { type CoreRepositories, type DriveConfig, driveExecution } from '@cat-factory/node-server';
2
- import { type Logger } from '@cat-factory/server';
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 LocalMachineTokenStore } from './sqlite/machineTokenStore.js';
5
6
  import { SqliteWorkQueue } from './sqlite/workQueue.js';
6
7
  /** True when this local node should boot in mothership mode (a mothership URL is configured). */
7
8
  export declare function isMothershipMode(env: NodeJS.ProcessEnv): boolean;
@@ -22,6 +23,12 @@ export interface MothershipComposition {
22
23
  credentialStore: LocalCredentialStore;
23
24
  /** The durable local-sqlite execution work queue (the no-pg-boss durability substrate). */
24
25
  workQueue: SqliteWorkQueue;
26
+ /**
27
+ * The local-sqlite cache of the mothership-minted machine token. The `/local/mothership/connect`
28
+ * login flow writes it; the RPC client's token provider reads it per request (below). Kept
29
+ * separate from the RPC client so the connect controller can update it live (no restart).
30
+ */
31
+ machineTokenStore: LocalMachineTokenStore;
25
32
  /** Close the underlying SQLite databases (call on shutdown). */
26
33
  close(): void;
27
34
  }
@@ -32,10 +39,30 @@ export interface MothershipComposition {
32
39
  * repositories as `options.providerApiKeyRepository` / `options.localModelEndpointRepository`,
33
40
  * with `options.db` left undefined.
34
41
  *
35
- * Throws when `LOCAL_MOTHERSHIP_TOKEN` is missing a mothership URL with no machine token
36
- * cannot authenticate a single call, so fail fast at boot rather than 403 on first read.
42
+ * The machine token is resolved PER RPC via a token provider, precedence:
43
+ * 1. `LOCAL_MOTHERSHIP_TOKEN` env (a headless/CI override no login flow), else
44
+ * 2. the local-sqlite cache written by the `/local/mothership/connect` login flow (if unexpired),
45
+ * else
46
+ * 3. `null` — every call comes back 403 and the node boots "not connected", so the SPA can drive
47
+ * the login. Booting inert (rather than throwing on a missing token) is what makes the
48
+ * SPA-driven login possible: the node must be up to serve the SPA that mints the token.
37
49
  */
38
50
  export declare function composeMothership(env: NodeJS.ProcessEnv): MothershipComposition;
51
+ /**
52
+ * Build the local-mode mothership login connector: exchange a mothership SESSION token (captured
53
+ * by the SPA from the OAuth redirect fragment) for a machine token via `POST /auth/machine-token`,
54
+ * cache the OPAQUE result in the local store, and report the resulting scope. The mothership
55
+ * assigns the node id on each connect: the forwarded session is opaque here, so the node can't
56
+ * tell WHICH user is connecting, and reusing the previously-cached id would mint a different
57
+ * user's token under the last user's node id (conflating identity for future revocation). The
58
+ * mothership verifies the session (its own secret) — the node never verifies the returned token,
59
+ * it only presents it — so a session the mothership won't mint for yields a clean failure.
60
+ */
61
+ export declare function createMothershipConnector(opts: {
62
+ baseUrl: string;
63
+ store: LocalMachineTokenStore;
64
+ fetchImpl?: typeof fetch;
65
+ }): MothershipConnector;
39
66
  type ExecutionService = Parameters<typeof driveExecution>[0];
40
67
  /** Timing + sizing knobs for the durable work runner, derived from the execution runtime config. */
41
68
  export interface SqliteWorkRunnerOptions {
@@ -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,EAEZ,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,eAAe,EAAmB,MAAM,uBAAuB,CAAA;AAUxE,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEhE;AAyBD,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,KAAK,EAAE,gBAAgB,CAAA;IACvB,yFAAyF;IACzF,eAAe,EAAE,oBAAoB,CAAA;IACrC,2FAA2F;IAC3F,SAAS,EAAE,eAAe,CAAA;IAC1B,gEAAgE;IAChE,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,qBAAqB,CA0B/E;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"}
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 { createLocalMachineTokenStore, } from './sqlite/machineTokenStore.js';
7
8
  import { SqliteWorkQueue, createWorkQueue } from './sqlite/workQueue.js';
8
9
  // Mothership mode (docs/initiatives/mothership-mode.md): the local node keeps NO main
9
10
  // database. Org/durable state lives on a hosted "mothership" cat-factory (Node or Cloudflare)
@@ -16,13 +17,10 @@ import { SqliteWorkQueue, createWorkQueue } from './sqlite/workQueue.js';
16
17
  export function isMothershipMode(env) {
17
18
  return !!env.LOCAL_MOTHERSHIP_URL?.trim();
18
19
  }
19
- /** Resolve the on-disk path for the local credential SQLite store (`:memory:` honoured for tests). */
20
- function credentialDbPath(env) {
21
- return localDbPath(env.LOCAL_MOTHERSHIP_CREDENTIAL_DB, 'credentials.sqlite');
22
- }
23
- /** Resolve the on-disk path for the durable execution work queue (`:memory:` honoured for tests). */
24
- function workQueueDbPath(env) {
25
- return localDbPath(env.LOCAL_MOTHERSHIP_WORK_DB, 'work-queue.sqlite');
20
+ /** The cached machine token if present AND unexpired, else null (an expired token is "no token"). */
21
+ function validCachedToken(store) {
22
+ const cached = store.read();
23
+ return cached && cached.exp > Date.now() ? cached.token : null;
26
24
  }
27
25
  /**
28
26
  * Resolve a local SQLite file path: an explicit override wins (incl. `:memory:` for tests), else a
@@ -44,31 +42,95 @@ function localDbPath(explicit, fileName) {
44
42
  * repositories as `options.providerApiKeyRepository` / `options.localModelEndpointRepository`,
45
43
  * with `options.db` left undefined.
46
44
  *
47
- * Throws when `LOCAL_MOTHERSHIP_TOKEN` is missing a mothership URL with no machine token
48
- * cannot authenticate a single call, so fail fast at boot rather than 403 on first read.
45
+ * The machine token is resolved PER RPC via a token provider, precedence:
46
+ * 1. `LOCAL_MOTHERSHIP_TOKEN` env (a headless/CI override no login flow), else
47
+ * 2. the local-sqlite cache written by the `/local/mothership/connect` login flow (if unexpired),
48
+ * else
49
+ * 3. `null` — every call comes back 403 and the node boots "not connected", so the SPA can drive
50
+ * the login. Booting inert (rather than throwing on a missing token) is what makes the
51
+ * SPA-driven login possible: the node must be up to serve the SPA that mints the token.
49
52
  */
50
53
  export function composeMothership(env) {
51
54
  const baseUrl = env.LOCAL_MOTHERSHIP_URL?.trim();
52
55
  if (!baseUrl) {
53
56
  throw new Error('composeMothership called without LOCAL_MOTHERSHIP_URL set');
54
57
  }
55
- const token = env.LOCAL_MOTHERSHIP_TOKEN?.trim();
56
- if (!token) {
57
- throw new Error('LOCAL_MOTHERSHIP_URL is set but LOCAL_MOTHERSHIP_TOKEN is not. A mothership-mode node ' +
58
- 'authenticates every persistence call with a machine token minted by the mothership; ' +
59
- 'set LOCAL_MOTHERSHIP_TOKEN and restart. (Login-based minting lands in a later slice.)');
60
- }
61
- const client = new HttpPersistenceRpcClient({ baseUrl, token });
58
+ const machineTokenStore = createLocalMachineTokenStore(localDbPath(env.LOCAL_MOTHERSHIP_TOKEN_DB, 'machine-token.sqlite'));
59
+ const envToken = env.LOCAL_MOTHERSHIP_TOKEN?.trim();
60
+ const client = new HttpPersistenceRpcClient({
61
+ baseUrl,
62
+ token: () => envToken || validCachedToken(machineTokenStore),
63
+ });
62
64
  const repos = createRemoteRepositoryRegistry(client);
63
- const credentialStore = createLocalCredentialStore(credentialDbPath(env));
64
- const workQueue = createWorkQueue(workQueueDbPath(env));
65
+ const credentialStore = createLocalCredentialStore(localDbPath(env.LOCAL_MOTHERSHIP_CREDENTIAL_DB, 'credentials.sqlite'));
66
+ const workQueue = createWorkQueue(localDbPath(env.LOCAL_MOTHERSHIP_WORK_DB, 'work-queue.sqlite'));
65
67
  return {
66
68
  repos,
67
69
  credentialStore,
68
70
  workQueue,
71
+ machineTokenStore,
69
72
  close: () => {
70
73
  credentialStore.close();
71
74
  workQueue.close();
75
+ machineTokenStore.close();
76
+ },
77
+ };
78
+ }
79
+ /**
80
+ * Build the local-mode mothership login connector: exchange a mothership SESSION token (captured
81
+ * by the SPA from the OAuth redirect fragment) for a machine token via `POST /auth/machine-token`,
82
+ * cache the OPAQUE result in the local store, and report the resulting scope. The mothership
83
+ * assigns the node id on each connect: the forwarded session is opaque here, so the node can't
84
+ * tell WHICH user is connecting, and reusing the previously-cached id would mint a different
85
+ * user's token under the last user's node id (conflating identity for future revocation). The
86
+ * mothership verifies the session (its own secret) — the node never verifies the returned token,
87
+ * it only presents it — so a session the mothership won't mint for yields a clean failure.
88
+ */
89
+ export function createMothershipConnector(opts) {
90
+ const fetchImpl = opts.fetchImpl ?? fetch;
91
+ const baseUrl = opts.baseUrl.replace(/\/$/, '');
92
+ return {
93
+ async connect(session) {
94
+ let res;
95
+ try {
96
+ res = await fetchImpl(`${baseUrl}/auth/machine-token`, {
97
+ method: 'POST',
98
+ headers: { 'content-type': 'application/json', authorization: `Bearer ${session}` },
99
+ // No client-supplied node id: the mothership assigns one bound to the verified user,
100
+ // so a reconnect as a different user never inherits the previous user's node id.
101
+ body: '{}',
102
+ });
103
+ }
104
+ catch (err) {
105
+ return {
106
+ ok: false,
107
+ status: 502,
108
+ message: `Could not reach the mothership: ${err instanceof Error ? err.message : String(err)}`,
109
+ };
110
+ }
111
+ const body = (await res.json().catch(() => null));
112
+ if (!res.ok ||
113
+ !body?.token ||
114
+ !body.nodeId ||
115
+ !body.userId ||
116
+ !Array.isArray(body.accountIds) ||
117
+ typeof body.exp !== 'number' ||
118
+ !body.user) {
119
+ return {
120
+ ok: false,
121
+ status: res.status || 502,
122
+ message: body?.error?.message ?? 'The mothership rejected the sign-in',
123
+ };
124
+ }
125
+ opts.store.write({
126
+ token: body.token,
127
+ nodeId: body.nodeId,
128
+ userId: body.userId,
129
+ accountIds: body.accountIds,
130
+ exp: body.exp,
131
+ createdAt: Date.now(),
132
+ });
133
+ return { ok: true, accountIds: body.accountIds, exp: body.exp, user: body.user };
72
134
  },
73
135
  };
74
136
  }
@@ -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,4 +1,4 @@
1
- import { DatabaseSync } from 'node:sqlite';
1
+ import type { DatabaseSync } from 'node:sqlite';
2
2
  import type { ApiKeyProvider, ApiKeyScope, ApiKeyScopeRef, LocalModelEndpointRecord, LocalModelEndpointRepository, ProviderApiKeyRecord, ProviderApiKeyRepository } 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. */
@@ -1 +1 @@
1
- {"version":3,"file":"credentialStore.d.ts","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,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;AA0DzD,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAQhE;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":"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,4 +1,4 @@
1
- import { DatabaseSync } from 'node:sqlite';
1
+ import { openSqliteDb } from './db.js';
2
2
  // The mothership-mode LOCAL credential store.
3
3
  //
4
4
  // In mothership mode the local node runs NO main database — every org/durable repository
@@ -55,13 +55,7 @@ CREATE TABLE IF NOT EXISTS local_model_endpoints (
55
55
  `;
56
56
  /** Open (creating if absent) the local credential SQLite database and ensure its schema. */
57
57
  export function openLocalCredentialDb(path) {
58
- const db = new DatabaseSync(path);
59
- // WAL keeps readers and the single writer from blocking each other; the busy timeout
60
- // absorbs a brief lock contention (e.g. an OS sync) instead of throwing SQLITE_BUSY.
61
- db.exec('PRAGMA journal_mode = WAL');
62
- db.exec('PRAGMA busy_timeout = 5000');
63
- db.exec(SCHEMA);
64
- return db;
58
+ return openSqliteDb(path, SCHEMA);
65
59
  }
66
60
  function apiKeyRowToRecord(row) {
67
61
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"credentialStore.js","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentialStore.js","sourceRoot":"","sources":["../../src/sqlite/credentialStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { DatabaseSync } from 'node:sqlite';
2
+ /**
3
+ * Open (creating if absent) a `node:sqlite` database at `path` and ensure `schema`.
4
+ *
5
+ * WAL keeps the single writer from blocking readers, and the busy timeout absorbs a brief lock
6
+ * contention (e.g. an OS sync) instead of throwing SQLITE_BUSY. `node:sqlite`'s `DatabaseSync` is
7
+ * synchronous and single-process, so a select-then-update in the callers is inherently atomic.
8
+ */
9
+ export declare function openSqliteDb(path: string, schema: string): DatabaseSync;
10
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/sqlite/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAMvE"}
@@ -0,0 +1,19 @@
1
+ import { DatabaseSync } from 'node:sqlite';
2
+ // Shared open/init for the mothership-mode local `node:sqlite` stores (the credential store and
3
+ // the durable work queue). Both keep only local state on the developer's machine and share the
4
+ // same durability pragmas, so the open sequence lives here once.
5
+ /**
6
+ * Open (creating if absent) a `node:sqlite` database at `path` and ensure `schema`.
7
+ *
8
+ * WAL keeps the single writer from blocking readers, and the busy timeout absorbs a brief lock
9
+ * contention (e.g. an OS sync) instead of throwing SQLITE_BUSY. `node:sqlite`'s `DatabaseSync` is
10
+ * synchronous and single-process, so a select-then-update in the callers is inherently atomic.
11
+ */
12
+ export function openSqliteDb(path, schema) {
13
+ const db = new DatabaseSync(path);
14
+ db.exec('PRAGMA journal_mode = WAL');
15
+ db.exec('PRAGMA busy_timeout = 5000');
16
+ db.exec(schema);
17
+ return db;
18
+ }
19
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/sqlite/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,gGAAgG;AAChG,+FAA+F;AAC/F,iEAAiE;AAEjE;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc;IACvD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACpC,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACrC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACf,OAAO,EAAE,CAAA;AACX,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { DatabaseSync } from 'node:sqlite';
2
+ /** The cached machine token plus the metadata the SPA / boot path reads for staleness + display. */
3
+ export interface MachineTokenRecord {
4
+ token: string;
5
+ nodeId: string;
6
+ userId: string;
7
+ accountIds: string[];
8
+ /** Absolute expiry (epoch ms) — the boot path treats a past `exp` as no token. */
9
+ exp: number;
10
+ createdAt: number;
11
+ }
12
+ /** Open (creating if absent) the local machine-token SQLite database and ensure its schema. */
13
+ export declare function openMachineTokenDb(path: string): DatabaseSync;
14
+ /** The local machine-token cache: a single-row read/write over the SQLite handle. */
15
+ export interface LocalMachineTokenStore {
16
+ /** The cached token, or null if the node has never connected. */
17
+ read(): MachineTokenRecord | null;
18
+ /** Replace the cached token (there is always at most one). */
19
+ write(record: MachineTokenRecord): void;
20
+ /** Forget the cached token (a disconnect / failed re-login). */
21
+ clear(): void;
22
+ close(): void;
23
+ }
24
+ export declare class SqliteMachineTokenStore implements LocalMachineTokenStore {
25
+ private readonly db;
26
+ constructor(db: DatabaseSync);
27
+ read(): MachineTokenRecord | null;
28
+ write(record: MachineTokenRecord): void;
29
+ clear(): void;
30
+ close(): void;
31
+ }
32
+ /**
33
+ * Open the local machine-token store at `path` (a file under the developer's config dir, or
34
+ * `:memory:` in tests). Holds ONLY the opaque mothership-minted bearer token, never org state.
35
+ */
36
+ export declare function createLocalMachineTokenStore(path: string): LocalMachineTokenStore;
37
+ //# sourceMappingURL=machineTokenStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineTokenStore.d.ts","sourceRoot":"","sources":["../../src/sqlite/machineTokenStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA6B1C,oGAAoG;AACpG,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAM7D;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,IAAI,IAAI,kBAAkB,GAAG,IAAI,CAAA;IACjC,8DAA8D;IAC9D,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACvC,gEAAgE;IAChE,KAAK,IAAI,IAAI,CAAA;IACb,KAAK,IAAI,IAAI,CAAA;CACd;AAED,qBAAa,uBAAwB,YAAW,sBAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,YAAY,EAAI;IAEjD,IAAI,IAAI,kBAAkB,GAAG,IAAI,CAehC;IAED,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAiBtC;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,KAAK,IAAI,IAAI,CAEZ;CACF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAEjF"}
@@ -0,0 +1,78 @@
1
+ import { DatabaseSync } from 'node:sqlite';
2
+ // The mothership-mode LOCAL machine-token cache.
3
+ //
4
+ // A mothership-mode local node authenticates every `/internal/persistence` call with a
5
+ // `machine`-audience token the mothership mints after a whitelisted login (see
6
+ // `@cat-factory/server` `mintMachineToken` / `POST /auth/machine-token`). Rather than paste a
7
+ // static `LOCAL_MOTHERSHIP_TOKEN`, the node caches the minted token HERE, in a file-based
8
+ // `node:sqlite` singleton row, so it survives restarts (product decision 4 in
9
+ // docs/initiatives/mothership-mode.md). The RPC client reads the current token per request.
10
+ //
11
+ // The token is OPAQUE to the node: it is signed with the MOTHERSHIP's session secret (which the
12
+ // node does not have), so the node cannot verify it — it only presents it and lets the mothership
13
+ // verify. Storing it unencrypted is acceptable: it is a bearer credential with an `exp`, and it
14
+ // carries no org data; a local key beside it would add nothing (the same reasoning by which today's
15
+ // `LOCAL_MOTHERSHIP_TOKEN` sits in plain env).
16
+ const SCHEMA = `
17
+ CREATE TABLE IF NOT EXISTS machine_token (
18
+ id INTEGER PRIMARY KEY CHECK (id = 1),
19
+ token TEXT NOT NULL,
20
+ node_id TEXT NOT NULL,
21
+ user_id TEXT NOT NULL,
22
+ account_ids TEXT NOT NULL,
23
+ exp INTEGER NOT NULL,
24
+ created_at INTEGER NOT NULL
25
+ );
26
+ `;
27
+ /** Open (creating if absent) the local machine-token SQLite database and ensure its schema. */
28
+ export function openMachineTokenDb(path) {
29
+ const db = new DatabaseSync(path);
30
+ db.exec('PRAGMA journal_mode = WAL');
31
+ db.exec('PRAGMA busy_timeout = 5000');
32
+ db.exec(SCHEMA);
33
+ return db;
34
+ }
35
+ export class SqliteMachineTokenStore {
36
+ db;
37
+ constructor(db) {
38
+ this.db = db;
39
+ }
40
+ read() {
41
+ const row = this.db
42
+ .prepare('SELECT token, node_id, user_id, account_ids, exp, created_at FROM machine_token WHERE id = 1')
43
+ .get();
44
+ if (!row)
45
+ return null;
46
+ return {
47
+ token: row.token,
48
+ nodeId: row.node_id,
49
+ userId: row.user_id,
50
+ accountIds: JSON.parse(row.account_ids),
51
+ exp: row.exp,
52
+ createdAt: row.created_at,
53
+ };
54
+ }
55
+ write(record) {
56
+ this.db
57
+ .prepare('INSERT INTO machine_token (id, token, node_id, user_id, account_ids, exp, created_at) ' +
58
+ 'VALUES (1, ?, ?, ?, ?, ?, ?) ' +
59
+ 'ON CONFLICT(id) DO UPDATE SET token = excluded.token, node_id = excluded.node_id, ' +
60
+ 'user_id = excluded.user_id, account_ids = excluded.account_ids, exp = excluded.exp, ' +
61
+ 'created_at = excluded.created_at')
62
+ .run(record.token, record.nodeId, record.userId, JSON.stringify(record.accountIds), record.exp, record.createdAt);
63
+ }
64
+ clear() {
65
+ this.db.prepare('DELETE FROM machine_token WHERE id = 1').run();
66
+ }
67
+ close() {
68
+ this.db.close();
69
+ }
70
+ }
71
+ /**
72
+ * Open the local machine-token store at `path` (a file under the developer's config dir, or
73
+ * `:memory:` in tests). Holds ONLY the opaque mothership-minted bearer token, never org state.
74
+ */
75
+ export function createLocalMachineTokenStore(path) {
76
+ return new SqliteMachineTokenStore(openMachineTokenDb(path));
77
+ }
78
+ //# sourceMappingURL=machineTokenStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineTokenStore.js","sourceRoot":"","sources":["../../src/sqlite/machineTokenStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,iDAAiD;AACjD,EAAE;AACF,uFAAuF;AACvF,+EAA+E;AAC/E,8FAA8F;AAC9F,0FAA0F;AAC1F,8EAA8E;AAC9E,4FAA4F;AAC5F,EAAE;AACF,gGAAgG;AAChG,kGAAkG;AAClG,gGAAgG;AAChG,oGAAoG;AACpG,+CAA+C;AAE/C,MAAM,MAAM,GAAG;;;;;;;;;;CAUd,CAAA;AAsBD,+FAA+F;AAC/F,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACpC,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACrC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACf,OAAO,EAAE,CAAA;AACX,CAAC;AAaD,MAAM,OAAO,uBAAuB;IACL,EAAE;IAA/B,YAA6B,EAAgB;kBAAhB,EAAE;IAAiB,CAAC;IAEjD,IAAI;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,8FAA8F,CAC/F;aACA,GAAG,EAAiC,CAAA;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAa;YACnD,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,MAA0B;QAC9B,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,wFAAwF;YACtF,+BAA+B;YAC/B,oFAAoF;YACpF,sFAAsF;YACtF,kCAAkC,CACrC;aACA,GAAG,CACF,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,SAAS,CACjB,CAAA;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAE,CAAA;IACjE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,IAAI,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DatabaseSync } from 'node:sqlite';
1
+ import type { DatabaseSync } from 'node:sqlite';
2
2
  /** Open (creating if absent) the work-queue SQLite database and ensure its schema. */
3
3
  export declare function openWorkQueueDb(path: string): DatabaseSync;
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workQueue.d.ts","sourceRoot":"","sources":["../../src/sqlite/workQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA4C1C,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAQ1D;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,gGAAgG;AAChG,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAQD;;;;GAIG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,YAAY,EAAI;IAEjD;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAYnE;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAU9E;IAED;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAOtC;IAED;;;;;OAKG;IACH,YAAY,IAAI,MAAM,CAOrB;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,UAAU,GAAG,IAAI,CAwBnF;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAqB3F;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAgBjD;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAsBxE;IAED;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQzD;IAED,4EAA4E;IAC5E,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAKxC;IAED,KAAK,IAAI,IAAI,CAEZ;CACF;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAE7D"}
1
+ {"version":3,"file":"workQueue.d.ts","sourceRoot":"","sources":["../../src/sqlite/workQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA6C/C,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAE1D;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,gGAAgG;AAChG,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAQD;;;;GAIG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,YAAY,EAAI;IAEjD;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAYnE;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAU9E;IAED;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAOtC;IAED;;;;;OAKG;IACH,YAAY,IAAI,MAAM,CAOrB;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,UAAU,GAAG,IAAI,CAwBnF;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAqB3F;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAgBjD;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAsBxE;IAED;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQzD;IAED,4EAA4E;IAC5E,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAKxC;IAED,KAAK,IAAI,IAAI,CAEZ;CACF;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAE7D"}
@@ -1,4 +1,4 @@
1
- import { DatabaseSync } from 'node:sqlite';
1
+ import { openSqliteDb } from './db.js';
2
2
  // The mothership-mode DURABLE execution work queue.
3
3
  //
4
4
  // A mothership-mode local node has no Postgres and therefore no pg-boss, so it cannot use the
@@ -41,13 +41,7 @@ CREATE INDEX IF NOT EXISTS execution_work_queue_claimable
41
41
  `;
42
42
  /** Open (creating if absent) the work-queue SQLite database and ensure its schema. */
43
43
  export function openWorkQueueDb(path) {
44
- const db = new DatabaseSync(path);
45
- // Mirror the credential store's pragmas: WAL keeps the single writer from blocking readers,
46
- // and the busy timeout absorbs a brief lock instead of throwing SQLITE_BUSY.
47
- db.exec('PRAGMA journal_mode = WAL');
48
- db.exec('PRAGMA busy_timeout = 5000');
49
- db.exec(SCHEMA);
50
- return db;
44
+ return openSqliteDb(path, SCHEMA);
51
45
  }
52
46
  /**
53
47
  * The durable SQLite-backed execution queue. All methods are synchronous (`node:sqlite`); the
@@ -1 +1 @@
1
- {"version":3,"file":"workQueue.js","sourceRoot":"","sources":["../../src/sqlite/workQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workQueue.js","sourceRoot":"","sources":["../../src/sqlite/workQueue.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/local-server",
3
- "version": "0.33.3",
3
+ "version": "0.34.0",
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,21 +26,21 @@
26
26
  "dependencies": {
27
27
  "@hono/node-server": "^2.0.6",
28
28
  "drizzle-orm": "1.0.0-rc.4",
29
- "@cat-factory/agents": "0.24.11",
30
- "@cat-factory/contracts": "0.71.0",
31
- "@cat-factory/gitlab": "0.4.22",
32
- "@cat-factory/integrations": "0.50.1",
33
- "@cat-factory/kernel": "0.63.3",
34
- "@cat-factory/node-server": "0.53.6",
35
- "@cat-factory/orchestration": "0.51.6",
36
- "@cat-factory/server": "0.60.2"
29
+ "@cat-factory/agents": "0.24.12",
30
+ "@cat-factory/contracts": "0.72.0",
31
+ "@cat-factory/gitlab": "0.4.23",
32
+ "@cat-factory/integrations": "0.50.2",
33
+ "@cat-factory/kernel": "0.63.4",
34
+ "@cat-factory/node-server": "0.53.8",
35
+ "@cat-factory/orchestration": "0.51.7",
36
+ "@cat-factory/server": "0.61.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^26.0.1",
40
40
  "typescript": "7.0.1-rc",
41
41
  "vitest": "^4.1.9",
42
- "@cat-factory/conformance": "0.9.66",
43
- "@cat-factory/gates": "0.2.52"
42
+ "@cat-factory/conformance": "0.9.68",
43
+ "@cat-factory/gates": "0.2.53"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "tsc -b tsconfig.build.json",