@cat-factory/local-server 0.155.1 → 0.155.2
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/linkRepo.d.ts +3 -0
- package/dist/linkRepo.d.ts.map +1 -1
- package/dist/linkRepo.js +28 -25
- package/dist/linkRepo.js.map +1 -1
- package/package.json +13 -13
package/dist/linkRepo.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type DrizzleDb } from '@cat-factory/node-server';
|
|
2
|
+
import type { RepoProjectionRepository } from '@cat-factory/kernel';
|
|
2
3
|
export interface LinkRepoOptions {
|
|
3
4
|
/** The board workspace id. */
|
|
4
5
|
workspaceId: string;
|
|
@@ -18,6 +19,8 @@ export interface LinkRepoOptions {
|
|
|
18
19
|
env?: NodeJS.ProcessEnv;
|
|
19
20
|
/** Injectable fetch (tests). */
|
|
20
21
|
fetchImpl?: typeof fetch;
|
|
22
|
+
/** The repo projection the link is written through; defaults to the Drizzle one over `db`. */
|
|
23
|
+
repoProjection?: RepoProjectionRepository;
|
|
21
24
|
}
|
|
22
25
|
export interface LinkedRepo {
|
|
23
26
|
owner: string;
|
package/dist/linkRepo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkRepo.d.ts","sourceRoot":"","sources":["../src/linkRepo.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"linkRepo.d.ts","sourceRoot":"","sources":["../src/linkRepo.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAsBnE,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,EAAE,CAAC,EAAE,SAAS,CAAA;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,wBAAwB,CAAA;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAyK5E"}
|
package/dist/linkRepo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { createDbClient, schema } from '@cat-factory/node-server';
|
|
2
|
+
import { DrizzleRepoProjectionRepository, createDbClient, schema, } from '@cat-factory/node-server';
|
|
3
3
|
import { and, eq, ne } from 'drizzle-orm';
|
|
4
4
|
import { syntheticInstallationId } from './installations.js';
|
|
5
5
|
// Link a real GitHub repo to a board service frame for LOCAL mode. Container agent
|
|
@@ -83,31 +83,34 @@ export async function linkRepo(options) {
|
|
|
83
83
|
target: schema.githubInstallations.installation_id,
|
|
84
84
|
set: installationValues,
|
|
85
85
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
86
|
+
// Through the repository rather than a direct insert, so the link is recorded on the
|
|
87
|
+
// directory change feed like every other projection write.
|
|
88
|
+
const repoProjection = options.repoProjection ?? new DrizzleRepoProjectionRepository(db);
|
|
89
|
+
await repoProjection.upsertMany(options.workspaceId, [
|
|
90
|
+
{
|
|
91
|
+
githubId: meta.id,
|
|
92
|
+
installationId,
|
|
93
|
+
owner,
|
|
94
|
+
name,
|
|
95
|
+
defaultBranch,
|
|
96
|
+
private: Boolean(meta.private),
|
|
97
|
+
isMonorepo: false,
|
|
98
|
+
// Local mode's single `GITHUB_PAT` is the workspace-wide credential every member
|
|
99
|
+
// shares (its analogue of the shared App installation), so a linked repo is
|
|
100
|
+
// `'app'`-reachable, not a per-user `'user_pat'` repo.
|
|
101
|
+
linkedVia: 'app',
|
|
102
|
+
provider: 'github',
|
|
103
|
+
syncedAt: now,
|
|
104
|
+
},
|
|
105
|
+
]);
|
|
106
|
+
// `upsertMany` leaves `linked_via` alone on an existing row, because sync must not clobber it.
|
|
107
|
+
// A local link is the one write that owns it: re-linking a repo first projected as
|
|
108
|
+
// `'user_pat'` makes it `'app'`-reachable. The directory feed does not publish `linked_via`,
|
|
109
|
+
// so this write needs no feed row of its own.
|
|
104
110
|
await db
|
|
105
|
-
.
|
|
106
|
-
.
|
|
107
|
-
.
|
|
108
|
-
target: [schema.githubRepos.workspace_id, schema.githubRepos.github_id],
|
|
109
|
-
set: repoValues,
|
|
110
|
-
});
|
|
111
|
+
.update(schema.githubRepos)
|
|
112
|
+
.set({ linked_via: 'app', etag: null })
|
|
113
|
+
.where(and(eq(schema.githubRepos.workspace_id, options.workspaceId), eq(schema.githubRepos.github_id, meta.id)));
|
|
111
114
|
// Bind the frame's account-owned Service to the repo — the sole linkage
|
|
112
115
|
// `resolveRepoTarget` reads. Update the service the board created for the frame; if
|
|
113
116
|
// the frame has none (seeded/headless), insert one and mount it on the workspace.
|
package/dist/linkRepo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkRepo.js","sourceRoot":"","sources":["../src/linkRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"linkRepo.js","sourceRoot":"","sources":["../src/linkRepo.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.155.
|
|
3
|
+
"version": "0.155.2",
|
|
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",
|
|
@@ -24,24 +24,24 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@cat-factory/agents": "0.171.
|
|
28
|
-
"@cat-factory/binary-generators": "0.3.
|
|
29
|
-
"@cat-factory/contracts": "0.
|
|
27
|
+
"@cat-factory/agents": "0.171.4",
|
|
28
|
+
"@cat-factory/binary-generators": "0.3.66",
|
|
29
|
+
"@cat-factory/contracts": "0.364.0",
|
|
30
30
|
"@cat-factory/executor-harness": "1.163.4",
|
|
31
|
-
"@cat-factory/gitlab": "0.24.
|
|
32
|
-
"@cat-factory/integrations": "0.175.
|
|
33
|
-
"@cat-factory/kernel": "0.
|
|
34
|
-
"@cat-factory/node-server": "0.
|
|
35
|
-
"@cat-factory/orchestration": "0.320.
|
|
36
|
-
"@cat-factory/prompt-fragments": "1.1.
|
|
37
|
-
"@cat-factory/server": "0.332.
|
|
31
|
+
"@cat-factory/gitlab": "0.24.2",
|
|
32
|
+
"@cat-factory/integrations": "0.175.2",
|
|
33
|
+
"@cat-factory/kernel": "0.358.0",
|
|
34
|
+
"@cat-factory/node-server": "0.238.0",
|
|
35
|
+
"@cat-factory/orchestration": "0.320.2",
|
|
36
|
+
"@cat-factory/prompt-fragments": "1.1.62",
|
|
37
|
+
"@cat-factory/server": "0.332.2",
|
|
38
38
|
"@hono/node-server": "^2.1.3",
|
|
39
39
|
"drizzle-orm": "1.0.0-rc.4",
|
|
40
40
|
"ws": "^8.22.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@cat-factory/conformance": "0.64.
|
|
44
|
-
"@cat-factory/gates": "0.12.
|
|
43
|
+
"@cat-factory/conformance": "0.64.2",
|
|
44
|
+
"@cat-factory/gates": "0.12.2",
|
|
45
45
|
"@types/node": "^26.6.4",
|
|
46
46
|
"@types/ws": "^8.18.2",
|
|
47
47
|
"typescript": "7.0.2",
|