sourcemonkey 0.0.0-stage → 0.5.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/LICENSE +21 -0
- package/README.md +87 -2
- package/dist/bytes.js +37 -0
- package/dist/channel-placeholder.js +5 -0
- package/dist/collection-scan.js +17 -0
- package/dist/collections.html +353 -0
- package/dist/compare.html +358 -0
- package/dist/composed-source.js +205 -0
- package/dist/connect-prompt.html +47 -0
- package/dist/debug/icons.html +211 -0
- package/dist/debug/storage.html +163 -0
- package/dist/debug-log.js +75 -0
- package/dist/diagnostic-location.js +64 -0
- package/dist/eval-hook.js +308 -0
- package/dist/extension/background.js +5263 -0
- package/dist/extension/channel.js +133 -0
- package/dist/extension/code-links.js +187 -0
- package/dist/extension/code-tabs.js +460 -0
- package/dist/extension/collection-dialog.js +619 -0
- package/dist/extension/collection-display.js +322 -0
- package/dist/extension/collections.js +2905 -0
- package/dist/extension/compare.js +867 -0
- package/dist/extension/concurrency.js +186 -0
- package/dist/extension/connect-grants.js +109 -0
- package/dist/extension/connect-prompt-page.js +70 -0
- package/dist/extension/connect-prompt.js +266 -0
- package/dist/extension/copy-button.js +63 -0
- package/dist/extension/copy-dialog.js +502 -0
- package/dist/extension/copy-preference.js +66 -0
- package/dist/extension/debug/icons.js +203 -0
- package/dist/extension/debug/storage.js +365 -0
- package/dist/extension/deep-link.js +77 -0
- package/dist/extension/delete-dialog.js +432 -0
- package/dist/extension/delete-icon.js +40 -0
- package/dist/extension/details-tooltips.js +66 -0
- package/dist/extension/directories.js +679 -0
- package/dist/extension/export-backup.js +407 -0
- package/dist/extension/export-dialog.js +142 -0
- package/dist/extension/file-access.js +74 -0
- package/dist/extension/file-changes.js +346 -0
- package/dist/extension/frame-info.js +85 -0
- package/dist/extension/github-provider.js +336 -0
- package/dist/extension/glyph.js +84 -0
- package/dist/extension/gm-bindings.js +601 -0
- package/dist/extension/gm-download.js +419 -0
- package/dist/extension/gm-menu.js +228 -0
- package/dist/extension/gm-notification.js +141 -0
- package/dist/extension/gm-originator-map.js +23 -0
- package/dist/extension/gm-tab-data.js +121 -0
- package/dist/extension/gm-tab.js +160 -0
- package/dist/extension/gm-url-change.js +111 -0
- package/dist/extension/gm-url-scheme.js +27 -0
- package/dist/extension/gm-values.js +176 -0
- package/dist/extension/gm-window-control.js +104 -0
- package/dist/extension/gm-xhr-headers.js +333 -0
- package/dist/extension/gm-xhr.js +584 -0
- package/dist/extension/injector.js +3145 -0
- package/dist/extension/install-capture.js +277 -0
- package/dist/extension/line-diff.js +233 -0
- package/dist/extension/local-copy.js +560 -0
- package/dist/extension/local-delete.js +276 -0
- package/dist/extension/location-kinds.js +108 -0
- package/dist/extension/log-format.js +158 -0
- package/dist/extension/managed-changes.js +361 -0
- package/dist/extension/managed-items.js +57 -0
- package/dist/extension/match-index.js +375 -0
- package/dist/extension/missing-scripts.js +66 -0
- package/dist/extension/more-menu.js +109 -0
- package/dist/extension/move-dialog.js +197 -0
- package/dist/extension/offscreen.js +37 -0
- package/dist/extension/options.js +504 -0
- package/dist/extension/page-heading.js +170 -0
- package/dist/extension/page-links.js +199 -0
- package/dist/extension/parse-check-client.js +70 -0
- package/dist/extension/parse-check.js +161 -0
- package/dist/extension/parse-sandbox-host.js +172 -0
- package/dist/extension/parse-sandbox.js +175 -0
- package/dist/extension/popup-commands-open.js +41 -0
- package/dist/extension/popup-view.js +387 -0
- package/dist/extension/popup.js +703 -0
- package/dist/extension/prism-userscript.js +53 -0
- package/dist/extension/refresh-error.js +136 -0
- package/dist/extension/refresh-targets.js +160 -0
- package/dist/extension/related-versions.js +1144 -0
- package/dist/extension/resize-observer-loop.js +19 -0
- package/dist/extension/row-cache.js +387 -0
- package/dist/extension/script-blobs.js +413 -0
- package/dist/extension/script-details.js +658 -0
- package/dist/extension/script-enablement.js +285 -0
- package/dist/extension/script-identity.js +310 -0
- package/dist/extension/script-keys.js +54 -0
- package/dist/extension/script-log-id.js +155 -0
- package/dist/extension/script-log.js +290 -0
- package/dist/extension/script-rejection.js +104 -0
- package/dist/extension/script-sites.js +158 -0
- package/dist/extension/script-store.js +3507 -0
- package/dist/extension/script-updater.js +991 -0
- package/dist/extension/script-url-hash.js +61 -0
- package/dist/extension/select-all.js +37 -0
- package/dist/extension/select-open-guard.js +90 -0
- package/dist/extension/site-icon.js +1261 -0
- package/dist/extension/sm-dev-link.js +302 -0
- package/dist/extension/solo-click.js +58 -0
- package/dist/extension/sticky-numbers.js +188 -0
- package/dist/extension/storage-breakdown.js +253 -0
- package/dist/extension/storage-scan.js +86 -0
- package/dist/extension/storage-usage.js +194 -0
- package/dist/extension/structural-keys.js +29 -0
- package/dist/extension/sw-teardown.js +36 -0
- package/dist/extension/tab-status.js +403 -0
- package/dist/extension/toolbar-summary.js +105 -0
- package/dist/extension/user-scripts-access.js +43 -0
- package/dist/extension/userscript.js +3672 -0
- package/dist/extension/value-store.js +204 -0
- package/dist/extension/version-probe-fetch.js +68 -0
- package/dist/extension/worker-client.js +109 -0
- package/dist/extension/worker-ops.js +171 -0
- package/dist/extension/zip-writer.js +24 -0
- package/dist/external-files.js +878 -0
- package/dist/file-loader.js +436 -0
- package/dist/file-locations.js +439 -0
- package/dist/generated-wrappers.js +5 -0
- package/dist/github-auth.js +148 -0
- package/dist/github-urls.js +46 -0
- package/dist/gm-api-catalog.js +217 -0
- package/dist/gm-connect.js +273 -0
- package/dist/gm-xhr-types.js +5 -0
- package/dist/http-read.js +142 -0
- package/dist/icons/icon-128.png +0 -0
- package/dist/icons/icon-16.png +0 -0
- package/dist/icons/icon-48.png +0 -0
- package/dist/local-file-overrides.js +558 -0
- package/dist/manifest.json +38 -0
- package/dist/markup-response.js +126 -0
- package/dist/match-targets.js +305 -0
- package/dist/menu-captions.js +22 -0
- package/dist/offscreen.html +39 -0
- package/dist/options.html +197 -0
- package/dist/parse-check-protocol.js +51 -0
- package/dist/parse-location.js +171 -0
- package/dist/parse-sandbox.html +56 -0
- package/dist/phase-timing.js +155 -0
- package/dist/popup.html +197 -0
- package/dist/public-suffixes.js +6957 -0
- package/dist/run-context.js +31 -0
- package/dist/runtime-messages.js +34 -0
- package/dist/sandboxed-page.js +35 -0
- package/dist/script-build.js +787 -0
- package/dist/script-display.js +383 -0
- package/dist/script-icon.js +43 -0
- package/dist/script-links.js +204 -0
- package/dist/script-source-url.js +214 -0
- package/dist/script-world.js +65 -0
- package/dist/sm-dev-protocol.js +84 -0
- package/dist/source-map.js +177 -0
- package/dist/stack-link.js +138 -0
- package/dist/styles.css +825 -0
- package/dist/unsafe-window-use.js +229 -0
- package/dist/url-match.js +734 -0
- package/dist/userscript-header.js +248 -0
- package/dist/userscript.html +1165 -0
- package/dist/vendor/fflate.LICENSE +21 -0
- package/dist/vendor/fflate.js +2692 -0
- package/dist/vendor/prism/prism-line-numbers.css +1 -0
- package/dist/vendor/prism/prism-line-numbers.js +1 -0
- package/dist/vendor/prism/prism.css +1 -0
- package/dist/vendor/prism/prism.js +1946 -0
- package/dist/version-compare.js +141 -0
- package/dist/version-probe.js +120 -0
- package/lib/build-info.json +1 -0
- package/lib/bytes.d.ts +3 -0
- package/lib/bytes.js +37 -0
- package/lib/channel-placeholder.d.ts +1 -0
- package/lib/channel-placeholder.js +5 -0
- package/lib/collection-scan.d.ts +8 -0
- package/lib/collection-scan.js +17 -0
- package/lib/composed-source.d.ts +28 -0
- package/lib/composed-source.js +205 -0
- package/lib/debug-log.d.ts +9 -0
- package/lib/debug-log.js +75 -0
- package/lib/diagnostic-location.d.ts +8 -0
- package/lib/diagnostic-location.js +64 -0
- package/lib/eval-hook.d.ts +34 -0
- package/lib/eval-hook.js +308 -0
- package/lib/external-files.d.ts +111 -0
- package/lib/external-files.js +878 -0
- package/lib/file-loader.d.ts +48 -0
- package/lib/file-loader.js +436 -0
- package/lib/file-locations.d.ts +44 -0
- package/lib/file-locations.js +439 -0
- package/lib/generated-wrappers.d.ts +11 -0
- package/lib/generated-wrappers.js +5 -0
- package/lib/github-auth.d.ts +12 -0
- package/lib/github-auth.js +148 -0
- package/lib/github-urls.d.ts +1 -0
- package/lib/github-urls.js +46 -0
- package/lib/gm-api-catalog.d.ts +24 -0
- package/lib/gm-api-catalog.js +217 -0
- package/lib/gm-connect.d.ts +34 -0
- package/lib/gm-connect.js +273 -0
- package/lib/gm-xhr-types.d.ts +68 -0
- package/lib/gm-xhr-types.js +5 -0
- package/lib/harness/browser-extensions.d.ts +73 -0
- package/lib/harness/browser-extensions.js +285 -0
- package/lib/harness/browser-lang.d.ts +20 -0
- package/lib/harness/browser-lang.js +86 -0
- package/lib/harness/browser-launch.d.ts +14 -0
- package/lib/harness/browser-launch.js +184 -0
- package/lib/harness/checks.d.ts +110 -0
- package/lib/harness/checks.js +321 -0
- package/lib/harness/cli.d.ts +2 -0
- package/lib/harness/cli.js +2259 -0
- package/lib/harness/command-args.d.ts +91 -0
- package/lib/harness/command-args.js +369 -0
- package/lib/harness/command-lines.d.ts +80 -0
- package/lib/harness/command-lines.js +180 -0
- package/lib/harness/command-list.d.ts +206 -0
- package/lib/harness/command-list.js +1475 -0
- package/lib/harness/console-commands.d.ts +463 -0
- package/lib/harness/console-commands.js +3216 -0
- package/lib/harness/download-watch.d.ts +21 -0
- package/lib/harness/download-watch.js +156 -0
- package/lib/harness/extension-backend.d.ts +41 -0
- package/lib/harness/extension-backend.js +100 -0
- package/lib/harness/extension-host.d.ts +112 -0
- package/lib/harness/extension-host.js +552 -0
- package/lib/harness/extension-launch.d.ts +67 -0
- package/lib/harness/extension-launch.js +285 -0
- package/lib/harness/extension-link.d.ts +315 -0
- package/lib/harness/extension-link.js +607 -0
- package/lib/harness/external-manager.d.ts +146 -0
- package/lib/harness/external-manager.js +414 -0
- package/lib/harness/fixture.d.ts +165 -0
- package/lib/harness/fixture.js +461 -0
- package/lib/harness/frame-sessions.d.ts +71 -0
- package/lib/harness/frame-sessions.js +248 -0
- package/lib/harness/frames.d.ts +68 -0
- package/lib/harness/frames.js +216 -0
- package/lib/harness/help-format.d.ts +17 -0
- package/lib/harness/help-format.js +127 -0
- package/lib/harness/host.d.ts +352 -0
- package/lib/harness/host.js +423 -0
- package/lib/harness/index.d.ts +8 -0
- package/lib/harness/index.js +10 -0
- package/lib/harness/input-file.d.ts +18 -0
- package/lib/harness/input-file.js +61 -0
- package/lib/harness/json-output.d.ts +565 -0
- package/lib/harness/json-output.js +71 -0
- package/lib/harness/manager-actions.d.ts +21 -0
- package/lib/harness/manager-actions.js +129 -0
- package/lib/harness/manager-commands.d.ts +142 -0
- package/lib/harness/manager-commands.js +1196 -0
- package/lib/harness/manager-fetch.d.ts +33 -0
- package/lib/harness/manager-fetch.js +239 -0
- package/lib/harness/managers.d.ts +24 -0
- package/lib/harness/managers.js +27 -0
- package/lib/harness/output-style.d.ts +125 -0
- package/lib/harness/output-style.js +322 -0
- package/lib/harness/page-commands.d.ts +134 -0
- package/lib/harness/page-commands.js +1141 -0
- package/lib/harness/page-output.d.ts +67 -0
- package/lib/harness/page-output.js +139 -0
- package/lib/harness/page-watch.d.ts +171 -0
- package/lib/harness/page-watch.js +607 -0
- package/lib/harness/parse-check-node.d.ts +3 -0
- package/lib/harness/parse-check-node.js +132 -0
- package/lib/harness/path-args.d.ts +22 -0
- package/lib/harness/path-args.js +148 -0
- package/lib/harness/playwright-chromium.d.ts +16 -0
- package/lib/harness/playwright-chromium.js +86 -0
- package/lib/harness/prepare.d.ts +168 -0
- package/lib/harness/prepare.js +364 -0
- package/lib/harness/prompt-editor.d.ts +17 -0
- package/lib/harness/prompt-editor.js +354 -0
- package/lib/harness/prompt-history.d.ts +13 -0
- package/lib/harness/prompt-history.js +89 -0
- package/lib/harness/rebuild-advice.d.ts +6 -0
- package/lib/harness/rebuild-advice.js +39 -0
- package/lib/harness/run-log.d.ts +47 -0
- package/lib/harness/run-log.js +140 -0
- package/lib/harness/run-logs.d.ts +132 -0
- package/lib/harness/run-logs.js +241 -0
- package/lib/harness/run.d.ts +194 -0
- package/lib/harness/run.js +1973 -0
- package/lib/harness/runs.d.ts +229 -0
- package/lib/harness/runs.js +726 -0
- package/lib/harness/save-html.d.ts +39 -0
- package/lib/harness/save-html.js +89 -0
- package/lib/harness/saved-pages.d.ts +120 -0
- package/lib/harness/saved-pages.js +275 -0
- package/lib/harness/script-mark.d.ts +17 -0
- package/lib/harness/script-mark.js +56 -0
- package/lib/harness/snapshot.d.ts +143 -0
- package/lib/harness/snapshot.js +474 -0
- package/lib/harness/stuck-tabs.d.ts +19 -0
- package/lib/harness/stuck-tabs.js +131 -0
- package/lib/harness/tab-refs.d.ts +20 -0
- package/lib/harness/tab-refs.js +80 -0
- package/lib/harness/tampermonkey.d.ts +71 -0
- package/lib/harness/tampermonkey.js +356 -0
- package/lib/harness/tm-ids.d.ts +18 -0
- package/lib/harness/tm-ids.js +88 -0
- package/lib/harness/violentmonkey.d.ts +34 -0
- package/lib/harness/violentmonkey.js +162 -0
- package/lib/harness/wait.d.ts +77 -0
- package/lib/harness/wait.js +458 -0
- package/lib/http-read.d.ts +30 -0
- package/lib/http-read.js +142 -0
- package/lib/local-file-overrides.d.ts +35 -0
- package/lib/local-file-overrides.js +558 -0
- package/lib/manifest.json +38 -0
- package/lib/markup-response.d.ts +11 -0
- package/lib/markup-response.js +126 -0
- package/lib/match-targets.d.ts +18 -0
- package/lib/match-targets.js +305 -0
- package/lib/menu-captions.d.ts +1 -0
- package/lib/menu-captions.js +22 -0
- package/lib/parse-check-protocol.d.ts +27 -0
- package/lib/parse-check-protocol.js +51 -0
- package/lib/parse-location.d.ts +12 -0
- package/lib/parse-location.js +171 -0
- package/lib/phase-timing.d.ts +12 -0
- package/lib/phase-timing.js +155 -0
- package/lib/public-suffixes.d.ts +1 -0
- package/lib/public-suffixes.js +6957 -0
- package/lib/run-context.d.ts +2 -0
- package/lib/run-context.js +31 -0
- package/lib/runtime-messages.d.ts +10 -0
- package/lib/runtime-messages.js +34 -0
- package/lib/sandboxed-page.d.ts +5 -0
- package/lib/sandboxed-page.js +35 -0
- package/lib/script-build.d.ts +111 -0
- package/lib/script-build.js +787 -0
- package/lib/script-display.d.ts +51 -0
- package/lib/script-display.js +383 -0
- package/lib/script-icon.d.ts +16 -0
- package/lib/script-icon.js +43 -0
- package/lib/script-links.d.ts +24 -0
- package/lib/script-links.js +204 -0
- package/lib/script-source-url.d.ts +8 -0
- package/lib/script-source-url.js +214 -0
- package/lib/script-world.d.ts +6 -0
- package/lib/script-world.js +65 -0
- package/lib/sm-dev-protocol.d.ts +251 -0
- package/lib/sm-dev-protocol.js +84 -0
- package/lib/source-map.d.ts +32 -0
- package/lib/source-map.js +177 -0
- package/lib/stack-link.d.ts +15 -0
- package/lib/stack-link.js +138 -0
- package/lib/unsafe-window-use.d.ts +1 -0
- package/lib/unsafe-window-use.js +229 -0
- package/lib/url-match.d.ts +40 -0
- package/lib/url-match.js +734 -0
- package/lib/userscript-header.d.ts +33 -0
- package/lib/userscript-header.js +248 -0
- package/lib/version-compare.d.ts +6 -0
- package/lib/version-compare.js +141 -0
- package/lib/version-probe.d.ts +17 -0
- package/lib/version-probe.js +120 -0
- package/package.json +55 -3
- package/skills/SourceMonkey-dev/SKILL.md +868 -0
- package/skills/SourceMonkey-dev/references/cdp.md +293 -0
- package/skills/SourceMonkey-dev/references/commands.md +297 -0
- package/skills/SourceMonkey-dev/references/other-managers.md +63 -0
- package/skills/SourceMonkey-dev/references/specs.md +46 -0
- package/skills/SourceMonkey-friction/SKILL.md +103 -0
- package/skills/SourceMonkey-friction/references/template.md +59 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { Browser, BrowserContext, Page } from '@playwright/test';
|
|
2
|
+
import { type ManagerName } from './managers.js';
|
|
3
|
+
import { type LogFields, type LogSource } from './run-logs.js';
|
|
4
|
+
import { type SavedPageStart } from './saved-pages.js';
|
|
5
|
+
import { type SentCommand } from './runs.js';
|
|
6
|
+
export interface RunOptions extends ConnectOptions {
|
|
7
|
+
files: string[];
|
|
8
|
+
/** `files` as they were typed, in the same order, for errors to name them so. */
|
|
9
|
+
given?: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Each file's name as typed, `given` and those `load` adds: a file
|
|
12
|
+
* that won't prepare is named as the person named it.
|
|
13
|
+
*/
|
|
14
|
+
typed?: Map<string, string>;
|
|
15
|
+
/**
|
|
16
|
+
* The pages to open, one tab each. Defaults to the first URL the first
|
|
17
|
+
* script's `@match` implies.
|
|
18
|
+
*/
|
|
19
|
+
urls?: string[];
|
|
20
|
+
/**
|
|
21
|
+
* `--from-saved`: for each of `urls`, the saved page its tab serves
|
|
22
|
+
* there, or null for a live one.
|
|
23
|
+
*/
|
|
24
|
+
saved?: (SavedPageStart | null)[];
|
|
25
|
+
/**
|
|
26
|
+
* Open each script's default page, one tab per distinct page, rather
|
|
27
|
+
* than one page for the first script.
|
|
28
|
+
*/
|
|
29
|
+
all?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Open no tab at startup. The typed `newtab` opens one later; tabs
|
|
32
|
+
* the person opens run none of the run's scripts.
|
|
33
|
+
*/
|
|
34
|
+
noTab?: boolean;
|
|
35
|
+
/** Re-push and reload whenever a script or one of its files changes. */
|
|
36
|
+
watch?: boolean;
|
|
37
|
+
/** Seed `GM_*` storage for every script before it runs. */
|
|
38
|
+
values?: Record<string, unknown>;
|
|
39
|
+
/** The log sources the run's stream and log file show (`start --log-source`). */
|
|
40
|
+
logSources?: ReadonlySet<LogSource>;
|
|
41
|
+
collectionRoot: string;
|
|
42
|
+
localRoots: string[];
|
|
43
|
+
/** Where the stream goes: plain text, or with markup when `markup` is set. */
|
|
44
|
+
out: (line: string) => void;
|
|
45
|
+
/** Lines to `out` keep their markup (output-style.ts), for an `out` that paints them. */
|
|
46
|
+
markup?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Logs a line of one of the log sources (see run-logs.ts), which the
|
|
49
|
+
* stream shows when its source is one it shows. Set by `run`.
|
|
50
|
+
*/
|
|
51
|
+
emit?: (fields: LogFields) => void;
|
|
52
|
+
/** Resolves when the run should end (stop, a signal, --stop-after-seconds). Omit to return after the first load. */
|
|
53
|
+
until?: Promise<void>;
|
|
54
|
+
/** Called when a client's `stop` asks for the run to end. */
|
|
55
|
+
onStop?: () => void;
|
|
56
|
+
/** Called once the run has a browser connection, and so something to clean up. */
|
|
57
|
+
onConnected?: () => void;
|
|
58
|
+
/**
|
|
59
|
+
* Called once the run has started: its pages loaded and scripts
|
|
60
|
+
* started, and sent commands taken. With its id, or none when other
|
|
61
|
+
* shells can't reach it.
|
|
62
|
+
*/
|
|
63
|
+
onReady?: (id: string | undefined) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Called as each sent command starts and ends, and as clients start and
|
|
66
|
+
* stop following the run, for `--stop-after-idle-seconds` to count from. `watched`:
|
|
67
|
+
* whether a client follows the run now, which keeps it from going idle.
|
|
68
|
+
*/
|
|
69
|
+
onActivity?: (watched: boolean) => void;
|
|
70
|
+
/** Started by `--detach`, as the run's record says, for a later `--detach` to replace. */
|
|
71
|
+
detached?: boolean;
|
|
72
|
+
/** The run's log file (see run-log.ts), linked by the run's id. */
|
|
73
|
+
log?: string;
|
|
74
|
+
/** The id `start --run` asked for, rather than the lowest free one. */
|
|
75
|
+
runId?: string;
|
|
76
|
+
/** The process id of the client that started the run (see commandMark). */
|
|
77
|
+
primaryPid?: number;
|
|
78
|
+
/** Don't wait for the tabs to settle before taking commands (`--nowait`). */
|
|
79
|
+
noWait?: boolean;
|
|
80
|
+
/** `start --timeout-seconds`, in ms: each first load, and the settling after. */
|
|
81
|
+
timeoutMs?: number;
|
|
82
|
+
}
|
|
83
|
+
export interface ConnectOptions {
|
|
84
|
+
/** The browser to connect to, or with `tempBrowser`, the port to launch it on. */
|
|
85
|
+
cdp?: string;
|
|
86
|
+
/**
|
|
87
|
+
* `--manager`: the userscript manager the run works with, and a
|
|
88
|
+
* `tempBrowser` loads. SourceMonkey when not given.
|
|
89
|
+
*/
|
|
90
|
+
manager?: ManagerName;
|
|
91
|
+
/**
|
|
92
|
+
* A temp browser: launch a Chromium of the run's own, with the
|
|
93
|
+
* package's own build of SourceMonkey (or `manager`) loaded.
|
|
94
|
+
*/
|
|
95
|
+
tempBrowser?: boolean;
|
|
96
|
+
headed?: boolean;
|
|
97
|
+
/** With `tempBrowser`: whether it has sound (false), or is muted (the default). */
|
|
98
|
+
muted?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* `--lang`: the languages the run's tabs prefer (see browser-lang.ts).
|
|
101
|
+
* A `tempBrowser` is launched with them too.
|
|
102
|
+
*/
|
|
103
|
+
lang?: string[];
|
|
104
|
+
/** Resolves to give up connecting (--stop-after-seconds): ends a wait for tabs that don't answer. */
|
|
105
|
+
until?: Promise<void>;
|
|
106
|
+
/** The run's log file, which a `tempBrowser`'s downloads folder is named after. */
|
|
107
|
+
log?: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A `--browser` value as a URL Playwright can connect to: a port alone
|
|
111
|
+
* (`9222`, `:9222`) means this machine, and a host with no scheme gets
|
|
112
|
+
* `http://`. Also the key runs record their tabs under, so the port
|
|
113
|
+
* and no-scheme spellings match the URL they stand for; `localhost`
|
|
114
|
+
* and `127.0.0.1` still differ. An IPv6 host needs brackets
|
|
115
|
+
* (`[::1]:9222`), as in a URL.
|
|
116
|
+
*/
|
|
117
|
+
export declare function cdpEndpoint(value: string): string;
|
|
118
|
+
/**
|
|
119
|
+
* Whether two `--browser` values name the same browser: as
|
|
120
|
+
* `cdpEndpoint` writes them, with `localhost` and `[::1]` the same as
|
|
121
|
+
* `127.0.0.1`.
|
|
122
|
+
*/
|
|
123
|
+
export declare function sameBrowser(a: string, b: string): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* The browser to use: `--browser` (`given`), else $SM_DEV_BROWSER, else
|
|
126
|
+
* port 9233. Empty counts as unset, so an exported-but-blank variable
|
|
127
|
+
* doesn't become `http://`.
|
|
128
|
+
*/
|
|
129
|
+
export declare function browserSetting(given?: string): string;
|
|
130
|
+
/**
|
|
131
|
+
* ` --existing-browser`, with the address (`addressArg`), for advice to
|
|
132
|
+
* run a command against the browser at `endpoint`. Empty for a launched
|
|
133
|
+
* one (`launched`), which closes with the run, so the advice goes to
|
|
134
|
+
* the run.
|
|
135
|
+
*/
|
|
136
|
+
export declare function browserArg(endpoint: string, launched?: boolean): string;
|
|
137
|
+
/** ` --browser <address>`, unless `endpoint` is the default browser. */
|
|
138
|
+
export declare function addressArg(endpoint: string): string;
|
|
139
|
+
/**
|
|
140
|
+
* Where the browser setting came from, for a message about it: the
|
|
141
|
+
* variable when `--browser` wasn't given. $SM_DEV_BROWSER used to name
|
|
142
|
+
* the Chrome binary, so a stale one shouldn't be blamed on the flag.
|
|
143
|
+
*/
|
|
144
|
+
export declare function browserSettingName(given: string | undefined): string;
|
|
145
|
+
export interface BrowserSession {
|
|
146
|
+
browser: Browser;
|
|
147
|
+
/** The browser's CDP endpoint, a launched one's too. */
|
|
148
|
+
endpoint: string;
|
|
149
|
+
/** Launched for this run (a temp browser), and closed with it. */
|
|
150
|
+
launched: boolean;
|
|
151
|
+
/** Running without a window. */
|
|
152
|
+
headless: boolean;
|
|
153
|
+
/** Where a launched browser saves downloads. A connected one keeps its own setting. */
|
|
154
|
+
downloadsDir?: string;
|
|
155
|
+
context: BrowserContext;
|
|
156
|
+
page: Page;
|
|
157
|
+
/**
|
|
158
|
+
* Lines about the tab taken, for after the line naming the browser
|
|
159
|
+
* (`run`), or printed at once by `connectBrowser`.
|
|
160
|
+
*/
|
|
161
|
+
notes: string[];
|
|
162
|
+
/**
|
|
163
|
+
* End the session: a launched browser is closed; a connected one is
|
|
164
|
+
* only disconnected, and its tabs, this page included, stay open.
|
|
165
|
+
*/
|
|
166
|
+
done(): Promise<void>;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* `runTab`: in a connected browser, open the run's tab with
|
|
170
|
+
* `openRunTab`, which closes the selected tab when an earlier,
|
|
171
|
+
* finished run opened it.
|
|
172
|
+
*/
|
|
173
|
+
export declare function connectBrowser(opts: ConnectOptions, out: (line: string) => void, { runTab }?: {
|
|
174
|
+
runTab?: boolean | undefined;
|
|
175
|
+
}): Promise<BrowserSession | null>;
|
|
176
|
+
/**
|
|
177
|
+
* The browser at `--browser` (`cdp`), with no run and no tab, for the
|
|
178
|
+
* commands that only talk to SourceMonkey (`collection list`). Null,
|
|
179
|
+
* having said why, when it couldn't connect.
|
|
180
|
+
*/
|
|
181
|
+
export declare function connectWithoutRun(cdp: string | undefined, out: (line: string) => void): Promise<Omit<BrowserSession, 'page'> | null>;
|
|
182
|
+
export declare function run(opts: RunOptions): Promise<number>;
|
|
183
|
+
/**
|
|
184
|
+
* How a sent command is headed in the log and to the clients following
|
|
185
|
+
* the run: who sent it (`primary`, the client that started the run, or
|
|
186
|
+
* `remote`, any other) and how it got it (`arg`, `stdin`, `prompt`), as
|
|
187
|
+
* `primary:arg >`. A client heads its own without the who.
|
|
188
|
+
*/
|
|
189
|
+
export declare function commandMark(sent: Pick<SentCommand, 'pid' | 'source'>, primaryPid: number | undefined): string;
|
|
190
|
+
/**
|
|
191
|
+
* What a call into SourceMonkey throws in a run under another manager,
|
|
192
|
+
* which has no SourceMonkey to call.
|
|
193
|
+
*/
|
|
194
|
+
export declare function runUses(manager: ManagerName): string;
|