@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.
Files changed (125) hide show
  1. package/dist/agent-git-status.d.ts +3 -0
  2. package/dist/agent-git-status.d.ts.map +1 -0
  3. package/dist/agent-git-status.js +46 -0
  4. package/dist/agent-git-status.js.map +1 -0
  5. package/dist/agent-log-utils.d.ts +18 -0
  6. package/dist/agent-log-utils.d.ts.map +1 -0
  7. package/dist/agent-log-utils.js +123 -0
  8. package/dist/agent-log-utils.js.map +1 -0
  9. package/dist/agent-models.d.ts +4 -0
  10. package/dist/agent-models.d.ts.map +1 -0
  11. package/dist/agent-models.js +100 -0
  12. package/dist/agent-models.js.map +1 -0
  13. package/dist/agent-runner.d.ts +3 -5
  14. package/dist/agent-runner.d.ts.map +1 -1
  15. package/dist/agent-runner.js +8 -522
  16. package/dist/agent-runner.js.map +1 -1
  17. package/dist/agent-session-reader.d.ts +3 -0
  18. package/dist/agent-session-reader.d.ts.map +1 -0
  19. package/dist/agent-session-reader.js +113 -0
  20. package/dist/agent-session-reader.js.map +1 -0
  21. package/dist/build-pty-environment.d.ts +8 -0
  22. package/dist/build-pty-environment.d.ts.map +1 -0
  23. package/dist/build-pty-environment.js +44 -0
  24. package/dist/build-pty-environment.js.map +1 -0
  25. package/dist/caffeinate-automatic-detector.d.ts +57 -0
  26. package/dist/caffeinate-automatic-detector.d.ts.map +1 -0
  27. package/dist/caffeinate-automatic-detector.js +275 -0
  28. package/dist/caffeinate-automatic-detector.js.map +1 -0
  29. package/dist/caffeinate-battery-guard.d.ts +35 -0
  30. package/dist/caffeinate-battery-guard.d.ts.map +1 -0
  31. package/dist/caffeinate-battery-guard.js +190 -0
  32. package/dist/caffeinate-battery-guard.js.map +1 -0
  33. package/dist/caffeinate-manager.d.ts +5 -31
  34. package/dist/caffeinate-manager.d.ts.map +1 -1
  35. package/dist/caffeinate-manager.js +55 -400
  36. package/dist/caffeinate-manager.js.map +1 -1
  37. package/dist/cdp/cdp-client.d.ts +4 -70
  38. package/dist/cdp/cdp-client.d.ts.map +1 -1
  39. package/dist/cdp/cdp-client.js +58 -418
  40. package/dist/cdp/cdp-client.js.map +1 -1
  41. package/dist/cdp/cdp-connection.d.ts +72 -0
  42. package/dist/cdp/cdp-connection.d.ts.map +1 -0
  43. package/dist/cdp/cdp-connection.js +272 -0
  44. package/dist/cdp/cdp-connection.js.map +1 -0
  45. package/dist/cdp/constants.d.ts +6 -0
  46. package/dist/cdp/constants.d.ts.map +1 -0
  47. package/dist/cdp/constants.js +9 -0
  48. package/dist/cdp/constants.js.map +1 -0
  49. package/dist/cdp/target-registry.d.ts +41 -0
  50. package/dist/cdp/target-registry.d.ts.map +1 -0
  51. package/dist/cdp/target-registry.js +118 -0
  52. package/dist/cdp/target-registry.js.map +1 -0
  53. package/dist/constants.d.ts +2 -0
  54. package/dist/constants.d.ts.map +1 -1
  55. package/dist/constants.js +2 -0
  56. package/dist/constants.js.map +1 -1
  57. package/dist/git-branch-metadata.d.ts +11 -0
  58. package/dist/git-branch-metadata.d.ts.map +1 -0
  59. package/dist/git-branch-metadata.js +85 -0
  60. package/dist/git-branch-metadata.js.map +1 -0
  61. package/dist/git-diff-cache.d.ts +13 -0
  62. package/dist/git-diff-cache.d.ts.map +1 -0
  63. package/dist/git-diff-cache.js +32 -0
  64. package/dist/git-diff-cache.js.map +1 -0
  65. package/dist/git-diff-parser.d.ts +15 -0
  66. package/dist/git-diff-parser.d.ts.map +1 -0
  67. package/dist/git-diff-parser.js +196 -0
  68. package/dist/git-diff-parser.js.map +1 -0
  69. package/dist/git-diff-service.d.ts +10 -0
  70. package/dist/git-diff-service.d.ts.map +1 -0
  71. package/dist/git-diff-service.js +395 -0
  72. package/dist/git-diff-service.js.map +1 -0
  73. package/dist/git-diff.d.ts +8 -41
  74. package/dist/git-diff.d.ts.map +1 -1
  75. package/dist/git-diff.js +5 -944
  76. package/dist/git-diff.js.map +1 -1
  77. package/dist/github-pr.d.ts +32 -0
  78. package/dist/github-pr.d.ts.map +1 -0
  79. package/dist/github-pr.js +266 -0
  80. package/dist/github-pr.js.map +1 -0
  81. package/dist/pi-binary-resolver.d.ts +6 -0
  82. package/dist/pi-binary-resolver.d.ts.map +1 -0
  83. package/dist/pi-binary-resolver.js +70 -0
  84. package/dist/pi-binary-resolver.js.map +1 -0
  85. package/dist/pi-rpc-client.d.ts +14 -0
  86. package/dist/pi-rpc-client.d.ts.map +1 -0
  87. package/dist/pi-rpc-client.js +87 -0
  88. package/dist/pi-rpc-client.js.map +1 -0
  89. package/dist/session-client-hub.d.ts +57 -0
  90. package/dist/session-client-hub.d.ts.map +1 -0
  91. package/dist/session-client-hub.js +435 -0
  92. package/dist/session-client-hub.js.map +1 -0
  93. package/dist/session-command-executor.d.ts +14 -0
  94. package/dist/session-command-executor.d.ts.map +1 -0
  95. package/dist/session-command-executor.js +207 -0
  96. package/dist/session-command-executor.js.map +1 -0
  97. package/dist/session-git-event-bridge.d.ts +16 -0
  98. package/dist/session-git-event-bridge.d.ts.map +1 -0
  99. package/dist/session-git-event-bridge.js +56 -0
  100. package/dist/session-git-event-bridge.js.map +1 -0
  101. package/dist/session-lifecycle-policy.d.ts +15 -0
  102. package/dist/session-lifecycle-policy.d.ts.map +1 -0
  103. package/dist/session-lifecycle-policy.js +105 -0
  104. package/dist/session-lifecycle-policy.js.map +1 -0
  105. package/dist/session-manager.d.ts +11 -42
  106. package/dist/session-manager.d.ts.map +1 -1
  107. package/dist/session-manager.js +72 -987
  108. package/dist/session-manager.js.map +1 -1
  109. package/dist/session-output-coordinator.d.ts +21 -0
  110. package/dist/session-output-coordinator.d.ts.map +1 -0
  111. package/dist/session-output-coordinator.js +134 -0
  112. package/dist/session-output-coordinator.js.map +1 -0
  113. package/dist/session-output-transport.d.ts +22 -0
  114. package/dist/session-output-transport.d.ts.map +1 -0
  115. package/dist/session-output-transport.js +160 -0
  116. package/dist/session-output-transport.js.map +1 -0
  117. package/dist/session.d.ts +0 -4
  118. package/dist/session.d.ts.map +1 -1
  119. package/dist/session.js +11 -258
  120. package/dist/session.js.map +1 -1
  121. package/dist/shell-hook-builder.d.ts +16 -0
  122. package/dist/shell-hook-builder.d.ts.map +1 -0
  123. package/dist/shell-hook-builder.js +230 -0
  124. package/dist/shell-hook-builder.js.map +1 -0
  125. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-client.js","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAwB,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB;AACpC,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,uBAAuB;AAEhD,+EAA+E;AAC/E,yDAAyD;AACzD,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;AAEvD,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,4EAA4E;AAC5E,yEAAyE;AACzE,+CAA+C;AAC/C,MAAM,eAAe,GAAG,GAAG,CAAC;AAI5B;;;;;4EAK4E;AAC5E,MAAM,aAAc,SAAQ,KAAK;CAAG;AA0CpC,MAAM,OAAO,SAAS;IACZ,EAAE,CAAwB;IAC1B,UAAU,CAA4B;IACtC,MAAM,GAAG,CAAC,CAAC;IACF,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IACrC,MAAM,CAAmC;IACzC,gBAAgB,CAAS;IACzB,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAC5B,kBAAkB,CAAS;IAC3B,gBAAgB,CAAS;IACzB,SAAS,CAAU;IACnB,gBAAgB,CAAS;IACzB,qBAAqB,CAAa;IAClC,QAAQ,CAAkB;IAC3C,gEAAgE;IACxD,WAAW,GAAG,CAAC,CAAC;IACxB,8EAA8E;IACtE,cAAc,CAA6B;IACnD,oEAAoE;IAC5D,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,mEAAmE;IACnE,gBAAgB,CAA8B;IAC7B,YAAY,CAAqC;IAClE,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,mBAAmB;IACF,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7D,yEAAyE;IACzE,yEAAyE;IACzE,2DAA2D;IAC3D,8EAA8E;IAC7D,aAAa,GAAG,IAAI,GAAG,EAAqC,CAAC;IAE9E,YAAY,OAAO,GAAqB,EAAE;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QAC/E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAC;QACtE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,yBAAyB,CAAC;QACpF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;QACjF,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;QAC5E,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,qBAAqB,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC;IACzC,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,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;gBAChC,qEAAqE;gBACrE,wEAAwE;gBACxE,oEAAoE;gBACpE,8DAA8D;gBAC9D,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBACpC,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;IAEO,UAAU,CAAC,KAAa,EAAE,WAAoB;QACpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,wEAAwE;YACxE,mEAAmE;YACnE,wEAAwE;YACxE,4EAA4E;YAC5E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,UAAU,GACd,IAAI,CAAC,SAAS,IAAI,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACnE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,KAAK,aAAa;wBAAE,OAAO;oBACvD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;gBAC3B,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC5B,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE1B,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5F,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IAChE,WAAW,CAAC,EAAa,EAAE,KAAY;QAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,sEAAsE;QACtE,yEAAyE;QACzE,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,OAOH,CAAC;QACF,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,+DAA+D;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACnC,oDAAoD;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK;gBACf,OAAO,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,cAAc,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;;gBACnF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,wEAAwE;QACxE,gDAAgD;QAChD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,8EAA8E;IACtE,EAAE,CAAC,MAAc,EAAE,OAAkC,EAAE,SAAkB;QAC/E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,EAAE,IAAI,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAEO,IAAI,CACV,MAAc,EACd,MAA+B,EAC/B,SAAkB,EAClB,SAAkB;QAElB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QACjD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC,CAAC;YAC9D,CAAC,EAAE,QAAQ,CAAC,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;aACF,CAAC,CAAC;YACH,wEAAwE;YACxE,wEAAwE;YACxE,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACvF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAChC,0EAA0E;QAC1E,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,MAAe,EAAE,EAAE;YAClD,MAAM,MAAM,GACV,MACD,EAAE,UAAU,CAAC;YACd,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO;YACrF,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,mBAAmB;YAC1E,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzF,OAAO;YACT,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChD,2DAA2D;YAC7D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,MAAe,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAI,MAA4C,EAAE,QAAQ,CAAC;YACzE,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,WAAW,CAAC,QAAgB;QACxC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1C,sEAAsE;QACtE,0EAA0E;QAC1E,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,SAAS,CACzC,4BAA4B,CAC7B,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAC1E,yBAAyB,CAC1B,IAAI,CAAC;QACN,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACzD,QAAQ;gBACR,OAAO,EAAE,IAAI;aACd,CAAC,CAA2B,CAAC;YAC9B,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;YAChC,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YAC9C,qEAAqE;YACrE,iDAAiD;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;YAC5F,uEAAuE;YACvE,kEAAkE;YAClE,sEAAsE;YACtE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,sEAAsE;YACtE,sEAAsE;QACxE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,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,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAEvD,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,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAEtF,CAAC;YACF,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,IAAI,CAC7B,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,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,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,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE,SAAS,CAAC,CAE3E,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,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAChE,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,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAA0B,CAAC;YACvF,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,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAC7B,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,IAAI,CAAC,qCAAqC,EAAE,EAAE,eAAe,EAAE,EAAE,SAAS,CAAC,CAAC;QACzF,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,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,CAA2B,CAAC;YAC3F,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,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAEhF,CAAC;gBACF,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,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC;wBACH,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC/E,CAAC;YACH,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,IAAI,CAAC,uBAAuB,EAAE;gBACzD,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,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,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,IAAI,CAAC,uBAAuB,EAAE;wBACzD,QAAQ;wBACR,OAAO,EAAE,IAAI;qBACd,CAAC,CAA2B,CAAC;oBAC9B,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;wBACxB,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,IAAI,CACb,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,eAAe,CAAC,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4EAA4E;gBAC9E,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACpD,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,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;oBACtB,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC;4BACH,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,CAAC;wBAAC,MAAM,CAAC;4BACP,YAAY;wBACd,CAAC;wBACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;oBACxF,CAAC;gBACH,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;;;;;;;;;;;;gEAY4D;IACpD,cAAc;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;IAChC,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACpE,yEAAyE;QACzE,6EAA6E;QAC7E,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,mCAAmC;QACnC,KAAK,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;aAC7E,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,qEAAqE;YACrE,iEAAiE;YACjE,yEAAyE;YACzE,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,KAAK,YAAY,aAAa;gBAAE,OAAO;YAC3C,IAAI,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;+EAE2E;IACnE,aAAa,CAAC,MAAc;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,MAAM,GAAG,sBAAsB;QAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"cdp-client.js","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -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;