swarmbox 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -1
- package/dist/fleet/browser.d.ts +10 -4
- package/dist/fleet/browser.d.ts.map +1 -1
- package/dist/fleet/browser.js +15 -5
- package/dist/fleet/browser.js.map +1 -1
- package/dist/fleet/sight.d.ts +45 -0
- package/dist/fleet/sight.d.ts.map +1 -1
- package/dist/fleet/sight.js +185 -2
- package/dist/fleet/sight.js.map +1 -1
- package/dist/harness.d.ts +55 -1
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +204 -37
- package/dist/harness.js.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +5 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +77 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/product.d.ts +19 -3
- package/dist/product.d.ts.map +1 -1
- package/dist/redact.d.ts +13 -0
- package/dist/redact.d.ts.map +1 -0
- package/dist/redact.js +226 -0
- package/dist/redact.js.map +1 -0
- package/dist/requests.d.ts +60 -0
- package/dist/requests.d.ts.map +1 -0
- package/dist/requests.js +137 -0
- package/dist/requests.js.map +1 -0
- package/dist/standins/builtin/email/index.d.ts.map +1 -1
- package/dist/standins/builtin/email/index.js +238 -8
- package/dist/standins/builtin/email/index.js.map +1 -1
- package/dist/standins/builtin/email/manifest.json +6 -2
- package/dist/standins/runner.d.ts.map +1 -1
- package/dist/standins/runner.js +25 -9
- package/dist/standins/runner.js.map +1 -1
- package/dist/standins/sdk.js +8 -0
- package/dist/standins/sdk.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -14,14 +14,24 @@ Built for Swarmify's agents, and usable by any team whose product runs locally.
|
|
|
14
14
|
says what is in the way; of two buttons with one name, the one in the dialog in front is meant.
|
|
15
15
|
- **Worlds.** Each run starts your product the way it is deployed, with its own data, on tenant hosts that
|
|
16
16
|
resolve only inside the browsers Swarmbox launches. Nothing is shared with other runs or with real data.
|
|
17
|
+
Name what your pages load from outside (`browserAllow`: fonts, maps), or say `contain: true`, and a world's
|
|
18
|
+
browsers reach only the world, its stand-ins and those; anything else is blocked and shows as a signal.
|
|
19
|
+
Without either they can reach anything this machine can, and `world_list` says so: if your app knows a real
|
|
20
|
+
outside address (an identity provider, an API), contain it.
|
|
17
21
|
- **People.** Everyone in the world, signed in without a password, each on their own screen; a tablet
|
|
18
22
|
app past its first screen; a customer at a link, with no sign-in at all. Any screen can be a phone, a
|
|
19
23
|
tablet either way up or a desktop, light or dark.
|
|
20
24
|
- **The device and props.** Swarmbox makes the photos, documents and signatures a person would use, each tagged
|
|
21
25
|
with its id. It puts them in a screen's file chooser (a tablet's camera button) or in front of its live camera,
|
|
22
26
|
and sets where the device is and whether it shows notifications.
|
|
27
|
+
- **Hands on the screen.** Click, type, choose, press keys, scroll, draw (a signature pad) and drag with the pointer
|
|
28
|
+
(a block onto another lane, an edge to resize, a box onto a page below the fold, scrolling on the way), each
|
|
29
|
+
element found by its accessible role and name. A styled
|
|
30
|
+
radio or checkbox is clicked through the label drawn over it, and of two alike in stacked layers, the one in
|
|
31
|
+
front is taken.
|
|
23
32
|
- **Time.** Move a world's clock forward, and every screen follows; people stay signed in across the jump
|
|
24
|
-
(`renewSignIn`). A
|
|
33
|
+
(`renewSignIn`). A kept world that comes back with its clock moved on an earlier run starts its screens on its
|
|
34
|
+
own time. A scenario can say when its day starts (`world.startsAt`: "09:00", or a date and time
|
|
25
35
|
in the tenant's zone, to test across a time change). Swarmbox works out times with Node's tzdata; a
|
|
26
36
|
screen shows them with Chromium's own, and the two can differ on a zone whose rules changed recently.
|
|
27
37
|
A time a screen shows an hour out may be that, not your product.
|
|
@@ -31,6 +41,10 @@ Built for Swarmify's agents, and usable by any team whose product runs locally.
|
|
|
31
41
|
actions on that screen are refused.
|
|
32
42
|
- **The world's own log** (`world_log`), when the product shares it: the stack behind a screen's
|
|
33
43
|
"something went wrong", while the world runs.
|
|
44
|
+
- **A screen's own requests** (`screen_requests`): what it asked its servers for, with status, timing, and the
|
|
45
|
+
start of what was sent and what came back, and what it keeps open (a live stream). An action's "refused:" line
|
|
46
|
+
gives each refusal's number, with the server's reason (`error.message`, or FastAPI's `detail`). No headers are
|
|
47
|
+
kept, and secrets in addresses and bodies are redacted.
|
|
34
48
|
- **A daily budget** in browser-minutes and runs.
|
|
35
49
|
|
|
36
50
|
## Install
|
|
@@ -64,6 +78,18 @@ A product can take options of its own for a world (`worldOptions`, as zod fields
|
|
|
64
78
|
migrating from another system, a feature switched on. `world_create` takes them as `options` and a
|
|
65
79
|
scenario as `world.options`.
|
|
66
80
|
|
|
81
|
+
What adapters have learnt so far:
|
|
82
|
+
|
|
83
|
+
- **Mint sessions on the world's time.** A world's clock can be days ahead of the machine's, so a session dated on
|
|
84
|
+
the machine's clock may already be over to the product. Date it from the product's own clock (its hooks).
|
|
85
|
+
- **Renew by extending, not replacing** (`renewSignIn`). An open page often keeps something derived from its
|
|
86
|
+
session (a CSRF token); a fresh session under it ends in the product's "sign in again".
|
|
87
|
+
- **Share the server's output** (`log`): `world_log` is how an agent gets from a screen's "something went wrong" to
|
|
88
|
+
the stack.
|
|
89
|
+
- **In the product's own tests, check for the tools it relies on, not Swarmbox's whole list**: each release adds
|
|
90
|
+
tools.
|
|
91
|
+
- **Give each of the product's system tests its own port**, apart from the one a running sandbox uses.
|
|
92
|
+
|
|
67
93
|
### In production
|
|
68
94
|
|
|
69
95
|
A product that uses stand-ins calls the guard as it starts in production, before it builds any provider client:
|
package/dist/fleet/browser.d.ts
CHANGED
|
@@ -21,11 +21,15 @@ export interface FleetOptions {
|
|
|
21
21
|
to: string;
|
|
22
22
|
}[];
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
* A routed provider page is the stand-in's own code in the browser, so the world's browsers then reach only the
|
|
26
|
-
* world's hosts, the routed origins and these; every other request and WebSocket is blocked.
|
|
24
|
+
* In a contained world, where else the browsers may go: what the product loads from outside (Product.browserAllow).
|
|
27
25
|
*/
|
|
28
26
|
allowOrigins?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* Keep the browsers inside the world (Product.contain): they reach only the world's hosts, its stand-ins, the
|
|
29
|
+
* routed origins and allowOrigins; every other request and WebSocket is blocked, and there are no service workers.
|
|
30
|
+
* Always so with routes: a routed provider page is the stand-in's own code in the browser.
|
|
31
|
+
*/
|
|
32
|
+
contain?: boolean;
|
|
29
33
|
/**
|
|
30
34
|
* The world's stand-ins' own addresses (http://127.0.0.1:<port>): reachable from its browsers (a presigned
|
|
31
35
|
* upload goes straight to S3's), but when its browsers play a provider's pages, only through the same checked
|
|
@@ -33,7 +37,9 @@ export interface FleetOptions {
|
|
|
33
37
|
*/
|
|
34
38
|
standins?: string[];
|
|
35
39
|
}
|
|
36
|
-
/** Whether a
|
|
40
|
+
/** Whether a world's browsers are kept inside it (FleetOptions.contain). */
|
|
41
|
+
export declare function contained(options: FleetOptions): boolean;
|
|
42
|
+
/** Whether a URL is inside a contained world (FleetOptions.contain): somewhere its browsers may go. */
|
|
37
43
|
export declare function insideWorld(url: string, options: FleetOptions): boolean;
|
|
38
44
|
/**
|
|
39
45
|
* The devices a screen can be. A sign-in's own viewport (a product's tablet app) is the default for that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/fleet/browser.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,IAAI,EAAc,MAAM,iBAAiB,CAAC;AACrG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE,sGAAsG;AACtG,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/fleet/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet/browser.js
CHANGED
|
@@ -108,7 +108,11 @@ async function answerRouted(route, options) {
|
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
/** Whether a
|
|
111
|
+
/** Whether a world's browsers are kept inside it (FleetOptions.contain). */
|
|
112
|
+
export function contained(options) {
|
|
113
|
+
return Boolean(options.contain || options.routes?.length);
|
|
114
|
+
}
|
|
115
|
+
/** Whether a URL is inside a contained world (FleetOptions.contain): somewhere its browsers may go. */
|
|
112
116
|
export function insideWorld(url, options) {
|
|
113
117
|
let u;
|
|
114
118
|
try {
|
|
@@ -164,6 +168,12 @@ export async function launchFleet(options) {
|
|
|
164
168
|
'--disable-renderer-backgrounding',
|
|
165
169
|
],
|
|
166
170
|
...(options.slowMo === undefined ? {} : { slowMo: options.slowMo }),
|
|
171
|
+
// Signals are Swarmbox's (serve): it stops every world, then closes the browsers. Left to Playwright, Ctrl-C
|
|
172
|
+
// closed the browsers and exited the process at once, cutting short a world still stopping: its servers
|
|
173
|
+
// and database were left running.
|
|
174
|
+
handleSIGINT: false,
|
|
175
|
+
handleSIGTERM: false,
|
|
176
|
+
handleSIGHUP: false,
|
|
167
177
|
});
|
|
168
178
|
const browserFor = (origin) => {
|
|
169
179
|
let b = browsers.get(origin);
|
|
@@ -210,8 +220,8 @@ export async function launchFleet(options) {
|
|
|
210
220
|
// The server runs in UTC; a person's browser runs where they are. "Today", "Yesterday" and the
|
|
211
221
|
// year on a byline are decided here, so this machine's zone must not leak in.
|
|
212
222
|
timezoneId: who.persona.timeZone,
|
|
213
|
-
// A contained world has no service workers: one
|
|
214
|
-
...(options
|
|
223
|
+
// A contained world has no service workers: one would answer outside the routes and the checks below.
|
|
224
|
+
...(contained(options) ? { serviceWorkers: 'block' } : {}),
|
|
215
225
|
...shape,
|
|
216
226
|
...(colorScheme ? { colorScheme } : {}),
|
|
217
227
|
});
|
|
@@ -237,7 +247,7 @@ export async function launchFleet(options) {
|
|
|
237
247
|
await context.route(`${origin}/**`, async (route) => route.continue({ headers: { ...(await route.request().allHeaders()), 'x-forwarded-for': ip } }));
|
|
238
248
|
if (signIn?.cookies?.length)
|
|
239
249
|
await setCookies(context, origin, signIn.cookies);
|
|
240
|
-
if (options
|
|
250
|
+
if (contained(options)) {
|
|
241
251
|
// Contained: nothing leaves the world but to its stand-ins and what the product loads from outside.
|
|
242
252
|
await context.route((url) => !insideWorld(url.href, options), (route) => route.abort('blockedbyclient'));
|
|
243
253
|
await context.routeWebSocket((url) => !insideWorld(url.href, options), (ws) => ws.close({ code: 1008, reason: 'outside the world' }));
|
|
@@ -246,7 +256,7 @@ export async function launchFleet(options) {
|
|
|
246
256
|
// reached through the same proxy, so every redirect any of them answers is checked.
|
|
247
257
|
const proxied = [
|
|
248
258
|
...(options.routes ?? []).map((r) => r.origin),
|
|
249
|
-
...(options
|
|
259
|
+
...(contained(options) ? (options.standins ?? []) : []),
|
|
250
260
|
];
|
|
251
261
|
for (const o of proxied)
|
|
252
262
|
await context.route((url) => url.origin === o, (route) => answerRouted(route, options).catch(() => route.abort('connectionrefused').catch(() => undefined)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/fleet/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/fleet/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet/sight.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export interface Glance {
|
|
|
19
19
|
dialogs: string[];
|
|
20
20
|
/** Visible status and alert text. */
|
|
21
21
|
said: string[];
|
|
22
|
+
/** Visible top headings (h1, h2): a view that swaps in place (a "You signed it" page) shows here. */
|
|
23
|
+
headings: string[];
|
|
22
24
|
}
|
|
23
25
|
export declare function glance(page: Page): Promise<Glance>;
|
|
24
26
|
/** Lines saying what moved between two glances; empty when nothing a person would notice did. */
|
|
@@ -40,10 +42,53 @@ export declare function pickAmong(matches: Locator, count: number): Promise<{
|
|
|
40
42
|
export declare function behindModal(el: Locator): Promise<string | null>;
|
|
41
43
|
/** Why a click failed, in a sentence, from Playwright's log of what it tried. */
|
|
42
44
|
export declare function whyNotClicked(e: unknown): string;
|
|
45
|
+
/**
|
|
46
|
+
* Whether what is in front of a control is its own label: a styled radio or checkbox draws its label (or a
|
|
47
|
+
* box inside it) over the real input, and a person clicks that. Clicking the label is then the same click.
|
|
48
|
+
*/
|
|
49
|
+
export declare function coveredByOwnLabel(el: Locator): Promise<boolean>;
|
|
43
50
|
/** A stroke as fractions of the element's box: [x, y] pairs, 0 to 1. */
|
|
44
51
|
export type Stroke = [number, number][];
|
|
45
52
|
/** A signature-like scribble, for a pad that only needs one. */
|
|
46
53
|
export declare const SIGNATURE: Stroke[];
|
|
47
54
|
/** Draws strokes on an element with the pointer, as a finger or a mouse would: down, moves, up. */
|
|
48
55
|
export declare function draw(page: Page, el: Locator, strokes?: Stroke[]): Promise<void>;
|
|
56
|
+
/** Where a drag goes: a point on another element (fractions of its box), or a distance in CSS pixels. */
|
|
57
|
+
export type DragTo = {
|
|
58
|
+
el: Locator;
|
|
59
|
+
at: [number, number];
|
|
60
|
+
} | {
|
|
61
|
+
by: {
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Drags with the pointer, as a person would: press at a point on the element (fractions of its box), move
|
|
68
|
+
* a little first (a drag library starts a drag only once the pointer has moved), then on to the drop in small
|
|
69
|
+
* steps, pause over it (a drop target answers hovering), and let go.
|
|
70
|
+
*
|
|
71
|
+
* A drop below or above the screen is reached as a person reaches it: when both ends fit on the screen at once,
|
|
72
|
+
* the page is scrolled to show them both first; otherwise the wheel is turned while the drag is held, and the
|
|
73
|
+
* pointer follows the drop point as it comes into view. Returns how far it scrolled, in CSS pixels (0: not at all).
|
|
74
|
+
*/
|
|
75
|
+
export declare function drag(page: Page, el: Locator, grab: [number, number], to: DragTo): Promise<number>;
|
|
76
|
+
/** Where a scroll goes: to an element, by a distance, or to one end. */
|
|
77
|
+
export type ScrollTo = {
|
|
78
|
+
el: Locator;
|
|
79
|
+
} | {
|
|
80
|
+
by: {
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
};
|
|
84
|
+
over?: Locator;
|
|
85
|
+
} | {
|
|
86
|
+
end: 'top' | 'bottom';
|
|
87
|
+
over?: Locator;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Scrolls as a person does: an element into view; or the wheel turned over a panel (or the page), by a distance
|
|
91
|
+
* or to one end. Returns how far the page or the panel moved, in CSS pixels.
|
|
92
|
+
*/
|
|
93
|
+
export declare function scroll(page: Page, to: ScrollTo): Promise<number>;
|
|
49
94
|
//# sourceMappingURL=sight.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sight.d.ts","sourceRoot":"","sources":["../../src/fleet/sight.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AASrD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;CACd;AAgCD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAsBnE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAWzD;AAED,6FAA6F;AAC7F,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"sight.d.ts","sourceRoot":"","sources":["../../src/fleet/sight.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet/sight.js
CHANGED
|
@@ -74,8 +74,16 @@ export function dialogsText(dialogs) {
|
|
|
74
74
|
});
|
|
75
75
|
return `${lines.join('\n')}\n--- the page${modal ? ' behind it' : ''} ---`;
|
|
76
76
|
}
|
|
77
|
+
const HEADINGS = 'h1, h2, [role="heading"][aria-level="1"], [role="heading"][aria-level="2"]';
|
|
77
78
|
export async function glance(page) {
|
|
78
|
-
const
|
|
79
|
+
const visibleText = (els) => els
|
|
80
|
+
.filter((e) => {
|
|
81
|
+
const b = e.getBoundingClientRect();
|
|
82
|
+
return b.width > 0 && b.height > 0 && getComputedStyle(e).visibility !== 'hidden';
|
|
83
|
+
})
|
|
84
|
+
.map((e) => (e.innerText ?? e.textContent ?? '').replace(/\s+/g, ' ').trim())
|
|
85
|
+
.filter((t) => t.length > 0);
|
|
86
|
+
const [info, said, headings] = await Promise.all([
|
|
79
87
|
page.locator(DIALOGS).evaluateAll(describeDialogs),
|
|
80
88
|
page.locator(LIVE).evaluateAll((els) => els
|
|
81
89
|
.filter((e) => {
|
|
@@ -85,11 +93,13 @@ export async function glance(page) {
|
|
|
85
93
|
// innerText, as laid out: textContent runs "1:05 p.m." into the next line's "Lakeside".
|
|
86
94
|
.map((e) => (e.innerText ?? e.textContent ?? '').replace(/\s+/g, ' ').trim())
|
|
87
95
|
.filter((t) => t.length > 0)),
|
|
96
|
+
page.locator(HEADINGS).evaluateAll(visibleText),
|
|
88
97
|
]);
|
|
89
98
|
return {
|
|
90
99
|
url: page.url(),
|
|
91
100
|
dialogs: info.filter((d) => d.visible).map((d) => (d.modal ? `${d.title} (modal)` : d.title)),
|
|
92
101
|
said: [...new Set(said)].map((t) => (t.length > 200 ? `${t.slice(0, 200)}…` : t)),
|
|
102
|
+
headings: [...new Set(headings)].map((t) => (t.length > 120 ? `${t.slice(0, 120)}…` : t)),
|
|
93
103
|
};
|
|
94
104
|
}
|
|
95
105
|
/** Lines saying what moved between two glances; empty when nothing a person would notice did. */
|
|
@@ -102,6 +112,14 @@ export function changes(before, after) {
|
|
|
102
112
|
lines.push(`dialog closed: "${d}"`);
|
|
103
113
|
for (const t of gone(after.said, before.said))
|
|
104
114
|
lines.push(`says: "${t}"`);
|
|
115
|
+
// A dialog's own heading is said by "dialog opened"; three at most, so a whole new page doesn't flood it.
|
|
116
|
+
const inDialog = (h) => after.dialogs.some((d) => d.startsWith(h)) || before.dialogs.some((d) => d.startsWith(h));
|
|
117
|
+
const came = gone(after.headings, before.headings).filter((h) => !inDialog(h));
|
|
118
|
+
const went = gone(before.headings, after.headings).filter((h) => !inDialog(h));
|
|
119
|
+
for (const h of came.slice(0, 3))
|
|
120
|
+
lines.push(`heading: "${h}"`);
|
|
121
|
+
for (const h of went.slice(0, 3))
|
|
122
|
+
lines.push(`heading gone: "${h}"`);
|
|
105
123
|
if (before.url !== after.url)
|
|
106
124
|
lines.push(`address: ${pathOf(before.url)} → ${pathOf(after.url)}`);
|
|
107
125
|
return lines;
|
|
@@ -134,10 +152,15 @@ export async function pickAmong(matches, count) {
|
|
|
134
152
|
info: els.map((el) => {
|
|
135
153
|
const d = el.closest('dialog, [role="dialog"], [role="alertdialog"]');
|
|
136
154
|
const b = el.getBoundingClientRect();
|
|
155
|
+
// What a pointer at its middle would land on: itself (or its own label), or something over it,
|
|
156
|
+
// such as the scrim a non-modal layer puts over the page behind it.
|
|
157
|
+
const hit = document.elementFromPoint(b.left + b.width / 2, b.top + b.height / 2);
|
|
158
|
+
const label = hit?.closest('label');
|
|
137
159
|
return {
|
|
138
160
|
dialog: d ? name(d) : null,
|
|
139
161
|
inFront: Boolean(front?.contains(el)),
|
|
140
162
|
visible: b.width > 0 && b.height > 0,
|
|
163
|
+
onTop: Boolean(hit && (el.contains(hit) || label?.contains(el) || label?.control === el)),
|
|
141
164
|
};
|
|
142
165
|
}),
|
|
143
166
|
};
|
|
@@ -152,11 +175,16 @@ export async function pickAmong(matches, count) {
|
|
|
152
175
|
const visible = each.filter((m) => m.visible);
|
|
153
176
|
if (visible.length === 1 && count > 1)
|
|
154
177
|
return { index: visible[0].i, why: 'the only one showing; the others are hidden' };
|
|
178
|
+
// Layers that don't say they are modal (a panel, then a dialog over it with a scrim): the one not covered.
|
|
179
|
+
const onTop = visible.filter((m) => m.onTop);
|
|
180
|
+
if (onTop.length === 1 && visible.length > 1)
|
|
181
|
+
return { index: onTop[0].i, why: 'the only one not covered by another layer' };
|
|
155
182
|
}
|
|
156
183
|
return {
|
|
157
184
|
index: null,
|
|
158
185
|
described: each.map((m) => `${m.i}: ${m.dialog ? `in "${m.dialog}"` : 'on the page'}${m.visible ? '' : ', hidden'}` +
|
|
159
|
-
`${top !== null && !m.inFront ? `, behind the dialog "${top}"` : ''}`
|
|
186
|
+
`${top !== null && !m.inFront ? `, behind the dialog "${top}"` : ''}` +
|
|
187
|
+
`${m.visible && !m.onTop ? ', covered' : ''}`),
|
|
160
188
|
};
|
|
161
189
|
}
|
|
162
190
|
/** When the element is behind the modal dialog in front, that dialog's title: a click there can't land. */
|
|
@@ -191,6 +219,20 @@ export function whyNotClicked(e) {
|
|
|
191
219
|
return 'it never became clickable within 10 s';
|
|
192
220
|
return msg.split('\n')[0].slice(0, 300);
|
|
193
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Whether what is in front of a control is its own label: a styled radio or checkbox draws its label (or a
|
|
224
|
+
* box inside it) over the real input, and a person clicks that. Clicking the label is then the same click.
|
|
225
|
+
*/
|
|
226
|
+
export async function coveredByOwnLabel(el) {
|
|
227
|
+
return el
|
|
228
|
+
.evaluate((n) => {
|
|
229
|
+
const b = n.getBoundingClientRect();
|
|
230
|
+
const hit = document.elementFromPoint(b.left + b.width / 2, b.top + b.height / 2);
|
|
231
|
+
const label = hit?.closest('label');
|
|
232
|
+
return Boolean(label && (label.contains(n) || label.control === n));
|
|
233
|
+
})
|
|
234
|
+
.catch(() => false);
|
|
235
|
+
}
|
|
194
236
|
/** A signature-like scribble, for a pad that only needs one. */
|
|
195
237
|
export const SIGNATURE = [
|
|
196
238
|
[
|
|
@@ -231,4 +273,145 @@ export async function draw(page, el, strokes = SIGNATURE) {
|
|
|
231
273
|
await page.mouse.up();
|
|
232
274
|
}
|
|
233
275
|
}
|
|
276
|
+
/** How far one wheel turn scrolls while a drag is held, as a fraction of the screen's height. */
|
|
277
|
+
const WHEEL_STEP = 0.6;
|
|
278
|
+
/** How close to an edge of the screen a drop point may be, in CSS pixels. */
|
|
279
|
+
const EDGE = 8;
|
|
280
|
+
/**
|
|
281
|
+
* Drags with the pointer, as a person would: press at a point on the element (fractions of its box), move
|
|
282
|
+
* a little first (a drag library starts a drag only once the pointer has moved), then on to the drop in small
|
|
283
|
+
* steps, pause over it (a drop target answers hovering), and let go.
|
|
284
|
+
*
|
|
285
|
+
* A drop below or above the screen is reached as a person reaches it: when both ends fit on the screen at once,
|
|
286
|
+
* the page is scrolled to show them both first; otherwise the wheel is turned while the drag is held, and the
|
|
287
|
+
* pointer follows the drop point as it comes into view. Returns how far it scrolled, in CSS pixels (0: not at all).
|
|
288
|
+
*/
|
|
289
|
+
export async function drag(page, el, grab, to) {
|
|
290
|
+
await el.scrollIntoViewIfNeeded({ timeout: 10_000 });
|
|
291
|
+
const view = page.viewportSize() ?? { width: 1280, height: 800 };
|
|
292
|
+
const scrollY = () => page.evaluate(() => window.scrollY);
|
|
293
|
+
const grabPoint = async () => {
|
|
294
|
+
const box = await el.boundingBox({ timeout: 10_000 });
|
|
295
|
+
if (!box)
|
|
296
|
+
throw new Error('it has no size on screen');
|
|
297
|
+
return { x: box.x + grab[0] * box.width, y: box.y + grab[1] * box.height };
|
|
298
|
+
};
|
|
299
|
+
// A distance is from where it was first held, in the page: it moves with the page as the page scrolls.
|
|
300
|
+
const held = await grabPoint();
|
|
301
|
+
let from = held;
|
|
302
|
+
const startY = await scrollY();
|
|
303
|
+
const destPoint = async () => {
|
|
304
|
+
if ('by' in to)
|
|
305
|
+
return { x: held.x + to.by.x, y: held.y + to.by.y - ((await scrollY()) - startY) };
|
|
306
|
+
const b = await to.el.boundingBox({ timeout: 10_000 });
|
|
307
|
+
if (!b)
|
|
308
|
+
throw new Error('where it goes has no size on screen');
|
|
309
|
+
return { x: b.x + to.at[0] * b.width, y: b.y + to.at[1] * b.height };
|
|
310
|
+
};
|
|
311
|
+
const onScreen = (p) => p.x >= 0 && p.x <= view.width && p.y >= EDGE && p.y <= view.height - EDGE;
|
|
312
|
+
let dest = await destPoint();
|
|
313
|
+
if (dest.x < 0 || dest.x > view.width)
|
|
314
|
+
throw new Error(`the drop point (${Math.round(dest.x)}, ${Math.round(dest.y)}) is beside the screen (${view.width}×${view.height})`);
|
|
315
|
+
let scrolled = 0;
|
|
316
|
+
// Both ends fit: scroll them both into view before taking hold, by the wheel over what is held.
|
|
317
|
+
if (!onScreen(dest) && Math.abs(dest.y - from.y) < view.height - 4 * EDGE) {
|
|
318
|
+
const by = (from.y + dest.y) / 2 - view.height / 2;
|
|
319
|
+
await page.mouse.move(from.x, from.y);
|
|
320
|
+
await page.mouse.wheel(0, by);
|
|
321
|
+
await page.waitForTimeout(150);
|
|
322
|
+
const moved = await grabPoint();
|
|
323
|
+
// What the page moved, not what was asked: it stops at its own end.
|
|
324
|
+
scrolled += from.y - moved.y;
|
|
325
|
+
from = moved;
|
|
326
|
+
dest = await destPoint();
|
|
327
|
+
}
|
|
328
|
+
await page.mouse.move(from.x, from.y);
|
|
329
|
+
await page.mouse.down();
|
|
330
|
+
try {
|
|
331
|
+
await page.mouse.move(from.x + 6, from.y, { steps: 3 });
|
|
332
|
+
// Too far apart to see both: hold it near the edge it goes towards and turn the wheel until the drop shows.
|
|
333
|
+
for (let turns = 0; !onScreen(dest) && turns < 20; turns++) {
|
|
334
|
+
const down = dest.y > view.height;
|
|
335
|
+
const edge = {
|
|
336
|
+
x: Math.min(Math.max(dest.x, EDGE), view.width - EDGE),
|
|
337
|
+
y: down ? view.height - 3 * EDGE : 3 * EDGE,
|
|
338
|
+
};
|
|
339
|
+
await page.mouse.move(edge.x, edge.y, { steps: 8 });
|
|
340
|
+
const step = Math.min(Math.abs(dest.y - edge.y), view.height * WHEEL_STEP) * (down ? 1 : -1);
|
|
341
|
+
await page.mouse.wheel(0, step);
|
|
342
|
+
await page.waitForTimeout(120);
|
|
343
|
+
const next = await destPoint();
|
|
344
|
+
if (Math.abs(next.y - dest.y) < 1)
|
|
345
|
+
throw new Error('the page would not scroll any further towards the drop point; drag in steps');
|
|
346
|
+
scrolled += dest.y - next.y;
|
|
347
|
+
dest = next;
|
|
348
|
+
}
|
|
349
|
+
if (!onScreen(dest))
|
|
350
|
+
throw new Error(`the drop point is still off the screen after scrolling ${Math.round(Math.abs(scrolled))} px`);
|
|
351
|
+
await page.mouse.move(dest.x, dest.y, { steps: 24 });
|
|
352
|
+
await page.waitForTimeout(150);
|
|
353
|
+
}
|
|
354
|
+
catch (e) {
|
|
355
|
+
// Never left holding the button: the next action would drag.
|
|
356
|
+
await page.mouse.up().catch(() => undefined);
|
|
357
|
+
throw e;
|
|
358
|
+
}
|
|
359
|
+
await page.mouse.up();
|
|
360
|
+
return Math.round(Math.abs(scrolled));
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Scrolls as a person does: an element into view; or the wheel turned over a panel (or the page), by a distance
|
|
364
|
+
* or to one end. Returns how far the page or the panel moved, in CSS pixels.
|
|
365
|
+
*/
|
|
366
|
+
export async function scroll(page, to) {
|
|
367
|
+
if ('el' in to) {
|
|
368
|
+
const before = await to.el.boundingBox({ timeout: 10_000 });
|
|
369
|
+
await to.el.scrollIntoViewIfNeeded({ timeout: 10_000 });
|
|
370
|
+
const after = await to.el.boundingBox({ timeout: 10_000 });
|
|
371
|
+
return before && after ? Math.round(Math.abs(before.y - after.y)) : 0;
|
|
372
|
+
}
|
|
373
|
+
const view = page.viewportSize() ?? { width: 1280, height: 800 };
|
|
374
|
+
const box = to.over ? await to.over.boundingBox({ timeout: 10_000 }) : null;
|
|
375
|
+
if (to.over && !box)
|
|
376
|
+
throw new Error('what to scroll has no size on screen');
|
|
377
|
+
const at = box
|
|
378
|
+
? { x: box.x + box.width / 2, y: box.y + box.height / 2 }
|
|
379
|
+
: { x: view.width / 2, y: view.height / 2 };
|
|
380
|
+
// How far along and down the page or the panel under the pointer is, each way: what the wheel moves.
|
|
381
|
+
const position = () => page.evaluate(({ x, y }) => {
|
|
382
|
+
const scroller = (down) => {
|
|
383
|
+
for (let e = document.elementFromPoint(x, y); e; e = e.parentElement) {
|
|
384
|
+
const style = getComputedStyle(e);
|
|
385
|
+
if (down
|
|
386
|
+
? e.scrollHeight > e.clientHeight + 1 && /(auto|scroll)/.test(style.overflowY)
|
|
387
|
+
: e.scrollWidth > e.clientWidth + 1 && /(auto|scroll)/.test(style.overflowX))
|
|
388
|
+
return e;
|
|
389
|
+
}
|
|
390
|
+
return null;
|
|
391
|
+
};
|
|
392
|
+
return {
|
|
393
|
+
x: scroller(false)?.scrollLeft ?? window.scrollX,
|
|
394
|
+
y: scroller(true)?.scrollTop ?? window.scrollY,
|
|
395
|
+
};
|
|
396
|
+
}, at);
|
|
397
|
+
await page.mouse.move(at.x, at.y);
|
|
398
|
+
const start = await position();
|
|
399
|
+
if ('by' in to) {
|
|
400
|
+
await page.mouse.wheel(to.by.x, to.by.y);
|
|
401
|
+
await page.waitForTimeout(150);
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
// To an end: turn the wheel until it stops moving.
|
|
405
|
+
for (let turns = 0, last = start.y; turns < 50; turns++) {
|
|
406
|
+
await page.mouse.wheel(0, (to.end === 'bottom' ? 1 : -1) * view.height * 2);
|
|
407
|
+
await page.waitForTimeout(80);
|
|
408
|
+
const now = (await position()).y;
|
|
409
|
+
if (now === last)
|
|
410
|
+
break;
|
|
411
|
+
last = now;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
const end = await position();
|
|
415
|
+
return Math.round(Math.hypot(end.x - start.x, end.y - start.y));
|
|
416
|
+
}
|
|
234
417
|
//# sourceMappingURL=sight.js.map
|
package/dist/fleet/sight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sight.js","sourceRoot":"","sources":["../../src/fleet/sight.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,sEAAsE;AACtE,EAAE;AACF,wGAAwG;AACxG,mGAAmG;AACnG,yGAAyG;AACzG,2GAA2G;AAC3G,+CAA+C;AAI/C,kFAAkF;AAClF,MAAM,OAAO,GAAG,qDAAqD,CAAC;AACtE,gFAAgF;AAChF,MAAM,IAAI,GAAG,wFAAwF,CAAC;AACtG,oFAAoF;AACpF,MAAM,YAAY,GAAG,MAAM,CAAC;AAgB5B,8FAA8F;AAC9F,SAAS,eAAe,CAAC,GAAc;IACrC,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,QAAQ;iBACL,KAAK,CAAC,KAAK,CAAC;iBACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC9C,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,EAAE;YACX,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACvC,OAAO;YACL,KAAK;YACL,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,MAAM;YACvE,OAAO,EAAE,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;SACtG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAU;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzE,mGAAmG;IACnG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,GAAG;aACnB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACR,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAChC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EACF,IAAI,CAAC,MAAM,GAAG,YAAY;gBACxB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,QAAQ,IAAI,CAAC,MAAM,GAAG,YAAY,mBAAmB;gBACrF,CAAC,CAAC,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,GACR,CAAC,KAAK,KAAK;YACT,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,kDAAkD;YAC3E,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC;QAChE,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;AAC7E,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAU;IACrC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CACrC,GAAG;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAC;YACpC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;QACpF,CAAC,CAAC;YACF,wFAAwF;aACvF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAAiB,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;aAC7F,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/B;KACF,CAAC,CAAC;IACH,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;QACf,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7F,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,KAAa;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iGAAiG;AACjG,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;IAC3B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAgB,EAChB,KAAa;IAEb,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QACtD,iFAAiF;QACjF,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,EAAE,CAC1B,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;YAC5B,CAAC,CAAC,CAAC,aAAa,CAAC,kCAAkC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACvG,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,MAAM,CACjF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,MAAM,CACtE,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACjG,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/B,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;gBACtE,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;gBACrC,OAAO;oBACL,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;iBACrC,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,GAAG,GAAG,EAAE,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,EAAE,6CAA6C,EAAE,CAAC;IACxF,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;YACxF,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE;KACF,CAAC;AACJ,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAW;IAC3C,OAAO,EAAE;SACN,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,EAAE,CAC1B,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;YAC5B,CAAC,CAAC,CAAC,aAAa,CAAC,kCAAkC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACvG,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,MAAM,CACjF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,MAAM,CACtE,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC;IACnC,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,gGAAgG;IAChG,4CAA4C;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAE,CAAW,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,iFAAiF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,IAAI,IAAI;QAAE,OAAO,gCAAgC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC1E,IAAI,4CAA4C,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACpF,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACnE,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,mDAAmD,CAAC;IAClG,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,uCAAuC,CAAC;IACvF,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAKD,gEAAgE;AAChE,MAAM,CAAC,MAAM,SAAS,GAAa;IACjC;QACE,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,GAAG,CAAC;QACX,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,GAAG,EAAE,IAAI,CAAC;QACX,CAAC,IAAI,EAAE,GAAG,CAAC;KACZ;IACD;QACE,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,GAAG,EAAE,IAAI,CAAC;QACX,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,GAAG,CAAC;QACX,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,GAAG,EAAE,IAAI,CAAC;KACZ;CACF,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU,EAAE,EAAW,EAAE,UAAoB,SAAS;IAC/E,MAAM,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACnG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,SAAS;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"sight.js","sourceRoot":"","sources":["../../src/fleet/sight.ts"],"names":[],"mappings":"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"}
|