@cat-factory/local-server 0.110.0 → 0.111.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.
Files changed (51) hide show
  1. package/dist/LocalContainerRunnerTransport.d.ts +21 -1
  2. package/dist/LocalContainerRunnerTransport.d.ts.map +1 -1
  3. package/dist/LocalContainerRunnerTransport.js +26 -11
  4. package/dist/LocalContainerRunnerTransport.js.map +1 -1
  5. package/dist/LocalPreviewTransport.d.ts +9 -1
  6. package/dist/LocalPreviewTransport.d.ts.map +1 -1
  7. package/dist/LocalPreviewTransport.js +9 -8
  8. package/dist/LocalPreviewTransport.js.map +1 -1
  9. package/dist/config.js +1 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/container.d.ts +11 -1
  12. package/dist/container.d.ts.map +1 -1
  13. package/dist/container.js +224 -107
  14. package/dist/container.js.map +1 -1
  15. package/dist/gateProviderFollowing.d.ts +39 -0
  16. package/dist/gateProviderFollowing.d.ts.map +1 -0
  17. package/dist/gateProviderFollowing.js +62 -0
  18. package/dist/gateProviderFollowing.js.map +1 -0
  19. package/dist/github.d.ts +44 -47
  20. package/dist/github.d.ts.map +1 -1
  21. package/dist/github.js +77 -95
  22. package/dist/github.js.map +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/installations.d.ts +21 -6
  26. package/dist/installations.d.ts.map +1 -1
  27. package/dist/installations.js +15 -5
  28. package/dist/installations.js.map +1 -1
  29. package/dist/mothership.d.ts.map +1 -1
  30. package/dist/mothership.js +1 -16
  31. package/dist/mothership.js.map +1 -1
  32. package/dist/server.d.ts.map +1 -1
  33. package/dist/server.js +17 -9
  34. package/dist/server.js.map +1 -1
  35. package/dist/sqlite/db.d.ts +6 -0
  36. package/dist/sqlite/db.d.ts.map +1 -1
  37. package/dist/sqlite/db.js +20 -3
  38. package/dist/sqlite/db.js.map +1 -1
  39. package/dist/sqlite/vcsCredentialStore.d.ts +29 -0
  40. package/dist/sqlite/vcsCredentialStore.d.ts.map +1 -0
  41. package/dist/sqlite/vcsCredentialStore.js +145 -0
  42. package/dist/sqlite/vcsCredentialStore.js.map +1 -0
  43. package/dist/vcsClientRouter.d.ts +14 -0
  44. package/dist/vcsClientRouter.d.ts.map +1 -0
  45. package/dist/vcsClientRouter.js +65 -0
  46. package/dist/vcsClientRouter.js.map +1 -0
  47. package/dist/vcsCredential.d.ts +40 -0
  48. package/dist/vcsCredential.d.ts.map +1 -0
  49. package/dist/vcsCredential.js +168 -0
  50. package/dist/vcsCredential.js.map +1 -0
  51. package/package.json +11 -11
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { loadLocalConfig, applyLocalDefaults } from './config.js';
4
4
  export { LocalContainerRunnerTransport, createLocalContainerTransportFromEnv, type LocalContainerRunnerTransportOptions, } from './LocalContainerRunnerTransport.js';
5
5
  export { type ContainerRuntimeAdapter, type ContainerExec, type RuntimeId, createRuntimeAdapter, resolveRuntimeId, runtimeProfile, resolveHostAlias, DockerRuntimeAdapter, AppleContainerRuntimeAdapter, } from './runtimes/index.js';
6
6
  export { linkRepo, type LinkRepoOptions, type LinkedRepo } from './linkRepo.js';
7
- export { createLocalGitHubClient, StaticTokenAppRegistry } from './github.js';
7
+ export { createLocalGitHubClient, LocalPatAppTokenSource } from './github.js';
8
8
  export { createLocalCredentialStore, type LocalCredentialStore } from './sqlite/credentialStore.js';
9
9
  export { composeMothership, isMothershipMode, SqliteWorkRunner, type SqliteWorkRunnerOptions, type MothershipComposition, } from './mothership.js';
10
10
  export { AgentKindRegistry, defaultAgentKindRegistry, type AgentKindDefinition, } from '@cat-factory/agents';
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ export { createRuntimeAdapter, resolveRuntimeId, runtimeProfile, resolveHostAlia
15
15
  // `node dist/link-repo.js <workspaceId> <frameBlockId> <owner/repo>`.
16
16
  export { linkRepo } from './linkRepo.js';
17
17
  // PAT-backed GitHub access for the CI gate + merge / mergeability providers.
18
- export { createLocalGitHubClient, StaticTokenAppRegistry } from './github.js';
18
+ export { createLocalGitHubClient, LocalPatAppTokenSource } from './github.js';
19
19
  // Mothership mode: the local `node:sqlite` credential store (the agent/model secrets that
20
20
  // stay on the laptop, sealed with the local key, while org/durable state lives on the
21
21
  // mothership). See docs/initiatives/mothership-mode.md. Only the factory + its type are
@@ -17,23 +17,38 @@ export interface PatAccount {
17
17
  */
18
18
  export declare class AutoProvisioningInstallationRepository implements GitHubInstallationRepository {
19
19
  private readonly inner;
20
+ /**
21
+ * The account the deployment's token belongs to, or NULL when it holds no token yet. Null is
22
+ * a distinct answer from "the `/user` call failed", which still provisions (the link flow
23
+ * only needs the row to exist): with no token there is nothing to be connected TO, so no row
24
+ * is written and the workspace reports disconnected until one is installed.
25
+ */
20
26
  private readonly resolveAccount;
21
27
  /**
22
- * The deployment's VCS provider ('github' with a GitHub PAT, 'gitlab' with a GitLab PAT).
23
- * Local mode is single-provider, so the synthetic connection is stamped with it the
28
+ * The deployment's VCS provider ('github' with a GitHub PAT, 'gitlab' with a GitLab PAT),
29
+ * read at provision time because local mode's credential can be installed while the server
30
+ * runs. Local mode is single-provider, so the synthetic connection is stamped with it — the
24
31
  * account metadata can't distinguish the two (a GitLab-only deployment can't read GitHub's
25
32
  * `/user`), so it's injected rather than inferred.
26
33
  */
27
34
  private readonly provider;
28
35
  private readonly now;
29
- constructor(inner: GitHubInstallationRepository, resolveAccount: () => Promise<PatAccount>,
36
+ constructor(inner: GitHubInstallationRepository,
37
+ /**
38
+ * The account the deployment's token belongs to, or NULL when it holds no token yet. Null is
39
+ * a distinct answer from "the `/user` call failed", which still provisions (the link flow
40
+ * only needs the row to exist): with no token there is nothing to be connected TO, so no row
41
+ * is written and the workspace reports disconnected until one is installed.
42
+ */
43
+ resolveAccount: () => Promise<PatAccount | null>,
30
44
  /**
31
- * The deployment's VCS provider ('github' with a GitHub PAT, 'gitlab' with a GitLab PAT).
32
- * Local mode is single-provider, so the synthetic connection is stamped with it the
45
+ * The deployment's VCS provider ('github' with a GitHub PAT, 'gitlab' with a GitLab PAT),
46
+ * read at provision time because local mode's credential can be installed while the server
47
+ * runs. Local mode is single-provider, so the synthetic connection is stamped with it — the
33
48
  * account metadata can't distinguish the two (a GitLab-only deployment can't read GitHub's
34
49
  * `/user`), so it's injected rather than inferred.
35
50
  */
36
- provider?: VcsProvider, now?: () => number);
51
+ provider?: () => VcsProvider, now?: () => number);
37
52
  getByWorkspace(workspaceId: string): Promise<GitHubInstallation | null>;
38
53
  getByInstallationId(installationId: number): Promise<GitHubInstallation | null>;
39
54
  listByInstallationIds(installationIds: number[]): Promise<GitHubInstallation[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"installations.d.ts","sourceRoot":"","sources":["../src/installations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAa5B,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,cAAc,GAAG,MAAM,CAAA;CACpC;AAED;;;;;;;GAOG;AACH,qBAAa,sCAAuC,YAAW,4BAA4B;IAEvF,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAVtB,YACmB,KAAK,EAAE,4BAA4B,EACnC,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC;IAC1D;;;;;OAKG;IACc,QAAQ,GAAE,WAAsB,EAChC,GAAG,GAAE,MAAM,MAAyB,EACnD;IAEE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAsB5E;IAED,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAE9E;IAED,qBAAqB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE9E;IAED,6BAA6B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEvE;IAED,UAAU,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE1C;IAED,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAErE;IAED,MAAM,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;IAED,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;IAED,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;CACF"}
1
+ {"version":3,"file":"installations.d.ts","sourceRoot":"","sources":["../src/installations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAa5B,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,cAAc,GAAG,MAAM,CAAA;CACpC;AAED;;;;;;;GAOG;AACH,qBAAa,sCAAuC,YAAW,4BAA4B;IAEvF,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAjBtB,YACmB,KAAK,EAAE,4BAA4B;IACpD;;;;;OAKG;IACc,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACjE;;;;;;OAMG;IACc,QAAQ,GAAE,MAAM,WAA4B,EAC5C,GAAG,GAAE,MAAM,MAAyB,EACnD;IAEE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAuB5E;IAED,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAE9E;IAED,qBAAqB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE9E;IAED,6BAA6B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEvE;IAED,UAAU,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE1C;IAED,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAErE;IAED,MAAM,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;IAED,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;IAED,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;CACF"}
@@ -30,14 +30,22 @@ export class AutoProvisioningInstallationRepository {
30
30
  resolveAccount;
31
31
  provider;
32
32
  now;
33
- constructor(inner, resolveAccount,
33
+ constructor(inner,
34
34
  /**
35
- * The deployment's VCS provider ('github' with a GitHub PAT, 'gitlab' with a GitLab PAT).
36
- * Local mode is single-provider, so the synthetic connection is stamped with it the
35
+ * The account the deployment's token belongs to, or NULL when it holds no token yet. Null is
36
+ * a distinct answer from "the `/user` call failed", which still provisions (the link flow
37
+ * only needs the row to exist): with no token there is nothing to be connected TO, so no row
38
+ * is written and the workspace reports disconnected until one is installed.
39
+ */
40
+ resolveAccount,
41
+ /**
42
+ * The deployment's VCS provider ('github' with a GitHub PAT, 'gitlab' with a GitLab PAT),
43
+ * read at provision time because local mode's credential can be installed while the server
44
+ * runs. Local mode is single-provider, so the synthetic connection is stamped with it — the
37
45
  * account metadata can't distinguish the two (a GitLab-only deployment can't read GitHub's
38
46
  * `/user`), so it's injected rather than inferred.
39
47
  */
40
- provider = 'github', now = () => Date.now()) {
48
+ provider = () => 'github', now = () => Date.now()) {
41
49
  this.inner = inner;
42
50
  this.resolveAccount = resolveAccount;
43
51
  this.provider = provider;
@@ -48,6 +56,8 @@ export class AutoProvisioningInstallationRepository {
48
56
  if (existing && !existing.deletedAt)
49
57
  return existing;
50
58
  const account = await this.resolveAccount();
59
+ if (!account)
60
+ return null;
51
61
  const installation = {
52
62
  installationId: syntheticInstallationId(workspaceId),
53
63
  workspaceId,
@@ -55,7 +65,7 @@ export class AutoProvisioningInstallationRepository {
55
65
  accountLogin: account.accountLogin,
56
66
  targetType: account.targetType,
57
67
  appId: null,
58
- provider: this.provider,
68
+ provider: this.provider(),
59
69
  cachedToken: null,
60
70
  tokenExpiresAt: null,
61
71
  // Local mode authenticates every workspace with the one deployment PAT (the
@@ -1 +1 @@
1
- {"version":3,"file":"installations.js","sourceRoot":"","sources":["../src/installations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installations.js","sourceRoot":"","sources":["../src/installations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
- import { homedir } from 'node:os';
2
- import { join } from 'node:path';
3
- import { mkdirSync } from 'node:fs';
4
1
  import { driveExecution } from '@cat-factory/node-server';
5
2
  import { DelegatedAppTokenSource, HttpMachineEventClient, HttpMachineNotificationClient, HttpMachineTelemetryClient, HttpMachineTelemetryReadClient, HttpBinaryGeneratorSource, HttpFoundationalBuiltinSource, HttpPersistenceRpcClient, RemoteNotificationChannel, createRemoteRepositoryRegistry, logger, } from '@cat-factory/server';
6
3
  import { MothershipWebSocketPropagator } from './mothershipPropagator.js';
7
4
  import { withTelemetryReadThrough } from './telemetryReadThrough.js';
8
5
  import { MothershipEventSubscriber } from './mothershipSubscriber.js';
9
6
  import { createLocalCredentialStore } from './sqlite/credentialStore.js';
7
+ import { localDbPath } from './sqlite/db.js';
10
8
  import { createLocalSettingsStore } from './sqlite/localSettingsStore.js';
11
9
  import { createLocalTelemetryStore } from './sqlite/telemetryStore.js';
12
10
  import { createLocalMachineTokenStore, } from './sqlite/machineTokenStore.js';
@@ -29,19 +27,6 @@ function validCachedToken(store) {
29
27
  const cached = store.read();
30
28
  return cached && cached.exp > Date.now() ? cached.token : null;
31
29
  }
32
- /**
33
- * Resolve a local SQLite file path: an explicit override wins (incl. `:memory:` for tests), else a
34
- * stable per-user file under `~/.cat-factory` so the store survives restarts (the whole point of a
35
- * durable local store). Ensures the directory exists.
36
- */
37
- function localDbPath(explicit, fileName) {
38
- const override = explicit?.trim();
39
- if (override)
40
- return override;
41
- const dir = join(homedir(), '.cat-factory');
42
- mkdirSync(dir, { recursive: true });
43
- return join(dir, fileName);
44
- }
45
30
  /**
46
31
  * Compose the mothership persistence from env. Builds the machine-authed RPC client +
47
32
  * the full remote repository registry, and opens the local credential store. The caller
@@ -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 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EAQrB,KAAK,EAGN,MAAM,0BAA0B,CAAA;AASjC,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAoCxF,wBAAsB,UAAU,CAC9B,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD;;;;;;;;;;;;;OAaG;IACH,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,kBAAkB,CAAA;IACzE;;;;;;OAMG;IACH,uCAAuC,CAAC,EAAE,OAAO,CAAA;IACjD;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAChD;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAA;CACvC,GACL,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAuB5C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EAQrB,KAAK,EAGN,MAAM,0BAA0B,CAAA;AASjC,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAqCxF,wBAAsB,UAAU,CAC9B,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD;;;;;;;;;;;;;OAaG;IACH,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,kBAAkB,CAAA;IACzE;;;;;;OAMG;IACH,uCAAuC,CAAC,EAAE,OAAO,CAAA;IACjD;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAChD;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAA;CACvC,GACL,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAuB5C"}
package/dist/server.js CHANGED
@@ -7,6 +7,7 @@ import { validateRegistrationsOnce } from '@cat-factory/orchestration';
7
7
  import { applyLocalDefaults, withLocalEnvCliAdvice } from './config.js';
8
8
  import { buildLocalContainer } from './container.js';
9
9
  import { githubPatCreationUrl, warnOnGitHubPatProblemInBackground } from './github.js';
10
+ import { createLocalVcsCredentialSource } from './vcsCredential.js';
10
11
  import { RECOMMENDED_HARNESS_IMAGE, refreshHarnessImage, resolveHarnessImage, resolveRefreshMode, } from './harnessImage.js';
11
12
  import { isMothershipMode } from './mothership.js';
12
13
  import { RUNTIME_IDS, createRuntimeAdapter, resolveRuntimeId, unrecognizedRuntimeId, } from './runtimes/index.js';
@@ -82,23 +83,30 @@ async function bootLocal(options, env) {
82
83
  // transport, which `buildLocalContainer` builds (with the DB-stored pool config) and warms
83
84
  // eagerly at boot when an image is configured — so it is not repeated here.
84
85
  // Source control is reached via a PAT in local mode (there is no GitHub-App connect flow):
85
- // a GITHUB_PAT or a GITLAB_PAT. Without EITHER the board still serves, but every repo-
86
- // operating agent step — clone, push, open PR/MR, the CI gate, the real merge — fails.
87
- // Surface it at boot with a click-through URL that pre-selects the scopes, so it is a
88
- // one-step fix rather than a runtime surprise.
89
- if (!localized.GITHUB_PAT?.trim() && !localized.GITLAB_PAT?.trim()) {
90
- logger.warn(`local mode: neither GITHUB_PAT nor GITLAB_PAT is set agent steps that clone, push, ` +
86
+ // `GITHUB_PAT` / `GITLAB_PAT`, else the one a developer installed from the sign-in screen.
87
+ // With NONE the board still serves, but every repo-operating agent step — clone, push, open
88
+ // PR/MR, the CI gate, the real merge — fails. Surface it at boot with a click-through URL that
89
+ // pre-selects the scopes, so it is a one-step fix rather than a runtime surprise. This reads
90
+ // the credential through a throwaway source: the container builds its own (the one the running
91
+ // server then reads through), and holding a second sqlite handle open for the process lifetime
92
+ // to answer one boot question is not worth it.
93
+ const bootCredentials = createLocalVcsCredentialSource(localized);
94
+ const bootCredential = bootCredentials.current();
95
+ bootCredentials.close();
96
+ if (!bootCredential) {
97
+ logger.warn(`local mode: this deployment has no source-control token — agent steps that clone, push, ` +
91
98
  `open PRs/MRs, gate on CI or merge will fail. Create a GitHub token (scopes pre-selected) ` +
92
- `at ${githubPatCreationUrl()} then set GITHUB_PAT (or set GITLAB_PAT for GitLab) and restart.`);
99
+ `at ${githubPatCreationUrl()} and sign in with it on the sign-in screen (no restart), or ` +
100
+ `set GITHUB_PAT / GITLAB_PAT in your .env and restart.`);
93
101
  }
94
- else if (localized.GITHUB_PAT?.trim()) {
102
+ else if (bootCredential.provider === 'github') {
95
103
  // A PAT IS set (GitHub mode): validate it once at boot so an invalid / expired / under-scoped
96
104
  // token surfaces here — with the same one-click fix as the missing case — instead of failing
97
105
  // opaquely on the first clone/push/PR/CI/merge later. FIRE-AND-FORGET (app-startup initiative,
98
106
  // item 6): the probe is a real github.com round-trip and best-effort diagnostics only (an
99
107
  // invalid PAT still fails loudly on first use), so it must not hold the boot path for a network
100
108
  // hop — it logs its warning if/when the bounded probe later resolves.
101
- warnOnGitHubPatProblemInBackground(localized, logger);
109
+ warnOnGitHubPatProblemInBackground(localized, bootCredential.token, logger);
102
110
  }
103
111
  bootClock.mark('patProbe');
104
112
  const preflight = bootClock.summary();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,10 @@ import { DatabaseSync } from 'node:sqlite';
7
7
  * synchronous and single-process, so a select-then-update in the callers is inherently atomic.
8
8
  */
9
9
  export declare function openSqliteDb(path: string, schema: string): DatabaseSync;
10
+ /**
11
+ * Where a local `node:sqlite` store lives: an explicit env override, else `fileName` under
12
+ * `~/.cat-factory` (created on demand). One helper for every local store so a developer finds
13
+ * them all in one directory, and so a test can point a store at `:memory:` through the override.
14
+ */
15
+ export declare function localDbPath(explicit: string | undefined, fileName: string): string;
10
16
  //# sourceMappingURL=db.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/sqlite/db.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAMvE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMlF"}
package/dist/sqlite/db.js CHANGED
@@ -1,7 +1,11 @@
1
+ import { mkdirSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
1
4
  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
+ // Shared open/init for the local `node:sqlite` stores (mothership mode's credential store,
6
+ // settings store and durable work queue; the deployment source-control credential in EITHER local
7
+ // topology). All keep only local state on the developer's machine and share the same durability
8
+ // pragmas, so the open sequence lives here once.
5
9
  /**
6
10
  * Open (creating if absent) a `node:sqlite` database at `path` and ensure `schema`.
7
11
  *
@@ -16,4 +20,17 @@ export function openSqliteDb(path, schema) {
16
20
  db.exec(schema);
17
21
  return db;
18
22
  }
23
+ /**
24
+ * Where a local `node:sqlite` store lives: an explicit env override, else `fileName` under
25
+ * `~/.cat-factory` (created on demand). One helper for every local store so a developer finds
26
+ * them all in one directory, and so a test can point a store at `:memory:` through the override.
27
+ */
28
+ export function localDbPath(explicit, fileName) {
29
+ const override = explicit?.trim();
30
+ if (override)
31
+ return override;
32
+ const dir = join(homedir(), '.cat-factory');
33
+ mkdirSync(dir, { recursive: true });
34
+ return join(dir, fileName);
35
+ }
19
36
  //# sourceMappingURL=db.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/sqlite/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,2FAA2F;AAC3F,kGAAkG;AAClG,gGAAgG;AAChG,iDAAiD;AAEjD;;;;;;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;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAA4B,EAAE,QAAgB;IACxE,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"}
@@ -0,0 +1,29 @@
1
+ import type { VcsProvider } from '@cat-factory/kernel';
2
+ /** The stored deployment credential, decrypted. */
3
+ export interface StoredVcsCredential {
4
+ provider: VcsProvider;
5
+ token: string;
6
+ /** The account handle the token resolved to when it was installed, for display. */
7
+ login: string | null;
8
+ updatedAt: number;
9
+ }
10
+ /** The deployment-credential store plus a handle to close the underlying db. */
11
+ export interface LocalVcsCredentialStore {
12
+ /** The stored credential, or null when none was ever installed. */
13
+ read(): StoredVcsCredential | null;
14
+ /** Replace the stored credential (there is only ever one). */
15
+ write(input: {
16
+ provider: VcsProvider;
17
+ token: string;
18
+ login: string | null;
19
+ }): void;
20
+ /** Forget the stored credential. */
21
+ clear(): void;
22
+ close(): void;
23
+ }
24
+ /**
25
+ * Open the deployment-credential store at `path` (a file under the developer's config dir, or
26
+ * `:memory:` in tests), sealing with `masterKeyBase64` (the deployment `ENCRYPTION_KEY`).
27
+ */
28
+ export declare function createLocalVcsCredentialStore(path: string, masterKeyBase64: string, now?: () => number): LocalVcsCredentialStore;
29
+ //# sourceMappingURL=vcsCredentialStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcsCredentialStore.d.ts","sourceRoot":"","sources":["../../src/sqlite/vcsCredentialStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAqDtD,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,IAAI,IAAI,mBAAmB,GAAG,IAAI,CAAA;IAClC,8DAA8D;IAC9D,KAAK,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAClF,oCAAoC;IACpC,KAAK,IAAI,IAAI,CAAA;IACb,KAAK,IAAI,IAAI,CAAA;CACd;AA6GD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,GAAG,GAAE,MAAM,MAAiB,GAC3B,uBAAuB,CAEzB"}
@@ -0,0 +1,145 @@
1
+ import { createCipheriv, createDecipheriv, hkdfSync, randomBytes } from 'node:crypto';
2
+ import { MIN_ENCRYPTION_KEY_BYTES } from '@cat-factory/server';
3
+ import { openSqliteDb } from './db.js';
4
+ // The deployment's OWN source-control credential, on the machine that runs it.
5
+ //
6
+ // Local mode has no GitHub-App connect flow: ONE PAT is both the sign-in identity and the
7
+ // operational credential every agent step clones, pushes, gates and merges with. `.env` is the
8
+ // operator's way to set it; this store is the developer's, so a token created from the sign-in
9
+ // screen takes effect without editing a file or restarting the server. It holds exactly one row
10
+ // (one machine, one deployment credential) and is used in BOTH local topologies — the
11
+ // Postgres-backed one and mothership mode, which has no Postgres at all.
12
+ //
13
+ // Why a synchronous sealer rather than the shared `WebCryptoSecretCipher`: the credential is read
14
+ // on the way into a container dispatch, a gate probe, a clone URL and a repo enumeration, and
15
+ // those call sites want a plain synchronous answer. A promise there would either force every
16
+ // reader to become async or leave a window at boot where the deployment reports "no credential"
17
+ // while the decryption it already has on disk is still in flight — the boot state reading as the
18
+ // permanent one is exactly the failure this whole seam exists to remove. `node:sqlite`'s
19
+ // `DatabaseSync` is synchronous for the same reason, so the two match.
20
+ //
21
+ // AES-256-GCM under a key HKDF-derived from the deployment `ENCRYPTION_KEY` (the same master key
22
+ // and the same per-domain-`info` separation `WebCryptoSecretCipher` applies, so this store's
23
+ // envelopes are cryptographically unrelated to the API-key or subscription pools').
24
+ /** The fixed key for the deployment-credential singleton row (one machine, one credential). */
25
+ const CREDENTIAL_ID = 'deployment';
26
+ /** Domain separation for the derived key — the sibling of the other stores' cipher `info`. */
27
+ const HKDF_INFO = 'cat-factory:local-vcs-credential';
28
+ /** Envelope version, so a future format change is a recognisable value rather than a decrypt failure. */
29
+ const ENVELOPE_VERSION = 'v1';
30
+ const SCHEMA = `
31
+ CREATE TABLE IF NOT EXISTS vcs_credential (
32
+ id TEXT PRIMARY KEY,
33
+ provider TEXT NOT NULL,
34
+ token_cipher TEXT NOT NULL,
35
+ login TEXT,
36
+ created_at INTEGER NOT NULL,
37
+ updated_at INTEGER NOT NULL
38
+ );
39
+ `;
40
+ /**
41
+ * Derive this store's 32-byte AES key from the deployment master key. `ENCRYPTION_KEY` is base64
42
+ * (the format every other store reads it in), and too-weak input is a configuration error the
43
+ * caller surfaces rather than something to paper over with a weaker key.
44
+ *
45
+ * The DECODED LENGTH is the actual check, not the base64 parse: `Buffer.from(x, 'base64')` is
46
+ * lenient — it skips what it cannot decode rather than throwing — so a garbage value yields a
47
+ * short buffer, not an empty one, and testing only for empty would silently seal the deployment's
48
+ * token under a handful of bytes. The floor is the one every facade's config loader already
49
+ * enforces (`requireEncryptionKey`), shared rather than re-picked so this store can never end up
50
+ * accepting a key the boot path rejects, or the reverse.
51
+ */
52
+ function deriveKey(masterKeyBase64) {
53
+ const master = Buffer.from(masterKeyBase64, 'base64');
54
+ if (master.length < MIN_ENCRYPTION_KEY_BYTES) {
55
+ throw new Error(`ENCRYPTION_KEY decodes to only ${master.length} byte(s); it must decode to at least ${MIN_ENCRYPTION_KEY_BYTES}, so the local credential cannot be sealed`);
56
+ }
57
+ return Buffer.from(hkdfSync('sha256', master, Buffer.alloc(0), HKDF_INFO, 32));
58
+ }
59
+ /** Seal a token into a `v1:<iv>:<tag>:<ciphertext>` envelope (all parts base64). */
60
+ function seal(key, plaintext) {
61
+ const iv = randomBytes(12);
62
+ const cipher = createCipheriv('aes-256-gcm', key, iv);
63
+ const body = Buffer.concat([cipher.update(plaintext, 'utf8'), cipher.final()]);
64
+ return [
65
+ ENVELOPE_VERSION,
66
+ iv.toString('base64'),
67
+ cipher.getAuthTag().toString('base64'),
68
+ body.toString('base64'),
69
+ ].join(':');
70
+ }
71
+ /**
72
+ * Open a sealed envelope, or return null when it cannot be read — a rotated `ENCRYPTION_KEY`, a
73
+ * truncated file, or a future envelope version. Null is the honest answer for all three: the
74
+ * deployment has no USABLE credential, which is the state the sign-in screen already knows how to
75
+ * fix. It is deliberately not an exception, which would take the whole boot down over a value the
76
+ * user can simply re-enter.
77
+ */
78
+ function open(key, envelope) {
79
+ const [version, iv, tag, body] = envelope.split(':');
80
+ if (version !== ENVELOPE_VERSION || !iv || !tag || !body)
81
+ return null;
82
+ try {
83
+ const decipher = createDecipheriv('aes-256-gcm', key, Buffer.from(iv, 'base64'));
84
+ decipher.setAuthTag(Buffer.from(tag, 'base64'));
85
+ return Buffer.concat([decipher.update(Buffer.from(body, 'base64')), decipher.final()]).toString('utf8');
86
+ }
87
+ catch {
88
+ // silent-catch-ok: an unreadable envelope IS the "no usable credential" answer this returns,
89
+ // and the caller reports that state to the user; re-raising would only turn a re-enterable
90
+ // credential into a failed boot.
91
+ return null;
92
+ }
93
+ }
94
+ class SqliteVcsCredentialStore {
95
+ db;
96
+ key;
97
+ now;
98
+ constructor(db, key, now) {
99
+ this.db = db;
100
+ this.key = key;
101
+ this.now = now;
102
+ }
103
+ read() {
104
+ const row = this.db
105
+ .prepare('SELECT provider, token_cipher, login, created_at, updated_at FROM vcs_credential WHERE id = ?')
106
+ .get(CREDENTIAL_ID);
107
+ if (!row)
108
+ return null;
109
+ const token = open(this.key, row.token_cipher);
110
+ if (!token)
111
+ return null;
112
+ return {
113
+ provider: row.provider,
114
+ token,
115
+ login: row.login,
116
+ updatedAt: row.updated_at,
117
+ };
118
+ }
119
+ write(input) {
120
+ const now = this.now();
121
+ this.db
122
+ .prepare(`INSERT INTO vcs_credential (id, provider, token_cipher, login, created_at, updated_at)
123
+ VALUES (?, ?, ?, ?, ?, ?)
124
+ ON CONFLICT (id) DO UPDATE SET
125
+ provider = excluded.provider,
126
+ token_cipher = excluded.token_cipher,
127
+ login = excluded.login,
128
+ updated_at = excluded.updated_at`)
129
+ .run(CREDENTIAL_ID, input.provider, seal(this.key, input.token), input.login, now, now);
130
+ }
131
+ clear() {
132
+ this.db.prepare('DELETE FROM vcs_credential WHERE id = ?').run(CREDENTIAL_ID);
133
+ }
134
+ close() {
135
+ this.db.close();
136
+ }
137
+ }
138
+ /**
139
+ * Open the deployment-credential store at `path` (a file under the developer's config dir, or
140
+ * `:memory:` in tests), sealing with `masterKeyBase64` (the deployment `ENCRYPTION_KEY`).
141
+ */
142
+ export function createLocalVcsCredentialStore(path, masterKeyBase64, now = Date.now) {
143
+ return new SqliteVcsCredentialStore(openSqliteDb(path, SCHEMA), deriveKey(masterKeyBase64), now);
144
+ }
145
+ //# sourceMappingURL=vcsCredentialStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcsCredentialStore.js","sourceRoot":"","sources":["../../src/sqlite/vcsCredentialStore.ts"],"names":[],"mappings":"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"}