@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.
- package/dist/LocalContainerRunnerTransport.d.ts +21 -1
- package/dist/LocalContainerRunnerTransport.d.ts.map +1 -1
- package/dist/LocalContainerRunnerTransport.js +26 -11
- package/dist/LocalContainerRunnerTransport.js.map +1 -1
- package/dist/LocalPreviewTransport.d.ts +9 -1
- package/dist/LocalPreviewTransport.d.ts.map +1 -1
- package/dist/LocalPreviewTransport.js +9 -8
- package/dist/LocalPreviewTransport.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/container.d.ts +11 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +224 -107
- package/dist/container.js.map +1 -1
- package/dist/gateProviderFollowing.d.ts +39 -0
- package/dist/gateProviderFollowing.d.ts.map +1 -0
- package/dist/gateProviderFollowing.js +62 -0
- package/dist/gateProviderFollowing.js.map +1 -0
- package/dist/github.d.ts +44 -47
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +77 -95
- package/dist/github.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/installations.d.ts +21 -6
- package/dist/installations.d.ts.map +1 -1
- package/dist/installations.js +15 -5
- package/dist/installations.js.map +1 -1
- package/dist/mothership.d.ts.map +1 -1
- package/dist/mothership.js +1 -16
- package/dist/mothership.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +17 -9
- package/dist/server.js.map +1 -1
- package/dist/sqlite/db.d.ts +6 -0
- package/dist/sqlite/db.d.ts.map +1 -1
- package/dist/sqlite/db.js +20 -3
- package/dist/sqlite/db.js.map +1 -1
- package/dist/sqlite/vcsCredentialStore.d.ts +29 -0
- package/dist/sqlite/vcsCredentialStore.d.ts.map +1 -0
- package/dist/sqlite/vcsCredentialStore.js +145 -0
- package/dist/sqlite/vcsCredentialStore.js.map +1 -0
- package/dist/vcsClientRouter.d.ts +14 -0
- package/dist/vcsClientRouter.d.ts.map +1 -0
- package/dist/vcsClientRouter.js +65 -0
- package/dist/vcsClientRouter.js.map +1 -0
- package/dist/vcsCredential.d.ts +40 -0
- package/dist/vcsCredential.d.ts.map +1 -0
- package/dist/vcsCredential.js +168 -0
- package/dist/vcsCredential.js.map +1 -0
- 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,
|
|
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,
|
|
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
|
package/dist/installations.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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,
|
|
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
|
-
*
|
|
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
|
|
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"}
|
package/dist/installations.js
CHANGED
|
@@ -30,14 +30,22 @@ export class AutoProvisioningInstallationRepository {
|
|
|
30
30
|
resolveAccount;
|
|
31
31
|
provider;
|
|
32
32
|
now;
|
|
33
|
-
constructor(inner,
|
|
33
|
+
constructor(inner,
|
|
34
34
|
/**
|
|
35
|
-
* The deployment's
|
|
36
|
-
*
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,uFAAuF;AACvF,qFAAqF;AACrF,wFAAwF;AACxF,2CAA2C;AAC3C,wFAAwF;AACxF,uFAAuF;AACvF,0FAA0F;AAC1F,wFAAwF;AACxF,6EAA6E;AAC7E,yEAAyE;AAEzE,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,wFAAwF;IACxF,yFAAyF;IACzF,8EAA8E;IAC9E,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AACjC,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,OAAO,sCAAsC;IAE9B,KAAK;
|
|
1
|
+
{"version":3,"file":"installations.js","sourceRoot":"","sources":["../src/installations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,uFAAuF;AACvF,qFAAqF;AACrF,wFAAwF;AACxF,2CAA2C;AAC3C,wFAAwF;AACxF,uFAAuF;AACvF,0FAA0F;AAC1F,wFAAwF;AACxF,6EAA6E;AAC7E,yEAAyE;AAEzE,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,wFAAwF;IACxF,yFAAyF;IACzF,8EAA8E;IAC9E,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AACjC,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,OAAO,sCAAsC;IAE9B,KAAK;IAOL,cAAc;IAQd,QAAQ;IACR,GAAG;IAjBtB,YACmB,KAAmC;IACpD;;;;;OAKG;IACc,cAAgD;IACjE;;;;;;OAMG;IACc,QAAQ,GAAsB,GAAG,EAAE,CAAC,QAAQ,EAC5C,GAAG,GAAiB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;qBAhBpC,KAAK;8BAOL,cAAc;wBAQd,QAAQ;mBACR,GAAG;IACnB,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAC7D,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,OAAO,QAAQ,CAAA;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QACzB,MAAM,YAAY,GAAuB;YACvC,cAAc,EAAE,uBAAuB,CAAC,WAAW,CAAC;YACpD,WAAW;YACX,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,4EAA4E;YAC5E,sFAAsF;YACtF,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACrC,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,mBAAmB,CAAC,cAAsB;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACvD,CAAC;IAED,qBAAqB,CAAC,eAAyB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAA;IAC1D,CAAC;IAED,6BAA6B,CAAC,cAAsB;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAA;IACjE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,YAAgC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACxC,CAAC;IAED,iBAAiB,CAAC,cAAsB,EAAE,KAAa,EAAE,SAAiB;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACvE,CAAC;IAED,UAAU,CAAC,cAAsB,EAAE,EAAU;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;CACF"}
|
package/dist/mothership.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EACL,uBAAuB,EAGvB,0BAA0B,EAE1B,yBAAyB,EACzB,6BAA6B,EAG7B,KAAK,MAAM,EACX,KAAK,mBAAmB,EACxB,yBAAyB,EAG1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,6BAA6B,CAAA;AAEnG,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,gCAAgC,CAAA;AAClG,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,4BAA4B,CAAA;AAChG,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAA;AAYxE,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEhE;AAQD,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;OAUG;IACH,KAAK,EAAE,gBAAgB,CAAA;IACvB;;;;;;OAMG;IACH,eAAe,EAAE,oBAAoB,CAAA;IACrC;;;;OAIG;IACH,kBAAkB,EAAE,kBAAkB,CAAA;IACtC;;;;;;;;OAQG;IACH,cAAc,EAAE,mBAAmB,CAAA;IACnC;;;;;;;;OAQG;IACH,iBAAiB,EAAE,uBAAuB,CAAA;IAC1C;;;;;;;;;OASG;IACH,oBAAoB,EAAE,6BAA6B,CAAA;IACnD;;;;;;;;OAQG;IACH,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C;;;;;;;;OAQG;IACH,eAAe,EAAE,6BAA6B,CAAA;IAC9C;;;;;;;OAOG;IACH,kBAAkB,EAAE,yBAAyB,CAAA;IAC7C;;;;;;;OAOG;IACH,mBAAmB,EAAE,yBAAyB,CAAA;IAC9C;;;;;;;OAOG;IACH,eAAe,EAAE,0BAA0B,CAAA;IAC3C,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,CA0H/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,CAwBjE;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;IA0C1B,gGAAgG;IAChG,OAAO,CAAC,YAAY;IAKpB;;;;;;OAMG;YACW,WAAW;IA2BzB;;;;;;;;OAQG;YACW,gBAAgB;CAuB/B"}
|
package/dist/mothership.js
CHANGED
|
@@ -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
|
package/dist/mothership.js.map
CHANGED
|
@@ -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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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
//
|
|
86
|
-
// operating agent step — clone, push, open
|
|
87
|
-
// Surface it at boot with a click-through URL that
|
|
88
|
-
// one-step fix rather than a runtime surprise.
|
|
89
|
-
|
|
90
|
-
|
|
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()}
|
|
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 (
|
|
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();
|
package/dist/server.js.map
CHANGED
|
@@ -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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"}
|
package/dist/sqlite/db.d.ts
CHANGED
|
@@ -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
|
package/dist/sqlite/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/sqlite/db.ts"],"names":[],"mappings":"
|
|
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
|
|
3
|
-
//
|
|
4
|
-
//
|
|
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
|
package/dist/sqlite/db.js.map
CHANGED
|
@@ -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
|
|
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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"}
|