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

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 (273) 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 +25 -3
  8. package/dist/ai-service/agent/apis.js.map +1 -1
  9. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.js +5 -2
  11. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  12. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -1
  13. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/build-debug.js +24 -23
  15. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/build-edit-file.js +7 -12
  18. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/build-finalize.js +23 -2
  21. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  22. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tools/build-multi-edit-file.js +4 -9
  24. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  25. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +27 -0
  26. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -0
  27. package/dist/ai-service/agent/tools/build-set-api-triggers.js +265 -0
  28. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -0
  29. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/build-write-file.js +4 -9
  31. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  32. package/dist/ai-service/agent/tools/debug-cache.d.ts +95 -13
  33. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools/debug-cache.js +215 -38
  35. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  36. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  37. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools/index.js +1 -0
  39. package/dist/ai-service/agent/tools/index.js.map +1 -1
  40. package/dist/ai-service/agent/tools.d.ts +22 -1
  41. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  42. package/dist/ai-service/agent/tools.js +3 -1
  43. package/dist/ai-service/agent/tools.js.map +1 -1
  44. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  45. package/dist/ai-service/agent/utils.js +170 -159
  46. package/dist/ai-service/agent/utils.js.map +1 -1
  47. package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
  48. package/dist/ai-service/app-interface/file-system-interface.js +117 -68
  49. package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
  50. package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
  51. package/dist/ai-service/app-interface/linter.js +103 -54
  52. package/dist/ai-service/app-interface/linter.js.map +1 -1
  53. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  54. package/dist/ai-service/app-interface/shell.js +227 -160
  55. package/dist/ai-service/app-interface/shell.js.map +1 -1
  56. package/dist/ai-service/artifacts/bolt.d.ts.map +1 -1
  57. package/dist/ai-service/artifacts/bolt.js +88 -30
  58. package/dist/ai-service/artifacts/bolt.js.map +1 -1
  59. package/dist/ai-service/chat/chat-session-store.d.ts +12 -2
  60. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  61. package/dist/ai-service/chat/chat-session-store.js +45 -1
  62. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  63. package/dist/ai-service/chat/extract-history.d.ts +3 -1
  64. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  65. package/dist/ai-service/chat/extract-history.js +6 -1
  66. package/dist/ai-service/chat/extract-history.js.map +1 -1
  67. package/dist/ai-service/context/app-context.d.ts.map +1 -1
  68. package/dist/ai-service/context/app-context.js +305 -241
  69. package/dist/ai-service/context/app-context.js.map +1 -1
  70. package/dist/ai-service/evals/content-matchers/index.d.ts.map +1 -1
  71. package/dist/ai-service/evals/content-matchers/index.js +1 -0
  72. package/dist/ai-service/evals/content-matchers/index.js.map +1 -1
  73. package/dist/ai-service/index.d.ts +3 -0
  74. package/dist/ai-service/index.d.ts.map +1 -1
  75. package/dist/ai-service/index.js +105 -71
  76. package/dist/ai-service/index.js.map +1 -1
  77. package/dist/ai-service/integration-validator.d.ts +1 -1
  78. package/dist/ai-service/integration-validator.d.ts.map +1 -1
  79. package/dist/ai-service/integration-validator.js +6 -3
  80. package/dist/ai-service/integration-validator.js.map +1 -1
  81. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  82. package/dist/ai-service/integrations/metadata/database.js +1 -1
  83. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  84. package/dist/ai-service/integrations/metadata/graphql-based.js +1 -1
  85. package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
  86. package/dist/ai-service/integrations/metadata/open-api.js +1 -1
  87. package/dist/ai-service/integrations/metadata/open-api.js.map +1 -1
  88. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  89. package/dist/ai-service/integrations/store.js +135 -74
  90. package/dist/ai-service/integrations/store.js.map +1 -1
  91. package/dist/ai-service/llmobs/helpers.d.ts +20 -0
  92. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -0
  93. package/dist/ai-service/llmobs/helpers.js +130 -0
  94. package/dist/ai-service/llmobs/helpers.js.map +1 -0
  95. package/dist/ai-service/llmobs/index.d.ts +8 -0
  96. package/dist/ai-service/llmobs/index.d.ts.map +1 -0
  97. package/dist/ai-service/llmobs/index.js +7 -0
  98. package/dist/ai-service/llmobs/index.js.map +1 -0
  99. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +60 -0
  100. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -0
  101. package/dist/ai-service/llmobs/middleware/stream-text.js +601 -0
  102. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -0
  103. package/dist/ai-service/llmobs/tracer.d.ts +95 -0
  104. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -0
  105. package/dist/ai-service/llmobs/tracer.js +341 -0
  106. package/dist/ai-service/llmobs/tracer.js.map +1 -0
  107. package/dist/ai-service/llmobs/types.d.ts +47 -0
  108. package/dist/ai-service/llmobs/types.d.ts.map +1 -0
  109. package/dist/ai-service/llmobs/types.js +2 -0
  110. package/dist/ai-service/llmobs/types.js.map +1 -0
  111. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts +3 -1
  112. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts.map +1 -1
  113. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js +5 -3
  114. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js.map +1 -1
  115. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts +3 -1
  116. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts.map +1 -1
  117. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js +3 -1
  118. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js.map +1 -1
  119. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  120. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  121. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  122. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  123. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  124. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  125. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  126. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  127. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  128. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  129. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  130. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  131. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  132. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  133. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  134. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  135. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  136. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  137. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  138. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  139. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  140. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  141. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  142. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  143. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  144. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  145. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  146. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  147. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  148. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  149. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  150. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  151. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  152. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  153. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  154. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts +3 -1
  155. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts.map +1 -1
  156. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js +4 -2
  157. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js.map +1 -1
  158. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts +3 -1
  159. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts.map +1 -1
  160. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js +3 -1
  161. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js.map +1 -1
  162. package/dist/ai-service/state-machine/clark-fsm.d.ts +16 -4
  163. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  164. package/dist/ai-service/state-machine/clark-fsm.js +47 -0
  165. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  166. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  167. package/dist/ai-service/state-machine/handlers/agent-planning.js +6 -6
  168. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  169. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  170. package/dist/ai-service/state-machine/handlers/awaiting-user.js +5 -4
  171. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  172. package/dist/ai-service/state-machine/handlers/idle.js +1 -1
  173. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  174. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  175. package/dist/ai-service/state-machine/handlers/llm-generating.js +274 -266
  176. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  177. package/dist/ai-service/state-machine/handlers/post-processing.js +2 -0
  178. package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
  179. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts.map +1 -1
  180. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js +54 -19
  181. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js.map +1 -1
  182. package/dist/ai-service/state-machine/traced-fsm.d.ts +41 -70
  183. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  184. package/dist/ai-service/state-machine/traced-fsm.js +66 -173
  185. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  186. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  187. package/dist/ai-service/template-renderer.js +102 -56
  188. package/dist/ai-service/template-renderer.js.map +1 -1
  189. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts +1 -0
  190. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts.map +1 -1
  191. package/dist/ai-service/test-utils/dd-trace-helpers.js.map +1 -1
  192. package/dist/ai-service/test-utils/span-interceptor.d.ts +74 -0
  193. package/dist/ai-service/test-utils/span-interceptor.d.ts.map +1 -0
  194. package/dist/ai-service/test-utils/span-interceptor.js +272 -0
  195. package/dist/ai-service/test-utils/span-interceptor.js.map +1 -0
  196. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +2 -1
  197. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  198. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +120 -63
  199. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  200. package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
  201. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +97 -47
  202. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
  203. package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts.map +1 -1
  204. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js +88 -37
  205. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js.map +1 -1
  206. package/dist/ai-service/transform/shared.d.ts +4 -2
  207. package/dist/ai-service/transform/shared.d.ts.map +1 -1
  208. package/dist/ai-service/transform/shared.js +6 -3
  209. package/dist/ai-service/transform/shared.js.map +1 -1
  210. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts.map +1 -1
  211. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js +77 -26
  212. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js.map +1 -1
  213. package/dist/ai-service/types.d.ts +2 -0
  214. package/dist/ai-service/types.d.ts.map +1 -1
  215. package/dist/ai-service/types.js.map +1 -1
  216. package/dist/ai-service/util/safe-stringify.d.ts +2 -0
  217. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -0
  218. package/dist/ai-service/util/safe-stringify.js +68 -0
  219. package/dist/ai-service/util/safe-stringify.js.map +1 -0
  220. package/dist/binding-extraction/extract-identifiers.d.ts +5 -2
  221. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  222. package/dist/binding-extraction/extract-identifiers.js +7 -4
  223. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  224. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  225. package/dist/file-sync-vite-plugin.js +92 -1
  226. package/dist/file-sync-vite-plugin.js.map +1 -1
  227. package/dist/file-system-helpers.d.ts +3 -0
  228. package/dist/file-system-helpers.d.ts.map +1 -1
  229. package/dist/file-system-helpers.js +12 -0
  230. package/dist/file-system-helpers.js.map +1 -1
  231. package/dist/file-system-manager.d.ts.map +1 -1
  232. package/dist/file-system-manager.js +53 -1
  233. package/dist/file-system-manager.js.map +1 -1
  234. package/dist/parsing/entity/to-value-entity.d.ts.map +1 -1
  235. package/dist/parsing/entity/to-value-entity.js +1 -0
  236. package/dist/parsing/entity/to-value-entity.js.map +1 -1
  237. package/dist/parsing/jsx.d.ts +4 -0
  238. package/dist/parsing/jsx.d.ts.map +1 -1
  239. package/dist/parsing/jsx.js +33 -0
  240. package/dist/parsing/jsx.js.map +1 -1
  241. package/dist/parsing/page.d.ts.map +1 -1
  242. package/dist/parsing/page.js +48 -3
  243. package/dist/parsing/page.js.map +1 -1
  244. package/dist/parsing/properties.d.ts.map +1 -1
  245. package/dist/parsing/properties.js +10 -0
  246. package/dist/parsing/properties.js.map +1 -1
  247. package/dist/routing.d.ts.map +1 -1
  248. package/dist/routing.js +15 -16
  249. package/dist/routing.js.map +1 -1
  250. package/dist/socket-manager.d.ts.map +1 -1
  251. package/dist/socket-manager.js +3 -1
  252. package/dist/socket-manager.js.map +1 -1
  253. package/dist/source-tracker.d.ts +4 -0
  254. package/dist/source-tracker.d.ts.map +1 -1
  255. package/dist/source-tracker.js +132 -5
  256. package/dist/source-tracker.js.map +1 -1
  257. package/dist/sync-service/list-dir.d.ts +1 -1
  258. package/dist/sync-service/list-dir.d.ts.map +1 -1
  259. package/dist/sync-service/list-dir.js +3 -9
  260. package/dist/sync-service/list-dir.js.map +1 -1
  261. package/dist/util/logger.d.ts +9 -0
  262. package/dist/util/logger.d.ts.map +1 -1
  263. package/dist/util/logger.js +64 -7
  264. package/dist/util/logger.js.map +1 -1
  265. package/package.json +9 -7
  266. package/dist/ai-service/llmobs.d.ts +0 -154
  267. package/dist/ai-service/llmobs.d.ts.map +0 -1
  268. package/dist/ai-service/llmobs.js +0 -216
  269. package/dist/ai-service/llmobs.js.map +0 -1
  270. package/dist/ai-service/util/ddog-llmobs.d.ts +0 -20
  271. package/dist/ai-service/util/ddog-llmobs.d.ts.map +0 -1
  272. package/dist/ai-service/util/ddog-llmobs.js +0 -197
  273. package/dist/ai-service/util/ddog-llmobs.js.map +0 -1
@@ -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,7 +2,7 @@ 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";
5
+ import { debugCache, createTypeScriptCheckFunction } from "./debug-cache.js";
6
6
  import { isGeneratedApiFilePath } from "./shared-helpers.js";
7
7
  export default function createBuildWriteFileTool(clark, services) {
8
8
  const { isReadRequired } = fileReadTracker(clark);
@@ -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,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,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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"}