@sylix/coworker 1.4.2 → 1.5.2
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/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +86 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/slash/branch.d.ts +3 -0
- package/dist/commands/slash/branch.d.ts.map +1 -0
- package/dist/commands/slash/branch.js +45 -0
- package/dist/commands/slash/branch.js.map +1 -0
- package/dist/commands/slash/config.d.ts.map +1 -1
- package/dist/commands/slash/config.js +43 -0
- package/dist/commands/slash/config.js.map +1 -1
- package/dist/commands/slash/context.d.ts.map +1 -1
- package/dist/commands/slash/context.js +71 -47
- package/dist/commands/slash/context.js.map +1 -1
- package/dist/commands/slash/core.d.ts.map +1 -1
- package/dist/commands/slash/core.js +67 -6
- package/dist/commands/slash/core.js.map +1 -1
- package/dist/commands/slash/files.js +16 -16
- package/dist/commands/slash/registry.d.ts.map +1 -1
- package/dist/commands/slash/registry.js +2 -0
- package/dist/commands/slash/registry.js.map +1 -1
- package/dist/core/CoWorkerAgent.d.ts +3 -21
- package/dist/core/CoWorkerAgent.d.ts.map +1 -1
- package/dist/core/CoWorkerAgent.js +154 -338
- package/dist/core/CoWorkerAgent.js.map +1 -1
- package/dist/core/ContextReader.d.ts +11 -0
- package/dist/core/ContextReader.d.ts.map +1 -0
- package/dist/core/ContextReader.js +126 -0
- package/dist/core/ContextReader.js.map +1 -0
- package/dist/review/CodeReviewEngine.d.ts +2 -2
- package/dist/review/CodeReviewEngine.js +3 -3
- package/dist/review/CodeReviewEngine.js.map +1 -1
- package/dist/services/BrowserService.d.ts +10 -0
- package/dist/services/BrowserService.d.ts.map +1 -0
- package/dist/services/BrowserService.js +81 -0
- package/dist/services/BrowserService.js.map +1 -0
- package/dist/services/browser/browser-manager-pages.test.d.ts +2 -0
- package/dist/services/browser/browser-manager-pages.test.d.ts.map +1 -0
- package/dist/services/browser/browser-manager-pages.test.js +102 -0
- package/dist/services/browser/browser-manager-pages.test.js.map +1 -0
- package/dist/services/browser/browser-manager-title-timeout.test.d.ts +2 -0
- package/dist/services/browser/browser-manager-title-timeout.test.d.ts.map +1 -0
- package/dist/services/browser/browser-manager-title-timeout.test.js +67 -0
- package/dist/services/browser/browser-manager-title-timeout.test.js.map +1 -0
- package/dist/services/browser/browser-manager.d.ts +84 -0
- package/dist/services/browser/browser-manager.d.ts.map +1 -0
- package/dist/services/browser/browser-manager.js +618 -0
- package/dist/services/browser/browser-manager.js.map +1 -0
- package/dist/services/browser/daemon.d.ts +2 -0
- package/dist/services/browser/daemon.d.ts.map +1 -0
- package/dist/services/browser/daemon.js +410 -0
- package/dist/services/browser/daemon.js.map +1 -0
- package/dist/services/browser/local-endpoint.d.ts +10 -0
- package/dist/services/browser/local-endpoint.d.ts.map +1 -0
- package/dist/services/browser/local-endpoint.js +57 -0
- package/dist/services/browser/local-endpoint.js.map +1 -0
- package/dist/services/browser/local-endpoint.test.d.ts +2 -0
- package/dist/services/browser/local-endpoint.test.d.ts.map +1 -0
- package/dist/services/browser/local-endpoint.test.js +27 -0
- package/dist/services/browser/local-endpoint.test.js.map +1 -0
- package/dist/services/browser/lock.d.ts +5 -0
- package/dist/services/browser/lock.d.ts.map +1 -0
- package/dist/services/browser/lock.js +34 -0
- package/dist/services/browser/lock.js.map +1 -0
- package/dist/services/browser/lock.test.d.ts +2 -0
- package/dist/services/browser/lock.test.d.ts.map +1 -0
- package/dist/services/browser/lock.test.js +64 -0
- package/dist/services/browser/lock.test.js.map +1 -0
- package/dist/services/browser/protocol.d.ts +194 -0
- package/dist/services/browser/protocol.d.ts.map +1 -0
- package/dist/services/browser/protocol.js +114 -0
- package/dist/services/browser/protocol.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/auto-connect.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/auto-connect.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/auto-connect.test.js +643 -0
- package/dist/services/browser/sandbox/__tests__/auto-connect.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/bundle-test-helpers.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/bundle-test-helpers.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/bundle-test-helpers.js +15 -0
- package/dist/services/browser/sandbox/__tests__/bundle-test-helpers.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/forked-client-bundle.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/forked-client-bundle.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/forked-client-bundle.test.js +39 -0
- package/dist/services/browser/sandbox/__tests__/forked-client-bundle.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/named-pages.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/named-pages.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/named-pages.test.js +179 -0
- package/dist/services/browser/sandbox/__tests__/named-pages.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/playwright-api.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/playwright-api.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/playwright-api.test.js +641 -0
- package/dist/services/browser/sandbox/__tests__/playwright-api.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/protocol-bridge.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/protocol-bridge.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/protocol-bridge.test.js +46 -0
- package/dist/services/browser/sandbox/__tests__/protocol-bridge.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/quickjs-host.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/quickjs-host.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/quickjs-host.test.js +125 -0
- package/dist/services/browser/sandbox/__tests__/quickjs-host.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-file-io.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-file-io.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-file-io.test.js +207 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-file-io.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-integration.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-integration.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-integration.test.js +110 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-integration.test.js.map +1 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-security.test.d.ts +2 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-security.test.d.ts.map +1 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-security.test.js +137 -0
- package/dist/services/browser/sandbox/__tests__/sandbox-security.test.js.map +1 -0
- package/dist/services/browser/sandbox/bundle.d.ts +2 -0
- package/dist/services/browser/sandbox/bundle.d.ts.map +1 -0
- package/dist/services/browser/sandbox/bundle.js +30 -0
- package/dist/services/browser/sandbox/bundle.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/bundle-entry.d.ts +9 -0
- package/dist/services/browser/sandbox/forked-client/bundle-entry.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/bundle-entry.js +8 -0
- package/dist/services/browser/sandbox/forked-client/bundle-entry.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/quickjs-platform.d.ts +3 -0
- package/dist/services/browser/sandbox/forked-client/quickjs-platform.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/quickjs-platform.js +53 -0
- package/dist/services/browser/sandbox/forked-client/quickjs-platform.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/android.d.ts +16 -0
- package/dist/services/browser/sandbox/forked-client/src/client/android.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/android.js +33 -0
- package/dist/services/browser/sandbox/forked-client/src/client/android.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/api.d.ts +48 -0
- package/dist/services/browser/sandbox/forked-client/src/client/api.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/api.js +90 -0
- package/dist/services/browser/sandbox/forked-client/src/client/api.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/artifact.d.ts +12 -0
- package/dist/services/browser/sandbox/forked-client/src/client/artifact.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/artifact.js +33 -0
- package/dist/services/browser/sandbox/forked-client/src/client/artifact.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browser.d.ts +71 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browser.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browser.js +177 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browser.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserContext.d.ts +152 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserContext.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserContext.js +620 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserContext.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserType.d.ts +55 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserType.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserType.js +122 -0
- package/dist/services/browser/sandbox/forked-client/src/client/browserType.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/cdpSession.d.ts +26 -0
- package/dist/services/browser/sandbox/forked-client/src/client/cdpSession.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/cdpSession.js +49 -0
- package/dist/services/browser/sandbox/forked-client/src/client/cdpSession.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/channelOwner.d.ts +64 -0
- package/dist/services/browser/sandbox/forked-client/src/client/channelOwner.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/channelOwner.js +216 -0
- package/dist/services/browser/sandbox/forked-client/src/client/channelOwner.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientHelper.d.ts +27 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientHelper.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientHelper.js +55 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientHelper.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientInstrumentation.d.ts +69 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientInstrumentation.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientInstrumentation.js +48 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientInstrumentation.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientStackTrace.d.ts +22 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientStackTrace.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientStackTrace.js +67 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clientStackTrace.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clock.d.ts +31 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clock.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clock.js +62 -0
- package/dist/services/browser/sandbox/forked-client/src/client/clock.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connect.d.ts +23 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connect.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connect.js +137 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connect.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connection.d.ts +60 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connection.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connection.js +332 -0
- package/dist/services/browser/sandbox/forked-client/src/client/connection.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/consoleMessage.d.ts +38 -0
- package/dist/services/browser/sandbox/forked-client/src/client/consoleMessage.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/consoleMessage.js +55 -0
- package/dist/services/browser/sandbox/forked-client/src/client/consoleMessage.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/coverage.d.ts +26 -0
- package/dist/services/browser/sandbox/forked-client/src/client/coverage.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/coverage.js +38 -0
- package/dist/services/browser/sandbox/forked-client/src/client/coverage.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/debugger.d.ts +42 -0
- package/dist/services/browser/sandbox/forked-client/src/client/debugger.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/debugger.js +51 -0
- package/dist/services/browser/sandbox/forked-client/src/client/debugger.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/dialog.d.ts +31 -0
- package/dist/services/browser/sandbox/forked-client/src/client/dialog.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/dialog.js +52 -0
- package/dist/services/browser/sandbox/forked-client/src/client/dialog.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/disposable.d.ts +33 -0
- package/dist/services/browser/sandbox/forked-client/src/client/disposable.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/disposable.js +70 -0
- package/dist/services/browser/sandbox/forked-client/src/client/disposable.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/download.d.ts +36 -0
- package/dist/services/browser/sandbox/forked-client/src/client/download.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/download.js +56 -0
- package/dist/services/browser/sandbox/forked-client/src/client/download.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/electron.d.ts +8 -0
- package/dist/services/browser/sandbox/forked-client/src/client/electron.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/electron.js +18 -0
- package/dist/services/browser/sandbox/forked-client/src/client/electron.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/elementHandle.d.ts +87 -0
- package/dist/services/browser/sandbox/forked-client/src/client/elementHandle.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/elementHandle.js +325 -0
- package/dist/services/browser/sandbox/forked-client/src/client/elementHandle.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/errors.d.ts +26 -0
- package/dist/services/browser/sandbox/forked-client/src/client/errors.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/errors.js +67 -0
- package/dist/services/browser/sandbox/forked-client/src/client/errors.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/eventEmitter.d.ts +61 -0
- package/dist/services/browser/sandbox/forked-client/src/client/eventEmitter.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/eventEmitter.js +348 -0
- package/dist/services/browser/sandbox/forked-client/src/client/eventEmitter.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/events.d.ts +88 -0
- package/dist/services/browser/sandbox/forked-client/src/client/events.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/events.js +96 -0
- package/dist/services/browser/sandbox/forked-client/src/client/events.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fetch.d.ts +17 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fetch.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fetch.js +36 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fetch.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileChooser.d.ts +31 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileChooser.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileChooser.js +40 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileChooser.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileUtils.d.ts +4 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileUtils.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileUtils.js +15 -0
- package/dist/services/browser/sandbox/forked-client/src/client/fileUtils.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/frame.d.ts +151 -0
- package/dist/services/browser/sandbox/forked-client/src/client/frame.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/frame.js +494 -0
- package/dist/services/browser/sandbox/forked-client/src/client/frame.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/harRouter.d.ts +7 -0
- package/dist/services/browser/sandbox/forked-client/src/client/harRouter.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/harRouter.js +21 -0
- package/dist/services/browser/sandbox/forked-client/src/client/harRouter.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/input.d.ts +46 -0
- package/dist/services/browser/sandbox/forked-client/src/client/input.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/input.js +77 -0
- package/dist/services/browser/sandbox/forked-client/src/client/input.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsHandle.d.ts +37 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsHandle.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsHandle.js +107 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsHandle.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsonPipe.d.ts +5 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsonPipe.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsonPipe.js +12 -0
- package/dist/services/browser/sandbox/forked-client/src/client/jsonPipe.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/localUtils.d.ts +13 -0
- package/dist/services/browser/sandbox/forked-client/src/client/localUtils.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/localUtils.js +38 -0
- package/dist/services/browser/sandbox/forked-client/src/client/localUtils.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/locator.d.ts +163 -0
- package/dist/services/browser/sandbox/forked-client/src/client/locator.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/locator.js +411 -0
- package/dist/services/browser/sandbox/forked-client/src/client/locator.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/network.d.ts +268 -0
- package/dist/services/browser/sandbox/forked-client/src/client/network.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/network.js +756 -0
- package/dist/services/browser/sandbox/forked-client/src/client/network.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/page.d.ts +291 -0
- package/dist/services/browser/sandbox/forked-client/src/client/page.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/page.js +754 -0
- package/dist/services/browser/sandbox/forked-client/src/client/page.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/platform.d.ts +57 -0
- package/dist/services/browser/sandbox/forked-client/src/client/platform.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/platform.js +71 -0
- package/dist/services/browser/sandbox/forked-client/src/client/platform.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/playwright.d.ts +48 -0
- package/dist/services/browser/sandbox/forked-client/src/client/playwright.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/playwright.js +65 -0
- package/dist/services/browser/sandbox/forked-client/src/client/playwright.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/screencast.d.ts +6 -0
- package/dist/services/browser/sandbox/forked-client/src/client/screencast.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/screencast.js +15 -0
- package/dist/services/browser/sandbox/forked-client/src/client/screencast.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/selectors.d.ts +38 -0
- package/dist/services/browser/sandbox/forked-client/src/client/selectors.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/selectors.js +56 -0
- package/dist/services/browser/sandbox/forked-client/src/client/selectors.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/stream.d.ts +6 -0
- package/dist/services/browser/sandbox/forked-client/src/client/stream.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/stream.js +15 -0
- package/dist/services/browser/sandbox/forked-client/src/client/stream.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/timeoutSettings.d.ts +38 -0
- package/dist/services/browser/sandbox/forked-client/src/client/timeoutSettings.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/timeoutSettings.js +74 -0
- package/dist/services/browser/sandbox/forked-client/src/client/timeoutSettings.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/tracing.d.ts +12 -0
- package/dist/services/browser/sandbox/forked-client/src/client/tracing.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/tracing.js +18 -0
- package/dist/services/browser/sandbox/forked-client/src/client/tracing.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/types.d.ts +161 -0
- package/dist/services/browser/sandbox/forked-client/src/client/types.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/types.js +27 -0
- package/dist/services/browser/sandbox/forked-client/src/client/types.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/video.d.ts +10 -0
- package/dist/services/browser/sandbox/forked-client/src/client/video.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/video.js +28 -0
- package/dist/services/browser/sandbox/forked-client/src/client/video.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/waiter.d.ts +39 -0
- package/dist/services/browser/sandbox/forked-client/src/client/waiter.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/waiter.js +142 -0
- package/dist/services/browser/sandbox/forked-client/src/client/waiter.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/webError.d.ts +25 -0
- package/dist/services/browser/sandbox/forked-client/src/client/webError.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/webError.js +33 -0
- package/dist/services/browser/sandbox/forked-client/src/client/webError.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/worker.d.ts +36 -0
- package/dist/services/browser/sandbox/forked-client/src/client/worker.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/worker.js +90 -0
- package/dist/services/browser/sandbox/forked-client/src/client/worker.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/writableStream.d.ts +6 -0
- package/dist/services/browser/sandbox/forked-client/src/client/writableStream.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/client/writableStream.js +15 -0
- package/dist/services/browser/sandbox/forked-client/src/client/writableStream.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/serializers.d.ts +25 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/serializers.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/serializers.js +196 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/serializers.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validator.d.ts +18 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validator.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validator.js +3017 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validator.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validatorPrimitives.d.ts +45 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validatorPrimitives.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validatorPrimitives.js +170 -0
- package/dist/services/browser/sandbox/forked-client/src/protocol/validatorPrimitives.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/ariaSnapshot.d.ts +112 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/ariaSnapshot.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/ariaSnapshot.js +488 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/ariaSnapshot.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/assert.d.ts +17 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/assert.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/assert.js +24 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/assert.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/colors.d.ts +39 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/colors.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/colors.js +63 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/colors.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssParser.d.ts +42 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssParser.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssParser.js +299 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssParser.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssTokenizer.d.ts +172 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssTokenizer.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssTokenizer.js +1096 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/cssTokenizer.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/headers.d.ts +26 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/headers.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/headers.js +46 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/headers.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/imageUtils.d.ts +29 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/imageUtils.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/imageUtils.js +150 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/imageUtils.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorGenerators.d.ts +82 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorGenerators.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorGenerators.js +702 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorGenerators.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorParser.d.ts +19 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorParser.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorParser.js +246 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorParser.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorUtils.d.ts +44 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorUtils.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorUtils.js +68 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/locatorUtils.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/lruCache.d.ts +26 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/lruCache.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/lruCache.js +46 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/lruCache.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/manualPromise.d.ts +41 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/manualPromise.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/manualPromise.js +108 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/manualPromise.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/mimeType.d.ts +20 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/mimeType.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/mimeType.js +454 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/mimeType.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/multimap.d.ts +31 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/multimap.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/multimap.js +74 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/multimap.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolFormatter.d.ts +28 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolFormatter.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolFormatter.js +76 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolFormatter.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolMetainfo.d.ts +25 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolMetainfo.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolMetainfo.js +532 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/protocolMetainfo.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/rtti.d.ts +20 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/rtti.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/rtti.js +34 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/rtti.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/selectorParser.d.ts +49 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/selectorParser.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/selectorParser.js +463 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/selectorParser.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/semaphore.d.ts +26 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/semaphore.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/semaphore.js +48 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/semaphore.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stackTrace.d.ts +41 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stackTrace.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stackTrace.js +178 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stackTrace.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stringUtils.d.ts +38 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stringUtils.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stringUtils.js +202 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/stringUtils.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/time.d.ts +21 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/time.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/time.js +46 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/time.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/timeoutRunner.d.ts +29 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/timeoutRunner.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/timeoutRunner.js +62 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/timeoutRunner.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/types.d.ts +31 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/types.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/types.js +19 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/types.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/urlMatch.d.ts +57 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/urlMatch.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/urlMatch.js +275 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/urlMatch.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/utilityScriptSerializers.d.ts +67 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/utilityScriptSerializers.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/utilityScriptSerializers.js +275 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/utilityScriptSerializers.js.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/yaml.d.ts +18 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/yaml.d.ts.map +1 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/yaml.js +89 -0
- package/dist/services/browser/sandbox/forked-client/src/utils/isomorphic/yaml.js.map +1 -0
- package/dist/services/browser/sandbox/host-bridge.d.ts +20 -0
- package/dist/services/browser/sandbox/host-bridge.d.ts.map +1 -0
- package/dist/services/browser/sandbox/host-bridge.js +49 -0
- package/dist/services/browser/sandbox/host-bridge.js.map +1 -0
- package/dist/services/browser/sandbox/playwright-internals.d.ts +37 -0
- package/dist/services/browser/sandbox/playwright-internals.d.ts.map +1 -0
- package/dist/services/browser/sandbox/playwright-internals.js +29 -0
- package/dist/services/browser/sandbox/playwright-internals.js.map +1 -0
- package/dist/services/browser/sandbox/protocol-bridge.d.ts +20 -0
- package/dist/services/browser/sandbox/protocol-bridge.d.ts.map +1 -0
- package/dist/services/browser/sandbox/protocol-bridge.js +58 -0
- package/dist/services/browser/sandbox/protocol-bridge.js.map +1 -0
- package/dist/services/browser/sandbox/quickjs-host.d.ts +32 -0
- package/dist/services/browser/sandbox/quickjs-host.d.ts.map +1 -0
- package/dist/services/browser/sandbox/quickjs-host.js +505 -0
- package/dist/services/browser/sandbox/quickjs-host.js.map +1 -0
- package/dist/services/browser/sandbox/quickjs-sandbox.d.ts +18 -0
- package/dist/services/browser/sandbox/quickjs-sandbox.d.ts.map +1 -0
- package/dist/services/browser/sandbox/quickjs-sandbox.js +683 -0
- package/dist/services/browser/sandbox/quickjs-sandbox.js.map +1 -0
- package/dist/services/browser/sandbox/sandbox-client.js +12390 -0
- package/dist/services/browser/sandbox/sandbox-transport.d.ts +16 -0
- package/dist/services/browser/sandbox/sandbox-transport.d.ts.map +1 -0
- package/dist/services/browser/sandbox/sandbox-transport.js +30 -0
- package/dist/services/browser/sandbox/sandbox-transport.js.map +1 -0
- package/dist/services/browser/sandbox/script-runner-quickjs.d.ts +11 -0
- package/dist/services/browser/sandbox/script-runner-quickjs.d.ts.map +1 -0
- package/dist/services/browser/sandbox/script-runner-quickjs.js +22 -0
- package/dist/services/browser/sandbox/script-runner-quickjs.js.map +1 -0
- package/dist/services/browser/temp-files.d.ts +9 -0
- package/dist/services/browser/temp-files.d.ts.map +1 -0
- package/dist/services/browser/temp-files.js +175 -0
- package/dist/services/browser/temp-files.js.map +1 -0
- package/dist/services/browser/test-cleanup.d.ts +10 -0
- package/dist/services/browser/test-cleanup.d.ts.map +1 -0
- package/dist/services/browser/test-cleanup.js +34 -0
- package/dist/services/browser/test-cleanup.js.map +1 -0
- package/dist/services/browser/test-cleanup.test.d.ts +2 -0
- package/dist/services/browser/test-cleanup.test.d.ts.map +1 -0
- package/dist/services/browser/test-cleanup.test.js +50 -0
- package/dist/services/browser/test-cleanup.test.js.map +1 -0
- package/dist/session/SessionManager.d.ts +5 -0
- package/dist/session/SessionManager.d.ts.map +1 -1
- package/dist/session/SessionManager.js +3 -4
- package/dist/session/SessionManager.js.map +1 -1
- package/dist/skills/HookAndSkillManager.d.ts +2 -2
- package/dist/skills/HookAndSkillManager.js +2 -2
- package/dist/tools/NativeTools.d.ts +20 -16
- package/dist/tools/NativeTools.d.ts.map +1 -1
- package/dist/tools/NativeTools.js +38 -20
- package/dist/tools/NativeTools.js.map +1 -1
- package/dist/tools/Schemas.d.ts +171 -1250
- package/dist/tools/Schemas.d.ts.map +1 -1
- package/dist/tools/Schemas.js +70 -374
- package/dist/tools/Schemas.js.map +1 -1
- package/dist/utils/character.d.ts +2 -0
- package/dist/utils/character.d.ts.map +1 -0
- package/dist/utils/character.js +33 -0
- package/dist/utils/character.js.map +1 -0
- package/dist/utils/contextManager.d.ts +26 -0
- package/dist/utils/contextManager.d.ts.map +1 -0
- package/dist/utils/contextManager.js +72 -0
- package/dist/utils/contextManager.js.map +1 -0
- package/dist/utils/inputbar.d.ts +3 -2
- package/dist/utils/inputbar.d.ts.map +1 -1
- package/dist/utils/inputbar.js +18 -17
- package/dist/utils/inputbar.js.map +1 -1
- package/dist/utils/memoryManager.d.ts +14 -0
- package/dist/utils/memoryManager.d.ts.map +1 -0
- package/dist/utils/memoryManager.js +96 -0
- package/dist/utils/memoryManager.js.map +1 -0
- package/dist/utils/output.d.ts +3 -2
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +56 -19
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/string.d.ts +6 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +18 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/string.test.d.ts +2 -0
- package/dist/utils/string.test.d.ts.map +1 -0
- package/dist/utils/string.test.js +19 -0
- package/dist/utils/string.test.js.map +1 -0
- package/dist/utils/systemPrompt.d.ts +3 -0
- package/dist/utils/systemPrompt.d.ts.map +1 -0
- package/dist/utils/systemPrompt.js +194 -0
- package/dist/utils/systemPrompt.js.map +1 -0
- package/dist/utils/welcome.d.ts +3 -0
- package/dist/utils/welcome.d.ts.map +1 -1
- package/dist/utils/welcome.js +133 -22
- package/dist/utils/welcome.js.map +1 -1
- package/package.json +9 -5
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ClientConnectionLike, type PlaywrightClientLike, type WireMessage } from "./playwright-internals";
|
|
2
|
+
export interface SandboxTransportOptions {
|
|
3
|
+
sendToHost: (json: string) => void;
|
|
4
|
+
connection?: ClientConnectionLike;
|
|
5
|
+
}
|
|
6
|
+
export declare class SandboxTransport {
|
|
7
|
+
readonly connection: ClientConnectionLike;
|
|
8
|
+
private readonly sendToHost;
|
|
9
|
+
constructor(options: SandboxTransportOptions);
|
|
10
|
+
send(message: WireMessage): void;
|
|
11
|
+
receive(json: string): void;
|
|
12
|
+
receiveFromHost(json: string): void;
|
|
13
|
+
initializePlaywright(): Promise<PlaywrightClientLike>;
|
|
14
|
+
dispose(cause?: string): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=sandbox-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-transport.d.ts","sourceRoot":"","sources":["../../../../src/services/browser/sandbox/sandbox-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAExC,OAAO,EAAE,uBAAuB;IAQ5C,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIrD,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAG9B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SandboxTransport = void 0;
|
|
4
|
+
const playwright_internals_1 = require("./playwright-internals");
|
|
5
|
+
class SandboxTransport {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.connection = options.connection ?? new playwright_internals_1.Connection(playwright_internals_1.nodePlatform);
|
|
8
|
+
this.sendToHost = options.sendToHost;
|
|
9
|
+
this.connection.onmessage = (message) => {
|
|
10
|
+
this.send(message);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
send(message) {
|
|
14
|
+
this.sendToHost(JSON.stringify(message));
|
|
15
|
+
}
|
|
16
|
+
receive(json) {
|
|
17
|
+
this.connection.dispatch(JSON.parse(json));
|
|
18
|
+
}
|
|
19
|
+
receiveFromHost(json) {
|
|
20
|
+
this.receive(json);
|
|
21
|
+
}
|
|
22
|
+
initializePlaywright() {
|
|
23
|
+
return this.connection.initializePlaywright();
|
|
24
|
+
}
|
|
25
|
+
dispose(cause) {
|
|
26
|
+
this.connection.close(cause);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.SandboxTransport = SandboxTransport;
|
|
30
|
+
//# sourceMappingURL=sandbox-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-transport.js","sourceRoot":"","sources":["../../../../src/services/browser/sandbox/sandbox-transport.ts"],"names":[],"mappings":";;;AAAA,iEAMgC;AAOhC,MAAa,gBAAgB;IAK3B,YAAY,OAAgC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,iCAAU,CAAC,mCAAY,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAoB;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,KAAc;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAhCD,4CAgCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BrowserManager } from "../browser-manager";
|
|
2
|
+
interface ScriptOutput {
|
|
3
|
+
onStdout: (data: string) => void;
|
|
4
|
+
onStderr: (data: string) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function runScript(script: string, manager: BrowserManager, browserName: string, output: ScriptOutput, options?: {
|
|
7
|
+
timeout?: number;
|
|
8
|
+
memoryLimitBytes?: number;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=script-runner-quickjs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-runner-quickjs.d.ts","sourceRoot":"","sources":["../../../../src/services/browser/sandbox/script-runner-quickjs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,UAAU,YAAY;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,OAAO,CAAC,IAAI,CAAC,CAgBf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runScript = runScript;
|
|
4
|
+
const quickjs_sandbox_1 = require("./quickjs-sandbox");
|
|
5
|
+
async function runScript(script, manager, browserName, output, options = {}) {
|
|
6
|
+
const sandbox = new quickjs_sandbox_1.QuickJSSandbox({
|
|
7
|
+
manager,
|
|
8
|
+
browserName,
|
|
9
|
+
onStdout: output.onStdout,
|
|
10
|
+
onStderr: output.onStderr,
|
|
11
|
+
memoryLimitBytes: options.memoryLimitBytes,
|
|
12
|
+
timeoutMs: options.timeout,
|
|
13
|
+
});
|
|
14
|
+
try {
|
|
15
|
+
await sandbox.initialize();
|
|
16
|
+
await sandbox.executeScript(`(async () => {\n${script}\n})()`);
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
await sandbox.dispose();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=script-runner-quickjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-runner-quickjs.js","sourceRoot":"","sources":["../../../../src/services/browser/sandbox/script-runner-quickjs.ts"],"names":[],"mappings":";;AAQA,8BAsBC;AA7BD,uDAAmD;AAO5C,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAAuB,EACvB,WAAmB,EACnB,MAAoB,EACpB,UAA2D,EAAE;IAE7D,MAAM,OAAO,GAAG,IAAI,gCAAc,CAAC;QACjC,OAAO;QACP,WAAW;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,SAAS,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,OAAO,CAAC,aAAa,CAAC,mBAAmB,MAAM,QAAQ,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const DEV_BROWSER_BASE_DIR: string;
|
|
2
|
+
export declare const DEV_BROWSER_TMP_DIR: string;
|
|
3
|
+
export declare function ensureDevBrowserTempDir(): Promise<string>;
|
|
4
|
+
export declare function resolveDevBrowserTempPath(fileName: unknown, options?: {
|
|
5
|
+
createParents?: boolean;
|
|
6
|
+
}): Promise<string>;
|
|
7
|
+
export declare function writeDevBrowserTempFile(fileName: unknown, data: string | Uint8Array): Promise<string>;
|
|
8
|
+
export declare function readDevBrowserTempFile(fileName: unknown): Promise<string>;
|
|
9
|
+
//# sourceMappingURL=temp-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temp-files.d.ts","sourceRoot":"","sources":["../../../src/services/browser/temp-files.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,QAAyB,CAAC;AAC3D,eAAO,MAAM,mBAAmB,QAAyC,CAAC;AA2H1E,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAY/D;AAED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,GACL,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAe/E"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEV_BROWSER_TMP_DIR = exports.DEV_BROWSER_BASE_DIR = void 0;
|
|
7
|
+
exports.ensureDevBrowserTempDir = ensureDevBrowserTempDir;
|
|
8
|
+
exports.resolveDevBrowserTempPath = resolveDevBrowserTempPath;
|
|
9
|
+
exports.writeDevBrowserTempFile = writeDevBrowserTempFile;
|
|
10
|
+
exports.readDevBrowserTempFile = readDevBrowserTempFile;
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const promises_1 = require("node:fs/promises");
|
|
13
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
14
|
+
const local_endpoint_1 = require("./local-endpoint");
|
|
15
|
+
const SAFE_PATH_SEGMENT_PATTERN = /[^A-Za-z0-9._-]/g;
|
|
16
|
+
const NOFOLLOW_FLAG = node_fs_1.constants.O_NOFOLLOW ?? 0;
|
|
17
|
+
exports.DEV_BROWSER_BASE_DIR = (0, local_endpoint_1.getDevBrowserBaseDir)();
|
|
18
|
+
exports.DEV_BROWSER_TMP_DIR = node_path_1.default.join(exports.DEV_BROWSER_BASE_DIR, "tmp");
|
|
19
|
+
function requireNonEmptyString(value, label) {
|
|
20
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
21
|
+
throw new TypeError(`${label} must be a non-empty string`);
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
function isWithinDirectory(rootDir, candidatePath) {
|
|
26
|
+
if (candidatePath === rootDir) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
const rootWithSeparator = rootDir.endsWith(node_path_1.default.sep) ? rootDir : `${rootDir}${node_path_1.default.sep}`;
|
|
30
|
+
return candidatePath.startsWith(rootWithSeparator);
|
|
31
|
+
}
|
|
32
|
+
function sanitizePathSegment(segment) {
|
|
33
|
+
if (segment.length === 0) {
|
|
34
|
+
throw new Error("File paths must not contain empty path segments");
|
|
35
|
+
}
|
|
36
|
+
if (segment === "." || segment === ".." || segment.includes("..")) {
|
|
37
|
+
throw new Error("File paths must not contain '.' or '..' segments");
|
|
38
|
+
}
|
|
39
|
+
const sanitized = segment.replace(SAFE_PATH_SEGMENT_PATTERN, "_");
|
|
40
|
+
if (sanitized.length === 0 || sanitized === "." || sanitized === "..") {
|
|
41
|
+
throw new Error("File paths must resolve to a valid filename");
|
|
42
|
+
}
|
|
43
|
+
return sanitized;
|
|
44
|
+
}
|
|
45
|
+
function sanitizeRelativePath(fileName) {
|
|
46
|
+
const rawPath = requireNonEmptyString(fileName, "File name");
|
|
47
|
+
if (rawPath.includes("\0")) {
|
|
48
|
+
throw new Error("File names must not contain null bytes");
|
|
49
|
+
}
|
|
50
|
+
if (node_path_1.default.posix.isAbsolute(rawPath) || node_path_1.default.win32.isAbsolute(rawPath)) {
|
|
51
|
+
throw new Error("Absolute paths are not allowed");
|
|
52
|
+
}
|
|
53
|
+
const normalized = rawPath.replace(/\\/g, "/");
|
|
54
|
+
if (normalized.startsWith("/")) {
|
|
55
|
+
throw new Error("Absolute paths are not allowed");
|
|
56
|
+
}
|
|
57
|
+
return normalized.split("/").map(sanitizePathSegment);
|
|
58
|
+
}
|
|
59
|
+
async function assertControlledDirectory(directoryPath, label) {
|
|
60
|
+
const stats = await (0, promises_1.lstat)(directoryPath);
|
|
61
|
+
if (stats.isSymbolicLink()) {
|
|
62
|
+
throw new Error(`${label} must not be a symlink`);
|
|
63
|
+
}
|
|
64
|
+
if (!stats.isDirectory()) {
|
|
65
|
+
throw new Error(`${label} must be a directory`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function assertSafeParentDirectories(rootDir, destinationPath, createParents) {
|
|
69
|
+
const relativeParent = node_path_1.default.relative(rootDir, node_path_1.default.dirname(destinationPath));
|
|
70
|
+
if (relativeParent.length === 0) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const segments = relativeParent.split(node_path_1.default.sep).filter((segment) => segment.length > 0);
|
|
74
|
+
let currentPath = rootDir;
|
|
75
|
+
for (const segment of segments) {
|
|
76
|
+
currentPath = node_path_1.default.join(currentPath, segment);
|
|
77
|
+
if (createParents) {
|
|
78
|
+
await (0, promises_1.mkdir)(currentPath, {
|
|
79
|
+
recursive: true,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const stats = await (0, promises_1.lstat)(currentPath);
|
|
84
|
+
if (stats.isSymbolicLink()) {
|
|
85
|
+
throw new Error(`Temp path parent must not be a symlink: ${currentPath}`);
|
|
86
|
+
}
|
|
87
|
+
if (!stats.isDirectory()) {
|
|
88
|
+
throw new Error(`Temp path parent must be a directory: ${currentPath}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
if (error.code === "ENOENT" && !createParents) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function normalizeSymlinkError(error, destinationPath) {
|
|
100
|
+
if (error.code === "ELOOP") {
|
|
101
|
+
return new Error(`Refusing to follow symlinked temp file: ${destinationPath}`);
|
|
102
|
+
}
|
|
103
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
104
|
+
}
|
|
105
|
+
async function assertDestinationIsNotSymlink(destinationPath) {
|
|
106
|
+
try {
|
|
107
|
+
const stats = await (0, promises_1.lstat)(destinationPath);
|
|
108
|
+
if (stats.isSymbolicLink()) {
|
|
109
|
+
throw new Error(`Refusing to follow symlinked temp file: ${destinationPath}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
if (error.code === "ENOENT") {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async function ensureDevBrowserTempDir() {
|
|
120
|
+
await (0, promises_1.mkdir)(exports.DEV_BROWSER_BASE_DIR, {
|
|
121
|
+
recursive: true,
|
|
122
|
+
});
|
|
123
|
+
await assertControlledDirectory(exports.DEV_BROWSER_BASE_DIR, "Dev Browser base directory");
|
|
124
|
+
await (0, promises_1.mkdir)(exports.DEV_BROWSER_TMP_DIR, {
|
|
125
|
+
recursive: true,
|
|
126
|
+
});
|
|
127
|
+
await assertControlledDirectory(exports.DEV_BROWSER_TMP_DIR, "Dev Browser temp directory");
|
|
128
|
+
return node_path_1.default.resolve(exports.DEV_BROWSER_TMP_DIR);
|
|
129
|
+
}
|
|
130
|
+
async function resolveDevBrowserTempPath(fileName, options = {}) {
|
|
131
|
+
const rootDir = await ensureDevBrowserTempDir();
|
|
132
|
+
const segments = sanitizeRelativePath(fileName);
|
|
133
|
+
const destinationPath = node_path_1.default.resolve(rootDir, ...segments);
|
|
134
|
+
if (!isWithinDirectory(rootDir, destinationPath)) {
|
|
135
|
+
throw new Error("Resolved temp file path escapes the controlled temp directory");
|
|
136
|
+
}
|
|
137
|
+
await assertSafeParentDirectories(rootDir, destinationPath, options.createParents ?? false);
|
|
138
|
+
return destinationPath;
|
|
139
|
+
}
|
|
140
|
+
async function writeDevBrowserTempFile(fileName, data) {
|
|
141
|
+
const destinationPath = await resolveDevBrowserTempPath(fileName, {
|
|
142
|
+
createParents: true,
|
|
143
|
+
});
|
|
144
|
+
await assertDestinationIsNotSymlink(destinationPath);
|
|
145
|
+
let handle;
|
|
146
|
+
try {
|
|
147
|
+
handle = await (0, promises_1.open)(destinationPath, node_fs_1.constants.O_WRONLY | node_fs_1.constants.O_CREAT | node_fs_1.constants.O_TRUNC | NOFOLLOW_FLAG, 0o600);
|
|
148
|
+
await handle.writeFile(data);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
throw normalizeSymlinkError(error, destinationPath);
|
|
152
|
+
}
|
|
153
|
+
finally {
|
|
154
|
+
await handle?.close();
|
|
155
|
+
}
|
|
156
|
+
return destinationPath;
|
|
157
|
+
}
|
|
158
|
+
async function readDevBrowserTempFile(fileName) {
|
|
159
|
+
const destinationPath = await resolveDevBrowserTempPath(fileName);
|
|
160
|
+
await assertDestinationIsNotSymlink(destinationPath);
|
|
161
|
+
let handle;
|
|
162
|
+
try {
|
|
163
|
+
handle = await (0, promises_1.open)(destinationPath, node_fs_1.constants.O_RDONLY | NOFOLLOW_FLAG);
|
|
164
|
+
return await handle.readFile({
|
|
165
|
+
encoding: "utf8",
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
throw normalizeSymlinkError(error, destinationPath);
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
await handle?.close();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=temp-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temp-files.js","sourceRoot":"","sources":["../../../src/services/browser/temp-files.ts"],"names":[],"mappings":";;;;;;AAoIA,0DAYC;AAED,8DAgBC;AAED,0DAwBC;AAED,wDAeC;AA7MD,qCAAoC;AACpC,+CAAuE;AACvE,0DAA6B;AAC7B,qDAAwD;AAExD,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AACrD,MAAM,aAAa,GAAG,mBAAS,CAAC,UAAU,IAAI,CAAC,CAAC;AAEnC,QAAA,oBAAoB,GAAG,IAAA,qCAAoB,GAAE,CAAC;AAC9C,QAAA,mBAAmB,GAAG,mBAAI,CAAC,IAAI,CAAC,4BAAoB,EAAE,KAAK,CAAC,CAAC;AAE1E,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,aAAqB;IAC/D,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,mBAAI,CAAC,GAAG,EAAE,CAAC;IACzF,OAAO,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,mBAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,mBAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,aAAqB,EAAE,KAAa;IAC3E,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAK,EAAC,aAAa,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAAe,EACf,eAAuB,EACvB,aAAsB;IAEtB,MAAM,cAAc,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxF,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAA,gBAAK,EAAC,WAAW,EAAE;gBACvB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAK,EAAC,WAAW,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzE,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,eAAuB;IACpE,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACtD,OAAO,IAAI,KAAK,CAAC,2CAA2C,eAAe,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,eAAuB;IAClE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAK,EAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,eAAe,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,uBAAuB;IAC3C,MAAM,IAAA,gBAAK,EAAC,4BAAoB,EAAE;QAChC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,MAAM,yBAAyB,CAAC,4BAAoB,EAAE,4BAA4B,CAAC,CAAC;IAEpF,MAAM,IAAA,gBAAK,EAAC,2BAAmB,EAAE;QAC/B,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,MAAM,yBAAyB,CAAC,2BAAmB,EAAE,4BAA4B,CAAC,CAAC;IAEnF,OAAO,mBAAI,CAAC,OAAO,CAAC,2BAAmB,CAAC,CAAC;AAC3C,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,QAAiB,EACjB,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;IAC5F,OAAO,eAAe,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,QAAiB,EACjB,IAAyB;IAEzB,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE;QAChE,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,MAAM,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAErD,IAAI,MAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,eAAI,EACjB,eAAe,EACf,mBAAS,CAAC,QAAQ,GAAG,mBAAS,CAAC,OAAO,GAAG,mBAAS,CAAC,OAAO,GAAG,aAAa,EAC1E,KAAK,CACN,CAAC;QACF,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,QAAiB;IAC5D,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAErD,IAAI,MAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,eAAI,EAAC,eAAe,EAAE,mBAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC;QACzE,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC;YAC3B,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { rm } from "node:fs/promises";
|
|
2
|
+
type RemoveDirectoryDependencies = {
|
|
3
|
+
rm?: typeof rm;
|
|
4
|
+
sleep?: (milliseconds: number) => Promise<unknown>;
|
|
5
|
+
maxRetries?: number;
|
|
6
|
+
retryDelayMs?: (attempt: number) => number;
|
|
7
|
+
};
|
|
8
|
+
export declare function removeDirectoryWithRetries(directoryPath: string, dependencies?: RemoveDirectoryDependencies): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=test-cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-cleanup.d.ts","sourceRoot":"","sources":["../../../src/services/browser/test-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAGtC,KAAK,2BAA2B,GAAG;IACjC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAUF,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,IAAI,CAAC,CAwBf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeDirectoryWithRetries = removeDirectoryWithRetries;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const promises_2 = require("node:timers/promises");
|
|
6
|
+
const TRANSIENT_RM_ERROR_CODES = new Set(["EBUSY", "ENOTEMPTY", "EPERM"]);
|
|
7
|
+
const DEFAULT_RETRY_DELAYS_MS = [50, 100, 250, 500, 1000];
|
|
8
|
+
function shouldRetryDirectoryRemoval(error) {
|
|
9
|
+
const code = error?.code;
|
|
10
|
+
return typeof code === "string" && TRANSIENT_RM_ERROR_CODES.has(code);
|
|
11
|
+
}
|
|
12
|
+
async function removeDirectoryWithRetries(directoryPath, dependencies = {}) {
|
|
13
|
+
const remove = dependencies.rm ?? promises_1.rm;
|
|
14
|
+
const sleep = dependencies.sleep ?? promises_2.setTimeout;
|
|
15
|
+
const maxRetries = dependencies.maxRetries ?? DEFAULT_RETRY_DELAYS_MS.length;
|
|
16
|
+
const retryDelayMs = dependencies.retryDelayMs ??
|
|
17
|
+
((attempt) => DEFAULT_RETRY_DELAYS_MS[attempt] ?? DEFAULT_RETRY_DELAYS_MS.at(-1) ?? 1000);
|
|
18
|
+
for (let attempt = 0;; attempt += 1) {
|
|
19
|
+
try {
|
|
20
|
+
await remove(directoryPath, {
|
|
21
|
+
recursive: true,
|
|
22
|
+
force: true,
|
|
23
|
+
});
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (!shouldRetryDirectoryRemoval(error) || attempt >= maxRetries) {
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
await sleep(retryDelayMs(attempt));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=test-cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-cleanup.js","sourceRoot":"","sources":["../../../src/services/browser/test-cleanup.ts"],"names":[],"mappings":";;AAkBA,gEA2BC;AA7CD,+CAAsC;AACtC,mDAA2D;AAS3D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,MAAM,uBAAuB,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAK,CAAC,CAAC;AAE3D,SAAS,2BAA2B,CAAC,KAAc;IACjD,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;IAChE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,aAAqB,EACrB,eAA4C,EAAE;IAE9C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,aAAE,CAAC;IACrC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,qBAAK,CAAC;IAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,uBAAuB,CAAC,MAAM,CAAC;IAC7E,MAAM,YAAY,GAChB,YAAY,CAAC,YAAY;QACzB,CAAC,CAAC,OAAe,EAAE,EAAE,CACnB,uBAAuB,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAK,CAAC,CAAC;IAEjF,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,aAAa,EAAE;gBAC1B,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBACjE,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-cleanup.test.d.ts","sourceRoot":"","sources":["../../../src/services/browser/test-cleanup.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const test_cleanup_1 = require("./test-cleanup");
|
|
5
|
+
function createFsError(code) {
|
|
6
|
+
const error = new Error(`rm failed with ${code}`);
|
|
7
|
+
error.code = code;
|
|
8
|
+
return error;
|
|
9
|
+
}
|
|
10
|
+
(0, vitest_1.describe)("removeDirectoryWithRetries", () => {
|
|
11
|
+
(0, vitest_1.it)("retries transient file lock errors before succeeding", async () => {
|
|
12
|
+
const remove = vitest_1.vi
|
|
13
|
+
.fn()
|
|
14
|
+
.mockRejectedValueOnce(createFsError("EBUSY"))
|
|
15
|
+
.mockRejectedValueOnce(createFsError("EPERM"))
|
|
16
|
+
.mockResolvedValue(undefined);
|
|
17
|
+
const sleep = vitest_1.vi.fn().mockResolvedValue(undefined);
|
|
18
|
+
await (0, test_cleanup_1.removeDirectoryWithRetries)("/tmp/dev-browser-test", {
|
|
19
|
+
rm: remove,
|
|
20
|
+
sleep,
|
|
21
|
+
retryDelayMs: (attempt) => [25, 50][attempt] ?? 100,
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.expect)(remove).toHaveBeenCalledTimes(3);
|
|
24
|
+
(0, vitest_1.expect)(sleep).toHaveBeenNthCalledWith(1, 25);
|
|
25
|
+
(0, vitest_1.expect)(sleep).toHaveBeenNthCalledWith(2, 50);
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)("does not retry non-transient removal errors", async () => {
|
|
28
|
+
const remove = vitest_1.vi.fn().mockRejectedValue(createFsError("EACCES"));
|
|
29
|
+
const sleep = vitest_1.vi.fn().mockResolvedValue(undefined);
|
|
30
|
+
await (0, vitest_1.expect)((0, test_cleanup_1.removeDirectoryWithRetries)("/tmp/dev-browser-test", {
|
|
31
|
+
rm: remove,
|
|
32
|
+
sleep,
|
|
33
|
+
})).rejects.toMatchObject({ code: "EACCES" });
|
|
34
|
+
(0, vitest_1.expect)(remove).toHaveBeenCalledTimes(1);
|
|
35
|
+
(0, vitest_1.expect)(sleep).not.toHaveBeenCalled();
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.it)("surfaces the last transient error after exhausting retries", async () => {
|
|
38
|
+
const remove = vitest_1.vi.fn().mockRejectedValue(createFsError("EBUSY"));
|
|
39
|
+
const sleep = vitest_1.vi.fn().mockResolvedValue(undefined);
|
|
40
|
+
await (0, vitest_1.expect)((0, test_cleanup_1.removeDirectoryWithRetries)("/tmp/dev-browser-test", {
|
|
41
|
+
rm: remove,
|
|
42
|
+
sleep,
|
|
43
|
+
maxRetries: 2,
|
|
44
|
+
retryDelayMs: () => 10,
|
|
45
|
+
})).rejects.toMatchObject({ code: "EBUSY" });
|
|
46
|
+
(0, vitest_1.expect)(remove).toHaveBeenCalledTimes(3);
|
|
47
|
+
(0, vitest_1.expect)(sleep).toHaveBeenCalledTimes(2);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=test-cleanup.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-cleanup.test.js","sourceRoot":"","sources":["../../../src/services/browser/test-cleanup.test.ts"],"names":[],"mappings":";;AAEA,mCAAkD;AAElD,iDAA4D;AAE5D,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAA0B,CAAC;IAC3E,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAA,WAAE,EAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,MAAM,GAAG,WAAE;aACd,EAAE,EAAE;aACJ,qBAAqB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC7C,qBAAqB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC7C,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,IAAA,yCAA0B,EAAC,uBAAuB,EAAE;YACxD,EAAE,EAAE,MAA8B;YAClC,KAAK;YACL,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG;SACpD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,IAAA,eAAM,EACV,IAAA,yCAA0B,EAAC,uBAAuB,EAAE;YAClD,EAAE,EAAE,MAA8B;YAClC,KAAK;SACN,CAAC,CACH,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE5C,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,IAAA,eAAM,EACV,IAAA,yCAA0B,EAAC,uBAAuB,EAAE;YAClD,EAAE,EAAE,MAA8B;YAClC,KAAK;YACL,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;SACvB,CAAC,CACH,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3C,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,9 +4,14 @@ export interface ChatMessage {
|
|
|
4
4
|
}
|
|
5
5
|
export interface SessionData {
|
|
6
6
|
id: string;
|
|
7
|
+
cwd: string;
|
|
7
8
|
summary: string;
|
|
8
9
|
messages: ChatMessage[];
|
|
9
10
|
createdAt: string;
|
|
11
|
+
projectContext?: {
|
|
12
|
+
type: string;
|
|
13
|
+
testCommand: string;
|
|
14
|
+
};
|
|
10
15
|
}
|
|
11
16
|
/**
|
|
12
17
|
* Phase 2 & 4: Session Checkpointing and Token Resuming
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/session/SessionManager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/session/SessionManager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;gBAEd,SAAS,EAAE,MAAM;IAW7B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAInB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxD;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnC;;OAEG;IACG,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBtE"}
|
|
@@ -46,6 +46,7 @@ class SessionManager {
|
|
|
46
46
|
this.currentSessionId = sessionId;
|
|
47
47
|
this.state = {
|
|
48
48
|
id: sessionId,
|
|
49
|
+
cwd: process.cwd(),
|
|
49
50
|
summary: '',
|
|
50
51
|
messages: [],
|
|
51
52
|
createdAt: new Date().toISOString()
|
|
@@ -101,12 +102,10 @@ class SessionManager {
|
|
|
101
102
|
if (totalChars > MAX_CHAR_LIMIT) {
|
|
102
103
|
if (process.env.CW_VERBOSE)
|
|
103
104
|
console.log(`[CoWorker Memory] Context threshold exceeded (${totalChars} chars). Triggering rollup compression.`);
|
|
104
|
-
const messagesToKeep =
|
|
105
|
-
const oldestMessages = this.state.messages.slice(0, this.state.messages.length - messagesToKeep);
|
|
106
|
-
this.state.summary += `\\n[COMPRESSED HISTORY LOG]: The agent achieved multiple back and forth turns. Focus shifted. Previous tokens collapsed.`;
|
|
107
|
-
// We drop the oldest context, preserving system instructions if any.
|
|
105
|
+
const messagesToKeep = 20;
|
|
108
106
|
const retainedMessages = this.state.messages.slice(-messagesToKeep);
|
|
109
107
|
this.state.messages = retainedMessages;
|
|
108
|
+
this.state.summary += `\n[COMPRESSED] Context reset to last 20 turns.`;
|
|
110
109
|
await this.saveCheckpoint();
|
|
111
110
|
}
|
|
112
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/session/SessionManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;
|
|
1
|
+
{"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,12 @@ export interface DiagnosticResult {
|
|
|
16
16
|
/**
|
|
17
17
|
* Phase 3+: Hooks, Skills, and Inline Error Detection.
|
|
18
18
|
*
|
|
19
|
-
* INLINE ERROR DETECTION (
|
|
19
|
+
* INLINE ERROR DETECTION (CoWorker Parity):
|
|
20
20
|
* After every file-mutation tool (Write, Edit, MultiEdit), CoWorker automatically
|
|
21
21
|
* runs the appropriate linter/type-checker and feeds the errors back into the LLM
|
|
22
22
|
* context so it can self-correct without the user having to manually run validation.
|
|
23
23
|
*
|
|
24
|
-
* This mirrors
|
|
24
|
+
* This mirrors CoWorker's PostToolUse hook system.
|
|
25
25
|
*/
|
|
26
26
|
export declare class HookAndSkillManager {
|
|
27
27
|
private events;
|
|
@@ -41,12 +41,12 @@ const child_process_1 = require("child_process");
|
|
|
41
41
|
/**
|
|
42
42
|
* Phase 3+: Hooks, Skills, and Inline Error Detection.
|
|
43
43
|
*
|
|
44
|
-
* INLINE ERROR DETECTION (
|
|
44
|
+
* INLINE ERROR DETECTION (CoWorker Parity):
|
|
45
45
|
* After every file-mutation tool (Write, Edit, MultiEdit), CoWorker automatically
|
|
46
46
|
* runs the appropriate linter/type-checker and feeds the errors back into the LLM
|
|
47
47
|
* context so it can self-correct without the user having to manually run validation.
|
|
48
48
|
*
|
|
49
|
-
* This mirrors
|
|
49
|
+
* This mirrors CoWorker's PostToolUse hook system.
|
|
50
50
|
*/
|
|
51
51
|
class HookAndSkillManager {
|
|
52
52
|
constructor() {
|
|
@@ -30,6 +30,10 @@ export declare class NativeTools {
|
|
|
30
30
|
* Reads files matching a pattern and runs RegExp across them.
|
|
31
31
|
*/
|
|
32
32
|
static executeGrep(regexQuery: string, filesToSearch: string[]): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Executes a sandboxed JavaScript script via the internal BrowserService.
|
|
35
|
+
*/
|
|
36
|
+
static executeBrowser(script: string): Promise<string>;
|
|
33
37
|
/**
|
|
34
38
|
* Native HTTP fetch to pull web content and strip basic HTML out.
|
|
35
39
|
*/
|
|
@@ -44,12 +48,12 @@ export declare class NativeTools {
|
|
|
44
48
|
static executeAskUserQuestion(question: string): Promise<string>;
|
|
45
49
|
/**
|
|
46
50
|
* Edits an existing file by replacing specific strings.
|
|
47
|
-
* Similar to the Edit tool in
|
|
51
|
+
* Similar to the Edit tool in CoWorker.
|
|
48
52
|
*/
|
|
49
53
|
static executeEdit(filePath: string, oldString: string, newString: string, replaceAll?: boolean): Promise<string>;
|
|
50
54
|
/**
|
|
51
55
|
* Performs multiple edits on a single file.
|
|
52
|
-
* Similar to the MultiEdit tool in
|
|
56
|
+
* Similar to the MultiEdit tool in CoWorker.
|
|
53
57
|
*/
|
|
54
58
|
static executeMultiEdit(filePath: string, edits: Array<{
|
|
55
59
|
oldString: string;
|
|
@@ -58,17 +62,17 @@ export declare class NativeTools {
|
|
|
58
62
|
}>): Promise<string>;
|
|
59
63
|
/**
|
|
60
64
|
* Lists files and directories in the specified path.
|
|
61
|
-
* Similar to the LS tool in
|
|
65
|
+
* Similar to the LS tool in CoWorker.
|
|
62
66
|
*/
|
|
63
67
|
static executeLS(dirPath?: string, recursive?: boolean): Promise<string>;
|
|
64
68
|
/**
|
|
65
69
|
* Reads the current todo list for the session.
|
|
66
|
-
* Similar to the TodoRead tool in
|
|
70
|
+
* Similar to the TodoRead tool in CoWorker.
|
|
67
71
|
*/
|
|
68
72
|
static executeTodoRead(): Promise<string>;
|
|
69
73
|
/**
|
|
70
74
|
* Creates and manages a structured todo list for tracking progress.
|
|
71
|
-
* Similar to the TodoWrite tool in
|
|
75
|
+
* Similar to the TodoWrite tool in CoWorker.
|
|
72
76
|
*/
|
|
73
77
|
static executeTodoWrite(todos: Array<{
|
|
74
78
|
id?: string;
|
|
@@ -78,57 +82,57 @@ export declare class NativeTools {
|
|
|
78
82
|
}>): Promise<string>;
|
|
79
83
|
/**
|
|
80
84
|
* Reads a Jupyter notebook (.ipynb file) and returns all cells with their outputs.
|
|
81
|
-
* Similar to the NotebookRead tool in
|
|
85
|
+
* Similar to the NotebookRead tool in CoWorker.
|
|
82
86
|
*/
|
|
83
87
|
static executeNotebookRead(notebookPath: string): Promise<string>;
|
|
84
88
|
/**
|
|
85
89
|
* Replaces, inserts, or deletes cells in a Jupyter notebook.
|
|
86
|
-
* Similar to the NotebookEdit tool in
|
|
90
|
+
* Similar to the NotebookEdit tool in CoWorker.
|
|
87
91
|
*/
|
|
88
92
|
static executeNotebookEdit(notebookPath: string, newSource: string, cellId?: string, cellType?: 'code' | 'markdown'): Promise<string>;
|
|
89
93
|
/**
|
|
90
94
|
* Launches a sub-agent to handle complex, multi-step operations autonomously.
|
|
91
|
-
* Similar to the Agent tool in
|
|
95
|
+
* Similar to the Agent tool in CoWorker.
|
|
92
96
|
*/
|
|
93
97
|
static executeAgent(description: string, subagentType?: string): Promise<string>;
|
|
94
98
|
/**
|
|
95
99
|
* Reads the COWORKER.md memory file from the project root.
|
|
96
|
-
* Equivalent to
|
|
100
|
+
* Equivalent to CoWorker's MemoryRead (CoWorker.md).
|
|
97
101
|
*/
|
|
98
102
|
static executeMemoryRead(): Promise<string>;
|
|
99
103
|
/**
|
|
100
104
|
* Writes or appends to the COWORKER.md memory file.
|
|
101
|
-
* Equivalent to
|
|
105
|
+
* Equivalent to CoWorker's MemoryWrite (CoWorker.md).
|
|
102
106
|
*/
|
|
103
107
|
static executeMemoryWrite(content: string, mode?: 'append' | 'overwrite'): Promise<string>;
|
|
104
108
|
/**
|
|
105
109
|
* Returns structured git status output.
|
|
106
|
-
* Equivalent to
|
|
110
|
+
* Equivalent to CoWorker's GitStatus tool.
|
|
107
111
|
*/
|
|
108
112
|
static executeGitStatus(cwd?: string): Promise<string>;
|
|
109
113
|
/**
|
|
110
114
|
* Returns git diff output for working directory or specific file.
|
|
111
|
-
* Equivalent to
|
|
115
|
+
* Equivalent to CoWorker's GitDiff tool.
|
|
112
116
|
*/
|
|
113
117
|
static executeGitDiff(filePath?: string, staged?: boolean, cwd?: string): Promise<string>;
|
|
114
118
|
/**
|
|
115
119
|
* Stages files and creates a git commit.
|
|
116
|
-
* Equivalent to
|
|
120
|
+
* Equivalent to CoWorker's GitCommit tool.
|
|
117
121
|
*/
|
|
118
122
|
static executeGitCommit(message: string, files?: string[], cwd?: string): Promise<string>;
|
|
119
123
|
/**
|
|
120
124
|
* Reads output from a background process.
|
|
121
|
-
* Equivalent to
|
|
125
|
+
* Equivalent to CoWorker's BashOutput tool.
|
|
122
126
|
*/
|
|
123
127
|
static executeBashOutput(pid: number): Promise<string>;
|
|
124
128
|
/**
|
|
125
129
|
* Kills a running process by PID.
|
|
126
|
-
* Equivalent to
|
|
130
|
+
* Equivalent to CoWorker's KillShell tool.
|
|
127
131
|
*/
|
|
128
132
|
static executeKillShell(pid: number): Promise<string>;
|
|
129
133
|
/**
|
|
130
134
|
* Returns a sub-agent's result back to the parent agent.
|
|
131
|
-
* Equivalent to
|
|
135
|
+
* Equivalent to CoWorker's ReturnSubagentResult tool.
|
|
132
136
|
*/
|
|
133
137
|
static executeReturnSubagentResult(result: string): Promise<string>;
|
|
134
138
|
/**
|