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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/ai-service/agent/apis-static-analysis.d.ts +2 -0
  2. package/dist/ai-service/agent/apis-static-analysis.d.ts.map +1 -0
  3. package/dist/ai-service/agent/apis-static-analysis.js +765 -0
  4. package/dist/ai-service/agent/apis-static-analysis.js.map +1 -0
  5. package/dist/ai-service/agent/apis-system-prompt.d.ts +1 -1
  6. package/dist/ai-service/agent/apis-system-prompt.d.ts.map +1 -1
  7. package/dist/ai-service/agent/apis-system-prompt.js +50 -21
  8. package/dist/ai-service/agent/apis-system-prompt.js.map +1 -1
  9. package/dist/ai-service/agent/apis.d.ts +10 -0
  10. package/dist/ai-service/agent/apis.d.ts.map +1 -1
  11. package/dist/ai-service/agent/apis.js +38 -5
  12. package/dist/ai-service/agent/apis.js.map +1 -1
  13. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -0
  14. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -0
  15. package/dist/ai-service/{state-machine/handlers/simple-prompt-builder.js → agent/prompts/build-base-system-prompt.js} +55 -15
  16. package/dist/ai-service/{state-machine/handlers/simple-prompt-builder.js.map → agent/prompts/build-base-system-prompt.js.map} +1 -1
  17. package/dist/ai-service/agent/tool-message-utils.d.ts +0 -1
  18. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  19. package/dist/ai-service/agent/tool-message-utils.js +55 -13
  20. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  21. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -1
  22. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tools/build-debug.js +24 -23
  24. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  25. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools/build-edit-file.js +9 -14
  27. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  28. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools/build-finalize.js +23 -2
  30. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  31. package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools/build-list-files.js +9 -1
  33. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  34. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -11
  36. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  37. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools/build-read-files.js +16 -0
  39. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  40. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +27 -0
  41. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -0
  42. package/dist/ai-service/agent/tools/build-set-api-triggers.js +265 -0
  43. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -0
  44. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  45. package/dist/ai-service/agent/tools/build-write-file.js +6 -11
  46. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  47. package/dist/ai-service/agent/tools/debug-cache.d.ts +95 -13
  48. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  49. package/dist/ai-service/agent/tools/debug-cache.js +215 -38
  50. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  51. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  52. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  53. package/dist/ai-service/agent/tools/index.js +1 -0
  54. package/dist/ai-service/agent/tools/index.js.map +1 -1
  55. package/dist/ai-service/agent/tools/shared-helpers.d.ts +5 -1
  56. package/dist/ai-service/agent/tools/shared-helpers.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools/shared-helpers.js +26 -3
  58. package/dist/ai-service/agent/tools/shared-helpers.js.map +1 -1
  59. package/dist/ai-service/agent/tools/study-current-app-state.d.ts +2 -0
  60. package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
  61. package/dist/ai-service/agent/tools.d.ts +24 -1
  62. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools.js +3 -1
  64. package/dist/ai-service/agent/tools.js.map +1 -1
  65. package/dist/ai-service/agent/utils.d.ts +2 -0
  66. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  67. package/dist/ai-service/agent/utils.js +173 -159
  68. package/dist/ai-service/agent/utils.js.map +1 -1
  69. package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
  70. package/dist/ai-service/app-interface/file-system-interface.js +117 -68
  71. package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
  72. package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
  73. package/dist/ai-service/app-interface/linter.js +103 -54
  74. package/dist/ai-service/app-interface/linter.js.map +1 -1
  75. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  76. package/dist/ai-service/app-interface/shell.js +227 -160
  77. package/dist/ai-service/app-interface/shell.js.map +1 -1
  78. package/dist/ai-service/artifacts/bolt.d.ts.map +1 -1
  79. package/dist/ai-service/artifacts/bolt.js +88 -30
  80. package/dist/ai-service/artifacts/bolt.js.map +1 -1
  81. package/dist/ai-service/chat/chat-session-store.d.ts +12 -2
  82. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  83. package/dist/ai-service/chat/chat-session-store.js +45 -1
  84. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  85. package/dist/ai-service/chat/extract-history.d.ts +3 -1
  86. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  87. package/dist/ai-service/chat/extract-history.js +6 -1
  88. package/dist/ai-service/chat/extract-history.js.map +1 -1
  89. package/dist/ai-service/context/app-context.d.ts +5 -0
  90. package/dist/ai-service/context/app-context.d.ts.map +1 -1
  91. package/dist/ai-service/context/app-context.js +318 -241
  92. package/dist/ai-service/context/app-context.js.map +1 -1
  93. package/dist/ai-service/evals/content-matchers/index.d.ts.map +1 -1
  94. package/dist/ai-service/evals/content-matchers/index.js +1 -0
  95. package/dist/ai-service/evals/content-matchers/index.js.map +1 -1
  96. package/dist/ai-service/index.d.ts +3 -0
  97. package/dist/ai-service/index.d.ts.map +1 -1
  98. package/dist/ai-service/index.js +105 -71
  99. package/dist/ai-service/index.js.map +1 -1
  100. package/dist/ai-service/integration-validator.d.ts +1 -1
  101. package/dist/ai-service/integration-validator.d.ts.map +1 -1
  102. package/dist/ai-service/integration-validator.js +6 -3
  103. package/dist/ai-service/integration-validator.js.map +1 -1
  104. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  105. package/dist/ai-service/integrations/metadata/database.js +1 -1
  106. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  107. package/dist/ai-service/integrations/metadata/graphql-based.js +1 -1
  108. package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
  109. package/dist/ai-service/integrations/metadata/open-api.js +1 -1
  110. package/dist/ai-service/integrations/metadata/open-api.js.map +1 -1
  111. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  112. package/dist/ai-service/integrations/store.js +135 -74
  113. package/dist/ai-service/integrations/store.js.map +1 -1
  114. package/dist/ai-service/llmobs/helpers.d.ts +20 -0
  115. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -0
  116. package/dist/ai-service/llmobs/helpers.js +130 -0
  117. package/dist/ai-service/llmobs/helpers.js.map +1 -0
  118. package/dist/ai-service/llmobs/index.d.ts +8 -0
  119. package/dist/ai-service/llmobs/index.d.ts.map +1 -0
  120. package/dist/ai-service/llmobs/index.js +7 -0
  121. package/dist/ai-service/llmobs/index.js.map +1 -0
  122. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +60 -0
  123. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -0
  124. package/dist/ai-service/llmobs/middleware/stream-text.js +601 -0
  125. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -0
  126. package/dist/ai-service/llmobs/tracer.d.ts +95 -0
  127. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -0
  128. package/dist/ai-service/llmobs/tracer.js +341 -0
  129. package/dist/ai-service/llmobs/tracer.js.map +1 -0
  130. package/dist/ai-service/llmobs/types.d.ts +47 -0
  131. package/dist/ai-service/llmobs/types.d.ts.map +1 -0
  132. package/dist/ai-service/llmobs/types.js +2 -0
  133. package/dist/ai-service/llmobs/types.js.map +1 -0
  134. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts +3 -1
  135. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts.map +1 -1
  136. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js +5 -3
  137. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js.map +1 -1
  138. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts +3 -1
  139. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts.map +1 -1
  140. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js +3 -1
  141. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js.map +1 -1
  142. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  143. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  144. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  145. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  146. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  147. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  148. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  149. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  150. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  151. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  152. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  153. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  154. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  155. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  156. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  157. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  158. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  159. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  160. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  161. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  162. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  163. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  164. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  165. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  166. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  167. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  168. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  169. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  170. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  171. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  172. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  173. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  174. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  175. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  176. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  177. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts +3 -1
  178. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts.map +1 -1
  179. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js +4 -2
  180. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js.map +1 -1
  181. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts +3 -1
  182. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts.map +1 -1
  183. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js +3 -1
  184. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js.map +1 -1
  185. package/dist/ai-service/state-machine/clark-fsm.d.ts +16 -4
  186. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  187. package/dist/ai-service/state-machine/clark-fsm.js +47 -0
  188. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  189. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  190. package/dist/ai-service/state-machine/handlers/agent-planning.js +8 -10
  191. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  192. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  193. package/dist/ai-service/state-machine/handlers/awaiting-user.js +5 -4
  194. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  195. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  196. package/dist/ai-service/state-machine/handlers/idle.js +2 -1
  197. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  198. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  199. package/dist/ai-service/state-machine/handlers/llm-generating.js +242 -262
  200. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  201. package/dist/ai-service/state-machine/handlers/post-processing.js +2 -0
  202. package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
  203. package/dist/ai-service/state-machine/traced-fsm.d.ts +41 -70
  204. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  205. package/dist/ai-service/state-machine/traced-fsm.js +66 -173
  206. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  207. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  208. package/dist/ai-service/template-renderer.js +102 -56
  209. package/dist/ai-service/template-renderer.js.map +1 -1
  210. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts +1 -0
  211. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts.map +1 -1
  212. package/dist/ai-service/test-utils/dd-trace-helpers.js.map +1 -1
  213. package/dist/ai-service/test-utils/span-interceptor.d.ts +74 -0
  214. package/dist/ai-service/test-utils/span-interceptor.d.ts.map +1 -0
  215. package/dist/ai-service/test-utils/span-interceptor.js +272 -0
  216. package/dist/ai-service/test-utils/span-interceptor.js.map +1 -0
  217. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +2 -1
  218. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  219. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +120 -63
  220. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  221. package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
  222. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +97 -47
  223. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
  224. package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts.map +1 -1
  225. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js +88 -37
  226. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js.map +1 -1
  227. package/dist/ai-service/transform/shared.d.ts +4 -2
  228. package/dist/ai-service/transform/shared.d.ts.map +1 -1
  229. package/dist/ai-service/transform/shared.js +6 -3
  230. package/dist/ai-service/transform/shared.js.map +1 -1
  231. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts.map +1 -1
  232. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js +77 -26
  233. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js.map +1 -1
  234. package/dist/ai-service/types.d.ts +2 -0
  235. package/dist/ai-service/types.d.ts.map +1 -1
  236. package/dist/ai-service/types.js.map +1 -1
  237. package/dist/ai-service/util/safe-stringify.d.ts +2 -0
  238. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -0
  239. package/dist/ai-service/util/safe-stringify.js +68 -0
  240. package/dist/ai-service/util/safe-stringify.js.map +1 -0
  241. package/dist/binding-extraction/extract-identifiers.d.ts +5 -2
  242. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  243. package/dist/binding-extraction/extract-identifiers.js +7 -4
  244. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  245. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  246. package/dist/file-sync-vite-plugin.js +92 -1
  247. package/dist/file-sync-vite-plugin.js.map +1 -1
  248. package/dist/file-system-helpers.d.ts +3 -0
  249. package/dist/file-system-helpers.d.ts.map +1 -1
  250. package/dist/file-system-helpers.js +12 -0
  251. package/dist/file-system-helpers.js.map +1 -1
  252. package/dist/file-system-manager.d.ts.map +1 -1
  253. package/dist/file-system-manager.js +56 -7
  254. package/dist/file-system-manager.js.map +1 -1
  255. package/dist/parsing/entity/to-value-entity.d.ts.map +1 -1
  256. package/dist/parsing/entity/to-value-entity.js +1 -0
  257. package/dist/parsing/entity/to-value-entity.js.map +1 -1
  258. package/dist/parsing/jsx.d.ts +4 -0
  259. package/dist/parsing/jsx.d.ts.map +1 -1
  260. package/dist/parsing/jsx.js +33 -0
  261. package/dist/parsing/jsx.js.map +1 -1
  262. package/dist/parsing/page.d.ts.map +1 -1
  263. package/dist/parsing/page.js +53 -8
  264. package/dist/parsing/page.js.map +1 -1
  265. package/dist/parsing/properties.d.ts.map +1 -1
  266. package/dist/parsing/properties.js +10 -0
  267. package/dist/parsing/properties.js.map +1 -1
  268. package/dist/parsing/scope.d.ts.map +1 -1
  269. package/dist/parsing/scope.js +2 -7
  270. package/dist/parsing/scope.js.map +1 -1
  271. package/dist/socket-manager.d.ts.map +1 -1
  272. package/dist/socket-manager.js +3 -1
  273. package/dist/socket-manager.js.map +1 -1
  274. package/dist/source-tracker.d.ts +4 -0
  275. package/dist/source-tracker.d.ts.map +1 -1
  276. package/dist/source-tracker.js +132 -5
  277. package/dist/source-tracker.js.map +1 -1
  278. package/dist/sync-service/list-dir.d.ts +1 -1
  279. package/dist/sync-service/list-dir.d.ts.map +1 -1
  280. package/dist/sync-service/list-dir.js +3 -9
  281. package/dist/sync-service/list-dir.js.map +1 -1
  282. package/dist/util/logger.d.ts +9 -0
  283. package/dist/util/logger.d.ts.map +1 -1
  284. package/dist/util/logger.js +64 -7
  285. package/dist/util/logger.js.map +1 -1
  286. package/package.json +9 -7
  287. package/dist/ai-service/llmobs.d.ts +0 -154
  288. package/dist/ai-service/llmobs.d.ts.map +0 -1
  289. package/dist/ai-service/llmobs.js +0 -216
  290. package/dist/ai-service/llmobs.js.map +0 -1
  291. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts +0 -2
  292. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts.map +0 -1
  293. package/dist/ai-service/util/ddog-llmobs.d.ts +0 -20
  294. package/dist/ai-service/util/ddog-llmobs.d.ts.map +0 -1
  295. package/dist/ai-service/util/ddog-llmobs.js +0 -197
  296. package/dist/ai-service/util/ddog-llmobs.js.map +0 -1
@@ -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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"}
@@ -1,57 +1,95 @@
1
- export class DebugCache {
1
+ /**
2
+ * Cache for expensive TypeScript type checking
3
+ * - Longer cache duration since type checking is expensive
4
+ * - Intelligent invalidation based on file changes
5
+ * - Debouncing to prevent multiple checks during rapid editing
6
+ */
7
+ export class TypeScriptCache {
2
8
  pendingCheck = null;
3
9
  cachedResult = null;
4
10
  abortController = null;
11
+ debounceTimer = null;
12
+ // Cache TypeScript results for 5 minutes since they're expensive to compute
13
+ CACHE_TTL = 5 * 60 * 1000;
14
+ DEBOUNCE_DELAY = 1000; // 1 second debounce
15
+ /**
16
+ * Start a debounced TypeScript check
17
+ */
18
+ startEagerCheck(typeCheckFunction) {
19
+ // Clear any existing debounce timer
20
+ if (this.debounceTimer) {
21
+ clearTimeout(this.debounceTimer);
22
+ }
23
+ // Debounce the type check to avoid multiple checks during rapid editing
24
+ this.debounceTimer = setTimeout(() => {
25
+ this.startImmediateCheck(typeCheckFunction);
26
+ }, this.DEBOUNCE_DELAY);
27
+ }
5
28
  /**
6
- * Start an eager debug check, canceling any existing one
29
+ * Start an immediate TypeScript check (used internally and for testing)
7
30
  */
8
- startEagerCheck(debugFunction) {
31
+ startImmediateCheck(typeCheckFunction) {
9
32
  // Cancel existing check
10
33
  if (this.abortController) {
11
34
  this.abortController.abort();
12
35
  }
13
36
  this.abortController = new AbortController();
14
- // Start new check
15
- this.pendingCheck = this.runDebugCheck(debugFunction);
37
+ this.pendingCheck = this.runTypeCheck(typeCheckFunction);
16
38
  }
17
39
  /**
18
- * Get cached result if available, otherwise wait for pending check
40
+ * Get cached TypeScript result if available, otherwise wait for pending check
19
41
  */
20
42
  async getResult() {
21
43
  if (this.pendingCheck) {
22
- // Wait for pending check to complete
23
44
  const result = await this.pendingCheck;
24
45
  this.cachedResult = result;
25
46
  this.pendingCheck = null;
26
47
  return result;
27
48
  }
28
49
  if (this.cachedResult) {
29
- // Return cached result if recent enough (within last 30 seconds)
30
50
  const age = Date.now() - this.cachedResult.timestamp;
31
- if (age < 30000) {
51
+ if (age < this.CACHE_TTL) {
32
52
  return this.cachedResult;
33
53
  }
34
54
  }
35
- // No cached result or it's too old, should not happen in normal flow
36
- throw new Error("No debug result available - this should not happen");
55
+ // No cached result or it's too old
56
+ throw new Error("No TypeScript check result available");
57
+ }
58
+ /**
59
+ * Check if we have a fresh cached result
60
+ */
61
+ hasFreshResult() {
62
+ if (!this.cachedResult)
63
+ return false;
64
+ const age = Date.now() - this.cachedResult.timestamp;
65
+ return age < this.CACHE_TTL;
66
+ }
67
+ /**
68
+ * Invalidate the cache (e.g., when significant code changes occur)
69
+ */
70
+ invalidate() {
71
+ this.cachedResult = null;
72
+ if (this.abortController) {
73
+ this.abortController.abort();
74
+ this.abortController = null;
75
+ }
76
+ if (this.pendingCheck) {
77
+ this.pendingCheck = null;
78
+ }
37
79
  }
38
- async runDebugCheck(debugFunction) {
80
+ async runTypeCheck(typeCheckFunction) {
39
81
  try {
40
- const result = await debugFunction();
82
+ const result = await typeCheckFunction();
41
83
  return {
42
84
  ...result,
43
85
  timestamp: Date.now(),
44
86
  };
45
87
  }
46
88
  catch (error) {
47
- // If aborted, return a placeholder result
48
89
  if (error instanceof Error && error.name === "AbortError") {
49
90
  return {
50
91
  status: "success",
51
- message: "Debug check was cancelled",
52
92
  typeErrors: "",
53
- buildSystemErrors: [],
54
- runtimeErrors: [],
55
93
  timestamp: Date.now(),
56
94
  };
57
95
  }
@@ -59,17 +97,171 @@ export class DebugCache {
59
97
  }
60
98
  }
61
99
  }
100
+ /**
101
+ * Cache for context errors (build system and runtime errors)
102
+ * - Short cache duration since these are cheap to read from context
103
+ * - Updated whenever errors are added/removed from context
104
+ */
105
+ export class ContextErrorsCache {
106
+ cachedResult = null;
107
+ // Cache context errors for 10 seconds since they're cheap to compute
108
+ CACHE_TTL = 10 * 1000;
109
+ /**
110
+ * Get context errors, using cache if fresh, but always recalculate error ages
111
+ */
112
+ getResult(contextErrorsFunction) {
113
+ if (this.cachedResult) {
114
+ const age = Date.now() - this.cachedResult.timestamp;
115
+ if (age < this.CACHE_TTL) {
116
+ // Return cached result but recalculate ages for accurate reporting
117
+ return this.addFreshAges(this.cachedResult);
118
+ }
119
+ }
120
+ // Compute fresh result
121
+ const result = contextErrorsFunction();
122
+ this.cachedResult = {
123
+ ...result,
124
+ timestamp: Date.now(),
125
+ };
126
+ return this.addFreshAges(this.cachedResult);
127
+ }
128
+ /**
129
+ * Add fresh age calculations to build system errors
130
+ */
131
+ addFreshAges(result) {
132
+ const now = Date.now();
133
+ return {
134
+ ...result,
135
+ buildSystemErrors: result.buildSystemErrors.map((error) => ({
136
+ ...error,
137
+ age: error.timestamp ? now - error.timestamp : 0,
138
+ })),
139
+ };
140
+ }
141
+ /**
142
+ * Invalidate the cache when context errors change
143
+ */
144
+ invalidate() {
145
+ this.cachedResult = null;
146
+ }
147
+ }
148
+ /**
149
+ * Combined debug cache that manages both TypeScript and context error caches
150
+ */
151
+ export class DebugCache {
152
+ typeScriptCache = new TypeScriptCache();
153
+ contextErrorsCache = new ContextErrorsCache();
154
+ /**
155
+ * Start an eager TypeScript check (debounced)
156
+ */
157
+ startEagerTypeScriptCheck(typeCheckFunction) {
158
+ this.typeScriptCache.startEagerCheck(typeCheckFunction);
159
+ }
160
+ /**
161
+ * Invalidate context errors cache when errors are added/removed
162
+ */
163
+ invalidateContextErrors() {
164
+ this.contextErrorsCache.invalidate();
165
+ }
166
+ /**
167
+ * Invalidate TypeScript cache when significant code changes occur
168
+ */
169
+ invalidateTypeScript() {
170
+ this.typeScriptCache.invalidate();
171
+ }
172
+ /**
173
+ * Get combined debug result
174
+ */
175
+ async getCombinedResult(typeCheckFunction, contextErrorsFunction) {
176
+ // Get TypeScript errors (may be cached or trigger new check)
177
+ let typeScriptResult;
178
+ try {
179
+ typeScriptResult = await this.typeScriptCache.getResult();
180
+ }
181
+ catch {
182
+ // No cached result, start immediate check
183
+ this.typeScriptCache.startImmediateCheck(typeCheckFunction);
184
+ typeScriptResult = await this.typeScriptCache.getResult();
185
+ }
186
+ // Get context errors (cached or fresh)
187
+ const contextResult = this.contextErrorsCache.getResult(contextErrorsFunction);
188
+ // Combine results
189
+ const hasErrors = Boolean(typeScriptResult.typeErrors ||
190
+ contextResult.buildSystemErrors.length ||
191
+ contextResult.runtimeErrors.length);
192
+ return {
193
+ status: hasErrors ? "errors_found" : "success",
194
+ message: hasErrors
195
+ ? "Found errors that need to be fixed"
196
+ : "All checks passed successfully",
197
+ typeErrors: typeScriptResult.typeErrors,
198
+ buildSystemErrors: contextResult.buildSystemErrors,
199
+ runtimeErrors: contextResult.runtimeErrors,
200
+ timestamp: Math.max(typeScriptResult.timestamp, contextResult.timestamp),
201
+ };
202
+ }
203
+ /**
204
+ * Check if we have fresh TypeScript results (useful for optimization)
205
+ */
206
+ hasFreshTypeScriptResult() {
207
+ return this.typeScriptCache.hasFreshResult();
208
+ }
209
+ }
62
210
  // Global debug cache instance
63
211
  export const debugCache = new DebugCache();
64
212
  /**
65
- * Helper function to create the debug function for a given Clark instance and services
213
+ * Create TypeScript check function
66
214
  */
67
- export function createDebugFunction(clark, services) {
215
+ export function createTypeScriptCheckFunction(appShell, abortSignal) {
68
216
  return async () => {
217
+ const tsErrors = await appShell.runTypecheckRawOutput(abortSignal);
218
+ const maxLines = 30;
219
+ let clampedTsErrors = tsErrors ?? "";
220
+ if (clampedTsErrors) {
221
+ const lines = clampedTsErrors.split("\n");
222
+ if (lines.length > maxLines) {
223
+ clampedTsErrors =
224
+ lines.slice(0, maxLines).join("\n") +
225
+ `\n... (${lines.length - maxLines} more lines truncated)`;
226
+ }
227
+ }
228
+ return {
229
+ status: clampedTsErrors ? "errors_found" : "success",
230
+ typeErrors: clampedTsErrors,
231
+ timestamp: Date.now(),
232
+ };
233
+ };
234
+ }
235
+ /**
236
+ * Create context errors function
237
+ */
238
+ export function createRuntimeAndBuildErrorsFunction(clark, appShell) {
239
+ return () => {
69
240
  const buildSystemErrors = [];
70
241
  if (clark.context.buildSystemErrors?.length) {
71
- const rootDir = new RegExp(services.appShell.appRootDirPath, "g");
72
- buildSystemErrors.push(...clark.context.buildSystemErrors.map((e) => e.message.replace(rootDir, "")));
242
+ const rootDir = new RegExp(appShell.appRootDirPath, "g");
243
+ const now = Date.now();
244
+ const MAX_ERROR_AGE = 5 * 60 * 1000;
245
+ // Filter out errors older than MAX_ERROR_AGE
246
+ const freshErrors = clark.context.buildSystemErrors.filter((e) => {
247
+ const errorAge = now - (e.timestamp || 0);
248
+ return errorAge < MAX_ERROR_AGE;
249
+ });
250
+ buildSystemErrors.push(...freshErrors.map((e) => ({
251
+ message: e.message.replace(rootDir, ""),
252
+ stack: e.stack?.replace(rootDir, ""),
253
+ name: e.name,
254
+ code: e.code,
255
+ timestamp: e.timestamp,
256
+ age: now - (e.timestamp || 0),
257
+ })));
258
+ // If we filtered out stale errors, update the context
259
+ if (freshErrors.length !== clark.context.buildSystemErrors.length) {
260
+ clark.updateContext((context) => ({
261
+ ...context,
262
+ buildSystemErrors: freshErrors,
263
+ }));
264
+ }
73
265
  }
74
266
  let runtimeErrors = [];
75
267
  if (clark.context.runtimeErrors?.length) {
@@ -80,26 +272,11 @@ export function createDebugFunction(clark, services) {
80
272
  sourceId: e.identifier?.sourceId,
81
273
  }));
82
274
  }
83
- const tsErrors = await services.appShell.runTypecheckRawOutput(clark.context.abortController?.signal);
84
- const maxLines = 30;
85
- let clampedTsErrors = tsErrors ?? "";
86
- if (clampedTsErrors) {
87
- const lines = clampedTsErrors.split("\n");
88
- if (lines.length > maxLines) {
89
- clampedTsErrors =
90
- lines.slice(0, maxLines).join("\n") +
91
- `\n... (${lines.length - maxLines} more lines truncated)`;
92
- }
93
- }
94
- const hasErrors = Boolean(tsErrors || buildSystemErrors.length || runtimeErrors.length);
275
+ const hasErrors = Boolean(buildSystemErrors.length || runtimeErrors.length);
95
276
  return {
96
- status: hasErrors ? "errors_found" : "success",
97
- message: hasErrors
98
- ? "Found errors that need to be fixed"
99
- : "All checks passed successfully",
100
- typeErrors: clampedTsErrors,
101
277
  buildSystemErrors,
102
278
  runtimeErrors,
279
+ status: hasErrors ? "errors_found" : "success",
103
280
  timestamp: Date.now(),
104
281
  };
105
282
  };
@@ -1 +1 @@
1
- {"version":3,"file":"debug-cache.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-cache.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export { default as createBuildAddStateVarTool } from "./build-add-state-var.js"
6
6
  export { default as createBuildUpdateStateVarTool } from "./build-update-state-var.js";
7
7
  export { default as createBuildAddTimerTool } from "./build-add-timer.js";
8
8
  export { default as createBuildAddEventTool } from "./build-add-event.js";
9
+ export { default as createBuildSetApiTriggersTool } from "./build-set-api-triggers.js";
9
10
  export { default as createBuildRegisterComponentNameTool } from "./build-register-component-name.js";
10
11
  export { default as createBuildWriteFileTool } from "./build-write-file.js";
11
12
  export { default as createBuildEditFileTool } from "./build-edit-file.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACL,OAAO,IAAI,wBAAwB,EACnC,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACL,OAAO,IAAI,wBAAwB,EACnC,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC"}
@@ -6,6 +6,7 @@ export { default as createBuildAddStateVarTool } from "./build-add-state-var.js"
6
6
  export { default as createBuildUpdateStateVarTool } from "./build-update-state-var.js";
7
7
  export { default as createBuildAddTimerTool } from "./build-add-timer.js";
8
8
  export { default as createBuildAddEventTool } from "./build-add-event.js";
9
+ export { default as createBuildSetApiTriggersTool } from "./build-set-api-triggers.js";
9
10
  export { default as createBuildRegisterComponentNameTool } from "./build-register-component-name.js";
10
11
  export { default as createBuildWriteFileTool } from "./build-write-file.js";
11
12
  export { default as createBuildEditFileTool } from "./build-edit-file.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACL,OAAO,IAAI,wBAAwB,EACnC,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACL,OAAO,IAAI,wBAAwB,EACnC,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,9 +1,13 @@
1
+ import { Paths } from "../../const.js";
1
2
  import type { OperationQueue } from "../../../util/operation-queue.js";
2
3
  import type { Clark, ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
4
+ import type { PathParams } from "../../types.js";
3
5
  import type { AddEntityRequest } from "@superblocksteam/library-shared/types";
4
6
  export declare const handleScopeAddEntity: (coords: {
5
7
  identifier: string;
6
8
  type: "name" | "id";
7
9
  }, addEntityRequest: AddEntityRequest, clark: Clark, services: ClarkStateHandlerParams, scopeUpdateQueue: OperationQueue) => Promise<void>;
8
- export declare const isGeneratedApiFilePath: (filePath: string) => boolean;
10
+ export declare const isApiFilePath: (filePath: string) => boolean;
11
+ export declare const toGeneratedApiPath: (filePath: string) => string | undefined;
12
+ export declare const parseGeneratedApiPath: (filePath: string) => PathParams<Paths.GeneratedApis> | undefined;
9
13
  //# sourceMappingURL=shared-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-helpers.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/shared-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,eAAO,MAAM,oBAAoB,GAC/B,QAAQ;IACN,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,EACD,kBAAkB,gBAAgB,EAClC,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,kBAAkB,cAAc,kBAgCjC,CAAC;AAIF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,YACO,CAAC"}
1
+ {"version":3,"file":"shared-helpers.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/shared-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,eAAO,MAAM,oBAAoB,GAC/B,QAAQ;IACN,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,EACD,kBAAkB,gBAAgB,EAClC,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,kBAAkB,cAAc,kBAgCjC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,YACgB,CAAC;AAI/D,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,SAU9D,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAChC,UAAU,MAAM,KACf,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,SAUpC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import path from "node:path";
2
2
  import { getPageFilePath } from "../../../file-system-helpers.js";
3
+ import { Paths } from "../../const.js";
3
4
  import { fileReadTracker } from "../../state-machine/helpers/file-read-tracker.js";
5
+ import { matchPath, renderPath } from "../../transform/shared.js";
4
6
  import { ensureScopeFileDraft } from "../utils.js";
5
7
  export const handleScopeAddEntity = async (coords, addEntityRequest, clark, services, scopeUpdateQueue) => {
6
8
  const { requireRead } = fileReadTracker(clark);
@@ -23,7 +25,28 @@ export const handleScopeAddEntity = async (coords, addEntityRequest, clark, serv
23
25
  requireRead(pageFilePath);
24
26
  });
25
27
  };
26
- // Treat any file within pages/.../apis/... as generated API source that the main agent
27
- // must not manipulate directly.
28
- export const isGeneratedApiFilePath = (filePath) => filePath.startsWith("pages/") && filePath.includes("/apis/");
28
+ export const isApiFilePath = (filePath) => filePath.startsWith("pages/") && filePath.includes("/apis/");
29
+ const allApiArtifacts = matchPath("pages/:pageName/apis/:apiName/**");
30
+ export const toGeneratedApiPath = (filePath) => {
31
+ const match = allApiArtifacts(filePath);
32
+ if (match.matched) {
33
+ return renderPath(Paths.GeneratedApis, {
34
+ pageName: match.params.pageName,
35
+ apiName: `${match.params.apiName}.ts`,
36
+ });
37
+ }
38
+ return undefined;
39
+ };
40
+ const generatedApis = matchPath(Paths.GeneratedApis);
41
+ export const parseGeneratedApiPath = (filePath) => {
42
+ const match = generatedApis(filePath);
43
+ if (match.matched && match.params.apiName.endsWith(".ts")) {
44
+ const { pageName, apiName } = match.params;
45
+ return {
46
+ pageName,
47
+ apiName: path.basename(apiName, ".ts"),
48
+ };
49
+ }
50
+ return undefined;
51
+ };
29
52
  //# sourceMappingURL=shared-helpers.js.map