@cat-factory/agents 0.78.0 → 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/kinds/capabilities.d.ts +76 -0
- package/dist/agents/kinds/capabilities.d.ts.map +1 -0
- package/dist/agents/kinds/capabilities.js +77 -0
- package/dist/agents/kinds/capabilities.js.map +1 -0
- package/dist/agents/kinds/registry.d.ts +72 -1
- package/dist/agents/kinds/registry.d.ts.map +1 -1
- package/dist/agents/kinds/registry.js +94 -0
- package/dist/agents/kinds/registry.js.map +1 -1
- package/dist/agents/kinds/skill.js +1 -1
- package/dist/agents/kinds/skill.js.map +1 -1
- package/dist/agents/prompts/capabilities.d.ts +21 -0
- package/dist/agents/prompts/capabilities.d.ts.map +1 -0
- package/dist/agents/prompts/capabilities.js +55 -0
- package/dist/agents/prompts/capabilities.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/cache.d.ts +37 -7
- package/dist/providers/cache.d.ts.map +1 -1
- package/dist/providers/cache.js +56 -22
- package/dist/providers/cache.js.map +1 -1
- package/dist/providers/cli-inline.d.ts +9 -0
- package/dist/providers/cli-inline.d.ts.map +1 -1
- package/dist/providers/cli-inline.js +12 -2
- package/dist/providers/cli-inline.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/instrumented.d.ts.map +1 -1
- package/dist/providers/instrumented.js +29 -7
- package/dist/providers/instrumented.js.map +1 -1
- package/dist/skillLibrary/SkillRunResolver.d.ts +3 -3
- package/dist/skillLibrary/SkillRunResolver.d.ts.map +1 -1
- package/dist/skillLibrary/SkillRunResolver.js +1 -0
- package/dist/skillLibrary/SkillRunResolver.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { McpServerDefinition, ResolvedSkill } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* A skill shipped IN CODE by a deployment's agent package and registered on the
|
|
4
|
+
* `AgentKindRegistry`. Structurally the content of a `SKILL.md` — the same payload the
|
|
5
|
+
* repo-synced catalog produces — so it reaches the harness through the identical path with
|
|
6
|
+
* nothing downstream branching on origin.
|
|
7
|
+
*
|
|
8
|
+
* The point of a bundled skill is that a custom agent kind can carry its own procedural playbook
|
|
9
|
+
* with no skill library configured, no repo sync, and no GitHub connection: a deployment that
|
|
10
|
+
* installs the package gets the skill.
|
|
11
|
+
*/
|
|
12
|
+
export interface BundledSkillDefinition {
|
|
13
|
+
/** Stable id, referenced from a kind's `skills` and reported on the run. */
|
|
14
|
+
id: string;
|
|
15
|
+
/** The skill name — becomes the native CLI skill directory name and its frontmatter `name`. */
|
|
16
|
+
name: string;
|
|
17
|
+
/** One-line description (the frontmatter `description` the CLI matches against). */
|
|
18
|
+
description: string;
|
|
19
|
+
/** The procedural instructions — the `SKILL.md` body. */
|
|
20
|
+
instructions: string;
|
|
21
|
+
/** Optional resource files, materialised alongside the skill. */
|
|
22
|
+
resources?: {
|
|
23
|
+
relPath: string;
|
|
24
|
+
content: string;
|
|
25
|
+
}[];
|
|
26
|
+
}
|
|
27
|
+
/** A skill an agent kind applies: a registered bundled id, an inline bundled skill, or a catalog ref. */
|
|
28
|
+
export type AgentKindSkillRef = string | BundledSkillDefinition | {
|
|
29
|
+
/**
|
|
30
|
+
* An account-tier repo-synced skill id (`src:<sourceId>:<dirName>`, ADR 0024). Resolved
|
|
31
|
+
* through the engine's `skillResolver`, so it needs the skill library to be configured.
|
|
32
|
+
*/
|
|
33
|
+
catalogSkillId: string;
|
|
34
|
+
/**
|
|
35
|
+
* When true, a skill that cannot be resolved (library unconfigured, skill removed or its
|
|
36
|
+
* source unlinked) is SKIPPED with a note instead of failing the dispatch. Defaults to
|
|
37
|
+
* false: a kind that declares a skill by id is declaring it is required to do the work,
|
|
38
|
+
* and running it without the skill produces work nobody asked for.
|
|
39
|
+
*/
|
|
40
|
+
optional?: boolean;
|
|
41
|
+
};
|
|
42
|
+
/** A tool server an agent kind may call: a registered server id, or an inline definition. */
|
|
43
|
+
export type AgentKindToolRef = string | McpServerDefinition;
|
|
44
|
+
/** A kind's skill declaration, normalised into the two shapes the engine resolves separately. */
|
|
45
|
+
export interface NormalizedSkillRefs {
|
|
46
|
+
/** Bundled skills, already complete — nothing to resolve. */
|
|
47
|
+
bundled: BundledSkillDefinition[];
|
|
48
|
+
/** Catalog references the engine resolves through `skillResolver`. */
|
|
49
|
+
catalog: {
|
|
50
|
+
skillId: string;
|
|
51
|
+
optional: boolean;
|
|
52
|
+
}[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Normalise an agent kind's `skills` declaration, resolving each registered id against `lookup`.
|
|
56
|
+
* An id with no registration is returned in `unknown` rather than thrown on, so the caller
|
|
57
|
+
* decides the severity — boot validation reports it as a startup error (the loud, early place),
|
|
58
|
+
* while a dispatch drops it rather than failing a run over a registry typo it cannot fix.
|
|
59
|
+
*
|
|
60
|
+
* Pure, so the precedence and dedup are unit-testable without a registry or a run.
|
|
61
|
+
*/
|
|
62
|
+
export declare function normalizeSkillRefs(refs: readonly AgentKindSkillRef[] | undefined, lookup: (id: string) => BundledSkillDefinition | undefined): NormalizedSkillRefs & {
|
|
63
|
+
unknown: string[];
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Normalise an agent kind's `toolServers` declaration, resolving each registered id against
|
|
67
|
+
* `lookup`. Unknown ids are reported (never thrown) for the same reason as {@link normalizeSkillRefs};
|
|
68
|
+
* duplicates collapse by server id, so assigning a server a kind already declares is idempotent.
|
|
69
|
+
*/
|
|
70
|
+
export declare function normalizeToolRefs(refs: readonly AgentKindToolRef[] | undefined, lookup: (id: string) => McpServerDefinition | undefined): {
|
|
71
|
+
servers: McpServerDefinition[];
|
|
72
|
+
unknown: string[];
|
|
73
|
+
};
|
|
74
|
+
/** Project a bundled skill definition into the resolved shape the engine puts on the run context. */
|
|
75
|
+
export declare function bundledSkillToResolved(definition: BundledSkillDefinition): ResolvedSkill;
|
|
76
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAc7E;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAA;IACV,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACnD;AAED,yGAAyG;AACzG,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,sBAAsB,GACtB;IACE;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEL,6FAA6F;AAC7F,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,mBAAmB,CAAA;AAE3D,iGAAiG;AACjG,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,OAAO,EAAE,sBAAsB,EAAE,CAAA;IACjC,sEAAsE;IACtE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAClD;AASD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,EAC9C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,GACzD,mBAAmB,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAsB7C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,EAC7C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,GACtD;IAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAevD;AAED,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,sBAAsB,GAAG,aAAa,CAexF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** Whether a skill ref names a repo-synced catalog skill. */
|
|
2
|
+
function isCatalogRef(ref) {
|
|
3
|
+
return typeof ref === 'object' && 'catalogSkillId' in ref;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Normalise an agent kind's `skills` declaration, resolving each registered id against `lookup`.
|
|
7
|
+
* An id with no registration is returned in `unknown` rather than thrown on, so the caller
|
|
8
|
+
* decides the severity — boot validation reports it as a startup error (the loud, early place),
|
|
9
|
+
* while a dispatch drops it rather than failing a run over a registry typo it cannot fix.
|
|
10
|
+
*
|
|
11
|
+
* Pure, so the precedence and dedup are unit-testable without a registry or a run.
|
|
12
|
+
*/
|
|
13
|
+
export function normalizeSkillRefs(refs, lookup) {
|
|
14
|
+
const bundled = [];
|
|
15
|
+
const catalog = [];
|
|
16
|
+
const unknown = [];
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
for (const ref of refs ?? []) {
|
|
19
|
+
if (isCatalogRef(ref)) {
|
|
20
|
+
if (seen.has(ref.catalogSkillId))
|
|
21
|
+
continue;
|
|
22
|
+
seen.add(ref.catalogSkillId);
|
|
23
|
+
catalog.push({ skillId: ref.catalogSkillId, optional: ref.optional === true });
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const definition = typeof ref === 'string' ? lookup(ref) : ref;
|
|
27
|
+
if (!definition) {
|
|
28
|
+
unknown.push(ref);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (seen.has(definition.id))
|
|
32
|
+
continue;
|
|
33
|
+
seen.add(definition.id);
|
|
34
|
+
bundled.push(definition);
|
|
35
|
+
}
|
|
36
|
+
return { bundled, catalog, unknown };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Normalise an agent kind's `toolServers` declaration, resolving each registered id against
|
|
40
|
+
* `lookup`. Unknown ids are reported (never thrown) for the same reason as {@link normalizeSkillRefs};
|
|
41
|
+
* duplicates collapse by server id, so assigning a server a kind already declares is idempotent.
|
|
42
|
+
*/
|
|
43
|
+
export function normalizeToolRefs(refs, lookup) {
|
|
44
|
+
const servers = [];
|
|
45
|
+
const unknown = [];
|
|
46
|
+
const seen = new Set();
|
|
47
|
+
for (const ref of refs ?? []) {
|
|
48
|
+
const definition = typeof ref === 'string' ? lookup(ref) : ref;
|
|
49
|
+
if (!definition) {
|
|
50
|
+
unknown.push(ref);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (seen.has(definition.id))
|
|
54
|
+
continue;
|
|
55
|
+
seen.add(definition.id);
|
|
56
|
+
servers.push(definition);
|
|
57
|
+
}
|
|
58
|
+
return { servers, unknown };
|
|
59
|
+
}
|
|
60
|
+
/** Project a bundled skill definition into the resolved shape the engine puts on the run context. */
|
|
61
|
+
export function bundledSkillToResolved(definition) {
|
|
62
|
+
return {
|
|
63
|
+
skillId: definition.id,
|
|
64
|
+
origin: 'bundled',
|
|
65
|
+
name: definition.name,
|
|
66
|
+
description: definition.description,
|
|
67
|
+
instructions: definition.instructions,
|
|
68
|
+
// A bundled resource is already in memory, so it always carries its body — the
|
|
69
|
+
// "reference by repo path" degradation only exists for a catalog fetch that failed.
|
|
70
|
+
resources: (definition.resources ?? []).map((r) => ({
|
|
71
|
+
path: r.relPath,
|
|
72
|
+
relPath: r.relPath,
|
|
73
|
+
body: r.content,
|
|
74
|
+
})),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/agents/kinds/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { AgentConfigDescriptor, AgentKind, AgentRunContext, AgentStepSpec, RepoOp } from '@cat-factory/kernel';
|
|
1
|
+
import type { AgentConfigDescriptor, AgentKind, AgentRunContext, AgentStepSpec, McpServerDefinition, RepoOp } from '@cat-factory/kernel';
|
|
2
|
+
import type { AgentKindSkillRef, AgentKindToolRef, BundledSkillDefinition } from './capabilities.js';
|
|
3
|
+
import { normalizeSkillRefs, normalizeToolRefs } from './capabilities.js';
|
|
2
4
|
import type { AgentPresentation } from '@cat-factory/contracts';
|
|
3
5
|
import type { AgentTrait, AgentTraitDefinition } from './traits.js';
|
|
4
6
|
import type { AgentTuning } from './tuning.js';
|
|
@@ -113,6 +115,30 @@ export interface AgentKindDefinition {
|
|
|
113
115
|
* container. Omitted ⇒ no post-op.
|
|
114
116
|
*/
|
|
115
117
|
postOps?: RepoOp[];
|
|
118
|
+
/**
|
|
119
|
+
* Skills this kind applies on every run — its procedural playbooks. Each ref is a bundled
|
|
120
|
+
* skill registered on this registry (by id), an inline bundled skill (shipped with the kind),
|
|
121
|
+
* or a `{ catalogSkillId }` reference to an account-tier repo-synced skill. The engine resolves
|
|
122
|
+
* them at dispatch onto `AgentRunContext.skills`, and the container executor installs them
|
|
123
|
+
* harness-aware — natively for claude-code, into `.cat-context/skill/` for Pi/codex.
|
|
124
|
+
*
|
|
125
|
+
* Distinct from the built-in `skill` KIND, which runs ONE skill picked per step
|
|
126
|
+
* (`stepOptions.skillId`): this is a kind saying "my work is always done this way". A step
|
|
127
|
+
* that picks a skill on a kind that also declares some runs both (deduplicated by id).
|
|
128
|
+
* Omitted ⇒ the kind applies no skills of its own.
|
|
129
|
+
*/
|
|
130
|
+
skills?: AgentKindSkillRef[];
|
|
131
|
+
/**
|
|
132
|
+
* Tool servers (MCP) this kind may call — a registered server id or an inline
|
|
133
|
+
* {@link McpServerDefinition}. The engine resolves them at dispatch onto
|
|
134
|
+
* `AgentRunContext.toolServers`, the executor threads their configuration (and any resolved
|
|
135
|
+
* credentials) into the job body, and the harness wires them into the agent CLI.
|
|
136
|
+
*
|
|
137
|
+
* A server the running harness cannot serve (Pi has no MCP client) or whose required
|
|
138
|
+
* credential does not resolve is DROPPED and stated in the prompt, never silently missing.
|
|
139
|
+
* Omitted ⇒ the kind gets the harness's built-in tools only.
|
|
140
|
+
*/
|
|
141
|
+
toolServers?: AgentKindToolRef[];
|
|
116
142
|
/**
|
|
117
143
|
* Frontend display metadata (label / icon / colour / category / result view). The
|
|
118
144
|
* server serialises this into the workspace snapshot so a registered kind becomes a
|
|
@@ -136,6 +162,10 @@ export declare class AgentKindRegistry {
|
|
|
136
162
|
private readonly registry;
|
|
137
163
|
private readonly traitDefinitions;
|
|
138
164
|
private readonly assignedTraits;
|
|
165
|
+
private readonly bundledSkills;
|
|
166
|
+
private readonly toolServerDefinitions;
|
|
167
|
+
private readonly assignedSkills;
|
|
168
|
+
private readonly assignedToolServers;
|
|
139
169
|
constructor();
|
|
140
170
|
/** Register a custom agent kind. A later registration of the same id replaces the earlier one. */
|
|
141
171
|
register(definition: AgentKindDefinition): void;
|
|
@@ -205,6 +235,47 @@ export declare class AgentKindRegistry {
|
|
|
205
235
|
assignTraits(kind: AgentKind, traits: Iterable<AgentTrait>): void;
|
|
206
236
|
/** The extra traits assigned to a kind (empty when none). Unioned into `traitsFor`. */
|
|
207
237
|
assignedTraitsFor(kind: AgentKind): ReadonlySet<AgentTrait>;
|
|
238
|
+
/**
|
|
239
|
+
* Register a bundled skill — a `SKILL.md` payload the deployment ships in code — so any number
|
|
240
|
+
* of kinds can reference it by id. A later registration of the same id replaces the earlier one.
|
|
241
|
+
*/
|
|
242
|
+
registerSkill(definition: BundledSkillDefinition): void;
|
|
243
|
+
/** Register several bundled skills at once. */
|
|
244
|
+
registerSkills(definitions: Iterable<BundledSkillDefinition>): void;
|
|
245
|
+
/** A registered bundled skill, or undefined when the id is unknown. */
|
|
246
|
+
bundledSkill(id: string): BundledSkillDefinition | undefined;
|
|
247
|
+
/**
|
|
248
|
+
* Register a tool server (MCP) so any number of kinds can reference it by id. A later
|
|
249
|
+
* registration of the same id replaces the earlier one — which is also how a deployment
|
|
250
|
+
* REPOINTS a server an installed package registered (e.g. at its own internal endpoint)
|
|
251
|
+
* without forking the package.
|
|
252
|
+
*/
|
|
253
|
+
registerToolServer(definition: McpServerDefinition): void;
|
|
254
|
+
/** Register several tool servers at once. */
|
|
255
|
+
registerToolServers(definitions: Iterable<McpServerDefinition>): void;
|
|
256
|
+
/** A registered tool server, or undefined when the id is unknown. */
|
|
257
|
+
toolServerDefinition(id: string): McpServerDefinition | undefined;
|
|
258
|
+
/**
|
|
259
|
+
* Give an EXISTING kind extra skills — additive, so a deployment attaches its house playbook to
|
|
260
|
+
* a built-in kind (`coder`, `pr-reviewer`) without redefining it. Deduplicated with the kind's
|
|
261
|
+
* own declarations at resolution time.
|
|
262
|
+
*/
|
|
263
|
+
assignSkills(kind: AgentKind, refs: Iterable<AgentKindSkillRef>): void;
|
|
264
|
+
/** Give an EXISTING kind extra tool servers — the {@link assignSkills} analogue. */
|
|
265
|
+
assignToolServers(kind: AgentKind, refs: Iterable<AgentKindToolRef>): void;
|
|
266
|
+
/**
|
|
267
|
+
* Every skill declared for a kind — its own `skills` plus any assigned to it — normalised into
|
|
268
|
+
* the bundled/catalog split the engine resolves, with unknown registered ids reported rather
|
|
269
|
+
* than thrown on (boot validation turns those into a startup error; a dispatch drops them).
|
|
270
|
+
* A kind's OWN declarations come first, so it controls the order its playbooks are applied in.
|
|
271
|
+
*/
|
|
272
|
+
skillsFor(kind: AgentKind): ReturnType<typeof normalizeSkillRefs>;
|
|
273
|
+
/**
|
|
274
|
+
* Every tool server declared for a kind — its own `toolServers` plus any assigned to it —
|
|
275
|
+
* resolved to definitions and deduplicated by server id. Unknown registered ids are reported,
|
|
276
|
+
* not thrown on (see {@link skillsFor}).
|
|
277
|
+
*/
|
|
278
|
+
toolServersFor(kind: AgentKind): ReturnType<typeof normalizeToolRefs>;
|
|
208
279
|
}
|
|
209
280
|
/**
|
|
210
281
|
* A fresh registry pre-loaded with the built-in agent kinds. This is the single place the
|
|
@@ -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,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAyB9D,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,IAAI,EAAE,SAAS,CAAA;IACf;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;IACpD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;IACjD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAA;IAC9C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAaD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAKlE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8C;IAK/E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;
|
|
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,mBAAmB,EACnB,MAAM,EACP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACpG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAyB9D,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,IAAI,EAAE,SAAS,CAAA;IACf;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;IACpD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;IACjD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAA;IAC9C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC5B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAaD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAKlE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8C;IAK/E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IAKvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyC;IAI/E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAC3E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2C;IAE/E,cAIC;IAED,kGAAkG;IAClG,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAE9C;IAED,mDAAmD;IACnD,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAE5D;IAED,4FAA4F;IAC5F,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAEpD;IAED,uDAAuD;IACvD,GAAG,IAAI,mBAAmB,EAAE,CAE3B;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAM1C;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzC;IAED,uFAAuF;IACvF,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAMhD;IAED,sGAAsG;IACtG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAEvD;IAED,4FAA4F;IAC5F,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEnD;IAED,2FAA2F;IAC3F,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAE/C;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAE7D;IAED,uFAAuF;IACvF,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,EAAE,CAE5D;IAED,0FAA0F;IAC1F,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAEpD;IAED,uFAAuF;IACvF,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAEhC;IAED,uFAAuF;IACvF,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAEjC;IAED,0FAA0F;IAC1F,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAE3D;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAEvE;IAED;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEpD;IAED,yDAAyD;IACzD,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAEhE;IAED,2FAA2F;IAC3F,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB,GAAG,SAAS,CAEhE;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAIhE;IAED,uFAAuF;IACvF,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAE1D;IAED;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAEtD;IAED,+CAA+C;IAC/C,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAElE;IAED,uEAAuE;IACvE,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE3D;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAExD;IAED,6CAA6C;IAC7C,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAEpE;IAED,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEhE;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAErE;IAED,oFAAoF;IACpF,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAEzE;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAKhE;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAKpE;CACF;AAiBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAgB5D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { normalizeSkillRefs, normalizeToolRefs } from './capabilities.js';
|
|
1
2
|
import { STANDARD_TRAIT_DEFINITIONS } from './traits.js';
|
|
2
3
|
import { registerBugInvestigatorAgent } from './bug-investigator.js';
|
|
3
4
|
import { registerForkProposerAgent } from './fork-proposer.js';
|
|
@@ -46,6 +47,17 @@ export class AgentKindRegistry {
|
|
|
46
47
|
// Distinct from a kind's STANDARD_AGENT_TRAITS and a registered kind's own `traits`: this
|
|
47
48
|
// seam adds traits to a kind WITHOUT redefining its prompt. Unioned in `traitsFor`.
|
|
48
49
|
assignedTraits = new Map();
|
|
50
|
+
// CAPABILITY definitions shared across kinds: bundled skills (id → the SKILL.md payload the
|
|
51
|
+
// deployment ships in code) and tool servers (id → the MCP server definition). They live here
|
|
52
|
+
// for the same reason traits do — a skill and a tool server are capabilities OF agent kinds,
|
|
53
|
+
// so the whole vocabulary stays on one injectable seam rather than two parallel module `Map`s.
|
|
54
|
+
bundledSkills = new Map();
|
|
55
|
+
toolServerDefinitions = new Map();
|
|
56
|
+
// Capability ASSIGNMENTS to EXISTING kinds — the skills/tool-servers analogue of
|
|
57
|
+
// `assignedTraits`. This is how a deployment gives a BUILT-IN kind (`coder`, `pr-reviewer`)
|
|
58
|
+
// its house playbook or its issue-tracker MCP server without redefining the kind's prompt.
|
|
59
|
+
assignedSkills = new Map();
|
|
60
|
+
assignedToolServers = new Map();
|
|
49
61
|
constructor() {
|
|
50
62
|
for (const definition of STANDARD_TRAIT_DEFINITIONS) {
|
|
51
63
|
this.traitDefinitions.set(definition.id, definition);
|
|
@@ -179,9 +191,91 @@ export class AgentKindRegistry {
|
|
|
179
191
|
assignedTraitsFor(kind) {
|
|
180
192
|
return this.assignedTraits.get(kind) ?? EMPTY_TRAIT_SET;
|
|
181
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Register a bundled skill — a `SKILL.md` payload the deployment ships in code — so any number
|
|
196
|
+
* of kinds can reference it by id. A later registration of the same id replaces the earlier one.
|
|
197
|
+
*/
|
|
198
|
+
registerSkill(definition) {
|
|
199
|
+
this.bundledSkills.set(definition.id, definition);
|
|
200
|
+
}
|
|
201
|
+
/** Register several bundled skills at once. */
|
|
202
|
+
registerSkills(definitions) {
|
|
203
|
+
for (const definition of definitions)
|
|
204
|
+
this.registerSkill(definition);
|
|
205
|
+
}
|
|
206
|
+
/** A registered bundled skill, or undefined when the id is unknown. */
|
|
207
|
+
bundledSkill(id) {
|
|
208
|
+
return this.bundledSkills.get(id);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Register a tool server (MCP) so any number of kinds can reference it by id. A later
|
|
212
|
+
* registration of the same id replaces the earlier one — which is also how a deployment
|
|
213
|
+
* REPOINTS a server an installed package registered (e.g. at its own internal endpoint)
|
|
214
|
+
* without forking the package.
|
|
215
|
+
*/
|
|
216
|
+
registerToolServer(definition) {
|
|
217
|
+
this.toolServerDefinitions.set(definition.id, definition);
|
|
218
|
+
}
|
|
219
|
+
/** Register several tool servers at once. */
|
|
220
|
+
registerToolServers(definitions) {
|
|
221
|
+
for (const definition of definitions)
|
|
222
|
+
this.registerToolServer(definition);
|
|
223
|
+
}
|
|
224
|
+
/** A registered tool server, or undefined when the id is unknown. */
|
|
225
|
+
toolServerDefinition(id) {
|
|
226
|
+
return this.toolServerDefinitions.get(id);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Give an EXISTING kind extra skills — additive, so a deployment attaches its house playbook to
|
|
230
|
+
* a built-in kind (`coder`, `pr-reviewer`) without redefining it. Deduplicated with the kind's
|
|
231
|
+
* own declarations at resolution time.
|
|
232
|
+
*/
|
|
233
|
+
assignSkills(kind, refs) {
|
|
234
|
+
this.assignedSkills.set(kind, [...(this.assignedSkills.get(kind) ?? []), ...refs]);
|
|
235
|
+
}
|
|
236
|
+
/** Give an EXISTING kind extra tool servers — the {@link assignSkills} analogue. */
|
|
237
|
+
assignToolServers(kind, refs) {
|
|
238
|
+
this.assignedToolServers.set(kind, [...(this.assignedToolServers.get(kind) ?? []), ...refs]);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Every skill declared for a kind — its own `skills` plus any assigned to it — normalised into
|
|
242
|
+
* the bundled/catalog split the engine resolves, with unknown registered ids reported rather
|
|
243
|
+
* than thrown on (boot validation turns those into a startup error; a dispatch drops them).
|
|
244
|
+
* A kind's OWN declarations come first, so it controls the order its playbooks are applied in.
|
|
245
|
+
*/
|
|
246
|
+
skillsFor(kind) {
|
|
247
|
+
const own = this.registry.get(kind)?.skills ?? [];
|
|
248
|
+
const assigned = this.assignedSkills.get(kind) ?? [];
|
|
249
|
+
if (own.length === 0 && assigned.length === 0)
|
|
250
|
+
return EMPTY_SKILL_REFS;
|
|
251
|
+
return normalizeSkillRefs([...own, ...assigned], (id) => this.bundledSkills.get(id));
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Every tool server declared for a kind — its own `toolServers` plus any assigned to it —
|
|
255
|
+
* resolved to definitions and deduplicated by server id. Unknown registered ids are reported,
|
|
256
|
+
* not thrown on (see {@link skillsFor}).
|
|
257
|
+
*/
|
|
258
|
+
toolServersFor(kind) {
|
|
259
|
+
const own = this.registry.get(kind)?.toolServers ?? [];
|
|
260
|
+
const assigned = this.assignedToolServers.get(kind) ?? [];
|
|
261
|
+
if (own.length === 0 && assigned.length === 0)
|
|
262
|
+
return EMPTY_TOOL_REFS;
|
|
263
|
+
return normalizeToolRefs([...own, ...assigned], (id) => this.toolServerDefinitions.get(id));
|
|
264
|
+
}
|
|
182
265
|
}
|
|
183
266
|
/** Shared empty set so `assignedTraitsFor` allocates nothing on the common no-assignment path. */
|
|
184
267
|
const EMPTY_TRAIT_SET = new Set();
|
|
268
|
+
// Shared empty results so the no-capability path (every built-in kind, on every dispatch)
|
|
269
|
+
// allocates nothing. Frozen because they are handed to callers.
|
|
270
|
+
const EMPTY_SKILL_REFS = Object.freeze({
|
|
271
|
+
bundled: Object.freeze([]),
|
|
272
|
+
catalog: Object.freeze([]),
|
|
273
|
+
unknown: Object.freeze([]),
|
|
274
|
+
});
|
|
275
|
+
const EMPTY_TOOL_REFS = Object.freeze({
|
|
276
|
+
servers: Object.freeze([]),
|
|
277
|
+
unknown: Object.freeze([]),
|
|
278
|
+
});
|
|
185
279
|
/**
|
|
186
280
|
* A fresh registry pre-loaded with the built-in agent kinds. This is the single place the
|
|
187
281
|
* built-ins are installed — there is no module-load side effect — so every app (and every
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ const SKILL_SYSTEM_PROMPT = [
|
|
|
48
48
|
function skillUserPrompt(context) {
|
|
49
49
|
const lines = [
|
|
50
50
|
`Pipeline: ${context.pipelineName}`,
|
|
51
|
-
...(context.
|
|
51
|
+
...(context.skills?.length ? [`Skills: ${context.skills.map((s) => s.name).join(', ')}`] : []),
|
|
52
52
|
`Task: ${context.block.title}`,
|
|
53
53
|
`Brief: ${context.block.description?.trim() || '(none provided — infer the scope from the title and the skill)'}`,
|
|
54
54
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/agents/kinds/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,8EAA8E;AAC9E,4FAA4F;AAC5F,+FAA+F;AAC/F,0FAA0F;AAC1F,6FAA6F;AAC7F,iGAAiG;AACjG,4FAA4F;AAC5F,qFAAqF;AACrF,8FAA8F;AAC9F,2FAA2F;AAC3F,0EAA0E;AAC1E,EAAE;AACF,+FAA+F;AAC/F,6FAA6F;AAC7F,8FAA8F;AAC9F,mEAAmE;AACnE,EAAE;AACF,oFAAoF;AACpF,8FAA8F;AAC9F,gGAAgG;AAChG,iGAAiG;AACjG,kGAAkG;AAClG,8FAA8F;AAC9F,+FAA+F;AAC/F,8DAA8D;AAC9D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEvC,MAAM,mBAAmB,GAAG;IAC1B,wFAAwF;IACxF,wFAAwF;IACxF,2FAA2F;IAC3F,0FAA0F;IAC1F,6FAA6F;IAC7F,iEAAiE;IACjE,EAAE;IACF,+FAA+F;IAC/F,+FAA+F;IAC/F,2BAA2B;IAC3B,EAAE;IACF,0BAA0B;IAC1B,EAAE;IACF,gBAAgB;CACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,SAAS,eAAe,CAAC,OAAwB;IAC/C,MAAM,KAAK,GAAG;QACZ,aAAa,OAAO,CAAC,YAAY,EAAE;QACnC,GAAG,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/agents/kinds/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AgentRunContext } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* Render the TOOL SERVERS (MCP) section for a dispatch — the extra tools an agent kind declared
|
|
4
|
+
* and the platform actually wired into this run's CLI, plus the ones it could not.
|
|
5
|
+
*
|
|
6
|
+
* Two halves, both load-bearing:
|
|
7
|
+
*
|
|
8
|
+
* - **Available.** A tool an agent was handed but not told about is a tool it does not use, so
|
|
9
|
+
* each server carries its registered `guidance` ("what this is for") and, when the definition
|
|
10
|
+
* restricted them, the exact tool names. The names use the CLI's `mcp__<server>__<tool>`
|
|
11
|
+
* convention so what the prompt says matches what the agent sees in its tool list.
|
|
12
|
+
* - **Unavailable.** A declared server the running harness cannot serve, or whose credential did
|
|
13
|
+
* not resolve, is STATED. Silence would leave the agent to discover the gap mid-run — after it
|
|
14
|
+
* has planned around a tool that was never there — which is exactly the failure the section
|
|
15
|
+
* exists to prevent.
|
|
16
|
+
*
|
|
17
|
+
* Empty string when the kind declared no tool servers (every built-in run), so the prompt is
|
|
18
|
+
* byte-for-byte unchanged for them.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toolServersSection(context: AgentRunContext): string;
|
|
21
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA+BnE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render the TOOL SERVERS (MCP) section for a dispatch — the extra tools an agent kind declared
|
|
3
|
+
* and the platform actually wired into this run's CLI, plus the ones it could not.
|
|
4
|
+
*
|
|
5
|
+
* Two halves, both load-bearing:
|
|
6
|
+
*
|
|
7
|
+
* - **Available.** A tool an agent was handed but not told about is a tool it does not use, so
|
|
8
|
+
* each server carries its registered `guidance` ("what this is for") and, when the definition
|
|
9
|
+
* restricted them, the exact tool names. The names use the CLI's `mcp__<server>__<tool>`
|
|
10
|
+
* convention so what the prompt says matches what the agent sees in its tool list.
|
|
11
|
+
* - **Unavailable.** A declared server the running harness cannot serve, or whose credential did
|
|
12
|
+
* not resolve, is STATED. Silence would leave the agent to discover the gap mid-run — after it
|
|
13
|
+
* has planned around a tool that was never there — which is exactly the failure the section
|
|
14
|
+
* exists to prevent.
|
|
15
|
+
*
|
|
16
|
+
* Empty string when the kind declared no tool servers (every built-in run), so the prompt is
|
|
17
|
+
* byte-for-byte unchanged for them.
|
|
18
|
+
*/
|
|
19
|
+
export function toolServersSection(context) {
|
|
20
|
+
const available = context.toolServers ?? [];
|
|
21
|
+
const unavailable = context.unavailableToolServers ?? [];
|
|
22
|
+
if (!available.length && !unavailable.length)
|
|
23
|
+
return '';
|
|
24
|
+
const lines = ['', '## Tool servers'];
|
|
25
|
+
if (available.length) {
|
|
26
|
+
lines.push('', 'Beyond your built-in tools, these MCP tool servers are connected for this run. Prefer them', 'over guessing or over shelling out when the job matches what they do:');
|
|
27
|
+
for (const server of available) {
|
|
28
|
+
const where = server.transport === 'stdio' ? 'runs in your sandbox' : 'remote service';
|
|
29
|
+
lines.push(`- **${server.label}** (\`${server.id}\`, ${where})`);
|
|
30
|
+
if (server.guidance)
|
|
31
|
+
lines.push(` ${server.guidance}`);
|
|
32
|
+
if (server.tools?.length) {
|
|
33
|
+
lines.push(` Tools: ${server.tools.map((t) => `\`mcp__${server.id}__${t}\``).join(', ')}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (unavailable.length) {
|
|
38
|
+
lines.push('', 'These tool servers are NOT available on this run — do not plan around them, and say so in', 'your report if their absence changed what you could verify:');
|
|
39
|
+
for (const server of unavailable) {
|
|
40
|
+
lines.push(`- ${server.label} (${UNAVAILABLE_REASONS[server.reason]})`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return lines.join('\n');
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Why a declared tool server did not make it into the run, phrased for the AGENT rather than an
|
|
47
|
+
* operator: it needs to know the tool is absent and that trying harder will not produce it, not
|
|
48
|
+
* how the deployment is configured. Keyed off the closed reason union, so a new reason fails the
|
|
49
|
+
* typecheck here rather than rendering as a blank parenthetical.
|
|
50
|
+
*/
|
|
51
|
+
const UNAVAILABLE_REASONS = {
|
|
52
|
+
harness_unsupported: 'not supported by the agent runtime this run uses',
|
|
53
|
+
missing_secret: 'its credential is not configured for this deployment',
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/agents/prompts/capabilities.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAA;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAA;IACxD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACvD,MAAM,KAAK,GAAa,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;IAC/C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,4FAA4F,EAC5F,uEAAuE,CACxE,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAA;YACtF,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,CAAA;YAChE,IAAI,MAAM,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACvD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,2FAA2F,EAC3F,6DAA6D,CAC9D,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,KAAK,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAGrB;IACF,mBAAmB,EAAE,kDAAkD;IACvE,cAAc,EAAE,sDAAsD;CACvE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { type AgentModelConfig, type AgentRouting, type StepModelResolvers, type
|
|
|
4
4
|
export { systemPromptFor, userPromptFor } from './agents/catalog.js';
|
|
5
5
|
export { TASK_ESTIMATOR_AGENT_KIND } from './agents/prompts/roles.js';
|
|
6
6
|
export { type AgentKindDefinition, AgentKindRegistry, defaultAgentKindRegistry, } from './agents/kinds/registry.js';
|
|
7
|
+
export { type AgentKindSkillRef, type AgentKindToolRef, type BundledSkillDefinition, type NormalizedSkillRefs, bundledSkillToResolved, normalizeSkillRefs, normalizeToolRefs, } from './agents/kinds/capabilities.js';
|
|
7
8
|
export { isInlineModelStep, REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, REQUIREMENTS_BRAINSTORM_AGENT_KIND, ARCHITECTURE_BRAINSTORM_AGENT_KIND, } from './agents/kinds/step-surface.js';
|
|
8
9
|
export { type StructuredOutput, type StructuredOutputOptions, defineStructuredOutput, } from './agents/kinds/structured-output.js';
|
|
9
10
|
export { type AgentTrait, type AgentTraitDefinition, CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, INTERVIEW_GATE_TRAIT, BRIEF_STANDARDS_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, traitsFor, hasTrait, traitGuidanceFor, standardsVerbosityFor, } from './agents/kinds/traits.js';
|
|
@@ -17,6 +18,7 @@ export { type VersionedPrompt, type PromptId, PROMPT_VERSIONS, promptVersion, pr
|
|
|
17
18
|
export { KAIZEN_SYSTEM_PROMPT } from './agents/prompts/kaizen.js';
|
|
18
19
|
export { composeSystemPrompt, composeBlockSystemPrompt, standardsDeliveredAsFiles, STANDARDS_CONTEXT_INDEX_FILE, STANDARDS_CONTEXT_FILE_PREFIX, type ComposableBlock, type StandardsDelivery, } from './agents/runtime/fragments.js';
|
|
19
20
|
export { type StandardPhase, STANDARD_PHASES, STANDARD_PHASE_BY_KIND, phaseForKind, standardSystemPrompt, renderStandardUserPrompt, initiativePresetSection, CONTEXT_DIR, } from './agents/prompts/standard.js';
|
|
21
|
+
export { toolServersSection } from './agents/prompts/capabilities.js';
|
|
20
22
|
export { type AcceptanceAgentKind, ACCEPTANCE_AGENT_KINDS, acceptanceSystemPrompt, isAcceptanceKind, testApproachSection, } from './agents/prompts/acceptance.js';
|
|
21
23
|
export { type CompanionDefinition, COMPANIONS, isCompanionKind, companionFor, companionTargets, isContainerBackedCompanion, } from './agents/kinds/companions.js';
|
|
22
24
|
export { companionSystemPrompt } from './agents/prompts/companion.js';
|
|
@@ -53,7 +55,7 @@ export { runRepoOps } from './repo-ops/run.js';
|
|
|
53
55
|
export { blueprintPostOp, specPostOp, specPromotionPostOp } from './repo-ops/builtin.js';
|
|
54
56
|
export { readServiceSpec } from './repo-ops/readServiceSpec.js';
|
|
55
57
|
export { coerceInitiativePlan, canonicalInitiativeJson, hashInitiative, initiativeContentView, renderInitiativeFiles, renderInitiativeTrackerMarkdown, parseInitiativeVersionFile, commitInitiativeTracker, } from './repo-ops/initiative.js';
|
|
56
|
-
export { CompositeModelProvider, CliInlineLanguageModel, type InlineCliRequest, type InlineCliResult, type InlineCliRunner, InstrumentedModelProvider, catFactoryObservability, type InlineObservabilityContext, VendorConcurrencyLimiter, limitModelProvider, vendorConcurrencyLimiterFromEnv, type ModelResolver, type ProviderRegistry, MODEL_SUPPORT_DOCS, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, UI_CONFIGURABLE_DIRECT_PROVIDERS, type CachePolicy,
|
|
58
|
+
export { CompositeModelProvider, CliInlineLanguageModel, type InlineCliRequest, type InlineCliResult, type InlineCliRunner, InstrumentedModelProvider, catFactoryObservability, type InlineObservabilityContext, VendorConcurrencyLimiter, limitModelProvider, vendorConcurrencyLimiterFromEnv, type ModelResolver, type ProviderRegistry, MODEL_SUPPORT_DOCS, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, UI_CONFIGURABLE_DIRECT_PROVIDERS, type CachePolicy, type InputTokenClasses, readInputTokenClasses, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './providers/index.js';
|
|
57
59
|
export { FragmentLibraryService, type FragmentLibraryServiceDependencies, } from './fragmentLibrary/FragmentLibraryService.js';
|
|
58
60
|
export { FragmentSourceService, type FragmentSourceServiceDependencies, type ResolveFragmentInstallationId, } from './fragmentLibrary/FragmentSourceService.js';
|
|
59
61
|
export { DeterministicFragmentSelector } from './fragmentLibrary/DeterministicFragmentSelector.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;AAMrE,OAAO,EACL,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,11 @@ export { TASK_ESTIMATOR_AGENT_KIND } from './agents/prompts/roles.js';
|
|
|
9
9
|
// registers extra kinds by reference on the injected instance. No module-global, no
|
|
10
10
|
// `clear*()`, no external-adapter module-identity gotcha.
|
|
11
11
|
export { AgentKindRegistry, defaultAgentKindRegistry, } from './agents/kinds/registry.js';
|
|
12
|
+
// Agent CAPABILITIES: the skills a kind applies and the tool servers (MCP) it may call.
|
|
13
|
+
// A deployment registers reusable definitions on the same injected registry and references
|
|
14
|
+
// them by id from any number of kinds, or declares one inline on a single kind. See
|
|
15
|
+
// `backend/docs/custom-agents.md` → "Capabilities: skills and tools".
|
|
16
|
+
export { bundledSkillToResolved, normalizeSkillRefs, normalizeToolRefs, } from './agents/kinds/capabilities.js';
|
|
12
17
|
export { isInlineModelStep, REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, REQUIREMENTS_BRAINSTORM_AGENT_KIND, ARCHITECTURE_BRAINSTORM_AGENT_KIND, } from './agents/kinds/step-surface.js';
|
|
13
18
|
// Schema-driven structured output: derive a kind's `agent.output` spec + a typed parser from
|
|
14
19
|
// one valibot schema instead of a hand-written shapeHint string + lenient coercer.
|
|
@@ -35,6 +40,7 @@ export { PROMPT_VERSIONS, promptVersion, promptVersionLabel, promptVersionForKin
|
|
|
35
40
|
export { KAIZEN_SYSTEM_PROMPT } from './agents/prompts/kaizen.js';
|
|
36
41
|
export { composeSystemPrompt, composeBlockSystemPrompt, standardsDeliveredAsFiles, STANDARDS_CONTEXT_INDEX_FILE, STANDARDS_CONTEXT_FILE_PREFIX, } from './agents/runtime/fragments.js';
|
|
37
42
|
export { STANDARD_PHASES, STANDARD_PHASE_BY_KIND, phaseForKind, standardSystemPrompt, renderStandardUserPrompt, initiativePresetSection, CONTEXT_DIR, } from './agents/prompts/standard.js';
|
|
43
|
+
export { toolServersSection } from './agents/prompts/capabilities.js';
|
|
38
44
|
export { ACCEPTANCE_AGENT_KINDS, acceptanceSystemPrompt, isAcceptanceKind, testApproachSection, } from './agents/prompts/acceptance.js';
|
|
39
45
|
export { COMPANIONS, isCompanionKind, companionFor, companionTargets, isContainerBackedCompanion, } from './agents/kinds/companions.js';
|
|
40
46
|
export { companionSystemPrompt } from './agents/prompts/companion.js';
|
|
@@ -130,7 +136,7 @@ export { coerceInitiativePlan, canonicalInitiativeJson, hashInitiative, initiati
|
|
|
130
136
|
// The generic AI provisioning facade: a mixable provider registry + the base,
|
|
131
137
|
// runtime-neutral resolvers. Optional/heavier backends ship as their own packages
|
|
132
138
|
// (e.g. @cat-factory/provider-bedrock) and are mixed into a CompositeModelProvider.
|
|
133
|
-
export { CompositeModelProvider, CliInlineLanguageModel, InstrumentedModelProvider, catFactoryObservability, VendorConcurrencyLimiter, limitModelProvider, vendorConcurrencyLimiterFromEnv, MODEL_SUPPORT_DOCS, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, UI_CONFIGURABLE_DIRECT_PROVIDERS,
|
|
139
|
+
export { CompositeModelProvider, CliInlineLanguageModel, InstrumentedModelProvider, catFactoryObservability, VendorConcurrencyLimiter, limitModelProvider, vendorConcurrencyLimiterFromEnv, MODEL_SUPPORT_DOCS, anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, UI_CONFIGURABLE_DIRECT_PROVIDERS, readInputTokenClasses, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './providers/index.js';
|
|
134
140
|
export { FragmentLibraryService, } from './fragmentLibrary/FragmentLibraryService.js';
|
|
135
141
|
export { FragmentSourceService, } from './fragmentLibrary/FragmentSourceService.js';
|
|
136
142
|
export { DeterministicFragmentSelector } from './fragmentLibrary/DeterministicFragmentSelector.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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"}
|
|
@@ -17,12 +17,42 @@ export declare function promptCacheParams(provider: string, cacheKey: string | n
|
|
|
17
17
|
*/
|
|
18
18
|
export declare function inlineCacheProviderOptions(provider: string): Record<string, unknown>;
|
|
19
19
|
/**
|
|
20
|
-
* The
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
20
|
+
* The three orthogonal input classes of one model call: input processed from scratch, plus
|
|
21
|
+
* the two cache classes. Additive by construction — total input is their sum — which is the
|
|
22
|
+
* invariant every telemetry population site holds.
|
|
23
|
+
*
|
|
24
|
+
* They stay apart because they are priced an order of magnitude apart in OPPOSITE directions:
|
|
25
|
+
* a cache READ is ~0.1× base input, a cache WRITE 1.25–2×, i.e. dearer than fresh. Summed,
|
|
26
|
+
* a repair loop that keeps invalidating and re-writing its prefix is indistinguishable from
|
|
27
|
+
* one riding a warm cache.
|
|
26
28
|
*/
|
|
27
|
-
export
|
|
29
|
+
export interface InputTokenClasses {
|
|
30
|
+
fresh: number;
|
|
31
|
+
cacheRead: number;
|
|
32
|
+
cacheWrite: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Read a provider's usage payload into the three input classes, reconciling the two shapes
|
|
36
|
+
* vendors report in. This is ONE function rather than a "read the cache classes" helper plus
|
|
37
|
+
* a "subtract them" helper, because splitting it made the shape decision a rule the CALLER
|
|
38
|
+
* had to know and pair correctly — and the pairing is the whole subtlety.
|
|
39
|
+
*
|
|
40
|
+
* The shape is decided by WHICH read field the payload carries, and the two classes are read
|
|
41
|
+
* INDEPENDENTLY of each other:
|
|
42
|
+
*
|
|
43
|
+
* - **Inclusive** (OpenAI `prompt_tokens_details.cached_tokens`, DeepSeek
|
|
44
|
+
* `prompt_cache_hit_tokens`): the prompt count is the WHOLE prompt and every cache class the
|
|
45
|
+
* payload reports is a partition of it, so both come off. Subtracting both — not just the
|
|
46
|
+
* read — is what keeps the total we record equal to the vendor's own `prompt_tokens`: an
|
|
47
|
+
* OpenAI-shaped gateway fronting Anthropic (`litellm`, OpenRouter) reports its reads under
|
|
48
|
+
* the OpenAI field AND a `cache_creation_input_tokens` beside it, and reading only one of
|
|
49
|
+
* them would either drop the dearest class or mint input the vendor never billed.
|
|
50
|
+
* - **Exclusive** (Anthropic `cache_read_input_tokens` / `cache_creation_input_tokens`, or the
|
|
51
|
+
* AI SDK's camelCase spellings): `input_tokens` is already fresh-only and the classes sit
|
|
52
|
+
* beside it, so nothing is subtracted.
|
|
53
|
+
*
|
|
54
|
+
* Everything is clamped at 0 and read defensively: the counts come off ONE payload, so a
|
|
55
|
+
* vendor inconsistency must degrade to a sane number rather than mint a negative one.
|
|
56
|
+
*/
|
|
57
|
+
export declare function readInputTokenClasses(usage: unknown): InputTokenClasses;
|
|
28
58
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAE,KAAK,WAAW,EAAE,mBAAmB,EAAE,CAAA;AAEhD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKpF;AAED
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAE,KAAK,WAAW,EAAE,mBAAmB,EAAE,CAAA;AAEhD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKpF;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CA4BvE"}
|
package/dist/providers/cache.js
CHANGED
|
@@ -37,33 +37,67 @@ export function inlineCacheProviderOptions(provider) {
|
|
|
37
37
|
}
|
|
38
38
|
return {};
|
|
39
39
|
}
|
|
40
|
+
const ZERO_INPUT_CLASSES = { fresh: 0, cacheRead: 0, cacheWrite: 0 };
|
|
40
41
|
/**
|
|
41
|
-
* The
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* camelCase `cacheReadInputTokens`). NOTE on the Anthropic shape: its cache reads are
|
|
45
|
-
* reported SEPARATELY from `input_tokens` (they are NOT a subset of it), so a hit-rate
|
|
46
|
-
* computed as cached/prompt can exceed 1 — callers clamp it (see `cacheHitRate`).
|
|
42
|
+
* The first candidate that is a usable token count, else 0. Vendors spell the same figure
|
|
43
|
+
* several ways and occasionally omit or garble one, so a count is only accepted when it is a
|
|
44
|
+
* finite positive number — never coerced, never allowed to go negative.
|
|
47
45
|
*/
|
|
48
|
-
|
|
46
|
+
function firstNumber(...candidates) {
|
|
47
|
+
for (const value of candidates) {
|
|
48
|
+
if (typeof value === 'number' && Number.isFinite(value) && value > 0)
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Read a provider's usage payload into the three input classes, reconciling the two shapes
|
|
55
|
+
* vendors report in. This is ONE function rather than a "read the cache classes" helper plus
|
|
56
|
+
* a "subtract them" helper, because splitting it made the shape decision a rule the CALLER
|
|
57
|
+
* had to know and pair correctly — and the pairing is the whole subtlety.
|
|
58
|
+
*
|
|
59
|
+
* The shape is decided by WHICH read field the payload carries, and the two classes are read
|
|
60
|
+
* INDEPENDENTLY of each other:
|
|
61
|
+
*
|
|
62
|
+
* - **Inclusive** (OpenAI `prompt_tokens_details.cached_tokens`, DeepSeek
|
|
63
|
+
* `prompt_cache_hit_tokens`): the prompt count is the WHOLE prompt and every cache class the
|
|
64
|
+
* payload reports is a partition of it, so both come off. Subtracting both — not just the
|
|
65
|
+
* read — is what keeps the total we record equal to the vendor's own `prompt_tokens`: an
|
|
66
|
+
* OpenAI-shaped gateway fronting Anthropic (`litellm`, OpenRouter) reports its reads under
|
|
67
|
+
* the OpenAI field AND a `cache_creation_input_tokens` beside it, and reading only one of
|
|
68
|
+
* them would either drop the dearest class or mint input the vendor never billed.
|
|
69
|
+
* - **Exclusive** (Anthropic `cache_read_input_tokens` / `cache_creation_input_tokens`, or the
|
|
70
|
+
* AI SDK's camelCase spellings): `input_tokens` is already fresh-only and the classes sit
|
|
71
|
+
* beside it, so nothing is subtracted.
|
|
72
|
+
*
|
|
73
|
+
* Everything is clamped at 0 and read defensively: the counts come off ONE payload, so a
|
|
74
|
+
* vendor inconsistency must degrade to a sane number rather than mint a negative one.
|
|
75
|
+
*/
|
|
76
|
+
export function readInputTokenClasses(usage) {
|
|
49
77
|
if (typeof usage !== 'object' || usage === null)
|
|
50
|
-
return
|
|
78
|
+
return ZERO_INPUT_CLASSES;
|
|
51
79
|
const u = usage;
|
|
52
|
-
// OpenAI
|
|
80
|
+
// The prompt count under the OpenAI wire name, falling back to the Anthropic/AI-SDK ones so
|
|
81
|
+
// a raw vendor payload still yields its fresh figure instead of a silent 0.
|
|
82
|
+
const promptCount = firstNumber(u.prompt_tokens, u.input_tokens, u.inputTokens);
|
|
83
|
+
// Read independently of the read class: on a gateway shape both fields are present, and
|
|
84
|
+
// detecting one must never suppress the other.
|
|
85
|
+
const cacheWrite = firstNumber(u.cache_creation_input_tokens, u.cacheCreationInputTokens);
|
|
53
86
|
const details = u.prompt_tokens_details;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
87
|
+
const openAiCached = typeof details === 'object' && details !== null
|
|
88
|
+
? details.cached_tokens
|
|
89
|
+
: undefined;
|
|
90
|
+
// The presence of an inclusive-shape read field is what identifies the shape, so it is
|
|
91
|
+
// probed for a NUMBER rather than mere presence: a junk value must fall through to the
|
|
92
|
+
// exclusive reading, not commit the payload to a subtraction on a count of 0.
|
|
93
|
+
if (typeof openAiCached === 'number' || typeof u.prompt_cache_hit_tokens === 'number') {
|
|
94
|
+
const cacheRead = firstNumber(openAiCached, u.prompt_cache_hit_tokens);
|
|
95
|
+
return { fresh: Math.max(0, promptCount - cacheRead - cacheWrite), cacheRead, cacheWrite };
|
|
58
96
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const anthropicRead = u.cache_read_input_tokens ?? u.cacheReadInputTokens;
|
|
65
|
-
if (typeof anthropicRead === 'number' && anthropicRead >= 0)
|
|
66
|
-
return anthropicRead;
|
|
67
|
-
return 0;
|
|
97
|
+
return {
|
|
98
|
+
fresh: promptCount,
|
|
99
|
+
cacheRead: firstNumber(u.cache_read_input_tokens, u.cacheReadInputTokens),
|
|
100
|
+
cacheWrite,
|
|
101
|
+
};
|
|
68
102
|
}
|
|
69
103
|
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,kFAAkF;AAClF,sFAAsF;AACtF,mFAAmF;AACnF,wFAAwF;AACxF,uFAAuF;AACvF,iBAAiB;AACjB,EAAE;AACF,kEAAkE;AAClE,gFAAgF;AAChF,uFAAuF;AACvF,4DAA4D;AAC5D,OAAO,EAAoB,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAoB,mBAAmB,EAAE,CAAA;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,QAAmC;IAEnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;IAC5E,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,kFAAkF;AAClF,sFAAsF;AACtF,mFAAmF;AACnF,wFAAwF;AACxF,uFAAuF;AACvF,iBAAiB;AACjB,EAAE;AACF,kEAAkE;AAClE,gFAAgF;AAChF,uFAAuF;AACvF,4DAA4D;AAC5D,OAAO,EAAoB,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAoB,mBAAmB,EAAE,CAAA;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,QAAmC;IAEnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;IAC5E,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAkBD,MAAM,kBAAkB,GAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;AAEvF;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAG,UAAqB;IAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;IACpF,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAA;IAC1E,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,4FAA4F;IAC5F,4EAA4E;IAC5E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;IAC/E,wFAAwF;IACxF,+CAA+C;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAEzF,MAAM,OAAO,GAAG,CAAC,CAAC,qBAAqB,CAAA;IACvC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAC7C,CAAC,CAAE,OAAmC,CAAC,aAAa;QACpD,CAAC,CAAC,SAAS,CAAA;IACf,uFAAuF;IACvF,uFAAuF;IACvF,8EAA8E;IAC9E,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,uBAAuB,KAAK,QAAQ,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAA;QACtE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;IAC5F,CAAC;IAED,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,oBAAoB,CAAC;QACzE,UAAU;KACX,CAAA;AACH,CAAC"}
|
|
@@ -16,8 +16,17 @@ export interface InlineCliResult {
|
|
|
16
16
|
text: string;
|
|
17
17
|
/** `length` when the model hit its output cap (the reviewer rejects a truncated doc). */
|
|
18
18
|
finishReason?: 'stop' | 'length';
|
|
19
|
+
/**
|
|
20
|
+
* The call's token usage, with the input side split into its three orthogonal classes:
|
|
21
|
+
* `inputTokens` is FRESH input only, exclusive of both caches, so the total input is
|
|
22
|
+
* `inputTokens + cacheReadTokens + cacheWriteTokens`. A harness CLI that reports no cache
|
|
23
|
+
* breakdown leaves the two cache fields absent (⇒ 0), which is honest: on that shape the
|
|
24
|
+
* fresh count IS the whole input.
|
|
25
|
+
*/
|
|
19
26
|
usage?: {
|
|
20
27
|
inputTokens?: number;
|
|
28
|
+
cacheReadTokens?: number;
|
|
29
|
+
cacheWriteTokens?: number;
|
|
21
30
|
outputTokens?: number;
|
|
22
31
|
};
|
|
23
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-inline.d.ts","sourceRoot":"","sources":["../../src/providers/cli-inline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,EAG7B,2BAA2B,EAC5B,MAAM,kBAAkB,CAAA;AAczB,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAChC,KAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"cli-inline.d.ts","sourceRoot":"","sources":["../../src/providers/cli-inline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,EAG7B,2BAA2B,EAC5B,MAAM,kBAAkB,CAAA;AAczB,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAChC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;AAsCrF,qBAAa,sBAAuB,YAAW,eAAe;IAK1D,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,QAAQ,CAAC,oBAAoB,EAAG,IAAI,CAAS;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAK;IAErD,YACW,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACP,GAAG,EAAE,eAAe,EACnC;IAEE,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAiB5F;IAEK,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAmBxF;CACF"}
|
|
@@ -17,10 +17,20 @@ function flattenPrompt(prompt) {
|
|
|
17
17
|
return { system: systemParts.join('\n\n'), user: userParts.join('\n\n') };
|
|
18
18
|
}
|
|
19
19
|
function toUsage(usage) {
|
|
20
|
-
const
|
|
20
|
+
const fresh = usage?.inputTokens;
|
|
21
|
+
const cacheRead = usage?.cacheReadTokens ?? 0;
|
|
22
|
+
const cacheWrite = usage?.cacheWriteTokens ?? 0;
|
|
21
23
|
const output = usage?.outputTokens;
|
|
24
|
+
// `noCache` is the fresh count the runner reported; `total` is the whole input side, so the
|
|
25
|
+
// cache classes are added back onto it. Reporting fresh as the total would make a
|
|
26
|
+
// cache-heavy subscription run look nearly free on the trace sink.
|
|
22
27
|
return {
|
|
23
|
-
inputTokens: {
|
|
28
|
+
inputTokens: {
|
|
29
|
+
total: fresh == null ? undefined : fresh + cacheRead + cacheWrite,
|
|
30
|
+
noCache: fresh,
|
|
31
|
+
cacheRead,
|
|
32
|
+
cacheWrite,
|
|
33
|
+
},
|
|
24
34
|
outputTokens: { total: output, text: output, reasoning: 0 },
|
|
25
35
|
};
|
|
26
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-inline.js","sourceRoot":"","sources":["../../src/providers/cli-inline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-inline.js","sourceRoot":"","sources":["../../src/providers/cli-inline.ts"],"names":[],"mappings":"AAyDA,iGAAiG;AACjG,SAAS,aAAa,CAAC,MAA6B;IAClD,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QACD,yFAAyF;IAC3F,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AAC3E,CAAC;AAED,SAAS,OAAO,CAAC,KAA+B;IAC9C,MAAM,KAAK,GAAG,KAAK,EAAE,WAAW,CAAA;IAChC,MAAM,SAAS,GAAG,KAAK,EAAE,eAAe,IAAI,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,KAAK,EAAE,YAAY,CAAA;IAClC,4FAA4F;IAC5F,kFAAkF;IAClF,mEAAmE;IACnE,OAAO;QACL,WAAW,EAAE;YACX,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,GAAG,UAAU;YACjE,OAAO,EAAE,KAAK;YACd,SAAS;YACT,UAAU;SACX;QACD,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;KAC5D,CAAA;AACH,CAAC;AAED,MAAM,OAAO,sBAAsB;IAKtB,QAAQ;IACR,OAAO;IACC,GAAG;IANb,oBAAoB,GAAG,IAAa,CAAA;IACpC,aAAa,GAA6B,EAAE,CAAA;IAErD,YACW,QAAgB,EAChB,OAAe,EACP,GAAoB;wBAF5B,QAAQ;uBACR,OAAO;mBACC,GAAG;IACnB,CAAC;IAEJ,KAAK,CAAC,UAAU,CAAC,OAAmC;QAClD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,MAAM;YACN,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAA;QAC5C,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACjE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;YAC9C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAmC;QAChD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9F,MAAM,MAAM,GAAG,IAAI,cAAc,CAA4B;YAC3D,KAAK,CAAC,UAAU;gBACd,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC1E,MAAM,EAAE,GAAG,GAAG,CAAA;gBACd,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC9C,IAAI,IAAI;oBAAE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC5C,UAAU,CAAC,OAAO,CAAC;oBACjB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,YAAY,EAAE,SAAS,CAAC,YAAY;iBACrC,CAAC,CAAA;gBACF,UAAU,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC;SACF,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;CACF"}
|
|
@@ -5,5 +5,5 @@ export { InstrumentedModelProvider, catFactoryObservability, type InlineObservab
|
|
|
5
5
|
export { VendorConcurrencyLimiter, limitModelProvider, vendorConcurrencyLimiterFromEnv, } from './limited.js';
|
|
6
6
|
export { anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, } from './resolvers.js';
|
|
7
7
|
export { DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, UI_CONFIGURABLE_DIRECT_PROVIDERS, } from './endpoints.js';
|
|
8
|
-
export { type CachePolicy,
|
|
8
|
+
export { type CachePolicy, type InputTokenClasses, readInputTokenClasses, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './cache.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,GAChC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,mCAAmC,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,WAAW,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,GAChC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,mCAAmC,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
|
package/dist/providers/index.js
CHANGED
|
@@ -5,5 +5,5 @@ export { InstrumentedModelProvider, catFactoryObservability, } from './instrumen
|
|
|
5
5
|
export { VendorConcurrencyLimiter, limitModelProvider, vendorConcurrencyLimiterFromEnv, } from './limited.js';
|
|
6
6
|
export { anthropicResolver, baseProviderRegistry, cloudflareRestResolver, openAiCompatibleResolver, openAiResolver, } from './resolvers.js';
|
|
7
7
|
export { DEEPSEEK_BASE_URL, DEFAULT_OPENAI_COMPATIBLE_BASE_URLS, isProxyableProvider, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, resolveOpenAiCompatibleBaseUrl, UI_CONFIGURABLE_DIRECT_PROVIDERS, } from './endpoints.js';
|
|
8
|
-
export {
|
|
8
|
+
export { readInputTokenClasses, inlineCacheProviderOptions, promptCacheParams, providerCachePolicy, } from './cache.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA6C,MAAM,eAAe,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,sBAAsB,GAIvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,GAChC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,mCAAmC,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,gBAAgB,CAAA;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA6C,MAAM,eAAe,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,sBAAsB,GAIvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,GAChC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,mCAAmC,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAGL,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumented.d.ts","sourceRoot":"","sources":["../../src/providers/instrumented.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EACV,0BAA0B,EAE1B,YAAY,EACZ,MAAM,EACN,aAAa,EACb,QAAQ,EACT,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,uBAAuB,EAIxB,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,YAAY,EAAE,0BAA0B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"instrumented.d.ts","sourceRoot":"","sources":["../../src/providers/instrumented.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EACV,0BAA0B,EAE1B,YAAY,EACZ,MAAM,EACN,aAAa,EACb,QAAQ,EACT,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,uBAAuB,EAIxB,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,YAAY,EAAE,0BAA0B,EAAE,CAAA;AAyF1C;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAAY,IAAI,EAAE;QAChB,KAAK,EAAE,aAAa,CAAA;QACpB,SAAS,EAAE,YAAY,CAAA;QACvB,oFAAoF;QACpF,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,wDAAwD;QACxD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;QAClB,2EAA2E;QAC3E,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,EAMA;IAED,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAWpC;IAED,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,IAAI;CAwCb"}
|
|
@@ -20,24 +20,44 @@ export { catFactoryObservability };
|
|
|
20
20
|
// named `inline`. The instrumentation never changes the model's behaviour and never
|
|
21
21
|
// throws into the call.
|
|
22
22
|
/** Read token counts defensively across the AI SDK's flat (v2) and nested (v3) usage shapes. */
|
|
23
|
+
/**
|
|
24
|
+
* Read the SDK's usage into the four orthogonal classes the trace sink carries: `prompt` is
|
|
25
|
+
* FRESH input only, with the two cache classes beside it, so
|
|
26
|
+
* `prompt + cacheRead + cacheWrite` is the total input.
|
|
27
|
+
*
|
|
28
|
+
* The v3 shape already breaks the input down (`{ total, noCache, cacheRead, cacheWrite }`),
|
|
29
|
+
* so the split is read straight off it rather than re-derived; `noCache` is preferred over
|
|
30
|
+
* `total − read − write` because it is what the provider itself reported, and the subtraction
|
|
31
|
+
* is only the fallback for a model that fills `total` but not `noCache`. The v2/flat shape
|
|
32
|
+
* carries no cache breakdown at all, so both classes are 0 and the flat prompt count is
|
|
33
|
+
* already the whole (uncached) input.
|
|
34
|
+
*/
|
|
23
35
|
function readUsage(usage) {
|
|
24
36
|
const u = usage;
|
|
25
37
|
if (!u)
|
|
26
|
-
return { prompt: 0, completion: 0, total: 0 };
|
|
38
|
+
return { prompt: 0, cacheRead: 0, cacheWrite: 0, completion: 0, total: 0 };
|
|
27
39
|
const inputTokens = u.inputTokens;
|
|
28
40
|
const outputTokens = u.outputTokens;
|
|
29
|
-
|
|
41
|
+
const num = (value) => (typeof value === 'number' ? value : 0);
|
|
42
|
+
// v3: nested { total, noCache, cacheRead, cacheWrite }
|
|
30
43
|
if (inputTokens && typeof inputTokens === 'object') {
|
|
31
|
-
const
|
|
44
|
+
const input = inputTokens;
|
|
45
|
+
const cacheRead = num(input.cacheRead);
|
|
46
|
+
const cacheWrite = num(input.cacheWrite);
|
|
47
|
+
const prompt = typeof input.noCache === 'number'
|
|
48
|
+
? input.noCache
|
|
49
|
+
: Math.max(0, num(input.total) - cacheRead - cacheWrite);
|
|
32
50
|
const completion = Number(outputTokens?.total ?? 0);
|
|
33
|
-
const total = typeof u.totalTokens === 'number'
|
|
34
|
-
|
|
51
|
+
const total = typeof u.totalTokens === 'number'
|
|
52
|
+
? u.totalTokens
|
|
53
|
+
: prompt + cacheRead + cacheWrite + completion;
|
|
54
|
+
return { prompt, cacheRead, cacheWrite, completion, total };
|
|
35
55
|
}
|
|
36
|
-
// v2 / legacy flat
|
|
56
|
+
// v2 / legacy flat: no cache breakdown reported.
|
|
37
57
|
const prompt = Number(inputTokens ?? u.promptTokens ?? 0);
|
|
38
58
|
const completion = Number(outputTokens ?? u.completionTokens ?? 0);
|
|
39
59
|
const total = typeof u.totalTokens === 'number' ? u.totalTokens : prompt + completion;
|
|
40
|
-
return { prompt, completion, total };
|
|
60
|
+
return { prompt, cacheRead: 0, cacheWrite: 0, completion, total };
|
|
41
61
|
}
|
|
42
62
|
/** Extract the assistant text from a generate result, across result shapes. */
|
|
43
63
|
function readOutputText(result) {
|
|
@@ -117,6 +137,8 @@ export class InstrumentedModelProvider {
|
|
|
117
137
|
startedAt,
|
|
118
138
|
endedAt,
|
|
119
139
|
promptTokens: usage.prompt,
|
|
140
|
+
cacheReadTokens: usage.cacheRead,
|
|
141
|
+
cacheWriteTokens: usage.cacheWrite,
|
|
120
142
|
completionTokens: usage.completion,
|
|
121
143
|
totalTokens: usage.total,
|
|
122
144
|
finishReason: ok ? readFinishReason(result) : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/providers/instrumented.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,MAAM,IAAI,CAAA;AAUpE,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,8BAA8B,EAC9B,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,oFAAoF;AACpF,sFAAsF;AACtF,kFAAkF;AAClF,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAGlC,sFAAsF;AACtF,iFAAiF;AACjF,6EAA6E;AAC7E,uFAAuF;AACvF,sFAAsF;AACtF,uEAAuE;AACvE,wFAAwF;AACxF,2CAA2C;AAC3C,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,sFAAsF;AACtF,kFAAkF;AAClF,oFAAoF;AACpF,wBAAwB;AAExB,gGAAgG;AAChG,SAAS,SAAS,CAAC,KAAc;
|
|
1
|
+
{"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/providers/instrumented.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GitHubClient, ResolvedSkill, SkillSourceRepository, WorkspaceRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { SkillCatalogService } from './SkillCatalogService.js';
|
|
3
3
|
import type { ResolveSkillInstallationId } from './SkillSourceService.js';
|
|
4
4
|
/** The resolved skill (the `AgentRunContext.skill` payload) + the per-run version pin. */
|
|
5
5
|
export interface ResolvedSkillForRun {
|
|
6
|
-
/** Folded onto `AgentRunContext.
|
|
7
|
-
skill:
|
|
6
|
+
/** Folded onto `AgentRunContext.skills` by the engine and rendered harness-aware by the executor. */
|
|
7
|
+
skill: ResolvedSkill;
|
|
8
8
|
/** Pinned onto the run step (`PipelineStep.skillVersion`) so the run records exactly what ran. */
|
|
9
9
|
version: {
|
|
10
10
|
skillId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillRunResolver.d.ts","sourceRoot":"","sources":["../../src/skillLibrary/SkillRunResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,
|
|
1
|
+
{"version":3,"file":"SkillRunResolver.d.ts","sourceRoot":"","sources":["../../src/skillLibrary/SkillRunResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACZ,aAAa,EAEb,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,0FAA0F;AAC1F,MAAM,WAAW,mBAAmB;IAClC,qGAAqG;IACrG,KAAK,EAAE,aAAa,CAAA;IACpB,kGAAkG;IAClG,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACjE;AAKD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IADvB,YACmB,IAAI,EAAE;QACrB,mBAAmB,EAAE,mBAAmB,CAAA;QACxC,cAAc,EAAE,mBAAmB,CAAA;QACnC,qBAAqB,EAAE,qBAAqB,CAAA;QAC5C,YAAY,EAAE,YAAY,CAAA;QAC1B,qBAAqB,EAAE,0BAA0B,CAAA;QACjD;;;;WAIG;QACH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KACvE,EACC;IAEJ,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IACtD,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAa;IAE9C,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+BtF;IAED;;;;;;OAMG;YACW,cAAc;IA4B5B;;;;OAIG;YACW,gBAAgB;CAmD/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillRunResolver.js","sourceRoot":"","sources":["../../src/skillLibrary/SkillRunResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SkillRunResolver.js","sourceRoot":"","sources":["../../src/skillLibrary/SkillRunResolver.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.80.0",
|
|
4
4
|
"description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"handlebars": "^4.7.9",
|
|
33
33
|
"p-map": "^7.0.6",
|
|
34
34
|
"valibot": "^1.4.2",
|
|
35
|
-
"@cat-factory/contracts": "0.
|
|
36
|
-
"@cat-factory/kernel": "0.
|
|
37
|
-
"@cat-factory/prompt-fragments": "0.15.
|
|
35
|
+
"@cat-factory/contracts": "0.183.0",
|
|
36
|
+
"@cat-factory/kernel": "0.176.0",
|
|
37
|
+
"@cat-factory/prompt-fragments": "0.15.6"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"typescript": "7.0.2",
|
|
41
41
|
"vitest": "^4.1.10",
|
|
42
|
-
"@cat-factory/caching": "0.11.
|
|
42
|
+
"@cat-factory/caching": "0.11.4"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "tsc -b tsconfig.build.json",
|