@cat-factory/agents 0.14.9 → 0.15.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/catalog.d.ts.map +1 -1
- package/dist/agents/catalog.js +43 -18
- package/dist/agents/catalog.js.map +1 -1
- package/dist/agents/kinds/registry.d.ts +16 -0
- package/dist/agents/kinds/registry.d.ts.map +1 -1
- package/dist/agents/kinds/registry.js +20 -1
- package/dist/agents/kinds/registry.js.map +1 -1
- package/dist/agents/kinds/structured-output.d.ts +44 -0
- package/dist/agents/kinds/structured-output.d.ts.map +1 -0
- package/dist/agents/kinds/structured-output.js +62 -0
- package/dist/agents/kinds/structured-output.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAqC1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAqC1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAWvD;AAmGD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EACxB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,MAAM,CAER"}
|
package/dist/agents/catalog.js
CHANGED
|
@@ -20,14 +20,47 @@ import { environmentSection, linkedContextSection, phaseForKind, renderStandardU
|
|
|
20
20
|
// and the thin one-line roles + generic fallback in ./prompts/roles).
|
|
21
21
|
export function systemPromptFor(kind) {
|
|
22
22
|
const base = baseSystemPromptFor(kind);
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
|
|
23
|
+
// Append the surface-driven directives (read-only guardrail + final-answer-in-reply) — see
|
|
24
|
+
// {@link applySurfaceDirectives}. This is the single place that decision lives, so a
|
|
25
|
+
// registered kind gets the SAME treatment a built-in does from its declared `agent.surface`.
|
|
26
|
+
const withDirectives = applySurfaceDirectives(base, kind);
|
|
26
27
|
// Fold in any guidance contributed by the kind's traits (e.g. the spec-aware kinds get
|
|
27
28
|
// the in-repo-spec reading guidance). Marker traits like `code-aware` add nothing here —
|
|
28
29
|
// their effect (folding the service's fragments) is applied by the execution engine.
|
|
29
30
|
const guidance = traitGuidanceFor(kind);
|
|
30
|
-
return guidance.length ? `${
|
|
31
|
+
return guidance.length ? `${withDirectives}\n\n${guidance.join('\n\n')}` : withDirectives;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Append the surface-driven prompt directives, derived ONCE from the kind's `agent.surface`
|
|
35
|
+
* so a registered (custom) kind gets exactly what a built-in does without the author reasoning
|
|
36
|
+
* about either directive:
|
|
37
|
+
* - READ_ONLY_GUARDRAIL — a built-in read-only kind (architect/analysis/…) OR any registered
|
|
38
|
+
* `container-explore` kind (it clones read-only and returns a report; it must never edit).
|
|
39
|
+
* - FINAL_ANSWER_IN_REPLY — a registered `inline`/`container-explore` kind, whose deliverable
|
|
40
|
+
* IS its visible reply (a report / structured JSON the platform parses), so a reasoning
|
|
41
|
+
* model can't lose the answer to its hidden channel. Built-in kinds already get this from
|
|
42
|
+
* their own track prompts, so it's scoped to kinds whose prompt actually CAME from the
|
|
43
|
+
* registry to avoid double-append. A `container-coding` kind (product is a pushed commit)
|
|
44
|
+
* and a no-`agent` kind get neither.
|
|
45
|
+
*
|
|
46
|
+
* `base` is the resolved base prompt: when a registered id collides with a built-in track (e.g.
|
|
47
|
+
* a deployment registers `architect`), `baseSystemPromptFor` returns the TRACK prompt (which
|
|
48
|
+
* already carries FINAL_ANSWER_IN_REPLY), not the registered one — so we gate `needsFinalAnswer`
|
|
49
|
+
* on the base actually being the registered prompt, not merely on the kind being in the registry.
|
|
50
|
+
*/
|
|
51
|
+
function applySurfaceDirectives(prompt, kind) {
|
|
52
|
+
const surface = registeredAgentStep(kind)?.surface;
|
|
53
|
+
// True only when the base prompt is the one from the registry — i.e. no built-in track claimed
|
|
54
|
+
// this kind. A built-in-track-owned id (even if also registered) already got the directive.
|
|
55
|
+
const usedRegisteredPrompt = prompt === registeredSystemPrompt(kind);
|
|
56
|
+
const needsGuardrail = isReadOnlyAgentKind(kind) || surface === 'container-explore';
|
|
57
|
+
const needsFinalAnswer = usedRegisteredPrompt && (surface === 'inline' || surface === 'container-explore');
|
|
58
|
+
let result = prompt;
|
|
59
|
+
if (needsGuardrail)
|
|
60
|
+
result = `${result}\n\n${READ_ONLY_GUARDRAIL}`;
|
|
61
|
+
if (needsFinalAnswer)
|
|
62
|
+
result = `${result}\n\n${FINAL_ANSWER_IN_REPLY}`;
|
|
63
|
+
return result;
|
|
31
64
|
}
|
|
32
65
|
function baseSystemPromptFor(kind) {
|
|
33
66
|
// Companion kinds (reviewer, architect-companion, spec-companion, …) win over every
|
|
@@ -53,21 +86,13 @@ function baseSystemPromptFor(kind) {
|
|
|
53
86
|
if (businessLogic)
|
|
54
87
|
return businessLogic;
|
|
55
88
|
// Custom kinds registered by a deployment (e.g. a proprietary org package) win over
|
|
56
|
-
// the generic fallback below, but never shadow the built-in tracks above.
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
// structured JSON the platform parses into `result.custom` — otherwise that answer can
|
|
61
|
-
// be silently lost to a reasoning model's hidden channel. NOT appended for
|
|
62
|
-
// `container-coding` (its product is a pushed commit, a side effect, like
|
|
63
|
-
// roleSystemPrompt's SIDE_EFFECT kinds) nor for a kind with no LLM `agent` step at all
|
|
64
|
-
// (the prompt is never used).
|
|
89
|
+
// the generic fallback below, but never shadow the built-in tracks above. The
|
|
90
|
+
// surface-driven directives (FINAL_ANSWER_IN_REPLY / read-only guardrail) are applied
|
|
91
|
+
// centrally in `systemPromptFor` via `applySurfaceDirectives`, so the raw registered
|
|
92
|
+
// prompt is returned here as-is.
|
|
65
93
|
const registered = registeredSystemPrompt(kind);
|
|
66
|
-
if (registered !== undefined)
|
|
67
|
-
|
|
68
|
-
const producesFinalReply = surface === 'inline' || surface === 'container-explore';
|
|
69
|
-
return producesFinalReply ? `${registered}\n\n${FINAL_ANSWER_IN_REPLY}` : registered;
|
|
70
|
-
}
|
|
94
|
+
if (registered !== undefined)
|
|
95
|
+
return registered;
|
|
71
96
|
return roleSystemPrompt(kind);
|
|
72
97
|
}
|
|
73
98
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AACpF,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAE9B,gFAAgF;AAChF,2EAA2E;AAC3E,oFAAoF;AACpF,sFAAsF;AACtF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,sEAAsE;AAEtE,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACtC,
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AgentConfigDescriptor, AgentKind, AgentRunContext, AgentStepSpec, RepoOp } from '@cat-factory/kernel';
|
|
2
2
|
import type { AgentPresentation } from '@cat-factory/contracts';
|
|
3
3
|
import type { AgentTrait } from './traits.js';
|
|
4
|
+
import type { StructuredOutput } from './structured-output.js';
|
|
4
5
|
export interface AgentKindDefinition {
|
|
5
6
|
/** The free-form agent-kind id used in pipelines and steps (e.g. `security-auditor`). */
|
|
6
7
|
kind: AgentKind;
|
|
@@ -55,6 +56,15 @@ export interface AgentKindDefinition {
|
|
|
55
56
|
* container requirement from this — so `requiresContainer` need not be set alongside it.
|
|
56
57
|
*/
|
|
57
58
|
agent?: AgentStepSpec;
|
|
59
|
+
/**
|
|
60
|
+
* Schema-driven structured output (see {@link defineStructuredOutput}). When present and the
|
|
61
|
+
* author didn't set `agent.output` by hand, `registerAgentKind` derives `agent.output` from
|
|
62
|
+
* `structuredOutput.spec` — so a structured kind declares ONE valibot schema instead of a
|
|
63
|
+
* hand-written `shapeHint` string PLUS a lenient coercer. The kind's post-ops / step-resolver
|
|
64
|
+
* read the typed parser back via {@link registeredStructuredOutput}. Omitted ⇒ no schema
|
|
65
|
+
* (a prose kind, or one that sets `agent.output.shapeHint` by hand).
|
|
66
|
+
*/
|
|
67
|
+
structuredOutput?: StructuredOutput<unknown>;
|
|
58
68
|
/**
|
|
59
69
|
* Deterministic backend operations run BEFORE the agent step (over a checkout-free
|
|
60
70
|
* {@link RepoOp} context): read a baseline artifact into the prompt, etc. Plain TS,
|
|
@@ -108,4 +118,10 @@ export declare function registeredPreOps(kind: AgentKind): RepoOp[];
|
|
|
108
118
|
export declare function registeredPostOps(kind: AgentKind): RepoOp[];
|
|
109
119
|
/** A registered kind's frontend presentation metadata, or undefined when not supplied. */
|
|
110
120
|
export declare function registeredAgentPresentation(kind: AgentKind): AgentPresentation | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* A registered kind's schema-driven structured output (its typed `parse`/`safeParse` + the
|
|
123
|
+
* derived spec), or undefined when the kind isn't registered / declared no schema. A post-op
|
|
124
|
+
* or step-resolver uses this to parse `result.custom` without hand-writing a coercer.
|
|
125
|
+
*/
|
|
126
|
+
export declare function registeredStructuredOutput(kind: AgentKind): StructuredOutput<unknown> | undefined;
|
|
111
127
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,18 @@
|
|
|
4
4
|
const registry = new Map();
|
|
5
5
|
/** Register a custom agent kind. A later registration of the same id replaces the earlier one. */
|
|
6
6
|
export function registerAgentKind(definition) {
|
|
7
|
-
registry.set(definition.kind, definition);
|
|
7
|
+
registry.set(definition.kind, withDerivedOutput(definition));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Derive `agent.output` from a `structuredOutput` schema when the author didn't set it by
|
|
11
|
+
* hand — so a structured kind declares ONE valibot schema and the engine spec falls out of
|
|
12
|
+
* it. An explicit `agent.output` always wins (the author overrode the derivation).
|
|
13
|
+
*/
|
|
14
|
+
function withDerivedOutput(definition) {
|
|
15
|
+
const { structuredOutput, agent } = definition;
|
|
16
|
+
if (!structuredOutput || !agent || agent.output)
|
|
17
|
+
return definition;
|
|
18
|
+
return { ...definition, agent: { ...agent, output: structuredOutput.spec } };
|
|
8
19
|
}
|
|
9
20
|
/** Register several custom agent kinds at once. */
|
|
10
21
|
export function registerAgentKinds(definitions) {
|
|
@@ -74,4 +85,12 @@ export function registeredPostOps(kind) {
|
|
|
74
85
|
export function registeredAgentPresentation(kind) {
|
|
75
86
|
return registry.get(kind)?.presentation;
|
|
76
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* A registered kind's schema-driven structured output (its typed `parse`/`safeParse` + the
|
|
90
|
+
* derived spec), or undefined when the kind isn't registered / declared no schema. A post-op
|
|
91
|
+
* or step-resolver uses this to parse `result.custom` without hand-writing a coercer.
|
|
92
|
+
*/
|
|
93
|
+
export function registeredStructuredOutput(kind) {
|
|
94
|
+
return registry.get(kind)?.structuredOutput;
|
|
95
|
+
}
|
|
77
96
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import type { AgentOutputSpec } from '@cat-factory/kernel';
|
|
3
|
+
/** A schema-backed structured-output descriptor: the engine spec + a typed parser. */
|
|
4
|
+
export interface StructuredOutput<T> {
|
|
5
|
+
/**
|
|
6
|
+
* The {@link AgentOutputSpec} to attach to a kind's `agent.output` — `kind: 'structured'`
|
|
7
|
+
* plus the derived (or overridden) `shapeHint` and the repair / fail-on-unusable flags.
|
|
8
|
+
* `registerAgentKind` spreads this onto `agent.output` automatically when the author
|
|
9
|
+
* declared `structuredOutput` and didn't set `agent.output` by hand.
|
|
10
|
+
*/
|
|
11
|
+
readonly spec: AgentOutputSpec;
|
|
12
|
+
/** Strict parse-or-throw — for callers that must reject a malformed reply. */
|
|
13
|
+
parse(value: unknown): T;
|
|
14
|
+
/**
|
|
15
|
+
* Lenient parse: returns the validated value, or `undefined` when it can't be parsed (so a
|
|
16
|
+
* post-op's existing "no-op when nothing parseable" guard — `if (!parsed) return` — holds).
|
|
17
|
+
* Falls back through valibot's `v.fallback`/`v.optional` defaults, so a schema built with
|
|
18
|
+
* those degrades gracefully exactly like the old hand-written coercer did.
|
|
19
|
+
*/
|
|
20
|
+
safeParse(value: unknown): T | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** Options for {@link defineStructuredOutput}. */
|
|
23
|
+
export interface StructuredOutputOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Override the auto-derived `shapeHint`. Supply this when the schema walker's hint is worse
|
|
26
|
+
* than a hand-written one (e.g. a deeply nested or unusual shape) — it's the same string
|
|
27
|
+
* the harness's one-shot repair call sees on a malformed first reply.
|
|
28
|
+
*/
|
|
29
|
+
shapeHint?: string;
|
|
30
|
+
/** Attempt the one-shot structured-output repair on a malformed reply (default: true). */
|
|
31
|
+
repair?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Fail the run loudly when the agent's FINAL answer is unusable (truncated / empty) instead
|
|
34
|
+
* of laundering it through repair. Opt-in for kinds whose deliverable IS the JSON returned.
|
|
35
|
+
*/
|
|
36
|
+
failOnUnusableFinal?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Define a kind's structured output from a valibot schema: derive the engine
|
|
40
|
+
* {@link AgentOutputSpec} and a typed `parse`/`safeParse`. The inferred output type `T` flows
|
|
41
|
+
* through, so a post-op consuming `safeParse(ctx.result.custom)` is fully typed.
|
|
42
|
+
*/
|
|
43
|
+
export declare function defineStructuredOutput<S extends v.GenericSchema>(schema: S, opts?: StructuredOutputOptions): StructuredOutput<v.InferOutput<S>>;
|
|
44
|
+
//# sourceMappingURL=structured-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-output.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/structured-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAiB1D,sFAAsF;AACtF,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,8EAA8E;IAC9E,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAA;IACxB;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,CAAA;CACzC;AAED,kDAAkD;AAClD,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,EAC9D,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,uBAA4B,GACjC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAgBpC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/**
|
|
3
|
+
* Define a kind's structured output from a valibot schema: derive the engine
|
|
4
|
+
* {@link AgentOutputSpec} and a typed `parse`/`safeParse`. The inferred output type `T` flows
|
|
5
|
+
* through, so a post-op consuming `safeParse(ctx.result.custom)` is fully typed.
|
|
6
|
+
*/
|
|
7
|
+
export function defineStructuredOutput(schema, opts = {}) {
|
|
8
|
+
const shapeHint = opts.shapeHint ?? describeSchema(schema);
|
|
9
|
+
const spec = {
|
|
10
|
+
kind: 'structured',
|
|
11
|
+
shapeHint,
|
|
12
|
+
repair: opts.repair ?? true,
|
|
13
|
+
...(opts.failOnUnusableFinal ? { failOnUnusableFinal: true } : {}),
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
spec,
|
|
17
|
+
parse: (value) => v.parse(schema, value),
|
|
18
|
+
safeParse: (value) => {
|
|
19
|
+
const result = v.safeParse(schema, value);
|
|
20
|
+
return result.success ? result.output : undefined;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function describeSchema(schema) {
|
|
25
|
+
return describe(schema, 0);
|
|
26
|
+
}
|
|
27
|
+
function describe(node, depth) {
|
|
28
|
+
if (!node || typeof node !== 'object')
|
|
29
|
+
return 'any';
|
|
30
|
+
switch (node.type) {
|
|
31
|
+
case 'object': {
|
|
32
|
+
const entries = node.entries ?? {};
|
|
33
|
+
// Guard against pathological depth so a recursive schema can't blow the hint up.
|
|
34
|
+
if (depth > 4)
|
|
35
|
+
return '{ … }';
|
|
36
|
+
const parts = Object.entries(entries).map(([key, value]) => `"${key}": ${describe(value, depth + 1)}`);
|
|
37
|
+
return `{ ${parts.join(', ')} }`;
|
|
38
|
+
}
|
|
39
|
+
case 'array':
|
|
40
|
+
return `[${node.item ? describe(node.item, depth + 1) : 'any'}]`;
|
|
41
|
+
case 'optional':
|
|
42
|
+
case 'nullable':
|
|
43
|
+
case 'nullish':
|
|
44
|
+
case 'fallback':
|
|
45
|
+
// Unwrap the inner schema; the field's presence is already conveyed by the object hint.
|
|
46
|
+
return node.wrapped ? describe(node.wrapped, depth) : 'any';
|
|
47
|
+
case 'picklist':
|
|
48
|
+
case 'enum':
|
|
49
|
+
return (node.options ?? []).map((o) => JSON.stringify(o)).join('|') || 'string';
|
|
50
|
+
case 'literal':
|
|
51
|
+
return JSON.stringify(node.literal);
|
|
52
|
+
case 'number':
|
|
53
|
+
return 'number';
|
|
54
|
+
case 'boolean':
|
|
55
|
+
return 'boolean';
|
|
56
|
+
case 'string':
|
|
57
|
+
return 'string';
|
|
58
|
+
default:
|
|
59
|
+
return node.type ?? 'any';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=structured-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-output.js","sourceRoot":"","sources":["../../../src/agents/kinds/structured-output.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export { type InlineWebSearchOptions, DEFAULT_INLINE_WEB_SEARCH_KINDS, DEFAULT_I
|
|
|
3
3
|
export { type AgentModelConfig, type AgentRouting, type StepModelResolvers, type StepModelInputs, resolveAgentConfig, resolveStepModelRef, resolveInlineModelRef, } from './agents/runtime/routing.js';
|
|
4
4
|
export { systemPromptFor, userPromptFor } from './agents/catalog.js';
|
|
5
5
|
export { TASK_ESTIMATOR_AGENT_KIND } from './agents/prompts/roles.js';
|
|
6
|
-
export { type AgentKindDefinition, registerAgentKind, registerAgentKinds, registeredAgentKind, registeredAgentKinds, registeredKindRequiresContainer, registeredConfigContributions, registeredAgentStep, registeredPreOps, registeredPostOps, registeredAgentPresentation, clearRegisteredAgentKinds, } from './agents/kinds/registry.js';
|
|
6
|
+
export { type AgentKindDefinition, registerAgentKind, registerAgentKinds, registeredAgentKind, registeredAgentKinds, registeredKindRequiresContainer, registeredConfigContributions, registeredAgentStep, registeredPreOps, registeredPostOps, registeredAgentPresentation, registeredStructuredOutput, clearRegisteredAgentKinds, } from './agents/kinds/registry.js';
|
|
7
|
+
export { type StructuredOutput, type StructuredOutputOptions, defineStructuredOutput, } from './agents/kinds/structured-output.js';
|
|
7
8
|
export { type AgentTrait, type AgentTraitDefinition, CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
|
|
8
9
|
export { TESTER_ENVIRONMENT_CONFIG_ID, PLAYWRIGHT_E2E_TARGET_CONFIG_ID, configContributionsFor, configContributionCatalog, } from './agents/kinds/configs.js';
|
|
9
10
|
export { isTestingKind, testingSystemPrompt, testerEnvironmentSection, } from './agents/prompts/testing.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":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAChG,OAAO,EACL,KAAK,sBAAsB,EAC3B,+BAA+B,EAC/B,kCAAkC,EAClC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAIrE,OAAO,EACL,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,EAC7B,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,sBAAsB,GACvB,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EACL,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,KAAK,aAAa,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,GACZ,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,mBAAmB,EACxB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AACxF,OAAO,EACL,KAAK,sBAAsB,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAMpF,OAAO,EACL,KAAK,YAAY,EACjB,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAKnE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,mCAAmC,EACnC,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,KAAK,WAAW,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,GACxC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,qBAAqB,EACrB,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,GACnC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EACL,mBAAmB,EACnB,KAAK,+BAA+B,GACrC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,KAAK,oBAAoB,EACzB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,4CAA4C,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,10 @@ export { TASK_ESTIMATOR_AGENT_KIND } from './agents/prompts/roles.js';
|
|
|
6
6
|
// Installation-level extension point for custom agent kinds (mirrors the model-provider
|
|
7
7
|
// registry seam): a deployment registers extra kinds at startup and the prompt catalog +
|
|
8
8
|
// the Worker's executor routing pick them up.
|
|
9
|
-
export { registerAgentKind, registerAgentKinds, registeredAgentKind, registeredAgentKinds, registeredKindRequiresContainer, registeredConfigContributions, registeredAgentStep, registeredPreOps, registeredPostOps, registeredAgentPresentation, clearRegisteredAgentKinds, } from './agents/kinds/registry.js';
|
|
9
|
+
export { registerAgentKind, registerAgentKinds, registeredAgentKind, registeredAgentKinds, registeredKindRequiresContainer, registeredConfigContributions, registeredAgentStep, registeredPreOps, registeredPostOps, registeredAgentPresentation, registeredStructuredOutput, clearRegisteredAgentKinds, } from './agents/kinds/registry.js';
|
|
10
|
+
// Schema-driven structured output: derive a kind's `agent.output` spec + a typed parser from
|
|
11
|
+
// one valibot schema instead of a hand-written shapeHint string + lenient coercer.
|
|
12
|
+
export { defineStructuredOutput, } from './agents/kinds/structured-output.js';
|
|
10
13
|
// Agent capability traits (standard + custom). `code-aware` gates the engine's folding
|
|
11
14
|
// of the service's best-practice fragments; `spec-aware` appends the in-repo-spec guidance.
|
|
12
15
|
export { CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
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,10 @@
|
|
|
29
29
|
"@ai-sdk/openai-compatible": "^2.0.51",
|
|
30
30
|
"ai": "^6.0.209",
|
|
31
31
|
"handlebars": "^4.7.9",
|
|
32
|
-
"
|
|
33
|
-
"@cat-factory/
|
|
34
|
-
"@cat-factory/
|
|
32
|
+
"valibot": "^1.4.1",
|
|
33
|
+
"@cat-factory/contracts": "0.27.0",
|
|
34
|
+
"@cat-factory/kernel": "0.30.0",
|
|
35
|
+
"@cat-factory/prompt-fragments": "0.7.25"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"typescript": "7.0.1-rc",
|