obsidian-integration-testing 9.2.2 → 10.1.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 +30 -1096
- package/dist/lib/cjs/appium-dependencies.cjs +5 -5
- package/dist/lib/cjs/appium-dependencies.d.cts +4 -2
- package/dist/lib/cjs/appium-session-config.cjs +1 -1
- package/dist/lib/cjs/asar-fallback-detection.cjs +4 -4
- package/dist/lib/cjs/asar-fallback-detection.d.cts +15 -7
- package/dist/lib/cjs/avd-list.cjs +1 -1
- package/dist/lib/cjs/avd-list.d.cts +6 -2
- package/dist/lib/cjs/capture-obsidian-screenshot.cjs +60 -0
- package/dist/lib/cjs/capture-obsidian-screenshot.d.cts +53 -0
- package/dist/lib/cjs/capture-screenshot.cjs +82 -0
- package/dist/lib/cjs/capture-screenshot.d.cts +99 -0
- package/dist/lib/cjs/cli.cjs +4 -4
- package/dist/lib/cjs/compatibility-options.cjs +13 -13
- package/dist/lib/cjs/compatibility-options.d.cts +24 -12
- package/dist/lib/cjs/connect-to-cdp.cjs +10 -4
- package/dist/lib/cjs/connect-to-cdp.d.cts +19 -6
- package/dist/lib/cjs/context-id.cjs +5 -5
- package/dist/lib/cjs/context-id.d.cts +1 -1
- package/dist/lib/cjs/context-provider.cjs +5 -5
- package/dist/lib/cjs/context-provider.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-populate.cjs +5 -5
- package/dist/lib/cjs/demo-vault-populate.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-tree.cjs +4 -4
- package/dist/lib/cjs/demo-vault-tree.d.cts +3 -3
- package/dist/lib/cjs/device-readiness.cjs +3 -3
- package/dist/lib/cjs/device-readiness.d.cts +7 -3
- package/dist/lib/cjs/ecmascript-version.cjs +1 -1
- package/dist/lib/cjs/electron-compatibility.cjs +4 -4
- package/dist/lib/cjs/electron-compatibility.d.cts +33 -17
- package/dist/lib/cjs/emulator-arguments.cjs +36 -0
- package/dist/lib/{esm/emulator-args.d.mts → cjs/emulator-arguments.d.cts} +6 -4
- package/dist/lib/cjs/enable-plugin.cjs +29 -29
- package/dist/lib/cjs/enable-plugin.d.cts +6 -6
- package/dist/lib/cjs/eval-in-obsidian.cjs +9 -9
- package/dist/lib/cjs/eval-in-obsidian.d.cts +23 -23
- package/dist/lib/cjs/exec.cjs +49 -53
- package/dist/lib/cjs/exec.d.cts +9 -9
- package/dist/lib/cjs/function-expression.cjs +8 -8
- package/dist/lib/cjs/function-expression.d.cts +4 -4
- package/dist/lib/cjs/generate-function-call.cjs +6 -6
- package/dist/lib/cjs/generate-function-call.d.cts +15 -9
- package/dist/lib/cjs/global-setup-core.cjs +43 -43
- package/dist/lib/cjs/global-setup-core.d.cts +19 -9
- package/dist/lib/cjs/incompatible-installer-version-error.cjs +10 -4
- package/dist/lib/cjs/incompatible-installer-version-error.d.cts +18 -6
- package/dist/lib/cjs/index.cjs +22 -10
- package/dist/lib/cjs/index.d.cts +12 -8
- package/dist/lib/cjs/installer-asset.cjs +4 -4
- package/dist/lib/cjs/installer-asset.d.cts +21 -7
- package/dist/lib/cjs/installer-compatibility.cjs +4 -4
- package/dist/lib/cjs/installer-compatibility.d.cts +36 -18
- package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +1 -1
- package/dist/lib/cjs/jest/global-setup.cjs +11 -11
- package/dist/lib/cjs/jest/global-setup.d.cts +12 -8
- package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +1 -2
- package/dist/lib/cjs/jest/global-teardown.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown.d.cts +1 -2
- package/dist/lib/cjs/jest/setup.cjs +2 -2
- package/dist/lib/cjs/jest/setup.d.cts +1 -1
- package/dist/lib/cjs/json-with-functions.cjs +7 -7
- package/dist/lib/cjs/leftover-cleanup.cjs +14 -14
- package/dist/lib/cjs/leftover-cleanup.d.cts +42 -20
- package/dist/lib/cjs/library.cjs +2 -2
- package/dist/lib/cjs/namespace-bootstrap.cjs +46 -40
- package/dist/lib/cjs/native-dialog-monitor.cjs +15 -13
- package/dist/lib/cjs/normalize-optional-properties.cjs +3 -3
- package/dist/lib/cjs/normalize-optional-properties.d.cts +2 -2
- package/dist/lib/cjs/obsidian-config.cjs +30 -31
- package/dist/lib/cjs/obsidian-config.d.cts +8 -8
- package/dist/lib/cjs/obsidian-executable.cjs +2 -2
- package/dist/lib/cjs/obsidian-installer.cjs +37 -37
- package/dist/lib/cjs/obsidian-installer.d.cts +7 -3
- package/dist/lib/cjs/obsidian-instance.cjs +3 -3
- package/dist/lib/cjs/obsidian-instance.d.cts +18 -8
- package/dist/lib/cjs/obsidian-metadata.cjs +28 -1
- package/dist/lib/cjs/obsidian-metadata.d.cts +36 -12
- package/dist/lib/cjs/obsidian-namespace.cjs +1 -1
- package/dist/lib/cjs/obsidian-namespace.d.cts +25 -11
- package/dist/lib/cjs/obsidian-version-switch.cjs +9 -9
- package/dist/lib/cjs/obsidian-version-switch.d.cts +14 -10
- package/dist/lib/cjs/obsidian-version.cjs +3 -3
- package/dist/lib/cjs/obsidian-version.d.cts +15 -5
- package/dist/lib/cjs/owned-vault-seed.cjs +1 -1
- package/dist/lib/cjs/owned-vault-seed.d.cts +24 -8
- package/dist/lib/cjs/parent-liveness.cjs +4 -4
- package/dist/lib/cjs/parent-liveness.d.cts +7 -3
- package/dist/lib/cjs/poll-in-obsidian.cjs +5 -5
- package/dist/lib/cjs/poll-in-obsidian.d.cts +12 -12
- package/dist/lib/cjs/poll-until.cjs +1 -1
- package/dist/lib/cjs/poll-until.d.cts +21 -7
- package/dist/lib/cjs/process-exit-message.cjs +1 -1
- package/dist/lib/cjs/process-exit-message.d.cts +21 -7
- package/dist/lib/cjs/renderer-boot-detection.cjs +9 -9
- package/dist/lib/cjs/renderer-boot-detection.d.cts +31 -27
- package/dist/lib/cjs/renderer-failed-to-initialize-error.cjs +1 -1
- package/dist/lib/cjs/renderer-failed-to-initialize-error.d.cts +1 -1
- package/dist/lib/cjs/setup-lock.cjs +26 -26
- package/dist/lib/cjs/setup-lock.d.cts +6 -2
- package/dist/lib/cjs/silent-asar-fallback-error.cjs +7 -3
- package/dist/lib/cjs/silent-asar-fallback-error.d.cts +12 -4
- package/dist/lib/cjs/spawn-options.cjs +1 -1
- package/dist/lib/cjs/spawn-options.d.cts +3 -1
- package/dist/lib/cjs/strict-proxy.cjs +25 -25
- package/dist/lib/cjs/strict-proxy.d.cts +3 -3
- package/dist/lib/cjs/temporary-vault.cjs +166 -0
- package/dist/lib/cjs/{temp-vault.d.cts → temporary-vault.d.cts} +3 -3
- package/dist/lib/cjs/transport-appium.cjs +29 -7
- package/dist/lib/cjs/transport-appium.d.cts +23 -3
- package/dist/lib/cjs/transport-desktop-cdp.cjs +99 -57
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +44 -17
- package/dist/lib/cjs/transport-factory.cjs +62 -63
- package/dist/lib/cjs/transport.cjs +1 -1
- package/dist/lib/cjs/transport.d.cts +15 -0
- package/dist/lib/cjs/type-guards.cjs +8 -3
- package/dist/lib/cjs/type-guards.d.cts +9 -2
- package/dist/lib/cjs/vault-path-match.cjs +9 -9
- package/dist/lib/cjs/vault-path-match.d.cts +11 -11
- package/dist/lib/cjs/version-matrix.cjs +1 -1
- package/dist/lib/cjs/version-matrix.d.cts +51 -17
- package/dist/lib/cjs/visibility.cjs +7 -7
- package/dist/lib/cjs/visibility.d.cts +5 -5
- package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +2 -2
- package/dist/lib/cjs/vitest/global-setup.cjs +9 -9
- package/dist/lib/cjs/vitest/global-setup.d.cts +4 -4
- package/dist/lib/cjs/vitest/setup.cjs +2 -2
- package/dist/lib/cjs/vitest/typings.d.cts +2 -2
- package/dist/lib/esm/appium-dependencies.d.mts +4 -2
- package/dist/lib/esm/appium-dependencies.mjs +4 -4
- package/dist/lib/esm/appium-session-config.mjs +1 -1
- package/dist/lib/esm/asar-fallback-detection.d.mts +15 -7
- package/dist/lib/esm/asar-fallback-detection.mjs +3 -3
- package/dist/lib/esm/avd-list.d.mts +6 -2
- package/dist/lib/esm/avd-list.mjs +1 -1
- package/dist/lib/esm/capture-obsidian-screenshot.d.mts +53 -0
- package/dist/lib/esm/capture-obsidian-screenshot.mjs +29 -0
- package/dist/lib/esm/capture-screenshot.d.mts +99 -0
- package/dist/lib/esm/capture-screenshot.mjs +55 -0
- package/dist/lib/esm/cli.mjs +4 -4
- package/dist/lib/esm/compatibility-options.d.mts +24 -12
- package/dist/lib/esm/compatibility-options.mjs +10 -10
- package/dist/lib/esm/connect-to-cdp.d.mts +19 -6
- package/dist/lib/esm/connect-to-cdp.mjs +12 -6
- package/dist/lib/esm/context-id.d.mts +1 -1
- package/dist/lib/esm/context-id.mjs +5 -5
- package/dist/lib/esm/context-provider.d.mts +4 -4
- package/dist/lib/esm/context-provider.mjs +5 -5
- package/dist/lib/esm/demo-vault-populate.d.mts +4 -4
- package/dist/lib/esm/demo-vault-populate.mjs +5 -5
- package/dist/lib/esm/demo-vault-tree.d.mts +3 -3
- package/dist/lib/esm/demo-vault-tree.mjs +4 -4
- package/dist/lib/esm/device-readiness.d.mts +7 -3
- package/dist/lib/esm/device-readiness.mjs +3 -3
- package/dist/lib/esm/ecmascript-version.mjs +1 -1
- package/dist/lib/esm/electron-compatibility.d.mts +33 -17
- package/dist/lib/esm/electron-compatibility.mjs +3 -3
- package/dist/lib/{cjs/emulator-args.d.cts → esm/emulator-arguments.d.mts} +6 -4
- package/dist/lib/esm/emulator-arguments.mjs +12 -0
- package/dist/lib/esm/enable-plugin.d.mts +6 -6
- package/dist/lib/esm/enable-plugin.mjs +29 -29
- package/dist/lib/esm/eval-in-obsidian.d.mts +23 -23
- package/dist/lib/esm/eval-in-obsidian.mjs +9 -9
- package/dist/lib/esm/exec.d.mts +9 -9
- package/dist/lib/esm/exec.mjs +49 -53
- package/dist/lib/esm/function-expression.d.mts +4 -4
- package/dist/lib/esm/function-expression.mjs +8 -8
- package/dist/lib/esm/generate-function-call.d.mts +15 -9
- package/dist/lib/esm/generate-function-call.mjs +6 -6
- package/dist/lib/esm/global-setup-core.d.mts +19 -9
- package/dist/lib/esm/global-setup-core.mjs +45 -45
- package/dist/lib/esm/incompatible-installer-version-error.d.mts +18 -6
- package/dist/lib/esm/incompatible-installer-version-error.mjs +10 -4
- package/dist/lib/esm/index.d.mts +12 -8
- package/dist/lib/esm/index.mjs +21 -9
- package/dist/lib/esm/installer-asset.d.mts +21 -7
- package/dist/lib/esm/installer-asset.mjs +4 -4
- package/dist/lib/esm/installer-compatibility.d.mts +36 -18
- package/dist/lib/esm/installer-compatibility.mjs +3 -3
- package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +1 -1
- package/dist/lib/esm/jest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/jest/global-setup.d.mts +12 -8
- package/dist/lib/esm/jest/global-setup.mjs +10 -10
- package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +2 -3
- package/dist/lib/esm/jest/global-teardown.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown.mjs +2 -3
- package/dist/lib/esm/jest/setup.d.mts +1 -1
- package/dist/lib/esm/jest/setup.mjs +2 -2
- package/dist/lib/esm/json-with-functions.mjs +7 -7
- package/dist/lib/esm/leftover-cleanup.d.mts +42 -20
- package/dist/lib/esm/leftover-cleanup.mjs +12 -12
- package/dist/lib/esm/library.mjs +2 -2
- package/dist/lib/esm/namespace-bootstrap.mjs +46 -40
- package/dist/lib/esm/native-dialog-monitor.mjs +15 -13
- package/dist/lib/esm/normalize-optional-properties.d.mts +2 -2
- package/dist/lib/esm/normalize-optional-properties.mjs +3 -3
- package/dist/lib/esm/obsidian-config.d.mts +8 -8
- package/dist/lib/esm/obsidian-config.mjs +27 -28
- package/dist/lib/esm/obsidian-executable.mjs +2 -2
- package/dist/lib/esm/obsidian-installer.d.mts +7 -3
- package/dist/lib/esm/obsidian-installer.mjs +36 -36
- package/dist/lib/esm/obsidian-instance.d.mts +18 -8
- package/dist/lib/esm/obsidian-instance.mjs +3 -3
- package/dist/lib/esm/obsidian-metadata.d.mts +36 -12
- package/dist/lib/esm/obsidian-metadata.mjs +28 -1
- package/dist/lib/esm/obsidian-namespace.d.mts +25 -11
- package/dist/lib/esm/obsidian-version-switch.d.mts +14 -10
- package/dist/lib/esm/obsidian-version-switch.mjs +9 -9
- package/dist/lib/esm/obsidian-version.d.mts +15 -5
- package/dist/lib/esm/obsidian-version.mjs +3 -3
- package/dist/lib/esm/owned-vault-seed.d.mts +24 -8
- package/dist/lib/esm/owned-vault-seed.mjs +1 -1
- package/dist/lib/esm/parent-liveness.d.mts +7 -3
- package/dist/lib/esm/parent-liveness.mjs +3 -3
- package/dist/lib/esm/poll-in-obsidian.d.mts +12 -12
- package/dist/lib/esm/poll-in-obsidian.mjs +5 -5
- package/dist/lib/esm/poll-until.d.mts +21 -7
- package/dist/lib/esm/poll-until.mjs +1 -1
- package/dist/lib/esm/process-exit-message.d.mts +21 -7
- package/dist/lib/esm/process-exit-message.mjs +1 -1
- package/dist/lib/esm/renderer-boot-detection.d.mts +31 -27
- package/dist/lib/esm/renderer-boot-detection.mjs +7 -7
- package/dist/lib/esm/renderer-failed-to-initialize-error.d.mts +1 -1
- package/dist/lib/esm/renderer-failed-to-initialize-error.mjs +1 -1
- package/dist/lib/esm/setup-lock.d.mts +6 -2
- package/dist/lib/esm/setup-lock.mjs +26 -26
- package/dist/lib/esm/silent-asar-fallback-error.d.mts +12 -4
- package/dist/lib/esm/silent-asar-fallback-error.mjs +7 -3
- package/dist/lib/esm/spawn-options.d.mts +3 -1
- package/dist/lib/esm/spawn-options.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +3 -3
- package/dist/lib/esm/strict-proxy.mjs +25 -25
- package/dist/lib/esm/{temp-vault.d.mts → temporary-vault.d.mts} +3 -3
- package/dist/lib/esm/temporary-vault.mjs +157 -0
- package/dist/lib/esm/transport-appium.d.mts +23 -3
- package/dist/lib/esm/transport-appium.mjs +32 -7
- package/dist/lib/esm/transport-desktop-cdp.d.mts +44 -17
- package/dist/lib/esm/transport-desktop-cdp.mjs +113 -67
- package/dist/lib/esm/transport-factory.mjs +71 -72
- package/dist/lib/esm/transport.d.mts +15 -0
- package/dist/lib/esm/type-guards.d.mts +9 -2
- package/dist/lib/esm/type-guards.mjs +7 -3
- package/dist/lib/esm/vault-path-match.d.mts +11 -11
- package/dist/lib/esm/vault-path-match.mjs +7 -7
- package/dist/lib/esm/version-matrix.d.mts +51 -17
- package/dist/lib/esm/version-matrix.mjs +1 -1
- package/dist/lib/esm/visibility.d.mts +5 -5
- package/dist/lib/esm/visibility.mjs +5 -5
- package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +2 -2
- package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/vitest/global-setup.d.mts +4 -4
- package/dist/lib/esm/vitest/global-setup.mjs +8 -8
- package/dist/lib/esm/vitest/setup.mjs +2 -2
- package/dist/lib/esm/vitest/typings.d.mts +2 -2
- package/dist/obsidian-integration-testing-10.1.0.tgz +0 -0
- package/package.json +35 -18
- package/dist/lib/cjs/emulator-args.cjs +0 -36
- package/dist/lib/cjs/temp-vault.cjs +0 -166
- package/dist/lib/esm/emulator-args.mjs +0 -12
- package/dist/lib/esm/temp-vault.mjs +0 -157
- package/dist/obsidian-integration-testing-9.2.2.tgz +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Two modes:
|
|
8
8
|
* - **Owned (default)**: the transport launches and owns an isolated Obsidian
|
|
9
|
-
* instance against a temporary `--user-data-
|
|
9
|
+
* instance against a temporary `--user-data-directory` on a free `--remote-debugging-port`,
|
|
10
10
|
* never touching the user's Obsidian. Supports version pinning via the user-data asar.
|
|
11
11
|
* - **Attach**: when an explicit CDP port is configured, the transport connects
|
|
12
12
|
* to an already-running Obsidian on that port.
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* Requirements: Node.js 22+ (uses built-in `WebSocket` and `fetch` globals).
|
|
18
18
|
*/
|
|
19
19
|
import type { AsarFallback } from './asar-fallback-detection.cjs';
|
|
20
|
+
import type { CaptureScreenshotParams } from './capture-screenshot.cjs';
|
|
20
21
|
import type { ElectronCompatibility } from './electron-compatibility.cjs';
|
|
21
22
|
import type { InstallerCompatibility } from './installer-compatibility.cjs';
|
|
22
23
|
import type { ObsidianTransport, TransportEvalOptions } from './transport.cjs';
|
|
@@ -97,22 +98,28 @@ export interface DesktopCdpTransportConfig {
|
|
|
97
98
|
shouldWarnOnCompatibilityIssues?: boolean;
|
|
98
99
|
}
|
|
99
100
|
/**
|
|
100
|
-
* An asar to provision into a harness-owned instance's user-data
|
|
101
|
+
* An asar to provision into a harness-owned instance's user-data directory before launch.
|
|
101
102
|
*/
|
|
102
103
|
export interface OwnedInstanceAsar {
|
|
103
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
Absolute path to the cached/source asar file.
|
|
106
|
+
*/
|
|
104
107
|
readonly path: string;
|
|
105
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
The asar's `x.y.z` version.
|
|
110
|
+
*/
|
|
106
111
|
readonly version: string;
|
|
107
112
|
}
|
|
108
113
|
/**
|
|
109
114
|
* Configuration for a harness-owned, isolated Obsidian instance.
|
|
110
115
|
*
|
|
111
116
|
* When present, the transport launches and owns its own Obsidian process
|
|
112
|
-
* against an isolated user-data
|
|
117
|
+
* against an isolated user-data directory instead of attaching to a running instance.
|
|
113
118
|
*/
|
|
114
119
|
export interface OwnedInstanceConfig {
|
|
115
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
Optional asar to provision into {@link userDataDirectory} before launch.
|
|
122
|
+
*/
|
|
116
123
|
readonly asar?: OwnedInstanceAsar | undefined;
|
|
117
124
|
/**
|
|
118
125
|
* The resolved installer↔app compatibility verdict, when it could be determined
|
|
@@ -123,21 +130,27 @@ export interface OwnedInstanceConfig {
|
|
|
123
130
|
* `IncompatibleInstallerVersionError` before the config is built.
|
|
124
131
|
*/
|
|
125
132
|
readonly compatibility?: InstallerCompatibility | undefined;
|
|
126
|
-
/**
|
|
133
|
+
/**
|
|
134
|
+
Absolute path to the Obsidian shell executable to launch.
|
|
135
|
+
*/
|
|
127
136
|
readonly exePath: string;
|
|
128
137
|
/**
|
|
129
|
-
* Absolute path to the isolated user-data
|
|
138
|
+
* Absolute path to the isolated user-data directory. Created and owned by the
|
|
130
139
|
* transport, and deleted on dispose.
|
|
131
140
|
*/
|
|
132
|
-
readonly
|
|
141
|
+
readonly userDataDirectory: string;
|
|
133
142
|
}
|
|
134
143
|
/**
|
|
135
144
|
* The CDP endpoint of a launched, harness-owned instance.
|
|
136
145
|
*/
|
|
137
146
|
interface OwnedInstanceEndpoint {
|
|
138
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
CDP host (e.g. `'localhost'`).
|
|
149
|
+
*/
|
|
139
150
|
readonly host: string;
|
|
140
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
The free CDP port the owned instance was launched on.
|
|
153
|
+
*/
|
|
141
154
|
readonly port: number;
|
|
142
155
|
}
|
|
143
156
|
/**
|
|
@@ -174,9 +187,23 @@ export declare class DesktopCdpTransport implements ObsidianTransport {
|
|
|
174
187
|
* @param config - CDP connection configuration.
|
|
175
188
|
*/
|
|
176
189
|
constructor(config?: DesktopCdpTransportConfig);
|
|
190
|
+
/**
|
|
191
|
+
* Captures a PNG screenshot of the Obsidian window showing the given vault.
|
|
192
|
+
*
|
|
193
|
+
* When a size is requested the viewport is pinned to it with
|
|
194
|
+
* `Emulation.setDeviceMetricsOverride` for the duration of the capture, so the
|
|
195
|
+
* emitted PNG is exactly that size whatever size the window happens to be —
|
|
196
|
+
* and the override is always cleared afterwards, including when the capture
|
|
197
|
+
* throws, so a failed capture cannot leave the window stuck at the override.
|
|
198
|
+
*
|
|
199
|
+
* @param params - Which vault window to capture, and the exact size to capture it at.
|
|
200
|
+
* @returns The raw PNG bytes.
|
|
201
|
+
* @throws Error if CDP returns no image data, or data that is not a PNG.
|
|
202
|
+
*/
|
|
203
|
+
captureScreenshot(params: CaptureScreenshotParams): Promise<Uint8Array>;
|
|
177
204
|
/**
|
|
178
205
|
* Disposes of the active WebSocket connection and, in owned-instance mode,
|
|
179
|
-
* kills the owned Obsidian process and removes its isolated user-data
|
|
206
|
+
* kills the owned Obsidian process and removes its isolated user-data directory.
|
|
180
207
|
*
|
|
181
208
|
* The removal is retried because Windows briefly holds the just-killed
|
|
182
209
|
* process's file handles, which would otherwise fail `rmSync` with `EPERM`.
|
|
@@ -184,8 +211,8 @@ export declare class DesktopCdpTransport implements ObsidianTransport {
|
|
|
184
211
|
dispose(): Promise<void>;
|
|
185
212
|
/**
|
|
186
213
|
* Synchronous disposal — kills the owned instance and makes a best-effort
|
|
187
|
-
* removal of its user-data
|
|
188
|
-
* (where async retries are impossible; a leftover temp
|
|
214
|
+
* removal of its user-data directory. Safe to call from a process `exit` handler
|
|
215
|
+
* (where async retries are impossible; a leftover temp directory is acceptable).
|
|
189
216
|
*/
|
|
190
217
|
disposeSync(): void;
|
|
191
218
|
/**
|
|
@@ -368,7 +395,7 @@ export declare class DesktopCdpTransport implements ObsidianTransport {
|
|
|
368
395
|
* Finds the CDP target that has the given vault open.
|
|
369
396
|
*
|
|
370
397
|
* Probes every target by evaluating `getBasePath()` and returns the one whose
|
|
371
|
-
* base path matches `vaultPath` (via {@link
|
|
398
|
+
* base path matches `vaultPath` (via {@link areVaultPathsMatching}, tolerant of
|
|
372
399
|
* separator/case differences). A single target is **not** returned blindly: with
|
|
373
400
|
* more than one vault open (attach mode's shared instance), the sole-target
|
|
374
401
|
* shortcut would return whichever window happens to be open regardless of which
|
|
@@ -392,7 +419,7 @@ export declare class DesktopCdpTransport implements ObsidianTransport {
|
|
|
392
419
|
* so the next launch gets a pristine single-window instance.
|
|
393
420
|
*
|
|
394
421
|
* Relaunching over a live instance is forwarded by Electron's single-instance
|
|
395
|
-
* lock on the shared user-data
|
|
422
|
+
* lock on the shared user-data directory and surfaces the vault picker, and opening a
|
|
396
423
|
* second window via IPC leaves stale windows that break vault-target routing —
|
|
397
424
|
* hence a full kill + wait-for-exit (releasing the lock) between launches. A
|
|
398
425
|
* no-op on the first attempt, when no instance is running yet.
|
|
@@ -467,7 +494,7 @@ export declare class DesktopCdpTransport implements ObsidianTransport {
|
|
|
467
494
|
/**
|
|
468
495
|
* Polls a killed owned instance's CDP endpoint until it stops responding,
|
|
469
496
|
* confirming the process has exited and released Electron's single-instance
|
|
470
|
-
* lock on the shared user-data
|
|
497
|
+
* lock on the shared user-data directory before a fresh instance is launched into it.
|
|
471
498
|
*
|
|
472
499
|
* @param cdpUrl - The CDP URL of the instance that was just killed.
|
|
473
500
|
*/
|