agent-inspect 1.0.3 → 1.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 +69 -10
- package/README.md +37 -10
- package/SECURITY.md +5 -2
- package/docs/ADAPTERS.md +28 -1
- package/docs/API.md +47 -10
- package/docs/ARCHITECTURE.md +44 -8
- package/docs/CLI.md +47 -0
- package/docs/DIFF.md +127 -0
- package/docs/EXPORTS.md +1 -1
- package/docs/GETTING-STARTED.md +21 -12
- package/docs/KNOWN-ISSUES.md +53 -0
- package/docs/LIMITATIONS.md +13 -1
- package/docs/LOG-TO-TREE-QUICKSTART.md +2 -0
- package/docs/LOGS.md +3 -2
- package/docs/SCHEMA.md +48 -4
- package/package.json +13 -15
- package/packages/cli/dist/index.cjs +929 -185
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.mjs +923 -180
- package/packages/cli/dist/index.mjs.map +1 -1
- package/packages/core/dist/index.cjs +1779 -345
- package/packages/core/dist/index.cjs.map +1 -1
- package/packages/core/dist/index.d.cts +236 -61
- package/packages/core/dist/index.d.ts +236 -61
- package/packages/core/dist/index.mjs +1759 -342
- package/packages/core/dist/index.mjs.map +1 -1
package/docs/GETTING-STARTED.md
CHANGED
|
@@ -14,6 +14,8 @@ The `agent-inspect` package includes the CLI binary via its `bin` field:
|
|
|
14
14
|
npx agent-inspect --help
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
For a clean install verification path covering npm, pnpm, ESM import, CJS require, and CLI help, see [Clean install smoke test](./INSTALL-SMOKE-TEST.md).
|
|
18
|
+
|
|
17
19
|
For local repo development (this monorepo), build and run the CLI from `packages/cli`:
|
|
18
20
|
|
|
19
21
|
```bash
|
|
@@ -33,7 +35,7 @@ await inspectRun("demo-agent", async () => {
|
|
|
33
35
|
});
|
|
34
36
|
```
|
|
35
37
|
|
|
36
|
-
This writes a local JSONL trace with stable
|
|
38
|
+
This writes a local JSONL trace with stable event names (`schemaVersion: "0.1"`):
|
|
37
39
|
|
|
38
40
|
- `run_started`, `run_completed`
|
|
39
41
|
- `step_started`, `step_completed`
|
|
@@ -58,6 +60,10 @@ AGENT_INSPECT=1 node eval-runner.mjs
|
|
|
58
60
|
|
|
59
61
|
Enable tokens: `1`, `true`, `yes`, `on`, `enabled` (case-insensitive). Explicit `enabled: true | false` in options overrides the env var.
|
|
60
62
|
|
|
63
|
+
### Install compatibility
|
|
64
|
+
|
|
65
|
+
If `import` or `require` fails after install, see [KNOWN-ISSUES.md — Common install/runtime compatibility checks](./KNOWN-ISSUES.md#common-installruntime-compatibility-checks).
|
|
66
|
+
|
|
61
67
|
To skip tracing in code without env vars: `inspectRun(name, fn, { enabled: false })`.
|
|
62
68
|
|
|
63
69
|
## 3. View runs
|
|
@@ -117,12 +123,14 @@ See `examples/recipes/README.md`.
|
|
|
117
123
|
|
|
118
124
|
## 10. Optional LangChain adapter
|
|
119
125
|
|
|
120
|
-
`@agent-inspect/langchain` is optional and **experimental
|
|
126
|
+
`@agent-inspect/langchain` is optional and **experimental**. Events are **in-memory by default**; pass `persist: true` to write local JSONL traces inspectable by the CLI.
|
|
121
127
|
|
|
122
128
|
```bash
|
|
123
129
|
pnpm add @agent-inspect/langchain
|
|
124
130
|
```
|
|
125
131
|
|
|
132
|
+
See [examples/08-langchain-adapter](../examples/08-langchain-adapter/README.md) and [docs/ADAPTERS.md](./ADAPTERS.md).
|
|
133
|
+
|
|
126
134
|
## 11. Optional TUI
|
|
127
135
|
|
|
128
136
|
`@agent-inspect/tui` is optional and **experimental**. The CLI can invoke it with:
|
|
@@ -133,18 +141,19 @@ agent-inspect view <runId> --tui
|
|
|
133
141
|
|
|
134
142
|
## 12. Safety notes
|
|
135
143
|
|
|
136
|
-
- Redaction is on by default for log-derived attributes and exports.
|
|
144
|
+
- 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.
|
|
145
|
+
- Persisted events are size-bounded by default (see `docs/API.md`).
|
|
137
146
|
- Confidence labels are required to keep attribution honest.
|
|
138
147
|
- AgentInspect is for local debugging, not production monitoring.
|
|
139
148
|
|
|
140
149
|
## 13. Next docs
|
|
141
150
|
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
|
|
151
|
+
- [docs/API.md](./API.md)
|
|
152
|
+
- [docs/CLI.md](./CLI.md)
|
|
153
|
+
- [docs/SCHEMA.md](./SCHEMA.md)
|
|
154
|
+
- [docs/LOGGING-PLAYBOOK.md](./LOGGING-PLAYBOOK.md)
|
|
155
|
+
- [docs/COMPARE.md](./COMPARE.md)
|
|
156
|
+
- [docs/LOG-TO-TREE-QUICKSTART.md](./LOG-TO-TREE-QUICKSTART.md)
|
|
157
|
+
- [docs/KNOWN-ISSUES.md](./KNOWN-ISSUES.md)
|
|
158
|
+
- [docs/LIMITATIONS.md](./LIMITATIONS.md)
|
|
159
|
+
- [ROADMAP.md](../ROADMAP.md)
|
package/docs/KNOWN-ISSUES.md
CHANGED
|
@@ -32,3 +32,56 @@ AgentInspect is **local-first** and **CLI-first**. These behaviors are intention
|
|
|
32
32
|
- Log-derived trees carry **confidence** (`explicit`, `correlated`, `heuristic`, `unknown`). Labels explain **how** relationships were inferred—they are not semantic proof.
|
|
33
33
|
|
|
34
34
|
When in doubt, treat AgentInspect as a **debugging aid**, not a compliance or billing system of record.
|
|
35
|
+
|
|
36
|
+
## Common install/runtime compatibility checks
|
|
37
|
+
|
|
38
|
+
Use these before filing a packaging bug. AgentInspect targets **Node.js ≥ 20**.
|
|
39
|
+
|
|
40
|
+
### Quick self-check (clean temp project)
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
mkdir /tmp/agent-inspect-check && cd /tmp/agent-inspect-check
|
|
44
|
+
npm init -y
|
|
45
|
+
npm install agent-inspect@latest
|
|
46
|
+
node -e "import('agent-inspect').then(m => console.log('esm', typeof m.inspectRun))"
|
|
47
|
+
node -e "const m=require('agent-inspect'); console.log('cjs', typeof m.inspectRun, typeof m.maybeInspectRun)"
|
|
48
|
+
npx agent-inspect --help
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
From a **repo clone** (maintainers / contributors):
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pnpm install --frozen-lockfile
|
|
55
|
+
pnpm build
|
|
56
|
+
pnpm compat:smoke
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### ESM import
|
|
60
|
+
|
|
61
|
+
- Consumer `package.json` should use `"type": "module"` (or `.mjs` entry files).
|
|
62
|
+
- Import: `import { inspectRun, step, maybeInspectRun } from "agent-inspect"`.
|
|
63
|
+
- TypeScript: `module` / `moduleResolution` `NodeNext` or `Node16` with matching `type` field.
|
|
64
|
+
|
|
65
|
+
### CJS require
|
|
66
|
+
|
|
67
|
+
- Consumer `package.json` should use `"type": "commonjs"` (or `.cjs` entry files).
|
|
68
|
+
- Require: `const { inspectRun, step, maybeInspectRun } = require("agent-inspect")`.
|
|
69
|
+
- TypeScript: compile `.cts` with `module` / `moduleResolution` `Node16`.
|
|
70
|
+
|
|
71
|
+
**Note:** `chalk@5` and `nanoid@5` are ESM-only upstream. Published `agent-inspect` bundles them into CJS output so Jest 29 / `require()` consumers do not resolve ESM-only deps at runtime. If you still see `ERR_REQUIRE_ESM`, report Node version, bundler, and full stack trace.
|
|
72
|
+
|
|
73
|
+
### Jest / ts-jest (CJS)
|
|
74
|
+
|
|
75
|
+
- Prefer `require("agent-inspect")` in CJS test files, or ensure your Jest config supports the package's export conditions.
|
|
76
|
+
- For tracing off in unit tests: `maybeInspectRun(name, fn, { enabled: false })` or unset `AGENT_INSPECT`.
|
|
77
|
+
- Fixture pattern: [test/consumer-fixtures/jest-cjs/](../../test/consumer-fixtures/jest-cjs/).
|
|
78
|
+
- Full Jest runner smoke in CI is a documented follow-up — root package does not ship Jest as a devDependency.
|
|
79
|
+
|
|
80
|
+
### What to include in a bug report
|
|
81
|
+
|
|
82
|
+
- Node.js version (`node -v`)
|
|
83
|
+
- Package manager and lockfile type (npm / pnpm / yarn)
|
|
84
|
+
- ESM vs CJS vs TypeScript + ts-jest
|
|
85
|
+
- Minimal repro repo or snippet
|
|
86
|
+
- Full error stack (not only the top line)
|
|
87
|
+
- Whether `AGENT_INSPECT` is set in the environment
|
package/docs/LIMITATIONS.md
CHANGED
|
@@ -9,12 +9,24 @@ This document states what AgentInspect **does not** provide today. It complement
|
|
|
9
9
|
- **No vendor upload pipeline**: no built-in Langfuse/Braintrust/New Relic/Datadog direct exporters as live sinks.
|
|
10
10
|
- **No automatic universal instrumentation** of every framework: integration is explicit (manual traces, log ingest, optional adapters).
|
|
11
11
|
|
|
12
|
+
## Persisted event model (v1.2.0 foundation)
|
|
13
|
+
|
|
14
|
+
- **v0.2 is not the default persisted trace file format.** `inspectRun()` / `step()` still write `schemaVersion: "0.1"` JSONL.
|
|
15
|
+
- **CLI commands** (`list`, `view`, `export`, `diff`, `logs`, `tail`) still primarily operate on current v0.1 trace and log paths.
|
|
16
|
+
- **v0.2 read/write integration** (dual-format storage, CLI consumption) is future work — v1.2.0 ships in-memory converters and canonical fixtures only.
|
|
17
|
+
|
|
12
18
|
## Data fidelity
|
|
13
19
|
|
|
14
20
|
- **No full prompt/output capture by default** for manual traces (by design: safety and PII risk).
|
|
15
21
|
- **Log-derived runs** and **manual JSONL traces** may differ in fidelity (timestamps, nesting, confidence).
|
|
16
22
|
- **Confidence labels** qualify inferred relationships; they do not guarantee correctness.
|
|
17
23
|
|
|
24
|
+
## Trace safety bounds
|
|
25
|
+
|
|
26
|
+
- **Default metadata redaction** covers common sensitive keys only (exact key match, case-insensitive). Custom secret field names are not redacted unless you add rules via `redact: { rules: [...] }`.
|
|
27
|
+
- **Metadata truncation** applies to string values and nested structures; very large metadata may be replaced with a truncation marker when `maxEventBytes` is exceeded (default 64 KiB per JSONL line).
|
|
28
|
+
- **Redaction is not encryption.** Local trace files remain readable on disk; treat `.agent-inspect-runs/` like any developer artifact that may contain operational data.
|
|
29
|
+
|
|
18
30
|
## Execution semantics
|
|
19
31
|
|
|
20
32
|
- **No replay / fork** of past runs from traces alone.
|
|
@@ -29,4 +41,4 @@ This document states what AgentInspect **does not** provide today. It complement
|
|
|
29
41
|
|
|
30
42
|
- Designed for **developer machines** and **inner-loop debugging**, not petabyte log warehouses.
|
|
31
43
|
|
|
32
|
-
For roadmap intent, see
|
|
44
|
+
For roadmap intent, see [ROADMAP.md](../ROADMAP.md) (direction only — not a delivery guarantee).
|
|
@@ -50,5 +50,7 @@ Run req_123
|
|
|
50
50
|
See also:
|
|
51
51
|
- `docs/CLI.md` (`logs`, `tail`)
|
|
52
52
|
- `docs/LOGS.md`
|
|
53
|
+
- `docs/LOGGING-PLAYBOOK.md` (pino / log4js / NestJS examples + fixtures)
|
|
53
54
|
- `docs/SCHEMA.md` (log ingest config types + confidence)
|
|
55
|
+
- `examples/recipes/pino-json-logs/`, `log4js-json-layout/`, `nestjs-json-logging/`
|
|
54
56
|
|
package/docs/LOGS.md
CHANGED
|
@@ -4,8 +4,9 @@ AgentInspect can parse **existing logs** (line-delimited JSON, and best-effort l
|
|
|
4
4
|
|
|
5
5
|
- **CLI usage**: `docs/CLI.md` (`logs`, `tail`)
|
|
6
6
|
- **Quickstart**: `docs/LOG-TO-TREE-QUICKSTART.md`
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
7
|
+
- **Production-shaped playbook**: `docs/LOGGING-PLAYBOOK.md` (pino, log4js, NestJS recipes)
|
|
8
|
+
- **Field mapping and redaction**: `docs/API.md` (log ingest APIs) and `docs/SCHEMA.md`
|
|
9
|
+
- **Safety constraints**: JSON logs first-class; log4js best-effort; no `eval`; no JavaScript object-literal parsing as a log interchange format (see `SECURITY.md`)
|
|
9
10
|
|
|
10
11
|
Notes:
|
|
11
12
|
- Log parsing APIs are documented as **experimental** in `docs/API.md`.
|
package/docs/SCHEMA.md
CHANGED
|
@@ -131,6 +131,8 @@ Unknown status must **not** be treated as success.
|
|
|
131
131
|
- Runs may include `metadata` on `run_started`.
|
|
132
132
|
- Steps may include `metadata` on `step_started`.
|
|
133
133
|
- Manual traces intentionally avoid full prompt/output capture by default.
|
|
134
|
+
- **Redaction (default on):** before disk, `inspectRun` / `step` redact sensitive keys using the shared `Redactor` defaults (`authorization`, `cookie`, `token`, `apiKey`, `password`, `secret`, `email`). Opt out with `redact: false`.
|
|
135
|
+
- **Size bounds:** long string values are truncated (`maxMetadataValueLength`, default 2000; preview-like keys use `maxPreviewLength`, default 500). Serialized events are capped at `maxEventBytes` (default 65536 UTF-8 bytes). If still too large, `metadata` may be replaced with `{ truncated: true, reason: "maxEventBytes", originalApproxBytes: number }`. Required event fields are never removed.
|
|
134
136
|
|
|
135
137
|
## 7. Additive fields and unknown fields
|
|
136
138
|
|
|
@@ -186,14 +188,56 @@ Log-derived trees must remain honest:
|
|
|
186
188
|
|
|
187
189
|
## 13. Redaction considerations
|
|
188
190
|
|
|
189
|
-
Redaction is applied to log-derived attributes
|
|
191
|
+
Redaction is applied to **log-derived attributes**, **manual trace metadata (before disk, by default)**, and **exports by default**.
|
|
192
|
+
|
|
193
|
+
- Manual metadata redaction uses exact key matching (case-insensitive), not substring matching.
|
|
194
|
+
- `redact: false` is an explicit opt-out; use only when you accept local persistence of metadata as provided.
|
|
195
|
+
- Local trace files can still contain sensitive data if you use non-default key names or opt out of redaction.
|
|
190
196
|
|
|
191
197
|
Always review any exported content (Markdown/HTML/OpenInference/OTLP JSON) before sharing, especially if you enable richer attribute inclusion.
|
|
192
198
|
|
|
193
|
-
See: `docs
|
|
199
|
+
See: `SECURITY.md` and `docs/API.md` (`InspectRunOptions.redact`, size bound options).
|
|
200
|
+
|
|
201
|
+
## 14. Persisted InspectEvent schemaVersion "0.2" — experimental foundation
|
|
202
|
+
|
|
203
|
+
v1.2.0 introduces a **source-agnostic persisted event model** as an experimental foundation. It is **not** the default on-disk format.
|
|
204
|
+
|
|
205
|
+
| Topic | Rule |
|
|
206
|
+
| ----- | ---- |
|
|
207
|
+
| Default write format | Manual traces still use **`schemaVersion: "0.1"`** (`run_started`, `step_started`, `step_completed`, `run_completed`). |
|
|
208
|
+
| v0.2 role | Unified persisted shape for manual traces, log-derived events, adapter events, and future AI SDK / OTel mappings. |
|
|
209
|
+
| v0.2 file writing | **Not enabled by default** in v1.2.0 — converters and fixtures only. |
|
|
210
|
+
| v0.1 compatibility | v0.2 does **not** replace v0.1 in this release; existing `0.1` files remain canonical for CLI write/read today. |
|
|
211
|
+
| Failures | Still **no** `step_failed`; use `status: "error"` on the persisted event. |
|
|
212
|
+
|
|
213
|
+
Canonical samples: `fixtures/traces-v0.2/*.jsonl` (validated by `pnpm fixtures:check`).
|
|
214
|
+
|
|
215
|
+
### 14.1 Field reference (compact)
|
|
216
|
+
|
|
217
|
+
| Field | Required | Notes |
|
|
218
|
+
| ----- | -------- | ----- |
|
|
219
|
+
| `schemaVersion` | yes | `"0.2"` |
|
|
220
|
+
| `eventId` | yes | Stable per-event identifier |
|
|
221
|
+
| `runId` | yes | Run grouping key |
|
|
222
|
+
| `parentId` | no | Explicit nesting only when present |
|
|
223
|
+
| `kind` | yes | `InspectKind` (`RUN`, `LLM`, `TOOL`, `LOGIC`, …) |
|
|
224
|
+
| `name` | yes | Human-readable step label |
|
|
225
|
+
| `status` | no | `running` \| `ok` \| `error` \| `unknown` |
|
|
226
|
+
| `timestamp` | yes | ISO-8601 string (event time) |
|
|
227
|
+
| `startedAt` / `endedAt` | no | ISO-8601 bounds when known |
|
|
228
|
+
| `durationMs` | no | Non-negative milliseconds when known |
|
|
229
|
+
| `confidence` | yes | `explicit` \| `correlated` \| `heuristic` \| `unknown` |
|
|
230
|
+
| `source` | yes | `{ type, name?, version? }` — `manual`, `json-log`, `log4js`, `adapter`, `ai-sdk`, `otel` |
|
|
231
|
+
| `attributes` | no | Shallow metadata bag (redaction-ready) |
|
|
232
|
+
| `inputSummary` / `outputSummary` | no | Truncated previews when explicitly captured |
|
|
233
|
+
| `error` | no | `{ name?, message, code? }` when `status: "error"` |
|
|
234
|
+
| `tokenUsage` | no | `{ input?, output?, total? }` when known |
|
|
235
|
+
| `trace` | no | Optional `{ traceId?, spanId?, parentSpanId? }` for future OTel alignment |
|
|
236
|
+
|
|
237
|
+
Programmatic helpers: see [API.md](./API.md) §15 (experimental persisted-event foundation).
|
|
194
238
|
|
|
195
|
-
##
|
|
239
|
+
## 15. Migration notes
|
|
196
240
|
|
|
197
241
|
- Minor releases may add optional fields/events, but must keep existing v0.1 traces readable.
|
|
198
|
-
- Migration guides (v0.1 →
|
|
242
|
+
- Migration guides (v0.1 → v0.2 file format) are future work; storage/CLI dual-read is not in the v1.2.0 foundation release.
|
|
199
243
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-inspect",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Local-first execution-tree debugger for TypeScript AI agents",
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
"url": "https://github.com/rajudandigam/agent-inspect/issues"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://github.com/rajudandigam/agent-inspect#readme",
|
|
15
|
-
"packageManager": "pnpm@9.15.0",
|
|
16
15
|
"main": "./packages/core/dist/index.cjs",
|
|
17
16
|
"module": "./packages/core/dist/index.mjs",
|
|
18
17
|
"types": "./packages/core/dist/index.d.ts",
|
|
@@ -76,6 +75,16 @@
|
|
|
76
75
|
"nanoid": "^5.0.9",
|
|
77
76
|
"commander": "^12.1.0"
|
|
78
77
|
},
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"@changesets/cli": "^2.27.10",
|
|
80
|
+
"@size-limit/preset-small-lib": "^11.1.6",
|
|
81
|
+
"@types/node": "^22.10.2",
|
|
82
|
+
"@vitest/coverage-v8": "^2.1.8",
|
|
83
|
+
"size-limit": "^11.1.6",
|
|
84
|
+
"tsup": "^8.3.5",
|
|
85
|
+
"typescript": "^5.7.2",
|
|
86
|
+
"vitest": "^2.1.8"
|
|
87
|
+
},
|
|
79
88
|
"scripts": {
|
|
80
89
|
"clean": "pnpm -r exec -- rm -rf dist",
|
|
81
90
|
"build": "pnpm exec tsup --config tsup.core.config.ts && pnpm exec tsup --config tsup.cli.config.ts && pnpm exec tsup --config tsup.langchain.config.ts && pnpm exec tsup --config tsup.tui.config.ts",
|
|
@@ -86,25 +95,14 @@
|
|
|
86
95
|
"size": "size-limit --config size-limit.config.mjs",
|
|
87
96
|
"test:all": "pnpm run typecheck && pnpm run test && pnpm run build && pnpm run size",
|
|
88
97
|
"prepublish:checks": "pnpm run typecheck && pnpm run test && pnpm run test:coverage && pnpm run build && pnpm run fixtures:check && pnpm run recipes:check && pnpm run size && pnpm run pack:smoke",
|
|
89
|
-
"prepublishOnly": "pnpm run prepublish:checks",
|
|
90
|
-
"prepack": "pnpm run clean && pnpm run build",
|
|
91
98
|
"pack:dry-run": "pnpm run build && npm pack --dry-run",
|
|
92
99
|
"pack:smoke": "pnpm run build && node scripts/package-smoke.mjs",
|
|
100
|
+
"compat:smoke": "node scripts/compat-smoke.mjs",
|
|
93
101
|
"fixtures:check": "node scripts/validate-fixtures.mjs",
|
|
94
102
|
"recipes:check": "node scripts/validate-recipes.mjs",
|
|
95
103
|
"perf:baseline": "node scripts/performance-baseline.mjs",
|
|
96
104
|
"examples:check": "pnpm install && pnpm --filter agent-inspect-example-01-basic run start",
|
|
97
105
|
"changeset": "changeset",
|
|
98
106
|
"release": "changeset publish"
|
|
99
|
-
},
|
|
100
|
-
"devDependencies": {
|
|
101
|
-
"@changesets/cli": "^2.27.10",
|
|
102
|
-
"@size-limit/preset-small-lib": "^11.1.6",
|
|
103
|
-
"@types/node": "^22.10.2",
|
|
104
|
-
"@vitest/coverage-v8": "^2.1.8",
|
|
105
|
-
"size-limit": "^11.1.6",
|
|
106
|
-
"tsup": "^8.3.5",
|
|
107
|
-
"typescript": "^5.7.2",
|
|
108
|
-
"vitest": "^2.1.8"
|
|
109
107
|
}
|
|
110
|
-
}
|
|
108
|
+
}
|