agentfootprint-lens 0.74.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.
- package/README.md +21 -9
- package/dist/{Lens-dAaGjB6z.d.ts → Lens-FVBHKZou.d.ts} +3 -3
- package/dist/{Lens-v6JPZWcg.d.cts → Lens-Ug9ij4ZZ.d.cts} +3 -3
- package/dist/{chunk-FTQQVU7X.js → chunk-4XZSVUOY.js} +4 -4
- package/dist/chunk-4XZSVUOY.js.map +1 -0
- package/dist/{chunk-D22Q5SDX.js → chunk-6LF5TBLT.js} +4 -3
- package/dist/chunk-6LF5TBLT.js.map +1 -0
- package/dist/{chunk-RJAQOXMH.js → chunk-75UFY2VV.js} +11 -7
- package/dist/{chunk-RJAQOXMH.js.map → chunk-75UFY2VV.js.map} +1 -1
- package/dist/{chunk-6GTISZYA.js → chunk-A7ZG7JJ3.js} +2 -2
- package/dist/chunk-A7ZG7JJ3.js.map +1 -0
- package/dist/{chunk-GCGVODXR.js → chunk-MXJRX72Y.js} +4 -4
- package/dist/{chunk-6II3EUOJ.js → chunk-PBXWVC4G.js} +8 -7
- package/dist/chunk-PBXWVC4G.js.map +1 -0
- package/dist/{chunk-NSTKBU5V.js → chunk-VWNU7GHG.js} +3 -3
- package/dist/chunk-VWNU7GHG.js.map +1 -0
- package/dist/context.cjs +8 -7
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +5 -5
- package/dist/context.d.ts +5 -5
- package/dist/context.js +4 -4
- package/dist/{contextAt-BcT4UYlI.d.cts → contextAt-B0_-8JQc.d.cts} +2 -2
- package/dist/{contextAt-DxDAvgZ5.d.ts → contextAt-BiEkxzSE.d.ts} +2 -2
- package/dist/core.cjs +35 -29
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +17 -16
- package/dist/core.d.ts +17 -16
- package/dist/core.js +4 -4
- package/dist/{index-TilViQvd.d.ts → index-5pDIAK3K.d.ts} +3 -3
- package/dist/{index-9TfT51FK.d.cts → index-x1feH3z6.d.cts} +3 -3
- package/dist/index.cjs +35 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -17
- package/dist/index.d.ts +17 -17
- package/dist/index.js +7 -7
- package/dist/{lensCursorPort-nD3C6iQs.d.ts → lensCursorPort-D01BNsXp.d.cts} +3 -3
- package/dist/{lensCursorPort-nD3C6iQs.d.cts → lensCursorPort-D01BNsXp.d.ts} +3 -3
- package/dist/{selectSkillFrameContext-BZd5omLC.d.cts → selectSkillFrameContext-BCRxQKD3.d.cts} +1 -1
- package/dist/{selectSkillFrameContext-BbMpx_lQ.d.ts → selectSkillFrameContext-DIhAHBSo.d.ts} +1 -1
- package/dist/skillgraph.d.cts +7 -7
- package/dist/skillgraph.d.ts +7 -7
- package/dist/{stepForRuntimeStageId-CKQuUOyK.d.ts → stepForRuntimeStageId-DWPU9588.d.ts} +1 -1
- package/dist/{stepForRuntimeStageId-BLB9h1lR.d.cts → stepForRuntimeStageId-Py7g6FBg.d.cts} +1 -1
- package/dist/{tagAxis-Cgk6vlcY.d.ts → tagAxis-D6pWV7dY.d.cts} +4 -4
- package/dist/{tagAxis-COX6o7DJ.d.cts → tagAxis-Di2Cx6wU.d.ts} +4 -4
- package/dist/{useSharedCursor-DJTQSH0y.d.cts → useSharedCursor-BJWuvphY.d.cts} +1 -1
- package/dist/{useSharedCursor-BdzFNO_C.d.ts → useSharedCursor-Bbg_9Adf.d.ts} +1 -1
- package/dist/why.cjs +16 -15
- package/dist/why.cjs.map +1 -1
- package/dist/why.d.cts +8 -8
- package/dist/why.d.ts +8 -8
- package/dist/why.js +4 -4
- package/package.json +5 -3
- package/dist/chunk-6GTISZYA.js.map +0 -1
- package/dist/chunk-6II3EUOJ.js.map +0 -1
- package/dist/chunk-D22Q5SDX.js.map +0 -1
- package/dist/chunk-FTQQVU7X.js.map +0 -1
- package/dist/chunk-NSTKBU5V.js.map +0 -1
- /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
|
-
|
|
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 '
|
|
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
|
|
@@ -1259,6 +1265,12 @@ Headless: `foldTimeRows(ledger, coverage?)`, `answerOfReading(turn, reading)`,
|
|
|
1259
1265
|
`timeStandingOf(assessment, ledger?)`, `timeAskOf(pause)`,
|
|
1260
1266
|
`datasetTimeAxisOf(meta, rows?)`.
|
|
1261
1267
|
|
|
1268
|
+
The dataset-axis helper depends only on AgentFootprint's three time-axis read
|
|
1269
|
+
functions, not its execution runtime. It reads those optional properties at
|
|
1270
|
+
call time: peers before 9.128.0 still show a declared axis as `unjudged`, while
|
|
1271
|
+
newer peers supply the judgment and counts. The browser packaging test checks
|
|
1272
|
+
that importing this helper does not retain the agent or engine execution code.
|
|
1273
|
+
|
|
1262
1274
|
## The Served tab
|
|
1263
1275
|
|
|
1264
1276
|
**At every LLM call, exactly what the model was served — provable from the log.**
|
|
@@ -1317,7 +1329,7 @@ tool schema).
|
|
|
1317
1329
|
- **Authority omissions come from the fold.** A receipt never names what a
|
|
1318
1330
|
caller's ROLE was not allowed to see (the library's first law). The tab's
|
|
1319
1331
|
audience is an operator, so it MAY show the skill ids hidden from the model —
|
|
1320
|
-
but it reads them from the committed state at the stop through
|
|
1332
|
+
but it reads them from the committed state at the stop through Foottrace's
|
|
1321
1333
|
`stateAt`, labelled **hidden from the model**, never from the receipt.
|
|
1322
1334
|
- **One cursor.** The tab takes the lens's position as props and holds none of
|
|
1323
1335
|
its own. On an llm-turn stop it shows that epoch. On any other stop it shows
|
|
@@ -1459,7 +1471,7 @@ puts the mark and when:
|
|
|
1459
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 |
|
|
1460
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 |
|
|
1461
1473
|
|
|
1462
|
-
Only the first two had a place in the lens.
|
|
1474
|
+
Only the first two had a place in the lens. Foottrace holds a bookmark on the
|
|
1463
1475
|
cursor and, by its own law, nowhere else — the log and the snapshot are the
|
|
1464
1476
|
run's record, not the reader's notes — so a bookmark vanished when the page
|
|
1465
1477
|
closed. And a run's own tags (agentfootprint 9.90 declares every milestone as
|
|
@@ -1502,7 +1514,7 @@ End reach them on every axis, and they share one synthetic address.
|
|
|
1502
1514
|
|
|
1503
1515
|
Headless, the sidecar is four functions in `/core`: `bookmarkKey(snapshot)`,
|
|
1504
1516
|
`toSidecar(key, bookmarks)`, `fromSidecar(json, snapshot)` (reports
|
|
1505
|
-
`orphaned`), `bookmarksToMarks(bookmarks, positions)` to seed
|
|
1517
|
+
`orphaned`), `bookmarksToMarks(bookmarks, positions)` to seed Foottrace's
|
|
1506
1518
|
`timeTravel(snapshot, { marks })`; stores are `localStorageBookmarkStore()`,
|
|
1507
1519
|
`memoryBookmarkStore()`, `noBookmarkStore()`, or any `BookmarkStore` of your
|
|
1508
1520
|
own. See `src/core/bookmarks/README.md`.
|
|
@@ -1518,7 +1530,7 @@ stop is reached — and the counts from the **log**. A recording that carried no
|
|
|
1518
1530
|
structure lists only *tags this run hit* and says *no chart in this recording*.
|
|
1519
1531
|
A declared tag the run never hit is shown and disabled.
|
|
1520
1532
|
|
|
1521
|
-
**Pick a chip and the ruler is rebuilt** through
|
|
1533
|
+
**Pick a chip and the ruler is rebuilt** through Foottrace's
|
|
1522
1534
|
`tagStops(names)`: the stops whose bundle carries any picked tag, the untagged
|
|
1523
1535
|
stages folded into the tagged stop before them, the run's bookends kept. It is
|
|
1524
1536
|
the same one cursor on a different list — the cursor **keeps its commit**, not
|
|
@@ -1928,7 +1940,7 @@ store's availability is a label. Headless: `bookmarkKey` · `toSidecar` ·
|
|
|
1928
1940
|
the chart on `granularity="group"` at the root level; `legend` is
|
|
1929
1941
|
`tagLegend(structure, snapshot)` (`source: 'structure' | 'log'`), a pick is a
|
|
1930
1942
|
list of tag names the lens hands to `tagAxisPositions(snapshot, picked, base)`
|
|
1931
|
-
(
|
|
1943
|
+
(Foottrace's `tagStops`). Picking never moves the cursor; it changes the
|
|
1932
1944
|
list the one cursor is a step into. `available` defaults to `true`; `false` holds
|
|
1933
1945
|
the strip read-only — the legend still shows, every chip is disabled, and the
|
|
1934
1946
|
strip says so (`TAG_PICKER_LABELS.tagAxisUnavailable`).
|
|
@@ -2019,7 +2031,7 @@ so instead of drawing an empty graph.
|
|
|
2019
2031
|
snippets.
|
|
2020
2032
|
|
|
2021
2033
|
The cursor is headless too: `scrubAxisFor` builds the ruler, `openLensCursor`
|
|
2022
|
-
moves along it through
|
|
2034
|
+
moves along it through Foottrace's `timeTravel()` port, `resolveNavigation`
|
|
2023
2035
|
turns an address into a step with every rung named, and `stepForCommitIdx`
|
|
2024
2036
|
carries a position between the two axes. See
|
|
2025
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-
|
|
7
|
-
import { C as ChartGroupHighlight, H as Humanizer, b as BookmarkStore } from './tagAxis-
|
|
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-
|
|
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-
|
|
7
|
-
import { C as ChartGroupHighlight, H as Humanizer, b as BookmarkStore } from './tagAxis-
|
|
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-
|
|
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-
|
|
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-
|
|
24
|
+
} from "./chunk-A7ZG7JJ3.js";
|
|
25
25
|
import {
|
|
26
26
|
snapshotLogKey,
|
|
27
27
|
snapshotOfRunner,
|
|
28
28
|
tagAxisPositions
|
|
29
|
-
} from "./chunk-
|
|
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-
|
|
5787
|
+
//# sourceMappingURL=chunk-4XZSVUOY.js.map
|