agentroam-runtime-darwin-arm64 0.2.0-preview.39 → 0.2.0-preview.41
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/manifest.json +1 -1
- package/package.json +1 -1
- package/runtime/.next/BUILD_ID +1 -1
- package/runtime/.next/app-build-manifest.json +8 -8
- package/runtime/.next/app-path-routes-manifest.json +1 -1
- package/runtime/.next/build-manifest.json +3 -3
- package/runtime/.next/prerender-manifest.json +1 -1
- package/runtime/.next/required-server-files.json +1 -1
- package/runtime/.next/server/app/_not-found/page.js +1 -1
- package/runtime/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/runtime/.next/server/app/_not-found.html +1 -1
- package/runtime/.next/server/app/_not-found.rsc +1 -1
- package/runtime/.next/server/app/api/agent/abort/route.js +1 -1
- package/runtime/.next/server/app/api/agent/answer/route.js +1 -1
- package/runtime/.next/server/app/api/agent/harness/status/route.js +1 -1
- package/runtime/.next/server/app/api/agent/model/route.js +1 -1
- package/runtime/.next/server/app/api/agent/models/route.js +1 -1
- package/runtime/.next/server/app/api/agent/run/route.js +2 -2
- package/runtime/.next/server/app/api/agent/runtime-health/route.js +1 -1
- package/runtime/.next/server/app/api/agent/steer/route.js +1 -1
- package/runtime/.next/server/app/api/agent/stream/route.js +3 -3
- package/runtime/.next/server/app/api/agent-workspaces/[workspaceId]/sessions/route.js +1 -1
- package/runtime/.next/server/app/api/agent-workspaces/route.js +1 -1
- package/runtime/.next/server/app/api/auth/verify/route.js +1 -1
- package/runtime/.next/server/app/api/business/route.js +1 -1
- package/runtime/.next/server/app/api/client-logs/route.js +1 -1
- package/runtime/.next/server/app/api/flow/v1/catalog/route.js +1 -1
- package/runtime/.next/server/app/api/flow/v1/runs/[runId]/cancel/route.js +1 -1
- package/runtime/.next/server/app/api/flow/v1/runs/[runId]/events/route.js +2 -2
- package/runtime/.next/server/app/api/flow/v1/runs/route.js +1 -1
- package/runtime/.next/server/app/api/flow-studio/config/route.js +1 -1
- package/runtime/.next/server/app/api/mcp/connect/route.js +1 -1
- package/runtime/.next/server/app/api/mcp/disconnect/route.js +1 -1
- package/runtime/.next/server/app/api/mcp/servers/route.js +1 -1
- package/runtime/.next/server/app/api/memory/[key]/route.js +1 -1
- package/runtime/.next/server/app/api/memory/route.js +1 -1
- package/runtime/.next/server/app/api/plugins/load/route.js +1 -1
- package/runtime/.next/server/app/api/projects/[id]/route.js +1 -1
- package/runtime/.next/server/app/api/projects/check/route.js +1 -1
- package/runtime/.next/server/app/api/projects/directories/route.js +1 -1
- package/runtime/.next/server/app/api/projects/roots/route.js +1 -1
- package/runtime/.next/server/app/api/projects/route.js +1 -1
- package/runtime/.next/server/app/api/push/subscribe/route.js +2 -2
- package/runtime/.next/server/app/api/push/unsubscribe/route.js +2 -2
- package/runtime/.next/server/app/api/push/vapid/route.js +2 -2
- package/runtime/.next/server/app/api/push/vapid.body +1 -1
- package/runtime/.next/server/app/api/remote-tools/register/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/changes/route.js +2 -2
- package/runtime/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/fork-at/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/goals/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/handoff/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/query-index/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/release/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/thread-goal/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/[id]/tool-result/route.js +1 -1
- package/runtime/.next/server/app/api/sessions/route.js +1 -1
- package/runtime/.next/server/app/api/settings/route.js +1 -1
- package/runtime/.next/server/app/api/skills/route.js +1 -1
- package/runtime/.next/server/app/api/tool-policies/[policyId]/route.js +1 -1
- package/runtime/.next/server/app/api/tool-policies/route.js +1 -1
- package/runtime/.next/server/app/api/tools/route.js +1 -1
- package/runtime/.next/server/app/api/update/check/route.js +1 -1
- package/runtime/.next/server/app/api/update/install/route.js +1 -1
- package/runtime/.next/server/app/api/update/status/route.js +1 -1
- package/runtime/.next/server/app/api/web-auth/login/route.js +1 -1
- package/runtime/.next/server/app/api/web-auth/logout/route.js +1 -1
- package/runtime/.next/server/app/api/web-auth/revoke-all/route.js +1 -1
- package/runtime/.next/server/app/api/web-auth/setup/route.js +1 -1
- package/runtime/.next/server/app/api/web-auth/status/route.js +1 -1
- package/runtime/.next/server/app/api/web-console/bootstrap/route.js +1 -1
- package/runtime/.next/server/app/api/web-console/device-state/route.js +1 -1
- package/runtime/.next/server/app/api/web-console/history/route.js +1 -1
- package/runtime/.next/server/app/api/web-console/preferences/route.js +1 -1
- package/runtime/.next/server/app/web/page.js +2 -2
- package/runtime/.next/server/app/web/page_client-reference-manifest.js +1 -1
- package/runtime/.next/server/app-paths-manifest.json +28 -28
- package/runtime/.next/server/chunks/1322.js +1 -1
- package/runtime/.next/server/chunks/1773.js +1 -1
- package/runtime/.next/server/chunks/5303.js +1 -1
- package/runtime/.next/server/middleware-build-manifest.js +1 -1
- package/runtime/.next/server/pages/404.html +1 -1
- package/runtime/.next/server/pages/500.html +1 -1
- package/runtime/.next/server/server-reference-manifest.json +1 -1
- package/runtime/.next/static/chunks/app/web/{error-f69dbd3718cb2107.js → error-eea6b6c270ef86cb.js} +1 -1
- package/runtime/.next/static/chunks/app/web/layout-0991128047cc5e14.js +1 -0
- package/runtime/.next/static/chunks/app/web/{page-f9926cbf4c1badd4.js → page-d615bce909fdda0b.js} +1 -1
- package/runtime/.next/static/chunks/{main-app-d527fa0b25a0c755.js → main-app-9aaee005b4835e70.js} +1 -1
- package/runtime/server.js +1 -1
- package/runtime/webapp/dist/assets/{App-COIcZZvf.js → App-Bnv7-jUZ.js} +16 -16
- package/runtime/webapp/dist/assets/{abnfDiagram-VCTEODGH-d4urtMQU.js → abnfDiagram-VCTEODGH-CyHhjdFC.js} +1 -1
- package/runtime/webapp/dist/assets/{arc-DiQEpEJQ.js → arc-YykeV-yA.js} +1 -1
- package/runtime/webapp/dist/assets/{architectureDiagram-5GKGNRK7-CWYKGqND.js → architectureDiagram-5GKGNRK7-CPXGrnO0.js} +1 -1
- package/runtime/webapp/dist/assets/{blockDiagram-I7D4REHJ-J2I0b5Zn.js → blockDiagram-I7D4REHJ-DY5fPlHV.js} +1 -1
- package/runtime/webapp/dist/assets/{c4Diagram-7LVT6UL2-C-0xWeN3.js → c4Diagram-7LVT6UL2-D9IqQaEZ.js} +1 -1
- package/runtime/webapp/dist/assets/channel-DQNFzknQ.js +1 -0
- package/runtime/webapp/dist/assets/{chunk-2Q5K7J3B-CqodmK6L.js → chunk-2Q5K7J3B-Dq03q8Ff.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-5VM5RSS4-DClUnQcr.js → chunk-5VM5RSS4-V40WX1nt.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-F27PBJKO-CpaDg7Bg.js → chunk-F27PBJKO-CiCQWcQf.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-IMKFNOWR-CTIf9EjK.js → chunk-IMKFNOWR-EJT0DATb.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-JWPE2WC7-DKalSWMm.js → chunk-JWPE2WC7-B0T3KRl6.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-POPQ4Y6H-69MmeyRW.js → chunk-POPQ4Y6H-CBoqnL3A.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-SVP7TREG-DCXWXzhU.js → chunk-SVP7TREG-vc6mvklc.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-TICWLB2K-B5nbTEng.js → chunk-TICWLB2K-Co7ACWND.js} +1 -1
- package/runtime/webapp/dist/assets/{chunk-XXDRQBXY-DsJvkUuN.js → chunk-XXDRQBXY-CvByXr6J.js} +1 -1
- package/runtime/webapp/dist/assets/classDiagram-ZZMXUADV-DjmQeVYo.js +1 -0
- package/runtime/webapp/dist/assets/classDiagram-v2-VYDZK3BY-DjmQeVYo.js +1 -0
- package/runtime/webapp/dist/assets/{codeSyntax-DJH88FPL.js → codeSyntax-CEVVRDzr.js} +1 -1
- package/runtime/webapp/dist/assets/{cose-bilkent-JH36ORCC-BamzQ_e_.js → cose-bilkent-JH36ORCC-B6ijVOa6.js} +1 -1
- package/runtime/webapp/dist/assets/{cynefin-OW5HDTMX-BI_j1tbW.js → cynefin-OW5HDTMX-DNC_aald.js} +1 -1
- package/runtime/webapp/dist/assets/{cynefinDiagram-5FMLGOSQ-DuxMrVM2.js → cynefinDiagram-5FMLGOSQ-DMwAVRmf.js} +1 -1
- package/runtime/webapp/dist/assets/{dagre-GXQ25YYZ-Y9_ne36w.js → dagre-GXQ25YYZ-DtA0NmZw.js} +1 -1
- package/runtime/webapp/dist/assets/{diagram-S7CK7UJ4-DIIjO29m.js → diagram-S7CK7UJ4-B7SEmc9A.js} +1 -1
- package/runtime/webapp/dist/assets/{diagram-UQ7AKVKN-C4m2VMIy.js → diagram-UQ7AKVKN-CP_Xy1AP.js} +1 -1
- package/runtime/webapp/dist/assets/{diagram-VSXAHHWV-Cw5aPZ0o.js → diagram-VSXAHHWV-CMq6cPW9.js} +1 -1
- package/runtime/webapp/dist/assets/{diagram-VX7I27RA-W8nmVcOl.js → diagram-VX7I27RA-KIUvVPO4.js} +1 -1
- package/runtime/webapp/dist/assets/{diagram-Z3DM3KII-TksnHlQo.js → diagram-Z3DM3KII-UiMEplzj.js} +1 -1
- package/runtime/webapp/dist/assets/{ebnfDiagram-PWID7BFC-B3WM1b4a.js → ebnfDiagram-PWID7BFC-D221JIeM.js} +1 -1
- package/runtime/webapp/dist/assets/{erDiagram-RLTQ6QDP-BWctPuya.js → erDiagram-RLTQ6QDP-XKInLFA3.js} +1 -1
- package/runtime/webapp/dist/assets/{flowDiagram-HODETNUW-BG5RMrLN.js → flowDiagram-HODETNUW-BeT9GYtM.js} +1 -1
- package/runtime/webapp/dist/assets/{ganttDiagram-EL5Y4UJY-CPcR7Kn_.js → ganttDiagram-EL5Y4UJY-Dk8Uwf7E.js} +1 -1
- package/runtime/webapp/dist/assets/{gitGraphDiagram-WWUBYQGX-Sg6KChEd.js → gitGraphDiagram-WWUBYQGX-DiVf0w01.js} +1 -1
- package/runtime/webapp/dist/assets/{index-tQnPGo1_.js → index-D1I5RKVk.js} +3 -3
- package/runtime/webapp/dist/assets/{infoDiagram-27XIBGKW-BvrtvnrY.js → infoDiagram-27XIBGKW-DpVFXIO9.js} +1 -1
- package/runtime/webapp/dist/assets/{ishikawaDiagram-5VMMS53U-Bz-dZQLJ.js → ishikawaDiagram-5VMMS53U-ChWOHTzh.js} +1 -1
- package/runtime/webapp/dist/assets/{journeyDiagram-3NMN7TZE-Cb4s9jRE.js → journeyDiagram-3NMN7TZE-CTm0xDi4.js} +1 -1
- package/runtime/webapp/dist/assets/{kanban-definition-UXKFOSKX-IjMPUHg9.js → kanban-definition-UXKFOSKX-zVtWbTTX.js} +1 -1
- package/runtime/webapp/dist/assets/{layout-DHjqr0PJ.js → layout-C8tlpprW.js} +1 -1
- package/runtime/webapp/dist/assets/{linear-COctZkFy.js → linear-CArf8t7h.js} +1 -1
- package/runtime/webapp/dist/assets/{mermaid.core-BnonXfHT.js → mermaid.core-BVUH1a8m.js} +5 -5
- package/runtime/webapp/dist/assets/{mindmap-definition-YA3MSWOX-hxBlXJJE.js → mindmap-definition-YA3MSWOX-Cx7RFt-X.js} +1 -1
- package/runtime/webapp/dist/assets/{pegDiagram-XKGWAZYB-D6KJ8Ftm.js → pegDiagram-XKGWAZYB-BvEhVZgX.js} +1 -1
- package/runtime/webapp/dist/assets/{pieDiagram-E7YTZNPT-BzKWZmHN.js → pieDiagram-E7YTZNPT-U0qmhh14.js} +1 -1
- package/runtime/webapp/dist/assets/{quadrantDiagram-AXDQQJYC-ZhiPKt96.js → quadrantDiagram-AXDQQJYC-BbUHWejy.js} +1 -1
- package/runtime/webapp/dist/assets/{railroadDiagram-O6MQD6OU-BtKhiOPG.js → railroadDiagram-O6MQD6OU-SXZBMND2.js} +1 -1
- package/runtime/webapp/dist/assets/{requirementDiagram-BXWQKSXE-OFr_TA8V.js → requirementDiagram-BXWQKSXE-Cv9h1clg.js} +1 -1
- package/runtime/webapp/dist/assets/{sankeyDiagram-P5KCCOFB-qNTDFxAX.js → sankeyDiagram-P5KCCOFB-CSWUhEDJ.js} +1 -1
- package/runtime/webapp/dist/assets/{sequenceDiagram-WJ2MYXX4-B7s5-R4s.js → sequenceDiagram-WJ2MYXX4-Cy7gfOPU.js} +1 -1
- package/runtime/webapp/dist/assets/{sizeCapture-INFHLROL-DdFabbN6.js → sizeCapture-INFHLROL-DEJ8653D.js} +1 -1
- package/runtime/webapp/dist/assets/{stateDiagram-D77RDMKH-CmAN4pX7.js → stateDiagram-D77RDMKH-C9znHj1A.js} +1 -1
- package/runtime/webapp/dist/assets/stateDiagram-v2-MP3YSRHH-D4PTr_9g.js +1 -0
- package/runtime/webapp/dist/assets/{swimlanes-42K2YHIH-BQlIJAhf.js → swimlanes-42K2YHIH-D-1OGDuC.js} +1 -1
- package/runtime/webapp/dist/assets/swimlanesDiagram-VR7AAH4N-BnGs6oif.js +8 -0
- package/runtime/webapp/dist/assets/{timeline-definition-24CTP7MA--Y1zJ9mc.js → timeline-definition-24CTP7MA-fmk9SWID.js} +1 -1
- package/runtime/webapp/dist/assets/{vennDiagram-4TSXK5OY-CUn6FScx.js → vennDiagram-4TSXK5OY-CoJrdpIF.js} +1 -1
- package/runtime/webapp/dist/assets/{wardleyDiagram-VM6X3IG4-Bbz-WBd5.js → wardleyDiagram-VM6X3IG4-CQd2ig95.js} +1 -1
- package/runtime/webapp/dist/assets/{web-DzBEnE5q.js → web-CICIlrjx.js} +1 -1
- package/runtime/webapp/dist/assets/{web-harvpkJj.js → web-DdNvGACS.js} +1 -1
- package/runtime/webapp/dist/assets/{xychartDiagram-S5SC5T6Z-RA9edGdQ.js → xychartDiagram-S5SC5T6Z-Slg0Vzat.js} +1 -1
- package/runtime/webapp/dist/index.html +1 -1
- package/runtime/.next/static/chunks/app/web/layout-e0dd41d18df8ee9e.js +0 -1
- package/runtime/webapp/dist/assets/channel-B6S3kcST.js +0 -1
- package/runtime/webapp/dist/assets/classDiagram-ZZMXUADV-CyUA2YaV.js +0 -1
- package/runtime/webapp/dist/assets/classDiagram-v2-VYDZK3BY-CyUA2YaV.js +0 -1
- package/runtime/webapp/dist/assets/stateDiagram-v2-MP3YSRHH-DsxpCqde.js +0 -1
- package/runtime/webapp/dist/assets/swimlanesDiagram-VR7AAH4N-tji3GZVz.js +0 -8
- /package/runtime/.next/static/{BmUH3xLHQfGkG3yzEK37i → rwWTikOeChITsRklIaUDw}/_buildManifest.js +0 -0
- /package/runtime/.next/static/{BmUH3xLHQfGkG3yzEK37i → rwWTikOeChITsRklIaUDw}/_ssgManifest.js +0 -0
|
@@ -2,65 +2,65 @@
|
|
|
2
2
|
"/_not-found/page": "app/_not-found/page.js",
|
|
3
3
|
"/api/auth/verify/route": "app/api/auth/verify/route.js",
|
|
4
4
|
"/api/flow/v1/runs/route": "app/api/flow/v1/runs/route.js",
|
|
5
|
-
"/api/mcp/connect/route": "app/api/mcp/connect/route.js",
|
|
6
|
-
"/api/mcp/disconnect/route": "app/api/mcp/disconnect/route.js",
|
|
7
5
|
"/api/flow/v1/runs/[runId]/cancel/route": "app/api/flow/v1/runs/[runId]/cancel/route.js",
|
|
6
|
+
"/api/mcp/connect/route": "app/api/mcp/connect/route.js",
|
|
7
|
+
"/api/flow/v1/runs/[runId]/events/route": "app/api/flow/v1/runs/[runId]/events/route.js",
|
|
8
8
|
"/api/mcp/servers/route": "app/api/mcp/servers/route.js",
|
|
9
|
-
"/api/memory/route": "app/api/memory/route.js",
|
|
10
9
|
"/api/memory/[key]/route": "app/api/memory/[key]/route.js",
|
|
11
|
-
"/api/
|
|
12
|
-
"/api/projects/check/route": "app/api/projects/check/route.js",
|
|
10
|
+
"/api/memory/route": "app/api/memory/route.js",
|
|
13
11
|
"/api/plugins/load/route": "app/api/plugins/load/route.js",
|
|
14
|
-
"/api/projects/
|
|
12
|
+
"/api/projects/check/route": "app/api/projects/check/route.js",
|
|
15
13
|
"/api/projects/roots/route": "app/api/projects/roots/route.js",
|
|
14
|
+
"/api/projects/[id]/route": "app/api/projects/[id]/route.js",
|
|
16
15
|
"/api/projects/route": "app/api/projects/route.js",
|
|
17
16
|
"/api/push/subscribe/route": "app/api/push/subscribe/route.js",
|
|
18
|
-
"/api/
|
|
17
|
+
"/api/projects/directories/route": "app/api/projects/directories/route.js",
|
|
19
18
|
"/api/push/vapid/route": "app/api/push/vapid/route.js",
|
|
19
|
+
"/api/push/unsubscribe/route": "app/api/push/unsubscribe/route.js",
|
|
20
20
|
"/api/sessions/[id]/fork-at/route": "app/api/sessions/[id]/fork-at/route.js",
|
|
21
|
+
"/api/mcp/disconnect/route": "app/api/mcp/disconnect/route.js",
|
|
21
22
|
"/api/remote-tools/register/route": "app/api/remote-tools/register/route.js",
|
|
22
|
-
"/api/flow/v1/runs/[runId]/events/route": "app/api/flow/v1/runs/[runId]/events/route.js",
|
|
23
|
-
"/api/tool-policies/[policyId]/route": "app/api/tool-policies/[policyId]/route.js",
|
|
24
23
|
"/api/skills/route": "app/api/skills/route.js",
|
|
24
|
+
"/api/tool-policies/[policyId]/route": "app/api/tool-policies/[policyId]/route.js",
|
|
25
25
|
"/api/tools/route": "app/api/tools/route.js",
|
|
26
26
|
"/api/web-auth/login/route": "app/api/web-auth/login/route.js",
|
|
27
27
|
"/api/web-auth/logout/route": "app/api/web-auth/logout/route.js",
|
|
28
28
|
"/api/web-auth/revoke-all/route": "app/api/web-auth/revoke-all/route.js",
|
|
29
29
|
"/api/web-auth/setup/route": "app/api/web-auth/setup/route.js",
|
|
30
|
-
"/api/web-console/history/route": "app/api/web-console/history/route.js",
|
|
31
30
|
"/api/web-console/preferences/route": "app/api/web-console/preferences/route.js",
|
|
32
|
-
"/api/
|
|
31
|
+
"/api/web-console/history/route": "app/api/web-console/history/route.js",
|
|
32
|
+
"/api/agent-workspaces/[workspaceId]/sessions/route": "app/api/agent-workspaces/[workspaceId]/sessions/route.js",
|
|
33
33
|
"/api/agent/abort/route": "app/api/agent/abort/route.js",
|
|
34
|
+
"/api/agent-workspaces/route": "app/api/agent-workspaces/route.js",
|
|
34
35
|
"/api/agent/answer/route": "app/api/agent/answer/route.js",
|
|
35
|
-
"/api/agent
|
|
36
|
+
"/api/agent/harness/status/route": "app/api/agent/harness/status/route.js",
|
|
36
37
|
"/api/agent/model/route": "app/api/agent/model/route.js",
|
|
37
|
-
"/api/agent/runtime-health/route": "app/api/agent/runtime-health/route.js",
|
|
38
38
|
"/api/agent/models/route": "app/api/agent/models/route.js",
|
|
39
|
-
"/api/
|
|
39
|
+
"/api/agent/runtime-health/route": "app/api/agent/runtime-health/route.js",
|
|
40
|
+
"/api/agent/steer/route": "app/api/agent/steer/route.js",
|
|
40
41
|
"/api/flow-studio/config/route": "app/api/flow-studio/config/route.js",
|
|
42
|
+
"/api/business/route": "app/api/business/route.js",
|
|
41
43
|
"/api/flow/v1/catalog/route": "app/api/flow/v1/catalog/route.js",
|
|
42
|
-
"/api/agent/steer/route": "app/api/agent/steer/route.js",
|
|
43
|
-
"/api/agent-workspaces/route": "app/api/agent-workspaces/route.js",
|
|
44
44
|
"/api/client-logs/route": "app/api/client-logs/route.js",
|
|
45
|
-
"/api/sessions/[id]/handoff/route": "app/api/sessions/[id]/handoff/route.js",
|
|
46
|
-
"/api/sessions/[id]/changes/route": "app/api/sessions/[id]/changes/route.js",
|
|
47
45
|
"/api/agent/stream/route": "app/api/agent/stream/route.js",
|
|
48
|
-
"/api/sessions/[id]/
|
|
49
|
-
"/api/
|
|
50
|
-
"/api/sessions/[id]/
|
|
51
|
-
"/api/settings/route": "app/api/settings/route.js",
|
|
46
|
+
"/api/sessions/[id]/changes/route": "app/api/sessions/[id]/changes/route.js",
|
|
47
|
+
"/api/sessions/[id]/handoff/route": "app/api/sessions/[id]/handoff/route.js",
|
|
48
|
+
"/api/sessions/[id]/fork/route": "app/api/sessions/[id]/fork/route.js",
|
|
52
49
|
"/api/sessions/[id]/release/route": "app/api/sessions/[id]/release/route.js",
|
|
50
|
+
"/api/settings/route": "app/api/settings/route.js",
|
|
53
51
|
"/api/sessions/[id]/thread-goal/route": "app/api/sessions/[id]/thread-goal/route.js",
|
|
54
|
-
"/api/sessions/[id]/
|
|
52
|
+
"/api/sessions/[id]/tool-result/route": "app/api/sessions/[id]/tool-result/route.js",
|
|
55
53
|
"/api/tool-policies/route": "app/api/tool-policies/route.js",
|
|
56
|
-
"/api/
|
|
57
|
-
"/api/sessions/[id]/route": "app/api/sessions/[id]/route.js",
|
|
54
|
+
"/api/agent/run/route": "app/api/agent/run/route.js",
|
|
58
55
|
"/api/sessions/route": "app/api/sessions/route.js",
|
|
59
|
-
"/api/
|
|
56
|
+
"/api/sessions/[id]/query-index/route": "app/api/sessions/[id]/query-index/route.js",
|
|
57
|
+
"/api/update/check/route": "app/api/update/check/route.js",
|
|
58
|
+
"/api/update/status/route": "app/api/update/status/route.js",
|
|
60
59
|
"/api/web-console/bootstrap/route": "app/api/web-console/bootstrap/route.js",
|
|
60
|
+
"/api/update/install/route": "app/api/update/install/route.js",
|
|
61
61
|
"/api/web-auth/status/route": "app/api/web-auth/status/route.js",
|
|
62
|
-
"/api/
|
|
62
|
+
"/api/sessions/[id]/route": "app/api/sessions/[id]/route.js",
|
|
63
63
|
"/api/web-console/device-state/route": "app/api/web-console/device-state/route.js",
|
|
64
|
-
"/api/sessions/[id]/
|
|
64
|
+
"/api/sessions/[id]/goals/route": "app/api/sessions/[id]/goals/route.js",
|
|
65
65
|
"/web/page": "app/web/page.js"
|
|
66
66
|
}
|
|
@@ -627,6 +627,6 @@ ${e.entry.content}`;if(n+t.length>a)break;i.push(t),n+=t.length}return i.join(`
|
|
|
627
627
|
updated = excluded.updated
|
|
628
628
|
`).run(t.id,t.name,t.enabled?1:0,JSON.stringify(t),i,s),{...t,created:i,updated:s}}async delete(e){return this.db.prepare("DELETE FROM tool_execution_policies WHERE id = ?").run(e).changes>0}}function n4(e){return{...ee(JSON.parse(e.definition)),id:e.id,name:e.name,enabled:1===e.enabled,created:e.created,updated:e.updated}}class n3 extends Error{constructor(e,t,r){super(t,r),this.name="HostPathError",this.code=e}}function n9(e,t){let r=e?.code;return"ENOENT"===r||"ENOTDIR"===r?new n3("PATH_NOT_FOUND",`路径不存在:${t}`,{cause:e}):new n3("PATH_UNREADABLE",`无法访问路径:${t}`,{cause:e})}function n6(e){let t=(0,l.resolve)(e);try{return d.realpathSync.native(t)}catch(e){throw n9(e,t)}}class n5{constructor(e){let t=[];for(let r of e){let e;if(!r?.trim())continue;let s=n6(r.trim());try{e=(0,d.statSync)(s)}catch(e){throw n9(e,s)}if(!e.isDirectory())throw new n3("PATH_NOT_DIRECTORY",`不是目录:${s}`);t.includes(s)||t.push(s)}if(0===t.length)throw new n3("PATH_UNREADABLE","没有可用的宿主机目录根路径");this.roots=t}static fromEnvironment(e,t){return new n5((e?.trim()?e:t).split(l.delimiter))}assertAllowed(e){if("string"!=typeof e||!e.trim())throw new n3("PATH_NOT_FOUND","路径不能为空");let t=n6(e.trim());if(!this.roots.some(e=>(function(e,t){let r=(0,l.relative)(e,t);return""===r||".."!==r&&!r.startsWith(`..${l.sep}`)&&!(0,l.isAbsolute)(r)})(e,t)))throw new n3("PATH_OUTSIDE_ROOT",`路径不在允许范围内:${t}`);return t}assertDirectory(e){let t;let r=this.assertAllowed(e);try{t=(0,d.statSync)(r)}catch(e){throw n9(e,r)}if(!t.isDirectory())throw new n3("PATH_NOT_DIRECTORY",`不是目录:${r}`);return r}listDirectories(e){let t;let r=this.assertDirectory(e);try{t=(0,d.readdirSync)(r,{withFileTypes:!0})}catch(e){throw n9(e,r)}let s=[];for(let e of t){let t,i;let n=(0,l.resolve)(r,e.name);try{t=this.assertAllowed(n)}catch{continue}try{let e=(0,d.statSync)(t);if(e.isDirectory())i="directory";else{if(!e.isFile())continue;i="file"}}catch{continue}s.push({name:e.name||(0,l.basename)(t),path:t,kind:i,hasChildren:"directory"===i&&this.hasAllowedDirectoryChild(t)})}return s.sort((e,t)=>{if(e.kind!==t.kind)return"directory"===e.kind?-1:1;let r=e.name.startsWith(".");return r!==t.name.startsWith(".")?r?1:-1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})})}hasAllowedDirectoryChild(e){try{return(0,d.readdirSync)(e,{withFileTypes:!0}).some(t=>{if(!t.isDirectory()&&!t.isSymbolicLink())return!1;try{return this.assertDirectory((0,l.resolve)(e,t.name)),!0}catch{return!1}})}catch{return!1}}}var n8={debug:10,info:20,warn:30,error:40,fatal:50},n7=Symbol.for("agentroam.DailyFileLogger.v1"),ae=Symbol.for("agentroam.globalLogger.children");function at(e){try{return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)??"null"}catch{try{return JSON.stringify(String(e))}catch{return'"[unserializable]"'}}}class ar{constructor(e){this[n7]=!0,this[ae]=new Map,this.activeDay="",this.activeFile="",this.queue=Promise.resolve(),this.pendingLines=[],this.loggedWriteFailure=new Set,this.writeFailures=0,this.consoleIntercepted=!1,this.originalConsoleError=null,this.originalConsoleWarn=null,this.dir=e.dir,this.source=e.source,this.minLevel=e.minLevel??"debug",this.retentionDays=e.retentionDays??30,this.maxLineBytes=e.maxLineBytes??262144,this.now=e.now??(()=>new Date)}debug(e,t,r){this.log("debug",e,t,r)}info(e,t,r){this.log("info",e,t,r)}warn(e,t,r){this.log("warn",e,t,r)}error(e,t,r){this.log("error",e,t,r)}fatal(e,t,r){this.log("fatal",e,t,r)}log(e,t,r,s){try{if((n8[e]??0)<(n8[this.minLevel]??0))return;let i={ts:this.now().toISOString(),level:e,source:this.source,message:"string"==typeof t?t:String(t)};r instanceof Error||null!==r&&"object"==typeof r&&!Array.isArray(r)&&"message"in r?(i.error=function(e){if(null!=e){if(e instanceof Error){let t={name:e.name,message:e.message};return e.stack&&(t.stack=e.stack),t}if("object"==typeof e||"function"==typeof e){let t={name:"string"==typeof e.name?e.name:"NonError",message:"string"==typeof e.message?e.message:String(e)};return"string"==typeof e.stack&&(t.stack=e.stack),t}return{name:"NonError",message:String(e)}}}(r),void 0!==s&&(i.data=s)):void 0!==s?i.data=s:void 0!==r&&(i.data=r),this.enqueue(e,i)}catch{this.writeFailures++}}child(e){return new ar({dir:this.dir,source:e,minLevel:this.minLevel,retentionDays:this.retentionDays,maxLineBytes:this.maxLineBytes,now:this.now})}async flush(){await this.queue}interceptConsole(){if(this.consoleIntercepted)return()=>{};this.consoleIntercepted=!0,this.originalConsoleError=console.error.bind(console),this.originalConsoleWarn=console.warn.bind(console);let e=this;return console.error=(...t)=>{e.log("error",as(t)),e.originalConsoleError(...t)},console.warn=(...t)=>{e.log("warn",as(t)),e.originalConsoleWarn(...t)},()=>{this.consoleIntercepted&&(this.originalConsoleError&&(console.error=this.originalConsoleError),this.originalConsoleWarn&&(console.warn=this.originalConsoleWarn),this.consoleIntercepted=!1,this.originalConsoleError=null,this.originalConsoleWarn=null)}}installGlobalErrorHandlers(e={}){let t=globalThis[ai];if(t)return t;let r=e.exitOnUncaughtException??!0,s=e=>{if(this.fatal("uncaughtException",e),!r)return;let t=setTimeout(()=>process.exit(1),1e3);t.unref?.(),this.queue.catch(()=>{}).then(()=>{clearTimeout(t),process.exit(1)})},i=e=>{this.error("unhandledRejection",e)};process.on("uncaughtException",s),process.on("unhandledRejection",i);let n={uninstall:()=>{process.off("uncaughtException",s),process.off("unhandledRejection",i);let e=globalThis;e[ai]===n&&delete e[ai]}};return globalThis[ai]=n,n}flushSync(){let e=this.pendingLines.splice(0);if(0!==e.length)try{let t=this.resolveDay();this.ensureDirSync(),(0,d.appendFileSync)(this.fileForDay(t),e.join(""),"utf8")}catch{this.writeFailures+=e.length,this.reportWriteFailureOnce("sync flush failed")}}enqueue(e,t){let r;try{r=this.renderLine(t)}catch{this.writeFailures++;return}if("fatal"===e){this.pendingLines.push(r),this.flushSync();return}this.queue=this.queue.then(()=>this.appendAsync(r)).catch(()=>{this.writeFailures++,this.reportWriteFailureOnce(this.activeFile||this.dir)})}renderLine(e){let t=at(e);if(t.length>this.maxLineBytes){let r={...e,message:e.message.slice(0,2e3),data:"[truncated: line exceeded limit]"};r.error?.stack&&(r.error.stack=r.error.stack.slice(0,8e3)),t=at(r)}return`${t}
|
|
629
629
|
`}async appendAsync(e){let t=this.resolveDay();t!==this.activeDay&&(this.activeDay=t,this.activeFile=this.fileForDay(t),await (0,u.mkdir)(this.dir,{recursive:!0}),this.cleanupOldFiles().catch(()=>{}));try{await (0,u.appendFile)(this.activeFile,e,"utf8")}catch(t){try{await (0,u.mkdir)(this.dir,{recursive:!0}),await (0,u.appendFile)(this.activeFile,e,"utf8")}catch{this.writeFailures++,this.reportWriteFailureOnce(t instanceof Error?t.message:String(t))}}}resolveDay(){return function(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${s}`}(this.now())}fileForDay(e){return(0,l.join)(this.dir,`${e}.log`)}ensureDirSync(){(0,d.existsSync)(this.dir)||(0,d.mkdirSync)(this.dir,{recursive:!0})}cleanupOldFiles(){return(async()=>{if(this.retentionDays<=0)return;let e=Date.now()-864e5*this.retentionDays;for(let t of(await (0,u.readdir)(this.dir))){if(!/^\d{4}-\d{2}-\d{2}\.log$/.test(t))continue;let r=(0,l.join)(this.dir,t);try{(0,d.statSync)(r).mtimeMs<e&&await (0,u.unlink)(r)}catch{}}})()}reportWriteFailureOnce(e){if(!this.loggedWriteFailure.has(e)){this.loggedWriteFailure.add(e);try{process.stderr.write(`[global-logger] failed to write log file (${e}); further failures are silent
|
|
630
|
-
`)}catch{}}}}function as(e){return e.map(e=>"string"==typeof e?e:e instanceof Error?e.stack??`${e.name}: ${e.message}`:at(e)).join(" ")}var ai=Symbol.for("agentroam.globalLogger.errorHandlers"),an=Symbol.for("agentroam.globalLogger.instance");function aa(e){return null!==e&&"object"==typeof e&&!0===e[n7]&&"function"==typeof e.log&&"function"==typeof e.child&&"function"==typeof e.flush}function ao(){let e=globalThis[an];return aa(e)?e:null}function al(e){let t=function(e){let t=globalThis,r=t[an];if(aa(r))return r;let s=new ar(e);return t[an]=s,s}(e);return t.installGlobalErrorHandlers(e.handlers??{exitOnUncaughtException:!0}),!1!==e.interceptConsole&&t.interceptConsole(),t}function ad(e,t,r,s,i){let n=ao();if(!n)return;let a=n[ae],o=a.get(t);o||(o=n.child(t),a.set(t,o)),o.log(e,r,s,i)}function ac(e){return e.replace(/\b(?:sk|rk)-[A-Za-z0-9_-]{8,}/g,"[REDACTED]").replace(/(bearer\s+)[^\s"']+/gi,"$1[REDACTED]").replace(/((?:api[_-]?key|token|password|secret|authorization|cookie)["']?\s*[:=]\s*["']?)[^\s,"'}]+/gi,"$1[REDACTED]").replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/g,"$1[REDACTED]@")}function au(e,t=0){return t>6?"[depth limit]":"string"==typeof e?ac(e).slice(0,1600):Array.isArray(e)?e.slice(0,24).map(e=>au(e,t+1)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).slice(0,40).map(([e,r])=>[e,/api.?key|token$|password|secret|authorization|cookie|images|reasoning/i.test(e)&&!/tokens|ratio/i.test(e)?"[REDACTED]":au(r,t+1)])):e}function ah(e){let t=e=>Array.isArray(e)?e.map(t):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,r])=>[e,t(r)])):e;return(0,m.createHash)("sha256").update(JSON.stringify(t(e))).digest("hex").slice(0,24)}async function ap(e){for(let t of e)if(t)try{return await (0,u.access)(t,u.constants.X_OK),t}catch{}}async function am(e){let t=[e,process.cwd()];try{t.push((0,l.dirname)((0,p.fileURLToPath)("file:///Users/caoqu/.codex/worktrees/npm-preview-
|
|
630
|
+
`)}catch{}}}}function as(e){return e.map(e=>"string"==typeof e?e:e instanceof Error?e.stack??`${e.name}: ${e.message}`:at(e)).join(" ")}var ai=Symbol.for("agentroam.globalLogger.errorHandlers"),an=Symbol.for("agentroam.globalLogger.instance");function aa(e){return null!==e&&"object"==typeof e&&!0===e[n7]&&"function"==typeof e.log&&"function"==typeof e.child&&"function"==typeof e.flush}function ao(){let e=globalThis[an];return aa(e)?e:null}function al(e){let t=function(e){let t=globalThis,r=t[an];if(aa(r))return r;let s=new ar(e);return t[an]=s,s}(e);return t.installGlobalErrorHandlers(e.handlers??{exitOnUncaughtException:!0}),!1!==e.interceptConsole&&t.interceptConsole(),t}function ad(e,t,r,s,i){let n=ao();if(!n)return;let a=n[ae],o=a.get(t);o||(o=n.child(t),a.set(t,o)),o.log(e,r,s,i)}function ac(e){return e.replace(/\b(?:sk|rk)-[A-Za-z0-9_-]{8,}/g,"[REDACTED]").replace(/(bearer\s+)[^\s"']+/gi,"$1[REDACTED]").replace(/((?:api[_-]?key|token|password|secret|authorization|cookie)["']?\s*[:=]\s*["']?)[^\s,"'}]+/gi,"$1[REDACTED]").replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/g,"$1[REDACTED]@")}function au(e,t=0){return t>6?"[depth limit]":"string"==typeof e?ac(e).slice(0,1600):Array.isArray(e)?e.slice(0,24).map(e=>au(e,t+1)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).slice(0,40).map(([e,r])=>[e,/api.?key|token$|password|secret|authorization|cookie|images|reasoning/i.test(e)&&!/tokens|ratio/i.test(e)?"[REDACTED]":au(r,t+1)])):e}function ah(e){let t=e=>Array.isArray(e)?e.map(t):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,r])=>[e,t(r)])):e;return(0,m.createHash)("sha256").update(JSON.stringify(t(e))).digest("hex").slice(0,24)}async function ap(e){for(let t of e)if(t)try{return await (0,u.access)(t,u.constants.X_OK),t}catch{}}async function am(e){let t=[e,process.cwd()];try{t.push((0,l.dirname)((0,p.fileURLToPath)("file:///Users/caoqu/.codex/worktrees/npm-preview-41/customer-agent/packages/core/dist/index.js")))}catch{}for(let e of t){if(!e)continue;let t=e;for(let e=0;e<8;e++){try{return await (0,u.access)((0,l.join)(t,"scripts/harness/daemon.ts")),t}catch{}let e=(0,l.dirname)(t);if(e===t)break;t=e}}}class af{constructor(e){this.child=null,this.starting=null,this.closed=!1,this.model=null,this.current={state:"stopped"},this.restartCount=0,this.runtimeVersion="unknown",this.onExit=()=>{this.child?.stdin.end(),this.child?.kill("SIGTERM")},this.options=e}get status(){return{...this.current}}setModel(e){}start(){return this.closed||this.child?Promise.resolve():(this.starting||(this.starting=this.launch().catch(()=>{this.current={state:"unavailable",detail:"Companion launch failed"}}).finally(()=>{this.starting=null})),this.starting)}async launch(){if(!1===this.options.enabled||!0!==this.options.enabled&&(process.env.VITEST||"0"===process.env.AGENT_HARNESS_AUTOSTART))return;this.current={state:"starting"};let e=await am(this.options.sourceRoot),t=await ap([this.options.bunExecutable,process.env.HARNESS_BUN_BINARY,(0,l.join)((0,f.homedir)(),".bun/bin/bun"),"/opt/homebrew/bin/bun"]),r=await ap([this.options.nodeExecutable,process.env.HARNESS_NODE_BINARY,(0,l.join)((0,f.homedir)(),".nvm/versions/node/v22.22.0/bin/node"),"/opt/homebrew/opt/node@22/bin/node"]);if(!e||!t||!r||"darwin"!==process.platform){this.current={state:"unavailable",detail:"Requires a source checkout, Bun, Node 22 and macOS"};return}if(this.closed)return;if("unknown"===this.runtimeVersion)try{this.runtimeVersion=ah(await (0,u.readFile)((0,p.fileURLToPath)("file:///Users/caoqu/.codex/worktrees/npm-preview-41/customer-agent/packages/core/dist/index.js"),"utf8"))}catch{}let s=this.options.stateDirectory??(0,l.join)((0,f.homedir)(),".customer-agent-harness"),i=(0,c.spawn)(t,[(0,l.join)(e,"scripts/harness/daemon.ts"),e,s,this.options.owner,r],{cwd:e,env:{...process.env,HARNESS_PARENT_PID:String(process.pid)},stdio:["pipe","pipe","pipe"]});this.child=i,process.removeListener("exit",this.onExit),process.once("exit",this.onExit);let n="";i.stdout.on("data",e=>{let t;for(n=(n+e.toString()).slice(-256e3);(t=n.indexOf(`
|
|
631
631
|
`))>=0;){let e=n.slice(0,t);n=n.slice(t+1);try{let t=JSON.parse(e);"status"===t.type&&(this.current={state:t.state,pid:i.pid,modelId:t.modelId,detail:t.detail,quality:t.quality},console.info(`[harness] ${this.options.owner}: ${t.state} (pid ${i.pid})`))}catch{}}}),i.stderr.on("data",()=>{}),i.stdin.on("error",()=>{}),i.once("error",()=>{this.current={state:"unavailable",detail:"Companion launch failed"}}),i.once("close",()=>{this.child===i&&(this.child=null),this.current={state:this.closed?"stopped":"unavailable",detail:this.closed?void 0:"Companion exited"},!this.closed&&this.restartCount++<2&&setTimeout(()=>{this.start()},1e3).unref()}),this.model&&this.send({type:"configure",model:this.model})}send(e){this.child?.stdin.writable&&this.child.stdin.write(JSON.stringify(e)+`
|
|
632
632
|
`)}observe(e,t){try{this.send({type:"observation",sessionId:e,data:au(t)})}catch{}}async *monitor(e,t){await this.start();let r=(0,m.randomUUID)();this.send({type:"begin",id:r,...t,input:ac(t.input).slice(0,8e3),runtimeVersion:this.runtimeVersion,owner:this.options.owner});let s=0;try{for await(let t of e){if("text_chunk"!==t.type||Date.now()-s>1e3){let e="ask_user"===t.type||"tool_call"===t.type&&"ask_user"===t.toolCall.name,i={type:t.type};"tool_call"===t.type?i={type:t.type,tool:t.toolCall.name,callId:t.toolCall.id,argumentsHash:ah(t.toolCall.arguments),arguments:au(t.toolCall.arguments)}:"tool_result"===t.type?i={type:t.type,callId:t.result.toolCallId,resultHash:ah(t.result.content),isError:t.result.isError,preview:ac(t.result.content).slice(0,1200)}:["context_usage","compacted","error","done","turn_aborted"].includes(t.type)&&(i=au(t)),this.send({type:"progress",id:r,eventType:t.type,waiting:e,data:i,tool:"tool_call"===t.type?t.toolCall.name:void 0}),s=Date.now()}yield t}}catch(e){throw this.send({type:"fault",id:r,message:ac(e instanceof Error?e.stack??e.message:String(e))}),e}finally{this.send({type:"end",id:r})}}async withUserWait(e,t){this.send({type:"waiting",sessionId:e,waiting:!0});try{return await t()}finally{this.send({type:"waiting",sessionId:e,waiting:!1})}}close(){this.closed=!0,process.removeListener("exit",this.onExit),this.send({type:"shutdown"});let e=this.child;if(e){e.stdin.end();let t=setTimeout(()=>{null===e.exitCode&&e.kill("SIGTERM")},3e3);t.unref(),e.once("exit",()=>clearTimeout(t))}this.current={state:"stopped"}}}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=1773,exports.ids=[1773],exports.modules={785:(e,t,s)=>{s.d(t,{ME:()=>o,kO:()=>a,sr:()=>l});var i=s(9411);let r=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),s=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(s)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=r){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let s=e.AGENT_LOG_DIR?.trim();if(s)return(0,i.resolve)(s);let r=e.AGENTROAM_DATA_DIR?.trim();return r?(0,i.resolve)(r,"logs"):(0,i.join)(t,".agent-data","logs")}function l(){return function(e=process.env,t=r){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}},6279:(e,t,s)=>{s.d(t,{Db:()=>sx,L:()=>ey,LW:()=>F,ST:()=>sT,Vu:()=>eo,WH:()=>sn,Zr:()=>j,no:()=>W,v6:()=>sr});var i,r,n=s(2033),a=s(1322),o=s(7718),l=s(3977),d=s(612),u=s(9411),c=s(6915),h=s(5881),p=s(7728),m=s(7561),f=s(6005),g=s(7503),y=s(4492),_=s(6244),w=Object.create,v=Object.getPrototypeOf,S=Object.defineProperty,I=Object.getOwnPropertyNames,b=Object.prototype.hasOwnProperty;function E(e){return this[e]}var T=(e,t,s)=>{var n=null!=e&&"object"==typeof e;if(n){var a=t?i??=new WeakMap:r??=new WeakMap,o=a.get(e);if(o)return o}s=null!=e?w(v(e)):{};let l=!t&&e&&e.__esModule?s:S(s,"default",{value:e,enumerable:!0});for(let t of I(e))b.call(l,t)||S(l,t,{get:E.bind(e,t),enumerable:!0});return n&&a.set(e,l),l},x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),k=(0,n.createRequire)("file:///Users/caoqu/.codex/worktrees/npm-preview-39/customer-agent/packages/native-runtime/dist/index.js"),C=x((e,t)=>{var s=["nodebuffer","arraybuffer","fragments"],i="undefined"!=typeof Blob;i&&s.push("blob"),t.exports={BINARY_TYPES:s,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:i,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}}),O=x((e,t)=>{var{EMPTY_BUFFER:s}=C(),i=Buffer[Symbol.species];function r(e,t,s,i,r){for(let n=0;n<r;n++)s[i+n]=e[n]^t[3&n]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}if(t.exports={concat:function(e,t){if(0===e.length)return s;if(1===e.length)return e[0];let r=Buffer.allocUnsafe(t),n=0;for(let t=0;t<e.length;t++){let s=e[t];r.set(s,n),n+=s.length}return n<t?new i(r.buffer,r.byteOffset,n):r},mask:r,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:function e(t){let s;return(e.readOnly=!0,Buffer.isBuffer(t))?t:(t instanceof ArrayBuffer?s=new i(t):ArrayBuffer.isView(t)?s=new i(t.buffer,t.byteOffset,t.byteLength):(s=Buffer.from(t),e.readOnly=!1),s)},unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let e=(()=>{throw Error("Cannot require module bufferutil")})();t.exports.mask=function(t,s,i,n,a){a<48?r(t,s,i,n,a):e.mask(t,s,i,n,a)},t.exports.unmask=function(t,s){t.length<32?n(t,s):e.unmask(t,s)}}catch(e){}}),N=x((e,t)=>{var s=Symbol("kDone"),i=Symbol("kRun");class r{constructor(e){this[s]=()=>{this.pending--,this[i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[i]()}[i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[s])}}}t.exports=r}),R=x((e,t)=>{var s,i=k("zlib"),r=O(),n=N(),{kStatusCode:a}=C(),o=Buffer[Symbol.species],l=Buffer.from([0,0,255,255]),d=Symbol("permessage-deflate"),u=Symbol("total-length"),c=Symbol("callback"),h=Symbol("buffers"),p=Symbol("error");class m{constructor(e){this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._maxPayload=0|this._options.maxPayload,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,s||(s=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[c];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||("number"==typeof e.client_max_window_bits?!(t.clientMaxWindowBits>e.client_max_window_bits):!!e.client_max_window_bits)));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,i){s.add(s=>{this._decompress(e,t,(e,t)=>{s(),i(e,t)})})}compress(e,t,i){s.add(s=>{this._compress(e,t,(e,t)=>{s(),i(e,t)})})}_decompress(e,t,s){let n=this._isServer?"client":"server";if(!this._inflate){let e=`${n}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[d]=this,this._inflate[u]=0,this._inflate[h]=[],this._inflate.on("error",y),this._inflate.on("data",g)}this._inflate[c]=s,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{let e=this._inflate[p];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=r.concat(this._inflate[h],this._inflate[u]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[u]=0,this._inflate[h]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let n=this._isServer?"server":"client";if(!this._deflate){let e=`${n}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[u]=0,this._deflate[h]=[],this._deflate.on("data",f)}this._deflate[c]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=r.concat(this._deflate[h],this._deflate[u]);t&&(e=new o(e.buffer,e.byteOffset,e.length-4)),this._deflate[c]=null,this._deflate[u]=0,this._deflate[h]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}function f(e){this[h].push(e),this[u]+=e.length}function g(e){if(this[u]+=e.length,this[d]._maxPayload<1||this[u]<=this[d]._maxPayload){this[h].push(e);return}this[p]=RangeError("Max payload size exceeded"),this[p].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[p][a]=1009,this.removeListener("data",g),this.reset()}function y(e){if(this[d]._inflate=null,this[p]){this[c](this[p]);return}e[a]=1007,this[c](e)}t.exports=m}),A=x((e,t)=>{var{isUtf8:s}=k("buffer"),{hasBlob:i}=C();function r(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(t.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:r,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},s)t.exports.isValidUTF8=function(e){return e.length<24?r(e):s(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=(()=>{throw Error("Cannot require module utf-8-validate")})();t.exports.isValidUTF8=function(t){return t.length<32?r(t):e(t)}}catch(e){}}),P=x((e,t)=>{var{Writable:s}=k("stream"),i=R(),{BINARY_TYPES:r,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:o}=C(),{concat:l,toArrayBuffer:d,unmask:u}=O(),{isValidStatusCode:c,isValidUTF8:h}=A(),p=Buffer[Symbol.species];class m extends s{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||r[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=0|e.maxBufferedChunks,this._maxFragments=0|e.maxFragments,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[o]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._numFragments=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){s(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new p(t.buffer,t.byteOffset+e,t.length-e),new p(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=t.length-e;e>=s.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new p(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0){e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));return}let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName]){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(!this._fragmented){e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented){e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));return}if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength){e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"));return}}else{e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked){e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"));return}}else if(this._masked){e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));return}126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);if(s>2097151){e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));return}this._payloadLength=4294967296*s+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&u(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._maxFragments>0&&++this._numFragments>this._maxFragments){e(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._numFragments=0,this._fragments=[],2===this._opcode){let i;i="nodebuffer"===this._binaryType?l(s,t):"arraybuffer"===this._binaryType?d(l(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",i,!0),this._state=0,this.startLoop(e)}))}else{let i=l(s,t);if(!this._skipUTF8Validation&&!h(i)){e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}5===this._state||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",i,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!c(s)){t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));return}let i=new p(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!h(i)){t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,i,r){this._loop=!1,this._errored=!0;let n=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(n,this.createError),n.code=r,n[a]=i,n}}t.exports=m}),M=x((e,t)=>{var s,{Duplex:i}=k("stream"),{randomFillSync:r}=k("crypto"),{types:{isUint8Array:n}}=k("util"),a=R(),{EMPTY_BUFFER:o,kWebSocket:l,NOOP:d}=C(),{isBlob:u,isValidStatusCode:c}=A(),{mask:h,toBuffer:p}=O(),m=Symbol("kByteLength"),f=Buffer.alloc(4),g=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=d,this[l]=void 0}static frame(e,t){let i,n;let a=!1,o=2,l=!1;t.mask&&(i=t.maskBuffer||f,t.generateMask?t.generateMask(i):(8192===g&&(void 0===s&&(s=Buffer.alloc(8192)),r(s,0,8192),g=0),i[0]=s[g++],i[1]=s[g++],i[2]=s[g++],i[3]=s[g++]),l=(i[0]|i[1]|i[2]|i[3])==0,o=6),"string"==typeof e?n=(!t.mask||l)&&void 0!==t[m]?t[m]:(e=Buffer.from(e)).length:(n=e.length,a=t.mask&&t.readOnly&&!l);let d=n;n>=65536?(o+=8,d=127):n>125&&(o+=2,d=126);let u=Buffer.allocUnsafe(a?n+o:o);return(u[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(u[0]|=64),u[1]=d,126===d?u.writeUInt16BE(n,2):127===d&&(u[2]=u[3]=0,u.writeUIntBE(n,4,6)),t.mask)?(u[1]|=128,u[o-4]=i[0],u[o-3]=i[1],u[o-2]=i[2],u[o-1]=i[3],l)?[u,e]:a?(h(e,i,u,o,n),[u]):(h(e,i,e,0,n),[u,e]):[u,e]}close(e,t,s,i){let r;if(void 0===e)r=o;else if("number"==typeof e&&c(e)){if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");if((r=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t)r.write(t,2);else if(n(t))r.set(t,2);else throw TypeError("Second argument must be a string or a Uint8Array")}else(r=Buffer.allocUnsafe(2)).writeUInt16BE(e,0)}else throw TypeError("First argument must be a valid error code number");let a={[m]:r.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,r,!1,a,i]):this.sendFrame(y.frame(r,a),i)}ping(e,t,s){let i,r;if("string"==typeof e?(i=Buffer.byteLength(e),r=!1):u(e)?(i=e.size,r=!1):(i=(e=p(e)).length,r=p.readOnly),i>125)throw RangeError("The data size must not be greater than 125 bytes");let n={[m]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:r,rsv1:!1};u(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,n,s]):this.getBlobData(e,!1,n,s):0!==this._state?this.enqueue([this.dispatch,e,!1,n,s]):this.sendFrame(y.frame(e,n),s)}pong(e,t,s){let i,r;if("string"==typeof e?(i=Buffer.byteLength(e),r=!1):u(e)?(i=e.size,r=!1):(i=(e=p(e)).length,r=p.readOnly),i>125)throw RangeError("The data size must not be greater than 125 bytes");let n={[m]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:r,rsv1:!1};u(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,n,s]):this.getBlobData(e,!1,n,s):0!==this._state?this.enqueue([this.dispatch,e,!1,n,s]):this.sendFrame(y.frame(e,n),s)}send(e,t,s){let i,r;let n=this._extensions[a.extensionName],o=t.binary?2:1,l=t.compress;"string"==typeof e?(i=Buffer.byteLength(e),r=!1):u(e)?(i=e.size,r=!1):(i=(e=p(e)).length,r=p.readOnly),this._firstFragment?(this._firstFragment=!1,l&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=i>=n._threshold),this._compress=l):(l=!1,o=0),t.fin&&(this._firstFragment=!0);let d={[m]:i,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:o,readOnly:r,rsv1:l};u(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,d,s]):this.getBlobData(e,this._compress,d,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,d,s]):this.dispatch(e,this._compress,d,s)}getBlobData(e,t,s,i){this._bufferedBytes+=s[m],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(_,this,e,i);return}this._bufferedBytes-=s[m];let r=p(e);t?this.dispatch(r,t,s,i):(this._state=0,this.sendFrame(y.frame(r,s),i),this.dequeue())}).catch(e=>{process.nextTick(w,this,e,i)})}dispatch(e,t,s,i){if(!t){this.sendFrame(y.frame(e,s),i);return}let r=this._extensions[a.extensionName];this._bufferedBytes+=s[m],this._state=1,r.compress(e,s.fin,(e,t)=>{if(this._socket.destroyed){_(this,Error("The socket was closed while data was being compressed"),i);return}this._bufferedBytes-=s[m],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),i),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][m],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][m],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function _(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let i=e._queue[s],r=i[i.length-1];"function"==typeof r&&r(t)}}function w(e,t,s){_(e,t,s),e.onerror(t)}t.exports=y}),L=x((e,t)=>{var{kForOnEventAttribute:s,kListener:i}=C(),r=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),o=Symbol("kMessage"),l=Symbol("kReason"),d=Symbol("kTarget"),u=Symbol("kType"),c=Symbol("kWasClean");class h{constructor(e){this[d]=null,this[u]=e}get target(){return this[d]}get type(){return this[u]}}Object.defineProperty(h.prototype,"target",{enumerable:!0}),Object.defineProperty(h.prototype,"type",{enumerable:!0});class p extends h{constructor(e,t={}){super(e),this[r]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[c]=void 0!==t.wasClean&&t.wasClean}get code(){return this[r]}get reason(){return this[l]}get wasClean(){return this[c]}}Object.defineProperty(p.prototype,"code",{enumerable:!0}),Object.defineProperty(p.prototype,"reason",{enumerable:!0}),Object.defineProperty(p.prototype,"wasClean",{enumerable:!0});class m extends h{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[o]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[o]}}Object.defineProperty(m.prototype,"error",{enumerable:!0}),Object.defineProperty(m.prototype,"message",{enumerable:!0});class f extends h{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function g(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(f.prototype,"data",{enumerable:!0}),t.exports={CloseEvent:p,ErrorEvent:m,Event:h,EventTarget:{addEventListener(e,t,r={}){let n;for(let n of this.listeners(e))if(!r[s]&&n[i]===t&&!n[s])return;if("message"===e)n=function(e,s){let i=new f("message",{data:s?e:e.toString()});i[d]=this,g(t,this,i)};else if("close"===e)n=function(e,s){let i=new p("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});i[d]=this,g(t,this,i)};else if("error"===e)n=function(e){let s=new m("error",{error:e,message:e.message});s[d]=this,g(t,this,s)};else{if("open"!==e)return;n=function(){let e=new h("open");e[d]=this,g(t,this,e)}}n[s]=!!r[s],n[i]=t,r.once?this.once(e,n):this.on(e,n)},removeEventListener(e,t){for(let r of this.listeners(e))if(r[i]===t&&!r[s]){this.removeListener(e,r);break}}},MessageEvent:f}}),D=x((e,t)=>{var{tokenChars:s}=A();function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}t.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,r;let n=Object.create(null),a=Object.create(null),o=!1,l=!1,d=!1,u=-1,c=-1,h=-1,p=0;for(;p<e.length;p++)if(c=e.charCodeAt(p),void 0===t){if(-1===h&&1===s[c])-1===u&&(u=p);else if(0!==p&&(32===c||9===c))-1===h&&-1!==u&&(h=p);else if(59===c||44===c){if(-1===u)throw SyntaxError(`Unexpected character at index ${p}`);-1===h&&(h=p);let s=e.slice(u,h);44===c?(i(n,s,a),a=Object.create(null)):t=s,u=h=-1}else throw SyntaxError(`Unexpected character at index ${p}`)}else if(void 0===r){if(-1===h&&1===s[c])-1===u&&(u=p);else if(32===c||9===c)-1===h&&-1!==u&&(h=p);else if(59===c||44===c){if(-1===u)throw SyntaxError(`Unexpected character at index ${p}`);-1===h&&(h=p),i(a,e.slice(u,h),!0),44===c&&(i(n,t,a),a=Object.create(null),t=void 0),u=h=-1}else if(61===c&&-1!==u&&-1===h)r=e.slice(u,p),u=h=-1;else throw SyntaxError(`Unexpected character at index ${p}`)}else if(l){if(1!==s[c])throw SyntaxError(`Unexpected character at index ${p}`);-1===u?u=p:o||(o=!0),l=!1}else if(d){if(1===s[c])-1===u&&(u=p);else if(34===c&&-1!==u)d=!1,h=p;else if(92===c)l=!0;else throw SyntaxError(`Unexpected character at index ${p}`)}else if(34===c&&61===e.charCodeAt(p-1))d=!0;else if(-1===h&&1===s[c])-1===u&&(u=p);else if(-1!==u&&(32===c||9===c))-1===h&&(h=p);else if(59===c||44===c){if(-1===u)throw SyntaxError(`Unexpected character at index ${p}`);-1===h&&(h=p);let s=e.slice(u,h);o&&(s=s.replace(/\\/g,""),o=!1),i(a,r,s),44===c&&(i(n,t,a),a=Object.create(null),t=void 0),r=void 0,u=h=-1}else throw SyntaxError(`Unexpected character at index ${p}`);if(-1===u||d||32===c||9===c)throw SyntaxError("Unexpected end of input");-1===h&&(h=p);let m=e.slice(u,h);return void 0===t?i(n,m,a):(void 0===r?i(a,m,!0):o?i(a,r,m.replace(/\\/g,"")):i(a,r,m),i(n,t,a)),n}}}),U=x((e,t)=>{var s=k("events"),i=k("https"),r=k("http"),n=k("net"),a=k("tls"),{randomBytes:o,createHash:l}=k("crypto"),{Duplex:d,Readable:u}=k("stream"),{URL:c}=k("url"),h=R(),p=P(),m=M(),{isBlob:f}=A(),{BINARY_TYPES:g,CLOSE_TIMEOUT:y,EMPTY_BUFFER:_,GUID:w,kForOnEventAttribute:v,kListener:S,kStatusCode:I,kWebSocket:b,NOOP:E}=C(),{EventTarget:{addEventListener:T,removeEventListener:x}}=L(),{format:N,parse:U}=D(),{toBuffer:$}=O(),q=Symbol("kAborted"),B=[8,13],W=["CONNECTING","OPEN","CLOSING","CLOSED"],F=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class j extends s{constructor(e,t,s){super(),this._binaryType=g[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=_,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=j.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,n,a){let d,u,p,m;let f={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:y,protocolVersion:B[1],maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...a,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=f.autoPong,t._closeTimeout=f.closeTimeout,!B.includes(f.protocolVersion))throw RangeError(`Unsupported protocol version: ${f.protocolVersion} (supported versions: ${B.join(", ")})`);if(s instanceof c)d=s;else try{d=new c(s)}catch{throw SyntaxError(`Invalid URL: ${s}`)}"http:"===d.protocol?d.protocol="ws:":"https:"===d.protocol&&(d.protocol="wss:"),t._url=d.href;let g="wss:"===d.protocol,_="ws+unix:"===d.protocol;if("ws:"===d.protocol||g||_?_&&!d.pathname?u="The URL's pathname is empty":d.hash&&(u="The URL contains a fragment identifier"):u='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',u){let e=SyntaxError(u);if(0===t._redirects)throw e;G(t,e);return}let v=g?443:80,S=o(16).toString("base64"),I=g?i.request:r.request,b=new Set;if(f.createConnection=f.createConnection||(g?z:V),f.defaultPort=f.defaultPort||v,f.port=d.port||v,f.host=d.hostname.startsWith("[")?d.hostname.slice(1,-1):d.hostname,f.headers={...f.headers,"Sec-WebSocket-Version":f.protocolVersion,"Sec-WebSocket-Key":S,Connection:"Upgrade",Upgrade:"websocket"},f.path=d.pathname+d.search,f.timeout=f.handshakeTimeout,f.perMessageDeflate&&(p=new h({...f.perMessageDeflate,isServer:!1,maxPayload:f.maxPayload}),f.headers["Sec-WebSocket-Extensions"]=N({[h.extensionName]:p.offer()})),n.length){for(let e of n){if("string"!=typeof e||!F.test(e)||b.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");b.add(e)}f.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(f.origin&&(f.protocolVersion<13?f.headers["Sec-WebSocket-Origin"]=f.origin:f.headers.Origin=f.origin),(d.username||d.password)&&(f.auth=`${d.username}:${d.password}`),_){let e=f.path.split(":");f.socketPath=e[0],f.path=e[1]}if(f.followRedirects){if(0===t._redirects){t._originalIpc=_,t._originalSecure=g,t._originalHostOrSocketPath=_?f.socketPath:d.host;let e=a&&a.headers;if(a={...a,headers:{}},e)for(let[t,s]of Object.entries(e))a.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=_?!!t._originalIpc&&f.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&d.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||g)||(delete f.headers.authorization,delete f.headers.cookie,e||delete f.headers.host,f.auth=void 0)}f.auth&&!a.headers.authorization&&(a.headers.authorization="Basic "+Buffer.from(f.auth).toString("base64")),m=t._req=I(f),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=I(f);f.timeout&&m.on("timeout",()=>{H(t,m,"Opening handshake has timed out")}),m.on("error",e=>{null===m||m[q]||(m=t._req=null,G(t,e))}),m.on("response",i=>{let r=i.headers.location,o=i.statusCode;if(r&&f.followRedirects&&o>=300&&o<400){let i;if(++t._redirects>f.maxRedirects){H(t,m,"Maximum redirects exceeded");return}m.abort();try{i=new c(r,s)}catch(e){G(t,SyntaxError(`Invalid URL: ${r}`));return}e(t,i,n,a)}else t.emit("unexpected-response",m,i)||H(t,m,`Unexpected server response: ${i.statusCode}`)}),m.on("upgrade",(e,s,i)=>{let r;if(t.emit("upgrade",e),t.readyState!==j.CONNECTING)return;m=t._req=null;let n=e.headers.upgrade;if(void 0===n||"websocket"!==n.toLowerCase()){H(t,s,"Invalid Upgrade header");return}let a=l("sha1").update(S+w).digest("base64");if(e.headers["sec-websocket-accept"]!==a){H(t,s,"Invalid Sec-WebSocket-Accept header");return}let o=e.headers["sec-websocket-protocol"];if(void 0!==o?b.size?b.has(o)||(r="Server sent an invalid subprotocol"):r="Server sent a subprotocol but none was requested":b.size&&(r="Server sent no subprotocol"),r){H(t,s,r);return}o&&(t._protocol=o);let d=e.headers["sec-websocket-extensions"];if(void 0!==d){let e;if(!p){H(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}try{e=U(d)}catch(e){H(t,s,"Invalid Sec-WebSocket-Extensions header");return}let i=Object.keys(e);if(1!==i.length||i[0]!==h.extensionName){H(t,s,"Server indicated an extension that was not requested");return}try{p.accept(e[h.extensionName])}catch(e){H(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[h.extensionName]=p}t.setSocket(s,i,{allowSynchronousEvents:f.allowSynchronousEvents,generateMask:f.generateMask,maxBufferedChunks:f.maxBufferedChunks,maxFragments:f.maxFragments,maxPayload:f.maxPayload,skipUTF8Validation:f.skipUTF8Validation})}),f.finishRequest?f.finishRequest(m,t):m.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){g.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let i=new p({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:s.maxBufferedChunks,maxFragments:s.maxFragments,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),r=new m(e,this._extensions,s.generateMask);this._receiver=i,this._sender=r,this._socket=e,i[b]=this,r[b]=this,e[b]=this,i.on("conclude",Q),i.on("drain",K),i.on("error",Y),i.on("message",Z),i.on("ping",ee),i.on("pong",et),r.onerror=ei,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",en),e.on("data",ea),e.on("end",eo),e.on("error",el),this._readyState=j.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=j.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[h.extensionName]&&this._extensions[h.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=j.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==j.CLOSED){if(this.readyState===j.CONNECTING){H(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===j.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=j.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),er(this)}}pause(){this.readyState!==j.CONNECTING&&this.readyState!==j.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===j.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==j.OPEN){X(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.ping(e||_,t,s)}pong(e,t,s){if(this.readyState===j.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==j.OPEN){X(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.pong(e||_,t,s)}resume(){this.readyState!==j.CONNECTING&&this.readyState!==j.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===j.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==j.OPEN){X(this,e,s);return}let i={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[h.extensionName]||(i.compress=!1),this._sender.send(e||_,i,s)}terminate(){if(this.readyState!==j.CLOSED){if(this.readyState===j.CONNECTING){H(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=j.CLOSING,this._socket.destroy())}}}function G(e,t){e._readyState=j.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function V(e){return e.path=e.socketPath,n.connect(e)}function z(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function H(e,t,s){e._readyState=j.CLOSING;let i=Error(s);Error.captureStackTrace(i,H),t.setHeader?(t[q]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(G,e,i)):(t.destroy(i),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function X(e,t,s){if(t){let s=f(t)?t.size:$(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${W[e.readyState]})`);process.nextTick(s,t)}}function Q(e,t){let s=this[b];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[b]&&(s._socket.removeListener("data",ea),process.nextTick(es,s._socket),1005===e?s.close():s.close(e,t))}function K(){let e=this[b];e.isPaused||e._socket.resume()}function Y(e){let t=this[b];void 0!==t._socket[b]&&(t._socket.removeListener("data",ea),process.nextTick(es,t._socket),t.close(e[I])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function J(){this[b].emitClose()}function Z(e,t){this[b].emit("message",e,t)}function ee(e){let t=this[b];t._autoPong&&t.pong(e,!this._isServer,E),t.emit("ping",e)}function et(e){this[b].emit("pong",e)}function es(e){e.resume()}function ei(e){let t=this[b];t.readyState===j.CLOSED||(t.readyState===j.OPEN&&(t._readyState=j.CLOSING,er(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function er(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),e._closeTimeout)}function en(){let e=this[b];if(this.removeListener("close",en),this.removeListener("data",ea),this.removeListener("end",eo),e._readyState=j.CLOSING,!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&0!==this._readableState.length){let t=this.read(this._readableState.length);e._receiver.write(t)}e._receiver.end(),this[b]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",J),e._receiver.on("finish",J))}function ea(e){this[b]._receiver.write(e)||this.pause()}function eo(){let e=this[b];e._readyState=j.CLOSING,e._receiver.end(),this.end()}function el(){let e=this[b];this.removeListener("error",el),this.on("error",E),e&&(e._readyState=j.CLOSING,this.destroy())}Object.defineProperty(j,"CONNECTING",{enumerable:!0,value:W.indexOf("CONNECTING")}),Object.defineProperty(j.prototype,"CONNECTING",{enumerable:!0,value:W.indexOf("CONNECTING")}),Object.defineProperty(j,"OPEN",{enumerable:!0,value:W.indexOf("OPEN")}),Object.defineProperty(j.prototype,"OPEN",{enumerable:!0,value:W.indexOf("OPEN")}),Object.defineProperty(j,"CLOSING",{enumerable:!0,value:W.indexOf("CLOSING")}),Object.defineProperty(j.prototype,"CLOSING",{enumerable:!0,value:W.indexOf("CLOSING")}),Object.defineProperty(j,"CLOSED",{enumerable:!0,value:W.indexOf("CLOSED")}),Object.defineProperty(j.prototype,"CLOSED",{enumerable:!0,value:W.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(j.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(j.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[v])return t[S];return null},set(t){for(let t of this.listeners(e))if(t[v]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[v]:!0})}})}),j.prototype.addEventListener=T,j.prototype.removeEventListener=x,t.exports=j}),$=x((e,t)=>{U();var{Duplex:s}=k("stream");function i(e){e.emit("close")}function r(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}t.exports=function(e,t){let a=!0,o=new s({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let i=!s&&o._readableState.objectMode?t.toString():t;o.push(i)||e.pause()}),e.once("error",function(e){o.destroyed||(a=!1,o.destroy(e))}),e.once("close",function(){o.destroyed||o.push(null)}),o._destroy=function(t,s){if(e.readyState===e.CLOSED){s(t),process.nextTick(i,o);return}let r=!1;e.once("error",function(e){r=!0,s(e)}),e.once("close",function(){r||s(t),process.nextTick(i,o)}),a&&e.terminate()},o._final=function(t){if(e.readyState===e.CONNECTING){e.once("open",function(){o._final(t)});return}null!==e._socket&&(e._socket._writableState.finished?(t(),o._readableState.endEmitted&&o.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},o._read=function(){e.isPaused&&e.resume()},o._write=function(t,s,i){if(e.readyState===e.CONNECTING){e.once("open",function(){o._write(t,s,i)});return}e.send(t,i)},o.on("end",r),o.on("error",n),o}}),q=x((e,t)=>{var{tokenChars:s}=A();t.exports={parse:function(e){let t=new Set,i=-1,r=-1,n=0;for(;n<e.length;n++){let a=e.charCodeAt(n);if(-1===r&&1===s[a])-1===i&&(i=n);else if(0!==n&&(32===a||9===a))-1===r&&-1!==i&&(r=n);else if(44===a){if(-1===i)throw SyntaxError(`Unexpected character at index ${n}`);-1===r&&(r=n);let s=e.slice(i,r);if(t.has(s))throw SyntaxError(`The "${s}" subprotocol is duplicated`);t.add(s),i=r=-1}else throw SyntaxError(`Unexpected character at index ${n}`)}if(-1===i||-1!==r)throw SyntaxError("Unexpected end of input");let a=e.slice(i,n);if(t.has(a))throw SyntaxError(`The "${a}" subprotocol is duplicated`);return t.add(a),t}}}),B=x((e,t)=>{var s=k("events"),i=k("http"),{Duplex:r}=k("stream"),{createHash:n}=k("crypto"),a=D(),o=R(),l=q(),d=U(),{CLOSE_TIMEOUT:u,GUID:c,kWebSocket:h}=C(),p=/^[+/0-9A-Za-z]{22}==$/;class m extends s{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:u,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:d,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,i)=>{this.handleUpgrade(t,s,i,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(f,this);return}if(e&&this.once("close",e),1!==this._state){if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(f,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{f(this)})}}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,i){t.on("error",g);let r=e.headers["sec-websocket-key"],n=e.headers.upgrade,d=+e.headers["sec-websocket-version"];if("GET"!==e.method){_(this,e,t,405,"Invalid HTTP method");return}if(void 0===n||"websocket"!==n.toLowerCase()){_(this,e,t,400,"Invalid Upgrade header");return}if(void 0===r||!p.test(r)){_(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(13!==d&&8!==d){_(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){y(t,400);return}let u=e.headers["sec-websocket-protocol"],c=new Set;if(void 0!==u)try{c=l.parse(u)}catch(s){_(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let h=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&void 0!==h){let s=new o({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let e=a.parse(h);e[o.extensionName]&&(s.accept(e[o.extensionName]),m[o.extensionName]=s)}catch(s){_(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let n={origin:e.headers[`${8===d?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length){this.options.verifyClient(n,(n,a,o,l)=>{if(!n)return y(t,a||401,o,l);this.completeUpgrade(m,r,c,e,t,s,i)});return}if(!this.options.verifyClient(n))return y(t,401)}this.completeUpgrade(m,r,c,e,t,s,i)}completeUpgrade(e,t,s,i,r,l,d){if(!r.readable||!r.writable)return r.destroy();if(r[h])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(r,503);let u=n("sha1").update(t+c).digest("base64"),p=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${u}`],m=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;e&&(p.push(`Sec-WebSocket-Protocol: ${e}`),m._protocol=e)}if(e[o.extensionName]){let t=e[o.extensionName].params,s=a.format({[o.extensionName]:[t]});p.push(`Sec-WebSocket-Extensions: ${s}`),m._extensions=e}this.emit("headers",p,i),r.write(p.concat(`\r
|
|
1
|
+
"use strict";exports.id=1773,exports.ids=[1773],exports.modules={785:(e,t,s)=>{s.d(t,{ME:()=>o,kO:()=>a,sr:()=>l});var i=s(9411);let r=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),s=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(s)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=r){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let s=e.AGENT_LOG_DIR?.trim();if(s)return(0,i.resolve)(s);let r=e.AGENTROAM_DATA_DIR?.trim();return r?(0,i.resolve)(r,"logs"):(0,i.join)(t,".agent-data","logs")}function l(){return function(e=process.env,t=r){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}},6279:(e,t,s)=>{s.d(t,{Db:()=>sx,L:()=>ey,LW:()=>F,ST:()=>sT,Vu:()=>eo,WH:()=>sn,Zr:()=>j,no:()=>W,v6:()=>sr});var i,r,n=s(2033),a=s(1322),o=s(7718),l=s(3977),d=s(612),u=s(9411),c=s(6915),h=s(5881),p=s(7728),m=s(7561),f=s(6005),g=s(7503),y=s(4492),_=s(6244),w=Object.create,v=Object.getPrototypeOf,S=Object.defineProperty,I=Object.getOwnPropertyNames,b=Object.prototype.hasOwnProperty;function E(e){return this[e]}var T=(e,t,s)=>{var n=null!=e&&"object"==typeof e;if(n){var a=t?i??=new WeakMap:r??=new WeakMap,o=a.get(e);if(o)return o}s=null!=e?w(v(e)):{};let l=!t&&e&&e.__esModule?s:S(s,"default",{value:e,enumerable:!0});for(let t of I(e))b.call(l,t)||S(l,t,{get:E.bind(e,t),enumerable:!0});return n&&a.set(e,l),l},x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),k=(0,n.createRequire)("file:///Users/caoqu/.codex/worktrees/npm-preview-41/customer-agent/packages/native-runtime/dist/index.js"),C=x((e,t)=>{var s=["nodebuffer","arraybuffer","fragments"],i="undefined"!=typeof Blob;i&&s.push("blob"),t.exports={BINARY_TYPES:s,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:i,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}}),O=x((e,t)=>{var{EMPTY_BUFFER:s}=C(),i=Buffer[Symbol.species];function r(e,t,s,i,r){for(let n=0;n<r;n++)s[i+n]=e[n]^t[3&n]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}if(t.exports={concat:function(e,t){if(0===e.length)return s;if(1===e.length)return e[0];let r=Buffer.allocUnsafe(t),n=0;for(let t=0;t<e.length;t++){let s=e[t];r.set(s,n),n+=s.length}return n<t?new i(r.buffer,r.byteOffset,n):r},mask:r,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:function e(t){let s;return(e.readOnly=!0,Buffer.isBuffer(t))?t:(t instanceof ArrayBuffer?s=new i(t):ArrayBuffer.isView(t)?s=new i(t.buffer,t.byteOffset,t.byteLength):(s=Buffer.from(t),e.readOnly=!1),s)},unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let e=(()=>{throw Error("Cannot require module bufferutil")})();t.exports.mask=function(t,s,i,n,a){a<48?r(t,s,i,n,a):e.mask(t,s,i,n,a)},t.exports.unmask=function(t,s){t.length<32?n(t,s):e.unmask(t,s)}}catch(e){}}),N=x((e,t)=>{var s=Symbol("kDone"),i=Symbol("kRun");class r{constructor(e){this[s]=()=>{this.pending--,this[i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[i]()}[i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[s])}}}t.exports=r}),R=x((e,t)=>{var s,i=k("zlib"),r=O(),n=N(),{kStatusCode:a}=C(),o=Buffer[Symbol.species],l=Buffer.from([0,0,255,255]),d=Symbol("permessage-deflate"),u=Symbol("total-length"),c=Symbol("callback"),h=Symbol("buffers"),p=Symbol("error");class m{constructor(e){this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._maxPayload=0|this._options.maxPayload,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,s||(s=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[c];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||("number"==typeof e.client_max_window_bits?!(t.clientMaxWindowBits>e.client_max_window_bits):!!e.client_max_window_bits)));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,i){s.add(s=>{this._decompress(e,t,(e,t)=>{s(),i(e,t)})})}compress(e,t,i){s.add(s=>{this._compress(e,t,(e,t)=>{s(),i(e,t)})})}_decompress(e,t,s){let n=this._isServer?"client":"server";if(!this._inflate){let e=`${n}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[d]=this,this._inflate[u]=0,this._inflate[h]=[],this._inflate.on("error",y),this._inflate.on("data",g)}this._inflate[c]=s,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{let e=this._inflate[p];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=r.concat(this._inflate[h],this._inflate[u]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[u]=0,this._inflate[h]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let n=this._isServer?"server":"client";if(!this._deflate){let e=`${n}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[u]=0,this._deflate[h]=[],this._deflate.on("data",f)}this._deflate[c]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=r.concat(this._deflate[h],this._deflate[u]);t&&(e=new o(e.buffer,e.byteOffset,e.length-4)),this._deflate[c]=null,this._deflate[u]=0,this._deflate[h]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}function f(e){this[h].push(e),this[u]+=e.length}function g(e){if(this[u]+=e.length,this[d]._maxPayload<1||this[u]<=this[d]._maxPayload){this[h].push(e);return}this[p]=RangeError("Max payload size exceeded"),this[p].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[p][a]=1009,this.removeListener("data",g),this.reset()}function y(e){if(this[d]._inflate=null,this[p]){this[c](this[p]);return}e[a]=1007,this[c](e)}t.exports=m}),A=x((e,t)=>{var{isUtf8:s}=k("buffer"),{hasBlob:i}=C();function r(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(t.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:r,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},s)t.exports.isValidUTF8=function(e){return e.length<24?r(e):s(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=(()=>{throw Error("Cannot require module utf-8-validate")})();t.exports.isValidUTF8=function(t){return t.length<32?r(t):e(t)}}catch(e){}}),P=x((e,t)=>{var{Writable:s}=k("stream"),i=R(),{BINARY_TYPES:r,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:o}=C(),{concat:l,toArrayBuffer:d,unmask:u}=O(),{isValidStatusCode:c,isValidUTF8:h}=A(),p=Buffer[Symbol.species];class m extends s{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||r[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=0|e.maxBufferedChunks,this._maxFragments=0|e.maxFragments,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[o]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._numFragments=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){s(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new p(t.buffer,t.byteOffset+e,t.length-e),new p(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=t.length-e;e>=s.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new p(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0){e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));return}let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName]){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(!this._fragmented){e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented){e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));return}if(s){e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));return}if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength){e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"));return}}else{e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));return}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked){e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"));return}}else if(this._masked){e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));return}126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);if(s>2097151){e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));return}this._payloadLength=4294967296*s+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&u(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._maxFragments>0&&++this._numFragments>this._maxFragments){e(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));return}this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._numFragments=0,this._fragments=[],2===this._opcode){let i;i="nodebuffer"===this._binaryType?l(s,t):"arraybuffer"===this._binaryType?d(l(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",i,!0),this._state=0,this.startLoop(e)}))}else{let i=l(s,t);if(!this._skipUTF8Validation&&!h(i)){e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}5===this._state||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",i,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!c(s)){t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));return}let i=new p(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!h(i)){t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,i,r){this._loop=!1,this._errored=!0;let n=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(n,this.createError),n.code=r,n[a]=i,n}}t.exports=m}),M=x((e,t)=>{var s,{Duplex:i}=k("stream"),{randomFillSync:r}=k("crypto"),{types:{isUint8Array:n}}=k("util"),a=R(),{EMPTY_BUFFER:o,kWebSocket:l,NOOP:d}=C(),{isBlob:u,isValidStatusCode:c}=A(),{mask:h,toBuffer:p}=O(),m=Symbol("kByteLength"),f=Buffer.alloc(4),g=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=d,this[l]=void 0}static frame(e,t){let i,n;let a=!1,o=2,l=!1;t.mask&&(i=t.maskBuffer||f,t.generateMask?t.generateMask(i):(8192===g&&(void 0===s&&(s=Buffer.alloc(8192)),r(s,0,8192),g=0),i[0]=s[g++],i[1]=s[g++],i[2]=s[g++],i[3]=s[g++]),l=(i[0]|i[1]|i[2]|i[3])==0,o=6),"string"==typeof e?n=(!t.mask||l)&&void 0!==t[m]?t[m]:(e=Buffer.from(e)).length:(n=e.length,a=t.mask&&t.readOnly&&!l);let d=n;n>=65536?(o+=8,d=127):n>125&&(o+=2,d=126);let u=Buffer.allocUnsafe(a?n+o:o);return(u[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(u[0]|=64),u[1]=d,126===d?u.writeUInt16BE(n,2):127===d&&(u[2]=u[3]=0,u.writeUIntBE(n,4,6)),t.mask)?(u[1]|=128,u[o-4]=i[0],u[o-3]=i[1],u[o-2]=i[2],u[o-1]=i[3],l)?[u,e]:a?(h(e,i,u,o,n),[u]):(h(e,i,e,0,n),[u,e]):[u,e]}close(e,t,s,i){let r;if(void 0===e)r=o;else if("number"==typeof e&&c(e)){if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");if((r=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t)r.write(t,2);else if(n(t))r.set(t,2);else throw TypeError("Second argument must be a string or a Uint8Array")}else(r=Buffer.allocUnsafe(2)).writeUInt16BE(e,0)}else throw TypeError("First argument must be a valid error code number");let a={[m]:r.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,r,!1,a,i]):this.sendFrame(y.frame(r,a),i)}ping(e,t,s){let i,r;if("string"==typeof e?(i=Buffer.byteLength(e),r=!1):u(e)?(i=e.size,r=!1):(i=(e=p(e)).length,r=p.readOnly),i>125)throw RangeError("The data size must not be greater than 125 bytes");let n={[m]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:r,rsv1:!1};u(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,n,s]):this.getBlobData(e,!1,n,s):0!==this._state?this.enqueue([this.dispatch,e,!1,n,s]):this.sendFrame(y.frame(e,n),s)}pong(e,t,s){let i,r;if("string"==typeof e?(i=Buffer.byteLength(e),r=!1):u(e)?(i=e.size,r=!1):(i=(e=p(e)).length,r=p.readOnly),i>125)throw RangeError("The data size must not be greater than 125 bytes");let n={[m]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:r,rsv1:!1};u(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,n,s]):this.getBlobData(e,!1,n,s):0!==this._state?this.enqueue([this.dispatch,e,!1,n,s]):this.sendFrame(y.frame(e,n),s)}send(e,t,s){let i,r;let n=this._extensions[a.extensionName],o=t.binary?2:1,l=t.compress;"string"==typeof e?(i=Buffer.byteLength(e),r=!1):u(e)?(i=e.size,r=!1):(i=(e=p(e)).length,r=p.readOnly),this._firstFragment?(this._firstFragment=!1,l&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=i>=n._threshold),this._compress=l):(l=!1,o=0),t.fin&&(this._firstFragment=!0);let d={[m]:i,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:o,readOnly:r,rsv1:l};u(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,d,s]):this.getBlobData(e,this._compress,d,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,d,s]):this.dispatch(e,this._compress,d,s)}getBlobData(e,t,s,i){this._bufferedBytes+=s[m],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(_,this,e,i);return}this._bufferedBytes-=s[m];let r=p(e);t?this.dispatch(r,t,s,i):(this._state=0,this.sendFrame(y.frame(r,s),i),this.dequeue())}).catch(e=>{process.nextTick(w,this,e,i)})}dispatch(e,t,s,i){if(!t){this.sendFrame(y.frame(e,s),i);return}let r=this._extensions[a.extensionName];this._bufferedBytes+=s[m],this._state=1,r.compress(e,s.fin,(e,t)=>{if(this._socket.destroyed){_(this,Error("The socket was closed while data was being compressed"),i);return}this._bufferedBytes-=s[m],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),i),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][m],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][m],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function _(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let i=e._queue[s],r=i[i.length-1];"function"==typeof r&&r(t)}}function w(e,t,s){_(e,t,s),e.onerror(t)}t.exports=y}),L=x((e,t)=>{var{kForOnEventAttribute:s,kListener:i}=C(),r=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),o=Symbol("kMessage"),l=Symbol("kReason"),d=Symbol("kTarget"),u=Symbol("kType"),c=Symbol("kWasClean");class h{constructor(e){this[d]=null,this[u]=e}get target(){return this[d]}get type(){return this[u]}}Object.defineProperty(h.prototype,"target",{enumerable:!0}),Object.defineProperty(h.prototype,"type",{enumerable:!0});class p extends h{constructor(e,t={}){super(e),this[r]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[c]=void 0!==t.wasClean&&t.wasClean}get code(){return this[r]}get reason(){return this[l]}get wasClean(){return this[c]}}Object.defineProperty(p.prototype,"code",{enumerable:!0}),Object.defineProperty(p.prototype,"reason",{enumerable:!0}),Object.defineProperty(p.prototype,"wasClean",{enumerable:!0});class m extends h{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[o]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[o]}}Object.defineProperty(m.prototype,"error",{enumerable:!0}),Object.defineProperty(m.prototype,"message",{enumerable:!0});class f extends h{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function g(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(f.prototype,"data",{enumerable:!0}),t.exports={CloseEvent:p,ErrorEvent:m,Event:h,EventTarget:{addEventListener(e,t,r={}){let n;for(let n of this.listeners(e))if(!r[s]&&n[i]===t&&!n[s])return;if("message"===e)n=function(e,s){let i=new f("message",{data:s?e:e.toString()});i[d]=this,g(t,this,i)};else if("close"===e)n=function(e,s){let i=new p("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});i[d]=this,g(t,this,i)};else if("error"===e)n=function(e){let s=new m("error",{error:e,message:e.message});s[d]=this,g(t,this,s)};else{if("open"!==e)return;n=function(){let e=new h("open");e[d]=this,g(t,this,e)}}n[s]=!!r[s],n[i]=t,r.once?this.once(e,n):this.on(e,n)},removeEventListener(e,t){for(let r of this.listeners(e))if(r[i]===t&&!r[s]){this.removeListener(e,r);break}}},MessageEvent:f}}),D=x((e,t)=>{var{tokenChars:s}=A();function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}t.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,r;let n=Object.create(null),a=Object.create(null),o=!1,l=!1,d=!1,u=-1,c=-1,h=-1,p=0;for(;p<e.length;p++)if(c=e.charCodeAt(p),void 0===t){if(-1===h&&1===s[c])-1===u&&(u=p);else if(0!==p&&(32===c||9===c))-1===h&&-1!==u&&(h=p);else if(59===c||44===c){if(-1===u)throw SyntaxError(`Unexpected character at index ${p}`);-1===h&&(h=p);let s=e.slice(u,h);44===c?(i(n,s,a),a=Object.create(null)):t=s,u=h=-1}else throw SyntaxError(`Unexpected character at index ${p}`)}else if(void 0===r){if(-1===h&&1===s[c])-1===u&&(u=p);else if(32===c||9===c)-1===h&&-1!==u&&(h=p);else if(59===c||44===c){if(-1===u)throw SyntaxError(`Unexpected character at index ${p}`);-1===h&&(h=p),i(a,e.slice(u,h),!0),44===c&&(i(n,t,a),a=Object.create(null),t=void 0),u=h=-1}else if(61===c&&-1!==u&&-1===h)r=e.slice(u,p),u=h=-1;else throw SyntaxError(`Unexpected character at index ${p}`)}else if(l){if(1!==s[c])throw SyntaxError(`Unexpected character at index ${p}`);-1===u?u=p:o||(o=!0),l=!1}else if(d){if(1===s[c])-1===u&&(u=p);else if(34===c&&-1!==u)d=!1,h=p;else if(92===c)l=!0;else throw SyntaxError(`Unexpected character at index ${p}`)}else if(34===c&&61===e.charCodeAt(p-1))d=!0;else if(-1===h&&1===s[c])-1===u&&(u=p);else if(-1!==u&&(32===c||9===c))-1===h&&(h=p);else if(59===c||44===c){if(-1===u)throw SyntaxError(`Unexpected character at index ${p}`);-1===h&&(h=p);let s=e.slice(u,h);o&&(s=s.replace(/\\/g,""),o=!1),i(a,r,s),44===c&&(i(n,t,a),a=Object.create(null),t=void 0),r=void 0,u=h=-1}else throw SyntaxError(`Unexpected character at index ${p}`);if(-1===u||d||32===c||9===c)throw SyntaxError("Unexpected end of input");-1===h&&(h=p);let m=e.slice(u,h);return void 0===t?i(n,m,a):(void 0===r?i(a,m,!0):o?i(a,r,m.replace(/\\/g,"")):i(a,r,m),i(n,t,a)),n}}}),U=x((e,t)=>{var s=k("events"),i=k("https"),r=k("http"),n=k("net"),a=k("tls"),{randomBytes:o,createHash:l}=k("crypto"),{Duplex:d,Readable:u}=k("stream"),{URL:c}=k("url"),h=R(),p=P(),m=M(),{isBlob:f}=A(),{BINARY_TYPES:g,CLOSE_TIMEOUT:y,EMPTY_BUFFER:_,GUID:w,kForOnEventAttribute:v,kListener:S,kStatusCode:I,kWebSocket:b,NOOP:E}=C(),{EventTarget:{addEventListener:T,removeEventListener:x}}=L(),{format:N,parse:U}=D(),{toBuffer:$}=O(),q=Symbol("kAborted"),B=[8,13],W=["CONNECTING","OPEN","CLOSING","CLOSED"],F=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class j extends s{constructor(e,t,s){super(),this._binaryType=g[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=_,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=j.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,n,a){let d,u,p,m;let f={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:y,protocolVersion:B[1],maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...a,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=f.autoPong,t._closeTimeout=f.closeTimeout,!B.includes(f.protocolVersion))throw RangeError(`Unsupported protocol version: ${f.protocolVersion} (supported versions: ${B.join(", ")})`);if(s instanceof c)d=s;else try{d=new c(s)}catch{throw SyntaxError(`Invalid URL: ${s}`)}"http:"===d.protocol?d.protocol="ws:":"https:"===d.protocol&&(d.protocol="wss:"),t._url=d.href;let g="wss:"===d.protocol,_="ws+unix:"===d.protocol;if("ws:"===d.protocol||g||_?_&&!d.pathname?u="The URL's pathname is empty":d.hash&&(u="The URL contains a fragment identifier"):u='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',u){let e=SyntaxError(u);if(0===t._redirects)throw e;G(t,e);return}let v=g?443:80,S=o(16).toString("base64"),I=g?i.request:r.request,b=new Set;if(f.createConnection=f.createConnection||(g?z:V),f.defaultPort=f.defaultPort||v,f.port=d.port||v,f.host=d.hostname.startsWith("[")?d.hostname.slice(1,-1):d.hostname,f.headers={...f.headers,"Sec-WebSocket-Version":f.protocolVersion,"Sec-WebSocket-Key":S,Connection:"Upgrade",Upgrade:"websocket"},f.path=d.pathname+d.search,f.timeout=f.handshakeTimeout,f.perMessageDeflate&&(p=new h({...f.perMessageDeflate,isServer:!1,maxPayload:f.maxPayload}),f.headers["Sec-WebSocket-Extensions"]=N({[h.extensionName]:p.offer()})),n.length){for(let e of n){if("string"!=typeof e||!F.test(e)||b.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");b.add(e)}f.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(f.origin&&(f.protocolVersion<13?f.headers["Sec-WebSocket-Origin"]=f.origin:f.headers.Origin=f.origin),(d.username||d.password)&&(f.auth=`${d.username}:${d.password}`),_){let e=f.path.split(":");f.socketPath=e[0],f.path=e[1]}if(f.followRedirects){if(0===t._redirects){t._originalIpc=_,t._originalSecure=g,t._originalHostOrSocketPath=_?f.socketPath:d.host;let e=a&&a.headers;if(a={...a,headers:{}},e)for(let[t,s]of Object.entries(e))a.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=_?!!t._originalIpc&&f.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&d.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||g)||(delete f.headers.authorization,delete f.headers.cookie,e||delete f.headers.host,f.auth=void 0)}f.auth&&!a.headers.authorization&&(a.headers.authorization="Basic "+Buffer.from(f.auth).toString("base64")),m=t._req=I(f),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=I(f);f.timeout&&m.on("timeout",()=>{H(t,m,"Opening handshake has timed out")}),m.on("error",e=>{null===m||m[q]||(m=t._req=null,G(t,e))}),m.on("response",i=>{let r=i.headers.location,o=i.statusCode;if(r&&f.followRedirects&&o>=300&&o<400){let i;if(++t._redirects>f.maxRedirects){H(t,m,"Maximum redirects exceeded");return}m.abort();try{i=new c(r,s)}catch(e){G(t,SyntaxError(`Invalid URL: ${r}`));return}e(t,i,n,a)}else t.emit("unexpected-response",m,i)||H(t,m,`Unexpected server response: ${i.statusCode}`)}),m.on("upgrade",(e,s,i)=>{let r;if(t.emit("upgrade",e),t.readyState!==j.CONNECTING)return;m=t._req=null;let n=e.headers.upgrade;if(void 0===n||"websocket"!==n.toLowerCase()){H(t,s,"Invalid Upgrade header");return}let a=l("sha1").update(S+w).digest("base64");if(e.headers["sec-websocket-accept"]!==a){H(t,s,"Invalid Sec-WebSocket-Accept header");return}let o=e.headers["sec-websocket-protocol"];if(void 0!==o?b.size?b.has(o)||(r="Server sent an invalid subprotocol"):r="Server sent a subprotocol but none was requested":b.size&&(r="Server sent no subprotocol"),r){H(t,s,r);return}o&&(t._protocol=o);let d=e.headers["sec-websocket-extensions"];if(void 0!==d){let e;if(!p){H(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}try{e=U(d)}catch(e){H(t,s,"Invalid Sec-WebSocket-Extensions header");return}let i=Object.keys(e);if(1!==i.length||i[0]!==h.extensionName){H(t,s,"Server indicated an extension that was not requested");return}try{p.accept(e[h.extensionName])}catch(e){H(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[h.extensionName]=p}t.setSocket(s,i,{allowSynchronousEvents:f.allowSynchronousEvents,generateMask:f.generateMask,maxBufferedChunks:f.maxBufferedChunks,maxFragments:f.maxFragments,maxPayload:f.maxPayload,skipUTF8Validation:f.skipUTF8Validation})}),f.finishRequest?f.finishRequest(m,t):m.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){g.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let i=new p({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:s.maxBufferedChunks,maxFragments:s.maxFragments,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),r=new m(e,this._extensions,s.generateMask);this._receiver=i,this._sender=r,this._socket=e,i[b]=this,r[b]=this,e[b]=this,i.on("conclude",Q),i.on("drain",K),i.on("error",Y),i.on("message",Z),i.on("ping",ee),i.on("pong",et),r.onerror=ei,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",en),e.on("data",ea),e.on("end",eo),e.on("error",el),this._readyState=j.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=j.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[h.extensionName]&&this._extensions[h.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=j.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==j.CLOSED){if(this.readyState===j.CONNECTING){H(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===j.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=j.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),er(this)}}pause(){this.readyState!==j.CONNECTING&&this.readyState!==j.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===j.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==j.OPEN){X(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.ping(e||_,t,s)}pong(e,t,s){if(this.readyState===j.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==j.OPEN){X(this,e,s);return}void 0===t&&(t=!this._isServer),this._sender.pong(e||_,t,s)}resume(){this.readyState!==j.CONNECTING&&this.readyState!==j.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===j.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==j.OPEN){X(this,e,s);return}let i={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[h.extensionName]||(i.compress=!1),this._sender.send(e||_,i,s)}terminate(){if(this.readyState!==j.CLOSED){if(this.readyState===j.CONNECTING){H(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=j.CLOSING,this._socket.destroy())}}}function G(e,t){e._readyState=j.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function V(e){return e.path=e.socketPath,n.connect(e)}function z(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function H(e,t,s){e._readyState=j.CLOSING;let i=Error(s);Error.captureStackTrace(i,H),t.setHeader?(t[q]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(G,e,i)):(t.destroy(i),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function X(e,t,s){if(t){let s=f(t)?t.size:$(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${W[e.readyState]})`);process.nextTick(s,t)}}function Q(e,t){let s=this[b];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[b]&&(s._socket.removeListener("data",ea),process.nextTick(es,s._socket),1005===e?s.close():s.close(e,t))}function K(){let e=this[b];e.isPaused||e._socket.resume()}function Y(e){let t=this[b];void 0!==t._socket[b]&&(t._socket.removeListener("data",ea),process.nextTick(es,t._socket),t.close(e[I])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function J(){this[b].emitClose()}function Z(e,t){this[b].emit("message",e,t)}function ee(e){let t=this[b];t._autoPong&&t.pong(e,!this._isServer,E),t.emit("ping",e)}function et(e){this[b].emit("pong",e)}function es(e){e.resume()}function ei(e){let t=this[b];t.readyState===j.CLOSED||(t.readyState===j.OPEN&&(t._readyState=j.CLOSING,er(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function er(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),e._closeTimeout)}function en(){let e=this[b];if(this.removeListener("close",en),this.removeListener("data",ea),this.removeListener("end",eo),e._readyState=j.CLOSING,!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&0!==this._readableState.length){let t=this.read(this._readableState.length);e._receiver.write(t)}e._receiver.end(),this[b]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",J),e._receiver.on("finish",J))}function ea(e){this[b]._receiver.write(e)||this.pause()}function eo(){let e=this[b];e._readyState=j.CLOSING,e._receiver.end(),this.end()}function el(){let e=this[b];this.removeListener("error",el),this.on("error",E),e&&(e._readyState=j.CLOSING,this.destroy())}Object.defineProperty(j,"CONNECTING",{enumerable:!0,value:W.indexOf("CONNECTING")}),Object.defineProperty(j.prototype,"CONNECTING",{enumerable:!0,value:W.indexOf("CONNECTING")}),Object.defineProperty(j,"OPEN",{enumerable:!0,value:W.indexOf("OPEN")}),Object.defineProperty(j.prototype,"OPEN",{enumerable:!0,value:W.indexOf("OPEN")}),Object.defineProperty(j,"CLOSING",{enumerable:!0,value:W.indexOf("CLOSING")}),Object.defineProperty(j.prototype,"CLOSING",{enumerable:!0,value:W.indexOf("CLOSING")}),Object.defineProperty(j,"CLOSED",{enumerable:!0,value:W.indexOf("CLOSED")}),Object.defineProperty(j.prototype,"CLOSED",{enumerable:!0,value:W.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(j.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(j.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[v])return t[S];return null},set(t){for(let t of this.listeners(e))if(t[v]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[v]:!0})}})}),j.prototype.addEventListener=T,j.prototype.removeEventListener=x,t.exports=j}),$=x((e,t)=>{U();var{Duplex:s}=k("stream");function i(e){e.emit("close")}function r(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}t.exports=function(e,t){let a=!0,o=new s({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let i=!s&&o._readableState.objectMode?t.toString():t;o.push(i)||e.pause()}),e.once("error",function(e){o.destroyed||(a=!1,o.destroy(e))}),e.once("close",function(){o.destroyed||o.push(null)}),o._destroy=function(t,s){if(e.readyState===e.CLOSED){s(t),process.nextTick(i,o);return}let r=!1;e.once("error",function(e){r=!0,s(e)}),e.once("close",function(){r||s(t),process.nextTick(i,o)}),a&&e.terminate()},o._final=function(t){if(e.readyState===e.CONNECTING){e.once("open",function(){o._final(t)});return}null!==e._socket&&(e._socket._writableState.finished?(t(),o._readableState.endEmitted&&o.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},o._read=function(){e.isPaused&&e.resume()},o._write=function(t,s,i){if(e.readyState===e.CONNECTING){e.once("open",function(){o._write(t,s,i)});return}e.send(t,i)},o.on("end",r),o.on("error",n),o}}),q=x((e,t)=>{var{tokenChars:s}=A();t.exports={parse:function(e){let t=new Set,i=-1,r=-1,n=0;for(;n<e.length;n++){let a=e.charCodeAt(n);if(-1===r&&1===s[a])-1===i&&(i=n);else if(0!==n&&(32===a||9===a))-1===r&&-1!==i&&(r=n);else if(44===a){if(-1===i)throw SyntaxError(`Unexpected character at index ${n}`);-1===r&&(r=n);let s=e.slice(i,r);if(t.has(s))throw SyntaxError(`The "${s}" subprotocol is duplicated`);t.add(s),i=r=-1}else throw SyntaxError(`Unexpected character at index ${n}`)}if(-1===i||-1!==r)throw SyntaxError("Unexpected end of input");let a=e.slice(i,n);if(t.has(a))throw SyntaxError(`The "${a}" subprotocol is duplicated`);return t.add(a),t}}}),B=x((e,t)=>{var s=k("events"),i=k("http"),{Duplex:r}=k("stream"),{createHash:n}=k("crypto"),a=D(),o=R(),l=q(),d=U(),{CLOSE_TIMEOUT:u,GUID:c,kWebSocket:h}=C(),p=/^[+/0-9A-Za-z]{22}==$/;class m extends s{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:u,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:d,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,i)=>{this.handleUpgrade(t,s,i,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(f,this);return}if(e&&this.once("close",e),1!==this._state){if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(f,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{f(this)})}}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,i){t.on("error",g);let r=e.headers["sec-websocket-key"],n=e.headers.upgrade,d=+e.headers["sec-websocket-version"];if("GET"!==e.method){_(this,e,t,405,"Invalid HTTP method");return}if(void 0===n||"websocket"!==n.toLowerCase()){_(this,e,t,400,"Invalid Upgrade header");return}if(void 0===r||!p.test(r)){_(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(13!==d&&8!==d){_(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){y(t,400);return}let u=e.headers["sec-websocket-protocol"],c=new Set;if(void 0!==u)try{c=l.parse(u)}catch(s){_(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let h=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&void 0!==h){let s=new o({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let e=a.parse(h);e[o.extensionName]&&(s.accept(e[o.extensionName]),m[o.extensionName]=s)}catch(s){_(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let n={origin:e.headers[`${8===d?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length){this.options.verifyClient(n,(n,a,o,l)=>{if(!n)return y(t,a||401,o,l);this.completeUpgrade(m,r,c,e,t,s,i)});return}if(!this.options.verifyClient(n))return y(t,401)}this.completeUpgrade(m,r,c,e,t,s,i)}completeUpgrade(e,t,s,i,r,l,d){if(!r.readable||!r.writable)return r.destroy();if(r[h])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(r,503);let u=n("sha1").update(t+c).digest("base64"),p=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${u}`],m=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;e&&(p.push(`Sec-WebSocket-Protocol: ${e}`),m._protocol=e)}if(e[o.extensionName]){let t=e[o.extensionName].params,s=a.format({[o.extensionName]:[t]});p.push(`Sec-WebSocket-Extensions: ${s}`),m._extensions=e}this.emit("headers",p,i),r.write(p.concat(`\r
|
|
2
2
|
`).join(`\r
|
|
3
3
|
`)),r.removeListener("error",g),m.setSocket(r,l,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(m),m.on("close",()=>{this.clients.delete(m),this._shouldEmitClose&&!this.clients.size&&process.nextTick(f,this)})),d(m,i)}}function f(e){e._state=2,e.emit("close")}function g(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
|
|
4
4
|
`+Object.keys(r).map(e=>`${e}: ${r[e]}`).join(`\r
|