@ytspar/sweetlink 1.13.0 → 1.14.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 +91 -12
- package/claude-skills/screenshot/SKILL.md +121 -20
- package/dist/cli/outputSchemas.d.ts +16 -0
- package/dist/cli/outputSchemas.d.ts.map +1 -1
- package/dist/cli/outputSchemas.js +33 -0
- package/dist/cli/outputSchemas.js.map +1 -1
- package/dist/cli/sweetlink-dev.js +0 -0
- package/dist/cli/sweetlink.js +347 -11
- package/dist/cli/sweetlink.js.map +1 -1
- package/dist/daemon/browser.d.ts +51 -0
- package/dist/daemon/browser.d.ts.map +1 -0
- package/dist/daemon/browser.js +153 -0
- package/dist/daemon/browser.js.map +1 -0
- package/dist/daemon/client.d.ts +32 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +133 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/cursor.d.ts +15 -0
- package/dist/daemon/cursor.d.ts.map +1 -0
- package/dist/daemon/cursor.js +76 -0
- package/dist/daemon/cursor.js.map +1 -0
- package/dist/daemon/devices.d.ts +39 -0
- package/dist/daemon/devices.d.ts.map +1 -0
- package/dist/daemon/devices.js +101 -0
- package/dist/daemon/devices.js.map +1 -0
- package/dist/daemon/diff.d.ts +20 -0
- package/dist/daemon/diff.d.ts.map +1 -0
- package/dist/daemon/diff.js +181 -0
- package/dist/daemon/diff.js.map +1 -0
- package/dist/daemon/evidence.d.ts +29 -0
- package/dist/daemon/evidence.d.ts.map +1 -0
- package/dist/daemon/evidence.js +130 -0
- package/dist/daemon/evidence.js.map +1 -0
- package/dist/daemon/index.d.ts +10 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +90 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/listeners.d.ts +55 -0
- package/dist/daemon/listeners.d.ts.map +1 -0
- package/dist/daemon/listeners.js +129 -0
- package/dist/daemon/listeners.js.map +1 -0
- package/dist/daemon/recording.d.ts +44 -0
- package/dist/daemon/recording.d.ts.map +1 -0
- package/dist/daemon/recording.js +133 -0
- package/dist/daemon/recording.js.map +1 -0
- package/dist/daemon/refs.d.ts +70 -0
- package/dist/daemon/refs.d.ts.map +1 -0
- package/dist/daemon/refs.js +185 -0
- package/dist/daemon/refs.js.map +1 -0
- package/dist/daemon/ringBuffer.d.ts +26 -0
- package/dist/daemon/ringBuffer.d.ts.map +1 -0
- package/dist/daemon/ringBuffer.js +54 -0
- package/dist/daemon/ringBuffer.js.map +1 -0
- package/dist/daemon/server.d.ts +23 -0
- package/dist/daemon/server.d.ts.map +1 -0
- package/dist/daemon/server.js +508 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/daemon/session.d.ts +41 -0
- package/dist/daemon/session.d.ts.map +1 -0
- package/dist/daemon/session.js +8 -0
- package/dist/daemon/session.js.map +1 -0
- package/dist/daemon/stateFile.d.ts +49 -0
- package/dist/daemon/stateFile.d.ts.map +1 -0
- package/dist/daemon/stateFile.js +162 -0
- package/dist/daemon/stateFile.js.map +1 -0
- package/dist/daemon/types.d.ts +72 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +28 -0
- package/dist/daemon/types.js.map +1 -0
- package/dist/daemon/viewer.d.ts +33 -0
- package/dist/daemon/viewer.d.ts.map +1 -0
- package/dist/daemon/viewer.js +226 -0
- package/dist/daemon/viewer.js.map +1 -0
- package/dist/daemon/visualDiff.d.ts +34 -0
- package/dist/daemon/visualDiff.d.ts.map +1 -0
- package/dist/daemon/visualDiff.js +80 -0
- package/dist/daemon/visualDiff.js.map +1 -0
- package/package.json +20 -12
package/README.md
CHANGED
|
@@ -24,6 +24,12 @@ Sweetlink enables Claude AI agents to autonomously debug, test, and iterate on w
|
|
|
24
24
|
- **🎯 Token Efficient** - ~1000 tokens/screenshot vs ~5000 for MCP tools
|
|
25
25
|
- **📝 LLM-Optimized Output** - Summary format with deduplication for context efficiency
|
|
26
26
|
- **🚀 Zero Setup** - Works immediately with any web app
|
|
27
|
+
- **🖥️ Persistent Daemon** - Playwright daemon stays alive between commands (~150ms screenshots)
|
|
28
|
+
- **🏷️ @Ref System** - Accessibility tree refs for click/fill without CSS selectors
|
|
29
|
+
- **📊 Ring Buffers** - Always-on console/network/dialog capture (50K entries)
|
|
30
|
+
- **🎬 Session Recording** - Record actions with screenshots, generate interactive viewer
|
|
31
|
+
- **🔍 Snapshot Diffing** - Text diff of accessibility tree after actions
|
|
32
|
+
- **📱 Device Emulation** - Named presets (iPhone 14, Pixel 7, iPad Pro) for batch screenshots
|
|
27
33
|
|
|
28
34
|
## Screenshot Button
|
|
29
35
|
|
|
@@ -86,22 +92,30 @@ That's it! The plugin automatically:
|
|
|
86
92
|
- Detects Vite's port and configures everything
|
|
87
93
|
- DevBar connects automatically
|
|
88
94
|
|
|
89
|
-
### For Next.js
|
|
95
|
+
### For Next.js (Recommended)
|
|
90
96
|
|
|
91
|
-
|
|
97
|
+
Wrap your Next.js config - zero configuration needed:
|
|
92
98
|
|
|
93
|
-
```
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
99
|
+
```javascript
|
|
100
|
+
// next.config.mjs
|
|
101
|
+
import { withSweetlink } from '@ytspar/sweetlink/next';
|
|
102
|
+
|
|
103
|
+
const nextConfig = { /* your config */ };
|
|
104
|
+
export default withSweetlink(nextConfig);
|
|
102
105
|
```
|
|
103
106
|
|
|
104
|
-
|
|
107
|
+
That's it! The plugin automatically:
|
|
108
|
+
- Detects the port from `--port` argv (e.g., `next dev --port 3002`)
|
|
109
|
+
- Falls back to `process.env.PORT`, then `3000`
|
|
110
|
+
- Starts the WebSocket server on `appPort + 6223`
|
|
111
|
+
- No-ops in production
|
|
112
|
+
|
|
113
|
+
Works with other wrappers too:
|
|
114
|
+
|
|
115
|
+
```javascript
|
|
116
|
+
// With Sentry, MDX, etc.
|
|
117
|
+
export default withSentryConfig(withSweetlink(withMDX(nextConfig)), sentryOptions);
|
|
118
|
+
```
|
|
105
119
|
|
|
106
120
|
### For Any Node.js App (Express, Remix, etc.)
|
|
107
121
|
|
|
@@ -302,6 +316,71 @@ pnpm sweetlink network
|
|
|
302
316
|
pnpm sweetlink network --filter "/api/"
|
|
303
317
|
```
|
|
304
318
|
|
|
319
|
+
### Persistent Daemon (v2)
|
|
320
|
+
|
|
321
|
+
Sweetlink v2 adds a persistent Playwright daemon for high-fidelity operations. The daemon auto-starts on first use and auto-stops after 30min idle.
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# Pixel-perfect screenshot via persistent daemon (~150ms after startup)
|
|
325
|
+
pnpm sweetlink screenshot --hifi
|
|
326
|
+
|
|
327
|
+
# Responsive screenshots at 3 breakpoints (375/768/1280)
|
|
328
|
+
pnpm sweetlink screenshot --responsive
|
|
329
|
+
|
|
330
|
+
# Manage daemon lifecycle
|
|
331
|
+
pnpm sweetlink daemon status
|
|
332
|
+
pnpm sweetlink daemon stop
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Accessibility Snapshots & Refs
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# List interactive elements with @refs
|
|
339
|
+
pnpm sweetlink snapshot -i
|
|
340
|
+
# @e1 [link] "Home"
|
|
341
|
+
# @e2 [button] "Submit"
|
|
342
|
+
# @e3 [textbox] "Email"
|
|
343
|
+
|
|
344
|
+
# Click/fill by ref (no CSS selector needed)
|
|
345
|
+
pnpm sweetlink click @e2
|
|
346
|
+
pnpm sweetlink fill @e3 "user@example.com"
|
|
347
|
+
|
|
348
|
+
# Diff against previous snapshot
|
|
349
|
+
pnpm sweetlink snapshot -D
|
|
350
|
+
|
|
351
|
+
# Annotated screenshot with red ref labels
|
|
352
|
+
pnpm sweetlink snapshot -a -o annotated.png
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Console & Network (Ring Buffers)
|
|
356
|
+
|
|
357
|
+
Always-on capture from daemon start — no "start watching" needed.
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
# Console messages (captured since daemon start)
|
|
361
|
+
pnpm sweetlink console
|
|
362
|
+
pnpm sweetlink console --errors
|
|
363
|
+
pnpm sweetlink console --last 20
|
|
364
|
+
|
|
365
|
+
# Failed network requests
|
|
366
|
+
pnpm sweetlink network --failed
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Session Recording
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
pnpm sweetlink record start
|
|
373
|
+
# ... do actions (click, fill, snapshot) ...
|
|
374
|
+
pnpm sweetlink record stop
|
|
375
|
+
# Generates .sweetlink/<session-id>/viewer.html
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### PR Evidence
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
pnpm sweetlink proof --pr 123
|
|
382
|
+
```
|
|
383
|
+
|
|
305
384
|
## Chrome DevTools Protocol (CDP) Setup
|
|
306
385
|
|
|
307
386
|
For native Chrome rendering and network inspection:
|
|
@@ -17,12 +17,17 @@ Sweetlink (`@ytspar/sweetlink`) is a WebSocket-based bridge that enables Claude
|
|
|
17
17
|
### Architecture
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
CLI (pnpm sweetlink)
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
CLI (pnpm sweetlink)
|
|
21
|
+
|
|
|
22
|
+
├─ Fast path (WebSocket) ──> Browser (SweetlinkBridge) ──> html2canvas
|
|
23
|
+
| screenshot, logs, exec, query, click, refresh
|
|
24
|
+
|
|
|
25
|
+
└─ HiFi path (HTTP) ──> Daemon (persistent Playwright) ──> Headless Chromium
|
|
26
|
+
screenshot --hifi, --responsive, snapshot, click @ref, fill @ref,
|
|
27
|
+
console, network --failed, record, proof
|
|
23
28
|
```
|
|
24
29
|
|
|
25
|
-
|
|
30
|
+
The daemon auto-starts on first `--hifi`/`snapshot` command and auto-stops after 30min idle. State file at `.sweetlink/daemon.json`.
|
|
26
31
|
|
|
27
32
|
### Prerequisites
|
|
28
33
|
|
|
@@ -122,17 +127,49 @@ Need screenshot or browser interaction?
|
|
|
122
127
|
--> Use Agent-Browser (better for sequential multi-step flows)
|
|
123
128
|
```
|
|
124
129
|
|
|
130
|
+
### Sweetlink v2 Daemon — Persistent Browser (Preferred for Multi-Step)
|
|
131
|
+
|
|
132
|
+
Sweetlink v2 adds a persistent Playwright daemon that keeps a browser alive between commands, solving the statefulness problem. **Use daemon mode for multi-step workflows instead of Agent-Browser.**
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Pixel-perfect screenshot via persistent daemon (~150ms)
|
|
136
|
+
pnpm sweetlink screenshot --hifi --url http://localhost:3000 --output .tmp/screenshots/page.png
|
|
137
|
+
|
|
138
|
+
# Responsive screenshots at 3 breakpoints
|
|
139
|
+
pnpm sweetlink screenshot --responsive --url http://localhost:3000
|
|
140
|
+
|
|
141
|
+
# Get interactive element refs
|
|
142
|
+
pnpm sweetlink snapshot -i --url http://localhost:3000
|
|
143
|
+
|
|
144
|
+
# Click/fill by ref (stateful — same browser session!)
|
|
145
|
+
pnpm sweetlink click @e3
|
|
146
|
+
pnpm sweetlink fill @e5 "test@example.com"
|
|
147
|
+
|
|
148
|
+
# Take screenshot after interaction (same browser, state preserved)
|
|
149
|
+
pnpm sweetlink screenshot --hifi --output .tmp/screenshots/after-click.png
|
|
150
|
+
|
|
151
|
+
# Check console errors (ring buffer — captured since daemon start)
|
|
152
|
+
pnpm sweetlink console --errors
|
|
153
|
+
|
|
154
|
+
# Diff accessibility tree after actions
|
|
155
|
+
pnpm sweetlink snapshot -D
|
|
156
|
+
|
|
157
|
+
# Annotated screenshot with ref labels
|
|
158
|
+
pnpm sweetlink snapshot -a -o .tmp/screenshots/annotated.png
|
|
159
|
+
|
|
160
|
+
# Stop daemon when done (or it auto-stops after 30min idle)
|
|
161
|
+
pnpm sweetlink daemon stop
|
|
162
|
+
```
|
|
163
|
+
|
|
125
164
|
### Known Sweetlink Limitations — Use Agent-Browser Instead
|
|
126
165
|
|
|
127
|
-
|
|
166
|
+
With the v2 daemon, most statefulness issues are resolved. These remain:
|
|
128
167
|
|
|
129
168
|
| Scenario | Why Sweetlink fails | Agent-Browser approach |
|
|
130
169
|
|----------|--------------------|-----------------------|
|
|
131
|
-
| **
|
|
132
|
-
| **
|
|
133
|
-
| **
|
|
134
|
-
| **Custom viewport dimensions** (not `mobile`/`tablet` presets) | `--viewport` only supports named presets | `agent-browser open --viewport 1600x900` or use Sweetlink `--force-cdp` with preset |
|
|
135
|
-
| **Verifying SVG content** (colors, icons, shapes) | html2canvas does not render SVG elements — they appear blank/missing. Fine for layout checks where SVG content doesn't matter, but wrong when the SVGs themselves are what you're verifying (e.g., icon colors, logo accuracy) | Use Sweetlink with `--force-cdp`, or `agent-browser open` -> `screenshot` |
|
|
170
|
+
| **Verifying SVG content** (colors, icons, shapes) | html2canvas (fast path) does not render SVG elements — use `--hifi` or `--force-cdp` instead | Use Sweetlink with `--hifi`, or `agent-browser open` -> `screenshot` |
|
|
171
|
+
| **Non-dev-server URLs** | Sweetlink requires the app to have the bridge installed | `agent-browser open` any URL |
|
|
172
|
+
| **AI-powered element selection** | Sweetlink uses CSS selectors or @refs | Agent-Browser has Stagehand AI selection |
|
|
136
173
|
|
|
137
174
|
> **Self-updating rule:** When you encounter a NEW Sweetlink failure mode not listed above — i.e., you try Sweetlink, it fails or produces incorrect results for a reason that would apply generally (not a transient network/server issue) — you MUST append a new row to this table before continuing with the Agent-Browser fallback. This keeps the list exhaustive and prevents future sessions from repeating the same mistake.
|
|
138
175
|
|
|
@@ -159,6 +196,8 @@ All commands use `pnpm sweetlink <command> [options]`.
|
|
|
159
196
|
| `--viewport <size>` | Emulate viewport: `mobile`, `tablet` (requires `--force-cdp`) |
|
|
160
197
|
| `--hover` | Capture hover state (requires `--selector`) |
|
|
161
198
|
| `--force-cdp` | Force Chrome DevTools Protocol method (higher quality, more tokens) |
|
|
199
|
+
| `--hifi` | Pixel-perfect via persistent Playwright daemon (~150ms after startup) |
|
|
200
|
+
| `--responsive` | Screenshots at 3 breakpoints (375/768/1280px) via daemon |
|
|
162
201
|
|
|
163
202
|
```bash
|
|
164
203
|
pnpm sweetlink screenshot --output .tmp/screenshots/full.png
|
|
@@ -246,6 +285,68 @@ pnpm sweetlink network # All requests
|
|
|
246
285
|
pnpm sweetlink network --filter "/api/" # Filter by URL pattern
|
|
247
286
|
```
|
|
248
287
|
|
|
288
|
+
### snapshot — Accessibility tree with @refs (daemon)
|
|
289
|
+
|
|
290
|
+
| Option | Description |
|
|
291
|
+
|--------|-------------|
|
|
292
|
+
| `-i`, `--interactive` | Show only interactive elements with @e refs |
|
|
293
|
+
| `-D`, `--diff` | Diff against previous snapshot |
|
|
294
|
+
| `-a`, `--annotate` | Annotated screenshot with ref labels |
|
|
295
|
+
| `-o <path>` | Output path for annotated screenshot |
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
pnpm sweetlink snapshot -i --url http://localhost:3000
|
|
299
|
+
pnpm sweetlink snapshot -D
|
|
300
|
+
pnpm sweetlink snapshot -a -o .tmp/screenshots/annotated.png
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### click — Click elements (supports @refs)
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
pnpm sweetlink click @e3 # Click by ref (daemon)
|
|
307
|
+
pnpm sweetlink click --selector "button.submit" # Click by CSS selector (WS)
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### fill — Fill inputs by @ref (daemon)
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
pnpm sweetlink fill @e5 "user@example.com"
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### console — Console messages from ring buffer (daemon)
|
|
317
|
+
|
|
318
|
+
| Option | Description |
|
|
319
|
+
|--------|-------------|
|
|
320
|
+
| `--errors` | Show only errors |
|
|
321
|
+
| `--last <n>` | Show only last N entries |
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
pnpm sweetlink console --errors
|
|
325
|
+
pnpm sweetlink console --last 20
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### network --failed — Failed requests from ring buffer (daemon)
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
pnpm sweetlink network --failed
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### record — Session recording (daemon)
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
pnpm sweetlink record start
|
|
338
|
+
pnpm sweetlink record stop # Generates viewer.html
|
|
339
|
+
pnpm sweetlink record status
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### daemon — Daemon lifecycle
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
pnpm sweetlink daemon status
|
|
346
|
+
pnpm sweetlink daemon start --url http://localhost:3000
|
|
347
|
+
pnpm sweetlink daemon stop
|
|
348
|
+
```
|
|
349
|
+
|
|
249
350
|
## Agent-Browser Commands
|
|
250
351
|
|
|
251
352
|
### Basic Usage
|
|
@@ -336,18 +437,18 @@ pnpm sweetlink screenshot --selector ".fixed-component" --output .tmp/screenshot
|
|
|
336
437
|
|
|
337
438
|
| Scenario | Tool | Notes |
|
|
338
439
|
|----------|------|-------|
|
|
339
|
-
| Screenshot of dev server page | Sweetlink (`--url`) |
|
|
340
|
-
|
|
|
341
|
-
|
|
|
440
|
+
| Screenshot of dev server page | Sweetlink (`--url`) | Fast path, preferred |
|
|
441
|
+
| Pixel-perfect screenshot | Sweetlink (`--hifi`) | Persistent daemon, ~150ms |
|
|
442
|
+
| Responsive screenshots | Sweetlink (`--responsive`) | 3 breakpoints via daemon |
|
|
443
|
+
| Click then screenshot same page | Sweetlink daemon (`click @ref` + `screenshot --hifi`) | Daemon preserves state |
|
|
444
|
+
| Multi-step form interactions | Sweetlink daemon (`snapshot -i` + `fill @ref` + `click @ref`) | Refs make this easy |
|
|
445
|
+
| Check console logs | Sweetlink (`console --errors`) | Ring buffer, always-on |
|
|
342
446
|
| DOM queries | Sweetlink (`query`) | |
|
|
343
|
-
| Click then screenshot same page | **Agent-Browser** | Sweetlink can't guarantee state between commands |
|
|
344
447
|
| Navigate to specific page | Sweetlink (`--url` flag) | |
|
|
345
|
-
| Verifying SVG content (icons, colors) | Sweetlink (`--
|
|
346
|
-
| Viewport testing (mobile/tablet) | Sweetlink (`--
|
|
347
|
-
|
|
|
348
|
-
|
|
|
349
|
-
| Complex multi-step form flows | Agent-Browser | |
|
|
350
|
-
| Sequential type + submit + wait | Agent-Browser | |
|
|
448
|
+
| Verifying SVG content (icons, colors) | Sweetlink (`--hifi`) | Daemon renders SVGs correctly |
|
|
449
|
+
| Viewport testing (mobile/tablet) | Sweetlink (`--responsive` or `--hifi --viewport`) | |
|
|
450
|
+
| Non-dev-server URL | Agent-Browser | Sweetlink requires bridge |
|
|
451
|
+
| AI-powered element selection | Agent-Browser | Stagehand AI |
|
|
351
452
|
|
|
352
453
|
## Troubleshooting
|
|
353
454
|
|
|
@@ -89,6 +89,22 @@ export interface StatusData {
|
|
|
89
89
|
running: boolean;
|
|
90
90
|
statusCode?: number;
|
|
91
91
|
}
|
|
92
|
+
export interface DaemonStatusData {
|
|
93
|
+
running: boolean;
|
|
94
|
+
pid?: number;
|
|
95
|
+
port?: number;
|
|
96
|
+
url?: string;
|
|
97
|
+
uptime?: number;
|
|
98
|
+
}
|
|
99
|
+
export interface SnapshotData {
|
|
100
|
+
tree: string;
|
|
101
|
+
refs?: Array<{
|
|
102
|
+
ref: string;
|
|
103
|
+
role: string;
|
|
104
|
+
name: string;
|
|
105
|
+
}>;
|
|
106
|
+
diff?: string;
|
|
107
|
+
}
|
|
92
108
|
export declare const SCHEMAS: Record<string, string>;
|
|
93
109
|
/**
|
|
94
110
|
* Write a JSON envelope to stdout. Used in --json mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputSchemas.d.ts","sourceRoot":"","sources":["../../src/cli/outputSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACnF,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"outputSchemas.d.ts","sourceRoot":"","sources":["../../src/cli/outputSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,39 @@ export const SCHEMAS = {
|
|
|
88
88
|
url: string;
|
|
89
89
|
running: boolean;
|
|
90
90
|
statusCode?: number;
|
|
91
|
+
}`,
|
|
92
|
+
daemon: `interface DaemonStatusData {
|
|
93
|
+
running: boolean;
|
|
94
|
+
pid?: number;
|
|
95
|
+
port?: number;
|
|
96
|
+
url?: string;
|
|
97
|
+
uptime?: number;
|
|
98
|
+
}`,
|
|
99
|
+
snapshot: `interface SnapshotData {
|
|
100
|
+
tree: string;
|
|
101
|
+
refs?: Array<{ ref: string; role: string; name: string }>;
|
|
102
|
+
diff?: string;
|
|
103
|
+
}`,
|
|
104
|
+
console: `interface ConsoleData {
|
|
105
|
+
formatted: string;
|
|
106
|
+
total: number;
|
|
107
|
+
errorCount: number;
|
|
108
|
+
warningCount: number;
|
|
109
|
+
entries: unknown[];
|
|
110
|
+
}`,
|
|
111
|
+
fill: `interface FillData {
|
|
112
|
+
filled: string;
|
|
113
|
+
value: string;
|
|
114
|
+
}`,
|
|
115
|
+
proof: `interface ProofData {
|
|
116
|
+
commentUrl: string;
|
|
117
|
+
}`,
|
|
118
|
+
record: `interface RecordData {
|
|
119
|
+
recording: boolean;
|
|
120
|
+
sessionId?: string;
|
|
121
|
+
duration?: number;
|
|
122
|
+
actionCount?: number;
|
|
123
|
+
manifest?: unknown;
|
|
91
124
|
}`,
|
|
92
125
|
};
|
|
93
126
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputSchemas.js","sourceRoot":"","sources":["../../src/cli/outputSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"outputSchemas.js","sourceRoot":"","sources":["../../src/cli/outputSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyHH,+EAA+E;AAC/E,+CAA+C;AAC/C,+EAA+E;AAE/E,MAAM,eAAe,GAAG;;;;;;EAMtB,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,UAAU,EAAE;;;;;;EAMZ;IAEA,KAAK,EAAE;;;;EAIP;IAEA,IAAI,EAAE;;;;;;EAMN;IAEA,IAAI,EAAE;;EAEN;IAEA,KAAK,EAAE;;;;EAIP;IAEA,OAAO,EAAE;;EAET;IAEA,KAAK,EAAE;;;;;EAKP;IAEA,OAAO,EAAE;;;EAGT;IAEA,MAAM,EAAE;;;;EAIR;IAEA,OAAO,EAAE;;;;EAIT;IAEA,IAAI,EAAE;;;;EAIN;IAEA,MAAM,EAAE;;;EAGR;IAEA,OAAO,EAAE;;;;EAIT;IAEA,IAAI,EAAE;;;;EAIN;IAEA,MAAM,EAAE;;;;EAIR;IAEA,MAAM,EAAE;;;;;;EAMR;IAEA,QAAQ,EAAE;;;;EAIV;IAEA,OAAO,EAAE;;;;;;EAMT;IAEA,IAAI,EAAE;;;EAGN;IAEA,KAAK,EAAE;;EAEP;IAEA,MAAM,EAAE;;;;;;EAMR;CACD,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAsB;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
File without changes
|