@monotykamary/localterm-server 2.66.7 → 2.66.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-git-status.d.ts +3 -0
- package/dist/agent-git-status.d.ts.map +1 -0
- package/dist/agent-git-status.js +46 -0
- package/dist/agent-git-status.js.map +1 -0
- package/dist/agent-log-utils.d.ts +18 -0
- package/dist/agent-log-utils.d.ts.map +1 -0
- package/dist/agent-log-utils.js +123 -0
- package/dist/agent-log-utils.js.map +1 -0
- package/dist/agent-models.d.ts +4 -0
- package/dist/agent-models.d.ts.map +1 -0
- package/dist/agent-models.js +100 -0
- package/dist/agent-models.js.map +1 -0
- package/dist/agent-runner.d.ts +3 -5
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +8 -522
- package/dist/agent-runner.js.map +1 -1
- package/dist/agent-session-reader.d.ts +3 -0
- package/dist/agent-session-reader.d.ts.map +1 -0
- package/dist/agent-session-reader.js +113 -0
- package/dist/agent-session-reader.js.map +1 -0
- package/dist/build-pty-environment.d.ts +8 -0
- package/dist/build-pty-environment.d.ts.map +1 -0
- package/dist/build-pty-environment.js +44 -0
- package/dist/build-pty-environment.js.map +1 -0
- package/dist/caffeinate-automatic-detector.d.ts +57 -0
- package/dist/caffeinate-automatic-detector.d.ts.map +1 -0
- package/dist/caffeinate-automatic-detector.js +275 -0
- package/dist/caffeinate-automatic-detector.js.map +1 -0
- package/dist/caffeinate-battery-guard.d.ts +35 -0
- package/dist/caffeinate-battery-guard.d.ts.map +1 -0
- package/dist/caffeinate-battery-guard.js +190 -0
- package/dist/caffeinate-battery-guard.js.map +1 -0
- package/dist/caffeinate-manager.d.ts +5 -31
- package/dist/caffeinate-manager.d.ts.map +1 -1
- package/dist/caffeinate-manager.js +55 -400
- package/dist/caffeinate-manager.js.map +1 -1
- package/dist/cdp/cdp-client.d.ts +4 -70
- package/dist/cdp/cdp-client.d.ts.map +1 -1
- package/dist/cdp/cdp-client.js +58 -418
- package/dist/cdp/cdp-client.js.map +1 -1
- package/dist/cdp/cdp-connection.d.ts +72 -0
- package/dist/cdp/cdp-connection.d.ts.map +1 -0
- package/dist/cdp/cdp-connection.js +272 -0
- package/dist/cdp/cdp-connection.js.map +1 -0
- package/dist/cdp/constants.d.ts +6 -0
- package/dist/cdp/constants.d.ts.map +1 -0
- package/dist/cdp/constants.js +9 -0
- package/dist/cdp/constants.js.map +1 -0
- package/dist/cdp/target-registry.d.ts +41 -0
- package/dist/cdp/target-registry.d.ts.map +1 -0
- package/dist/cdp/target-registry.js +118 -0
- package/dist/cdp/target-registry.js.map +1 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/git-branch-metadata.d.ts +11 -0
- package/dist/git-branch-metadata.d.ts.map +1 -0
- package/dist/git-branch-metadata.js +85 -0
- package/dist/git-branch-metadata.js.map +1 -0
- package/dist/git-diff-cache.d.ts +13 -0
- package/dist/git-diff-cache.d.ts.map +1 -0
- package/dist/git-diff-cache.js +32 -0
- package/dist/git-diff-cache.js.map +1 -0
- package/dist/git-diff-parser.d.ts +15 -0
- package/dist/git-diff-parser.d.ts.map +1 -0
- package/dist/git-diff-parser.js +196 -0
- package/dist/git-diff-parser.js.map +1 -0
- package/dist/git-diff-service.d.ts +10 -0
- package/dist/git-diff-service.d.ts.map +1 -0
- package/dist/git-diff-service.js +395 -0
- package/dist/git-diff-service.js.map +1 -0
- package/dist/git-diff.d.ts +8 -41
- package/dist/git-diff.d.ts.map +1 -1
- package/dist/git-diff.js +5 -944
- package/dist/git-diff.js.map +1 -1
- package/dist/github-pr.d.ts +32 -0
- package/dist/github-pr.d.ts.map +1 -0
- package/dist/github-pr.js +266 -0
- package/dist/github-pr.js.map +1 -0
- package/dist/pi-binary-resolver.d.ts +6 -0
- package/dist/pi-binary-resolver.d.ts.map +1 -0
- package/dist/pi-binary-resolver.js +70 -0
- package/dist/pi-binary-resolver.js.map +1 -0
- package/dist/pi-rpc-client.d.ts +14 -0
- package/dist/pi-rpc-client.d.ts.map +1 -0
- package/dist/pi-rpc-client.js +87 -0
- package/dist/pi-rpc-client.js.map +1 -0
- package/dist/session-client-hub.d.ts +57 -0
- package/dist/session-client-hub.d.ts.map +1 -0
- package/dist/session-client-hub.js +435 -0
- package/dist/session-client-hub.js.map +1 -0
- package/dist/session-command-executor.d.ts +14 -0
- package/dist/session-command-executor.d.ts.map +1 -0
- package/dist/session-command-executor.js +207 -0
- package/dist/session-command-executor.js.map +1 -0
- package/dist/session-git-event-bridge.d.ts +16 -0
- package/dist/session-git-event-bridge.d.ts.map +1 -0
- package/dist/session-git-event-bridge.js +56 -0
- package/dist/session-git-event-bridge.js.map +1 -0
- package/dist/session-lifecycle-policy.d.ts +15 -0
- package/dist/session-lifecycle-policy.d.ts.map +1 -0
- package/dist/session-lifecycle-policy.js +105 -0
- package/dist/session-lifecycle-policy.js.map +1 -0
- package/dist/session-manager.d.ts +11 -42
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +72 -987
- package/dist/session-manager.js.map +1 -1
- package/dist/session-output-coordinator.d.ts +21 -0
- package/dist/session-output-coordinator.d.ts.map +1 -0
- package/dist/session-output-coordinator.js +134 -0
- package/dist/session-output-coordinator.js.map +1 -0
- package/dist/session-output-transport.d.ts +22 -0
- package/dist/session-output-transport.d.ts.map +1 -0
- package/dist/session-output-transport.js +160 -0
- package/dist/session-output-transport.js.map +1 -0
- package/dist/session.d.ts +0 -4
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +11 -258
- package/dist/session.js.map +1 -1
- package/dist/shell-hook-builder.d.ts +16 -0
- package/dist/shell-hook-builder.d.ts.map +1 -0
- package/dist/shell-hook-builder.js +230 -0
- package/dist/shell-hook-builder.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-client.js","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdp-client.js","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA0CtD,MAAM,OAAO,SAAS;IACZ,UAAU,CAA4B;IAC7B,MAAM,CAAmC;IACzC,UAAU,CAAgB;IAC1B,cAAc,CAAiB;IAChD,oEAAoE;IAC5D,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,mEAAmE;IACnE,gBAAgB,CAA8B;IAE9C,YAAY,OAAO,GAAqB,EAAE;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC;YAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;gBAChC,qEAAqE;gBACrE,wEAAwE;gBACxE,oEAAoE;gBACpE,8DAA8D;gBAC9D,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBACnD,gEAAgE;gBAClE,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,SAAmC;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAElE,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;YAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IACE,MAAM,CAAC,IAAI,KAAK,MAAM;oBACtB,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBACnC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;oBAC9B,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EACrB,CAAC;oBACD,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACpE,QAAQ;gBACR,OAAO,EAAE,IAAI;aACd,CAAC,CAA2B,CAAC;YAC9B,OAAO,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,UAAkB,EAClB,SAAkB;QAElB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxC,kBAAkB,EAClB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,EACnC,SAAS,EACT,SAAS,CACV,CAAqC,CAAC;YACvC,OAAO,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,UAAkB,EAAE,SAAkB;QACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,0BAA0B,CAC9B,SAAiB,EACjB,IAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC1D,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE,SAAS,CAAC,CAEtF,CAAC;YACF,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,4BAA4B,CAChC,SAAiB,EACjB,MASE;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;gBACzD,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,MAKf;QACC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAEtE,CAAC;YACF,OAAO,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxC,kCAAkC,EAClC;gBACE,OAAO,EAAE;oBACP,QAAQ,EAAE,OAAO;oBACjB,SAAS,EAAE,UAAU;oBACrB,cAAc,EAAE,IAAI;oBACpB,mBAAmB,EAAE,IAAI;oBACzB,2BAA2B,EAAE,IAAI;oBACjC,cAAc,EAAE,IAAI;iBACrB;aACF,EACD,SAAS,CACV,CAAiC,CAAC;YACnC,OAAO,OAAO,MAAM,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,0BAA0B,CAAC,SAAiB,EAAE,eAAuB;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qCAAqC,EACrC,EAAE,eAAe,EAAE,EACnB,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,CAEzE,CAAC;YACF,OAAO,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,CAAC,mCAAmC;YAClD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAChE,GAAG;oBACH,UAAU,EAAE,IAAI;iBACjB,CAAC,CAA2B,CAAC;gBAC9B,OAAO,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mEAAmE;gBACnE,gEAAgE;gBAChE,sEAAsE;gBACtE,sEAAsE;gBACtE,sEAAsE;gBACtE,IAAI,KAAK,YAAY,aAAa;oBAAE,OAAO,IAAI,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAW;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACpE,QAAQ;gBACR,OAAO,EAAE,IAAI;aACd,CAAC,CAA2B,CAAC;YAC9B,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,QAAgB;QACvB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,iDAAiD;gBAC3D,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE;wBACpE,QAAQ;wBACR,OAAO,EAAE,IAAI;qBACd,CAAC,CAA2B,CAAC;oBAC9B,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;wBACxB,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,kBAAkB,EAClB,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAChC,QAAQ,CAAC,SAAS,CACnB,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACP,2CAA2C;wBAC7C,CAAC;wBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4EAA4E;gBAC9E,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,qEAAqE;oBACrE,qEAAqE;oBACrE,mEAAmE;oBACnE,kEAAkE;oBAClE,qEAAqE;oBACrE,wDAAwD;oBACxD,IAAI,KAAK,YAAY,aAAa;wBAAE,OAAO;oBAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,MAAM,GAAG,sBAAsB;QAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
interface CdpConnectionOptions {
|
|
2
|
+
connectTimeoutMs?: number;
|
|
3
|
+
callTimeoutMs?: number;
|
|
4
|
+
heartbeatIntervalMs?: number;
|
|
5
|
+
heartbeatTimeoutMs?: number;
|
|
6
|
+
heartbeatGraceMs?: number;
|
|
7
|
+
autoAllow?: boolean;
|
|
8
|
+
autoAllowDelayMs?: number;
|
|
9
|
+
dismissDiaAllowPrompt?: () => void;
|
|
10
|
+
platform?: NodeJS.Platform;
|
|
11
|
+
onDisconnect?: () => void;
|
|
12
|
+
}
|
|
13
|
+
/** A CDP error *reply* — the browser answered a call with an error result (e.g.
|
|
14
|
+
* "No target with given id found"), as opposed to a transport drop or a call
|
|
15
|
+
* timeout. A reply leaves the persistent socket healthy, so the open/close
|
|
16
|
+
* teardown paths must NOT tear it down on a reply: that would drop the one
|
|
17
|
+
* socket kept for the daemon's lifetime and force a reconnect, which re-fires
|
|
18
|
+
* the browser's remote-debugging consent dialog on every automation run. */
|
|
19
|
+
export declare class CdpReplyError extends Error {
|
|
20
|
+
}
|
|
21
|
+
export declare class CdpConnection {
|
|
22
|
+
private ws;
|
|
23
|
+
private nextId;
|
|
24
|
+
private readonly pending;
|
|
25
|
+
private readonly connectTimeoutMs;
|
|
26
|
+
private readonly callTimeoutMs;
|
|
27
|
+
private readonly heartbeatIntervalMs;
|
|
28
|
+
private readonly heartbeatTimeoutMs;
|
|
29
|
+
private readonly heartbeatGraceMs;
|
|
30
|
+
private readonly autoAllow;
|
|
31
|
+
private readonly autoAllowDelayMs;
|
|
32
|
+
private readonly dismissDiaAllowPrompt;
|
|
33
|
+
private readonly platform;
|
|
34
|
+
private readonly onDisconnect;
|
|
35
|
+
/** Timestamp of the last inbound CDP frame (reply or event). */
|
|
36
|
+
private lastReplyAt;
|
|
37
|
+
/** Background keepalive timer; unref'd so it never blocks daemon shutdown. */
|
|
38
|
+
private heartbeatTimer;
|
|
39
|
+
private readonly eventHandlers;
|
|
40
|
+
constructor(options?: CdpConnectionOptions);
|
|
41
|
+
isConnected(): boolean;
|
|
42
|
+
open(wsUrl: string, browserName?: string): Promise<void>;
|
|
43
|
+
/** Reject in-flight calls, drop the socket, and clear ambient state. */
|
|
44
|
+
private failPending;
|
|
45
|
+
private onMessage;
|
|
46
|
+
/** Install a CDP-event handler keyed by `(sessionId, method)`. Idempotent. */
|
|
47
|
+
on(method: string, handler: (params: unknown) => void, sessionId?: string): void;
|
|
48
|
+
call(method: string, params: Record<string, unknown>, sessionId?: string, timeoutMs?: number): Promise<unknown>;
|
|
49
|
+
/** Background keepalive for the persistent socket. Its job is to detect a
|
|
50
|
+
* half-open socket during idle rather than discovering it on the next
|
|
51
|
+
* automation run: after a quiet window it probes liveness with a cheap
|
|
52
|
+
* `Target.getTargets` round-trip. The socket often still reads OPEN after a
|
|
53
|
+
* laptop sleep even though the browser was suspended and dropped the debug
|
|
54
|
+
* WS, so without the probe the next `Target.createTarget` call stalls
|
|
55
|
+
* against it for the full call timeout before the open-path catch closes
|
|
56
|
+
* it. A probe that goes unanswered past that timeout tears the socket down
|
|
57
|
+
* now, and the next `openBackgroundTab` reconnects cleanly instead of
|
|
58
|
+
* paying that stall. When the socket genuinely survived the quiet period
|
|
59
|
+
* (still OPEN and the browser still replies), the probe reuses it and
|
|
60
|
+
* avoids a needless reopen. One probe at a time is fine — the interval is
|
|
61
|
+
* larger than the call timeout, so probes never overlap. */
|
|
62
|
+
private startHeartbeat;
|
|
63
|
+
private stopHeartbeat;
|
|
64
|
+
private heartbeatTick;
|
|
65
|
+
/** Close the (presumed dead) live socket and route teardown through
|
|
66
|
+
* failPending so maps/handlers reset in one place. Safe against a concurrent
|
|
67
|
+
* reconnect that already swapped in a fresh socket via the guard there. */
|
|
68
|
+
dropStale(reason: string): void;
|
|
69
|
+
close(): void;
|
|
70
|
+
}
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=cdp-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdp-connection.d.ts","sourceRoot":"","sources":["../../src/cdp/cdp-connection.ts"],"names":[],"mappings":"AAuBA,UAAU,oBAAoB;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;4EAK4E;AAC5E,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAwB;IAClC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAK;IACxB,8EAA8E;IAC9E,OAAO,CAAC,cAAc,CAA6B;IAKnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;IAE9E,YAAY,OAAO,GAAE,oBAAyB,EAW7C;IAED,WAAW,IAAI,OAAO,CAErB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvD;IAED,wEAAwE;IACxE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;IAmCjB,8EAA8E;IAC9E,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAE/E;IAED,IAAI,CACF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA4BlB;IAED;;;;;;;;;;;;gEAY4D;IAC5D,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAwBrB;;+EAE2E;IAC3E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS9B;IAED,KAAK,IAAI,IAAI,CASZ;CACF"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { dismissDiaAllowPrompt } from "../utils/dismiss-dia-allow-prompt.js";
|
|
2
|
+
import { CDP_AUTO_ALLOW_DELAY_MS, CDP_HEARTBEAT_GRACE_MS, CDP_HEARTBEAT_INTERVAL_MS, CDP_HEARTBEAT_TIMEOUT_MS, } from "../constants.js";
|
|
3
|
+
import { CDP_WEBSOCKET_CONNECTING_STATE, CDP_WEBSOCKET_OPEN_STATE, DEFAULT_CDP_CALL_TIMEOUT_MS, DEFAULT_CDP_CONNECT_TIMEOUT_MS, } from "./constants.js";
|
|
4
|
+
// Cheap browser-level CDP round-trip used as a transport liveness probe by the
|
|
5
|
+
// keepalive: no session, no side effects, minimal reply.
|
|
6
|
+
const CDP_HEARTBEAT_PROBE_METHOD = "Target.getTargets";
|
|
7
|
+
/** A CDP error *reply* — the browser answered a call with an error result (e.g.
|
|
8
|
+
* "No target with given id found"), as opposed to a transport drop or a call
|
|
9
|
+
* timeout. A reply leaves the persistent socket healthy, so the open/close
|
|
10
|
+
* teardown paths must NOT tear it down on a reply: that would drop the one
|
|
11
|
+
* socket kept for the daemon's lifetime and force a reconnect, which re-fires
|
|
12
|
+
* the browser's remote-debugging consent dialog on every automation run. */
|
|
13
|
+
export class CdpReplyError extends Error {
|
|
14
|
+
}
|
|
15
|
+
export class CdpConnection {
|
|
16
|
+
ws;
|
|
17
|
+
nextId = 1;
|
|
18
|
+
pending = new Map();
|
|
19
|
+
connectTimeoutMs;
|
|
20
|
+
callTimeoutMs;
|
|
21
|
+
heartbeatIntervalMs;
|
|
22
|
+
heartbeatTimeoutMs;
|
|
23
|
+
heartbeatGraceMs;
|
|
24
|
+
autoAllow;
|
|
25
|
+
autoAllowDelayMs;
|
|
26
|
+
dismissDiaAllowPrompt;
|
|
27
|
+
platform;
|
|
28
|
+
onDisconnect;
|
|
29
|
+
/** Timestamp of the last inbound CDP frame (reply or event). */
|
|
30
|
+
lastReplyAt = 0;
|
|
31
|
+
/** Background keepalive timer; unref'd so it never blocks daemon shutdown. */
|
|
32
|
+
heartbeatTimer;
|
|
33
|
+
// Event routing. CDP delivers events as `{ method, params, sessionId? }`
|
|
34
|
+
// with no `id`; browser-level events (Target.targetCreated etc.) have no
|
|
35
|
+
// sessionId, session-scoped events carry theirs. We key by
|
|
36
|
+
// `${sessionId ?? ""}:${method}` so browser and session events never collide.
|
|
37
|
+
eventHandlers = new Map();
|
|
38
|
+
constructor(options = {}) {
|
|
39
|
+
this.connectTimeoutMs = options.connectTimeoutMs ?? DEFAULT_CDP_CONNECT_TIMEOUT_MS;
|
|
40
|
+
this.callTimeoutMs = options.callTimeoutMs ?? DEFAULT_CDP_CALL_TIMEOUT_MS;
|
|
41
|
+
this.heartbeatIntervalMs = options.heartbeatIntervalMs ?? CDP_HEARTBEAT_INTERVAL_MS;
|
|
42
|
+
this.heartbeatTimeoutMs = options.heartbeatTimeoutMs ?? CDP_HEARTBEAT_TIMEOUT_MS;
|
|
43
|
+
this.heartbeatGraceMs = options.heartbeatGraceMs ?? CDP_HEARTBEAT_GRACE_MS;
|
|
44
|
+
this.autoAllow = options.autoAllow ?? true;
|
|
45
|
+
this.autoAllowDelayMs = options.autoAllowDelayMs ?? CDP_AUTO_ALLOW_DELAY_MS;
|
|
46
|
+
this.dismissDiaAllowPrompt = options.dismissDiaAllowPrompt ?? dismissDiaAllowPrompt;
|
|
47
|
+
this.platform = options.platform ?? process.platform;
|
|
48
|
+
this.onDisconnect = options.onDisconnect ?? (() => { });
|
|
49
|
+
}
|
|
50
|
+
isConnected() {
|
|
51
|
+
return this.ws?.readyState === CDP_WEBSOCKET_OPEN_STATE;
|
|
52
|
+
}
|
|
53
|
+
open(wsUrl, browserName) {
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
const ws = new WebSocket(wsUrl);
|
|
56
|
+
let settled = false;
|
|
57
|
+
// Dia (The Browser Company) is the only Chromium browser that gates the
|
|
58
|
+
// WS-open behind an "Allow debugging connection?" prompt (Return =
|
|
59
|
+
// Allow). When auto-allow is on and the WS is still CONNECTING past the
|
|
60
|
+
// delay, the prompt is up: fire one Return at the Dia process via osascript
|
|
61
|
+
// so connect completes with no manual click. No-op for every other browser
|
|
62
|
+
// and off macOS; cleared on open so a fast handshake never triggers it.
|
|
63
|
+
const allowTimer = this.autoAllow && browserName === "Dia" && this.platform === "darwin"
|
|
64
|
+
? setTimeout(() => {
|
|
65
|
+
if (settled || ws.readyState !== CDP_WEBSOCKET_CONNECTING_STATE)
|
|
66
|
+
return;
|
|
67
|
+
this.dismissDiaAllowPrompt();
|
|
68
|
+
}, this.autoAllowDelayMs)
|
|
69
|
+
: undefined;
|
|
70
|
+
const clearAllow = () => {
|
|
71
|
+
if (allowTimer)
|
|
72
|
+
clearTimeout(allowTimer);
|
|
73
|
+
};
|
|
74
|
+
const timer = setTimeout(() => {
|
|
75
|
+
if (settled)
|
|
76
|
+
return;
|
|
77
|
+
settled = true;
|
|
78
|
+
clearAllow();
|
|
79
|
+
try {
|
|
80
|
+
ws.close();
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
/* ignore */
|
|
84
|
+
}
|
|
85
|
+
reject(new Error(`timed out after ${this.connectTimeoutMs}ms`));
|
|
86
|
+
}, this.connectTimeoutMs);
|
|
87
|
+
ws.addEventListener("open", () => {
|
|
88
|
+
if (settled)
|
|
89
|
+
return;
|
|
90
|
+
settled = true;
|
|
91
|
+
clearTimeout(timer);
|
|
92
|
+
clearAllow();
|
|
93
|
+
this.ws = ws;
|
|
94
|
+
this.startHeartbeat();
|
|
95
|
+
resolve();
|
|
96
|
+
});
|
|
97
|
+
ws.addEventListener("message", (event) => this.onMessage(String(event.data)));
|
|
98
|
+
ws.addEventListener("error", () => {
|
|
99
|
+
if (settled) {
|
|
100
|
+
this.failPending(ws, new Error("CDP websocket error"));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
settled = true;
|
|
104
|
+
clearTimeout(timer);
|
|
105
|
+
clearAllow();
|
|
106
|
+
reject(new Error("websocket error (likely 403 or port closed)"));
|
|
107
|
+
});
|
|
108
|
+
ws.addEventListener("close", () => {
|
|
109
|
+
clearTimeout(timer);
|
|
110
|
+
clearAllow();
|
|
111
|
+
this.failPending(ws, new Error("CDP websocket closed"));
|
|
112
|
+
if (!settled) {
|
|
113
|
+
settled = true;
|
|
114
|
+
reject(new Error("websocket closed before open"));
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/** Reject in-flight calls, drop the socket, and clear ambient state. */
|
|
120
|
+
failPending(ws, error) {
|
|
121
|
+
if (this.ws !== ws)
|
|
122
|
+
return;
|
|
123
|
+
this.stopHeartbeat();
|
|
124
|
+
this.ws = undefined;
|
|
125
|
+
for (const pending of this.pending.values())
|
|
126
|
+
pending.reject(error);
|
|
127
|
+
this.pending.clear();
|
|
128
|
+
this.eventHandlers.clear();
|
|
129
|
+
this.onDisconnect();
|
|
130
|
+
}
|
|
131
|
+
onMessage(raw) {
|
|
132
|
+
let message;
|
|
133
|
+
try {
|
|
134
|
+
message = JSON.parse(raw);
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// Any inbound frame — a command reply or an unsolicited Target event —
|
|
140
|
+
// proves the socket is live; reset the keepalive's quiet-window clock so
|
|
141
|
+
// an active or chatty connection never gets a redundant probe.
|
|
142
|
+
this.lastReplyAt = Date.now();
|
|
143
|
+
if (typeof message.id === "number") {
|
|
144
|
+
// A command reply: route to the pending call by id.
|
|
145
|
+
const pending = this.pending.get(message.id);
|
|
146
|
+
if (!pending)
|
|
147
|
+
return;
|
|
148
|
+
this.pending.delete(message.id);
|
|
149
|
+
if (message.error)
|
|
150
|
+
pending.reject(new CdpReplyError(`CDP error: ${message.error.message ?? "unknown"}`));
|
|
151
|
+
else
|
|
152
|
+
pending.resolve(message.result);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// An event (no `id`): route by `sessionId:method`. Browser-level events
|
|
156
|
+
// like Target.targetCreated carry no sessionId.
|
|
157
|
+
if (typeof message.method !== "string")
|
|
158
|
+
return;
|
|
159
|
+
const handler = this.eventHandlers.get(`${message.sessionId ?? ""}:${message.method}`);
|
|
160
|
+
if (handler)
|
|
161
|
+
handler(message.params);
|
|
162
|
+
}
|
|
163
|
+
/** Install a CDP-event handler keyed by `(sessionId, method)`. Idempotent. */
|
|
164
|
+
on(method, handler, sessionId) {
|
|
165
|
+
this.eventHandlers.set(`${sessionId ?? ""}:${method}`, handler);
|
|
166
|
+
}
|
|
167
|
+
call(method, params, sessionId, timeoutMs) {
|
|
168
|
+
const ws = this.ws;
|
|
169
|
+
if (!ws || ws.readyState !== CDP_WEBSOCKET_OPEN_STATE) {
|
|
170
|
+
return Promise.reject(new Error("CDP not connected"));
|
|
171
|
+
}
|
|
172
|
+
const id = this.nextId++;
|
|
173
|
+
const deadline = timeoutMs ?? this.callTimeoutMs;
|
|
174
|
+
return new Promise((resolve, reject) => {
|
|
175
|
+
const timer = setTimeout(() => {
|
|
176
|
+
this.pending.delete(id);
|
|
177
|
+
reject(new Error(`CDP call timed out after ${deadline}ms`));
|
|
178
|
+
}, deadline);
|
|
179
|
+
this.pending.set(id, {
|
|
180
|
+
resolve: (value) => {
|
|
181
|
+
clearTimeout(timer);
|
|
182
|
+
resolve(value);
|
|
183
|
+
},
|
|
184
|
+
reject: (error) => {
|
|
185
|
+
clearTimeout(timer);
|
|
186
|
+
reject(error);
|
|
187
|
+
},
|
|
188
|
+
});
|
|
189
|
+
// flatten:true routes session-scoped replies back over this one socket,
|
|
190
|
+
// tagged by id, so the pending map matches them with no extra envelope.
|
|
191
|
+
ws.send(JSON.stringify(sessionId ? { id, method, params, sessionId } : { id, method, params }));
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/** Background keepalive for the persistent socket. Its job is to detect a
|
|
195
|
+
* half-open socket during idle rather than discovering it on the next
|
|
196
|
+
* automation run: after a quiet window it probes liveness with a cheap
|
|
197
|
+
* `Target.getTargets` round-trip. The socket often still reads OPEN after a
|
|
198
|
+
* laptop sleep even though the browser was suspended and dropped the debug
|
|
199
|
+
* WS, so without the probe the next `Target.createTarget` call stalls
|
|
200
|
+
* against it for the full call timeout before the open-path catch closes
|
|
201
|
+
* it. A probe that goes unanswered past that timeout tears the socket down
|
|
202
|
+
* now, and the next `openBackgroundTab` reconnects cleanly instead of
|
|
203
|
+
* paying that stall. When the socket genuinely survived the quiet period
|
|
204
|
+
* (still OPEN and the browser still replies), the probe reuses it and
|
|
205
|
+
* avoids a needless reopen. One probe at a time is fine — the interval is
|
|
206
|
+
* larger than the call timeout, so probes never overlap. */
|
|
207
|
+
startHeartbeat() {
|
|
208
|
+
this.stopHeartbeat();
|
|
209
|
+
this.lastReplyAt = Date.now();
|
|
210
|
+
this.heartbeatTimer = setInterval(() => this.heartbeatTick(), this.heartbeatIntervalMs);
|
|
211
|
+
this.heartbeatTimer.unref?.();
|
|
212
|
+
}
|
|
213
|
+
stopHeartbeat() {
|
|
214
|
+
if (this.heartbeatTimer) {
|
|
215
|
+
clearInterval(this.heartbeatTimer);
|
|
216
|
+
this.heartbeatTimer = undefined;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
heartbeatTick() {
|
|
220
|
+
if (!this.isConnected())
|
|
221
|
+
return;
|
|
222
|
+
if (Date.now() - this.lastReplyAt < this.heartbeatTimeoutMs)
|
|
223
|
+
return;
|
|
224
|
+
// Quiet past the threshold: probe liveness rather than assume death. The
|
|
225
|
+
// probe gets its own generous reply-wait (heartbeatGraceMs, not the per-call
|
|
226
|
+
// timeout) so a slow-but-live browser — post-wake scheduling delay, a
|
|
227
|
+
// momentary main-thread block — replies in time and is reused, not torn
|
|
228
|
+
// down. One probe at a time is fine: the interval is larger than the grace
|
|
229
|
+
// window, so probes never overlap.
|
|
230
|
+
void this.call(CDP_HEARTBEAT_PROBE_METHOD, {}, undefined, this.heartbeatGraceMs)
|
|
231
|
+
.then(() => {
|
|
232
|
+
this.lastReplyAt = Date.now();
|
|
233
|
+
})
|
|
234
|
+
.catch((error) => {
|
|
235
|
+
// A CDP error *reply* means the browser answered on a healthy socket
|
|
236
|
+
// (onMessage already reset lastReplyAt) — keep it. Same guard as
|
|
237
|
+
// openBackgroundTab/closeTab: a reply must never drop the one persistent
|
|
238
|
+
// socket kept for the daemon's lifetime. Only a transport drop or a
|
|
239
|
+
// probe timeout is a genuinely stale socket worth tearing down.
|
|
240
|
+
if (error instanceof CdpReplyError)
|
|
241
|
+
return;
|
|
242
|
+
this.dropStale("CDP heartbeat probe failed; dropping socket");
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
/** Close the (presumed dead) live socket and route teardown through
|
|
246
|
+
* failPending so maps/handlers reset in one place. Safe against a concurrent
|
|
247
|
+
* reconnect that already swapped in a fresh socket via the guard there. */
|
|
248
|
+
dropStale(reason) {
|
|
249
|
+
const dead = this.ws;
|
|
250
|
+
if (!dead)
|
|
251
|
+
return;
|
|
252
|
+
try {
|
|
253
|
+
dead.close();
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
/* ignore */
|
|
257
|
+
}
|
|
258
|
+
this.failPending(dead, new Error(reason));
|
|
259
|
+
}
|
|
260
|
+
close() {
|
|
261
|
+
this.stopHeartbeat();
|
|
262
|
+
try {
|
|
263
|
+
this.ws?.close();
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
/* ignore */
|
|
267
|
+
}
|
|
268
|
+
this.ws = undefined;
|
|
269
|
+
this.eventHandlers.clear();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=cdp-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdp-connection.js","sourceRoot":"","sources":["../../src/cdp/cdp-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const CDP_WEBSOCKET_CONNECTING_STATE = 0;
|
|
2
|
+
export declare const CDP_WEBSOCKET_OPEN_STATE = 1;
|
|
3
|
+
export declare const DEFAULT_CDP_CONNECT_TIMEOUT_MS = 5000;
|
|
4
|
+
export declare const DEFAULT_CDP_CALL_TIMEOUT_MS = 5000;
|
|
5
|
+
export declare const CDP_CLOSE_SETTLE_MS = 100;
|
|
6
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cdp/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,8BAA8B,OAAQ,CAAC;AACpD,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAIjD,eAAO,MAAM,mBAAmB,MAAM,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const CDP_WEBSOCKET_CONNECTING_STATE = 0; // WebSocket.CONNECTING
|
|
2
|
+
export const CDP_WEBSOCKET_OPEN_STATE = 1; // WebSocket.OPEN
|
|
3
|
+
export const DEFAULT_CDP_CONNECT_TIMEOUT_MS = 5_000;
|
|
4
|
+
export const DEFAULT_CDP_CALL_TIMEOUT_MS = 5_000;
|
|
5
|
+
// Give the browser a beat to process window.close() before tearing down the
|
|
6
|
+
// CDP target — some Chromium forks (Dia, Arc) leave the tab in the strip
|
|
7
|
+
// otherwise (see browser-harness-js closeTab).
|
|
8
|
+
export const CDP_CLOSE_SETTLE_MS = 100;
|
|
9
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cdp/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,CAAC,uBAAuB;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,iBAAiB;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AACpD,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,4EAA4E;AAC5E,yEAAyE;AACzE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface TargetRegistryConnection {
|
|
2
|
+
isConnected: () => boolean;
|
|
3
|
+
on: (method: string, handler: (params: unknown) => void, sessionId?: string) => void;
|
|
4
|
+
call: (method: string, params: Record<string, unknown>, sessionId?: string, timeoutMs?: number) => Promise<unknown>;
|
|
5
|
+
}
|
|
6
|
+
interface TargetRegistryOptions {
|
|
7
|
+
connection: TargetRegistryConnection;
|
|
8
|
+
tabUrlFilter?: (candidateUrl: string) => boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare class TargetRegistry {
|
|
11
|
+
private readonly connection;
|
|
12
|
+
private readonly tabUrlFilter?;
|
|
13
|
+
private readonly tokenToTargetId;
|
|
14
|
+
private readonly targetIdToToken;
|
|
15
|
+
constructor(options: TargetRegistryOptions);
|
|
16
|
+
/**
|
|
17
|
+
* Begin observing target lifecycle. `Target.setDiscoverTargets` makes the
|
|
18
|
+
* browser emit `Target.targetCreated` for every existing page-type target
|
|
19
|
+
* (tabs already open) plus every subsequently-created one; for each on our
|
|
20
|
+
* origin we inject an ambient token the page echoes over its WS so the
|
|
21
|
+
* server can pair the socket with the targetId (for closeTab on shell exit).
|
|
22
|
+
* `Target.targetDestroyed` cleans up our maps. Best-effort and never throws
|
|
23
|
+
* — discovery is a soft layer on top of the persistent socket.
|
|
24
|
+
*/
|
|
25
|
+
observeTargets(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Attach to one target and inject an ambient token the page echoes back over
|
|
28
|
+
* its WS so the server can pair the socket with this targetId. The robust
|
|
29
|
+
* hook is `Page.addScriptToEvaluateOnNewDocument`: it re-runs on every
|
|
30
|
+
* navigation (reload, push to a new document), so the token survives the
|
|
31
|
+
* page's lifetime without per-event re-injection plumbing. Followed by a
|
|
32
|
+
* best-effort immediate `Runtime.evaluate` so a page that has already loaded
|
|
33
|
+
* (the daemon observed an existing tab) gets the token without waiting for a
|
|
34
|
+
* navigation. Never throws.
|
|
35
|
+
*/
|
|
36
|
+
private injectToken;
|
|
37
|
+
findTargetIdForToken(token: string): string | undefined;
|
|
38
|
+
clear(): void;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=target-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-registry.d.ts","sourceRoot":"","sources":["../../src/cdp/target-registry.ts"],"names":[],"mappings":"AAGA,UAAU,wBAAwB;IAChC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrF,IAAI,EAAE,CACJ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,UAAU,qBAAqB;IAC7B,UAAU,EAAE,wBAAwB,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAoC;IAQlE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAE7D,YAAY,OAAO,EAAE,qBAAqB,EAGzC;IAED;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BpC;IAED;;;;;;;;;OASG;YACW,WAAW;IA8CzB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtD;IAED,KAAK,IAAI,IAAI,CAMZ;CACF"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { LOCALTERM_TAB_TOKEN_EVENT, LOCALTERM_TAB_TOKEN_PROPERTY } from "../constants.js";
|
|
3
|
+
export class TargetRegistry {
|
|
4
|
+
connection;
|
|
5
|
+
tabUrlFilter;
|
|
6
|
+
// Ambient tab provenance. The CDP-injected `token` <-> `targetId` pairs let
|
|
7
|
+
// the WS server match a localterm WS socket (which echoes the token back in
|
|
8
|
+
// its `{type:"identify"}` message) to the browser tab it belongs to, so
|
|
9
|
+
// onExit can drive closeTab on the right target without any open-path
|
|
10
|
+
// coordination. One entry per page-type target on our origin; cleared
|
|
11
|
+
// whenever the socket drops (a fresh browser session invalidates every
|
|
12
|
+
// prior targetId).
|
|
13
|
+
tokenToTargetId = new Map();
|
|
14
|
+
targetIdToToken = new Map();
|
|
15
|
+
constructor(options) {
|
|
16
|
+
this.connection = options.connection;
|
|
17
|
+
this.tabUrlFilter = options.tabUrlFilter;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Begin observing target lifecycle. `Target.setDiscoverTargets` makes the
|
|
21
|
+
* browser emit `Target.targetCreated` for every existing page-type target
|
|
22
|
+
* (tabs already open) plus every subsequently-created one; for each on our
|
|
23
|
+
* origin we inject an ambient token the page echoes over its WS so the
|
|
24
|
+
* server can pair the socket with the targetId (for closeTab on shell exit).
|
|
25
|
+
* `Target.targetDestroyed` cleans up our maps. Best-effort and never throws
|
|
26
|
+
* — discovery is a soft layer on top of the persistent socket.
|
|
27
|
+
*/
|
|
28
|
+
async observeTargets() {
|
|
29
|
+
if (!this.connection.isConnected())
|
|
30
|
+
return;
|
|
31
|
+
// Idempotent: handlers overwrite in place if establish() runs again after
|
|
32
|
+
// a socket drop.
|
|
33
|
+
this.connection.on("Target.targetCreated", (params) => {
|
|
34
|
+
const target = params?.targetInfo;
|
|
35
|
+
if (!target || target.type !== "page" || typeof target.targetId !== "string")
|
|
36
|
+
return;
|
|
37
|
+
if (this.targetIdToToken.has(target.targetId))
|
|
38
|
+
return; // already injected
|
|
39
|
+
if (typeof target.url !== "string" || (this.tabUrlFilter && !this.tabUrlFilter(target.url)))
|
|
40
|
+
return;
|
|
41
|
+
void this.injectToken(target.targetId).catch(() => {
|
|
42
|
+
/* injection is best-effort; never blocks observeTargets */
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
this.connection.on("Target.targetDestroyed", (params) => {
|
|
46
|
+
const targetId = params?.targetId;
|
|
47
|
+
if (typeof targetId !== "string")
|
|
48
|
+
return;
|
|
49
|
+
const token = this.targetIdToToken.get(targetId);
|
|
50
|
+
if (token !== undefined) {
|
|
51
|
+
this.tokenToTargetId.delete(token);
|
|
52
|
+
this.targetIdToToken.delete(targetId);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
await this.connection.call("Target.setDiscoverTargets", { discover: true });
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Attach to one target and inject an ambient token the page echoes back over
|
|
59
|
+
* its WS so the server can pair the socket with this targetId. The robust
|
|
60
|
+
* hook is `Page.addScriptToEvaluateOnNewDocument`: it re-runs on every
|
|
61
|
+
* navigation (reload, push to a new document), so the token survives the
|
|
62
|
+
* page's lifetime without per-event re-injection plumbing. Followed by a
|
|
63
|
+
* best-effort immediate `Runtime.evaluate` so a page that has already loaded
|
|
64
|
+
* (the daemon observed an existing tab) gets the token without waiting for a
|
|
65
|
+
* navigation. Never throws.
|
|
66
|
+
*/
|
|
67
|
+
async injectToken(targetId) {
|
|
68
|
+
const token = randomUUID();
|
|
69
|
+
this.targetIdToToken.set(targetId, token);
|
|
70
|
+
this.tokenToTargetId.set(token, targetId);
|
|
71
|
+
// The injected expression assigns the token under a well-known window
|
|
72
|
+
// property the client reads on WS-open, then dispatches a named event the
|
|
73
|
+
// client also listens for — covering the case where injection lands after
|
|
74
|
+
// the WS has already connected with `token:null`.
|
|
75
|
+
const expression = `window[${JSON.stringify(LOCALTERM_TAB_TOKEN_PROPERTY)}]=${JSON.stringify(token)};window.dispatchEvent(new Event(${JSON.stringify(LOCALTERM_TAB_TOKEN_EVENT)}))`;
|
|
76
|
+
let sessionId;
|
|
77
|
+
try {
|
|
78
|
+
const attached = (await this.connection.call("Target.attachToTarget", {
|
|
79
|
+
targetId,
|
|
80
|
+
flatten: true,
|
|
81
|
+
}));
|
|
82
|
+
sessionId = attached?.sessionId;
|
|
83
|
+
if (!sessionId)
|
|
84
|
+
return;
|
|
85
|
+
// Page domain must be enabled for addScriptToEvaluateOnNewDocument to
|
|
86
|
+
// install (and for Runtime.evaluate to land against this tab).
|
|
87
|
+
await this.connection.call("Page.enable", {}, sessionId);
|
|
88
|
+
// Fires on every navigation (and reload) — the token survives across
|
|
89
|
+
// the page's lifetime via this attached session.
|
|
90
|
+
await this.connection.call("Page.addScriptToEvaluateOnNewDocument", { source: expression }, sessionId);
|
|
91
|
+
// Best-effort immediate inject for an already-loaded page. Errors when
|
|
92
|
+
// the document has no execution context yet (still loading) — the
|
|
93
|
+
// addScript will run on context creation and dispatch the event then.
|
|
94
|
+
try {
|
|
95
|
+
await this.connection.call("Runtime.evaluate", { expression }, sessionId);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
/* execution context not yet ready; addScript covers it */
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// attach/enable failed (target already closed, fork without attach
|
|
103
|
+
// support). Leave the maps — targetDestroyed will clean up if/when it
|
|
104
|
+
// fires; without it the entry is inert (no WS ever sends this token).
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
findTargetIdForToken(token) {
|
|
108
|
+
return this.tokenToTargetId.get(token);
|
|
109
|
+
}
|
|
110
|
+
clear() {
|
|
111
|
+
// Socket dropped → every prior targetId/token is invalid; the browser
|
|
112
|
+
// session is gone (or different). Reset so the next observeTargets cycle
|
|
113
|
+
// re-discovers from a clean slate.
|
|
114
|
+
this.tokenToTargetId.clear();
|
|
115
|
+
this.targetIdToToken.clear();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=target-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-registry.js","sourceRoot":"","sources":["../../src/cdp/target-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -135,6 +135,8 @@ export declare const GIT_MAX_TOTAL_PATCH_BYTES: number;
|
|
|
135
135
|
export declare const GIT_DIRTY_THROTTLE_MS = 100;
|
|
136
136
|
export declare const GIT_CACHE_TTL_MS = 5000;
|
|
137
137
|
export declare const GIT_PR_CACHE_TTL_MS = 60000;
|
|
138
|
+
export declare const GIT_PR_FETCH_LIMIT = 30;
|
|
139
|
+
export declare const GIT_GITHUB_REQUEST_TIMEOUT_MS = 8000;
|
|
138
140
|
export declare const GIT_MAX_REF_LENGTH = 255;
|
|
139
141
|
export declare const GIT_MAX_BRANCHES = 500;
|
|
140
142
|
export declare const GIT_SPAWN_TIMEOUT_MS = 30000;
|