@walkhi/code-relax 0.1.0-beta.3 → 0.1.0-beta.31
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 +83 -71
- package/dist/bin/cleanup-accounts.mjs +63 -0
- package/dist/bin/codex-remote.mjs +296 -184
- package/dist/bin/manage-relay-admin.mjs +20 -0
- package/dist/bin/migrate-relay-db.mjs +109 -0
- package/dist/bin/publish-android-release.mjs +62 -0
- package/dist/bin/self-relay-admin.mjs +8 -0
- package/dist/bin/self-relay-demo.mjs +2 -2
- package/dist/bin/self-relay-server.mjs +43 -30
- package/dist/build-platform.json +1 -0
- package/dist/get-shared-service-url.ps1 +6 -6
- package/dist/shared/app-server-events.cjs +368 -238
- package/dist/shared/code-browser.cjs +159 -0
- package/dist/shared/file-changes.cjs +31 -0
- package/dist/shared/file-citations.cjs +117 -0
- package/dist/shared/file-mentions.cjs +92 -0
- package/dist/shared/message-delivery.cjs +54 -0
- package/dist/shared/p2p-data-channel.cjs +22 -0
- package/dist/shared/p2p-file-channel.cjs +74 -0
- package/dist/shared/plan-pricing.cjs +32 -0
- package/dist/shared/question-attention.cjs +40 -0
- package/dist/shared/server-requests.cjs +157 -5
- package/dist/shared/service-endpoints.cjs +21 -0
- package/dist/shared/timeline-sync.cjs +111 -5
- package/dist/skills/code-relax/SKILL.md +13 -8
- package/dist/src/archived-threads.mjs +22 -0
- package/dist/src/bounded-process-log.mjs +63 -0
- package/dist/src/celsius-client.mjs +107 -0
- package/dist/src/code-browser.mjs +100 -0
- package/dist/src/desktop-launcher.mjs +33 -38
- package/dist/src/dots-approval-timeline.mjs +99 -0
- package/dist/src/dots-avatar.mjs +42 -0
- package/dist/src/dots-chat-projection.mjs +50 -0
- package/dist/src/dots-chat-server.mjs +461 -0
- package/dist/src/dots-message-images.mjs +319 -0
- package/dist/src/dots-profile.mjs +77 -0
- package/dist/src/dots-room-activity.mjs +94 -0
- package/dist/src/dots-room-client.mjs +135 -0
- package/dist/src/dots-room-projection.mjs +94 -0
- package/dist/src/dots-schedules.mjs +66 -0
- package/dist/src/dots-summary-tasks.mjs +32 -0
- package/dist/src/dots-task-catalog.mjs +430 -0
- package/dist/src/dots-task-files.mjs +52 -0
- package/dist/src/file-transfer-range.mjs +22 -0
- package/dist/src/file-upload-session.mjs +130 -0
- package/dist/src/hosted-history-app-server.mjs +103 -0
- package/dist/src/hosted-history-cache.mjs +113 -0
- package/dist/src/lan-socket-server.mjs +240 -84
- package/dist/src/managed-app-server.mjs +53 -16
- package/dist/src/message-images.mjs +0 -18
- package/dist/src/message-upload-files.mjs +74 -0
- package/dist/src/onboarding.mjs +10 -29
- package/dist/src/plan-pricing.mjs +47 -0
- package/dist/src/platform/README.md +2 -2
- package/dist/src/platform/codex-protocol.mjs +46 -0
- package/dist/src/platform/codex-runtime.mjs +3 -0
- package/dist/src/platform/credential-store.mjs +3 -0
- package/dist/src/platform/desktop-host.mjs +3 -0
- package/dist/src/platform/desktop-project-registration.mjs +3 -0
- package/dist/src/platform/desktop-project-store.mjs +208 -0
- package/dist/src/platform/file-opener.mjs +9 -0
- package/dist/src/platform/linux/codex-runtime.mjs +56 -0
- package/dist/src/platform/linux/credential-store.mjs +28 -0
- package/dist/src/platform/linux/desktop-host.mjs +83 -0
- package/dist/src/platform/linux/desktop-installation.mjs +36 -0
- package/dist/src/platform/linux/desktop-project-registration.mjs +11 -0
- package/dist/src/platform/linux/network-info.mjs +11 -0
- package/dist/src/platform/linux/process.mjs +42 -0
- package/dist/src/platform/linux/project-locations.mjs +17 -0
- package/dist/src/platform/linux/resident-startup.mjs +52 -0
- package/dist/src/platform/linux/retained-runtime.mjs +76 -0
- package/dist/src/platform/linux/service-host.mjs +18 -0
- package/dist/src/platform/linux/system.mjs +49 -0
- package/dist/src/platform/linux/user-environment.mjs +7 -0
- package/dist/src/platform/macos/codex-runtime.mjs +125 -0
- package/dist/src/platform/macos/credential-store.mjs +10 -0
- package/dist/src/platform/macos/desktop-host.mjs +82 -0
- package/dist/src/platform/macos/desktop-project-registration.mjs +11 -0
- package/dist/src/platform/macos/network-info.mjs +8 -0
- package/dist/src/platform/macos/project-locations.mjs +8 -0
- package/dist/src/platform/macos/resident-startup.mjs +84 -0
- package/dist/src/platform/macos/retained-runtime.mjs +127 -0
- package/dist/src/platform/macos/service-host.mjs +18 -0
- package/dist/src/platform/macos/system.mjs +29 -0
- package/dist/src/platform/macos/user-environment.mjs +7 -0
- package/dist/src/platform/native-package.mjs +58 -0
- package/dist/src/platform/network-info.mjs +3 -0
- package/dist/src/platform/path-identity.mjs +5 -0
- package/dist/src/platform/posix/network-candidates.mjs +23 -0
- package/dist/src/platform/posix/runtime-paths.mjs +25 -0
- package/dist/src/platform/project-locations.mjs +3 -0
- package/dist/src/platform/runtime-paths.mjs +8 -0
- package/dist/src/platform/select.mjs +5 -0
- package/dist/src/platform/service-host.mjs +3 -0
- package/dist/src/platform/user-environment.mjs +3 -0
- package/dist/src/platform/windows/activate-desktop.ps1 +48 -0
- package/dist/src/platform/windows/codex-runtime.mjs +215 -0
- package/dist/src/platform/windows/credential-store.mjs +27 -27
- package/dist/src/platform/windows/credential-store.ps1 +49 -49
- package/dist/src/platform/windows/desktop-helper.mjs +179 -0
- package/dist/src/platform/windows/desktop-host.mjs +43 -23
- package/dist/src/platform/windows/desktop-info.ps1 +14 -16
- package/dist/src/platform/windows/desktop-project-registration.mjs +4 -0
- package/dist/src/platform/windows/desktop-runtime.ps1 +10 -0
- package/dist/src/platform/windows/desktop-shortcuts.ps1 +21 -28
- package/dist/src/platform/windows/dots-profile.mjs +49 -0
- package/dist/src/platform/windows/launch-worker.mjs +17 -18
- package/dist/src/platform/windows/project-locations.mjs +16 -0
- package/dist/src/platform/windows/resident-start.js +20 -0
- package/dist/src/platform/windows/resident-startup.ps1 +76 -20
- package/dist/src/platform/windows/rustdesk-video-probe.mjs +168 -0
- package/dist/src/platform/windows/service-host.mjs +24 -36
- package/dist/src/platform/windows/stop-desktop.ps1 +7 -4
- package/dist/src/platform/windows/user-environment.mjs +1 -1
- package/dist/src/project-archive.mjs +30 -0
- package/dist/src/project-create.mjs +121 -0
- package/dist/src/project-management.mjs +59 -0
- package/dist/src/project-remove.mjs +55 -0
- package/dist/src/project-update.mjs +56 -0
- package/dist/src/runtime-discovery.mjs +47 -0
- package/dist/src/self-relay/account-cleanup.mjs +30 -0
- package/dist/src/self-relay/account-connections.mjs +52 -0
- package/dist/src/self-relay/admin-cloud.mjs +101 -0
- package/dist/src/self-relay/admin-page.mjs +80 -0
- package/dist/src/self-relay/admin-server.mjs +74 -0
- package/dist/src/self-relay/admin-state.mjs +85 -19
- package/dist/src/self-relay/admin-style.mjs +14 -0
- package/dist/src/self-relay/android-releases.mjs +61 -0
- package/dist/src/self-relay/client.mjs +45 -45
- package/dist/src/self-relay/connector.mjs +421 -144
- package/dist/src/self-relay/demo.mjs +34 -35
- package/dist/src/self-relay/device-info.mjs +27 -0
- package/dist/src/self-relay/device-store.mjs +10 -2
- package/dist/src/self-relay/diagnostics.mjs +54 -0
- package/dist/src/self-relay/email-accounts.mjs +183 -0
- package/dist/src/self-relay/file-wire.mjs +13 -0
- package/dist/src/self-relay/lan-authorizations.mjs +44 -2
- package/dist/src/self-relay/lifecycle.mjs +256 -273
- package/dist/src/self-relay/long-pairing.mjs +40 -0
- package/dist/src/self-relay/mysql-state.mjs +118 -0
- package/dist/src/self-relay/p2p-probe.mjs +41 -5
- package/dist/src/self-relay/privacy-page.mjs +26 -0
- package/dist/src/self-relay/public-releases.mjs +34 -0
- package/dist/src/self-relay/rtc-file-bridge.mjs +41 -0
- package/dist/src/self-relay/server.mjs +655 -115
- package/dist/src/self-relay/usage-daily.mjs +55 -0
- package/dist/src/self-relay/usage-meter.mjs +141 -0
- package/dist/src/server.mjs +1486 -1793
- package/dist/src/service-control.mjs +17 -7
- package/dist/src/service-doctor.mjs +80 -33
- package/dist/src/service-health.mjs +2 -2
- package/dist/src/service-install.mjs +85 -85
- package/dist/src/service-lifecycle.mjs +116 -108
- package/dist/src/service-restart.mjs +43 -10
- package/dist/src/shared-app-server.mjs +507 -404
- package/dist/src/shared-catalog.mjs +95 -13
- package/dist/src/shared-recovery.mjs +15 -11
- package/dist/src/shared-thread-stream.mjs +147 -63
- package/dist/src/skill-install.mjs +0 -13
- package/dist/src/turn-model-history.mjs +47 -0
- package/dist/src/usage-reset.mjs +17 -0
- package/dist/src/workstation-downloads.mjs +120 -0
- package/package.json +35 -37
- package/tools/postinstall.mjs +30 -21
- package/dist/src/app-server-client.mjs +0 -468
- package/dist/src/app-server-tasks.mjs +0 -358
- package/dist/src/debug-ui.mjs +0 -131
- package/dist/src/platform/windows/desktop-monitor.mjs +0 -34
- package/dist/src/platform/windows/desktop-shortcut-run.ps1 +0 -5
- package/dist/src/platform/windows/desktop-tools.mjs +0 -48
- package/dist/src/thread-catalog.mjs +0 -47
- package/dist/tools/find-desktop-pipe.mjs +0 -10
- package/dist/web/activity-view.js +0 -283
- package/dist/web/approval-ui.js +0 -188
- package/dist/web/capabilities.js +0 -57
- package/dist/web/chat-transport.js +0 -202
- package/dist/web/chat.css +0 -782
- package/dist/web/chat.js +0 -3830
- package/dist/web/client-platform.js +0 -11
- package/dist/web/community-view.js +0 -20
- package/dist/web/community.css +0 -77
- package/dist/web/community.html +0 -37
- package/dist/web/composer-controller.js +0 -101
- package/dist/web/conversation-controller.js +0 -99
- package/dist/web/disclosure-state-controller.js +0 -95
- package/dist/web/draft-controller.js +0 -103
- package/dist/web/harmony-platform.js +0 -52
- package/dist/web/highlight-powershell.min.js +0 -39
- package/dist/web/highlight.min.js +0 -1262
- package/dist/web/history-cache.js +0 -240
- package/dist/web/history-controller.js +0 -167
- package/dist/web/index.html +0 -325
- package/dist/web/lan-session.js +0 -122
- package/dist/web/link-action-controller.js +0 -212
- package/dist/web/message-send-controller.js +0 -177
- package/dist/web/message-view.js +0 -98
- package/dist/web/p2p-data-channel.js +0 -50
- package/dist/web/p2p-diagnostics.js +0 -28
- package/dist/web/p2p-probe.js +0 -123
- package/dist/web/page-resume.js +0 -28
- package/dist/web/pending-message-store.js +0 -108
- package/dist/web/queue-controller.js +0 -82
- package/dist/web/resources.json +0 -1
- package/dist/web/self-relay-session.js +0 -129
- package/dist/web/server-requests.js +0 -67
- package/dist/web/station-connection-controller.js +0 -75
- package/dist/web/task-list-view.js +0 -296
- package/dist/web/thread-attention-controller.js +0 -124
- package/dist/web/thread-context-controller.js +0 -30
- package/dist/web/thread-list-controller.js +0 -61
- package/dist/web/thread-list-sync.js +0 -86
- package/dist/web/thread-title-controller.js +0 -57
- package/dist/web/timeline-formatters.js +0 -249
- package/dist/web/timeline-reducer.js +0 -81
- package/dist/web/timeline-renderer.js +0 -161
- package/dist/web/timeline-scroll-controller.js +0 -50
- package/dist/web/timeline-sync.js +0 -67
- package/dist/web/usage-controller.js +0 -258
- package/dist/web/vendor/README.md +0 -14
- package/dist/web/vendor/highlight-powershell.min.js +0 -39
- package/dist/web/vendor/highlight.LICENSE.txt +0 -29
- package/dist/web/vendor/highlight.min.js +0 -1262
- package/dist/web/vendor/lucide.LICENSE.txt +0 -17
- package/node_modules/@img/colour/LICENSE.md +0 -82
- package/node_modules/@img/colour/README.md +0 -15
- package/node_modules/@img/colour/color.cjs +0 -1596
- package/node_modules/@img/colour/index.cjs +0 -1
- package/node_modules/@img/colour/index.d.ts +0 -929
- package/node_modules/@img/colour/package.json +0 -58
- package/node_modules/@img/sharp-win32-x64/LICENSE +0 -191
- package/node_modules/@img/sharp-win32-x64/README.md +0 -59
- package/node_modules/@img/sharp-win32-x64/index.cjs +0 -1
- package/node_modules/@img/sharp-win32-x64/lib/libvips-42.dll +0 -0
- package/node_modules/@img/sharp-win32-x64/lib/libvips-cpp-8.18.6.dll +0 -0
- package/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64-0.35.4.node +0 -0
- package/node_modules/@img/sharp-win32-x64/package.json +0 -40
- package/node_modules/@img/sharp-win32-x64/versions.json +0 -30
- package/node_modules/@node-datachannel/win32-x64-msvc/node_datachannel.node +0 -0
- package/node_modules/@node-datachannel/win32-x64-msvc/package.json +0 -20
- package/node_modules/ansi-regex/index.d.ts +0 -37
- package/node_modules/ansi-regex/index.js +0 -10
- package/node_modules/ansi-regex/license +0 -9
- package/node_modules/ansi-regex/package.json +0 -55
- package/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/ansi-styles/index.d.ts +0 -345
- package/node_modules/ansi-styles/index.js +0 -163
- package/node_modules/ansi-styles/license +0 -9
- package/node_modules/ansi-styles/package.json +0 -56
- package/node_modules/ansi-styles/readme.md +0 -152
- package/node_modules/camelcase/index.d.ts +0 -63
- package/node_modules/camelcase/index.js +0 -76
- package/node_modules/camelcase/license +0 -9
- package/node_modules/camelcase/package.json +0 -43
- package/node_modules/camelcase/readme.md +0 -99
- package/node_modules/cliui/CHANGELOG.md +0 -76
- package/node_modules/cliui/LICENSE.txt +0 -14
- package/node_modules/cliui/README.md +0 -115
- package/node_modules/cliui/index.js +0 -354
- package/node_modules/cliui/package.json +0 -65
- package/node_modules/color-convert/CHANGELOG.md +0 -54
- package/node_modules/color-convert/LICENSE +0 -21
- package/node_modules/color-convert/README.md +0 -68
- package/node_modules/color-convert/conversions.js +0 -839
- package/node_modules/color-convert/index.js +0 -81
- package/node_modules/color-convert/package.json +0 -48
- package/node_modules/color-convert/route.js +0 -97
- package/node_modules/color-name/LICENSE +0 -8
- package/node_modules/color-name/README.md +0 -11
- package/node_modules/color-name/index.js +0 -152
- package/node_modules/color-name/package.json +0 -28
- package/node_modules/decamelize/index.js +0 -13
- package/node_modules/decamelize/license +0 -21
- package/node_modules/decamelize/package.json +0 -38
- package/node_modules/decamelize/readme.md +0 -48
- package/node_modules/detect-libc/LICENSE +0 -201
- package/node_modules/detect-libc/README.md +0 -163
- package/node_modules/detect-libc/index.d.ts +0 -14
- package/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/node_modules/detect-libc/lib/elf.js +0 -39
- package/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/node_modules/detect-libc/lib/process.js +0 -24
- package/node_modules/detect-libc/package.json +0 -44
- package/node_modules/dijkstrajs/.travis.yml +0 -4
- package/node_modules/dijkstrajs/CONTRIBUTING.md +0 -8
- package/node_modules/dijkstrajs/LICENSE.md +0 -19
- package/node_modules/dijkstrajs/README.md +0 -18
- package/node_modules/dijkstrajs/dijkstra.js +0 -165
- package/node_modules/dijkstrajs/package.json +0 -60
- package/node_modules/dijkstrajs/test/dijkstra.test.js +0 -96
- package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/node_modules/emoji-regex/README.md +0 -73
- package/node_modules/emoji-regex/es2015/index.js +0 -6
- package/node_modules/emoji-regex/es2015/text.js +0 -6
- package/node_modules/emoji-regex/index.d.ts +0 -23
- package/node_modules/emoji-regex/index.js +0 -6
- package/node_modules/emoji-regex/package.json +0 -50
- package/node_modules/emoji-regex/text.js +0 -6
- package/node_modules/find-up/index.d.ts +0 -137
- package/node_modules/find-up/index.js +0 -89
- package/node_modules/find-up/license +0 -9
- package/node_modules/find-up/package.json +0 -53
- package/node_modules/find-up/readme.md +0 -156
- package/node_modules/get-caller-file/LICENSE.md +0 -6
- package/node_modules/get-caller-file/README.md +0 -41
- package/node_modules/get-caller-file/index.d.ts +0 -2
- package/node_modules/get-caller-file/index.js +0 -22
- package/node_modules/get-caller-file/index.js.map +0 -1
- package/node_modules/get-caller-file/package.json +0 -42
- package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
- package/node_modules/is-fullwidth-code-point/index.js +0 -50
- package/node_modules/is-fullwidth-code-point/license +0 -9
- package/node_modules/is-fullwidth-code-point/package.json +0 -42
- package/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/node_modules/locate-path/index.d.ts +0 -83
- package/node_modules/locate-path/index.js +0 -65
- package/node_modules/locate-path/license +0 -9
- package/node_modules/locate-path/package.json +0 -45
- package/node_modules/locate-path/readme.md +0 -122
- package/node_modules/node-datachannel/.clang-format +0 -17
- package/node_modules/node-datachannel/.editorconfig +0 -12
- package/node_modules/node-datachannel/.eslintignore +0 -8
- package/node_modules/node-datachannel/.eslintrc.json +0 -27
- package/node_modules/node-datachannel/.gitmodules +0 -3
- package/node_modules/node-datachannel/.prettierignore +0 -7
- package/node_modules/node-datachannel/.prettierrc +0 -13
- package/node_modules/node-datachannel/API.md +0 -247
- package/node_modules/node-datachannel/BULDING.md +0 -26
- package/node_modules/node-datachannel/CMakeLists.txt +0 -153
- package/node_modules/node-datachannel/LICENSE +0 -373
- package/node_modules/node-datachannel/README.md +0 -129
- package/node_modules/node-datachannel/dist/cjs/index.cjs +0 -11
- package/node_modules/node-datachannel/dist/cjs/index.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/lib/datachannel-stream.cjs +0 -101
- package/node_modules/node-datachannel/dist/cjs/lib/datachannel-stream.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/lib/index.cjs +0 -91
- package/node_modules/node-datachannel/dist/cjs/lib/index.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/lib/node-datachannel.cjs +0 -94
- package/node_modules/node-datachannel/dist/cjs/lib/node-datachannel.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/lib/websocket-server.cjs +0 -45
- package/node_modules/node-datachannel/dist/cjs/lib/websocket-server.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/lib/websocket.cjs +0 -8
- package/node_modules/node-datachannel/dist/cjs/lib/websocket.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/Events.cjs +0 -86
- package/node_modules/node-datachannel/dist/cjs/polyfill/Events.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/Exception.cjs +0 -34
- package/node_modules/node-datachannel/dist/cjs/polyfill/Exception.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCCertificate.cjs +0 -34
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCCertificate.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDataChannel.cjs +0 -214
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDataChannel.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDtlsTransport.cjs +0 -53
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDtlsTransport.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCError.cjs +0 -83
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCError.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceCandidate.cjs +0 -132
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceCandidate.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceTransport.cjs +0 -94
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceTransport.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCPeerConnection.cjs +0 -434
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCPeerConnection.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSctpTransport.cjs +0 -59
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSctpTransport.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSessionDescription.cjs +0 -45
- package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSessionDescription.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/cjs/polyfill/index.cjs +0 -42
- package/node_modules/node-datachannel/dist/cjs/polyfill/index.cjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/index.mjs +0 -8
- package/node_modules/node-datachannel/dist/esm/index.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/lib/datachannel-stream.mjs +0 -78
- package/node_modules/node-datachannel/dist/esm/lib/datachannel-stream.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/lib/index.mjs +0 -64
- package/node_modules/node-datachannel/dist/esm/lib/index.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/lib/node-datachannel.mjs +0 -78
- package/node_modules/node-datachannel/dist/esm/lib/node-datachannel.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/lib/websocket-server.mjs +0 -43
- package/node_modules/node-datachannel/dist/esm/lib/websocket-server.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/lib/websocket.mjs +0 -6
- package/node_modules/node-datachannel/dist/esm/lib/websocket.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/Events.mjs +0 -82
- package/node_modules/node-datachannel/dist/esm/polyfill/Events.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/Exception.mjs +0 -28
- package/node_modules/node-datachannel/dist/esm/polyfill/Exception.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCCertificate.mjs +0 -30
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCCertificate.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCDataChannel.mjs +0 -210
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCDataChannel.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCDtlsTransport.mjs +0 -49
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCDtlsTransport.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCError.mjs +0 -79
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCError.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceCandidate.mjs +0 -128
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceCandidate.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceTransport.mjs +0 -89
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceTransport.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCPeerConnection.mjs +0 -430
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCPeerConnection.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCSctpTransport.mjs +0 -55
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCSctpTransport.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCSessionDescription.mjs +0 -41
- package/node_modules/node-datachannel/dist/esm/polyfill/RTCSessionDescription.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/esm/polyfill/index.mjs +0 -27
- package/node_modules/node-datachannel/dist/esm/polyfill/index.mjs.map +0 -1
- package/node_modules/node-datachannel/dist/types/lib/datachannel-stream.d.ts +0 -24
- package/node_modules/node-datachannel/dist/types/lib/index.d.ts +0 -241
- package/node_modules/node-datachannel/dist/types/lib/types.d.ts +0 -119
- package/node_modules/node-datachannel/dist/types/lib/websocket-server.d.ts +0 -13
- package/node_modules/node-datachannel/dist/types/lib/websocket.d.ts +0 -25
- package/node_modules/node-datachannel/dist/types/polyfill/Events.d.ts +0 -15
- package/node_modules/node-datachannel/dist/types/polyfill/RTCCertificate.d.ts +0 -9
- package/node_modules/node-datachannel/dist/types/polyfill/RTCDataChannel.d.ts +0 -29
- package/node_modules/node-datachannel/dist/types/polyfill/RTCDtlsTransport.d.ts +0 -15
- package/node_modules/node-datachannel/dist/types/polyfill/RTCError.d.ts +0 -17
- package/node_modules/node-datachannel/dist/types/polyfill/RTCIceCandidate.d.ts +0 -21
- package/node_modules/node-datachannel/dist/types/polyfill/RTCIceTransport.d.ts +0 -30
- package/node_modules/node-datachannel/dist/types/polyfill/RTCPeerConnection.d.ts +0 -64
- package/node_modules/node-datachannel/dist/types/polyfill/RTCSctpTransport.d.ts +0 -15
- package/node_modules/node-datachannel/dist/types/polyfill/RTCSessionDescription.d.ts +0 -10
- package/node_modules/node-datachannel/dist/types/polyfill/index.d.ts +0 -26
- package/node_modules/node-datachannel/jest.config.ts +0 -14
- package/node_modules/node-datachannel/package.json +0 -133
- package/node_modules/node-datachannel/rollup.config.mjs +0 -67
- package/node_modules/node-datachannel/src/cpp/data-channel-wrapper.cpp +0 -530
- package/node_modules/node-datachannel/src/cpp/data-channel-wrapper.h +0 -63
- package/node_modules/node-datachannel/src/cpp/ice-udp-mux-listener-wrapper.cpp +0 -172
- package/node_modules/node-datachannel/src/cpp/ice-udp-mux-listener-wrapper.h +0 -43
- package/node_modules/node-datachannel/src/cpp/main.cpp +0 -58
- package/node_modules/node-datachannel/src/cpp/media-audio-wrapper.cpp +0 -457
- package/node_modules/node-datachannel/src/cpp/media-audio-wrapper.h +0 -52
- package/node_modules/node-datachannel/src/cpp/media-av1packetization.cpp +0 -24
- package/node_modules/node-datachannel/src/cpp/media-av1packetization.h +0 -11
- package/node_modules/node-datachannel/src/cpp/media-av1rtppacketizer-wrapper.cpp +0 -126
- package/node_modules/node-datachannel/src/cpp/media-av1rtppacketizer-wrapper.h +0 -29
- package/node_modules/node-datachannel/src/cpp/media-direction.cpp +0 -43
- package/node_modules/node-datachannel/src/cpp/media-direction.h +0 -10
- package/node_modules/node-datachannel/src/cpp/media-h264rtppacketizer-wrapper.cpp +0 -126
- package/node_modules/node-datachannel/src/cpp/media-h264rtppacketizer-wrapper.h +0 -30
- package/node_modules/node-datachannel/src/cpp/media-h265rtppacketizer-wrapper.cpp +0 -126
- package/node_modules/node-datachannel/src/cpp/media-h265rtppacketizer-wrapper.h +0 -30
- package/node_modules/node-datachannel/src/cpp/media-h26xseparator.cpp +0 -32
- package/node_modules/node-datachannel/src/cpp/media-h26xseparator.h +0 -11
- package/node_modules/node-datachannel/src/cpp/media-mediahandler-helper.cpp +0 -31
- package/node_modules/node-datachannel/src/cpp/media-mediahandler-helper.h +0 -11
- package/node_modules/node-datachannel/src/cpp/media-pacinghandler-wrapper.cpp +0 -79
- package/node_modules/node-datachannel/src/cpp/media-pacinghandler-wrapper.h +0 -28
- package/node_modules/node-datachannel/src/cpp/media-rtcpnackresponder-wrapper.cpp +0 -68
- package/node_modules/node-datachannel/src/cpp/media-rtcpnackresponder-wrapper.h +0 -28
- package/node_modules/node-datachannel/src/cpp/media-rtcpreceivingsession-wrapper.cpp +0 -57
- package/node_modules/node-datachannel/src/cpp/media-rtcpreceivingsession-wrapper.h +0 -28
- package/node_modules/node-datachannel/src/cpp/media-rtcpsrreporter-wrapper.cpp +0 -93
- package/node_modules/node-datachannel/src/cpp/media-rtcpsrreporter-wrapper.h +0 -30
- package/node_modules/node-datachannel/src/cpp/media-rtppacketizationconfig-wrapper.cpp +0 -167
- package/node_modules/node-datachannel/src/cpp/media-rtppacketizationconfig-wrapper.h +0 -35
- package/node_modules/node-datachannel/src/cpp/media-rtppacketizer-wrapper.cpp +0 -95
- package/node_modules/node-datachannel/src/cpp/media-rtppacketizer-wrapper.h +0 -30
- package/node_modules/node-datachannel/src/cpp/media-track-wrapper.cpp +0 -458
- package/node_modules/node-datachannel/src/cpp/media-track-wrapper.h +0 -61
- package/node_modules/node-datachannel/src/cpp/media-video-wrapper.cpp +0 -526
- package/node_modules/node-datachannel/src/cpp/media-video-wrapper.h +0 -56
- package/node_modules/node-datachannel/src/cpp/peer-connection-wrapper.cpp +0 -1298
- package/node_modules/node-datachannel/src/cpp/peer-connection-wrapper.h +0 -89
- package/node_modules/node-datachannel/src/cpp/rtc-wrapper.cpp +0 -205
- package/node_modules/node-datachannel/src/cpp/rtc-wrapper.h +0 -24
- package/node_modules/node-datachannel/src/cpp/thread-safe-callback.cpp +0 -57
- package/node_modules/node-datachannel/src/cpp/thread-safe-callback.h +0 -47
- package/node_modules/node-datachannel/src/cpp/web-socket-server-wrapper.cpp +0 -275
- package/node_modules/node-datachannel/src/cpp/web-socket-server-wrapper.h +0 -41
- package/node_modules/node-datachannel/src/cpp/web-socket-wrapper.cpp +0 -796
- package/node_modules/node-datachannel/src/cpp/web-socket-wrapper.h +0 -63
- package/node_modules/node-datachannel/src/index.ts +0 -9
- package/node_modules/node-datachannel/src/lib/datachannel-stream.ts +0 -100
- package/node_modules/node-datachannel/src/lib/index.ts +0 -290
- package/node_modules/node-datachannel/src/lib/node-datachannel.ts +0 -84
- package/node_modules/node-datachannel/src/lib/types.ts +0 -169
- package/node_modules/node-datachannel/src/lib/websocket-server.ts +0 -37
- package/node_modules/node-datachannel/src/lib/websocket.ts +0 -26
- package/node_modules/node-datachannel/src/polyfill/Events.ts +0 -82
- package/node_modules/node-datachannel/src/polyfill/Exception.ts +0 -37
- package/node_modules/node-datachannel/src/polyfill/README.md +0 -41
- package/node_modules/node-datachannel/src/polyfill/RTCCertificate.ts +0 -21
- package/node_modules/node-datachannel/src/polyfill/RTCDataChannel.ts +0 -225
- package/node_modules/node-datachannel/src/polyfill/RTCDtlsTransport.ts +0 -46
- package/node_modules/node-datachannel/src/polyfill/RTCError.ts +0 -78
- package/node_modules/node-datachannel/src/polyfill/RTCIceCandidate.ts +0 -128
- package/node_modules/node-datachannel/src/polyfill/RTCIceTransport.ts +0 -90
- package/node_modules/node-datachannel/src/polyfill/RTCPeerConnection.ts +0 -527
- package/node_modules/node-datachannel/src/polyfill/RTCSctpTransport.ts +0 -51
- package/node_modules/node-datachannel/src/polyfill/RTCSessionDescription.ts +0 -41
- package/node_modules/node-datachannel/src/polyfill/index.ts +0 -38
- package/node_modules/node-datachannel/tsconfig.json +0 -21
- package/node_modules/p-limit/index.d.ts +0 -38
- package/node_modules/p-limit/index.js +0 -57
- package/node_modules/p-limit/license +0 -9
- package/node_modules/p-limit/package.json +0 -52
- package/node_modules/p-limit/readme.md +0 -101
- package/node_modules/p-locate/index.d.ts +0 -64
- package/node_modules/p-locate/index.js +0 -52
- package/node_modules/p-locate/license +0 -9
- package/node_modules/p-locate/package.json +0 -53
- package/node_modules/p-locate/readme.md +0 -90
- package/node_modules/p-try/index.d.ts +0 -39
- package/node_modules/p-try/index.js +0 -9
- package/node_modules/p-try/license +0 -9
- package/node_modules/p-try/package.json +0 -42
- package/node_modules/p-try/readme.md +0 -58
- package/node_modules/path-exists/index.d.ts +0 -28
- package/node_modules/path-exists/index.js +0 -23
- package/node_modules/path-exists/license +0 -9
- package/node_modules/path-exists/package.json +0 -39
- package/node_modules/path-exists/readme.md +0 -52
- package/node_modules/pngjs/.eslintignore +0 -2
- package/node_modules/pngjs/.eslintrc.json +0 -19
- package/node_modules/pngjs/.prettierignore +0 -3
- package/node_modules/pngjs/LICENSE +0 -20
- package/node_modules/pngjs/README.md +0 -429
- package/node_modules/pngjs/browser.js +0 -16096
- package/node_modules/pngjs/coverage/lcov-report/base.css +0 -354
- package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +0 -881
- package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +0 -554
- package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +0 -77
- package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +0 -647
- package/node_modules/pngjs/coverage/lcov-report/constants.js.html +0 -176
- package/node_modules/pngjs/coverage/lcov-report/crc.js.html +0 -200
- package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
- package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +0 -593
- package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +0 -152
- package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +0 -143
- package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +0 -611
- package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +0 -359
- package/node_modules/pngjs/coverage/lcov-report/index.html +0 -426
- package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +0 -365
- package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +0 -230
- package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +0 -248
- package/node_modules/pngjs/coverage/lcov-report/packer.js.html +0 -467
- package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +0 -128
- package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +0 -575
- package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +0 -404
- package/node_modules/pngjs/coverage/lcov-report/parser.js.html +0 -950
- package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +0 -116
- package/node_modules/pngjs/coverage/lcov-report/png.js.html +0 -662
- package/node_modules/pngjs/coverage/lcov-report/prettify.css +0 -101
- package/node_modules/pngjs/coverage/lcov-report/prettify.js +0 -1007
- package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/node_modules/pngjs/coverage/lcov-report/sorter.js +0 -169
- package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +0 -584
- package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +0 -215
- package/node_modules/pngjs/coverage/lcov.info +0 -2177
- package/node_modules/pngjs/lib/bitmapper.js +0 -267
- package/node_modules/pngjs/lib/bitpacker.js +0 -158
- package/node_modules/pngjs/lib/chunkstream.js +0 -189
- package/node_modules/pngjs/lib/constants.js +0 -32
- package/node_modules/pngjs/lib/crc.js +0 -40
- package/node_modules/pngjs/lib/filter-pack.js +0 -171
- package/node_modules/pngjs/lib/filter-parse-async.js +0 -24
- package/node_modules/pngjs/lib/filter-parse-sync.js +0 -21
- package/node_modules/pngjs/lib/filter-parse.js +0 -177
- package/node_modules/pngjs/lib/format-normaliser.js +0 -93
- package/node_modules/pngjs/lib/interlace.js +0 -95
- package/node_modules/pngjs/lib/packer-async.js +0 -50
- package/node_modules/pngjs/lib/packer-sync.js +0 -56
- package/node_modules/pngjs/lib/packer.js +0 -129
- package/node_modules/pngjs/lib/paeth-predictor.js +0 -16
- package/node_modules/pngjs/lib/parser-async.js +0 -165
- package/node_modules/pngjs/lib/parser-sync.js +0 -108
- package/node_modules/pngjs/lib/parser.js +0 -290
- package/node_modules/pngjs/lib/png-sync.js +0 -12
- package/node_modules/pngjs/lib/png.js +0 -194
- package/node_modules/pngjs/lib/sync-inflate.js +0 -168
- package/node_modules/pngjs/lib/sync-reader.js +0 -45
- package/node_modules/pngjs/package.json +0 -73
- package/node_modules/qrcode/README.md +0 -770
- package/node_modules/qrcode/bin/qrcode +0 -159
- package/node_modules/qrcode/helper/to-sjis-browser.js +0 -2
- package/node_modules/qrcode/helper/to-sjis.js +0 -105
- package/node_modules/qrcode/lib/browser.js +0 -76
- package/node_modules/qrcode/lib/can-promise.js +0 -7
- package/node_modules/qrcode/lib/core/alignment-pattern.js +0 -83
- package/node_modules/qrcode/lib/core/alphanumeric-data.js +0 -59
- package/node_modules/qrcode/lib/core/bit-buffer.js +0 -37
- package/node_modules/qrcode/lib/core/bit-matrix.js +0 -65
- package/node_modules/qrcode/lib/core/byte-data.js +0 -30
- package/node_modules/qrcode/lib/core/error-correction-code.js +0 -135
- package/node_modules/qrcode/lib/core/error-correction-level.js +0 -50
- package/node_modules/qrcode/lib/core/finder-pattern.js +0 -22
- package/node_modules/qrcode/lib/core/format-info.js +0 -29
- package/node_modules/qrcode/lib/core/galois-field.js +0 -69
- package/node_modules/qrcode/lib/core/kanji-data.js +0 -54
- package/node_modules/qrcode/lib/core/mask-pattern.js +0 -234
- package/node_modules/qrcode/lib/core/mode.js +0 -167
- package/node_modules/qrcode/lib/core/numeric-data.js +0 -43
- package/node_modules/qrcode/lib/core/polynomial.js +0 -62
- package/node_modules/qrcode/lib/core/qrcode.js +0 -495
- package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +0 -56
- package/node_modules/qrcode/lib/core/regex.js +0 -31
- package/node_modules/qrcode/lib/core/segments.js +0 -330
- package/node_modules/qrcode/lib/core/utils.js +0 -63
- package/node_modules/qrcode/lib/core/version-check.js +0 -9
- package/node_modules/qrcode/lib/core/version.js +0 -163
- package/node_modules/qrcode/lib/index.js +0 -12
- package/node_modules/qrcode/lib/renderer/canvas.js +0 -63
- package/node_modules/qrcode/lib/renderer/png.js +0 -78
- package/node_modules/qrcode/lib/renderer/svg-tag.js +0 -81
- package/node_modules/qrcode/lib/renderer/svg.js +0 -19
- package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +0 -85
- package/node_modules/qrcode/lib/renderer/terminal/terminal.js +0 -49
- package/node_modules/qrcode/lib/renderer/terminal.js +0 -9
- package/node_modules/qrcode/lib/renderer/utf8.js +0 -71
- package/node_modules/qrcode/lib/renderer/utils.js +0 -99
- package/node_modules/qrcode/lib/server.js +0 -138
- package/node_modules/qrcode/license +0 -10
- package/node_modules/qrcode/package.json +0 -77
- package/node_modules/require-directory/.jshintrc +0 -67
- package/node_modules/require-directory/.npmignore +0 -1
- package/node_modules/require-directory/.travis.yml +0 -3
- package/node_modules/require-directory/LICENSE +0 -22
- package/node_modules/require-directory/README.markdown +0 -184
- package/node_modules/require-directory/index.js +0 -86
- package/node_modules/require-directory/package.json +0 -40
- package/node_modules/require-main-filename/CHANGELOG.md +0 -26
- package/node_modules/require-main-filename/LICENSE.txt +0 -14
- package/node_modules/require-main-filename/README.md +0 -26
- package/node_modules/require-main-filename/index.js +0 -18
- package/node_modules/require-main-filename/package.json +0 -35
- package/node_modules/semver/LICENSE +0 -15
- package/node_modules/semver/README.md +0 -680
- package/node_modules/semver/bin/semver.js +0 -195
- package/node_modules/semver/classes/comparator.js +0 -143
- package/node_modules/semver/classes/index.js +0 -7
- package/node_modules/semver/classes/range.js +0 -577
- package/node_modules/semver/classes/semver.js +0 -350
- package/node_modules/semver/functions/clean.js +0 -8
- package/node_modules/semver/functions/cmp.js +0 -54
- package/node_modules/semver/functions/coerce.js +0 -62
- package/node_modules/semver/functions/compare-build.js +0 -9
- package/node_modules/semver/functions/compare-loose.js +0 -5
- package/node_modules/semver/functions/compare.js +0 -7
- package/node_modules/semver/functions/diff.js +0 -60
- package/node_modules/semver/functions/eq.js +0 -5
- package/node_modules/semver/functions/gt.js +0 -5
- package/node_modules/semver/functions/gte.js +0 -5
- package/node_modules/semver/functions/inc.js +0 -21
- package/node_modules/semver/functions/lt.js +0 -5
- package/node_modules/semver/functions/lte.js +0 -5
- package/node_modules/semver/functions/major.js +0 -5
- package/node_modules/semver/functions/minor.js +0 -5
- package/node_modules/semver/functions/neq.js +0 -5
- package/node_modules/semver/functions/parse.js +0 -18
- package/node_modules/semver/functions/patch.js +0 -5
- package/node_modules/semver/functions/prerelease.js +0 -8
- package/node_modules/semver/functions/rcompare.js +0 -5
- package/node_modules/semver/functions/rsort.js +0 -5
- package/node_modules/semver/functions/satisfies.js +0 -12
- package/node_modules/semver/functions/sort.js +0 -5
- package/node_modules/semver/functions/truncate.js +0 -48
- package/node_modules/semver/functions/valid.js +0 -8
- package/node_modules/semver/index.js +0 -93
- package/node_modules/semver/internal/constants.js +0 -37
- package/node_modules/semver/internal/debug.js +0 -11
- package/node_modules/semver/internal/identifiers.js +0 -29
- package/node_modules/semver/internal/lrucache.js +0 -42
- package/node_modules/semver/internal/parse-options.js +0 -17
- package/node_modules/semver/internal/re.js +0 -223
- package/node_modules/semver/package.json +0 -78
- package/node_modules/semver/preload.js +0 -4
- package/node_modules/semver/range.bnf +0 -17
- package/node_modules/semver/ranges/gtr.js +0 -6
- package/node_modules/semver/ranges/intersects.js +0 -9
- package/node_modules/semver/ranges/ltr.js +0 -6
- package/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/node_modules/semver/ranges/min-version.js +0 -63
- package/node_modules/semver/ranges/outside.js +0 -82
- package/node_modules/semver/ranges/simplify.js +0 -49
- package/node_modules/semver/ranges/subset.js +0 -249
- package/node_modules/semver/ranges/to-comparators.js +0 -10
- package/node_modules/semver/ranges/valid.js +0 -13
- package/node_modules/set-blocking/CHANGELOG.md +0 -26
- package/node_modules/set-blocking/LICENSE.txt +0 -14
- package/node_modules/set-blocking/README.md +0 -31
- package/node_modules/set-blocking/index.js +0 -7
- package/node_modules/set-blocking/package.json +0 -42
- package/node_modules/sharp/LICENSE +0 -191
- package/node_modules/sharp/README.md +0 -112
- package/node_modules/sharp/dist/channel.cjs +0 -177
- package/node_modules/sharp/dist/channel.mjs +0 -177
- package/node_modules/sharp/dist/colour.cjs +0 -199
- package/node_modules/sharp/dist/colour.mjs +0 -199
- package/node_modules/sharp/dist/composite.cjs +0 -213
- package/node_modules/sharp/dist/composite.mjs +0 -213
- package/node_modules/sharp/dist/constructor.cjs +0 -511
- package/node_modules/sharp/dist/constructor.mjs +0 -511
- package/node_modules/sharp/dist/index.cjs +0 -25
- package/node_modules/sharp/dist/index.d.cts +0 -1999
- package/node_modules/sharp/dist/index.d.mts +0 -2046
- package/node_modules/sharp/dist/index.mjs +0 -25
- package/node_modules/sharp/dist/input.cjs +0 -819
- package/node_modules/sharp/dist/input.mjs +0 -819
- package/node_modules/sharp/dist/is.cjs +0 -143
- package/node_modules/sharp/dist/is.mjs +0 -143
- package/node_modules/sharp/dist/libvips.cjs +0 -212
- package/node_modules/sharp/dist/libvips.mjs +0 -212
- package/node_modules/sharp/dist/operation.cjs +0 -1002
- package/node_modules/sharp/dist/operation.mjs +0 -1002
- package/node_modules/sharp/dist/output.cjs +0 -1785
- package/node_modules/sharp/dist/output.mjs +0 -1785
- package/node_modules/sharp/dist/resize.cjs +0 -617
- package/node_modules/sharp/dist/resize.mjs +0 -617
- package/node_modules/sharp/dist/sharp.cjs +0 -174
- package/node_modules/sharp/dist/sharp.mjs +0 -174
- package/node_modules/sharp/dist/utility.cjs +0 -301
- package/node_modules/sharp/dist/utility.mjs +0 -301
- package/node_modules/sharp/install/build.js +0 -38
- package/node_modules/sharp/lib/index.d.ts +0 -1999
- package/node_modules/sharp/package.json +0 -227
- package/node_modules/sharp/src/binding.gyp +0 -303
- package/node_modules/sharp/src/common.cc +0 -1186
- package/node_modules/sharp/src/common.h +0 -421
- package/node_modules/sharp/src/metadata.cc +0 -404
- package/node_modules/sharp/src/metadata.h +0 -95
- package/node_modules/sharp/src/operations.cc +0 -516
- package/node_modules/sharp/src/operations.h +0 -137
- package/node_modules/sharp/src/pipeline.cc +0 -1948
- package/node_modules/sharp/src/pipeline.h +0 -422
- package/node_modules/sharp/src/sharp.cc +0 -43
- package/node_modules/sharp/src/stats.cc +0 -186
- package/node_modules/sharp/src/stats.h +0 -62
- package/node_modules/sharp/src/utilities.cc +0 -289
- package/node_modules/sharp/src/utilities.h +0 -22
- package/node_modules/string-width/index.d.ts +0 -29
- package/node_modules/string-width/index.js +0 -47
- package/node_modules/string-width/license +0 -9
- package/node_modules/string-width/package.json +0 -56
- package/node_modules/string-width/readme.md +0 -50
- package/node_modules/strip-ansi/index.d.ts +0 -17
- package/node_modules/strip-ansi/index.js +0 -4
- package/node_modules/strip-ansi/license +0 -9
- package/node_modules/strip-ansi/package.json +0 -54
- package/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/which-module/LICENSE +0 -13
- package/node_modules/which-module/README.md +0 -58
- package/node_modules/which-module/index.js +0 -9
- package/node_modules/which-module/package.json +0 -41
- package/node_modules/wrap-ansi/index.js +0 -186
- package/node_modules/wrap-ansi/license +0 -9
- package/node_modules/wrap-ansi/package.json +0 -61
- package/node_modules/wrap-ansi/readme.md +0 -97
- package/node_modules/ws/LICENSE +0 -20
- package/node_modules/ws/README.md +0 -548
- package/node_modules/ws/browser.js +0 -8
- package/node_modules/ws/index.js +0 -22
- package/node_modules/ws/lib/buffer-util.js +0 -131
- package/node_modules/ws/lib/constants.js +0 -19
- package/node_modules/ws/lib/event-target.js +0 -292
- package/node_modules/ws/lib/extension.js +0 -203
- package/node_modules/ws/lib/limiter.js +0 -55
- package/node_modules/ws/lib/permessage-deflate.js +0 -530
- package/node_modules/ws/lib/receiver.js +0 -743
- package/node_modules/ws/lib/sender.js +0 -607
- package/node_modules/ws/lib/stream.js +0 -161
- package/node_modules/ws/lib/subprotocol.js +0 -62
- package/node_modules/ws/lib/validation.js +0 -152
- package/node_modules/ws/lib/websocket-server.js +0 -562
- package/node_modules/ws/lib/websocket.js +0 -1407
- package/node_modules/ws/package.json +0 -74
- package/node_modules/ws/wrapper.mjs +0 -21
- package/node_modules/y18n/CHANGELOG.md +0 -35
- package/node_modules/y18n/LICENSE +0 -13
- package/node_modules/y18n/README.md +0 -109
- package/node_modules/y18n/index.js +0 -188
- package/node_modules/y18n/package.json +0 -39
- package/node_modules/yargs/CHANGELOG.md +0 -420
- package/node_modules/yargs/LICENSE +0 -21
- package/node_modules/yargs/README.md +0 -140
- package/node_modules/yargs/build/lib/apply-extends.d.ts +0 -2
- package/node_modules/yargs/build/lib/apply-extends.js +0 -65
- package/node_modules/yargs/build/lib/argsert.d.ts +0 -2
- package/node_modules/yargs/build/lib/argsert.js +0 -65
- package/node_modules/yargs/build/lib/command.d.ts +0 -64
- package/node_modules/yargs/build/lib/command.js +0 -416
- package/node_modules/yargs/build/lib/common-types.d.ts +0 -36
- package/node_modules/yargs/build/lib/common-types.js +0 -25
- package/node_modules/yargs/build/lib/completion-templates.d.ts +0 -2
- package/node_modules/yargs/build/lib/completion-templates.js +0 -50
- package/node_modules/yargs/build/lib/completion.d.ts +0 -21
- package/node_modules/yargs/build/lib/completion.js +0 -135
- package/node_modules/yargs/build/lib/is-promise.d.ts +0 -1
- package/node_modules/yargs/build/lib/is-promise.js +0 -9
- package/node_modules/yargs/build/lib/levenshtein.d.ts +0 -1
- package/node_modules/yargs/build/lib/levenshtein.js +0 -58
- package/node_modules/yargs/build/lib/middleware.d.ts +0 -10
- package/node_modules/yargs/build/lib/middleware.js +0 -57
- package/node_modules/yargs/build/lib/obj-filter.d.ts +0 -1
- package/node_modules/yargs/build/lib/obj-filter.js +0 -14
- package/node_modules/yargs/build/lib/parse-command.d.ts +0 -11
- package/node_modules/yargs/build/lib/parse-command.js +0 -36
- package/node_modules/yargs/build/lib/process-argv.d.ts +0 -2
- package/node_modules/yargs/build/lib/process-argv.js +0 -31
- package/node_modules/yargs/build/lib/usage.d.ts +0 -49
- package/node_modules/yargs/build/lib/usage.js +0 -540
- package/node_modules/yargs/build/lib/validation.d.ts +0 -34
- package/node_modules/yargs/build/lib/validation.js +0 -330
- package/node_modules/yargs/build/lib/yargs.d.ts +0 -274
- package/node_modules/yargs/build/lib/yargs.js +0 -1190
- package/node_modules/yargs/build/lib/yerror.d.ts +0 -4
- package/node_modules/yargs/build/lib/yerror.js +0 -11
- package/node_modules/yargs/index.js +0 -40
- package/node_modules/yargs/locales/be.json +0 -46
- package/node_modules/yargs/locales/de.json +0 -46
- package/node_modules/yargs/locales/en.json +0 -51
- package/node_modules/yargs/locales/es.json +0 -46
- package/node_modules/yargs/locales/fi.json +0 -49
- package/node_modules/yargs/locales/fr.json +0 -53
- package/node_modules/yargs/locales/hi.json +0 -49
- package/node_modules/yargs/locales/hu.json +0 -46
- package/node_modules/yargs/locales/id.json +0 -50
- package/node_modules/yargs/locales/it.json +0 -46
- package/node_modules/yargs/locales/ja.json +0 -51
- package/node_modules/yargs/locales/ko.json +0 -49
- package/node_modules/yargs/locales/nb.json +0 -44
- package/node_modules/yargs/locales/nl.json +0 -49
- package/node_modules/yargs/locales/nn.json +0 -44
- package/node_modules/yargs/locales/pirate.json +0 -13
- package/node_modules/yargs/locales/pl.json +0 -49
- package/node_modules/yargs/locales/pt.json +0 -45
- package/node_modules/yargs/locales/pt_BR.json +0 -48
- package/node_modules/yargs/locales/ru.json +0 -46
- package/node_modules/yargs/locales/th.json +0 -46
- package/node_modules/yargs/locales/tr.json +0 -48
- package/node_modules/yargs/locales/zh_CN.json +0 -48
- package/node_modules/yargs/locales/zh_TW.json +0 -47
- package/node_modules/yargs/package.json +0 -92
- package/node_modules/yargs/yargs.js +0 -14
- package/node_modules/yargs-parser/CHANGELOG.md +0 -601
- package/node_modules/yargs-parser/LICENSE.txt +0 -14
- package/node_modules/yargs-parser/README.md +0 -449
- package/node_modules/yargs-parser/index.js +0 -1032
- package/node_modules/yargs-parser/lib/tokenize-arg-string.js +0 -40
- package/node_modules/yargs-parser/package.json +0 -46
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
import crypto from 'node:crypto';
|
|
2
|
-
import { EventEmitter } from 'node:events';
|
|
3
|
-
import fs from 'node:fs';
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
import events from '../shared/app-server-events.cjs';
|
|
6
|
-
|
|
7
|
-
const STORE_SCHEMA_VERSION = 1;
|
|
8
|
-
|
|
9
|
-
export class AppServerTaskStore {
|
|
10
|
-
constructor(filePath) {
|
|
11
|
-
this.filePath = path.resolve(filePath);
|
|
12
|
-
this.records = new Map();
|
|
13
|
-
this.loadError = null;
|
|
14
|
-
this.load();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
load() {
|
|
18
|
-
if (!fs.existsSync(this.filePath)) return;
|
|
19
|
-
try {
|
|
20
|
-
const value = JSON.parse(fs.readFileSync(this.filePath, 'utf8'));
|
|
21
|
-
if (value?.schemaVersion !== STORE_SCHEMA_VERSION || !Array.isArray(value.tasks)) {
|
|
22
|
-
throw new Error('任务归属文件格式不受支持。');
|
|
23
|
-
}
|
|
24
|
-
for (const task of value.tasks) {
|
|
25
|
-
if (!validTaskRecord(task)) continue;
|
|
26
|
-
this.records.set(task.id, { ...task, transport: 'app-server' });
|
|
27
|
-
}
|
|
28
|
-
} catch (error) {
|
|
29
|
-
this.loadError = error instanceof Error ? error : new Error(String(error));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
ensureUsable() {
|
|
34
|
-
if (this.loadError) {
|
|
35
|
-
throw new Error(`无法读取 app-server 任务归属:${this.loadError.message}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
has(threadId) {
|
|
40
|
-
return this.records.has(threadId);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
get(threadId) {
|
|
44
|
-
return this.records.get(threadId) || null;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
list() {
|
|
48
|
-
return [...this.records.values()].sort((left, right) => taskRecency(right) - taskRecency(left));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
upsert(task) {
|
|
52
|
-
this.ensureUsable();
|
|
53
|
-
if (!validTaskRecord(task)) throw new Error('app-server 任务归属记录无效。');
|
|
54
|
-
const record = { ...task, transport: 'app-server' };
|
|
55
|
-
const existing = this.records.get(record.id);
|
|
56
|
-
if (existing && JSON.stringify(existing) === JSON.stringify(record)) return existing;
|
|
57
|
-
this.records.set(record.id, record);
|
|
58
|
-
this.save();
|
|
59
|
-
return record;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
remove(threadId) {
|
|
63
|
-
this.ensureUsable();
|
|
64
|
-
if (!this.records.delete(threadId)) return false;
|
|
65
|
-
this.save();
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
save() {
|
|
70
|
-
this.ensureUsable();
|
|
71
|
-
fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
|
|
72
|
-
const temporaryPath = `${this.filePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
|
|
73
|
-
const payload = `${JSON.stringify({
|
|
74
|
-
schemaVersion: STORE_SCHEMA_VERSION,
|
|
75
|
-
tasks: this.list(),
|
|
76
|
-
}, null, 2)}\n`;
|
|
77
|
-
try {
|
|
78
|
-
fs.writeFileSync(temporaryPath, payload, { encoding: 'utf8', flag: 'wx' });
|
|
79
|
-
fs.renameSync(temporaryPath, this.filePath);
|
|
80
|
-
} catch (error) {
|
|
81
|
-
try { fs.unlinkSync(temporaryPath); } catch {}
|
|
82
|
-
throw error;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export class AppServerTaskTransport extends EventEmitter {
|
|
88
|
-
constructor({ client, store }) {
|
|
89
|
-
super();
|
|
90
|
-
this.client = client;
|
|
91
|
-
this.store = store;
|
|
92
|
-
this.hydratedGeneration = 0;
|
|
93
|
-
this.loadedGenerations = new Map();
|
|
94
|
-
this.client.on('notification', record => this.handleNotification(record));
|
|
95
|
-
this.client.on('server-request', request => {
|
|
96
|
-
const threadId = request.params?.threadId || request.params?.conversationId || '';
|
|
97
|
-
if (threadId && this.owns(threadId)) this.emit('thread-event', { threadId, record: request });
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
owns(threadId) {
|
|
102
|
-
return this.store.has(threadId);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
record(threadId) {
|
|
106
|
-
const record = this.store.get(threadId);
|
|
107
|
-
if (!record) throw new Error('该任务不属于独立 app-server 通道。');
|
|
108
|
-
return record;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
async createTask({ cwd, projectId, title, input, model, effort }) {
|
|
112
|
-
if (!path.isAbsolute(cwd)) throw new Error('app-server 任务 cwd 必须是绝对路径。');
|
|
113
|
-
if (!Array.isArray(input) || !input.length) throw new Error('app-server 任务输入不能为空。');
|
|
114
|
-
this.store.ensureUsable();
|
|
115
|
-
await this.client.start();
|
|
116
|
-
const startParams = { cwd, ephemeral: false, projectId: projectId || null };
|
|
117
|
-
if (!projectId) startParams.runtimeWorkspaceRoots = [];
|
|
118
|
-
if (model) startParams.model = model;
|
|
119
|
-
const started = await this.client.request('thread/start', startParams, 60_000);
|
|
120
|
-
this.loadedGenerations.set(started.thread.id, this.client.generation);
|
|
121
|
-
const now = Math.floor(Date.now() / 1000);
|
|
122
|
-
const record = this.store.upsert({
|
|
123
|
-
id: started.thread.id,
|
|
124
|
-
title: title || started.thread.name || '新对话',
|
|
125
|
-
cwd,
|
|
126
|
-
projectId: projectId || null,
|
|
127
|
-
createdAt: Number(started.thread.createdAt) || now,
|
|
128
|
-
updatedAt: Number(started.thread.updatedAt) || now,
|
|
129
|
-
recencyAt: Number(started.thread.recencyAt) || Number(started.thread.updatedAt) || now,
|
|
130
|
-
status: threadStatus(started.thread.status),
|
|
131
|
-
activeFlags: threadActiveFlags(started.thread.status),
|
|
132
|
-
model: model || started.model || started.thread.model || '',
|
|
133
|
-
effort: effort || started.reasoningEffort || started.thread.reasoningEffort || '',
|
|
134
|
-
transport: 'app-server',
|
|
135
|
-
});
|
|
136
|
-
if (title) try {
|
|
137
|
-
await this.client.request('thread/name/set', { threadId: record.id, name: title }, 15_000);
|
|
138
|
-
} catch {
|
|
139
|
-
// The persisted local title still keeps the task identifiable.
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const turnParams = { threadId: record.id, input };
|
|
143
|
-
if (model) turnParams.model = model;
|
|
144
|
-
if (effort) turnParams.effort = effort;
|
|
145
|
-
const turn = await this.client.request('turn/start', turnParams, 60_000);
|
|
146
|
-
this.store.upsert({ ...record, status: 'active', activeFlags: [] });
|
|
147
|
-
return { thread: started.thread, turn: turn.turn, record: this.store.get(record.id) };
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
async listTasks() {
|
|
151
|
-
const records = this.store.list();
|
|
152
|
-
if (!records.length) return [];
|
|
153
|
-
await this.client.start();
|
|
154
|
-
if (this.hydratedGeneration === this.client.generation) {
|
|
155
|
-
return records.map(record => summaryFromRecord(record));
|
|
156
|
-
}
|
|
157
|
-
const results = await Promise.allSettled(records.map(record => this.readTask(record.id, { includeTurns: false })));
|
|
158
|
-
const summaries = results.map((result, index) => {
|
|
159
|
-
const record = records[index];
|
|
160
|
-
if (result.status === 'rejected') return summaryFromRecord(record, 'unknown');
|
|
161
|
-
const thread = result.value;
|
|
162
|
-
const updated = this.store.upsert({
|
|
163
|
-
...record,
|
|
164
|
-
title: thread.name || record.title,
|
|
165
|
-
cwd: thread.cwd || record.cwd,
|
|
166
|
-
updatedAt: Number(thread.updatedAt) || record.updatedAt,
|
|
167
|
-
recencyAt: Number(thread.recencyAt) || record.recencyAt || record.updatedAt,
|
|
168
|
-
status: threadStatus(thread.status),
|
|
169
|
-
activeFlags: threadActiveFlags(thread.status),
|
|
170
|
-
model: thread.model || record.model,
|
|
171
|
-
effort: thread.reasoningEffort || record.effort,
|
|
172
|
-
});
|
|
173
|
-
return summaryFromThread(thread, updated);
|
|
174
|
-
});
|
|
175
|
-
if (results.every(result => result.status === 'fulfilled')) {
|
|
176
|
-
this.hydratedGeneration = this.client.generation;
|
|
177
|
-
}
|
|
178
|
-
return summaries;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
async readTask(threadId, { includeTurns = true, turnLimit = 10 } = {}) {
|
|
182
|
-
this.record(threadId);
|
|
183
|
-
await this.client.start();
|
|
184
|
-
if (!includeTurns) return (await this.readInitializedThread({ threadId, includeTurns: false })).thread;
|
|
185
|
-
const [threadResult, turnsResult] = await Promise.all([
|
|
186
|
-
this.readInitializedThread({ threadId, includeTurns: false }),
|
|
187
|
-
this.client.request('thread/turns/list', {
|
|
188
|
-
threadId,
|
|
189
|
-
limit: turnLimit,
|
|
190
|
-
sortDirection: 'desc',
|
|
191
|
-
itemsView: 'full',
|
|
192
|
-
}, 30_000),
|
|
193
|
-
]);
|
|
194
|
-
return { ...threadResult.thread, turns: [...(turnsResult.data || [])].reverse().map(events.compactTurn) };
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
async readInitializedThread(params) {
|
|
198
|
-
for (let attempt = 0; ; attempt += 1) {
|
|
199
|
-
try {
|
|
200
|
-
return await this.client.request('thread/read', params, 30_000);
|
|
201
|
-
} catch (error) {
|
|
202
|
-
const initializing = error instanceof AppServerRpcError
|
|
203
|
-
&& error.method === 'thread/read'
|
|
204
|
-
&& /rollout at .* is empty/i.test(error.message);
|
|
205
|
-
if (!initializing || attempt >= 3) throw error;
|
|
206
|
-
await delay(100 * (attempt + 1));
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
async startTurn(threadId, { input, model, effort }) {
|
|
212
|
-
const record = this.record(threadId);
|
|
213
|
-
await this.client.start();
|
|
214
|
-
await this.ensureResumed(threadId);
|
|
215
|
-
const params = { threadId, input };
|
|
216
|
-
if (model) params.model = model;
|
|
217
|
-
if (effort) params.effort = effort;
|
|
218
|
-
const result = await this.client.request('turn/start', params, 60_000);
|
|
219
|
-
this.store.upsert({
|
|
220
|
-
...record,
|
|
221
|
-
status: 'active',
|
|
222
|
-
activeFlags: [],
|
|
223
|
-
model: model || record.model,
|
|
224
|
-
effort: effort || record.effort,
|
|
225
|
-
});
|
|
226
|
-
return result;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
async adoptTask(thread) {
|
|
230
|
-
this.store.ensureUsable();
|
|
231
|
-
await this.client.start();
|
|
232
|
-
let result;
|
|
233
|
-
try {
|
|
234
|
-
result = await this.client.request('thread/resume', { threadId: thread.id }, 60000);
|
|
235
|
-
} catch (error) {
|
|
236
|
-
if (error instanceof AppServerRpcError && /already has an active writer/.test(error.message)) {
|
|
237
|
-
throw new Error('Desktop 仍持有此聊天的写入权限,空闲不代表已释放。当前无法直接接管;此聊天仍由 Desktop 执行。');
|
|
238
|
-
}
|
|
239
|
-
throw error;
|
|
240
|
-
}
|
|
241
|
-
if (result.thread.id !== thread.id) throw new Error('恢复后的聊天 ID 不一致。');
|
|
242
|
-
const record = this.store.upsert({
|
|
243
|
-
id: thread.id, title: thread.title || result.thread.name || thread.id,
|
|
244
|
-
cwd: result.thread.cwd, projectId: thread.projectId || null,
|
|
245
|
-
createdAt: Number(result.thread.createdAt) || Number(thread.createdAt) || 0,
|
|
246
|
-
updatedAt: Number(result.thread.updatedAt) || Number(thread.updatedAt) || 0,
|
|
247
|
-
recencyAt: Number(result.thread.recencyAt) || Number(thread.recencyAt)
|
|
248
|
-
|| Number(result.thread.updatedAt) || Number(thread.updatedAt) || 0,
|
|
249
|
-
status: threadStatus(result.thread.status), activeFlags: threadActiveFlags(result.thread.status),
|
|
250
|
-
origin: 'desktop', transport: 'app-server',
|
|
251
|
-
});
|
|
252
|
-
this.loadedGenerations.set(thread.id, this.client.generation);
|
|
253
|
-
return summaryFromRecord(record);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
async ensureResumed(threadId) {
|
|
257
|
-
if (this.loadedGenerations.get(threadId) === this.client.generation) return;
|
|
258
|
-
await this.client.request('thread/resume', { threadId }, 60000);
|
|
259
|
-
this.loadedGenerations.set(threadId, this.client.generation);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
async steerTurn(threadId, expectedTurnId, input) {
|
|
263
|
-
this.record(threadId);
|
|
264
|
-
await this.client.start();
|
|
265
|
-
return this.client.request('turn/steer', { threadId, expectedTurnId, input }, 60_000);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
async interruptTurn(threadId, turnId) {
|
|
269
|
-
this.record(threadId);
|
|
270
|
-
await this.client.start();
|
|
271
|
-
return this.client.request('turn/interrupt', { threadId, turnId }, 60_000);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
async deleteTask(threadId) {
|
|
275
|
-
this.record(threadId);
|
|
276
|
-
if (this.record(threadId).origin === 'desktop') throw new Error('接管的 Desktop 历史不允许通过此接口删除。');
|
|
277
|
-
await this.client.start();
|
|
278
|
-
await this.client.request('thread/delete', { threadId }, 30_000);
|
|
279
|
-
this.store.remove(threadId);
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
handleNotification(record) {
|
|
283
|
-
const threadId = notificationThreadId(record);
|
|
284
|
-
if (!threadId || !this.owns(threadId)) return;
|
|
285
|
-
const current = this.store.get(threadId);
|
|
286
|
-
if (current && ['thread/status/changed', 'turn/started', 'turn/completed', 'thread/name/updated'].includes(record.method)) {
|
|
287
|
-
const next = { ...current };
|
|
288
|
-
if (record.method === 'thread/status/changed') {
|
|
289
|
-
next.status = threadStatus(record.params?.status);
|
|
290
|
-
next.activeFlags = threadActiveFlags(record.params?.status);
|
|
291
|
-
}
|
|
292
|
-
if (record.method === 'turn/started') { next.status = 'active'; next.activeFlags = []; }
|
|
293
|
-
if (record.method === 'turn/completed') { next.status = 'idle'; next.activeFlags = []; }
|
|
294
|
-
if (record.method === 'thread/name/updated' && record.params?.threadName) next.title = record.params.threadName;
|
|
295
|
-
this.store.upsert(next);
|
|
296
|
-
this.hydratedGeneration = 0;
|
|
297
|
-
}
|
|
298
|
-
this.emit('thread-event', { threadId, record });
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
export function summaryFromRecord(record, status = record.status || 'unknown') {
|
|
303
|
-
return {
|
|
304
|
-
id: record.id,
|
|
305
|
-
kind: 'codex',
|
|
306
|
-
hostId: 'app-server',
|
|
307
|
-
title: record.title,
|
|
308
|
-
cwd: record.cwd,
|
|
309
|
-
projectId: record.projectId,
|
|
310
|
-
updatedAt: record.updatedAt,
|
|
311
|
-
recencyAt: record.recencyAt ?? record.updatedAt,
|
|
312
|
-
status,
|
|
313
|
-
activeFlags: Array.isArray(record.activeFlags) ? record.activeFlags : [],
|
|
314
|
-
transport: 'app-server',
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
function summaryFromThread(thread, record) {
|
|
319
|
-
return {
|
|
320
|
-
...summaryFromRecord(record, threadStatus(thread.status)),
|
|
321
|
-
activeFlags: threadActiveFlags(thread.status),
|
|
322
|
-
title: thread.name || record.title || thread.preview || thread.id,
|
|
323
|
-
cwd: thread.cwd || record.cwd,
|
|
324
|
-
updatedAt: Number(thread.updatedAt) || record.updatedAt,
|
|
325
|
-
recencyAt: Number(thread.recencyAt) || record.recencyAt || record.updatedAt,
|
|
326
|
-
};
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
function validTaskRecord(task) {
|
|
330
|
-
return task && typeof task.id === 'string' && task.id.length > 10
|
|
331
|
-
&& typeof task.title === 'string' && typeof task.cwd === 'string' && path.isAbsolute(task.cwd)
|
|
332
|
-
&& Number.isFinite(Number(task.createdAt)) && Number.isFinite(Number(task.updatedAt));
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
function taskRecency(task) {
|
|
336
|
-
return Number(task?.recencyAt ?? task?.updatedAt) || 0;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
function delay(milliseconds) {
|
|
340
|
-
return new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
function threadStatus(value) {
|
|
344
|
-
if (typeof value === 'string') return value;
|
|
345
|
-
if (value && typeof value === 'object') return value.type || value.status || 'unknown';
|
|
346
|
-
return 'unknown';
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
function threadActiveFlags(value) {
|
|
350
|
-
return value && typeof value === 'object' && Array.isArray(value.activeFlags)
|
|
351
|
-
? value.activeFlags.filter(flag => typeof flag === 'string')
|
|
352
|
-
: [];
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
function notificationThreadId(record) {
|
|
356
|
-
const params = record?.params || {};
|
|
357
|
-
return params.threadId || params.conversationId || params.thread?.id || '';
|
|
358
|
-
}
|
package/dist/src/debug-ui.mjs
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import http from 'node:http';
|
|
4
|
-
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import { readRecord, writeRecord } from './service-lifecycle.mjs';
|
|
6
|
-
import { controlRequest } from './service-control.mjs';
|
|
7
|
-
|
|
8
|
-
const script = fileURLToPath(import.meta.url);
|
|
9
|
-
const bridgeRoot = path.resolve(path.dirname(script), '..');
|
|
10
|
-
export const debugRecord = stateRoot => path.join(stateRoot, 'debug-ui-session.json');
|
|
11
|
-
|
|
12
|
-
function enabledRecord(stateRoot) {
|
|
13
|
-
const record = readRecord(debugRecord(stateRoot));
|
|
14
|
-
return record?.enabled === true && Number.isInteger(record.port) && record.port > 0 && record.port < 65536
|
|
15
|
-
&& typeof record.sourceRoot === 'string' ? record : null;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function debugPort(stateRoot) {
|
|
19
|
-
return enabledRecord(stateRoot)?.port || null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export async function activeDebugPort(stateRoot, expectedPort) {
|
|
23
|
-
const port = debugPort(stateRoot);
|
|
24
|
-
return expectedPort === undefined || port === expectedPort ? port : null;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function assetsFor(root) {
|
|
28
|
-
const web = path.join(root, 'web');
|
|
29
|
-
const packaged = path.join(web, 'resources.json');
|
|
30
|
-
const manifest = fs.existsSync(packaged)
|
|
31
|
-
? JSON.parse(fs.readFileSync(packaged, 'utf8')).map(name => ({ name, source: path.join(web, name) }))
|
|
32
|
-
: JSON.parse(fs.readFileSync(path.join(root, '../packages/web-resources.json'), 'utf8')).common
|
|
33
|
-
.map(item => ({ name: item.name, source: path.resolve(root, '..', item.source) }));
|
|
34
|
-
const assets = new Map(manifest.map(item => ['/' + item.name, item.source]));
|
|
35
|
-
assets.set('/vendor/markdown-it.umd.min.js', path.join(web, 'vendor/markdown-it.umd.min.js'));
|
|
36
|
-
return { web, assets };
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function send(response, status, mime, bytes) {
|
|
40
|
-
response.writeHead(status, {
|
|
41
|
-
...(mime ? { 'Content-Type': mime } : {}),
|
|
42
|
-
'Cache-Control': 'no-store',
|
|
43
|
-
'X-Content-Type-Options': 'nosniff',
|
|
44
|
-
'Referrer-Policy': 'no-referrer',
|
|
45
|
-
'Content-Security-Policy': "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:",
|
|
46
|
-
});
|
|
47
|
-
response.end(bytes);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function serveDebugResource(request, response, stateRoot, bridgePort) {
|
|
51
|
-
const record = enabledRecord(stateRoot);
|
|
52
|
-
if (!record || record.port !== bridgePort) return false;
|
|
53
|
-
if (request.method !== 'GET' && request.method !== 'HEAD') return false;
|
|
54
|
-
const url = new URL(request.url, 'http://localhost');
|
|
55
|
-
if (url.pathname.startsWith('/api/')) return false;
|
|
56
|
-
try {
|
|
57
|
-
const { web, assets } = assetsFor(record.sourceRoot);
|
|
58
|
-
let bytes, mime;
|
|
59
|
-
if (url.pathname === '/' || url.pathname === '/index.html') {
|
|
60
|
-
bytes = fs.readFileSync(path.join(web, 'index.html'), 'utf8')
|
|
61
|
-
.replace('<body class="page-loading">', url.searchParams.get('client') === 'harmony'
|
|
62
|
-
? '<body class="page-loading silent-page-loading">' : '<body class="page-loading">')
|
|
63
|
-
.replace('<script', '<script src="debug-config.js"></script>\n<script');
|
|
64
|
-
mime = 'text/html; charset=utf-8';
|
|
65
|
-
} else if (url.pathname === '/debug-config.js') {
|
|
66
|
-
bytes = 'if(globalThis.codexNative){globalThis.codexLanConfig=JSON.parse(globalThis.codexNative.lanConnection());}else{globalThis.codexLanConfig={address:location.origin};}';
|
|
67
|
-
mime = 'text/javascript; charset=utf-8';
|
|
68
|
-
} else if (assets.has(url.pathname)) {
|
|
69
|
-
bytes = fs.readFileSync(assets.get(url.pathname));
|
|
70
|
-
mime = url.pathname.endsWith('.css') ? 'text/css; charset=utf-8' : 'text/javascript; charset=utf-8';
|
|
71
|
-
} else {
|
|
72
|
-
send(response, 404); return true;
|
|
73
|
-
}
|
|
74
|
-
send(response, 200, mime, request.method === 'HEAD' ? undefined : bytes);
|
|
75
|
-
} catch {
|
|
76
|
-
send(response, 500, 'text/plain; charset=utf-8', 'Debug resource unavailable');
|
|
77
|
-
}
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Small harness for the same request handler used by Bridge.
|
|
82
|
-
export function createDebugServer(root, bridgePort) {
|
|
83
|
-
const stateRoot = fs.mkdtempSync(path.join(path.dirname(root), '.debug-state-'));
|
|
84
|
-
writeRecord(debugRecord(stateRoot), { enabled: true, port: bridgePort, sourceRoot: root });
|
|
85
|
-
const server = http.createServer((request, response) => {
|
|
86
|
-
if (!serveDebugResource(request, response, stateRoot, bridgePort)) response.writeHead(404).end();
|
|
87
|
-
});
|
|
88
|
-
server.once('close', () => fs.rmSync(stateRoot, { recursive: true, force: true }));
|
|
89
|
-
return server;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
async function bridgeSession(stateRoot) {
|
|
93
|
-
const session = readRecord(path.join(stateRoot, 'bridge-session.json'));
|
|
94
|
-
if (!session?.port) throw new Error('Bridge 未运行,请先执行 relax start。');
|
|
95
|
-
try { await controlRequest(session); }
|
|
96
|
-
catch { throw new Error('Bridge 未运行,请先执行 relax start。'); }
|
|
97
|
-
return session;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
async function stopLegacyWorker(record) {
|
|
101
|
-
if (!record?.controlPort || !record?.controlSecret || !record?.instanceId) return;
|
|
102
|
-
try { await controlRequest(record, 'POST'); }
|
|
103
|
-
catch (error) { if (error.code !== 'ECONNREFUSED') throw error; }
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export async function debugUi(command, stateRoot) {
|
|
107
|
-
const recordPath = debugRecord(stateRoot);
|
|
108
|
-
const previous = readRecord(recordPath);
|
|
109
|
-
if (command === 'dev-stop') {
|
|
110
|
-
await stopLegacyWorker(previous);
|
|
111
|
-
fs.rmSync(recordPath, { force: true });
|
|
112
|
-
return { stopped: true, message: 'Bridge 调试页面已关闭;Bridge 继续运行。' };
|
|
113
|
-
}
|
|
114
|
-
let session;
|
|
115
|
-
try { session = await bridgeSession(stateRoot); }
|
|
116
|
-
catch (error) {
|
|
117
|
-
if (command === 'dev-status') return { running: false, integrated: true, port: null, sourceRoot: null };
|
|
118
|
-
throw error;
|
|
119
|
-
}
|
|
120
|
-
const current = enabledRecord(stateRoot);
|
|
121
|
-
if (command === 'dev-status') return {
|
|
122
|
-
running: Boolean(current && current.port === session.port),
|
|
123
|
-
integrated: true,
|
|
124
|
-
port: current?.port === session.port ? session.port : null,
|
|
125
|
-
sourceRoot: current?.port === session.port ? current.sourceRoot : null,
|
|
126
|
-
};
|
|
127
|
-
await stopLegacyWorker(previous);
|
|
128
|
-
const value = { enabled: true, integrated: true, port: session.port, sourceRoot: bridgeRoot };
|
|
129
|
-
writeRecord(recordPath, value);
|
|
130
|
-
return { running: true, ...value };
|
|
131
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { findDesktopPipe } from './desktop-tools.mjs';
|
|
2
|
-
|
|
3
|
-
// Optional Desktop presentation data never blocks the shared execution service.
|
|
4
|
-
export class DesktopMonitor {
|
|
5
|
-
constructor({ discover = () => findDesktopPipe({ allowMissing: true }), read, report = console.error }) {
|
|
6
|
-
this.discover = discover; this.read = read; this.report = report;
|
|
7
|
-
this.pipe = null; this.snapshot = null; this.stopped = true;
|
|
8
|
-
}
|
|
9
|
-
start() { this.stopped = false; void this.tick(); }
|
|
10
|
-
stop() { this.stopped = true; clearTimeout(this.timer); }
|
|
11
|
-
async refresh() {
|
|
12
|
-
try {
|
|
13
|
-
const pipe = await this.discover();
|
|
14
|
-
if (this.stopped) return;
|
|
15
|
-
this.pipe = pipe;
|
|
16
|
-
if (!pipe) { this.snapshot = null; return; }
|
|
17
|
-
const [listing, projects] = await Promise.all([
|
|
18
|
-
this.read('list_threads', { limit: 50 }, pipe), this.read('list_projects', {}, pipe),
|
|
19
|
-
]);
|
|
20
|
-
if (this.stopped) return;
|
|
21
|
-
if (!listing.success || !projects.success) throw new Error('Desktop 列表读取失败');
|
|
22
|
-
this.snapshot = { listing: listing.data, projects: projects.data.projects || [] };
|
|
23
|
-
this.error = null;
|
|
24
|
-
} catch (error) {
|
|
25
|
-
this.pipe = null; this.snapshot = null;
|
|
26
|
-
if (this.error !== error.message) this.report(`Desktop 排序暂不可用:${error.message}`);
|
|
27
|
-
this.error = error.message;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async tick() {
|
|
31
|
-
await this.refresh();
|
|
32
|
-
if (!this.stopped) { this.timer = setTimeout(() => this.tick(), this.pipe ? 10000 : 2000); this.timer.unref(); }
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
param([string]$NodePath, [string]$Entry, [ValidateSet('shared-start','desktop-start')][string]$Action)
|
|
2
|
-
$ErrorActionPreference = 'Stop'
|
|
3
|
-
[Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
|
|
4
|
-
& $NodePath $Entry $Action
|
|
5
|
-
if ($LASTEXITCODE -ne 0) { Write-Host '启动未完成,请根据上方提示处理后重试。' }
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import net from 'node:net';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import { setTimeout as delay } from 'node:timers/promises';
|
|
4
|
-
|
|
5
|
-
async function isToolsPipe(pipe, timeout) {
|
|
6
|
-
return new Promise(resolve => {
|
|
7
|
-
const socket = net.createConnection(pipe);
|
|
8
|
-
let data = Buffer.alloc(0);
|
|
9
|
-
const finish = value => { clearTimeout(timer); socket.destroy(); resolve(value); };
|
|
10
|
-
const timer = setTimeout(() => finish(false), timeout);
|
|
11
|
-
socket.on('error', () => finish(false));
|
|
12
|
-
socket.on('end', () => finish(false));
|
|
13
|
-
socket.on('connect', () => {
|
|
14
|
-
const body = Buffer.from(JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'tools/list', params: { threadStartKind: 'all' } }));
|
|
15
|
-
const header = Buffer.alloc(4); header.writeUInt32LE(body.length);
|
|
16
|
-
socket.write(Buffer.concat([header, body]));
|
|
17
|
-
});
|
|
18
|
-
socket.on('data', chunk => {
|
|
19
|
-
data = Buffer.concat([data, chunk]);
|
|
20
|
-
if (data.length < 4) return;
|
|
21
|
-
const length = data.readUInt32LE(0);
|
|
22
|
-
if (length > 8 * 1024 * 1024) return finish(false);
|
|
23
|
-
if (data.length < length + 4) return;
|
|
24
|
-
try {
|
|
25
|
-
const response = JSON.parse(data.subarray(4, length + 4));
|
|
26
|
-
finish(response.id === 1 && response.result?.tools?.some(tool => tool.namespace === 'codex_app' && tool.name === 'send_message_to_thread'));
|
|
27
|
-
} catch { finish(false); }
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// The Desktop WebSocket may connect before its tools router is ready.
|
|
34
|
-
export async function findDesktopPipe({ timeout = 0, allowMissing = false, wait = delay, now = Date.now,
|
|
35
|
-
enumerate = () => fs.readdirSync('\\\\.\\pipe\\').filter(name => name.startsWith('codex-browser-use-')).map(name => `\\\\.\\pipe\\${name}`),
|
|
36
|
-
ready = isToolsPipe } = {}) {
|
|
37
|
-
const deadline = now() + timeout;
|
|
38
|
-
do {
|
|
39
|
-
const matches = (await Promise.all(enumerate().map(async pipe =>
|
|
40
|
-
await ready(pipe, Math.max(1, Math.min(2000, timeout ? deadline - now() : 2000))) ? pipe : null))).filter(Boolean);
|
|
41
|
-
if (matches.length === 1) return matches[0];
|
|
42
|
-
if (matches.length > 1) throw new Error(`检测到 ${matches.length} 个桌面工具管道,无法确定 Bridge 应连接的 Desktop。`);
|
|
43
|
-
if (now() >= deadline) break;
|
|
44
|
-
await wait(Math.min(250, deadline - now()));
|
|
45
|
-
} while (true);
|
|
46
|
-
if (allowMissing) return null;
|
|
47
|
-
throw new Error('Desktop 工具接口尚未就绪。请等待 Desktop 首页加载完成后重试;未启动 Bridge,也未结束 Desktop。');
|
|
48
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
|
|
4
|
-
function normalizedPath(value) {
|
|
5
|
-
return String(value || '').replace(/^\\\\\?\\/, '').replaceAll('\\', '/').replace(/\/+$/, '').toLowerCase();
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function supplementThreadCatalog(data, projects, codexRoot, limit) {
|
|
9
|
-
const db = new DatabaseSync(path.join(codexRoot, 'state_5.sqlite'), { readOnly: true });
|
|
10
|
-
try {
|
|
11
|
-
const rows = db.prepare(`SELECT id, name, title, cwd, project_id, archived,
|
|
12
|
-
COALESCE(updated_at_ms, updated_at * 1000) AS updated_ms,
|
|
13
|
-
MAX(recency_at_ms, recency_at * 1000, COALESCE(updated_at_ms, updated_at * 1000)) AS sort_ms
|
|
14
|
-
FROM threads WHERE source IN ('vscode', 'cli') ORDER BY sort_ms DESC`).all();
|
|
15
|
-
const indexed = new Map(rows.map(row => [row.id, row]));
|
|
16
|
-
const localProjects = projects.filter(project => project.hostId === 'local' && project.path)
|
|
17
|
-
.sort((a, b) => normalizedPath(b.path).length - normalizedPath(a.path).length);
|
|
18
|
-
const assignProject = thread => {
|
|
19
|
-
if (thread.projectId || thread.hostId !== 'local') return thread;
|
|
20
|
-
const cwd = normalizedPath(thread.cwd);
|
|
21
|
-
const project = localProjects.find(project => cwd === normalizedPath(project.path) || cwd.startsWith(normalizedPath(project.path) + '/'));
|
|
22
|
-
return { ...thread, projectId: project?.projectId || null };
|
|
23
|
-
};
|
|
24
|
-
const normalizeRecency = thread => {
|
|
25
|
-
const assigned = assignProject(thread);
|
|
26
|
-
const row = assigned.hostId === 'local' ? indexed.get(assigned.id) : null;
|
|
27
|
-
return row ? { ...assigned, updatedAt: row.updated_ms / 1000, recencyAt: row.sort_ms / 1000 }
|
|
28
|
-
: { ...assigned, recencyAt: assigned.recencyAt ?? assigned.updatedAt };
|
|
29
|
-
};
|
|
30
|
-
const visible = thread => thread.kind === 'codex'
|
|
31
|
-
&& (thread.hostId !== 'local' || !indexed.get(thread.id)?.archived);
|
|
32
|
-
const listed = [...(data.pinnedThreads || []), ...(data.threads || [])];
|
|
33
|
-
const threads = new Map(listed.filter(visible).map(thread => [thread.id, normalizeRecency(thread)]));
|
|
34
|
-
for (const row of rows) {
|
|
35
|
-
if (row.archived || threads.has(row.id)) continue;
|
|
36
|
-
threads.set(row.id, normalizeRecency({ id: row.id, kind: 'codex', hostId: 'local',
|
|
37
|
-
title: row.name || row.title, cwd: row.cwd, projectId: row.project_id,
|
|
38
|
-
updatedAt: row.updated_ms / 1000, recencyAt: row.sort_ms / 1000, status: 'unknown' }));
|
|
39
|
-
}
|
|
40
|
-
const recency = thread => thread.hostId === 'local' && indexed.has(thread.id)
|
|
41
|
-
? indexed.get(thread.id).sort_ms : Number(thread.updatedAt || 0) * 1000;
|
|
42
|
-
return { ...data, pinnedThreads: [], threads: [...threads.values()]
|
|
43
|
-
.sort((a, b) => recency(b) - recency(a)).slice(0, limit) };
|
|
44
|
-
} finally {
|
|
45
|
-
db.close();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { findDesktopPipe } from '../src/platform/windows/desktop-tools.mjs';
|
|
2
|
-
|
|
3
|
-
try {
|
|
4
|
-
const args = process.argv.slice(2);
|
|
5
|
-
if (args.length && (args.length !== 1 || args[0] !== '--wait')) throw new Error('Invalid pipe discovery arguments');
|
|
6
|
-
console.log(await findDesktopPipe({ timeout: args.length ? 120000 : 0 }));
|
|
7
|
-
} catch (error) {
|
|
8
|
-
console.error(error.message);
|
|
9
|
-
process.exitCode = 1;
|
|
10
|
-
}
|