winui-svelte 0.0.6 → 0.0.8
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/API.md +955 -22
- package/README.md +25 -5
- package/dist/app/activate.d.ts.map +1 -1
- package/dist/app/activate.js +3 -0
- package/dist/app/activate.js.map +1 -1
- package/dist/app/activation/index.d.ts +3 -0
- package/dist/app/activation/index.d.ts.map +1 -1
- package/dist/app/activation/index.js +2 -0
- package/dist/app/activation/index.js.map +1 -1
- package/dist/app/activation/login.d.ts +2 -1
- package/dist/app/activation/login.d.ts.map +1 -1
- package/dist/app/activation/login.js +2 -1
- package/dist/app/activation/login.js.map +1 -1
- package/dist/app/activation/native.js +1 -2
- package/dist/app/activation/native.js.map +1 -1
- package/dist/app/activation/packaged.d.ts +49 -0
- package/dist/app/activation/packaged.d.ts.map +1 -0
- package/dist/app/activation/packaged.js +90 -0
- package/dist/app/activation/packaged.js.map +1 -0
- package/dist/app/activation/receive.d.ts +11 -2
- package/dist/app/activation/receive.d.ts.map +1 -1
- package/dist/app/activation/receive.js +11 -4
- package/dist/app/activation/receive.js.map +1 -1
- package/dist/app/activation/registration.d.ts +3 -3
- package/dist/app/activation/registration.js +7 -7
- package/dist/app/activation/registration.js.map +1 -1
- package/dist/app/activation/scheme.d.ts +10 -0
- package/dist/app/activation/scheme.d.ts.map +1 -1
- package/dist/app/activation/scheme.js +17 -0
- package/dist/app/activation/scheme.js.map +1 -1
- package/dist/app/index.d.ts +4 -2
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +3 -1
- package/dist/app/index.js.map +1 -1
- package/dist/app/instance-running.d.ts +15 -0
- package/dist/app/instance-running.d.ts.map +1 -0
- package/dist/app/instance-running.js +20 -0
- package/dist/app/instance-running.js.map +1 -0
- package/dist/app/jump-list/native.d.ts.map +1 -1
- package/dist/app/jump-list/native.js +1 -2
- package/dist/app/jump-list/native.js.map +1 -1
- package/dist/app/launch-command.d.ts +11 -6
- package/dist/app/launch-command.d.ts.map +1 -1
- package/dist/app/launch-command.js +16 -5
- package/dist/app/launch-command.js.map +1 -1
- package/dist/app/native-messaging/browsers.d.ts +19 -0
- package/dist/app/native-messaging/browsers.d.ts.map +1 -0
- package/dist/app/native-messaging/browsers.js +17 -0
- package/dist/app/native-messaging/browsers.js.map +1 -0
- package/dist/app/native-messaging/index.d.ts +41 -0
- package/dist/app/native-messaging/index.d.ts.map +1 -0
- package/dist/app/native-messaging/index.js +84 -0
- package/dist/app/native-messaging/index.js.map +1 -0
- package/dist/app/native.d.ts +0 -6
- package/dist/app/native.d.ts.map +1 -1
- package/dist/app/native.js +1 -24
- package/dist/app/native.js.map +1 -1
- package/dist/app/notification-source.d.ts.map +1 -1
- package/dist/app/notification-source.js +1 -2
- package/dist/app/notification-source.js.map +1 -1
- package/dist/app/shell/native.js +1 -2
- package/dist/app/shell/native.js.map +1 -1
- package/dist/app/single-instance.d.ts +27 -1
- package/dist/app/single-instance.d.ts.map +1 -1
- package/dist/app/single-instance.js +32 -10
- package/dist/app/single-instance.js.map +1 -1
- package/dist/app/tray-instance.d.ts +4 -3
- package/dist/app/tray-instance.d.ts.map +1 -1
- package/dist/app/tray-instance.js +7 -5
- package/dist/app/tray-instance.js.map +1 -1
- package/dist/automation/backend.d.ts +51 -0
- package/dist/automation/backend.d.ts.map +1 -0
- package/dist/automation/backend.js +5 -0
- package/dist/automation/backend.js.map +1 -0
- package/dist/automation/client.d.ts +97 -0
- package/dist/automation/client.d.ts.map +1 -0
- package/dist/automation/client.js +203 -0
- package/dist/automation/client.js.map +1 -0
- package/dist/automation/ids.d.ts +90 -0
- package/dist/automation/ids.d.ts.map +1 -0
- package/dist/automation/ids.js +84 -0
- package/dist/automation/ids.js.map +1 -0
- package/dist/automation/index.d.ts +13 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +8 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/native.d.ts +11 -0
- package/dist/automation/native.d.ts.map +1 -0
- package/dist/automation/native.js +594 -0
- package/dist/automation/native.js.map +1 -0
- package/dist/automation/text.d.ts +50 -0
- package/dist/automation/text.d.ts.map +1 -0
- package/dist/automation/text.js +110 -0
- package/dist/automation/text.js.map +1 -0
- package/dist/automation/with-client.d.ts +13 -0
- package/dist/automation/with-client.d.ts.map +1 -0
- package/dist/automation/with-client.js +19 -0
- package/dist/automation/with-client.js.map +1 -0
- package/dist/automation/worker-job.d.ts +32 -0
- package/dist/automation/worker-job.d.ts.map +1 -0
- package/dist/automation/worker-job.js +69 -0
- package/dist/automation/worker-job.js.map +1 -0
- package/dist/automation/worker.d.ts +44 -0
- package/dist/automation/worker.d.ts.map +1 -0
- package/dist/automation/worker.js +70 -0
- package/dist/automation/worker.js.map +1 -0
- package/dist/bindings/.dynwinrt-js-types +198 -0
- package/dist/bindings/.dynwinrt-managed +1 -1
- package/dist/bindings/index.d.ts +15 -0
- package/dist/bindings/index.js +20 -0
- package/dist/bindings/index.mjs +2902 -2882
- package/dist/bindings/index.proxy.js +10 -0
- package/dist/bindings/windows/application-model/activation/ActivationKind.d.ts +49 -0
- package/dist/bindings/windows/application-model/activation/ActivationKind.js +50 -0
- package/dist/bindings/windows/application-model/activation/ApplicationExecutionState.d.ts +9 -0
- package/dist/bindings/windows/application-model/activation/ApplicationExecutionState.js +10 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgs.d.ts +36 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgs.js +149 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgsWithUser.d.ts +28 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgsWithUser.js +119 -0
- package/dist/bindings/windows/application-model/activation/IApplicationViewActivatedEventArgs.d.ts +27 -0
- package/dist/bindings/windows/application-model/activation/IApplicationViewActivatedEventArgs.js +116 -0
- package/dist/bindings/windows/application-model/activation/IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData.d.ts +31 -0
- package/dist/bindings/windows/application-model/activation/IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData.js +131 -0
- package/dist/bindings/windows/application-model/activation/IViewSwitcherProvider.d.ts +28 -0
- package/dist/bindings/windows/application-model/activation/IViewSwitcherProvider.js +119 -0
- package/dist/bindings/windows/application-model/activation/ProtocolActivatedEventArgs.d.ts +25 -0
- package/dist/bindings/windows/application-model/activation/ProtocolActivatedEventArgs.js +166 -0
- package/dist/bindings/windows/application-model/activation/SplashScreen.d.ts +35 -0
- package/dist/bindings/windows/application-model/activation/SplashScreen.js +105 -0
- package/dist/bindings/windows/foundation/TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff.d.ts +7 -0
- package/dist/bindings/windows/foundation/TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff.js +7 -0
- package/dist/bindings/windows/ui/view-management/ActivationViewSwitcher.d.ts +12 -0
- package/dist/bindings/windows/ui/view-management/ActivationViewSwitcher.js +96 -0
- package/dist/chrome/context-menus/context-menu-schema.d.ts +4 -4
- package/dist/chrome/context-menus/context-menu-schema.d.ts.map +1 -1
- package/dist/chrome/context-menus/context-menu-schema.js +1 -7
- package/dist/chrome/context-menus/context-menu-schema.js.map +1 -1
- package/dist/chrome/notifications/notification-schema.d.ts +2 -2
- package/dist/chrome/parse-or-throw.d.ts +7 -0
- package/dist/chrome/parse-or-throw.d.ts.map +1 -0
- package/dist/chrome/parse-or-throw.js +9 -0
- package/dist/chrome/parse-or-throw.js.map +1 -0
- package/dist/chrome/permissions/permission-schema.d.ts.map +1 -1
- package/dist/chrome/permissions/permission-schema.js +1 -7
- package/dist/chrome/permissions/permission-schema.js.map +1 -1
- package/dist/chrome/windows/chrome-windows.d.ts.map +1 -1
- package/dist/chrome/windows/chrome-windows.js +1 -7
- package/dist/chrome/windows/chrome-windows.js.map +1 -1
- package/dist/components/hand-written/Window.svelte +2 -0
- package/dist/components/hand-written/items/keyed-rows.svelte.d.ts.map +1 -1
- package/dist/components/hand-written/items/keyed-rows.svelte.js +6 -0
- package/dist/components/hand-written/items/keyed-rows.svelte.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/runtime.svelte.d.ts.map +1 -1
- package/dist/components/runtime.svelte.js +7 -0
- package/dist/components/runtime.svelte.js.map +1 -1
- package/dist/components/window-context.d.ts +14 -0
- package/dist/components/window-context.d.ts.map +1 -0
- package/dist/components/window-context.js +20 -0
- package/dist/components/window-context.js.map +1 -0
- package/dist/composition/expression.d.ts +1 -1
- package/dist/css/runtime/containers.d.ts.map +1 -1
- package/dist/css/runtime/containers.js +1 -17
- package/dist/css/runtime/containers.js.map +1 -1
- package/dist/css/runtime/native.d.ts.map +1 -1
- package/dist/css/runtime/native.js +40 -20
- package/dist/css/runtime/native.js.map +1 -1
- package/dist/css/translate/property-kit.d.ts +9 -0
- package/dist/css/translate/property-kit.d.ts.map +1 -1
- package/dist/css/translate/property-kit.js.map +1 -1
- package/dist/css/translate/transition-properties.d.ts +1 -1
- package/dist/css/translate/transition-properties.d.ts.map +1 -1
- package/dist/css/translate/transition-properties.js +32 -5
- package/dist/css/translate/transition-properties.js.map +1 -1
- package/dist/data-transfer/data-transfer.d.ts +3 -3
- package/dist/data-transfer/data-transfer.d.ts.map +1 -1
- package/dist/data-transfer/data-transfer.js.map +1 -1
- package/dist/data-transfer/drag-effects.d.ts +25 -2
- package/dist/data-transfer/drag-effects.d.ts.map +1 -1
- package/dist/data-transfer/drag-effects.js +27 -2
- package/dist/data-transfer/drag-effects.js.map +1 -1
- package/dist/data-transfer/drag-helper.d.ts +50 -0
- package/dist/data-transfer/drag-helper.d.ts.map +1 -0
- package/dist/data-transfer/drag-helper.js +156 -0
- package/dist/data-transfer/drag-helper.js.map +1 -0
- package/dist/data-transfer/drop-target.d.ts +6 -5
- package/dist/data-transfer/drop-target.d.ts.map +1 -1
- package/dist/data-transfer/drop-target.js +68 -20
- package/dist/data-transfer/drop-target.js.map +1 -1
- package/dist/data-transfer/index.d.ts +1 -0
- package/dist/data-transfer/index.d.ts.map +1 -1
- package/dist/data-transfer/index.js.map +1 -1
- package/dist/data-transfer/launcher.d.ts +4 -3
- package/dist/data-transfer/launcher.d.ts.map +1 -1
- package/dist/data-transfer/launcher.js +58 -9
- package/dist/data-transfer/launcher.js.map +1 -1
- package/dist/data-transfer/native.d.ts +66 -0
- package/dist/data-transfer/native.d.ts.map +1 -0
- package/dist/data-transfer/native.js +148 -0
- package/dist/data-transfer/native.js.map +1 -0
- package/dist/data-transfer/ole-data-object.d.ts +62 -0
- package/dist/data-transfer/ole-data-object.d.ts.map +1 -0
- package/dist/data-transfer/ole-data-object.js +162 -0
- package/dist/data-transfer/ole-data-object.js.map +1 -0
- package/dist/data-transfer/ole-drop-target.d.ts +54 -0
- package/dist/data-transfer/ole-drop-target.d.ts.map +1 -0
- package/dist/data-transfer/ole-drop-target.js +192 -0
- package/dist/data-transfer/ole-drop-target.js.map +1 -0
- package/dist/data-transfer/share-interop.d.ts.map +1 -1
- package/dist/data-transfer/share-interop.js +1 -1
- package/dist/data-transfer/share-interop.js.map +1 -1
- package/dist/data-transfer/shell-items.d.ts +10 -0
- package/dist/data-transfer/shell-items.d.ts.map +1 -0
- package/dist/data-transfer/shell-items.js +67 -0
- package/dist/data-transfer/shell-items.js.map +1 -0
- package/dist/data-transfer/window-drop.d.ts +35 -0
- package/dist/data-transfer/window-drop.d.ts.map +1 -0
- package/dist/data-transfer/window-drop.js +311 -0
- package/dist/data-transfer/window-drop.js.map +1 -0
- package/dist/devices/native.js +1 -2
- package/dist/devices/native.js.map +1 -1
- package/dist/downloads/chrome-downloads.d.ts +8 -0
- package/dist/downloads/chrome-downloads.d.ts.map +1 -1
- package/dist/downloads/chrome-downloads.js +35 -6
- package/dist/downloads/chrome-downloads.js.map +1 -1
- package/dist/downloads/download-record.d.ts +3 -2
- package/dist/downloads/download-record.d.ts.map +1 -1
- package/dist/downloads/download-record.js.map +1 -1
- package/dist/downloads/download-transfer.d.ts.map +1 -1
- package/dist/downloads/download-transfer.js +3 -3
- package/dist/downloads/download-transfer.js.map +1 -1
- package/dist/downloads/download-types.d.ts +3 -1
- package/dist/downloads/download-types.d.ts.map +1 -1
- package/dist/downloads/download-types.js.map +1 -1
- package/dist/downloads/fetch-to-file.d.ts +11 -6
- package/dist/downloads/fetch-to-file.d.ts.map +1 -1
- package/dist/downloads/fetch-to-file.js +45 -16
- package/dist/downloads/fetch-to-file.js.map +1 -1
- package/dist/downloads/taskbar-progress.d.ts +3 -18
- package/dist/downloads/taskbar-progress.d.ts.map +1 -1
- package/dist/downloads/taskbar-progress.js +1 -38
- package/dist/downloads/taskbar-progress.js.map +1 -1
- package/dist/enums.d.ts +4 -0
- package/dist/enums.d.ts.map +1 -1
- package/dist/enums.js +4 -0
- package/dist/enums.js.map +1 -1
- package/dist/forms/form-field-props.d.ts +2 -2
- package/dist/input/index.d.ts +2 -0
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +1 -0
- package/dist/input/index.js.map +1 -1
- package/dist/input/modifier-keys.d.ts +24 -0
- package/dist/input/modifier-keys.d.ts.map +1 -0
- package/dist/input/modifier-keys.js +20 -0
- package/dist/input/modifier-keys.js.map +1 -0
- package/dist/media/pixel-buffer.d.ts.map +1 -1
- package/dist/media/pixel-buffer.js +1 -1
- package/dist/media/pixel-buffer.js.map +1 -1
- package/dist/messaging/web-view2/core.d.ts +56 -0
- package/dist/messaging/web-view2/core.d.ts.map +1 -1
- package/dist/messaging/web-view2/core.js +6 -0
- package/dist/messaging/web-view2/core.js.map +1 -1
- package/dist/messaging/web-view2/environment.d.ts +41 -0
- package/dist/messaging/web-view2/environment.d.ts.map +1 -0
- package/dist/messaging/web-view2/environment.js +91 -0
- package/dist/messaging/web-view2/environment.js.map +1 -0
- package/dist/messaging/web-view2/index.d.ts +9 -1
- package/dist/messaging/web-view2/index.d.ts.map +1 -1
- package/dist/messaging/web-view2/index.js +5 -0
- package/dist/messaging/web-view2/index.js.map +1 -1
- package/dist/messaging/web-view2/input.d.ts +68 -0
- package/dist/messaging/web-view2/input.d.ts.map +1 -0
- package/dist/messaging/web-view2/input.js +108 -0
- package/dist/messaging/web-view2/input.js.map +1 -0
- package/dist/messaging/web-view2/protocol.d.ts +24 -0
- package/dist/messaging/web-view2/protocol.d.ts.map +1 -0
- package/dist/messaging/web-view2/protocol.js +31 -0
- package/dist/messaging/web-view2/protocol.js.map +1 -0
- package/dist/messaging/web-view2/recovery.d.ts +65 -0
- package/dist/messaging/web-view2/recovery.d.ts.map +1 -0
- package/dist/messaging/web-view2/recovery.js +138 -0
- package/dist/messaging/web-view2/recovery.js.map +1 -0
- package/dist/messaging/web-view2/requests.d.ts +88 -0
- package/dist/messaging/web-view2/requests.d.ts.map +1 -0
- package/dist/messaging/web-view2/requests.js +169 -0
- package/dist/messaging/web-view2/requests.js.map +1 -0
- package/dist/messaging/web-view2/transport.d.ts.map +1 -1
- package/dist/messaging/web-view2/transport.js +1 -4
- package/dist/messaging/web-view2/transport.js.map +1 -1
- package/dist/native-identity.d.ts +10 -0
- package/dist/native-identity.d.ts.map +1 -0
- package/dist/native-identity.js +20 -0
- package/dist/native-identity.js.map +1 -0
- package/dist/progress/TaskbarProgress.d.svelte.ts +6 -0
- package/dist/progress/TaskbarProgress.svelte +32 -0
- package/dist/progress/aggregate.d.ts +23 -0
- package/dist/progress/aggregate.d.ts.map +1 -0
- package/dist/progress/aggregate.js +59 -0
- package/dist/progress/aggregate.js.map +1 -0
- package/dist/progress/core.d.ts +14 -0
- package/dist/progress/core.d.ts.map +1 -0
- package/dist/progress/core.js +8 -0
- package/dist/progress/core.js.map +1 -0
- package/dist/progress/index.d.ts +5 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +4 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/progress-event.d.ts +18 -0
- package/dist/progress/progress-event.d.ts.map +1 -0
- package/dist/progress/progress-event.js +19 -0
- package/dist/progress/progress-event.js.map +1 -0
- package/dist/progress/progress-operation.d.ts +163 -0
- package/dist/progress/progress-operation.d.ts.map +1 -0
- package/dist/progress/progress-operation.js +356 -0
- package/dist/progress/progress-operation.js.map +1 -0
- package/dist/progress/progress-registry.d.ts +89 -0
- package/dist/progress/progress-registry.d.ts.map +1 -0
- package/dist/progress/progress-registry.js +187 -0
- package/dist/progress/progress-registry.js.map +1 -0
- package/dist/progress/progress-source.d.ts +46 -0
- package/dist/progress/progress-source.d.ts.map +1 -0
- package/dist/progress/progress-source.js +31 -0
- package/dist/progress/progress-source.js.map +1 -0
- package/dist/progress/progress-state.d.ts +54 -0
- package/dist/progress/progress-state.d.ts.map +1 -0
- package/dist/progress/progress-state.js +35 -0
- package/dist/progress/progress-state.js.map +1 -0
- package/dist/progress/progress-text.d.ts +10 -0
- package/dist/progress/progress-text.d.ts.map +1 -0
- package/dist/progress/progress-text.js +23 -0
- package/dist/progress/progress-text.js.map +1 -0
- package/dist/progress/scoped-source.d.ts +31 -0
- package/dist/progress/scoped-source.d.ts.map +1 -0
- package/dist/progress/scoped-source.js +46 -0
- package/dist/progress/scoped-source.js.map +1 -0
- package/dist/progress/taskbar-progress-props.d.ts +15 -0
- package/dist/progress/taskbar-progress-props.d.ts.map +1 -0
- package/dist/progress/taskbar-progress-props.js +2 -0
- package/dist/progress/taskbar-progress-props.js.map +1 -0
- package/dist/progress/taskbar-progress.d.ts +44 -0
- package/dist/progress/taskbar-progress.d.ts.map +1 -0
- package/dist/progress/taskbar-progress.js +62 -0
- package/dist/progress/taskbar-progress.js.map +1 -0
- package/dist/progress/track-operation.d.ts +36 -0
- package/dist/progress/track-operation.d.ts.map +1 -0
- package/dist/progress/track-operation.js +53 -0
- package/dist/progress/track-operation.js.map +1 -0
- package/dist/renderer/host/host.d.ts.map +1 -1
- package/dist/renderer/host/host.js +33 -16
- package/dist/renderer/host/host.js.map +1 -1
- package/dist/renderer/host/structure-sync.d.ts +9 -0
- package/dist/renderer/host/structure-sync.d.ts.map +1 -0
- package/dist/renderer/host/structure-sync.js +24 -0
- package/dist/renderer/host/structure-sync.js.map +1 -0
- package/dist/security/data-protection-error.d.ts +14 -0
- package/dist/security/data-protection-error.d.ts.map +1 -0
- package/dist/security/data-protection-error.js +15 -0
- package/dist/security/data-protection-error.js.map +1 -0
- package/dist/security/index.d.ts +48 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +32 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/native.d.ts +43 -0
- package/dist/security/native.d.ts.map +1 -0
- package/dist/security/native.js +170 -0
- package/dist/security/native.js.map +1 -0
- package/dist/security/protection-scope.d.ts +13 -0
- package/dist/security/protection-scope.d.ts.map +1 -0
- package/dist/security/protection-scope.js +11 -0
- package/dist/security/protection-scope.js.map +1 -0
- package/dist/store/states.d.ts +2 -2
- package/dist/store/windows-identity.d.ts +2 -6
- package/dist/store/windows-identity.d.ts.map +1 -1
- package/dist/store/windows-identity.js +2 -29
- package/dist/store/windows-identity.js.map +1 -1
- package/dist/store/windows-packages.d.ts +2 -2
- package/dist/store/windows-store.d.ts +2 -2
- package/dist/tray/click-detector.d.ts.map +1 -1
- package/dist/tray/click-detector.js.map +1 -1
- package/dist/tray/flyout-model.d.ts +4 -3
- package/dist/tray/flyout-model.d.ts.map +1 -1
- package/dist/tray/flyout-model.js +12 -2
- package/dist/tray/flyout-model.js.map +1 -1
- package/dist/tray/menu/icon.d.ts +17 -0
- package/dist/tray/menu/icon.d.ts.map +1 -0
- package/dist/tray/menu/icon.js +31 -0
- package/dist/tray/menu/icon.js.map +1 -0
- package/dist/tray/menu/index.d.ts +1 -1
- package/dist/tray/menu/index.d.ts.map +1 -1
- package/dist/tray/menu/index.js.map +1 -1
- package/dist/tray/menu/types.d.ts +23 -6
- package/dist/tray/menu/types.d.ts.map +1 -1
- package/dist/tray/menu/types.js.map +1 -1
- package/dist/tray/menu-svelte/TrayMenuOperations.d.svelte.ts +6 -0
- package/dist/tray/menu-svelte/TrayMenuOperations.svelte +33 -0
- package/dist/tray/menu-svelte/TrayMenuProgress.d.svelte.ts +6 -0
- package/dist/tray/menu-svelte/TrayMenuProgress.svelte +28 -0
- package/dist/tray/menu-svelte/index.d.ts +3 -1
- package/dist/tray/menu-svelte/index.d.ts.map +1 -1
- package/dist/tray/menu-svelte/index.js +2 -0
- package/dist/tray/menu-svelte/index.js.map +1 -1
- package/dist/tray/menu-svelte/menu-node.d.ts +9 -9
- package/dist/tray/menu-svelte/menu-props.d.ts +16 -0
- package/dist/tray/menu-svelte/menu-props.d.ts.map +1 -1
- package/dist/tray/menu-svelte/operation-ids.d.ts +8 -0
- package/dist/tray/menu-svelte/operation-ids.d.ts.map +1 -0
- package/dist/tray/menu-svelte/operation-ids.js +20 -0
- package/dist/tray/menu-svelte/operation-ids.js.map +1 -0
- package/dist/tray/native.d.ts +15 -5
- package/dist/tray/native.d.ts.map +1 -1
- package/dist/tray/native.js +27 -45
- package/dist/tray/native.js.map +1 -1
- package/dist/tray/personalize.d.ts +18 -0
- package/dist/tray/personalize.d.ts.map +1 -0
- package/dist/tray/personalize.js +42 -0
- package/dist/tray/personalize.js.map +1 -0
- package/dist/tray/pointer-share.d.ts +27 -0
- package/dist/tray/pointer-share.d.ts.map +1 -0
- package/dist/tray/pointer-share.js +61 -0
- package/dist/tray/pointer-share.js.map +1 -0
- package/dist/tray/standalone/icon-raster.d.ts +72 -0
- package/dist/tray/standalone/icon-raster.d.ts.map +1 -0
- package/dist/tray/standalone/icon-raster.js +161 -0
- package/dist/tray/standalone/icon-raster.js.map +1 -0
- package/dist/tray/standalone/index.d.ts +4 -2
- package/dist/tray/standalone/index.d.ts.map +1 -1
- package/dist/tray/standalone/index.js +2 -0
- package/dist/tray/standalone/index.js.map +1 -1
- package/dist/tray/standalone/menu-icons.d.ts +9 -0
- package/dist/tray/standalone/menu-icons.d.ts.map +1 -0
- package/dist/tray/standalone/menu-icons.js +280 -0
- package/dist/tray/standalone/menu-icons.js.map +1 -0
- package/dist/tray/standalone/menu-theme.d.ts +38 -0
- package/dist/tray/standalone/menu-theme.d.ts.map +1 -0
- package/dist/tray/standalone/menu-theme.js +74 -0
- package/dist/tray/standalone/menu-theme.js.map +1 -0
- package/dist/tray/standalone/native.d.ts +24 -7
- package/dist/tray/standalone/native.d.ts.map +1 -1
- package/dist/tray/standalone/native.js +63 -16
- package/dist/tray/standalone/native.js.map +1 -1
- package/dist/tray/standalone/standalone-tray.d.ts +17 -2
- package/dist/tray/standalone/standalone-tray.d.ts.map +1 -1
- package/dist/tray/standalone/standalone-tray.js +34 -2
- package/dist/tray/standalone/standalone-tray.js.map +1 -1
- package/dist/tray/themed-icon.d.ts.map +1 -1
- package/dist/tray/themed-icon.js +4 -28
- package/dist/tray/themed-icon.js.map +1 -1
- package/dist/tray/tray-core.d.ts.map +1 -1
- package/dist/tray/tray-core.js +6 -1
- package/dist/tray/tray-core.js.map +1 -1
- package/dist/tray/tray-extras.d.ts +26 -2
- package/dist/tray/tray-extras.d.ts.map +1 -1
- package/dist/tray/tray-manifest.d.ts +44 -4
- package/dist/tray/tray-manifest.d.ts.map +1 -1
- package/dist/tray/tray-manifest.js +48 -4
- package/dist/tray/tray-manifest.js.map +1 -1
- package/dist/vite/entrypoints/build-tray.d.ts +3 -1
- package/dist/vite/entrypoints/build-tray.d.ts.map +1 -1
- package/dist/vite/entrypoints/build-tray.js +22 -16
- package/dist/vite/entrypoints/build-tray.js.map +1 -1
- package/dist/vite/entrypoints/extract-tray.d.ts +7 -6
- package/dist/vite/entrypoints/extract-tray.d.ts.map +1 -1
- package/dist/vite/entrypoints/extract-tray.js +35 -15
- package/dist/vite/entrypoints/extract-tray.js.map +1 -1
- package/dist/vite/entrypoints/tray-module.d.ts +2 -1
- package/dist/vite/entrypoints/tray-module.d.ts.map +1 -1
- package/dist/vite/entrypoints/tray-module.js +8 -4
- package/dist/vite/entrypoints/tray-module.js.map +1 -1
- package/dist/web-apis/eye-dropper.d.ts.map +1 -1
- package/dist/web-apis/eye-dropper.js +8 -5
- package/dist/web-apis/eye-dropper.js.map +1 -1
- package/dist/web-apis/file-read.d.ts +14 -0
- package/dist/web-apis/file-read.d.ts.map +1 -0
- package/dist/web-apis/file-read.js +37 -0
- package/dist/web-apis/file-read.js.map +1 -0
- package/dist/web-apis/file-system.d.ts +9 -0
- package/dist/web-apis/file-system.d.ts.map +1 -1
- package/dist/web-apis/file-system.js +24 -0
- package/dist/web-apis/file-system.js.map +1 -1
- package/dist/web-apis/media-devices-source.d.ts +1 -1
- package/dist/web-apis/native.d.ts +0 -7
- package/dist/web-apis/native.d.ts.map +1 -1
- package/dist/web-apis/native.js +0 -19
- package/dist/web-apis/native.js.map +1 -1
- package/dist/win2d/activation-failure.d.ts +10 -0
- package/dist/win2d/activation-failure.d.ts.map +1 -0
- package/dist/win2d/activation-failure.js +30 -0
- package/dist/win2d/activation-failure.js.map +1 -0
- package/dist/win2d/element-lifecycle.d.ts.map +1 -1
- package/dist/win2d/element-lifecycle.js +6 -1
- package/dist/win2d/element-lifecycle.js.map +1 -1
- package/dist/win2d/manifest.d.ts +29 -0
- package/dist/win2d/manifest.d.ts.map +1 -0
- package/dist/win2d/manifest.js +67 -0
- package/dist/win2d/manifest.js.map +1 -0
- package/dist/win32/index.d.ts +3 -0
- package/dist/win32/index.d.ts.map +1 -0
- package/dist/win32/index.js +11 -0
- package/dist/win32/index.js.map +1 -0
- package/dist/win32-calls.d.ts +6 -0
- package/dist/win32-calls.d.ts.map +1 -1
- package/dist/win32-calls.js +6 -1
- package/dist/win32-calls.js.map +1 -1
- package/dist/win32-foreground.d.ts +34 -0
- package/dist/win32-foreground.d.ts.map +1 -0
- package/dist/win32-foreground.js +91 -0
- package/dist/win32-foreground.js.map +1 -0
- package/dist/win32-icons.d.ts.map +1 -1
- package/dist/win32-icons.js +1 -2
- package/dist/win32-icons.js.map +1 -1
- package/dist/win32-key-state.d.ts +31 -0
- package/dist/win32-key-state.d.ts.map +1 -0
- package/dist/win32-key-state.js +41 -0
- package/dist/win32-key-state.js.map +1 -0
- package/dist/window/anchor.d.ts +15 -0
- package/dist/window/anchor.d.ts.map +1 -1
- package/dist/window/anchor.js +23 -0
- package/dist/window/anchor.js.map +1 -1
- package/dist/window/apply-frame.d.ts +4 -2
- package/dist/window/apply-frame.d.ts.map +1 -1
- package/dist/window/apply-frame.js +2 -3
- package/dist/window/apply-frame.js.map +1 -1
- package/dist/window/bootstrap-core.d.ts +69 -0
- package/dist/window/bootstrap-core.d.ts.map +1 -0
- package/dist/window/bootstrap-core.js +93 -0
- package/dist/window/bootstrap-core.js.map +1 -0
- package/dist/window/bootstrap-mode.d.ts +21 -0
- package/dist/window/bootstrap-mode.d.ts.map +1 -0
- package/dist/window/bootstrap-mode.js +17 -0
- package/dist/window/bootstrap-mode.js.map +1 -0
- package/dist/window/bootstrap.d.ts +12 -28
- package/dist/window/bootstrap.d.ts.map +1 -1
- package/dist/window/bootstrap.js +18 -66
- package/dist/window/bootstrap.js.map +1 -1
- package/dist/window/cover.d.ts +43 -0
- package/dist/window/cover.d.ts.map +1 -0
- package/dist/window/cover.js +64 -0
- package/dist/window/cover.js.map +1 -0
- package/dist/window/create-window.d.ts +1 -1
- package/dist/window/create-window.d.ts.map +1 -1
- package/dist/window/create-window.js +2 -0
- package/dist/window/create-window.js.map +1 -1
- package/dist/window/dpi-awareness.d.ts +71 -0
- package/dist/window/dpi-awareness.d.ts.map +1 -0
- package/dist/window/dpi-awareness.js +127 -0
- package/dist/window/dpi-awareness.js.map +1 -0
- package/dist/window/foreground-filter.d.ts +71 -0
- package/dist/window/foreground-filter.d.ts.map +1 -0
- package/dist/window/foreground-filter.js +108 -0
- package/dist/window/foreground-filter.js.map +1 -0
- package/dist/window/foreground-native.d.ts +25 -0
- package/dist/window/foreground-native.d.ts.map +1 -0
- package/dist/window/foreground-native.js +86 -0
- package/dist/window/foreground-native.js.map +1 -0
- package/dist/window/foreground.d.ts +49 -0
- package/dist/window/foreground.d.ts.map +1 -0
- package/dist/window/foreground.js +78 -0
- package/dist/window/foreground.js.map +1 -0
- package/dist/window/index.d.ts +2 -0
- package/dist/window/index.d.ts.map +1 -1
- package/dist/window/index.js +1 -0
- package/dist/window/index.js.map +1 -1
- package/dist/window/native.d.ts.map +1 -1
- package/dist/window/native.js +1 -2
- package/dist/window/native.js.map +1 -1
- package/dist/window/package-identity.d.ts +17 -0
- package/dist/window/package-identity.d.ts.map +1 -0
- package/dist/window/package-identity.js +97 -0
- package/dist/window/package-identity.js.map +1 -0
- package/dist/window/system-dispatcher-queue.d.ts.map +1 -1
- package/dist/window/system-dispatcher-queue.js +1 -2
- package/dist/window/system-dispatcher-queue.js.map +1 -1
- package/dist/window/taskbar-calls.d.ts +1 -1
- package/dist/window/taskbar-native.d.ts.map +1 -1
- package/dist/window/taskbar-native.js +1 -2
- package/dist/window/taskbar-native.js.map +1 -1
- package/dist/window/window-handle.d.ts +25 -1
- package/dist/window/window-handle.d.ts.map +1 -1
- package/dist/window/window-handle.js +27 -1
- package/dist/window/window-handle.js.map +1 -1
- package/dist/window/window-host.svelte.d.ts +11 -2
- package/dist/window/window-host.svelte.d.ts.map +1 -1
- package/dist/window/window-host.svelte.js +38 -4
- package/dist/window/window-host.svelte.js.map +1 -1
- package/package.json +43 -4
- package/src/app/activate.ts +3 -0
- package/src/app/activation/index.ts +3 -0
- package/src/app/activation/login.ts +2 -1
- package/src/app/activation/native.ts +1 -1
- package/src/app/activation/packaged.ts +118 -0
- package/src/app/activation/receive.ts +24 -4
- package/src/app/activation/registration.ts +7 -7
- package/src/app/activation/scheme.ts +19 -0
- package/src/app/index.ts +4 -2
- package/src/app/instance-running.ts +22 -0
- package/src/app/jump-list/native.ts +1 -2
- package/src/app/launch-command.ts +19 -5
- package/src/app/native-messaging/browsers.ts +21 -0
- package/src/app/native-messaging/index.ts +124 -0
- package/src/app/native.ts +1 -32
- package/src/app/notification-source.ts +1 -3
- package/src/app/shell/native.ts +1 -1
- package/src/app/single-instance.ts +34 -10
- package/src/app/tray-instance.ts +7 -5
- package/src/automation/backend.ts +56 -0
- package/src/automation/client.ts +327 -0
- package/src/automation/ids.ts +97 -0
- package/src/automation/index.ts +23 -0
- package/src/automation/native.ts +688 -0
- package/src/automation/text.ts +174 -0
- package/src/automation/with-client.ts +20 -0
- package/src/automation/worker-job.ts +97 -0
- package/src/automation/worker.ts +116 -0
- package/src/chrome/context-menus/context-menu-schema.ts +1 -12
- package/src/chrome/parse-or-throw.ts +14 -0
- package/src/chrome/permissions/permission-schema.ts +1 -12
- package/src/chrome/windows/chrome-windows.ts +1 -13
- package/src/components/hand-written/items/keyed-rows.svelte.ts +6 -0
- package/src/components/index.ts +1 -0
- package/src/components/runtime.svelte.ts +8 -0
- package/src/components/window-context.ts +23 -0
- package/src/css/runtime/containers.ts +1 -20
- package/src/css/runtime/native.ts +46 -21
- package/src/css/translate/property-kit.ts +9 -0
- package/src/css/translate/transition-properties.ts +44 -10
- package/src/data-transfer/data-transfer.ts +3 -3
- package/src/data-transfer/drag-effects.ts +48 -4
- package/src/data-transfer/drag-helper.ts +216 -0
- package/src/data-transfer/drop-target.ts +90 -26
- package/src/data-transfer/index.ts +1 -0
- package/src/data-transfer/launcher.ts +65 -9
- package/src/data-transfer/native.ts +184 -0
- package/src/data-transfer/ole-data-object.ts +200 -0
- package/src/data-transfer/ole-drop-target.ts +263 -0
- package/src/data-transfer/share-interop.ts +1 -1
- package/src/data-transfer/shell-items.ts +81 -0
- package/src/data-transfer/window-drop.ts +411 -0
- package/src/devices/native.ts +1 -1
- package/src/downloads/chrome-downloads.ts +46 -6
- package/src/downloads/download-record.ts +3 -2
- package/src/downloads/download-transfer.ts +3 -3
- package/src/downloads/download-types.ts +3 -0
- package/src/downloads/fetch-to-file.ts +47 -17
- package/src/downloads/taskbar-progress.ts +3 -49
- package/src/enums.ts +4 -0
- package/src/input/index.ts +2 -0
- package/src/input/modifier-keys.ts +30 -0
- package/src/media/pixel-buffer.ts +1 -1
- package/src/messaging/web-view2/core.ts +64 -0
- package/src/messaging/web-view2/environment.ts +131 -0
- package/src/messaging/web-view2/index.ts +11 -0
- package/src/messaging/web-view2/input.ts +154 -0
- package/src/messaging/web-view2/protocol.ts +41 -0
- package/src/messaging/web-view2/recovery.ts +177 -0
- package/src/messaging/web-view2/requests.ts +238 -0
- package/src/messaging/web-view2/transport.ts +1 -5
- package/src/native-identity.ts +22 -0
- package/src/progress/TaskbarProgress.d.svelte.ts +6 -0
- package/src/progress/aggregate.ts +68 -0
- package/src/progress/core.ts +13 -0
- package/src/progress/index.ts +4 -0
- package/src/progress/progress-event.ts +25 -0
- package/src/progress/progress-operation.ts +469 -0
- package/src/progress/progress-registry.ts +224 -0
- package/src/progress/progress-source.ts +66 -0
- package/src/progress/progress-state.ts +72 -0
- package/src/progress/progress-text.ts +27 -0
- package/src/progress/scoped-source.ts +56 -0
- package/src/progress/taskbar-progress-props.ts +18 -0
- package/src/progress/taskbar-progress.ts +80 -0
- package/src/progress/track-operation.ts +81 -0
- package/src/renderer/host/host.ts +39 -17
- package/src/renderer/host/structure-sync.ts +25 -0
- package/src/security/data-protection-error.ts +18 -0
- package/src/security/index.ts +57 -0
- package/src/security/native.ts +234 -0
- package/src/security/protection-scope.ts +13 -0
- package/src/store/windows-identity.ts +3 -35
- package/src/tray/click-detector.ts +6 -7
- package/src/tray/flyout-model.ts +14 -3
- package/src/tray/menu/icon.ts +40 -0
- package/src/tray/menu/index.ts +3 -0
- package/src/tray/menu/types.ts +27 -6
- package/src/tray/menu-svelte/TrayMenuOperations.d.svelte.ts +6 -0
- package/src/tray/menu-svelte/TrayMenuProgress.d.svelte.ts +6 -0
- package/src/tray/menu-svelte/index.ts +4 -0
- package/src/tray/menu-svelte/menu-props.ts +20 -0
- package/src/tray/menu-svelte/operation-ids.ts +21 -0
- package/src/tray/native.ts +44 -49
- package/src/tray/personalize.ts +57 -0
- package/src/tray/pointer-share.ts +71 -0
- package/src/tray/standalone/icon-raster.ts +208 -0
- package/src/tray/standalone/index.ts +5 -1
- package/src/tray/standalone/menu-icons.ts +317 -0
- package/src/tray/standalone/menu-theme.ts +90 -0
- package/src/tray/standalone/native.ts +83 -16
- package/src/tray/standalone/standalone-tray.ts +68 -5
- package/src/tray/themed-icon.ts +4 -36
- package/src/tray/tray-core.ts +7 -1
- package/src/tray/tray-extras.ts +31 -2
- package/src/tray/tray-manifest.ts +53 -4
- package/src/vite/entrypoints/build-tray.ts +23 -16
- package/src/vite/entrypoints/extract-tray.ts +41 -15
- package/src/vite/entrypoints/tray-module.ts +8 -4
- package/src/web-apis/eye-dropper.ts +9 -5
- package/src/web-apis/file-read.ts +43 -0
- package/src/web-apis/file-system.ts +33 -0
- package/src/web-apis/native.ts +0 -20
- package/src/win2d/activation-failure.ts +35 -0
- package/src/win2d/element-lifecycle.ts +6 -1
- package/src/win2d/manifest.ts +78 -0
- package/src/win32/index.ts +19 -0
- package/src/win32-calls.ts +8 -1
- package/src/win32-foreground.ts +100 -0
- package/src/win32-icons.ts +7 -2
- package/src/win32-key-state.ts +48 -0
- package/src/window/anchor.ts +28 -0
- package/src/window/apply-frame.ts +6 -4
- package/src/window/bootstrap-core.ts +165 -0
- package/src/window/bootstrap-mode.ts +23 -0
- package/src/window/bootstrap.ts +20 -103
- package/src/window/cover.ts +100 -0
- package/src/window/create-window.ts +4 -0
- package/src/window/dpi-awareness.ts +162 -0
- package/src/window/foreground-filter.ts +167 -0
- package/src/window/foreground-native.ts +91 -0
- package/src/window/foreground.ts +106 -0
- package/src/window/index.ts +2 -0
- package/src/window/native.ts +1 -1
- package/src/window/package-identity.ts +112 -0
- package/src/window/system-dispatcher-queue.ts +7 -2
- package/src/window/taskbar-native.ts +1 -2
- package/src/window/window-handle.ts +29 -1
- package/src/window/window-host.svelte.ts +59 -6
- package/web-types.json +11 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/automation/text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOrE,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAevD,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,8BAA8B;AAC9B,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE7E,uCAAuC;AACvC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAE7B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAEtC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED,uCAAuC;AACvC,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,qDAAqD;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAkDD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,aAAsC,EACvC,EAAE,qBAAqB,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,cAsCA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { UiaControlType, UiaPatternName } from "./ids.js";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
const DEFAULT_MAX_CHARACTERS = 12_000;
|
|
4
|
+
const VERSION_LENGTH = 16;
|
|
5
|
+
/** The control types that are window chrome, not content: their subtree is skipped. */
|
|
6
|
+
export const UIA_CHROME_CONTROL_TYPES = new Set([
|
|
7
|
+
UiaControlType.button,
|
|
8
|
+
UiaControlType.splitButton,
|
|
9
|
+
UiaControlType.menu,
|
|
10
|
+
UiaControlType.menuBar,
|
|
11
|
+
UiaControlType.menuItem,
|
|
12
|
+
UiaControlType.toolBar,
|
|
13
|
+
UiaControlType.tab,
|
|
14
|
+
UiaControlType.tabItem,
|
|
15
|
+
UiaControlType.scrollBar,
|
|
16
|
+
UiaControlType.statusBar,
|
|
17
|
+
UiaControlType.titleBar,
|
|
18
|
+
UiaControlType.image,
|
|
19
|
+
UiaControlType.separator,
|
|
20
|
+
UiaControlType.thumb
|
|
21
|
+
]);
|
|
22
|
+
/** The kinds of block a window's text is made of. */
|
|
23
|
+
export const TextBlockKind = {
|
|
24
|
+
heading: "heading",
|
|
25
|
+
text: "text"
|
|
26
|
+
};
|
|
27
|
+
function textOf(value) {
|
|
28
|
+
return value.replaceAll("", "").trim();
|
|
29
|
+
}
|
|
30
|
+
function blocksOf({ node, remaining }) {
|
|
31
|
+
const { cached } = node;
|
|
32
|
+
const isHeading = cached.headingLevel > 0;
|
|
33
|
+
if (cached.hasTextPattern) {
|
|
34
|
+
node.skipSubtree();
|
|
35
|
+
const ranges = node.pattern(UiaPatternName.text)?.visibleRanges() ?? [];
|
|
36
|
+
return ranges
|
|
37
|
+
.map(range => textOf(range.getText(remaining)))
|
|
38
|
+
.filter(text => text !== "")
|
|
39
|
+
.map(text => ({
|
|
40
|
+
kind: TextBlockKind.text,
|
|
41
|
+
level: 0,
|
|
42
|
+
text
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
const isEdit = cached.controlType === UiaControlType.edit && cached.hasValuePattern;
|
|
46
|
+
if (isEdit) {
|
|
47
|
+
const text = textOf(node.pattern(UiaPatternName.value)?.value ?? "");
|
|
48
|
+
return text === "" ? [] : [{
|
|
49
|
+
kind: TextBlockKind.text,
|
|
50
|
+
level: 0,
|
|
51
|
+
text
|
|
52
|
+
}];
|
|
53
|
+
}
|
|
54
|
+
const isTextType = cached.controlType === UiaControlType.text || cached.controlType === UiaControlType.listItem;
|
|
55
|
+
const isNamedText = isHeading || isTextType;
|
|
56
|
+
const text = textOf(cached.name);
|
|
57
|
+
const isBlock = isNamedText && text !== "";
|
|
58
|
+
return isBlock ? [{
|
|
59
|
+
kind: isHeading ? TextBlockKind.heading : TextBlockKind.text,
|
|
60
|
+
level: cached.headingLevel,
|
|
61
|
+
text
|
|
62
|
+
}] : [];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reads the text of a window: headings and the exact copy of the text beneath
|
|
66
|
+
* the chrome, through the control view. Elements that are off screen and
|
|
67
|
+
* window chrome (buttons, menus, tool bars, tabs, scroll bars, status bars,
|
|
68
|
+
* images) are skipped; an element with a text pattern gives its visible
|
|
69
|
+
* ranges and its subtree is not walked again.
|
|
70
|
+
*
|
|
71
|
+
* @param options - `client`: the client of a `withUiaClient` call; `root`: the window's element; the limits.
|
|
72
|
+
* @returns The title, the blocks and a version that changes with the text.
|
|
73
|
+
*/
|
|
74
|
+
export function readWindowText({ client, root, maxElements, maxMilliseconds, maxCharacters = DEFAULT_MAX_CHARACTERS }) {
|
|
75
|
+
const blocks = [];
|
|
76
|
+
let used = 0;
|
|
77
|
+
const walk = client.walk({
|
|
78
|
+
root,
|
|
79
|
+
...maxElements === undefined ? {} : { maxElements },
|
|
80
|
+
...maxMilliseconds === undefined ? {} : { maxMilliseconds },
|
|
81
|
+
shouldVisit: ({ isOffscreen, controlType }) => !isOffscreen && !UIA_CHROME_CONTROL_TYPES.has(controlType)
|
|
82
|
+
});
|
|
83
|
+
for (const node of walk) {
|
|
84
|
+
const remaining = maxCharacters - used;
|
|
85
|
+
const isFull = remaining <= 0;
|
|
86
|
+
if (isFull) {
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
for (const block of blocksOf({
|
|
90
|
+
node,
|
|
91
|
+
remaining
|
|
92
|
+
})) {
|
|
93
|
+
blocks.push(block);
|
|
94
|
+
used += block.text.length;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const title = root.properties().name;
|
|
98
|
+
const hash = createHash("sha256").update(title);
|
|
99
|
+
for (const block of blocks) {
|
|
100
|
+
hash.update(`\n${block.level}:${block.text}`);
|
|
101
|
+
}
|
|
102
|
+
const windowText = {
|
|
103
|
+
title,
|
|
104
|
+
blocks,
|
|
105
|
+
version: hash.digest("hex").slice(0, VERSION_LENGTH),
|
|
106
|
+
end: walk.end
|
|
107
|
+
};
|
|
108
|
+
return windowText;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/automation/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { UiaClient } from "./client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a UI Automation client, runs `use` with it, then releases every
|
|
4
|
+
* element, range and COM pointer it made; the elements refuse to work after
|
|
5
|
+
* that. Call it from a thread in a COM apartment, ideally a worker in the
|
|
6
|
+
* multithreaded one (an apartment that pumps messages can hang on a target
|
|
7
|
+
* that does not answer).
|
|
8
|
+
*
|
|
9
|
+
* @param use - The work; it may be async.
|
|
10
|
+
* @returns What `use` returned.
|
|
11
|
+
*/
|
|
12
|
+
export declare function withUiaClient<T>(use: (client: UiaClient) => T | Promise<T>): Promise<T>;
|
|
13
|
+
//# sourceMappingURL=with-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-client.d.ts","sourceRoot":"","sources":["../../src/automation/with-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,cAK1E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { runUiaClient } from "./client.js";
|
|
2
|
+
import { createUiaNativeBackend } from "./native.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates a UI Automation client, runs `use` with it, then releases every
|
|
5
|
+
* element, range and COM pointer it made; the elements refuse to work after
|
|
6
|
+
* that. Call it from a thread in a COM apartment, ideally a worker in the
|
|
7
|
+
* multithreaded one (an apartment that pumps messages can hang on a target
|
|
8
|
+
* that does not answer).
|
|
9
|
+
*
|
|
10
|
+
* @param use - The work; it may be async.
|
|
11
|
+
* @returns What `use` returned.
|
|
12
|
+
*/
|
|
13
|
+
export function withUiaClient(use) {
|
|
14
|
+
return runUiaClient({
|
|
15
|
+
use,
|
|
16
|
+
backend: createUiaNativeBackend()
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=with-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-client.js","sourceRoot":"","sources":["../../src/automation/with-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAI,GAA0C;IACzE,OAAO,YAAY,CAAC;QAClB,GAAG;QACH,OAAO,EAAE,sBAAsB,EAAE;KAClC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ReadWindowTextOptions, WindowText } from "./text.js";
|
|
2
|
+
/** Which window to read. */
|
|
3
|
+
export declare const UiaTarget: {
|
|
4
|
+
readonly foreground: "foreground";
|
|
5
|
+
readonly focused: "focused";
|
|
6
|
+
};
|
|
7
|
+
/** The foreground window, the window of the focused element, or the window with this handle. */
|
|
8
|
+
export type UiaTargetSpec = typeof UiaTarget[keyof typeof UiaTarget] | {
|
|
9
|
+
readonly hwnd: bigint;
|
|
10
|
+
};
|
|
11
|
+
/** What the host asks of the worker. */
|
|
12
|
+
export interface UiaWorkerRequest extends ReadWindowTextOptions {
|
|
13
|
+
readonly id: number;
|
|
14
|
+
readonly target: UiaTargetSpec;
|
|
15
|
+
/** A window of this process is not read (the app itself). */
|
|
16
|
+
readonly excludeProcessId?: number;
|
|
17
|
+
}
|
|
18
|
+
/** What the worker answers. */
|
|
19
|
+
export type UiaWorkerResponse = {
|
|
20
|
+
readonly id: number;
|
|
21
|
+
readonly text: WindowText | null;
|
|
22
|
+
} | {
|
|
23
|
+
readonly id: number;
|
|
24
|
+
readonly error: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The body of the UI Automation worker: joins the multithreaded apartment and
|
|
28
|
+
* answers each request on the parent port. The host starts it; an app does not
|
|
29
|
+
* call it.
|
|
30
|
+
*/
|
|
31
|
+
export declare function runUiaWorker(): void;
|
|
32
|
+
//# sourceMappingURL=worker-job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-job.d.ts","sourceRoot":"","sources":["../../src/automation/worker-job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQnE,4BAA4B;AAC5B,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,wCAAwC;AACxC,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,+BAA+B;AAC/B,MAAM,MAAM,iBAAiB,GACzB;IACA,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC,GACC;IACA,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAuCJ;;;;GAIG;AACH,wBAAgB,YAAY,SAgB3B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { readWindowText } from "./text.js";
|
|
2
|
+
import { withUiaClient } from "./with-client.js";
|
|
3
|
+
import { DynCom } from "@microsoft/dynwinrt/com/unsafe";
|
|
4
|
+
import { bindDll } from "../win32-calls.js";
|
|
5
|
+
import { parentPort } from "node:worker_threads";
|
|
6
|
+
const MULTITHREADED_APARTMENT = 0;
|
|
7
|
+
/** Which window to read. */
|
|
8
|
+
export const UiaTarget = {
|
|
9
|
+
foreground: "foreground",
|
|
10
|
+
focused: "focused"
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Reads one request inside a UI Automation client, on the calling thread.
|
|
14
|
+
*
|
|
15
|
+
* @param request - The window and the limits.
|
|
16
|
+
* @returns The text, or null when there is no window to read or it is the excluded process's.
|
|
17
|
+
*/
|
|
18
|
+
function readTarget({ target, excludeProcessId, ...limits }) {
|
|
19
|
+
const user32 = bindDll({
|
|
20
|
+
dll: "user32.dll",
|
|
21
|
+
functions: {
|
|
22
|
+
foregroundWindow: ["GetForegroundWindow", [], "pointer"]
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return withUiaClient(client => {
|
|
26
|
+
const isFocused = target === UiaTarget.focused;
|
|
27
|
+
const isWindow = typeof target === "object";
|
|
28
|
+
const root = isFocused
|
|
29
|
+
? client.focusedElement()
|
|
30
|
+
: client.elementFromHandle(isWindow ? target.hwnd : user32.foregroundWindow());
|
|
31
|
+
const isRootNull = root === null;
|
|
32
|
+
if (isRootNull) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const isExcluded = excludeProcessId !== undefined && root.properties().processId === excludeProcessId;
|
|
36
|
+
if (isExcluded) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return readWindowText({
|
|
40
|
+
client,
|
|
41
|
+
root,
|
|
42
|
+
...limits
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The body of the UI Automation worker: joins the multithreaded apartment and
|
|
48
|
+
* answers each request on the parent port. The host starts it; an app does not
|
|
49
|
+
* call it.
|
|
50
|
+
*/
|
|
51
|
+
export function runUiaWorker() {
|
|
52
|
+
DynCom.initialize(MULTITHREADED_APARTMENT);
|
|
53
|
+
parentPort?.on("message", async ({ id, ...request }) => {
|
|
54
|
+
try {
|
|
55
|
+
const text = await readTarget(request);
|
|
56
|
+
parentPort?.postMessage({
|
|
57
|
+
id,
|
|
58
|
+
text
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
parentPort?.postMessage({
|
|
63
|
+
id,
|
|
64
|
+
error: error instanceof Error ? error.message : String(error)
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=worker-job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-job.js","sourceRoot":"","sources":["../../src/automation/worker-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,4BAA4B;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACV,CAAC;AAyBX;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAAgC;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC;QACrB,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE;YACT,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,EAAE,EAAE,SAAS,CAAC;SACzD;KACF,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,MAAM,CAAC,EAAE;QAC5B,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC;QAC/C,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAG,SAAS;YACpB,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;YACzB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,KAAK,gBAAgB,CAAC;QACtG,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,cAAc,CAAC;YACpB,MAAM;YACN,IAAI;YACJ,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC3C,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAoB,EAAE,EAAE;QACvE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACvC,UAAU,EAAE,WAAW,CAAC;gBACtB,EAAE;gBACF,IAAI;aACuB,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,EAAE,WAAW,CAAC;gBACtB,EAAE;gBACF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { WindowText } from "./text.js";
|
|
2
|
+
import type { UiaTargetSpec, UiaWorkerRequest, UiaWorkerResponse } from "./worker-job.js";
|
|
3
|
+
/** The part of a worker the host uses; a test passes a fake. */
|
|
4
|
+
export interface UiaWorkerHandle {
|
|
5
|
+
postMessage(request: UiaWorkerRequest): void;
|
|
6
|
+
on(event: "message", listener: (response: UiaWorkerResponse) => void): unknown;
|
|
7
|
+
on(event: "error" | "exit", listener: (error: unknown) => void): unknown;
|
|
8
|
+
terminate(): unknown;
|
|
9
|
+
}
|
|
10
|
+
/** The request of `UiaWorker.readText`. */
|
|
11
|
+
export interface UiaReadRequest {
|
|
12
|
+
readonly target: UiaTargetSpec;
|
|
13
|
+
/** A window of this process is not read. */
|
|
14
|
+
readonly excludeProcessId?: number;
|
|
15
|
+
readonly maxElements?: number;
|
|
16
|
+
/** The soft deadline of the walk; 400 by default. */
|
|
17
|
+
readonly maxMilliseconds?: number;
|
|
18
|
+
readonly maxCharacters?: number;
|
|
19
|
+
/** The hard deadline: the call rejects with `UiaTimeout` and the worker is replaced; 1500 by default. */
|
|
20
|
+
readonly hardMilliseconds?: number;
|
|
21
|
+
}
|
|
22
|
+
/** A worker thread that owns the UI Automation client. */
|
|
23
|
+
export interface UiaWorker {
|
|
24
|
+
/**
|
|
25
|
+
* Reads the text of a window in the worker. A blocked COM call cannot be
|
|
26
|
+
* cancelled, so a call that outlives `hardMilliseconds` rejects with
|
|
27
|
+
* `UiaTimeout`, the worker is ended, and the next call starts a new one.
|
|
28
|
+
*/
|
|
29
|
+
readText(request: UiaReadRequest): Promise<WindowText | null>;
|
|
30
|
+
/** Ends the worker. */
|
|
31
|
+
close(): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Starts a UI Automation worker thread on first use. Its COM apartment is the
|
|
35
|
+
* multithreaded one, which Microsoft advises for a client, and a hung target
|
|
36
|
+
* app costs one call its hard deadline, not the caller's thread.
|
|
37
|
+
*
|
|
38
|
+
* @param options - `spawn`: how to make the worker (a test passes a fake).
|
|
39
|
+
* @returns The worker.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createUiaWorker({ spawn }?: {
|
|
42
|
+
readonly spawn?: () => UiaWorkerHandle;
|
|
43
|
+
}): UiaWorker;
|
|
44
|
+
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/automation/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAK1F,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7C,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC;IAC/E,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC;IACzE,SAAS,IAAI,OAAO,CAAC;CACtB;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,4CAA4C;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,qDAAqD;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,yGAAyG;IACzG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE9D,uBAAuB;IACvB,KAAK,IAAI,IAAI,CAAC;CACf;AAUD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAmB,EAAE,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,eAAe,CAAA;CAAO,aAuDvG"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { UiaTimeout } from "./client.js";
|
|
2
|
+
import { Worker } from "node:worker_threads";
|
|
3
|
+
const DEFAULT_HARD_MILLISECONDS = 1500;
|
|
4
|
+
function spawnNative() {
|
|
5
|
+
const extension = import.meta.url.endsWith(".ts") ? "ts" : "js";
|
|
6
|
+
const moduleUrl = new URL(`./worker-job.${extension}`, import.meta.url).href;
|
|
7
|
+
const source = `import(${JSON.stringify(moduleUrl)}).then(module => module.runUiaWorker())`;
|
|
8
|
+
// oxlint-disable-next-line typescript/consistent-type-assertions -- Worker's overloads are wider than the part used
|
|
9
|
+
return new Worker(source, { eval: true });
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Starts a UI Automation worker thread on first use. Its COM apartment is the
|
|
13
|
+
* multithreaded one, which Microsoft advises for a client, and a hung target
|
|
14
|
+
* app costs one call its hard deadline, not the caller's thread.
|
|
15
|
+
*
|
|
16
|
+
* @param options - `spawn`: how to make the worker (a test passes a fake).
|
|
17
|
+
* @returns The worker.
|
|
18
|
+
*/
|
|
19
|
+
export function createUiaWorker({ spawn = spawnNative } = {}) {
|
|
20
|
+
let worker = null;
|
|
21
|
+
let nextId = 0;
|
|
22
|
+
function discard() {
|
|
23
|
+
void worker?.terminate();
|
|
24
|
+
worker = null;
|
|
25
|
+
}
|
|
26
|
+
const uiaWorker = {
|
|
27
|
+
readText({ hardMilliseconds = DEFAULT_HARD_MILLISECONDS, ...request }) {
|
|
28
|
+
const current = worker ?? spawn();
|
|
29
|
+
worker = current;
|
|
30
|
+
nextId += 1;
|
|
31
|
+
const id = nextId;
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
const timer = setTimeout(() => {
|
|
34
|
+
discard();
|
|
35
|
+
reject(new UiaTimeout(`the target did not answer in ${hardMilliseconds} ms`));
|
|
36
|
+
}, hardMilliseconds);
|
|
37
|
+
current.on("message", response => {
|
|
38
|
+
const isOurs = response.id === id;
|
|
39
|
+
if (!isOurs) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
clearTimeout(timer);
|
|
43
|
+
const isErrorInResponse = "error" in response;
|
|
44
|
+
if (isErrorInResponse) {
|
|
45
|
+
reject(new Error(response.error));
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
resolve(response.text);
|
|
49
|
+
});
|
|
50
|
+
current.on("error", error => {
|
|
51
|
+
clearTimeout(timer);
|
|
52
|
+
discard();
|
|
53
|
+
reject(error instanceof Error ? error : new Error(String(error)));
|
|
54
|
+
});
|
|
55
|
+
current.on("exit", () => {
|
|
56
|
+
clearTimeout(timer);
|
|
57
|
+
worker = null;
|
|
58
|
+
reject(new Error("the UI Automation worker ended"));
|
|
59
|
+
});
|
|
60
|
+
current.postMessage({
|
|
61
|
+
...request,
|
|
62
|
+
id
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
close: discard
|
|
67
|
+
};
|
|
68
|
+
return uiaWorker;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/automation/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAuCvC,SAAS,WAAW;IAClB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,gBAAgB,SAAS,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,yCAAyC,CAAC;IAC5F,oHAAoH;IACpH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAA+B,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,GAAG,WAAW,KAAiD,EAAE;IACtG,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,SAAS,OAAO;QACd,KAAK,MAAM,EAAE,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAc;QAC3B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,yBAAyB,EAAE,GAAG,OAAO,EAAE;YACnE,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;YAClC,MAAM,GAAG,OAAO,CAAC;YACjB,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,CAAC;YAClB,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,UAAU,CAAC,gCAAgC,gBAAgB,KAAK,CAAC,CAAC,CAAC;gBAChF,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACrB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;oBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,OAAO;oBACT,CAAC;oBAED,YAAY,CAAC,KAAK,CAAC,CAAC;oBAEpB,MAAM,iBAAiB,GAAG,OAAO,IAAI,QAAQ,CAAC;oBAC9C,IAAI,iBAAiB,EAAE,CAAC;wBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;wBAClC,OAAO;oBACT,CAAC;oBAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACtB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,WAAW,CAAC;oBAClB,GAAG,OAAO;oBACV,EAAE;iBACH,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,OAAO;KACf,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -40330,6 +40330,34 @@
|
|
|
40330
40330
|
"implementation_helpers": [],
|
|
40331
40331
|
"reserved_symbols": []
|
|
40332
40332
|
},
|
|
40333
|
+
{
|
|
40334
|
+
"identity": {
|
|
40335
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40336
|
+
"name": "ActivationKind",
|
|
40337
|
+
"kind": "enum",
|
|
40338
|
+
"variant": ""
|
|
40339
|
+
},
|
|
40340
|
+
"projected_name": "ActivationKind",
|
|
40341
|
+
"implementation_name": "ActivationKind",
|
|
40342
|
+
"abi_identity": "type",
|
|
40343
|
+
"compatibility_aliases": [],
|
|
40344
|
+
"implementation_helpers": [],
|
|
40345
|
+
"reserved_symbols": []
|
|
40346
|
+
},
|
|
40347
|
+
{
|
|
40348
|
+
"identity": {
|
|
40349
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40350
|
+
"name": "ApplicationExecutionState",
|
|
40351
|
+
"kind": "enum",
|
|
40352
|
+
"variant": ""
|
|
40353
|
+
},
|
|
40354
|
+
"projected_name": "ApplicationExecutionState",
|
|
40355
|
+
"implementation_name": "ApplicationExecutionState",
|
|
40356
|
+
"abi_identity": "type",
|
|
40357
|
+
"compatibility_aliases": [],
|
|
40358
|
+
"implementation_helpers": [],
|
|
40359
|
+
"reserved_symbols": []
|
|
40360
|
+
},
|
|
40333
40361
|
{
|
|
40334
40362
|
"identity": {
|
|
40335
40363
|
"namespace": "Windows.ApplicationModel.Activation",
|
|
@@ -40344,6 +40372,148 @@
|
|
|
40344
40372
|
"implementation_helpers": [],
|
|
40345
40373
|
"reserved_symbols": []
|
|
40346
40374
|
},
|
|
40375
|
+
{
|
|
40376
|
+
"identity": {
|
|
40377
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40378
|
+
"name": "IActivatedEventArgs",
|
|
40379
|
+
"kind": "interface",
|
|
40380
|
+
"variant": ""
|
|
40381
|
+
},
|
|
40382
|
+
"projected_name": "IActivatedEventArgs",
|
|
40383
|
+
"implementation_name": "IActivatedEventArgs",
|
|
40384
|
+
"abi_identity": "iid:cf651713-cd08-4fd8-b697-a281b6544e2e",
|
|
40385
|
+
"compatibility_aliases": [],
|
|
40386
|
+
"implementation_helpers": [
|
|
40387
|
+
{
|
|
40388
|
+
"key": "handlers",
|
|
40389
|
+
"suffix": "Handlers",
|
|
40390
|
+
"name": "IActivatedEventArgsHandlers",
|
|
40391
|
+
"implementation_name": "IActivatedEventArgsHandlers"
|
|
40392
|
+
}
|
|
40393
|
+
],
|
|
40394
|
+
"reserved_symbols": []
|
|
40395
|
+
},
|
|
40396
|
+
{
|
|
40397
|
+
"identity": {
|
|
40398
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40399
|
+
"name": "IActivatedEventArgsWithUser",
|
|
40400
|
+
"kind": "interface",
|
|
40401
|
+
"variant": ""
|
|
40402
|
+
},
|
|
40403
|
+
"projected_name": "IActivatedEventArgsWithUser",
|
|
40404
|
+
"implementation_name": "IActivatedEventArgsWithUser",
|
|
40405
|
+
"abi_identity": "iid:1cf09b9e-9962-4936-80ff-afc8e8ae5c8c",
|
|
40406
|
+
"compatibility_aliases": [],
|
|
40407
|
+
"implementation_helpers": [
|
|
40408
|
+
{
|
|
40409
|
+
"key": "handlers",
|
|
40410
|
+
"suffix": "Handlers",
|
|
40411
|
+
"name": "IActivatedEventArgsWithUserHandlers",
|
|
40412
|
+
"implementation_name": "IActivatedEventArgsWithUserHandlers"
|
|
40413
|
+
}
|
|
40414
|
+
],
|
|
40415
|
+
"reserved_symbols": []
|
|
40416
|
+
},
|
|
40417
|
+
{
|
|
40418
|
+
"identity": {
|
|
40419
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40420
|
+
"name": "IApplicationViewActivatedEventArgs",
|
|
40421
|
+
"kind": "interface",
|
|
40422
|
+
"variant": ""
|
|
40423
|
+
},
|
|
40424
|
+
"projected_name": "IApplicationViewActivatedEventArgs",
|
|
40425
|
+
"implementation_name": "IApplicationViewActivatedEventArgs",
|
|
40426
|
+
"abi_identity": "iid:930cef4b-b829-40fc-88f4-8513e8a64738",
|
|
40427
|
+
"compatibility_aliases": [],
|
|
40428
|
+
"implementation_helpers": [
|
|
40429
|
+
{
|
|
40430
|
+
"key": "handlers",
|
|
40431
|
+
"suffix": "Handlers",
|
|
40432
|
+
"name": "IApplicationViewActivatedEventArgsHandlers",
|
|
40433
|
+
"implementation_name": "IApplicationViewActivatedEventArgsHandlers"
|
|
40434
|
+
}
|
|
40435
|
+
],
|
|
40436
|
+
"reserved_symbols": []
|
|
40437
|
+
},
|
|
40438
|
+
{
|
|
40439
|
+
"identity": {
|
|
40440
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40441
|
+
"name": "IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData",
|
|
40442
|
+
"kind": "interface",
|
|
40443
|
+
"variant": ""
|
|
40444
|
+
},
|
|
40445
|
+
"projected_name": "IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData",
|
|
40446
|
+
"implementation_name": "IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData",
|
|
40447
|
+
"abi_identity": "iid:d84a0c12-5c8f-438c-83cb-c28fcc0b2fdb",
|
|
40448
|
+
"compatibility_aliases": [],
|
|
40449
|
+
"implementation_helpers": [
|
|
40450
|
+
{
|
|
40451
|
+
"key": "handlers",
|
|
40452
|
+
"suffix": "Handlers",
|
|
40453
|
+
"name": "IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndDataHandlers",
|
|
40454
|
+
"implementation_name": "IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndDataHandlers"
|
|
40455
|
+
}
|
|
40456
|
+
],
|
|
40457
|
+
"reserved_symbols": []
|
|
40458
|
+
},
|
|
40459
|
+
{
|
|
40460
|
+
"identity": {
|
|
40461
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40462
|
+
"name": "IViewSwitcherProvider",
|
|
40463
|
+
"kind": "interface",
|
|
40464
|
+
"variant": ""
|
|
40465
|
+
},
|
|
40466
|
+
"projected_name": "IViewSwitcherProvider",
|
|
40467
|
+
"implementation_name": "IViewSwitcherProvider",
|
|
40468
|
+
"abi_identity": "iid:33f288a6-5c2c-4d27-bac7-7536088f1219",
|
|
40469
|
+
"compatibility_aliases": [],
|
|
40470
|
+
"implementation_helpers": [
|
|
40471
|
+
{
|
|
40472
|
+
"key": "handlers",
|
|
40473
|
+
"suffix": "Handlers",
|
|
40474
|
+
"name": "IViewSwitcherProviderHandlers",
|
|
40475
|
+
"implementation_name": "IViewSwitcherProviderHandlers"
|
|
40476
|
+
}
|
|
40477
|
+
],
|
|
40478
|
+
"reserved_symbols": []
|
|
40479
|
+
},
|
|
40480
|
+
{
|
|
40481
|
+
"identity": {
|
|
40482
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40483
|
+
"name": "ProtocolActivatedEventArgs",
|
|
40484
|
+
"kind": "class",
|
|
40485
|
+
"variant": ""
|
|
40486
|
+
},
|
|
40487
|
+
"projected_name": "ProtocolActivatedEventArgs",
|
|
40488
|
+
"implementation_name": "ProtocolActivatedEventArgs",
|
|
40489
|
+
"abi_identity": "type",
|
|
40490
|
+
"compatibility_aliases": [],
|
|
40491
|
+
"implementation_helpers": [],
|
|
40492
|
+
"reserved_symbols": []
|
|
40493
|
+
},
|
|
40494
|
+
{
|
|
40495
|
+
"identity": {
|
|
40496
|
+
"namespace": "Windows.ApplicationModel.Activation",
|
|
40497
|
+
"name": "SplashScreen",
|
|
40498
|
+
"kind": "class",
|
|
40499
|
+
"variant": ""
|
|
40500
|
+
},
|
|
40501
|
+
"projected_name": "SplashScreen",
|
|
40502
|
+
"implementation_name": "SplashScreen",
|
|
40503
|
+
"abi_identity": "type",
|
|
40504
|
+
"compatibility_aliases": [],
|
|
40505
|
+
"implementation_helpers": [],
|
|
40506
|
+
"reserved_symbols": [
|
|
40507
|
+
"EventRegistrationToken",
|
|
40508
|
+
"EventRegistrationToken_Type",
|
|
40509
|
+
"Rect",
|
|
40510
|
+
"Rect_Type",
|
|
40511
|
+
"packEventRegistrationToken",
|
|
40512
|
+
"packRect",
|
|
40513
|
+
"unpackEventRegistrationToken",
|
|
40514
|
+
"unpackRect"
|
|
40515
|
+
]
|
|
40516
|
+
},
|
|
40347
40517
|
{
|
|
40348
40518
|
"identity": {
|
|
40349
40519
|
"namespace": "Windows.ApplicationModel.Background",
|
|
@@ -46387,6 +46557,20 @@
|
|
|
46387
46557
|
"implementation_helpers": [],
|
|
46388
46558
|
"reserved_symbols": []
|
|
46389
46559
|
},
|
|
46560
|
+
{
|
|
46561
|
+
"identity": {
|
|
46562
|
+
"namespace": "Windows.Foundation",
|
|
46563
|
+
"name": "TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff",
|
|
46564
|
+
"kind": "delegate",
|
|
46565
|
+
"variant": "piid:9de1c534-6ae1-11e0-84e1-18a905bcc53f:args:[class(Windows.ApplicationModel.Activation.SplashScreen;default=interface(Windows.ApplicationModel.Activation.ISplashScreen,ca4d975c-d4d6-43f0-97c0-0833c6391c24)),object]"
|
|
46566
|
+
},
|
|
46567
|
+
"projected_name": "TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff",
|
|
46568
|
+
"implementation_name": "TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff",
|
|
46569
|
+
"abi_identity": "piid:9de1c534-6ae1-11e0-84e1-18a905bcc53f:iid:9de1c534-6ae1-11e0-84e1-18a905bcc53f:args:[class(Windows.ApplicationModel.Activation.SplashScreen;default=interface(Windows.ApplicationModel.Activation.ISplashScreen,ca4d975c-d4d6-43f0-97c0-0833c6391c24)),object]",
|
|
46570
|
+
"compatibility_aliases": [],
|
|
46571
|
+
"implementation_helpers": [],
|
|
46572
|
+
"reserved_symbols": []
|
|
46573
|
+
},
|
|
46390
46574
|
{
|
|
46391
46575
|
"identity": {
|
|
46392
46576
|
"namespace": "Windows.Foundation",
|
|
@@ -68332,6 +68516,20 @@
|
|
|
68332
68516
|
"unpackEventRegistrationToken"
|
|
68333
68517
|
]
|
|
68334
68518
|
},
|
|
68519
|
+
{
|
|
68520
|
+
"identity": {
|
|
68521
|
+
"namespace": "Windows.UI.ViewManagement",
|
|
68522
|
+
"name": "ActivationViewSwitcher",
|
|
68523
|
+
"kind": "class",
|
|
68524
|
+
"variant": ""
|
|
68525
|
+
},
|
|
68526
|
+
"projected_name": "ActivationViewSwitcher",
|
|
68527
|
+
"implementation_name": "ActivationViewSwitcher",
|
|
68528
|
+
"abi_identity": "type",
|
|
68529
|
+
"compatibility_aliases": [],
|
|
68530
|
+
"implementation_helpers": [],
|
|
68531
|
+
"reserved_symbols": []
|
|
68532
|
+
},
|
|
68335
68533
|
{
|
|
68336
68534
|
"identity": {
|
|
68337
68535
|
"namespace": "Windows.UI.ViewManagement",
|