@cat-factory/server 0.79.3 → 0.80.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/agents/ContainerRepoBootstrapper.d.ts +7 -1
- package/dist/agents/ContainerRepoBootstrapper.d.ts.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.js +1 -0
- package/dist/agents/ContainerRepoBootstrapper.js.map +1 -1
- package/dist/agents/resolveRepoTarget.d.ts +11 -1
- package/dist/agents/resolveRepoTarget.d.ts.map +1 -1
- package/dist/agents/resolveRepoTarget.js +8 -2
- package/dist/agents/resolveRepoTarget.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BootstrapJobHandle, BootstrapJobRepository, BootstrapJobUpdate, BootstrapRepoOutcome, BootstrapRepoRequest, GitHubClient, GitHubInstallationRepository, ModelRef, RepoBootstrapper, RepoProjectionRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { BootstrapJobHandle, BootstrapJobRepository, BootstrapJobUpdate, BootstrapRepoOutcome, BootstrapRepoRequest, GitHubClient, GitHubInstallationRepository, GitHubRepo, GroupCacheHandle, ModelRef, RepoBootstrapper, RepoProjectionRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { ContainerSessionService } from '../containers/ContainerSessionService.js';
|
|
3
3
|
import type { JobPackageRegistrySpec } from './ContainerAgentExecutor.js';
|
|
4
4
|
import { type ResolveRunnerTransport } from './RunnerJobClient.js';
|
|
@@ -14,6 +14,12 @@ export interface ContainerRepoBootstrapperDependencies {
|
|
|
14
14
|
bootstrapJobRepository: BootstrapJobRepository;
|
|
15
15
|
/** Local repo projection: where the bootstrapped repo is recorded + linked to its frame. */
|
|
16
16
|
repoRepository: RepoProjectionRepository;
|
|
17
|
+
/**
|
|
18
|
+
* The workspace repo-projection cache (`AppCaches.repoProjection`, slice 3): projecting
|
|
19
|
+
* a freshly-bootstrapped repo changes what `resolveRepoTarget` lists, so drop the
|
|
20
|
+
* workspace group after the write. Absent (tests / the Worker's pass-through) ⇒ no-op.
|
|
21
|
+
*/
|
|
22
|
+
repoProjectionCache?: GroupCacheHandle<GitHubRepo[]>;
|
|
17
23
|
/** Resolves/validates the pre-created target repository (existence + emptiness). */
|
|
18
24
|
githubClient: GitHubClient;
|
|
19
25
|
/** Mints a short-lived GitHub installation token for clone + push. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerRepoBootstrapper.d.ts","sourceRoot":"","sources":["../../src/agents/ContainerRepoBootstrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,4BAA4B,EAC5B,QAAQ,EACR,gBAAgB,EAEhB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAGnF,MAAM,WAAW,qCAAqC;IACpD;;;OAGG;IACH,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,wEAAwE;IACxE,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,sFAAsF;IACtF,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,4FAA4F;IAC5F,cAAc,EAAE,wBAAwB,CAAA;IACxC,oFAAoF;IACpF,YAAY,EAAE,YAAY,CAAA;IAC1B,sEAAsE;IACtE,qBAAqB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAClE,iFAAiF;IACjF,cAAc,EAAE,uBAAuB,CAAA;IACvC,kEAAkE;IAClE,KAAK,EAAE,QAAQ,CAAA;IACf,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAA;IACpB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAA;CACtF;AAmBD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,yBAA0B,YAAW,gBAAgB;IAIpD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,YAA6B,IAAI,EAAE,qCAAqC,EAEvE;IAED,kFAAkF;IAC5E,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGhE;IAED;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsK/E;IAED,mFAAmF;IAC7E,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoC3E;IAED;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7D;IAED;;;;;OAKG;IACG,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"ContainerRepoBootstrapper.d.ts","sourceRoot":"","sources":["../../src/agents/ContainerRepoBootstrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAEhB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAGnF,MAAM,WAAW,qCAAqC;IACpD;;;OAGG;IACH,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,wEAAwE;IACxE,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,sFAAsF;IACtF,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,4FAA4F;IAC5F,cAAc,EAAE,wBAAwB,CAAA;IACxC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAA;IACpD,oFAAoF;IACpF,YAAY,EAAE,YAAY,CAAA;IAC1B,sEAAsE;IACtE,qBAAqB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAClE,iFAAiF;IACjF,cAAc,EAAE,uBAAuB,CAAA;IACvC,kEAAkE;IAClE,KAAK,EAAE,QAAQ,CAAA;IACf,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAA;IACpB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAA;CACtF;AAmBD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,yBAA0B,YAAW,gBAAgB;IAIpD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,YAA6B,IAAI,EAAE,qCAAqC,EAEvE;IAED,kFAAkF;IAC5E,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGhE;IAED;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsK/E;IAED,mFAAmF;IAC7E,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoC3E;IAED;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7D;IAED;;;;;OAKG;IACG,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAiBvD;IAED,0FAA0F;YAC5E,YAAY;CAkB3B"}
|
|
@@ -250,6 +250,7 @@ export class ContainerRepoBootstrapper {
|
|
|
250
250
|
repo: outcome.name,
|
|
251
251
|
});
|
|
252
252
|
await this.deps.repoRepository.upsertMany(workspaceId, [repo]);
|
|
253
|
+
await this.deps.repoProjectionCache?.invalidateGroup(workspaceId);
|
|
253
254
|
log.info({ repo: `${outcome.owner}/${outcome.name}`, githubId: repo.githubId }, 'bootstrap: projected repo for service frame');
|
|
254
255
|
return { installationId: installation.installationId, githubId: repo.githubId };
|
|
255
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerRepoBootstrapper.js","sourceRoot":"","sources":["../../src/agents/ContainerRepoBootstrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContainerRepoBootstrapper.js","sourceRoot":"","sources":["../../src/agents/ContainerRepoBootstrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BlockRepository, type GitHubInstallationRepository, type RepoProjectionRepository, type ServiceRepository } from '@cat-factory/kernel';
|
|
1
|
+
import { type BlockRepository, type GitHubInstallationRepository, type GitHubRepo, type GroupCacheHandle, type RepoProjectionRepository, type ServiceRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { ResolveRepoTarget } from './ContainerAgentExecutor.js';
|
|
3
3
|
export interface ResolveRepoTargetDependencies {
|
|
4
4
|
installationRepository: Pick<GitHubInstallationRepository, 'getByWorkspace'>;
|
|
@@ -10,6 +10,16 @@ export interface ResolveRepoTargetDependencies {
|
|
|
10
10
|
* pins. Every facade wires it whenever GitHub is configured.
|
|
11
11
|
*/
|
|
12
12
|
serviceRepository: Pick<ServiceRepository, 'getByFrameBlock'>;
|
|
13
|
+
/**
|
|
14
|
+
* Read-through cache for the workspace's whole repo projection
|
|
15
|
+
* (`AppCaches.repoProjection`, docs/initiatives/caching-layer.md slice 3), grouped
|
|
16
|
+
* AND keyed by workspace id. The unbounded `repoProjectionRepository.list` re-list
|
|
17
|
+
* this resolver runs on every dispatch and poll tick reads through it; the
|
|
18
|
+
* projection's write paths (GitHub sync/webhook, repo link/monorepo-flag, bootstrap)
|
|
19
|
+
* invalidate the workspace group after they commit. Absent (tests / the Worker's
|
|
20
|
+
* pass-through profile) ⇒ every resolve lists live.
|
|
21
|
+
*/
|
|
22
|
+
repoProjectionCache?: GroupCacheHandle<GitHubRepo[]>;
|
|
13
23
|
}
|
|
14
24
|
/**
|
|
15
25
|
* Resolve the repo linked to a running block's enclosing service, shared verbatim by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRepoTarget.d.ts","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAMpE,MAAM,WAAW,6BAA6B;IAC5C,sBAAsB,EAAE,IAAI,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAA;IAC5E,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;IAChE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAC7C;;;;OAIG;IACH,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveRepoTarget.d.ts","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAMpE,MAAM,WAAW,6BAA6B;IAC5C,sBAAsB,EAAE,IAAI,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAA;IAC5E,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;IAChE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAC7C;;;;OAIG;IACH,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;IAC7D;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAA;CACrD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,6BAA6B,GAAG,iBAAiB,CAwE7F"}
|
|
@@ -17,12 +17,18 @@ import { ValidationError, } from '@cat-factory/kernel';
|
|
|
17
17
|
* because each wires its own resolver).
|
|
18
18
|
*/
|
|
19
19
|
export function buildResolveRepoTarget(deps) {
|
|
20
|
-
const { installationRepository, repoProjectionRepository, blockRepository, serviceRepository } = deps;
|
|
20
|
+
const { installationRepository, repoProjectionRepository, blockRepository, serviceRepository, repoProjectionCache, } = deps;
|
|
21
21
|
return async (workspaceId, blockId) => {
|
|
22
22
|
const installation = await installationRepository.getByWorkspace(workspaceId);
|
|
23
23
|
if (!installation)
|
|
24
24
|
return null;
|
|
25
|
-
|
|
25
|
+
// The whole-projection re-list is the hot, unbounded read here — cache it per
|
|
26
|
+
// workspace. The installation lookup above and the block ancestry walk below stay
|
|
27
|
+
// live (both cheap / tree-depth-bounded), so a reparent or service repo-link
|
|
28
|
+
// change needs no cache invalidation; only the projection's own writes do.
|
|
29
|
+
const repos = repoProjectionCache
|
|
30
|
+
? await repoProjectionCache.get(workspaceId, workspaceId, () => repoProjectionRepository.list(workspaceId))
|
|
31
|
+
: await repoProjectionRepository.list(workspaceId);
|
|
26
32
|
if (repos.length === 0)
|
|
27
33
|
return null;
|
|
28
34
|
const reposByGithubId = new Map(repos.map((r) => [r.githubId, r]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRepoTarget.js","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"resolveRepoTarget.js","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.80.0",
|
|
4
4
|
"description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"hono": "^4.12.27",
|
|
31
31
|
"pino": "^10.3.1",
|
|
32
32
|
"valibot": "^1.4.2",
|
|
33
|
-
"@cat-factory/agents": "0.
|
|
33
|
+
"@cat-factory/agents": "0.33.1",
|
|
34
|
+
"@cat-factory/kernel": "0.85.0",
|
|
35
|
+
"@cat-factory/integrations": "0.64.0",
|
|
34
36
|
"@cat-factory/contracts": "0.95.0",
|
|
35
|
-
"@cat-factory/
|
|
36
|
-
"@cat-factory/
|
|
37
|
-
"@cat-factory/
|
|
38
|
-
"@cat-factory/prompt-fragments": "0.9.55",
|
|
39
|
-
"@cat-factory/spend": "0.10.91"
|
|
37
|
+
"@cat-factory/orchestration": "0.70.1",
|
|
38
|
+
"@cat-factory/prompt-fragments": "0.10.0",
|
|
39
|
+
"@cat-factory/spend": "0.10.92"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"typescript": "7.0.1-rc",
|