agent-screenplay 0.1.2 → 0.1.4
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 +19 -1
- package/assets/editor/index.html +13 -1
- package/assets/indicator/macos.js +100 -0
- package/assets/indicator/windows.ps1 +75 -0
- package/dist/drivers/desktop.d.ts +22 -0
- package/dist/drivers/desktop.js +231 -136
- package/dist/drivers/desktop.js.map +1 -1
- package/dist/drivers/indicator.d.ts +14 -0
- package/dist/drivers/indicator.js +39 -0
- package/dist/drivers/indicator.js.map +1 -0
- package/dist/editor/server.d.ts +7 -3
- package/dist/editor/server.js +2 -2
- package/dist/editor/server.js.map +1 -1
- package/dist/render/compose.d.ts +6 -2
- package/dist/render/compose.js +126 -18
- package/dist/render/compose.js.map +1 -1
- package/dist/render/render.d.ts +5 -0
- package/dist/render/render.js +19 -4
- package/dist/render/render.js.map +1 -1
- package/dist/render/style.d.ts +2 -1
- package/dist/render/style.js +2 -1
- package/dist/render/style.js.map +1 -1
- package/dist/scenario/config.d.ts +8 -0
- package/dist/scenario/schema.d.ts +16 -0
- package/dist/scenario/schema.js +9 -2
- package/dist/scenario/schema.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
- package/schema/scenario.schema.json +14 -2
- package/skills/screenplay/SKILL.md +3 -1
package/dist/drivers/desktop.js
CHANGED
|
@@ -7,12 +7,63 @@ import { describeStep, stepKind } from "../scenario/schema.js";
|
|
|
7
7
|
import { parseTarget } from "../scenario/target.js";
|
|
8
8
|
import { captureFfmpegPath } from "../ffmpeg.js";
|
|
9
9
|
import { cardDuration, travelDuration, typingDelays } from "./pace.js";
|
|
10
|
+
import { showIndicator } from "./indicator.js";
|
|
10
11
|
import { StepError, sleep } from "./web.js";
|
|
11
12
|
const run = promisify(execFile);
|
|
12
13
|
const require = createRequire(import.meta.url);
|
|
14
|
+
/** The error a run ends with when the person presses Stop on the pill. */
|
|
15
|
+
export class StoppedError extends Error {
|
|
16
|
+
constructor() {
|
|
17
|
+
super("Stopped: the person at the computer pressed Stop on the Screenplay pill. Nothing was recorded.");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Stop for one run: `pause` is a sleep that Stop ends at once (its timer cleared, so nothing keeps
|
|
22
|
+
* the process alive), `signal` rejects with StoppedError on Stop, `check` throws once stopped.
|
|
23
|
+
*/
|
|
24
|
+
export function createStopper() {
|
|
25
|
+
let stopped = false;
|
|
26
|
+
const pending = new Set();
|
|
27
|
+
let reject;
|
|
28
|
+
const signal = new Promise((_, r) => (reject = r));
|
|
29
|
+
signal.catch(() => { });
|
|
30
|
+
return {
|
|
31
|
+
get stopped() {
|
|
32
|
+
return stopped;
|
|
33
|
+
},
|
|
34
|
+
signal,
|
|
35
|
+
stop() {
|
|
36
|
+
if (stopped)
|
|
37
|
+
return;
|
|
38
|
+
stopped = true;
|
|
39
|
+
for (const done of [...pending])
|
|
40
|
+
done();
|
|
41
|
+
reject(new StoppedError());
|
|
42
|
+
},
|
|
43
|
+
check() {
|
|
44
|
+
if (stopped)
|
|
45
|
+
throw new StoppedError();
|
|
46
|
+
},
|
|
47
|
+
pause(seconds) {
|
|
48
|
+
if (stopped || seconds <= 0)
|
|
49
|
+
return Promise.resolve();
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
const done = () => {
|
|
52
|
+
clearTimeout(timer);
|
|
53
|
+
pending.delete(done);
|
|
54
|
+
resolve();
|
|
55
|
+
};
|
|
56
|
+
const timer = setTimeout(done, seconds * 1000);
|
|
57
|
+
pending.add(done);
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
13
62
|
export class AgentDesktop {
|
|
14
63
|
bin;
|
|
15
64
|
session;
|
|
65
|
+
stopped = false;
|
|
66
|
+
abort = new AbortController();
|
|
16
67
|
constructor() {
|
|
17
68
|
this.bin = AgentDesktop.locate();
|
|
18
69
|
}
|
|
@@ -35,14 +86,35 @@ export class AgentDesktop {
|
|
|
35
86
|
return probe.stdout.split(/\r?\n/)[0].trim();
|
|
36
87
|
throw new Error("Desktop recording needs agent-desktop: run `npm install -g agent-desktop` (https://github.com/vercel-labs/agent-desktop).");
|
|
37
88
|
}
|
|
89
|
+
/** After Stop, every call fails at once and calls in flight are killed; only ending the session still runs. */
|
|
90
|
+
stop() {
|
|
91
|
+
this.stopped = true;
|
|
92
|
+
this.abort.abort();
|
|
93
|
+
}
|
|
38
94
|
async call(args, opts = {}) {
|
|
95
|
+
const guarded = args[0] !== "session";
|
|
96
|
+
if (guarded && this.stopped)
|
|
97
|
+
throw new StoppedError();
|
|
98
|
+
try {
|
|
99
|
+
const r = await this.invoke(args, opts, guarded ? this.abort.signal : undefined);
|
|
100
|
+
if (guarded && this.stopped)
|
|
101
|
+
throw new StoppedError();
|
|
102
|
+
return r;
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
if (guarded && this.stopped)
|
|
106
|
+
throw new StoppedError();
|
|
107
|
+
throw e;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async invoke(args, opts = {}, signal) {
|
|
39
111
|
const env = { ...process.env, ...(this.session ? { AGENT_DESKTOP_SESSION: this.session } : {}) };
|
|
40
112
|
const isJs = this.bin.endsWith(".js");
|
|
41
113
|
const cmd = isJs ? process.execPath : this.bin;
|
|
42
114
|
const argv = isJs ? [this.bin, ...args] : args;
|
|
43
115
|
let stdout = "";
|
|
44
116
|
try {
|
|
45
|
-
const r = await run(cmd, argv, { env, maxBuffer: 32 * 1024 * 1024 });
|
|
117
|
+
const r = await run(cmd, argv, { env, maxBuffer: 32 * 1024 * 1024, signal });
|
|
46
118
|
stdout = r.stdout;
|
|
47
119
|
}
|
|
48
120
|
catch (e) {
|
|
@@ -393,25 +465,39 @@ async function play(loaded, opts) {
|
|
|
393
465
|
}
|
|
394
466
|
const t0 = Date.now() / 1000;
|
|
395
467
|
const now = () => Date.now() / 1000 - t0;
|
|
396
|
-
|
|
468
|
+
// Stop on the pill ends the run at once: no further input reaches the computer (agent-desktop
|
|
469
|
+
// refuses every call and kills those in flight), waits end, and the step under way is abandoned.
|
|
470
|
+
const stopper = createStopper();
|
|
471
|
+
const stopIfAsked = () => stopper.check();
|
|
472
|
+
const sleepIf = async (s) => {
|
|
473
|
+
if (record)
|
|
474
|
+
await stopper.pause(s);
|
|
475
|
+
stopIfAsked();
|
|
476
|
+
};
|
|
397
477
|
let recorder;
|
|
478
|
+
let pill;
|
|
398
479
|
const checks = [];
|
|
399
480
|
try {
|
|
400
481
|
await ds.open(opts.log, { hideOthers: scenario.hideOthers });
|
|
401
482
|
if (ds.screen && record)
|
|
402
483
|
opts.log("Filming the whole screen: notifications and every visible window will be in the video.");
|
|
484
|
+
pill = showIndicator(record ? "Screenplay is recording" : "Screenplay is rehearsing", () => {
|
|
485
|
+
ds.ad.stop();
|
|
486
|
+
stopper.stop();
|
|
487
|
+
});
|
|
403
488
|
const W = ds.frame.width;
|
|
404
489
|
const H = ds.frame.height;
|
|
405
490
|
if (record) {
|
|
406
491
|
recorder = new Recorder(path.join(takeDir, "capture.mp4"));
|
|
407
492
|
await recorder.start(ds.frame, ds.scale, t0);
|
|
408
|
-
await
|
|
493
|
+
await sleepIf(0.6);
|
|
409
494
|
}
|
|
410
495
|
let cursor = { x: W * 0.62, y: H * 0.7 };
|
|
411
496
|
const cursorStart = { ...cursor };
|
|
412
497
|
let lastField;
|
|
413
498
|
const steps = [];
|
|
414
499
|
for (let i = 0; i < scenario.steps.length; i++) {
|
|
500
|
+
stopIfAsked();
|
|
415
501
|
const step = scenario.steps[i];
|
|
416
502
|
const kind = stepKind(step);
|
|
417
503
|
const label = describeStep(step);
|
|
@@ -451,154 +537,161 @@ async function play(loaded, opts) {
|
|
|
451
537
|
ts.waits.push([w0, now()]);
|
|
452
538
|
lastField = undefined; // the focused field belonged to the previous app
|
|
453
539
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
case "select": {
|
|
478
|
-
const r = await resolve(step[kind]);
|
|
479
|
-
await travelTo(r.box);
|
|
480
|
-
ts.actionAt = now();
|
|
481
|
-
if (kind === "select") {
|
|
482
|
-
if (!r.ref)
|
|
483
|
-
throw new StepError(i, label, "select needs an element.");
|
|
484
|
-
await ds.ad.call(["select", r.ref, step.option]);
|
|
485
|
-
}
|
|
486
|
-
else
|
|
487
|
-
await ds.clickAt(r, { double: step.double, right: step.button === "right" });
|
|
488
|
-
if (r.ref && parseTarget(step[kind]).kind !== "at")
|
|
489
|
-
lastField = r.ref;
|
|
490
|
-
break;
|
|
491
|
-
}
|
|
492
|
-
case "hover": {
|
|
493
|
-
// Hover moves the real pointer (menus and tooltips need it); it is not filmed, the drawn cursor is.
|
|
494
|
-
const r = await resolve(step.hover);
|
|
495
|
-
await travelTo(r.box);
|
|
496
|
-
ts.actionAt = now();
|
|
497
|
-
if (r.ref)
|
|
498
|
-
await ds.ad.call(["--headed", "hover", r.ref]);
|
|
499
|
-
else {
|
|
500
|
-
const x = Math.round(ds.frame.x + r.box.x + r.box.width / 2);
|
|
501
|
-
const y = Math.round(ds.frame.y + r.box.y + r.box.height / 2);
|
|
502
|
-
await ds.ad.call(["--headed", "mouse-move", "--xy", `${x},${y}`]);
|
|
540
|
+
// The step races Stop, so a run stopped mid-step (a click being resolved, a long wait) ends now.
|
|
541
|
+
const body = (async () => {
|
|
542
|
+
switch (kind) {
|
|
543
|
+
case "title":
|
|
544
|
+
case "end":
|
|
545
|
+
ts.card = {
|
|
546
|
+
kind,
|
|
547
|
+
title: step[kind],
|
|
548
|
+
subtitle: step.subtitle,
|
|
549
|
+
duration: Math.max(step.duration ?? cardDuration(step[kind], step.subtitle), minDuration),
|
|
550
|
+
};
|
|
551
|
+
break;
|
|
552
|
+
case "goto":
|
|
553
|
+
throw new StepError(i, label, "goto works on websites only; desktop scenarios start with the app already open.");
|
|
554
|
+
case "open": {
|
|
555
|
+
if (!ds.screen)
|
|
556
|
+
throw new StepError(i, label, 'open needs "screen": true: a window recording films one app.');
|
|
557
|
+
const w0 = now();
|
|
558
|
+
await ds.activate(step.open, opts.log);
|
|
559
|
+
lastField = undefined; // the focused field belonged to the previous app
|
|
560
|
+
await sleepIf(0.6); // let the window come to the front
|
|
561
|
+
ts.waits.push([w0, now()]);
|
|
562
|
+
break;
|
|
503
563
|
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
let ref = lastField;
|
|
508
|
-
if (step.into) {
|
|
509
|
-
const r = await resolve(step.into);
|
|
564
|
+
case "click":
|
|
565
|
+
case "select": {
|
|
566
|
+
const r = await resolve(step[kind]);
|
|
510
567
|
await travelTo(r.box);
|
|
511
568
|
ts.actionAt = now();
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
569
|
+
if (kind === "select") {
|
|
570
|
+
if (!r.ref)
|
|
571
|
+
throw new StepError(i, label, "select needs an element.");
|
|
572
|
+
await ds.ad.call(["select", r.ref, step.option]);
|
|
573
|
+
}
|
|
574
|
+
else
|
|
575
|
+
await ds.clickAt(r, { double: step.double, right: step.button === "right" });
|
|
576
|
+
if (r.ref && parseTarget(step[kind]).kind !== "at")
|
|
577
|
+
lastField = r.ref;
|
|
578
|
+
break;
|
|
518
579
|
}
|
|
519
|
-
|
|
580
|
+
case "hover": {
|
|
581
|
+
// Hover moves the real pointer (menus and tooltips need it); it is not filmed, the drawn cursor is.
|
|
582
|
+
const r = await resolve(step.hover);
|
|
583
|
+
await travelTo(r.box);
|
|
520
584
|
ts.actionAt = now();
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
await ds.ad.call(["
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
await ds.press(ch === " " ? "space" : ch, where);
|
|
585
|
+
if (r.ref)
|
|
586
|
+
await ds.ad.call(["--headed", "hover", r.ref]);
|
|
587
|
+
else {
|
|
588
|
+
const x = Math.round(ds.frame.x + r.box.x + r.box.width / 2);
|
|
589
|
+
const y = Math.round(ds.frame.y + r.box.y + r.box.height / 2);
|
|
590
|
+
await ds.ad.call(["--headed", "mouse-move", "--xy", `${x},${y}`]);
|
|
591
|
+
}
|
|
592
|
+
break;
|
|
530
593
|
}
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
const
|
|
535
|
-
|
|
594
|
+
case "type": {
|
|
595
|
+
let ref = lastField;
|
|
596
|
+
if (step.into) {
|
|
597
|
+
const r = await resolve(step.into);
|
|
598
|
+
await travelTo(r.box);
|
|
599
|
+
ts.actionAt = now();
|
|
600
|
+
await ds.clickAt(r);
|
|
601
|
+
ref = r.ref;
|
|
602
|
+
lastField = r.ref;
|
|
603
|
+
if (step.clear && ref)
|
|
604
|
+
await ds.ad.call(["clear", ref], { allowFail: true });
|
|
605
|
+
await sleepIf(0.15);
|
|
606
|
+
}
|
|
607
|
+
else
|
|
608
|
+
ts.actionAt = now();
|
|
609
|
+
const text = step.type;
|
|
610
|
+
ts.typed = step.secret ? "•".repeat(text.length) : text;
|
|
611
|
+
const delays = typingDelays(text, scenario.typingSpeed ?? 1, i + 1);
|
|
612
|
+
if (!record) {
|
|
536
613
|
if (ref)
|
|
537
|
-
await ds.ad.call(["type", ref,
|
|
614
|
+
await ds.ad.call(["type", ref, text]);
|
|
538
615
|
else
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
await sleep(Math.max(0, delays[k] - spent) * 1000);
|
|
616
|
+
for (const ch of text)
|
|
617
|
+
await ds.press(ch === " " ? "space" : ch, where);
|
|
542
618
|
}
|
|
619
|
+
else {
|
|
620
|
+
// Type in small chunks so the text appears progressively, like a person typing.
|
|
621
|
+
for (let k = 0; k < text.length; k++) {
|
|
622
|
+
stopIfAsked();
|
|
623
|
+
const ch = text[k];
|
|
624
|
+
const t1 = Date.now();
|
|
625
|
+
if (ref)
|
|
626
|
+
await ds.ad.call(["type", ref, ch]);
|
|
627
|
+
else
|
|
628
|
+
await ds.press(ch === " " ? "space" : ch, where);
|
|
629
|
+
const spent = (Date.now() - t1) / 1000;
|
|
630
|
+
await sleepIf(Math.max(0, delays[k] - spent));
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
ts.actionEnd = now();
|
|
634
|
+
if (step.submit) {
|
|
635
|
+
await sleepIf(0.25);
|
|
636
|
+
await ds.press("return", where);
|
|
637
|
+
}
|
|
638
|
+
break;
|
|
543
639
|
}
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
await
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
640
|
+
case "press":
|
|
641
|
+
ts.actionAt = now();
|
|
642
|
+
await ds.press(step.press, where);
|
|
643
|
+
break;
|
|
644
|
+
case "scroll": {
|
|
645
|
+
const v = step.scroll;
|
|
646
|
+
const s0 = now();
|
|
647
|
+
if (["down", "up"].includes(v)) {
|
|
648
|
+
const r = await ds.ad.call(["find", ...(await ds.scope(where)), "--role", "scrollarea", "--first"], { allowFail: true });
|
|
649
|
+
const ref = r.data?.match?.ref_id;
|
|
650
|
+
if (!ref)
|
|
651
|
+
throw new StepError(i, label, "no scrollable area found in the app.");
|
|
652
|
+
await ds.ad.call(["scroll", ref, "--direction", v, "--amount", "5"]);
|
|
653
|
+
}
|
|
654
|
+
else if (["top", "bottom"].includes(v)) {
|
|
655
|
+
await ds.press(v === "top" ? "home" : "end", where);
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
const r = await resolve(v);
|
|
659
|
+
if (r.ref)
|
|
660
|
+
await ds.ad.call(["scroll-to", r.ref], { allowFail: true });
|
|
661
|
+
}
|
|
662
|
+
await sleepIf(0.5);
|
|
663
|
+
(ts.scrolls ??= []).push([s0, now()]);
|
|
664
|
+
break;
|
|
564
665
|
}
|
|
565
|
-
|
|
566
|
-
|
|
666
|
+
case "wait": {
|
|
667
|
+
const w0 = now();
|
|
668
|
+
if (typeof step.wait === "number")
|
|
669
|
+
await sleepIf(step.wait);
|
|
670
|
+
else
|
|
671
|
+
await ds.resolve(step.wait, where, (step.timeout ?? 30) * 1000);
|
|
672
|
+
ts.waits.push([w0, now()]);
|
|
673
|
+
break;
|
|
567
674
|
}
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
675
|
+
case "pause":
|
|
676
|
+
await sleepIf(step.pause);
|
|
677
|
+
break;
|
|
678
|
+
case "callout":
|
|
679
|
+
case "highlight":
|
|
680
|
+
case "zoomTo": {
|
|
681
|
+
const r = await resolve(step[kind]);
|
|
682
|
+
ts.box = r.box;
|
|
683
|
+
ts.actionAt = now();
|
|
684
|
+
const d = Math.max(step.duration ?? (kind === "zoomTo" ? 2 : 3), minDuration);
|
|
685
|
+
await sleepIf(d + (kind === "zoomTo" ? 0 : 0.55));
|
|
686
|
+
break;
|
|
572
687
|
}
|
|
573
|
-
await sleepIf(0.5);
|
|
574
|
-
(ts.scrolls ??= []).push([s0, now()]);
|
|
575
|
-
break;
|
|
576
|
-
}
|
|
577
|
-
case "wait": {
|
|
578
|
-
const w0 = now();
|
|
579
|
-
if (typeof step.wait === "number")
|
|
580
|
-
await sleepIf(step.wait);
|
|
581
|
-
else
|
|
582
|
-
await ds.resolve(step.wait, where, (step.timeout ?? 30) * 1000);
|
|
583
|
-
ts.waits.push([w0, now()]);
|
|
584
|
-
break;
|
|
585
688
|
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
case "callout":
|
|
590
|
-
case "highlight":
|
|
591
|
-
case "zoomTo": {
|
|
592
|
-
const r = await resolve(step[kind]);
|
|
593
|
-
ts.box = r.box;
|
|
594
|
-
ts.actionAt = now();
|
|
595
|
-
const d = Math.max(step.duration ?? (kind === "zoomTo" ? 2 : 3), minDuration);
|
|
596
|
-
await sleepIf(d + (kind === "zoomTo" ? 0 : 0.55));
|
|
597
|
-
break;
|
|
598
|
-
}
|
|
599
|
-
}
|
|
689
|
+
})();
|
|
690
|
+
body.catch(() => { });
|
|
691
|
+
await Promise.race([body, stopper.signal]);
|
|
600
692
|
}
|
|
601
693
|
catch (e) {
|
|
694
|
+
stopIfAsked();
|
|
602
695
|
const err = e instanceof StepError ? e : new StepError(i, label, e.message);
|
|
603
696
|
if (!record) {
|
|
604
697
|
checks.push({ index: i, step: label, ok: false, error: err.message, candidates: err.candidates });
|
|
@@ -619,9 +712,10 @@ async function play(loaded, opts) {
|
|
|
619
712
|
steps.push(ts);
|
|
620
713
|
checks.push({ index: i, step: label, ok: true });
|
|
621
714
|
}
|
|
715
|
+
stopIfAsked();
|
|
622
716
|
if (!record)
|
|
623
717
|
return { check: { ok: true, steps: checks } };
|
|
624
|
-
await
|
|
718
|
+
await sleepIf(1);
|
|
625
719
|
const duration = now();
|
|
626
720
|
const rec = recorder;
|
|
627
721
|
await rec.stop();
|
|
@@ -643,6 +737,7 @@ async function play(loaded, opts) {
|
|
|
643
737
|
return { take };
|
|
644
738
|
}
|
|
645
739
|
finally {
|
|
740
|
+
pill?.close();
|
|
646
741
|
await recorder?.stop().catch(() => { });
|
|
647
742
|
await ds.ad.endSession();
|
|
648
743
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/drivers/desktop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../src/drivers/desktop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pill shown at the top of the screen while Screenplay drives the computer: it says that
|
|
3
|
+
* Screenplay is recording (or rehearsing, during a check) and has a Stop button. It is left
|
|
4
|
+
* out of the capture, so it never appears in the video. macOS and Windows; Linux shows none.
|
|
5
|
+
* SCREENPLAY_INDICATOR=0 turns it off.
|
|
6
|
+
*/
|
|
7
|
+
export interface Indicator {
|
|
8
|
+
close(): void;
|
|
9
|
+
}
|
|
10
|
+
/** The exit code of the pill's Stop button. */
|
|
11
|
+
export declare const STOP_CODE = 3;
|
|
12
|
+
export declare function indicatorCommand(label: string, platform?: NodeJS.Platform): [string, string[]] | undefined;
|
|
13
|
+
/** Shows the pill; `onStop` runs when the person presses Stop. Never throws: a recording goes on without it. */
|
|
14
|
+
export declare function showIndicator(label: string, onStop: () => void): Indicator;
|