recordable 0.1.0 → 0.3.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.
Files changed (42) hide show
  1. package/README.md +67 -24
  2. package/dist/actions.d.ts +9 -1
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +10 -3
  5. package/dist/actions.js.map +1 -1
  6. package/dist/browser/cursor.d.ts +17 -5
  7. package/dist/browser/cursor.d.ts.map +1 -1
  8. package/dist/browser/cursor.js +81 -47
  9. package/dist/browser/cursor.js.map +1 -1
  10. package/dist/browser/runtime.d.ts +34 -6
  11. package/dist/browser/runtime.d.ts.map +1 -1
  12. package/dist/browser/runtime.js +119 -37
  13. package/dist/browser/runtime.js.map +1 -1
  14. package/dist/compose/recordable.d.ts +28 -12
  15. package/dist/compose/recordable.d.ts.map +1 -1
  16. package/dist/compose/recordable.js +33 -16
  17. package/dist/compose/recordable.js.map +1 -1
  18. package/dist/compose/session.d.ts +15 -1
  19. package/dist/compose/session.d.ts.map +1 -1
  20. package/dist/compose/session.js +65 -18
  21. package/dist/compose/session.js.map +1 -1
  22. package/dist/config.d.ts +22 -0
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +9 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/formats/markdown/parse.d.ts.map +1 -1
  27. package/dist/formats/markdown/parse.js +11 -1
  28. package/dist/formats/markdown/parse.js.map +1 -1
  29. package/dist/targets.d.ts +13 -2
  30. package/dist/targets.d.ts.map +1 -1
  31. package/dist/targets.js +31 -3
  32. package/dist/targets.js.map +1 -1
  33. package/dist/timing.d.ts +0 -2
  34. package/dist/timing.d.ts.map +1 -1
  35. package/dist/timing.js +6 -11
  36. package/dist/timing.js.map +1 -1
  37. package/dist/video/recorder.d.ts +4 -1
  38. package/dist/video/recorder.d.ts.map +1 -1
  39. package/dist/video/recorder.js +12 -2
  40. package/dist/video/recorder.js.map +1 -1
  41. package/package.json +2 -1
  42. package/recordable.schema.json +45 -3
@@ -1,8 +1,9 @@
1
1
  import { sleep, truncate } from "../utils.js";
2
- import { resolveTarget } from "../targets.js";
2
+ import { resolveTarget, parseOptionSpec } from "../targets.js";
3
+ import { RecordableError } from "../errors.js";
3
4
  import { getElementCenter, originToCoords, scrollIntoView, smoothScrollToTarget, } from "./dom.js";
4
5
  import { Cursor } from "./cursor.js";
5
- import { jitter, typingDuration, typingGaps, NAV_PROBE_MS, PRE_CLICK_MS, } from "../timing.js";
6
+ import { jitter, typingDuration, typingGaps, PRE_CLICK_MS } from "../timing.js";
6
7
  import { playButtonScript, PLAY_BINDING, PLAY_BUTTON_ID, } from "./play-button.js";
7
8
  // ─── Compose layer: the runtime ──────────────────────────────────────────────
8
9
  //
@@ -35,7 +36,18 @@ export class Runtime {
35
36
  /** (Re-)inject the cursor overlay at the carried position, if enabled. */
36
37
  async injectCursor(page) {
37
38
  if (this.getCfg().cursor)
38
- await this.cursor.inject(page, this.zoom);
39
+ await this.cursor.inject(page, this.zoom, this.getCfg().pageZoom);
40
+ }
41
+ /** Snapshot the cursor position (on pause) so a later resume() can restore it,
42
+ * ignoring any off-camera moves between pause and resume. */
43
+ parkCursor() {
44
+ this.cursor.park();
45
+ }
46
+ /** Re-inject the cursor at the parked position (on resume), so the resumed
47
+ * segment opens with the cursor exactly where the paused one left it. */
48
+ async restoreCursor(page) {
49
+ if (this.getCfg().cursor)
50
+ await this.cursor.unpark(page, this.zoom, this.getCfg().pageZoom);
39
51
  }
40
52
  // ─── Navigation ────────────────────────────────────────────────────────────
41
53
  async visit(page, url, options) {
@@ -53,6 +65,7 @@ export class Runtime {
53
65
  async waitFor(page, target, options = {}) {
54
66
  const { state = "visible", timeout = this.getCfg().visitTimeout } = options;
55
67
  this.log("WaitFor", `${target} (${state})`);
68
+ await this.checkAmbiguous(page, target);
56
69
  await page.waitForSelector(resolveTarget(target), {
57
70
  timeout,
58
71
  visible: state === "visible",
@@ -61,12 +74,50 @@ export class Runtime {
61
74
  await this.injectCursor(page);
62
75
  }
63
76
  // ─── Interactions ──────────────────────────────────────────────────────────
64
- async click(page, target) {
77
+ /** Click a target. Returns the new tab's `Page` when `followNewTab` is set and the
78
+ * click opened one — the session then switches recording to it. Otherwise void. */
79
+ async click(page, target, options = {}) {
65
80
  this.log("Click", target);
66
- await this._click(page, target);
81
+ await this.checkAmbiguous(page, target);
82
+ if (options.followNewTab)
83
+ return this._clickNewTab(page, target, options);
84
+ await this._click(page, target, options);
85
+ }
86
+ /**
87
+ * Click a link that opens a new tab and resolve to the new `Page` (or warn and
88
+ * return void if none appears). The popup listener is armed *before* the click so a
89
+ * fast open can't be missed. The new tab is *not* waited on here — the session seals
90
+ * the current segment first, then waits for the load off-camera so it's trimmed.
91
+ */
92
+ async _clickNewTab(page, target, options) {
93
+ const timeout = options.timeout ?? this.getCfg().visitTimeout;
94
+ const popup = this._waitForPopup(page, timeout);
95
+ // The nav happens in the new tab, so don't wait for a same-tab navigation here.
96
+ await this._click(page, target, { ...options, waitForNav: false });
97
+ const newPage = await popup;
98
+ if (!newPage) {
99
+ this.log.warn(`click: no new tab opened for "${target}" — staying on the current tab`);
100
+ return;
101
+ }
102
+ return newPage;
103
+ }
104
+ /** Resolve to the next popup `page.once("popup")` opens, or null after `timeout`.
105
+ * A late timer after the popup resolves is a harmless no-op; unref it so it can't
106
+ * hold the process open. */
107
+ _waitForPopup(page, timeout) {
108
+ return new Promise((resolve) => {
109
+ const onPopup = (p) => resolve(p ?? null);
110
+ page.once("popup", onPopup);
111
+ const timer = setTimeout(() => {
112
+ page.off("popup", onPopup);
113
+ resolve(null);
114
+ }, timeout);
115
+ timer.unref?.();
116
+ });
67
117
  }
68
118
  async hover(page, target) {
69
119
  this.log("Hover", target);
120
+ await this.checkAmbiguous(page, target);
70
121
  if (this.getCfg().autoScroll)
71
122
  await this._scrollIntoView(page, target);
72
123
  const { x, y } = await getElementCenter(page, target);
@@ -74,6 +125,7 @@ export class Runtime {
74
125
  }
75
126
  async type(page, target, text, options = {}) {
76
127
  this.log("Type", `${target} "${truncate(text)}"`);
128
+ await this.checkAmbiguous(page, target);
77
129
  await this._click(page, target);
78
130
  const total = options.duration ?? typingDuration(text, this.getCfg().typingSpeed);
79
131
  const gaps = typingGaps(text, this.getCfg().typingSpeed, total);
@@ -88,6 +140,7 @@ export class Runtime {
88
140
  }
89
141
  async clear(page, target) {
90
142
  this.log("Clear", target);
143
+ await this.checkAmbiguous(page, target);
91
144
  await this._click(page, target);
92
145
  const mod = process.platform === "darwin" ? "Meta" : "Control";
93
146
  await page.keyboard.down(mod);
@@ -97,21 +150,41 @@ export class Runtime {
97
150
  }
98
151
  async select(page, target, value) {
99
152
  this.log("Select", `${target} ${value}`);
153
+ await this.checkAmbiguous(page, target);
100
154
  if (this.getCfg().autoScroll)
101
155
  await this._scrollIntoView(page, target);
102
156
  const { x, y } = await getElementCenter(page, target);
103
157
  if (this.getCfg().cursor) {
104
- await this.cursor.moveTo(page, x, y, this.zoom);
158
+ await this.cursor.moveTo(page, x, y, this.zoom, this.getCfg().pageZoom);
105
159
  await sleep(jitter(PRE_CLICK_MS));
106
160
  await this.cursor.clickEffect(page);
107
161
  }
108
- await page.select(target, value);
162
+ await page.select(resolveTarget(target), await this._optionValue(page, target, value));
163
+ }
164
+ // Map a select value-spec to the concrete option `value` Puppeteer expects.
165
+ // Literal values pass through; `:option-index/-label(...)` read the live
166
+ // `<select>` (no native pseudo exists for them).
167
+ async _optionValue(page, target, value) {
168
+ const spec = parseOptionSpec(value);
169
+ if (!spec)
170
+ return value;
171
+ const resolved = await page.$eval(resolveTarget(target), (el, spec) => {
172
+ const opts = [...el.options];
173
+ const hit = "index" in spec ? opts[spec.index - 1] : opts.find((o) => o.textContent?.trim() === spec.label);
174
+ return hit?.value;
175
+ }, spec);
176
+ if (resolved == null) {
177
+ throw new RecordableError("CONFIG_INVALID", `select("${target}", "${value}"): no matching <option>.`);
178
+ }
179
+ return resolved;
109
180
  }
110
181
  async key(page, key) {
111
182
  this.log("Key", key);
112
183
  await page.keyboard.press(key);
113
184
  }
114
185
  async mouse(page, target) {
186
+ if (typeof target === "string")
187
+ await this.checkAmbiguous(page, target);
115
188
  const { x, y } = typeof target === "string"
116
189
  ? await getElementCenter(page, target)
117
190
  : target;
@@ -121,6 +194,8 @@ export class Runtime {
121
194
  // ─── Scrolling ─────────────────────────────────────────────────────────────
122
195
  async scroll(page, target, options = {}) {
123
196
  this.log("Scroll", String(target));
197
+ if (typeof target === "string" && target !== "top" && target !== "bottom")
198
+ await this.checkAmbiguous(page, target);
124
199
  await smoothScrollToTarget(page, target, options.duration ?? this.getCfg().scrollDuration);
125
200
  }
126
201
  // ─── Zoom ──────────────────────────────────────────────────────────────────
@@ -160,52 +235,44 @@ export class Runtime {
160
235
  // ─── Private interaction helpers ─────────────────────────────────────────────
161
236
  /** Click a target's centre. Uses page.mouse.click() not ElementHandle.click()
162
237
  * to avoid Puppeteer's built-in scrollIntoView overriding our centred scroll. */
163
- async _click(page, target) {
238
+ async _click(page, target, options = {}) {
164
239
  if (this.getCfg().autoScroll)
165
240
  await this._scrollIntoView(page, target);
166
241
  const { x, y } = await getElementCenter(page, target);
167
242
  if (this.getCfg().cursor) {
168
- await this.cursor.moveTo(page, x, y, this.zoom);
243
+ await this.cursor.moveTo(page, x, y, this.zoom, this.getCfg().pageZoom);
169
244
  await sleep(jitter(PRE_CLICK_MS));
170
245
  await this.cursor.clickEffect(page);
171
246
  }
172
- await this._clickPoint(page, x, y);
247
+ await this._clickPoint(page, x, y, options);
173
248
  }
174
249
  /**
175
- * Click at viewport coords and, if the click triggers a navigation, wait for the
176
- * new page to settle before returning so a navigating `click()` behaves like a
177
- * `visit()` and the next action lands on the loaded page rather than racing it.
178
- * In-page clicks pay only a short probe.
250
+ * Click at viewport coords. By default the click returns immediately clicks
251
+ * don't wait for navigation. Pass `waitForNav: true` when the click triggers a
252
+ * full-page navigation: the wait is armed *before* the click so a fast commit
253
+ * can't be missed, and the navigation must land, so the click then behaves like
254
+ * `visit()`. The network settle afterwards is best-effort, so a perpetually-busy
255
+ * page can't fail an otherwise-successful navigation. SPA route changes are not
256
+ * full-page navigations — gate those with a following `waitFor("<selector>")`.
179
257
  */
180
- async _clickPoint(page, x, y) {
181
- let navStarted = false;
182
- const onNav = (frame) => {
183
- if (frame === page.mainFrame())
184
- navStarted = true;
185
- };
186
- page.on("framenavigated", onNav);
187
- try {
258
+ async _clickPoint(page, x, y, options = {}) {
259
+ if (!options.waitForNav) {
188
260
  await page.mouse.click(x, y);
189
- // Give a navigation a brief moment to commit; most clicks don't navigate,
190
- // so we can't block on a full navigation wait unconditionally.
191
- await sleep(NAV_PROBE_MS);
192
- if (navStarted) {
193
- await page
194
- .waitForNetworkIdle({
195
- idleTime: 500,
196
- timeout: this.getCfg().visitTimeout,
197
- })
198
- .catch(() => { });
199
- }
200
- }
201
- finally {
202
- page.off("framenavigated", onNav);
261
+ return;
203
262
  }
263
+ const timeout = options.timeout ?? this.getCfg().visitTimeout;
264
+ // waitUntil "load" always resolves on a real navigation (unlike networkidle,
265
+ // which can stall on a busy page); arm it before the click so a fast commit
266
+ // can't be missed, then settle the network best-effort.
267
+ const navigated = page.waitForNavigation({ waitUntil: "load", timeout });
268
+ await page.mouse.click(x, y);
269
+ await navigated;
270
+ await page.waitForNetworkIdle({ idleTime: 500, timeout }).catch(() => { });
204
271
  }
205
272
  /** Move to viewport coords, animating the overlay when the cursor is enabled. */
206
273
  async _moveTo(page, x, y) {
207
274
  if (this.getCfg().cursor)
208
- await this.cursor.moveTo(page, x, y, this.zoom);
275
+ await this.cursor.moveTo(page, x, y, this.zoom, this.getCfg().pageZoom);
209
276
  else
210
277
  await page.mouse.move(x, y);
211
278
  }
@@ -214,6 +281,21 @@ export class Runtime {
214
281
  const cfg = this.getCfg();
215
282
  return scrollIntoView(page, target, cfg.scrollMargin, cfg.scrollSpeed);
216
283
  }
284
+ /** Fragile-selector lint: warn (once) when a target resolves to more than one
285
+ * element, then act on the first. Best-effort — it does not wait for the
286
+ * element, so it stays silent if the matches haven't rendered yet, and never
287
+ * throws (a genuine miss surfaces later at getHandle). */
288
+ async checkAmbiguous(page, target) {
289
+ try {
290
+ const matches = await page.$$(resolveTarget(target));
291
+ if (matches.length > 1)
292
+ this.log.warn(`"${target}" matched ${matches.length} elements; using the first`);
293
+ await Promise.all(matches.map((m) => m.dispose()));
294
+ }
295
+ catch {
296
+ // ignore: resolution failures are reported where the element is fetched
297
+ }
298
+ }
217
299
  // ─── Resume gate (▶ Play button) ─────────────────────────────────────────────
218
300
  /**
219
301
  * Block until the user resumes — by clicking the in-page ▶ Play button, or by
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/browser/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/browser/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type GoToOptions } from "puppeteer";
2
- import { type AudioOptions, type InsertOptions, type RecordableConfig, type WaitForOptions } from "../config.js";
2
+ import { type AudioOptions, type ClickOptions, type InsertOptions, type RecordableConfig, type WaitForOptions } from "../config.js";
3
3
  import { type Script } from "../script.js";
4
4
  export declare class Recordable {
5
5
  private cfg;
@@ -34,14 +34,24 @@ export declare class Recordable {
34
34
  * omitted from the final video. Place it first to skip the cold open.
35
35
  */
36
36
  pause(): this;
37
- /** Resume capturing in a fresh segment, immediately. */
37
+ /** Resume capturing in a fresh segment, immediately. Restores the cursor to its
38
+ * pause() position (a manual step may have navigated away and wiped the overlay,
39
+ * or off-camera steps moved it). */
38
40
  resume(): this;
39
41
  /**
40
- * Resume capturing, but only once the user *plays* — clicks the in-page ▶ Play
41
- * button (or presses Enter in the terminal). Use for manual actions such as a
42
- * login: `pause()` first, sign in by hand (headful), then `resumeOnInput()`.
42
+ * Block the chain until the user *plays* — clicks the in-page ▶ Play button (or
43
+ * presses Enter in the terminal). Recording state is left untouched, so this is
44
+ * just a gate: pair it with `resume()` to gate a resume, or use it standalone to
45
+ * hold the script for a manual step that stays off-camera. The common
46
+ * pause → sign-in-by-hand → resume flow is `resumeOnPlay()`.
43
47
  */
44
- resumeOnInput(message?: string): this;
48
+ waitForPlay(message?: string): this;
49
+ /**
50
+ * Resume capturing, but only once the user *plays*. Convenience wrapper for
51
+ * `waitForPlay().resume()` — the usual manual flow: `pause()` first, do the
52
+ * manual step by hand (headful), then `resumeOnPlay()`.
53
+ */
54
+ resumeOnPlay(message?: string): this;
45
55
  /**
46
56
  * Splice an external video clip into the timeline at this point — first call =
47
57
  * intro, last = outro, anywhere between = mid-roll. The clip is normalized to
@@ -71,9 +81,13 @@ export declare class Recordable {
71
81
  waitFor(target: string, options?: WaitForOptions): this;
72
82
  /**
73
83
  * Click an element. Accepts a CSS selector (`#id`, `.class`, `input[name="…"]`)
74
- * or a `text:` prefix (`"text:Next"`, matched by visible text).
84
+ * or a `text:` prefix (`"text:Next"`, matched by visible text). Pass
85
+ * `{ waitForNav: true }` when the click triggers a full-page navigation; for SPA
86
+ * route changes or async content, follow with `waitFor(...)`. Pass
87
+ * `{ followNewTab: true }` to continue recording in a tab the click opens (the old
88
+ * tab stays open, the load is trimmed). See {@link ClickOptions}.
75
89
  */
76
- click(target: string): this;
90
+ click(target: string, options?: ClickOptions): this;
77
91
  /**
78
92
  * Move the mouse (and cursor overlay) onto an element without clicking, so any
79
93
  * `:hover` state — tooltips, dropdowns, menus — is revealed.
@@ -92,10 +106,12 @@ export declare class Recordable {
92
106
  /** Clear an input or textarea (select-all + delete). Handy before re-typing. */
93
107
  clear(target: string): this;
94
108
  /**
95
- * Choose an option in a native `<select>` by its `value`. The cursor animates to
96
- * the control like `click()`. Note: the open option list is OS-drawn, *outside*
97
- * the page, so it can't be captured build a custom dropdown from `click()`s
98
- * for an on-camera menu.
109
+ * Choose an option in a native `<select>`. `value` is the option's `value`
110
+ * attribute by default, or a pseudo: `:option-index(N)` for the Nth option
111
+ * (1-based, like `:nth-child`) or `:option-label(Text)` for its visible label.
112
+ * The cursor animates to the control like `click()`. Note: the open option list
113
+ * is OS-drawn, *outside* the page, so it can't be captured — build a custom
114
+ * dropdown from `click()`s for an on-camera menu.
99
115
  */
100
116
  select(target: string, value: string): this;
101
117
  /** Press a keyboard key (e.g. "Escape", "Enter", "Tab"). */
@@ -1 +1 @@
1
- {"version":3,"file":"recordable.d.ts","sourceRoot":"","sources":["../../src/compose/recordable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordable.d.ts","sourceRoot":"","sources":["../../src/compose/recordable.ts"],"names":[],"mappings":"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"}
@@ -116,30 +116,41 @@ export class Recordable {
116
116
  pause() {
117
117
  return this._enqueue(async () => {
118
118
  this.recording = false;
119
+ this.runtime.parkCursor(); // remember where the cursor is for resume()
119
120
  await this.recorder.end();
120
121
  }, true);
121
122
  }
122
- /** Resume capturing in a fresh segment, immediately. */
123
+ /** Resume capturing in a fresh segment, immediately. Restores the cursor to its
124
+ * pause() position (a manual step may have navigated away and wiped the overlay,
125
+ * or off-camera steps moved it). */
123
126
  resume() {
124
127
  return this._enqueue(async (page) => {
125
128
  this.recording = true;
126
129
  await this.recorder.begin(page);
130
+ await this.runtime.restoreCursor(page);
127
131
  }, true);
128
132
  }
129
133
  /**
130
- * Resume capturing, but only once the user *plays* — clicks the in-page ▶ Play
131
- * button (or presses Enter in the terminal). Use for manual actions such as a
132
- * login: `pause()` first, sign in by hand (headful), then `resumeOnInput()`.
134
+ * Block the chain until the user *plays* — clicks the in-page ▶ Play button (or
135
+ * presses Enter in the terminal). Recording state is left untouched, so this is
136
+ * just a gate: pair it with `resume()` to gate a resume, or use it standalone to
137
+ * hold the script for a manual step that stays off-camera. The common
138
+ * pause → sign-in-by-hand → resume flow is `resumeOnPlay()`.
133
139
  */
134
- resumeOnInput(message = "Press ▶ Play when you're ready to record") {
140
+ waitForPlay(message = "Press ▶ Play to continue") {
135
141
  return this._enqueue(async (page) => {
136
142
  await this.runtime.waitForPlay(page, message);
137
- this.recording = true;
138
- await this.recorder.begin(page);
139
- // The page may have navigated during the manual step — re-inject cursor.
140
- await this.runtime.injectCursor(page);
141
143
  }, true);
142
144
  }
145
+ /**
146
+ * Resume capturing, but only once the user *plays*. Convenience wrapper for
147
+ * `waitForPlay().resume()` — the usual manual flow: `pause()` first, do the
148
+ * manual step by hand (headful), then `resumeOnPlay()`.
149
+ */
150
+ resumeOnPlay(message = "Press ▶ Play when you're ready to record") {
151
+ this.waitForPlay(message);
152
+ return this.resume();
153
+ }
143
154
  /**
144
155
  * Splice an external video clip into the timeline at this point — first call =
145
156
  * intro, last = outro, anywhere between = mid-roll. The clip is normalized to
@@ -193,10 +204,14 @@ export class Recordable {
193
204
  // ─── Interactions ──────────────────────────────────────────────────────────
194
205
  /**
195
206
  * Click an element. Accepts a CSS selector (`#id`, `.class`, `input[name="…"]`)
196
- * or a `text:` prefix (`"text:Next"`, matched by visible text).
207
+ * or a `text:` prefix (`"text:Next"`, matched by visible text). Pass
208
+ * `{ waitForNav: true }` when the click triggers a full-page navigation; for SPA
209
+ * route changes or async content, follow with `waitFor(...)`. Pass
210
+ * `{ followNewTab: true }` to continue recording in a tab the click opens (the old
211
+ * tab stays open, the load is trimmed). See {@link ClickOptions}.
197
212
  */
198
- click(target) {
199
- return this._enqueue((page) => this.runtime.click(page, target));
213
+ click(target, options = {}) {
214
+ return this._enqueue((page) => this.runtime.click(page, target, options));
200
215
  }
201
216
  /**
202
217
  * Move the mouse (and cursor overlay) onto an element without clicking, so any
@@ -220,10 +235,12 @@ export class Recordable {
220
235
  return this._enqueue((page) => this.runtime.clear(page, target));
221
236
  }
222
237
  /**
223
- * Choose an option in a native `<select>` by its `value`. The cursor animates to
224
- * the control like `click()`. Note: the open option list is OS-drawn, *outside*
225
- * the page, so it can't be captured build a custom dropdown from `click()`s
226
- * for an on-camera menu.
238
+ * Choose an option in a native `<select>`. `value` is the option's `value`
239
+ * attribute by default, or a pseudo: `:option-index(N)` for the Nth option
240
+ * (1-based, like `:nth-child`) or `:option-label(Text)` for its visible label.
241
+ * The cursor animates to the control like `click()`. Note: the open option list
242
+ * is OS-drawn, *outside* the page, so it can't be captured — build a custom
243
+ * dropdown from `click()`s for an on-camera menu.
227
244
  */
228
245
  select(target, value) {
229
246
  return this._enqueue((page) => this.runtime.select(page, target, value));
@@ -1 +1 @@
1
- {"version":3,"file":"recordable.js","sourceRoot":"","sources":["../../src/compose/recordable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordable.js","sourceRoot":"","sources":["../../src/compose/recordable.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ import { type Runtime } from "../browser/runtime.js";
7
7
  /** One queued action. `control` actions (pause/resume/insert) run without forcing a
8
8
  * capture segment to begin. */
9
9
  export interface QueueItem {
10
- run: (page: Page) => Promise<void>;
10
+ /** Returns a `Page` to switch the active tab to (e.g. a `followNewTab` click),
11
+ * otherwise void — capture stays on the current tab. */
12
+ run: (page: Page) => Promise<Page | void>;
11
13
  control: boolean;
12
14
  }
13
15
  /** What the session needs from the builder to execute a composed recording.
@@ -29,6 +31,18 @@ export declare class Session {
29
31
  constructor(comp: Composition);
30
32
  /** Execute the queued action sequence, then finalise the recording. */
31
33
  run(): Promise<void>;
34
+ /** Prepare a page for capture: set the viewport, the `Accept-Language` header (when
35
+ * a `language` is configured), and (when the cursor is on) wire the per-page
36
+ * re-inject. A navigation wipes the in-page cursor overlay and any
37
+ * zoom transform, so re-inject (at the carried position) and reset zoom on every
38
+ * main-frame nav — click-triggered navigations stay covered without an explicit
39
+ * re-inject. Used for the first page and for each new tab `followNewTab` opens. */
40
+ private _setupPage;
41
+ /** Switch capture to a new tab a `followNewTab` click opened. Seals the current
42
+ * segment (so the new tab's load is trimmed), prepares the new page, waits for it
43
+ * to settle off-camera, then re-injects the cursor. Recording resumes on its own:
44
+ * the run loop lazily begins a fresh segment before the next action. */
45
+ private _switchTab;
32
46
  private _cleanup;
33
47
  /** Seal the recording: stitch the captured/inserted segments (video layer),
34
48
  * then mix the audio track onto them (audio layer). The video defines the
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/compose/session.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAgB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAI/D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AASrD;gCACgC;AAChC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;8EAC8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,OAAO;IAKN,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEG,IAAI,EAAE,WAAW;IAE9C,uEAAuE;IACjE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAyEZ,QAAQ;IAStB;;kFAE8E;YAChE,SAAS;CA0BxB"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/compose/session.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAgB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAI/D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AASrD;gCACgC;AAChC,MAAM,WAAW,SAAS;IACxB;6DACyD;IACzD,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;8EAC8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,OAAO;IAKN,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEG,IAAI,EAAE,WAAW;IAE9C,uEAAuE;IACjE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAiE1B;;;;;wFAKoF;YACtE,UAAU;IA8BxB;;;6EAGyE;YAC3D,UAAU;YAuBV,QAAQ;IAStB;;kFAE8E;YAChE,SAAS;CA0BxB"}