agentfootprint 9.89.2 → 9.90.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/dist/conventions.js +146 -46
  3. package/dist/conventions.js.map +1 -1
  4. package/dist/core/LLMCall.js +13 -3
  5. package/dist/core/LLMCall.js.map +1 -1
  6. package/dist/core/agent/buildAgentChart.js +25 -8
  7. package/dist/core/agent/buildAgentChart.js.map +1 -1
  8. package/dist/core/agent/buildAgentMessageApiChart.js +12 -2
  9. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  10. package/dist/core/agent/buildDynamicAgentChart.js +27 -9
  11. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  12. package/dist/core/agent/buildMessageApiChart.js +6 -1
  13. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  14. package/dist/core/flowchartAsTool.js +2 -2
  15. package/dist/core/flowchartAsTool.js.map +1 -1
  16. package/dist/core/runbook/recording.js +5 -4
  17. package/dist/core/runbook/recording.js.map +1 -1
  18. package/dist/core/runbook/runbookAsTool.js +2 -2
  19. package/dist/core/runbook/runbookAsTool.js.map +1 -1
  20. package/dist/core/servableSnapshot.js +35 -83
  21. package/dist/core/servableSnapshot.js.map +1 -1
  22. package/dist/esm/conventions.d.ts +54 -0
  23. package/dist/esm/conventions.js +140 -44
  24. package/dist/esm/conventions.js.map +1 -1
  25. package/dist/esm/core/LLMCall.js +14 -4
  26. package/dist/esm/core/LLMCall.js.map +1 -1
  27. package/dist/esm/core/agent/buildAgentChart.js +26 -9
  28. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  29. package/dist/esm/core/agent/buildAgentMessageApiChart.js +13 -3
  30. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  31. package/dist/esm/core/agent/buildDynamicAgentChart.js +28 -10
  32. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  33. package/dist/esm/core/agent/buildMessageApiChart.js +7 -2
  34. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  35. package/dist/esm/core/flowchartAsTool.d.ts +21 -15
  36. package/dist/esm/core/flowchartAsTool.js +2 -2
  37. package/dist/esm/core/flowchartAsTool.js.map +1 -1
  38. package/dist/esm/core/runbook/recording.d.ts +5 -4
  39. package/dist/esm/core/runbook/recording.js +5 -4
  40. package/dist/esm/core/runbook/recording.js.map +1 -1
  41. package/dist/esm/core/runbook/runbookAsTool.js +2 -2
  42. package/dist/esm/core/runbook/runbookAsTool.js.map +1 -1
  43. package/dist/esm/core/runbook/types.d.ts +11 -7
  44. package/dist/esm/core/servableSnapshot.d.ts +34 -43
  45. package/dist/esm/core/servableSnapshot.js +35 -83
  46. package/dist/esm/core/servableSnapshot.js.map +1 -1
  47. package/dist/esm/index.d.ts +1 -1
  48. package/dist/esm/index.js +5 -0
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/lib/time-travel/milestoneStops.js +29 -9
  51. package/dist/esm/lib/time-travel/milestoneStops.js.map +1 -1
  52. package/dist/index.js +16 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/lib/time-travel/milestoneStops.js +29 -9
  55. package/dist/lib/time-travel/milestoneStops.js.map +1 -1
  56. package/dist/types/conventions.d.ts +54 -0
  57. package/dist/types/conventions.d.ts.map +1 -1
  58. package/dist/types/core/LLMCall.d.ts.map +1 -1
  59. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  60. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  61. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  62. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  63. package/dist/types/core/flowchartAsTool.d.ts +21 -15
  64. package/dist/types/core/flowchartAsTool.d.ts.map +1 -1
  65. package/dist/types/core/runbook/recording.d.ts +5 -4
  66. package/dist/types/core/runbook/recording.d.ts.map +1 -1
  67. package/dist/types/core/runbook/types.d.ts +11 -7
  68. package/dist/types/core/runbook/types.d.ts.map +1 -1
  69. package/dist/types/core/servableSnapshot.d.ts +34 -43
  70. package/dist/types/core/servableSnapshot.d.ts.map +1 -1
  71. package/dist/types/index.d.ts +1 -1
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/lib/time-travel/milestoneStops.d.ts.map +1 -1
  74. package/package.json +3 -3
@@ -14,57 +14,47 @@
14
14
  *
15
15
  * THE DEFECT THIS CLOSES (9.89.1; entry 6 of
16
16
  * docs/design/2026-09-recorded-not-built.md). footprintjs scrubs at COMMIT
17
- * time: a policy-redacted key never
18
- * enters the commit log. But the live state view is not a commit — it is the
19
- * run's own heap — and its scrubbed twin, the *redacted mirror*, is served
20
- * only by `getSnapshot({ redact: true })`. Both tools called `getSnapshot()`
21
- * bare, so the string the model read and the kept record's `sharedState`
22
- * carried the plaintext while the log beside them said `REDACTED`. Two
23
- * mechanisms, each correct, never composed.
17
+ * time: a policy-redacted key never enters the commit log. But the live state
18
+ * view is not a commit — it is the run's own heap — and its scrubbed twin, the
19
+ * *redacted mirror*, is served only by `getSnapshot({ redact: true })`. Both
20
+ * tools called `getSnapshot()` bare, so the string the model read and the kept
21
+ * record's `sharedState` carried the plaintext while the log beside them said
22
+ * `REDACTED`. Two mechanisms, each correct, never composed.
24
23
  *
25
24
  * THE RULE. With a policy set, the served snapshot is footprintjs's redacted
26
- * view, plus one thing that view leaves raw: a subflow's final state.
27
- * `subflowResults[*].treeContext.globalContext` is the subflow's own isolated
28
- * heap (footprintjs `SubflowExecutor` builds the result from the nested
29
- * runtime's `sharedState`, and only the RUN-level runtime keeps a mirror). Its
30
- * `history`, though, is that subflow's commit log — scrubbed at write time
31
- * like the run's — so the served state is the FOLD of that history, through
32
- * footprintjs's own `stateAt`. That is the same construction the run-level
33
- * mirror is (apply the scrubbed patches in order), done at serve time for the
34
- * level footprintjs does not mirror. The subflow's fold base is dropped by the
35
- * same law footprintjs applies to the run's (`ExecutionRuntime.getSnapshot`:
36
- * the base never passed a policy, so it is omitted rather than served) — a
37
- * subflow runtime is created bare (`SubflowExecutor`, through 9.19.1), so that
38
- * base is `{}` and nothing is lost; the omission is there for the day it is not.
25
+ * view, exactly the object `getSnapshot({ redact: true })` returns — not a
26
+ * copy, not a second scrub. Without a policy it is `executor.getSnapshot()`,
27
+ * byte for byte: no mirror, the fold bases present, exactly the path both
28
+ * tools had.
39
29
  *
40
- * Without a policy this is `executor.getSnapshot()`, byte for byte: no
41
- * mirror, no fold, the fold bases present, exactly the path both tools had.
30
+ * WHAT IT NO LONGER HAS TO DO (9.89.3). Through footprintjs 9.19.x the
31
+ * redacted view left ONE surface raw: a subflow's final state
32
+ * (`subflowResults[*].treeContext.globalContext`, and its per-iteration `#n`
33
+ * twin) was the subflow's own isolated heap, because only the run-level
34
+ * runtime kept a mirror. So this function refolded each subflow's scrubbed
35
+ * `history` through footprintjs's `stateAt` before serving — the mirror's own
36
+ * construction, done at serve time, one level down. footprintjs 9.20.0 closed
37
+ * that limit at the root: a subflow keeps its own mirror whenever the run
38
+ * does, and the served state IS that mirror (equal to the fold over its
39
+ * scrubbed history; `engine/handlers/servedSubflowResults.ts` substitutes it
40
+ * once per mount, so the path key and the `#n` twin still name ONE object).
41
+ * A refold kept here would be a SECOND owner of the same rule — two owners
42
+ * drift — so it is gone. `test/core/flowchartAsTool.redact.test.ts` §7 pins
43
+ * both halves: the substrate's own redacted view holds the placeholder (red
44
+ * on 9.19.x), and this function serves that very object.
42
45
  *
43
- * WHAT IT CANNOT DO — and what it no longer has to (9.89.2). A served view is
44
- * as clean as the log it is built from, and since footprintjs 9.19.0 the log
45
- * is clean: ONE policy covers everything the run retains or serves — the
46
- * commit log in both encodings, the redacted mirror, `stageReads` /
47
- * `stageWrites`, recorder events and the narrative, a subflow's `inputMapper`
48
- * seed (its `history[0]` and its narrated `Input:` line) and its
49
- * `outputMapper` merge-back into the parent, `fields` dot-paths in the log and
50
- * the mirror — and NEVER the live heap the run computes on nor the resume
51
- * checkpoint. The five places footprintjs 9.18 left plaintext in the record
52
- * (dot-path fields, merge-back, seed, seed narrative, tracked reads — each a
53
- * write or a read past the scope facade) are closed at the root by its
54
- * `RedactionRule`, which `StageContext` asks on every staged write and every
55
- * tracked read; `test/core/flowchartAsTool.redact.test.ts` §6 asserts each
56
- * one closed, red on 9.18. ONE limit remains, and it is the one this function
57
- * exists for: `subflowResults[*].treeContext.globalContext` (and its `#n`
58
- * twin) is the subflow's raw heap even under `getSnapshot({ redact: true })`
59
- * — only the run-level runtime keeps a mirror — so the refold above is the
60
- * answer, pinned in §7 of the same file. The resume checkpoint
61
- * (`err.checkpoint` on a paused run) is not a served view: resumption must
62
- * replay against real values, and it is handed to the agent loop, never to a
63
- * model.
46
+ * WHAT IT CANNOT DO. The resume checkpoint (`err.checkpoint` on a paused run)
47
+ * is not a served view: resumption must replay against real values, and it is
48
+ * handed to the agent loop, never to a model. And the redacted view OMITS the
49
+ * run's `initialState` (footprintjs `ExecutionRuntime.getSnapshot`: the raw
50
+ * pre-run seed never passed a policy, so it is dropped rather than served), so
51
+ * a fold of a kept record reports `basis: 'log-only'`; a subflow's
52
+ * `treeContext.initialState` travels as footprintjs serves it (9.20.0 keeps
53
+ * it — the nested runtime's base BEFORE its seed, which is a commit of its
54
+ * own, `history[0]`).
64
55
  */
65
56
  Object.defineProperty(exports, "__esModule", { value: true });
66
57
  exports.servableSnapshot = void 0;
67
- const trace_1 = require("footprintjs/trace");
68
58
  /**
69
59
  * The snapshot a chart-backed tool may hand outward.
70
60
  *
@@ -73,45 +63,7 @@ const trace_1 = require("footprintjs/trace");
73
63
  * snapshot, exactly as `executor.getSnapshot()` returns it
74
64
  */
75
65
  function servableSnapshot(executor, policy) {
76
- if (policy === undefined)
77
- return executor.getSnapshot();
78
- const view = executor.getSnapshot({ redact: true });
79
- if (view.subflowResults === undefined)
80
- return view;
81
- return { ...view, subflowResults: refoldSubflowStates(view.subflowResults) };
66
+ return policy === undefined ? executor.getSnapshot() : executor.getSnapshot({ redact: true });
82
67
  }
83
68
  exports.servableSnapshot = servableSnapshot;
84
- /**
85
- * Rewrite every subflow entry's final state as the fold of its own scrubbed
86
- * log. `subflowResults` is dual-keyed (subflow path AND mount runtimeStageId
87
- * name the SAME object), so the fold runs once per object and both keys keep
88
- * pointing at one entry — the shape a consumer already relies on.
89
- */
90
- function refoldSubflowStates(results) {
91
- const refolded = new Map();
92
- const out = {};
93
- for (const [key, entry] of Object.entries(results)) {
94
- if (!refolded.has(entry))
95
- refolded.set(entry, refoldOne(entry));
96
- out[key] = refolded.get(entry);
97
- }
98
- return out;
99
- }
100
- function refoldOne(entry) {
101
- if (!isSubflowStateEntry(entry))
102
- return entry;
103
- const { initialState: _droppedBase, ...treeContext } = entry.treeContext;
104
- void _droppedBase;
105
- // Log-only on purpose — see the module note on the fold base.
106
- const { state } = (0, trace_1.stateAt)({ history: treeContext.history }, treeContext.history.length - 1);
107
- return { ...entry, treeContext: { ...treeContext, globalContext: state } };
108
- }
109
- function isSubflowStateEntry(entry) {
110
- if (entry === null || typeof entry !== 'object')
111
- return false;
112
- const treeContext = entry.treeContext;
113
- return (treeContext !== null &&
114
- typeof treeContext === 'object' &&
115
- Array.isArray(treeContext.history));
116
- }
117
69
  //# sourceMappingURL=servableSnapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"servableSnapshot.js","sourceRoot":"","sources":["../../src/core/servableSnapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;;;AAGH,6CAA4C;AAa5C;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,QAA2B,EAC3B,MAAmC;IAEnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AAC/E,CAAC;AARD,4CAQC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;IACzE,KAAK,YAAY,CAAC;IAClB,8DAA8D;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,eAAO,EAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5F,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,WAAW,GAAI,KAAmC,CAAC,WAAW,CAAC;IACrE,OAAO,CACL,WAAW,KAAK,IAAI;QACpB,OAAO,WAAW,KAAK,QAAQ;QAC/B,KAAK,CAAC,OAAO,CAAE,WAAqC,CAAC,OAAO,CAAC,CAC9D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"servableSnapshot.js","sourceRoot":"","sources":["../../src/core/servableSnapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;;;AAIH;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,QAA2B,EAC3B,MAAmC;IAEnC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAChG,CAAC;AALD,4CAKC"}
@@ -256,6 +256,8 @@ export interface Milestone {
256
256
  /** Human-readable base label ("LLM turn"); the renderer may add an ordinal. */
257
257
  readonly label: string;
258
258
  }
259
+ /** Every {@link MilestoneKind}, for validating a kind read off a recording. */
260
+ export declare const MILESTONE_KINDS: readonly MilestoneKind[];
259
261
  /**
260
262
  * Classify a stage id into a {@link Milestone}, or `null` when the stage is NOT
261
263
  * a milestone boundary (its commits fold into the surrounding milestone's
@@ -263,12 +265,64 @@ export interface Milestone {
263
265
  * the Lens consumes it to build the time-travel slider (see
264
266
  * agentfootprint-lens `cursorPositionsAtDrill`).
265
267
  *
268
+ * **Since 9.90.0 this is the FALLBACK, not the fact.** The charts declare the
269
+ * same milestones as tags at build time ({@link milestoneTagsFor}), footprintjs
270
+ * 9.21 stamps them on the stage's first commit bundle (`CommitBundle.tags`), and
271
+ * `milestoneStops` reads the bundle first — it derives from the id only for a
272
+ * bundle that carries no tags (a recording made before 9.90.0). Every milestone
273
+ * stage is declared, slot branch mounts included (footprintjs 9.21.1). Same
274
+ * table either way, so the two readings agree.
275
+ *
266
276
  * Mirrors {@link stageRole}: accepts a runtimeStageId (`call-llm#17`), a
267
277
  * path-qualified id (`sf-llm-call/call-llm`), or a bare local id — only the
268
278
  * LOCAL stage segment matters, so it works at any nesting depth and for both
269
279
  * commit ids and subflow-group ids.
270
280
  */
271
281
  export declare function milestoneFor(id: string): Milestone | null;
282
+ /** Prefix of the tag that names a milestone's KIND: `milestone:llm-turn`. */
283
+ export declare const MILESTONE_TAG_PREFIX = "milestone:";
284
+ /** Prefix of the tag that names a milestone's LABEL: `milestone-label:LLM turn`. */
285
+ export declare const MILESTONE_LABEL_TAG_PREFIX = "milestone-label:";
286
+ /** The kind tag for a {@link MilestoneKind} — `'milestone:' + kind`. */
287
+ export declare function milestoneTag(kind: MilestoneKind): string;
288
+ /**
289
+ * The tags that DECLARE a {@link Milestone} on a stage: its kind tag and its
290
+ * label tag, in that order. What a declaration site spreads into `.tag(...)`
291
+ * or `{ tags }`; what {@link milestoneFromTags} reads back.
292
+ */
293
+ export declare function milestoneTags(milestone: Milestone): readonly string[];
294
+ /**
295
+ * The tags to declare on the stage with this LOCAL id, from the same table
296
+ * {@link milestoneFor} reads — so a chart-building site names the id it is
297
+ * mounting and never spells a kind or a label. Throws at build time for an id
298
+ * the table does not classify: a declaration site that is not a milestone is
299
+ * a wiring mistake, and a silent no-op would be a forgotten tag by another name.
300
+ *
301
+ * @example
302
+ * ```ts
303
+ * builder
304
+ * .addFunction('CallLLM', callLLM, STAGE_IDS.CALL_LLM, 'LLM invocation')
305
+ * .tag(...milestoneTagsFor(STAGE_IDS.CALL_LLM)); // 'milestone:llm-turn', 'milestone-label:LLM turn'
306
+ * ```
307
+ */
308
+ export declare function milestoneTagsFor(localStageId: string): readonly string[];
309
+ /**
310
+ * Read a {@link Milestone} back off a commit bundle's declared `tags`, or
311
+ * `null` when they carry no milestone kind tag. The kind must be one of
312
+ * {@link MILESTONE_KINDS}; the label is the `milestone-label:` tag when one was
313
+ * declared, else `labelWhenUndeclared` (a reader passes the stop's own label —
314
+ * the chart's word for the stage), else the kind itself. A stored row is
315
+ * `unknown[]`-shaped until narrowed: non-strings are ignored, never a milestone.
316
+ *
317
+ * @example
318
+ * ```ts
319
+ * milestoneFromTags(['milestone:llm-turn', 'milestone-label:LLM turn']);
320
+ * // { kind: 'llm-turn', label: 'LLM turn' }
321
+ * milestoneFromTags(['audit']); // null — tagged, but not a milestone
322
+ * milestoneFromTags(undefined); // null — an untagged bundle
323
+ * ```
324
+ */
325
+ export declare function milestoneFromTags(tags: readonly unknown[] | undefined, labelWhenUndeclared?: string): Milestone | null;
272
326
  /**
273
327
  * Scope-key convention for context injections.
274
328
  *
@@ -317,6 +317,54 @@ export function stageRole(id) {
317
317
  return 'plumbing';
318
318
  return 'boundary'; // unknown → neutral (never silently muted)
319
319
  }
320
+ /** Every {@link MilestoneKind}, for validating a kind read off a recording. */
321
+ export const MILESTONE_KINDS = Object.freeze([
322
+ 'iteration',
323
+ 'slot',
324
+ 'llm-turn',
325
+ 'tool-call',
326
+ 'decision',
327
+ ]);
328
+ const milestone = (kind, label) => Object.freeze({ kind, label });
329
+ /**
330
+ * THE milestone table — local stage id → {@link Milestone}. One owner, two
331
+ * readers: {@link milestoneFor} classifies an id from a recording made BEFORE
332
+ * the chart declared tags (9.90.0), and {@link milestoneTagsFor} is what every
333
+ * chart-building site declares from, so the fact stamped on the commit bundle
334
+ * and the fallback derived from the id can never disagree.
335
+ */
336
+ const MILESTONES = new Map([
337
+ // Loop entry — one per ReAct iteration. INJECTION_ENGINE is the flat loop
338
+ // target; LLM_CALL is the subflow-shape loop target.
339
+ [SUBFLOW_IDS.INJECTION_ENGINE, milestone('iteration', 'Iteration')],
340
+ [SUBFLOW_IDS.LLM_CALL, milestone('iteration', 'Iteration')],
341
+ // Context slots — one stop per slot that was engineered THIS iteration. In
342
+ // dynamic mode all three appear every turn; in classic mode only the slot
343
+ // that actually re-ran (Messages) appears after turn 1 — so scrubbing shows
344
+ // exactly "which slot got updated."
345
+ [SUBFLOW_IDS.SYSTEM_PROMPT, milestone('slot', 'System prompt')],
346
+ [SUBFLOW_IDS.MESSAGES, milestone('slot', 'Messages')],
347
+ [SUBFLOW_IDS.TOOLS, milestone('slot', 'Tools')],
348
+ [STAGE_IDS.CALL_LLM, milestone('llm-turn', 'LLM turn')],
349
+ [STAGE_IDS.MERGE_LLM, milestone('llm-turn', 'LLM turn')],
350
+ // Tool execution mounts under the bare branch key 'tool-calls'.
351
+ ['tool-calls', milestone('tool-call', 'Tool call')],
352
+ [SUBFLOW_IDS.TOOL_CALLS, milestone('tool-call', 'Tool call')],
353
+ [SUBFLOW_IDS.ROUTE, milestone('decision', 'Route')],
354
+ // The answer failed its schema and the loop asked again — a stop worth
355
+ // scrubbing to, because everything after it is a second attempt.
356
+ [STAGE_IDS.OUTPUT_RETRY, milestone('decision', 'Schema retry')],
357
+ // The answer left declared steps unrun and the one teaching nudge went
358
+ // back (9.18.0) — everything after it is the model finishing (or
359
+ // explaining) its procedure.
360
+ [STAGE_IDS.STEP_NUDGE, milestone('decision', 'Step nudge')],
361
+ // The answer stated values no tool result carried and the one revision
362
+ // went back (9.35.0) — everything after it is the model's second try.
363
+ [STAGE_IDS.EVIDENCE_RECHECK, milestone('decision', 'Evidence recheck')],
364
+ // The action budget ran out and the turn was wrapped up (9.56.0) —
365
+ // everything after it is the model summarizing with no tools to call.
366
+ [STAGE_IDS.WRAP_UP, milestone('decision', 'Wrap up')],
367
+ ]);
320
368
  /**
321
369
  * Classify a stage id into a {@link Milestone}, or `null` when the stage is NOT
322
370
  * a milestone boundary (its commits fold into the surrounding milestone's
@@ -324,6 +372,14 @@ export function stageRole(id) {
324
372
  * the Lens consumes it to build the time-travel slider (see
325
373
  * agentfootprint-lens `cursorPositionsAtDrill`).
326
374
  *
375
+ * **Since 9.90.0 this is the FALLBACK, not the fact.** The charts declare the
376
+ * same milestones as tags at build time ({@link milestoneTagsFor}), footprintjs
377
+ * 9.21 stamps them on the stage's first commit bundle (`CommitBundle.tags`), and
378
+ * `milestoneStops` reads the bundle first — it derives from the id only for a
379
+ * bundle that carries no tags (a recording made before 9.90.0). Every milestone
380
+ * stage is declared, slot branch mounts included (footprintjs 9.21.1). Same
381
+ * table either way, so the two readings agree.
382
+ *
327
383
  * Mirrors {@link stageRole}: accepts a runtimeStageId (`call-llm#17`), a
328
384
  * path-qualified id (`sf-llm-call/call-llm`), or a bare local id — only the
329
385
  * LOCAL stage segment matters, so it works at any nesting depth and for both
@@ -334,51 +390,91 @@ export function milestoneFor(id) {
334
390
  // the path prefix — splitStageId expects the segment before `#`.
335
391
  const beforeHash = id.includes('#') ? id.slice(0, id.indexOf('#')) : id;
336
392
  const { localStageId } = splitStageId(beforeHash);
337
- switch (localStageId) {
338
- // Loop entry — one per ReAct iteration. INJECTION_ENGINE is the flat loop
339
- // target; LLM_CALL is the subflow-shape loop target.
340
- case SUBFLOW_IDS.INJECTION_ENGINE:
341
- case SUBFLOW_IDS.LLM_CALL:
342
- return { kind: 'iteration', label: 'Iteration' };
343
- // Context slots — one stop per slot that was engineered THIS iteration. In
344
- // dynamic mode all three appear every turn; in classic mode only the slot
345
- // that actually re-ran (Messages) appears after turn 1 — so scrubbing shows
346
- // exactly "which slot got updated."
347
- case SUBFLOW_IDS.SYSTEM_PROMPT:
348
- return { kind: 'slot', label: 'System prompt' };
349
- case SUBFLOW_IDS.MESSAGES:
350
- return { kind: 'slot', label: 'Messages' };
351
- case SUBFLOW_IDS.TOOLS:
352
- return { kind: 'slot', label: 'Tools' };
353
- case STAGE_IDS.CALL_LLM:
354
- case STAGE_IDS.MERGE_LLM:
355
- return { kind: 'llm-turn', label: 'LLM turn' };
356
- // Tool execution mounts under the bare branch key 'tool-calls'.
357
- case 'tool-calls':
358
- case SUBFLOW_IDS.TOOL_CALLS:
359
- return { kind: 'tool-call', label: 'Tool call' };
360
- case SUBFLOW_IDS.ROUTE:
361
- return { kind: 'decision', label: 'Route' };
362
- // The answer failed its schema and the loop asked again — a stop worth
363
- // scrubbing to, because everything after it is a second attempt.
364
- case STAGE_IDS.OUTPUT_RETRY:
365
- return { kind: 'decision', label: 'Schema retry' };
366
- // The answer left declared steps unrun and the one teaching nudge went
367
- // back (9.18.0) — everything after it is the model finishing (or
368
- // explaining) its procedure.
369
- case STAGE_IDS.STEP_NUDGE:
370
- return { kind: 'decision', label: 'Step nudge' };
371
- // The answer stated values no tool result carried and the one revision
372
- // went back (9.35.0) — everything after it is the model's second try.
373
- case STAGE_IDS.EVIDENCE_RECHECK:
374
- return { kind: 'decision', label: 'Evidence recheck' };
375
- // The action budget ran out and the turn was wrapped up (9.56.0) —
376
- // everything after it is the model summarizing with no tools to call.
377
- case STAGE_IDS.WRAP_UP:
378
- return { kind: 'decision', label: 'Wrap up' };
379
- default:
380
- return null;
393
+ return MILESTONES.get(localStageId) ?? null;
394
+ }
395
+ // ─── Declared milestones — the tag vocabulary (9.90.0) ──────────────────
396
+ //
397
+ // footprintjs 9.21 lets a chart put NAMES on a stage at build time and stamps
398
+ // them on the stage's first commit bundle. footprintjs owns no vocabulary; this
399
+ // is agentfootprint's. Two names per milestone, produced by ONE function and
400
+ // read back by ONE function — no second string literal anywhere:
401
+ //
402
+ // 'milestone:<kind>' what a reader FILTERS on (tagStops(['milestone:llm-turn']))
403
+ // 'milestone-label:<label>' the human word the table gives that stage
404
+ //
405
+ // Law 3 of docs/design/2026-09-declared-tags.md (footprintjs): the tag is the
406
+ // fact; the derivation from the id is the fallback.
407
+ /** Prefix of the tag that names a milestone's KIND: `milestone:llm-turn`. */
408
+ export const MILESTONE_TAG_PREFIX = 'milestone:';
409
+ /** Prefix of the tag that names a milestone's LABEL: `milestone-label:LLM turn`. */
410
+ export const MILESTONE_LABEL_TAG_PREFIX = 'milestone-label:';
411
+ /** The kind tag for a {@link MilestoneKind} — `'milestone:' + kind`. */
412
+ export function milestoneTag(kind) {
413
+ return MILESTONE_TAG_PREFIX + kind;
414
+ }
415
+ /**
416
+ * The tags that DECLARE a {@link Milestone} on a stage: its kind tag and its
417
+ * label tag, in that order. What a declaration site spreads into `.tag(...)`
418
+ * or `{ tags }`; what {@link milestoneFromTags} reads back.
419
+ */
420
+ export function milestoneTags(milestone) {
421
+ return [milestoneTag(milestone.kind), MILESTONE_LABEL_TAG_PREFIX + milestone.label];
422
+ }
423
+ /**
424
+ * The tags to declare on the stage with this LOCAL id, from the same table
425
+ * {@link milestoneFor} reads — so a chart-building site names the id it is
426
+ * mounting and never spells a kind or a label. Throws at build time for an id
427
+ * the table does not classify: a declaration site that is not a milestone is
428
+ * a wiring mistake, and a silent no-op would be a forgotten tag by another name.
429
+ *
430
+ * @example
431
+ * ```ts
432
+ * builder
433
+ * .addFunction('CallLLM', callLLM, STAGE_IDS.CALL_LLM, 'LLM invocation')
434
+ * .tag(...milestoneTagsFor(STAGE_IDS.CALL_LLM)); // 'milestone:llm-turn', 'milestone-label:LLM turn'
435
+ * ```
436
+ */
437
+ export function milestoneTagsFor(localStageId) {
438
+ const found = MILESTONES.get(localStageId);
439
+ if (!found) {
440
+ throw new Error(`milestoneTagsFor('${localStageId}'): not a milestone stage — add it to the MILESTONES table in ` +
441
+ 'conventions.ts (the one owner) before declaring it on a chart.');
381
442
  }
443
+ return milestoneTags(found);
444
+ }
445
+ /**
446
+ * Read a {@link Milestone} back off a commit bundle's declared `tags`, or
447
+ * `null` when they carry no milestone kind tag. The kind must be one of
448
+ * {@link MILESTONE_KINDS}; the label is the `milestone-label:` tag when one was
449
+ * declared, else `labelWhenUndeclared` (a reader passes the stop's own label —
450
+ * the chart's word for the stage), else the kind itself. A stored row is
451
+ * `unknown[]`-shaped until narrowed: non-strings are ignored, never a milestone.
452
+ *
453
+ * @example
454
+ * ```ts
455
+ * milestoneFromTags(['milestone:llm-turn', 'milestone-label:LLM turn']);
456
+ * // { kind: 'llm-turn', label: 'LLM turn' }
457
+ * milestoneFromTags(['audit']); // null — tagged, but not a milestone
458
+ * milestoneFromTags(undefined); // null — an untagged bundle
459
+ * ```
460
+ */
461
+ export function milestoneFromTags(tags, labelWhenUndeclared) {
462
+ if (!Array.isArray(tags))
463
+ return null;
464
+ const names = tags.filter((t) => typeof t === 'string');
465
+ // The first VALID kind wins; an unknown `milestone:` name (a foreign chart's
466
+ // vocabulary) is skipped rather than shadowing a real kind beside it.
467
+ const kinds = names
468
+ .filter((t) => t.startsWith(MILESTONE_TAG_PREFIX))
469
+ .map((t) => t.slice(MILESTONE_TAG_PREFIX.length))
470
+ .filter((k) => MILESTONE_KINDS.includes(k));
471
+ const kind = kinds[0];
472
+ if (kind === undefined)
473
+ return null;
474
+ const labelTag = names.find((t) => t.startsWith(MILESTONE_LABEL_TAG_PREFIX));
475
+ const declared = labelTag?.slice(MILESTONE_LABEL_TAG_PREFIX.length);
476
+ const label = declared && declared.length > 0 ? declared : labelWhenUndeclared ?? kind;
477
+ return { kind: kind, label };
382
478
  }
383
479
  /**
384
480
  * Scope-key convention for context injections.
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/conventions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB;0EACsE;IACtE,gBAAgB,EAAE,qBAAqB;IACvC;;qDAEiD;IACjD,QAAQ,EAAE,aAAa;IACvB,+DAA+D;IAC/D,aAAa,EAAE,kBAAkB;IACjC,6BAA6B;IAC7B,QAAQ,EAAE,aAAa;IACvB,0BAA0B;IAC1B,KAAK,EAAE,UAAU;IACjB,2CAA2C;IAC3C,KAAK,EAAE,UAAU;IACjB,uDAAuD;IACvD,UAAU,EAAE,eAAe;IAC3B,kCAAkC;IAClC,KAAK,EAAE,UAAU;IACjB;;;;oCAIgC;IAChC,KAAK,EAAE,OAAO;IACd;;;;;;gCAM4B;IAC5B,KAAK,EAAE,UAAU;IACjB;;;wDAGoD;IACpD,cAAc,EAAE,mBAAmB;IACnC;;;;;iCAK6B;IAC7B,QAAQ,EAAE,aAAa;CACf,CAAC;AAIX,wEAAwE;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU;IACnF,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAAE,OAAO;IAC1C,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,KAAK,IAAI,KAAK,EAAE,kBAAkB,uBAAuB,yBAAyB;QACvF,0CAA0C,uBAAuB,KAAK;QACtE,wFAAwF;QACxF,2FAA2F;QAC3F,0CAA0C,EAAE,8CAA8C;QAC1F,8DAA8D,uBAAuB,IAAI,CAC5F,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ;;oFAEgF;IAChF,UAAU,EAAE,YAAY;IACxB;;;;;0EAKsE;IACtE,OAAO,EAAE,SAAS;IAClB;;;yDAGqD;IACrD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB;;;8DAG0D;IAC1D,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd;;0EAEsE;IACtE,YAAY,EAAE,cAAc;IAC5B;;;;0DAIsD;IACtD,UAAU,EAAE,YAAY;IACxB;;;;;wCAKoC;IACpC,gBAAgB,EAAE,kBAAkB;IACpC;;;;;;uEAMmE;IACnE,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B;;;;;;;6DAOyD;IACzD,OAAO,EAAE,SAAS;IAClB;;;;;;sBAMkB;IAClB,OAAO,EAAE,SAAS;IAClB;wCACoC;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C;gEAC4D;IAC5D,UAAU,EAAE,YAAY;IACxB;4EACwE;IACxE,aAAa,EAAE,eAAe;IAC9B;kEAC8D;IAC9D,YAAY,EAAE,YAAY;IAC1B;8CAC0C;IAC1C,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC;AAIX,wEAAwE;AAExE,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAC3B,EAAU;IAEV,OAAO,CACL,EAAE,KAAK,WAAW,CAAC,aAAa,IAAI,EAAE,KAAK,WAAW,CAAC,QAAQ,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,CAC5F,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,iEAAiE;IACjE,mEAAmE;IACnE,kEAAkE;IAClE,6CAA6C;IAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,WAAW,CAAC,aAAa;YAC5B,OAAO,eAAe,CAAC;QACzB,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,cAAsB;IAC3D,yEAAyE;IACzE,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7C,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAQ,MAAM,CAAC,MAAM,CAAC,WAAW,CAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAQ,MAAM,CAAC,MAAM,CAAC,SAAS,CAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAuBD,4EAA4E;AAC5E,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,WAAW,CAAC,gBAAgB;IAC5B,WAAW,CAAC,QAAQ,EAAE,sDAAsD;IAC5E,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,KAAK;IACjB,WAAW,CAAC,cAAc;IAC1B,WAAW,CAAC,QAAQ;IACpB,SAAS,CAAC,OAAO,EAAE,iEAAiE;IACpF,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,oBAAoB;IAC9B,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,iBAAiB;CAC5B,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,SAAS,CAAC,IAAI,EAAE,6CAA6C;IAC7D,SAAS,CAAC,KAAK,EAAE,kCAAkC;IACnD,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,SAAS,CAAC,YAAY;IACtB,0EAA0E;IAC1E,wEAAwE;IACxE,SAAS,CAAC,UAAU;IACpB,2EAA2E;IAC3E,oEAAoE;IACpE,SAAS,CAAC,gBAAgB;IAC1B,4EAA4E;IAC5E,sEAAsE;IACtE,6DAA6D;IAC7D,SAAS,CAAC,OAAO;CAClB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,aAAa,CAAC,YAAY,CAAC;QAAE,OAAO,WAAW,CAAC;IACpD,IAAI,YAAY,KAAK,SAAS,CAAC,QAAQ,IAAI,YAAY,KAAK,SAAS,CAAC,SAAS;QAC7E,OAAO,UAAU,CAAC;IACpB,0EAA0E;IAC1E,gEAAgE;IAChE,IAAI,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,WAAW,CAAC,UAAU;QAC1E,OAAO,aAAa,CAAC;IACvB,IAAI,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5D,IAAI,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5D,OAAO,UAAU,CAAC,CAAC,2CAA2C;AAChE,CAAC;AAsBD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAA6B,MAAM,CAAC,MAAM,CAAC;IACrE,WAAW;IACX,MAAM;IACN,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAE,KAAa,EAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpG;;;;;;GAMG;AACH,MAAM,UAAU,GAAmC,IAAI,GAAG,CAAoB;IAC5E,0EAA0E;IAC1E,qDAAqD;IACrD,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC3D,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,oCAAoC;IACpC,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,gEAAgE;IAChE,CAAC,YAAY,EAAE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,uEAAuE;IACvE,iEAAiE;IACjE,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC/D,uEAAuE;IACvE,iEAAiE;IACjE,6BAA6B;IAC7B,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,uEAAuE;IACvE,sEAAsE;IACtE,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACvE,mEAAmE;IACnE,sEAAsE;IACtE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,iEAAiE;AACjE,EAAE;AACF,4FAA4F;AAC5F,yEAAyE;AACzE,EAAE;AACF,8EAA8E;AAC9E,oDAAoD;AAEpD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,oFAAoF;AACpF,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,OAAO,oBAAoB,GAAG,IAAI,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,qBAAqB,YAAY,gEAAgE;YAC/F,gEAAgE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAoC,EACpC,mBAA4B;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrE,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,eAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,QAAQ,EAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC;IACvF,OAAO,EAAE,IAAI,EAAE,IAAqB,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa,EAAE,wBAAwB;IACvC,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,iBAAiB;CAChB,CAAC;AAIX,6CAA6C;AAC7C,MAAM,UAAU,mBAAmB,CAAC,IAA4C;IAC9E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe;YAClB,OAAO,cAAc,CAAC,aAAa,CAAC;QACtC,KAAK,UAAU;YACb,OAAO,cAAc,CAAC,QAAQ,CAAC;QACjC,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,KAAK,CAAC;IAChC,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,cAAc,CAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC"}
@@ -40,7 +40,7 @@
40
40
  */
41
41
  import { FlowChartExecutor, flowChart, } from 'footprintjs';
42
42
  import { ArrayMergeMode } from 'footprintjs/advanced';
43
- import { SUBFLOW_IDS, STAGE_IDS } from '../conventions.js';
43
+ import { SUBFLOW_IDS, STAGE_IDS, milestoneTagsFor } from '../conventions.js';
44
44
  import { ContextRecorder } from '../recorders/core/ContextRecorder.js';
45
45
  import { streamRecorder } from '../recorders/core/StreamRecorder.js';
46
46
  import { errorBridge } from '../recorders/core/ErrorBridge.js';
@@ -381,6 +381,10 @@ export class LLMCall extends RunnerBase {
381
381
  }),
382
382
  outputMapper: (sfOutput) => ({ systemPromptInjections: sfOutput.systemPromptInjections }),
383
383
  })
384
+ // Declared milestones (9.90.0): these slots are `addSubFlowChartNext`
385
+ // mounts, so — unlike the Agent charts' selector branches — they CAN
386
+ // carry the `slot` tag on their first commit bundle.
387
+ .tag(...milestoneTagsFor(SUBFLOW_IDS.SYSTEM_PROMPT))
384
388
  .addSubFlowChartNext(SUBFLOW_IDS.MESSAGES, messagesSubflow, 'Messages', {
385
389
  inputMapper: (parent) => {
386
390
  // Wrap the single user message as a one-entry history for the
@@ -393,7 +397,10 @@ export class LLMCall extends RunnerBase {
393
397
  },
394
398
  outputMapper: (sfOutput) => ({ messagesInjections: sfOutput.messagesInjections }),
395
399
  })
396
- .addFunction('CallLLM', callLLM, STAGE_IDS.CALL_LLM, 'LLM invocation');
400
+ .tag(...milestoneTagsFor(SUBFLOW_IDS.MESSAGES))
401
+ .addFunction('CallLLM', callLLM, STAGE_IDS.CALL_LLM, 'LLM invocation')
402
+ // Declared milestone (9.90.0): the LLM turn.
403
+ .tag(...milestoneTagsFor(STAGE_IDS.CALL_LLM));
397
404
  // Conditional sf-thinking — mounted only when a ThinkingHandler
398
405
  // resolved (auto-wired by provider.name in the constructor). Same
399
406
  // build-time conditional pattern Agent uses (buildAgentChart.ts).
@@ -422,7 +429,7 @@ export class LLMCall extends RunnerBase {
422
429
  // TraversalResult is the answer string, which downstream
423
430
  // compositions (Sequence/Parallel/Conditional) read via
424
431
  // outputMapper's `sfOutput` parameter.
425
- return flowChart('Client', client, STAGE_IDS.CLIENT, {
432
+ return (flowChart('Client', client, STAGE_IDS.CLIENT, {
426
433
  ...(this.structureRecorders !== undefined && {
427
434
  structureRecorders: [...this.structureRecorders],
428
435
  }),
@@ -437,8 +444,11 @@ export class LLMCall extends RunnerBase {
437
444
  answer: sfOutput.answer,
438
445
  }),
439
446
  })
447
+ // Declared milestone (9.90.0): the mount is the iteration boundary on the
448
+ // outer log — one turn per LLMCall run.
449
+ .tag(...milestoneTagsFor(SUBFLOW_IDS.LLM_CALL))
440
450
  .loopTo(STAGE_IDS.CLIENT)
441
- .build();
451
+ .build());
442
452
  }
443
453
  }
444
454
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LLMCall.js","sourceRoot":"","sources":["../../../src/core/LLMCall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,iBAAiB,EACjB,SAAS,GAMV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,iBAAiB,GAElB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAiHrF,MAAM,OAAO,OAAQ,SAAQ,UAAuC;IACzD,IAAI,CAAS;IACb,EAAE,CAAS;IACH,QAAQ,CAAc;IACtB,KAAK,CAAS;IACd,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,iBAAiB,CAAS;IAC1B,YAAY,CAAgB;IAC7C,gFAAgF;IAC/D,UAAU,CAAsB;IACjD,8EAA8E;IAC7D,aAAa,CAAmC;IACjE,0EAA0E;IACzD,uBAAuB,GAAY,KAAK,CAAC;IACzC,kBAAkB,CAAgC;IAClD,eAAe,CAAmB;IACnD;;;mDAG+C;IAC9B,eAAe,CAAmB;IAEnD,oCAAoC;IAC5B,iBAAiB,GAAe;QACtC,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,YAAY,IAAoB,EAAE,iBAAyB;QACzD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,2EAA2E;QAC3E,2EAA2E;QAC3E,mBAAmB;QACnB,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,kBAAkB,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC;QAC3E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9E,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;YAAE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAC1E,IAAI,IAAI,CAAC,kBAAkB;YAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC/E,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACtE,qEAAqE;QACrE,2EAA2E;QAC3E,2BAA2B;QAC3B,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QACtC,oEAAoE;QACpE,+DAA+D;QAC/D,6DAA6D;QAC7D,6EAA6E;QAC7E,+DAA+D;QAC/D,4DAA4D;QAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAe,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAoB;QAChC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAE9D,iEAAiE;IAC9C,kBAAkB;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;sCAOkC;IACf,oBAAoB;QACrC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAU;aAClE;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAA4B,EAC5B,OAAoB;QAEpB,yEAAyE;QACzE,0EAA0E;QAC1E,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,iBAAiB,CAAe,KAAK,EAAE,aAAa,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;YAChC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;YACpC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA+B,EAC/B,KAAe,EACf,OAAoB;QAEpB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,iBAAiB,GAAG;YACvB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,KAAK,EAAE,SAAS,EAAE;YAClB,eAAe,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC;SACxC,CAAC;QAEF,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,GAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE3D,QAAQ,CAAC,sBAAsB,CAAC,IAAI,eAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/F,sEAAsE;QACtE,yEAAyE;QACzE,wDAAwD;QACxD,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,wEAAwE;QACxE,sEAAsE;QACtE,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,qEAAqE;YACrE,+CAA+C;YAC/C,QAAQ,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,wEAAwE;QACxE,kEAAkE;QAClE,gDAAgD;QAChD,QAAQ,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACxF,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACzF,sEAAsE;QACtE,sEAAsE;QACtE,mDAAmD;QACnD,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9F,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB;YAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,cAAc,CACpB,QAA2B,EAC3B,MAAe;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,KAAK;YAAE,MAAM,MAAM,CAAC;QAC1C,gEAAgE;QAChE,6DAA6D;QAC7D,4DAA4D;QAC5D,4DAA4D;QAC5D,4DAA4D;QAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,WAAW,GAAI,IAA2D,EAAE,WAAW,CAAC;QAC9F,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,mEAAmE;IAE3D,UAAU;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,mEAAmE;QACnE,+DAA+D;QAC/D,mEAAmE;QACnE,iEAAiE;QACjE,uDAAuD;QACvD,EAAE;QACF,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,EAAE;QACF,gEAAgE;QAChE,2DAA2D;QAC3D,8DAA8D;QAC9D,gEAAgE;QAChE,uCAAuC;QACvC,MAAM,MAAM,GAAG,CAAC,KAA+B,EAAsB,EAAE;YACrE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAgB,CAAC;YAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,mEAAmE;QACnE,+DAA+D;QAC/D,gEAAgE;QAChE,oEAAoE;QACpE,MAAM,SAAS,GAAG,CAAC,KAA+B,EAAE,EAAE;YACpD,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC;YAClC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC9B,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;YACzB,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC;QAEF,wEAAwE;QACxE,kEAAkE;QAClE,qEAAqE;QACrE,yEAAyE;QACzE,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QACxD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;YAChD,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,kBAAkB;YAC1B,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;SAC9E,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,iBAAiB,CAAC;YACxC,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;SACtE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,KAAK,EAAE,KAA+B,EAAE,EAAE;YACxD,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAC,sBAAsB;gBAC1D,EAAE,CAA+B,CAAC;YACpC,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAA+B,CAAC;YAC1F,MAAM,SAAS,GAAI,KAAK,CAAC,SAAgC,IAAI,CAAC,CAAC;YAE/D,MAAM,YAAY,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YAE9D,mEAAmE;YACnE,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YAE5D,SAAS,CAAC,KAAK,EAAE,iCAAiC,EAAE;gBAClD,SAAS;gBACT,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,KAAK;gBACL,iBAAiB,EAAE,YAAY,CAAC,MAAM;gBACtC,qEAAqE;gBACrE,gCAAgC;gBAChC,GAAG,CAAC,kBAAkB,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;gBAC7D,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,UAAU,EAAE,CAAC;gBACb,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;aAClD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,gEAAgE;YAChE,6DAA6D;YAC7D,mEAAmE;YACnE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CACtC;gBACE,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAChE,QAAQ;gBACR,KAAK;gBACL,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;gBACjD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;aAC9C;YACD,+DAA+D;YAC/D,uDAAuD;YACvD,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YAExC,SAAS,CAAC,KAAK,EAAE,+BAA+B,EAAE;gBAChD,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;gBACxC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,UAAU;aACX,CAAC,CAAC;YAEH,YAAY,CACV,KAAK,EACL,YAAY,EACZ,UAAU,EACV,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAClC,QAAQ,CAAC,KAAK,CACf,CAAC;YAEF,4DAA4D;YAC5D,4DAA4D;YAC5D,2DAA2D;YAC3D,+DAA+D;YAC/D,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;YAChC,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC3C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,gEAAgE;QAChE,oEAAoE;QACpE,gEAAgE;QAChE,gEAAgE;QAChE,kCAAkC;QAClC,MAAM,YAAY,GAAG,CAAC,KAA+B,EAAE,EAAE;YACvD,gEAAgE;YAChE,8DAA8D;YAC9D,KAAK,KAAK,CAAC;QACb,CAAC,CAAC;QAEF,mEAAmE;QACnE,IAAI,YAAY,GAAG,SAAS,CAAe,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;YAClF,WAAW,EAAE,+BAA+B;SAC7C,CAAC;aACC,mBAAmB,CAAC,WAAW,CAAC,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE;YACpF,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC,WAAiC;gBACrD,SAAS,EAAE,MAAM,CAAC,SAA+B;aAClD,CAAC;YACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;SAC1F,CAAC;aACD,mBAAmB,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE;YACtE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,8DAA8D;gBAC9D,+DAA+D;gBAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAiC,CAAC;gBAC7D,OAAO;oBACL,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC9E,SAAS,EAAE,MAAM,CAAC,SAA+B;iBAClD,CAAC;YACJ,CAAC;YACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC;SAClF,CAAC;aACD,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEzE,gEAAgE;QAChE,kEAAkE;QAClE,kEAAkE;QAClE,IAAI,eAAe,EAAE,CAAC;YACpB,YAAY,GAAG,YAAY,CAAC,mBAAmB,CAC7C,WAAW,CAAC,QAAQ,EACpB,oBAAoB,CAAC,eAAe,CAAC,EACrC,mBAAmB,EACnB;gBACE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACxB,WAAW,EAAE,MAAM,CAAC,WAAsB;oBAC1C,SAAS,EAAE,MAAM,CAAC,SAA+B;iBAClD,CAAC;gBACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACzE,0DAA0D;gBAC1D,UAAU,EAAE,cAAc,CAAC,OAAO;aACnC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,YAAY;aAC9B,WAAW,CAAC,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC,aAAa,EAAE,sBAAsB,CAAC;aAC1F,KAAK,EAAE,CAAC;QAEX,mEAAmE;QACnE,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,4DAA4D;QAC5D,EAAE;QACF,iEAAiE;QACjE,iEAAiE;QACjE,yDAAyD;QACzD,wDAAwD;QACxD,uCAAuC;QACvC,OAAO,SAAS,CAAmC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE;YACrF,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI;gBAC3C,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aACjD,CAAC;YACF,WAAW,EAAE,mBAAmB;SACjC,CAAC;aACC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;YAC9D,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC,WAAiC;gBACrD,SAAS,EAAE,MAAM,CAAC,SAA+B;aAClD,CAAC;YACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC;SACH,CAAC;aACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;aACxB,KAAK,EAAE,CAAC;IACb,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAc;IACR,IAAI,CAAiB;IAC9B,iBAAiB,GAAG,EAAE,CAAC;IAC/B;iDAC6C;IACrC,eAAe,GAAG,KAAK,CAAC;IAEhC,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,uFAAuF;gBACrF,qFAAqF;gBACrF,sFAAsF;gBACtF,mFAAmF;gBACnF,UAAU,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxD,CAAC;CACF;AAED,uEAAuE;AACvE,qEAAqE;AACrE,wCAAwC"}
1
+ {"version":3,"file":"LLMCall.js","sourceRoot":"","sources":["../../../src/core/LLMCall.ts"],"names":[],"mappings":"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"}