@superblocksteam/vite-plugin-file-sync 2.0.83 → 2.0.84-next.1

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 (316) hide show
  1. package/dist/ai-service/agent/middleware.d.ts +36 -0
  2. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  3. package/dist/ai-service/agent/middleware.js +202 -1
  4. package/dist/ai-service/agent/middleware.js.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +1 -1
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +101 -57
  8. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  9. package/dist/ai-service/agent/tool-message-utils.js +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/api-executor.js +1 -1
  12. package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +1 -1
  15. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
  16. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +23 -7
  18. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
  19. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/apis/build-api.js +36 -19
  21. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  22. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +1 -1
  23. package/dist/ai-service/agent/tools/apis/sample-json.js +1 -1
  24. package/dist/ai-service/agent/tools/apis/sample-json.js.map +1 -1
  25. package/dist/ai-service/agent/tools/apis/test-api.d.ts +11 -1
  26. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools/apis/test-api.js +95 -54
  28. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  29. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +6 -1
  30. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools/build-capture-screenshot.js +26 -12
  32. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  33. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools/build-debug.js +30 -10
  35. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  36. package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
  37. package/dist/ai-service/agent/tools/build-delete-file.js +6 -2
  38. package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
  39. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/build-edit-file.js +20 -5
  41. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  42. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-finalize.js +30 -4
  44. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  45. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  46. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/build-multi-edit-file.js +14 -4
  48. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  49. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  50. package/dist/ai-service/agent/tools/build-read-file.js +23 -11
  51. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  52. package/dist/ai-service/agent/tools/debug-cache.js +1 -1
  53. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  54. package/dist/ai-service/agent/tools/get-logs.d.ts +72 -0
  55. package/dist/ai-service/agent/tools/get-logs.d.ts.map +1 -0
  56. package/dist/ai-service/agent/tools/get-logs.js +343 -0
  57. package/dist/ai-service/agent/tools/get-logs.js.map +1 -0
  58. package/dist/ai-service/agent/tools/index.d.ts +1 -1
  59. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  60. package/dist/ai-service/agent/tools/index.js +1 -1
  61. package/dist/ai-service/agent/tools/index.js.map +1 -1
  62. package/dist/ai-service/agent/tools/integrations/errors.d.ts +9 -0
  63. package/dist/ai-service/agent/tools/integrations/errors.d.ts.map +1 -0
  64. package/dist/ai-service/agent/tools/integrations/errors.js +35 -0
  65. package/dist/ai-service/agent/tools/integrations/errors.js.map +1 -0
  66. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  67. package/dist/ai-service/agent/tools/integrations/execute-request.js +20 -5
  68. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  69. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  70. package/dist/ai-service/agent/tools/integrations/internal.js +12 -3
  71. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  72. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  73. package/dist/ai-service/agent/tools.js +19 -28
  74. package/dist/ai-service/agent/tools.js.map +1 -1
  75. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools2/registry.js +37 -15
  77. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  78. package/dist/ai-service/agent/tools2/tools/bash.d.ts +1 -1
  79. package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -1
  80. package/dist/ai-service/agent/tools2/tools/edit.js +9 -4
  81. package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -1
  82. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +1 -1
  83. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  84. package/dist/ai-service/agent/tools2/tools/grep.js +73 -7
  85. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  86. package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
  87. package/dist/ai-service/agent/tools2/tools/read.js +9 -4
  88. package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
  89. package/dist/ai-service/agent/tools2/types.d.ts +40 -8
  90. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  91. package/dist/ai-service/agent/tools2/types.js +41 -3
  92. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  93. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +0 -1
  94. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  95. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +60 -54
  96. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  97. package/dist/ai-service/chat/chat-session-store.d.ts +6 -0
  98. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  99. package/dist/ai-service/chat/chat-session-store.js +44 -0
  100. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  101. package/dist/ai-service/facts/helpers.d.ts +9 -0
  102. package/dist/ai-service/facts/helpers.d.ts.map +1 -0
  103. package/dist/ai-service/facts/helpers.js +72 -0
  104. package/dist/ai-service/facts/helpers.js.map +1 -0
  105. package/dist/ai-service/facts/index.d.ts +4 -0
  106. package/dist/ai-service/facts/index.d.ts.map +1 -0
  107. package/dist/ai-service/facts/index.js +3 -0
  108. package/dist/ai-service/facts/index.js.map +1 -0
  109. package/dist/ai-service/facts/knowledge-manager.d.ts +51 -0
  110. package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -0
  111. package/dist/ai-service/facts/knowledge-manager.js +202 -0
  112. package/dist/ai-service/facts/knowledge-manager.js.map +1 -0
  113. package/dist/ai-service/features.d.ts +8 -0
  114. package/dist/ai-service/features.d.ts.map +1 -1
  115. package/dist/ai-service/features.js +8 -0
  116. package/dist/ai-service/features.js.map +1 -1
  117. package/dist/ai-service/index.d.ts +34 -2
  118. package/dist/ai-service/index.d.ts.map +1 -1
  119. package/dist/ai-service/index.js +112 -18
  120. package/dist/ai-service/index.js.map +1 -1
  121. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  122. package/dist/ai-service/integrations/metadata-storage/local.js +4 -2
  123. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  124. package/dist/ai-service/integrations/store.d.ts +6 -3
  125. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  126. package/dist/ai-service/integrations/store.js +96 -6
  127. package/dist/ai-service/integrations/store.js.map +1 -1
  128. package/dist/ai-service/judge/judge-executor.js +1 -1
  129. package/dist/ai-service/judge/judge-executor.js.map +1 -1
  130. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  131. package/dist/ai-service/llm/client.d.ts.map +1 -1
  132. package/dist/ai-service/llm/client.js +26 -13
  133. package/dist/ai-service/llm/client.js.map +1 -1
  134. package/dist/ai-service/llm/context-v2/adapter.d.ts +2 -0
  135. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  136. package/dist/ai-service/llm/context-v2/adapter.js +6 -0
  137. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  138. package/dist/ai-service/llm/context-v2/context.d.ts +19 -0
  139. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  140. package/dist/ai-service/llm/context-v2/context.js +64 -1
  141. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  142. package/dist/ai-service/llm/context-v2/conversation-context.d.ts +11 -1
  143. package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
  144. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  145. package/dist/ai-service/llm/context-v2/manager.js +5 -0
  146. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  147. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +1 -1
  148. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
  149. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +42 -6
  150. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
  151. package/dist/ai-service/llm/context-v2/types.d.ts +4 -0
  152. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  153. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  154. package/dist/ai-service/llm/error.js +1 -1
  155. package/dist/ai-service/llm/error.js.map +1 -1
  156. package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -5
  157. package/dist/ai-service/llm/stream/config.d.ts +1 -1
  158. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  159. package/dist/ai-service/llm/stream/config.js.map +1 -1
  160. package/dist/ai-service/llm/stream/observers/llmobs.js +1 -1
  161. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  162. package/dist/ai-service/llm/stream/observers/logging.d.ts +20 -0
  163. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  164. package/dist/ai-service/llm/stream/observers/logging.js +115 -18
  165. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  166. package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
  167. package/dist/ai-service/llm/stream/observers/retry-notification.js +2 -1
  168. package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
  169. package/dist/ai-service/llm/stream/orchestrator.js +4 -4
  170. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  171. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  172. package/dist/ai-service/llm/stream/retry-engine.js +1 -1
  173. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  174. package/dist/ai-service/llmobs/otel-exporter.d.ts +111 -14
  175. package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
  176. package/dist/ai-service/llmobs/otel-exporter.js +441 -66
  177. package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
  178. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  179. package/dist/ai-service/llmobs/tracer.js +40 -4
  180. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  181. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  182. package/dist/ai-service/mcp/playwright-server.js +11 -2
  183. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  184. package/dist/ai-service/recording/index.d.ts +25 -0
  185. package/dist/ai-service/recording/index.d.ts.map +1 -0
  186. package/dist/ai-service/recording/index.js +27 -0
  187. package/dist/ai-service/recording/index.js.map +1 -0
  188. package/dist/ai-service/recording/recorders/llm-recorder.d.ts +35 -0
  189. package/dist/ai-service/recording/recorders/llm-recorder.d.ts.map +1 -0
  190. package/dist/ai-service/recording/recorders/llm-recorder.js +221 -0
  191. package/dist/ai-service/recording/recorders/llm-recorder.js.map +1 -0
  192. package/dist/ai-service/recording/recorders/socket-recorder.d.ts +38 -0
  193. package/dist/ai-service/recording/recorders/socket-recorder.d.ts.map +1 -0
  194. package/dist/ai-service/recording/recorders/socket-recorder.js +44 -0
  195. package/dist/ai-service/recording/recorders/socket-recorder.js.map +1 -0
  196. package/dist/ai-service/recording/recorders/tool-recorder.d.ts +25 -0
  197. package/dist/ai-service/recording/recorders/tool-recorder.d.ts.map +1 -0
  198. package/dist/ai-service/recording/recorders/tool-recorder.js +58 -0
  199. package/dist/ai-service/recording/recorders/tool-recorder.js.map +1 -0
  200. package/dist/ai-service/recording/recording-manager.d.ts +104 -0
  201. package/dist/ai-service/recording/recording-manager.d.ts.map +1 -0
  202. package/dist/ai-service/recording/recording-manager.js +308 -0
  203. package/dist/ai-service/recording/recording-manager.js.map +1 -0
  204. package/dist/ai-service/recording/storage/session-recording-storage.d.ts +143 -0
  205. package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -0
  206. package/dist/ai-service/recording/storage/session-recording-storage.js +374 -0
  207. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -0
  208. package/dist/ai-service/recording/types.d.ts +148 -0
  209. package/dist/ai-service/recording/types.d.ts.map +1 -0
  210. package/dist/ai-service/recording/types.js +8 -0
  211. package/dist/ai-service/recording/types.js.map +1 -0
  212. package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
  213. package/dist/ai-service/security/safety-classifier.js +9 -3
  214. package/dist/ai-service/security/safety-classifier.js.map +1 -1
  215. package/dist/ai-service/skills/index.d.ts +23 -11
  216. package/dist/ai-service/skills/index.d.ts.map +1 -1
  217. package/dist/ai-service/skills/index.js +86 -21
  218. package/dist/ai-service/skills/index.js.map +1 -1
  219. package/dist/ai-service/skills/system/_registry.generated.d.ts +6 -0
  220. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -0
  221. package/dist/ai-service/skills/system/_registry.generated.js +24 -0
  222. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -0
  223. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts +1 -1
  224. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts.map +1 -1
  225. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js +56 -0
  226. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js.map +1 -1
  227. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
  228. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
  229. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +143 -11
  230. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
  231. package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts +1 -1
  232. package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts.map +1 -1
  233. package/dist/ai-service/skills/system/superblocks-api/skill.generated.js +130 -3
  234. package/dist/ai-service/skills/system/superblocks-api/skill.generated.js.map +1 -1
  235. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts +2 -0
  236. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts.map +1 -0
  237. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js +155 -0
  238. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js.map +1 -0
  239. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  240. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  241. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +97 -17
  242. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  243. package/dist/ai-service/skills/types.d.ts +24 -0
  244. package/dist/ai-service/skills/types.d.ts.map +1 -1
  245. package/dist/ai-service/skills/types.js +45 -0
  246. package/dist/ai-service/skills/types.js.map +1 -1
  247. package/dist/ai-service/state-machine/clark-fsm.d.ts +33 -2
  248. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  249. package/dist/ai-service/state-machine/clark-fsm.js +6 -1
  250. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  251. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  252. package/dist/ai-service/state-machine/handlers/agent-planning.js +24 -21
  253. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  254. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  255. package/dist/ai-service/state-machine/handlers/llm-generating.js +120 -5
  256. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  257. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  258. package/dist/ai-service/state-machine/mocks.js +23 -0
  259. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  260. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  261. package/dist/ai-service/state-machine/traced-fsm.js +1 -1
  262. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  263. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  264. package/dist/file-sync-vite-plugin.js +52 -22
  265. package/dist/file-sync-vite-plugin.js.map +1 -1
  266. package/dist/ids.d.ts +1 -0
  267. package/dist/ids.d.ts.map +1 -1
  268. package/dist/ids.js +3 -0
  269. package/dist/ids.js.map +1 -1
  270. package/dist/refactor/entities.d.ts.map +1 -1
  271. package/dist/refactor/entities.js +0 -1
  272. package/dist/refactor/entities.js.map +1 -1
  273. package/dist/socket-manager.d.ts.map +1 -1
  274. package/dist/socket-manager.js +26 -4
  275. package/dist/socket-manager.js.map +1 -1
  276. package/dist/sync-service/index.d.ts +4 -0
  277. package/dist/sync-service/index.d.ts.map +1 -1
  278. package/dist/sync-service/index.js +6 -0
  279. package/dist/sync-service/index.js.map +1 -1
  280. package/dist/util/log-sanitizer.d.ts +42 -0
  281. package/dist/util/log-sanitizer.d.ts.map +1 -0
  282. package/dist/util/log-sanitizer.js +177 -0
  283. package/dist/util/log-sanitizer.js.map +1 -0
  284. package/dist/util/logger.d.ts +4 -0
  285. package/dist/util/logger.d.ts.map +1 -1
  286. package/dist/util/logger.js +77 -19
  287. package/dist/util/logger.js.map +1 -1
  288. package/package.json +17 -14
  289. package/dist/ai-service/agent/tools/get-console-logs.d.ts +0 -29
  290. package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +0 -1
  291. package/dist/ai-service/agent/tools/get-console-logs.js +0 -171
  292. package/dist/ai-service/agent/tools/get-console-logs.js.map +0 -1
  293. package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +0 -2
  294. package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +0 -1
  295. package/dist/ai-service/test-utils/anthropic-service-mock.js +0 -91
  296. package/dist/ai-service/test-utils/anthropic-service-mock.js.map +0 -1
  297. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +0 -3
  298. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +0 -1
  299. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +0 -886
  300. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +0 -1
  301. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts +0 -3
  302. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts.map +0 -1
  303. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js +0 -70
  304. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js.map +0 -1
  305. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +0 -3
  306. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +0 -1
  307. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +0 -109
  308. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +0 -1
  309. package/dist/ai-service/test-utils/mock-utils.d.ts +0 -12
  310. package/dist/ai-service/test-utils/mock-utils.d.ts.map +0 -1
  311. package/dist/ai-service/test-utils/mock-utils.js +0 -70
  312. package/dist/ai-service/test-utils/mock-utils.js.map +0 -1
  313. package/dist/ai-service/util/safe-stringify.d.ts +0 -2
  314. package/dist/ai-service/util/safe-stringify.d.ts.map +0 -1
  315. package/dist/ai-service/util/safe-stringify.js +0 -75
  316. package/dist/ai-service/util/safe-stringify.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import type { ToolMiddleware } from "./tools2/types.js";
2
+ import type { Logger } from "../../util/logger.js";
2
3
  export declare const DEFAULT_MAX_OUTPUT_CHARS = 25000;
3
4
  /**
4
5
  * Middleware to limit the output length of a tool's execute method.
@@ -27,4 +28,39 @@ export declare function secretScanningMiddleware(options?: {
27
28
  enabled?: boolean;
28
29
  timeout?: number;
29
30
  }): ToolMiddleware;
31
+ /**
32
+ * Error metadata safe for Tier 2 logging (excludes stack traces and sensitive context).
33
+ *
34
+ * Uses the same `kind` field as `ErrorMeta` from logger.ts for structural
35
+ * compatibility, but omits stack traces which contain file paths (Tier 1 only).
36
+ */
37
+ export interface Tier2ErrorMeta {
38
+ error: {
39
+ kind: string;
40
+ message: string;
41
+ };
42
+ }
43
+ /**
44
+ * Extracts error metadata safe for Tier 2 logging.
45
+ * Excludes stack traces (contain file paths) and response bodies (may contain secrets).
46
+ *
47
+ * Contrast with `getErrorMeta` from logger.ts which preserves stack traces
48
+ * for local/Tier 1 logging.
49
+ *
50
+ * @param error - The error to extract metadata from
51
+ * @returns Error metadata suitable for Tier 2 logging (no stack traces)
52
+ */
53
+ export declare function getTier2ErrorMeta(error: unknown): Tier2ErrorMeta;
54
+ /**
55
+ * Middleware to log tool execution with safe error handling.
56
+ *
57
+ * Tool inputs and outputs are logged through the wrapped logger, which applies
58
+ * regex-based secret sanitization (sanitizeLogMessage/sanitizeLogObject) automatically.
59
+ * Heavy secret scanning (Trufflehog) is intentionally NOT done on inputs here --
60
+ * tool inputs are LLM-generated and the user prompt is already scanned upstream.
61
+ *
62
+ * @param logger - Logger instance to use for logging
63
+ * @returns ToolMiddleware that logs tool execution
64
+ */
65
+ export declare function toolLoggingMiddleware(logger: Logger): ToolMiddleware;
30
66
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/middleware.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,GAAE,MAAiC,GAC1C,cAAc,CA0BhB;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,cAAc,CAsCjB"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/middleware.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,GAAE,MAAiC,GAC1C,cAAc,CA0BhB;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,cAAc,CAsCjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KAEjB,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAiBhE;AAiLD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CA0BpE"}
@@ -1,8 +1,12 @@
1
+ import { safeJsonStringify, sanitizeLogMessage, sanitizeLogObject, } from "../../util/log-sanitizer.js";
1
2
  import { scanContentForSecrets, SecretRedactor } from "../security/index.js";
2
- import { safeJsonStringify } from "../util/safe-stringify.js";
3
+ import { getApiDocsToolFactory } from "./tools/apis/get-api-docs.js";
3
4
  import { testApiToolFactory } from "./tools/apis/test-api.js";
4
5
  import { buildReadFileToolFactory } from "./tools/build-read-file.js";
5
6
  import { executeRequestToIntegrationToolFactory } from "./tools/index.js";
7
+ import { grepToolFactory } from "./tools2/tools/grep.js";
8
+ import { webFetchToolFactory } from "./tools2/tools/web-fetch.js";
9
+ import { ToolExecutionError } from "./tools2/types.js";
6
10
  // I am seeing 1 character map to 2 tokens for these large JSON outputs in practice, so setting the limit
7
11
  // here to 25k characters. 50k tokens is a huge output.
8
12
  export const DEFAULT_MAX_OUTPUT_CHARS = 25_000;
@@ -55,6 +59,14 @@ const SECRET_SCAN_ENABLED_TOOLS = new Set([
55
59
  testApiToolFactory.name,
56
60
  executeRequestToIntegrationToolFactory.name,
57
61
  ]);
62
+ const TOOL_LOG_SUMMARY_NAMES = {
63
+ buildReadFile: buildReadFileToolFactory.name,
64
+ executeRequestToIntegration: executeRequestToIntegrationToolFactory.name,
65
+ getApiDocs: getApiDocsToolFactory.name,
66
+ grep: grepToolFactory.name,
67
+ testApi: testApiToolFactory.name,
68
+ webFetch: webFetchToolFactory.name,
69
+ };
58
70
  /**
59
71
  * Middleware to scan and redact secrets from tool outputs.
60
72
  *
@@ -97,4 +109,193 @@ export function secretScanningMiddleware(options) {
97
109
  };
98
110
  };
99
111
  }
112
+ /**
113
+ * Extracts error metadata safe for Tier 2 logging.
114
+ * Excludes stack traces (contain file paths) and response bodies (may contain secrets).
115
+ *
116
+ * Contrast with `getErrorMeta` from logger.ts which preserves stack traces
117
+ * for local/Tier 1 logging.
118
+ *
119
+ * @param error - The error to extract metadata from
120
+ * @returns Error metadata suitable for Tier 2 logging (no stack traces)
121
+ */
122
+ export function getTier2ErrorMeta(error) {
123
+ if (error instanceof Error) {
124
+ return {
125
+ error: {
126
+ kind: error.name,
127
+ message: sanitizeLogMessage(error.message),
128
+ // No stack trace - contains file paths (Tier 1 only)
129
+ },
130
+ };
131
+ }
132
+ return {
133
+ error: {
134
+ kind: "Unknown Error",
135
+ message: sanitizeLogMessage(String(error)),
136
+ },
137
+ };
138
+ }
139
+ function summarizeToolResultForLogs(toolName, result) {
140
+ const sanitizedResult = sanitizeLogObject(result);
141
+ const serializedSanitizedResult = JSON.stringify(sanitizedResult);
142
+ const fallbackSummary = (type) => ({
143
+ fallback: true,
144
+ outputChars: serializedSanitizedResult?.length ?? 0,
145
+ type,
146
+ });
147
+ if (toolName === TOOL_LOG_SUMMARY_NAMES.buildReadFile) {
148
+ if (typeof sanitizedResult !== "string") {
149
+ return fallbackSummary(Array.isArray(sanitizedResult) ? "array" : typeof sanitizedResult);
150
+ }
151
+ const rangeMatches = [...sanitizedResult.matchAll(/<content range="/g)];
152
+ const totalLinesMatch = sanitizedResult.match(/<file lines="(\d+)">/);
153
+ return {
154
+ outputChars: sanitizedResult.length,
155
+ rangeCount: rangeMatches.length,
156
+ totalLines: totalLinesMatch?.[1] ? Number(totalLinesMatch[1]) : undefined,
157
+ };
158
+ }
159
+ if (toolName === TOOL_LOG_SUMMARY_NAMES.executeRequestToIntegration) {
160
+ if (!sanitizedResult ||
161
+ typeof sanitizedResult !== "object" ||
162
+ Array.isArray(sanitizedResult)) {
163
+ return fallbackSummary(Array.isArray(sanitizedResult) ? "array" : typeof sanitizedResult);
164
+ }
165
+ const root = sanitizedResult;
166
+ const outputValue = root.output;
167
+ const outputRecord = outputValue &&
168
+ typeof outputValue === "object" &&
169
+ !Array.isArray(outputValue)
170
+ ? outputValue
171
+ : undefined;
172
+ const records = outputRecord && Array.isArray(outputRecord.records)
173
+ ? outputRecord.records
174
+ : undefined;
175
+ return {
176
+ hasOutput: outputValue !== undefined,
177
+ isPartial: root.isPartial === true,
178
+ outputChars: JSON.stringify(outputValue)?.length ?? 0,
179
+ recordCount: Array.isArray(outputValue)
180
+ ? outputValue.length
181
+ : records?.length,
182
+ };
183
+ }
184
+ if (toolName === TOOL_LOG_SUMMARY_NAMES.grep) {
185
+ if (!sanitizedResult ||
186
+ typeof sanitizedResult !== "object" ||
187
+ Array.isArray(sanitizedResult)) {
188
+ return fallbackSummary(Array.isArray(sanitizedResult) ? "array" : typeof sanitizedResult);
189
+ }
190
+ const root = sanitizedResult;
191
+ const outputValue = JSON.stringify(root.output);
192
+ return {
193
+ matches: root.matches,
194
+ outputChars: outputValue?.length ?? 0,
195
+ };
196
+ }
197
+ if (toolName === TOOL_LOG_SUMMARY_NAMES.webFetch) {
198
+ if (!sanitizedResult ||
199
+ typeof sanitizedResult !== "object" ||
200
+ Array.isArray(sanitizedResult)) {
201
+ return fallbackSummary(Array.isArray(sanitizedResult) ? "array" : typeof sanitizedResult);
202
+ }
203
+ const root = sanitizedResult;
204
+ const content = typeof root.content === "string" ? root.content : undefined;
205
+ return {
206
+ contentChars: content?.length,
207
+ isRedirect: root.type === "redirect",
208
+ redirectUrl: root.type === "redirect" && typeof root.redirectUrl === "string"
209
+ ? root.redirectUrl
210
+ : undefined,
211
+ };
212
+ }
213
+ if (toolName === TOOL_LOG_SUMMARY_NAMES.getApiDocs) {
214
+ if (!sanitizedResult ||
215
+ typeof sanitizedResult !== "object" ||
216
+ Array.isArray(sanitizedResult)) {
217
+ return fallbackSummary(Array.isArray(sanitizedResult) ? "array" : typeof sanitizedResult);
218
+ }
219
+ const root = sanitizedResult;
220
+ const documentation = typeof root.documentation === "string" ? root.documentation : undefined;
221
+ const sectionsIncluded = Array.isArray(root.sectionsIncluded)
222
+ ? root.sectionsIncluded
223
+ : undefined;
224
+ return {
225
+ documentationChars: documentation?.length,
226
+ integrationCount: root.integrationCount,
227
+ sectionsCount: sectionsIncluded?.length,
228
+ verbosity: root.verbosity,
229
+ };
230
+ }
231
+ if (toolName !== TOOL_LOG_SUMMARY_NAMES.testApi) {
232
+ return sanitizedResult;
233
+ }
234
+ if (!sanitizedResult ||
235
+ typeof sanitizedResult !== "object" ||
236
+ Array.isArray(sanitizedResult)) {
237
+ return sanitizedResult;
238
+ }
239
+ const root = sanitizedResult;
240
+ const resultObject = root.result &&
241
+ typeof root.result === "object" &&
242
+ !Array.isArray(root.result)
243
+ ? root.result
244
+ : undefined;
245
+ const stepOutputs = resultObject?.stepOutputs &&
246
+ typeof resultObject.stepOutputs === "object" &&
247
+ !Array.isArray(resultObject.stepOutputs)
248
+ ? resultObject.stepOutputs
249
+ : undefined;
250
+ return {
251
+ apiName: root.apiName,
252
+ message: root.message,
253
+ result: resultObject
254
+ ? {
255
+ errorCount: Array.isArray(resultObject.errors)
256
+ ? resultObject.errors.length
257
+ : undefined,
258
+ executionTime: resultObject.executionTime,
259
+ hasOutputs: resultObject.outputs !== undefined && resultObject.outputs !== null,
260
+ hasStepOutputs: Boolean(stepOutputs),
261
+ stepOutputCount: stepOutputs ? Object.keys(stepOutputs).length : 0,
262
+ success: resultObject.success,
263
+ }
264
+ : undefined,
265
+ };
266
+ }
267
+ /**
268
+ * Middleware to log tool execution with safe error handling.
269
+ *
270
+ * Tool inputs and outputs are logged through the wrapped logger, which applies
271
+ * regex-based secret sanitization (sanitizeLogMessage/sanitizeLogObject) automatically.
272
+ * Heavy secret scanning (Trufflehog) is intentionally NOT done on inputs here --
273
+ * tool inputs are LLM-generated and the user prompt is already scanned upstream.
274
+ *
275
+ * @param logger - Logger instance to use for logging
276
+ * @returns ToolMiddleware that logs tool execution
277
+ */
278
+ export function toolLoggingMiddleware(logger) {
279
+ return (tool) => {
280
+ return {
281
+ ...tool,
282
+ async execute(input, executeOptions) {
283
+ logger.info(`[tool:${tool.name}] ●`, input);
284
+ try {
285
+ const result = await tool.execute?.(input, executeOptions);
286
+ logger.info(`[tool:${tool.name}] ✔`, summarizeToolResultForLogs(tool.name, result));
287
+ return result;
288
+ }
289
+ catch (error) {
290
+ // Use Tier 2 error metadata (no stack traces, no sensitive context)
291
+ const errorMeta = getTier2ErrorMeta(error);
292
+ const message = `[tool:${tool.name}] ✗ ${errorMeta.error.message}`;
293
+ const severity = error instanceof ToolExecutionError ? error.severity : "error";
294
+ logger[severity](message, errorMeta);
295
+ throw error;
296
+ }
297
+ },
298
+ };
299
+ };
300
+ }
100
301
  //# sourceMappingURL=middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/ai-service/agent/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/ai-service/agent/middleware.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { AiServiceConfig } from "../../types.js";
2
2
  import type { AiMode } from "@superblocksteam/library-shared/types";
3
- export declare const buildBaseSystemPrompt: (config: AiServiceConfig, mode?: AiMode) => string;
3
+ export declare const buildBaseSystemPrompt: (config: AiServiceConfig, mode?: AiMode, factsSection?: string) => string;
4
4
  //# sourceMappingURL=build-base-system-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-base-system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,OAAO,MAAM,WAmxBd,CAAC"}
1
+ {"version":3,"file":"build-base-system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAIpE,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,OAAO,MAAM,EACb,eAAe,MAAM,WAqKtB,CAAC"}
@@ -1,4 +1,7 @@
1
- export const buildBaseSystemPrompt = (config, mode) => {
1
+ import { getErrorMeta, getPrefixedLogger } from "../../../util/logger.js";
2
+ import { generateSkillsXml } from "../../skills/index.js";
3
+ const logger = getPrefixedLogger("[Skills]");
4
+ export const buildBaseSystemPrompt = (config, mode, factsSection) => {
2
5
  let preamble = "";
3
6
  if (mode !== undefined) {
4
7
  preamble = `## System Instructions
@@ -30,22 +33,22 @@ Here are some additional guidelines to follow:
30
33
  }
31
34
  const safetyGuidance = config.features.safetyGuidancePrompt ?? DEFAULT_SAFETY_GUIDANCE;
32
35
  const currentDate = new Date().toISOString().split("T")[0];
36
+ const useSkills = config.features.useSystemSkills;
37
+ // Try to build skills guidance if enabled, with fallback to detailed guidance
38
+ const skillsGuidance = useSkills ? buildSkillsSystemGuidance() : null;
39
+ const skillsLoaded = skillsGuidance !== null;
40
+ // Use detailed guidance sections if skills are disabled OR if skills failed to load
41
+ const detailedGuidance = skillsLoaded ? "" : DETAILED_GUIDANCE_SECTIONS;
33
42
  return (preamble +
34
43
  /*md*/ `You are Clark, the Engineer Agent for the Superblocks platform based on the React framework.
35
44
 
36
45
  Today is ${currentDate}.
37
46
 
47
+ **IMPORTANT: Do not reveal your underlying model or the AI provider/technology powering you.** If asked about which AI model you are, who built you (beyond Superblocks), or technical implementation details, respond as Clark without mentioning specific model names, providers, or vendor details. You can describe your capabilities as a Superblocks agent.
48
+
38
49
  The user is viewing their application in the editor UI.
39
50
  Your job is to understand the user request, make a plan, and then act upon the plan. Do not hold back, the user's success is your success.
40
51
 
41
- For complex multi-step tasks, use the build_manageChecklist tool to:
42
- - Create a dynamic checklist of tasks to complete
43
- - Update task status as you progress (pending → in_progress → completed)
44
- - Add new tasks as you discover them during execution
45
- - Provide clear visibility into your progress for the user
46
-
47
- Start complex tasks by creating an initial checklist, then update it throughout your work.
48
-
49
52
  Before you start building applications, you must first understand user's intent, goals, and the current context of the application.
50
53
 
51
54
  Think holistically about what the user wants to achieve. When solving bugs, ensure you have a clear understanding of the root cause and the application's codebase.
@@ -56,6 +59,7 @@ IMPORTANT: to explore the application structure, use tools:
56
59
  - 'ls' to browse directories and see file metadata (sizes, timestamps)
57
60
  - 'glob' to find files matching patterns across the directory tree (e.g., "**/*.tsx")
58
61
  - 'grep' to search for specific code patterns or text within files
62
+ ${skillsGuidance ?? ""}
59
63
 
60
64
  **CRITICAL: Proactively use web tools when questions may require current information.**
61
65
 
@@ -85,40 +89,7 @@ After searching, use 'web_fetch' to read specific pages when search snippets don
85
89
  ${safetyGuidance}
86
90
  </safety_guidance>
87
91
 
88
- <engineering_best_practices>
89
- **CRITICAL: Act like a professional engineer solving real problems.**
90
- Always represent loading with skeletons (shimmers), not spinners or empty screens.
91
-
92
-
93
- When a user requests a feature, your goal is to implement it properly using industry-standard tools and libraries - not to hack together workarounds.
94
-
95
- ### Using External Libraries
96
-
97
- **When to install packages:**
98
- - User requests a feature that has well-established libraries (e.g. drag-and-drop, flow diagrams, PDF generation, markdown rendering, rich text editors)
99
- - Implementing from scratch would be significantly more complex or inferior
100
- - The library is widely used and well-maintained in the React ecosystem
101
-
102
- When you identify the need for a library, install it immediately before implementing the feature.
103
-
104
- **DO NOT:**
105
- - ❌ Implement hacky solutions when proper libraries exist
106
- - ❌ Tell users "we can't do that" without checking if a library can help
107
- - ❌ Settle for inferior workarounds when the right tool is available
108
- - ❌ Reinvent the wheel for complex features
109
-
110
- If a professional engineer would reach for a library to solve this problem, so should you. Your job is to deliver quality solutions.
111
-
112
- ### Complete the Workflow - Including Cleanup
113
-
114
- When making changes that replace existing functionality:
115
- 1. Create new files/components
116
- 2. Update all references (router, imports, etc.)
117
- 3. **Identify orphaned files** - check for files that are no longer used
118
- 4. **Suggest deletion** - proactively propose removing unused files
119
-
120
- Think of cleanup as the final step: build → identify orphans → suggest deletion → user approves.
121
- </engineering_best_practices>
92
+ ${factsSection ?? ""}
122
93
 
123
94
  <critical_rules>
124
95
  ## 🚨 CRITICAL RULES - NEVER VIOLATE THESE
@@ -160,13 +131,86 @@ ALWAYS read components using tools like \`grep\` and \`glob\` when you do not ha
160
131
  \`\`\`
161
132
  - These components must remain even if they appear to be "unused wrappers"
162
133
 
134
+ **Performance is NON-NEGOTIABLE:**
135
+ - ALWAYS paginate tables and lists — NEVER render more than 50 rows without pagination (default page size: 20)
136
+ - For 200+ rows, prefer server-side pagination; use cursor/keyset pagination for high offsets instead of \`LIMIT\`/\`OFFSET\`
137
+ - For 500+ item lists where pagination doesn't fit the UX (chat, infinite scroll, large dropdowns), use virtualization (\`react-virtuoso\` or \`@tanstack/react-virtual\`) to render only visible items
138
+ - ALWAYS debounce search/filter inputs that trigger API calls or expensive computation (minimum 300ms)
139
+ - ALWAYS include LIMIT in SQL queries
140
+ - NEVER render unbounded API data with \`.map()\` — always paginate or limit the displayed set
141
+ - Use memoization (\`memo()\`, \`useMemo\`, \`useCallback\`) when it prevents measurable re-renders or expensive recomputation
142
+ - ALWAYS clean up timers, event listeners, and subscriptions in \`useEffect\` return functions to prevent memory leaks and state-update-after-unmount errors
143
+ - When debouncing or fetching data, use the \`cancel()\` function from \`useApi\` to cancel in-flight API requests on unmount or when a newer request supersedes the previous one — prevents race conditions where stale responses overwrite fresh data
144
+
163
145
  </critical_rules>
164
146
 
165
147
  <focused_entities>
166
148
  If the user has focused the editor on one or more entities, you must do your best to constrain your actions to affect only those entities. Editing outside of the focused entities is only allowed if it is necessary to complete the user's request.
167
149
  </focused_entities>
150
+ ${detailedGuidance}
151
+ <tool_call_guidance>
152
+ **Parallel calls:** For maximum efficiency, invoke all independent operations simultaneously.
153
+
154
+ **Tool inputs:** Adhere to each tool's input schema. Always pass JSON object for tool inputs.
155
+
156
+ **Deleting APIs:** When deleting an API, only delete the \`apis/ApiName.ts\` file. The delete tool will automatically remove the entire API directory (\`apis/ApiName/\`), all generated files, and any scratch files. Do NOT make multiple delete calls for the same API.
157
+ </tool_call_guidance>
158
+ `);
159
+ };
160
+ /**
161
+ * Build skills system guidance dynamically based on available skills.
162
+ * Scans the system skills directory and generates XML listing.
163
+ *
164
+ * @returns Skills guidance string, or null if skills failed to load (triggers fallback)
165
+ */
166
+ function buildSkillsSystemGuidance() {
167
+ try {
168
+ const skillsXml = generateSkillsXml();
169
+ if (skillsXml === null) {
170
+ logger.warn("No system skills found, falling back to detailed guidance sections");
171
+ return null;
172
+ }
173
+ logger.info("System skills loaded successfully");
174
+ return /*md*/ `
168
175
 
169
- <visual_excellence_first>
176
+ ## Skills System
177
+
178
+ You have access to specialized knowledge through **skills** located in virtual \`skills/\` directories.
179
+ Skills contain detailed guidance for specific tasks and are loaded on-demand.
180
+
181
+ ${skillsXml}
182
+
183
+ ### Mandatory Skill Loading Rules
184
+
185
+ **BEFORE creating or editing ANY API, you MUST:**
186
+ 1. Read \`skills/system/superblocks-api/SKILL.md\` - Contains core patterns, type definitions, and scoping rules
187
+ 2. Read the integration-specific reference for the integration type you're using:
188
+ - SQL databases (PostgreSQL, MySQL, Snowflake, Databricks, etc.) → \`skills/system/superblocks-api/references/sql-databases.md\`
189
+ - REST/OpenAPI integrations → \`skills/system/superblocks-api/references/rest-apis.md\`
190
+ - GraphQL integrations → \`skills/system/superblocks-api/references/graphql.md\`
191
+ - JavaScript/Python code blocks → \`skills/system/superblocks-api/references/code-blocks.md\`
192
+
193
+ **BEFORE creating or editing frontend components/pages:**
194
+ - Read \`skills/system/superblocks-frontend/SKILL.md\`
195
+
196
+ ### How to use skills:
197
+ 1. Use \`build_readFile\` to load a skill when you need its guidance
198
+ 2. **Skills reference additional files in \`references/\`** - you MUST load these for integration-specific work
199
+ 3. If you've already read a skill but the conversation was summarized, **RE-READ IT** before continuing
200
+
201
+ **FAILURE TO READ SKILLS RESULTS IN INCORRECT CODE.** Do not rely on general knowledge - Superblocks patterns differ significantly from standard React/API practices. Load the skill first, then implement.
202
+ `;
203
+ }
204
+ catch (error) {
205
+ logger.error("Failed to load system skills, falling back to detailed guidance sections", getErrorMeta(error));
206
+ return null;
207
+ }
208
+ }
209
+ /**
210
+ * Detailed guidance sections - only included when skills feature is DISABLED.
211
+ * When skills are enabled, this content is available via skill files instead.
212
+ */
213
+ const DETAILED_GUIDANCE_SECTIONS = /*md*/ `
170
214
  **CRITICAL: Prioritize Visual Excellence from the Start**
171
215
 
172
216
  When building applications, follow this hierarchy:
@@ -369,6 +413,14 @@ import { Icon } from "@/components/ui/icon";
369
413
 
370
414
  import { Button } from "@/components/ui/button";
371
415
  <Button><Icon icon="plus" /> Add Item</Button>
416
+
417
+ // When defining icon data in arrays/objects, use explicit IconName typing for validation:
418
+ import type { IconName } from "lucide-react/dynamic";
419
+
420
+ const navItems: { icon: IconName; label: string }[] = [
421
+ { icon: "home", label: "Home" },
422
+ { icon: "settings", label: "Settings" },
423
+ ];
372
424
  \`\`\`
373
425
  </icons>
374
426
 
@@ -445,7 +497,7 @@ import { useApi } from "@superblocksteam/library";
445
497
  import { toast } from "sonner";
446
498
 
447
499
  export default function useGetUsers({ email, name }: { email: string | undefined, name: string | undefined }) {
448
- const { run: getUsers } = useApi("GetUsers"); // in folder apis/GetUsers/api.yaml
500
+ const { run: runGetUsers } = useApi("GetUsers"); // in folder apis/GetUsers/api.yaml
449
501
  const [loading, setLoading] = useState(false);
450
502
  const [users, setUsers] = useState<User[]>([]);
451
503
  const getUsers = useCallback(async () => {
@@ -455,8 +507,9 @@ export default function useGetUsers({ email, name }: { email: string | undefined
455
507
  setLoading(false);
456
508
  setUsers(response.users);
457
509
  } catch (error) {
510
+ // API errors are thrown as strings, not Error objects
458
511
  console.error(error);
459
- toast.error("Error fetching users: " + (error as Error).message);
512
+ toast.error("Error fetching users: " + error);
460
513
  } finally {
461
514
  setLoading(false);
462
515
  }
@@ -474,7 +527,7 @@ export default function useGetUsers({ email, name }: { email: string | undefined
474
527
  5. **Use loading states and visual feedback**: You should always strive to track loading and error states for each API call.
475
528
  6. **ALWAYS check API input/output interfaces**: NEVER guess the response structure - use the actual interface defined by the API
476
529
  7. **ALWAYS include all parameters in the function call**: NEVER omit parameters the API expects, even if they are optional, they should be included and passed as null
477
- 8. **ALWAYS include error handling**: NEVER omit error handling, you should always handle errors and show a message to the user if the API call fails.
530
+ 8. **ALWAYS use try/catch for error handling**: APIs throw string errors when they fail - wrap ALL API calls in try/catch blocks and show a message to the user
478
531
  9. **ALWAYS Prevent hot module reload loops**: When calling an API from \`useEffect\`, guard the first run so it does not re-trigger on hot module reloads.
479
532
 
480
533
  \`\`\`tsx
@@ -768,16 +821,7 @@ You should always attempt to use an existing component before creating a new one
768
821
 
769
822
  **REQUIRED:** Grep for an existing component in the \`components/ui\` directory and read it's source code if you believe you already have a component that resolves the user's request. If there is not, you can create your own component in the \`components\` directory.
770
823
  </design_system_guidance>
771
-
772
- <tool_call_guidance>
773
- **Parallel calls:** For maximum efficiency, invoke all independent operations simultaneously.
774
-
775
- **Tool inputs:** Adhere to each tool's input schema. Always pass JSON object for tool inputs.
776
-
777
- **Deleting APIs:** When deleting an API, only delete the \`apis/ApiName.ts\` file. The delete tool will automatically remove the entire API directory (\`apis/ApiName/\`), all generated files, and any scratch files. Do NOT make multiple delete calls for the same API.
778
- </tool_call_guidance>
779
- `);
780
- };
824
+ `;
781
825
  const DEFAULT_SAFETY_GUIDANCE = /*md*/ `
782
826
  - NEVER assist with activities that could harm individuals or violate laws and regulations.
783
827
  - NEVER create, modify, or suggest code that facilitates unauthorized access to systems or data.
@@ -1 +1 @@
1
- {"version":3,"file":"build-base-system-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAuB,EACvB,IAAa,EACb,EAAE;IACF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBd,CAAC;IACA,CAAC;IAED,MAAM,cAAc,GAClB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,uBAAuB,CAAC;IAElE,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,QAAQ;QACR,MAAM,CAAC;;WAEA,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDpB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsrBf,CACE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC;;;;;;;;CAQtC,CAAC"}
1
+ {"version":3,"file":"build-base-system-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { safeJsonStringify } from "../util/safe-stringify.js";
1
+ import { safeJsonStringify } from "../../util/log-sanitizer.js";
2
2
  import { ToolExecutionError } from "./tools2/types.js";
3
3
  // Define handlers with proper typing
4
4
  // The MessageHandlers type ensures that each handler receives the correct
@@ -1 +1 @@
1
- {"version":3,"file":"tool-message-utils.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-message-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-message-utils.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-message-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAqCvD,qCAAqC;AACrC,0EAA0E;AAC1E,8EAA8E;AAC9E,8DAA8D;AAC9D,MAAM,eAAe,GAAoB;IACvC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS;IACnB,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO;YACL,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;YAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IACD,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;IACpC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,OAAO;YACL,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;KAC3B,CAAC;IACF,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;KAC/B,CAAC;IACF,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;IAChC,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ;KACjC,CAAC;IACF,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;IAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE;QAChC,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE;QAChC,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,KAAK;KACtC,CAAC;IACF,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;KACzB,CAAC;IACF,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;KAC7B,CAAC;IACF,uBAAuB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,EAAE,cAAc,CAAC;QACjC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAO,CAAC,qBAAqB;YAC3D,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACvC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO;YACL,gBAAgB,EAAE,gBAAgB,IAAI,EAAE;SACzC,CAAC;IACJ,CAAC;IACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;QACxB,OAAO;YACL,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC;IACD,2BAA2B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,WAAW,GAAG,KAAK,EAAE,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAC5D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,aAAa,CACxC,CAAC;QAEF,MAAM,eAAe,GAAG,WAAW,EAAE,WAAW,IAAI,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5E,OAAO;YACL,eAAe;YACf,aAAa,EAAE,IAAI,EAAE,aAAa;YAClC,MAAM,EAAE,IAAI,EAAE,MAAM;YACpB,WAAW,EAAE,IAAI,EAAE,WAAW;SAC/B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,WAAW,GAAG,KAAK,EAAE,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAC5D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,aAAa,CACxC,CAAC;QAEF,MAAM,eAAe,GAAG,WAAW,EAAE,WAAW,IAAI,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5E,OAAO;YACL,eAAe;YACf,aAAa,EAAE,IAAI,EAAE,aAAa;YAClC,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE;KACjC,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;KAC7B,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;KAC3B,CAAC;IACF,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS;IACtC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC;IACF,yBAAyB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,UAAU;QAClC,GAAG,EAAE,IAAI,EAAE,GAAG;QACd,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,MAAM,EAAE,IAAI,EAAE,MAA4B;QAC1C,SAAS,EAAE,IAAI,EAAE,SAA+B;QAChD,OAAO,EAAE,IAAI,EAAE,OAA8C;QAC7D,UAAU,EAAE,IAAI,EAAE,UAAiD;KACpE,CAAC;IACF,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,eAAe,EAAE,IAAI,EAAE,eAAe;QACtC,eAAe,EAAE,IAAI,EAAE,eAAe;KACvC,CAAC;IACF,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;QACpB,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;KAC3B,CAAC;CACH,CAAC;AAcF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAoB,EACpB,aAA0C,EAC1C,KAAa;IAEb,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAa,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAiC,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAW,EACX,MAAW;IAEX,IAAI,CAAC;QACH,6DAA6D;QAC7D,IAAI,QAAQ,KAAK,6BAA6B,EAAE,CAAC;YAC/C,IAAI,MAAM,EAAE,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,OAAO;wBACL,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBACjC,KAAK,EAAE,YAAY,CAAC,MAAM;qBAC3B,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,CAAC;iBACT,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;YAC3C,OAAO;gBACL,iBAAiB,EAAE,MAAM,EAAE,OAAO;aACnC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,2BAA2B,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2CAA2C;QAC3C,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAU;IAEV,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,IAAI,CAAC;QACH,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBACvB,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBACrB,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -39,9 +39,9 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
39
39
  done = true;
40
40
  };
41
41
  import { Api as ProtoApi } from "@superblocksteam/types";
42
+ import { safeJsonStringify } from "../../../../util/log-sanitizer.js";
42
43
  import { getLogger, getErrorMeta } from "../../../../util/logger.js";
43
44
  import llmobs from "../../../llmobs/index.js";
44
- import { safeJsonStringify } from "../../../util/safe-stringify.js";
45
45
  import { validateBlockFieldNames } from "./build-api-artifact.js";
46
46
  let ApiExecutor = (() => {
47
47
  let _instanceExtraInitializers = [];