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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) 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 +65 -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/grep.d.ts.map +1 -1
  83. package/dist/ai-service/agent/tools2/tools/grep.js +73 -7
  84. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  85. package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
  86. package/dist/ai-service/agent/tools2/tools/read.js +9 -4
  87. package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
  88. package/dist/ai-service/agent/tools2/types.d.ts +40 -8
  89. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  90. package/dist/ai-service/agent/tools2/types.js +41 -3
  91. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  92. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +0 -1
  93. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  94. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +60 -54
  95. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  96. package/dist/ai-service/chat/chat-session-store.d.ts +6 -0
  97. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  98. package/dist/ai-service/chat/chat-session-store.js +44 -0
  99. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  100. package/dist/ai-service/facts/helpers.d.ts +9 -0
  101. package/dist/ai-service/facts/helpers.d.ts.map +1 -0
  102. package/dist/ai-service/facts/helpers.js +72 -0
  103. package/dist/ai-service/facts/helpers.js.map +1 -0
  104. package/dist/ai-service/facts/index.d.ts +4 -0
  105. package/dist/ai-service/facts/index.d.ts.map +1 -0
  106. package/dist/ai-service/facts/index.js +3 -0
  107. package/dist/ai-service/facts/index.js.map +1 -0
  108. package/dist/ai-service/facts/knowledge-manager.d.ts +50 -0
  109. package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -0
  110. package/dist/ai-service/facts/knowledge-manager.js +195 -0
  111. package/dist/ai-service/facts/knowledge-manager.js.map +1 -0
  112. package/dist/ai-service/features.d.ts +8 -0
  113. package/dist/ai-service/features.d.ts.map +1 -1
  114. package/dist/ai-service/features.js +8 -0
  115. package/dist/ai-service/features.js.map +1 -1
  116. package/dist/ai-service/index.d.ts +34 -2
  117. package/dist/ai-service/index.d.ts.map +1 -1
  118. package/dist/ai-service/index.js +112 -18
  119. package/dist/ai-service/index.js.map +1 -1
  120. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  121. package/dist/ai-service/integrations/metadata-storage/local.js +4 -2
  122. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  123. package/dist/ai-service/integrations/store.d.ts +6 -3
  124. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  125. package/dist/ai-service/integrations/store.js +96 -6
  126. package/dist/ai-service/integrations/store.js.map +1 -1
  127. package/dist/ai-service/judge/judge-executor.js +1 -1
  128. package/dist/ai-service/judge/judge-executor.js.map +1 -1
  129. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  130. package/dist/ai-service/llm/client.d.ts.map +1 -1
  131. package/dist/ai-service/llm/client.js +26 -13
  132. package/dist/ai-service/llm/client.js.map +1 -1
  133. package/dist/ai-service/llm/context-v2/adapter.d.ts +2 -0
  134. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  135. package/dist/ai-service/llm/context-v2/adapter.js +6 -0
  136. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  137. package/dist/ai-service/llm/context-v2/context.d.ts +19 -0
  138. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  139. package/dist/ai-service/llm/context-v2/context.js +64 -1
  140. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  141. package/dist/ai-service/llm/context-v2/conversation-context.d.ts +11 -1
  142. package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
  143. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  144. package/dist/ai-service/llm/context-v2/manager.js +5 -0
  145. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  146. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +1 -1
  147. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
  148. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +42 -6
  149. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
  150. package/dist/ai-service/llm/context-v2/types.d.ts +4 -0
  151. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  152. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  153. package/dist/ai-service/llm/error.js +1 -1
  154. package/dist/ai-service/llm/error.js.map +1 -1
  155. package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -5
  156. package/dist/ai-service/llm/stream/config.d.ts +1 -1
  157. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  158. package/dist/ai-service/llm/stream/config.js.map +1 -1
  159. package/dist/ai-service/llm/stream/observers/llmobs.js +1 -1
  160. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  161. package/dist/ai-service/llm/stream/observers/logging.d.ts +20 -0
  162. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  163. package/dist/ai-service/llm/stream/observers/logging.js +115 -18
  164. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  165. package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
  166. package/dist/ai-service/llm/stream/observers/retry-notification.js +2 -1
  167. package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
  168. package/dist/ai-service/llm/stream/orchestrator.js +4 -4
  169. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  170. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  171. package/dist/ai-service/llm/stream/retry-engine.js +1 -1
  172. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  173. package/dist/ai-service/llmobs/otel-exporter.d.ts +111 -14
  174. package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
  175. package/dist/ai-service/llmobs/otel-exporter.js +441 -66
  176. package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
  177. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  178. package/dist/ai-service/llmobs/tracer.js +40 -4
  179. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  180. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  181. package/dist/ai-service/mcp/playwright-server.js +11 -2
  182. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  183. package/dist/ai-service/recording/index.d.ts +25 -0
  184. package/dist/ai-service/recording/index.d.ts.map +1 -0
  185. package/dist/ai-service/recording/index.js +27 -0
  186. package/dist/ai-service/recording/index.js.map +1 -0
  187. package/dist/ai-service/recording/recorders/llm-recorder.d.ts +35 -0
  188. package/dist/ai-service/recording/recorders/llm-recorder.d.ts.map +1 -0
  189. package/dist/ai-service/recording/recorders/llm-recorder.js +221 -0
  190. package/dist/ai-service/recording/recorders/llm-recorder.js.map +1 -0
  191. package/dist/ai-service/recording/recorders/socket-recorder.d.ts +38 -0
  192. package/dist/ai-service/recording/recorders/socket-recorder.d.ts.map +1 -0
  193. package/dist/ai-service/recording/recorders/socket-recorder.js +44 -0
  194. package/dist/ai-service/recording/recorders/socket-recorder.js.map +1 -0
  195. package/dist/ai-service/recording/recorders/tool-recorder.d.ts +25 -0
  196. package/dist/ai-service/recording/recorders/tool-recorder.d.ts.map +1 -0
  197. package/dist/ai-service/recording/recorders/tool-recorder.js +58 -0
  198. package/dist/ai-service/recording/recorders/tool-recorder.js.map +1 -0
  199. package/dist/ai-service/recording/recording-manager.d.ts +104 -0
  200. package/dist/ai-service/recording/recording-manager.d.ts.map +1 -0
  201. package/dist/ai-service/recording/recording-manager.js +308 -0
  202. package/dist/ai-service/recording/recording-manager.js.map +1 -0
  203. package/dist/ai-service/recording/storage/session-recording-storage.d.ts +143 -0
  204. package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -0
  205. package/dist/ai-service/recording/storage/session-recording-storage.js +374 -0
  206. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -0
  207. package/dist/ai-service/recording/types.d.ts +148 -0
  208. package/dist/ai-service/recording/types.d.ts.map +1 -0
  209. package/dist/ai-service/recording/types.js +8 -0
  210. package/dist/ai-service/recording/types.js.map +1 -0
  211. package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
  212. package/dist/ai-service/security/safety-classifier.js +9 -3
  213. package/dist/ai-service/security/safety-classifier.js.map +1 -1
  214. package/dist/ai-service/skills/index.d.ts +23 -11
  215. package/dist/ai-service/skills/index.d.ts.map +1 -1
  216. package/dist/ai-service/skills/index.js +86 -21
  217. package/dist/ai-service/skills/index.js.map +1 -1
  218. package/dist/ai-service/skills/system/_registry.generated.d.ts +6 -0
  219. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -0
  220. package/dist/ai-service/skills/system/_registry.generated.js +24 -0
  221. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -0
  222. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts +1 -1
  223. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts.map +1 -1
  224. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js +56 -0
  225. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js.map +1 -1
  226. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
  227. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
  228. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +143 -11
  229. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
  230. package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts +1 -1
  231. package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts.map +1 -1
  232. package/dist/ai-service/skills/system/superblocks-api/skill.generated.js +130 -3
  233. package/dist/ai-service/skills/system/superblocks-api/skill.generated.js.map +1 -1
  234. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts +2 -0
  235. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts.map +1 -0
  236. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js +155 -0
  237. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js.map +1 -0
  238. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  239. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  240. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +97 -17
  241. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  242. package/dist/ai-service/skills/types.d.ts +24 -0
  243. package/dist/ai-service/skills/types.d.ts.map +1 -1
  244. package/dist/ai-service/skills/types.js +45 -0
  245. package/dist/ai-service/skills/types.js.map +1 -1
  246. package/dist/ai-service/state-machine/clark-fsm.d.ts +33 -2
  247. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  248. package/dist/ai-service/state-machine/clark-fsm.js +6 -1
  249. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  250. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  251. package/dist/ai-service/state-machine/handlers/agent-planning.js +24 -21
  252. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  253. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  254. package/dist/ai-service/state-machine/handlers/llm-generating.js +120 -5
  255. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  256. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  257. package/dist/ai-service/state-machine/mocks.js +23 -0
  258. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  259. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  260. package/dist/ai-service/state-machine/traced-fsm.js +1 -1
  261. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  262. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  263. package/dist/file-sync-vite-plugin.js +52 -22
  264. package/dist/file-sync-vite-plugin.js.map +1 -1
  265. package/dist/ids.d.ts +1 -0
  266. package/dist/ids.d.ts.map +1 -1
  267. package/dist/ids.js +3 -0
  268. package/dist/ids.js.map +1 -1
  269. package/dist/refactor/entities.d.ts.map +1 -1
  270. package/dist/refactor/entities.js +0 -1
  271. package/dist/refactor/entities.js.map +1 -1
  272. package/dist/socket-manager.d.ts.map +1 -1
  273. package/dist/socket-manager.js +26 -4
  274. package/dist/socket-manager.js.map +1 -1
  275. package/dist/sync-service/index.d.ts +4 -0
  276. package/dist/sync-service/index.d.ts.map +1 -1
  277. package/dist/sync-service/index.js +6 -0
  278. package/dist/sync-service/index.js.map +1 -1
  279. package/dist/util/log-sanitizer.d.ts +42 -0
  280. package/dist/util/log-sanitizer.d.ts.map +1 -0
  281. package/dist/util/log-sanitizer.js +177 -0
  282. package/dist/util/log-sanitizer.js.map +1 -0
  283. package/dist/util/logger.d.ts +4 -0
  284. package/dist/util/logger.d.ts.map +1 -1
  285. package/dist/util/logger.js +77 -19
  286. package/dist/util/logger.js.map +1 -1
  287. package/package.json +17 -14
  288. package/dist/ai-service/agent/tools/get-console-logs.d.ts +0 -29
  289. package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +0 -1
  290. package/dist/ai-service/agent/tools/get-console-logs.js +0 -171
  291. package/dist/ai-service/agent/tools/get-console-logs.js.map +0 -1
  292. package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +0 -2
  293. package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +0 -1
  294. package/dist/ai-service/test-utils/anthropic-service-mock.js +0 -91
  295. package/dist/ai-service/test-utils/anthropic-service-mock.js.map +0 -1
  296. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +0 -3
  297. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +0 -1
  298. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +0 -886
  299. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +0 -1
  300. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts +0 -3
  301. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts.map +0 -1
  302. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js +0 -70
  303. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js.map +0 -1
  304. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +0 -3
  305. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +0 -1
  306. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +0 -109
  307. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +0 -1
  308. package/dist/ai-service/test-utils/mock-utils.d.ts +0 -12
  309. package/dist/ai-service/test-utils/mock-utils.d.ts.map +0 -1
  310. package/dist/ai-service/test-utils/mock-utils.js +0 -70
  311. package/dist/ai-service/test-utils/mock-utils.js.map +0 -1
  312. package/dist/ai-service/util/safe-stringify.d.ts +0 -2
  313. package/dist/ai-service/util/safe-stringify.d.ts.map +0 -1
  314. package/dist/ai-service/util/safe-stringify.js +0 -75
  315. package/dist/ai-service/util/safe-stringify.js.map +0 -1
@@ -1,14 +1,24 @@
1
1
  import { TracedEventEmitter } from "@superblocksteam/shared";
2
2
  import { ChatSessionStore } from "./chat/chat-session-store.js";
3
3
  import { AppContextStore } from "./context/app-context.js";
4
+ import { RecordingManager } from "./recording/index.js";
4
5
  import type { FileSystemManager } from "../file-system-manager.js";
5
6
  import type { SourceTracker } from "../source-tracker.js";
6
7
  import type { JudgeEvaluationOptions, JudgeEvaluationResult } from "./judge/judge-service.js";
7
8
  import type { AiServiceConfig, AiServiceEvents, EditorClient, UserChange, ApiUpdate } from "./types.ts";
8
9
  import type { ContextId } from "./llm/context-v2/types.js";
9
- import type { AiGenerateRequest, AiExplainCodeRequest, AiLabelAttachmentRequest, AiLabelAttachmentResponse, AiToolPermission, LLMProviderConfig, PromptContext, RuntimeErrorData, ConsoleLogEntry } from "@superblocksteam/library-shared/types";
10
+ import type { AiGenerateRequest, AiExplainCodeRequest, AiLabelAttachmentRequest, AiLabelAttachmentResponse, AiToolPermission, LLMProviderConfig, PromptContext, RuntimeErrorData, ConsoleLogEntry, ApiRunRecord } from "@superblocksteam/library-shared/types";
10
11
  import type { ViteDevServer } from "vite";
11
12
  export { AiServiceFeatureFlags } from "./features.js";
13
+ export declare function pruneByTTL<T extends {
14
+ timestamp?: number;
15
+ generationTimestamp?: string;
16
+ }>(items: T[], ttlMs: number): T[];
17
+ export declare function estimateSize(obj: unknown): number;
18
+ export declare function truncateString(str: string, maxBytes: number): string;
19
+ export declare function pruneBySize<T extends {
20
+ _size?: number;
21
+ }>(items: T[], maxBytes: number): T[];
12
22
  export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
13
23
  private readonly config;
14
24
  private artifactProcessor;
@@ -16,6 +26,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
16
26
  private appShell;
17
27
  private fileSystemInterface;
18
28
  private integrationStore;
29
+ private knowledgeManager;
19
30
  private _appContext;
20
31
  private llmProviderSettings;
21
32
  private _logger;
@@ -30,6 +41,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
30
41
  private tokenManagerJwt?;
31
42
  private viteServer?;
32
43
  private readonly mcpServerManager;
44
+ private readonly recordingManager;
33
45
  private readonly sessionId;
34
46
  get appContext(): AppContextStore;
35
47
  get clarkState(): string;
@@ -49,6 +61,25 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
49
61
  * Updates the JWT in Clark context
50
62
  */
51
63
  updateClarkJwt(jwt: string): void;
64
+ /**
65
+ * Check if recording is currently enabled.
66
+ */
67
+ isRecording(): boolean;
68
+ /**
69
+ * Get the current recording session ID.
70
+ */
71
+ getRecordingSessionId(): string | null;
72
+ /**
73
+ * Clear all recordings.
74
+ *
75
+ * @param sessionId - Optional session ID to clear only that session
76
+ */
77
+ clearRecordings(sessionId?: string): Promise<void>;
78
+ /**
79
+ * Get the RecordingManager instance for advanced usage.
80
+ * This allows external code to add custom recording middleware.
81
+ */
82
+ getRecordingManager(): RecordingManager;
52
83
  /**
53
84
  * Checks if there is a connected peer (user is connected via socket)
54
85
  */
@@ -56,7 +87,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
56
87
  constructor(config: AiServiceConfig);
57
88
  /**
58
89
  * Initialize the AI service. Must be called after construction.
59
- * Sets up storage, cleanup tasks, and other async initialization.
90
+ * Sets up storage, cleanup tasks, and starts recording.
60
91
  */
61
92
  initialize(): Promise<void>;
62
93
  /**
@@ -102,6 +133,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
102
133
  handleRuntimeError(errorData: RuntimeErrorData): void;
103
134
  handleClearRuntimeError(id: string): void;
104
135
  handleConsoleLog(logEntry: ConsoleLogEntry): void;
136
+ handleApiRunRecord(apiId: string, runRecord: ApiRunRecord): void;
105
137
  handleClearRuntimeErrors(before?: number): void;
106
138
  handleClearBuildSystemErrors(): void;
107
139
  handlePromptInterpretation(request: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { z } from "zod";
8
8
  import { getErrorMeta, getLogger, setDefaultLogger } from "../util/logger.js";
9
9
  import { getToolCallArguments, getToolErrorCode, getToolOutput, } from "./agent/tool-message-utils.js";
10
10
  import { hasPendingEscalations, flushPendingEscalations, } from "./agent/tools/apis/api-validation-orchestrator.js";
11
+ import { safeSampleJson } from "./agent/tools/apis/sample-json.js";
11
12
  import { readFile } from "./agent/tools/build-read-file.js";
12
13
  import { debugCache } from "./agent/tools/debug-cache.js";
13
14
  import { buildReadFileToolFactory } from "./agent/tools/index.js";
@@ -21,6 +22,7 @@ import { BoltArtifactProcessor } from "./artifacts/bolt.js";
21
22
  import { ChatSessionStore } from "./chat/chat-session-store.js";
22
23
  import { AppContextStore } from "./context/app-context.js";
23
24
  import { restoreContextFromCheckpoint } from "./context-download.js";
25
+ import { KnowledgeManager } from "./facts/knowledge-manager.js";
24
26
  import { IntegrationStore } from "./integrations/store.js";
25
27
  import { JudgeService } from "./judge/judge-service.js";
26
28
  import { CsvJudgeStorage } from "./judge/storage/csv-storage.js";
@@ -36,6 +38,7 @@ import llmobs from "./llmobs/index.js";
36
38
  import { PlaywrightMcpServerManager } from "./mcp/playwright-server.js";
37
39
  import { ClarkProfiler } from "./profiler/clark-profiler.js";
38
40
  import { explainEventHandlerCodePrompt } from "./prompts/explain-code.js";
41
+ import { RecordingManager, createRecordingFetch } from "./recording/index.js";
39
42
  import { ClarkStateNames, Clark, SERVICE_STARTED_WITH_DRAFT, USER_ACCEPTED_DRAFT, USER_REJECTED_DRAFT, USER_SENT_PROMPT, USER_CANCELED, AGENT_CANCELED, } from "./state-machine/clark-fsm.js";
40
43
  import { doAgentPlanning } from "./state-machine/handlers/agent-planning.js";
41
44
  import { doAwaitingUser } from "./state-machine/handlers/awaiting-user.js";
@@ -49,13 +52,12 @@ import { getContextId } from "./state-machine/helpers/context-id.js";
49
52
  import { sendUserMessageChannel } from "./state-machine/helpers/peer.js";
50
53
  import { transitionFrom } from "./state-machine/helpers/transition.js";
51
54
  import { TemplateRenderer } from "./template-renderer.js";
52
- import { mockAnthropicFetch } from "./test-utils/anthropic-service-mock.js";
53
55
  import { createJsonStreamParser } from "./util/json-stream-parser.js";
54
56
  import { processLLMConfig } from "./util/llm-config-utils.js";
55
57
  import { getToolCallSignature } from "./util/tool-signature.js";
56
58
  export { AiServiceFeatureFlags } from "./features.js";
57
59
  // Helper functions for console log and runtime error buffer management
58
- function pruneByTTL(items, ttlMs) {
60
+ export function pruneByTTL(items, ttlMs) {
59
61
  const now = Date.now();
60
62
  return items.filter((item) => {
61
63
  // Drop items without timestamp (defensive: should not happen in practice)
@@ -65,7 +67,7 @@ function pruneByTTL(items, ttlMs) {
65
67
  return now - item.timestamp < ttlMs;
66
68
  });
67
69
  }
68
- function estimateSize(obj) {
70
+ export function estimateSize(obj) {
69
71
  try {
70
72
  const str = JSON.stringify(obj);
71
73
  // Rough approximation: UTF-16 character = 2 bytes on average
@@ -75,7 +77,14 @@ function estimateSize(obj) {
75
77
  return 0;
76
78
  }
77
79
  }
78
- function pruneBySize(items, maxBytes) {
80
+ export function truncateString(str, maxBytes) {
81
+ // Rough approximation: assume 2 bytes per character
82
+ const maxChars = Math.floor(maxBytes / 2);
83
+ if (str.length <= maxChars)
84
+ return str;
85
+ return str.slice(0, maxChars) + "... [truncated]";
86
+ }
87
+ export function pruneBySize(items, maxBytes) {
79
88
  let totalSize = 0;
80
89
  const result = [];
81
90
  // Keep newest items that fit within size limit (iterate from end)
@@ -114,6 +123,7 @@ export class AiService extends TracedEventEmitter {
114
123
  appShell;
115
124
  fileSystemInterface;
116
125
  integrationStore;
126
+ knowledgeManager;
117
127
  _appContext;
118
128
  llmProviderSettings;
119
129
  _logger;
@@ -128,6 +138,7 @@ export class AiService extends TracedEventEmitter {
128
138
  tokenManagerJwt;
129
139
  viteServer;
130
140
  mcpServerManager;
141
+ recordingManager;
131
142
  sessionId;
132
143
  get appContext() {
133
144
  return this._appContext;
@@ -170,6 +181,34 @@ export class AiService extends TracedEventEmitter {
170
181
  this.clark.updateContext({ jwt });
171
182
  }
172
183
  }
184
+ // ===== Recording API =====
185
+ /**
186
+ * Check if recording is currently enabled.
187
+ */
188
+ isRecording() {
189
+ return this.recordingManager.isEnabled();
190
+ }
191
+ /**
192
+ * Get the current recording session ID.
193
+ */
194
+ getRecordingSessionId() {
195
+ return this.recordingManager.getCurrentSessionId();
196
+ }
197
+ /**
198
+ * Clear all recordings.
199
+ *
200
+ * @param sessionId - Optional session ID to clear only that session
201
+ */
202
+ async clearRecordings(sessionId) {
203
+ await this.recordingManager.clear(sessionId);
204
+ }
205
+ /**
206
+ * Get the RecordingManager instance for advanced usage.
207
+ * This allows external code to add custom recording middleware.
208
+ */
209
+ getRecordingManager() {
210
+ return this.recordingManager;
211
+ }
173
212
  /**
174
213
  * Checks if there is a connected peer (user is connected via socket)
175
214
  */
@@ -227,7 +266,8 @@ export class AiService extends TracedEventEmitter {
227
266
  },
228
267
  });
229
268
  this.fileSystemInterface = new FileSystemInterface();
230
- this.integrationStore = new IntegrationStore(undefined, config.appRootDirPath, config.features.metadataCacheMaxTotalSizeMB, config.features.metadataCacheMaxSingleFileSizeMB, config.pluginExecutionVersions);
269
+ this.integrationStore = new IntegrationStore(undefined, config.appRootDirPath, config.features.metadataCacheMaxTotalSizeMB, config.features.metadataCacheMaxSingleFileSizeMB, config.pluginExecutionVersions, config.superblocksBaseUrl, config.applicationId, () => this.clark?.context?.jwt);
270
+ this.knowledgeManager = new KnowledgeManager();
231
271
  this._appContext = new AppContextStore(this.fileSystemInterface);
232
272
  this.sessionId = `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
233
273
  this.chatSessionStore = new ChatSessionStore({
@@ -285,6 +325,11 @@ export class AiService extends TracedEventEmitter {
285
325
  });
286
326
  // Initialize judge service
287
327
  this.mcpServerManager = new PlaywrightMcpServerManager(this.clark.logger);
328
+ // Initialize recording manager for capturing AI interactions
329
+ this.recordingManager = new RecordingManager({
330
+ recordingsDir: path.join(config.appRootDirPath, ".superblocks", "recordings"),
331
+ appRootDirPath: config.appRootDirPath,
332
+ });
288
333
  this.config.draftInterface
289
334
  .hasLocalDraftChanges()
290
335
  .then((hasDraft) => {
@@ -312,6 +357,7 @@ export class AiService extends TracedEventEmitter {
312
357
  "handleRuntimeError",
313
358
  "handleClearRuntimeError",
314
359
  "handleConsoleLog",
360
+ "handleApiRunRecord",
315
361
  "handlePromptInterpretation",
316
362
  "handleJudgeEvaluation",
317
363
  ];
@@ -320,10 +366,15 @@ export class AiService extends TracedEventEmitter {
320
366
  }
321
367
  /**
322
368
  * Initialize the AI service. Must be called after construction.
323
- * Sets up storage, cleanup tasks, and other async initialization.
369
+ * Sets up storage, cleanup tasks, and starts recording.
324
370
  */
325
371
  async initialize() {
326
372
  await this.integrationStore.initialize();
373
+ // Start recording with initial commit ID from chat history (if enabled)
374
+ if (this.config.features.sessionRecordingEnabled === true) {
375
+ const initialCommitId = await this.chatSessionStore.getLatestCommitId();
376
+ this.recordingManager.start(initialCommitId);
377
+ }
327
378
  this.getLogger().info("[ai-service] Initialized");
328
379
  }
329
380
  /**
@@ -354,14 +405,16 @@ export class AiService extends TracedEventEmitter {
354
405
  return async (transition) => {
355
406
  const params = {
356
407
  ...this.config,
408
+ logger: this.getLogger(),
357
409
  templateRenderer: this.templateRenderer,
358
410
  artifactProcessor: this.artifactProcessor,
359
411
  appShell: this.appShell,
360
412
  signals: this,
361
413
  fileSystemInterface: this.fileSystemInterface,
362
414
  integrationStore: this.integrationStore,
415
+ knowledgeManager: this.knowledgeManager,
363
416
  appContextStore: this.appContext,
364
- llmProvider: createLLMProvider(this.getLLMProviderSettings(clark.context.useMockGeneration, clark.context.llmConfig), () => this.getJwt(), clark.context.llmConfig, () => ({
417
+ llmProvider: createLLMProvider(this.getLLMProviderSettings(clark.context.llmConfig), () => this.getJwt(), clark.context.llmConfig, () => ({
365
418
  prompt_id: clark.context.promptId,
366
419
  chatmessage_id: clark.context.chatmessageId,
367
420
  application_id: this.config.applicationId,
@@ -378,6 +431,7 @@ export class AiService extends TracedEventEmitter {
378
431
  entityPermissionStore: this.entityPermissionStore,
379
432
  mcpServerManager: this.mcpServerManager,
380
433
  viteServer: this.viteServer,
434
+ recordingManager: this.recordingManager,
381
435
  };
382
436
  const clarkStateHandlers = Object.fromEntries(Object.entries(clarkStateHandlerFactories).map(([state, handlerFactory]) => [state, handlerFactory(clark, params)]));
383
437
  const { from, to, event } = transition;
@@ -541,8 +595,7 @@ export class AiService extends TracedEventEmitter {
541
595
  }
542
596
  : undefined;
543
597
  const { providerOptions, headers } = processLLMConfig(llmConfig, 5000, `AI Explain Code (${request.codeType})`);
544
- const useMockGeneration = request.mockGeneration ?? false;
545
- const llmProviderSettings = this.getLLMProviderSettings(useMockGeneration, llmConfig);
598
+ const llmProviderSettings = this.getLLMProviderSettings(llmConfig);
546
599
  // Generate prompt_id for this explain code request (user-initiated action)
547
600
  const promptId = randomUUID();
548
601
  getLogger().info("[ai-service] Generated prompt_id for explain code", {
@@ -646,7 +699,7 @@ export class AiService extends TracedEventEmitter {
646
699
  thinkingEnabled: false,
647
700
  }
648
701
  : undefined;
649
- const llmProviderSettings = this.getLLMProviderSettings(false, llmConfig);
702
+ const llmProviderSettings = this.getLLMProviderSettings(llmConfig);
650
703
  // Generate prompt_id for this label attachment request (user-initiated action)
651
704
  const promptId = randomUUID();
652
705
  getLogger().info("[ai-service] Generated prompt_id for label attachment", {
@@ -1010,7 +1063,7 @@ export class AiService extends TracedEventEmitter {
1010
1063
  };
1011
1064
  logger.info(`[ai-service] Tool ${toolName} permission denied, error injected into context`);
1012
1065
  }
1013
- const llmProviderSettings = this.getLLMProviderSettings(false, llmConfig);
1066
+ const llmProviderSettings = this.getLLMProviderSettings(llmConfig);
1014
1067
  const llmProvider = createLLMProvider(llmProviderSettings, () => this.clark.context.jwt || "", llmConfig);
1015
1068
  const summarizationModel = llmProvider.modelForTask("summarizeMessages");
1016
1069
  const context = await this.contextManagerV2.getOrCreateContext(contextId, summarizationModel, llmConfig?.contextOptionsV2);
@@ -1241,6 +1294,43 @@ export class AiService extends TracedEventEmitter {
1241
1294
  };
1242
1295
  });
1243
1296
  }
1297
+ handleApiRunRecord(apiId, runRecord) {
1298
+ const MAX_BUFFER_SIZE = 128 * 1024; // 128KB
1299
+ const TTL_MS = 10 * 60 * 1000; // 10 minutes
1300
+ // Trim large response/error/stepLogs fields to prevent buffer overflow
1301
+ const trimmedStepLogs = runRecord.stepLogs?.map((log) => ({
1302
+ ...log,
1303
+ output: log.output !== undefined ? safeSampleJson(log.output) : undefined,
1304
+ }));
1305
+ const trimmedRecord = {
1306
+ ...runRecord,
1307
+ response: safeSampleJson(runRecord.response),
1308
+ stepLogs: trimmedStepLogs,
1309
+ };
1310
+ const recordWithMetadata = {
1311
+ ...trimmedRecord,
1312
+ apiId,
1313
+ timestamp: runRecord.timestamp ?? Date.now(),
1314
+ generationTimestamp: this.clark.context.runTimestamp,
1315
+ };
1316
+ // Cache the size to avoid repeated calculations during pruning
1317
+ const recordWithSize = {
1318
+ ...recordWithMetadata,
1319
+ _size: estimateSize(recordWithMetadata),
1320
+ };
1321
+ this.clark.updateContext((context) => {
1322
+ // Add the new record
1323
+ const updatedRecords = [...(context.apiRunRecords ?? []), recordWithSize];
1324
+ // Prune by TTL first (10 minutes)
1325
+ const ttlPruned = pruneByTTL(updatedRecords, TTL_MS);
1326
+ // Then prune by size (128KB buffer)
1327
+ const sizePruned = pruneBySize(ttlPruned, MAX_BUFFER_SIZE);
1328
+ return {
1329
+ ...context,
1330
+ apiRunRecords: sizePruned,
1331
+ };
1332
+ });
1333
+ }
1244
1334
  handleClearRuntimeErrors(before) {
1245
1335
  this.clark.updateContext((context) => {
1246
1336
  let filteredErrors = context.runtimeErrors ?? [];
@@ -1319,7 +1409,7 @@ export class AiService extends TracedEventEmitter {
1319
1409
  this.config.logger.info(`[ai-service] Judge storage configured: ${path.join(storageDir, storageFilename)}`);
1320
1410
  // Create LLM provider for judge with JWT getter
1321
1411
  // Use getLLMProviderSettings to ensure proper configuration (including upstreamProvider)
1322
- const judgeLlmProvider = createLLMProvider(this.getLLMProviderSettings(false, request.llmConfig), () => this.getJwt(), request.llmConfig, undefined);
1412
+ const judgeLlmProvider = createLLMProvider(this.getLLMProviderSettings(request.llmConfig), () => this.getJwt(), request.llmConfig, undefined);
1323
1413
  const judgeService = new JudgeService({
1324
1414
  llmClient: this.llmClient,
1325
1415
  llmProvider: judgeLlmProvider,
@@ -1522,20 +1612,24 @@ export class AiService extends TracedEventEmitter {
1522
1612
  getViteServer() {
1523
1613
  return this.viteServer;
1524
1614
  }
1525
- getLLMProviderSettings(useMockFetch = false, llconfig) {
1615
+ getLLMProviderSettings(llconfig) {
1526
1616
  const providerFetchOverride = (provider) => {
1527
- if (useMockFetch) {
1528
- return mockAnthropicFetch;
1617
+ // Start with the base fetch (or provider-specific fetch if configured)
1618
+ let baseFetch = this.llmProviderSettings[provider].fetch ?? fetch;
1619
+ // Apply recording fetch wrapper if recording is enabled
1620
+ // This wraps the base fetch to capture LLM requests/responses
1621
+ if (this.recordingManager.isEnabled()) {
1622
+ baseFetch = createRecordingFetch(this.recordingManager, baseFetch);
1529
1623
  }
1530
1624
  const chaosOptions = {
1531
1625
  errorRate: 0,
1532
1626
  ...llconfig?.chaosOptions,
1533
1627
  };
1534
- // Apply chaos fetch if configured
1628
+ // Apply chaos fetch if configured (wraps recording fetch)
1535
1629
  if (chaosOptions.errorRate > 0) {
1536
- return createChaosFetch(chaosOptions, this.llmProviderSettings[provider].fetch);
1630
+ return createChaosFetch(chaosOptions, baseFetch);
1537
1631
  }
1538
- return undefined;
1632
+ return baseFetch;
1539
1633
  };
1540
1634
  // When unified provider is enabled, use the /unified endpoint which handles fallback
1541
1635
  // Otherwise, use the specific provider endpoint directly
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}