@calltelemetry/ct-lab-mcp 0.1.5 → 0.3.0

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 (179) hide show
  1. package/README.md +29 -1
  2. package/dist/bin/ct-lab-mcp.d.ts +3 -0
  3. package/dist/bin/ct-lab-mcp.d.ts.map +1 -1
  4. package/dist/bin/ct-lab-mcp.js +47 -8
  5. package/dist/bin/ct-lab-mcp.js.map +1 -1
  6. package/dist/src/appliance/commands.d.ts.map +1 -1
  7. package/dist/src/appliance/commands.js +24 -0
  8. package/dist/src/appliance/commands.js.map +1 -1
  9. package/dist/src/appliance/executor.d.ts.map +1 -1
  10. package/dist/src/appliance/executor.js +7 -1
  11. package/dist/src/appliance/executor.js.map +1 -1
  12. package/dist/src/appliance/mock.d.ts +6 -0
  13. package/dist/src/appliance/mock.d.ts.map +1 -1
  14. package/dist/src/appliance/mock.js +27 -6
  15. package/dist/src/appliance/mock.js.map +1 -1
  16. package/dist/src/appliance/types.d.ts +20 -1
  17. package/dist/src/appliance/types.d.ts.map +1 -1
  18. package/dist/src/appliance/types.js.map +1 -1
  19. package/dist/src/canonical/bridge.d.ts +28 -0
  20. package/dist/src/canonical/bridge.d.ts.map +1 -0
  21. package/dist/src/canonical/bridge.js +179 -0
  22. package/dist/src/canonical/bridge.js.map +1 -0
  23. package/dist/src/canonical/cli.d.ts +8 -0
  24. package/dist/src/canonical/cli.d.ts.map +1 -0
  25. package/dist/src/canonical/cli.js +9 -0
  26. package/dist/src/canonical/cli.js.map +1 -0
  27. package/dist/src/canonical/index.d.ts +4 -0
  28. package/dist/src/canonical/index.d.ts.map +1 -0
  29. package/dist/src/canonical/index.js +4 -0
  30. package/dist/src/canonical/index.js.map +1 -0
  31. package/dist/src/canonical/types.d.ts +32 -0
  32. package/dist/src/canonical/types.d.ts.map +1 -0
  33. package/dist/src/canonical/types.js +2 -0
  34. package/dist/src/canonical/types.js.map +1 -0
  35. package/dist/src/credentials/errors.d.ts +16 -0
  36. package/dist/src/credentials/errors.d.ts.map +1 -0
  37. package/dist/src/credentials/errors.js +21 -0
  38. package/dist/src/credentials/errors.js.map +1 -0
  39. package/dist/src/credentials/resolver.d.ts +16 -0
  40. package/dist/src/credentials/resolver.d.ts.map +1 -1
  41. package/dist/src/credentials/resolver.js +104 -10
  42. package/dist/src/credentials/resolver.js.map +1 -1
  43. package/dist/src/credentials/types.d.ts +8 -0
  44. package/dist/src/credentials/types.d.ts.map +1 -1
  45. package/dist/src/diagnostics/collector.d.ts +37 -0
  46. package/dist/src/diagnostics/collector.d.ts.map +1 -0
  47. package/dist/src/diagnostics/collector.js +452 -0
  48. package/dist/src/diagnostics/collector.js.map +1 -0
  49. package/dist/src/diagnostics/types.d.ts +103 -0
  50. package/dist/src/diagnostics/types.d.ts.map +1 -0
  51. package/dist/src/diagnostics/types.js +8 -0
  52. package/dist/src/diagnostics/types.js.map +1 -0
  53. package/dist/src/hypervisors/esxi/client.d.ts +1 -0
  54. package/dist/src/hypervisors/esxi/client.d.ts.map +1 -1
  55. package/dist/src/hypervisors/esxi/client.js +15 -3
  56. package/dist/src/hypervisors/esxi/client.js.map +1 -1
  57. package/dist/src/hypervisors/esxi/mock.d.ts +1 -0
  58. package/dist/src/hypervisors/esxi/mock.d.ts.map +1 -1
  59. package/dist/src/hypervisors/esxi/mock.js +4 -0
  60. package/dist/src/hypervisors/esxi/mock.js.map +1 -1
  61. package/dist/src/hypervisors/manager.d.ts.map +1 -1
  62. package/dist/src/hypervisors/manager.js +37 -3
  63. package/dist/src/hypervisors/manager.js.map +1 -1
  64. package/dist/src/hypervisors/proxmox/client.d.ts +13 -1
  65. package/dist/src/hypervisors/proxmox/client.d.ts.map +1 -1
  66. package/dist/src/hypervisors/proxmox/client.js +485 -4
  67. package/dist/src/hypervisors/proxmox/client.js.map +1 -1
  68. package/dist/src/hypervisors/proxmox/mock.d.ts +1 -0
  69. package/dist/src/hypervisors/proxmox/mock.d.ts.map +1 -1
  70. package/dist/src/hypervisors/proxmox/mock.js +4 -0
  71. package/dist/src/hypervisors/proxmox/mock.js.map +1 -1
  72. package/dist/src/hypervisors/types.d.ts +119 -2
  73. package/dist/src/hypervisors/types.d.ts.map +1 -1
  74. package/dist/src/index.d.ts +1 -0
  75. package/dist/src/index.d.ts.map +1 -1
  76. package/dist/src/index.js +1 -0
  77. package/dist/src/index.js.map +1 -1
  78. package/dist/src/proxmox/mock.d.ts +1 -1
  79. package/dist/src/proxmox/mock.d.ts.map +1 -1
  80. package/dist/src/proxmox/mock.js +103 -1
  81. package/dist/src/proxmox/mock.js.map +1 -1
  82. package/dist/src/server.d.ts +2 -0
  83. package/dist/src/server.d.ts.map +1 -1
  84. package/dist/src/server.js +4 -0
  85. package/dist/src/server.js.map +1 -1
  86. package/dist/src/slot/manager.d.ts +26 -1
  87. package/dist/src/slot/manager.d.ts.map +1 -1
  88. package/dist/src/slot/manager.js +278 -1
  89. package/dist/src/slot/manager.js.map +1 -1
  90. package/dist/src/slot/types.d.ts +49 -0
  91. package/dist/src/slot/types.d.ts.map +1 -1
  92. package/dist/src/slot/types.js +18 -0
  93. package/dist/src/slot/types.js.map +1 -1
  94. package/dist/src/tools/canonical-guard.d.ts +7 -0
  95. package/dist/src/tools/canonical-guard.d.ts.map +1 -0
  96. package/dist/src/tools/canonical-guard.js +38 -0
  97. package/dist/src/tools/canonical-guard.js.map +1 -0
  98. package/dist/src/tools/credential-status.d.ts +29 -0
  99. package/dist/src/tools/credential-status.d.ts.map +1 -0
  100. package/dist/src/tools/credential-status.js +81 -0
  101. package/dist/src/tools/credential-status.js.map +1 -0
  102. package/dist/src/tools/cube-provision.d.ts +288 -0
  103. package/dist/src/tools/cube-provision.d.ts.map +1 -0
  104. package/dist/src/tools/cube-provision.js +892 -0
  105. package/dist/src/tools/cube-provision.js.map +1 -0
  106. package/dist/src/tools/cube-tools.d.ts +137 -0
  107. package/dist/src/tools/cube-tools.d.ts.map +1 -0
  108. package/dist/src/tools/cube-tools.js +292 -0
  109. package/dist/src/tools/cube-tools.js.map +1 -0
  110. package/dist/src/tools/cucm-emulator-tool.d.ts +85 -0
  111. package/dist/src/tools/cucm-emulator-tool.d.ts.map +1 -0
  112. package/dist/src/tools/cucm-emulator-tool.js +191 -0
  113. package/dist/src/tools/cucm-emulator-tool.js.map +1 -0
  114. package/dist/src/tools/cucm-trunk.d.ts +165 -0
  115. package/dist/src/tools/cucm-trunk.d.ts.map +1 -0
  116. package/dist/src/tools/cucm-trunk.js +354 -0
  117. package/dist/src/tools/cucm-trunk.js.map +1 -0
  118. package/dist/src/tools/diagnostics.d.ts +58 -0
  119. package/dist/src/tools/diagnostics.d.ts.map +1 -0
  120. package/dist/src/tools/diagnostics.js +212 -0
  121. package/dist/src/tools/diagnostics.js.map +1 -0
  122. package/dist/src/tools/guest-agent.d.ts +34 -0
  123. package/dist/src/tools/guest-agent.d.ts.map +1 -0
  124. package/dist/src/tools/guest-agent.js +133 -0
  125. package/dist/src/tools/guest-agent.js.map +1 -0
  126. package/dist/src/tools/index.d.ts +11 -0
  127. package/dist/src/tools/index.d.ts.map +1 -1
  128. package/dist/src/tools/index.js +154 -1
  129. package/dist/src/tools/index.js.map +1 -1
  130. package/dist/src/tools/lab-preflight.d.ts +21 -0
  131. package/dist/src/tools/lab-preflight.d.ts.map +1 -0
  132. package/dist/src/tools/lab-preflight.js +22 -0
  133. package/dist/src/tools/lab-preflight.js.map +1 -0
  134. package/dist/src/tools/list-hosts.d.ts +11 -0
  135. package/dist/src/tools/list-hosts.d.ts.map +1 -1
  136. package/dist/src/tools/list-hosts.js.map +1 -1
  137. package/dist/src/tools/list-inventory.d.ts.map +1 -1
  138. package/dist/src/tools/list-inventory.js +21 -0
  139. package/dist/src/tools/list-inventory.js.map +1 -1
  140. package/dist/src/tools/network-tools.d.ts +65 -0
  141. package/dist/src/tools/network-tools.d.ts.map +1 -0
  142. package/dist/src/tools/network-tools.js +200 -0
  143. package/dist/src/tools/network-tools.js.map +1 -0
  144. package/dist/src/tools/provision-tools.d.ts.map +1 -1
  145. package/dist/src/tools/provision-tools.js +26 -0
  146. package/dist/src/tools/provision-tools.js.map +1 -1
  147. package/dist/src/tools/purge-slots.d.ts.map +1 -1
  148. package/dist/src/tools/purge-slots.js +4 -0
  149. package/dist/src/tools/purge-slots.js.map +1 -1
  150. package/dist/src/tools/server-management.d.ts +51 -0
  151. package/dist/src/tools/server-management.d.ts.map +1 -0
  152. package/dist/src/tools/server-management.js +175 -0
  153. package/dist/src/tools/server-management.js.map +1 -0
  154. package/dist/src/tools/slot-tools.d.ts.map +1 -1
  155. package/dist/src/tools/slot-tools.js +7 -0
  156. package/dist/src/tools/slot-tools.js.map +1 -1
  157. package/dist/src/tools/storage-tools.d.ts +177 -0
  158. package/dist/src/tools/storage-tools.d.ts.map +1 -1
  159. package/dist/src/tools/storage-tools.js +420 -0
  160. package/dist/src/tools/storage-tools.js.map +1 -1
  161. package/dist/src/tools/update-cli.d.ts +62 -0
  162. package/dist/src/tools/update-cli.d.ts.map +1 -0
  163. package/dist/src/tools/update-cli.js +142 -0
  164. package/dist/src/tools/update-cli.js.map +1 -0
  165. package/dist/src/tools/vm-action.d.ts +6 -6
  166. package/dist/src/tools/vm-action.d.ts.map +1 -1
  167. package/dist/src/tools/vm-action.js +7 -1
  168. package/dist/src/tools/vm-action.js.map +1 -1
  169. package/dist/src/types/mcp.d.ts +5 -1
  170. package/dist/src/types/mcp.d.ts.map +1 -1
  171. package/dist/src/types/mcp.js +14 -0
  172. package/dist/src/types/mcp.js.map +1 -1
  173. package/dist/src/types/proxmox.d.ts +1 -0
  174. package/dist/src/types/proxmox.d.ts.map +1 -1
  175. package/dist/src/utils/formatters.d.ts +7 -0
  176. package/dist/src/utils/formatters.d.ts.map +1 -1
  177. package/dist/src/utils/formatters.js +48 -5
  178. package/dist/src/utils/formatters.js.map +1 -1
  179. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/credentials/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,sBAAsB,GAC1B,wEAAwE;IACxE,sEAAsE;IACtE,kFAAkF;IAClF,0FAA0F;IAC1F,wEAAwE;IACxE,sEAAsE,CAAC;AAEzE,MAAM,OAAO,kBAAkB;IACZ,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,yBAAyB,GAAa,EAAE,CAAC;IACzC,uBAAuB,GAAG;QACzC,SAAS;QACT,UAAU;QACV,UAAU;QACV,eAAe;QACf,aAAa;QACb,YAAY;QACZ,oBAAoB;KACrB,CAAC;IAEF;;;;;;OAMG;IACK,WAAW,CAAC,OAA0B,EAAE,GAAuC;QACrF,OAAO,OAAO,CACZ,OAAO,CAAC,SAAS;YACf,GAAG,CAAC,gBAAgB,KAAK,MAAM;YAC/B,GAAG,CAAC,iBAAiB,KAAK,MAAM;YAChC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAC/B,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,OAA0B,EAAE,GAAuC;QACzF,OAAO,CACL,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,GAAG,CAAC,qBAAqB,KAAK,GAAG;YACjC,GAAG,CAAC,qBAAqB,KAAK,MAAM,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,UAA6B,EAAE;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEzD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACrF,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtH,MAAM,UAAU,GACd,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC;YAC3G,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAE7G,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAErD,0FAA0F;QAC1F,IAAI,SAAS,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;YAChH,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,aAAa,GAAG,aAAa,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/F,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,yBAAyB,CACjC,yEAAyE;oBACvE,qFAAqF,EACvF,qBAAqB,EACrB,sBAAsB,EACtB,CAAC,eAAe,CAAC,CAClB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhE,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,YAAY;gBACnB,YAAY;gBACZ,SAAS;gBACT,aAAa;aACd,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,aAAa,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,cAAc,CAAC,YAAY,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBAC7E,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;oBACtC,KAAK,EAAE,YAAY;oBACnB,OAAO,EAAE,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC,eAAe;oBACtD,MAAM,EAAE,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc;iBACpD,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;gBAC7D,mEAAmE;gBACnE,MAAM,aAAa,GAAuC,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC;gBAExF,MAAM,UAAU,GACd,SAAS;oBACT,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAEhH,MAAM,WAAW,GACf,UAAU;oBACV,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC;oBACrH,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAEvH,MAAM,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBAC5E,MAAM,cAAc,GAAG,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAEjF,IAAI,UAAU,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,IAAI,WAAW,IAAI,cAAc,CAAC,CAAC;oBAE1F,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAa,EAAE,CAAC;wBAC7B,IAAI,CAAC,UAAU;4BAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAC7C,IAAI,CAAC,WAAW;4BAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC/C,IAAI,CAAC,WAAW;4BAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,CAAC,cAAc;4BAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBACnD,MAAM,IAAI,yBAAyB,CACjC,yCACE,CAAC,UAAU,IAAI,aAAa,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,MAAM,CAAC;6BAChF,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC,IAAI,MACnB,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAC3C,qBAAqB,EACrB,sBAAsB,EACtB,OAAO,CACR,CAAC;oBACJ,CAAC;oBAED,MAAM,YAAY,GAAwB,EAAE,CAAC;oBAC7C,YAAY,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC7G,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;oBAEhH,MAAM,SAAS,GAAqB,EAAE,CAAC;oBACvC,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBAEzD,MAAM,aAAa,GAAG,cAAc,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACvE,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;oBAEhE,MAAM,CAAC,IAAI,CACT,iEAAiE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CACtG,CAAC;oBAEF,OAAO;wBACL,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,YAAY;wBACnB,YAAY;wBACZ,SAAS;wBACT,aAAa;wBACb,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM;qBACxD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,yBAAyB,EAAE,CAAC;oBAC7C,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,IAAI,yBAAyB,CACjC,kCAAkC,GAAG,EAAE,EACvC,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,yEAAyE,CAAC,CAAC;YAC9H,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,SAAS,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,CAAC,UAAU;oBAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,IAAI,yBAAyB,CACjC,wDACE,CAAC,SAAS,IAAI,aAAa,EAAE,UAAU,IAAI,cAAc,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAC5G,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACxC,qBAAqB,EACrB,sBAAsB,EACtB,OAAO,CACR,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;YAC7H,MAAM,YAAY,GAAwB,EAAE,CAAC;YAC7C,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC5G,YAAY,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAE/G,MAAM,SAAS,GAAqB,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAExD,MAAM,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtE,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhE,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,YAAY;gBACnB,YAAY;gBACZ,SAAS;gBACT,aAAa;aACd,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,yBAAyB,CACjC,+EAA+E;gBAC7E,iEAAiE,EACnE,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,iHAAiH,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,EAAkC,EAClC,MAAc,EACd,MAA0C,EAC1C,QAAgB,EAChB,cAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QAEjE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,GAAG,GAAG,OAAO,YAAY,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,OAAO,CAAC;YACxD,OAAO,GAAG,GAAG,QAAQ,MAAM,IAAI,IAAI,IAAI,YAAY,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,CAAC;QAE3F,IAAI,IAAI,GAAuB,IAAI,CAAC;QAEpC,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,IAAI,GAAG;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;gBACvB,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;aAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC;YAEhD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,GAAG;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;oBACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;oBACzB,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;iBACpB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GACZ,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC;YACvB,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC;YAC5B,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,gBAAgB,GACpB,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,KAAK,OAAO,CAAC;QAC/F,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC;QAE5F,MAAM,QAAQ,GAAG,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAEpF,0CAA0C;QAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC;QAC3D,IAAI,kBAAkB,GAAG,cAAc,CAAC;QACxC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,OAAO;YACL,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,UAAU,EAAE,IAAI;YAChB,gBAAgB;YAChB,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YAClE,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,MAA0C;QAE1C,qDAAqD;QACrD,IAAI,MAAM,GACR,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,SAAS,CAAC;QAEnB,IAAI,QAAQ,GACV,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,iBAAiB;YACxB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,aAAa,CAAC;QAEvB,IAAI,QAAQ,GACV,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,iBAAiB;YACxB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,aAAa,CAAC;QAEvB,gEAAgE;QAChE,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;gBACpF,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,QAAQ,GAAG,WAAW,QAAQ,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,aAAa,CAAC;QAC7F,MAAM,gBAAgB,GAAG,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,GAAG,CAAC;QAExE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,kBAAkB,IAAI,YAAY,CAAC;QACrF,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,sBAAsB,CAAC;QAChF,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,mBAAmB,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,gBAAgB,IAAI,YAAY,CAAC;QAE/E,MAAM,eAAe,GAAG,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,kBAAkB,CAAC;QACnF,IAAI,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QACpD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/E,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,OAAO;YACL,EAAE,EAAE,4BAA4B;YAChC,IAAI,EAAE,wCAAwC;YAC9C,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;YACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;YACzB,gBAAgB;YAChB,SAAS;YACT,YAAY;YACZ,UAAU;YACV,OAAO;YACP,gBAAgB;YAChB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,MAA0C;QAE1C,kDAAkD;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,cAAc,CAAC;QACtE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClD,OAAO;wBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO;wBACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI;wBACxC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM;wBACpE,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;qBAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;gBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO;wBACL,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;wBAClB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;wBAClB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;qBAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GACZ,MAAM,CAAC,2BAA2B;YAClC,MAAM,CAAC,uBAAuB;YAC9B,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,OAAO,CAAC;QAEjB,MAAM,QAAQ,GACZ,MAAM,CAAC,2BAA2B;YAClC,MAAM,CAAC,uBAAuB;YAC9B,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,OAAO,CAAC;QAEjB,MAAM,UAAU,GACd,MAAM,CAAC,8BAA8B;YACrC,MAAM,CAAC,0BAA0B;YACjC,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,UAAU,CAAC;QAEpB,MAAM,UAAU,GAAG,MAAM,CAAC,6BAA6B,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAEpF,MAAM,OAAO,GACX,MAAM,CAAC,uBAAuB;YAC9B,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,OAAO,CAAC;QAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpD,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YACvC,OAAO;gBACL,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe;gBACtD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;gBAChD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;gBACtD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;gBACtD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;aAChC,CAAC;QACJ,CAAC;QAED,0FAA0F;QAC1F,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnG,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,MAAM,EAAE,GAAG,EAAE,QAAQ,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;wBAC9C,OAAO;4BACL,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,eAAe;4BACpE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ;4BACjD,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU;4BACvD,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;yBACxD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC9D,OAAO;oBACL,QAAQ,EAAE,MAAM,CAAC,gCAAgC,IAAI,eAAe;oBACpE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE;oBACpB,IAAI,EAAE,IAAI;iBACX,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB;QACtB,MAAM,YAAY,GAAG;YACnB,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC3E,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC;SAC9E,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErD,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,YAAY;YACnB,YAAY;YACZ,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,EAAkC,EAClC,QAAgB,EAChB,cAAwB;QAExB,MAAM,KAAK,GAAG,EAAE,KAAK,aAAa,CAAC;QACnC,OAAO;YACL,EAAE;YACF,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,0BAA0B;YACvE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,wCAAwC;YACpG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;YAC5C,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,iBAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAChD,WAAW,EAAE,sCAAsC;aACpD;YACD,QAAQ;YACR,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;YACtB,cAAc;YACd,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,OAAO;YACL,EAAE,EAAE,4BAA4B;YAChC,IAAI,EAAE,6BAA6B;YACnC,GAAG,EAAE,yBAAyB;YAC9B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,wBAAwB;YAClC,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO,EAAE,YAAY;YACrB,gBAAgB,EAAE,IAAI,CAAC,uBAAuB;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAEO,uBAAuB;QAC7B,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,yBAAyB;YACnC,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,YAAiC,EACjC,SAA2B,EAC3B,OAA2B;QAE3B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
@@ -59,7 +59,15 @@ export interface ResolutionOptions {
59
59
  dopplerToken?: string;
60
60
  dopplerProject?: string;
61
61
  dopplerConfig?: string;
62
+ /** Force mock mode immediately, skipping any real credential resolution attempt. */
62
63
  forceMock?: boolean;
64
+ /**
65
+ * Explicitly permit falling back to mock hosts/credentials when real
66
+ * resolution is incomplete or fails. Without this (or an equivalent env
67
+ * flag), incomplete/failed resolution throws CredentialResolutionError
68
+ * instead of silently substituting synthetic data. See QA-395.
69
+ */
70
+ allowMock?: boolean;
63
71
  }
64
72
  export type CredentialTier = "direct_env" | "doppler_api" | "mock_fallback";
65
73
  export interface CredentialResolutionResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/credentials/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,CAAC;AAE5E,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/credentials/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,CAAC;AAE5E,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Call Telemetry Appliance Diagnostics Collector
3
+ *
4
+ * Aggregates diagnostic telemetry across HTTP /api/health, Prometheus /metrics,
5
+ * Oban job queues, active alarms, and Postgres database health assertions.
6
+ */
7
+ import { ApplianceDiagnosticsReport, DiagnosticsCollectionOptions, HttpHealthReport, PrometheusMetricsReport, AlarmHealthReport, ObanHealthReport, SqlHealthReport } from "./types.js";
8
+ import { VmCredentialConfig } from "../credentials/types.js";
9
+ export declare class ApplianceDiagnosticsCollector {
10
+ private insecureAgent;
11
+ constructor();
12
+ /**
13
+ * Run full multi-subsystem diagnostic collection on target appliance.
14
+ */
15
+ collect(options: DiagnosticsCollectionOptions, vmCredentials?: VmCredentialConfig | null): Promise<ApplianceDiagnosticsReport>;
16
+ /**
17
+ * Collect HTTP /api/health status and payload.
18
+ */
19
+ collectHttpHealth(targetIp: string, port: number, timeoutMs: number): Promise<HttpHealthReport>;
20
+ /**
21
+ * Collect and parse Prometheus /metrics text exposition format.
22
+ */
23
+ collectPrometheusMetrics(targetIp: string, port: number, timeoutMs: number): Promise<PrometheusMetricsReport>;
24
+ /**
25
+ * Parse Prometheus metrics text exposition into typed metrics object.
26
+ */
27
+ parsePrometheusMetricsText(text: string, endpoint: string): PrometheusMetricsReport;
28
+ /**
29
+ * Execute mediated SSH query for deep DB, Oban, and Alarm state.
30
+ */
31
+ collectSshDiagnostics(targetIp: string, sshPort: number, vmCredentials: VmCredentialConfig, timeoutMs: number, options: DiagnosticsCollectionOptions): Promise<{
32
+ alarms?: AlarmHealthReport;
33
+ oban?: ObanHealthReport;
34
+ sqlHealth?: SqlHealthReport;
35
+ }>;
36
+ }
37
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/collector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAGhB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,qBAAa,6BAA6B;IACxC,OAAO,CAAC,aAAa,CAAQ;;IAU7B;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,4BAA4B,EACrC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,GACxC,OAAO,CAAC,0BAA0B,CAAC;IAkGtC;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDrG;;OAEG;IACG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA+BnH;;OAEG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB;IAoFnF;;OAEG;IACG,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,kBAAkB,EACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;CA0KjG"}
@@ -0,0 +1,452 @@
1
+ /**
2
+ * Call Telemetry Appliance Diagnostics Collector
3
+ *
4
+ * Aggregates diagnostic telemetry across HTTP /api/health, Prometheus /metrics,
5
+ * Oban job queues, active alarms, and Postgres database health assertions.
6
+ */
7
+ import { Agent, request } from "undici";
8
+ import { ApplianceSshExecutor } from "../appliance/executor.js";
9
+ import { formatBytes, logger } from "../utils/index.js";
10
+ export class ApplianceDiagnosticsCollector {
11
+ insecureAgent;
12
+ constructor() {
13
+ this.insecureAgent = new Agent({
14
+ connect: {
15
+ rejectUnauthorized: false
16
+ }
17
+ });
18
+ }
19
+ /**
20
+ * Run full multi-subsystem diagnostic collection on target appliance.
21
+ */
22
+ async collect(options, vmCredentials) {
23
+ const startTime = Date.now();
24
+ const targetIp = options.targetIp;
25
+ const httpPort = options.httpPort ?? 443;
26
+ const sshPort = options.sshPort ?? 2222;
27
+ const timeoutMs = options.timeoutMs ?? 15000;
28
+ let httpHealth;
29
+ let prometheus;
30
+ let alarms;
31
+ let oban;
32
+ let sqlHealth;
33
+ // 1. HTTP /api/health
34
+ if (options.includeHttpHealth !== false) {
35
+ httpHealth = await this.collectHttpHealth(targetIp, httpPort, timeoutMs);
36
+ }
37
+ // 2. Prometheus /metrics
38
+ if (options.includePrometheus !== false) {
39
+ prometheus = await this.collectPrometheusMetrics(targetIp, httpPort, timeoutMs);
40
+ }
41
+ // 3. Oban, Alarms, and SQL via Mediated SSH CLI / Database if credentials available
42
+ const needsSsh = (options.includeAlarms !== false) || (options.includeOban !== false) || (options.includeSqlHealth !== false);
43
+ if (needsSsh && vmCredentials) {
44
+ const sshData = await this.collectSshDiagnostics(targetIp, sshPort, vmCredentials, timeoutMs, options);
45
+ if (options.includeAlarms !== false)
46
+ alarms = sshData.alarms;
47
+ if (options.includeOban !== false)
48
+ oban = sshData.oban;
49
+ if (options.includeSqlHealth !== false)
50
+ sqlHealth = sshData.sqlHealth;
51
+ }
52
+ else if (needsSsh) {
53
+ // Synthesize fallback from Prometheus metrics if SSH credentials not supplied
54
+ if (options.includeOban !== false && prometheus) {
55
+ oban = {
56
+ status: (prometheus.obanFetchableDepth ?? 0) > 500 ? "backlogged" : "healthy",
57
+ fetchableDepth: prometheus.obanFetchableDepth ?? 0,
58
+ executingCount: 0,
59
+ availableCount: prometheus.obanFetchableDepth ?? 0,
60
+ retryableCount: 0,
61
+ discarded7dCount: 0,
62
+ cancelledCount: 0,
63
+ pausedQueues: [],
64
+ queues: []
65
+ };
66
+ }
67
+ }
68
+ // Determine overall status
69
+ let overallStatus = "healthy";
70
+ const issues = [];
71
+ if (httpHealth && !httpHealth.isReachable) {
72
+ overallStatus = "unreachable";
73
+ issues.push(`HTTP endpoint unreachable (${httpHealth.error || "Connection refused"})`);
74
+ }
75
+ else if (httpHealth && httpHealth.statusCode >= 500) {
76
+ overallStatus = "critical";
77
+ issues.push(`HTTP /api/health returned ${httpHealth.statusCode}`);
78
+ }
79
+ if (alarms && (alarms.p0Count > 0)) {
80
+ overallStatus = "critical";
81
+ issues.push(`${alarms.p0Count} active P0 Critical Alarms`);
82
+ }
83
+ else if (alarms && (alarms.p1Count > 0)) {
84
+ if (overallStatus !== "critical")
85
+ overallStatus = "degraded";
86
+ issues.push(`${alarms.p1Count} active P1 Major Alarms`);
87
+ }
88
+ if (oban && oban.status === "backlogged") {
89
+ if (overallStatus !== "critical")
90
+ overallStatus = "degraded";
91
+ issues.push(`Oban fetchable backlog is high (${oban.fetchableDepth} jobs)`);
92
+ }
93
+ if (prometheus && prometheus.ectoPoolBusy !== undefined && prometheus.ectoPoolSize !== undefined) {
94
+ if (prometheus.ectoPoolSize > 0 && prometheus.ectoPoolBusy >= prometheus.ectoPoolSize) {
95
+ if (overallStatus !== "critical")
96
+ overallStatus = "degraded";
97
+ issues.push(`Ecto database connection pool is 100% saturated (${prometheus.ectoPoolBusy}/${prometheus.ectoPoolSize})`);
98
+ }
99
+ }
100
+ const duration = Date.now() - startTime;
101
+ const summary = issues.length === 0
102
+ ? `All appliance subsystems are operational and healthy (${duration}ms).`
103
+ : `Appliance state is ${overallStatus.toUpperCase()}: ${issues.join("; ")}`;
104
+ return {
105
+ targetIp,
106
+ timestamp: new Date().toISOString(),
107
+ overallStatus,
108
+ summary,
109
+ httpHealth,
110
+ prometheus,
111
+ alarms,
112
+ oban,
113
+ sqlHealth,
114
+ diagnosticsDurationMs: duration
115
+ };
116
+ }
117
+ /**
118
+ * Collect HTTP /api/health status and payload.
119
+ */
120
+ async collectHttpHealth(targetIp, port, timeoutMs) {
121
+ const endpoint = `https://${targetIp}:${port}/api/health`;
122
+ const start = Date.now();
123
+ try {
124
+ const res = await request(endpoint, {
125
+ method: "GET",
126
+ dispatcher: this.insecureAgent,
127
+ headersTimeout: timeoutMs,
128
+ bodyTimeout: timeoutMs
129
+ });
130
+ const latencyMs = Date.now() - start;
131
+ const statusCode = res.statusCode;
132
+ const text = await res.body.text();
133
+ let details;
134
+ try {
135
+ details = JSON.parse(text);
136
+ }
137
+ catch {
138
+ details = { raw: text.slice(0, 500) };
139
+ }
140
+ let status = "ok";
141
+ if (statusCode === 200) {
142
+ status = "ok";
143
+ }
144
+ else if (statusCode === 503) {
145
+ status = "degraded";
146
+ }
147
+ else {
148
+ status = "unhealthy";
149
+ }
150
+ return {
151
+ endpoint,
152
+ statusCode,
153
+ latencyMs,
154
+ isReachable: true,
155
+ status,
156
+ details
157
+ };
158
+ }
159
+ catch (err) {
160
+ const msg = err instanceof Error ? err.message : String(err);
161
+ return {
162
+ endpoint,
163
+ statusCode: 0,
164
+ latencyMs: Date.now() - start,
165
+ isReachable: false,
166
+ status: "unreachable",
167
+ error: msg
168
+ };
169
+ }
170
+ }
171
+ /**
172
+ * Collect and parse Prometheus /metrics text exposition format.
173
+ */
174
+ async collectPrometheusMetrics(targetIp, port, timeoutMs) {
175
+ const endpoint = `https://${targetIp}:${port}/metrics`;
176
+ try {
177
+ const res = await request(endpoint, {
178
+ method: "GET",
179
+ dispatcher: this.insecureAgent,
180
+ headersTimeout: timeoutMs,
181
+ bodyTimeout: timeoutMs
182
+ });
183
+ if (res.statusCode !== 200) {
184
+ return {
185
+ endpoint,
186
+ isAvailable: false,
187
+ error: `HTTP ${res.statusCode} from /metrics`
188
+ };
189
+ }
190
+ const text = await res.body.text();
191
+ return this.parsePrometheusMetricsText(text, endpoint);
192
+ }
193
+ catch (err) {
194
+ const msg = err instanceof Error ? err.message : String(err);
195
+ return {
196
+ endpoint,
197
+ isAvailable: false,
198
+ error: msg
199
+ };
200
+ }
201
+ }
202
+ /**
203
+ * Parse Prometheus metrics text exposition into typed metrics object.
204
+ */
205
+ parsePrometheusMetricsText(text, endpoint) {
206
+ let beamMemoryBytes;
207
+ let etsMemoryBytes;
208
+ let processCount;
209
+ let obanFetchableDepth;
210
+ let ectoPoolSize;
211
+ let ectoPoolBusy;
212
+ let ectoPoolIdle;
213
+ const ctAnalyticalLaneBacklog = {};
214
+ let sampleCount = 0;
215
+ const lines = text.split("\n");
216
+ for (const rawLine of lines) {
217
+ const line = rawLine.trim();
218
+ if (!line || line.startsWith("#"))
219
+ continue;
220
+ // Parse metric line format: metric_name{label="val",...} 1234
221
+ const match = line.match(/^([a-zA-Z_:][a-zA-Z0-9_:]*)(?:\{([^}]+)\})?\s+([0-9.eE+-]+)/);
222
+ if (!match)
223
+ continue;
224
+ const metricName = match[1];
225
+ const labelsStr = match[2] || "";
226
+ const value = parseFloat(match[3]);
227
+ if (isNaN(value))
228
+ continue;
229
+ sampleCount++;
230
+ // Erlang VM Process Count
231
+ if (metricName === "erlang_vm_process_count" || metricName === "beam_process_count") {
232
+ processCount = Math.round(value);
233
+ }
234
+ // Memory: Total BEAM
235
+ if (metricName === "erlang_vm_memory_total" || metricName === "erlang_vm_memory_bytes_total") {
236
+ beamMemoryBytes = Math.round(value);
237
+ }
238
+ // Memory: ETS Tables
239
+ if (metricName === "erlang_vm_memory_ets_tables" || (metricName === "erlang_vm_memory_bytes" && labelsStr.includes('kind="ets"'))) {
240
+ etsMemoryBytes = Math.round(value);
241
+ }
242
+ // Oban Fetchable Depth & Analytical Lane Backlog
243
+ if (metricName === "ct_analytical_lane_backlog_depth" || metricName === "oban_backlog_depth") {
244
+ const queueMatch = labelsStr.match(/queue="([^"]+)"/);
245
+ const queue = queueMatch ? queueMatch[1] : "default";
246
+ ctAnalyticalLaneBacklog[queue] = value;
247
+ obanFetchableDepth = (obanFetchableDepth || 0) + value;
248
+ }
249
+ // Oban job state counts
250
+ if (metricName === "oban_jobs_state_total" && labelsStr.includes('state="available"')) {
251
+ obanFetchableDepth = (obanFetchableDepth || 0) + value;
252
+ }
253
+ // Ecto connection pool
254
+ if (metricName === "ecto_pool_size" || (metricName === "ecto_pool_connections" && labelsStr.includes('state="total"'))) {
255
+ ectoPoolSize = Math.round(value);
256
+ }
257
+ if (metricName === "ecto_pool_busy" || (metricName === "ecto_pool_connections" && labelsStr.includes('state="busy"'))) {
258
+ ectoPoolBusy = Math.round(value);
259
+ }
260
+ if (metricName === "ecto_pool_idle" || (metricName === "ecto_pool_connections" && labelsStr.includes('state="idle"'))) {
261
+ ectoPoolIdle = Math.round(value);
262
+ }
263
+ }
264
+ return {
265
+ endpoint,
266
+ isAvailable: true,
267
+ beamMemoryBytes,
268
+ beamMemoryFormatted: beamMemoryBytes ? formatBytes(beamMemoryBytes) : undefined,
269
+ etsMemoryBytes,
270
+ etsMemoryFormatted: etsMemoryBytes ? formatBytes(etsMemoryBytes) : undefined,
271
+ processCount,
272
+ obanFetchableDepth: obanFetchableDepth ?? 0,
273
+ ectoPoolSize,
274
+ ectoPoolBusy,
275
+ ectoPoolIdle,
276
+ ctAnalyticalLaneBacklog: Object.keys(ctAnalyticalLaneBacklog).length > 0 ? ctAnalyticalLaneBacklog : undefined,
277
+ rawMetricsCount: sampleCount
278
+ };
279
+ }
280
+ /**
281
+ * Execute mediated SSH query for deep DB, Oban, and Alarm state.
282
+ */
283
+ async collectSshDiagnostics(targetIp, sshPort, vmCredentials, timeoutMs, options) {
284
+ const executor = new ApplianceSshExecutor();
285
+ // Run SQL query in database container to retrieve composite JSON report
286
+ const sqlQuery = `
287
+ SELECT json_build_object(
288
+ 'alarms', (
289
+ SELECT coalesce(json_agg(t), '[]'::json) FROM (
290
+ SELECT id, severity, title, fingerprint, inserted_at
291
+ FROM alarm_events
292
+ WHERE resolved_at IS NULL
293
+ ORDER BY inserted_at DESC
294
+ LIMIT 20
295
+ ) t
296
+ ),
297
+ 'oban', (
298
+ SELECT coalesce(json_agg(t), '[]'::json) FROM (
299
+ SELECT state, queue, count(*)::int as count
300
+ FROM oban_jobs
301
+ GROUP BY state, queue
302
+ ) t
303
+ ),
304
+ 'sql_activity', (
305
+ SELECT coalesce(json_agg(t), '[]'::json) FROM (
306
+ SELECT state, count(*)::int as count
307
+ FROM pg_stat_activity
308
+ WHERE datname = current_database()
309
+ GROUP BY state
310
+ ) t
311
+ ),
312
+ 'long_queries', (
313
+ SELECT count(*)::int
314
+ FROM pg_stat_activity
315
+ WHERE state = 'active' AND now() - query_start > interval '30 seconds'
316
+ )
317
+ );
318
+ `.trim().replace(/\n/g, " ");
319
+ try {
320
+ const execResult = await executor.execute({
321
+ targetIp,
322
+ port: sshPort,
323
+ commandType: "db_diagnostics",
324
+ timeoutMs
325
+ });
326
+ if (execResult.exitCode !== 0 || !execResult.stdout) {
327
+ return {
328
+ alarms: { totalActive: 0, p0Count: 0, p1Count: 0, p2Count: 0, firingAlarms: [], status: "clear", error: "Database query exited with non-zero status" },
329
+ oban: { status: "healthy", fetchableDepth: 0, executingCount: 0, availableCount: 0, retryableCount: 0, discarded7dCount: 0, cancelledCount: 0, pausedQueues: [], queues: [] },
330
+ sqlHealth: { status: "healthy", totalConnections: 0, activeQueriesCount: 0, idleConnectionsCount: 0, idleInTransactionCount: 0, longRunningQueriesCount: 0, autovacuumLocksCount: 0 }
331
+ };
332
+ }
333
+ let parsed = {};
334
+ try {
335
+ parsed = JSON.parse(execResult.stdout.trim());
336
+ }
337
+ catch {
338
+ return {};
339
+ }
340
+ // 1. Process Alarms
341
+ const rawAlarms = Array.isArray(parsed.alarms) ? parsed.alarms : [];
342
+ let p0Count = 0;
343
+ let p1Count = 0;
344
+ let p2Count = 0;
345
+ const firingAlarms = [];
346
+ for (const a of rawAlarms) {
347
+ const sev = String(a.severity || "").toLowerCase();
348
+ if (sev === "p0" || sev === "critical")
349
+ p0Count++;
350
+ else if (sev === "p1" || sev === "major")
351
+ p1Count++;
352
+ else
353
+ p2Count++;
354
+ firingAlarms.push({
355
+ id: a.id,
356
+ severity: sev || "p2",
357
+ title: a.title || "Unlabeled Alarm",
358
+ fingerprint: a.fingerprint,
359
+ insertedAt: a.inserted_at
360
+ });
361
+ }
362
+ const alarmStatus = p0Count > 0 ? "critical" : (p1Count > 0 ? "warning" : "clear");
363
+ // 2. Process Oban
364
+ const rawOban = Array.isArray(parsed.oban) ? parsed.oban : [];
365
+ let executingCount = 0;
366
+ let availableCount = 0;
367
+ let retryableCount = 0;
368
+ let discarded7dCount = 0;
369
+ let cancelledCount = 0;
370
+ const queues = [];
371
+ for (const item of rawOban) {
372
+ const count = Number(item.count) || 0;
373
+ const state = String(item.state || "").toLowerCase();
374
+ const queue = String(item.queue || "default");
375
+ queues.push({ queue, state, count });
376
+ if (state === "executing")
377
+ executingCount += count;
378
+ else if (state === "available")
379
+ availableCount += count;
380
+ else if (state === "retryable")
381
+ retryableCount += count;
382
+ else if (state === "discarded")
383
+ discarded7dCount += count;
384
+ else if (state === "cancelled")
385
+ cancelledCount += count;
386
+ }
387
+ const fetchableDepth = availableCount + executingCount;
388
+ let obanStatus = "healthy";
389
+ if (fetchableDepth > 1000)
390
+ obanStatus = "backlogged";
391
+ else if (retryableCount > 20)
392
+ obanStatus = "degraded";
393
+ // 3. Process SQL Activity
394
+ const rawActivity = Array.isArray(parsed.sql_activity) ? parsed.sql_activity : [];
395
+ let activeQueriesCount = 0;
396
+ let idleConnectionsCount = 0;
397
+ let idleInTransactionCount = 0;
398
+ let totalConnections = 0;
399
+ for (const act of rawActivity) {
400
+ const count = Number(act.count) || 0;
401
+ const state = String(act.state || "").toLowerCase();
402
+ totalConnections += count;
403
+ if (state === "active")
404
+ activeQueriesCount += count;
405
+ else if (state === "idle")
406
+ idleConnectionsCount += count;
407
+ else if (state.includes("idle in transaction"))
408
+ idleInTransactionCount += count;
409
+ }
410
+ const longRunningQueriesCount = Number(parsed.long_queries) || 0;
411
+ let sqlStatus = "healthy";
412
+ if (longRunningQueriesCount > 5 || idleInTransactionCount > 5)
413
+ sqlStatus = "contended";
414
+ return {
415
+ alarms: {
416
+ totalActive: rawAlarms.length,
417
+ p0Count,
418
+ p1Count,
419
+ p2Count,
420
+ firingAlarms,
421
+ status: alarmStatus
422
+ },
423
+ oban: {
424
+ status: obanStatus,
425
+ fetchableDepth,
426
+ executingCount,
427
+ availableCount,
428
+ retryableCount,
429
+ discarded7dCount,
430
+ cancelledCount,
431
+ pausedQueues: [],
432
+ queues
433
+ },
434
+ sqlHealth: {
435
+ status: sqlStatus,
436
+ totalConnections,
437
+ activeQueriesCount,
438
+ idleConnectionsCount,
439
+ idleInTransactionCount,
440
+ longRunningQueriesCount,
441
+ autovacuumLocksCount: 0
442
+ }
443
+ };
444
+ }
445
+ catch (err) {
446
+ const msg = err instanceof Error ? err.message : String(err);
447
+ logger.warn(`Failed to collect SSH database diagnostics: ${msg}`);
448
+ return {};
449
+ }
450
+ }
451
+ }
452
+ //# sourceMappingURL=collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../../src/diagnostics/collector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAYxC,OAAO,EAAE,oBAAoB,EAAwB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,OAAO,6BAA6B;IAChC,aAAa,CAAQ;IAE7B;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC;YAC7B,OAAO,EAAE;gBACP,kBAAkB,EAAE,KAAK;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,OAAqC,EACrC,aAAyC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAE7C,IAAI,UAAwC,CAAC;QAC7C,IAAI,UAA+C,CAAC;QACpD,IAAI,MAAqC,CAAC;QAC1C,IAAI,IAAkC,CAAC;QACvC,IAAI,SAAsC,CAAC;QAE3C,sBAAsB;QACtB,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YACxC,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YACxC,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClF,CAAC;QAED,oFAAoF;QACpF,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC;QAC9H,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACvG,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK;gBAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK;gBAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK;gBAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACxE,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,8EAA8E;YAC9E,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC;gBAChD,IAAI,GAAG;oBACL,MAAM,EAAE,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;oBAC7E,cAAc,EAAE,UAAU,CAAC,kBAAkB,IAAI,CAAC;oBAClD,cAAc,EAAE,CAAC;oBACjB,cAAc,EAAE,UAAU,CAAC,kBAAkB,IAAI,CAAC;oBAClD,cAAc,EAAE,CAAC;oBACjB,gBAAgB,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,YAAY,EAAE,EAAE;oBAChB,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,aAAa,GAAwD,SAAS,CAAC;QACnF,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1C,aAAa,GAAG,aAAa,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,8BAA8B,UAAU,CAAC,KAAK,IAAI,oBAAoB,GAAG,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;YACtD,aAAa,GAAG,UAAU,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;YACnC,aAAa,GAAG,UAAU,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,aAAa,KAAK,UAAU;gBAAE,aAAa,GAAG,UAAU,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACzC,IAAI,aAAa,KAAK,UAAU;gBAAE,aAAa,GAAG,UAAU,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,cAAc,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACjG,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBACtF,IAAI,aAAa,KAAK,UAAU;oBAAE,aAAa,GAAG,UAAU,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,oDAAoD,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;YACzH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;YACjC,CAAC,CAAC,yDAAyD,QAAQ,MAAM;YACzE,CAAC,CAAC,sBAAsB,aAAa,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAE9E,OAAO;YACL,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,aAAa;YACb,OAAO;YACP,UAAU;YACV,UAAU;YACV,MAAM;YACN,IAAI;YACJ,SAAS;YACT,qBAAqB,EAAE,QAAQ;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,IAAY,EAAE,SAAiB;QACvE,MAAM,QAAQ,GAAG,WAAW,QAAQ,IAAI,IAAI,aAAa,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;gBAClC,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI,CAAC,aAAa;gBAC9B,cAAc,EAAE,SAAS;gBACzB,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,OAA4C,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACxC,CAAC;YAED,IAAI,MAAM,GAAoD,IAAI,CAAC;YACnE,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC9B,MAAM,GAAG,UAAU,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,WAAW,CAAC;YACvB,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,UAAU;gBACV,SAAS;gBACT,WAAW,EAAE,IAAI;gBACjB,MAAM;gBACN,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO;gBACL,QAAQ;gBACR,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,GAAG;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,QAAgB,EAAE,IAAY,EAAE,SAAiB;QAC9E,MAAM,QAAQ,GAAG,WAAW,QAAQ,IAAI,IAAI,UAAU,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;gBAClC,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI,CAAC,aAAa;gBAC9B,cAAc,EAAE,SAAS;gBACzB,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,OAAO;oBACL,QAAQ;oBACR,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,QAAQ,GAAG,CAAC,UAAU,gBAAgB;iBAC9C,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO;gBACL,QAAQ;gBACR,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,GAAG;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,IAAY,EAAE,QAAgB;QACvD,IAAI,eAAmC,CAAC;QACxC,IAAI,cAAkC,CAAC;QACvC,IAAI,YAAgC,CAAC;QACrC,IAAI,kBAAsC,CAAC;QAC3C,IAAI,YAAgC,CAAC;QACrC,IAAI,YAAgC,CAAC;QACrC,IAAI,YAAgC,CAAC;QACrC,MAAM,uBAAuB,GAA2B,EAAE,CAAC;QAC3D,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAE5C,8DAA8D;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACxF,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC3B,WAAW,EAAE,CAAC;YAEd,0BAA0B;YAC1B,IAAI,UAAU,KAAK,yBAAyB,IAAI,UAAU,KAAK,oBAAoB,EAAE,CAAC;gBACpF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAED,qBAAqB;YACrB,IAAI,UAAU,KAAK,wBAAwB,IAAI,UAAU,KAAK,8BAA8B,EAAE,CAAC;gBAC7F,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,qBAAqB;YACrB,IAAI,UAAU,KAAK,6BAA6B,IAAI,CAAC,UAAU,KAAK,wBAAwB,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAClI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YAED,iDAAiD;YACjD,IAAI,UAAU,KAAK,kCAAkC,IAAI,UAAU,KAAK,oBAAoB,EAAE,CAAC;gBAC7F,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrD,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACvC,kBAAkB,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YACzD,CAAC;YAED,wBAAwB;YACxB,IAAI,UAAU,KAAK,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtF,kBAAkB,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YACzD,CAAC;YAED,uBAAuB;YACvB,IAAI,UAAU,KAAK,gBAAgB,IAAI,CAAC,UAAU,KAAK,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACvH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,UAAU,KAAK,gBAAgB,IAAI,CAAC,UAAU,KAAK,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACtH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,UAAU,KAAK,gBAAgB,IAAI,CAAC,UAAU,KAAK,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACtH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,WAAW,EAAE,IAAI;YACjB,eAAe;YACf,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,cAAc;YACd,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,YAAY;YACZ,kBAAkB,EAAE,kBAAkB,IAAI,CAAC;YAC3C,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;YAC9G,eAAe,EAAE,WAAW;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,QAAgB,EAChB,OAAe,EACf,aAAiC,EACjC,SAAiB,EACjB,OAAqC;QAErC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE5C,wEAAwE;QACxE,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCpB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACxC,QAAQ;gBACR,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,gBAAgB;gBAC7B,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpD,OAAO;oBACL,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,4CAA4C,EAAE;oBACtJ,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC7K,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE;iBACtL,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,GAAQ,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,oBAAoB;YACpB,MAAM,SAAS,GAAU,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,YAAY,GAAuB,EAAE,CAAC;YAE5C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU;oBAAE,OAAO,EAAE,CAAC;qBAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO;oBAAE,OAAO,EAAE,CAAC;;oBAC/C,OAAO,EAAE,CAAC;gBAEf,YAAY,CAAC,IAAI,CAAC;oBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAG,GAAW,IAAI,IAAI;oBAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,iBAAiB;oBACnC,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,WAAW;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,WAAW,GAAqC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAErH,kBAAkB;YAClB,MAAM,OAAO,GAAU,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,MAAM,MAAM,GAAoB,EAAE,CAAC;YAEnC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;gBAE9C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAErC,IAAI,KAAK,KAAK,WAAW;oBAAE,cAAc,IAAI,KAAK,CAAC;qBAC9C,IAAI,KAAK,KAAK,WAAW;oBAAE,cAAc,IAAI,KAAK,CAAC;qBACnD,IAAI,KAAK,KAAK,WAAW;oBAAE,cAAc,IAAI,KAAK,CAAC;qBACnD,IAAI,KAAK,KAAK,WAAW;oBAAE,gBAAgB,IAAI,KAAK,CAAC;qBACrD,IAAI,KAAK,KAAK,WAAW;oBAAE,cAAc,IAAI,KAAK,CAAC;YAC1D,CAAC;YAED,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;YACvD,IAAI,UAAU,GAAqD,SAAS,CAAC;YAC7E,IAAI,cAAc,GAAG,IAAI;gBAAE,UAAU,GAAG,YAAY,CAAC;iBAChD,IAAI,cAAc,GAAG,EAAE;gBAAE,UAAU,GAAG,UAAU,CAAC;YAEtD,0BAA0B;YAC1B,MAAM,WAAW,GAAU,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,sBAAsB,GAAG,CAAC,CAAC;YAC/B,IAAI,gBAAgB,GAAG,CAAC,CAAC;YAEzB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACpD,gBAAgB,IAAI,KAAK,CAAC;gBAE1B,IAAI,KAAK,KAAK,QAAQ;oBAAE,kBAAkB,IAAI,KAAK,CAAC;qBAC/C,IAAI,KAAK,KAAK,MAAM;oBAAE,oBAAoB,IAAI,KAAK,CAAC;qBACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBAAE,sBAAsB,IAAI,KAAK,CAAC;YAClF,CAAC;YAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,SAAS,GAAsD,SAAS,CAAC;YAC7E,IAAI,uBAAuB,GAAG,CAAC,IAAI,sBAAsB,GAAG,CAAC;gBAAE,SAAS,GAAG,WAAW,CAAC;YAEvF,OAAO;gBACL,MAAM,EAAE;oBACN,WAAW,EAAE,SAAS,CAAC,MAAM;oBAC7B,OAAO;oBACP,OAAO;oBACP,OAAO;oBACP,YAAY;oBACZ,MAAM,EAAE,WAAW;iBACpB;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU;oBAClB,cAAc;oBACd,cAAc;oBACd,cAAc;oBACd,cAAc;oBACd,gBAAgB;oBAChB,cAAc;oBACd,YAAY,EAAE,EAAE;oBAChB,MAAM;iBACP;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,SAAS;oBACjB,gBAAgB;oBAChB,kBAAkB;oBAClB,oBAAoB;oBACpB,sBAAsB;oBACtB,uBAAuB;oBACvB,oBAAoB,EAAE,CAAC;iBACxB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}