@superblocksteam/vite-plugin-file-sync 2.0.89-next.1 → 2.0.89-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/ai-service/agent/prompts/api-prompts.js +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -2
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +28 -132
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  6. package/dist/ai-service/agent/tool-message-utils.js +1 -1
  7. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  8. package/dist/ai-service/agent/tools/apis/test-api.d.ts +0 -44
  9. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tools/apis/test-api.js +92 -226
  11. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  12. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +11 -13
  13. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/build-capture-screenshot.js +3 -33
  15. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/build-debug.js +3 -8
  18. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/build-edit-file.js +2 -12
  21. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  22. package/dist/ai-service/agent/tools/build-list-files.js +1 -1
  23. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  24. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools/build-multi-edit-file.js +1 -6
  26. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  27. package/dist/ai-service/agent/tools/get-logs.d.ts +1 -1
  28. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools.js +1 -5
  30. package/dist/ai-service/agent/tools.js.map +1 -1
  31. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools2/access-control.js +0 -3
  33. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  34. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -2
  35. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +3 -3
  36. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  37. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
  38. package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
  39. package/dist/ai-service/agent/tools2/tools/index.d.ts +0 -1
  40. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  41. package/dist/ai-service/agent/tools2/tools/index.js +0 -1
  42. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  43. package/dist/ai-service/agent/tools2/types.d.ts +0 -1
  44. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  45. package/dist/ai-service/agent/tools2/types.js +0 -1
  46. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  47. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  48. package/dist/ai-service/agent/utils.js +0 -77
  49. package/dist/ai-service/agent/utils.js.map +1 -1
  50. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +1 -22
  51. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  52. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +11 -121
  53. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  54. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts +1 -1
  55. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts.map +1 -1
  56. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js +2 -4
  57. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js.map +1 -1
  58. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +0 -2
  59. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
  60. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +3 -28
  61. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
  62. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  63. package/dist/ai-service/app-interface/shell.js +1 -8
  64. package/dist/ai-service/app-interface/shell.js.map +1 -1
  65. package/dist/ai-service/chat/chat-session-store.d.ts +1 -1
  66. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  67. package/dist/ai-service/chat/chat-session-store.js +0 -82
  68. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  69. package/dist/ai-service/facts/helpers.d.ts +1 -8
  70. package/dist/ai-service/facts/helpers.d.ts.map +1 -1
  71. package/dist/ai-service/facts/helpers.js +7 -89
  72. package/dist/ai-service/facts/helpers.js.map +1 -1
  73. package/dist/ai-service/facts/knowledge-manager.d.ts +3 -39
  74. package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -1
  75. package/dist/ai-service/facts/knowledge-manager.js +27 -108
  76. package/dist/ai-service/facts/knowledge-manager.js.map +1 -1
  77. package/dist/ai-service/features.d.ts +0 -5
  78. package/dist/ai-service/features.d.ts.map +1 -1
  79. package/dist/ai-service/features.js +0 -5
  80. package/dist/ai-service/features.js.map +1 -1
  81. package/dist/ai-service/index.d.ts +0 -20
  82. package/dist/ai-service/index.d.ts.map +1 -1
  83. package/dist/ai-service/index.js +1 -38
  84. package/dist/ai-service/index.js.map +1 -1
  85. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  86. package/dist/ai-service/integrations/store.js +1 -3
  87. package/dist/ai-service/integrations/store.js.map +1 -1
  88. package/dist/ai-service/llm/context-v2/context.d.ts +0 -2
  89. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  90. package/dist/ai-service/llm/context-v2/context.js +0 -65
  91. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  92. package/dist/ai-service/recording/index.d.ts +0 -1
  93. package/dist/ai-service/recording/index.d.ts.map +1 -1
  94. package/dist/ai-service/recording/index.js +0 -2
  95. package/dist/ai-service/recording/index.js.map +1 -1
  96. package/dist/ai-service/recording/storage/session-recording-storage.d.ts +1 -5
  97. package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -1
  98. package/dist/ai-service/recording/storage/session-recording-storage.js +21 -46
  99. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -1
  100. package/dist/ai-service/skills/index.d.ts +1 -3
  101. package/dist/ai-service/skills/index.d.ts.map +1 -1
  102. package/dist/ai-service/skills/index.js +2 -5
  103. package/dist/ai-service/skills/index.js.map +1 -1
  104. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  105. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +4 -4
  106. package/dist/ai-service/state-machine/clark-fsm.d.ts +1 -18
  107. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  108. package/dist/ai-service/state-machine/clark-fsm.js +0 -1
  109. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  110. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  111. package/dist/ai-service/state-machine/handlers/agent-planning.js +11 -82
  112. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  113. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  114. package/dist/ai-service/state-machine/handlers/llm-generating.js +7 -67
  115. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  116. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  117. package/dist/ai-service/state-machine/mocks.js +0 -2
  118. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  119. package/dist/ai-service/types.d.ts +0 -3
  120. package/dist/ai-service/types.d.ts.map +1 -1
  121. package/dist/ai-service/types.js.map +1 -1
  122. package/dist/ai-service/util/mode-message.d.ts.map +1 -1
  123. package/dist/ai-service/util/mode-message.js +0 -3
  124. package/dist/ai-service/util/mode-message.js.map +1 -1
  125. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  126. package/dist/file-sync-vite-plugin.js +21 -68
  127. package/dist/file-sync-vite-plugin.js.map +1 -1
  128. package/dist/file-system-helpers.d.ts +0 -4
  129. package/dist/file-system-helpers.d.ts.map +1 -1
  130. package/dist/file-system-helpers.js +0 -13
  131. package/dist/file-system-helpers.js.map +1 -1
  132. package/dist/injected-index.d.ts.map +1 -1
  133. package/dist/injected-index.js +3 -4
  134. package/dist/injected-index.js.map +1 -1
  135. package/dist/plugin-options.d.ts +0 -2
  136. package/dist/plugin-options.d.ts.map +1 -1
  137. package/dist/plugin-options.js.map +1 -1
  138. package/dist/socket-manager.d.ts +0 -1
  139. package/dist/socket-manager.d.ts.map +1 -1
  140. package/dist/socket-manager.js +0 -34
  141. package/dist/socket-manager.js.map +1 -1
  142. package/package.json +5 -9
  143. package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts +0 -29
  144. package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts.map +0 -1
  145. package/dist/ai-service/agent/tools2/tools/remember-facts.js +0 -104
  146. package/dist/ai-service/agent/tools2/tools/remember-facts.js.map +0 -1
  147. package/dist/ai-service/app-skills/helpers.d.ts +0 -32
  148. package/dist/ai-service/app-skills/helpers.d.ts.map +0 -1
  149. package/dist/ai-service/app-skills/helpers.js +0 -259
  150. package/dist/ai-service/app-skills/helpers.js.map +0 -1
  151. package/dist/ai-service/app-skills/manager.d.ts +0 -60
  152. package/dist/ai-service/app-skills/manager.d.ts.map +0 -1
  153. package/dist/ai-service/app-skills/manager.js +0 -203
  154. package/dist/ai-service/app-skills/manager.js.map +0 -1
  155. package/dist/ai-service/app-skills/parser.d.ts +0 -53
  156. package/dist/ai-service/app-skills/parser.d.ts.map +0 -1
  157. package/dist/ai-service/app-skills/parser.js +0 -82
  158. package/dist/ai-service/app-skills/parser.js.map +0 -1
  159. package/dist/ai-service/attachment-upload.d.ts +0 -24
  160. package/dist/ai-service/attachment-upload.d.ts.map +0 -1
  161. package/dist/ai-service/attachment-upload.js +0 -75
  162. package/dist/ai-service/attachment-upload.js.map +0 -1
  163. package/dist/ai-service/recording/block-traversal.d.ts +0 -30
  164. package/dist/ai-service/recording/block-traversal.d.ts.map +0 -1
  165. package/dist/ai-service/recording/block-traversal.js +0 -118
  166. package/dist/ai-service/recording/block-traversal.js.map +0 -1
  167. package/dist/ai-service/recording/snapshot-manager.d.ts +0 -200
  168. package/dist/ai-service/recording/snapshot-manager.d.ts.map +0 -1
  169. package/dist/ai-service/recording/snapshot-manager.js +0 -708
  170. package/dist/ai-service/recording/snapshot-manager.js.map +0 -1
  171. package/dist/ai-service/sdk-api-templates.d.ts +0 -2
  172. package/dist/ai-service/sdk-api-templates.d.ts.map +0 -1
  173. package/dist/ai-service/sdk-api-templates.js +0 -2
  174. package/dist/ai-service/sdk-api-templates.js.map +0 -1
  175. package/dist/ai-service/util/rpc-timeout.d.ts +0 -37
  176. package/dist/ai-service/util/rpc-timeout.d.ts.map +0 -1
  177. package/dist/ai-service/util/rpc-timeout.js +0 -58
  178. package/dist/ai-service/util/rpc-timeout.js.map +0 -1
  179. package/dist/snapshot-routes.d.ts +0 -17
  180. package/dist/snapshot-routes.d.ts.map +0 -1
  181. package/dist/snapshot-routes.js +0 -247
  182. package/dist/snapshot-routes.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-manager.js","sourceRoot":"","sources":["../../../src/ai-service/recording/snapshot-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAQjE,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CACtC,cAAc,EACd,uBAAuB,CACxB,CAAC;AAwBF;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAsB,EAAE,OAAe;IACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,EAAW,CAAC;QAC5C,MAAM,EAAE,GAAG,CAAC,GAAiB,EAAE,OAAkC,EAAE,EAAE;YACnE,IAAI,GAAG,IAAI,CAAC,OAAO;gBACjB,OAAO,MAAM,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAExD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,EAAE,CAAC;YAEpB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YAEzD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAkB,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnD,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;oBACjC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAC9B,CAAC;oBACD,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,QAAQ,EAAE,CAAC,CACnE,CAAC;gBACJ,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACtC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EACzB,MAAM,CACP,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC1D,OAAO,CAAC,cAAc,CACpB,KAAK,EACL,CAAC,SAAuB,EAAE,UAAgC,EAAE,EAAE;wBAC5D,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;4BAC7B,OAAO,MAAM,CACX,SAAS,IAAI,IAAI,KAAK,CAAC,4BAA4B,CAAC,CACrD,CAAC;wBACJ,CAAC;wBACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBAC5C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;wBAChD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBAC/B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBAChC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,CAAC,CACF,CAAC;gBACJ,CAAC,EAAE,MAAM,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IASG;IARrB,aAAa,GAAyB,IAAI,CAAC;IAClC,OAAO,CAAS;IAEjC;;;;OAIG;IACH,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,mDAAmD;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACK,OAAO,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,uDAAuD;YACvD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAExE,2DAA2D;YAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3D,qFAAqF;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,UAAU,GAA6C,IAAI,CAAC;YAEhE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAExC,IAAI,GAAG,GAAG,iBAAiB,EAAE,CAAC;oBAC5B,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;wBAClD,UAAU,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO;oBACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;oBAC1D,UAAU,EAAE,UAAU,CAAC,KAAK;iBAC7B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,KAAK,IAAI,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS;QACb,sCAAsC;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,SAAS,EAAE,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBACvD,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,YAAY,EAAE,YAAY,CAAC,YAAY;aACxC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,mCAAmC;QACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,cAAc,EACd,cAAc,EACd,kBAAkB,CACnB,CAAC;QACF,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;YACtD,KAAK,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QAED,qBAAqB;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,CAChB,CAAC;QACF,IAAI,QAAQ,GAA2B,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA6B,CAAC;YAErE,kCAAkC;YAClC,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,cAAc,EACd,cAAc,EACd,YAAY,EACZ,OAAO,CAAC,EAAE,CACX,CAAC;gBACF,MAAM,aAAa,GAAG,MAAM,WAAW,CACrC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAC5C,CAAC;gBACF,MAAM,YAAY,GAChB,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;oBAC7D,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAEnE,4CAA4C;gBAC5C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GACjC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtE,IAAI,IAAiC,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC/B,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;gBACvD,CAAC;gBAAC,MAAM,CAAC;oBACP,2CAA2C;gBAC7C,CAAC;gBAED,OAAO;oBACL,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,iBAAiB,EAAE,aAAa,IAAI,CAAC;oBACrC,gBAAgB,EAAE,YAAY;oBAC9B,IAAI;iBACL,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAE5D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,aAAqB;QAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,4CAA4C,cAAc,EAAE,EAAE;YACxE,QAAQ;YACR,UAAU,EAAE,aAAa,CAAC,MAAM;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAEzD,MAAM,WAAW,GAAkB;gBACjC,QAAQ;gBACR,YAAY,EAAE,SAAS;gBACvB,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YAEjC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACnD,QAAQ;gBACR,YAAY,EAAE,SAAS;aACxB,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sBAAsB;YACtB,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzE,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,4DAA4D,EAC5D,YAAY,CAAC,YAAY,CAAC,CAC3B,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAC/C,QAAQ;YACR,YAAY;SACb,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,wDAAwD,EACxD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,SAA6B,EAC7B,UAAkB,EAClB,uBAAqC,EACrC,oBAA8B;QAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,wBAAwB,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACzE,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,SAAS,EACT,cAAc,EACd,kBAAkB,CACnB,CAAC;gBACF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,SAAiB,CAAC;QAEtB,oDAAoD;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACrE,MAAM,CAAC,YAAY,EACnB,SAAS,CACV,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,oBAAoB,CAC5B,2CAA2C,SAAS,GAAG,CACxD,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CACT,qDAAqD,UAAU,EAAE,EACjE,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB,CAAC;YAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC5D,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;QAED,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE1C,2DAA2D;QAC3D,IAAI,uBAAuB,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAClD,SAAS,EACT,uBAAuB,CACxB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,0DAA0D;YAC5D,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAW;QAC3C,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAqB,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,OAAO,OAAO;qBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;qBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,IAAI,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,WAAW,CAAC,MAAM,CAAC;YACnB,WAAW,CAAC,OAAO,CAAC;SACrB,CAAC,CAAC;QAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAsB,EACtB,OAAe;QAEf,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC;YAC7B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAEtD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,yCAAyC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,uBAAuB,CACnC,SAAiB,EACjB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EACvB,cAAc,EACd,YAAY,EACZ,SAAS,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;gBAC3C,YAAY,EAAE,OAAO;aACtB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QAED,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;YAC3C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,UAAkB,EAClB,YAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO,CAAC,oBAAoB;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,SAAkB;QAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;QAC5E,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,yEAAyE;QACzE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACrE,MAAM,CAAC,YAAY,EACnB,SAAS,CACV,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,oBAAoB,CAC5B,2CAA2C,SAAS,GAAG,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;YAC3D,QAAQ;YACR,SAAS;YACT,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;YAClD,QAAQ;YACR,SAAS;YACT,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,0BAA0B,CAC9B,SAAiB,EACjB,uBAAoC;QAEpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;YAC3D,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;gBACzD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,MAAM,CAAC,MAAM,IAAI,EAAE,EACnB,uBAAuB,CACxB,CAAC;gBAEF,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CACT,gCAAgC,YAAY,CAAC,IAAI,gBAAgB,OAAO,GAAG,CAC5E,CAAC;oBACF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;oBACrD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;wBAC9B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,oDAAoD,OAAO,GAAG,EAC9D,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,uBAAuB,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAiB,EACjB,UAAkB;QAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAE7D,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3C,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC7C,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;YAC7D,SAAS;YACT,UAAU;SACX,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExD,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CACxB,UAAkB,EAClB,QAAgB,EAChB,SAAiB;QAEjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAA4B;YACxC,QAAQ;YACR,SAAS;YACT,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE;YACtE,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAEvE,IAAI,QAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACzD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CACT,yEAAyE,EACzE,QAAQ,CAAC,SAAS,CACnB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;YAC1D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEjE,kEAAkE;QAClE,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;YACpD,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,MAAM,eAAe,GAA4B;YAC/C,GAAG,QAAQ;YACX,UAAU;SACX,CAAC;QACF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,SAAS,CAChB,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CACzC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;YACjD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export { isSdkApiTemplate } from "@superblocksteam/shared";
2
- //# sourceMappingURL=sdk-api-templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-api-templates.d.ts","sourceRoot":"","sources":["../../src/ai-service/sdk-api-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { isSdkApiTemplate } from "@superblocksteam/shared";
2
- //# sourceMappingURL=sdk-api-templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-api-templates.js","sourceRoot":"","sources":["../../src/ai-service/sdk-api-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Wraps a promise with a timeout. If the promise doesn't resolve within the
3
- * specified timeout, it rejects with a TimeoutError.
4
- *
5
- * This is particularly useful for browser RPC calls which can hang indefinitely
6
- * if the browser tab becomes unresponsive or disconnects.
7
- */
8
- export declare class RpcTimeoutError extends Error {
9
- readonly operationName: string;
10
- readonly timeoutMs: number;
11
- constructor(operationName: string, timeoutMs: number);
12
- }
13
- /**
14
- * Default timeout for browser RPC calls (60 seconds).
15
- * This is generous enough for slow operations but will catch hung calls.
16
- */
17
- export declare const DEFAULT_RPC_TIMEOUT_MS = 60000;
18
- /**
19
- * Wraps a promise with a timeout.
20
- *
21
- * @param promise - The promise to wrap
22
- * @param timeoutMs - Timeout in milliseconds (default: 30000)
23
- * @param operationName - Name of the operation for error messages
24
- * @returns The result of the promise if it resolves within the timeout
25
- * @throws RpcTimeoutError if the promise doesn't resolve within the timeout
26
- *
27
- * @example
28
- * ```ts
29
- * const integrations = await withRpcTimeout(
30
- * editorClient.call.aiGetIntegrations(),
31
- * 30000,
32
- * 'aiGetIntegrations'
33
- * );
34
- * ```
35
- */
36
- export declare function withRpcTimeout<T>(promise: Promise<T>, timeoutMs?: number, operationName?: string): Promise<T>;
37
- //# sourceMappingURL=rpc-timeout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-timeout.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/rpc-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,aAAa,EAAE,MAAM;aACrB,SAAS,EAAE,MAAM;gBADjB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM;CAOpC;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,GAAE,MAA+B,EAC1C,aAAa,GAAE,MAAmB,GACjC,OAAO,CAAC,CAAC,CAAC,CAiBZ"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Wraps a promise with a timeout. If the promise doesn't resolve within the
3
- * specified timeout, it rejects with a TimeoutError.
4
- *
5
- * This is particularly useful for browser RPC calls which can hang indefinitely
6
- * if the browser tab becomes unresponsive or disconnects.
7
- */
8
- export class RpcTimeoutError extends Error {
9
- operationName;
10
- timeoutMs;
11
- constructor(operationName, timeoutMs) {
12
- super(`${operationName} timed out after ${timeoutMs}ms - browser may be unresponsive`);
13
- this.operationName = operationName;
14
- this.timeoutMs = timeoutMs;
15
- this.name = "RpcTimeoutError";
16
- }
17
- }
18
- /**
19
- * Default timeout for browser RPC calls (60 seconds).
20
- * This is generous enough for slow operations but will catch hung calls.
21
- */
22
- export const DEFAULT_RPC_TIMEOUT_MS = 60_000;
23
- /**
24
- * Wraps a promise with a timeout.
25
- *
26
- * @param promise - The promise to wrap
27
- * @param timeoutMs - Timeout in milliseconds (default: 30000)
28
- * @param operationName - Name of the operation for error messages
29
- * @returns The result of the promise if it resolves within the timeout
30
- * @throws RpcTimeoutError if the promise doesn't resolve within the timeout
31
- *
32
- * @example
33
- * ```ts
34
- * const integrations = await withRpcTimeout(
35
- * editorClient.call.aiGetIntegrations(),
36
- * 30000,
37
- * 'aiGetIntegrations'
38
- * );
39
- * ```
40
- */
41
- export async function withRpcTimeout(promise, timeoutMs = DEFAULT_RPC_TIMEOUT_MS, operationName = "RPC call") {
42
- let timeoutId;
43
- const timeoutPromise = new Promise((_, reject) => {
44
- timeoutId = setTimeout(() => {
45
- reject(new RpcTimeoutError(operationName, timeoutMs));
46
- }, timeoutMs);
47
- });
48
- try {
49
- const result = await Promise.race([promise, timeoutPromise]);
50
- clearTimeout(timeoutId);
51
- return result;
52
- }
53
- catch (error) {
54
- clearTimeout(timeoutId);
55
- throw error;
56
- }
57
- }
58
- //# sourceMappingURL=rpc-timeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-timeout.js","sourceRoot":"","sources":["../../../src/ai-service/util/rpc-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IACA;IAFlB,YACkB,aAAqB,EACrB,SAAiB;QAEjC,KAAK,CACH,GAAG,aAAa,oBAAoB,SAAS,kCAAkC,CAChF,CAAC;QALc,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QAKjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAmB,EACnB,YAAoB,sBAAsB,EAC1C,gBAAwB,UAAU;IAElC,IAAI,SAAwC,CAAC;IAE7C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACtD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC7D,YAAY,CAAC,SAAU,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,SAAU,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- import { type SnapshotManager } from "./ai-service/recording/snapshot-manager.js";
2
- import { type Logger } from "./util/logger.js";
3
- import type { createSocketManager } from "./socket-manager.js";
4
- import type { ViteDevServer } from "vite";
5
- export interface SnapshotRoutesOptions {
6
- getIsInitialized: () => boolean;
7
- appRootDir: string;
8
- snapshotManager?: SnapshotManager;
9
- socketManager: ReturnType<typeof createSocketManager>;
10
- logger: Logger;
11
- /** When provided, integration IDs are analyzed during restore. */
12
- getAvailableIntegrationIds?: () => Promise<Set<string>>;
13
- /** Gate all snapshot endpoints behind this flag. */
14
- isSessionManagementEnabled: boolean;
15
- }
16
- export declare function registerSnapshotRoutes(server: ViteDevServer, options: SnapshotRoutesOptions): void;
17
- //# sourceMappingURL=snapshot-routes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-routes.d.ts","sourceRoot":"","sources":["../src/snapshot-routes.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,0BAA0B,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,oDAAoD;IACpD,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAqVN"}
@@ -1,247 +0,0 @@
1
- import bodyParser from "body-parser";
2
- import { SnapshotRestoreError, } from "./ai-service/recording/snapshot-manager.js";
3
- import { getErrorMeta } from "./util/logger.js";
4
- export function registerSnapshotRoutes(server, options) {
5
- const { getIsInitialized, appRootDir, snapshotManager, socketManager: _socketManager, logger, getAvailableIntegrationIds, isSessionManagementEnabled, } = options;
6
- if (!isSessionManagementEnabled) {
7
- return;
8
- }
9
- // POST /sb-snapshots/upload - accepts tar.gz, extracts, returns uploadId/details
10
- server.middlewares.use("/sb-snapshots/upload", (req, res, next) => {
11
- void (async () => {
12
- if (!getIsInitialized()) {
13
- return next();
14
- }
15
- if (req.method !== "POST" && req.method !== "OPTIONS") {
16
- res.statusCode = 405;
17
- res.end("Method not allowed");
18
- return;
19
- }
20
- res.setHeader("Access-Control-Allow-Origin", "*");
21
- res.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS");
22
- res.setHeader("Access-Control-Allow-Headers", "Content-Type, Content-Length");
23
- if (req.method === "OPTIONS") {
24
- res.statusCode = 204;
25
- res.end();
26
- return;
27
- }
28
- try {
29
- const chunks = [];
30
- for await (const chunk of req) {
31
- chunks.push(Buffer.from(chunk));
32
- }
33
- const archiveBuffer = Buffer.concat(chunks);
34
- if (archiveBuffer.length === 0) {
35
- res.statusCode = 400;
36
- res.setHeader("Content-Type", "application/json");
37
- res.end(JSON.stringify({ error: "Empty request body" }));
38
- return;
39
- }
40
- if (!snapshotManager) {
41
- res.statusCode = 503;
42
- res.setHeader("Content-Type", "application/json");
43
- res.end(JSON.stringify({
44
- error: "Snapshot manager not initialized",
45
- }));
46
- return;
47
- }
48
- const result = await snapshotManager.upload(archiveBuffer);
49
- const details = await snapshotManager.getDetails();
50
- res.setHeader("Content-Type", "application/json");
51
- res.end(JSON.stringify({
52
- success: true,
53
- hasUpload: true,
54
- uploadId: result.uploadId,
55
- extractedDir: result.extractedDir,
56
- uploadedAt: result.uploadedAt.toISOString(),
57
- details,
58
- }));
59
- }
60
- catch (error) {
61
- logger.error("Error uploading snapshot", getErrorMeta(error));
62
- if (!res.headersSent) {
63
- res.statusCode = 500;
64
- res.setHeader("Content-Type", "application/json");
65
- res.end(JSON.stringify({
66
- error: error instanceof Error
67
- ? error.message
68
- : "Failed to upload snapshot",
69
- }));
70
- }
71
- }
72
- })();
73
- });
74
- // GET /sb-snapshots/info - returns current upload state or hasUpload: false
75
- server.middlewares.use("/sb-snapshots/info", (req, res, next) => {
76
- void (async () => {
77
- if (!getIsInitialized()) {
78
- return next();
79
- }
80
- if (req.method !== "GET" && req.method !== "OPTIONS") {
81
- res.statusCode = 405;
82
- res.end("Method not allowed");
83
- return;
84
- }
85
- res.setHeader("Access-Control-Allow-Origin", "*");
86
- res.setHeader("Access-Control-Allow-Methods", "GET, OPTIONS");
87
- res.setHeader("Access-Control-Allow-Headers", "Content-Type");
88
- if (req.method === "OPTIONS") {
89
- res.statusCode = 204;
90
- res.end();
91
- return;
92
- }
93
- if (!snapshotManager) {
94
- res.statusCode = 503;
95
- res.setHeader("Content-Type", "application/json");
96
- res.end(JSON.stringify({
97
- error: "Snapshot manager not initialized",
98
- }));
99
- return;
100
- }
101
- const uploadState = await snapshotManager.getUpload();
102
- const details = uploadState ? await snapshotManager.getDetails() : null;
103
- res.setHeader("Content-Type", "application/json");
104
- if (uploadState) {
105
- res.end(JSON.stringify({
106
- hasUpload: true,
107
- uploadId: uploadState.uploadId,
108
- extractedDir: uploadState.extractedDir,
109
- uploadedAt: uploadState.uploadedAt.toISOString(),
110
- details,
111
- }));
112
- }
113
- else {
114
- res.end(JSON.stringify({ hasUpload: false }));
115
- }
116
- })();
117
- });
118
- // POST /sb-snapshots/analyze - body { uploadId, sessionId? }, return snapshot metadata
119
- server.middlewares.use("/sb-snapshots/analyze", bodyParser.json({ strict: true }));
120
- server.middlewares.use("/sb-snapshots/analyze", (req, res, next) => {
121
- void (async () => {
122
- if (!getIsInitialized()) {
123
- return next();
124
- }
125
- if (req.method !== "POST" && req.method !== "OPTIONS") {
126
- res.statusCode = 405;
127
- res.end("Method not allowed");
128
- return;
129
- }
130
- res.setHeader("Access-Control-Allow-Origin", "*");
131
- res.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS");
132
- res.setHeader("Access-Control-Allow-Headers", "Content-Type");
133
- if (req.method === "OPTIONS") {
134
- res.statusCode = 204;
135
- res.end();
136
- return;
137
- }
138
- if (!snapshotManager) {
139
- res.statusCode = 503;
140
- res.setHeader("Content-Type", "application/json");
141
- res.end(JSON.stringify({
142
- error: "Snapshot manager not initialized",
143
- }));
144
- return;
145
- }
146
- const body = req.body;
147
- if (!body?.uploadId || typeof body.uploadId !== "string") {
148
- res.statusCode = 400;
149
- res.setHeader("Content-Type", "application/json");
150
- res.end(JSON.stringify({
151
- error: "Missing required field: uploadId",
152
- }));
153
- return;
154
- }
155
- const { uploadId, sessionId } = body;
156
- try {
157
- const meta = await snapshotManager.analyze(uploadId, sessionId ?? undefined);
158
- res.setHeader("Content-Type", "application/json");
159
- res.end(JSON.stringify({ success: true, meta }));
160
- }
161
- catch (error) {
162
- if (error instanceof SnapshotRestoreError) {
163
- res.statusCode = 400;
164
- res.setHeader("Content-Type", "application/json");
165
- res.end(JSON.stringify({ error: error.message }));
166
- return;
167
- }
168
- logger.error("Error analyzing snapshot", getErrorMeta(error));
169
- if (!res.headersSent) {
170
- res.statusCode = 500;
171
- res.setHeader("Content-Type", "application/json");
172
- res.end(JSON.stringify({
173
- error: error instanceof Error
174
- ? error.message
175
- : "Failed to analyze snapshot",
176
- }));
177
- }
178
- }
179
- })();
180
- });
181
- // POST /sb-snapshots/restore - body { uploadId, sessionId? }, restore then sync
182
- server.middlewares.use("/sb-snapshots/restore", bodyParser.json({ strict: true }));
183
- server.middlewares.use("/sb-snapshots/restore", (req, res, next) => {
184
- void (async () => {
185
- if (!getIsInitialized()) {
186
- return next();
187
- }
188
- if (req.method !== "POST" && req.method !== "OPTIONS") {
189
- res.statusCode = 405;
190
- res.end("Method not allowed");
191
- return;
192
- }
193
- res.setHeader("Access-Control-Allow-Origin", "*");
194
- res.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS");
195
- res.setHeader("Access-Control-Allow-Headers", "Content-Type");
196
- if (req.method === "OPTIONS") {
197
- res.statusCode = 204;
198
- res.end();
199
- return;
200
- }
201
- if (!snapshotManager) {
202
- res.statusCode = 503;
203
- res.setHeader("Content-Type", "application/json");
204
- res.end(JSON.stringify({
205
- error: "Snapshot manager not initialized",
206
- }));
207
- return;
208
- }
209
- const body = req.body;
210
- if (!body?.uploadId || typeof body.uploadId !== "string") {
211
- res.statusCode = 400;
212
- res.setHeader("Content-Type", "application/json");
213
- res.end(JSON.stringify({
214
- error: "Missing required field: uploadId",
215
- }));
216
- return;
217
- }
218
- const { uploadId, sessionId, sanitizeIntegrations } = body;
219
- try {
220
- const availableIntegrationIds = await getAvailableIntegrationIds?.();
221
- const { sourceDir } = await snapshotManager.prepareRestoreSource(uploadId, sessionId, appRootDir, availableIntegrationIds, sanitizeIntegrations);
222
- await snapshotManager.createPendingRestore(appRootDir, uploadId, sourceDir);
223
- res.setHeader("Content-Type", "application/json");
224
- res.end(JSON.stringify({ success: true }));
225
- }
226
- catch (error) {
227
- if (error instanceof SnapshotRestoreError) {
228
- res.statusCode = 400;
229
- res.setHeader("Content-Type", "application/json");
230
- res.end(JSON.stringify({ error: error.message }));
231
- return;
232
- }
233
- logger.error("Error restoring snapshot", getErrorMeta(error));
234
- if (!res.headersSent) {
235
- res.statusCode = 500;
236
- res.setHeader("Content-Type", "application/json");
237
- res.end(JSON.stringify({
238
- error: error instanceof Error
239
- ? error.message
240
- : "Failed to restore snapshot",
241
- }));
242
- }
243
- }
244
- })();
245
- });
246
- }
247
- //# sourceMappingURL=snapshot-routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-routes.js","sourceRoot":"","sources":["../src/snapshot-routes.ts"],"names":[],"mappings":"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"}