@superblocksteam/vite-plugin-file-sync 2.0.3-next.99 → 2.0.4

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 (392) hide show
  1. package/dist/ai-service/app-interface/shell.d.ts +15 -0
  2. package/dist/ai-service/app-interface/shell.d.ts.map +1 -0
  3. package/dist/ai-service/app-interface/shell.js +81 -0
  4. package/dist/ai-service/app-interface/shell.js.map +1 -0
  5. package/dist/ai-service/app-interface/source-tracker.d.ts +17 -0
  6. package/dist/ai-service/app-interface/source-tracker.d.ts.map +1 -0
  7. package/dist/ai-service/app-interface/source-tracker.js +41 -0
  8. package/dist/ai-service/app-interface/source-tracker.js.map +1 -0
  9. package/dist/ai-service/artifacts/bolt.js +1 -1
  10. package/dist/ai-service/artifacts/bolt.js.map +1 -1
  11. package/dist/ai-service/const.d.ts +8 -1
  12. package/dist/ai-service/const.d.ts.map +1 -1
  13. package/dist/ai-service/const.js +8 -1
  14. package/dist/ai-service/const.js.map +1 -1
  15. package/dist/ai-service/eval/template-renderer.d.ts.map +1 -1
  16. package/dist/ai-service/eval/template-renderer.js +3 -2
  17. package/dist/ai-service/eval/template-renderer.js.map +1 -1
  18. package/dist/ai-service/index.d.ts +11 -4
  19. package/dist/ai-service/index.d.ts.map +1 -1
  20. package/dist/ai-service/index.js +50 -19
  21. package/dist/ai-service/index.js.map +1 -1
  22. package/dist/ai-service/integrations/const.d.ts +1 -1
  23. package/dist/ai-service/integrations/const.js +1 -1
  24. package/dist/ai-service/integrations/const.js.map +1 -1
  25. package/dist/ai-service/integrations/to-sdk-prompt.js +211 -18
  26. package/dist/ai-service/integrations/to-sdk-prompt.js.map +1 -1
  27. package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.d.ts +1 -1
  28. package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.d.ts.map +1 -1
  29. package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.js +2 -2
  30. package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.js.map +1 -1
  31. package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.d.ts +1 -1
  32. package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.d.ts.map +1 -1
  33. package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.js +2 -2
  34. package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.js.map +1 -1
  35. package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.d.ts +1 -1
  36. package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.d.ts.map +1 -1
  37. package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.js +2 -2
  38. package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.js.map +1 -1
  39. package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.d.ts +1 -1
  40. package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.d.ts.map +1 -1
  41. package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.js +2 -2
  42. package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.js.map +1 -1
  43. package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.d.ts +1 -1
  44. package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.d.ts.map +1 -1
  45. package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.js +2 -2
  46. package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.js.map +1 -1
  47. package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.d.ts +1 -1
  48. package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.d.ts.map +1 -1
  49. package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.js +2 -2
  50. package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.js.map +1 -1
  51. package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.d.ts +1 -1
  52. package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.d.ts.map +1 -1
  53. package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.js +2 -2
  54. package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.js.map +1 -1
  55. package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.d.ts +1 -1
  56. package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.d.ts.map +1 -1
  57. package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.js +2 -2
  58. package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.js.map +1 -1
  59. package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.d.ts +1 -1
  60. package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.d.ts.map +1 -1
  61. package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.js +2 -2
  62. package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.js.map +1 -1
  63. package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.d.ts +1 -1
  64. package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.d.ts.map +1 -1
  65. package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.js +2 -2
  66. package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.js.map +1 -1
  67. package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.d.ts +1 -1
  68. package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.d.ts.map +1 -1
  69. package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.js +2 -2
  70. package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.js.map +1 -1
  71. package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.d.ts +1 -1
  72. package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.d.ts.map +1 -1
  73. package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.js +2 -2
  74. package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.js.map +1 -1
  75. package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.d.ts +1 -1
  76. package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.d.ts.map +1 -1
  77. package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.js +2 -2
  78. package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.js.map +1 -1
  79. package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.d.ts +1 -1
  80. package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.d.ts.map +1 -1
  81. package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.js +2 -2
  82. package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.js.map +1 -1
  83. package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.d.ts +1 -1
  84. package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.d.ts.map +1 -1
  85. package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.js +2 -2
  86. package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.js.map +1 -1
  87. package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.d.ts +1 -1
  88. package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.d.ts.map +1 -1
  89. package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.js +2 -2
  90. package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.js.map +1 -1
  91. package/dist/ai-service/prompts/generated/library-components/index.d.ts +0 -1
  92. package/dist/ai-service/prompts/generated/library-components/index.d.ts.map +1 -1
  93. package/dist/ai-service/prompts/generated/library-components/index.js +0 -1
  94. package/dist/ai-service/prompts/generated/library-components/index.js.map +1 -1
  95. package/dist/ai-service/prompts/generated/library-typedefs/Dim.js +1 -1
  96. package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.d.ts +1 -1
  97. package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.d.ts.map +1 -1
  98. package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.js +2 -2
  99. package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.js.map +1 -1
  100. package/dist/ai-service/prompts/generated/subprompts/index.d.ts +3 -0
  101. package/dist/ai-service/prompts/generated/subprompts/index.d.ts.map +1 -1
  102. package/dist/ai-service/prompts/generated/subprompts/index.js +3 -0
  103. package/dist/ai-service/prompts/generated/subprompts/index.js.map +1 -1
  104. package/dist/ai-service/prompts/generated/subprompts/superblocks-api.d.ts +1 -1
  105. package/dist/ai-service/prompts/generated/subprompts/superblocks-api.d.ts.map +1 -1
  106. package/dist/ai-service/prompts/generated/subprompts/superblocks-api.js +2 -2
  107. package/dist/ai-service/prompts/generated/subprompts/superblocks-api.js.map +1 -1
  108. package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.d.ts +1 -1
  109. package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.d.ts.map +1 -1
  110. package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.js +2 -2
  111. package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.js.map +1 -1
  112. package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.d.ts +1 -1
  113. package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.d.ts.map +1 -1
  114. package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.js +2 -2
  115. package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.js.map +1 -1
  116. package/dist/ai-service/prompts/generated/subprompts/superblocks-data-filtering.d.ts +2 -0
  117. package/dist/ai-service/prompts/generated/subprompts/superblocks-data-filtering.d.ts.map +1 -0
  118. package/dist/ai-service/prompts/generated/subprompts/superblocks-data-filtering.js +6 -0
  119. package/dist/ai-service/prompts/generated/subprompts/superblocks-data-filtering.js.map +1 -0
  120. package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.d.ts +1 -1
  121. package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.d.ts.map +1 -1
  122. package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.js +2 -2
  123. package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.js.map +1 -1
  124. package/dist/ai-service/prompts/generated/subprompts/superblocks-forms.d.ts +2 -0
  125. package/dist/ai-service/prompts/generated/subprompts/superblocks-forms.d.ts.map +1 -0
  126. package/dist/ai-service/prompts/generated/subprompts/superblocks-forms.js +6 -0
  127. package/dist/ai-service/prompts/generated/subprompts/superblocks-forms.js.map +1 -0
  128. package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.d.ts +1 -1
  129. package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.d.ts.map +1 -1
  130. package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.js +2 -2
  131. package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.js.map +1 -1
  132. package/dist/ai-service/prompts/generated/subprompts/superblocks-page.d.ts +1 -1
  133. package/dist/ai-service/prompts/generated/subprompts/superblocks-page.d.ts.map +1 -1
  134. package/dist/ai-service/prompts/generated/subprompts/superblocks-page.js +2 -2
  135. package/dist/ai-service/prompts/generated/subprompts/superblocks-page.js.map +1 -1
  136. package/dist/ai-service/prompts/generated/subprompts/superblocks-rbac.d.ts +2 -0
  137. package/dist/ai-service/prompts/generated/subprompts/superblocks-rbac.d.ts.map +1 -0
  138. package/dist/ai-service/prompts/generated/subprompts/superblocks-rbac.js +6 -0
  139. package/dist/ai-service/prompts/generated/subprompts/superblocks-rbac.js.map +1 -0
  140. package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.d.ts +1 -1
  141. package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.d.ts.map +1 -1
  142. package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.js +2 -2
  143. package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.js.map +1 -1
  144. package/dist/ai-service/prompts/generated/subprompts/superblocks-state.d.ts +1 -1
  145. package/dist/ai-service/prompts/generated/subprompts/superblocks-state.d.ts.map +1 -1
  146. package/dist/ai-service/prompts/generated/subprompts/superblocks-state.js +2 -2
  147. package/dist/ai-service/prompts/generated/subprompts/superblocks-state.js.map +1 -1
  148. package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.d.ts +1 -1
  149. package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.d.ts.map +1 -1
  150. package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.js +2 -2
  151. package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.js.map +1 -1
  152. package/dist/ai-service/prompts/generated/subprompts/system.d.ts +1 -1
  153. package/dist/ai-service/prompts/generated/subprompts/system.d.ts.map +1 -1
  154. package/dist/ai-service/prompts/generated/subprompts/system.js +2 -2
  155. package/dist/ai-service/prompts/generated/subprompts/system.js.map +1 -1
  156. package/dist/ai-service/prompts/markdown-loader.d.ts.map +1 -1
  157. package/dist/ai-service/prompts/markdown-loader.js +11 -5
  158. package/dist/ai-service/prompts/markdown-loader.js.map +1 -1
  159. package/dist/ai-service/prompts/system.d.ts.map +1 -1
  160. package/dist/ai-service/prompts/system.js +12 -0
  161. package/dist/ai-service/prompts/system.js.map +1 -1
  162. package/dist/ai-service/result-buffer/bolt.d.ts +3 -0
  163. package/dist/ai-service/result-buffer/bolt.d.ts.map +1 -1
  164. package/dist/ai-service/result-buffer/bolt.js +28 -1
  165. package/dist/ai-service/result-buffer/bolt.js.map +1 -1
  166. package/dist/ai-service/result-buffer/shared.d.ts +6 -2
  167. package/dist/ai-service/result-buffer/shared.d.ts.map +1 -1
  168. package/dist/ai-service/result-buffer/shared.js.map +1 -1
  169. package/dist/ai-service/state-machine/clark-fsm.d.ts +39 -5
  170. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  171. package/dist/ai-service/state-machine/clark-fsm.js +10 -1
  172. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  173. package/dist/ai-service/state-machine/fsm.d.ts.map +1 -1
  174. package/dist/ai-service/state-machine/fsm.js +15 -6
  175. package/dist/ai-service/state-machine/fsm.js.map +1 -1
  176. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  177. package/dist/ai-service/state-machine/handlers/agent-planning.js +175 -56
  178. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  179. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +2 -2
  180. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  181. package/dist/ai-service/state-machine/handlers/awaiting-user.js +31 -4
  182. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  183. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  184. package/dist/ai-service/state-machine/handlers/idle.js +6 -4
  185. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  186. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +1 -1
  187. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  188. package/dist/ai-service/state-machine/handlers/llm-generating.js +125 -19
  189. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  190. package/dist/ai-service/state-machine/handlers/post-processing.d.ts +6 -1
  191. package/dist/ai-service/state-machine/handlers/post-processing.d.ts.map +1 -1
  192. package/dist/ai-service/state-machine/handlers/post-processing.js +216 -22
  193. package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
  194. package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts +2 -1
  195. package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts.map +1 -1
  196. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +62 -11
  197. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  198. package/dist/ai-service/state-machine/helpers/change-info.d.ts +8 -0
  199. package/dist/ai-service/state-machine/helpers/change-info.d.ts.map +1 -0
  200. package/dist/ai-service/state-machine/helpers/change-info.js +109 -0
  201. package/dist/ai-service/state-machine/helpers/change-info.js.map +1 -0
  202. package/dist/ai-service/state-machine/helpers/peer.d.ts +3 -2
  203. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  204. package/dist/ai-service/state-machine/helpers/peer.js +35 -4
  205. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  206. package/dist/ai-service/state-machine/helpers/transition.d.ts +1 -2
  207. package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
  208. package/dist/ai-service/state-machine/helpers/transition.js +6 -0
  209. package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
  210. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  211. package/dist/ai-service/state-machine/mocks.js +17 -0
  212. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  213. package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.d.ts.map +1 -1
  214. package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.js +5 -4
  215. package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.js.map +1 -1
  216. package/dist/ai-service/transform/api-builder/shared.d.ts.map +1 -1
  217. package/dist/ai-service/transform/api-builder/shared.js +4 -2
  218. package/dist/ai-service/transform/api-builder/shared.js.map +1 -1
  219. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  220. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +2 -1
  221. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  222. package/dist/ai-service/transform/shared.d.ts +5 -0
  223. package/dist/ai-service/transform/shared.d.ts.map +1 -1
  224. package/dist/ai-service/transform/shared.js +29 -3
  225. package/dist/ai-service/transform/shared.js.map +1 -1
  226. package/dist/ai-service/types.d.ts +15 -0
  227. package/dist/ai-service/types.d.ts.map +1 -1
  228. package/dist/ai-service/types.js +7 -1
  229. package/dist/ai-service/types.js.map +1 -1
  230. package/dist/binding-extraction/extract-embedded-identifiers.d.ts +2 -11
  231. package/dist/binding-extraction/extract-embedded-identifiers.d.ts.map +1 -1
  232. package/dist/binding-extraction/extract-embedded-identifiers.js +9 -91
  233. package/dist/binding-extraction/extract-embedded-identifiers.js.map +1 -1
  234. package/dist/binding-extraction/template-strings.d.ts +1 -2
  235. package/dist/binding-extraction/template-strings.d.ts.map +1 -1
  236. package/dist/codegen.d.ts +5 -5
  237. package/dist/codegen.d.ts.map +1 -1
  238. package/dist/codegen.js +63 -26
  239. package/dist/codegen.js.map +1 -1
  240. package/dist/draft-interface.d.ts +1 -0
  241. package/dist/draft-interface.d.ts.map +1 -1
  242. package/dist/errors/make-server-error.d.ts +1 -0
  243. package/dist/errors/make-server-error.d.ts.map +1 -1
  244. package/dist/errors/make-server-error.js +9 -0
  245. package/dist/errors/make-server-error.js.map +1 -1
  246. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  247. package/dist/file-sync-vite-plugin.js +83 -15
  248. package/dist/file-sync-vite-plugin.js.map +1 -1
  249. package/dist/file-system-manager.d.ts +7 -5
  250. package/dist/file-system-manager.d.ts.map +1 -1
  251. package/dist/file-system-manager.js +94 -27
  252. package/dist/file-system-manager.js.map +1 -1
  253. package/dist/index.d.ts +3 -0
  254. package/dist/index.d.ts.map +1 -1
  255. package/dist/index.js +2 -0
  256. package/dist/index.js.map +1 -1
  257. package/dist/inject-index-vite-plugin.d.ts +8 -0
  258. package/dist/inject-index-vite-plugin.d.ts.map +1 -0
  259. package/dist/inject-index-vite-plugin.js +41 -0
  260. package/dist/inject-index-vite-plugin.js.map +1 -0
  261. package/dist/lock-service/index.d.ts +29 -3
  262. package/dist/lock-service/index.d.ts.map +1 -1
  263. package/dist/lock-service/index.js +108 -28
  264. package/dist/lock-service/index.js.map +1 -1
  265. package/dist/parsing/computed/index.d.ts +4 -0
  266. package/dist/parsing/computed/index.d.ts.map +1 -0
  267. package/dist/parsing/computed/index.js +7 -0
  268. package/dist/parsing/computed/index.js.map +1 -0
  269. package/dist/parsing/computed/to-code-computed.d.ts +2 -1
  270. package/dist/parsing/computed/to-code-computed.d.ts.map +1 -1
  271. package/dist/parsing/computed/to-code-computed.js +22 -11
  272. package/dist/parsing/computed/to-code-computed.js.map +1 -1
  273. package/dist/parsing/dim/index.d.ts +5 -0
  274. package/dist/parsing/dim/index.d.ts.map +1 -0
  275. package/dist/parsing/dim/index.js +7 -0
  276. package/dist/parsing/dim/index.js.map +1 -0
  277. package/dist/parsing/entity/index.d.ts +2 -3
  278. package/dist/parsing/entity/index.d.ts.map +1 -1
  279. package/dist/parsing/entity/index.js +2 -3
  280. package/dist/parsing/entity/index.js.map +1 -1
  281. package/dist/parsing/events/index.d.ts +5 -0
  282. package/dist/parsing/events/index.d.ts.map +1 -0
  283. package/dist/parsing/events/index.js +7 -0
  284. package/dist/parsing/events/index.js.map +1 -0
  285. package/dist/parsing/events/to-code-events.d.ts.map +1 -1
  286. package/dist/parsing/events/to-code-events.js +52 -19
  287. package/dist/parsing/events/to-code-events.js.map +1 -1
  288. package/dist/parsing/events/to-value-events.d.ts +5 -0
  289. package/dist/parsing/events/to-value-events.d.ts.map +1 -1
  290. package/dist/parsing/events/to-value-events.js +96 -11
  291. package/dist/parsing/events/to-value-events.js.map +1 -1
  292. package/dist/parsing/ids.d.ts.map +1 -1
  293. package/dist/parsing/ids.js +48 -27
  294. package/dist/parsing/ids.js.map +1 -1
  295. package/dist/parsing/imports.d.ts +15 -0
  296. package/dist/parsing/imports.d.ts.map +1 -1
  297. package/dist/parsing/imports.js +46 -0
  298. package/dist/parsing/imports.js.map +1 -1
  299. package/dist/parsing/jsx-utils.d.ts +1 -1
  300. package/dist/parsing/jsx-utils.d.ts.map +1 -1
  301. package/dist/parsing/jsx-utils.js +10 -4
  302. package/dist/parsing/jsx-utils.js.map +1 -1
  303. package/dist/parsing/jsx.d.ts.map +1 -1
  304. package/dist/parsing/jsx.js +5 -13
  305. package/dist/parsing/jsx.js.map +1 -1
  306. package/dist/parsing/properties.d.ts.map +1 -1
  307. package/dist/parsing/properties.js +12 -2
  308. package/dist/parsing/properties.js.map +1 -1
  309. package/dist/parsing/scope.d.ts +10 -2
  310. package/dist/parsing/scope.d.ts.map +1 -1
  311. package/dist/parsing/scope.js +127 -37
  312. package/dist/parsing/scope.js.map +1 -1
  313. package/dist/parsing/template/index.d.ts +5 -0
  314. package/dist/parsing/template/index.d.ts.map +1 -0
  315. package/dist/parsing/template/index.js +7 -0
  316. package/dist/parsing/template/index.js.map +1 -0
  317. package/dist/parsing/template/to-value-template.d.ts.map +1 -1
  318. package/dist/parsing/template/to-value-template.js +15 -4
  319. package/dist/parsing/template/to-value-template.js.map +1 -1
  320. package/dist/parsing/theme.js +2 -2
  321. package/dist/parsing/theme.js.map +1 -1
  322. package/dist/parsing/type-parsing-registry.d.ts +5 -15
  323. package/dist/parsing/type-parsing-registry.d.ts.map +1 -1
  324. package/dist/parsing/type-parsing-registry.js +4 -24
  325. package/dist/parsing/type-parsing-registry.js.map +1 -1
  326. package/dist/parsing/types.d.ts +10 -0
  327. package/dist/parsing/types.d.ts.map +1 -0
  328. package/dist/parsing/types.js +2 -0
  329. package/dist/parsing/types.js.map +1 -0
  330. package/dist/parsing/util.d.ts +6 -1
  331. package/dist/parsing/util.d.ts.map +1 -1
  332. package/dist/parsing/util.js +59 -7
  333. package/dist/parsing/util.js.map +1 -1
  334. package/dist/plugin-options.d.ts +2 -2
  335. package/dist/plugin-options.d.ts.map +1 -1
  336. package/dist/refactor/javascript.d.ts.map +1 -1
  337. package/dist/refactor/javascript.js +7 -0
  338. package/dist/refactor/javascript.js.map +1 -1
  339. package/dist/rename-manager.d.ts.map +1 -1
  340. package/dist/rename-manager.js +19 -4
  341. package/dist/rename-manager.js.map +1 -1
  342. package/dist/routing.d.ts +2 -2
  343. package/dist/routing.d.ts.map +1 -1
  344. package/dist/routing.js +1 -2
  345. package/dist/routing.js.map +1 -1
  346. package/dist/sb-scope-manager.d.ts +3 -1
  347. package/dist/sb-scope-manager.d.ts.map +1 -1
  348. package/dist/sb-scope-manager.js +40 -13
  349. package/dist/sb-scope-manager.js.map +1 -1
  350. package/dist/socket-manager.d.ts +6 -5
  351. package/dist/socket-manager.d.ts.map +1 -1
  352. package/dist/socket-manager.js +38 -15
  353. package/dist/socket-manager.js.map +1 -1
  354. package/dist/source-tracker.d.ts +6 -14
  355. package/dist/source-tracker.d.ts.map +1 -1
  356. package/dist/source-tracker.js +69 -64
  357. package/dist/source-tracker.js.map +1 -1
  358. package/dist/sync-service/draft-helpers.d.ts +9 -0
  359. package/dist/sync-service/draft-helpers.d.ts.map +1 -1
  360. package/dist/sync-service/draft-helpers.js +65 -0
  361. package/dist/sync-service/draft-helpers.js.map +1 -1
  362. package/dist/sync-service/index.d.ts +11 -0
  363. package/dist/sync-service/index.d.ts.map +1 -1
  364. package/dist/sync-service/index.js +85 -14
  365. package/dist/sync-service/index.js.map +1 -1
  366. package/dist/sync-service/server-rpc/client.d.ts +5 -1
  367. package/dist/sync-service/server-rpc/client.d.ts.map +1 -1
  368. package/dist/sync-service/server-rpc/client.js +12 -25
  369. package/dist/sync-service/server-rpc/client.js.map +1 -1
  370. package/dist/sync-service/server-rpc/handlers.d.ts +2 -2
  371. package/dist/sync-service/server-rpc/handlers.d.ts.map +1 -1
  372. package/dist/sync-service/server-rpc/handlers.js.map +1 -1
  373. package/dist/sync-service/snapshot/take-snapshot.d.ts +0 -3
  374. package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
  375. package/dist/sync-service/snapshot/take-snapshot.js +0 -5
  376. package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
  377. package/dist/util/logger.d.ts.map +1 -1
  378. package/dist/util/logger.js +9 -8
  379. package/dist/util/logger.js.map +1 -1
  380. package/dist/util/tracing.d.ts +1 -1
  381. package/dist/util/tracing.d.ts.map +1 -1
  382. package/dist/util/tracing.js +38 -1
  383. package/dist/util/tracing.js.map +1 -1
  384. package/dist/util.d.ts +2 -0
  385. package/dist/util.d.ts.map +1 -1
  386. package/dist/util.js +41 -0
  387. package/dist/util.js.map +1 -1
  388. package/package.json +16 -10
  389. package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.d.ts +0 -2
  390. package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.d.ts.map +0 -1
  391. package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.js +0 -6
  392. package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.js.map +0 -1
@@ -1,53 +1,142 @@
1
1
  import { streamText, smoothStream } from "ai";
2
+ import { getErrorMeta, getLogger } from "../../../util/logger.js";
3
+ import { Paths } from "../../const.js";
2
4
  import { BoltResultBuffer, BoltResultType } from "../../result-buffer/bolt.js";
3
- import { AGENT_PLANNED, APP_RUNTIME_UPDATED_WITHOUT_EDITS, LLM_FINISHED_UNEXPECTEDLY, } from "../clark-fsm.js";
5
+ import { AddMetadataToApiYamlTransformer } from "../../transform/add-metadata-to-api-yaml/transformer.js";
6
+ import { ApiBuilderToYamlTransformer } from "../../transform/api-builder/to-yaml-transformer.js";
7
+ import { applyFileTransformations, matchPath } from "../../transform/shared.js";
8
+ import { AGENT_PLANNED, APP_RUNTIME_UPDATED_WITHOUT_EDITS, LLM_ERRORED, LLM_FINISHED, LLM_FINISHED_UNEXPECTEDLY, POST_PROCESSING_ERRORED, } from "../clark-fsm.js";
9
+ import { sendChangeInfoHelper } from "../helpers/change-info.js";
4
10
  import { sendUserCompletionChannel, sendUserMessageChannel, } from "../helpers/peer.js";
5
11
  import { transitionFrom } from "../helpers/transition.js";
6
- export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor }) => {
12
+ export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor, templateRenderer, applicationId, organizationId, draftInterface, }) => {
7
13
  const transitionTo = transitionFrom(clark);
8
14
  const sendUserMessage = sendUserMessageChannel(clark);
9
15
  const sendUserCompletion = sendUserCompletionChannel(clark);
16
+ const sendChangeInfo = sendChangeInfoHelper(clark);
17
+ const logger = getLogger();
18
+ const matchGeneratedApi = matchPath(Paths.GeneratedApis);
10
19
  return async ({ event }) => {
11
20
  switch (event.type) {
12
21
  case AGENT_PLANNED: {
13
- const { systemPrompt, userPrompt } = event;
22
+ const { systemMessages, userPrompt, debugging } = event;
23
+ const { abortController } = clark.context;
14
24
  const { fullStream } = streamText({
15
25
  model: anthropicProvider("claude-4-sonnet-20250514"),
16
- system: systemPrompt,
17
- prompt: userPrompt,
26
+ messages: [
27
+ ...systemMessages,
28
+ {
29
+ role: "user",
30
+ content: userPrompt,
31
+ },
32
+ ],
18
33
  experimental_transform: smoothStream(),
19
34
  maxTokens: 32000,
35
+ abortSignal: abortController?.signal,
20
36
  });
21
37
  let pendingArtifacts = false;
38
+ let artifactChunk = null;
39
+ const flushedAfterArtifacts = [];
22
40
  // the buffer collects the text and artifact chunks and
23
41
  // yields side effects on flush or when a new chunk type is detected
24
42
  const resultBuffer = new BoltResultBuffer({
25
- onPending: async (type) => {
43
+ onTypeChange: async (type) => {
26
44
  switch (type) {
27
45
  case BoltResultType.Artifact:
28
- void sendUserMessage({ text: "Starting to build…" });
46
+ if (!pendingArtifacts && !debugging) {
47
+ void sendUserMessage({
48
+ type: "text",
49
+ group: "clark",
50
+ text: "Passing it over to the Engineer Agent to start building!",
51
+ });
52
+ void sendUserMessage({
53
+ type: "text",
54
+ group: "agent-engineer",
55
+ text: "Great, thanks Clark - let's get to work! You can track my progress below.",
56
+ }, 750);
57
+ }
29
58
  pendingArtifacts = true;
30
59
  break;
60
+ case BoltResultType.Text:
61
+ void sendUserMessage({
62
+ type: "control",
63
+ group: "clark",
64
+ status: "ready",
65
+ text: "Generating…",
66
+ });
67
+ break;
31
68
  }
32
69
  },
33
70
  onFlush: async (type, text) => {
34
71
  switch (type) {
35
72
  case BoltResultType.Text:
36
- void sendUserMessage({ text, type: "text" });
73
+ if (!debugging) {
74
+ if (artifactChunk) {
75
+ flushedAfterArtifacts.push([type, text]);
76
+ }
77
+ else {
78
+ void sendUserMessage({ text, type: "text" });
79
+ }
80
+ }
37
81
  break;
38
82
  case BoltResultType.Think:
39
- void sendUserMessage({ text, type: "reasoning" });
83
+ if (artifactChunk) {
84
+ flushedAfterArtifacts.push([type, text]);
85
+ }
86
+ else {
87
+ void sendUserMessage({ text, type: "reasoning" });
88
+ }
40
89
  break;
41
90
  case BoltResultType.Artifact: {
42
- const generated = artifactProcessor.extractFileArtifacts(text);
43
- transitionTo({
44
- type: "llmFinished",
45
- files: generated,
46
- });
91
+ if (!artifactChunk) {
92
+ artifactChunk = text;
93
+ }
47
94
  break;
48
95
  }
49
96
  }
50
97
  },
98
+ onPendingFile: async (filePath) => {
99
+ void sendChangeInfo({
100
+ type: "pending",
101
+ filePath,
102
+ });
103
+ },
104
+ onFlushFile: async (filePath, buffer) => {
105
+ void sendChangeInfo({
106
+ type: "ready",
107
+ filePath,
108
+ });
109
+ if (!matchGeneratedApi(filePath).matched) {
110
+ return;
111
+ }
112
+ try {
113
+ const files = artifactProcessor.extractFileArtifacts(buffer);
114
+ const generatedApi = files.find((file) => file.filePath === filePath);
115
+ if (!generatedApi) {
116
+ return;
117
+ }
118
+ const [apiYaml] = await applyFileTransformations([generatedApi], [
119
+ new ApiBuilderToYamlTransformer({
120
+ skipCleanup: true,
121
+ templateRenderer,
122
+ }),
123
+ new AddMetadataToApiYamlTransformer({
124
+ applicationId,
125
+ organizationId,
126
+ }),
127
+ ]);
128
+ if (apiYaml) {
129
+ await draftInterface.createDraftFile(apiYaml.filePath, apiYaml.content);
130
+ }
131
+ }
132
+ catch (error) {
133
+ logger.error("[ai-service] Error flushing file:", getErrorMeta(error));
134
+ transitionTo({
135
+ type: POST_PROCESSING_ERRORED,
136
+ error: error instanceof Error ? error : new Error("Unknown error"),
137
+ });
138
+ }
139
+ },
51
140
  });
52
141
  // process stream. in general this should be agnostic to the bolt-oriented prompt
53
142
  for await (const chunk of fullStream) {
@@ -63,14 +152,15 @@ export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor })
63
152
  // note: unused; the system prompt encourages <boltArtifact> tags
64
153
  break;
65
154
  case "step-start":
66
- console.debug("Step started:", chunk.messageId);
155
+ logger.debug("[ai-service] Step started:", chunk.messageId);
67
156
  break;
68
157
  case "step-finish":
69
158
  resultBuffer.maybeFlush(true);
70
- console.debug("Step finished:", chunk.messageId);
159
+ logger.debug("[ai-service] Step finished:", chunk.messageId);
71
160
  break;
72
161
  case "error":
73
162
  {
163
+ logger.error("[ai-service] LLM error chunk:", chunk);
74
164
  let error = {
75
165
  type: "unknown",
76
166
  };
@@ -81,7 +171,7 @@ export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor })
81
171
  error = chunk.error;
82
172
  }
83
173
  transitionTo({
84
- type: "llmErrored",
174
+ type: LLM_ERRORED,
85
175
  error: error,
86
176
  });
87
177
  }
@@ -93,7 +183,7 @@ export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor })
93
183
  finishReason: chunk.finishReason,
94
184
  });
95
185
  }
96
- else if (!pendingArtifacts) {
186
+ else if (!pendingArtifacts || !artifactChunk) {
97
187
  transitionTo({
98
188
  type: APP_RUNTIME_UPDATED_WITHOUT_EDITS,
99
189
  });
@@ -102,6 +192,22 @@ export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor })
102
192
  hasSuggestions: false,
103
193
  });
104
194
  }
195
+ else {
196
+ const generated = artifactProcessor.extractFileArtifacts(artifactChunk);
197
+ if (!debugging) {
198
+ const summaryMessages = flushedAfterArtifacts
199
+ .filter(([type]) => type === BoltResultType.Text)
200
+ .map(([_, text]) => text);
201
+ // store the summary messages so we can display them after everything is validated
202
+ clark.updateContext({
203
+ summaryMessages,
204
+ });
205
+ }
206
+ transitionTo({
207
+ type: LLM_FINISHED,
208
+ files: generated,
209
+ });
210
+ }
105
211
  break;
106
212
  case "tool-call":
107
213
  case "tool-call-streaming-start":
@@ -111,7 +217,7 @@ export const doLLMGenerating = (clark, { anthropicProvider, artifactProcessor })
111
217
  case "source":
112
218
  break;
113
219
  default:
114
- console.error("Unhandled chunk type:", chunk.type);
220
+ logger.error("[ai-service] Unhandled chunk type:", chunk.type);
115
221
  break;
116
222
  }
117
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm-generating.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-generating.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ import type { DraftInterface } from "../../../draft-interface.js";
1
2
  import type { Clark, ClarkStateHandlerParams, ClarkTransition } from "../clark-fsm.js";
2
- export declare const doPostProcessing: (clark: Clark, { applicationId, organizationId, draftInterface, templateRenderer, }: ClarkStateHandlerParams) => ({ event }: ClarkTransition) => Promise<void>;
3
+ export declare const doPostProcessing: (clark: Clark, { draftInterface, appShell }: ClarkStateHandlerParams) => ({ event }: ClarkTransition) => Promise<void>;
4
+ export declare const parsePackageJsonChanges: (draftInterface: DraftInterface, updatedPackageJsonContent: string) => Promise<{
5
+ type: "create" | "edit" | "delete";
6
+ package: string;
7
+ }[]>;
3
8
  //# sourceMappingURL=post-processing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-processing.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/post-processing.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAIV,KAAK,EACL,uBAAuB,EACvB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,sEAKG,uBAAuB,MAIZ,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CAyCxD,CAAC"}
1
+ {"version":3,"file":"post-processing.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/post-processing.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAIV,KAAK,EACL,uBAAuB,EACvB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,8BAA8B,uBAAuB,MAyEvC,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CAmHxD,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,cAAc,EAC9B,2BAA2B,MAAM,KAChC,OAAO,CACR;IACE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB,EAAE,CAoFJ,CAAC"}
@@ -1,36 +1,146 @@
1
- import { AddMetadataToApiYamlTransformer } from "../../transform/add-metadata-to-api-yaml/transformer.js";
2
- import { ApiBuilderToYamlTransformer } from "../../transform/api-builder/to-yaml-transformer.js";
3
- import { RemoveApiBuilderImportsTransformer } from "../../transform/remove-api-builder-imports/transformer.js";
4
- import { applyFileTransformations } from "../../transform/shared.js";
5
- import { WorkaroundMissingSbApiTransformer } from "../../transform/workaround-missing-sbapi/transformer.js";
1
+ import { Paths } from "../../const.js";
2
+ import { matchMultiplePaths } from "../../transform/shared.js";
6
3
  import { LLM_FINISHED, POST_PROCESSING_ERRORED, POST_PROCESSING_FINISHED, } from "../clark-fsm.js";
4
+ import { sendChangeInfoHelper } from "../helpers/change-info.js";
5
+ import { sendUserMessageChannel } from "../helpers/peer.js";
7
6
  import { transitionFrom } from "../helpers/transition.js";
8
- export const doPostProcessing = (clark, { applicationId, organizationId, draftInterface, templateRenderer, }) => {
7
+ export const doPostProcessing = (clark, { draftInterface, appShell }) => {
9
8
  const transitionTo = transitionFrom(clark);
9
+ const sendChangeInfo = sendChangeInfoHelper(clark);
10
+ const sendUserMessage = sendUserMessageChannel(clark);
11
+ const createDraftFiles = (files) => {
12
+ for (const file of files) {
13
+ // ui > page/api change infos: ready dot
14
+ void sendChangeInfo({
15
+ type: "ready",
16
+ filePath: file.filePath,
17
+ });
18
+ }
19
+ return Promise.all(files.map((file) => draftInterface.createDraftFile(file.filePath, file.content)));
20
+ };
21
+ // send ui messages and invoke package installer
22
+ const handleDependencies = async (_packageJson) => {
23
+ // NOTE(colin): change info for packages is disabled for the demo
24
+ // const packageChanges = await parsePackageJsonChanges(
25
+ // draftInterface,
26
+ // packageJson.content,
27
+ // );
28
+ // ui > deps change infos: spin
29
+ // for (const change of packageChanges) {
30
+ // void sendChangeInfo({
31
+ // type: "pending",
32
+ // filePath: renderPath(DependencyInfoPath, {
33
+ // packageName: change.package,
34
+ // }),
35
+ // action: change.type,
36
+ // });
37
+ // }
38
+ // any previous package changes that are still marked ready
39
+ // should be treated as deleted
40
+ // const previousReadyChanges = Object.values(
41
+ // clark.context.generatedChangeInfo ?? {},
42
+ // ).filter(
43
+ // (change) =>
44
+ // change.status === "ready" &&
45
+ // change.action !== "delete" &&
46
+ // change.filePath.startsWith(DependencyInfoPath),
47
+ // );
48
+ // // ui > deps change infos: delete
49
+ // for (const change of previousReadyChanges) {
50
+ // sendChangeInfo({
51
+ // type: "ready",
52
+ // filePath: change.filePath,
53
+ // action: "delete",
54
+ // });
55
+ // }
56
+ await appShell.runNpmInstall(clark.context.abortController?.signal);
57
+ // ui > deps change infos: checkmark
58
+ // for (const change of packageChanges) {
59
+ // sendChangeInfo({
60
+ // type: "validated",
61
+ // filePath: renderPath(DependencyInfoPath, {
62
+ // packageName: change.package,
63
+ // }),
64
+ // });
65
+ // }
66
+ };
10
67
  return async ({ event }) => {
11
68
  switch (event.type) {
12
69
  case LLM_FINISHED: {
13
70
  const { files } = event;
71
+ const apiPaths = matchMultiplePaths(
72
+ // we have already drafted the generated apis into yaml at this point,
73
+ // but the api builder files are still in the event's files list
74
+ Paths.ApiYamls, Paths.GeneratedApis);
75
+ const scopePaths = matchMultiplePaths(Paths.PageScopes, Paths.AppScope);
14
76
  try {
15
- const transformed = await applyFileTransformations(files, [
16
- new ApiBuilderToYamlTransformer({
17
- skipCleanup: true,
18
- templateRenderer,
19
- }),
20
- new AddMetadataToApiYamlTransformer({
21
- applicationId,
22
- organizationId,
23
- }),
24
- new RemoveApiBuilderImportsTransformer(),
25
- new WorkaroundMissingSbApiTransformer(),
26
- ]);
27
- // propose drafts
28
- for (const file of transformed) {
29
- await draftInterface.createDraftFile(file.filePath, file.content);
77
+ const { packageJson, scopes, notApiArtifacts } = files.reduce((acc, file) => {
78
+ if (file.filePath === Paths.PackageJson) {
79
+ acc.packageJson = file;
80
+ }
81
+ else if (scopePaths(file.filePath).matched) {
82
+ acc.scopes.push(file);
83
+ }
84
+ else if (!apiPaths(file.filePath).matched) {
85
+ acc.notApiArtifacts.push(file);
86
+ }
87
+ return acc;
88
+ }, {
89
+ packageJson: null,
90
+ scopes: [],
91
+ notApiArtifacts: [],
92
+ });
93
+ if (!clark.context.usedDebugging) {
94
+ void sendUserMessage({
95
+ type: "text",
96
+ group: "agent-engineer",
97
+ text: "Okay, my first pass at this app is complete. Let me pass off to the Security Agent to review.",
98
+ });
99
+ // ui > control message A: spin
100
+ void sendUserMessage({
101
+ type: "control",
102
+ group: "agent-security/libraries",
103
+ status: "pending",
104
+ text: "Checking external libraries",
105
+ }, 500);
106
+ // ui > control message A: checkmark
107
+ void sendUserMessage({
108
+ type: "control",
109
+ group: "agent-security/libraries",
110
+ status: "validated",
111
+ text: "Checking external libraries",
112
+ }, 1000);
113
+ }
114
+ if (packageJson) {
115
+ await createDraftFiles([packageJson]);
116
+ await handleDependencies(packageJson);
117
+ }
118
+ await createDraftFiles(scopes);
119
+ await createDraftFiles(notApiArtifacts);
120
+ if (!clark.context.usedDebugging) {
121
+ // ui > control message B: spin
122
+ void sendUserMessage({
123
+ type: "control",
124
+ group: "agent-security/authz",
125
+ status: "pending",
126
+ text: "Reviewing authorization logic",
127
+ });
128
+ // ui > control message B: checkmark
129
+ void sendUserMessage({
130
+ type: "control",
131
+ group: "agent-security/authz",
132
+ status: "validated",
133
+ text: "Reviewing authorization logic",
134
+ }, 1000);
135
+ void sendUserMessage({
136
+ type: "text",
137
+ group: "agent-security",
138
+ text: "Looks good to me! Handing off to the QA agent to review the functionality.",
139
+ });
30
140
  }
31
141
  transitionTo({
32
142
  type: POST_PROCESSING_FINISHED,
33
- files: transformed,
143
+ files: files,
34
144
  });
35
145
  }
36
146
  catch (err) {
@@ -47,4 +157,88 @@ export const doPostProcessing = (clark, { applicationId, organizationId, draftIn
47
157
  }
48
158
  };
49
159
  };
160
+ // get dependency changes to be shown in the ui
161
+ export const parsePackageJsonChanges = async (draftInterface, updatedPackageJsonContent) => {
162
+ // TODO: as an optimization, we could get the datastructure diff form rather than string
163
+ const diff = await draftInterface.getDraftDiff([Paths.PackageJson]);
164
+ if (!diff) {
165
+ return [];
166
+ }
167
+ let updatedPackageJson;
168
+ try {
169
+ updatedPackageJson = JSON.parse(updatedPackageJsonContent);
170
+ }
171
+ catch {
172
+ return [];
173
+ }
174
+ const allCurrentPackages = new Set([
175
+ // we only surface packages in the dependencies object
176
+ ...Object.keys(updatedPackageJson.dependencies || {}),
177
+ ]);
178
+ const changes = [];
179
+ const lines = diff.split("\n");
180
+ const addedPackages = new Set();
181
+ const removedPackages = new Set();
182
+ const packageRegex = /^\s*"([^"]+)":\s*"[^"]*",?$/;
183
+ for (const line of lines) {
184
+ // Skip non-diff content lines
185
+ if (!line.startsWith("+") && !line.startsWith("-")) {
186
+ continue;
187
+ }
188
+ // Skip diff metadata lines (like +++ or ---)
189
+ if (line.startsWith("+++") || line.startsWith("---")) {
190
+ continue;
191
+ }
192
+ const lineContent = line.slice(1); // Remove +, -, or space prefix
193
+ const match = lineContent.match(packageRegex);
194
+ if (match) {
195
+ const packageName = match[1];
196
+ if (!packageName) {
197
+ continue;
198
+ }
199
+ if (line.startsWith("+")) {
200
+ // For additions, verify the package is actually in the final dependencies
201
+ if (allCurrentPackages.has(packageName)) {
202
+ addedPackages.add(packageName);
203
+ }
204
+ }
205
+ else if (line.startsWith("-")) {
206
+ // For removals, exclude obvious top-level package.json fields
207
+ if (!commonTopLevelPackageJsonFields.has(packageName)) {
208
+ removedPackages.add(packageName);
209
+ }
210
+ }
211
+ }
212
+ }
213
+ // Determine the type of change for each package
214
+ for (const packageName of addedPackages) {
215
+ if (removedPackages.has(packageName)) {
216
+ // Package appears in both add and remove = edit
217
+ changes.push({ type: "edit", package: packageName });
218
+ }
219
+ else {
220
+ // Package only appears in add = addition
221
+ changes.push({ type: "create", package: packageName });
222
+ }
223
+ }
224
+ for (const packageName of removedPackages) {
225
+ if (!addedPackages.has(packageName)) {
226
+ changes.push({ type: "delete", package: packageName });
227
+ }
228
+ }
229
+ return changes;
230
+ };
231
+ const commonTopLevelPackageJsonFields = new Set([
232
+ "name",
233
+ "version",
234
+ "description",
235
+ "main",
236
+ "scripts",
237
+ "keywords",
238
+ "author",
239
+ "license",
240
+ "repository",
241
+ "homepage",
242
+ "bugs",
243
+ ]);
50
244
  //# sourceMappingURL=post-processing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-processing.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/post-processing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAC;AAC1G,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,kCAAkC,EAAE,MAAM,2DAA2D,CAAC;AAC/G,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAC5G,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAU1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,EACE,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,GACQ,EAC1B,EAAE;IACF,MAAM,YAAY,GAAG,cAAc,CAAkB,KAAK,CAAC,CAAC;IAE5D,OAAO,KAAK,EAAE,EAAE,KAAK,EAAmB,EAAiB,EAAE;QACzD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE;wBACxD,IAAI,2BAA2B,CAAC;4BAC9B,WAAW,EAAE,IAAI;4BACjB,gBAAgB;yBACjB,CAAC;wBACF,IAAI,+BAA+B,CAAC;4BAClC,aAAa;4BACb,cAAc;yBACf,CAAC;wBACF,IAAI,kCAAkC,EAAE;wBACxC,IAAI,iCAAiC,EAAE;qBACxC,CAAC,CAAC;oBAEH,iBAAiB;oBACjB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC/B,MAAM,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpE,CAAC;oBAED,YAAY,CAAoB;wBAC9B,IAAI,EAAE,wBAAwB;wBAC9B,KAAK,EAAE,WAAW;qBACnB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;oBACtE,YAAY,CAAiB;wBAC3B,IAAI,EAAE,uBAAuB;wBAC7B,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"post-processing.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/post-processing.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { Clark, ClarkTransition } from "../clark-fsm.js";
2
- export declare const doRuntimeReviewing: (clark: Clark) => ({ event }: ClarkTransition) => Promise<void>;
2
+ import type { ClarkStateHandlerParams } from "../clark-fsm.js";
3
+ export declare const doRuntimeReviewing: (clark: Clark, params: ClarkStateHandlerParams) => ({ event }: ClarkTransition) => Promise<void>;
3
4
  //# sourceMappingURL=runtime-reviewing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-reviewing.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/runtime-reviewing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIV,KAAK,EACL,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,MAI/B,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CAiCxD,CAAC"}
1
+ {"version":3,"file":"runtime-reviewing.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/runtime-reviewing.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAKV,KAAK,EACL,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,EACZ,QAAQ,uBAAuB,MAMjB,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CAoGxD,CAAC"}