agentfootprint 9.90.0 → 9.91.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 (49) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/dist/core/LLMCall.js +62 -7
  3. package/dist/core/LLMCall.js.map +1 -1
  4. package/dist/core/agent/buildAgentMessageApiChart.js +26 -3
  5. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  6. package/dist/core/agent/buildMessageApiChart.js +26 -3
  7. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  8. package/dist/core/agent/messageApiReceipt.js +77 -0
  9. package/dist/core/agent/messageApiReceipt.js.map +1 -0
  10. package/dist/core/agent/stages/callLLM.js +1 -5
  11. package/dist/core/agent/stages/callLLM.js.map +1 -1
  12. package/dist/esm/core/LLMCall.d.ts +18 -0
  13. package/dist/esm/core/LLMCall.js +63 -8
  14. package/dist/esm/core/LLMCall.js.map +1 -1
  15. package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +22 -0
  16. package/dist/esm/core/agent/buildAgentMessageApiChart.js +27 -4
  17. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  18. package/dist/esm/core/agent/buildMessageApiChart.d.ts +32 -0
  19. package/dist/esm/core/agent/buildMessageApiChart.js +27 -4
  20. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  21. package/dist/esm/core/agent/messageApiReceipt.d.ts +82 -0
  22. package/dist/esm/core/agent/messageApiReceipt.js +73 -0
  23. package/dist/esm/core/agent/messageApiReceipt.js.map +1 -0
  24. package/dist/esm/core/agent/stages/callLLM.js +3 -7
  25. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  26. package/dist/esm/lib/time-travel/receipt.d.ts +45 -13
  27. package/dist/esm/lib/time-travel/receipt.js +41 -10
  28. package/dist/esm/lib/time-travel/receipt.js.map +1 -1
  29. package/dist/esm/lib/time-travel/servedView.d.ts +36 -35
  30. package/dist/esm/lib/time-travel/servedView.js +64 -43
  31. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  32. package/dist/lib/time-travel/receipt.js +43 -11
  33. package/dist/lib/time-travel/receipt.js.map +1 -1
  34. package/dist/lib/time-travel/servedView.js +64 -43
  35. package/dist/lib/time-travel/servedView.js.map +1 -1
  36. package/dist/types/core/LLMCall.d.ts +18 -0
  37. package/dist/types/core/LLMCall.d.ts.map +1 -1
  38. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts +22 -0
  39. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  40. package/dist/types/core/agent/buildMessageApiChart.d.ts +32 -0
  41. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  42. package/dist/types/core/agent/messageApiReceipt.d.ts +83 -0
  43. package/dist/types/core/agent/messageApiReceipt.d.ts.map +1 -0
  44. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  45. package/dist/types/lib/time-travel/receipt.d.ts +45 -13
  46. package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
  47. package/dist/types/lib/time-travel/servedView.d.ts +36 -35
  48. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ /**
2
+ * messageApiReceipt — the one mint the two message-API charts share, and the
3
+ * one place that says when a chart may not mint at all.
4
+ *
5
+ * Role: Lens. One pure function over what a `call-llm` stage already holds.
6
+ * It reads no scope, emits nothing and commits nothing — the caller
7
+ * commits what it returns, under `receipt.ts` · `RECEIPT_KEY`.
8
+ * Reads: its arguments.
9
+ * Emits: N/A.
10
+ *
11
+ * WHY THIS FILE EXISTS. `buildMessageApiChart` and `buildAgentMessageApiChart`
12
+ * are deliberate twins — the second is the first plus tools, a router and a
13
+ * loop — and a mint written out in both is two chances to disagree about what
14
+ * the model was handed on charts whose whole job is to be the same shape. The
15
+ * arguments differ per chart (one has tools, one does not); the RULE does not,
16
+ * and the rule is what lives here.
17
+ *
18
+ * THE RULE: NO RUN ID, NO RECEIPT. Every hash a receipt carries is salted with
19
+ * the run id (`receipt.ts`, the third law) so a short system prompt or a
20
+ * two-word turn cannot be fingerprinted across runs, and a receipt is committed
21
+ * state that travels inside recordings. These two charts are exported BUILDERS
22
+ * handed to an executor the caller owns — nothing in a stage's scope carries
23
+ * that executor's run id — so the salt has to be supplied, and when it is not
24
+ * this returns `undefined` rather than minting with an empty one. `servedAt`
25
+ * then declares the absence (`no-receipt-on-chart`, cause
26
+ * `'no-receipt-committed'`) and rebuilds the view exactly as it always did: a
27
+ * Lens may omit, never deny.
28
+ */
29
+ import type { LLMMessage, LLMRequest, LLMToolSchema } from '../../adapters/types.js';
30
+ import { type Receipt, type SystemPieceRecord } from '../../lib/time-travel/receipt.js';
31
+ /** What a message-API chart's `call-llm` stage hands the mint. */
32
+ export interface MessageApiReceiptInput {
33
+ /** The run this call belongs to, from the chart's `getRunId` dep. Absent or
34
+ * empty ⇒ no receipt — see the rule in this file's header. */
35
+ readonly runId: string | undefined;
36
+ /** The committed `iteration` at this call. */
37
+ readonly epoch: number;
38
+ readonly model: string;
39
+ /** `LLMProvider.name` — the port the request went out through. */
40
+ readonly provider: string;
41
+ /** The joined system string, exactly as sent. */
42
+ readonly systemText: string;
43
+ /** The injection records it was joined from, in slot order. */
44
+ readonly systemPieces: readonly SystemPieceRecord[];
45
+ /** The conversation as sent, post-strip. */
46
+ readonly messages: readonly LLMMessage[];
47
+ /** The tool list as sent. Empty on a chart that serves none. */
48
+ readonly tools: readonly LLMToolSchema[];
49
+ /**
50
+ * The request object the provider port is handed — the SAME object, not a
51
+ * second literal built to describe it.
52
+ *
53
+ * It stands for both halves of the cache comparison because neither chart
54
+ * runs a cache strategy: nothing rewrote the request between assembly and
55
+ * the port, so `cache.transform` records `'unchanged'`. That is the verdict
56
+ * an agent running a pass-through strategy records today, and it is true
57
+ * here for the same reason — the request that went out is the request that
58
+ * was assembled.
59
+ */
60
+ readonly request: LLMRequest;
61
+ }
62
+ /**
63
+ * Mint one message-API chart's receipt, or `undefined` when the chart was
64
+ * given no run id to salt it with.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const receipt = messageApiReceipt({
69
+ * runId: deps.getRunId?.(),
70
+ * epoch: 1,
71
+ * model,
72
+ * provider: provider.name,
73
+ * systemText: system,
74
+ * systemPieces: scope.systemPromptInjections ?? [],
75
+ * messages,
76
+ * tools: [],
77
+ * request,
78
+ * });
79
+ * if (receipt !== undefined) scope[RECEIPT_KEY] = receipt;
80
+ * ```
81
+ */
82
+ export declare function messageApiReceipt(input: MessageApiReceiptInput): Receipt | undefined;
83
+ //# sourceMappingURL=messageApiReceipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageApiReceipt.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/messageApiReceipt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC;mEAC+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpD,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAqBpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"callLLM.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callLLM.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  * was handed it.
4
4
  *
5
5
  * Role: Fold. This module owns the receipt's SHAPE and the one function that
6
- * mints one (`buildReceipt`); the agent's request assembly calls it and
7
- * commits the result under the scope key `receipt`, so the record lands
8
- * in the call-llm bundle that already exists. Nothing here executes,
9
- * reads scope, or emits.
6
+ * mints one (`buildReceipt`); every chart's request assembly calls it
7
+ * and commits the result under the scope key `receipt`, so the record
8
+ * lands in the call-llm bundle that already exists. Nothing here
9
+ * executes, reads scope, or emits.
10
10
  * Reads: its arguments.
11
11
  * Emits: N/A.
12
12
  *
@@ -26,9 +26,10 @@
26
26
  * did it not know that?" needs to see it. Even there the summaries are hashed,
27
27
  * never quoted, for the same reason everything else on a receipt is.
28
28
  *
29
- * Measured on 9.88.0, NO chart shape supplies it: a slot writes its drops to
30
- * `slotCompositions` inside its own subflow and no boundary bubbles that record
31
- * out, so the agent's request assembly has nothing to pass. The field is on the
29
+ * Measured on 9.88.0 and re-measured on 9.91.0 across all four minting charts,
30
+ * NO chart shape supplies it: a slot writes its drops to `slotCompositions`
31
+ * inside its own subflow and no boundary bubbles that record out, so a chart's
32
+ * request assembly has nothing to pass. The field is on the
32
33
  * shape because `buildReceipt` is a pure exported mint a caller can hand the
33
34
  * fact to, and because the law it obeys is worth stating once rather than the
34
35
  * day the record starts crossing. What is NOT done is go looking for it: a
@@ -82,6 +83,13 @@
82
83
  */
83
84
  import type { LLMMessage, LLMToolSchema } from '../../adapters/types.js';
84
85
  import type { ContextRole, ContextSlot, ContextSource } from '../../events/types.js';
86
+ /** What {@link receiptPieces} needs from one committed injection record — the
87
+ * three fields a receipt keeps of a system piece, and none of the rest. */
88
+ export interface SystemPieceRecord {
89
+ readonly rawContent?: string;
90
+ readonly slot: ContextSlot;
91
+ readonly source: ContextSource;
92
+ }
85
93
  /**
86
94
  * What a digest input records in place of a value JSON cannot express — a
87
95
  * cycle, a `BigInt`, anything `stableJson` refuses. It is a MARK, not an empty
@@ -101,9 +109,11 @@ export declare const UNSERIALIZABLE = "\u001F<unserializable>";
101
109
  * screen is rarely the person who read the source. Print it beside the record.
102
110
  *
103
111
  * ── THE MECHANISM, WHICH THE PRINTED SENTENCE NO LONGER NAMES (9.88.0) ─────
104
- * `buildReceipt` is called from `stages/callLLM.ts` with the request about to
105
- * be passed to `LLMProvider.complete` — the PORT, this library's last sight of
106
- * it. Three things sit downstream of that call and none of them is on the
112
+ * `buildReceipt` is called with the request about to be passed to
113
+ * `LLMProvider.complete` — the PORT, this library's last sight of it. Four
114
+ * stages call it since 9.91.0: the agent charts' (`stages/callLLM.ts`),
115
+ * `LLMCall.ts` · `callLLM`, and the two message-API charts' through
116
+ * `messageApiReceipt.ts`. Three things sit downstream of that call and none of them is on the
107
117
  * record: a provider decorated by the consumer (`complete()` wrapping
108
118
  * `complete()`), a vendor adapter's own serializer, and the vendor's
109
119
  * server-side defaults. `test/lib/time-travel/receipt-conformance.test.ts`
@@ -299,9 +309,10 @@ export interface Receipt {
299
309
  /** The sampling knobs the call went out with — see {@link ReceiptParams}. */
300
310
  readonly params: ReceiptParams;
301
311
  /**
302
- * Absent when no slot reported a drop — which, measured on 9.88.0, is EVERY
303
- * run in both chart shapes: no boundary bubbles `slotCompositions` out of the
304
- * slot subflow that writes it, so request assembly has nothing to pass. It is
312
+ * Absent when no slot reported a drop — which, measured on 9.88.0 and again
313
+ * on 9.91.0 across every chart that mints, is EVERY run: no boundary bubbles
314
+ * `slotCompositions` out of the slot subflow that writes it, so request
315
+ * assembly has nothing to pass. It is
305
316
  * a key of `servedView.ts` · `UNGAPPED_FIELDS` for that reason: its absence
306
317
  * is universal and says nothing about any particular recording. Absent means
307
318
  * nobody recorded a drop, never that nothing was dropped.
@@ -480,6 +491,27 @@ export interface BuildReceiptInput {
480
491
  readonly summaries: readonly string[];
481
492
  };
482
493
  }
494
+ /**
495
+ * The system pieces a receipt records, off the injection records a slot
496
+ * committed — the SURVIVORS of the join, in the order they were joined.
497
+ *
498
+ * ONE OWNER, because there are now four mints (9.91.0): the agent's `call-llm`
499
+ * stage, `LLMCall`'s, and the two message-API charts'. Written out at each of
500
+ * them, this five-line map is four chances to disagree about which record was
501
+ * piece 2 — and `servedAt` proves piece 2 against the receipt's piece 2, so a
502
+ * disagreement here reads as a defect in the record.
503
+ *
504
+ * It calls `contributingPieces`, which is also what the join itself calls, so
505
+ * an empty record cannot be a piece on the receipt and a blank line in the
506
+ * string, or the other way round.
507
+ *
508
+ * @example
509
+ * ```ts
510
+ * receiptPieces([{ rawContent: 'You are a bot.', slot: 'systemPrompt', source: 'static' }]);
511
+ * // [{ text: 'You are a bot.', slot: 'systemPrompt', source: 'static' }]
512
+ * ```
513
+ */
514
+ export declare function receiptPieces(records: readonly SystemPieceRecord[]): BuildReceiptInput['systemPieces'];
483
515
  /**
484
516
  * Mint the receipt for one composed request.
485
517
  *
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../../src/lib/time-travel/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../../src/lib/time-travel/receipt.ts"],"names":[],"mappings":"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"}
@@ -54,39 +54,39 @@
54
54
  * unproved, in wording a renderer prints verbatim, and leaves the rest
55
55
  * standing.
56
56
  *
57
- * ── A CHART THAT MINTS NO RECEIPT DECLARES, IT DOES NOT MINT ───────────────
58
- * `buildReceipt` is called from exactly one place: the agent charts' `call-llm`
59
- * stage (`stages/callLLM.ts`). `LLMCall` and the two message-API charts
60
- * (`buildMessageApiChart`, `buildAgentMessageApiChart`) run their own `call-llm`
61
- * stage, so `epochAt` locates their epochs and `servedAt` rebuilds their views
62
- * — but no receipt is minted there, `ServedView.basis` is dropped, and until
63
- * 9.88.0 nothing said why. That is the Lens denying: a reader saw a view with
64
- * no model on it and no sentence explaining the absence.
65
- *
66
- * MINTING was the other option and it was refused. The reason that holds is
67
- * narrow and applies to the two message-API charts alone: they are exported
68
- * chart BUILDERS run on a consumer's own executor and their deps carry no run
69
- * id, so their hashes could not be salted. It is NOT true of `LLMCall`, which
70
- * owns its executor and mints a run id exactly as `Agent` does — a paragraph
71
- * here said otherwise until 9.88.0, in a sentence a renderer printed verbatim.
72
- *
73
- * A SECOND REASON WAS RECORDED AT THE TIME AND DOES NOT HOLD, and it is left
74
- * here refuted rather than deleted so nobody argues it again:
75
- * `Receipt.cache.transform` was said to have no honest value on a chart that
76
- * runs no cache strategy, because `'unchanged'` would claim a strategy
77
- * returned what it was given when none ran. But `Agent` runs with no cache
78
- * strategy record exactly that today — `buildReceipt` compares the request it
79
- * was handed against itself and writes `'unchanged'` — and
80
- * `receipt-conformance.test.ts` asserts it and calls it correct. So NO
81
- * recorded reason survives for `LLMCall`: it has the salt and it needs no
82
- * fourth enum value. It runs its own `call-llm` (`LLMCall.ts` · `callLLM`),
83
- * that stage does not call `buildReceipt`, and until somebody makes it the
84
- * absence is DECLARED rather than argued away.
85
- *
86
- * So the absence is DECLARED: `no-receipt-on-chart` names the fields only a
57
+ * ── EVERY CHART THAT SERVES A MODEL MINTS, EXCEPT WHERE IT CANNOT SALT ─────
58
+ * Until 9.91.0 `buildReceipt` was called from exactly one place — the agent
59
+ * charts' `call-llm` stage (`stages/callLLM.ts`) — and the three other charts
60
+ * that hand a model a request (`LLMCall.ts` · `callLLM`,
61
+ * `buildMessageApiChart`, `buildAgentMessageApiChart`) left
62
+ * `no-receipt-on-chart` on every view they produced. Two reasons were recorded
63
+ * for that at the time. NEITHER survived.
64
+ *
65
+ * The first was the cache verdict: `Receipt.cache.transform` was said to have
66
+ * no honest value on a chart that runs no cache strategy, because
67
+ * `'unchanged'` would claim a strategy returned what it was given when none
68
+ * ran. But an `Agent` running a pass-through strategy records exactly that
69
+ * today — `buildReceipt` compares the request it was handed against itself —
70
+ * and `receipt-conformance.test.ts` asserts it and calls it correct. No fourth
71
+ * enum value was needed, and none was added.
72
+ *
73
+ * The second was the SALT, and it survives on exactly two of the three charts
74
+ * and not for the reason first written down. `LLMCall` owns its executor and
75
+ * mints a run id per run exactly as `Agent` does (a paragraph here said
76
+ * otherwise until 9.88.0, in a sentence a renderer printed verbatim), so it
77
+ * mints. The message-API charts are exported chart BUILDERS handed to an
78
+ * executor the CALLER owns, and nothing in a stage's scope carries that
79
+ * executor's run id — so their deps take one (`getRunId`), and they mint when
80
+ * they are given one. Given none they mint NOTHING rather than salting every
81
+ * hash with an empty string, because the salt is what makes shipping
82
+ * fingerprints in a recording safe (`receipt.ts`, the third law).
83
+ *
84
+ * So a receipt-less view is still a shape this library produces — a chart
85
+ * builder run without a run id, a run that declined with `recordReceipt:
86
+ * false`, a consumer's own `call-llm` stage, a recording made before 9.88.0 —
87
+ * and the absence is DECLARED: `no-receipt-on-chart` names the fields only a
87
88
  * receipt carries and says what follows for them. The rebuild never needed the
88
- * receipt to work, and `servedAt`'s own `@param` is true about `LLMCall`
89
- * because the view it returns declares what it has and what it has not.
89
+ * receipt to work; what it loses is the WITNESS.
90
90
  *
91
91
  * ── AND THE CAUSE IS A VALUE, NOT A LIST INSIDE A SENTENCE ────────────────
92
92
  * That gap's sentence used to end with the causes that produce it. That is
@@ -463,9 +463,10 @@ export interface ServedView {
463
463
  * named entry in `gaps`, never as a missing view and never as a confident
464
464
  * empty one.
465
465
  *
466
- * @param source a runner (`Agent`, `LLMCall`) or a snapshot. On `LLMCall` and
467
- * the message-API charts the rebuild is complete but UNCHECKED: those charts
468
- * mint no receipt, so `basis` is absent and `gaps` carries
466
+ * @param source a runner (`Agent`, `LLMCall`) or a snapshot. Where no receipt
467
+ * was minted — a message-API chart handed no run id, a run that declined with
468
+ * `recordReceipt: false`, a chart of the caller's own — the rebuild is
469
+ * complete but UNCHECKED: `basis` is absent and `gaps` carries
469
470
  * `no-receipt-on-chart` saying so.
470
471
  * @param epoch the iteration number, 1-based — the run's own count.
471
472
  *
@@ -1 +1 @@
1
- {"version":3,"file":"servedView.d.ts","sourceRoot":"","sources":["../../../../src/lib/time-travel/servedView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"servedView.d.ts","sourceRoot":"","sources":["../../../../src/lib/time-travel/servedView.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentfootprint",
3
- "version": "9.90.0",
3
+ "version": "9.91.0",
4
4
  "description": "The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",