oc-browser-relay 1.0.3 → 1.0.5
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/bundled-relay/index.js +263 -61
- package/bundled-relay/package.json +1 -4
- package/bundled-relay/public/configs/pages/sycm-taobao-home.json +85 -0
- package/bundled-relay/public/configs/pages/taobao-item-detail.json +10 -10
- package/bundled-relay/public/configs/pages/xiaohongshu-creator-publish.json +17 -17
- package/bundled-relay/public/configs/pages/xiaohongshu-web-explore.json +13 -13
- package/bundled-relay/public/configs/pages/xiaohongshu-web-search-result.json +23 -21
- package/bundled-relay/public/configs/task-templates/sycm-taobao-home-live-metrics.json +108 -1
- package/bundled-relay/public/configs/task-templates/taobao-item-detail-comments.json +11 -0
- package/index.js +1 -1
- package/install.mjs +5 -11
- package/package.json +1 -1
- package/skills/oc-browser-relay-xiaohongshu/SKILL.md +3 -1
- package/skills/oc-sycm-live-metrics/SKILL.md +15 -3
- package/bundled-relay/node_modules/playwright-core/LICENSE +0 -202
- package/bundled-relay/node_modules/playwright-core/NOTICE +0 -5
- package/bundled-relay/node_modules/playwright-core/README.md +0 -3
- package/bundled-relay/node_modules/playwright-core/ThirdPartyNotices.txt +0 -4076
- package/bundled-relay/node_modules/playwright-core/bin/install_media_pack.ps1 +0 -5
- package/bundled-relay/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +0 -33
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -42
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -13
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +0 -24
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -42
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -12
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +0 -24
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -48
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -11
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +0 -23
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -48
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -11
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +0 -23
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -48
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -11
- package/bundled-relay/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +0 -24
- package/bundled-relay/node_modules/playwright-core/browsers.json +0 -79
- package/bundled-relay/node_modules/playwright-core/cli.js +0 -18
- package/bundled-relay/node_modules/playwright-core/index.d.ts +0 -17
- package/bundled-relay/node_modules/playwright-core/index.js +0 -32
- package/bundled-relay/node_modules/playwright-core/index.mjs +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/androidServerImpl.js +0 -65
- package/bundled-relay/node_modules/playwright-core/lib/browserServerImpl.js +0 -120
- package/bundled-relay/node_modules/playwright-core/lib/cli/driver.js +0 -97
- package/bundled-relay/node_modules/playwright-core/lib/cli/program.js +0 -589
- package/bundled-relay/node_modules/playwright-core/lib/cli/programWithTestStub.js +0 -74
- package/bundled-relay/node_modules/playwright-core/lib/client/android.js +0 -361
- package/bundled-relay/node_modules/playwright-core/lib/client/api.js +0 -137
- package/bundled-relay/node_modules/playwright-core/lib/client/artifact.js +0 -79
- package/bundled-relay/node_modules/playwright-core/lib/client/browser.js +0 -161
- package/bundled-relay/node_modules/playwright-core/lib/client/browserContext.js +0 -582
- package/bundled-relay/node_modules/playwright-core/lib/client/browserType.js +0 -185
- package/bundled-relay/node_modules/playwright-core/lib/client/cdpSession.js +0 -51
- package/bundled-relay/node_modules/playwright-core/lib/client/channelOwner.js +0 -194
- package/bundled-relay/node_modules/playwright-core/lib/client/clientHelper.js +0 -64
- package/bundled-relay/node_modules/playwright-core/lib/client/clientInstrumentation.js +0 -55
- package/bundled-relay/node_modules/playwright-core/lib/client/clientStackTrace.js +0 -69
- package/bundled-relay/node_modules/playwright-core/lib/client/clock.js +0 -68
- package/bundled-relay/node_modules/playwright-core/lib/client/connection.js +0 -318
- package/bundled-relay/node_modules/playwright-core/lib/client/consoleMessage.js +0 -58
- package/bundled-relay/node_modules/playwright-core/lib/client/coverage.js +0 -44
- package/bundled-relay/node_modules/playwright-core/lib/client/dialog.js +0 -56
- package/bundled-relay/node_modules/playwright-core/lib/client/download.js +0 -62
- package/bundled-relay/node_modules/playwright-core/lib/client/electron.js +0 -138
- package/bundled-relay/node_modules/playwright-core/lib/client/elementHandle.js +0 -284
- package/bundled-relay/node_modules/playwright-core/lib/client/errors.js +0 -77
- package/bundled-relay/node_modules/playwright-core/lib/client/eventEmitter.js +0 -314
- package/bundled-relay/node_modules/playwright-core/lib/client/events.js +0 -103
- package/bundled-relay/node_modules/playwright-core/lib/client/fetch.js +0 -368
- package/bundled-relay/node_modules/playwright-core/lib/client/fileChooser.js +0 -46
- package/bundled-relay/node_modules/playwright-core/lib/client/fileUtils.js +0 -34
- package/bundled-relay/node_modules/playwright-core/lib/client/frame.js +0 -409
- package/bundled-relay/node_modules/playwright-core/lib/client/harRouter.js +0 -87
- package/bundled-relay/node_modules/playwright-core/lib/client/input.js +0 -84
- package/bundled-relay/node_modules/playwright-core/lib/client/jsHandle.js +0 -109
- package/bundled-relay/node_modules/playwright-core/lib/client/jsonPipe.js +0 -39
- package/bundled-relay/node_modules/playwright-core/lib/client/localUtils.js +0 -60
- package/bundled-relay/node_modules/playwright-core/lib/client/locator.js +0 -369
- package/bundled-relay/node_modules/playwright-core/lib/client/network.js +0 -747
- package/bundled-relay/node_modules/playwright-core/lib/client/page.js +0 -745
- package/bundled-relay/node_modules/playwright-core/lib/client/pageAgent.js +0 -64
- package/bundled-relay/node_modules/playwright-core/lib/client/platform.js +0 -77
- package/bundled-relay/node_modules/playwright-core/lib/client/playwright.js +0 -71
- package/bundled-relay/node_modules/playwright-core/lib/client/selectors.js +0 -55
- package/bundled-relay/node_modules/playwright-core/lib/client/stream.js +0 -39
- package/bundled-relay/node_modules/playwright-core/lib/client/timeoutSettings.js +0 -79
- package/bundled-relay/node_modules/playwright-core/lib/client/tracing.js +0 -119
- package/bundled-relay/node_modules/playwright-core/lib/client/types.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/client/video.js +0 -59
- package/bundled-relay/node_modules/playwright-core/lib/client/waiter.js +0 -142
- package/bundled-relay/node_modules/playwright-core/lib/client/webError.js +0 -39
- package/bundled-relay/node_modules/playwright-core/lib/client/webSocket.js +0 -93
- package/bundled-relay/node_modules/playwright-core/lib/client/worker.js +0 -85
- package/bundled-relay/node_modules/playwright-core/lib/client/writableStream.js +0 -39
- package/bundled-relay/node_modules/playwright-core/lib/generated/bindingsControllerSource.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/generated/clockSource.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/generated/injectedScriptSource.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/generated/pollingRecorderSource.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/generated/storageScriptSource.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/generated/utilityScriptSource.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/generated/webSocketMockSource.js +0 -336
- package/bundled-relay/node_modules/playwright-core/lib/inProcessFactory.js +0 -60
- package/bundled-relay/node_modules/playwright-core/lib/inprocess.js +0 -3
- package/bundled-relay/node_modules/playwright-core/lib/mcpBundle.js +0 -84
- package/bundled-relay/node_modules/playwright-core/lib/mcpBundleImpl/index.js +0 -147
- package/bundled-relay/node_modules/playwright-core/lib/outofprocess.js +0 -76
- package/bundled-relay/node_modules/playwright-core/lib/protocol/serializers.js +0 -197
- package/bundled-relay/node_modules/playwright-core/lib/protocol/validator.js +0 -2969
- package/bundled-relay/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +0 -193
- package/bundled-relay/node_modules/playwright-core/lib/remote/playwrightConnection.js +0 -129
- package/bundled-relay/node_modules/playwright-core/lib/remote/playwrightServer.js +0 -334
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/actionRunner.js +0 -335
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/actions.js +0 -128
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/codegen.js +0 -111
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/context.js +0 -150
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/expectTools.js +0 -156
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/pageAgent.js +0 -204
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/performTools.js +0 -262
- package/bundled-relay/node_modules/playwright-core/lib/server/agent/tool.js +0 -109
- package/bundled-relay/node_modules/playwright-core/lib/server/android/android.js +0 -465
- package/bundled-relay/node_modules/playwright-core/lib/server/android/backendAdb.js +0 -177
- package/bundled-relay/node_modules/playwright-core/lib/server/artifact.js +0 -127
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +0 -549
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiChromium.js +0 -149
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +0 -213
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiDeserializer.js +0 -116
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +0 -267
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +0 -128
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiInput.js +0 -146
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +0 -383
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiOverCdp.js +0 -102
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiPage.js +0 -583
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/bidiPdf.js +0 -106
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +0 -24
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolCore.js +0 -180
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolPermissions.js +0 -42
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +0 -148
- package/bundled-relay/node_modules/playwright-core/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
- package/bundled-relay/node_modules/playwright-core/lib/server/browser.js +0 -149
- package/bundled-relay/node_modules/playwright-core/lib/server/browserContext.js +0 -702
- package/bundled-relay/node_modules/playwright-core/lib/server/browserType.js +0 -336
- package/bundled-relay/node_modules/playwright-core/lib/server/callLog.js +0 -82
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/chromium.js +0 -397
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +0 -104
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crBrowser.js +0 -520
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crConnection.js +0 -197
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crCoverage.js +0 -235
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crDevTools.js +0 -111
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +0 -131
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +0 -146
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crInput.js +0 -187
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +0 -707
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crPage.js +0 -1001
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crPdf.js +0 -121
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +0 -145
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +0 -136
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +0 -162
- package/bundled-relay/node_modules/playwright-core/lib/server/chromium/protocol.d.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/server/clock.js +0 -149
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/csharp.js +0 -327
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/java.js +0 -274
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/javascript.js +0 -247
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/jsonl.js +0 -52
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/language.js +0 -132
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/languages.js +0 -68
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/python.js +0 -279
- package/bundled-relay/node_modules/playwright-core/lib/server/codegen/types.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/server/console.js +0 -57
- package/bundled-relay/node_modules/playwright-core/lib/server/cookieStore.js +0 -206
- package/bundled-relay/node_modules/playwright-core/lib/server/debugController.js +0 -191
- package/bundled-relay/node_modules/playwright-core/lib/server/debugger.js +0 -119
- package/bundled-relay/node_modules/playwright-core/lib/server/deviceDescriptors.js +0 -39
- package/bundled-relay/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +0 -1779
- package/bundled-relay/node_modules/playwright-core/lib/server/dialog.js +0 -116
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +0 -325
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +0 -118
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +0 -384
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +0 -118
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +0 -64
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +0 -78
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +0 -47
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +0 -364
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +0 -89
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +0 -181
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +0 -227
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +0 -85
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +0 -149
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +0 -213
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/pageAgentDispatcher.js +0 -96
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +0 -393
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +0 -108
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +0 -67
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +0 -68
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -165
- package/bundled-relay/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +0 -79
- package/bundled-relay/node_modules/playwright-core/lib/server/dom.js +0 -815
- package/bundled-relay/node_modules/playwright-core/lib/server/download.js +0 -70
- package/bundled-relay/node_modules/playwright-core/lib/server/electron/electron.js +0 -273
- package/bundled-relay/node_modules/playwright-core/lib/server/electron/loader.js +0 -29
- package/bundled-relay/node_modules/playwright-core/lib/server/errors.js +0 -69
- package/bundled-relay/node_modules/playwright-core/lib/server/fetch.js +0 -621
- package/bundled-relay/node_modules/playwright-core/lib/server/fileChooser.js +0 -43
- package/bundled-relay/node_modules/playwright-core/lib/server/fileUploadUtils.js +0 -84
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +0 -418
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/ffConnection.js +0 -142
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +0 -150
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/ffInput.js +0 -159
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +0 -256
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/ffPage.js +0 -497
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/firefox.js +0 -114
- package/bundled-relay/node_modules/playwright-core/lib/server/firefox/protocol.d.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/server/formData.js +0 -147
- package/bundled-relay/node_modules/playwright-core/lib/server/frameSelectors.js +0 -160
- package/bundled-relay/node_modules/playwright-core/lib/server/frames.js +0 -1471
- package/bundled-relay/node_modules/playwright-core/lib/server/har/harRecorder.js +0 -147
- package/bundled-relay/node_modules/playwright-core/lib/server/har/harTracer.js +0 -607
- package/bundled-relay/node_modules/playwright-core/lib/server/harBackend.js +0 -157
- package/bundled-relay/node_modules/playwright-core/lib/server/helper.js +0 -96
- package/bundled-relay/node_modules/playwright-core/lib/server/index.js +0 -58
- package/bundled-relay/node_modules/playwright-core/lib/server/input.js +0 -277
- package/bundled-relay/node_modules/playwright-core/lib/server/instrumentation.js +0 -72
- package/bundled-relay/node_modules/playwright-core/lib/server/javascript.js +0 -291
- package/bundled-relay/node_modules/playwright-core/lib/server/launchApp.js +0 -128
- package/bundled-relay/node_modules/playwright-core/lib/server/localUtils.js +0 -214
- package/bundled-relay/node_modules/playwright-core/lib/server/macEditingCommands.js +0 -143
- package/bundled-relay/node_modules/playwright-core/lib/server/network.js +0 -667
- package/bundled-relay/node_modules/playwright-core/lib/server/page.js +0 -830
- package/bundled-relay/node_modules/playwright-core/lib/server/pipeTransport.js +0 -89
- package/bundled-relay/node_modules/playwright-core/lib/server/playwright.js +0 -69
- package/bundled-relay/node_modules/playwright-core/lib/server/progress.js +0 -132
- package/bundled-relay/node_modules/playwright-core/lib/server/protocolError.js +0 -52
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder/chat.js +0 -161
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder/recorderApp.js +0 -366
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +0 -138
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder/recorderSignalProcessor.js +0 -83
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +0 -157
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder/throttledFile.js +0 -57
- package/bundled-relay/node_modules/playwright-core/lib/server/recorder.js +0 -499
- package/bundled-relay/node_modules/playwright-core/lib/server/registry/browserFetcher.js +0 -177
- package/bundled-relay/node_modules/playwright-core/lib/server/registry/dependencies.js +0 -371
- package/bundled-relay/node_modules/playwright-core/lib/server/registry/index.js +0 -1422
- package/bundled-relay/node_modules/playwright-core/lib/server/registry/nativeDeps.js +0 -1280
- package/bundled-relay/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +0 -127
- package/bundled-relay/node_modules/playwright-core/lib/server/screencast.js +0 -190
- package/bundled-relay/node_modules/playwright-core/lib/server/screenshotter.js +0 -333
- package/bundled-relay/node_modules/playwright-core/lib/server/selectors.js +0 -112
- package/bundled-relay/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +0 -383
- package/bundled-relay/node_modules/playwright-core/lib/server/socksInterceptor.js +0 -95
- package/bundled-relay/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +0 -147
- package/bundled-relay/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +0 -561
- package/bundled-relay/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +0 -604
- package/bundled-relay/node_modules/playwright-core/lib/server/trace/viewer/traceParser.js +0 -72
- package/bundled-relay/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +0 -245
- package/bundled-relay/node_modules/playwright-core/lib/server/transport.js +0 -181
- package/bundled-relay/node_modules/playwright-core/lib/server/types.js +0 -28
- package/bundled-relay/node_modules/playwright-core/lib/server/usKeyboardLayout.js +0 -145
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/ascii.js +0 -44
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/comparators.js +0 -139
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/crypto.js +0 -216
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/debug.js +0 -42
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/debugLogger.js +0 -122
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/env.js +0 -73
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/eventsHelper.js +0 -39
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/expectUtils.js +0 -123
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/fileUtils.js +0 -191
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/happyEyeballs.js +0 -207
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/hostPlatform.js +0 -138
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/httpServer.js +0 -203
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/imageUtils.js +0 -141
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/image_tools/colorUtils.js +0 -89
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/image_tools/compare.js +0 -109
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/image_tools/imageChannel.js +0 -78
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/image_tools/stats.js +0 -102
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/linuxUtils.js +0 -71
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/network.js +0 -242
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/nodePlatform.js +0 -154
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/pipeTransport.js +0 -84
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/processLauncher.js +0 -241
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/profiler.js +0 -65
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/socksProxy.js +0 -511
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/spawnAsync.js +0 -41
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/task.js +0 -51
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/userAgent.js +0 -98
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/wsServer.js +0 -121
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/zipFile.js +0 -74
- package/bundled-relay/node_modules/playwright-core/lib/server/utils/zones.js +0 -57
- package/bundled-relay/node_modules/playwright-core/lib/server/videoRecorder.js +0 -124
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/protocol.d.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/webkit.js +0 -108
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +0 -335
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkConnection.js +0 -144
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +0 -154
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkInput.js +0 -181
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +0 -197
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkPage.js +0 -1159
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +0 -83
- package/bundled-relay/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +0 -105
- package/bundled-relay/node_modules/playwright-core/lib/third_party/pixelmatch.js +0 -255
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/ariaSnapshot.js +0 -455
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/assert.js +0 -31
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/colors.js +0 -72
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +0 -245
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +0 -1051
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/headers.js +0 -53
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +0 -689
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +0 -176
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +0 -81
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/lruCache.js +0 -51
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/manualPromise.js +0 -114
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +0 -459
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/multimap.js +0 -80
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/protocolFormatter.js +0 -81
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/protocolMetainfo.js +0 -330
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/rtti.js +0 -43
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +0 -386
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/semaphore.js +0 -54
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/stackTrace.js +0 -158
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +0 -204
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/time.js +0 -49
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/timeoutRunner.js +0 -66
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/entries.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/snapshotRenderer.js +0 -499
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/snapshotServer.js +0 -120
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/snapshotStorage.js +0 -89
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/traceLoader.js +0 -131
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/traceModel.js +0 -365
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/traceModernizer.js +0 -400
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/versions/traceV3.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/versions/traceV4.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/versions/traceV5.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/versions/traceV6.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/versions/traceV7.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/trace/versions/traceV8.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +0 -58
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/types.js +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +0 -190
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/utilityScriptSerializers.js +0 -251
- package/bundled-relay/node_modules/playwright-core/lib/utils/isomorphic/yaml.js +0 -84
- package/bundled-relay/node_modules/playwright-core/lib/utils.js +0 -111
- package/bundled-relay/node_modules/playwright-core/lib/utilsBundle.js +0 -109
- package/bundled-relay/node_modules/playwright-core/lib/utilsBundleImpl/index.js +0 -218
- package/bundled-relay/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +0 -1066
- package/bundled-relay/node_modules/playwright-core/lib/vite/htmlReport/index.html +0 -84
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +0 -1
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DadYNm1I.js +0 -32
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/assets/index-BSjZa4pk.css +0 -1
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/assets/index-BhTWtUlo.js +0 -193
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/index.html +0 -29
- package/bundled-relay/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +0 -9
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-a5XoALAZ.js +0 -32
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-CJSZINFr.js +0 -266
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +0 -9
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +0 -1
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +0 -1
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/index.BDwrLSGN.js +0 -2
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/index.BVu7tZDe.css +0 -1
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/index.html +0 -43
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +0 -16
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +0 -21
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +0 -5
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Btcz36p_.css +0 -1
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CQJ9SCIQ.js +0 -5
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +0 -17
- package/bundled-relay/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +0 -32
- package/bundled-relay/node_modules/playwright-core/lib/zipBundle.js +0 -34
- package/bundled-relay/node_modules/playwright-core/lib/zipBundleImpl.js +0 -5
- package/bundled-relay/node_modules/playwright-core/package.json +0 -43
- package/bundled-relay/node_modules/playwright-core/types/protocol.d.ts +0 -23824
- package/bundled-relay/node_modules/playwright-core/types/structs.d.ts +0 -45
- package/bundled-relay/node_modules/playwright-core/types/types.d.ts +0 -22843
package/bundled-relay/index.js
CHANGED
|
@@ -4976,8 +4976,8 @@ var require_raw_body = __commonJS({
|
|
|
4976
4976
|
type: "entity.too.large"
|
|
4977
4977
|
}));
|
|
4978
4978
|
}
|
|
4979
|
-
var
|
|
4980
|
-
if (stream._decoder ||
|
|
4979
|
+
var state = stream._readableState;
|
|
4980
|
+
if (stream._decoder || state && (state.encoding || state.decoder)) {
|
|
4981
4981
|
return done(createError(500, "stream encoding should not be set", {
|
|
4982
4982
|
type: "stream.encoding.set"
|
|
4983
4983
|
}));
|
|
@@ -22629,6 +22629,7 @@ var ERROR_CODES = {
|
|
|
22629
22629
|
// 步骤类
|
|
22630
22630
|
ERR_INVALID_STEP: "ERR_INVALID_STEP",
|
|
22631
22631
|
ERR_STEP_EXECUTION_FAILED: "ERR_STEP_EXECUTION_FAILED",
|
|
22632
|
+
ERR_STEP_TIMEOUT: "ERR_STEP_TIMEOUT",
|
|
22632
22633
|
// Runtime 类
|
|
22633
22634
|
ERR_RUNTIME_NOT_AVAILABLE: "ERR_RUNTIME_NOT_AVAILABLE",
|
|
22634
22635
|
ERR_RUNTIME_BUSY: "ERR_RUNTIME_BUSY",
|
|
@@ -22726,46 +22727,6 @@ var FileService = class {
|
|
|
22726
22727
|
}
|
|
22727
22728
|
};
|
|
22728
22729
|
|
|
22729
|
-
// relay/src/cdp-bridge/index.ts
|
|
22730
|
-
import { chromium } from "playwright-core";
|
|
22731
|
-
var state = null;
|
|
22732
|
-
async function connectToChrome(port = 9222) {
|
|
22733
|
-
const cdpUrl = `http://127.0.0.1:${port}`;
|
|
22734
|
-
console.log(`[CDP] Connecting to Chrome via CDP at ${cdpUrl}`);
|
|
22735
|
-
const browser = await chromium.connectOverCDP(cdpUrl);
|
|
22736
|
-
const contexts = browser.contexts();
|
|
22737
|
-
const context = contexts[0] ?? await browser.newContext();
|
|
22738
|
-
state = { browser, context };
|
|
22739
|
-
console.log("[CDP] Connected to Chrome via CDP \u2713");
|
|
22740
|
-
return state;
|
|
22741
|
-
}
|
|
22742
|
-
async function getActivePage(context) {
|
|
22743
|
-
const pages = context.pages();
|
|
22744
|
-
if (pages.length === 0) {
|
|
22745
|
-
return await context.newPage();
|
|
22746
|
-
}
|
|
22747
|
-
return pages[pages.length - 1];
|
|
22748
|
-
}
|
|
22749
|
-
var CDPController = class {
|
|
22750
|
-
constructor(cdpPort = 9222) {
|
|
22751
|
-
this.cdpPort = cdpPort;
|
|
22752
|
-
}
|
|
22753
|
-
async ensureConnected() {
|
|
22754
|
-
if (!state || !state.browser.isConnected()) {
|
|
22755
|
-
return await connectToChrome(this.cdpPort);
|
|
22756
|
-
}
|
|
22757
|
-
return state;
|
|
22758
|
-
}
|
|
22759
|
-
async snapshot() {
|
|
22760
|
-
const { context } = await this.ensureConnected();
|
|
22761
|
-
const page = await getActivePage(context);
|
|
22762
|
-
return await page.content();
|
|
22763
|
-
}
|
|
22764
|
-
isConnected() {
|
|
22765
|
-
return state !== null && state.browser.isConnected();
|
|
22766
|
-
}
|
|
22767
|
-
};
|
|
22768
|
-
|
|
22769
22730
|
// relay/src/workspace-service/index.ts
|
|
22770
22731
|
import * as crypto2 from "crypto";
|
|
22771
22732
|
import * as fs2 from "fs";
|
|
@@ -23275,6 +23236,7 @@ function mapTaskStatusToCurrentNodeStatus(status) {
|
|
|
23275
23236
|
function mapToolNameToTaskOperation(tool) {
|
|
23276
23237
|
switch (tool) {
|
|
23277
23238
|
case "open_tab":
|
|
23239
|
+
case "close_tab":
|
|
23278
23240
|
case "ensure_publish_ready":
|
|
23279
23241
|
return "navigate";
|
|
23280
23242
|
case "fill_field":
|
|
@@ -23285,6 +23247,10 @@ function mapToolNameToTaskOperation(tool) {
|
|
|
23285
23247
|
case "switch_tab":
|
|
23286
23248
|
case "apply_search_filters":
|
|
23287
23249
|
return "click";
|
|
23250
|
+
case "present_page_activity":
|
|
23251
|
+
return "unknown";
|
|
23252
|
+
case "invoke_page_request":
|
|
23253
|
+
return "extract_api_payload";
|
|
23288
23254
|
case "collect_search_list":
|
|
23289
23255
|
case "collect_search_item_details":
|
|
23290
23256
|
case "collect_structured_data":
|
|
@@ -23339,6 +23305,8 @@ function buildTaskStatusView(input) {
|
|
|
23339
23305
|
capability: input.capability,
|
|
23340
23306
|
currentOperation: input.currentOperation,
|
|
23341
23307
|
progress,
|
|
23308
|
+
lastProgressAt: input.lastProgressAt,
|
|
23309
|
+
lastProgress: input.lastProgress ?? null,
|
|
23342
23310
|
currentNode,
|
|
23343
23311
|
browsingContext: input.browsingContext,
|
|
23344
23312
|
captureWindow: input.captureWindow,
|
|
@@ -23520,6 +23488,8 @@ function applyTaskStatusView(task, overrides) {
|
|
|
23520
23488
|
} : void 0,
|
|
23521
23489
|
captureWindow,
|
|
23522
23490
|
lastArtifact: overrides?.lastArtifact ?? task.statusView?.lastArtifact,
|
|
23491
|
+
lastProgressAt: overrides?.lastProgressAt ?? task.statusView?.lastProgressAt,
|
|
23492
|
+
lastProgress: overrides?.lastProgress ?? task.statusView?.lastProgress,
|
|
23523
23493
|
progressHint: overrides?.progressHint
|
|
23524
23494
|
});
|
|
23525
23495
|
}
|
|
@@ -23613,6 +23583,107 @@ function applyArtifactCreatedToTask(task, payload) {
|
|
|
23613
23583
|
lastArtifact: payload.artifact
|
|
23614
23584
|
});
|
|
23615
23585
|
}
|
|
23586
|
+
function applyStepProgressToTask(task, payload) {
|
|
23587
|
+
task.currentNodeId = payload.stepId;
|
|
23588
|
+
task.updatedAt = payload.updatedAt || (/* @__PURE__ */ new Date()).toISOString();
|
|
23589
|
+
applyTaskStatusView(task, {
|
|
23590
|
+
currentNodeId: payload.stepId,
|
|
23591
|
+
currentNodeTool: payload.tool,
|
|
23592
|
+
currentOperation: mapToolNameToTaskOperation(payload.tool),
|
|
23593
|
+
lastProgressAt: payload.updatedAt,
|
|
23594
|
+
lastProgress: payload.details ?? null,
|
|
23595
|
+
progressHint: payload.details?.progressHint ?? payload.details?.message
|
|
23596
|
+
});
|
|
23597
|
+
}
|
|
23598
|
+
|
|
23599
|
+
// relay/src/step-watchdog.ts
|
|
23600
|
+
var StepWatchdogRegistry = class {
|
|
23601
|
+
constructor(onExpired) {
|
|
23602
|
+
this.onExpired = onExpired;
|
|
23603
|
+
this.pending = /* @__PURE__ */ new Map();
|
|
23604
|
+
}
|
|
23605
|
+
start(input) {
|
|
23606
|
+
const existing = this.pending.get(input.taskId);
|
|
23607
|
+
const preservedStartedAt = existing && existing.stepId === input.stepId ? existing.startedAt : void 0;
|
|
23608
|
+
this.clear(input.taskId);
|
|
23609
|
+
const startedAt = preservedStartedAt || input.startedAt || (/* @__PURE__ */ new Date()).toISOString();
|
|
23610
|
+
const lastProgressAt = input.lastProgressAt || startedAt;
|
|
23611
|
+
const deadlineAt = new Date(new Date(lastProgressAt).getTime() + input.timeoutMs).toISOString();
|
|
23612
|
+
const entry = {
|
|
23613
|
+
taskId: input.taskId,
|
|
23614
|
+
stepId: input.stepId,
|
|
23615
|
+
tool: input.tool,
|
|
23616
|
+
timeoutMs: input.timeoutMs,
|
|
23617
|
+
startedAt,
|
|
23618
|
+
lastProgressAt,
|
|
23619
|
+
deadlineAt,
|
|
23620
|
+
lastProgress: input.lastProgress,
|
|
23621
|
+
timer: null
|
|
23622
|
+
};
|
|
23623
|
+
entry.timer = this.createTimer(entry);
|
|
23624
|
+
this.pending.set(input.taskId, entry);
|
|
23625
|
+
}
|
|
23626
|
+
progress(input) {
|
|
23627
|
+
const existing = this.pending.get(input.taskId);
|
|
23628
|
+
if (!existing || existing.stepId !== input.stepId) {
|
|
23629
|
+
return;
|
|
23630
|
+
}
|
|
23631
|
+
clearTimeout(existing.timer);
|
|
23632
|
+
existing.tool = input.tool ?? existing.tool;
|
|
23633
|
+
existing.lastProgressAt = input.updatedAt;
|
|
23634
|
+
existing.deadlineAt = new Date(new Date(input.updatedAt).getTime() + existing.timeoutMs).toISOString();
|
|
23635
|
+
existing.lastProgress = input.details;
|
|
23636
|
+
existing.timer = this.createTimer(existing);
|
|
23637
|
+
}
|
|
23638
|
+
clear(taskId, stepId) {
|
|
23639
|
+
const existing = this.pending.get(taskId);
|
|
23640
|
+
if (!existing) {
|
|
23641
|
+
return;
|
|
23642
|
+
}
|
|
23643
|
+
if (stepId && existing.stepId !== stepId) {
|
|
23644
|
+
return;
|
|
23645
|
+
}
|
|
23646
|
+
clearTimeout(existing.timer);
|
|
23647
|
+
this.pending.delete(taskId);
|
|
23648
|
+
}
|
|
23649
|
+
get(taskId) {
|
|
23650
|
+
const entry = this.pending.get(taskId);
|
|
23651
|
+
if (!entry) {
|
|
23652
|
+
return null;
|
|
23653
|
+
}
|
|
23654
|
+
return {
|
|
23655
|
+
taskId: entry.taskId,
|
|
23656
|
+
stepId: entry.stepId,
|
|
23657
|
+
tool: entry.tool,
|
|
23658
|
+
timeoutMs: entry.timeoutMs,
|
|
23659
|
+
startedAt: entry.startedAt,
|
|
23660
|
+
lastProgressAt: entry.lastProgressAt,
|
|
23661
|
+
deadlineAt: entry.deadlineAt,
|
|
23662
|
+
lastProgress: entry.lastProgress
|
|
23663
|
+
};
|
|
23664
|
+
}
|
|
23665
|
+
createTimer(entry) {
|
|
23666
|
+
const timer = setTimeout(() => {
|
|
23667
|
+
const current = this.pending.get(entry.taskId);
|
|
23668
|
+
if (!current || current !== entry) {
|
|
23669
|
+
return;
|
|
23670
|
+
}
|
|
23671
|
+
this.pending.delete(entry.taskId);
|
|
23672
|
+
this.onExpired({
|
|
23673
|
+
taskId: current.taskId,
|
|
23674
|
+
stepId: current.stepId,
|
|
23675
|
+
tool: current.tool,
|
|
23676
|
+
timeoutMs: current.timeoutMs,
|
|
23677
|
+
startedAt: current.startedAt,
|
|
23678
|
+
lastProgressAt: current.lastProgressAt,
|
|
23679
|
+
deadlineAt: current.deadlineAt,
|
|
23680
|
+
lastProgress: current.lastProgress
|
|
23681
|
+
});
|
|
23682
|
+
}, entry.timeoutMs);
|
|
23683
|
+
timer.unref?.();
|
|
23684
|
+
return timer;
|
|
23685
|
+
}
|
|
23686
|
+
};
|
|
23616
23687
|
|
|
23617
23688
|
// relay/src/task-ready-registry.ts
|
|
23618
23689
|
var TaskReadyRegistry = class {
|
|
@@ -23826,7 +23897,10 @@ function resolveFallbackStepIndex(task, currentStepIndex, result) {
|
|
|
23826
23897
|
}
|
|
23827
23898
|
|
|
23828
23899
|
// relay/src/task-node-result.ts
|
|
23829
|
-
function
|
|
23900
|
+
function resolveNodeExecutionStatusFromResult(result) {
|
|
23901
|
+
if (result.ok && result?.observation?.skipped === true) {
|
|
23902
|
+
return "skipped";
|
|
23903
|
+
}
|
|
23830
23904
|
return result.ok ? "success" : "failed";
|
|
23831
23905
|
}
|
|
23832
23906
|
function normalizeNodeResult(result, normalizedError) {
|
|
@@ -23841,7 +23915,7 @@ function persistNodeResultOnTask(task, result) {
|
|
|
23841
23915
|
if (!matchedNode) {
|
|
23842
23916
|
return false;
|
|
23843
23917
|
}
|
|
23844
|
-
updateNodeExecutionStatus(task, result.nodeId,
|
|
23918
|
+
updateNodeExecutionStatus(task, result.nodeId, resolveNodeExecutionStatusFromResult(result), {
|
|
23845
23919
|
result,
|
|
23846
23920
|
error: result.error
|
|
23847
23921
|
});
|
|
@@ -24002,13 +24076,14 @@ function applyTaskExecutionResult(task, orchestrator, result) {
|
|
|
24002
24076
|
} : null);
|
|
24003
24077
|
const persistedNodeResult = normalizeNodeResult(result, normalizedNodeError);
|
|
24004
24078
|
persistNodeResultOnTask(task, persistedNodeResult);
|
|
24079
|
+
const executionStatus = resolveNodeExecutionStatusFromResult(persistedNodeResult);
|
|
24005
24080
|
const fallbackStepIndex = resolveFallbackStepIndex(
|
|
24006
24081
|
task,
|
|
24007
24082
|
orchestrator.currentStepIndex,
|
|
24008
24083
|
persistedNodeResult
|
|
24009
24084
|
);
|
|
24010
24085
|
task.status = result.ok || fallbackStepIndex != null ? "running" : "failed";
|
|
24011
|
-
task.currentNodeId = result.nodeId;
|
|
24086
|
+
task.currentNodeId = executionStatus === "skipped" ? void 0 : result.nodeId;
|
|
24012
24087
|
task.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
24013
24088
|
task.lastError = result.ok || fallbackStepIndex != null ? null : normalizedNodeError;
|
|
24014
24089
|
return {
|
|
@@ -24024,7 +24099,6 @@ var app = (0, import_express.default)();
|
|
|
24024
24099
|
var server = createServer(app);
|
|
24025
24100
|
var PORT = process.env.PORT || DEFAULT_RELAY_PORT;
|
|
24026
24101
|
var fileService = new FileService();
|
|
24027
|
-
var cdpController = new CDPController();
|
|
24028
24102
|
var workspaceService = new WorkspaceService();
|
|
24029
24103
|
var templateExecutor = new TemplateExecutor();
|
|
24030
24104
|
var CLIENT_RECONNECT_GRACE_MS = 3e3;
|
|
@@ -24033,6 +24107,12 @@ var STEP_DISPATCH_INTERVAL_MS = Number(process.env.STEP_DISPATCH_INTERVAL_MS) ||
|
|
|
24033
24107
|
var RUNTIME_ONLINE_GRACE_MS = 1e4;
|
|
24034
24108
|
var RUNTIME_PRESENCE_TTL_MS = 5 * 60 * 1e3;
|
|
24035
24109
|
var COMPLETED_TASK_TTL_MS = Number(process.env.COMPLETED_TASK_TTL_MS) || 60 * 60 * 1e3;
|
|
24110
|
+
var STEP_WATCHDOG_FALLBACK_TIMEOUT_MS = 6e4;
|
|
24111
|
+
var STEP_WATCHDOG_DEFAULT_TIMEOUTS = {
|
|
24112
|
+
upload_assets: 18e4,
|
|
24113
|
+
fill_field: 12e4,
|
|
24114
|
+
collect_structured_data: 18e4
|
|
24115
|
+
};
|
|
24036
24116
|
var runtimeConnections = /* @__PURE__ */ new Map();
|
|
24037
24117
|
var runtimePresence = /* @__PURE__ */ new Map();
|
|
24038
24118
|
var tasks = /* @__PURE__ */ new Map();
|
|
@@ -24046,6 +24126,9 @@ var taskReadyRegistry = new TaskReadyRegistry(
|
|
|
24046
24126
|
);
|
|
24047
24127
|
var taskTemplateCache = /* @__PURE__ */ new Map();
|
|
24048
24128
|
var taskTemplateIndexCache = null;
|
|
24129
|
+
var stepWatchdogs = new StepWatchdogRegistry((entry) => {
|
|
24130
|
+
handleStepTimeout(entry);
|
|
24131
|
+
});
|
|
24049
24132
|
var RELAY_PROJECT_ROOT = process.env.CHROMEAGENT_RELAY_PROJECT_ROOT ? path3.resolve(process.env.CHROMEAGENT_RELAY_PROJECT_ROOT) : path3.resolve(path3.dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
24050
24133
|
app.use((req, res, next) => {
|
|
24051
24134
|
res.header("Access-Control-Allow-Origin", "*");
|
|
@@ -24070,6 +24153,17 @@ function createRelayError(message, code = ERROR_CODES.ERR_INVALID_TASK, status =
|
|
|
24070
24153
|
error.status = status;
|
|
24071
24154
|
return error;
|
|
24072
24155
|
}
|
|
24156
|
+
function resolveStepWatchdogTimeoutMs(step) {
|
|
24157
|
+
const explicitTimeoutMs = Number(step?.args?.timeoutMs);
|
|
24158
|
+
if (Number.isFinite(explicitTimeoutMs) && explicitTimeoutMs > 0) {
|
|
24159
|
+
return explicitTimeoutMs;
|
|
24160
|
+
}
|
|
24161
|
+
const defaultTimeoutMs = step.tool ? STEP_WATCHDOG_DEFAULT_TIMEOUTS[step.tool] : void 0;
|
|
24162
|
+
if (typeof defaultTimeoutMs === "number" && defaultTimeoutMs > 0) {
|
|
24163
|
+
return defaultTimeoutMs;
|
|
24164
|
+
}
|
|
24165
|
+
return STEP_WATCHDOG_FALLBACK_TIMEOUT_MS;
|
|
24166
|
+
}
|
|
24073
24167
|
function registerRuntimeConnection(clientId, res) {
|
|
24074
24168
|
const existing = runtimeConnections.get(clientId);
|
|
24075
24169
|
if (existing && existing.res !== res) {
|
|
@@ -24587,7 +24681,8 @@ async function startNextBatchItem(batchJobId) {
|
|
|
24587
24681
|
message: error?.message || "Runtime not available"
|
|
24588
24682
|
};
|
|
24589
24683
|
updateTaskStatusView(task);
|
|
24590
|
-
|
|
24684
|
+
console.error(`Batch task ${task.taskId} failed:`, error);
|
|
24685
|
+
await handleBatchTaskTerminal(task.taskId, "failed", task.lastError);
|
|
24591
24686
|
}
|
|
24592
24687
|
}
|
|
24593
24688
|
async function handleBatchTaskTerminal(taskId, status, lastError) {
|
|
@@ -24659,7 +24754,7 @@ async function registerAndDispatchTask(task) {
|
|
|
24659
24754
|
message: error?.message || "Runtime not available"
|
|
24660
24755
|
};
|
|
24661
24756
|
updateTaskStatusView(task);
|
|
24662
|
-
|
|
24757
|
+
console.error(`Task ${task.taskId} failed:`, error);
|
|
24663
24758
|
}
|
|
24664
24759
|
return task;
|
|
24665
24760
|
}
|
|
@@ -24687,6 +24782,9 @@ async function handleRuntimeMessage(msg) {
|
|
|
24687
24782
|
case "node.status":
|
|
24688
24783
|
handleNodeStatus(msg);
|
|
24689
24784
|
break;
|
|
24785
|
+
case "step.progress":
|
|
24786
|
+
handleStepProgress(msg);
|
|
24787
|
+
break;
|
|
24690
24788
|
case "capture.started":
|
|
24691
24789
|
handleCaptureStarted(msg);
|
|
24692
24790
|
break;
|
|
@@ -24739,6 +24837,24 @@ function handleNodeStarted(msg) {
|
|
|
24739
24837
|
if (!task) {
|
|
24740
24838
|
return;
|
|
24741
24839
|
}
|
|
24840
|
+
const existingWatchdog = stepWatchdogs.get(payload.taskId);
|
|
24841
|
+
if (!existingWatchdog || existingWatchdog.stepId !== payload.nodeId) {
|
|
24842
|
+
const orchestrator = orchestrators.get(payload.taskId);
|
|
24843
|
+
const step = orchestrator ? resolveCurrentTaskExecutionStep(task, orchestrator) : null;
|
|
24844
|
+
if (step && step.nodeId === payload.nodeId) {
|
|
24845
|
+
const timeoutMs = resolveStepWatchdogTimeoutMs(step);
|
|
24846
|
+
if (typeof timeoutMs === "number") {
|
|
24847
|
+
stepWatchdogs.start({
|
|
24848
|
+
taskId: payload.taskId,
|
|
24849
|
+
stepId: payload.nodeId,
|
|
24850
|
+
tool: payload.tool,
|
|
24851
|
+
timeoutMs,
|
|
24852
|
+
startedAt: payload.updatedAt,
|
|
24853
|
+
lastProgressAt: payload.updatedAt
|
|
24854
|
+
});
|
|
24855
|
+
}
|
|
24856
|
+
}
|
|
24857
|
+
}
|
|
24742
24858
|
task.currentNodeId = payload.nodeId;
|
|
24743
24859
|
task.updatedAt = payload.updatedAt || (/* @__PURE__ */ new Date()).toISOString();
|
|
24744
24860
|
updateTaskNodeProcessView(task, {
|
|
@@ -24771,6 +24887,23 @@ function handleNodeStatus(msg) {
|
|
|
24771
24887
|
message: payload.message
|
|
24772
24888
|
});
|
|
24773
24889
|
}
|
|
24890
|
+
function handleStepProgress(msg) {
|
|
24891
|
+
const payload = msg.payload;
|
|
24892
|
+
const task = tasks.get(payload.taskId);
|
|
24893
|
+
if (!task) {
|
|
24894
|
+
return;
|
|
24895
|
+
}
|
|
24896
|
+
stepWatchdogs.progress(payload);
|
|
24897
|
+
task.currentNodeId = payload.stepId;
|
|
24898
|
+
task.updatedAt = payload.updatedAt || (/* @__PURE__ */ new Date()).toISOString();
|
|
24899
|
+
if (typeof payload.details?.tabId === "number") {
|
|
24900
|
+
task.currentTabId = payload.details.tabId;
|
|
24901
|
+
}
|
|
24902
|
+
if (typeof payload.details?.pageState === "string" && payload.details.pageState.length > 0) {
|
|
24903
|
+
task.currentPageId = payload.details.pageState;
|
|
24904
|
+
}
|
|
24905
|
+
applyStepProgressToTask(task, payload);
|
|
24906
|
+
}
|
|
24774
24907
|
function handleNodeResult(msg) {
|
|
24775
24908
|
const rawResult = msg.payload;
|
|
24776
24909
|
logRelayFlow("Received node result", {
|
|
@@ -24800,10 +24933,12 @@ function handleNodeResult(msg) {
|
|
|
24800
24933
|
}
|
|
24801
24934
|
const resolvedTask = task;
|
|
24802
24935
|
const resolvedOrchestrator = orchestrator;
|
|
24936
|
+
stepWatchdogs.clear(rawResult.taskId, rawResult.nodeId);
|
|
24803
24937
|
const appliedResult = applyTaskExecutionResult(resolvedTask, resolvedOrchestrator, rawResult);
|
|
24938
|
+
const executionStatus = resolvedTask.payload?.nodeResults?.[rawResult.nodeId]?.status;
|
|
24804
24939
|
updateTaskStatusView(resolvedTask, {
|
|
24805
|
-
currentNodeId: rawResult.nodeId,
|
|
24806
|
-
currentNodeStatus: appliedResult.persistedNodeResult.ok ? "succeeded" : "failed"
|
|
24940
|
+
currentNodeId: executionStatus === "skipped" ? void 0 : rawResult.nodeId,
|
|
24941
|
+
currentNodeStatus: executionStatus === "skipped" ? "skipped" : appliedResult.persistedNodeResult.ok ? "succeeded" : "failed"
|
|
24807
24942
|
});
|
|
24808
24943
|
if (appliedResult.shouldContinue) {
|
|
24809
24944
|
continueOrchestrator(rawResult.taskId, rawResult.nodeId, appliedResult.nextStepIndex ?? void 0);
|
|
@@ -24836,7 +24971,11 @@ function handleTaskStatus(msg) {
|
|
|
24836
24971
|
task.lastTriggeredNavigation = status.lastTriggeredNavigation ?? task.lastTriggeredNavigation;
|
|
24837
24972
|
task.browsingContexts = Array.isArray(status.browsingContexts) ? status.browsingContexts : task.browsingContexts;
|
|
24838
24973
|
task.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
24839
|
-
task.statusView = status.statusView
|
|
24974
|
+
task.statusView = status.statusView ? {
|
|
24975
|
+
...status.statusView,
|
|
24976
|
+
lastProgressAt: status.statusView.lastProgressAt ?? task.statusView?.lastProgressAt,
|
|
24977
|
+
lastProgress: status.statusView.lastProgress ?? task.statusView?.lastProgress ?? null
|
|
24978
|
+
} : task.statusView;
|
|
24840
24979
|
if (!task.statusView) {
|
|
24841
24980
|
updateTaskStatusView(task, {
|
|
24842
24981
|
currentNodeId: status.currentNodeId
|
|
@@ -24845,15 +24984,18 @@ function handleTaskStatus(msg) {
|
|
|
24845
24984
|
if (status.status === "queued") {
|
|
24846
24985
|
resolveTaskReady(status.taskId);
|
|
24847
24986
|
} else if (status.status === "failed") {
|
|
24987
|
+
stepWatchdogs.clear(status.taskId);
|
|
24848
24988
|
rejectTaskReady(status.taskId, task.lastError || createRelayError("Task failed before ready", ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE, 503));
|
|
24849
24989
|
orchestrators.delete(status.taskId);
|
|
24850
24990
|
notifyRuntimeTaskFinalized(task, "failed");
|
|
24851
24991
|
void handleBatchTaskTerminal(status.taskId, "failed", task.lastError);
|
|
24852
24992
|
} else if (status.status === "completed") {
|
|
24993
|
+
stepWatchdogs.clear(status.taskId);
|
|
24853
24994
|
rejectTaskReady(status.taskId, createRelayError("Task completed before orchestrator start", ERROR_CODES.ERR_TASK_TIMEOUT, 500));
|
|
24854
24995
|
notifyRuntimeTaskFinalized(task, "completed");
|
|
24855
24996
|
void handleBatchTaskTerminal(status.taskId, "completed", null);
|
|
24856
24997
|
} else if (status.status === "cancelled") {
|
|
24998
|
+
stepWatchdogs.clear(status.taskId);
|
|
24857
24999
|
rejectTaskReady(status.taskId, createRelayError("Task cancelled before completion", ERROR_CODES.ERR_TASK_TIMEOUT, 499));
|
|
24858
25000
|
orchestrators.delete(status.taskId);
|
|
24859
25001
|
notifyRuntimeTaskFinalized(task, "cancelled");
|
|
@@ -25481,16 +25623,6 @@ app.get("/api/file/content/:fileId", async (req, res) => {
|
|
|
25481
25623
|
res.status(500).json({ ok: false, error: { code: ERROR_CODES.ERR_FILE_PREPARE_FAILED, message: err.message } });
|
|
25482
25624
|
}
|
|
25483
25625
|
});
|
|
25484
|
-
app.post("/api/debug/snapshot", async (req, res) => {
|
|
25485
|
-
try {
|
|
25486
|
-
const { taskId } = req.body;
|
|
25487
|
-
const task = tasks.get(taskId);
|
|
25488
|
-
const snapshot = await cdpController.snapshot();
|
|
25489
|
-
res.json({ ok: true, task, snapshot });
|
|
25490
|
-
} catch (err) {
|
|
25491
|
-
res.status(500).json({ ok: false, error: { code: ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE, message: err.message } });
|
|
25492
|
-
}
|
|
25493
|
-
});
|
|
25494
25626
|
app.get("/health", (req, res) => {
|
|
25495
25627
|
res.json({ status: "ok", runtimes: runtimeConnections.size, tasks: tasks.size });
|
|
25496
25628
|
});
|
|
@@ -25511,6 +25643,60 @@ function startOrchestrator(taskId) {
|
|
|
25511
25643
|
orchestrators.set(taskId, orchestrator);
|
|
25512
25644
|
void sendNextStep(taskId);
|
|
25513
25645
|
}
|
|
25646
|
+
function handleStepTimeout(entry) {
|
|
25647
|
+
const task = tasks.get(entry.taskId);
|
|
25648
|
+
const orchestrator = orchestrators.get(entry.taskId);
|
|
25649
|
+
if (!task || !orchestrator) {
|
|
25650
|
+
return;
|
|
25651
|
+
}
|
|
25652
|
+
const currentStep = resolveCurrentTaskExecutionStep(task, orchestrator);
|
|
25653
|
+
if (!currentStep || currentStep.nodeId !== entry.stepId) {
|
|
25654
|
+
return;
|
|
25655
|
+
}
|
|
25656
|
+
const diagnosticReason = entry.lastProgress ? entry.lastProgress.phase === "wait_for_login" ? "waiting_login_stalled" : "progress_stalled" : "no_progress_reported";
|
|
25657
|
+
const timeoutResult = {
|
|
25658
|
+
type: "node.result",
|
|
25659
|
+
taskId: entry.taskId,
|
|
25660
|
+
nodeId: entry.stepId,
|
|
25661
|
+
tool: entry.tool || currentStep.tool,
|
|
25662
|
+
ok: false,
|
|
25663
|
+
status: "failed",
|
|
25664
|
+
observation: {
|
|
25665
|
+
error: `Step timed out after ${entry.timeoutMs}ms without progress`,
|
|
25666
|
+
code: ERROR_CODES.ERR_STEP_TIMEOUT,
|
|
25667
|
+
executor: "relay_watchdog"
|
|
25668
|
+
},
|
|
25669
|
+
error: {
|
|
25670
|
+
code: ERROR_CODES.ERR_STEP_TIMEOUT,
|
|
25671
|
+
message: `Step timed out after ${entry.timeoutMs}ms without progress`,
|
|
25672
|
+
details: {
|
|
25673
|
+
timeoutAt: entry.deadlineAt,
|
|
25674
|
+
startedAt: entry.startedAt,
|
|
25675
|
+
lastProgressAt: entry.lastProgressAt,
|
|
25676
|
+
timeoutMs: entry.timeoutMs,
|
|
25677
|
+
tool: entry.tool || currentStep.tool,
|
|
25678
|
+
stepId: entry.stepId,
|
|
25679
|
+
currentTabId: task.currentTabId ?? null,
|
|
25680
|
+
currentPageState: task.statusView?.lastProgress?.pageState ?? task.currentPageId ?? null,
|
|
25681
|
+
diagnosticReason,
|
|
25682
|
+
lastProgress: entry.lastProgress ?? null
|
|
25683
|
+
}
|
|
25684
|
+
},
|
|
25685
|
+
timestamp: Date.now()
|
|
25686
|
+
};
|
|
25687
|
+
logRelayFlow("Step watchdog timed out", {
|
|
25688
|
+
taskId: entry.taskId,
|
|
25689
|
+
stepId: entry.stepId,
|
|
25690
|
+
timeoutMs: entry.timeoutMs,
|
|
25691
|
+
diagnosticReason
|
|
25692
|
+
});
|
|
25693
|
+
handleNodeResult({
|
|
25694
|
+
type: "node.result",
|
|
25695
|
+
requestId: null,
|
|
25696
|
+
timestamp: Date.now(),
|
|
25697
|
+
payload: timeoutResult
|
|
25698
|
+
});
|
|
25699
|
+
}
|
|
25514
25700
|
async function sendNextStep(taskId) {
|
|
25515
25701
|
console.log(`[Relay] sendNextStep \u88AB\u8C03\u7528: ${taskId}`);
|
|
25516
25702
|
const task = tasks.get(taskId);
|
|
@@ -25530,6 +25716,7 @@ async function sendNextStep(taskId) {
|
|
|
25530
25716
|
}
|
|
25531
25717
|
console.log(`[Relay] \u5F53\u524D\u8282\u70B9\u7D22\u5F15: ${orch.currentStepIndex}, \u603B\u8282\u70B9\u6570: ${executionLength}`);
|
|
25532
25718
|
if (orch.currentStepIndex >= executionLength) {
|
|
25719
|
+
stepWatchdogs.clear(taskId);
|
|
25533
25720
|
task.status = "completed";
|
|
25534
25721
|
task.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
25535
25722
|
updateTaskStatusView(task, {
|
|
@@ -25543,6 +25730,7 @@ async function sendNextStep(taskId) {
|
|
|
25543
25730
|
}
|
|
25544
25731
|
const step = markTaskExecutionDispatch(task, orch);
|
|
25545
25732
|
if (!step) {
|
|
25733
|
+
stepWatchdogs.clear(taskId);
|
|
25546
25734
|
task.status = "failed";
|
|
25547
25735
|
task.lastError = {
|
|
25548
25736
|
code: ERROR_CODES.ERR_INVALID_TASK,
|
|
@@ -25570,6 +25758,7 @@ async function sendNextStep(taskId) {
|
|
|
25570
25758
|
try {
|
|
25571
25759
|
targetRuntimeId = requireTaskRuntimeId(task);
|
|
25572
25760
|
} catch (error) {
|
|
25761
|
+
stepWatchdogs.clear(taskId);
|
|
25573
25762
|
task.status = "failed";
|
|
25574
25763
|
task.lastError = {
|
|
25575
25764
|
code: error?.code || ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE,
|
|
@@ -25585,6 +25774,7 @@ async function sendNextStep(taskId) {
|
|
|
25585
25774
|
}
|
|
25586
25775
|
const sent = await sendToClientWithGracePeriod(targetRuntimeId, stepMessage);
|
|
25587
25776
|
if (!sent) {
|
|
25777
|
+
stepWatchdogs.clear(taskId);
|
|
25588
25778
|
task.status = "failed";
|
|
25589
25779
|
task.lastError = {
|
|
25590
25780
|
code: ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE,
|
|
@@ -25598,6 +25788,18 @@ async function sendNextStep(taskId) {
|
|
|
25598
25788
|
void handleBatchTaskTerminal(taskId, "failed", task.lastError);
|
|
25599
25789
|
return;
|
|
25600
25790
|
}
|
|
25791
|
+
const watchdogTimeoutMs = resolveStepWatchdogTimeoutMs(step);
|
|
25792
|
+
if (typeof watchdogTimeoutMs === "number") {
|
|
25793
|
+
const startedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
25794
|
+
stepWatchdogs.start({
|
|
25795
|
+
taskId,
|
|
25796
|
+
stepId: step.nodeId,
|
|
25797
|
+
tool: step.tool,
|
|
25798
|
+
timeoutMs: watchdogTimeoutMs,
|
|
25799
|
+
startedAt,
|
|
25800
|
+
lastProgressAt: startedAt
|
|
25801
|
+
});
|
|
25802
|
+
}
|
|
25601
25803
|
console.log(`[Relay] Sent node ${orch.currentStepIndex + 1}/${executionLength} for task ${taskId}`);
|
|
25602
25804
|
}
|
|
25603
25805
|
function continueOrchestrator(taskId, completedNodeId, nextStepIndex) {
|
|
@@ -3,8 +3,5 @@
|
|
|
3
3
|
"private": true,
|
|
4
4
|
"type": "module",
|
|
5
5
|
"version": "1.0.0",
|
|
6
|
-
"description": "Bundled runtime dependencies for the oc-browser-relay OpenClaw plugin."
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"playwright-core": "^1.58.2"
|
|
9
|
-
}
|
|
6
|
+
"description": "Bundled runtime dependencies for the oc-browser-relay OpenClaw plugin."
|
|
10
7
|
}
|
|
@@ -95,6 +95,59 @@
|
|
|
95
95
|
]
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
|
+
"apiSources": {
|
|
99
|
+
"live_metrics_overview": {
|
|
100
|
+
"method": "GET",
|
|
101
|
+
"urlVariants": [
|
|
102
|
+
{
|
|
103
|
+
"whenPath": "payload.dateType",
|
|
104
|
+
"equals": "today",
|
|
105
|
+
"url": "https://sycm.taobao.com/portal/live/new/index/overview/v3.json"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"default": true,
|
|
109
|
+
"url": "https://sycm.taobao.com/portal/coreIndex/new/overview/v3.json"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"query": {
|
|
113
|
+
"needCycleCrc": "true",
|
|
114
|
+
"dateType": "{{payload.dateType}}",
|
|
115
|
+
"dateRange": "{{payload.dateRange}}",
|
|
116
|
+
"_": "{{runtime.timestamp}}",
|
|
117
|
+
"token": "{{session.token}}"
|
|
118
|
+
},
|
|
119
|
+
"headers": {
|
|
120
|
+
"sycm-referer": "/portal/home.htm"
|
|
121
|
+
},
|
|
122
|
+
"responsePath": "content.data.data",
|
|
123
|
+
"metaPath": "content.data"
|
|
124
|
+
},
|
|
125
|
+
"live_metrics_trend": {
|
|
126
|
+
"method": "GET",
|
|
127
|
+
"urlVariants": [
|
|
128
|
+
{
|
|
129
|
+
"whenPath": "payload.dateType",
|
|
130
|
+
"equals": "today",
|
|
131
|
+
"url": "https://sycm.taobao.com/portal/live/new/index/trend/v3.json"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"default": true,
|
|
135
|
+
"url": "https://sycm.taobao.com/portal/coreIndex/new/trend/v3.json"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"query": {
|
|
139
|
+
"dateType": "{{payload.dateType}}",
|
|
140
|
+
"dateRange": "{{payload.dateRange}}",
|
|
141
|
+
"_": "{{runtime.timestamp}}",
|
|
142
|
+
"token": "{{session.token}}"
|
|
143
|
+
},
|
|
144
|
+
"headers": {
|
|
145
|
+
"sycm-referer": "/portal/home.htm"
|
|
146
|
+
},
|
|
147
|
+
"responsePath": "content.data.data",
|
|
148
|
+
"metaPath": "content.data"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
98
151
|
"crawlerHints": {
|
|
99
152
|
"structuredDataExtractors": {
|
|
100
153
|
"live_metrics": {
|
|
@@ -118,6 +171,38 @@
|
|
|
118
171
|
"meta": "sources.live_metrics.meta"
|
|
119
172
|
}
|
|
120
173
|
}
|
|
174
|
+
},
|
|
175
|
+
"live_metrics_direct": {
|
|
176
|
+
"observationSources": [
|
|
177
|
+
{
|
|
178
|
+
"sourceId": "live_overview",
|
|
179
|
+
"nodeIdArg": "overviewNodeId",
|
|
180
|
+
"sourceType": "step_observation",
|
|
181
|
+
"observationPath": "$self"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"sourceId": "live_trend",
|
|
185
|
+
"nodeIdArg": "trendNodeId",
|
|
186
|
+
"sourceType": "step_observation",
|
|
187
|
+
"observationPath": "$self"
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
"outputSchema": {
|
|
191
|
+
"root": {
|
|
192
|
+
"overview": "sources.live_overview.response.data",
|
|
193
|
+
"trend": "sources.live_trend.response.data",
|
|
194
|
+
"capturedAt": "sources.live_overview.invokedAt",
|
|
195
|
+
"meta": {
|
|
196
|
+
"overviewUrl": "sources.live_overview.response.url",
|
|
197
|
+
"trendUrl": "sources.live_trend.response.url",
|
|
198
|
+
"overviewStatus": "sources.live_overview.response.status",
|
|
199
|
+
"trendStatus": "sources.live_trend.response.status",
|
|
200
|
+
"interval": "sources.live_overview.response.meta.interval",
|
|
201
|
+
"timestamp": "sources.live_overview.response.meta.timestamp",
|
|
202
|
+
"updateTime": "sources.live_overview.response.meta.updateTime"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
121
206
|
}
|
|
122
207
|
}
|
|
123
208
|
}
|
|
@@ -35,20 +35,20 @@
|
|
|
35
35
|
"scrollIntoView": true,
|
|
36
36
|
"requireVisible": true,
|
|
37
37
|
"preHover": true,
|
|
38
|
-
"hoverDurationMsRange": [
|
|
39
|
-
"preClickPauseMsRange": [
|
|
38
|
+
"hoverDurationMsRange": [70, 180],
|
|
39
|
+
"preClickPauseMsRange": [40, 120]
|
|
40
40
|
},
|
|
41
41
|
"humanBehavior": {
|
|
42
|
-
"cursorMoveSpeedRange": [
|
|
43
|
-
"cursorStepDelayMsRange": [
|
|
44
|
-
"cursorVisibleDurationMsRange": [
|
|
45
|
-
"minCursorStepCount":
|
|
46
|
-
"mouseDownUpDelayMsRange": [
|
|
47
|
-
"postClickPauseMsRange": [
|
|
42
|
+
"cursorMoveSpeedRange": [110, 180],
|
|
43
|
+
"cursorStepDelayMsRange": [3, 7],
|
|
44
|
+
"cursorVisibleDurationMsRange": [120, 220],
|
|
45
|
+
"minCursorStepCount": 9,
|
|
46
|
+
"mouseDownUpDelayMsRange": [30, 80],
|
|
47
|
+
"postClickPauseMsRange": [40, 120]
|
|
48
48
|
},
|
|
49
49
|
"actionPausePolicy": {
|
|
50
|
-
"minPauseMs":
|
|
51
|
-
"maxPauseMs":
|
|
50
|
+
"minPauseMs": 120,
|
|
51
|
+
"maxPauseMs": 560
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"actions": {
|