@krishnadobhal/rewind-ui 0.1.0 → 0.1.1
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 +75 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# @krishnadobhal/rewind-ui
|
|
2
|
+
|
|
3
|
+
The built [Rewind](https://github.com/krishnadobhal/Rewind) trace viewer, as static assets
|
|
4
|
+
you mount into a server you already run.
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
npm install @krishnadobhal/rewind-ui
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## This package ships assets, not a process
|
|
11
|
+
|
|
12
|
+
It starts nothing and has **zero runtime dependencies** — React, the icons and the fonts
|
|
13
|
+
are already in the bundle. It exports one thing: where the files are.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { createIngestServer } from '@krishnadobhal/rewind-server/ingest';
|
|
17
|
+
import { fileIngestStore } from '@krishnadobhal/rewind-server/files';
|
|
18
|
+
import { staticPath } from '@krishnadobhal/rewind-ui';
|
|
19
|
+
|
|
20
|
+
createIngestServer({ store: fileIngestStore('.rewind'), ui: staticPath }).listen(4000);
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Open <http://localhost:4000>. That is the whole integration.
|
|
24
|
+
|
|
25
|
+
The viewer reads the same `/v1` routes the SDK writes to, so serving it from the same
|
|
26
|
+
origin as that API means **no proxy, no CORS, and one process on one port**. A viewer that
|
|
27
|
+
shipped its own server would have to solve all three and gain nothing for it.
|
|
28
|
+
|
|
29
|
+
`staticPath` is an absolute path to a directory. Any static handler can serve it —
|
|
30
|
+
`express.static(staticPath)`, a Fastify or Koa static plugin, or a CDN you sync it to.
|
|
31
|
+
Route `/v1` to your ingest server and give the viewer everything else, serving
|
|
32
|
+
`index.html` for unmatched paths since it is a single page holding its own state.
|
|
33
|
+
|
|
34
|
+
## What you get
|
|
35
|
+
|
|
36
|
+
**Run list** — every recorded run with step count, tokens, cost, latency and tier
|
|
37
|
+
breakdown. `partial` runs are flagged rather than blended in, because a run that dropped
|
|
38
|
+
events is not a complete account of what happened.
|
|
39
|
+
|
|
40
|
+
**Step timeline** — each boundary the agent crossed, in order, by node and kind, with the
|
|
41
|
+
hash that identifies it.
|
|
42
|
+
|
|
43
|
+
**Request vs. response** — the fully-resolved request beside what came back, in a
|
|
44
|
+
collapsible JSON tree. Redaction tokens are marked as removals rather than rendered as
|
|
45
|
+
ordinary strings, so you can tell "the redactor took this" from "the model said this".
|
|
46
|
+
|
|
47
|
+
**Two runs compared** — aligned by sequence, with the first differing step called out.
|
|
48
|
+
Everything above it is identical by hash, so that step is the finding.
|
|
49
|
+
|
|
50
|
+
**The same call elsewhere** — given a step, the other runs that made the identical request
|
|
51
|
+
(by hash), or failing that the same node asking something different. This is how you see
|
|
52
|
+
whether a bad output is a one-off or a pattern.
|
|
53
|
+
|
|
54
|
+
Dark, dense and monospaced: it is a debugging surface, not a dashboard.
|
|
55
|
+
|
|
56
|
+
## Requirements
|
|
57
|
+
|
|
58
|
+
The server side needs Node 22.6+ and ESM to import `staticPath`. The bundle itself is
|
|
59
|
+
plain static files and needs nothing.
|
|
60
|
+
|
|
61
|
+
## Building it yourself
|
|
62
|
+
|
|
63
|
+
The published `dist/` is produced by Vite from the sources in the
|
|
64
|
+
[repository](https://github.com/krishnadobhal/Rewind/tree/main/packages/ui). For local
|
|
65
|
+
development against a running ingest server:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pnpm -F @krishnadobhal/rewind-ui dev # Vite on 4100, proxying /v1 to REWIND_SERVER
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The dev proxy exists only in development, where there is no build to mount.
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
Apache-2.0
|