@superblocksteam/vite-plugin-file-sync 2.0.96 → 2.0.97-next.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 (293) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +8 -2
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
  5. package/dist/ai-service/agent/prompts/api-prompts.js +84 -91
  6. package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +1 -1
  8. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  9. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +7 -23
  10. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  12. package/dist/ai-service/agent/tool-message-utils.js +32 -0
  13. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts +28 -0
  15. package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts.map +1 -0
  16. package/dist/ai-service/agent/tools/apis/api-testing-state.js +141 -0
  17. package/dist/ai-service/agent/tools/apis/api-testing-state.js.map +1 -0
  18. package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts +4 -0
  19. package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts.map +1 -0
  20. package/dist/ai-service/agent/tools/apis/sdk-registry.js +23 -0
  21. package/dist/ai-service/agent/tools/apis/sdk-registry.js.map +1 -0
  22. package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -63
  23. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  24. package/dist/ai-service/agent/tools/apis/test-api.js +12 -5
  25. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  26. package/dist/ai-service/agent/tools/apis/write-api.d.ts +2 -2
  27. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  28. package/dist/ai-service/agent/tools/build-capture-screenshot.js +2 -0
  29. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  30. package/dist/ai-service/agent/tools/build-edit-file.d.ts +1 -1
  31. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools/build-edit-file.js +15 -0
  33. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  34. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-finalize.js +1 -0
  36. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  37. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  38. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +1 -1
  39. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/build-multi-edit-file.js +8 -0
  41. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  42. package/dist/ai-service/agent/tools/build-write-file.d.ts +1 -1
  43. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools/build-write-file.js +8 -0
  45. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  46. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -0
  47. package/dist/ai-service/agent/tools/get-logs.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools/get-logs.js +49 -35
  49. package/dist/ai-service/agent/tools/get-logs.js.map +1 -1
  50. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  51. package/dist/ai-service/agent/tools/integrations/internal.d.ts +4 -0
  52. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  53. package/dist/ai-service/agent/tools/integrations/internal.js +1 -1
  54. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  56. package/dist/ai-service/agent/tools.js +78 -21
  57. package/dist/ai-service/agent/tools.js.map +1 -1
  58. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools2/access-control.js +0 -3
  60. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  61. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
  62. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +1 -0
  63. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  64. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +2 -2
  65. package/dist/ai-service/agent/tools2/tools/git.d.ts +50 -0
  66. package/dist/ai-service/agent/tools2/tools/git.d.ts.map +1 -0
  67. package/dist/ai-service/agent/tools2/tools/git.js +465 -0
  68. package/dist/ai-service/agent/tools2/tools/git.js.map +1 -0
  69. package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/glob.js +3 -1
  71. package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -1
  72. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  73. package/dist/ai-service/agent/tools2/tools/grep.js +9 -2
  74. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  75. package/dist/ai-service/agent/tools2/tools/index.d.ts +1 -7
  76. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  77. package/dist/ai-service/agent/tools2/tools/index.js +2 -8
  78. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  79. package/dist/ai-service/agent/tools2/tools/ls.d.ts.map +1 -1
  80. package/dist/ai-service/agent/tools2/tools/ls.js +5 -1
  81. package/dist/ai-service/agent/tools2/tools/ls.js.map +1 -1
  82. package/dist/ai-service/agent/tools2/tools/read.d.ts +1 -1
  83. package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts +10 -6
  84. package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts.map +1 -1
  85. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js +25 -18
  86. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js.map +1 -1
  87. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +2 -2
  88. package/dist/ai-service/agent/tools2/types.d.ts +6 -2
  89. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  90. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  91. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  92. package/dist/ai-service/agent/utils.js +46 -0
  93. package/dist/ai-service/agent/utils.js.map +1 -1
  94. package/dist/ai-service/app-interface/constants.d.ts +10 -3
  95. package/dist/ai-service/app-interface/constants.d.ts.map +1 -1
  96. package/dist/ai-service/app-interface/constants.js +16 -8
  97. package/dist/ai-service/app-interface/constants.js.map +1 -1
  98. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +11 -4
  99. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  100. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +152 -11
  101. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  102. package/dist/ai-service/app-interface/filesystem/validation.d.ts +4 -4
  103. package/dist/ai-service/app-interface/filesystem/validation.d.ts.map +1 -1
  104. package/dist/ai-service/app-interface/filesystem/validation.js +14 -11
  105. package/dist/ai-service/app-interface/filesystem/validation.js.map +1 -1
  106. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +1 -0
  107. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
  108. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +2 -2
  109. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
  110. package/dist/ai-service/app-interface/shell.d.ts +10 -1
  111. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  112. package/dist/ai-service/app-interface/shell.js +62 -16
  113. package/dist/ai-service/app-interface/shell.js.map +1 -1
  114. package/dist/ai-service/app-skills/build-knowledge-feedback-message.d.ts +3 -0
  115. package/dist/ai-service/app-skills/build-knowledge-feedback-message.d.ts.map +1 -0
  116. package/dist/ai-service/app-skills/build-knowledge-feedback-message.js +47 -0
  117. package/dist/ai-service/app-skills/build-knowledge-feedback-message.js.map +1 -0
  118. package/dist/ai-service/app-skills/helpers.d.ts +6 -11
  119. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  120. package/dist/ai-service/app-skills/helpers.js +282 -75
  121. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  122. package/dist/ai-service/attachment-upload.d.ts +9 -1
  123. package/dist/ai-service/attachment-upload.d.ts.map +1 -1
  124. package/dist/ai-service/attachment-upload.js +82 -62
  125. package/dist/ai-service/attachment-upload.js.map +1 -1
  126. package/dist/ai-service/attachments/store.d.ts +12 -1
  127. package/dist/ai-service/attachments/store.d.ts.map +1 -1
  128. package/dist/ai-service/attachments/store.js +35 -0
  129. package/dist/ai-service/attachments/store.js.map +1 -1
  130. package/dist/ai-service/attachments/uploaded-content-part.d.ts +28 -0
  131. package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -0
  132. package/dist/ai-service/attachments/uploaded-content-part.js +88 -0
  133. package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -0
  134. package/dist/ai-service/chat/chat-session-store.d.ts +4 -2
  135. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  136. package/dist/ai-service/chat/chat-session-store.js +150 -19
  137. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  138. package/dist/ai-service/chat/utils.d.ts +12 -0
  139. package/dist/ai-service/chat/utils.d.ts.map +1 -1
  140. package/dist/ai-service/chat/utils.js +128 -2
  141. package/dist/ai-service/chat/utils.js.map +1 -1
  142. package/dist/ai-service/clark-provider/attachment-service.d.ts +56 -0
  143. package/dist/ai-service/clark-provider/attachment-service.d.ts.map +1 -0
  144. package/dist/ai-service/clark-provider/attachment-service.js +295 -0
  145. package/dist/ai-service/clark-provider/attachment-service.js.map +1 -0
  146. package/dist/ai-service/clark-provider/clark-language-model.d.ts +3 -0
  147. package/dist/ai-service/clark-provider/clark-language-model.d.ts.map +1 -1
  148. package/dist/ai-service/clark-provider/clark-language-model.js +15 -5
  149. package/dist/ai-service/clark-provider/clark-language-model.js.map +1 -1
  150. package/dist/ai-service/clark-provider/clark-provider.d.ts +9 -0
  151. package/dist/ai-service/clark-provider/clark-provider.d.ts.map +1 -1
  152. package/dist/ai-service/clark-provider/clark-provider.js +2 -0
  153. package/dist/ai-service/clark-provider/clark-provider.js.map +1 -1
  154. package/dist/ai-service/context-upload.d.ts +2 -1
  155. package/dist/ai-service/context-upload.d.ts.map +1 -1
  156. package/dist/ai-service/context-upload.js +63 -26
  157. package/dist/ai-service/context-upload.js.map +1 -1
  158. package/dist/ai-service/features.d.ts +12 -1
  159. package/dist/ai-service/features.d.ts.map +1 -1
  160. package/dist/ai-service/features.js +12 -1
  161. package/dist/ai-service/features.js.map +1 -1
  162. package/dist/ai-service/index.d.ts +19 -2
  163. package/dist/ai-service/index.d.ts.map +1 -1
  164. package/dist/ai-service/index.js +129 -21
  165. package/dist/ai-service/index.js.map +1 -1
  166. package/dist/ai-service/judge/judge-eval-service-runner.js +1 -0
  167. package/dist/ai-service/judge/judge-eval-service-runner.js.map +1 -1
  168. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  169. package/dist/ai-service/llm/impl/clark.d.ts.map +1 -1
  170. package/dist/ai-service/llm/impl/clark.js +18 -2
  171. package/dist/ai-service/llm/impl/clark.js.map +1 -1
  172. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
  173. package/dist/ai-service/llm/interaction/adapters/vercel.js +4 -0
  174. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
  175. package/dist/ai-service/llm/provider.d.ts +2 -1
  176. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  177. package/dist/ai-service/llm/provider.js +11 -2
  178. package/dist/ai-service/llm/provider.js.map +1 -1
  179. package/dist/ai-service/llm/stream/config.d.ts +3 -1
  180. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  181. package/dist/ai-service/llm/stream/config.js +1 -0
  182. package/dist/ai-service/llm/stream/config.js.map +1 -1
  183. package/dist/ai-service/llm/stream/observers/logging.js +1 -1
  184. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  185. package/dist/ai-service/llm/stream/retry-engine.d.ts +8 -8
  186. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  187. package/dist/ai-service/llm/stream/retry-engine.js +42 -24
  188. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  189. package/dist/ai-service/llm/types.d.ts +11 -0
  190. package/dist/ai-service/llm/types.d.ts.map +1 -1
  191. package/dist/ai-service/skills/system/materialized.d.ts +6 -0
  192. package/dist/ai-service/skills/system/materialized.d.ts.map +1 -0
  193. package/dist/ai-service/skills/system/materialized.js +33 -0
  194. package/dist/ai-service/skills/system/materialized.js.map +1 -0
  195. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  196. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  197. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +42 -54
  198. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  199. package/dist/ai-service/skills/system/tool-paths.d.ts +3 -0
  200. package/dist/ai-service/skills/system/tool-paths.d.ts.map +1 -0
  201. package/dist/ai-service/skills/system/tool-paths.js +16 -0
  202. package/dist/ai-service/skills/system/tool-paths.js.map +1 -0
  203. package/dist/ai-service/state-machine/clark-fsm.d.ts +29 -5
  204. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  205. package/dist/ai-service/state-machine/clark-fsm.js +47 -1
  206. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  207. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  208. package/dist/ai-service/state-machine/handlers/agent-planning.js +57 -36
  209. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  210. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  211. package/dist/ai-service/state-machine/handlers/awaiting-user.js +21 -3
  212. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  213. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  214. package/dist/ai-service/state-machine/handlers/llm-generating.js +74 -27
  215. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  216. package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
  217. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +94 -1
  218. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
  219. package/dist/ai-service/util/mode-message.d.ts.map +1 -1
  220. package/dist/ai-service/util/mode-message.js +0 -3
  221. package/dist/ai-service/util/mode-message.js.map +1 -1
  222. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  223. package/dist/file-sync-vite-plugin.js +7 -0
  224. package/dist/file-sync-vite-plugin.js.map +1 -1
  225. package/dist/git-operation-lock.d.ts +22 -0
  226. package/dist/git-operation-lock.d.ts.map +1 -0
  227. package/dist/git-operation-lock.js +25 -0
  228. package/dist/git-operation-lock.js.map +1 -0
  229. package/dist/git-service/errors.d.ts +4 -0
  230. package/dist/git-service/errors.d.ts.map +1 -1
  231. package/dist/git-service/errors.js +6 -0
  232. package/dist/git-service/errors.js.map +1 -1
  233. package/dist/git-service/github-workflow.d.ts +6 -0
  234. package/dist/git-service/github-workflow.d.ts.map +1 -0
  235. package/dist/git-service/github-workflow.js +40 -0
  236. package/dist/git-service/github-workflow.js.map +1 -0
  237. package/dist/git-service/index.d.ts +2 -2
  238. package/dist/git-service/index.d.ts.map +1 -1
  239. package/dist/git-service/index.js +54 -12
  240. package/dist/git-service/index.js.map +1 -1
  241. package/dist/git-service/live-branch.d.ts.map +1 -1
  242. package/dist/git-service/live-branch.js +81 -5
  243. package/dist/git-service/live-branch.js.map +1 -1
  244. package/dist/inject-index-vite-plugin.d.ts.map +1 -1
  245. package/dist/inject-index-vite-plugin.js +37 -6
  246. package/dist/inject-index-vite-plugin.js.map +1 -1
  247. package/dist/injected-index.d.ts.map +1 -1
  248. package/dist/injected-index.js +23 -3
  249. package/dist/injected-index.js.map +1 -1
  250. package/dist/lock-service/index.d.ts.map +1 -1
  251. package/dist/lock-service/index.js +38 -0
  252. package/dist/lock-service/index.js.map +1 -1
  253. package/dist/parsing/index.d.ts +1 -0
  254. package/dist/parsing/index.d.ts.map +1 -1
  255. package/dist/parsing/index.js +1 -0
  256. package/dist/parsing/index.js.map +1 -1
  257. package/dist/parsing/sdk-registry.d.ts +5 -0
  258. package/dist/parsing/sdk-registry.d.ts.map +1 -0
  259. package/dist/parsing/sdk-registry.js +128 -0
  260. package/dist/parsing/sdk-registry.js.map +1 -0
  261. package/dist/socket-manager.d.ts +3 -1
  262. package/dist/socket-manager.d.ts.map +1 -1
  263. package/dist/socket-manager.js +192 -45
  264. package/dist/socket-manager.js.map +1 -1
  265. package/package.json +7 -6
  266. package/dist/ai-service/agent/tools2/tools/git-commit.d.ts +0 -15
  267. package/dist/ai-service/agent/tools2/tools/git-commit.d.ts.map +0 -1
  268. package/dist/ai-service/agent/tools2/tools/git-commit.js +0 -105
  269. package/dist/ai-service/agent/tools2/tools/git-commit.js.map +0 -1
  270. package/dist/ai-service/agent/tools2/tools/git-diff.d.ts +0 -9
  271. package/dist/ai-service/agent/tools2/tools/git-diff.d.ts.map +0 -1
  272. package/dist/ai-service/agent/tools2/tools/git-diff.js +0 -23
  273. package/dist/ai-service/agent/tools2/tools/git-diff.js.map +0 -1
  274. package/dist/ai-service/agent/tools2/tools/git-log.d.ts +0 -12
  275. package/dist/ai-service/agent/tools2/tools/git-log.d.ts.map +0 -1
  276. package/dist/ai-service/agent/tools2/tools/git-log.js +0 -27
  277. package/dist/ai-service/agent/tools2/tools/git-log.js.map +0 -1
  278. package/dist/ai-service/agent/tools2/tools/git-merge-abort.d.ts +0 -7
  279. package/dist/ai-service/agent/tools2/tools/git-merge-abort.d.ts.map +0 -1
  280. package/dist/ai-service/agent/tools2/tools/git-merge-abort.js +0 -42
  281. package/dist/ai-service/agent/tools2/tools/git-merge-abort.js.map +0 -1
  282. package/dist/ai-service/agent/tools2/tools/git-pull.d.ts +0 -20
  283. package/dist/ai-service/agent/tools2/tools/git-pull.d.ts.map +0 -1
  284. package/dist/ai-service/agent/tools2/tools/git-pull.js +0 -80
  285. package/dist/ai-service/agent/tools2/tools/git-pull.js.map +0 -1
  286. package/dist/ai-service/agent/tools2/tools/git-stage.d.ts +0 -9
  287. package/dist/ai-service/agent/tools2/tools/git-stage.d.ts.map +0 -1
  288. package/dist/ai-service/agent/tools2/tools/git-stage.js +0 -34
  289. package/dist/ai-service/agent/tools2/tools/git-stage.js.map +0 -1
  290. package/dist/ai-service/agent/tools2/tools/git-status.d.ts +0 -9
  291. package/dist/ai-service/agent/tools2/tools/git-status.d.ts.map +0 -1
  292. package/dist/ai-service/agent/tools2/tools/git-status.js +0 -18
  293. package/dist/ai-service/agent/tools2/tools/git-status.js.map +0 -1
@@ -32,11 +32,11 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
32
32
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
33
  done = true;
34
34
  };
35
- import { EXCLUDED_MESSAGE_TYPES, TEXT_ATTACHMENT_TYPES, TEXT_ATTACHMENT_MIME_TYPES, } from "@superblocksteam/library-shared/types";
35
+ import { EXCLUDED_MESSAGE_TYPES, TEXT_ATTACHMENT_MIME_TYPES, } from "@superblocksteam/library-shared/types";
36
36
  import { getErrorMeta } from "../../util/logger.js";
37
37
  import llmobs from "../llmobs/index.js";
38
38
  import { getLastUserMessage } from "./extract-history.js";
39
- import { sanitizeToolOutput } from "./utils.js";
39
+ import { inferTextAttachmentType, sanitizeToolOutput } from "./utils.js";
40
40
  export function isAiChatMessage(item) {
41
41
  return "role" in item && "content" in item;
42
42
  }
@@ -137,23 +137,65 @@ let ChatSessionStore = (() => {
137
137
  size: attachment.size,
138
138
  };
139
139
  }
140
- // Validate text attachments (CSV, JSON, YAML, CSS, TXT)
141
- if (TEXT_ATTACHMENT_TYPES.includes(attachment.type)) {
140
+ const normalizedTextAttachmentType = typeof attachment.content === "string" &&
141
+ typeof attachment.fileName === "string"
142
+ ? inferTextAttachmentType({
143
+ attachmentType: attachment.type,
144
+ mimeType: attachment.mimeType,
145
+ fileName: attachment.fileName,
146
+ })
147
+ : null;
148
+ // Validate text attachments and normalize any text-like subtype to the
149
+ // stable server-side text attachment shape.
150
+ if (normalizedTextAttachmentType) {
142
151
  if (typeof attachment.content !== "string" ||
143
152
  typeof attachment.fileName !== "string") {
144
153
  return undefined;
145
154
  }
146
- const textType = attachment.type;
147
155
  return {
148
- type: textType,
156
+ type: normalizedTextAttachmentType,
149
157
  content: attachment.content,
150
158
  fileName: attachment.fileName,
151
159
  mimeType: typeof attachment.mimeType === "string"
152
160
  ? attachment.mimeType
153
- : TEXT_ATTACHMENT_MIME_TYPES[textType],
161
+ : TEXT_ATTACHMENT_MIME_TYPES[normalizedTextAttachmentType],
154
162
  size: attachment.size,
155
163
  };
156
164
  }
165
+ if (attachment.type === "uploaded") {
166
+ if (typeof attachment.url !== "string" ||
167
+ typeof attachment.mediaType !== "string" ||
168
+ typeof attachment.fileName !== "string") {
169
+ return undefined;
170
+ }
171
+ return {
172
+ type: "uploaded",
173
+ url: attachment.url,
174
+ signedUrl: typeof attachment.signedUrl === "string"
175
+ ? attachment.signedUrl
176
+ : undefined,
177
+ mediaType: attachment.mediaType,
178
+ fileName: attachment.fileName,
179
+ label: typeof attachment.label === "string"
180
+ ? attachment.label
181
+ : undefined,
182
+ insight: typeof attachment.insight === "string"
183
+ ? attachment.insight
184
+ : undefined,
185
+ storageKey: typeof attachment.storageKey === "string"
186
+ ? attachment.storageKey
187
+ : undefined,
188
+ signedUrlExpiresAt: typeof attachment.signedUrlExpiresAt === "string"
189
+ ? attachment.signedUrlExpiresAt
190
+ : undefined,
191
+ scopeType: attachment.scopeType === "app" || attachment.scopeType === "org"
192
+ ? attachment.scopeType
193
+ : undefined,
194
+ applicationId: typeof attachment.applicationId === "string"
195
+ ? attachment.applicationId
196
+ : undefined,
197
+ };
198
+ }
157
199
  return undefined;
158
200
  })
159
201
  .filter(Boolean);
@@ -297,11 +339,26 @@ let ChatSessionStore = (() => {
297
339
  : undefined,
298
340
  subtitle: typeof msg.subtitle === "string" ? msg.subtitle : undefined,
299
341
  details: typeof msg.details === "string" ? msg.details : undefined,
300
- factCandidates: Array.isArray(msg.factCandidates)
301
- ? msg.factCandidates
342
+ knowledgeCandidates: Array.isArray(msg.knowledgeCandidates)
343
+ ? msg.knowledgeCandidates
302
344
  : undefined,
303
345
  };
304
346
  }
347
+ else if (msg.type === "remember_knowledge_draft") {
348
+ if (!Array.isArray(msg.candidates) || msg.candidates.length === 0) {
349
+ this.logger.warn(`[ai-service] Invalid candidates for remember_knowledge_draft message`);
350
+ return null;
351
+ }
352
+ return {
353
+ role: msg.role,
354
+ content: msg.content,
355
+ type: "remember_knowledge_draft",
356
+ id: typeof msg.id === "string" ? msg.id : undefined,
357
+ timestamp,
358
+ candidates: msg.candidates,
359
+ title,
360
+ };
361
+ }
305
362
  else if (msg.type === "multi_choice_response") {
306
363
  if (typeof msg.responseToMessageId !== "string") {
307
364
  this.logger.warn(`[ai-service] Invalid responseToMessageId for multi_choice_response`);
@@ -319,10 +376,42 @@ let ChatSessionStore = (() => {
319
376
  timestamp,
320
377
  responseToMessageId: msg.responseToMessageId,
321
378
  selectedChoiceIndices: msg.selectedChoiceIndices,
379
+ selectedScopes: Array.isArray(msg.selectedScopes)
380
+ ? msg.selectedScopes
381
+ : undefined,
382
+ savedFacts: Array.isArray(msg.savedFacts)
383
+ ? msg.savedFacts
384
+ : undefined,
322
385
  title,
323
386
  };
324
387
  return response;
325
388
  }
389
+ else if (msg.type === "remember_knowledge_draft_response") {
390
+ if (typeof msg.responseToMessageId !== "string") {
391
+ this.logger.warn(`[ai-service] Invalid responseToMessageId for remember_knowledge_draft_response`);
392
+ return null;
393
+ }
394
+ if (!Array.isArray(msg.selectedCandidateIndices)) {
395
+ this.logger.warn(`[ai-service] Invalid selectedCandidateIndices for remember_knowledge_draft_response`);
396
+ return null;
397
+ }
398
+ return {
399
+ role: msg.role,
400
+ content: msg.content,
401
+ type: "remember_knowledge_draft_response",
402
+ id: typeof msg.id === "string" ? msg.id : undefined,
403
+ timestamp,
404
+ responseToMessageId: msg.responseToMessageId,
405
+ selectedCandidateIndices: msg.selectedCandidateIndices,
406
+ selectedScopes: Array.isArray(msg.selectedScopes)
407
+ ? msg.selectedScopes
408
+ : undefined,
409
+ savedFacts: Array.isArray(msg.savedFacts)
410
+ ? msg.savedFacts
411
+ : undefined,
412
+ title,
413
+ };
414
+ }
326
415
  else if (msg.type === "confirm") {
327
416
  return {
328
417
  role: msg.role,
@@ -330,8 +419,9 @@ let ChatSessionStore = (() => {
330
419
  type: "confirm",
331
420
  id: typeof msg.id === "string" ? msg.id : undefined,
332
421
  timestamp,
333
- fact: typeof msg.fact === "object" && msg.fact !== null
334
- ? msg.fact
422
+ knowledgeEntry: typeof msg.knowledgeEntry === "object" &&
423
+ msg.knowledgeEntry !== null
424
+ ? msg.knowledgeEntry
335
425
  : undefined,
336
426
  title,
337
427
  };
@@ -349,6 +439,12 @@ let ChatSessionStore = (() => {
349
439
  timestamp,
350
440
  responseToMessageId: msg.responseToMessageId,
351
441
  approved: Boolean(msg.approved),
442
+ selectedScopes: Array.isArray(msg.selectedScopes)
443
+ ? msg.selectedScopes
444
+ : undefined,
445
+ savedFacts: Array.isArray(msg.savedFacts)
446
+ ? msg.savedFacts
447
+ : undefined,
352
448
  title,
353
449
  };
354
450
  }
@@ -451,14 +547,20 @@ let ChatSessionStore = (() => {
451
547
  facts: msg.facts,
452
548
  };
453
549
  }
454
- else if (msg.type === "app_facts_saved") {
550
+ else if (msg.type === "app_knowledge_saved") {
455
551
  return {
456
552
  role: msg.role,
457
553
  content: msg.content,
458
- type: "app_facts_saved",
554
+ type: "app_knowledge_saved",
459
555
  id: typeof msg.id === "string" ? msg.id : undefined,
460
556
  timestamp,
461
- factsCount: typeof msg.factsCount === "number" ? msg.factsCount : 0,
557
+ knowledgeCount: typeof msg.knowledgeCount === "number" ? msg.knowledgeCount : 0,
558
+ responseToMessageId: typeof msg.responseToMessageId === "string"
559
+ ? msg.responseToMessageId
560
+ : undefined,
561
+ savedFacts: Array.isArray(msg.savedFacts)
562
+ ? msg.savedFacts
563
+ : undefined,
462
564
  };
463
565
  }
464
566
  const baseMessage = {
@@ -718,10 +820,21 @@ let ChatSessionStore = (() => {
718
820
  metadata.selectedChoiceIndices) {
719
821
  baseMessage.selectedChoiceIndices =
720
822
  metadata.selectedChoiceIndices;
823
+ baseMessage.selectedScopes =
824
+ metadata.selectedScopes;
825
+ }
826
+ else if (responseType === "remember_knowledge_draft_response" &&
827
+ "selectedCandidateIndices" in metadata &&
828
+ metadata.selectedCandidateIndices) {
829
+ baseMessage.selectedCandidateIndices = metadata.selectedCandidateIndices;
830
+ baseMessage.selectedScopes =
831
+ metadata.selectedScopes;
721
832
  }
722
833
  else if (responseType === "confirm_response") {
723
834
  baseMessage.approved =
724
835
  metadata.approved ?? false;
836
+ baseMessage.selectedScopes =
837
+ metadata.selectedScopes;
725
838
  }
726
839
  else if (responseType === "plan_response") {
727
840
  baseMessage.approved =
@@ -889,7 +1002,23 @@ let ChatSessionStore = (() => {
889
1002
  ...(mc.subtitle ? { subtitle: mc.subtitle } : {}),
890
1003
  ...(mc.details ? { details: mc.details } : {}),
891
1004
  ...(mc.questionType ? { questionType: mc.questionType } : {}),
892
- ...(mc.factCandidates ? { factCandidates: mc.factCandidates } : {}),
1005
+ ...(mc.knowledgeCandidates
1006
+ ? { knowledgeCandidates: mc.knowledgeCandidates }
1007
+ : {}),
1008
+ };
1009
+ }
1010
+ else if (payload.type === "remember_knowledge_draft") {
1011
+ const draft = payload;
1012
+ const candidates = Array.isArray(draft.candidates)
1013
+ ? draft.candidates
1014
+ : [];
1015
+ message = {
1016
+ role: "assistant",
1017
+ content: draft.content ?? draft.text ?? "",
1018
+ type: "remember_knowledge_draft",
1019
+ id: messageId,
1020
+ timestamp: Date.now(),
1021
+ candidates,
893
1022
  };
894
1023
  }
895
1024
  else if (payload.type === "confirm") {
@@ -899,17 +1028,19 @@ let ChatSessionStore = (() => {
899
1028
  type: "confirm",
900
1029
  id: messageId,
901
1030
  timestamp: Date.now(),
902
- fact: payload.fact,
1031
+ knowledgeEntry: payload.knowledgeEntry,
903
1032
  };
904
1033
  }
905
- else if (payload.type === "app_facts_saved") {
1034
+ else if (payload.type === "app_knowledge_saved") {
906
1035
  message = {
907
1036
  role: "assistant",
908
1037
  content: payload.text,
909
- type: "app_facts_saved",
1038
+ type: "app_knowledge_saved",
910
1039
  id: messageId,
911
1040
  timestamp: Date.now(),
912
- factsCount: payload.factsCount ?? 0,
1041
+ knowledgeCount: payload.knowledgeCount ?? 0,
1042
+ responseToMessageId: payload.responseToMessageId,
1043
+ savedFacts: payload.savedFacts,
913
1044
  };
914
1045
  }
915
1046
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session-store.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-session-store.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,14 @@
1
+ import { type Attachment, type TextAttachmentType } from "@superblocksteam/library-shared/types";
2
+ export declare function inferTextAttachmentType(params: {
3
+ attachmentType: unknown;
4
+ mimeType: unknown;
5
+ fileName: string;
6
+ }): TextAttachmentType | null;
7
+ export declare function normalizeTextAttachmentForModel(attachment: Attachment): {
8
+ fileName: string;
9
+ content: string;
10
+ mimeType: string;
11
+ tagName: TextAttachmentType;
12
+ } | null;
1
13
  export declare function sanitizeToolOutput(toolName: string, output: any): any;
2
14
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAMrE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,uCAAuC,CAAC;AA0C/C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,kBAAkB,GAAG,IAAI,CAgE5B;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,UAAU,GAAG;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,GAAG,IAAI,CA0CP;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAOrE"}
@@ -1,6 +1,132 @@
1
+ import { isTextAttachment, TEXT_ATTACHMENT_MIME_TYPES, } from "@superblocksteam/library-shared/types";
2
+ const TEXT_LIKE_EXTENSIONS = [
3
+ ".txt",
4
+ ".text",
5
+ ".log",
6
+ ".md",
7
+ ".markdown",
8
+ ".csv",
9
+ ".tsv",
10
+ ".json",
11
+ ".jsonl",
12
+ ".ndjson",
13
+ ".xml",
14
+ ".yaml",
15
+ ".yml",
16
+ ".toml",
17
+ ".ini",
18
+ ".cfg",
19
+ ".conf",
20
+ ".env",
21
+ ".sh",
22
+ ".bash",
23
+ ".zsh",
24
+ ".js",
25
+ ".jsx",
26
+ ".ts",
27
+ ".tsx",
28
+ ".mts",
29
+ ".cts",
30
+ ".py",
31
+ ".go",
32
+ ".java",
33
+ ".rb",
34
+ ".php",
35
+ ".sql",
36
+ ".css",
37
+ ".scss",
38
+ ".html",
39
+ ".htm",
40
+ ];
41
+ export function inferTextAttachmentType(params) {
42
+ const attachmentType = typeof params.attachmentType === "string"
43
+ ? params.attachmentType.toLowerCase()
44
+ : "";
45
+ const mimeType = typeof params.mimeType === "string" ? params.mimeType.toLowerCase() : "";
46
+ const lowerFileName = params.fileName.toLowerCase();
47
+ if (attachmentType === "csv" || mimeType === "text/csv") {
48
+ return "csv";
49
+ }
50
+ if (attachmentType === "json" || mimeType === "application/json") {
51
+ return "json";
52
+ }
53
+ if (attachmentType === "yaml" ||
54
+ mimeType === "text/yaml" ||
55
+ mimeType === "application/yaml" ||
56
+ mimeType === "application/x-yaml") {
57
+ return "yaml";
58
+ }
59
+ if (attachmentType === "css" || mimeType === "text/css") {
60
+ return "css";
61
+ }
62
+ if (attachmentType === "txt") {
63
+ return "txt";
64
+ }
65
+ if (lowerFileName.endsWith(".csv")) {
66
+ return "csv";
67
+ }
68
+ if (lowerFileName.endsWith(".json")) {
69
+ return "json";
70
+ }
71
+ if (lowerFileName.endsWith(".yaml") || lowerFileName.endsWith(".yml")) {
72
+ return "yaml";
73
+ }
74
+ if (lowerFileName.endsWith(".css")) {
75
+ return "css";
76
+ }
77
+ if (mimeType.startsWith("text/") ||
78
+ mimeType.includes("json") ||
79
+ mimeType.includes("xml") ||
80
+ mimeType.includes("yaml") ||
81
+ mimeType.includes("toml") ||
82
+ mimeType.includes("javascript") ||
83
+ mimeType.includes("typescript") ||
84
+ mimeType.includes("ecmascript") ||
85
+ mimeType.includes("markdown") ||
86
+ mimeType.includes("shellscript") ||
87
+ mimeType.includes("python") ||
88
+ mimeType.includes("ruby") ||
89
+ mimeType.includes("php") ||
90
+ mimeType.includes("sql") ||
91
+ TEXT_LIKE_EXTENSIONS.some((extension) => lowerFileName.endsWith(extension))) {
92
+ return "txt";
93
+ }
94
+ return null;
95
+ }
96
+ export function normalizeTextAttachmentForModel(attachment) {
97
+ if (isTextAttachment(attachment)) {
98
+ return {
99
+ fileName: attachment.fileName,
100
+ content: attachment.content,
101
+ mimeType: attachment.mimeType,
102
+ tagName: attachment.type,
103
+ };
104
+ }
105
+ const candidate = attachment;
106
+ if (typeof candidate.content !== "string" ||
107
+ typeof candidate.fileName !== "string") {
108
+ return null;
109
+ }
110
+ const tagName = inferTextAttachmentType({
111
+ attachmentType: candidate.type,
112
+ mimeType: candidate.mimeType,
113
+ fileName: candidate.fileName,
114
+ });
115
+ if (!tagName) {
116
+ return null;
117
+ }
118
+ return {
119
+ fileName: candidate.fileName,
120
+ content: candidate.content,
121
+ mimeType: typeof candidate.mimeType === "string"
122
+ ? candidate.mimeType
123
+ : TEXT_ATTACHMENT_MIME_TYPES[tagName],
124
+ tagName,
125
+ };
126
+ }
1
127
  export function sanitizeToolOutput(toolName, output) {
2
- if (toolName === "executeRequestToIntegration") {
3
- // do not record user data
128
+ if (toolName === "executeRequestToIntegration" || toolName === "testApi") {
129
+ // do not record user/API result data in the DB
4
130
  return undefined;
5
131
  }
6
132
  return output;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ai-service/chat/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,MAAW;IAC9D,IAAI,QAAQ,KAAK,6BAA6B,EAAE,CAAC;QAC/C,0BAA0B;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ai-service/chat/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAG3B,MAAM,uCAAuC,CAAC;AAE/C,MAAM,oBAAoB,GAAG;IAC3B,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,WAAW;IACX,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;CACE,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,MAIvC;IACC,MAAM,cAAc,GAClB,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;QACvC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE;QACrC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEpD,IAAI,cAAc,KAAK,KAAK,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,cAAc,KAAK,MAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IACE,cAAc,KAAK,MAAM;QACzB,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,kBAAkB;QAC/B,QAAQ,KAAK,oBAAoB,EACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,cAAc,KAAK,KAAK,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxB,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAC3E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,UAAsB;IAMpE,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,UAAU,CAAC,IAAI;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,UAKjB,CAAC;IAEF,IACE,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ;QACrC,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC;QACtC,cAAc,EAAE,SAAS,CAAC,IAAI;QAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,QAAQ,EACN,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ;YACpC,CAAC,CAAC,SAAS,CAAC,QAAQ;YACpB,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC;QACzC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,MAAW;IAC9D,IAAI,QAAQ,KAAK,6BAA6B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzE,+CAA+C;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}