@cat-factory/agents 0.11.2 → 0.11.4
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/repo-ops/builtin.d.ts +16 -0
- package/dist/repo-ops/builtin.d.ts.map +1 -0
- package/dist/repo-ops/builtin.js +92 -0
- package/dist/repo-ops/builtin.js.map +1 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export { PLATFORM_DELIVERY_CONTRACT } from './agents/prompts/delivery-contract.j
|
|
|
22
22
|
export { FINAL_ANSWER_IN_REPLY, STANDARDS_FOOTER } from './agents/prompts/shared.js';
|
|
23
23
|
export { type RenderedFile, coerceBlueprintService, moduleSlug, canonicalBlueprintJson, hashBlueprint, renderBlueprintFiles, renderBlueprintVersionFile, nextBlueprintVersion, coerceSpecDoc, dedupeSpecIds, renderSpecFiles, renderSpecFeatureFiles, } from './repo-ops/render.js';
|
|
24
24
|
export { runRepoOps } from './repo-ops/run.js';
|
|
25
|
+
export { blueprintPostOp } from './repo-ops/builtin.js';
|
|
25
26
|
export { CompositeModelProvider, InstrumentedModelProvider, catFactoryObservability, type InlineObservabilityContext, type ModelResolver, type ProviderRegistry, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, type CachePolicy, cachedTokensFromUsage, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './providers/index.js';
|
|
26
27
|
export { FragmentLibraryService, type FragmentLibraryServiceDependencies, } from './fragmentLibrary/FragmentLibraryService.js';
|
|
27
28
|
export { FragmentSourceService, type FragmentSourceServiceDependencies, type ResolveFragmentInstallationId, } from './fragmentLibrary/FragmentSourceService.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,10 @@ export { coerceBlueprintService, moduleSlug, canonicalBlueprintJson, hashBluepri
|
|
|
39
39
|
// RepoFiles port). Here, not in @cat-factory/server, so the orchestration engine can
|
|
40
40
|
// run the ops without importing the HTTP layer.
|
|
41
41
|
export { runRepoOps } from './repo-ops/run.js';
|
|
42
|
+
// Built-in post-ops for migrated built-in kinds (blueprints/…): the deterministic render
|
|
43
|
+
// + commit lifted out of the executor-harness, keyed by the engine's built-in op map (NOT
|
|
44
|
+
// the registry, so they never leak into the custom-kind palette).
|
|
45
|
+
export { blueprintPostOp } from './repo-ops/builtin.js';
|
|
42
46
|
// The generic AI provisioning facade: a mixable provider registry + the base,
|
|
43
47
|
// runtime-neutral resolvers. Optional/heavier backends ship as their own packages
|
|
44
48
|
// (e.g. @cat-factory/provider-bedrock) and are mixed into a CompositeModelProvider.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RepoOp } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* POST-OP for the migrated `blueprints` kind: render the agent's service → modules tree
|
|
4
|
+
* into the in-repo `blueprints/` artifact files and commit them onto the run's branch —
|
|
5
|
+
* the deterministic work the harness's `handleBlueprint` used to do, now plain backend TS
|
|
6
|
+
* over the checkout-free {@link RepoFiles}.
|
|
7
|
+
*
|
|
8
|
+
* IDEMPOTENT: the content hash lives in the committed `version.json`. An unchanged tree
|
|
9
|
+
* (a re-run, or a durable-driver REPLAY that re-enters after the commit landed but before
|
|
10
|
+
* the run persisted) hashes identically ⇒ no commit, exactly as the harness's `commitAll`
|
|
11
|
+
* found nothing staged. On a real change it bumps the version, writes the files, and
|
|
12
|
+
* PRUNES any file the new render didn't emit (a removed module's deep-dive) — the
|
|
13
|
+
* checkout-free analogue of the harness wiping `blueprints/` before writing.
|
|
14
|
+
*/
|
|
15
|
+
export declare const blueprintPostOp: RepoOp;
|
|
16
|
+
//# sourceMappingURL=builtin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/repo-ops/builtin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,qBAAqB,CAAA;AA2D5D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,MAyB7B,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { BLUEPRINT_DIR, BLUEPRINT_VERSION_PATH, } from '@cat-factory/contracts';
|
|
2
|
+
import { coerceBlueprintService, hashBlueprint, nextBlueprintVersion, renderBlueprintFiles, renderBlueprintVersionFile, } from './render.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// BUILT-IN post-ops: the deterministic render + commit of the in-repo `blueprints/`
|
|
5
|
+
// (and, later, `spec/`) artifacts a migrated built-in agent produces.
|
|
6
|
+
//
|
|
7
|
+
// These mirror the registry-driven post-ops a CUSTOM kind ships (example-custom-agent's
|
|
8
|
+
// `renderReportPostOp`), but they are NOT registry entries: registering the built-in
|
|
9
|
+
// kinds would leak them into `customAgentKinds` / the SPA palette. The engine keys them
|
|
10
|
+
// off the agent kind in its own built-in map (see ExecutionService) and runs them over
|
|
11
|
+
// the same checkout-free {@link RepoFiles} port. The container's generic `agent` explore
|
|
12
|
+
// step returns the model's JSON (surfaced as `result.blueprintService`); the mechanical
|
|
13
|
+
// render that used to live in the executor-harness `blueprint.ts` runs here as plain
|
|
14
|
+
// backend TypeScript — no per-kind container code, no image rebuild.
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/** Parse an existing `version.json` (tolerant — a malformed/absent manifest ⇒ null). */
|
|
17
|
+
function parseBlueprintVersion(content) {
|
|
18
|
+
if (!content)
|
|
19
|
+
return null;
|
|
20
|
+
try {
|
|
21
|
+
const parsed = JSON.parse(content);
|
|
22
|
+
if (typeof parsed.version !== 'number' || typeof parsed.hash !== 'string')
|
|
23
|
+
return null;
|
|
24
|
+
return {
|
|
25
|
+
version: parsed.version,
|
|
26
|
+
generatedAt: typeof parsed.generatedAt === 'string' ? parsed.generatedAt : '',
|
|
27
|
+
hash: parsed.hash,
|
|
28
|
+
modules: typeof parsed.modules === 'number' ? parsed.modules : 0,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* List every file currently under `blueprints/`, repo-relative. The folder is two levels
|
|
37
|
+
* deep at most (`blueprints/*` plus `blueprints/modules/<slug>.md`), so one recursion into
|
|
38
|
+
* any subdirectory is enough; descended via {@link RepoFiles.listDirectory}.
|
|
39
|
+
*/
|
|
40
|
+
async function listBlueprintFiles(repo, branch) {
|
|
41
|
+
const out = [];
|
|
42
|
+
for (const entry of await repo.listDirectory(BLUEPRINT_DIR, branch)) {
|
|
43
|
+
if (entry.type === 'dir') {
|
|
44
|
+
for (const sub of await repo.listDirectory(entry.path, branch)) {
|
|
45
|
+
if (sub.type !== 'dir')
|
|
46
|
+
out.push(sub.path);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
out.push(entry.path);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return out;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* POST-OP for the migrated `blueprints` kind: render the agent's service → modules tree
|
|
57
|
+
* into the in-repo `blueprints/` artifact files and commit them onto the run's branch —
|
|
58
|
+
* the deterministic work the harness's `handleBlueprint` used to do, now plain backend TS
|
|
59
|
+
* over the checkout-free {@link RepoFiles}.
|
|
60
|
+
*
|
|
61
|
+
* IDEMPOTENT: the content hash lives in the committed `version.json`. An unchanged tree
|
|
62
|
+
* (a re-run, or a durable-driver REPLAY that re-enters after the commit landed but before
|
|
63
|
+
* the run persisted) hashes identically ⇒ no commit, exactly as the harness's `commitAll`
|
|
64
|
+
* found nothing staged. On a real change it bumps the version, writes the files, and
|
|
65
|
+
* PRUNES any file the new render didn't emit (a removed module's deep-dive) — the
|
|
66
|
+
* checkout-free analogue of the harness wiping `blueprints/` before writing.
|
|
67
|
+
*/
|
|
68
|
+
export const blueprintPostOp = async (ctx) => {
|
|
69
|
+
// The engine coerced the agent's structured output into `blueprintService` (or the
|
|
70
|
+
// FakeAgentExecutor returned a tree directly). Re-coerce to a typed tree — idempotent on
|
|
71
|
+
// an already-coerced tree — so a nameless/garbage payload commits nothing.
|
|
72
|
+
const service = coerceBlueprintService(ctx.result?.blueprintService, '');
|
|
73
|
+
if (!service)
|
|
74
|
+
return;
|
|
75
|
+
const previous = parseBlueprintVersion((await ctx.repo.getFile(BLUEPRINT_VERSION_PATH, ctx.branch))?.content);
|
|
76
|
+
if (previous && previous.hash === (await hashBlueprint(service)))
|
|
77
|
+
return;
|
|
78
|
+
const version = await nextBlueprintVersion(service, previous, new Date());
|
|
79
|
+
const rendered = [
|
|
80
|
+
...renderBlueprintFiles(service),
|
|
81
|
+
await renderBlueprintVersionFile(service, version),
|
|
82
|
+
];
|
|
83
|
+
const desired = new Set(rendered.map((f) => f.path));
|
|
84
|
+
const deletions = (await listBlueprintFiles(ctx.repo, ctx.branch)).filter((p) => !desired.has(p));
|
|
85
|
+
await ctx.repo.commitFiles({
|
|
86
|
+
branch: ctx.branch,
|
|
87
|
+
message: 'Update service blueprint',
|
|
88
|
+
files: rendered,
|
|
89
|
+
...(deletions.length > 0 ? { deletions } : {}),
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=builtin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/repo-ops/builtin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/agents",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.4",
|
|
4
4
|
"description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"@ai-sdk/openai-compatible": "^2.0.51",
|
|
30
30
|
"ai": "^6.0.209",
|
|
31
31
|
"handlebars": "^4.7.9",
|
|
32
|
-
"@cat-factory/contracts": "0.13.
|
|
33
|
-
"@cat-factory/kernel": "0.13.
|
|
34
|
-
"@cat-factory/prompt-fragments": "0.7.
|
|
32
|
+
"@cat-factory/contracts": "0.13.1",
|
|
33
|
+
"@cat-factory/kernel": "0.13.2",
|
|
34
|
+
"@cat-factory/prompt-fragments": "0.7.9"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"typescript": "7.0.1-rc",
|