@superblocksteam/vite-plugin-file-sync 2.0.59-next.0 → 2.0.59-next.10

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 (285) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +25 -9
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  4. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/examples.js +137 -10
  6. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -1
  7. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -1
  8. package/dist/ai-service/agent/subagents/apis/static-analysis.js +14 -7
  9. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.js +6 -2
  12. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/analysis.d.ts +9 -0
  14. package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/analysis.js +358 -0
  16. package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -0
  17. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.d.ts +35 -10
  18. package/dist/ai-service/agent/tools/apis/api-executor.d.ts.map +1 -0
  19. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.js +179 -94
  20. package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -0
  21. package/dist/ai-service/agent/tools/apis/api-source.d.ts +19 -0
  22. package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -0
  23. package/dist/ai-service/agent/tools/apis/api-source.js +73 -0
  24. package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -0
  25. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +51 -0
  26. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -0
  27. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +510 -0
  28. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -0
  29. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts +32 -0
  30. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -0
  31. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +313 -0
  32. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -0
  33. package/dist/ai-service/agent/tools/apis/build-api.d.ts +1 -10
  34. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/apis/build-api.js +26 -238
  36. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  37. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +11 -0
  38. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -0
  39. package/dist/ai-service/agent/tools/apis/get-api-docs.js +1841 -0
  40. package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -0
  41. package/dist/ai-service/agent/tools/apis/integration-types.d.ts +37 -0
  42. package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -0
  43. package/dist/ai-service/agent/tools/apis/integration-types.js +689 -0
  44. package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -0
  45. package/dist/ai-service/agent/tools/apis/test-api.d.ts +25 -0
  46. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -0
  47. package/dist/ai-service/agent/tools/apis/test-api.js +194 -0
  48. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -0
  49. package/dist/ai-service/agent/tools/apis/write-api.d.ts +11 -0
  50. package/dist/ai-service/agent/tools/apis/write-api.d.ts.map +1 -0
  51. package/dist/ai-service/agent/tools/apis/write-api.js +41 -0
  52. package/dist/ai-service/agent/tools/apis/write-api.js.map +1 -0
  53. package/dist/ai-service/agent/tools/build-read-files.js +2 -2
  54. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts +2 -5
  56. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools.js +51 -22
  58. package/dist/ai-service/agent/tools.js.map +1 -1
  59. package/dist/ai-service/agent/tools2/access-control.d.ts +1 -0
  60. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  61. package/dist/ai-service/agent/tools2/access-control.js +15 -13
  62. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  63. package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
  64. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  65. package/dist/ai-service/agent/tools2/registry.js +4 -3
  66. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  67. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  68. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +73 -127
  69. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +25 -4
  72. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
  73. package/dist/ai-service/agent/tools2/types.d.ts +1 -1
  74. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  76. package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -1
  77. package/dist/ai-service/agent/tools2/utils.js +4 -1
  78. package/dist/ai-service/agent/tools2/utils.js.map +1 -1
  79. package/dist/ai-service/agent/utils.d.ts +1 -3
  80. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  81. package/dist/ai-service/agent/utils.js +55 -13
  82. package/dist/ai-service/agent/utils.js.map +1 -1
  83. package/dist/ai-service/app-interface/shell.d.ts +5 -0
  84. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  85. package/dist/ai-service/app-interface/shell.js +17 -2
  86. package/dist/ai-service/app-interface/shell.js.map +1 -1
  87. package/dist/ai-service/chat/chat-session-store.d.ts +7 -0
  88. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  89. package/dist/ai-service/chat/chat-session-store.js +26 -0
  90. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  91. package/dist/ai-service/const.d.ts +3 -1
  92. package/dist/ai-service/const.d.ts.map +1 -1
  93. package/dist/ai-service/const.js +3 -0
  94. package/dist/ai-service/const.js.map +1 -1
  95. package/dist/ai-service/index.d.ts +5 -1
  96. package/dist/ai-service/index.d.ts.map +1 -1
  97. package/dist/ai-service/index.js +55 -7
  98. package/dist/ai-service/index.js.map +1 -1
  99. package/dist/ai-service/integrations/metadata-storage/index.d.ts +10 -0
  100. package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -1
  101. package/dist/ai-service/integrations/metadata-storage/local.d.ts +4 -2
  102. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  103. package/dist/ai-service/integrations/metadata-storage/local.js +35 -9
  104. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  105. package/dist/ai-service/integrations/store.d.ts +27 -2
  106. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  107. package/dist/ai-service/integrations/store.js +129 -62
  108. package/dist/ai-service/integrations/store.js.map +1 -1
  109. package/dist/ai-service/llm/client.d.ts +123 -0
  110. package/dist/ai-service/llm/client.d.ts.map +1 -0
  111. package/dist/ai-service/llm/client.js +168 -0
  112. package/dist/ai-service/llm/client.js.map +1 -0
  113. package/dist/ai-service/llm/context/context-handle.d.ts +4 -4
  114. package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -1
  115. package/dist/ai-service/llm/context/context-handle.js +7 -3
  116. package/dist/ai-service/llm/context/context-handle.js.map +1 -1
  117. package/dist/ai-service/llm/context/context.d.ts +28 -0
  118. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  119. package/dist/ai-service/llm/context/context.js +119 -0
  120. package/dist/ai-service/llm/context/context.js.map +1 -1
  121. package/dist/ai-service/llm/context/manager.d.ts +22 -2
  122. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  123. package/dist/ai-service/llm/context/manager.js +86 -13
  124. package/dist/ai-service/llm/context/manager.js.map +1 -1
  125. package/dist/ai-service/llm/context/storage/index.d.ts +1 -0
  126. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -1
  127. package/dist/ai-service/llm/context/storage/local.d.ts +1 -0
  128. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -1
  129. package/dist/ai-service/llm/context/storage/local.js +13 -1
  130. package/dist/ai-service/llm/context/storage/local.js.map +1 -1
  131. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  132. package/dist/ai-service/llm/context/utils/message-utils.js +6 -2
  133. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  134. package/dist/ai-service/llm/error.d.ts +14 -4
  135. package/dist/ai-service/llm/error.d.ts.map +1 -1
  136. package/dist/ai-service/llm/error.js +49 -4
  137. package/dist/ai-service/llm/error.js.map +1 -1
  138. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +67 -0
  139. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -0
  140. package/dist/ai-service/llm/interaction/adapters/vercel.js +111 -0
  141. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -0
  142. package/dist/ai-service/llm/interaction/compose.d.ts +71 -0
  143. package/dist/ai-service/llm/interaction/compose.d.ts.map +1 -0
  144. package/dist/ai-service/llm/interaction/compose.js +88 -0
  145. package/dist/ai-service/llm/interaction/compose.js.map +1 -0
  146. package/dist/ai-service/llm/interaction/index.d.ts +68 -0
  147. package/dist/ai-service/llm/interaction/index.d.ts.map +1 -0
  148. package/dist/ai-service/llm/interaction/index.js +70 -0
  149. package/dist/ai-service/llm/interaction/index.js.map +1 -0
  150. package/dist/ai-service/llm/interaction/middleware.d.ts +52 -0
  151. package/dist/ai-service/llm/interaction/middleware.d.ts.map +1 -0
  152. package/dist/ai-service/llm/interaction/middleware.js +17 -0
  153. package/dist/ai-service/llm/interaction/middleware.js.map +1 -0
  154. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +45 -0
  155. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +1 -0
  156. package/dist/ai-service/llm/interaction/middlewares/llmobs.js +85 -0
  157. package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +1 -0
  158. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +88 -0
  159. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +1 -0
  160. package/dist/ai-service/llm/interaction/middlewares/logging.js +238 -0
  161. package/dist/ai-service/llm/interaction/middlewares/logging.js.map +1 -0
  162. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +47 -0
  163. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +1 -0
  164. package/dist/ai-service/llm/interaction/middlewares/profiler.js +183 -0
  165. package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +1 -0
  166. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +121 -0
  167. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +1 -0
  168. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +291 -0
  169. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +1 -0
  170. package/dist/ai-service/llm/interaction/provider.d.ts +173 -0
  171. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -0
  172. package/dist/ai-service/llm/interaction/provider.js +15 -0
  173. package/dist/ai-service/llm/interaction/provider.js.map +1 -0
  174. package/dist/ai-service/llm/interaction/result-utils.d.ts +43 -0
  175. package/dist/ai-service/llm/interaction/result-utils.d.ts.map +1 -0
  176. package/dist/ai-service/llm/interaction/result-utils.js +49 -0
  177. package/dist/ai-service/llm/interaction/result-utils.js.map +1 -0
  178. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts +48 -0
  179. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts.map +1 -0
  180. package/dist/ai-service/llm/interaction/stream-lifecycle.js +129 -0
  181. package/dist/ai-service/llm/interaction/stream-lifecycle.js.map +1 -0
  182. package/dist/ai-service/llm/provider.d.ts +1 -2
  183. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  184. package/dist/ai-service/llm/provider.js +3 -6
  185. package/dist/ai-service/llm/provider.js.map +1 -1
  186. package/dist/ai-service/llmobs/helpers.d.ts +7 -8
  187. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  188. package/dist/ai-service/llmobs/helpers.js +8 -48
  189. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  190. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +19 -21
  191. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  192. package/dist/ai-service/llmobs/middleware/stream-text.js +98 -106
  193. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  194. package/dist/ai-service/llmobs/types.d.ts +14 -1
  195. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  196. package/dist/ai-service/state-machine/clark-fsm.d.ts +75 -5
  197. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  198. package/dist/ai-service/state-machine/clark-fsm.js +100 -0
  199. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  200. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  201. package/dist/ai-service/state-machine/handlers/agent-planning.js +4 -0
  202. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  203. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  204. package/dist/ai-service/state-machine/handlers/llm-generating.js +91 -456
  205. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  206. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +1 -1
  207. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  208. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  209. package/dist/ai-service/state-machine/helpers/peer.js +15 -0
  210. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  211. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  212. package/dist/ai-service/state-machine/mocks.js +1 -0
  213. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  214. package/dist/ai-service/template-renderer.js +1 -1
  215. package/dist/ai-service/template-renderer.js.map +1 -1
  216. package/dist/ai-service/types.d.ts +30 -0
  217. package/dist/ai-service/types.d.ts.map +1 -1
  218. package/dist/binding-extraction/extract-identifiers.d.ts +14 -0
  219. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  220. package/dist/binding-extraction/extract-identifiers.js +46 -1
  221. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  222. package/dist/binding-extraction/js-identifiers.d.ts +14 -0
  223. package/dist/binding-extraction/js-identifiers.d.ts.map +1 -1
  224. package/dist/binding-extraction/js-identifiers.js +168 -0
  225. package/dist/binding-extraction/js-identifiers.js.map +1 -1
  226. package/dist/binding-extraction/python-identifiers.d.ts +5 -0
  227. package/dist/binding-extraction/python-identifiers.d.ts.map +1 -1
  228. package/dist/binding-extraction/python-identifiers.js +76 -7
  229. package/dist/binding-extraction/python-identifiers.js.map +1 -1
  230. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  231. package/dist/file-sync-vite-plugin.js +73 -3
  232. package/dist/file-sync-vite-plugin.js.map +1 -1
  233. package/dist/file-system-manager.d.ts.map +1 -1
  234. package/dist/file-system-manager.js +6 -4
  235. package/dist/file-system-manager.js.map +1 -1
  236. package/dist/index.d.ts +1 -1
  237. package/dist/index.d.ts.map +1 -1
  238. package/dist/index.js +1 -1
  239. package/dist/index.js.map +1 -1
  240. package/dist/lock-service/activity-tracker.d.ts +14 -2
  241. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  242. package/dist/lock-service/activity-tracker.js +43 -6
  243. package/dist/lock-service/activity-tracker.js.map +1 -1
  244. package/dist/lock-service/index.d.ts +13 -2
  245. package/dist/lock-service/index.d.ts.map +1 -1
  246. package/dist/lock-service/index.js +130 -44
  247. package/dist/lock-service/index.js.map +1 -1
  248. package/dist/parsing/jsx.d.ts.map +1 -1
  249. package/dist/parsing/jsx.js +78 -66
  250. package/dist/parsing/jsx.js.map +1 -1
  251. package/dist/socket-manager.js +1 -1
  252. package/dist/socket-manager.js.map +1 -1
  253. package/dist/sync-service/list-dir.d.ts.map +1 -1
  254. package/dist/sync-service/list-dir.js +41 -18
  255. package/dist/sync-service/list-dir.js.map +1 -1
  256. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  257. package/dist/vite-plugin-yaml-types.js +2 -4
  258. package/dist/vite-plugin-yaml-types.js.map +1 -1
  259. package/package.json +7 -7
  260. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +0 -1
  261. package/dist/ai-service/agent/subagents/apis/api-executor.js.map +0 -1
  262. package/dist/ai-service/agent/subagents/apis/context.d.ts +0 -12
  263. package/dist/ai-service/agent/subagents/apis/context.d.ts.map +0 -1
  264. package/dist/ai-service/agent/subagents/apis/context.js +0 -18
  265. package/dist/ai-service/agent/subagents/apis/context.js.map +0 -1
  266. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +0 -40
  267. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +0 -1
  268. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +0 -516
  269. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +0 -1
  270. package/dist/ai-service/agent/subagents/apis/state.d.ts +0 -49
  271. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +0 -1
  272. package/dist/ai-service/agent/subagents/apis/state.js +0 -25
  273. package/dist/ai-service/agent/subagents/apis/state.js.map +0 -1
  274. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +0 -3
  275. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +0 -1
  276. package/dist/ai-service/agent/subagents/apis/system-prompt.js +0 -1704
  277. package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +0 -1
  278. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +0 -11
  279. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +0 -1
  280. package/dist/ai-service/agent/tools/apis/finalize-api.js +0 -133
  281. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +0 -1
  282. package/dist/ai-service/llm/middleware/retry.d.ts +0 -112
  283. package/dist/ai-service/llm/middleware/retry.d.ts.map +0 -1
  284. package/dist/ai-service/llm/middleware/retry.js +0 -239
  285. package/dist/ai-service/llm/middleware/retry.js.map +0 -1
@@ -1,516 +0,0 @@
1
- import { AiEntityType, } from "@superblocksteam/library-shared/types";
2
- import { smoothStream } from "ai";
3
- import z from "zod";
4
- import { getErrorMeta, getLogger, getPrefixedLogger, } from "../../../../util/logger.js";
5
- import { datasourceSdkClassByType, Paths } from "../../../const.js";
6
- import { tracedStreamText } from "../../../llmobs/helpers.js";
7
- import { getContextId } from "../../../state-machine/helpers/context-id.js";
8
- import { YamlToApiBuilderTransformer } from "../../../transform/api-builder/to-sdk-transformer.js";
9
- import { applyFileTransformations, renderPath, } from "../../../transform/shared.js";
10
- import { processLLMConfig } from "../../../util/llm-config-utils.js";
11
- import { hasToolSuccess } from "../../../util/stop-condition.js";
12
- import { getToolCallArguments } from "../../tool-message-utils.js";
13
- import { processStreamChunk } from "../../utils.js";
14
- import { SubagentType } from "../types.js";
15
- import { createToolFactory, ToolCategory } from "./../../tools2/types.js";
16
- import { ApiGenerationContext } from "./context.js";
17
- import { selectExamplesByTags, formatSelectedExamples, } from "./example-selector.js";
18
- import { VALID_TAGS } from "./examples.js";
19
- import { buildApiPrompt } from "./prompt-builder.js";
20
- import { ApiGenerationStateMap } from "./state.js";
21
- import systemPrompt from "./system-prompt.js";
22
- export const readApiSource = async (apiName, services) => {
23
- const yamlPath = renderPath(Paths.ApiYamls, {
24
- apiName,
25
- });
26
- const pathExists = await services.appShell.pathExists(yamlPath);
27
- if (!pathExists) {
28
- return undefined;
29
- }
30
- const yamlArtifact = {
31
- type: "file",
32
- filePath: yamlPath,
33
- content: "", // xform just needs path params
34
- };
35
- const [sdkArtifact] = await applyFileTransformations([yamlArtifact], [
36
- new YamlToApiBuilderTransformer({
37
- appRootDirPath: services.appShell.appRootDirPath,
38
- // TODO(frameworkless): can we use the AST to grab all variable references in scope?
39
- entityNames: [],
40
- skipCleanup: true,
41
- templateRenderer: services.templateRenderer,
42
- }),
43
- ]);
44
- return sdkArtifact;
45
- };
46
- /**
47
- * Build a user-friendly error message from the API generation state
48
- */
49
- const buildDetailedErrorMessage = (finalState, userPrompt, apiName) => {
50
- const errorContext = finalState.errorContext;
51
- const baseError = finalState.error instanceof Error
52
- ? finalState.error.message
53
- : String(finalState.error || "Unknown error");
54
- let message = `Unable to generate API "${apiName}".\n\n`;
55
- // Add what the user requested
56
- const truncatedPrompt = userPrompt.length > 150 ? userPrompt.slice(0, 150) + "..." : userPrompt;
57
- message += `Request: ${truncatedPrompt}\n\n`;
58
- // Add the primary error
59
- message += `Issue: ${baseError}\n`;
60
- // Add context if available
61
- if (errorContext) {
62
- if (errorContext.phase) {
63
- message += `Phase: ${errorContext.phase}\n`;
64
- }
65
- if (errorContext.lastToolCalled) {
66
- message += `Last tool attempted: ${errorContext.lastToolCalled}\n`;
67
- }
68
- if (errorContext.attemptNumber && errorContext.attemptNumber > 1) {
69
- message += `After ${errorContext.attemptNumber} attempts\n`;
70
- }
71
- if (errorContext.suggestion) {
72
- message += `\nSuggestion: ${errorContext.suggestion}`;
73
- }
74
- }
75
- return message;
76
- };
77
- export const generateApiSourceSubagentToolFactory = createToolFactory("build_generateApiSource", (clark, services, promptContext, logRef) => {
78
- const logger = getPrefixedLogger("[api-subagent]");
79
- const model = services.llmProvider.modelForClassification("broad_edit");
80
- const llmConfig = clark.context.llmConfig;
81
- return {
82
- description: `Create or edit API source code. This is a sophisticated subagent you can delegate to and trust to create and edit Superblocks APIs. It works best when you give it high quality input.
83
-
84
- When calling this tool, analyze the user's requirements and provide 2-4 relevant exampleHints tags.
85
- `,
86
- category: ToolCategory.SUBAGENT,
87
- inputSchema: z.object({
88
- apiName: z.string().describe("The name of the API"),
89
- action: z.enum(["create", "edit"]).describe("The action to take"),
90
- prompt: z
91
- .string()
92
- .describe("A comprehensive description of the API and its purpose, including all relevant context or requirements. IMPORTANT: If the API should interact with UI components (like filtering data based on user input), be very explicit about which components to reference and how (e.g., 'Filter results using SearchInput.value' or 'Use the selected item from DropdownMenu.selectedValue')"),
93
- exampleHints: z
94
- .array(z.enum(VALID_TAGS))
95
- .optional()
96
- .describe(`Optional tags to help select relevant examples to guide the API subagent. Provide 2-4 most relevant tags based on the task requirements.`),
97
- }),
98
- execute: async (input) => {
99
- const { apiName, prompt, exampleHints } = input;
100
- // Set up context for the API subagent with thread-safe ownership
101
- const subagentName = `api-subagent-${apiName}`;
102
- const contextId = getContextId(clark, services, subagentName);
103
- const contextOptions = clark.context.llmConfig?.contextOptions;
104
- // Generate a unique owner ID for this subagent execution
105
- const ownerId = `${subagentName}-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
106
- // Acquire exclusive context access with retries
107
- const contextHandle = await services.contextManager.acquireContext(contextId, ownerId, {
108
- contextOptions,
109
- acquireOptions: {
110
- waitTimeoutMs: 10000, // Wait up to 10 seconds for context
111
- lockTimeoutMs: 300000, // Hold lock for up to 5 minutes
112
- retryIntervalMs: 100,
113
- },
114
- });
115
- try {
116
- const context = contextHandle.context;
117
- const mainSystemPrompt = context.getSystemPrompt();
118
- const taggedIntegrationIds = promptContext?.entities
119
- .filter((e) => e.type === AiEntityType.INTEGRATION)
120
- .map((e) => e.id) ?? [];
121
- const eligibleIntegrations = promptContext?.integrations?.filter((integration) => taggedIntegrationIds.includes(integration.id)) ?? [];
122
- let missingIntegrationIds;
123
- const existingSdkApiArtifact = await readApiSource(apiName, services);
124
- if (existingSdkApiArtifact) {
125
- const existingIntegrationIds = services.appContextStore.apiSemanticsByName[apiName]?.blocks
126
- .map((block) => block.id)
127
- .filter((id) => id !== undefined) ?? [];
128
- eligibleIntegrations.push(...existingIntegrationIds
129
- .map((id) => promptContext?.integrations?.find((integration) => integration.id === id))
130
- .filter((x) => x !== undefined));
131
- const promptContextIntegrationIds = new Set(promptContext?.integrations?.map((integration) => integration.id) ?? []);
132
- missingIntegrationIds = existingIntegrationIds.filter((id) => !promptContextIntegrationIds.has(id));
133
- }
134
- if (!clark.context.apiGenStateMap) {
135
- logger.info("Initializing API generation state map");
136
- clark.context.apiGenStateMap = new ApiGenerationStateMap();
137
- }
138
- const apiGenStateMap = clark.context.apiGenStateMap;
139
- const id = apiName;
140
- apiGenStateMap.set(id, {
141
- status: "ready",
142
- isNewApi: !existingSdkApiArtifact,
143
- });
144
- logger.info(`API generation started for ${id} (existing: ${existingSdkApiArtifact ? "yes" : "no"})`);
145
- const tools = await services.toolRegistry.getToolsRecord({
146
- ...clark.getAccessControl(),
147
- subagent: SubagentType.API,
148
- });
149
- // Build API prompt using shared helper
150
- const apiPrompt = buildApiPrompt({
151
- apiName,
152
- userPrompt: prompt,
153
- availableIntegrations: eligibleIntegrations?.map((integration) => ({
154
- name: integration.name,
155
- id: integration.id,
156
- type: datasourceSdkClassByType[integration.type] || integration.type,
157
- })),
158
- existingApiSource: existingSdkApiArtifact?.content,
159
- missingIntegrationIds,
160
- isEdit: !!existingSdkApiArtifact,
161
- });
162
- // Select relevant examples based on hints provided by upstream LLM
163
- const selectedExampleMetadata = selectExamplesByTags(exampleHints, {
164
- maxExamples: 6,
165
- includeNegative: true,
166
- maxTokenBudget: 7000,
167
- });
168
- const examplesContent = formatSelectedExamples(selectedExampleMetadata);
169
- // Log selected examples for debugging
170
- if (exampleHints && exampleHints.length > 0) {
171
- logRef.content += `[EXAMPLE SELECTION] Hints: ${exampleHints.join(", ")}\n`;
172
- logRef.content += `[EXAMPLE SELECTION] Selected: ${selectedExampleMetadata.map((e) => e.id).join(", ")}\n\n`;
173
- }
174
- // Combine system prompt with examples
175
- const fullSystemPrompt = examplesContent
176
- ? `${systemPrompt}\n\n${examplesContent}`
177
- : systemPrompt;
178
- context.setSystemPrompt({
179
- role: "system",
180
- content: fullSystemPrompt,
181
- });
182
- context.startTurn({
183
- role: "user",
184
- content: apiPrompt,
185
- });
186
- // Process LLM configuration
187
- const { providerOptions, headers } = processLLMConfig(llmConfig, 5000, // default budget tokens
188
- `API Subagent (model=${model.modelId})`);
189
- const apiSubagentTrack = "api_subagent";
190
- services.clarkProfiler
191
- .getProfiler()
192
- .createTrack(apiSubagentTrack, "API Subagent", "tool");
193
- return await services.clarkProfiler.getProfiler().timeAsync(`generateApiSource:${apiName}`, async () => {
194
- let stepCount = 0;
195
- let thinkingSpanActive = false;
196
- let textSpanActive = false;
197
- const allReasoningDeltas = [];
198
- let currentStepReasoningDeltas = [];
199
- let currentStepTextDeltas = [];
200
- // Step accumulators for accurate token counting
201
- const startTime = new Date().toISOString();
202
- let totalInputTokens = 0;
203
- let totalOutputTokens = 0;
204
- let totalCachedTokens = 0;
205
- const response = tracedStreamText({
206
- model,
207
- messages: context.getMessages(),
208
- abortSignal: clark.context.abortController?.signal,
209
- providerOptions,
210
- headers,
211
- experimental_transform: [smoothStream({ chunking: "line" })],
212
- tools,
213
- prepareStep: async (step) => {
214
- context.startStep();
215
- const messages = context.getMessages();
216
- return { ...step, messages };
217
- },
218
- stopWhen: hasToolSuccess("finalizeApi"),
219
- onChunk: (chunkData) => {
220
- if (chunkData.chunk.type === "reasoning-delta") {
221
- allReasoningDeltas.push(chunkData.chunk.text);
222
- currentStepReasoningDeltas.push(chunkData.chunk.text);
223
- if (!thinkingSpanActive) {
224
- thinkingSpanActive = true;
225
- services.clarkProfiler
226
- .getProfiler()
227
- .startFrame(`API Thinking Step ${stepCount + 1}`, apiSubagentTrack, {
228
- stepNumber: stepCount + 1,
229
- chunkType: chunkData.chunk.type,
230
- apiName,
231
- });
232
- }
233
- }
234
- if (chunkData.chunk.type === "text-delta") {
235
- currentStepTextDeltas.push(chunkData.chunk.text);
236
- if (!textSpanActive) {
237
- textSpanActive = true;
238
- services.clarkProfiler
239
- .getProfiler()
240
- .startFrame(`API Text Generation Step ${stepCount + 1}`, apiSubagentTrack, {
241
- stepNumber: stepCount + 1,
242
- firstTextDelta: chunkData.chunk.text.slice(0, 50) +
243
- (chunkData.chunk.text.length > 50 ? "..." : ""),
244
- apiName,
245
- });
246
- }
247
- }
248
- },
249
- // Clark often gets the id wrong across tool calls, so we put it in context
250
- experimental_context: new ApiGenerationContext(id),
251
- onStepFinish: async (step) => {
252
- stepCount++;
253
- const stepTimestamp = new Date().toISOString();
254
- context.endStep(step.response.messages, step.usage);
255
- logRef.content += `--- OUTPUT STEP (API subagent) [${stepTimestamp}] ---\n`;
256
- totalInputTokens += step.usage?.inputTokens ?? 0;
257
- if (step.reasoning && thinkingSpanActive) {
258
- services.clarkProfiler
259
- .getProfiler()
260
- .updateActiveFrameArgs(apiSubagentTrack, {
261
- completeReasoningText: currentStepReasoningDeltas.join(" "),
262
- reasoningLength: step.reasoning.length,
263
- stepComplete: true,
264
- apiName,
265
- });
266
- services.clarkProfiler
267
- .getProfiler()
268
- .endFrame(apiSubagentTrack);
269
- thinkingSpanActive = false;
270
- currentStepReasoningDeltas = [];
271
- }
272
- if (step.text && textSpanActive) {
273
- services.clarkProfiler
274
- .getProfiler()
275
- .updateActiveFrameArgs(apiSubagentTrack, {
276
- completeTextContent: currentStepTextDeltas.join(""),
277
- finalText: step.text,
278
- textLength: step.text.length,
279
- stepComplete: true,
280
- apiName,
281
- });
282
- services.clarkProfiler
283
- .getProfiler()
284
- .endFrame(apiSubagentTrack);
285
- textSpanActive = false;
286
- currentStepTextDeltas = [];
287
- }
288
- if (step.reasoning) {
289
- const reasoningLines = [
290
- "[REASONING]",
291
- ...step.reasoning.map(({ text }) => text),
292
- "",
293
- ];
294
- logRef.content += reasoningLines.join("\n");
295
- const reasoningText = step.reasoning
296
- .map(({ text }) => text)
297
- .join(" ");
298
- if (reasoningText.trim()) {
299
- void services.chatSessionStore.recordAssistant({
300
- type: "reasoning",
301
- text: reasoningText,
302
- group: `api-${apiName}`,
303
- });
304
- }
305
- }
306
- if (step.toolCalls.length > 0) {
307
- try {
308
- await Promise.all(step.toolCalls.map(async (toolCall) => {
309
- const args = await getToolCallArguments(toolCall.toolName, toolCall.input, clark);
310
- await services.chatSessionStore.recordAssistant({
311
- type: "tool",
312
- tool: toolCall.toolName,
313
- args: args,
314
- group: `api-${apiName}`,
315
- });
316
- }));
317
- }
318
- catch (error) {
319
- getLogger().error("Failed to record subagent tool calls", getErrorMeta(error));
320
- }
321
- // Track tool errors for better error reporting
322
- step.toolCalls.forEach((toolCall) => {
323
- const toolResult = step.content.find((c) => c.type === "tool-result" &&
324
- c.toolCallId === toolCall.toolCallId);
325
- if (toolResult && toolResult.type === "tool-result") {
326
- // Check if result indicates an error (various formats)
327
- const resultContent = "result" in toolResult
328
- ? toolResult.result
329
- : "content" in toolResult
330
- ? toolResult.content
331
- : null;
332
- const isError = "isError" in toolResult
333
- ? toolResult.isError
334
- : false;
335
- if (isError && resultContent && stateMap) {
336
- const currentState = stateMap.get(id);
337
- if (currentState &&
338
- currentState.status === "building") {
339
- stateMap.set(id, {
340
- ...currentState,
341
- lastToolCalled: toolCall.toolName,
342
- lastToolError: typeof resultContent === "string"
343
- ? resultContent
344
- : JSON.stringify(resultContent),
345
- });
346
- }
347
- }
348
- }
349
- });
350
- }
351
- // Record text messages AFTER tool calls
352
- if (step.text) {
353
- logRef.content += `[ASSISTANT TEXT] ${step.text}\n`;
354
- void services.chatSessionStore.recordAssistant({
355
- type: "text",
356
- text: step.text,
357
- group: `api-${apiName}`,
358
- });
359
- }
360
- // Accumulate token usage for this step
361
- if (step.usage) {
362
- const stepInputTokens = step.usage.inputTokens ?? 0;
363
- const stepOutputTokens = step.usage.outputTokens ?? 0;
364
- const stepCachedTokens = step.usage.cachedInputTokens ?? 0;
365
- // Accumulate tokens across all steps
366
- totalInputTokens += stepInputTokens;
367
- totalOutputTokens += stepOutputTokens;
368
- totalCachedTokens += stepCachedTokens;
369
- }
370
- const toolsCalled = step.content
371
- .filter((c) => c.type === "tool-result")
372
- .map((c) => ({
373
- toolName: c.toolName,
374
- input: JSON.stringify(c.input),
375
- output: JSON.stringify(c.output, null, 2),
376
- }));
377
- if (toolsCalled.length > 0) {
378
- logRef.content += `[TOOLS CALLED]\n`;
379
- toolsCalled.forEach((tool, idx) => {
380
- logRef.content += ` Tool ${idx + 1}: ${tool.toolName}\n`;
381
- logRef.content += ` Input: ${tool.input}\n`;
382
- logRef.content += ` Output: ${tool.output}\n`;
383
- });
384
- toolsCalled.forEach((tool, idx) => {
385
- let parsedInput, parsedOutput;
386
- try {
387
- parsedInput = JSON.parse(tool.input);
388
- }
389
- catch {
390
- parsedInput = tool.input;
391
- }
392
- try {
393
- parsedOutput = JSON.parse(tool.output);
394
- }
395
- catch {
396
- parsedOutput = tool.output;
397
- }
398
- services.clarkProfiler
399
- .getProfiler()
400
- .addInstantEvent(`API Tool Call: ${tool.toolName}`, apiSubagentTrack, {
401
- step: stepCount,
402
- toolIndex: idx + 1,
403
- toolName: tool.toolName,
404
- input: parsedInput,
405
- output: parsedOutput,
406
- inputSize: tool.input.length,
407
- outputSize: tool.output.length,
408
- apiName,
409
- });
410
- });
411
- }
412
- logRef.content += `\n`;
413
- },
414
- onFinish: (result) => {
415
- context.endTurn(result.totalUsage);
416
- if (mainSystemPrompt) {
417
- // restore main system prompt
418
- context.setSystemPrompt(mainSystemPrompt);
419
- }
420
- },
421
- }, clark.tracer, clark.logger);
422
- for await (const chunk of response.fullStream) {
423
- await processStreamChunk(chunk, clark, services, logRef, `api-${apiName}`);
424
- }
425
- if (thinkingSpanActive) {
426
- services.clarkProfiler.getProfiler().endFrame(apiSubagentTrack);
427
- }
428
- if (textSpanActive) {
429
- services.clarkProfiler.getProfiler().endFrame(apiSubagentTrack);
430
- }
431
- try {
432
- const requestTokenData = {
433
- requestId: `api-subagent-${apiName}-${Date.now()}`,
434
- inputTokens: totalInputTokens,
435
- outputTokens: totalOutputTokens,
436
- totalTokens: totalInputTokens + totalOutputTokens,
437
- cachedInputTokens: totalCachedTokens,
438
- model: model.modelId,
439
- startTime: startTime,
440
- endTime: new Date().toISOString(),
441
- };
442
- await clark.context.peer?.call.aiPushTokenUsage(requestTokenData);
443
- }
444
- catch (error) {
445
- // Token tracking is non-critical - log error but don't fail the API generation
446
- getLogger().warn("Failed to send token usage data for API generation", error instanceof Error ? error.message : String(error));
447
- }
448
- const stateMap = clark.context.apiGenStateMap;
449
- if (!stateMap) {
450
- const error = "No API generation state map found in context";
451
- logger.error(error);
452
- return {
453
- success: false,
454
- error,
455
- apiName,
456
- };
457
- }
458
- const finalState = stateMap.get(id);
459
- if (!finalState) {
460
- const error = `No state found for API ${apiName} after generation`;
461
- logger.error(error);
462
- return {
463
- success: false,
464
- error,
465
- apiName,
466
- };
467
- }
468
- try {
469
- if (finalState.status === "finalized") {
470
- logger.info(`API generation succeeded for ${apiName}`);
471
- return {
472
- success: true,
473
- message: finalState.message,
474
- interface: finalState.interface,
475
- apiName,
476
- };
477
- }
478
- if (finalState.status === "failed") {
479
- logger.error(`API generation failed for ${apiName}`, {
480
- error: finalState.error,
481
- errorContext: finalState.errorContext,
482
- });
483
- const errorMessage = buildDetailedErrorMessage(finalState, prompt, apiName);
484
- return {
485
- success: false,
486
- error: errorMessage,
487
- errorContext: finalState.errorContext,
488
- apiName,
489
- };
490
- }
491
- else {
492
- logger.error(`API generation ended in unexpected state for ${apiName}: ${finalState.status}`);
493
- return {
494
- success: false,
495
- error: `API generation ended in unexpected state: ${finalState.status}. The subagent may not have completed its work properly.`,
496
- apiName,
497
- };
498
- }
499
- }
500
- finally {
501
- stateMap.delete(id);
502
- }
503
- }, apiSubagentTrack, {
504
- apiName,
505
- promptLength: apiPrompt.length,
506
- model: model.modelId,
507
- });
508
- }
509
- finally {
510
- // Always release the context lock when done
511
- contextHandle.release();
512
- }
513
- },
514
- };
515
- });
516
- //# sourceMappingURL=generate-api-source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-api-source.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/subagents/apis/generate-api-source.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import type { ApiIdentifier } from "./types.js";
2
- import type { FileArtifact } from "../../../types.js";
3
- /**
4
- * A map to track the generation state of APIs across tool calls identified by their page and API names.
5
- */
6
- export declare class ApiGenerationStateMap {
7
- private map;
8
- private getKey;
9
- get(id: ApiIdentifier): ApiGenerationState | undefined;
10
- set(id: ApiIdentifier, state: ApiGenerationState): void;
11
- has(id: ApiIdentifier): boolean;
12
- delete(id: ApiIdentifier): void;
13
- clear(): void;
14
- }
15
- export type ApiGenerationState = {
16
- isNewApi: boolean;
17
- } & ({
18
- status: "ready";
19
- } | {
20
- status: "building";
21
- attempts: number;
22
- lastError?: unknown;
23
- lastToolCalled?: string;
24
- lastToolError?: string;
25
- } | {
26
- status: "built";
27
- apiYaml: FileArtifact;
28
- } | {
29
- status: "finalizing";
30
- } | {
31
- status: "finalized";
32
- message: string;
33
- interface: {
34
- input: string;
35
- output: string;
36
- };
37
- } | {
38
- status: "failed";
39
- error: unknown;
40
- errorContext?: {
41
- phase: "initialization" | "building" | "finalizing";
42
- attemptNumber?: number;
43
- userPrompt?: string;
44
- lastToolCalled?: string;
45
- lastToolError?: string;
46
- suggestion?: string;
47
- };
48
- });
49
- //# sourceMappingURL=state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/subagents/apis/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,GAAG,CAA8C;IAEzD,OAAO,CAAC,MAAM;IAId,GAAG,CAAC,EAAE,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IAItD,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAIvD,GAAG,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO;IAI/B,MAAM,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI;IAI/B,KAAK,IAAI,IAAI;CAGd;AAGD,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,CACrD;IACE,MAAM,EAAE,OAAO,CAAC;CACjB,GACD;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;CACvB,GACD;IACE,MAAM,EAAE,YAAY,CAAC;CACtB,GACD;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,GACD;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,gBAAgB,GAAG,UAAU,GAAG,YAAY,CAAC;QACpD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CACJ,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * A map to track the generation state of APIs across tool calls identified by their page and API names.
3
- */
4
- export class ApiGenerationStateMap {
5
- map = new Map();
6
- getKey(id) {
7
- return id;
8
- }
9
- get(id) {
10
- return this.map.get(this.getKey(id));
11
- }
12
- set(id, state) {
13
- this.map.set(this.getKey(id), state);
14
- }
15
- has(id) {
16
- return this.map.has(this.getKey(id));
17
- }
18
- delete(id) {
19
- this.map.delete(this.getKey(id));
20
- }
21
- clear() {
22
- this.map.clear();
23
- }
24
- }
25
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/subagents/apis/state.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,GAAG,GAAoC,IAAI,GAAG,EAAE,CAAC;IAEjD,MAAM,CAAC,EAAiB;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,EAAiB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,EAAiB,EAAE,KAAyB;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,EAAiB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,EAAiB;QACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}