agentfootprint 6.23.0 → 6.24.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 (67) hide show
  1. package/dist/esm/lib/influence-core/cache.js +149 -0
  2. package/dist/esm/lib/influence-core/cache.js.map +1 -0
  3. package/dist/esm/lib/influence-core/index.js +32 -0
  4. package/dist/esm/lib/influence-core/index.js.map +1 -0
  5. package/dist/esm/lib/influence-core/margin.js +110 -0
  6. package/dist/esm/lib/influence-core/margin.js.map +1 -0
  7. package/dist/esm/lib/influence-core/signals.js +232 -0
  8. package/dist/esm/lib/influence-core/signals.js.map +1 -0
  9. package/dist/esm/lib/influence-core/similarity.js +79 -0
  10. package/dist/esm/lib/influence-core/similarity.js.map +1 -0
  11. package/dist/esm/lib/influence-core/types.js +35 -0
  12. package/dist/esm/lib/influence-core/types.js.map +1 -0
  13. package/dist/esm/lib/trace-toolpack/bounded.js +76 -0
  14. package/dist/esm/lib/trace-toolpack/bounded.js.map +1 -0
  15. package/dist/esm/lib/trace-toolpack/index.js +10 -0
  16. package/dist/esm/lib/trace-toolpack/index.js.map +1 -0
  17. package/dist/esm/lib/trace-toolpack/traceToolpack.js +699 -0
  18. package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -0
  19. package/dist/esm/lib/trace-toolpack/types.js +24 -0
  20. package/dist/esm/lib/trace-toolpack/types.js.map +1 -0
  21. package/dist/esm/observe.js +12 -0
  22. package/dist/esm/observe.js.map +1 -1
  23. package/dist/lib/influence-core/cache.js +155 -0
  24. package/dist/lib/influence-core/cache.js.map +1 -0
  25. package/dist/lib/influence-core/index.js +50 -0
  26. package/dist/lib/influence-core/index.js.map +1 -0
  27. package/dist/lib/influence-core/margin.js +114 -0
  28. package/dist/lib/influence-core/margin.js.map +1 -0
  29. package/dist/lib/influence-core/signals.js +242 -0
  30. package/dist/lib/influence-core/signals.js.map +1 -0
  31. package/dist/lib/influence-core/similarity.js +83 -0
  32. package/dist/lib/influence-core/similarity.js.map +1 -0
  33. package/dist/lib/influence-core/types.js +38 -0
  34. package/dist/lib/influence-core/types.js.map +1 -0
  35. package/dist/lib/trace-toolpack/bounded.js +86 -0
  36. package/dist/lib/trace-toolpack/bounded.js.map +1 -0
  37. package/dist/lib/trace-toolpack/index.js +16 -0
  38. package/dist/lib/trace-toolpack/index.js.map +1 -0
  39. package/dist/lib/trace-toolpack/traceToolpack.js +704 -0
  40. package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -0
  41. package/dist/lib/trace-toolpack/types.js +28 -0
  42. package/dist/lib/trace-toolpack/types.js.map +1 -0
  43. package/dist/observe.js +31 -1
  44. package/dist/observe.js.map +1 -1
  45. package/dist/types/lib/influence-core/cache.d.ts +95 -0
  46. package/dist/types/lib/influence-core/cache.d.ts.map +1 -0
  47. package/dist/types/lib/influence-core/index.d.ts +33 -0
  48. package/dist/types/lib/influence-core/index.d.ts.map +1 -0
  49. package/dist/types/lib/influence-core/margin.d.ts +34 -0
  50. package/dist/types/lib/influence-core/margin.d.ts.map +1 -0
  51. package/dist/types/lib/influence-core/signals.d.ts +104 -0
  52. package/dist/types/lib/influence-core/signals.d.ts.map +1 -0
  53. package/dist/types/lib/influence-core/similarity.d.ts +26 -0
  54. package/dist/types/lib/influence-core/similarity.d.ts.map +1 -0
  55. package/dist/types/lib/influence-core/types.d.ts +158 -0
  56. package/dist/types/lib/influence-core/types.d.ts.map +1 -0
  57. package/dist/types/lib/trace-toolpack/bounded.d.ts +48 -0
  58. package/dist/types/lib/trace-toolpack/bounded.d.ts.map +1 -0
  59. package/dist/types/lib/trace-toolpack/index.d.ts +10 -0
  60. package/dist/types/lib/trace-toolpack/index.d.ts.map +1 -0
  61. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts +70 -0
  62. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -0
  63. package/dist/types/lib/trace-toolpack/types.d.ts +60 -0
  64. package/dist/types/lib/trace-toolpack/types.d.ts.map +1 -0
  65. package/dist/types/observe.d.ts +2 -0
  66. package/dist/types/observe.d.ts.map +1 -1
  67. package/package.json +3 -3
@@ -0,0 +1,35 @@
1
+ /**
2
+ * influence-core types — the ONE embedding-based scoring contract.
3
+ *
4
+ * Pattern: Strategy seam (plug-and-play meta-pattern) — the frame and
5
+ * rule engine are the library's; the `Embedder` is consumer-
6
+ * injected, exactly like NarrativeFormatter / reliability /
7
+ * permission / commentary strategies.
8
+ * Role: `src/lib/` leaf module. Shared by the FDL paper pipeline
9
+ * (Visible Reasoning, Eq. 1–6), RFC-002's tool-catalog lint +
10
+ * margin recorder (C1/C4/C5), and RFC-003 Part B's LLM-edge
11
+ * weigher (D7). Extracted as RFC-003 block D6 so all three
12
+ * consumers share one scoring engine and one embedding cache.
13
+ *
14
+ * ## Honest claim (RFC-002 §2, the FDL discipline)
15
+ *
16
+ * Every score produced under these types is a PROXY computed from
17
+ * embedding geometry — cosine similarity over consumer-injected
18
+ * embeddings. None of it reads model internals. Scores mean "high
19
+ * semantic alignment", never "the model chose/answered BECAUSE".
20
+ * Scores are not additive across items and are not causal attribution
21
+ * — counterfactual ablation (RFC-003 stage 4) is where causal claims
22
+ * live.
23
+ */
24
+ /** Paper defaults: α=0.40, β=0.30, γ=0.20, δ=0.10 (sum to 1.0). */
25
+ export const DEFAULT_INFLUENCE_WEIGHTS = Object.freeze({
26
+ fa: 0.4,
27
+ avg: 0.3,
28
+ persist: 0.2,
29
+ depth: 0.1,
30
+ });
31
+ /** Paper default for the PERSIST threshold T (Eq. 3). */
32
+ export const DEFAULT_PERSISTENCE_THRESHOLD = 0.3;
33
+ /** RFC-002 §4 default: margins below this flag the choice as `narrow`. */
34
+ export const DEFAULT_MARGIN_THRESHOLD = 0.05;
35
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/influence-core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AA0BH,mEAAmE;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAqB,MAAM,CAAC,MAAM,CAAC;IACvE,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,GAAG;IACR,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;CACX,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Bounded serialization helpers for the trace toolpack.
3
+ *
4
+ * Pattern: pure functions — no state, no events.
5
+ * Role: The token-economics layer. EVERY value the toolpack serves goes
6
+ * through these: previews are capped, truncation is EXPLICIT
7
+ * (never silent), and nested-path keys round-trip between the
8
+ * engine's DELIM encoding and LLM-friendly dot notation.
9
+ */
10
+ /**
11
+ * footprintjs's canonical nested-path delimiter (ASCII unit separator,
12
+ * `src/lib/memory/utils.ts`). Internal to the engine — the toolpack
13
+ * translates it to/from dot notation so the LLM never sees a control char.
14
+ */
15
+ export const FP_PATH_DELIM = '\u001F';
16
+ /** Engine path → LLM-friendly dotted display form. */
17
+ export function displayKey(path) {
18
+ return path.includes(FP_PATH_DELIM) ? path.split(FP_PATH_DELIM).join('.') : path;
19
+ }
20
+ /**
21
+ * LLM-supplied key → engine path. Exact keys pass through; a dotted key
22
+ * that doesn't exist verbatim but matches a known DELIM-joined path is
23
+ * translated back. `knownPaths` is the set of every path seen in the
24
+ * commit log's trace entries.
25
+ */
26
+ export function normalizeKey(key, knownPaths) {
27
+ if (knownPaths.has(key))
28
+ return key;
29
+ if (key.includes('.')) {
30
+ const delimForm = key.split('.').join(FP_PATH_DELIM);
31
+ if (knownPaths.has(delimForm))
32
+ return delimForm;
33
+ }
34
+ return key;
35
+ }
36
+ /** Replace every DELIM in an already-formatted text block with '.' for display. */
37
+ export function displayText(text) {
38
+ return text.split(FP_PATH_DELIM).join('.');
39
+ }
40
+ /**
41
+ * Serialize a value to compact JSON, total-function style: cycles, BigInt
42
+ * and other non-JSON values degrade to a tagged placeholder instead of
43
+ * throwing — a debugger tool must never crash on the evidence it serves.
44
+ */
45
+ export function safeStringify(value) {
46
+ if (value === undefined)
47
+ return 'undefined';
48
+ try {
49
+ const json = JSON.stringify(value);
50
+ return json === undefined ? String(value) : json;
51
+ }
52
+ catch {
53
+ return '[unserializable value]';
54
+ }
55
+ }
56
+ /** Serialize + cap at `maxChars`. Truncation is reported, never silent. */
57
+ export function boundedPreview(value, maxChars) {
58
+ const full = safeStringify(value);
59
+ if (full.length <= maxChars) {
60
+ return { text: full, totalChars: full.length, truncated: false };
61
+ }
62
+ return { text: `${full.slice(0, maxChars)}…`, totalChars: full.length, truncated: true };
63
+ }
64
+ /** Render a preview with its honesty suffix when truncated. */
65
+ export function renderPreview(preview, fetchHint) {
66
+ if (!preview.truncated)
67
+ return preview.text;
68
+ const hint = fetchHint ? ` — ${fetchHint}` : '';
69
+ return `${preview.text} (${preview.totalChars} chars total${hint})`;
70
+ }
71
+ /** Clamp an LLM-supplied numeric param into [min, hardCap], with a default. */
72
+ export function clampParam(requested, fallback, min, hardCap) {
73
+ const value = typeof requested === 'number' && Number.isFinite(requested) ? requested : fallback;
74
+ return Math.max(min, Math.min(Math.floor(value), hardCap));
75
+ }
76
+ //# sourceMappingURL=bounded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded.js","sourceRoot":"","sources":["../../../../src/lib/trace-toolpack/bounded.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * trace-toolpack — RFC-003 Part C: the introspection toolpack.
3
+ *
4
+ * footprintjs trace evidence exposed as TOOLS an LLM calls: a debugging
5
+ * model navigates a COMPLETED run's evidence by runtimeStageIds instead of
6
+ * reading dumps. Bounded, honest (⚠ markers), redaction-respecting.
7
+ */
8
+ export { callTraceTool, traceToolpack } from './traceToolpack.js';
9
+ export { TOOLPACK_HARD_CAPS, } from './types.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/trace-toolpack/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,kBAAkB,GAGnB,MAAM,YAAY,CAAC"}