agentfootprint 6.3.0 → 6.5.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/core/agent/AgentBuilder.js +19 -0
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.js +19 -0
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +30 -0
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/esm/lib/injection-engine/index.js +3 -0
- package/dist/esm/lib/injection-engine/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraph.js +211 -0
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -0
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js +40 -5
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +30 -0
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +30 -0
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/lib/injection-engine/index.js +7 -1
- package/dist/lib/injection-engine/index.js.map +1 -1
- package/dist/lib/injection-engine/skillGraph.js +216 -0
- package/dist/lib/injection-engine/skillGraph.js.map +1 -0
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js +40 -5
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/recorders/observability/commentary/commentaryTemplates.js +30 -0
- package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +17 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +28 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/index.d.ts +1 -0
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts +129 -0
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -0
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -83,6 +83,13 @@ export const defaultCommentaryTemplates = {
|
|
|
83
83
|
'context.injected.custom': '{{appName}} injected a custom piece of context.',
|
|
84
84
|
'skill.activated': '{{appName}} turned on a skill — its tools and instructions are now available.',
|
|
85
85
|
'skill.deactivated': '{{appName}} turned off a skill.',
|
|
86
|
+
// Skill-GRAPH routing (proposal 002): a decision tree or declared edge picked a
|
|
87
|
+
// skill this turn. Narrates WHICH skill + WHY (the matched decision) + what it
|
|
88
|
+
// unlocked. The full decision path + tool list rides the `context.evaluated`
|
|
89
|
+
// event payload (`routing`) for the lens; this prose stays concise.
|
|
90
|
+
'context.routed': '{{appName}} routed to the `{{skillId}}` skill{{matchClause}} — {{toolClause}} now available.',
|
|
91
|
+
'context.routed.matched': ' (matched “{{matchedLabel}}”)',
|
|
92
|
+
'context.routed.default': ' (no specific intent — default)',
|
|
86
93
|
'composition.fork_start': '{{appName}} fanned out into parallel branches.',
|
|
87
94
|
'composition.merge_end': '{{appName}} merged the parallel branches back into one.',
|
|
88
95
|
// Multi-agent / multi-LLM composition narration. Each composition
|
|
@@ -153,6 +160,11 @@ export function selectCommentaryKey(event) {
|
|
|
153
160
|
return 'skill.activated';
|
|
154
161
|
case 'agentfootprint.skill.deactivated':
|
|
155
162
|
return 'skill.deactivated';
|
|
163
|
+
case 'agentfootprint.context.evaluated':
|
|
164
|
+
// Narrate ONLY when a skillGraph() routed a skill this turn (decision tree
|
|
165
|
+
// or declared edge). Otherwise stay silent — bare injection evaluation is
|
|
166
|
+
// plumbing, not pedagogy (matches the slot-mechanics skips below).
|
|
167
|
+
return event.payload.routing && event.payload.routing.length > 0 ? 'context.routed' : null;
|
|
156
168
|
case 'agentfootprint.agent.iteration_start':
|
|
157
169
|
case 'agentfootprint.agent.iteration_end':
|
|
158
170
|
case 'agentfootprint.agent.route_decided':
|
|
@@ -251,6 +263,24 @@ export function extractCommentaryVars(event, ctx, templates = defaultCommentaryT
|
|
|
251
263
|
// {{descClause}}.) Empty summary → empty clause, handled by the templates.
|
|
252
264
|
return { ...base, descClause: (p.contentSummary ?? '').trim() };
|
|
253
265
|
}
|
|
266
|
+
case 'agentfootprint.context.evaluated': {
|
|
267
|
+
// Narrate the first skill-graph route (a decision tree activates exactly
|
|
268
|
+
// one leaf). The matched predicate = the deciding `yes` on the path; for an
|
|
269
|
+
// all-`no` path (the default leaf) there's none → "default" clause. The
|
|
270
|
+
// full path + every route ride the event payload for richer consumers.
|
|
271
|
+
const r = event.payload.routing?.[0];
|
|
272
|
+
if (!r)
|
|
273
|
+
return base;
|
|
274
|
+
const toolCount = r.tools?.length ?? 0;
|
|
275
|
+
const toolClause = toolCount > 0 ? `${toolCount} tool${toolCount === 1 ? '' : 's'}` : 'no new tools';
|
|
276
|
+
const matchedLabel = r.path?.find((s) => s.branch === 'yes')?.label ?? r.label;
|
|
277
|
+
const matchClause = matchedLabel
|
|
278
|
+
? renderCommentary(templates['context.routed.matched'] ?? '', { matchedLabel })
|
|
279
|
+
: r.via === 'tree'
|
|
280
|
+
? templates['context.routed.default'] ?? ''
|
|
281
|
+
: '';
|
|
282
|
+
return { ...base, skillId: r.injectionId, toolClause, matchClause };
|
|
283
|
+
}
|
|
254
284
|
// Most templates only need {{appName}} / {{agentName}} — no token
|
|
255
285
|
// counts, no IDs, no durations make it into prose. Those live in
|
|
256
286
|
// DETAILS.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commentaryTemplates.js","sourceRoot":"","sources":["../../../../../src/recorders/observability/commentary/commentaryTemplates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commentaryTemplates.js","sourceRoot":"","sources":["../../../../../src/recorders/observability/commentary/commentaryTemplates.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,8 +22,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
exports.ConditionalBuilder = exports.Conditional = exports.ParallelBuilder = exports.Parallel = exports.SequenceBuilder = exports.Sequence = exports.defineTool = exports.flowchartAsTool = exports.RunCheckpointError = exports.buildDefaultInstruction = exports.applyOutputSchema = exports.OutputSchemaError = exports.AgentBuilder = exports.Agent = exports.buildAgentMessageApiChart = exports.buildMessageApiChart = exports.LLMCallBuilder = exports.LLMCall = exports.renderStatusLine = exports.selectStatus = exports.defaultStatusTemplates = exports.selectCommentaryKey = exports.renderCommentary = exports.extractCommentaryVars = exports.extractAgentName = exports.defaultCommentaryTemplates = exports.isPaused = exports.isPauseRequest = exports.askHuman = exports.pauseHere = exports.makeRunId = exports.RunnerBase = exports.typedEmit = exports.EmitBridge = exports.BASELINE_SOURCES = exports.ENGINEERED_SOURCES = exports.isBaselineSource = exports.isEngineeredSource = exports.contextEngineering = exports.parseSubflowPath = exports.buildEventMeta = exports.COMPOSITION_KEYS = exports.milestoneFor = exports.stageRole = exports.isInjectionKey = exports.injectionKeyForSlot = exports.INJECTION_KEYS = exports.EventDispatcher = exports.ALL_EVENT_TYPES = exports.EVENT_NAMES = void 0;
|
|
25
|
-
exports.
|
|
26
|
-
exports.validateMessages = exports.composeMessages = exports.defaultThinkingMessages = exports.defaultCommentaryMessages = exports.PolicyHaltError = void 0;
|
|
25
|
+
exports.staticTools = exports.mockMcpClient = exports.mcpClient = exports.indexDocuments = exports.defineRAG = exports.identityNamespace = exports.mockEmbedder = exports.InMemoryStore = exports.SNAPSHOT_PROJECTIONS = exports.MEMORY_TIMING = exports.MEMORY_STRATEGIES = exports.MEMORY_TYPES = exports.defineMemory = exports.llmFactExtractor = exports.patternFactExtractor = exports.llmExtractor = exports.heuristicExtractor = exports.autoPipeline = exports.semanticPipeline = exports.narrativePipeline = exports.factPipeline = exports.ephemeralPipeline = exports.defaultPipeline = exports.SKILL_GRAPH_METADATA_KEY = exports.decide = exports.skillGraph = exports.defineInjection = exports.defineFact = exports.defineSteering = exports.buildReadSkillTool = exports.buildListSkillsTool = exports.SkillRegistry = exports.resolveSurfaceMode = exports.defineSkill = exports.defineInstruction = exports.projectActiveInjection = exports.buildInjectionEngineSubflow = exports.evaluateInjections = exports.encodeSSE = exports.SSEFormatter = exports.toSSE = exports.createProvider = exports.BrowserOpenAIProvider = exports.browserOpenai = exports.BrowserAnthropicProvider = exports.browserAnthropic = exports.mock = exports.MockProvider = exports.LoopBuilder = exports.Loop = void 0;
|
|
26
|
+
exports.validateMessages = exports.composeMessages = exports.defaultThinkingMessages = exports.defaultCommentaryMessages = exports.PolicyHaltError = exports.PermissionPolicy = exports.skillScopedTools = exports.gatedTools = void 0;
|
|
27
27
|
// Side-effect imports — auto-register v2.6+ cache strategies in the
|
|
28
28
|
// strategy registry. Without these, only the wildcard NoOp is
|
|
29
29
|
// registered and `Agent.create({ provider: browserAnthropic({...}) })`
|
|
@@ -221,6 +221,10 @@ Object.defineProperty(exports, "defineSteering", { enumerable: true, get: functi
|
|
|
221
221
|
Object.defineProperty(exports, "defineFact", { enumerable: true, get: function () { return index_js_1.defineFact; } });
|
|
222
222
|
// Unified factory (type-discriminant over the four named factories above)
|
|
223
223
|
Object.defineProperty(exports, "defineInjection", { enumerable: true, get: function () { return index_js_1.defineInjection; } });
|
|
224
|
+
// Declarative skill graph (proposal 002)
|
|
225
|
+
Object.defineProperty(exports, "skillGraph", { enumerable: true, get: function () { return index_js_1.skillGraph; } });
|
|
226
|
+
Object.defineProperty(exports, "decide", { enumerable: true, get: function () { return index_js_1.decide; } });
|
|
227
|
+
Object.defineProperty(exports, "SKILL_GRAPH_METADATA_KEY", { enumerable: true, get: function () { return index_js_1.SKILL_GRAPH_METADATA_KEY; } });
|
|
224
228
|
// Patterns — factory functions composing primitives + core-flow into
|
|
225
229
|
// well-known agent patterns from the research literature.
|
|
226
230
|
__exportStar(require("./patterns/index.js"), exports);
|
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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"}
|
|
@@ -61,6 +61,7 @@ const footprintjs_1 = require("footprintjs");
|
|
|
61
61
|
const typedEmit_js_1 = require("../../recorders/core/typedEmit.js");
|
|
62
62
|
const evaluator_js_1 = require("./evaluator.js");
|
|
63
63
|
const types_js_1 = require("./types.js");
|
|
64
|
+
const skillGraph_js_1 = require("./skillGraph.js");
|
|
64
65
|
/** Empty buckets — turn-1 prior, and the safe default for the mappers. */
|
|
65
66
|
exports.EMPTY_ACTIVE_BY_SLOT = {
|
|
66
67
|
systemPrompt: [],
|
|
@@ -111,6 +112,7 @@ function makeEvaluateStage(injections) {
|
|
|
111
112
|
// Agent's closure-held registry can look up the executable.
|
|
112
113
|
const activePOJOs = evaluation.active.map(types_js_1.projectActiveInjection);
|
|
113
114
|
scope.$setValue('activeInjections', activePOJOs);
|
|
115
|
+
const routing = routingEntriesOf(evaluation.active);
|
|
114
116
|
// Aggregate evaluation metadata is pure OBSERVABILITY — no flow stage
|
|
115
117
|
// reads it — so it goes out the EMIT channel where a recorder/Lens can
|
|
116
118
|
// observe "what was considered, what won, what was skipped and why".
|
|
@@ -126,9 +128,37 @@ function makeEvaluateStage(injections) {
|
|
|
126
128
|
// description) — pair "offered" with "chosen" (activatedInjectionIds) to
|
|
127
129
|
// debug a missed/wrong read_skill call.
|
|
128
130
|
skillCatalog: skillCatalogOf(injections),
|
|
131
|
+
// Routing PROVENANCE for active skill-graph injections — the decision path
|
|
132
|
+
// / edge that reached each. Undefined when none came from a skillGraph().
|
|
133
|
+
...(routing && { routing }),
|
|
129
134
|
});
|
|
130
135
|
};
|
|
131
136
|
}
|
|
137
|
+
/** Per active skill-graph injection: its routing provenance + unlocked tools.
|
|
138
|
+
* Returns undefined when no active injection carries skill-graph metadata, so
|
|
139
|
+
* the emit payload omits `routing` entirely for non-skill-graph runs. */
|
|
140
|
+
function routingEntriesOf(active) {
|
|
141
|
+
const entries = active.flatMap((inj) => {
|
|
142
|
+
const routing = inj.metadata?.[skillGraph_js_1.SKILL_GRAPH_METADATA_KEY];
|
|
143
|
+
if (!routing)
|
|
144
|
+
return [];
|
|
145
|
+
return [
|
|
146
|
+
{
|
|
147
|
+
injectionId: inj.id,
|
|
148
|
+
flavor: inj.flavor,
|
|
149
|
+
via: routing.via,
|
|
150
|
+
...(routing.path && {
|
|
151
|
+
path: routing.path.map((s) => ({ label: s.label, branch: s.branch })),
|
|
152
|
+
}),
|
|
153
|
+
...(routing.label && { label: routing.label }),
|
|
154
|
+
...(routing.from && { from: routing.from }),
|
|
155
|
+
...(routing.triggerKind && { triggerKind: routing.triggerKind }),
|
|
156
|
+
tools: (inj.inject.tools ?? []).map((t) => t.schema.name),
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
});
|
|
160
|
+
return entries.length > 0 ? entries : undefined;
|
|
161
|
+
}
|
|
132
162
|
// ── Stage 3: Route ───────────────────────────────────────────────────────
|
|
133
163
|
/** Partition active injections by the slot(s) each contributes to. Mirrors
|
|
134
164
|
* the slot subflows' own filters so this view matches what they compose.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildInjectionEngineSubflow.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/buildInjectionEngineSubflow.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;;;AAEH,6CAAwC;AAExC,oEAA8D;AAC9D,iDAAoD;AACpD,yCAKoB;
|
|
1
|
+
{"version":3,"file":"buildInjectionEngineSubflow.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/buildInjectionEngineSubflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* factories. See `README.md` in this folder for the full concept.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.defineInjection = exports.defineFact = exports.defineSteering = exports.buildReadSkillTool = exports.buildListSkillsTool = exports.SkillRegistry = exports.resolveSurfaceMode = exports.defineSkill = exports.defineInstruction = exports.buildInjectionEngineSubflow = exports.evaluateInjections = exports.projectActiveInjection = void 0;
|
|
10
|
+
exports.SKILL_GRAPH_METADATA_KEY = exports.decide = exports.skillGraph = exports.defineInjection = exports.defineFact = exports.defineSteering = exports.buildReadSkillTool = exports.buildListSkillsTool = exports.SkillRegistry = exports.resolveSurfaceMode = exports.defineSkill = exports.defineInstruction = exports.buildInjectionEngineSubflow = exports.evaluateInjections = exports.projectActiveInjection = void 0;
|
|
11
11
|
// POJO projection — used by slot subflows + advanced consumers
|
|
12
12
|
var types_js_1 = require("./types.js");
|
|
13
13
|
Object.defineProperty(exports, "projectActiveInjection", { enumerable: true, get: function () { return types_js_1.projectActiveInjection; } });
|
|
@@ -40,4 +40,10 @@ Object.defineProperty(exports, "defineFact", { enumerable: true, get: function (
|
|
|
40
40
|
// factories when you know the flavor at author time.
|
|
41
41
|
var defineInjection_js_1 = require("./factories/defineInjection.js");
|
|
42
42
|
Object.defineProperty(exports, "defineInjection", { enumerable: true, get: function () { return defineInjection_js_1.defineInjection; } });
|
|
43
|
+
// Declarative skill graph (proposal 002) — declare skills + routing edges →
|
|
44
|
+
// graph-derived triggers + a drawable topology. Sugar over the trigger model.
|
|
45
|
+
var skillGraph_js_1 = require("./skillGraph.js");
|
|
46
|
+
Object.defineProperty(exports, "skillGraph", { enumerable: true, get: function () { return skillGraph_js_1.skillGraph; } });
|
|
47
|
+
Object.defineProperty(exports, "decide", { enumerable: true, get: function () { return skillGraph_js_1.decide; } });
|
|
48
|
+
Object.defineProperty(exports, "SKILL_GRAPH_METADATA_KEY", { enumerable: true, get: function () { return skillGraph_js_1.SKILL_GRAPH_METADATA_KEY; } });
|
|
43
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAYH,+DAA+D;AAC/D,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,SAAS;AACT,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,mFAG0C;AAFxC,6IAAA,2BAA2B,OAAA;AAI7B,gFAAgF;AAChF,yEAAoG;AAA3F,yHAAA,iBAAiB,OAAA;AAE1B,6DAOoC;AANlC,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAOpB,uDAA8E;AAArE,iHAAA,aAAa,OAAA;AAEtB,wEAAwE;AACxE,sEAAsE;AACtE,iEAAiE;AACjE,+BAA+B;AAC/B,iDAA8F;AAArF,oHAAA,mBAAmB,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAEhD,mEAA2F;AAAlF,mHAAA,cAAc,OAAA;AAEvB,2DAA+E;AAAtE,2GAAA,UAAU,OAAA;AAEnB,6EAA6E;AAC7E,0EAA0E;AAC1E,qDAAqD;AACrD,qEAIwC;AAHtC,qHAAA,eAAe,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAYH,+DAA+D;AAC/D,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,SAAS;AACT,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,mFAG0C;AAFxC,6IAAA,2BAA2B,OAAA;AAI7B,gFAAgF;AAChF,yEAAoG;AAA3F,yHAAA,iBAAiB,OAAA;AAE1B,6DAOoC;AANlC,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAOpB,uDAA8E;AAArE,iHAAA,aAAa,OAAA;AAEtB,wEAAwE;AACxE,sEAAsE;AACtE,iEAAiE;AACjE,+BAA+B;AAC/B,iDAA8F;AAArF,oHAAA,mBAAmB,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAEhD,mEAA2F;AAAlF,mHAAA,cAAc,OAAA;AAEvB,2DAA+E;AAAtE,2GAAA,UAAU,OAAA;AAEnB,6EAA6E;AAC7E,0EAA0E;AAC1E,qDAAqD;AACrD,qEAIwC;AAHtC,qHAAA,eAAe,OAAA;AAKjB,4EAA4E;AAC5E,8EAA8E;AAC9E,iDAcyB;AAbvB,2GAAA,UAAU,OAAA;AACV,uGAAA,MAAM,OAAA;AACN,yHAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* skillGraph — a declarative, visualizable skill-dependency graph (proposal 002).
|
|
4
|
+
*
|
|
5
|
+
* The consumer declares skills + routing EDGES; `skillGraph()` compiles each edge
|
|
6
|
+
* to the existing injection-engine TRIGGER on the target skill — so the dynamic,
|
|
7
|
+
* token-efficient loading the engine already does becomes *declared* and *drawn*.
|
|
8
|
+
*
|
|
9
|
+
* .entry(skill, { when? }) → trigger: `always` (or `rule` if when)
|
|
10
|
+
* .route(a, b, { onToolReturn }) → trigger on b: `on-tool-return`
|
|
11
|
+
* .route(a, b, { when }) → trigger on b: `rule` over ctx.lastToolResult
|
|
12
|
+
* (a skill with no declared incoming edge keeps its default `llm-activated`
|
|
13
|
+
* trigger — still reachable via `read_skill`, drawn as a dashed "model" edge)
|
|
14
|
+
*
|
|
15
|
+
* v1 is **zero engine change**: the generic evaluator (evaluator.ts) already
|
|
16
|
+
* activates a `'skill'`-flavor Injection by ANY trigger kind. `toMermaid()`
|
|
17
|
+
* renders the declared graph (declared === drawn). Scoped `read_skill` (gating the
|
|
18
|
+
* model-reachable set by graph position) is deferred to v2 — see proposal 002.
|
|
19
|
+
*
|
|
20
|
+
* Edges are model-additive + stateless: each target's trigger is self-contained
|
|
21
|
+
* (it reads `ctx.lastToolResult`), so `from` is informational for the drawing and
|
|
22
|
+
* is NOT enforced — matching the engine's per-iteration evaluation model.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.skillGraph = exports.SKILL_GRAPH_METADATA_KEY = exports.decide = void 0;
|
|
26
|
+
/** Build a decision node. Leaves are skills (an `Injection`); internal nodes are
|
|
27
|
+
* other `decide(...)` results. */
|
|
28
|
+
function decide(predicate, whenTrue, whenFalse, label) {
|
|
29
|
+
return { kind: 'decision', predicate, whenTrue, whenFalse, label };
|
|
30
|
+
}
|
|
31
|
+
exports.decide = decide;
|
|
32
|
+
function isDecisionNode(n) {
|
|
33
|
+
return n.kind === 'decision';
|
|
34
|
+
}
|
|
35
|
+
/** The metadata key carrying a skill's routing provenance. */
|
|
36
|
+
exports.SKILL_GRAPH_METADATA_KEY = 'skillGraph';
|
|
37
|
+
/** Mermaid node ids must be identifier-safe; keep the original id as the label. */
|
|
38
|
+
function nodeId(id) {
|
|
39
|
+
return 'n_' + id.replace(/[^A-Za-z0-9_]/g, '_');
|
|
40
|
+
}
|
|
41
|
+
function toolMatcher(toolName) {
|
|
42
|
+
return typeof toolName === 'string' ? (n) => n === toolName : (n) => toolName.test(n);
|
|
43
|
+
}
|
|
44
|
+
function skillGraph() {
|
|
45
|
+
const skillsById = new Map();
|
|
46
|
+
const entries = [];
|
|
47
|
+
const routes = [];
|
|
48
|
+
let treeRoot;
|
|
49
|
+
const remember = (skill) => {
|
|
50
|
+
if (skill.flavor !== 'skill') {
|
|
51
|
+
throw new Error(`skillGraph: "${skill.id}" is not a skill (flavor='${skill.flavor}').`);
|
|
52
|
+
}
|
|
53
|
+
skillsById.set(skill.id, skill);
|
|
54
|
+
return skill.id;
|
|
55
|
+
};
|
|
56
|
+
const builder = {
|
|
57
|
+
entry(skill, opts) {
|
|
58
|
+
const id = remember(skill);
|
|
59
|
+
entries.push({ id, when: opts?.when, label: opts?.label });
|
|
60
|
+
return builder;
|
|
61
|
+
},
|
|
62
|
+
route(from, to, opts) {
|
|
63
|
+
const fromId = remember(from);
|
|
64
|
+
const toId = remember(to);
|
|
65
|
+
if (opts?.when && opts?.onToolReturn) {
|
|
66
|
+
throw new Error(`skillGraph: route ${fromId}→${toId} sets both 'when' and 'onToolReturn' — pick one.`);
|
|
67
|
+
}
|
|
68
|
+
routes.push({
|
|
69
|
+
fromId,
|
|
70
|
+
toId,
|
|
71
|
+
when: opts?.when,
|
|
72
|
+
onToolReturn: opts?.onToolReturn,
|
|
73
|
+
label: opts?.label,
|
|
74
|
+
});
|
|
75
|
+
return builder;
|
|
76
|
+
},
|
|
77
|
+
tree(root) {
|
|
78
|
+
treeRoot = root;
|
|
79
|
+
return builder;
|
|
80
|
+
},
|
|
81
|
+
build() {
|
|
82
|
+
const skills = [];
|
|
83
|
+
const nodes = [];
|
|
84
|
+
const edges = [];
|
|
85
|
+
if (treeRoot) {
|
|
86
|
+
// Decision-tree mode (v3): compile each leaf to a path-conjunction trigger.
|
|
87
|
+
compileTree(treeRoot, () => true, { skills, nodes, edges }, null, { n: 0 }, []);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// Flat entry/route mode (v1).
|
|
91
|
+
for (const [id, skill] of skillsById) {
|
|
92
|
+
const trigger = deriveTrigger(id, skill, entries, routes);
|
|
93
|
+
const routing = routingFor(id, entries, routes);
|
|
94
|
+
skills.push({
|
|
95
|
+
...skill,
|
|
96
|
+
...(trigger && { trigger }),
|
|
97
|
+
metadata: { ...skill.metadata, [exports.SKILL_GRAPH_METADATA_KEY]: routing },
|
|
98
|
+
});
|
|
99
|
+
nodes.push({ id, kind: 'skill', label: id });
|
|
100
|
+
}
|
|
101
|
+
edges.push(...entries.map((e) => ({ from: null, to: e.id, kind: 'entry', label: e.label })), ...routes.map((r) => ({
|
|
102
|
+
from: r.fromId,
|
|
103
|
+
to: r.toId,
|
|
104
|
+
kind: r.onToolReturn ? 'on-tool-return' : r.when ? 'predicate' : 'model',
|
|
105
|
+
label: r.label ?? (r.onToolReturn ? `on ${String(r.onToolReturn)}` : undefined),
|
|
106
|
+
})));
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
skills,
|
|
110
|
+
edges,
|
|
111
|
+
nodes,
|
|
112
|
+
toMermaid: () => renderMermaid(nodes, edges),
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
return builder;
|
|
117
|
+
}
|
|
118
|
+
exports.skillGraph = skillGraph;
|
|
119
|
+
/** Compile a skill's incoming edges → one injection trigger (or null = keep the
|
|
120
|
+
* skill's default `llm-activated` trigger, i.e. model-reachable via read_skill). */
|
|
121
|
+
function deriveTrigger(id, _skill, entries, routes) {
|
|
122
|
+
// Entry wins: a persistent base (always) or intent-conditional (rule).
|
|
123
|
+
const entry = entries.find((e) => e.id === id);
|
|
124
|
+
if (entry) {
|
|
125
|
+
return entry.when ? { kind: 'rule', activeWhen: entry.when } : { kind: 'always' };
|
|
126
|
+
}
|
|
127
|
+
// Deterministic incoming edges (when / onToolReturn).
|
|
128
|
+
const incoming = routes.filter((r) => r.toId === id && (r.when || r.onToolReturn));
|
|
129
|
+
if (incoming.length === 0)
|
|
130
|
+
return null; // model-reachable — keep default trigger
|
|
131
|
+
// A single bare on-tool-return → the clean native trigger.
|
|
132
|
+
if (incoming.length === 1 && incoming[0].onToolReturn && !incoming[0].when) {
|
|
133
|
+
return { kind: 'on-tool-return', toolName: incoming[0].onToolReturn };
|
|
134
|
+
}
|
|
135
|
+
// Otherwise OR all matchers into one rule over the last tool result.
|
|
136
|
+
const matchers = incoming.map((r) => {
|
|
137
|
+
if (r.onToolReturn) {
|
|
138
|
+
const test = toolMatcher(r.onToolReturn);
|
|
139
|
+
return (ctx) => !!ctx.lastToolResult && test(ctx.lastToolResult.toolName);
|
|
140
|
+
}
|
|
141
|
+
const when = r.when;
|
|
142
|
+
return (ctx) => !!ctx.lastToolResult && when(ctx.lastToolResult);
|
|
143
|
+
});
|
|
144
|
+
return { kind: 'rule', activeWhen: (ctx) => matchers.some((m) => m(ctx)) };
|
|
145
|
+
}
|
|
146
|
+
/** Walk a decision tree → push each leaf skill (with its path-conjunction trigger,
|
|
147
|
+
* earlier-sibling negation baked into the path) plus predicate/skill nodes +
|
|
148
|
+
* branch edges for drawing. */
|
|
149
|
+
function compileTree(node, pathCond, out, parent, counter, path) {
|
|
150
|
+
if (isDecisionNode(node)) {
|
|
151
|
+
const id = `d${counter.n++}`;
|
|
152
|
+
const label = node.label ?? 'decide';
|
|
153
|
+
out.nodes.push({ id, kind: 'predicate', label });
|
|
154
|
+
out.edges.push({
|
|
155
|
+
from: parent ? parent.id : null,
|
|
156
|
+
to: id,
|
|
157
|
+
kind: 'predicate',
|
|
158
|
+
label: parent?.branch,
|
|
159
|
+
});
|
|
160
|
+
compileTree(node.whenTrue, (ctx) => pathCond(ctx) && node.predicate(ctx), out, { id, branch: 'yes' }, counter, [...path, { label, branch: 'yes' }]);
|
|
161
|
+
compileTree(node.whenFalse, (ctx) => pathCond(ctx) && !node.predicate(ctx), out, { id, branch: 'no' }, counter, [...path, { label, branch: 'no' }]);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
if (node.flavor !== 'skill') {
|
|
165
|
+
throw new Error(`skillGraph.tree: leaf "${node.id}" is not a skill (flavor='${node.flavor}').`);
|
|
166
|
+
}
|
|
167
|
+
const routing = { via: 'tree', path };
|
|
168
|
+
out.skills.push({
|
|
169
|
+
...node,
|
|
170
|
+
trigger: { kind: 'rule', activeWhen: pathCond },
|
|
171
|
+
metadata: { ...node.metadata, [exports.SKILL_GRAPH_METADATA_KEY]: routing },
|
|
172
|
+
});
|
|
173
|
+
out.nodes.push({ id: node.id, kind: 'skill', label: node.id });
|
|
174
|
+
out.edges.push({
|
|
175
|
+
from: parent ? parent.id : null,
|
|
176
|
+
to: node.id,
|
|
177
|
+
kind: 'predicate',
|
|
178
|
+
label: parent?.branch,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/** Routing provenance for a flat entry/route skill (the v1 model). */
|
|
183
|
+
function routingFor(id, entries, routes) {
|
|
184
|
+
const entry = entries.find((e) => e.id === id);
|
|
185
|
+
if (entry)
|
|
186
|
+
return { via: 'entry', ...(entry.label && { label: entry.label }) };
|
|
187
|
+
const incoming = routes.filter((r) => r.toId === id && (r.when || r.onToolReturn));
|
|
188
|
+
const first = incoming[0];
|
|
189
|
+
if (first) {
|
|
190
|
+
return {
|
|
191
|
+
via: 'route',
|
|
192
|
+
from: first.fromId,
|
|
193
|
+
...(first.label && { label: first.label }),
|
|
194
|
+
triggerKind: first.onToolReturn ? 'on-tool-return' : 'rule',
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
return { via: 'model' }; // model-reachable via read_skill
|
|
198
|
+
}
|
|
199
|
+
function renderMermaid(nodes, edges) {
|
|
200
|
+
const kindById = new Map(nodes.map((n) => [n.id, n.kind]));
|
|
201
|
+
const ref = (id) => (kindById.get(id) === 'predicate' ? id : nodeId(id));
|
|
202
|
+
const lines = ['flowchart TD', ' __start__([▶ start])'];
|
|
203
|
+
for (const n of nodes) {
|
|
204
|
+
lines.push(n.kind === 'predicate'
|
|
205
|
+
? ` ${n.id}{"${n.label ?? n.id}"}` // predicate → diamond
|
|
206
|
+
: ` ${nodeId(n.id)}["${n.label ?? n.id}"]`);
|
|
207
|
+
}
|
|
208
|
+
for (const e of edges) {
|
|
209
|
+
const from = e.from === null ? '__start__' : ref(e.from);
|
|
210
|
+
const arrow = e.kind === 'model' ? '-.->' : '-->'; // model edges dashed
|
|
211
|
+
const label = e.label ? `|${e.label}|` : '';
|
|
212
|
+
lines.push(` ${from} ${arrow}${label} ${ref(e.to)}`);
|
|
213
|
+
}
|
|
214
|
+
return lines.join('\n');
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=skillGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skillGraph.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/skillGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ const LLM_END = 'agentfootprint.stream.llm_end';
|
|
|
34
34
|
const TOOL_START = 'agentfootprint.stream.tool_start';
|
|
35
35
|
const TOOL_END = 'agentfootprint.stream.tool_end';
|
|
36
36
|
const THINKING_END = 'agentfootprint.stream.thinking_end';
|
|
37
|
+
const CONTEXT_EVALUATED = 'agentfootprint.context.evaluated';
|
|
37
38
|
function asObject(x) {
|
|
38
39
|
if (x != null && typeof x === 'object' && !Array.isArray(x))
|
|
39
40
|
return x;
|
|
@@ -64,6 +65,14 @@ function agentThinkingTrace(options = {}) {
|
|
|
64
65
|
// from the iteration's reasoning blocks); attached to the iteration's first ask
|
|
65
66
|
// (or back-filled onto the answer beat). '' when thinking is off / empty.
|
|
66
67
|
let pendingThinking = '';
|
|
68
|
+
// Skill-graph routing narration to lead the next beat (from `context.evaluated`,
|
|
69
|
+
// which fires before the LLM call) — so the Notepad opens with WHY this skill was
|
|
70
|
+
// chosen. '' when nothing new to say.
|
|
71
|
+
let pendingRouting = '';
|
|
72
|
+
// The last routing line narrated this run. `context.evaluated` re-fires every
|
|
73
|
+
// iteration with the SAME routing while a skill stays active, so we narrate it
|
|
74
|
+
// ONCE (on first route / when the routed skill changes), not every turn.
|
|
75
|
+
let lastRoutingLine = '';
|
|
67
76
|
const byId = new Map();
|
|
68
77
|
// Commentary engine — the SAME one the Lens uses. Merged once: consumer
|
|
69
78
|
// overrides spread over the bundled defaults.
|
|
@@ -87,6 +96,15 @@ function agentThinkingTrace(options = {}) {
|
|
|
87
96
|
const vars = (0, commentaryTemplates_js_1.extractCommentaryVars)(ev, { appName }, templates);
|
|
88
97
|
return (0, commentaryTemplates_js_1.renderCommentary)(templates[key] ?? '', vars);
|
|
89
98
|
}
|
|
99
|
+
/** Prepend this iteration's skill-graph routing line (if any) to a beat's
|
|
100
|
+
* brain, then consume it so only the iteration's FIRST beat leads with it. */
|
|
101
|
+
function leadWithRouting(brain) {
|
|
102
|
+
if (!pendingRouting)
|
|
103
|
+
return brain;
|
|
104
|
+
const lead = pendingRouting;
|
|
105
|
+
pendingRouting = '';
|
|
106
|
+
return brain ? `${lead}\n\n${brain}` : lead;
|
|
107
|
+
}
|
|
90
108
|
function reset() {
|
|
91
109
|
task = '';
|
|
92
110
|
steps = [];
|
|
@@ -94,6 +112,8 @@ function agentThinkingTrace(options = {}) {
|
|
|
94
112
|
pendingCost = { ms: 0, tokens: 0 };
|
|
95
113
|
pendingCostUsed = false;
|
|
96
114
|
pendingThinking = '';
|
|
115
|
+
pendingRouting = '';
|
|
116
|
+
lastRoutingLine = '';
|
|
97
117
|
byId.clear();
|
|
98
118
|
}
|
|
99
119
|
return {
|
|
@@ -102,6 +122,18 @@ function agentThinkingTrace(options = {}) {
|
|
|
102
122
|
if (lastPipelineId !== undefined && e.pipelineId !== lastPipelineId)
|
|
103
123
|
reset();
|
|
104
124
|
lastPipelineId = e.pipelineId;
|
|
125
|
+
if (e.name === CONTEXT_EVALUATED) {
|
|
126
|
+
// Fires before the LLM call — narrate the skill-graph routing (which skill
|
|
127
|
+
// + why) and stash it to lead the next beat. Empty when no skillGraph()
|
|
128
|
+
// routed. Narrate ONCE per distinct routing (it re-fires identically each
|
|
129
|
+
// iteration while a skill stays active).
|
|
130
|
+
const line = narrate(e);
|
|
131
|
+
if (line && line !== lastRoutingLine) {
|
|
132
|
+
pendingRouting = line;
|
|
133
|
+
lastRoutingLine = line;
|
|
134
|
+
}
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
105
137
|
if (e.name === LLM_END) {
|
|
106
138
|
const p = e.payload;
|
|
107
139
|
const cost = {
|
|
@@ -117,7 +149,9 @@ function agentThinkingTrace(options = {}) {
|
|
|
117
149
|
steps.push({
|
|
118
150
|
kind: 'answer',
|
|
119
151
|
to: options.asker ?? 'you',
|
|
120
|
-
|
|
152
|
+
// Single-iteration terminal answer → this is the iteration's first
|
|
153
|
+
// beat, so lead with the routing decision if one happened.
|
|
154
|
+
brain: leadWithRouting(content),
|
|
121
155
|
answer: { headline: headlineOf(content), text: content },
|
|
122
156
|
cost,
|
|
123
157
|
});
|
|
@@ -158,10 +192,11 @@ function agentThinkingTrace(options = {}) {
|
|
|
158
192
|
tool: isSkill ? skillId ?? 'skill' : p.toolName ?? '(tool)',
|
|
159
193
|
toolName: p.toolName,
|
|
160
194
|
input: asObject(p.args),
|
|
161
|
-
// First ask of the iteration carries the LLM's own reasoning
|
|
162
|
-
// asks (and the reasoning-less ones)
|
|
163
|
-
// the Notepad never shows a blank
|
|
164
|
-
|
|
195
|
+
// First ask of the iteration carries the LLM's own reasoning (and leads
|
|
196
|
+
// with the routing decision); later asks (and the reasoning-less ones)
|
|
197
|
+
// fall back to engine commentary so the Notepad never shows a blank
|
|
198
|
+
// line. `leadWithRouting` self-clears, so only the first ask leads.
|
|
199
|
+
brain: leadWithRouting(pendingCostUsed ? narrate(e) : pendingBrain || narrate(e)),
|
|
165
200
|
cost: pendingCostUsed ? { ms: 0, tokens: 0 } : pendingCost, // attribute the LLM cost to the first ask of the iteration
|
|
166
201
|
// The iteration's chain-of-thought rides on its FIRST ask only.
|
|
167
202
|
...(!pendingCostUsed && pendingThinking ? { thinking: pendingThinking } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentThinkingTraceRecorder.js","sourceRoot":"","sources":["../../../src/recorders/observability/AgentThinkingTraceRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAIH,gFAM6C;AAmF7C,MAAM,OAAO,GAAG,+BAA+B,CAAC;AAChD,MAAM,UAAU,GAAG,kCAAkC,CAAC;AACtD,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AAClD,MAAM,YAAY,GAAG,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentThinkingTraceRecorder.js","sourceRoot":"","sources":["../../../src/recorders/observability/AgentThinkingTraceRecorder.ts"],"names":[],"mappings":"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"}
|