agentfootprint-lens 0.75.0 → 0.76.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 (59) hide show
  1. package/README.md +15 -9
  2. package/dist/{Lens-dAaGjB6z.d.ts → Lens-FVBHKZou.d.ts} +3 -3
  3. package/dist/{Lens-v6JPZWcg.d.cts → Lens-Ug9ij4ZZ.d.cts} +3 -3
  4. package/dist/{chunk-FTQQVU7X.js → chunk-4XZSVUOY.js} +4 -4
  5. package/dist/chunk-4XZSVUOY.js.map +1 -0
  6. package/dist/{chunk-D22Q5SDX.js → chunk-6LF5TBLT.js} +4 -3
  7. package/dist/chunk-6LF5TBLT.js.map +1 -0
  8. package/dist/{chunk-V4GO5WKN.js → chunk-75UFY2VV.js} +2 -2
  9. package/dist/{chunk-6GTISZYA.js → chunk-A7ZG7JJ3.js} +2 -2
  10. package/dist/chunk-A7ZG7JJ3.js.map +1 -0
  11. package/dist/{chunk-GCGVODXR.js → chunk-MXJRX72Y.js} +4 -4
  12. package/dist/{chunk-6II3EUOJ.js → chunk-PBXWVC4G.js} +8 -7
  13. package/dist/chunk-PBXWVC4G.js.map +1 -0
  14. package/dist/{chunk-NSTKBU5V.js → chunk-VWNU7GHG.js} +3 -3
  15. package/dist/chunk-VWNU7GHG.js.map +1 -0
  16. package/dist/context.cjs +8 -7
  17. package/dist/context.cjs.map +1 -1
  18. package/dist/context.d.cts +5 -5
  19. package/dist/context.d.ts +5 -5
  20. package/dist/context.js +4 -4
  21. package/dist/{contextAt-BcT4UYlI.d.cts → contextAt-B0_-8JQc.d.cts} +2 -2
  22. package/dist/{contextAt-DxDAvgZ5.d.ts → contextAt-BiEkxzSE.d.ts} +2 -2
  23. package/dist/core.cjs +26 -24
  24. package/dist/core.cjs.map +1 -1
  25. package/dist/core.d.cts +13 -13
  26. package/dist/core.d.ts +13 -13
  27. package/dist/core.js +4 -4
  28. package/dist/{index-TilViQvd.d.ts → index-5pDIAK3K.d.ts} +3 -3
  29. package/dist/{index-9TfT51FK.d.cts → index-x1feH3z6.d.cts} +3 -3
  30. package/dist/index.cjs +26 -24
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +17 -17
  33. package/dist/index.d.ts +17 -17
  34. package/dist/index.js +7 -7
  35. package/dist/{lensCursorPort-nD3C6iQs.d.ts → lensCursorPort-D01BNsXp.d.cts} +3 -3
  36. package/dist/{lensCursorPort-nD3C6iQs.d.cts → lensCursorPort-D01BNsXp.d.ts} +3 -3
  37. package/dist/{selectSkillFrameContext-BZd5omLC.d.cts → selectSkillFrameContext-BCRxQKD3.d.cts} +1 -1
  38. package/dist/{selectSkillFrameContext-BbMpx_lQ.d.ts → selectSkillFrameContext-DIhAHBSo.d.ts} +1 -1
  39. package/dist/skillgraph.d.cts +7 -7
  40. package/dist/skillgraph.d.ts +7 -7
  41. package/dist/{stepForRuntimeStageId-CKQuUOyK.d.ts → stepForRuntimeStageId-DWPU9588.d.ts} +1 -1
  42. package/dist/{stepForRuntimeStageId-BLB9h1lR.d.cts → stepForRuntimeStageId-Py7g6FBg.d.cts} +1 -1
  43. package/dist/{tagAxis-Cgk6vlcY.d.ts → tagAxis-D6pWV7dY.d.cts} +4 -4
  44. package/dist/{tagAxis-COX6o7DJ.d.cts → tagAxis-Di2Cx6wU.d.ts} +4 -4
  45. package/dist/{useSharedCursor-DJTQSH0y.d.cts → useSharedCursor-BJWuvphY.d.cts} +1 -1
  46. package/dist/{useSharedCursor-BdzFNO_C.d.ts → useSharedCursor-Bbg_9Adf.d.ts} +1 -1
  47. package/dist/why.cjs +16 -15
  48. package/dist/why.cjs.map +1 -1
  49. package/dist/why.d.cts +8 -8
  50. package/dist/why.d.ts +8 -8
  51. package/dist/why.js +4 -4
  52. package/package.json +5 -3
  53. package/dist/chunk-6GTISZYA.js.map +0 -1
  54. package/dist/chunk-6II3EUOJ.js.map +0 -1
  55. package/dist/chunk-D22Q5SDX.js.map +0 -1
  56. package/dist/chunk-FTQQVU7X.js.map +0 -1
  57. package/dist/chunk-NSTKBU5V.js.map +0 -1
  58. /package/dist/{chunk-V4GO5WKN.js.map → chunk-75UFY2VV.js.map} +0 -0
  59. /package/dist/{chunk-GCGVODXR.js.map → chunk-MXJRX72Y.js.map} +0 -0
package/README.md CHANGED
@@ -27,7 +27,7 @@ agentfootprint = **2 primitives (LLM, Agent) + 3 compositions (Sequence, Paralle
27
27
  ## 30-second quick start
28
28
 
29
29
  ```bash
30
- npm install agentfootprint agentfootprint-lens
30
+ npm install agentfootprint agentfootprint-lens footprintjs foottrace
31
31
  ```
32
32
 
33
33
  Lens requires `footprint-explainable-ui >=0.34.0 <1.0.0`. Earlier versions
@@ -35,6 +35,12 @@ lack renderer APIs used by Lens even if an older peer range accepted them.
35
35
  The minimum and current tested renderer versions are checked with packed
36
36
  installs on both React 18 and React 19; an import failure fails the check.
37
37
 
38
+ Node.js 22 or newer is required, matching the `foottrace ^1.0.0` peer that
39
+ owns record reading. Both `footprintjs ^9.26.0 || ^10.0.0` and
40
+ `agentfootprint ^9.116.0 || ^10.0.0` remain supported. Engine recorders stay
41
+ on FootPrint; saved-record readers come from Foottrace. Lens's public exports,
42
+ recorded data, and cursor behavior are unchanged.
43
+
38
44
  ```tsx
39
45
  import { useMemo } from 'react';
40
46
  import { Agent } from 'agentfootprint';
@@ -901,7 +907,7 @@ dashboard had a third — and they disagreed at exactly the places nobody tests:
901
907
  ▶ at the last stop, a jump to a stage that is not on this ruler, a step stored
902
908
  from a longer run.
903
909
 
904
- footprintjs 9.17 owns that arithmetic now. `timeTravel(snapshot, { strategy })`
910
+ Foottrace owns that arithmetic now (introduced in footprintjs 9.17). `timeTravel(snapshot, { strategy })`
905
911
  is the **reader's cursor over a finished trace**: `first` / `last` / `prev` /
906
912
  `next` / `jumpTo`, one position, and one law — **a refused move never moves the
907
913
  cursor**, it returns the reason and the nearest stop it could name. Since
@@ -954,7 +960,7 @@ fold wants the run's snapshot — which movement never reads. Want them over thi
954
960
  same ruler? Build the library's cursor directly, with the lens's stops:
955
961
 
956
962
  ```ts
957
- import { timeTravel } from 'footprintjs/trace';
963
+ import { timeTravel } from 'foottrace';
958
964
  import { scrubAxisFor, lensStopsStrategy } from 'agentfootprint-lens/core';
959
965
 
960
966
  // A LIVE run. `runner.getLastSnapshot()` IS footprintjs's own snapshot, so it
@@ -1323,7 +1329,7 @@ tool schema).
1323
1329
  - **Authority omissions come from the fold.** A receipt never names what a
1324
1330
  caller's ROLE was not allowed to see (the library's first law). The tab's
1325
1331
  audience is an operator, so it MAY show the skill ids hidden from the model —
1326
- but it reads them from the committed state at the stop through footprintjs's
1332
+ but it reads them from the committed state at the stop through Foottrace's
1327
1333
  `stateAt`, labelled **hidden from the model**, never from the receipt.
1328
1334
  - **One cursor.** The tab takes the lens's position as props and holds none of
1329
1335
  its own. On an llm-turn stop it shows that epoch. On any other stop it shows
@@ -1465,7 +1471,7 @@ puts the mark and when:
1465
1471
  | **Derived tag** | the reader, at read time, from the fold | computed by a strategy; never stored | the lens's own grouping (milestones, banded by iteration) — the default axis |
1466
1472
  | **Bookmark** | the reader, at read time, by choice | on the cursor (`mark` / `marks` / `jumpToMark`); persisted beside a recording, never in it | the **Bookmarks** tab |
1467
1473
 
1468
- Only the first two had a place in the lens. footprintjs holds a bookmark on the
1474
+ Only the first two had a place in the lens. Foottrace holds a bookmark on the
1469
1475
  cursor and, by its own law, nowhere else — the log and the snapshot are the
1470
1476
  run's record, not the reader's notes — so a bookmark vanished when the page
1471
1477
  closed. And a run's own tags (agentfootprint 9.90 declares every milestone as
@@ -1508,7 +1514,7 @@ End reach them on every axis, and they share one synthetic address.
1508
1514
 
1509
1515
  Headless, the sidecar is four functions in `/core`: `bookmarkKey(snapshot)`,
1510
1516
  `toSidecar(key, bookmarks)`, `fromSidecar(json, snapshot)` (reports
1511
- `orphaned`), `bookmarksToMarks(bookmarks, positions)` to seed footprintjs's
1517
+ `orphaned`), `bookmarksToMarks(bookmarks, positions)` to seed Foottrace's
1512
1518
  `timeTravel(snapshot, { marks })`; stores are `localStorageBookmarkStore()`,
1513
1519
  `memoryBookmarkStore()`, `noBookmarkStore()`, or any `BookmarkStore` of your
1514
1520
  own. See `src/core/bookmarks/README.md`.
@@ -1524,7 +1530,7 @@ stop is reached — and the counts from the **log**. A recording that carried no
1524
1530
  structure lists only *tags this run hit* and says *no chart in this recording*.
1525
1531
  A declared tag the run never hit is shown and disabled.
1526
1532
 
1527
- **Pick a chip and the ruler is rebuilt** through footprintjs 9.21's
1533
+ **Pick a chip and the ruler is rebuilt** through Foottrace's
1528
1534
  `tagStops(names)`: the stops whose bundle carries any picked tag, the untagged
1529
1535
  stages folded into the tagged stop before them, the run's bookends kept. It is
1530
1536
  the same one cursor on a different list — the cursor **keeps its commit**, not
@@ -1934,7 +1940,7 @@ store's availability is a label. Headless: `bookmarkKey` · `toSidecar` ·
1934
1940
  the chart on `granularity="group"` at the root level; `legend` is
1935
1941
  `tagLegend(structure, snapshot)` (`source: 'structure' | 'log'`), a pick is a
1936
1942
  list of tag names the lens hands to `tagAxisPositions(snapshot, picked, base)`
1937
- (footprintjs 9.21's `tagStops`). Picking never moves the cursor; it changes the
1943
+ (Foottrace's `tagStops`). Picking never moves the cursor; it changes the
1938
1944
  list the one cursor is a step into. `available` defaults to `true`; `false` holds
1939
1945
  the strip read-only — the legend still shows, every chip is disabled, and the
1940
1946
  strip says so (`TAG_PICKER_LABELS.tagAxisUnavailable`).
@@ -2025,7 +2031,7 @@ so instead of drawing an empty graph.
2025
2031
  snippets.
2026
2032
 
2027
2033
  The cursor is headless too: `scrubAxisFor` builds the ruler, `openLensCursor`
2028
- moves along it through footprintjs's `timeTravel()` port, `resolveNavigation`
2034
+ moves along it through Foottrace's `timeTravel()` port, `resolveNavigation`
2029
2035
  turns an address into a step with every rung named, and `stepForCommitIdx`
2030
2036
  carries a position between the two axes. See
2031
2037
  [Time travel through one port](#time-travel-through-one-port).
@@ -3,11 +3,11 @@ import { ToolChoiceCall, ToolChoiceSummary, AnswerAccount, AnswerAccountShownLea
3
3
  import * as agentfootprint from 'agentfootprint';
4
4
  import { CommentaryTemplates } from 'agentfootprint';
5
5
  import React__default, { Ref } from 'react';
6
- import { h as NavigationResult, C as CursorPosition, n as LensRecorder, a as LensCursor } from './lensCursorPort-nD3C6iQs.js';
7
- import { C as ChartGroupHighlight, H as Humanizer, b as BookmarkStore } from './tagAxis-Cgk6vlcY.js';
6
+ import { h as NavigationResult, C as CursorPosition, n as LensRecorder, a as LensCursor } from './lensCursorPort-D01BNsXp.js';
7
+ import { C as ChartGroupHighlight, H as Humanizer, b as BookmarkStore } from './tagAxis-Di2Cx6wU.js';
8
8
  import { NodeTypes } from '@xyflow/react';
9
9
  import { TraceGraph, TraceFlowLayout, RuntimeOverlay } from 'footprint-explainable-ui/flowchart';
10
- import { L as LensCursorAt, S as SharedCursor } from './useSharedCursor-BdzFNO_C.js';
10
+ import { L as LensCursorAt, S as SharedCursor } from './useSharedCursor-Bbg_9Adf.js';
11
11
 
12
12
  /**
13
13
  * LensFlow — the canonical Lens chart renderer.
@@ -3,11 +3,11 @@ import { ToolChoiceCall, ToolChoiceSummary, AnswerAccount, AnswerAccountShownLea
3
3
  import * as agentfootprint from 'agentfootprint';
4
4
  import { CommentaryTemplates } from 'agentfootprint';
5
5
  import React__default, { Ref } from 'react';
6
- import { h as NavigationResult, C as CursorPosition, n as LensRecorder, a as LensCursor } from './lensCursorPort-nD3C6iQs.cjs';
7
- import { C as ChartGroupHighlight, H as Humanizer, b as BookmarkStore } from './tagAxis-COX6o7DJ.cjs';
6
+ import { h as NavigationResult, C as CursorPosition, n as LensRecorder, a as LensCursor } from './lensCursorPort-D01BNsXp.cjs';
7
+ import { C as ChartGroupHighlight, H as Humanizer, b as BookmarkStore } from './tagAxis-D6pWV7dY.cjs';
8
8
  import { NodeTypes } from '@xyflow/react';
9
9
  import { TraceGraph, TraceFlowLayout, RuntimeOverlay } from 'footprint-explainable-ui/flowchart';
10
- import { L as LensCursorAt, S as SharedCursor } from './useSharedCursor-DJTQSH0y.cjs';
10
+ import { L as LensCursorAt, S as SharedCursor } from './useSharedCursor-BJWuvphY.cjs';
11
11
 
12
12
  /**
13
13
  * LensFlow — the canonical Lens chart renderer.
@@ -15,18 +15,18 @@ import {
15
15
  structureGraphFromRunner,
16
16
  tagLegend,
17
17
  toSidecar
18
- } from "./chunk-6II3EUOJ.js";
18
+ } from "./chunk-PBXWVC4G.js";
19
19
  import {
20
20
  useNarrowRow
21
21
  } from "./chunk-ECAQG3TG.js";
22
22
  import {
23
23
  ServedTab
24
- } from "./chunk-6GTISZYA.js";
24
+ } from "./chunk-A7ZG7JJ3.js";
25
25
  import {
26
26
  snapshotLogKey,
27
27
  snapshotOfRunner,
28
28
  tagAxisPositions
29
- } from "./chunk-NSTKBU5V.js";
29
+ } from "./chunk-VWNU7GHG.js";
30
30
  import {
31
31
  MODE_PALETTES,
32
32
  T,
@@ -5784,4 +5784,4 @@ export {
5784
5784
  useBookmarkSidecar,
5785
5785
  Lens
5786
5786
  };
5787
- //# sourceMappingURL=chunk-FTQQVU7X.js.map
5787
+ //# sourceMappingURL=chunk-4XZSVUOY.js.map