agent-inspect 2.0.0 → 2.2.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/CHANGELOG.md +24 -0
- package/README.md +27 -4
- package/docs/ADAPTERS.md +4 -0
- package/docs/API.md +75 -10
- package/docs/CLI.md +124 -9
- package/docs/COMPARE.md +5 -4
- package/docs/GETTING-STARTED.md +24 -6
- package/docs/KNOWN-ISSUES.md +7 -0
- package/docs/LIMITATIONS.md +3 -1
- package/package.json +12 -2
- package/packages/cli/dist/index.cjs +2040 -142
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.mjs +2039 -141
- package/packages/cli/dist/index.mjs.map +1 -1
- package/packages/core/dist/reporters.cjs +185 -0
- package/packages/core/dist/reporters.cjs.map +1 -0
- package/packages/core/dist/reporters.d.cts +91 -0
- package/packages/core/dist/reporters.d.ts +91 -0
- package/packages/core/dist/reporters.mjs +175 -0
- package/packages/core/dist/reporters.mjs.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- efb3fef: Release v2.2.0 with local test reporter artifacts and CI summaries.
|
|
8
|
+
|
|
9
|
+
Adds the public optional `@agent-inspect/vitest` and `@agent-inspect/jest` reporter packages, the shared experimental `agent-inspect/reporters` helpers, and the `agent-inspect ci-summary` workflow for deterministic local reporter manifests and CI artifacts.
|
|
10
|
+
|
|
11
|
+
## Unreleased
|
|
12
|
+
|
|
13
|
+
### Draft v2.2.0 Notes
|
|
14
|
+
|
|
15
|
+
- Prepared the v2.2 reporter and CI workflow release notes for local Vitest/Jest reporter artifacts, the shared `agent-inspect/reporters` manifest helpers, and `agent-inspect ci-summary`.
|
|
16
|
+
- Reporter artifacts remain local-only and metadata-bounded. `ci-summary` reads reporter manifest JSON only, validates relative artifact paths, and does not read trace contents, upload artifacts, call GitHub APIs, or mutate repository state.
|
|
17
|
+
- `@agent-inspect/vitest` and `@agent-inspect/jest` remain private/unpublished until maintainer first-publication setup is explicitly cleared before release prep.
|
|
18
|
+
|
|
19
|
+
## 2.1.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- 1e5e889: Release v2.1.0 with deterministic local eval and redaction utilities.
|
|
24
|
+
|
|
25
|
+
Adds the public optional `@agent-inspect/redact` and `@agent-inspect/eval` packages, root CLI redaction and eval workflows, shared redaction profiles/findings, deterministic local eval checks, and adoption recipes for local eval, share-safe traces, and CI artifacts.
|
|
26
|
+
|
|
3
27
|
## 2.0.0
|
|
4
28
|
|
|
5
29
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ agent-inspect gives those runs **structure**: an **execution tree** you can read
|
|
|
22
22
|
|
|
23
23
|
## Install
|
|
24
24
|
|
|
25
|
-
Current npm release line: **1.
|
|
25
|
+
Current npm release line: **2.1.x** for the existing public packages. v2.1.0 adds deterministic local eval and reusable redaction utilities on top of the stable v2 trace contract: small root API, schema 1.0 persisted writer path, v0.1/v0.2/v1.0 read compatibility, and explicit non-destructive migration workflow.
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
npm install agent-inspect
|
|
@@ -235,9 +235,12 @@ AGENT_INSPECT=1 node eval-runner.mjs
|
|
|
235
235
|
- **Use an isolated inspector** with `createInspector()` and explicit local writers for tests/adapters.
|
|
236
236
|
- **Correlate runs** with optional `correlationId`, `requestId`, `decisionId`, and `groupId` on `run_started` metadata.
|
|
237
237
|
- **Redact before disk** with default key-based redaction, or choose `redactionProfile`: `local`, `share`, or `strict`.
|
|
238
|
-
- **Inspect from the CLI** — `list`, `view`, `clean`, `logs`, `tail`, `export`, `open`, `migrate`, `diff`, `timeline`, `stats`, `search`, `what`, `report`.
|
|
238
|
+
- **Inspect from the CLI** — `list`, `view`, `clean`, `logs`, `tail`, `export`, `open`, `migrate`, `eval`, `redact`, `diff`, `timeline`, `stats`, `search`, `what`, `report`.
|
|
239
|
+
- **Run local evals** with `agent-inspect eval` or `@agent-inspect/eval`; built-in checks are deterministic heuristics over local traces, not model judges.
|
|
240
|
+
- **Redact local files** with `agent-inspect redact` or `@agent-inspect/redact` before creating shareable copies.
|
|
239
241
|
- **Migrate explicitly** with `agent-inspect migrate <trace.jsonl> --to 1.0 --dry-run` or `--output <file>`; originals are never overwritten by default.
|
|
240
242
|
- **Export share-safe copies** — `export --redaction-profile share` (or `strict`) writes local Markdown/HTML/OpenInference/OTLP JSON only.
|
|
243
|
+
- **Create local CI artifacts** with `agent-inspect artifacts`, and summarize local test-reporter manifests with `agent-inspect ci-summary`.
|
|
241
244
|
- **Parse structured logs** you already emit (JSON first-class; log4js best-effort).
|
|
242
245
|
- **Optional LangChain adapter** — metadata-only by default; optional `persist: true` and `stream: true` streaming metadata (no full token capture by default).
|
|
243
246
|
- **Optional AI SDK adapter** — experimental `@agent-inspect/ai-sdk` telemetry integration for AI SDK v6; metadata-only by default with `recordInputs: false` and `recordOutputs: false`.
|
|
@@ -296,6 +299,8 @@ More detail: [docs/LOGS.md](docs/LOGS.md) · [docs/LOG-TO-TREE-QUICKSTART.md](do
|
|
|
296
299
|
| `export` | Write Markdown / HTML / OpenInference-compatible JSON / OTLP JSON **locally** |
|
|
297
300
|
| `open` | Read AgentInspect JSONL, OpenInference JSON, or OTLP JSON locally |
|
|
298
301
|
| `migrate` | Convert a local AgentInspect JSONL file to schema 1.0 with dry-run or explicit output |
|
|
302
|
+
| `eval` | Deterministic local evals over existing traces |
|
|
303
|
+
| `redact` | Redact a local JSON/JSONL file or trace copy |
|
|
299
304
|
| `diff` | Compare two local runs (read-only) |
|
|
300
305
|
| `timeline` | Chronological view of one run |
|
|
301
306
|
| `stats` | Local aggregates over a trace directory |
|
|
@@ -304,6 +309,7 @@ More detail: [docs/LOGS.md](docs/LOGS.md) · [docs/LOG-TO-TREE-QUICKSTART.md](do
|
|
|
304
309
|
| `report` | Markdown/HTML inspection report (what + timeline + tree) |
|
|
305
310
|
| `check` / `scan` / `verify-safe` | Deterministic local trace checks and best-effort safety verification |
|
|
306
311
|
| `artifacts` | Safe local CI artifact bundles and optional step-summary file output |
|
|
312
|
+
| `ci-summary` | Summarize local Vitest/Jest reporter artifact manifests for CI |
|
|
307
313
|
|
|
308
314
|

|
|
309
315
|
|
|
@@ -316,6 +322,8 @@ Full flags and behavior: [docs/CLI.md](docs/CLI.md).
|
|
|
316
322
|
- Debug a **failed tool call** or thrown error in a support or ops agent.
|
|
317
323
|
- See **which step dominated latency** in a multi-step planner or RAG pipeline.
|
|
318
324
|
- **Diff two runs** after a prompt, model, or routing change (see [diff examples](docs/DIFF.md)).
|
|
325
|
+
- Run **local eval checks** over a trace before sharing or creating CI artifacts.
|
|
326
|
+
- **Redact** a local trace/file before attaching it to a PR, issue, or support thread.
|
|
319
327
|
- Point **`logs`** / **`tail`** at existing job or service logs to get a **local execution view** without shipping data upstream.
|
|
320
328
|
- **Export** a run to Markdown for a PR, postmortem, or internal thread — use `--redaction-profile share` for share-safe copies, then review before sharing.
|
|
321
329
|
- Keep traces **on disk** while still using enterprise observability elsewhere.
|
|
@@ -332,6 +340,12 @@ AgentInspect is the **local-first trace workbench** for TypeScript AI agents:
|
|
|
332
340
|
|
|
333
341
|
Pass `enabled: false` to `inspectRun` for a no-trace passthrough. Use `maybeInspectRun` with `AGENT_INSPECT=1` to toggle tracing in eval or CI — see [docs/API.md](docs/API.md).
|
|
334
342
|
|
|
343
|
+
**Shipped in 2.1.0:** deterministic local eval and redaction utilities. Linked release aligns `agent-inspect`, `@agent-inspect/ai-sdk`, `@agent-inspect/langchain`, `@agent-inspect/tui`, `@agent-inspect/openai-agents`, `@agent-inspect/redact`, and `@agent-inspect/eval` at **2.1.0**.
|
|
344
|
+
|
|
345
|
+
**Shipped in 2.0.0:** stable root API contract, schema 1.0 persisted writer path, v0.1/v0.2/v1.0 read compatibility, and explicit trace migration workflow. Linked release aligns `agent-inspect`, `@agent-inspect/ai-sdk`, `@agent-inspect/langchain`, `@agent-inspect/tui`, and `@agent-inspect/openai-agents` at **2.0.0**.
|
|
346
|
+
|
|
347
|
+
**Shipped in 1.9.0:** private harness workspace foundation, explain dry-run/local analysis, promoted adapter adoption paths, and the v2 root API slimming plan.
|
|
348
|
+
|
|
335
349
|
**Shipped in 1.8.0:** experimental deterministic checks (`agent-inspect/checks` and `agent-inspect check`), safe-sharing workflows (`scan`, `verify-safe`, safe artifacts), and first public `@agent-inspect/openai-agents` package. Linked release aligns `agent-inspect`, `@agent-inspect/ai-sdk`, `@agent-inspect/langchain`, `@agent-inspect/tui`, and `@agent-inspect/openai-agents` at **1.8.0**.
|
|
336
350
|
|
|
337
351
|
**Shipped in 1.7.0:** experimental `@agent-inspect/ai-sdk` telemetry integration for AI SDK v6 with a local no-network [ai-sdk-local-telemetry recipe](examples/recipes/ai-sdk-local-telemetry/), adapter conformance fixtures, OpenAI Agents/LangGraph support decisions, and local-first adapter docs. Examples keep `recordInputs: false`, `recordOutputs: false`, metadata-only capture, and no upload behavior. Linked release aligns `agent-inspect`, `@agent-inspect/ai-sdk`, `@agent-inspect/langchain`, and `@agent-inspect/tui` at **1.7.0**.
|
|
@@ -340,7 +354,7 @@ Pass `enabled: false` to `inspectRun` for a no-trace passthrough. Use `maybeInsp
|
|
|
340
354
|
|
|
341
355
|
**Shipped in 1.5.0:** non-breaking subpath exports; `what` and `report` CLI; dual-format read path (v0.1 + v0.2 JSONL); [what-report-inspect recipe](examples/recipes/what-report-inspect/). Linked release aligns all three npm packages at **1.5.0**.
|
|
342
356
|
|
|
343
|
-
**Roadmap beyond current release work:**
|
|
357
|
+
**Roadmap beyond current release work:** v2.2 prepares test reporters and CI workflows, followed by adapter hardening, sessions/MCP telemetry, guardrails, optional viewer/IDE surfaces, and conditional v3 extensibility. See [ROADMAP.md](ROADMAP.md).
|
|
344
358
|
|
|
345
359
|
**Shipped in 1.4.0:** CI artifact recipe ([docs/CI-ARTIFACTS.md](docs/CI-ARTIFACTS.md)); `timeline`, `stats`, and `search` CLI; core helpers `buildRunTimeline`, `buildTraceStats`, `searchTraces`. Linked release aligns all three npm packages at **1.4.0**.
|
|
346
360
|
|
|
@@ -395,6 +409,12 @@ npx agent-inspect view <run-id> --tui
|
|
|
395
409
|
|
|
396
410
|
The TUI is available as a separate optional package; its programmatic API is experimental, while the CLI integration (`view --tui`) is the intended usage. Details: [docs/ADAPTERS.md](docs/ADAPTERS.md).
|
|
397
411
|
|
|
412
|
+
### Test reporter artifacts (`@agent-inspect/vitest`, `@agent-inspect/jest`)
|
|
413
|
+
|
|
414
|
+
Optional Vitest/Jest reporter packages are implemented in the workspace for local failure artifacts, but remain private/unpublished until the maintainer clears first-publication setup for a v2.2 release. They write shared `schemaVersion: "0.1"` reporter manifests with safe relative artifact paths and bounded structural metadata. Use `agent-inspect ci-summary` to summarize those local manifests in CI without reading trace contents or calling GitHub APIs.
|
|
415
|
+
|
|
416
|
+
Reporter artifact behavior and API details are documented in [docs/API.md](docs/API.md) and [docs/CI-ARTIFACTS.md](docs/CI-ARTIFACTS.md).
|
|
417
|
+
|
|
398
418
|
## Examples and recipes
|
|
399
419
|
|
|
400
420
|
| Example | Shows |
|
|
@@ -418,7 +438,10 @@ The TUI is available as a separate optional package; its programmatic API is exp
|
|
|
418
438
|
| [examples/recipes/parallel-tools](examples/recipes/parallel-tools) | Parallel tools |
|
|
419
439
|
| [examples/recipes/github-actions-artifact](examples/recipes/github-actions-artifact) | CI trace artifacts |
|
|
420
440
|
| [examples/recipes/deterministic-ci-checks](examples/recipes/deterministic-ci-checks) | v1.8 checks, baseline, and safe CI artifacts |
|
|
421
|
-
| [examples/recipes/
|
|
441
|
+
| [examples/recipes/eval-local-checks](examples/recipes/eval-local-checks) | v2.1 deterministic local eval checks |
|
|
442
|
+
| [examples/recipes/redact-share-safe-file](examples/recipes/redact-share-safe-file) | v2.1 share-safe local redaction copy |
|
|
443
|
+
| [examples/recipes/eval-ci-artifacts](examples/recipes/eval-ci-artifacts) | v2.1 eval before safe CI artifacts |
|
|
444
|
+
| [examples/recipes/test-reporter-artifacts](examples/recipes/test-reporter-artifacts) | Vitest/Jest reporter artifact patterns |
|
|
422
445
|
| [examples/recipes/what-report-inspect](examples/recipes/what-report-inspect/) | `what` + `report` inspection |
|
|
423
446
|
| [examples/recipes/runtime-and-ingestion](examples/recipes/runtime-and-ingestion/) | v1.6 runtime writers + universal ingestion |
|
|
424
447
|
|
package/docs/ADAPTERS.md
CHANGED
|
@@ -128,8 +128,12 @@ await agent.invoke(input, { callbacks: [callback] });
|
|
|
128
128
|
npx agent-inspect list --dir ./.agent-inspect
|
|
129
129
|
npx agent-inspect view <run-id> --dir ./.agent-inspect
|
|
130
130
|
npx agent-inspect export <run-id> --format markdown --redaction-profile share
|
|
131
|
+
npx agent-inspect eval <run-id> --dir ./.agent-inspect --require-success --json
|
|
132
|
+
npx agent-inspect redact ./.agent-inspect/<trace-file>.jsonl --profile share --json
|
|
131
133
|
```
|
|
132
134
|
|
|
135
|
+
`eval` and `redact` read local adapter traces only. They do not call model providers, upload traces, or loosen the adapter metadata-only capture defaults.
|
|
136
|
+
|
|
133
137
|

|
|
134
138
|
|
|
135
139
|
*Synthetic demo — [examples/08-langchain-adapter](../../examples/08-langchain-adapter/README.md).*
|
package/docs/API.md
CHANGED
|
@@ -222,9 +222,32 @@ No network writer, OpenTelemetry exporter, provider wrapper, or global monkey-pa
|
|
|
222
222
|
|
|
223
223
|
Recipe: [examples/recipes/ai-sdk-local-telemetry](../examples/recipes/ai-sdk-local-telemetry/).
|
|
224
224
|
|
|
225
|
+
## 11.1 Experimental `agent-inspect/reporters` APIs
|
|
226
|
+
|
|
227
|
+
`agent-inspect/reporters` contains shared, dependency-free helpers for local test reporter artifacts. The subpath does not import Vitest, Jest, GitHub SDKs, provider SDKs, or upload clients.
|
|
228
|
+
|
|
229
|
+
Import from `agent-inspect/reporters`:
|
|
230
|
+
|
|
231
|
+
```ts
|
|
232
|
+
import {
|
|
233
|
+
TRACE_ARTIFACT_MANIFEST_SCHEMA_VERSION,
|
|
234
|
+
createReporterArtifactPath,
|
|
235
|
+
createTraceArtifactManifest,
|
|
236
|
+
validateReporterArtifactPath,
|
|
237
|
+
type TraceArtifactManifest,
|
|
238
|
+
} from "agent-inspect/reporters";
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
- **`TRACE_ARTIFACT_MANIFEST_SCHEMA_VERSION`**: currently `"0.1"` for local reporter manifests.
|
|
242
|
+
- **`createTraceArtifactManifest(options)`**: clones, sorts, and deduplicates reporter results/artifacts into deterministic manifest JSON.
|
|
243
|
+
- **`createReporterArtifactPath(options)`**: creates a safe relative artifact path under a caller-provided output directory.
|
|
244
|
+
- **`validateReporterArtifactPath(options)`**: rejects empty, absolute, traversal, Windows-absolute, and symlink-escape style paths before reporters or `ci-summary` trust artifact links.
|
|
245
|
+
|
|
246
|
+
The manifest records framework, generation time, bounded test results, artifact descriptors, redaction profile, and diagnostics. It is an artifact index only; it should not contain raw trace contents, prompts, model outputs, request/response bodies, headers, API keys, secrets, or full tool payloads.
|
|
247
|
+
|
|
225
248
|
## 12. Experimental `@agent-inspect/vitest` APIs
|
|
226
249
|
|
|
227
|
-
`@agent-inspect/vitest` is an optional experimental workspace package for local Vitest failure artifacts. It remains private/unpublished. It does not add a Vitest dependency to root/core, does not upload artifacts, and does not infer trace relationships by timestamp.
|
|
250
|
+
`@agent-inspect/vitest` is an optional experimental workspace package for local Vitest failure artifacts. It remains private/unpublished pending maintainer first-publication setup. It does not add a Vitest dependency to root/core, does not upload artifacts, and does not infer trace relationships by timestamp.
|
|
228
251
|
|
|
229
252
|
Import from `@agent-inspect/vitest`:
|
|
230
253
|
|
|
@@ -237,6 +260,7 @@ import { createAgentInspectVitestReporter } from "@agent-inspect/vitest";
|
|
|
237
260
|
- **`githubSummary`**: optional GitHub step-summary file path. The reporter appends bounded structural counts only and does not use the GitHub API.
|
|
238
261
|
- **`retainSuccessful`**: `false`/undefined keeps no passing-test artifacts; `true` keeps up to `maxSuccessfulTraces`; a number keeps up to that many passing-test artifacts.
|
|
239
262
|
- **`maxSuccessfulTraces`**: upper bound for passing-test artifacts, capped by the reporter.
|
|
263
|
+
- **`redactionProfile`**: manifest artifact profile, `local` (default), `share`, or `strict`.
|
|
240
264
|
- **`resolveTrace(test)`**: optional explicit association resolver when task metadata is not convenient.
|
|
241
265
|
- **`onDiagnostic(diagnostic)`**: observes non-fatal reporter/artifact failures.
|
|
242
266
|
- **`getDiagnostics()`** and **`getArtifacts()`** expose reporter state for tests and custom harnesses.
|
|
@@ -252,11 +276,11 @@ ctx.task.meta.agentInspect = {
|
|
|
252
276
|
};
|
|
253
277
|
```
|
|
254
278
|
|
|
255
|
-
Artifacts are safe structural summaries.
|
|
279
|
+
Artifacts are safe structural summaries. The reporter writes a shared `schemaVersion: "0.1"` manifest wrapper with package metadata, generated time, framework, test results, artifact descriptors, relative paths, and redaction profile. It includes bounded test identity, status, trace run id, and trace filename, but it does not read or embed raw trace contents, prompts, generated outputs, request/response bodies, headers, API keys, secrets, or tool payloads. Reporter/artifact failures are diagnostics and do not replace original Vitest failures.
|
|
256
280
|
|
|
257
281
|
## 13. Experimental `@agent-inspect/jest` APIs
|
|
258
282
|
|
|
259
|
-
`@agent-inspect/jest` is an optional experimental workspace package for local Jest failure artifacts. It remains private/unpublished. It does not add a Jest dependency to root/core, does not upload artifacts, and does not infer trace relationships by timestamp.
|
|
283
|
+
`@agent-inspect/jest` is an optional experimental workspace package for local Jest failure artifacts. It remains private/unpublished pending maintainer first-publication setup. It does not add a Jest dependency to root/core, does not upload artifacts, and does not infer trace relationships by timestamp.
|
|
260
284
|
|
|
261
285
|
Import from `@agent-inspect/jest`:
|
|
262
286
|
|
|
@@ -270,6 +294,7 @@ import { AgentInspectJestReporter, createAgentInspectJestReporter } from "@agent
|
|
|
270
294
|
- **`githubSummary`**: optional GitHub step-summary file path. The reporter appends bounded structural counts only and does not use the GitHub API.
|
|
271
295
|
- **`retainSuccessful`**: `false`/undefined keeps no passing-test artifacts; `true` keeps up to `maxSuccessfulTraces`; a number keeps up to that many passing-test artifacts.
|
|
272
296
|
- **`maxSuccessfulTraces`**: upper bound for passing-test artifacts, capped by the reporter.
|
|
297
|
+
- **`redactionProfile`**: manifest artifact profile, `local` (default), `share`, or `strict`.
|
|
273
298
|
- **`associations`**: explicit trace associations keyed by `file::fullName`, `basename::fullName`, or `fullName`.
|
|
274
299
|
- **`resolveTrace(test)`**: optional explicit association resolver for normalized Jest assertion results.
|
|
275
300
|
- **`onDiagnostic(diagnostic)`**: observes non-fatal reporter/artifact failures.
|
|
@@ -294,7 +319,7 @@ reporters: [
|
|
|
294
319
|
],
|
|
295
320
|
```
|
|
296
321
|
|
|
297
|
-
Artifacts are safe structural summaries.
|
|
322
|
+
Artifacts are safe structural summaries. The reporter writes a shared `schemaVersion: "0.1"` manifest wrapper with package metadata, generated time, framework, test results, artifact descriptors, relative paths, and redaction profile. It includes bounded test identity, status, trace run id, and trace filename, but it does not read or embed raw trace contents, prompts, generated outputs, request/response bodies, headers, API keys, secrets, or tool payloads. Reporter/artifact failures are diagnostics and do not replace original Jest failures.
|
|
298
323
|
|
|
299
324
|
## 14. Experimental `@agent-inspect/openai-agents` APIs
|
|
300
325
|
|
|
@@ -497,7 +522,47 @@ The checks API is experimental in v1.x. The `agent-inspect check` CLI uses this
|
|
|
497
522
|
|
|
498
523
|
Recipes: [deterministic-ci-checks](../examples/recipes/deterministic-ci-checks/README.md) for check/baseline/artifact workflows, and [test-reporter-artifacts](../examples/recipes/test-reporter-artifacts/README.md) for Vitest/Jest reporter configuration patterns.
|
|
499
524
|
|
|
500
|
-
## 22. Experimental
|
|
525
|
+
## 22. Experimental `@agent-inspect/eval` APIs (v2.1)
|
|
526
|
+
|
|
527
|
+
`@agent-inspect/eval` is an optional package for deterministic local evals over existing traces. It consumes normalized reader output or local trace paths, returns stable JSON-compatible results, and does not call model providers, upload traces, replay agents, or create hosted datasets.
|
|
528
|
+
|
|
529
|
+
Import from `@agent-inspect/eval`:
|
|
530
|
+
|
|
531
|
+
```ts
|
|
532
|
+
import { checks, evalRun, renderEvalMarkdown } from "@agent-inspect/eval";
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
- **`evalRun(input, options?)`**: runs selected eval rules over a local trace path or `TraceReadResult`.
|
|
536
|
+
- **`checks`**: built-in deterministic rule factories for run status, tool usage, duration, depth, retries, token totals, failed steps, retrieval-before-generation, decision metadata, context overlap, quote overlap, citation presence, required source IDs, answer length bounds, and banned unsupported phrases.
|
|
537
|
+
- **`renderEvalMarkdown(result)`**: renders a deterministic Markdown summary suitable for local CI logs, PR text, or artifact files after review.
|
|
538
|
+
- Result types include **`EvalRunResult`**, **`EvalFinding`**, **`EvalDiagnostic`**, and **`EvalRule`**.
|
|
539
|
+
|
|
540
|
+
Findings are designed for CI output: they include rule IDs, expected/actual structural summaries, and evidence paths. They should not include raw prompt, answer, context, request/response, header, API key, secret, or full tool payload values.
|
|
541
|
+
|
|
542
|
+
CLI wrapper: `agent-inspect eval <trace-path-or-run-id> --require-success --json`.
|
|
543
|
+
|
|
544
|
+
Recipes: [eval-local-checks](../examples/recipes/eval-local-checks/README.md) and [eval-ci-artifacts](../examples/recipes/eval-ci-artifacts/README.md).
|
|
545
|
+
|
|
546
|
+
## 23. Experimental `@agent-inspect/redact` APIs (v2.1)
|
|
547
|
+
|
|
548
|
+
`@agent-inspect/redact` is an optional package for reusable local redaction. It powers the root CLI `redact` workflow and shared trace-safety integrations. Redaction operates on local values/files and returns a redacted copy; it does not mutate the source object, upload content, or claim compliance-grade DLP.
|
|
549
|
+
|
|
550
|
+
Import from `@agent-inspect/redact`:
|
|
551
|
+
|
|
552
|
+
```ts
|
|
553
|
+
import { createRedactor, redact } from "@agent-inspect/redact";
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
- **`redact(value, options?)`**: returns `{ value, findings, redacted, profile }` for a redacted copy.
|
|
557
|
+
- **`createRedactor(options?)`**: creates a reusable redactor with profile, custom detectors, and custom rules.
|
|
558
|
+
- **Profiles**: `local`, `share`, and `strict`.
|
|
559
|
+
- **Findings**: detector id, path, action, severity, and bounded preview metadata where applicable.
|
|
560
|
+
|
|
561
|
+
CLI wrapper: `agent-inspect redact <trace-or-file> --profile share --json`.
|
|
562
|
+
|
|
563
|
+
Recipe: [redact-share-safe-file](../examples/recipes/redact-share-safe-file/README.md).
|
|
564
|
+
|
|
565
|
+
## 24. Experimental local explain APIs (v1.9)
|
|
501
566
|
|
|
502
567
|
`buildLocalExplanation()` creates a deterministic local explanation payload from a reader-selected `InspectRunTree`. It performs no network I/O, does not call model providers, and separates observed facts from deterministic inference labels.
|
|
503
568
|
|
|
@@ -522,7 +587,7 @@ Provider design gate:
|
|
|
522
587
|
- Provider prompts must use redacted facts only, label inferred claims, and must not request raw chain-of-thought.
|
|
523
588
|
- Provider packages or SDKs must not become root/core runtime dependencies.
|
|
524
589
|
|
|
525
|
-
##
|
|
590
|
+
## 25. Experimental `@agent-inspect/harness` APIs
|
|
526
591
|
|
|
527
592
|
`@agent-inspect/harness` is a private experimental workspace package during the v1.9 release train. It provides a no-framework fixture runner for local targets and recipes; first public package publication remains a manual maintainer gate.
|
|
528
593
|
|
|
@@ -548,23 +613,23 @@ The harness package does not add root/core dependencies, does not upload traces,
|
|
|
548
613
|
|
|
549
614
|
Recipes: [harness-basic](../examples/recipes/harness-basic/README.md) and [harness-adapter-local](../examples/recipes/harness-adapter-local/README.md).
|
|
550
615
|
|
|
551
|
-
##
|
|
616
|
+
## 26. Deprecated APIs
|
|
552
617
|
|
|
553
618
|
No deprecated APIs are declared as of 1.4.0.
|
|
554
619
|
|
|
555
|
-
##
|
|
620
|
+
## 27. Removal / deprecation policy
|
|
556
621
|
|
|
557
622
|
- Stable APIs are not removed within the current major version.
|
|
558
623
|
- If removal is necessary, the API should be **deprecated** first, documented, and kept for a reasonable window (target: at least one minor line) unless security requires faster action.
|
|
559
624
|
|
|
560
|
-
##
|
|
625
|
+
## 28. Backward compatibility policy
|
|
561
626
|
|
|
562
627
|
- Manual trace JSONL (`schemaVersion: "0.1"`) remains readable.
|
|
563
628
|
- Additive schema changes are allowed in minor versions.
|
|
564
629
|
- Breaking changes require a major version.
|
|
565
630
|
- Unknown fields should be ignored where safe.
|
|
566
631
|
|
|
567
|
-
##
|
|
632
|
+
## 29. Examples
|
|
568
633
|
|
|
569
634
|
### Minimal manual trace
|
|
570
635
|
|
package/docs/CLI.md
CHANGED
|
@@ -28,9 +28,12 @@ Core commands:
|
|
|
28
28
|
- `open` — read supported local trace files, directories, or stdin through the canonical reader pipeline
|
|
29
29
|
- `migrate` — convert one local AgentInspect JSONL file to schema 1.0 with dry-run or explicit output
|
|
30
30
|
- `check` — run deterministic local trace checks with stable JSON and exit codes
|
|
31
|
+
- `eval` — run deterministic local evals over existing traces
|
|
32
|
+
- `redact` — redact a local JSON/JSONL file or trace copy
|
|
31
33
|
- `scan` — best-effort local safety scan for trace capture risks
|
|
32
34
|
- `verify-safe` — best-effort local trace safety verification
|
|
33
35
|
- `artifacts` — create safe local CI trace artifact bundles and optional step summaries
|
|
36
|
+
- `ci-summary` — summarize local reporter artifact manifests for CI
|
|
34
37
|
- `diff` — compare two manual traces (local, read-only)
|
|
35
38
|
- `timeline` — chronological view of one run (local JSONL)
|
|
36
39
|
- `stats` — local aggregate stats over a trace directory
|
|
@@ -58,6 +61,12 @@ Exception: `check` uses CI-oriented semantic exit codes:
|
|
|
58
61
|
- **3**: trace input could not be read
|
|
59
62
|
- **4**: unsupported or ambiguous trace format
|
|
60
63
|
|
|
64
|
+
Exception: `eval` uses local eval semantic exit codes:
|
|
65
|
+
|
|
66
|
+
- **0**: all selected eval rules passed
|
|
67
|
+
- **1**: eval ran and at least one error-severity rule failed
|
|
68
|
+
- **2**: invalid arguments, invalid config, unreadable input, unsupported input, ambiguous input, or run-selection errors
|
|
69
|
+
|
|
61
70
|
Exception: `scan` and `verify-safe` use local safety status exit codes:
|
|
62
71
|
|
|
63
72
|
- **0**: status is SAFE or SAFE WITH WARNINGS
|
|
@@ -79,6 +88,8 @@ Many commands support `--json` for scripting. JSON output is intended to be:
|
|
|
79
88
|
- Log-derived output includes **confidence** labels and avoids inventing parent-child relationships.
|
|
80
89
|
- Redaction defaults are conservative (e.g. `authorization`, `cookie`, `token`, `apiKey`, `password`, `secret`, `email`).
|
|
81
90
|
- Exported payloads are **redacted by default** unless explicitly configured otherwise.
|
|
91
|
+
- `eval` is deterministic and local-only. It does not replay agents, call model providers, upload traces, or create hosted datasets.
|
|
92
|
+
- `redact` writes or prints a redacted copy. It does not mutate source trace files.
|
|
82
93
|
- `scan` and `verify-safe` are best-effort local checks, not compliance, privacy, security, or regulatory certifications.
|
|
83
94
|
- `artifacts` renders structural summaries and check evidence only; it does not include raw prompt/output bodies, request/response bodies, headers, API keys, secrets, or full tool payloads.
|
|
84
95
|
|
|
@@ -322,7 +333,85 @@ npx agent-inspect check trace.jsonl --max-duration-ms 30000 --required-tool sear
|
|
|
322
333
|
|
|
323
334
|
Recipe: [examples/recipes/deterministic-ci-checks](../examples/recipes/deterministic-ci-checks/README.md)
|
|
324
335
|
|
|
325
|
-
### 6.10 `
|
|
336
|
+
### 6.10 `eval`
|
|
337
|
+
|
|
338
|
+
Run deterministic local evals against an existing trace. This command reads through the same local reader pipeline as `open` and `check`; it does not rerun agents, call models, upload traces, mutate inputs, or create a hosted dataset.
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
agent-inspect eval <trace-path-or-run-id> [options]
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
Options:
|
|
345
|
+
|
|
346
|
+
- `--dir <path>`: trace directory for run-id lookup
|
|
347
|
+
- `--format <agent-inspect-jsonl|openinference-json|otlp-json>`: explicit trace input format
|
|
348
|
+
- `--run <run-id>`: select a run when input contains multiple runs
|
|
349
|
+
- `--config <path>`: eval config (`.json`, `.js`, `.mjs`, or `.cjs`); TypeScript configs are rejected until an explicit loader is approved
|
|
350
|
+
- `--json`: print deterministic JSON eval result
|
|
351
|
+
- `--markdown`: print deterministic Markdown eval summary
|
|
352
|
+
- `--require-success`: require the selected run to complete successfully
|
|
353
|
+
- `--required-tool <name>`: require a tool name (repeatable)
|
|
354
|
+
- `--forbid-tool <name>` / `--forbidden-tool <name>`: forbid a tool name (repeatable)
|
|
355
|
+
- `--max-duration-ms <number>`, `--max-depth <number>`, `--max-retries <number>`, `--max-total-tokens <number>`
|
|
356
|
+
- `--require-retrieval-before-generation`
|
|
357
|
+
- `--required-decision-metadata <key>`: require decision metadata (repeatable)
|
|
358
|
+
- `--context-overlap`, `--min-context-overlap <number>`, `--min-shared-terms <number>`
|
|
359
|
+
- `--quote-overlap`
|
|
360
|
+
- `--citation-presence`
|
|
361
|
+
- `--required-source-id <id>`: require a source id in context or citations (repeatable)
|
|
362
|
+
- `--min-answer-characters <number>`, `--max-answer-characters <number>`, `--min-answer-words <number>`, `--max-answer-words <number>`
|
|
363
|
+
- `--banned-phrase <text>`: ban unsupported-answer phrasing (repeatable)
|
|
364
|
+
|
|
365
|
+
Example config:
|
|
366
|
+
|
|
367
|
+
```json
|
|
368
|
+
{
|
|
369
|
+
"eval": {
|
|
370
|
+
"requireSuccess": true,
|
|
371
|
+
"requiredTools": ["searchDocs"],
|
|
372
|
+
"forbiddenTools": ["deleteAccount"],
|
|
373
|
+
"citationPresence": true,
|
|
374
|
+
"contextOverlap": { "minOverlap": 0.2 },
|
|
375
|
+
"requiredSourceIds": ["policy-30-day"]
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Examples:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
npx agent-inspect eval fixtures/traces-v0.2/manual-basic.jsonl --require-success --json
|
|
384
|
+
npx agent-inspect eval trace.jsonl --forbid-tool deleteAccount --markdown
|
|
385
|
+
npx agent-inspect eval trace.jsonl --config agent-inspect.eval.json --json
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Recipes: [eval-local-checks](../examples/recipes/eval-local-checks/README.md) and [eval-ci-artifacts](../examples/recipes/eval-ci-artifacts/README.md).
|
|
389
|
+
|
|
390
|
+
### 6.11 `redact`
|
|
391
|
+
|
|
392
|
+
Redact a local JSON or JSONL trace/file. The command prints or writes a redacted copy and reports bounded findings; it does not mutate the source file or upload content.
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
agent-inspect redact <trace-or-file> [options]
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Options:
|
|
399
|
+
|
|
400
|
+
- `--dir <path>`: trace directory for run-id lookup
|
|
401
|
+
- `--profile <local|share|strict>`: redaction profile (default `share`)
|
|
402
|
+
- `-o, --output <path>`: write redacted content to a file
|
|
403
|
+
- `--json`: print deterministic JSON wrapper with findings
|
|
404
|
+
|
|
405
|
+
Examples:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
npx agent-inspect redact trace.jsonl --profile share --json
|
|
409
|
+
npx agent-inspect redact trace.jsonl --profile strict -o trace.share.jsonl
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Recipe: [redact-share-safe-file](../examples/recipes/redact-share-safe-file/README.md).
|
|
413
|
+
|
|
414
|
+
### 6.12 `scan` and `verify-safe`
|
|
326
415
|
|
|
327
416
|
Run best-effort local safety verification for supported trace inputs. These commands are local and read-only: they do not rerun agents, call models, upload traces, mutate input files, or certify compliance.
|
|
328
417
|
|
|
@@ -361,7 +450,7 @@ npx agent-inspect verify-safe minimal-success --dir fixtures/traces
|
|
|
361
450
|
npx agent-inspect verify-safe trace.jsonl --max-string-length 8192 --json
|
|
362
451
|
```
|
|
363
452
|
|
|
364
|
-
### 6.
|
|
453
|
+
### 6.13 `artifacts`
|
|
365
454
|
|
|
366
455
|
Create deterministic local CI artifacts for supported trace inputs. This command is local and read-only for trace inputs: it does not rerun agents, call models, upload files, use GitHub APIs, or mutate repository state. It writes only to `--output-dir` and, when requested, a local step-summary file.
|
|
367
456
|
|
|
@@ -401,7 +490,33 @@ npx agent-inspect artifacts candidate.jsonl --baseline baseline.jsonl --output-d
|
|
|
401
490
|
|
|
402
491
|
Recipe and sample workflow: [examples/recipes/deterministic-ci-checks](../examples/recipes/deterministic-ci-checks/README.md)
|
|
403
492
|
|
|
404
|
-
### 6.
|
|
493
|
+
### 6.14 `ci-summary`
|
|
494
|
+
|
|
495
|
+
Summarize local Vitest/Jest reporter artifact manifests into deterministic Markdown or JSON. This command reads shared `schemaVersion: "0.1"` manifest JSON files only, including the reporter package wrapper emitted by the workspace reporters. It does not read trace contents, rerun tests, upload artifacts, call GitHub APIs, or mutate repository state. `--output` and `--github-summary` write local files.
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
agent-inspect ci-summary <manifest...> [options]
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
Options:
|
|
502
|
+
|
|
503
|
+
- `-o, --output <path>`: write the Markdown summary to a local file
|
|
504
|
+
- `--github-summary <path>`: append the Markdown summary to a local file, such as `$GITHUB_STEP_SUMMARY`
|
|
505
|
+
- `--json`: print deterministic JSON summary
|
|
506
|
+
|
|
507
|
+
Example:
|
|
508
|
+
|
|
509
|
+
```bash
|
|
510
|
+
npx agent-inspect ci-summary .agent-inspect/jest-artifacts/tests/**/report.json \
|
|
511
|
+
--output ./artifacts/reporter-summary.md \
|
|
512
|
+
--github-summary "$GITHUB_STEP_SUMMARY"
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
Reporter artifact paths in the summary are kept relative and validated conservatively. The summary includes bounded package/framework metadata, test identity, status counts, trace filenames, artifact paths, redaction profiles, and diagnostic counts only.
|
|
516
|
+
|
|
517
|
+
Recipe and sample workflow: [examples/recipes/github-actions-artifact](../examples/recipes/github-actions-artifact/README.md)
|
|
518
|
+
|
|
519
|
+
### 6.15 `diff`
|
|
405
520
|
|
|
406
521
|
Compare two manual trace runs. Diff is **local** and **read-only** (does not rerun agents).
|
|
407
522
|
|
|
@@ -465,7 +580,7 @@ Differences:
|
|
|
465
580
|
|
|
466
581
|
More examples, including timing-only and structure-only diffs, are in `docs/DIFF.md`.
|
|
467
582
|
|
|
468
|
-
### 6.
|
|
583
|
+
### 6.16 `timeline`
|
|
469
584
|
|
|
470
585
|
Chronological step list for one manual trace. Read-only; does not mutate JSONL files.
|
|
471
586
|
|
|
@@ -481,7 +596,7 @@ Options:
|
|
|
481
596
|
|
|
482
597
|

|
|
483
598
|
|
|
484
|
-
### 6.
|
|
599
|
+
### 6.17 `stats`
|
|
485
600
|
|
|
486
601
|
Local aggregate statistics over trace files in a directory. Read-only.
|
|
487
602
|
|
|
@@ -501,7 +616,7 @@ Options:
|
|
|
501
616
|
|
|
502
617
|
Use `--correlation-id` or `--group-id` to filter runs by `run_started` metadata (see [API.md](./API.md)).
|
|
503
618
|
|
|
504
|
-
### 6.
|
|
619
|
+
### 6.18 `search`
|
|
505
620
|
|
|
506
621
|
Deterministic search over local traces (substring / exact filters). No semantic search.
|
|
507
622
|
|
|
@@ -531,7 +646,7 @@ npx agent-inspect search --duration ">100ms" --json
|
|
|
531
646
|
|
|
532
647
|

|
|
533
648
|
|
|
534
|
-
### 6.
|
|
649
|
+
### 6.19 `what`
|
|
535
650
|
|
|
536
651
|
Concise human-readable summary of one local trace run. Read-only; accepts v0.1 manual JSONL and v0.2 persisted-event JSONL through the shared dual-format normalization path. Vocabulary: [TRACE-VOCABULARY-V1.5.md](./proposals/TRACE-VOCABULARY-V1.5.md).
|
|
537
652
|
|
|
@@ -560,7 +675,7 @@ Outcome: Completed successfully.
|
|
|
560
675
|
Slowest: plan (100ms, logic)
|
|
561
676
|
```
|
|
562
677
|
|
|
563
|
-
### 6.
|
|
678
|
+
### 6.20 `report`
|
|
564
679
|
|
|
565
680
|
Generate a local inspection report combining **what happened**, **timeline**, and **execution tree** sections. The command reads local v0.1 manual JSONL and v0.2 persisted-event JSONL through the shared dual-format normalization path without mutating them. Distinct from `export` (which targets shareable tree snapshots and standards formats).
|
|
566
681
|
|
|
@@ -585,7 +700,7 @@ Example:
|
|
|
585
700
|
npx agent-inspect report minimal-success --dir fixtures/traces --format html -o report.html
|
|
586
701
|
```
|
|
587
702
|
|
|
588
|
-
### 6.
|
|
703
|
+
### 6.21 `explain`
|
|
589
704
|
|
|
590
705
|
Explain a local trace using deterministic facts and local inference labels. This command reads through the same local reader pipeline as `open` / `check`; it does not call a model provider, upload traces, replay agents, or mutate input files.
|
|
591
706
|
|
package/docs/COMPARE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## Compare AgentInspect
|
|
2
2
|
|
|
3
|
-
AgentInspect is a local-first execution-tree debugger for TypeScript AI agents. It’s designed for inner-loop debugging and quick inspection — not as a replacement for hosted observability, evaluation, or production monitoring platforms.
|
|
3
|
+
AgentInspect is a local-first execution-tree debugger for TypeScript AI agents. It’s designed for inner-loop debugging, deterministic local eval heuristics, redaction, and quick inspection — not as a replacement for hosted observability, dataset evaluation, or production monitoring platforms.
|
|
4
4
|
|
|
5
5
|
## AgentInspect vs console.log
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@ LangSmith is a hosted/platform workflow for tracing, evaluation, and observabili
|
|
|
16
16
|
AgentInspect is local-first CLI debugging:
|
|
17
17
|
|
|
18
18
|
- Use AgentInspect to debug locally before/alongside LangSmith when iterating on agent logic.
|
|
19
|
-
- AgentInspect does not provide hosted dashboards, dataset/eval workflows, or production tracing pipelines.
|
|
19
|
+
- AgentInspect does not provide hosted dashboards, dataset/eval management workflows, or production tracing pipelines.
|
|
20
20
|
|
|
21
21
|
## AgentInspect vs Langfuse
|
|
22
22
|
|
|
@@ -33,7 +33,7 @@ Braintrust is strong for evals, regressions, datasets, and production AI quality
|
|
|
33
33
|
|
|
34
34
|
AgentInspect is lighter and local-first:
|
|
35
35
|
|
|
36
|
-
- Use AgentInspect to understand a single run locally.
|
|
36
|
+
- Use AgentInspect to understand a single run locally and run deterministic trace checks/eval heuristics before sharing artifacts.
|
|
37
37
|
- Use Braintrust when you want repeatable evals, comparisons at scale, and production quality workflows.
|
|
38
38
|
|
|
39
39
|
## AgentInspect vs Phoenix / OpenInference
|
|
@@ -61,9 +61,10 @@ AgentInspect avoids SDK/collector setup for local debugging:
|
|
|
61
61
|
| --- | --- |
|
|
62
62
|
| Local agent debugging | Strong fit |
|
|
63
63
|
| No-account CLI tracing | Strong fit |
|
|
64
|
+
| Deterministic local eval heuristics | Good fit |
|
|
65
|
+
| Share-safe local redaction copy | Good fit |
|
|
64
66
|
| Production dashboards | Not the goal |
|
|
65
67
|
| Hosted eval datasets | Not the goal |
|
|
66
68
|
| Prompt management | Not the goal |
|
|
67
69
|
| Standards-aligned local export | Partial (compatibility-oriented) |
|
|
68
70
|
| Full observability platform | Use a dedicated platform |
|
|
69
|
-
|
package/docs/GETTING-STARTED.md
CHANGED
|
@@ -204,17 +204,34 @@ agent-inspect search --dir ./.agent-inspect --status error --limit 10
|
|
|
204
204
|
|
|
205
205
|
For CI artifact workflows, see [CI-ARTIFACTS.md](./CI-ARTIFACTS.md) and [github-actions-artifact recipe](../examples/recipes/github-actions-artifact/).
|
|
206
206
|
|
|
207
|
-
## 10.
|
|
207
|
+
## 10. Run local evals and redact share copies
|
|
208
|
+
|
|
209
|
+
After a trace exists, run deterministic eval checks without replaying the agent or calling a model provider:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
agent-inspect eval minimal-success --dir fixtures/traces --require-success --json
|
|
213
|
+
agent-inspect eval trace.jsonl --forbid-tool deleteAccount --citation-presence --json
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Before attaching a trace or JSON artifact to a PR, issue, or support thread, create a redacted local copy:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
agent-inspect redact trace.jsonl --profile share --json
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Recipes: [eval-local-checks](../examples/recipes/eval-local-checks/), [redact-share-safe-file](../examples/recipes/redact-share-safe-file/), and [eval-ci-artifacts](../examples/recipes/eval-ci-artifacts/).
|
|
223
|
+
|
|
224
|
+
## 11. Diff two runs
|
|
208
225
|
|
|
209
226
|
```bash
|
|
210
227
|
agent-inspect diff minimal-success minimal-error --dir fixtures/traces
|
|
211
228
|
```
|
|
212
229
|
|
|
213
|
-
##
|
|
230
|
+
## 12. Try recipes
|
|
214
231
|
|
|
215
232
|
See `examples/recipes/README.md`.
|
|
216
233
|
|
|
217
|
-
##
|
|
234
|
+
## 13. Optional framework adapters
|
|
218
235
|
|
|
219
236
|
See [ADAPTERS.md](./ADAPTERS.md) for AI SDK local telemetry, OpenAI Agents local-only processing, and LangChain callbacks.
|
|
220
237
|
|
|
@@ -228,7 +245,7 @@ pnpm add @agent-inspect/langchain
|
|
|
228
245
|
|
|
229
246
|
See [examples/08-langchain-adapter](../examples/08-langchain-adapter/README.md) and [docs/ADAPTERS.md](./ADAPTERS.md).
|
|
230
247
|
|
|
231
|
-
##
|
|
248
|
+
## 14. Optional TUI
|
|
232
249
|
|
|
233
250
|
`@agent-inspect/tui` is optional and **experimental**. The CLI can invoke it with:
|
|
234
251
|
|
|
@@ -236,16 +253,17 @@ See [examples/08-langchain-adapter](../examples/08-langchain-adapter/README.md)
|
|
|
236
253
|
agent-inspect view <runId> --tui
|
|
237
254
|
```
|
|
238
255
|
|
|
239
|
-
##
|
|
256
|
+
## 15. Safety notes
|
|
240
257
|
|
|
241
258
|
- Nothing uploads by default; core tracing, readers, checks, and exports are local-first.
|
|
259
|
+
- Eval and redaction commands read local inputs and do not call provider APIs or hosted services.
|
|
242
260
|
- Redaction is on by default for log-derived attributes, **manual trace metadata (before disk)**, and exports. Pass `redact: false` to opt out of manual metadata redaction.
|
|
243
261
|
- Export redaction shapes a local copy and does not mutate the source trace; review exported files before sharing.
|
|
244
262
|
- Persisted events are size-bounded by default (see `docs/API.md`).
|
|
245
263
|
- Confidence labels are required to keep attribution honest.
|
|
246
264
|
- AgentInspect is for local debugging, not production monitoring.
|
|
247
265
|
|
|
248
|
-
##
|
|
266
|
+
## 16. Next docs
|
|
249
267
|
|
|
250
268
|
- [docs/API.md](./API.md)
|
|
251
269
|
- [docs/CLI.md](./CLI.md)
|
package/docs/KNOWN-ISSUES.md
CHANGED
|
@@ -12,6 +12,12 @@ AgentInspect is **local-first** and **CLI-first**. These behaviors are intention
|
|
|
12
12
|
- **OpenInference** and **OTLP JSON** exports are **compatibility-oriented** and **experimental**. Validate against your target collector or backend before relying on them.
|
|
13
13
|
- Exports generate **strings/files locally** only—there is **no** automatic upload.
|
|
14
14
|
|
|
15
|
+
## Eval and redaction
|
|
16
|
+
|
|
17
|
+
- **`agent-inspect eval` is deterministic local eval, not hosted evaluation.** Built-in rules are structural checks and grounding heuristics over existing traces. They do not call model providers, manage datasets, replay agents, or perform semantic LLM judging.
|
|
18
|
+
- **TypeScript eval configs are not loaded by default.** Use `.json`, `.js`, `.mjs`, or `.cjs` until an explicit loader path is approved.
|
|
19
|
+
- **`agent-inspect redact` creates a local redacted copy.** It does not mutate source traces, encrypt files, or guarantee compliance-grade detection. Review the exact output before sharing.
|
|
20
|
+
|
|
15
21
|
## Readers and `open`
|
|
16
22
|
|
|
17
23
|
- **OpenInference** and **OTLP JSON** readers are **compatibility-oriented** and **experimental**. They normalize local JSON payloads into AgentInspect inspection trees and may warn on unsupported semantic fields.
|
|
@@ -103,6 +109,7 @@ pnpm compat:smoke
|
|
|
103
109
|
|
|
104
110
|
- `agent-inspect artifacts --github-summary` writes a local step-summary file only. It does not call GitHub APIs, open PR comments, upload artifacts, or mutate repository state.
|
|
105
111
|
- Baseline checks compare normalized structural facts from explicit candidate and baseline inputs. They are useful for CI regression evidence, not replay or semantic eval scoring.
|
|
112
|
+
- v2.1 eval/redact adoption recipes are local and deterministic: [eval-local-checks](../examples/recipes/eval-local-checks/), [redact-share-safe-file](../examples/recipes/redact-share-safe-file/), and [eval-ci-artifacts](../examples/recipes/eval-ci-artifacts/).
|
|
106
113
|
|
|
107
114
|
### What to include in a bug report
|
|
108
115
|
|