oc-browser-relay 1.0.3 → 1.0.4
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 +260 -59
- 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) {
|
|
@@ -24687,6 +24781,9 @@ async function handleRuntimeMessage(msg) {
|
|
|
24687
24781
|
case "node.status":
|
|
24688
24782
|
handleNodeStatus(msg);
|
|
24689
24783
|
break;
|
|
24784
|
+
case "step.progress":
|
|
24785
|
+
handleStepProgress(msg);
|
|
24786
|
+
break;
|
|
24690
24787
|
case "capture.started":
|
|
24691
24788
|
handleCaptureStarted(msg);
|
|
24692
24789
|
break;
|
|
@@ -24739,6 +24836,24 @@ function handleNodeStarted(msg) {
|
|
|
24739
24836
|
if (!task) {
|
|
24740
24837
|
return;
|
|
24741
24838
|
}
|
|
24839
|
+
const existingWatchdog = stepWatchdogs.get(payload.taskId);
|
|
24840
|
+
if (!existingWatchdog || existingWatchdog.stepId !== payload.nodeId) {
|
|
24841
|
+
const orchestrator = orchestrators.get(payload.taskId);
|
|
24842
|
+
const step = orchestrator ? resolveCurrentTaskExecutionStep(task, orchestrator) : null;
|
|
24843
|
+
if (step && step.nodeId === payload.nodeId) {
|
|
24844
|
+
const timeoutMs = resolveStepWatchdogTimeoutMs(step);
|
|
24845
|
+
if (typeof timeoutMs === "number") {
|
|
24846
|
+
stepWatchdogs.start({
|
|
24847
|
+
taskId: payload.taskId,
|
|
24848
|
+
stepId: payload.nodeId,
|
|
24849
|
+
tool: payload.tool,
|
|
24850
|
+
timeoutMs,
|
|
24851
|
+
startedAt: payload.updatedAt,
|
|
24852
|
+
lastProgressAt: payload.updatedAt
|
|
24853
|
+
});
|
|
24854
|
+
}
|
|
24855
|
+
}
|
|
24856
|
+
}
|
|
24742
24857
|
task.currentNodeId = payload.nodeId;
|
|
24743
24858
|
task.updatedAt = payload.updatedAt || (/* @__PURE__ */ new Date()).toISOString();
|
|
24744
24859
|
updateTaskNodeProcessView(task, {
|
|
@@ -24771,6 +24886,23 @@ function handleNodeStatus(msg) {
|
|
|
24771
24886
|
message: payload.message
|
|
24772
24887
|
});
|
|
24773
24888
|
}
|
|
24889
|
+
function handleStepProgress(msg) {
|
|
24890
|
+
const payload = msg.payload;
|
|
24891
|
+
const task = tasks.get(payload.taskId);
|
|
24892
|
+
if (!task) {
|
|
24893
|
+
return;
|
|
24894
|
+
}
|
|
24895
|
+
stepWatchdogs.progress(payload);
|
|
24896
|
+
task.currentNodeId = payload.stepId;
|
|
24897
|
+
task.updatedAt = payload.updatedAt || (/* @__PURE__ */ new Date()).toISOString();
|
|
24898
|
+
if (typeof payload.details?.tabId === "number") {
|
|
24899
|
+
task.currentTabId = payload.details.tabId;
|
|
24900
|
+
}
|
|
24901
|
+
if (typeof payload.details?.pageState === "string" && payload.details.pageState.length > 0) {
|
|
24902
|
+
task.currentPageId = payload.details.pageState;
|
|
24903
|
+
}
|
|
24904
|
+
applyStepProgressToTask(task, payload);
|
|
24905
|
+
}
|
|
24774
24906
|
function handleNodeResult(msg) {
|
|
24775
24907
|
const rawResult = msg.payload;
|
|
24776
24908
|
logRelayFlow("Received node result", {
|
|
@@ -24800,10 +24932,12 @@ function handleNodeResult(msg) {
|
|
|
24800
24932
|
}
|
|
24801
24933
|
const resolvedTask = task;
|
|
24802
24934
|
const resolvedOrchestrator = orchestrator;
|
|
24935
|
+
stepWatchdogs.clear(rawResult.taskId, rawResult.nodeId);
|
|
24803
24936
|
const appliedResult = applyTaskExecutionResult(resolvedTask, resolvedOrchestrator, rawResult);
|
|
24937
|
+
const executionStatus = resolvedTask.payload?.nodeResults?.[rawResult.nodeId]?.status;
|
|
24804
24938
|
updateTaskStatusView(resolvedTask, {
|
|
24805
|
-
currentNodeId: rawResult.nodeId,
|
|
24806
|
-
currentNodeStatus: appliedResult.persistedNodeResult.ok ? "succeeded" : "failed"
|
|
24939
|
+
currentNodeId: executionStatus === "skipped" ? void 0 : rawResult.nodeId,
|
|
24940
|
+
currentNodeStatus: executionStatus === "skipped" ? "skipped" : appliedResult.persistedNodeResult.ok ? "succeeded" : "failed"
|
|
24807
24941
|
});
|
|
24808
24942
|
if (appliedResult.shouldContinue) {
|
|
24809
24943
|
continueOrchestrator(rawResult.taskId, rawResult.nodeId, appliedResult.nextStepIndex ?? void 0);
|
|
@@ -24836,7 +24970,11 @@ function handleTaskStatus(msg) {
|
|
|
24836
24970
|
task.lastTriggeredNavigation = status.lastTriggeredNavigation ?? task.lastTriggeredNavigation;
|
|
24837
24971
|
task.browsingContexts = Array.isArray(status.browsingContexts) ? status.browsingContexts : task.browsingContexts;
|
|
24838
24972
|
task.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
24839
|
-
task.statusView = status.statusView
|
|
24973
|
+
task.statusView = status.statusView ? {
|
|
24974
|
+
...status.statusView,
|
|
24975
|
+
lastProgressAt: status.statusView.lastProgressAt ?? task.statusView?.lastProgressAt,
|
|
24976
|
+
lastProgress: status.statusView.lastProgress ?? task.statusView?.lastProgress ?? null
|
|
24977
|
+
} : task.statusView;
|
|
24840
24978
|
if (!task.statusView) {
|
|
24841
24979
|
updateTaskStatusView(task, {
|
|
24842
24980
|
currentNodeId: status.currentNodeId
|
|
@@ -24845,15 +24983,18 @@ function handleTaskStatus(msg) {
|
|
|
24845
24983
|
if (status.status === "queued") {
|
|
24846
24984
|
resolveTaskReady(status.taskId);
|
|
24847
24985
|
} else if (status.status === "failed") {
|
|
24986
|
+
stepWatchdogs.clear(status.taskId);
|
|
24848
24987
|
rejectTaskReady(status.taskId, task.lastError || createRelayError("Task failed before ready", ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE, 503));
|
|
24849
24988
|
orchestrators.delete(status.taskId);
|
|
24850
24989
|
notifyRuntimeTaskFinalized(task, "failed");
|
|
24851
24990
|
void handleBatchTaskTerminal(status.taskId, "failed", task.lastError);
|
|
24852
24991
|
} else if (status.status === "completed") {
|
|
24992
|
+
stepWatchdogs.clear(status.taskId);
|
|
24853
24993
|
rejectTaskReady(status.taskId, createRelayError("Task completed before orchestrator start", ERROR_CODES.ERR_TASK_TIMEOUT, 500));
|
|
24854
24994
|
notifyRuntimeTaskFinalized(task, "completed");
|
|
24855
24995
|
void handleBatchTaskTerminal(status.taskId, "completed", null);
|
|
24856
24996
|
} else if (status.status === "cancelled") {
|
|
24997
|
+
stepWatchdogs.clear(status.taskId);
|
|
24857
24998
|
rejectTaskReady(status.taskId, createRelayError("Task cancelled before completion", ERROR_CODES.ERR_TASK_TIMEOUT, 499));
|
|
24858
24999
|
orchestrators.delete(status.taskId);
|
|
24859
25000
|
notifyRuntimeTaskFinalized(task, "cancelled");
|
|
@@ -25481,16 +25622,6 @@ app.get("/api/file/content/:fileId", async (req, res) => {
|
|
|
25481
25622
|
res.status(500).json({ ok: false, error: { code: ERROR_CODES.ERR_FILE_PREPARE_FAILED, message: err.message } });
|
|
25482
25623
|
}
|
|
25483
25624
|
});
|
|
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
25625
|
app.get("/health", (req, res) => {
|
|
25495
25626
|
res.json({ status: "ok", runtimes: runtimeConnections.size, tasks: tasks.size });
|
|
25496
25627
|
});
|
|
@@ -25511,6 +25642,60 @@ function startOrchestrator(taskId) {
|
|
|
25511
25642
|
orchestrators.set(taskId, orchestrator);
|
|
25512
25643
|
void sendNextStep(taskId);
|
|
25513
25644
|
}
|
|
25645
|
+
function handleStepTimeout(entry) {
|
|
25646
|
+
const task = tasks.get(entry.taskId);
|
|
25647
|
+
const orchestrator = orchestrators.get(entry.taskId);
|
|
25648
|
+
if (!task || !orchestrator) {
|
|
25649
|
+
return;
|
|
25650
|
+
}
|
|
25651
|
+
const currentStep = resolveCurrentTaskExecutionStep(task, orchestrator);
|
|
25652
|
+
if (!currentStep || currentStep.nodeId !== entry.stepId) {
|
|
25653
|
+
return;
|
|
25654
|
+
}
|
|
25655
|
+
const diagnosticReason = entry.lastProgress ? entry.lastProgress.phase === "wait_for_login" ? "waiting_login_stalled" : "progress_stalled" : "no_progress_reported";
|
|
25656
|
+
const timeoutResult = {
|
|
25657
|
+
type: "node.result",
|
|
25658
|
+
taskId: entry.taskId,
|
|
25659
|
+
nodeId: entry.stepId,
|
|
25660
|
+
tool: entry.tool || currentStep.tool,
|
|
25661
|
+
ok: false,
|
|
25662
|
+
status: "failed",
|
|
25663
|
+
observation: {
|
|
25664
|
+
error: `Step timed out after ${entry.timeoutMs}ms without progress`,
|
|
25665
|
+
code: ERROR_CODES.ERR_STEP_TIMEOUT,
|
|
25666
|
+
executor: "relay_watchdog"
|
|
25667
|
+
},
|
|
25668
|
+
error: {
|
|
25669
|
+
code: ERROR_CODES.ERR_STEP_TIMEOUT,
|
|
25670
|
+
message: `Step timed out after ${entry.timeoutMs}ms without progress`,
|
|
25671
|
+
details: {
|
|
25672
|
+
timeoutAt: entry.deadlineAt,
|
|
25673
|
+
startedAt: entry.startedAt,
|
|
25674
|
+
lastProgressAt: entry.lastProgressAt,
|
|
25675
|
+
timeoutMs: entry.timeoutMs,
|
|
25676
|
+
tool: entry.tool || currentStep.tool,
|
|
25677
|
+
stepId: entry.stepId,
|
|
25678
|
+
currentTabId: task.currentTabId ?? null,
|
|
25679
|
+
currentPageState: task.statusView?.lastProgress?.pageState ?? task.currentPageId ?? null,
|
|
25680
|
+
diagnosticReason,
|
|
25681
|
+
lastProgress: entry.lastProgress ?? null
|
|
25682
|
+
}
|
|
25683
|
+
},
|
|
25684
|
+
timestamp: Date.now()
|
|
25685
|
+
};
|
|
25686
|
+
logRelayFlow("Step watchdog timed out", {
|
|
25687
|
+
taskId: entry.taskId,
|
|
25688
|
+
stepId: entry.stepId,
|
|
25689
|
+
timeoutMs: entry.timeoutMs,
|
|
25690
|
+
diagnosticReason
|
|
25691
|
+
});
|
|
25692
|
+
handleNodeResult({
|
|
25693
|
+
type: "node.result",
|
|
25694
|
+
requestId: null,
|
|
25695
|
+
timestamp: Date.now(),
|
|
25696
|
+
payload: timeoutResult
|
|
25697
|
+
});
|
|
25698
|
+
}
|
|
25514
25699
|
async function sendNextStep(taskId) {
|
|
25515
25700
|
console.log(`[Relay] sendNextStep \u88AB\u8C03\u7528: ${taskId}`);
|
|
25516
25701
|
const task = tasks.get(taskId);
|
|
@@ -25530,6 +25715,7 @@ async function sendNextStep(taskId) {
|
|
|
25530
25715
|
}
|
|
25531
25716
|
console.log(`[Relay] \u5F53\u524D\u8282\u70B9\u7D22\u5F15: ${orch.currentStepIndex}, \u603B\u8282\u70B9\u6570: ${executionLength}`);
|
|
25532
25717
|
if (orch.currentStepIndex >= executionLength) {
|
|
25718
|
+
stepWatchdogs.clear(taskId);
|
|
25533
25719
|
task.status = "completed";
|
|
25534
25720
|
task.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
25535
25721
|
updateTaskStatusView(task, {
|
|
@@ -25543,6 +25729,7 @@ async function sendNextStep(taskId) {
|
|
|
25543
25729
|
}
|
|
25544
25730
|
const step = markTaskExecutionDispatch(task, orch);
|
|
25545
25731
|
if (!step) {
|
|
25732
|
+
stepWatchdogs.clear(taskId);
|
|
25546
25733
|
task.status = "failed";
|
|
25547
25734
|
task.lastError = {
|
|
25548
25735
|
code: ERROR_CODES.ERR_INVALID_TASK,
|
|
@@ -25570,6 +25757,7 @@ async function sendNextStep(taskId) {
|
|
|
25570
25757
|
try {
|
|
25571
25758
|
targetRuntimeId = requireTaskRuntimeId(task);
|
|
25572
25759
|
} catch (error) {
|
|
25760
|
+
stepWatchdogs.clear(taskId);
|
|
25573
25761
|
task.status = "failed";
|
|
25574
25762
|
task.lastError = {
|
|
25575
25763
|
code: error?.code || ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE,
|
|
@@ -25585,6 +25773,7 @@ async function sendNextStep(taskId) {
|
|
|
25585
25773
|
}
|
|
25586
25774
|
const sent = await sendToClientWithGracePeriod(targetRuntimeId, stepMessage);
|
|
25587
25775
|
if (!sent) {
|
|
25776
|
+
stepWatchdogs.clear(taskId);
|
|
25588
25777
|
task.status = "failed";
|
|
25589
25778
|
task.lastError = {
|
|
25590
25779
|
code: ERROR_CODES.ERR_RUNTIME_NOT_AVAILABLE,
|
|
@@ -25598,6 +25787,18 @@ async function sendNextStep(taskId) {
|
|
|
25598
25787
|
void handleBatchTaskTerminal(taskId, "failed", task.lastError);
|
|
25599
25788
|
return;
|
|
25600
25789
|
}
|
|
25790
|
+
const watchdogTimeoutMs = resolveStepWatchdogTimeoutMs(step);
|
|
25791
|
+
if (typeof watchdogTimeoutMs === "number") {
|
|
25792
|
+
const startedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
25793
|
+
stepWatchdogs.start({
|
|
25794
|
+
taskId,
|
|
25795
|
+
stepId: step.nodeId,
|
|
25796
|
+
tool: step.tool,
|
|
25797
|
+
timeoutMs: watchdogTimeoutMs,
|
|
25798
|
+
startedAt,
|
|
25799
|
+
lastProgressAt: startedAt
|
|
25800
|
+
});
|
|
25801
|
+
}
|
|
25601
25802
|
console.log(`[Relay] Sent node ${orch.currentStepIndex + 1}/${executionLength} for task ${taskId}`);
|
|
25602
25803
|
}
|
|
25603
25804
|
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": {
|