playhead-cli 0.1.2 → 0.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/Dockerfile +9 -6
- package/README.md +43 -7
- package/action.yml +56 -2
- package/dist/audio/mux.d.ts +2 -0
- package/dist/audio/mux.d.ts.map +1 -1
- package/dist/authoring/author.d.ts +8 -2
- package/dist/authoring/author.d.ts.map +1 -1
- package/dist/authoring/catalog.d.ts.map +1 -1
- package/dist/authoring/explore.d.ts.map +1 -1
- package/dist/authoring/validate.d.ts.map +1 -1
- package/dist/bundle/types.d.ts +2 -0
- package/dist/bundle/types.d.ts.map +1 -1
- package/dist/bundle/writer.d.ts +6 -1
- package/dist/bundle/writer.d.ts.map +1 -1
- package/dist/capture/driver-api.d.ts +14 -1
- package/dist/capture/driver-api.d.ts.map +1 -1
- package/dist/capture/events.d.ts +1 -1
- package/dist/capture/events.d.ts.map +1 -1
- package/dist/capture/executor.d.ts.map +1 -1
- package/dist/capture/playwright-driver.d.ts +22 -2
- package/dist/capture/playwright-driver.d.ts.map +1 -1
- package/dist/cli/index.js +2791 -59343
- package/dist/cli/index.js.map +1 -1
- package/dist/compose/camera/interpolate.d.ts +16 -3
- package/dist/compose/camera/interpolate.d.ts.map +1 -1
- package/dist/compose/camera/planner.d.ts.map +1 -1
- package/dist/compose/captions.d.ts.map +1 -1
- package/dist/compose/index.d.ts.map +1 -1
- package/dist/compose/overlays/build.d.ts.map +1 -1
- package/dist/compose/overlays/draw.d.ts.map +1 -1
- package/dist/compose/render/encoder.d.ts.map +1 -1
- package/dist/compose/render/frameStore.d.ts.map +1 -1
- package/dist/compose/render/renderer.d.ts.map +1 -1
- package/dist/compose/timeline/pacing.d.ts +4 -0
- package/dist/compose/timeline/pacing.d.ts.map +1 -1
- package/dist/compose/types.d.ts +14 -3
- package/dist/compose/types.d.ts.map +1 -1
- package/dist/index.js +1958 -59058
- package/dist/index.js.map +1 -1
- package/dist/mcp/bin.js +2550 -59450
- package/dist/mcp/bin.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/shared/version.d.ts +0 -2
- package/dist/shared/version.d.ts.map +1 -1
- package/dist/spec/locators.d.ts.map +1 -1
- package/dist/spec/parse.d.ts.map +1 -1
- package/dist/spec/schema.d.ts +263 -2
- package/dist/spec/schema.d.ts.map +1 -1
- package/dist/verify/checks.d.ts.map +1 -1
- package/dist/verify/report.d.ts +33 -6
- package/dist/verify/report.d.ts.map +1 -1
- package/dist/verify/runner.d.ts +1 -1
- package/dist/verify/runner.d.ts.map +1 -1
- package/dist/verify/types.d.ts +36 -4
- package/dist/verify/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/onnxruntime_binding-5QEF3SUC.node +0 -0
- package/dist/onnxruntime_binding-BKPKNEGC.node +0 -0
- package/dist/onnxruntime_binding-FMOXGIUT.node +0 -0
- package/dist/onnxruntime_binding-OI2KMXC5.node +0 -0
- package/dist/onnxruntime_binding-UX44MLAZ.node +0 -0
- package/dist/onnxruntime_binding-Y2W7N7WY.node +0 -0
package/Dockerfile
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Playhead in a container: capture + compose + verify with no host dependencies.
|
|
2
2
|
# The Playwright base image ships Chromium, its sandbox deps, and system fonts.
|
|
3
|
+
# IMPORTANT: keep this tag aligned with the playwright version in package.json — mismatched
|
|
4
|
+
# pins mean the preinstalled browsers don't match the library and ~1GB of dead weight.
|
|
3
5
|
#
|
|
4
6
|
# docker build -t playhead .
|
|
5
7
|
# docker run --rm -v "$PWD:/work" -w /work --shm-size=1g playhead \
|
|
@@ -7,15 +9,16 @@
|
|
|
7
9
|
#
|
|
8
10
|
# Notes:
|
|
9
11
|
# - --shm-size=1g (or --disable-dev-shm-usage) keeps Chromium from OOMing in /dev/shm.
|
|
10
|
-
# -
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
|
|
12
|
+
# - Narration: `provider: kokoro` works on Linux — add kokoro-js to the image
|
|
13
|
+
# (`RUN npm i -g kokoro-js`) or mount a project that has it; `provider: say` is macOS-only
|
|
14
|
+
# and degrades to a FAILING audio check.
|
|
15
|
+
# - ffmpeg/ffprobe come from the npm static binaries. Their INSTALL SCRIPTS download the
|
|
16
|
+
# binaries — never `--ignore-scripts` here (that shipped an image with no ffmpeg).
|
|
17
|
+
FROM mcr.microsoft.com/playwright:v1.62.1-noble
|
|
14
18
|
|
|
15
19
|
WORKDIR /app
|
|
16
20
|
COPY package.json package-lock.json ./
|
|
17
|
-
RUN npm ci --omit=dev
|
|
18
|
-
&& npx playwright install chromium
|
|
21
|
+
RUN npm ci --omit=dev
|
|
19
22
|
|
|
20
23
|
COPY dist ./dist
|
|
21
24
|
COPY demo ./demo
|
package/README.md
CHANGED
|
@@ -13,7 +13,28 @@ Change the spec or the product, regenerate in minutes. **Re-render, don't re-rec
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g playhead-cli
|
|
20
|
+
npx playwright install chromium # one-time browser download — nothing works without it
|
|
21
|
+
playhead doctor # confirms ffmpeg, browser, and fonts are ready
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then point it at your running app and make your first video:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
playhead explore http://localhost:3000 # every addressable element, as ready-to-paste locators
|
|
28
|
+
playhead init demo.yaml # scaffold a spec — paste those locators in
|
|
29
|
+
playhead validate demo.yaml # every locator checked against the live app, in seconds
|
|
30
|
+
playhead render demo.yaml -o out # → out/out.mp4 + out/verify/verdict.json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`playhead guide` prints this workflow with every command's role. ffmpeg ships with the package;
|
|
34
|
+
if your npm config sets `ignore-scripts`, install with `--ignore-scripts=false` (or point
|
|
35
|
+
`PLAYHEAD_FFMPEG` at a local ffmpeg) — `playhead doctor` will tell you if it's missing.
|
|
36
|
+
|
|
37
|
+
## Quick start (this repo, with the bundled demo app)
|
|
17
38
|
|
|
18
39
|
```bash
|
|
19
40
|
npm install
|
|
@@ -103,6 +124,8 @@ output:
|
|
|
103
124
|
masking:
|
|
104
125
|
- target: 'testid=env-banner' # redacted at capture; never reaches a frame
|
|
105
126
|
style: solid
|
|
127
|
+
setup: # runs BEFORE recording starts — never filmed
|
|
128
|
+
- click: 'role=button[name="Accept all"]' # e.g. dismiss the cookie-consent banner
|
|
106
129
|
scenes:
|
|
107
130
|
- id: add-user
|
|
108
131
|
title: "Add a user"
|
|
@@ -120,7 +143,13 @@ scenes:
|
|
|
120
143
|
|
|
121
144
|
Elements inside iframes are addressed with a frame chain: `frame=#preview >> role=button[name="Save"]`.
|
|
122
145
|
Per-step extras: `caption`, `narration`, `focus` (`target`/`wide`/a locator), `shot: cut|continue`,
|
|
123
|
-
`timeout`, `mask
|
|
146
|
+
`timeout`, `mask`, and `optional: true` (a failing optional step — cookie banner, A/B'd tooltip —
|
|
147
|
+
is skipped, not fatal). More verbs: `rightclick`, `upload: {target, file}`, `drag: {target, to}`
|
|
148
|
+
(pointer-based drags — dnd-kit-style UIs, not native HTML5 draggables), and `type` with
|
|
149
|
+
`clear: true` to overwrite pre-filled fields. `expect` asserts `visible`/`text`/`count`/`value`/
|
|
150
|
+
`disabled`/`checked` on a locator and/or the page `url:`. Secrets: `text: ${env.PASSWORD}` with
|
|
151
|
+
`mask: true` resolves at capture time and never reaches any artifact.
|
|
152
|
+
Specs compose: `extends: ./base.yaml` merges a base file underneath.
|
|
124
153
|
Scaffold one with `npx playhead init`.
|
|
125
154
|
|
|
126
155
|
## Commands
|
|
@@ -130,10 +159,12 @@ Scaffold one with `npx playhead init`.
|
|
|
130
159
|
| `playhead render <specs...>` | capture → compose → verify; `--workers N` pools multiple specs; `--json` / `--junit <path>` for CI |
|
|
131
160
|
| `playhead validate <spec> --live` | preflight EVERY locator against the running app in one pass, with suggestions — before any frame is captured |
|
|
132
161
|
| `playhead capture <spec>` | produce a capture bundle only; `--from-scene <id>` fast-forwards earlier steps unfilmed |
|
|
133
|
-
| `playhead compose <bundle>` | re-render from a bundle — **no live app needed**; `--spec edited.yaml` re-composes with new text/theme/audio; `--expect-sha` asserts determinism |
|
|
162
|
+
| `playhead compose <bundle>` | re-render from a bundle — **no live app needed**; `--spec edited.yaml` re-composes with new text/theme/audio; `--aspects "9:16,1:1"` renders more aspects from the same capture; `--gif` exports an embeddable GIF; `--expect-sha` asserts determinism |
|
|
134
163
|
| `playhead verify <bundle> <mp4>` | run the verification suite; `--json` / `--junit` |
|
|
135
164
|
| `playhead jira report <KEY>` | attach evidence (video/failure clip, verdict, contact sheet, console log) to an existing Jira issue + post a verdict comment; or `render --jira <KEY>` (env: JIRA_BASE_URL/EMAIL/API_TOKEN) |
|
|
136
|
-
| `playhead
|
|
165
|
+
| `playhead compare <baseline> <current>` | run-over-run regression report: verdict drift, newly failing checks, coverage + per-step timing deltas; exits 2 on regression |
|
|
166
|
+
| `playhead attest <verify-dir>` | re-verify a verdict: video/manifest/contact-sheet hashes + every frame image re-hashed (`--bundle`) + signature check; unsigned fails unless `--allow-unsigned` |
|
|
167
|
+
| `playhead keygen` | generate an Ed25519 signing keypair — verdicts become third-party verifiable via a pinned key id |
|
|
137
168
|
| `playhead explore <url>` | grounded locator catalog (regions, stability marks, iframes); `--storage-state` for authed screens |
|
|
138
169
|
| `playhead login <url>` | you log in in a headed browser; the session is saved for `app.storageState` |
|
|
139
170
|
| `playhead init [path]` | scaffold a starter spec |
|
|
@@ -167,9 +198,14 @@ providers are available.
|
|
|
167
198
|
## CI
|
|
168
199
|
|
|
169
200
|
`action.yml` ships a composite GitHub Action (render → JUnit → artifact upload), and the
|
|
170
|
-
`Dockerfile` runs everything in the Playwright base image.
|
|
171
|
-
|
|
172
|
-
|
|
201
|
+
`Dockerfile` runs everything in the Playwright base image.
|
|
202
|
+
|
|
203
|
+
**Evidence chain.** Verdicts carry provenance, a pixel-verification **coverage** metric, and
|
|
204
|
+
hashes of the video, compose manifest, contact sheet, and every bundle **frame image**. Two
|
|
205
|
+
signing tiers: `playhead keygen` + `PLAYHEAD_SIGNING_KEY_FILE` signs with **Ed25519** (third-
|
|
206
|
+
party verifiable — consumers pin your key id), or `PLAYHEAD_SIGNING_KEY` for zero-config HMAC
|
|
207
|
+
within one trust domain. `playhead attest [--bundle]` re-hashes everything (frame bytes
|
|
208
|
+
included) and checks the signature; an unsigned verdict fails attest unless `--allow-unsigned`.
|
|
173
209
|
|
|
174
210
|
## How it works
|
|
175
211
|
|
package/action.yml
CHANGED
|
@@ -20,6 +20,9 @@ inputs:
|
|
|
20
20
|
signing-key:
|
|
21
21
|
description: 'PLAYHEAD_SIGNING_KEY — when set, verdicts are HMAC-signed and attestable'
|
|
22
22
|
required: false
|
|
23
|
+
playhead-version:
|
|
24
|
+
description: 'playhead-cli version to run (npm dist-tag or exact version)'
|
|
25
|
+
default: 'latest'
|
|
23
26
|
|
|
24
27
|
outputs:
|
|
25
28
|
junit:
|
|
@@ -46,7 +49,9 @@ runs:
|
|
|
46
49
|
PLAYHEAD_SIGNING_KEY: ${{ inputs.signing-key }}
|
|
47
50
|
run: |
|
|
48
51
|
set +e
|
|
49
|
-
|
|
52
|
+
# The npm PACKAGE is playhead-cli (the bin inside it is `playhead`). A bare
|
|
53
|
+
# `npx playhead` would fetch the unrelated npm package literally named "playhead".
|
|
54
|
+
npx -y -p playhead-cli@${{ inputs.playhead-version }} playhead render ${{ inputs.specs }} \
|
|
50
55
|
-o "${{ inputs.out }}" \
|
|
51
56
|
--workers "${{ inputs.workers }}" \
|
|
52
57
|
--junit "${{ inputs.out }}/junit.xml" \
|
|
@@ -59,13 +64,62 @@ runs:
|
|
|
59
64
|
|
|
60
65
|
- name: Upload artifacts (videos, verdicts, contact sheets, failure clips)
|
|
61
66
|
if: always()
|
|
67
|
+
id: artifacts
|
|
62
68
|
uses: actions/upload-artifact@v4
|
|
63
69
|
with:
|
|
64
70
|
name: playhead-${{ github.run_id }}
|
|
65
71
|
path: |
|
|
66
72
|
${{ inputs.out }}/**/*.mp4
|
|
73
|
+
${{ inputs.out }}/**/*.gif
|
|
67
74
|
${{ inputs.out }}/**/verdict.json
|
|
68
75
|
${{ inputs.out }}/**/contact-sheet.png
|
|
69
76
|
${{ inputs.out }}/**/failure.json
|
|
70
|
-
${{ inputs.out }}/junit
|
|
77
|
+
${{ inputs.out }}/junit*.xml
|
|
71
78
|
if-no-files-found: ignore
|
|
79
|
+
|
|
80
|
+
- name: PR comment (sticky verdict summary)
|
|
81
|
+
if: always() && github.event_name == 'pull_request'
|
|
82
|
+
uses: actions/github-script@v7
|
|
83
|
+
env:
|
|
84
|
+
OUT_DIR: ${{ inputs.out }}
|
|
85
|
+
ARTIFACT_URL: ${{ steps.artifacts.outputs.artifact-url }}
|
|
86
|
+
with:
|
|
87
|
+
script: |
|
|
88
|
+
const fs = require('fs');
|
|
89
|
+
const path = require('path');
|
|
90
|
+
const outDir = process.env.OUT_DIR;
|
|
91
|
+
// Find verdict.json (single-spec: out/verify/; pool: out/<name>/verify/).
|
|
92
|
+
const verdicts = [];
|
|
93
|
+
const walk = (d, depth) => {
|
|
94
|
+
if (depth > 3) return;
|
|
95
|
+
for (const e of fs.readdirSync(d, { withFileTypes: true })) {
|
|
96
|
+
const p = path.join(d, e.name);
|
|
97
|
+
if (e.isFile() && e.name === 'verdict.json') verdicts.push(p);
|
|
98
|
+
else if (e.isDirectory()) walk(p, depth + 1);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
try { walk(outDir, 0); } catch {}
|
|
102
|
+
const mark = (s) => (s === 'pass' ? '✅' : s === 'fail' ? '❌' : s === 'warn' ? '⚠️' : '⏭️');
|
|
103
|
+
let body = '<!-- playhead-verdict -->\n## 🎬 Playhead\n';
|
|
104
|
+
if (verdicts.length === 0) {
|
|
105
|
+
const failure = (() => { try { return JSON.parse(fs.readFileSync(path.join(outDir, 'capture', 'failure.json'), 'utf8')); } catch { return null; } })();
|
|
106
|
+
body += failure
|
|
107
|
+
? `**Flow FAILED** at \`${failure.stepRef}\`\n> ${failure.message.split('\n')[0]}\n\n📼 Watch \`failure.mp4\` in the artifacts.\n`
|
|
108
|
+
: '_No verdict produced (infra failure?) — see the job log._\n';
|
|
109
|
+
}
|
|
110
|
+
for (const vp of verdicts) {
|
|
111
|
+
const v = JSON.parse(fs.readFileSync(vp, 'utf8'));
|
|
112
|
+
const name = path.relative(outDir, path.dirname(path.dirname(vp))) || 'render';
|
|
113
|
+
body += `\n### ${name}: ${v.verdict === 'publishable' ? '✅ publishable' : '❌ not publishable'}\n`;
|
|
114
|
+
if (v.coverage) body += `coverage: **${v.coverage.actionsVerified}/${v.coverage.actionsTotal}** actions pixel-verified · ${v.coverage.outputSamplesVerified} output samples · signed: ${v.signature ? `\`${v.signature.keyId}\`` : 'no'}\n\n`;
|
|
115
|
+
body += '| check | result |\n|---|---|\n';
|
|
116
|
+
for (const c of v.checks) body += `| ${c.id} | ${mark(c.status)} ${c.details.replace(/\|/g, '\\|')} |\n`;
|
|
117
|
+
}
|
|
118
|
+
if (process.env.ARTIFACT_URL) body += `\n📦 [Video + contact sheet + verdict (artifact)](${process.env.ARTIFACT_URL})\n`;
|
|
119
|
+
// Sticky: update the existing playhead comment instead of stacking new ones.
|
|
120
|
+
const { owner, repo } = context.repo;
|
|
121
|
+
const issue_number = context.issue.number;
|
|
122
|
+
const comments = await github.rest.issues.listComments({ owner, repo, issue_number, per_page: 100 });
|
|
123
|
+
const mine = comments.data.find((c) => c.body && c.body.includes('<!-- playhead-verdict -->'));
|
|
124
|
+
if (mine) await github.rest.issues.updateComment({ owner, repo, comment_id: mine.id, body });
|
|
125
|
+
else await github.rest.issues.createComment({ owner, repo, issue_number, body });
|
package/dist/audio/mux.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export interface AudioBedOptions {
|
|
|
11
11
|
narration?: Map<string, NarrationClip>;
|
|
12
12
|
/** Click-beat times (output clock) that get a soft synthesized tick. */
|
|
13
13
|
sfxBeats?: ClickRipple[];
|
|
14
|
+
/** Keystroke-tick times (output clock) — quieter, shorter, higher than clicks. */
|
|
15
|
+
keyBeats?: number[];
|
|
14
16
|
/** User-supplied music bed (no asset is bundled). */
|
|
15
17
|
music?: {
|
|
16
18
|
file: string;
|
package/dist/audio/mux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mux.d.ts","sourceRoot":"","sources":["../../src/audio/mux.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAO9C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,qDAAqD;IACrD,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,UAAU,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"mux.d.ts","sourceRoot":"","sources":["../../src/audio/mux.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAO9C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,qDAAqD;IACrD,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,UAAU,EAAE,CAAC,CA6GvB"}
|
|
@@ -13,8 +13,10 @@ export interface StepDecision {
|
|
|
13
13
|
caption?: string;
|
|
14
14
|
mask?: boolean;
|
|
15
15
|
}
|
|
16
|
-
/** Chooses the next step from the current screen. Default is Claude; injectable for tests/policies.
|
|
17
|
-
|
|
16
|
+
/** Chooses the next step from the current screen. Default is Claude; injectable for tests/policies.
|
|
17
|
+
* `feedback` carries the previous attempt's failure so the model can adjust instead of
|
|
18
|
+
* repeating the same failing step until maxSteps is exhausted (round-2 audit). */
|
|
19
|
+
export type Decider = (goal: string, snap: PageSnapshot, soFar: AuthoredStep[], feedback?: string) => Promise<StepDecision>;
|
|
18
20
|
export interface AuthorOptions {
|
|
19
21
|
url: string;
|
|
20
22
|
goal: string;
|
|
@@ -26,6 +28,10 @@ export interface AuthorOptions {
|
|
|
26
28
|
};
|
|
27
29
|
maxSteps: number;
|
|
28
30
|
headless: boolean;
|
|
31
|
+
/** Output kind for the authored spec (walkthrough | demo | ...). */
|
|
32
|
+
kind?: string;
|
|
33
|
+
/** Session file from `playhead login` for authenticated apps. */
|
|
34
|
+
storageStatePath?: string;
|
|
29
35
|
driver?: Driver;
|
|
30
36
|
/** Override the step decider (defaults to the Claude-backed one). */
|
|
31
37
|
decide?: Decider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"author.d.ts","sourceRoot":"","sources":["../../src/authoring/author.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGrF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"author.d.ts","sourceRoot":"","sources":["../../src/authoring/author.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGrF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;mFAEmF;AACnF,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE5H,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAsCD,2GAA2G;AAC3G,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAkF1G;AAED,yFAAyF;AACzF,wBAAgB,aAAa,IAAI,OAAO,CAkDvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/authoring/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,kGAAkG;IAClG,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAMzE;AAKD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,EAAE,CAkB/D;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,eAAe,GAAG,WAAW,CAQvD;AAED,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/authoring/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,kGAAkG;IAClG,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAMzE;AAKD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,EAAE,CAkB/D;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,eAAe,GAAG,WAAW,CAQvD;AAED,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/authoring/explore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/authoring/explore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAsDxE;AAED,2FAA2F;AAC3F,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,OAAO,CAAC,YAAY,CAAC,CAkBvB;AAED;6EAC6E;AAC7E,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAyBxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/authoring/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/authoring/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAcvD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,cAAc,CAAC,CAkKzB;AA8HD,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAiBhE"}
|
package/dist/bundle/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bundle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bundle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,2FAA2F;IAC3F,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClF;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B"}
|
package/dist/bundle/writer.d.ts
CHANGED
|
@@ -8,9 +8,14 @@ export declare class BundleWriter {
|
|
|
8
8
|
private pendingWrites;
|
|
9
9
|
private maskSamples;
|
|
10
10
|
private counter;
|
|
11
|
+
private failedFrames;
|
|
12
|
+
private writeError;
|
|
11
13
|
private ready;
|
|
12
14
|
constructor(dir: string, captureFormat: 'jpeg' | 'png');
|
|
13
|
-
/** Queue a frame write. `t` is capture-relative ms.
|
|
15
|
+
/** Queue a frame write. `t` is capture-relative ms. Each frame's BYTES are hashed at write
|
|
16
|
+
* time — the index entry carries the digest, so the framesIndex hash transitively covers
|
|
17
|
+
* every pixel in the bundle. (Round-2 audit: filename+timestamp hashing left frame images
|
|
18
|
+
* freely swappable under a passing attest.) */
|
|
14
19
|
addFrame(data: Buffer, t: number): void;
|
|
15
20
|
addMaskSample(sample: MaskSample): void;
|
|
16
21
|
frameCount(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/bundle/writer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/bundle/writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAmB,UAAU,EAAE,MAAM,YAAY,CAAC;AAM9E,qBAAa,YAAY;IAUrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVhC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,KAAK,CAAgB;IAE7B,YACmB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GAAG,KAAK,EAG/C;IAED;;;oDAGgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAetC;IAED,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEtC;IAED,UAAU,IAAI,MAAM,CAEnB;IAEK,MAAM,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,GAAG,OAAO,CAAC,cAAc,CAAC,CA+D1B;CACF"}
|
|
@@ -130,11 +130,20 @@ export interface Driver {
|
|
|
130
130
|
/** The real click: actionability + hit-target verification + retry via the locator. */
|
|
131
131
|
actClick(loc: ParsedLocator, opts?: {
|
|
132
132
|
double?: boolean;
|
|
133
|
+
button?: 'right';
|
|
133
134
|
timeoutMs?: number;
|
|
134
135
|
}): Promise<{
|
|
135
136
|
tDown: number;
|
|
136
137
|
tUp: number;
|
|
137
138
|
}>;
|
|
139
|
+
/** Set a file input's files (no native dialog exists in headless — none is filmable). */
|
|
140
|
+
setInputFiles(loc: ParsedLocator, filePath: string): Promise<void>;
|
|
141
|
+
/** Real drag between two elements; returns the pressed-cursor waypoints for the film. */
|
|
142
|
+
dragTo(from: ParsedLocator, to: ParsedLocator, timeoutMs: number): Promise<{
|
|
143
|
+
tDown: number;
|
|
144
|
+
tUp: number;
|
|
145
|
+
path: CursorWaypoint[];
|
|
146
|
+
}>;
|
|
138
147
|
/** Console messages, page errors, dialogs, and popups recorded so far (bug-repro evidence). */
|
|
139
148
|
consoleLog(): ConsoleRecord[];
|
|
140
149
|
typeText(text: string, delayMs: number): Promise<{
|
|
@@ -153,10 +162,14 @@ export interface Driver {
|
|
|
153
162
|
/** Wait until the page scroll position stops changing (smooth-scroll finished), or timeout. */
|
|
154
163
|
waitForScrollSettle(timeoutMs: number): Promise<void>;
|
|
155
164
|
/** Assert a UI state; throws with a readable message on timeout. */
|
|
156
|
-
expectState(loc: ParsedLocator, opts: {
|
|
165
|
+
expectState(loc: ParsedLocator | null, opts: {
|
|
157
166
|
visible?: boolean;
|
|
158
167
|
text?: string;
|
|
159
168
|
count?: number;
|
|
169
|
+
url?: string;
|
|
170
|
+
value?: string;
|
|
171
|
+
disabled?: boolean;
|
|
172
|
+
checked?: boolean;
|
|
160
173
|
}, timeoutMs: number): Promise<void>;
|
|
161
174
|
/** Wait for network idle + two stable layout samples. Resolves at the settle moment. */
|
|
162
175
|
settle(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-api.d.ts","sourceRoot":"","sources":["../../src/capture/driver-api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"driver-api.d.ts","sourceRoot":"","sources":["../../src/capture/driver-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;;;GAQG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,WAAW,CAAC,EAAE;QACZ,qDAAqD;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mCAAmC;QACnC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC/B,mGAAmG;QACnG,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,uFAAuF;QACvF,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,iFAAiF;IACjF,OAAO,CAAC,EAAE;QACR,wFAAwF;QACxF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,iDAAiD;QACjD,IAAI,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC/E,sFAAsF;QACtF,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF;sGACkG;IAClG,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC;AAED,4FAA4F;AAC5F,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gCAAgC;IAChC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,iDAAiD;IACjD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEnE,kGAAkG;IAClG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,0FAA0F;IAC1F,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACnD,oFAAoF;IACpF,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC,+GAA+G;IAC/G,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1E,wEAAwE;IACxE,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE3D,SAAS,IAAI,KAAK,CAAC;IACnB,qGAAqG;IACrG,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrE,gGAAgG;IAChG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxF,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzI,yFAAyF;IACzF,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,yFAAyF;IACzF,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;IACnI,+FAA+F;IAC/F,UAAU,IAAI,aAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,+FAA+F;IAC/F,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,oEAAoE;IACpE,WAAW,CACT,GAAG,EAAE,aAAa,GAAG,IAAI,EACzB,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,EAC/H,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,wFAAwF;IACxF,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;sDACkD;IAClD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,sIAAsI;IACtI,wGAAwG;IACxG,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACzH,oFAAoF;IACpF,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,sEAAsE;IACtE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,yEAAyE;IACzE,WAAW,IAAI,MAAM,CAAC;IACtB,qGAAqG;IACrG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,UAAU,IAAI,MAAM,CAAC;CACtB"}
|
package/dist/capture/events.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface CursorWaypoint {
|
|
|
13
13
|
y: number;
|
|
14
14
|
t: number;
|
|
15
15
|
}
|
|
16
|
-
export type ActionKind = 'goto' | 'click' | 'dblclick' | 'hover' | 'type' | 'press' | 'select' | 'scroll' | 'expect' | 'wait';
|
|
16
|
+
export type ActionKind = 'goto' | 'click' | 'rightclick' | 'upload' | 'drag' | 'dblclick' | 'hover' | 'type' | 'press' | 'select' | 'scroll' | 'expect' | 'wait';
|
|
17
17
|
export interface ActionEvent {
|
|
18
18
|
type: 'action';
|
|
19
19
|
kind: ActionKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/capture/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEzD,iGAAiG;AAEjG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sFAAsF;IACtF,IAAI,EAAE,IAAI,CAAC;IACX,qDAAqD;IACrD,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;gCAC4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;mEAC+D;IAC/D,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,eAAe,EAAE,CAEjE"}
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/capture/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEzD,iGAAiG;AAEjG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sFAAsF;IACtF,IAAI,EAAE,IAAI,CAAC;IACX,qDAAqD;IACrD,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,UAAU,GACV,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;gCAC4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;mEAC+D;IAC/D,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,eAAe,EAAE,CAEjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/capture/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAiB,MAAM,mBAAmB,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AAQ/D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/capture/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAiB,MAAM,mBAAmB,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AAQ/D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA0P9F"}
|
|
@@ -23,6 +23,10 @@ export declare class PlaywrightDriver implements Driver {
|
|
|
23
23
|
private typingMaskLoc;
|
|
24
24
|
launch(opts: DriverLaunchOptions): Promise<void>;
|
|
25
25
|
private consoleBuf;
|
|
26
|
+
/** Browser-level forced device scale (--force-device-scale-factor); 1 = not forced. */
|
|
27
|
+
private forcedDsf;
|
|
28
|
+
private crashed;
|
|
29
|
+
private assertAlive;
|
|
26
30
|
private pushConsole;
|
|
27
31
|
consoleLog(): {
|
|
28
32
|
t: number;
|
|
@@ -65,8 +69,17 @@ export declare class PlaywrightDriver implements Driver {
|
|
|
65
69
|
* through the checks a raw coordinate click bypasses (a toast/sticky header drifting under
|
|
66
70
|
* the point between measure and click silently redirects a coordinate click).
|
|
67
71
|
*/
|
|
72
|
+
setInputFiles(loc: ParsedLocator, filePath: string): Promise<void>;
|
|
73
|
+
/** Real drag: hover the source, press, glide to the destination in eased steps (recording
|
|
74
|
+
* pressed-cursor waypoints for the film), release over the target's current position. */
|
|
75
|
+
dragTo(from: ParsedLocator, to: ParsedLocator, timeoutMs: number): Promise<{
|
|
76
|
+
tDown: number;
|
|
77
|
+
tUp: number;
|
|
78
|
+
path: CursorWaypoint[];
|
|
79
|
+
}>;
|
|
68
80
|
actClick(loc: ParsedLocator, opts?: {
|
|
69
81
|
double?: boolean;
|
|
82
|
+
button?: 'right';
|
|
70
83
|
timeoutMs?: number;
|
|
71
84
|
}): Promise<{
|
|
72
85
|
tDown: number;
|
|
@@ -79,10 +92,14 @@ export declare class PlaywrightDriver implements Driver {
|
|
|
79
92
|
y: number;
|
|
80
93
|
}): Promise<void>;
|
|
81
94
|
waitForScrollSettle(timeoutMs: number): Promise<void>;
|
|
82
|
-
expectState(loc: ParsedLocator, opts: {
|
|
95
|
+
expectState(loc: ParsedLocator | null, opts: {
|
|
83
96
|
visible?: boolean;
|
|
84
97
|
text?: string;
|
|
85
98
|
count?: number;
|
|
99
|
+
url?: string;
|
|
100
|
+
value?: string;
|
|
101
|
+
disabled?: boolean;
|
|
102
|
+
checked?: boolean;
|
|
86
103
|
}, timeoutMs: number): Promise<void>;
|
|
87
104
|
/** Open requests → their start time. Long-lived streams (HMR sockets, SSE, long-polls) stop
|
|
88
105
|
* counting after LONG_REQUEST_MS so a dev server can't pin the settle at its cap forever. */
|
|
@@ -109,8 +126,11 @@ export declare class PlaywrightDriver implements Driver {
|
|
|
109
126
|
h: number;
|
|
110
127
|
}[]>;
|
|
111
128
|
setTypingMask(loc: ParsedLocator | null): Promise<void>;
|
|
129
|
+
private screencastActive;
|
|
112
130
|
startCapture(onFrame: (f: ScreencastFrame) => void, opts: ScreencastOptions): Promise<void>;
|
|
113
|
-
|
|
131
|
+
private startScreenshotLoop;
|
|
132
|
+
/** Grab a frame, coalescing on any in-flight grab (so callers can await the current one).
|
|
133
|
+
* Resolves true iff a frame was actually stored. */
|
|
114
134
|
private grabFrame;
|
|
115
135
|
private grabFailures;
|
|
116
136
|
private doGrab;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-driver.d.ts","sourceRoot":"","sources":["../../src/capture/playwright-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"playwright-driver.d.ts","sourceRoot":"","sources":["../../src/capture/playwright-driver.ts"],"names":[],"mappings":"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"}
|