agentfootprint 7.2.0 → 7.3.1

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 (61) hide show
  1. package/CLAUDE.md +1 -1
  2. package/dist/adapters/llm/AnthropicProvider.js +5 -1
  3. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  4. package/dist/debug.js +5 -2
  5. package/dist/debug.js.map +1 -1
  6. package/dist/embedders/index.js +139 -0
  7. package/dist/embedders/index.js.map +1 -0
  8. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +12 -0
  9. package/dist/esm/adapters/llm/AnthropicProvider.js +5 -1
  10. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  11. package/dist/esm/debug.d.ts +1 -1
  12. package/dist/esm/debug.js +1 -1
  13. package/dist/esm/debug.js.map +1 -1
  14. package/dist/esm/embedders/index.d.ts +49 -0
  15. package/dist/esm/embedders/index.js +110 -0
  16. package/dist/esm/embedders/index.js.map +1 -0
  17. package/dist/esm/lib/influence-core/attribute.d.ts +27 -0
  18. package/dist/esm/lib/influence-core/attribute.js +91 -0
  19. package/dist/esm/lib/influence-core/attribute.js.map +1 -0
  20. package/dist/esm/lib/influence-core/explain.d.ts +67 -0
  21. package/dist/esm/lib/influence-core/explain.js +80 -0
  22. package/dist/esm/lib/influence-core/explain.js.map +1 -0
  23. package/dist/esm/lib/influence-core/index.d.ts +4 -1
  24. package/dist/esm/lib/influence-core/index.js +3 -0
  25. package/dist/esm/lib/influence-core/index.js.map +1 -1
  26. package/dist/esm/lib/influence-core/snippets.d.ts +45 -0
  27. package/dist/esm/lib/influence-core/snippets.js +114 -0
  28. package/dist/esm/lib/influence-core/snippets.js.map +1 -0
  29. package/dist/esm/lib/influence-core/types.d.ts +50 -0
  30. package/dist/esm/recorders/observability/ToolChoiceRecorder.d.ts +32 -2
  31. package/dist/esm/recorders/observability/ToolChoiceRecorder.js +24 -6
  32. package/dist/esm/recorders/observability/ToolChoiceRecorder.js.map +1 -1
  33. package/dist/lib/influence-core/attribute.js +95 -0
  34. package/dist/lib/influence-core/attribute.js.map +1 -0
  35. package/dist/lib/influence-core/explain.js +84 -0
  36. package/dist/lib/influence-core/explain.js.map +1 -0
  37. package/dist/lib/influence-core/index.js +7 -1
  38. package/dist/lib/influence-core/index.js.map +1 -1
  39. package/dist/lib/influence-core/snippets.js +118 -0
  40. package/dist/lib/influence-core/snippets.js.map +1 -0
  41. package/dist/recorders/observability/ToolChoiceRecorder.js +24 -6
  42. package/dist/recorders/observability/ToolChoiceRecorder.js.map +1 -1
  43. package/dist/types/adapters/llm/AnthropicProvider.d.ts +12 -0
  44. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  45. package/dist/types/debug.d.ts +1 -1
  46. package/dist/types/debug.d.ts.map +1 -1
  47. package/dist/types/embedders/index.d.ts +50 -0
  48. package/dist/types/embedders/index.d.ts.map +1 -0
  49. package/dist/types/lib/influence-core/attribute.d.ts +28 -0
  50. package/dist/types/lib/influence-core/attribute.d.ts.map +1 -0
  51. package/dist/types/lib/influence-core/explain.d.ts +68 -0
  52. package/dist/types/lib/influence-core/explain.d.ts.map +1 -0
  53. package/dist/types/lib/influence-core/index.d.ts +4 -1
  54. package/dist/types/lib/influence-core/index.d.ts.map +1 -1
  55. package/dist/types/lib/influence-core/snippets.d.ts +46 -0
  56. package/dist/types/lib/influence-core/snippets.d.ts.map +1 -0
  57. package/dist/types/lib/influence-core/types.d.ts +50 -0
  58. package/dist/types/lib/influence-core/types.d.ts.map +1 -1
  59. package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts +32 -2
  60. package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts.map +1 -1
  61. package/package.json +27 -4
@@ -0,0 +1,68 @@
1
+ import type { AttributionUnit, Embedder, UnitScore } from './types.js';
2
+ export interface ExplainChoiceArgs {
3
+ /**
4
+ * The chosen tool being explained. `text` is what gets embedded — pass
5
+ * name + description (the name matters: a data snippet that NAMES the
6
+ * thing the tool acts on, e.g. "id: d42", is its strongest citation).
7
+ */
8
+ readonly tool: {
9
+ readonly name: string;
10
+ readonly text: string;
11
+ };
12
+ /**
13
+ * The context units, tagged by channel — e.g. `'system'` rules,
14
+ * the `'task'`, `'data'` snippets from `snippetUnits`. Channels are
15
+ * free-form strings; the verdict reports whatever labels it is given.
16
+ */
17
+ readonly units: readonly AttributionUnit[];
18
+ /** Injected embedder. Wrap in an `EmbeddingCache` so rule texts embed once. */
19
+ readonly embedder: Embedder;
20
+ /** Abort signal threaded to the embedder (network backends). */
21
+ readonly signal?: AbortSignal;
22
+ }
23
+ /** One channel's verdict: how much of the pick's positive similarity
24
+ * mass it owns, and the best unit inside it to quote. */
25
+ export interface ChannelVerdict {
26
+ readonly channel: string;
27
+ /**
28
+ * 0..1 share of POSITIVE similarity mass (negatives are clamped out,
29
+ * same as `attributeChoice.byChannel`). Shares across all channels sum
30
+ * to ~1 — or are all 0 when no unit had positive similarity.
31
+ */
32
+ readonly share: number;
33
+ /** The best-scoring unit IN this channel, text included for quoting.
34
+ * Omitted only when the channel has no units. */
35
+ readonly top?: UnitScore & {
36
+ readonly text: string;
37
+ };
38
+ }
39
+ /** The full explanation for one tool pick — `attributeChoice` reshaped
40
+ * for display: text carried through, channels ranked. */
41
+ export interface ChoiceExplanation {
42
+ /** The chosen tool being explained. */
43
+ readonly tool: string;
44
+ /**
45
+ * One verdict per channel present in the units, sorted by share
46
+ * descending (ties keep first-appearance order). Zero-share channels
47
+ * are listed too — absence of pull is part of the verdict.
48
+ */
49
+ readonly channels: readonly ChannelVerdict[];
50
+ /** The overall best unit — the citation ("picked because …"). */
51
+ readonly top: UnitScore & {
52
+ readonly text: string;
53
+ };
54
+ /** Every unit ranked descending (ties keep input order), text included. */
55
+ readonly units: readonly (UnitScore & {
56
+ readonly text: string;
57
+ })[];
58
+ }
59
+ /**
60
+ * Run `attributeChoice` and reshape the result for a UI: join each unit's
61
+ * text back by id, pick the best unit per channel, and rank the channels
62
+ * by their share of positive similarity mass.
63
+ *
64
+ * Fail-loud validation is inherited from `attributeChoice`: empty units
65
+ * or duplicate unit ids throw — caller wiring bugs, not runtime conditions.
66
+ */
67
+ export declare function explainChoice(args: ExplainChoiceArgs): Promise<ChoiceExplanation>;
68
+ //# sourceMappingURL=explain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../src/lib/influence-core/explain.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;0DAC0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;sDACkD;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED;0DAC0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,iEAAiE;IACjE,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;CACpE;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8CvF"}
@@ -24,7 +24,7 @@
24
24
  * embedding-geometry PROXY — semantic alignment, never model internals
25
25
  * and never causal attribution.
26
26
  */
27
- export type { CandidateScore, ConfidenceStrategy, EmbedArgs, EmbedBatchArgs, Embedder, EvidenceInput, InfluenceScore, InfluenceWeights, MarginCandidate, MarginResult, PairwiseSimilarityResult, RankingConfidence, SignalScores, SimilarityItem, SimilarityPair, } from './types.js';
27
+ export type { CandidateScore, AttributionUnit, ChoiceAttribution, ConfidenceStrategy, EmbedArgs, EmbedBatchArgs, Embedder, EvidenceInput, InfluenceScore, InfluenceWeights, MarginCandidate, MarginResult, PairwiseSimilarityResult, RankingConfidence, SignalScores, SimilarityItem, SimilarityPair, UnitScore, } from './types.js';
28
28
  export { DEFAULT_CLEAR_WINNER_MARGIN, DEFAULT_CLEAR_WINNER_RATIO, DEFAULT_INFLUENCE_WEIGHTS, DEFAULT_MARGIN_THRESHOLD, DEFAULT_PERSISTENCE_THRESHOLD, DEFAULT_SHORTLIST_BAND, } from './types.js';
29
29
  export { marginStrategy, rankingConfidence, ratioStrategy, type RankingConfidenceOptions, } from './attributability.js';
30
30
  export { scoreContrastiveInfluence, type ScoreContrastiveInfluenceArgs } from './contrastive.js';
@@ -32,4 +32,7 @@ export { contentHash, EmbeddingCache, embeddingCache, type EmbeddingCacheOptions
32
32
  export { adaptWeights, averageRelevancy, compositeScore, finalAnswerSimilarity, persistence, scoreInfluence, structuralProximity, type InfluenceScorer, type ScoreInfluenceArgs, } from './signals.js';
33
33
  export { pairwiseSimilarity, type PairwiseSimilarityArgs } from './similarity.js';
34
34
  export { scoreMargin, type ScoreMarginArgs } from './margin.js';
35
+ export { attributeChoice, type AttributeChoiceArgs } from './attribute.js';
36
+ export { explainChoice, type ChannelVerdict, type ChoiceExplanation, type ExplainChoiceArgs, } from './explain.js';
37
+ export { snippetUnits, type SnippetUnitsOptions } from './snippets.js';
35
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/influence-core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,KAAK,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/influence-core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,KAAK,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * snippetUnits — cut a tool result into citable AttributionUnits for the
3
+ * `'data'` channel.
4
+ *
5
+ * `explainChoice` can only credit the data channel with units to point
6
+ * at — a raw tool result (arbitrary JSON or prose) is not citable as one
7
+ * blob. This helper cuts it at the natural citation grain so a pick like
8
+ * "open dress d42" can be attributed to the exact search-result snippet
9
+ * that returned d42:
10
+ *
11
+ * • a string → one unit per sentence/line (non-empty, trimmed),
12
+ * • an array element that is an object → ONE unit summarizing it — its
13
+ * primitive fields joined as `key: value` pairs (a search hit, a row),
14
+ * • any other object → its primitive fields grouped into one unit,
15
+ * then the walk continues into nested objects/arrays,
16
+ * • null/undefined/booleans/empty strings/functions/symbols → skipped.
17
+ *
18
+ * Bounded and total: at most `max` units, each truncated to `maxLength`
19
+ * characters; circular references are guarded (WeakSet) — weird input
20
+ * yields fewer units, never a throw.
21
+ *
22
+ * Pattern: pure synchronous function, zero imports beyond the shared
23
+ * types — `src/lib/influence-core/` leaf. No embedding happens
24
+ * here; the units feed `attributeChoice` / `explainChoice`.
25
+ *
26
+ * Honest claim: this is a CUTTER, not a ranker — it decides what is
27
+ * quotable, not what mattered. Whether a snippet explains the pick is
28
+ * the (proxy) verdict of the similarity scoring downstream.
29
+ */
30
+ import type { AttributionUnit } from './types.js';
31
+ export interface SnippetUnitsOptions {
32
+ /** Channel tag stamped on every unit. Default `'data'`. */
33
+ readonly channel?: string;
34
+ /** Unit id prefix — ids become `'<prefix>-1'`, `'<prefix>-2'`, … Default `'data'`. */
35
+ readonly idPrefix?: string;
36
+ /** Cap on units returned. Default 12. */
37
+ readonly max?: number;
38
+ /** Cap on characters per unit text (ellipsis included). Default 200. */
39
+ readonly maxLength?: number;
40
+ }
41
+ /**
42
+ * Cut `value` (a tool result — arbitrary JSON value or prose string)
43
+ * into at most `max` citable units for the data channel.
44
+ */
45
+ export declare function snippetUnits(value: unknown, options?: SnippetUnitsOptions): AttributionUnit[];
46
+ //# sourceMappingURL=snippets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippets.d.ts","sourceRoot":"","sources":["../../../../src/lib/influence-core/snippets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,EAAE,CAcjG"}
@@ -250,4 +250,54 @@ export interface MarginResult {
250
250
  readonly proxyDisagreement: boolean;
251
251
  };
252
252
  }
253
+ /**
254
+ * One piece of the context the chooser saw, tagged by which channel it
255
+ * came from. `scoreMargin` asks "which tool best fits ONE context";
256
+ * `attributeChoice` asks the transpose — "which context UNIT best explains
257
+ * ONE chosen tool" — so the unit is the thing being scored here.
258
+ *
259
+ * A channel groups units by origin so the attribution can report where the
260
+ * pull came from: `'system'` (a rule in the system prompt), `'task'` (the
261
+ * user's request), `'result'` (data a prior tool returned), `'history'`
262
+ * (an earlier turn). Channels are free-form strings — the caller decides
263
+ * the taxonomy; the engine only sums by whatever labels it is given.
264
+ *
265
+ * (Named `AttributionUnit`, not `ContextUnit`, to stay distinct from
266
+ * context-bisect's own `ContextUnit`, which is a different subsystem.)
267
+ */
268
+ export interface AttributionUnit {
269
+ /** Unique id — the citation the attribution points at, e.g. `'rule-1'`. */
270
+ readonly id: string;
271
+ /** Origin group, e.g. `'system' | 'task' | 'result' | 'history'`. */
272
+ readonly channel: string;
273
+ /** The text of the unit (a rule sentence, the user task, …). */
274
+ readonly text: string;
275
+ }
276
+ /** One context unit's proximity to the chosen tool, ranked. */
277
+ export interface UnitScore {
278
+ readonly id: string;
279
+ readonly channel: string;
280
+ /** cosine(embed(tool text), embed(unit.text)). */
281
+ readonly score: number;
282
+ }
283
+ /**
284
+ * Which context best explains one tool choice — the transpose of a
285
+ * `MarginResult`. Same honesty caveat: `score` is embedding geometry
286
+ * between the tool text and each instruction unit, a PROXY for which
287
+ * instruction the pick aligns with, never proof the model used that rule.
288
+ */
289
+ export interface ChoiceAttribution {
290
+ /** The chosen tool being explained. */
291
+ readonly tool: string;
292
+ /** Every unit scored against the tool, descending (ties keep input order). */
293
+ readonly units: readonly UnitScore[];
294
+ /** The single best-attributing unit — the citation ("picked because …"). */
295
+ readonly top: UnitScore;
296
+ /**
297
+ * Share of total POSITIVE similarity mass per channel, summing to ~1
298
+ * (empty when no unit had positive similarity). A pick dominated by the
299
+ * `system` channel is procedural; one dominated by `task` is topical.
300
+ */
301
+ readonly byChannel: Readonly<Record<string, number>>;
302
+ }
253
303
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/influence-core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,EAAE,gBAKtC,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;qCACiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;CACzD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;wDAEoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;kBAEc;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;oEACoE;AACpE,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAID,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClD,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAID,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE;QACd,8DAA8D;QAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACzB;;;;WAIG;QACH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACrC,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/influence-core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,EAAE,gBAKtC,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;qCACiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;CACzD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;wDAEoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;kBAEc;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;oEACoE;AACpE,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAID,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClD,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAID,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE;QACd,8DAA8D;QAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACzB;;;;WAIG;QACH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACrC,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD"}
@@ -69,13 +69,42 @@
69
69
  */
70
70
  import type { EmitEvent } from 'footprintjs';
71
71
  import { type Embedder, type MarginResult } from '../../lib/influence-core/index.js';
72
- /** Minimal structural slice of footprintjs's FlowRunEvent (runId is all
73
- * we read Convention 4). */
72
+ /** Minimal structural slice of footprintjs's run-boundary events the
73
+ * `FlowRunEvent` (`onRunStart`/`onRunEnd`/`onRunFailed`). runId is all we
74
+ * read (Convention 4). */
74
75
  interface RunBoundaryEvent {
75
76
  readonly traversalContext?: {
76
77
  readonly runId?: string;
77
78
  };
78
79
  }
80
+ /** Minimal structural slice of footprintjs's `onResume` union — on
81
+ * `CombinedRecorder`, `onResume` is one of the SharedLifecycleOverlap
82
+ * methods (declared on both `ScopeRecorder` and `FlowRecorder` with
83
+ * DIFFERENT payloads), so its type is `ResumeEvent | FlowResumeEvent`, not
84
+ * a single `FlowRunEvent`-shaped type like the three siblings above. Only
85
+ * the control-flow `FlowResumeEvent` carries `traversalContext`; the
86
+ * scope-channel `ResumeEvent` (this recorder also receives it, via
87
+ * `onEmit`) has none — `traversalContext?.runId` is `undefined` there and
88
+ * the handler ignores it.
89
+ *
90
+ * `hasInput` is listed here too, even though the handler never reads it.
91
+ * Both union members declare `hasInput: boolean`, and TypeScript's
92
+ * weak-type check rejects an assignment to an object type whose
93
+ * properties are ALL optional when the source has NO property name in
94
+ * common with it at all. A slice with only `traversalContext` shares zero
95
+ * property names with the scope-channel `ResumeEvent` (it has no
96
+ * `traversalContext` field), so TypeScript flagged the whole handle as not
97
+ * assignable to `CombinedRecorder` (the 7.3.0 regression: f0a87de added
98
+ * `onResume` typed with exactly that too-narrow slice). Declaring
99
+ * `hasInput` gives this slice at least one property name in common with
100
+ * BOTH union members, which is all the weak-type check requires — the
101
+ * field carries no behavior. */
102
+ interface ResumeBoundaryEvent {
103
+ readonly hasInput?: boolean;
104
+ readonly traversalContext?: {
105
+ readonly runId?: string;
106
+ };
107
+ }
79
108
  /** One offered tool, as the model saw it on `llm_start`. */
80
109
  export interface OfferedTool {
81
110
  readonly name: string;
@@ -149,6 +178,7 @@ export interface ToolChoiceRecorderHandle {
149
178
  clear(): void;
150
179
  onEmit(event: EmitEvent): void;
151
180
  onRunStart(event: RunBoundaryEvent): void;
181
+ onResume(event: ResumeBoundaryEvent): void;
152
182
  onRunEnd(event: RunBoundaryEvent): void;
153
183
  onRunFailed(event: RunBoundaryEvent): void;
154
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToolChoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../src/recorders/observability/ToolChoiceRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolChoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../src/recorders/observability/ToolChoiceRecorder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentfootprint",
3
- "version": "7.2.0",
3
+ "version": "7.3.1",
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
  "author": "Sanjay Krishna Anbalagan",
@@ -60,6 +60,7 @@
60
60
  "test:coverage": "vitest run --coverage --coverage.reporter=json-summary --coverage.reporter=text-summary --coverage.reportsDirectory=coverage",
61
61
  "test:examples": "tsc -p examples/tsconfig.json && bash scripts/run-all-examples.sh",
62
62
  "test:examples:typecheck": "tsc -p examples/tsconfig.json",
63
+ "test:types": "tsc -p test/type-regressions/tsconfig.json",
63
64
  "examples:readme": "node scripts/generate-examples-readme.mjs",
64
65
  "examples:readme:check": "node scripts/generate-examples-readme.mjs --check",
65
66
  "example": "TSX_TSCONFIG_PATH=examples/runtime.tsconfig.json npx --yes tsx",
@@ -312,7 +313,17 @@
312
313
  "default": "./dist/status.js"
313
314
  }
314
315
  },
315
- "./package.json": "./package.json"
316
+ "./package.json": "./package.json",
317
+ "./embedders": {
318
+ "import": {
319
+ "types": "./dist/esm/embedders/index.d.ts",
320
+ "default": "./dist/esm/embedders/index.js"
321
+ },
322
+ "require": {
323
+ "types": "./dist/types/embedders/index.d.ts",
324
+ "default": "./dist/embedders/index.js"
325
+ }
326
+ }
316
327
  },
317
328
  "typesVersions": {
318
329
  "*": {
@@ -378,6 +389,9 @@
378
389
  ],
379
390
  "status": [
380
391
  "./dist/types/status.d.ts"
392
+ ],
393
+ "embedders": [
394
+ "./dist/types/embedders/index.d.ts"
381
395
  ]
382
396
  }
383
397
  },
@@ -392,9 +406,11 @@
392
406
  "@aws-sdk/client-bedrock-runtime": "*",
393
407
  "@aws-sdk/client-cloudwatch-logs": "*",
394
408
  "@aws-sdk/client-xray": "*",
409
+ "@huggingface/transformers": "*",
395
410
  "@modelcontextprotocol/sdk": "*",
396
411
  "@opentelemetry/api": "*",
397
- "footprintjs": "^9.10.0",
412
+ "@yarflam/potion-base-8m": "*",
413
+ "footprintjs": "^9.10.1",
398
414
  "ioredis": "*",
399
415
  "openai": "*",
400
416
  "zod": "*"
@@ -432,6 +448,12 @@
432
448
  },
433
449
  "zod": {
434
450
  "optional": true
451
+ },
452
+ "@huggingface/transformers": {
453
+ "optional": true
454
+ },
455
+ "@yarflam/potion-base-8m": {
456
+ "optional": true
435
457
  }
436
458
  },
437
459
  "devDependencies": {
@@ -440,10 +462,11 @@
440
462
  "@typescript-eslint/eslint-plugin": "^5.61.0",
441
463
  "@typescript-eslint/parser": "^5.61.0",
442
464
  "@vitest/coverage-v8": "^4.1.5",
465
+ "@yarflam/potion-base-8m": "^1.0.4",
443
466
  "esbuild": "^0.28.0",
444
467
  "eslint": "^8.44.0",
445
468
  "eslint-config-prettier": "^6.15.0",
446
- "footprintjs": "^9.10.0",
469
+ "footprintjs": "^9.10.1",
447
470
  "prettier": "^2.8.1",
448
471
  "publint": "^0.3.0",
449
472
  "typedoc": "^0.28.19",