@superblocksteam/vite-plugin-file-sync 2.0.41-next.9 → 2.0.41

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 (288) hide show
  1. package/dist/ai-service/agent/apis-system-prompt.d.ts +1 -1
  2. package/dist/ai-service/agent/apis-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/apis-system-prompt.js +50 -21
  4. package/dist/ai-service/agent/apis-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/apis.d.ts +10 -0
  6. package/dist/ai-service/agent/apis.d.ts.map +1 -1
  7. package/dist/ai-service/agent/apis.js +26 -4
  8. package/dist/ai-service/agent/apis.js.map +1 -1
  9. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -0
  10. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -0
  11. package/dist/ai-service/{state-machine/handlers/simple-prompt-builder.js → agent/prompts/build-base-system-prompt.js} +55 -15
  12. package/dist/ai-service/{state-machine/handlers/simple-prompt-builder.js.map → agent/prompts/build-base-system-prompt.js.map} +1 -1
  13. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tool-message-utils.js +5 -7
  15. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -1
  17. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools/build-debug.js +24 -23
  19. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  20. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/build-edit-file.js +9 -14
  22. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  23. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  24. package/dist/ai-service/agent/tools/build-finalize.js +23 -2
  25. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  26. package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools/build-list-files.js +9 -1
  28. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  29. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -11
  31. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  32. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
  33. package/dist/ai-service/agent/tools/build-read-files.js +16 -0
  34. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  35. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +27 -0
  36. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -0
  37. package/dist/ai-service/agent/tools/build-set-api-triggers.js +265 -0
  38. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -0
  39. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/build-write-file.js +6 -11
  41. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  42. package/dist/ai-service/agent/tools/debug-cache.d.ts +95 -13
  43. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools/debug-cache.js +215 -38
  45. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  46. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  47. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools/index.js +1 -0
  49. package/dist/ai-service/agent/tools/index.js.map +1 -1
  50. package/dist/ai-service/agent/tools/shared-helpers.d.ts +5 -1
  51. package/dist/ai-service/agent/tools/shared-helpers.d.ts.map +1 -1
  52. package/dist/ai-service/agent/tools/shared-helpers.js +26 -3
  53. package/dist/ai-service/agent/tools/shared-helpers.js.map +1 -1
  54. package/dist/ai-service/agent/tools/study-current-app-state.d.ts +2 -0
  55. package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
  56. package/dist/ai-service/agent/tools.d.ts +24 -1
  57. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  58. package/dist/ai-service/agent/tools.js +3 -1
  59. package/dist/ai-service/agent/tools.js.map +1 -1
  60. package/dist/ai-service/agent/utils.d.ts +2 -0
  61. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  62. package/dist/ai-service/agent/utils.js +173 -159
  63. package/dist/ai-service/agent/utils.js.map +1 -1
  64. package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
  65. package/dist/ai-service/app-interface/file-system-interface.js +117 -68
  66. package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
  67. package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
  68. package/dist/ai-service/app-interface/linter.js +103 -54
  69. package/dist/ai-service/app-interface/linter.js.map +1 -1
  70. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  71. package/dist/ai-service/app-interface/shell.js +227 -160
  72. package/dist/ai-service/app-interface/shell.js.map +1 -1
  73. package/dist/ai-service/artifacts/bolt.d.ts.map +1 -1
  74. package/dist/ai-service/artifacts/bolt.js +88 -30
  75. package/dist/ai-service/artifacts/bolt.js.map +1 -1
  76. package/dist/ai-service/chat/chat-session-store.d.ts +12 -2
  77. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  78. package/dist/ai-service/chat/chat-session-store.js +45 -1
  79. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  80. package/dist/ai-service/chat/extract-history.d.ts +3 -1
  81. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  82. package/dist/ai-service/chat/extract-history.js +6 -1
  83. package/dist/ai-service/chat/extract-history.js.map +1 -1
  84. package/dist/ai-service/context/app-context.d.ts +5 -0
  85. package/dist/ai-service/context/app-context.d.ts.map +1 -1
  86. package/dist/ai-service/context/app-context.js +318 -241
  87. package/dist/ai-service/context/app-context.js.map +1 -1
  88. package/dist/ai-service/evals/content-matchers/index.d.ts.map +1 -1
  89. package/dist/ai-service/evals/content-matchers/index.js +1 -0
  90. package/dist/ai-service/evals/content-matchers/index.js.map +1 -1
  91. package/dist/ai-service/index.d.ts +3 -0
  92. package/dist/ai-service/index.d.ts.map +1 -1
  93. package/dist/ai-service/index.js +105 -71
  94. package/dist/ai-service/index.js.map +1 -1
  95. package/dist/ai-service/integration-validator.d.ts +1 -1
  96. package/dist/ai-service/integration-validator.d.ts.map +1 -1
  97. package/dist/ai-service/integration-validator.js +6 -3
  98. package/dist/ai-service/integration-validator.js.map +1 -1
  99. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  100. package/dist/ai-service/integrations/metadata/database.js +1 -1
  101. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  102. package/dist/ai-service/integrations/metadata/graphql-based.js +1 -1
  103. package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
  104. package/dist/ai-service/integrations/metadata/open-api.js +1 -1
  105. package/dist/ai-service/integrations/metadata/open-api.js.map +1 -1
  106. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  107. package/dist/ai-service/integrations/store.js +135 -74
  108. package/dist/ai-service/integrations/store.js.map +1 -1
  109. package/dist/ai-service/llmobs/helpers.d.ts +20 -0
  110. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -0
  111. package/dist/ai-service/llmobs/helpers.js +130 -0
  112. package/dist/ai-service/llmobs/helpers.js.map +1 -0
  113. package/dist/ai-service/llmobs/index.d.ts +8 -0
  114. package/dist/ai-service/llmobs/index.d.ts.map +1 -0
  115. package/dist/ai-service/llmobs/index.js +7 -0
  116. package/dist/ai-service/llmobs/index.js.map +1 -0
  117. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +60 -0
  118. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -0
  119. package/dist/ai-service/llmobs/middleware/stream-text.js +601 -0
  120. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -0
  121. package/dist/ai-service/llmobs/tracer.d.ts +95 -0
  122. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -0
  123. package/dist/ai-service/llmobs/tracer.js +341 -0
  124. package/dist/ai-service/llmobs/tracer.js.map +1 -0
  125. package/dist/ai-service/llmobs/types.d.ts +47 -0
  126. package/dist/ai-service/llmobs/types.d.ts.map +1 -0
  127. package/dist/ai-service/llmobs/types.js +2 -0
  128. package/dist/ai-service/llmobs/types.js.map +1 -0
  129. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts +3 -1
  130. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts.map +1 -1
  131. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js +5 -3
  132. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js.map +1 -1
  133. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts +3 -1
  134. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts.map +1 -1
  135. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js +3 -1
  136. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js.map +1 -1
  137. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  138. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  139. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  140. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  141. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  142. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  143. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  144. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  145. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  146. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  147. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  148. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  149. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  150. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  151. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  152. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  153. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  154. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  155. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  156. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  157. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  158. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  159. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  160. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  161. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  162. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  163. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  164. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  165. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  166. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  167. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  168. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  169. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  170. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  171. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  172. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts +3 -1
  173. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts.map +1 -1
  174. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js +4 -2
  175. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js.map +1 -1
  176. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts +3 -1
  177. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts.map +1 -1
  178. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js +3 -1
  179. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js.map +1 -1
  180. package/dist/ai-service/state-machine/clark-fsm.d.ts +16 -4
  181. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  182. package/dist/ai-service/state-machine/clark-fsm.js +47 -0
  183. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  184. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  185. package/dist/ai-service/state-machine/handlers/agent-planning.js +8 -10
  186. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  187. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  188. package/dist/ai-service/state-machine/handlers/awaiting-user.js +5 -4
  189. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  190. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  191. package/dist/ai-service/state-machine/handlers/idle.js +2 -1
  192. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  193. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  194. package/dist/ai-service/state-machine/handlers/llm-generating.js +242 -262
  195. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  196. package/dist/ai-service/state-machine/handlers/post-processing.js +2 -0
  197. package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
  198. package/dist/ai-service/state-machine/traced-fsm.d.ts +41 -70
  199. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  200. package/dist/ai-service/state-machine/traced-fsm.js +66 -173
  201. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  202. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  203. package/dist/ai-service/template-renderer.js +102 -56
  204. package/dist/ai-service/template-renderer.js.map +1 -1
  205. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts +1 -0
  206. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts.map +1 -1
  207. package/dist/ai-service/test-utils/dd-trace-helpers.js.map +1 -1
  208. package/dist/ai-service/test-utils/span-interceptor.d.ts +74 -0
  209. package/dist/ai-service/test-utils/span-interceptor.d.ts.map +1 -0
  210. package/dist/ai-service/test-utils/span-interceptor.js +272 -0
  211. package/dist/ai-service/test-utils/span-interceptor.js.map +1 -0
  212. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +2 -1
  213. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  214. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +120 -63
  215. package/dist/ai-service/transform/api-builder/to-sdk-transformer.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 +97 -47
  218. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
  219. package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts.map +1 -1
  220. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js +88 -37
  221. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js.map +1 -1
  222. package/dist/ai-service/transform/shared.d.ts +4 -2
  223. package/dist/ai-service/transform/shared.d.ts.map +1 -1
  224. package/dist/ai-service/transform/shared.js +6 -3
  225. package/dist/ai-service/transform/shared.js.map +1 -1
  226. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts.map +1 -1
  227. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js +77 -26
  228. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js.map +1 -1
  229. package/dist/ai-service/types.d.ts +2 -0
  230. package/dist/ai-service/types.d.ts.map +1 -1
  231. package/dist/ai-service/types.js.map +1 -1
  232. package/dist/ai-service/util/safe-stringify.d.ts +2 -0
  233. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -0
  234. package/dist/ai-service/util/safe-stringify.js +68 -0
  235. package/dist/ai-service/util/safe-stringify.js.map +1 -0
  236. package/dist/binding-extraction/extract-identifiers.d.ts +5 -2
  237. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  238. package/dist/binding-extraction/extract-identifiers.js +7 -4
  239. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  240. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  241. package/dist/file-sync-vite-plugin.js +92 -1
  242. package/dist/file-sync-vite-plugin.js.map +1 -1
  243. package/dist/file-system-helpers.d.ts +3 -0
  244. package/dist/file-system-helpers.d.ts.map +1 -1
  245. package/dist/file-system-helpers.js +12 -0
  246. package/dist/file-system-helpers.js.map +1 -1
  247. package/dist/file-system-manager.d.ts.map +1 -1
  248. package/dist/file-system-manager.js +53 -1
  249. package/dist/file-system-manager.js.map +1 -1
  250. package/dist/parsing/entity/to-value-entity.d.ts.map +1 -1
  251. package/dist/parsing/entity/to-value-entity.js +1 -0
  252. package/dist/parsing/entity/to-value-entity.js.map +1 -1
  253. package/dist/parsing/jsx.d.ts +4 -0
  254. package/dist/parsing/jsx.d.ts.map +1 -1
  255. package/dist/parsing/jsx.js +33 -0
  256. package/dist/parsing/jsx.js.map +1 -1
  257. package/dist/parsing/page.d.ts.map +1 -1
  258. package/dist/parsing/page.js +48 -3
  259. package/dist/parsing/page.js.map +1 -1
  260. package/dist/parsing/properties.d.ts.map +1 -1
  261. package/dist/parsing/properties.js +10 -0
  262. package/dist/parsing/properties.js.map +1 -1
  263. package/dist/socket-manager.d.ts.map +1 -1
  264. package/dist/socket-manager.js +3 -1
  265. package/dist/socket-manager.js.map +1 -1
  266. package/dist/source-tracker.d.ts +4 -0
  267. package/dist/source-tracker.d.ts.map +1 -1
  268. package/dist/source-tracker.js +132 -5
  269. package/dist/source-tracker.js.map +1 -1
  270. package/dist/sync-service/list-dir.d.ts +1 -1
  271. package/dist/sync-service/list-dir.d.ts.map +1 -1
  272. package/dist/sync-service/list-dir.js +3 -9
  273. package/dist/sync-service/list-dir.js.map +1 -1
  274. package/dist/util/logger.d.ts +9 -0
  275. package/dist/util/logger.d.ts.map +1 -1
  276. package/dist/util/logger.js +64 -7
  277. package/dist/util/logger.js.map +1 -1
  278. package/package.json +9 -7
  279. package/dist/ai-service/llmobs.d.ts +0 -154
  280. package/dist/ai-service/llmobs.d.ts.map +0 -1
  281. package/dist/ai-service/llmobs.js +0 -216
  282. package/dist/ai-service/llmobs.js.map +0 -1
  283. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts +0 -2
  284. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts.map +0 -1
  285. package/dist/ai-service/util/ddog-llmobs.d.ts +0 -20
  286. package/dist/ai-service/util/ddog-llmobs.d.ts.map +0 -1
  287. package/dist/ai-service/util/ddog-llmobs.js +0 -197
  288. package/dist/ai-service/util/ddog-llmobs.js.map +0 -1
@@ -6,8 +6,8 @@ import z from "zod";
6
6
  import { ROUTES_FILE } from "../../../file-system-helpers.js";
7
7
  import { fileReadTracker } from "../../state-machine/helpers/file-read-tracker.js";
8
8
  import { replace } from "./build-edit-file.js";
9
- import { debugCache, createDebugFunction } from "./debug-cache.js";
10
- import { isGeneratedApiFilePath } from "./shared-helpers.js";
9
+ import { debugCache, createTypeScriptCheckFunction } from "./debug-cache.js";
10
+ import { isApiFilePath } from "./shared-helpers.js";
11
11
  function trimDiff(diff) {
12
12
  const lines = diff.split("\n");
13
13
  const contentLines = lines.filter((line) => (line.startsWith("+") || line.startsWith("-") || line.startsWith(" ")) &&
@@ -116,7 +116,7 @@ export default function createBuildMultiEditFileTool(clark, services) {
116
116
  throw new Error(`Cannot edit ${filePath} without reading it first. Please read the file before attempting to edit it.`);
117
117
  }
118
118
  // Validate file restrictions
119
- if (isGeneratedApiFilePath(filePath)) {
119
+ if (isApiFilePath(filePath)) {
120
120
  throw new Error("Directly editing API files is not allowed. Use the API sub-agent to create or modify APIs.");
121
121
  }
122
122
  const isScopeFile = filePath.endsWith("scope.ts");
@@ -168,16 +168,11 @@ export default function createBuildMultiEditFileTool(clark, services) {
168
168
  }
169
169
  // Generate diff between original and final content
170
170
  const diff = trimDiff(createTwoFilesPatch(filePath, filePath, contentOriginal, contentCurrent));
171
- // Clear runtime and build system errors since code will change
172
- clark.updateContext({
173
- runtimeErrors: [],
174
- buildSystemErrors: [],
175
- });
176
171
  // Write the updated content
177
172
  await services.draftInterface.createDraftFile(filePath, contentCurrent);
178
- // Trigger eager debug check after multi-edit
179
- const debugFunction = createDebugFunction(clark, services);
180
- debugCache.startEagerCheck(debugFunction);
173
+ // Trigger eager TypeScript check after multi-edit (debounced to avoid excessive checks)
174
+ const typeCheckFunction = createTypeScriptCheckFunction(services.appShell, clark.context.abortController?.signal);
175
+ debugCache.startEagerTypeScriptCheck(typeCheckFunction);
181
176
  markRead(filePath);
182
177
  const result = {
183
178
  filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"build-multi-edit-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-multi-edit-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-multi-edit-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-multi-edit-file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-read-files.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,QAAA,MAAM,mBAAmB,EAAE,mBAe1B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB;;2BAqClC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"build-read-files.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-files.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,QAAA,MAAM,mBAAmB,EAAE,mBAe1B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB;;2BAyDlC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -3,6 +3,8 @@ import path from "node:path";
3
3
  import { tool } from "ai";
4
4
  import z from "zod";
5
5
  import { fileReadTracker } from "../../state-machine/helpers/file-read-tracker.js";
6
+ import { readApiSource } from "../apis.js";
7
+ import { parseGeneratedApiPath } from "./shared-helpers.js";
6
8
  const multiFileToolConfig = {
7
9
  extractDisplayName: (parameters) => {
8
10
  const params = parameters;
@@ -32,6 +34,20 @@ export default function createBuildReadFilesTool(clark, services) {
32
34
  execute: async ({ filePaths }) => {
33
35
  return await services.fsOperationQueue.enqueue(async () => {
34
36
  const files = await Promise.all(filePaths.map(async (filePath) => {
37
+ // special case: return SDK TypeScript for API paths
38
+ const generatedApiPathParams = parseGeneratedApiPath(filePath);
39
+ if (generatedApiPathParams) {
40
+ const { pageName, apiName } = generatedApiPathParams;
41
+ const sdkArtifact = await readApiSource(pageName, apiName, undefined, services);
42
+ if (sdkArtifact) {
43
+ return [filePath, sdkArtifact.content];
44
+ }
45
+ return [
46
+ filePath,
47
+ `// API not found. Use the API tool to create "${apiName}" on page "${pageName}".`,
48
+ ];
49
+ }
50
+ // otherwise, read the file
35
51
  const absoluteFilePath = path.join(services.appShell.appRootDirPath, filePath);
36
52
  const content = await fs.readFile(absoluteFilePath, "utf8");
37
53
  return [filePath, content];
@@ -1 +1 @@
1
- {"version":3,"file":"build-read-files.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAKnF,MAAM,mBAAmB,GAAwB;IAC/C,kBAAkB,EAAE,CAAC,UAAmB,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,UAAqC,CAAC;QACrD,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,eAAe,EAAE,CAAC,UAAmB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,UAAqC,CAAC;QACrD,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxE,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAY,EACZ,QAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;;;KAGZ;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SACtE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YAC/B,OAAO,MAAM,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAChC,QAAQ,CACT,CAAC;oBACF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;oBAC5D,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAqB,CAAC;gBACjD,CAAC,CAAC,CACH,CAAC;gBAEF,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAE5B,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;oBAC3B,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;oBACxB,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAA4B,CAC7B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"build-read-files.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type ValidStepDef } from "@superblocksteam/library-shared/types";
2
+ import type { OperationQueue } from "../../../util/operation-queue.js";
3
+ import type { Clark, ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
4
+ type ScopeDefinitionForTriggers = {
5
+ name: string;
6
+ scopeNameToEntityId: Record<string, string>;
7
+ };
8
+ type NormalizeContext = {
9
+ scopeDefinition: ScopeDefinitionForTriggers;
10
+ };
11
+ export default function createBuildSetApiTriggersTool(_clark: Clark, services: ClarkStateHandlerParams, scopeUpdateQueue: OperationQueue): import("ai").Tool<{
12
+ scopeId: string;
13
+ apiName: string;
14
+ onSuccess?: ValidStepDef[] | undefined;
15
+ onError?: ValidStepDef[] | undefined;
16
+ }, {
17
+ scopeId: string;
18
+ apiName: string;
19
+ updated: {
20
+ onSuccessSteps: number | undefined;
21
+ onErrorSteps: number | undefined;
22
+ };
23
+ message: string;
24
+ }>;
25
+ export declare function normalizeTriggerSteps(steps: ValidStepDef[], context: NormalizeContext): ValidStepDef[];
26
+ export {};
27
+ //# sourceMappingURL=build-set-api-triggers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-set-api-triggers.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-set-api-triggers.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,uCAAuC,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAE1C,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,eAAe,EAAE,0BAA0B,CAAC;CAC7C,CAAC;AAmBF,MAAM,CAAC,OAAO,UAAU,6BAA6B,CACnD,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,uBAAuB,EACjC,gBAAgB,EAAE,cAAc;;;;;;;;;;;;;GA8FjC;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,gBAAgB,GACxB,YAAY,EAAE,CAEhB"}
@@ -0,0 +1,265 @@
1
+ import { Property } from "@superblocksteam/library-shared";
2
+ import { isValidMultiStepDef, TriggerStepType, } from "@superblocksteam/library-shared/types";
3
+ import { tool } from "ai";
4
+ import z from "zod";
5
+ import { ensureScopeFileDraft } from "../utils.js";
6
+ const triggerStepsSchema = z
7
+ .array(z.unknown(), {
8
+ description: "Array of trigger steps (ValidStepDef[]). Use the same structure provided by the Superblocks editor for EventFlow steps.",
9
+ })
10
+ .nonempty({ message: "Provide at least one trigger step." })
11
+ .superRefine((steps, ctx) => {
12
+ if (!isValidMultiStepDef(steps)) {
13
+ ctx.addIssue({
14
+ code: z.ZodIssueCode.custom,
15
+ message: "Trigger steps must be a valid EventFlow definition (each item needs a supported trigger type).",
16
+ });
17
+ }
18
+ })
19
+ .transform((steps) => steps);
20
+ export default function createBuildSetApiTriggersTool(_clark, services, scopeUpdateQueue) {
21
+ return tool({
22
+ description: `
23
+ Set the onSuccess and onError EventFlow handlers for an API entity in scope.ts.
24
+ Provide one or both trigger step arrays to overwrite the existing handlers.
25
+
26
+ Each step should follow the EventFlow JSON format used by the editor. Common patterns:
27
+
28
+ - Set a state variable:
29
+ { "type": "setStateVar", "stateVar": "ordersDataVar", "value": { "computed": "() => api.response || []" } }
30
+
31
+ - Run JavaScript:
32
+ { "type": "runJS", "code": "({ api }) => { toast.success('Loaded'); }" }
33
+
34
+ - Run another API:
35
+ { "type": "runApis", "apis": ["refreshSummaryApi"] }
36
+
37
+ Handlers are overwritten entirely, so include all desired steps in each array.
38
+ `,
39
+ inputSchema: z
40
+ .object({
41
+ scopeId: z
42
+ .string()
43
+ .describe("ID of the scope containing the API entity"),
44
+ apiName: z.string().describe("Name of the API entity"),
45
+ onSuccess: triggerStepsSchema.optional(),
46
+ onError: triggerStepsSchema.optional(),
47
+ })
48
+ .refine((value) => value.onSuccess || value.onError, {
49
+ message: "Provide at least one of onSuccess or onError steps",
50
+ path: ["onSuccess"],
51
+ }),
52
+ execute: async ({ scopeId, apiName, onSuccess, onError }) => {
53
+ return await scopeUpdateQueue.enqueue(async () => {
54
+ const sourceTracker = services.fileSystemInterface.getSourceTracker();
55
+ const { filePath, scopeDefinition } = sourceTracker.getScopeDefinitionAndFilePathByNameOrId({
56
+ identifier: scopeId,
57
+ type: "id",
58
+ });
59
+ if (!scopeDefinition || !filePath) {
60
+ throw new Error(`Scope with ID "${scopeId}" not found`);
61
+ }
62
+ const entityId = scopeDefinition.scopeNameToEntityId[apiName];
63
+ if (!entityId) {
64
+ throw new Error(`API entity "${apiName}" not found in scope ${scopeDefinition.name}`);
65
+ }
66
+ await ensureScopeFileDraft({ scopeFilePath: filePath }, services);
67
+ const updates = {};
68
+ const normalizeContext = {
69
+ scopeDefinition: {
70
+ name: scopeDefinition.name,
71
+ scopeNameToEntityId: scopeDefinition.scopeNameToEntityId,
72
+ },
73
+ };
74
+ if (onSuccess) {
75
+ updates.onSuccess = Property.Event(normalizeTriggerSteps(onSuccess, normalizeContext));
76
+ }
77
+ if (onError) {
78
+ updates.onError = Property.Event(normalizeTriggerSteps(onError, normalizeContext));
79
+ }
80
+ await services.fileSystemInterface
81
+ .getFileSystemManager()
82
+ .handleUpdateEntity({
83
+ entityId,
84
+ updates,
85
+ });
86
+ return {
87
+ scopeId,
88
+ apiName,
89
+ updated: {
90
+ onSuccessSteps: onSuccess?.length,
91
+ onErrorSteps: onError?.length,
92
+ },
93
+ message: `Updated API "${apiName}" trigger configuration in scope.ts`,
94
+ };
95
+ });
96
+ },
97
+ });
98
+ }
99
+ export function normalizeTriggerSteps(steps, context) {
100
+ return steps.map((step) => normalizeTriggerStep(step, context));
101
+ }
102
+ function normalizeTriggerStep(step, context) {
103
+ if (!step || typeof step !== "object") {
104
+ return step;
105
+ }
106
+ const normalizedType = normalizeTriggerType(step.type);
107
+ const normalizedStep = {
108
+ ...step,
109
+ type: normalizedType,
110
+ };
111
+ switch (normalizedType) {
112
+ case TriggerStepType.SET_STATE_VAR:
113
+ return normalizeSetStateVarStep(normalizedStep, context);
114
+ case TriggerStepType.RUN_JS:
115
+ return normalizeRunJsStep(normalizedStep, context);
116
+ case TriggerStepType.RUN_APIS:
117
+ return normalizeRunApisStep(normalizedStep, context);
118
+ default:
119
+ normalizeNestedFlowsInStep(normalizedStep, context);
120
+ return normalizedStep;
121
+ }
122
+ }
123
+ function normalizeTriggerType(type) {
124
+ if (type === TriggerStepType.RUN_JS ||
125
+ type === TriggerStepType.SET_STATE_VAR ||
126
+ type === TriggerStepType.RUN_APIS) {
127
+ return type;
128
+ }
129
+ if (typeof type === "string") {
130
+ const lower = type.toLowerCase();
131
+ if (lower === "runjs") {
132
+ return TriggerStepType.RUN_JS;
133
+ }
134
+ if (lower === "setstatevar") {
135
+ return TriggerStepType.SET_STATE_VAR;
136
+ }
137
+ if (lower === "executeapi" || lower === "runapis") {
138
+ return TriggerStepType.RUN_APIS;
139
+ }
140
+ }
141
+ return type;
142
+ }
143
+ function normalizeSetStateVarStep(step, context) {
144
+ normalizeNestedFlowsInStep(step, context);
145
+ const originalValue = step.value;
146
+ let stateVarName;
147
+ if (typeof step.stateVar === "string") {
148
+ stateVarName = step.stateVar;
149
+ }
150
+ else if (typeof step.state?.name === "string") {
151
+ stateVarName = step.state.name;
152
+ }
153
+ else if (originalValue &&
154
+ typeof originalValue === "object" &&
155
+ typeof originalValue.stateVar === "string") {
156
+ stateVarName = originalValue.stateVar;
157
+ }
158
+ if (stateVarName) {
159
+ const entityId = context.scopeDefinition.scopeNameToEntityId[stateVarName];
160
+ if (!entityId) {
161
+ throw new Error(`State variable "${stateVarName}" not found in scope ${context.scopeDefinition.name}`);
162
+ }
163
+ step.state = {
164
+ id: entityId,
165
+ name: stateVarName,
166
+ ...(step.state?.scope ? { scope: step.state.scope } : {}),
167
+ };
168
+ }
169
+ if (originalValue &&
170
+ typeof originalValue === "object" &&
171
+ !Array.isArray(originalValue)) {
172
+ const { computed, value, stateVar, ...rest } = originalValue;
173
+ if (typeof computed === "string") {
174
+ step.value = Property.Computed(normalizeComputedString(computed));
175
+ }
176
+ else if (value !== undefined) {
177
+ step.value = value;
178
+ }
179
+ else {
180
+ const remaining = { ...rest };
181
+ if (Object.keys(remaining).length > 0) {
182
+ step.value = remaining;
183
+ }
184
+ else {
185
+ delete step.value;
186
+ }
187
+ }
188
+ }
189
+ delete step.stateVar;
190
+ return step;
191
+ }
192
+ function normalizeRunJsStep(step, context) {
193
+ const handlerCandidates = [step.code, step.handler, step.value?.code];
194
+ const handler = handlerCandidates.find((candidate) => typeof candidate === "string" && candidate.trim().length > 0);
195
+ if (handler) {
196
+ step.code = ensureRunJsFunction(handler);
197
+ }
198
+ delete step.handler;
199
+ delete step.params;
200
+ if (step.value && typeof step.value === "object") {
201
+ const { handler: _handler, code: _code, ...rest } = step.value;
202
+ if (Object.keys(rest).length === 0) {
203
+ delete step.value;
204
+ }
205
+ else {
206
+ step.value = rest;
207
+ }
208
+ }
209
+ normalizeNestedFlowsInStep(step, context);
210
+ return step;
211
+ }
212
+ function normalizeRunApisStep(step, context) {
213
+ if (Array.isArray(step.apis)) {
214
+ step.apis = step.apis.map((api) => {
215
+ if (typeof api === "string") {
216
+ return { name: api };
217
+ }
218
+ if (api && typeof api === "object" && typeof api.name === "string") {
219
+ return api;
220
+ }
221
+ return api;
222
+ });
223
+ }
224
+ normalizeNestedFlowsInStep(step, context);
225
+ return step;
226
+ }
227
+ function ensureRunJsFunction(raw) {
228
+ const trimmed = raw.trim();
229
+ const looksLikeFunction = trimmed.startsWith("(") ||
230
+ trimmed.startsWith("function") ||
231
+ trimmed.startsWith("async ") ||
232
+ /^[_$a-zA-Z][_$a-zA-Z0-9]*\s*=>/.test(trimmed);
233
+ if (looksLikeFunction) {
234
+ return trimmed;
235
+ }
236
+ return `() => {\n${raw}\n}`;
237
+ }
238
+ function normalizeNestedFlowsInStep(step, context) {
239
+ const nestedFlowKeys = ["onSuccess", "onError", "onCancel"];
240
+ const containers = [step, step.value].filter((candidate) => candidate && typeof candidate === "object" && !Array.isArray(candidate));
241
+ for (const container of containers) {
242
+ for (const key of nestedFlowKeys) {
243
+ const nested = container[key];
244
+ if (Array.isArray(nested)) {
245
+ container[key] = normalizeTriggerSteps(nested, context);
246
+ }
247
+ }
248
+ }
249
+ }
250
+ function normalizeComputedString(raw) {
251
+ const trimmed = raw.trim();
252
+ const arrowMatch = trimmed.match(/^\s*\([^)]*\)\s*=>\s*([\s\S]+)$/);
253
+ if (!arrowMatch) {
254
+ return trimmed;
255
+ }
256
+ const body = arrowMatch[1]?.trim();
257
+ if (!body) {
258
+ return "";
259
+ }
260
+ if (body.startsWith("{") && body.endsWith("}")) {
261
+ return body;
262
+ }
263
+ return body.replace(/;\s*$/, "");
264
+ }
265
+ //# sourceMappingURL=build-set-api-triggers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-set-api-triggers.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-set-api-triggers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-write-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB;;;;;;;GA4ElC"}
1
+ {"version":3,"file":"build-write-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB;;;;;;;GAyElC"}
@@ -2,8 +2,8 @@ import { tool } from "ai";
2
2
  import z from "zod";
3
3
  import { ROUTES_FILE } from "../../../file-system-helpers.js";
4
4
  import { fileReadTracker } from "../../state-machine/helpers/file-read-tracker.js";
5
- import { debugCache, createDebugFunction } from "./debug-cache.js";
6
- import { isGeneratedApiFilePath } from "./shared-helpers.js";
5
+ import { debugCache, createTypeScriptCheckFunction } from "./debug-cache.js";
6
+ import { isApiFilePath } from "./shared-helpers.js";
7
7
  export default function createBuildWriteFileTool(clark, services) {
8
8
  const { isReadRequired } = fileReadTracker(clark);
9
9
  return tool({
@@ -36,7 +36,7 @@ export default function createBuildWriteFileTool(clark, services) {
36
36
  if (isReadRequired(filePath)) {
37
37
  throw new Error(`Cannot write to ${filePath} without reading it first. Please read the file before attempting to write to it.`);
38
38
  }
39
- if (isGeneratedApiFilePath(filePath)) {
39
+ if (isApiFilePath(filePath)) {
40
40
  throw new Error("Directly writing to API files is not allowed. Use the API sub-agent to create or modify APIs.");
41
41
  }
42
42
  const isScopeFile = filePath.endsWith("scope.ts");
@@ -47,15 +47,10 @@ export default function createBuildWriteFileTool(clark, services) {
47
47
  if (isRoutesFile) {
48
48
  throw new Error("Directly writing to routes files is not allowed. If you must make changes to the routes, use the appropriate tool. The routes file is automatically updated when you create pages.");
49
49
  }
50
- // Clear runtime and build system errors since code will change
51
- clark.updateContext({
52
- runtimeErrors: [],
53
- buildSystemErrors: [],
54
- });
55
50
  await services.draftInterface.createDraftFile(filePath, content);
56
- // Trigger eager debug check after file write
57
- const debugFunction = createDebugFunction(clark, services);
58
- debugCache.startEagerCheck(debugFunction);
51
+ // Trigger eager TypeScript check after file write (debounced to avoid excessive checks)
52
+ const typeCheckFunction = createTypeScriptCheckFunction(services.appShell, clark.context.abortController?.signal);
53
+ debugCache.startEagerTypeScriptCheck(typeCheckFunction);
59
54
  return {
60
55
  filePath,
61
56
  contentLength: content.length,
@@ -1 +1 @@
1
- {"version":3,"file":"build-write-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAY,EACZ,QAAiC;IAEjC,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;KAoBZ;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,mFAAmF,CAC/G,CAAC;YACJ,CAAC;YAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,oLAAoL,CACrL,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,KAAK,CAAC,aAAa,CAAC;gBAClB,aAAa,EAAE,EAAE;gBACjB,iBAAiB,EAAE,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEjE,6CAA6C;YAC7C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC3D,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAE1C,OAAO;gBACL,QAAQ;gBACR,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,sBAAsB,OAAO,CAAC,MAAM,kBAAkB,QAAQ,EAAE;aAC1E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"build-write-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAY,EACZ,QAAiC;IAEjC,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;KAoBZ;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,mFAAmF,CAC/G,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,oLAAoL,CACrL,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEjE,wFAAwF;YACxF,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,QAAQ,CAAC,QAAQ,EACjB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CACtC,CAAC;YACF,UAAU,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YAExD,OAAO;gBACL,QAAQ;gBACR,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,sBAAsB,OAAO,CAAC,MAAM,kBAAkB,QAAQ,EAAE;aAC1E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,35 +1,117 @@
1
1
  import type { AppShell } from "../../app-interface/shell.js";
2
2
  import type { Clark } from "../../state-machine/clark-fsm.js";
3
3
  /**
4
- * Debug cache service for eagerly running debug checks and caching results
4
+ * Results from different types of debug checks
5
5
  */
6
- export interface DebugResult {
6
+ export interface TypeScriptCheckResult {
7
+ typeErrors: string;
8
+ status: "errors_found" | "success";
9
+ timestamp: number;
10
+ }
11
+ export interface ContextErrorsResult {
12
+ buildSystemErrors: Record<string, unknown>[];
13
+ runtimeErrors: Record<string, unknown>[];
14
+ status: "errors_found" | "success";
15
+ timestamp: number;
16
+ }
17
+ export interface CombinedDebugResult {
7
18
  status: "errors_found" | "success";
8
19
  message: string;
9
20
  typeErrors: string;
10
- buildSystemErrors: string[];
21
+ buildSystemErrors: Record<string, unknown>[];
11
22
  runtimeErrors: Record<string, unknown>[];
12
23
  timestamp: number;
13
24
  }
14
- export declare class DebugCache {
25
+ /**
26
+ * Cache for expensive TypeScript type checking
27
+ * - Longer cache duration since type checking is expensive
28
+ * - Intelligent invalidation based on file changes
29
+ * - Debouncing to prevent multiple checks during rapid editing
30
+ */
31
+ export declare class TypeScriptCache {
15
32
  private pendingCheck;
16
33
  private cachedResult;
17
34
  private abortController;
35
+ private debounceTimer;
36
+ private readonly CACHE_TTL;
37
+ private readonly DEBOUNCE_DELAY;
18
38
  /**
19
- * Start an eager debug check, canceling any existing one
39
+ * Start a debounced TypeScript check
20
40
  */
21
- startEagerCheck(debugFunction: () => Promise<DebugResult>): void;
41
+ startEagerCheck(typeCheckFunction: () => Promise<TypeScriptCheckResult>): void;
22
42
  /**
23
- * Get cached result if available, otherwise wait for pending check
43
+ * Start an immediate TypeScript check (used internally and for testing)
24
44
  */
25
- getResult(): Promise<DebugResult>;
26
- private runDebugCheck;
45
+ startImmediateCheck(typeCheckFunction: () => Promise<TypeScriptCheckResult>): void;
46
+ /**
47
+ * Get cached TypeScript result if available, otherwise wait for pending check
48
+ */
49
+ getResult(): Promise<TypeScriptCheckResult>;
50
+ /**
51
+ * Check if we have a fresh cached result
52
+ */
53
+ hasFreshResult(): boolean;
54
+ /**
55
+ * Invalidate the cache (e.g., when significant code changes occur)
56
+ */
57
+ invalidate(): void;
58
+ private runTypeCheck;
59
+ }
60
+ /**
61
+ * Cache for context errors (build system and runtime errors)
62
+ * - Short cache duration since these are cheap to read from context
63
+ * - Updated whenever errors are added/removed from context
64
+ */
65
+ export declare class ContextErrorsCache {
66
+ private cachedResult;
67
+ private readonly CACHE_TTL;
68
+ /**
69
+ * Get context errors, using cache if fresh, but always recalculate error ages
70
+ */
71
+ getResult(contextErrorsFunction: () => ContextErrorsResult): ContextErrorsResult;
72
+ /**
73
+ * Add fresh age calculations to build system errors
74
+ */
75
+ private addFreshAges;
76
+ /**
77
+ * Invalidate the cache when context errors change
78
+ */
79
+ invalidate(): void;
80
+ }
81
+ /**
82
+ * Combined debug cache that manages both TypeScript and context error caches
83
+ */
84
+ export declare class DebugCache {
85
+ private typeScriptCache;
86
+ private contextErrorsCache;
87
+ /**
88
+ * Start an eager TypeScript check (debounced)
89
+ */
90
+ startEagerTypeScriptCheck(typeCheckFunction: () => Promise<TypeScriptCheckResult>): void;
91
+ /**
92
+ * Invalidate context errors cache when errors are added/removed
93
+ */
94
+ invalidateContextErrors(): void;
95
+ /**
96
+ * Invalidate TypeScript cache when significant code changes occur
97
+ */
98
+ invalidateTypeScript(): void;
99
+ /**
100
+ * Get combined debug result
101
+ */
102
+ getCombinedResult(typeCheckFunction: () => Promise<TypeScriptCheckResult>, contextErrorsFunction: () => ContextErrorsResult): Promise<CombinedDebugResult>;
103
+ /**
104
+ * Check if we have fresh TypeScript results (useful for optimization)
105
+ */
106
+ hasFreshTypeScriptResult(): boolean;
27
107
  }
28
108
  export declare const debugCache: DebugCache;
29
109
  /**
30
- * Helper function to create the debug function for a given Clark instance and services
110
+ * Create TypeScript check function
111
+ */
112
+ export declare function createTypeScriptCheckFunction(appShell: AppShell, abortSignal?: AbortSignal): () => Promise<TypeScriptCheckResult>;
113
+ /**
114
+ * Create context errors function
31
115
  */
32
- export declare function createDebugFunction(clark: Clark, services: {
33
- appShell: AppShell;
34
- }): () => Promise<DebugResult>;
116
+ export declare function createRuntimeAndBuildErrorsFunction(clark: Clark, appShell: AppShell): () => ContextErrorsResult;
35
117
  //# sourceMappingURL=debug-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug-cache.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAAgC;IAEvD;;OAEG;IACI,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAYvE;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;YAqBhC,aAAa;CAwB5B;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC;AAE3C;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE;IACR,QAAQ,EAAE,QAAQ,CAAC;CACpB,GACA,MAAM,OAAO,CAAC,WAAW,CAAC,CAqD5B"}
1
+ {"version":3,"file":"debug-cache.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"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"}