agentfootprint 6.23.0 → 6.25.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 (111) hide show
  1. package/README.md +31 -0
  2. package/bin/agentfootprint-lint-tools.mjs +14 -0
  3. package/dist/esm/lib/influence-core/cache.js +149 -0
  4. package/dist/esm/lib/influence-core/cache.js.map +1 -0
  5. package/dist/esm/lib/influence-core/index.js +32 -0
  6. package/dist/esm/lib/influence-core/index.js.map +1 -0
  7. package/dist/esm/lib/influence-core/margin.js +110 -0
  8. package/dist/esm/lib/influence-core/margin.js.map +1 -0
  9. package/dist/esm/lib/influence-core/signals.js +232 -0
  10. package/dist/esm/lib/influence-core/signals.js.map +1 -0
  11. package/dist/esm/lib/influence-core/similarity.js +79 -0
  12. package/dist/esm/lib/influence-core/similarity.js.map +1 -0
  13. package/dist/esm/lib/influence-core/types.js +35 -0
  14. package/dist/esm/lib/influence-core/types.js.map +1 -0
  15. package/dist/esm/lib/tool-lint/analyze.js +235 -0
  16. package/dist/esm/lib/tool-lint/analyze.js.map +1 -0
  17. package/dist/esm/lib/tool-lint/cli.js +198 -0
  18. package/dist/esm/lib/tool-lint/cli.js.map +1 -0
  19. package/dist/esm/lib/tool-lint/format.js +61 -0
  20. package/dist/esm/lib/tool-lint/format.js.map +1 -0
  21. package/dist/esm/lib/tool-lint/index.js +23 -0
  22. package/dist/esm/lib/tool-lint/index.js.map +1 -0
  23. package/dist/esm/lib/tool-lint/rules.js +249 -0
  24. package/dist/esm/lib/tool-lint/rules.js.map +1 -0
  25. package/dist/esm/lib/tool-lint/types.js +25 -0
  26. package/dist/esm/lib/tool-lint/types.js.map +1 -0
  27. package/dist/esm/lib/trace-toolpack/bounded.js +76 -0
  28. package/dist/esm/lib/trace-toolpack/bounded.js.map +1 -0
  29. package/dist/esm/lib/trace-toolpack/index.js +10 -0
  30. package/dist/esm/lib/trace-toolpack/index.js.map +1 -0
  31. package/dist/esm/lib/trace-toolpack/traceToolpack.js +699 -0
  32. package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -0
  33. package/dist/esm/lib/trace-toolpack/types.js +24 -0
  34. package/dist/esm/lib/trace-toolpack/types.js.map +1 -0
  35. package/dist/esm/observe.js +25 -0
  36. package/dist/esm/observe.js.map +1 -1
  37. package/dist/esm/recorders/observability/ToolChoiceRecorder.js +261 -0
  38. package/dist/esm/recorders/observability/ToolChoiceRecorder.js.map +1 -0
  39. package/dist/lib/influence-core/cache.js +155 -0
  40. package/dist/lib/influence-core/cache.js.map +1 -0
  41. package/dist/lib/influence-core/index.js +50 -0
  42. package/dist/lib/influence-core/index.js.map +1 -0
  43. package/dist/lib/influence-core/margin.js +114 -0
  44. package/dist/lib/influence-core/margin.js.map +1 -0
  45. package/dist/lib/influence-core/signals.js +242 -0
  46. package/dist/lib/influence-core/signals.js.map +1 -0
  47. package/dist/lib/influence-core/similarity.js +83 -0
  48. package/dist/lib/influence-core/similarity.js.map +1 -0
  49. package/dist/lib/influence-core/types.js +38 -0
  50. package/dist/lib/influence-core/types.js.map +1 -0
  51. package/dist/lib/tool-lint/analyze.js +242 -0
  52. package/dist/lib/tool-lint/analyze.js.map +1 -0
  53. package/dist/lib/tool-lint/cli.js +203 -0
  54. package/dist/lib/tool-lint/cli.js.map +1 -0
  55. package/dist/lib/tool-lint/format.js +65 -0
  56. package/dist/lib/tool-lint/format.js.map +1 -0
  57. package/dist/lib/tool-lint/index.js +43 -0
  58. package/dist/lib/tool-lint/index.js.map +1 -0
  59. package/dist/lib/tool-lint/rules.js +256 -0
  60. package/dist/lib/tool-lint/rules.js.map +1 -0
  61. package/dist/lib/tool-lint/types.js +26 -0
  62. package/dist/lib/tool-lint/types.js.map +1 -0
  63. package/dist/lib/trace-toolpack/bounded.js +86 -0
  64. package/dist/lib/trace-toolpack/bounded.js.map +1 -0
  65. package/dist/lib/trace-toolpack/index.js +16 -0
  66. package/dist/lib/trace-toolpack/index.js.map +1 -0
  67. package/dist/lib/trace-toolpack/traceToolpack.js +704 -0
  68. package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -0
  69. package/dist/lib/trace-toolpack/types.js +28 -0
  70. package/dist/lib/trace-toolpack/types.js.map +1 -0
  71. package/dist/observe.js +64 -1
  72. package/dist/observe.js.map +1 -1
  73. package/dist/recorders/observability/ToolChoiceRecorder.js +266 -0
  74. package/dist/recorders/observability/ToolChoiceRecorder.js.map +1 -0
  75. package/dist/types/lib/influence-core/cache.d.ts +95 -0
  76. package/dist/types/lib/influence-core/cache.d.ts.map +1 -0
  77. package/dist/types/lib/influence-core/index.d.ts +33 -0
  78. package/dist/types/lib/influence-core/index.d.ts.map +1 -0
  79. package/dist/types/lib/influence-core/margin.d.ts +34 -0
  80. package/dist/types/lib/influence-core/margin.d.ts.map +1 -0
  81. package/dist/types/lib/influence-core/signals.d.ts +104 -0
  82. package/dist/types/lib/influence-core/signals.d.ts.map +1 -0
  83. package/dist/types/lib/influence-core/similarity.d.ts +26 -0
  84. package/dist/types/lib/influence-core/similarity.d.ts.map +1 -0
  85. package/dist/types/lib/influence-core/types.d.ts +158 -0
  86. package/dist/types/lib/influence-core/types.d.ts.map +1 -0
  87. package/dist/types/lib/tool-lint/analyze.d.ts +84 -0
  88. package/dist/types/lib/tool-lint/analyze.d.ts.map +1 -0
  89. package/dist/types/lib/tool-lint/cli.d.ts +44 -0
  90. package/dist/types/lib/tool-lint/cli.d.ts.map +1 -0
  91. package/dist/types/lib/tool-lint/format.d.ts +19 -0
  92. package/dist/types/lib/tool-lint/format.d.ts.map +1 -0
  93. package/dist/types/lib/tool-lint/index.d.ts +24 -0
  94. package/dist/types/lib/tool-lint/index.d.ts.map +1 -0
  95. package/dist/types/lib/tool-lint/rules.d.ts +86 -0
  96. package/dist/types/lib/tool-lint/rules.d.ts.map +1 -0
  97. package/dist/types/lib/tool-lint/types.d.ts +156 -0
  98. package/dist/types/lib/tool-lint/types.d.ts.map +1 -0
  99. package/dist/types/lib/trace-toolpack/bounded.d.ts +48 -0
  100. package/dist/types/lib/trace-toolpack/bounded.d.ts.map +1 -0
  101. package/dist/types/lib/trace-toolpack/index.d.ts +10 -0
  102. package/dist/types/lib/trace-toolpack/index.d.ts.map +1 -0
  103. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts +70 -0
  104. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -0
  105. package/dist/types/lib/trace-toolpack/types.d.ts +60 -0
  106. package/dist/types/lib/trace-toolpack/types.d.ts.map +1 -0
  107. package/dist/types/observe.d.ts +4 -0
  108. package/dist/types/observe.d.ts.map +1 -1
  109. package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts +165 -0
  110. package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts.map +1 -0
  111. package/package.json +6 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traceToolpack.js","sourceRoot":"","sources":["../../../../src/lib/trace-toolpack/traceToolpack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Trace toolpack types — RFC-003 Part C (the introspection toolpack).
3
+ *
4
+ * Pattern: artifact bag — everything a debugging LLM needs to navigate a
5
+ * COMPLETED run, captured once and handed to `traceToolpack()`.
6
+ * Role: Input contract. The toolpack never re-runs anything; it serves
7
+ * bounded, id-addressed views over these frozen artifacts.
8
+ */
9
+ /** Hard caps — per-call params clamp to these regardless of what the LLM asks for. */
10
+ export const TOOLPACK_HARD_CAPS = {
11
+ sliceMaxDepth: 20,
12
+ sliceMaxNodes: 100,
13
+ valueMaxChars: 8000,
14
+ narrativeMaxLines: 200,
15
+ };
16
+ export function resolveToolpackOptions(options) {
17
+ return {
18
+ previewChars: options?.previewChars ?? 160,
19
+ sliceMaxDepth: options?.sliceMaxDepth ?? 6,
20
+ sliceMaxNodes: options?.sliceMaxNodes ?? 25,
21
+ valueMaxChars: options?.valueMaxChars ?? 2000,
22
+ };
23
+ }
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/trace-toolpack/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiDH,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,GAAG;CACd,CAAC;AAEX,MAAM,UAAU,sBAAsB,CAAC,OAA8B;IACnE,OAAO;QACL,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,GAAG;QAC1C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,CAAC;QAC1C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,EAAE;QAC3C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;KAC9C,CAAC;AACJ,CAAC"}
@@ -58,4 +58,29 @@ export { toolLineageRecorder, } from './recorders/observability/ToolLineageRecor
58
58
  export { agentThinkingTrace, } from './recorders/observability/AgentThinkingTraceRecorder.js';
59
59
  // Emit primitive — used by every Tier-3 source-domain.
60
60
  export { typedEmit } from './recorders/core/typedEmit.js';
61
+ // influence-core — the ONE embedding-based scoring engine (RFC-002/003
62
+ // block D6). Not a recorder: pure, embedder-injected scoring functions
63
+ // + the shared bounded embedding cache. Future /observe features build
64
+ // on it (RFC-002 C1 catalog lint, C4/C5 margin recorder, RFC-003 D7
65
+ // edge weigher). Honest claim: every score is an embedding-geometry
66
+ // PROXY — semantic alignment, never model internals, never causal
67
+ // attribution.
68
+ export { adaptWeights, averageRelevancy, compositeScore, contentHash, DEFAULT_INFLUENCE_WEIGHTS, DEFAULT_MARGIN_THRESHOLD, DEFAULT_PERSISTENCE_THRESHOLD, EmbeddingCache, embeddingCache, finalAnswerSimilarity, pairwiseSimilarity, persistence, scoreInfluence, scoreMargin, structuralProximity, } from './lib/influence-core/index.js';
69
+ // Introspection toolpack (RFC-003 Part C) — footprintjs trace evidence
70
+ // exposed as TOOLS a debugging LLM calls over a COMPLETED run's artifacts.
71
+ // Bounded, honest (⚠ markers), redaction-respecting, id-navigable.
72
+ export { callTraceTool, TOOLPACK_HARD_CAPS, traceToolpack, } from './lib/trace-toolpack/index.js';
73
+ // Tool-catalog confusability lint (RFC-002 tier 1, C1–C3) — build-time,
74
+ // CI-gateable, framework-agnostic: plain { name, description?, inputSchema? }
75
+ // tools in (OpenAI/Anthropic/MCP lists coerce via coerceCatalog; the
76
+ // library's Tool[] via catalogFromTools), a report with a gateable `ok`
77
+ // out. Pluggable structural rule pack; thresholds + embedder consumer-
78
+ // injected with our defaults. Bin: `agentfootprint-lint-tools`.
79
+ // Front door: docs/guides/tool-catalog-lint.md.
80
+ export { analyzeToolCatalog, catalogFromTools, coerceCatalog, confusabilityText, DEFAULT_CONFUSABILITY_THRESHOLD, DEFAULT_OMISSION_CUES, DEFAULT_WATCH_BAND, DEFAULT_WHEN_CUES, defaultStructuralRules, descriptionRule, differentiationHint, enumInProseRule, formatToolCatalogReport, MOCK_EMBEDDER_CALIBRATION, optionalParamRule, runToolLintCli, saysWhatNotWhenRule, } from './lib/tool-lint/index.js';
81
+ // Tool-choice margin recorder (RFC-002 tier 2, C4–C6) — per LLM call,
82
+ // ranks the OFFERED catalog against the choice context (user message +
83
+ // latest assistant reasoning) via influence-core scoreMargin; embeds
84
+ // LAZILY on first read; flags narrow margins + proxy disagreements.
85
+ export { buildChoiceContext, toolChoiceRecorder, } from './recorders/observability/ToolChoiceRecorder.js';
61
86
  //# sourceMappingURL=observe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAA+B,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAEhG,+BAA+B;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAgBjB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,GAQhB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,GAQf,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,GAKrB,MAAM,gDAAgD,CAAC;AAExD,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,wBAAwB,GAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAChG,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,cAAc,GAIf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,YAAY,GAGb,MAAM,6CAA6C,CAAC;AACrD,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EACL,mBAAmB,GAMpB,MAAM,kDAAkD,CAAC;AAC1D,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,kBAAkB,GAQnB,MAAM,yDAAyD,CAAC;AAEjE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAA+B,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAEhG,+BAA+B;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAgBjB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,GAQhB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,GAQf,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,GAKrB,MAAM,gDAAgD,CAAC;AAExD,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,wBAAwB,GAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAChG,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,aAAa,EACb,cAAc,GAIf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,YAAY,GAGb,MAAM,6CAA6C,CAAC;AACrD,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EACL,mBAAmB,GAMpB,MAAM,kDAAkD,CAAC;AAC1D,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,kBAAkB,GAQnB,MAAM,yDAAyD,CAAC;AAEjE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,oEAAoE;AACpE,kEAAkE;AAClE,eAAe;AACf,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,mBAAmB,GAiBpB,MAAM,+BAA+B,CAAC;AACvC,uEAAuE;AACvE,2EAA2E;AAC3E,mEAAmE;AACnE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,GAGd,MAAM,+BAA+B,CAAC;AACvC,wEAAwE;AACxE,8EAA8E;AAC9E,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,gEAAgE;AAChE,gDAAgD;AAChD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,GAepB,MAAM,0BAA0B,CAAC;AAClC,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAOnB,MAAM,iDAAiD,CAAC"}
@@ -0,0 +1,261 @@
1
+ /**
2
+ * toolChoiceRecorder — runtime tool-choice margins (RFC-002 tier 2,
3
+ * blocks C4–C6).
4
+ *
5
+ * Per LLM call that OFFERED tools, this recorder captures the menu the
6
+ * model saw (`stream.llm_start.tools`), what it actually invoked
7
+ * (`stream.tool_start`), and the choice context — then, LAZILY on first
8
+ * read, ranks the offered candidates against that context via
9
+ * influence-core's `scoreMargin` (C4):
10
+ *
11
+ * margin = score(best chosen) − score(best non-chosen)
12
+ *
13
+ * Small margin (`narrow`, < `marginThreshold`, default 0.05) = the
14
+ * choice was a close call under the proxy. Top-scored candidate not
15
+ * among the chosen (`proxyDisagreement`) is ALWAYS flagged — either a
16
+ * proxy miss or a genuinely surprising model choice; both are exactly
17
+ * what a debugger wants surfaced.
18
+ *
19
+ * ## The choice context (C4 — what is embedded, precisely)
20
+ *
21
+ * `buildChoiceContext` assembles the SAME two slots the model's
22
+ * tool-selection reasoning ran on:
23
+ *
24
+ * INCLUDED
25
+ * 1. the user message of the current turn (`agent.turn_start.userPrompt`)
26
+ * — the task the model is choosing a tool FOR (first
27
+ * `maxSlotChars` chars: the head states the task);
28
+ * 2. the latest assistant reasoning text — the most recent
29
+ * `stream.llm_end.content` of this turn, when present (last
30
+ * `maxSlotChars` chars: the tail is where "what next" lives).
31
+ * Iteration 1 has no assistant text; the slot is omitted.
32
+ *
33
+ * EXCLUDED (deliberately)
34
+ * - the system prompt: constant across every call of the run — zero
35
+ * per-call discrimination, it only dilutes the embedding;
36
+ * - older history turns: recency dominates tool choice, and the full
37
+ * transcript grows the embedding cost linearly with run length;
38
+ * - raw tool results: the model reads them, but their distilled
39
+ * effect on the NEXT choice is the assistant's own reasoning text,
40
+ * which IS included; raw payloads skew the embedding toward data
41
+ * vocabulary (the honest-proxy discipline: mirror the
42
+ * decision-relevant text, not every visible byte);
43
+ * - tool schemas: those are the CANDIDATES being ranked, not context.
44
+ *
45
+ * Candidate text per offered tool = `confusabilityText` (tokenized name
46
+ * + description) — the SAME construction the catalog lint (C1) embeds,
47
+ * so build-time confusability and runtime margins measure one geometry.
48
+ *
49
+ * ## Laziness (C5)
50
+ *
51
+ * Event hooks only RECORD (string copies into a KeyedStore). The
52
+ * embedder runs on the first `getCalls()` / `getFlagged()` /
53
+ * `getSummary()` — embedding I/O NEVER rides the hot path, even when
54
+ * the recorder is attached inline. Scores memoize per entry. Attach
55
+ * with `{ delivery: 'deferred' }` (footprintjs RFC-001) to move the
56
+ * bookkeeping off the hot path too — it is a normal CombinedRecorder.
57
+ *
58
+ * Pattern: CombinedRecorder (Convention 1 — single purpose: tool-choice
59
+ * margin evidence). Owns a `KeyedStore<ToolChoiceEntry>` keyed
60
+ * by the LLM call's `runtimeStageId`. Convention 4: resets on a
61
+ * new `runId` via `FlowRecorder.onRunStart`.
62
+ * Role: Tier-3 /observe recorder. Attach via `Agent.create(...)
63
+ * .recorder(handle)` or `executor.attachCombinedRecorder`.
64
+ *
65
+ * Honest claim (RFC-002 §2): margins are embedding geometry between the
66
+ * context and tool descriptions — a deterministic PROXY for the model's
67
+ * selection function, never "the model chose because". Tier 3
68
+ * (choice-entropy sampling) validates the proxy.
69
+ */
70
+ import { KeyedStore } from 'footprintjs/trace';
71
+ import { DEFAULT_MARGIN_THRESHOLD, scoreMargin, } from '../../lib/influence-core/index.js';
72
+ import { confusabilityText } from '../../lib/tool-lint/analyze.js';
73
+ /** C4: the precise choice-context construction (see module JSDoc for the
74
+ * include/exclude rationale). Exported so consumers can reproduce it. */
75
+ export function buildChoiceContext(args) {
76
+ const max = args.maxSlotChars ?? 2000;
77
+ const user = `user: ${args.userPrompt.slice(0, max)}`;
78
+ const assistant = args.latestAssistantText?.trim();
79
+ if (assistant === undefined || assistant.length === 0)
80
+ return user;
81
+ return `${user}\n\nassistant: ${assistant.slice(-max)}`;
82
+ }
83
+ /** Build the tool-choice margin recorder (C5). */
84
+ export function toolChoiceRecorder(options) {
85
+ const marginThreshold = options.marginThreshold ?? DEFAULT_MARGIN_THRESHOLD;
86
+ const maxSlotChars = options.maxSlotChars ?? 2000;
87
+ const store = new KeyedStore();
88
+ let lastRunId;
89
+ let userPrompt = '';
90
+ let lastAssistantText;
91
+ let openKey;
92
+ const closeOpen = () => {
93
+ if (openKey === undefined)
94
+ return;
95
+ const open = store.get(openKey);
96
+ if (open)
97
+ open.closed = true;
98
+ openKey = undefined;
99
+ };
100
+ const reset = () => {
101
+ store.clear();
102
+ userPrompt = '';
103
+ lastAssistantText = undefined;
104
+ openKey = undefined;
105
+ };
106
+ /** Lazy scoring pass — the ONLY place the embedder runs. */
107
+ const ensureScored = async () => {
108
+ for (const entry of store.getMap().values()) {
109
+ if (!entry.closed || entry.margin !== undefined || entry.skipped !== undefined)
110
+ continue;
111
+ if (entry.chosen.length === 0) {
112
+ entry.skipped = 'nothing-chosen';
113
+ continue;
114
+ }
115
+ const offeredNames = new Set(entry.offered.map((tool) => tool.name));
116
+ if (!entry.chosen.every((name) => offeredNames.has(name))) {
117
+ entry.skipped = 'chosen-not-offered';
118
+ continue;
119
+ }
120
+ entry.margin = await scoreMargin({
121
+ candidates: entry.offered.map((tool) => ({
122
+ name: tool.name,
123
+ text: confusabilityText(tool),
124
+ })),
125
+ contextText: entry.contextText,
126
+ chosen: entry.chosen,
127
+ embedder: options.embedder,
128
+ marginThreshold,
129
+ });
130
+ }
131
+ };
132
+ const toCall = (entry) => ({
133
+ runtimeStageId: entry.runtimeStageId,
134
+ iteration: entry.iteration,
135
+ offered: entry.offered,
136
+ chosen: [...entry.chosen],
137
+ toolCallIds: [...entry.toolCallIds],
138
+ contextText: entry.contextText,
139
+ ...(entry.margin !== undefined ? { margin: entry.margin } : {}),
140
+ ...(entry.skipped !== undefined ? { skipped: entry.skipped } : {}),
141
+ });
142
+ return {
143
+ id: options.id ?? 'tool-choice',
144
+ onEmit(event) {
145
+ const payload = event.payload;
146
+ if (payload === null || typeof payload !== 'object')
147
+ return; // redacted or foreign
148
+ const p = payload;
149
+ switch (event.name) {
150
+ case 'agentfootprint.agent.turn_start': {
151
+ // New turn on the same run: fresh context slots.
152
+ closeOpen();
153
+ userPrompt = typeof p.userPrompt === 'string' ? p.userPrompt : '';
154
+ lastAssistantText = undefined;
155
+ break;
156
+ }
157
+ case 'agentfootprint.stream.llm_start': {
158
+ closeOpen();
159
+ const tools = Array.isArray(p.tools) ? p.tools : [];
160
+ if (tools.length === 0)
161
+ break; // no menu — nothing to confuse
162
+ store.set(event.runtimeStageId, {
163
+ runtimeStageId: event.runtimeStageId,
164
+ iteration: Number(p.iteration ?? 0),
165
+ offered: tools.map((tool) => ({
166
+ name: tool.name,
167
+ ...(tool.description !== undefined ? { description: tool.description } : {}),
168
+ })),
169
+ contextText: buildChoiceContext({
170
+ userPrompt,
171
+ ...(lastAssistantText !== undefined
172
+ ? { latestAssistantText: lastAssistantText }
173
+ : {}),
174
+ maxSlotChars,
175
+ }),
176
+ chosen: [],
177
+ toolCallIds: [],
178
+ closed: false,
179
+ });
180
+ openKey = event.runtimeStageId;
181
+ break;
182
+ }
183
+ case 'agentfootprint.stream.llm_end': {
184
+ if (typeof p.content === 'string' && p.content.length > 0) {
185
+ lastAssistantText = p.content;
186
+ }
187
+ break;
188
+ }
189
+ case 'agentfootprint.stream.tool_start': {
190
+ if (openKey === undefined)
191
+ break;
192
+ const entry = store.get(openKey);
193
+ if (entry === undefined)
194
+ break;
195
+ const name = String(p.toolName ?? 'unknown');
196
+ if (!entry.chosen.includes(name))
197
+ entry.chosen.push(name);
198
+ entry.toolCallIds.push(String(p.toolCallId ?? ''));
199
+ break;
200
+ }
201
+ case 'agentfootprint.agent.turn_end': {
202
+ closeOpen();
203
+ break;
204
+ }
205
+ default:
206
+ break;
207
+ }
208
+ },
209
+ /** Convention 4 — a new runId means a new run: reset accumulation so
210
+ * runtimeStageId keys (which restart per run) cannot collide. The
211
+ * executor also calls `clear()` before each `run()` — this hook is
212
+ * the detection that works regardless of attach surface. Same-
213
+ * executor `resume()` fires `onResume` (not `onRunStart`) and skips
214
+ * `clear()`, so pre-pause entries SURVIVE a resume by design. */
215
+ onRunStart(event) {
216
+ const runId = event.traversalContext?.runId;
217
+ if (runId !== undefined && runId !== lastRunId) {
218
+ reset();
219
+ lastRunId = runId;
220
+ }
221
+ },
222
+ onRunEnd() {
223
+ closeOpen();
224
+ },
225
+ onRunFailed() {
226
+ closeOpen();
227
+ },
228
+ async getCalls() {
229
+ await ensureScored();
230
+ return [...store.getMap().values()].map(toCall);
231
+ },
232
+ async getFlagged() {
233
+ await ensureScored();
234
+ return [...store.getMap().values()]
235
+ .filter((entry) => entry.margin !== undefined &&
236
+ (entry.margin.flags.narrow || entry.margin.flags.proxyDisagreement))
237
+ .map(toCall);
238
+ },
239
+ async getSummary() {
240
+ await ensureScored();
241
+ const entries = [...store.getMap().values()];
242
+ const scored = entries.filter((entry) => entry.margin !== undefined);
243
+ const narrow = scored.filter((entry) => entry.margin?.flags.narrow).length;
244
+ const proxyDisagreement = scored.filter((entry) => entry.margin?.flags.proxyDisagreement).length;
245
+ const flagged = scored.filter((entry) => entry.margin?.flags.narrow || entry.margin?.flags.proxyDisagreement).length;
246
+ return {
247
+ llmCallsWithTools: entries.length,
248
+ choices: entries.filter((entry) => entry.chosen.length > 0).length,
249
+ scored: scored.length,
250
+ flagged,
251
+ narrow,
252
+ proxyDisagreement,
253
+ skipped: entries.filter((entry) => entry.skipped !== undefined).length,
254
+ };
255
+ },
256
+ clear() {
257
+ reset();
258
+ },
259
+ };
260
+ }
261
+ //# sourceMappingURL=ToolChoiceRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolChoiceRecorder.js","sourceRoot":"","sources":["../../../../src/recorders/observability/ToolChoiceRecorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.embeddingCache = exports.EmbeddingCache = exports.contentHash = void 0;
4
+ /**
5
+ * Fast, deterministic, browser-safe content hash (FNV-1a, two 32-bit
6
+ * lanes + length qualifier → "len-xxxxxxxxyyyyyyyy"). Non-cryptographic
7
+ * — cache keying only.
8
+ */
9
+ function contentHash(text) {
10
+ let h1 = 0x811c9dc5; // FNV offset basis
11
+ let h2 = 0xcbf29ce4; // second lane, different seed
12
+ for (let i = 0; i < text.length; i++) {
13
+ const c = text.charCodeAt(i);
14
+ h1 = Math.imul(h1 ^ c, 0x01000193); // FNV prime
15
+ h2 = Math.imul(h2 ^ c, 0x01000197); // distinct odd prime
16
+ }
17
+ const lane1 = (h1 >>> 0).toString(16).padStart(8, '0');
18
+ const lane2 = (h2 >>> 0).toString(16).padStart(8, '0');
19
+ return `${text.length.toString(36)}-${lane1}${lane2}`;
20
+ }
21
+ exports.contentHash = contentHash;
22
+ const DEFAULT_MAX_ENTRIES = 1024;
23
+ /**
24
+ * Wrap an embedder with a bounded, content-hash-keyed LRU cache.
25
+ * See module docs for keying, bounds, and concurrency semantics.
26
+ */
27
+ class EmbeddingCache {
28
+ dimensions;
29
+ inner;
30
+ maxEntries;
31
+ /** LRU store — Map iteration order is recency (refreshed on hit). */
32
+ vectors = new Map();
33
+ /** Single-flight joins — promises live here until settled. */
34
+ inflight = new Map();
35
+ hits = 0;
36
+ misses = 0;
37
+ evictions = 0;
38
+ constructor(inner, options = {}) {
39
+ const maxEntries = options.maxEntries ?? DEFAULT_MAX_ENTRIES;
40
+ if (!Number.isInteger(maxEntries) || maxEntries <= 0) {
41
+ throw new Error(`EmbeddingCache: maxEntries must be a positive integer (got ${maxEntries})`);
42
+ }
43
+ this.inner = inner;
44
+ this.maxEntries = maxEntries;
45
+ this.dimensions = inner.dimensions;
46
+ }
47
+ async embed(args) {
48
+ const key = contentHash(args.text);
49
+ const cached = this.vectors.get(key);
50
+ if (cached !== undefined) {
51
+ this.hits += 1;
52
+ this.refresh(key, cached);
53
+ return cached.slice();
54
+ }
55
+ const joined = this.inflight.get(key);
56
+ if (joined !== undefined) {
57
+ this.hits += 1; // coalesced — no extra inner call
58
+ return (await joined).slice();
59
+ }
60
+ this.misses += 1;
61
+ const promise = this.inner.embed(args);
62
+ this.inflight.set(key, promise);
63
+ try {
64
+ const vector = await promise;
65
+ this.store(key, vector);
66
+ return vector.slice();
67
+ }
68
+ finally {
69
+ // Settled either way; rejections are never cached.
70
+ this.inflight.delete(key);
71
+ }
72
+ }
73
+ async embedBatch(args) {
74
+ const { texts, signal } = args;
75
+ const out = new Array(texts.length);
76
+ // Partition into cache hits and misses (deduplicating within the
77
+ // batch — the same text twice embeds once).
78
+ const missTexts = [];
79
+ const missSlots = new Map(); // key → output indices
80
+ for (let i = 0; i < texts.length; i++) {
81
+ const key = contentHash(texts[i]);
82
+ const cached = this.vectors.get(key);
83
+ if (cached !== undefined) {
84
+ this.hits += 1;
85
+ this.refresh(key, cached);
86
+ out[i] = cached.slice();
87
+ continue;
88
+ }
89
+ const slots = missSlots.get(key);
90
+ if (slots !== undefined) {
91
+ this.hits += 1; // in-batch duplicate — one inner embed serves both
92
+ slots.push(i);
93
+ continue;
94
+ }
95
+ this.misses += 1;
96
+ missSlots.set(key, [i]);
97
+ missTexts.push(texts[i]);
98
+ }
99
+ if (missTexts.length > 0) {
100
+ const vectors = this.inner.embedBatch
101
+ ? await this.inner.embedBatch({ texts: missTexts, ...(signal ? { signal } : {}) })
102
+ : await this.embedSequential(missTexts, signal);
103
+ let v = 0;
104
+ for (const [key, slots] of missSlots) {
105
+ const vector = vectors[v++];
106
+ this.store(key, vector);
107
+ for (const slot of slots)
108
+ out[slot] = vector.slice();
109
+ }
110
+ }
111
+ return out;
112
+ }
113
+ /** Visible cache health (bounded honesty — see module docs). */
114
+ stats() {
115
+ return {
116
+ size: this.vectors.size,
117
+ maxEntries: this.maxEntries,
118
+ hits: this.hits,
119
+ misses: this.misses,
120
+ evictions: this.evictions,
121
+ };
122
+ }
123
+ /** Drop all cached vectors. Stats counters are preserved. */
124
+ clear() {
125
+ this.vectors.clear();
126
+ }
127
+ refresh(key, vector) {
128
+ // Map insertion order doubles as the LRU order.
129
+ this.vectors.delete(key);
130
+ this.vectors.set(key, vector);
131
+ }
132
+ store(key, vector) {
133
+ // Defensive copy in — callers can't mutate the cached vector.
134
+ this.vectors.set(key, vector.slice());
135
+ while (this.vectors.size > this.maxEntries) {
136
+ const oldest = this.vectors.keys().next().value;
137
+ this.vectors.delete(oldest);
138
+ this.evictions += 1;
139
+ }
140
+ }
141
+ async embedSequential(texts, signal) {
142
+ const vectors = [];
143
+ for (const text of texts) {
144
+ vectors.push(await this.inner.embed({ text, ...(signal ? { signal } : {}) }));
145
+ }
146
+ return vectors;
147
+ }
148
+ }
149
+ exports.EmbeddingCache = EmbeddingCache;
150
+ /** Factory sugar — `embeddingCache(embedder)` reads like the built-ins. */
151
+ function embeddingCache(inner, options = {}) {
152
+ return new EmbeddingCache(inner, options);
153
+ }
154
+ exports.embeddingCache = embeddingCache;
155
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/influence-core/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * influence-core — the ONE embedding-based scoring engine
4
+ * (RFC-002/003 block D6).
5
+ *
6
+ * Extracted from the Visible Reasoning paper's FDL influence pipeline
7
+ * (Eq. 1–6: four signals + adaptive weighted composite) so that three
8
+ * consumers share one engine and one embedding cache:
9
+ *
10
+ * a) RFC-002 — tool-catalog lint (C1 ← `pairwiseSimilarity`) and the
11
+ * margin recorder (C4/C5 ← `scoreMargin`),
12
+ * b) RFC-003 Part B — the LLM-edge weigher (D7 ← `scoreInfluence` /
13
+ * the signal scorers),
14
+ * c) the FDL paper pipeline itself (stages 4–6 ← `EmbeddingCache` +
15
+ * `scoreInfluence`).
16
+ *
17
+ * Leaf module: zero agent/runtime imports — the only dependency is the
18
+ * `Embedder` interface (re-exported from memory/embedding, the one
19
+ * existing contract) and the shared `cosineSimilarity`.
20
+ *
21
+ * Plug-and-play: the frame and formulas are the library's; the
22
+ * embedder, weights, and thresholds are consumer-injected.
23
+ *
24
+ * Honest claim (RFC-002 §2): every score here is a deterministic
25
+ * embedding-geometry PROXY — semantic alignment, never model internals
26
+ * and never causal attribution.
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.scoreMargin = exports.pairwiseSimilarity = exports.structuralProximity = exports.scoreInfluence = exports.persistence = exports.finalAnswerSimilarity = exports.compositeScore = exports.averageRelevancy = exports.adaptWeights = exports.embeddingCache = exports.EmbeddingCache = exports.contentHash = exports.DEFAULT_PERSISTENCE_THRESHOLD = exports.DEFAULT_MARGIN_THRESHOLD = exports.DEFAULT_INFLUENCE_WEIGHTS = void 0;
30
+ var types_js_1 = require("./types.js");
31
+ Object.defineProperty(exports, "DEFAULT_INFLUENCE_WEIGHTS", { enumerable: true, get: function () { return types_js_1.DEFAULT_INFLUENCE_WEIGHTS; } });
32
+ Object.defineProperty(exports, "DEFAULT_MARGIN_THRESHOLD", { enumerable: true, get: function () { return types_js_1.DEFAULT_MARGIN_THRESHOLD; } });
33
+ Object.defineProperty(exports, "DEFAULT_PERSISTENCE_THRESHOLD", { enumerable: true, get: function () { return types_js_1.DEFAULT_PERSISTENCE_THRESHOLD; } });
34
+ var cache_js_1 = require("./cache.js");
35
+ Object.defineProperty(exports, "contentHash", { enumerable: true, get: function () { return cache_js_1.contentHash; } });
36
+ Object.defineProperty(exports, "EmbeddingCache", { enumerable: true, get: function () { return cache_js_1.EmbeddingCache; } });
37
+ Object.defineProperty(exports, "embeddingCache", { enumerable: true, get: function () { return cache_js_1.embeddingCache; } });
38
+ var signals_js_1 = require("./signals.js");
39
+ Object.defineProperty(exports, "adaptWeights", { enumerable: true, get: function () { return signals_js_1.adaptWeights; } });
40
+ Object.defineProperty(exports, "averageRelevancy", { enumerable: true, get: function () { return signals_js_1.averageRelevancy; } });
41
+ Object.defineProperty(exports, "compositeScore", { enumerable: true, get: function () { return signals_js_1.compositeScore; } });
42
+ Object.defineProperty(exports, "finalAnswerSimilarity", { enumerable: true, get: function () { return signals_js_1.finalAnswerSimilarity; } });
43
+ Object.defineProperty(exports, "persistence", { enumerable: true, get: function () { return signals_js_1.persistence; } });
44
+ Object.defineProperty(exports, "scoreInfluence", { enumerable: true, get: function () { return signals_js_1.scoreInfluence; } });
45
+ Object.defineProperty(exports, "structuralProximity", { enumerable: true, get: function () { return signals_js_1.structuralProximity; } });
46
+ var similarity_js_1 = require("./similarity.js");
47
+ Object.defineProperty(exports, "pairwiseSimilarity", { enumerable: true, get: function () { return similarity_js_1.pairwiseSimilarity; } });
48
+ var margin_js_1 = require("./margin.js");
49
+ Object.defineProperty(exports, "scoreMargin", { enumerable: true, get: function () { return margin_js_1.scoreMargin; } });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/influence-core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAiBH,uCAIoB;AAHlB,qHAAA,yBAAyB,OAAA;AACzB,oHAAA,wBAAwB,OAAA;AACxB,yHAAA,6BAA6B,OAAA;AAG/B,uCAMoB;AALlB,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAKhB,2CASsB;AARpB,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,4GAAA,cAAc,OAAA;AACd,mHAAA,qBAAqB,OAAA;AACrB,yGAAA,WAAW,OAAA;AACX,4GAAA,cAAc,OAAA;AACd,iHAAA,mBAAmB,OAAA;AAIrB,iDAAkF;AAAzE,mHAAA,kBAAkB,OAAA;AAE3B,yCAAgE;AAAvD,wGAAA,WAAW,OAAA"}