@superblocksteam/vite-plugin-file-sync 2.0.129 → 2.0.130-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 (356) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +51 -1
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +44 -4
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  7. package/dist/ai-service/agent/subagents/coding/run-coding-subagent.d.ts.map +1 -1
  8. package/dist/ai-service/agent/subagents/coding/run-coding-subagent.js +25 -0
  9. package/dist/ai-service/agent/subagents/coding/run-coding-subagent.js.map +1 -1
  10. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +4 -3
  12. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/test-api.js +22 -0
  15. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +25 -0
  17. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools/build-capture-screenshot.js +117 -11
  19. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  20. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/build-manage-checklist.js +22 -0
  22. package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
  23. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +291 -0
  24. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -0
  25. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +386 -0
  26. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -0
  27. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts +17 -0
  28. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts.map +1 -0
  29. package/dist/ai-service/agent/tools/databases/dev-database-tools.js +19 -0
  30. package/dist/ai-service/agent/tools/databases/dev-database-tools.js.map +1 -0
  31. package/dist/ai-service/agent/tools/index.d.ts +0 -1
  32. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  33. package/dist/ai-service/agent/tools/index.js +0 -1
  34. package/dist/ai-service/agent/tools/index.js.map +1 -1
  35. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  36. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  37. package/dist/ai-service/agent/tools/integrations/execute-request.js +20 -9
  38. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  39. package/dist/ai-service/agent/tools/integrations/internal.d.ts +5 -1
  40. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  41. package/dist/ai-service/agent/tools/integrations/internal.js +2 -1
  42. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  43. package/dist/ai-service/agent/tools/screenshot-selector.d.ts +22 -0
  44. package/dist/ai-service/agent/tools/screenshot-selector.d.ts.map +1 -0
  45. package/dist/ai-service/agent/tools/screenshot-selector.js +158 -0
  46. package/dist/ai-service/agent/tools/screenshot-selector.js.map +1 -0
  47. package/dist/ai-service/agent/tools.d.ts +17 -0
  48. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  49. package/dist/ai-service/agent/tools.js +65 -6
  50. package/dist/ai-service/agent/tools.js.map +1 -1
  51. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  52. package/dist/ai-service/agent/tools2/access-control.js +6 -1
  53. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  54. package/dist/ai-service/agent/tools2/tools/cancel-task.d.ts +20 -0
  55. package/dist/ai-service/agent/tools2/tools/cancel-task.d.ts.map +1 -0
  56. package/dist/ai-service/agent/tools2/tools/cancel-task.js +39 -0
  57. package/dist/ai-service/agent/tools2/tools/cancel-task.js.map +1 -0
  58. package/dist/ai-service/agent/tools2/tools/check-task.d.ts +37 -0
  59. package/dist/ai-service/agent/tools2/tools/check-task.d.ts.map +1 -0
  60. package/dist/ai-service/agent/tools2/tools/check-task.js +53 -0
  61. package/dist/ai-service/agent/tools2/tools/check-task.js.map +1 -0
  62. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +10 -0
  64. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  65. package/dist/ai-service/agent/tools2/tools/git.d.ts +1 -1
  66. package/dist/ai-service/agent/tools2/tools/git.js +1 -1
  67. package/dist/ai-service/agent/tools2/tools/git.js.map +1 -1
  68. package/dist/ai-service/agent/tools2/tools/grep.d.ts +6 -1
  69. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/grep.js +37 -13
  71. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  72. package/dist/ai-service/agent/tools2/tools/index.d.ts +4 -0
  73. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  74. package/dist/ai-service/agent/tools2/tools/index.js +8 -0
  75. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  76. package/dist/ai-service/agent/tools2/tools/list-tasks.d.ts +21 -0
  77. package/dist/ai-service/agent/tools2/tools/list-tasks.d.ts.map +1 -0
  78. package/dist/ai-service/agent/tools2/tools/list-tasks.js +35 -0
  79. package/dist/ai-service/agent/tools2/tools/list-tasks.js.map +1 -0
  80. package/dist/ai-service/agent/tools2/tools/wait-for-task.d.ts +46 -0
  81. package/dist/ai-service/agent/tools2/tools/wait-for-task.d.ts.map +1 -0
  82. package/dist/ai-service/agent/tools2/tools/wait-for-task.js +83 -0
  83. package/dist/ai-service/agent/tools2/tools/wait-for-task.js.map +1 -0
  84. package/dist/ai-service/agent/tools2/types.d.ts +3 -0
  85. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  86. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  87. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  88. package/dist/ai-service/agent/utils.js +37 -2
  89. package/dist/ai-service/agent/utils.js.map +1 -1
  90. package/dist/ai-service/app-interface/npm-package-lookup.d.ts +22 -0
  91. package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
  92. package/dist/ai-service/app-interface/npm-package-lookup.js +88 -1
  93. package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
  94. package/dist/ai-service/app-interface/npm-registry.d.ts +7 -0
  95. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  96. package/dist/ai-service/app-interface/npm-registry.js +74 -4
  97. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  98. package/dist/ai-service/app-interface/shell.d.ts +32 -1
  99. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  100. package/dist/ai-service/app-interface/shell.js +86 -3
  101. package/dist/ai-service/app-interface/shell.js.map +1 -1
  102. package/dist/ai-service/app-skills/manager.d.ts +4 -1
  103. package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
  104. package/dist/ai-service/app-skills/manager.js +16 -1
  105. package/dist/ai-service/app-skills/manager.js.map +1 -1
  106. package/dist/ai-service/chat/chat-session-store.d.ts +10 -0
  107. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  108. package/dist/ai-service/chat/chat-session-store.js +55 -28
  109. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  110. package/dist/ai-service/context-download.d.ts.map +1 -1
  111. package/dist/ai-service/context-download.js +50 -40
  112. package/dist/ai-service/context-download.js.map +1 -1
  113. package/dist/ai-service/dev-database-client.d.ts +27 -4
  114. package/dist/ai-service/dev-database-client.d.ts.map +1 -1
  115. package/dist/ai-service/dev-database-client.js +35 -1
  116. package/dist/ai-service/dev-database-client.js.map +1 -1
  117. package/dist/ai-service/dev-database-file-sync.d.ts +41 -0
  118. package/dist/ai-service/dev-database-file-sync.d.ts.map +1 -0
  119. package/dist/ai-service/dev-database-file-sync.js +29 -0
  120. package/dist/ai-service/dev-database-file-sync.js.map +1 -0
  121. package/dist/ai-service/features.d.ts +14 -0
  122. package/dist/ai-service/features.d.ts.map +1 -1
  123. package/dist/ai-service/features.js +14 -0
  124. package/dist/ai-service/features.js.map +1 -1
  125. package/dist/ai-service/index.d.ts +136 -5
  126. package/dist/ai-service/index.d.ts.map +1 -1
  127. package/dist/ai-service/index.js +748 -99
  128. package/dist/ai-service/index.js.map +1 -1
  129. package/dist/ai-service/integrations/store.d.ts +2 -0
  130. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  131. package/dist/ai-service/integrations/store.js +4 -0
  132. package/dist/ai-service/integrations/store.js.map +1 -1
  133. package/dist/ai-service/knowledge/knowledge-manager.d.ts +8 -10
  134. package/dist/ai-service/knowledge/knowledge-manager.d.ts.map +1 -1
  135. package/dist/ai-service/knowledge/knowledge-manager.js +135 -119
  136. package/dist/ai-service/knowledge/knowledge-manager.js.map +1 -1
  137. package/dist/ai-service/llm/chaos-fetch.d.ts.map +1 -1
  138. package/dist/ai-service/llm/chaos-fetch.js +7 -3
  139. package/dist/ai-service/llm/chaos-fetch.js.map +1 -1
  140. package/dist/ai-service/llm/client.d.ts.map +1 -1
  141. package/dist/ai-service/llm/client.js +23 -7
  142. package/dist/ai-service/llm/client.js.map +1 -1
  143. package/dist/ai-service/llm/context-v2/adapter.d.ts +3 -0
  144. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  145. package/dist/ai-service/llm/context-v2/adapter.js +9 -0
  146. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  147. package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts +2 -0
  148. package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts.map +1 -1
  149. package/dist/ai-service/llm/context-v2/compaction/server-side.js +6 -2
  150. package/dist/ai-service/llm/context-v2/compaction/server-side.js.map +1 -1
  151. package/dist/ai-service/llm/context-v2/context-management.d.ts +3 -9
  152. package/dist/ai-service/llm/context-v2/context-management.d.ts.map +1 -1
  153. package/dist/ai-service/llm/context-v2/context-management.js +3 -9
  154. package/dist/ai-service/llm/context-v2/context-management.js.map +1 -1
  155. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +23 -0
  156. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -0
  157. package/dist/ai-service/llm/context-v2/context-metrics.js +144 -0
  158. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -0
  159. package/dist/ai-service/llm/context-v2/context.d.ts +16 -1
  160. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  161. package/dist/ai-service/llm/context-v2/context.js +138 -26
  162. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  163. package/dist/ai-service/llm/context-v2/conversation-context.d.ts +26 -1
  164. package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
  165. package/dist/ai-service/llm/context-v2/manager.d.ts +15 -1
  166. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  167. package/dist/ai-service/llm/context-v2/manager.js +97 -40
  168. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  169. package/dist/ai-service/llm/context-v2/storage/local.d.ts.map +1 -1
  170. package/dist/ai-service/llm/context-v2/storage/local.js +3 -0
  171. package/dist/ai-service/llm/context-v2/storage/local.js.map +1 -1
  172. package/dist/ai-service/llm/context-v2/types.d.ts +27 -0
  173. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  174. package/dist/ai-service/llm/context-v2/types.js +108 -23
  175. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  176. package/dist/ai-service/llm/error.d.ts +21 -0
  177. package/dist/ai-service/llm/error.d.ts.map +1 -1
  178. package/dist/ai-service/llm/error.js +72 -12
  179. package/dist/ai-service/llm/error.js.map +1 -1
  180. package/dist/ai-service/llm/stream/compaction-text-block.d.ts +14 -0
  181. package/dist/ai-service/llm/stream/compaction-text-block.d.ts.map +1 -0
  182. package/dist/ai-service/llm/stream/compaction-text-block.js +29 -0
  183. package/dist/ai-service/llm/stream/compaction-text-block.js.map +1 -0
  184. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  185. package/dist/ai-service/llm/stream/idle-monitor.js +12 -28
  186. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  187. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  188. package/dist/ai-service/llm/stream/managed-stream.js +22 -0
  189. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  190. package/dist/ai-service/llm/stream/observers/context.d.ts +4 -0
  191. package/dist/ai-service/llm/stream/observers/context.d.ts.map +1 -1
  192. package/dist/ai-service/llm/stream/observers/context.js +57 -5
  193. package/dist/ai-service/llm/stream/observers/context.js.map +1 -1
  194. package/dist/ai-service/policy-gate-step.d.ts +17 -0
  195. package/dist/ai-service/policy-gate-step.d.ts.map +1 -0
  196. package/dist/ai-service/policy-gate-step.js +52 -0
  197. package/dist/ai-service/policy-gate-step.js.map +1 -0
  198. package/dist/ai-service/quota-client.d.ts +28 -0
  199. package/dist/ai-service/quota-client.d.ts.map +1 -0
  200. package/dist/ai-service/quota-client.js +68 -0
  201. package/dist/ai-service/quota-client.js.map +1 -0
  202. package/dist/ai-service/security/index.d.ts +1 -1
  203. package/dist/ai-service/security/index.d.ts.map +1 -1
  204. package/dist/ai-service/security/index.js +1 -1
  205. package/dist/ai-service/security/index.js.map +1 -1
  206. package/dist/ai-service/security/safety-classifier.d.ts +9 -26
  207. package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
  208. package/dist/ai-service/security/safety-classifier.js +29 -44
  209. package/dist/ai-service/security/safety-classifier.js.map +1 -1
  210. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
  211. package/dist/ai-service/skills/system/_registry.generated.js +2 -0
  212. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
  213. package/dist/ai-service/skills/system/common-import-issues/skill.generated.d.ts +2 -0
  214. package/dist/ai-service/skills/system/common-import-issues/skill.generated.d.ts.map +1 -0
  215. package/dist/ai-service/skills/system/common-import-issues/skill.generated.js +93 -0
  216. package/dist/ai-service/skills/system/common-import-issues/skill.generated.js.map +1 -0
  217. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  218. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  219. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +15 -0
  220. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  221. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
  222. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
  223. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +7 -2
  224. package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js.map +1 -1
  225. package/dist/ai-service/state-machine/clark-fsm.d.ts +74 -1
  226. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  227. package/dist/ai-service/state-machine/clark-fsm.js +26 -7
  228. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  229. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  230. package/dist/ai-service/state-machine/handlers/agent-planning.js +223 -9
  231. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  232. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  233. package/dist/ai-service/state-machine/handlers/idle.js +42 -6
  234. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  235. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  236. package/dist/ai-service/state-machine/handlers/llm-generating.js +16 -6
  237. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  238. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  239. package/dist/ai-service/state-machine/helpers/peer.js +9 -1
  240. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  241. package/dist/ai-service/tasks/access.d.ts +23 -0
  242. package/dist/ai-service/tasks/access.d.ts.map +1 -0
  243. package/dist/ai-service/tasks/access.js +26 -0
  244. package/dist/ai-service/tasks/access.js.map +1 -0
  245. package/dist/ai-service/tasks/factory.d.ts +92 -0
  246. package/dist/ai-service/tasks/factory.d.ts.map +1 -0
  247. package/dist/ai-service/tasks/factory.js +54 -0
  248. package/dist/ai-service/tasks/factory.js.map +1 -0
  249. package/dist/ai-service/tasks/index.d.ts +8 -0
  250. package/dist/ai-service/tasks/index.d.ts.map +1 -0
  251. package/dist/ai-service/tasks/index.js +7 -0
  252. package/dist/ai-service/tasks/index.js.map +1 -0
  253. package/dist/ai-service/tasks/peer-push.d.ts +78 -0
  254. package/dist/ai-service/tasks/peer-push.d.ts.map +1 -0
  255. package/dist/ai-service/tasks/peer-push.js +74 -0
  256. package/dist/ai-service/tasks/peer-push.js.map +1 -0
  257. package/dist/ai-service/tasks/poll-loop.d.ts +55 -0
  258. package/dist/ai-service/tasks/poll-loop.d.ts.map +1 -0
  259. package/dist/ai-service/tasks/poll-loop.js +73 -0
  260. package/dist/ai-service/tasks/poll-loop.js.map +1 -0
  261. package/dist/ai-service/tasks/task-store.d.ts +106 -0
  262. package/dist/ai-service/tasks/task-store.d.ts.map +1 -0
  263. package/dist/ai-service/tasks/task-store.js +292 -0
  264. package/dist/ai-service/tasks/task-store.js.map +1 -0
  265. package/dist/ai-service/tasks/test-utils.d.ts +23 -0
  266. package/dist/ai-service/tasks/test-utils.d.ts.map +1 -0
  267. package/dist/ai-service/tasks/test-utils.js +53 -0
  268. package/dist/ai-service/tasks/test-utils.js.map +1 -0
  269. package/dist/ai-service/tasks/types.d.ts +205 -0
  270. package/dist/ai-service/tasks/types.d.ts.map +1 -0
  271. package/dist/ai-service/tasks/types.js +24 -0
  272. package/dist/ai-service/tasks/types.js.map +1 -0
  273. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  274. package/dist/ai-service/template-renderer.js +1 -0
  275. package/dist/ai-service/template-renderer.js.map +1 -1
  276. package/dist/ai-service/test-utils/metrics-harness.d.ts +32 -0
  277. package/dist/ai-service/test-utils/metrics-harness.d.ts.map +1 -0
  278. package/dist/ai-service/test-utils/metrics-harness.js +67 -0
  279. package/dist/ai-service/test-utils/metrics-harness.js.map +1 -0
  280. package/dist/ai-service/test-utils/tracer-harness.d.ts +8 -0
  281. package/dist/ai-service/test-utils/tracer-harness.d.ts.map +1 -0
  282. package/dist/ai-service/test-utils/tracer-harness.js +26 -0
  283. package/dist/ai-service/test-utils/tracer-harness.js.map +1 -0
  284. package/dist/ai-service/transform/lucide-dynamic-type-imports/transformer.d.ts +40 -0
  285. package/dist/ai-service/transform/lucide-dynamic-type-imports/transformer.d.ts.map +1 -0
  286. package/dist/ai-service/transform/lucide-dynamic-type-imports/transformer.js +118 -0
  287. package/dist/ai-service/transform/lucide-dynamic-type-imports/transformer.js.map +1 -0
  288. package/dist/ai-service/util/llm-config-utils.d.ts +2 -6
  289. package/dist/ai-service/util/llm-config-utils.d.ts.map +1 -1
  290. package/dist/ai-service/util/llm-config-utils.js +2 -7
  291. package/dist/ai-service/util/llm-config-utils.js.map +1 -1
  292. package/dist/ai-service/util/rpc-timeout.d.ts +17 -7
  293. package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -1
  294. package/dist/ai-service/util/rpc-timeout.js +17 -7
  295. package/dist/ai-service/util/rpc-timeout.js.map +1 -1
  296. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  297. package/dist/file-sync-vite-plugin.js +76 -6
  298. package/dist/file-sync-vite-plugin.js.map +1 -1
  299. package/dist/inject-index-vite-plugin.d.ts.map +1 -1
  300. package/dist/inject-index-vite-plugin.js +4 -0
  301. package/dist/inject-index-vite-plugin.js.map +1 -1
  302. package/dist/migration/migration-routes.d.ts +14 -0
  303. package/dist/migration/migration-routes.d.ts.map +1 -1
  304. package/dist/migration/migration-routes.js +284 -5
  305. package/dist/migration/migration-routes.js.map +1 -1
  306. package/dist/migration/migration-session-reconcile.d.ts +23 -0
  307. package/dist/migration/migration-session-reconcile.d.ts.map +1 -0
  308. package/dist/migration/migration-session-reconcile.js +129 -0
  309. package/dist/migration/migration-session-reconcile.js.map +1 -0
  310. package/dist/migration/restructure.d.ts.map +1 -1
  311. package/dist/migration/restructure.js +2 -0
  312. package/dist/migration/restructure.js.map +1 -1
  313. package/dist/migration-templates/app-fullstack/css.d.ts +3 -0
  314. package/dist/migration-templates/app-fullstack/package.json +2 -2
  315. package/dist/npm/normalize-workspace-protocol-for-npm.d.ts +15 -0
  316. package/dist/npm/normalize-workspace-protocol-for-npm.d.ts.map +1 -0
  317. package/dist/npm/normalize-workspace-protocol-for-npm.js +36 -0
  318. package/dist/npm/normalize-workspace-protocol-for-npm.js.map +1 -0
  319. package/dist/npm/prepare-package-json-for-cloud-npm.d.ts +21 -0
  320. package/dist/npm/prepare-package-json-for-cloud-npm.d.ts.map +1 -0
  321. package/dist/npm/prepare-package-json-for-cloud-npm.js +44 -0
  322. package/dist/npm/prepare-package-json-for-cloud-npm.js.map +1 -0
  323. package/dist/npm/rewrite-platform-workspace-deps.d.ts +17 -0
  324. package/dist/npm/rewrite-platform-workspace-deps.d.ts.map +1 -0
  325. package/dist/npm/rewrite-platform-workspace-deps.js +37 -0
  326. package/dist/npm/rewrite-platform-workspace-deps.js.map +1 -0
  327. package/dist/plugin-options.d.ts +8 -0
  328. package/dist/plugin-options.d.ts.map +1 -1
  329. package/dist/plugin-options.js.map +1 -1
  330. package/dist/policy-gate-run-registry.d.ts +28 -0
  331. package/dist/policy-gate-run-registry.d.ts.map +1 -0
  332. package/dist/policy-gate-run-registry.js +40 -0
  333. package/dist/policy-gate-run-registry.js.map +1 -0
  334. package/dist/policy-gate-runner.d.ts +2 -0
  335. package/dist/policy-gate-runner.d.ts.map +1 -1
  336. package/dist/policy-gate-runner.js +14 -1
  337. package/dist/policy-gate-runner.js.map +1 -1
  338. package/dist/socket-manager.d.ts.map +1 -1
  339. package/dist/socket-manager.js +55 -0
  340. package/dist/socket-manager.js.map +1 -1
  341. package/dist/sync-service/download.d.ts.map +1 -1
  342. package/dist/sync-service/download.js +6 -4
  343. package/dist/sync-service/download.js.map +1 -1
  344. package/dist/sync-service/draft-reconcile.d.ts +22 -0
  345. package/dist/sync-service/draft-reconcile.d.ts.map +1 -0
  346. package/dist/sync-service/draft-reconcile.js +24 -0
  347. package/dist/sync-service/draft-reconcile.js.map +1 -0
  348. package/dist/sync-service/index.d.ts +30 -5
  349. package/dist/sync-service/index.d.ts.map +1 -1
  350. package/dist/sync-service/index.js +59 -8
  351. package/dist/sync-service/index.js.map +1 -1
  352. package/package.json +10 -10
  353. package/dist/ai-service/agent/tools/databases/dev-database.d.ts +0 -103
  354. package/dist/ai-service/agent/tools/databases/dev-database.d.ts.map +0 -1
  355. package/dist/ai-service/agent/tools/databases/dev-database.js +0 -117
  356. package/dist/ai-service/agent/tools/databases/dev-database.js.map +0 -1
@@ -0,0 +1,205 @@
1
+ import type { ToolExecutionOptions } from "ai";
2
+ import z from "zod";
3
+ import type { BackgroundTaskSummary } from "@superblocksteam/library-shared/types";
4
+ import type { PermissionLevel, ToolCategory } from "../agent/tools2/types.js";
5
+ export type { BackgroundTaskSummary };
6
+ /**
7
+ * Discriminated union describing the lifecycle state of a background task.
8
+ *
9
+ * Terminal states (completed/failed/cancelled) carry the data needed to
10
+ * report back to Clark or the user. `running` is the only non-terminal
11
+ * state; the poll loop only changes the state when it transitions away
12
+ * from running.
13
+ *
14
+ * NOTE: `result` is intentionally only present on `completed`. It is NEVER
15
+ * persisted to disk in v1 (see persistence.ts); the on-disk record only
16
+ * keeps `lastState` and a short `lastMessage`.
17
+ */
18
+ export type TaskStatus<Result = unknown> = {
19
+ state: "running";
20
+ message?: string;
21
+ } | {
22
+ state: "completed";
23
+ result: Result;
24
+ } | {
25
+ state: "failed";
26
+ error: string;
27
+ } | {
28
+ state: "cancelled";
29
+ };
30
+ /**
31
+ * Schedule for the per-task polling loop. Each tick waits
32
+ * min(maxMs, previous * factor) before the next poll, with jitter applied
33
+ * inside the loop.
34
+ */
35
+ export interface PollSchedule {
36
+ initialMs: number;
37
+ maxMs: number;
38
+ factor: number;
39
+ }
40
+ export declare const DEFAULT_POLL_SCHEDULE: PollSchedule;
41
+ /**
42
+ * Returned by `TaskType.start`. The caller is the framework, not the LLM;
43
+ * the framework wraps this in the start-tool's response shape before
44
+ * returning it to the model.
45
+ */
46
+ export interface StartResult<Handle> {
47
+ /** Opaque, serializable handle the framework will pass back to `poll`. */
48
+ externalHandle: Handle;
49
+ /** Short human-readable label for the UI and the `<background_tasks>` block. */
50
+ label?: string;
51
+ /** Initial status — usually `{ state: "running" }`. */
52
+ initialStatus?: TaskStatus<unknown>;
53
+ }
54
+ /**
55
+ * A background-task type definition. Authors implement this and pass it to
56
+ * `createBackgroundTaskFactory`, which produces a `ToolFactory` for the
57
+ * `start*` tool and registers the type with the `TaskStore`.
58
+ *
59
+ * Generic over:
60
+ * - `Input`: the LLM-facing arguments to the start tool.
61
+ * - `Handle`: the opaque, serializable identifier the external system
62
+ * gives us back from `start`. Must round-trip through JSON.
63
+ * - `Result`: the (possibly-sensitive) payload returned when the task
64
+ * reaches `completed`. Never persisted to disk in v1.
65
+ */
66
+ export interface TaskType<Input, Handle, Result> {
67
+ /** Tool name exposed to the LLM (e.g. `startProvisionDatabase`). */
68
+ name: string;
69
+ /** Tool description handed to the LLM. */
70
+ description: string;
71
+ /** Tool category for the registry's middleware selection. */
72
+ category: ToolCategory;
73
+ /** Permission level for the generated `start*` tool. Defaults to ALLOW. */
74
+ defaultPermission?: PermissionLevel;
75
+ /** Schema for the LLM-facing input. */
76
+ inputSchema: z.ZodType<Input>;
77
+ /** Schema for the external handle, used to validate rehydrated state. */
78
+ externalHandleSchema: z.ZodType<Handle>;
79
+ /**
80
+ * Kick the external system into action. Returns an opaque handle the
81
+ * framework persists and feeds back into `poll`.
82
+ */
83
+ start: (input: Input, opts: ToolExecutionOptions) => Promise<StartResult<Handle>>;
84
+ /**
85
+ * Query the external system once. Implementations must respect `signal`
86
+ * to bail out when the task is cancelled.
87
+ */
88
+ poll: (handle: Handle, signal: AbortSignal) => Promise<TaskStatus<Result>>;
89
+ /**
90
+ * Best-effort cancel hook on the external system. Optional — when
91
+ * absent, cancellation is local-only (we stop polling).
92
+ */
93
+ cancel?: (handle: Handle) => Promise<void>;
94
+ /** Override the default exponential-backoff schedule. */
95
+ pollSchedule?: PollSchedule;
96
+ /** Format a `TaskStatus` for the LLM-facing tool response. */
97
+ formatStatus?: (status: TaskStatus<Result>) => string;
98
+ }
99
+ /**
100
+ * In-memory state for a single live task, owned by `TaskStore`. The
101
+ * `result` field is in-memory only.
102
+ */
103
+ export interface RunningTask<Handle = unknown, Result = unknown> {
104
+ taskId: string;
105
+ taskType: string;
106
+ externalHandle: Handle;
107
+ label?: string;
108
+ startedAt: string;
109
+ state: TaskStatus<Result>["state"];
110
+ message?: string;
111
+ result?: Result;
112
+ error?: string;
113
+ /**
114
+ * Owner identity captured at `start()` time so cross-user / cross-peer
115
+ * inspection can be denied by the LLM-facing tools. `undefined` means
116
+ * "no owner recorded" — the local-dev path where no JWT is available
117
+ * — and is treated as accessible by any caller (back-compat).
118
+ *
119
+ * Identity comes from `parseJwt(clark.context.jwt).userId` when the
120
+ * AiService is wired up; tests pass the value through directly.
121
+ */
122
+ ownerUserId?: string;
123
+ }
124
+ /**
125
+ * On-disk task record. Mirrors `RunningTask` minus the in-memory-only
126
+ * `result`. The schema is also the contract for `.superblocks/tasks/tasks.json`.
127
+ */
128
+ export declare const taskHandleSchema: z.ZodObject<{
129
+ taskId: z.ZodString;
130
+ taskType: z.ZodString;
131
+ externalHandle: z.ZodUnknown;
132
+ label: z.ZodOptional<z.ZodString>;
133
+ startedAt: z.ZodString;
134
+ lastState: z.ZodEnum<["running", "completed", "failed", "cancelled"]>;
135
+ lastMessage: z.ZodOptional<z.ZodString>;
136
+ }, "strip", z.ZodTypeAny, {
137
+ startedAt: string;
138
+ taskId: string;
139
+ taskType: string;
140
+ lastState: "cancelled" | "running" | "failed" | "completed";
141
+ label?: string | undefined;
142
+ externalHandle?: unknown;
143
+ lastMessage?: string | undefined;
144
+ }, {
145
+ startedAt: string;
146
+ taskId: string;
147
+ taskType: string;
148
+ lastState: "cancelled" | "running" | "failed" | "completed";
149
+ label?: string | undefined;
150
+ externalHandle?: unknown;
151
+ lastMessage?: string | undefined;
152
+ }>;
153
+ export type TaskHandle = z.infer<typeof taskHandleSchema>;
154
+ export declare const taskFileSchema: z.ZodObject<{
155
+ version: z.ZodLiteral<1>;
156
+ tasks: z.ZodArray<z.ZodObject<{
157
+ taskId: z.ZodString;
158
+ taskType: z.ZodString;
159
+ externalHandle: z.ZodUnknown;
160
+ label: z.ZodOptional<z.ZodString>;
161
+ startedAt: z.ZodString;
162
+ lastState: z.ZodEnum<["running", "completed", "failed", "cancelled"]>;
163
+ lastMessage: z.ZodOptional<z.ZodString>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ startedAt: string;
166
+ taskId: string;
167
+ taskType: string;
168
+ lastState: "cancelled" | "running" | "failed" | "completed";
169
+ label?: string | undefined;
170
+ externalHandle?: unknown;
171
+ lastMessage?: string | undefined;
172
+ }, {
173
+ startedAt: string;
174
+ taskId: string;
175
+ taskType: string;
176
+ lastState: "cancelled" | "running" | "failed" | "completed";
177
+ label?: string | undefined;
178
+ externalHandle?: unknown;
179
+ lastMessage?: string | undefined;
180
+ }>, "many">;
181
+ }, "strip", z.ZodTypeAny, {
182
+ version: 1;
183
+ tasks: {
184
+ startedAt: string;
185
+ taskId: string;
186
+ taskType: string;
187
+ lastState: "cancelled" | "running" | "failed" | "completed";
188
+ label?: string | undefined;
189
+ externalHandle?: unknown;
190
+ lastMessage?: string | undefined;
191
+ }[];
192
+ }, {
193
+ version: 1;
194
+ tasks: {
195
+ startedAt: string;
196
+ taskId: string;
197
+ taskType: string;
198
+ lastState: "cancelled" | "running" | "failed" | "completed";
199
+ label?: string | undefined;
200
+ externalHandle?: unknown;
201
+ lastMessage?: string | undefined;
202
+ }[];
203
+ }>;
204
+ export type TaskFile = z.infer<typeof taskFileSchema>;
205
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/tasks/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import z from "zod";
2
+ export const DEFAULT_POLL_SCHEDULE = {
3
+ initialMs: 2_000,
4
+ maxMs: 5 * 60_000,
5
+ factor: 1.5,
6
+ };
7
+ /**
8
+ * On-disk task record. Mirrors `RunningTask` minus the in-memory-only
9
+ * `result`. The schema is also the contract for `.superblocks/tasks/tasks.json`.
10
+ */
11
+ export const taskHandleSchema = z.object({
12
+ taskId: z.string(),
13
+ taskType: z.string(),
14
+ externalHandle: z.unknown(),
15
+ label: z.string().optional(),
16
+ startedAt: z.string(),
17
+ lastState: z.enum(["running", "completed", "failed", "cancelled"]),
18
+ lastMessage: z.string().optional(),
19
+ });
20
+ export const taskFileSchema = z.object({
21
+ version: z.literal(1),
22
+ tasks: z.array(taskHandleSchema),
23
+ });
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ai-service/tasks/types.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAyCpB,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,CAAC,GAAG,MAAM;IACjB,MAAM,EAAE,GAAG;CACZ,CAAC;AA2FF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACjC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderer.d.ts","sourceRoot":"","sources":["../../src/ai-service/template-renderer.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAK5E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE5B,MAAM,iCAAiC,CAAC;AAGzC,KAAK,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAa3C,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;gBAEtD,EACV,mBAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,EAAE;QACD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB;;;;;;WAMG;QACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC;IA8BK,oBAAoB;IAKpB,cAAc,CAAC,YAAY,EAAE,YAAY;IAkC/C,OAAO,CAAC,kBAAkB;CA8D3B;AAwDD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,sBAAsB,CAAC;CAC9C,GACA,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
1
+ {"version":3,"file":"template-renderer.d.ts","sourceRoot":"","sources":["../../src/ai-service/template-renderer.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAK5E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE5B,MAAM,iCAAiC,CAAC;AAGzC,KAAK,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAa3C,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;gBAEtD,EACV,mBAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,EAAE;QACD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB;;;;;;WAMG;QACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC;IA8BK,oBAAoB;IAKpB,cAAc,CAAC,YAAY,EAAE,YAAY;IAkC/C,OAAO,CAAC,kBAAkB;CA8D3B;AAwDD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,sBAAsB,CAAC;CAC9C,GACA,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -231,6 +231,7 @@ export async function installTemplateModules(dir, options) {
231
231
  runner: "prefetch",
232
232
  registryHost: templateRegistryUrlFromFetchResult(options?.registryFetchResult),
233
233
  outcome,
234
+ configured: options?.registryFetchResult?.config.configured ?? false,
234
235
  durationMs: Date.now() - installStart,
235
236
  });
236
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../src/ai-service/template-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../src/ai-service/template-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * In-memory OTel metrics capture for tests.
3
+ *
4
+ * Installs a real SDK MeterProvider backed by an InMemoryMetricExporter as
5
+ * the process-global provider, so emitter modules that resolve their meter
6
+ * lazily from `metrics.getMeter()` bind to it. `collect()` force-flushes and
7
+ * reshapes the SDK's ResourceMetrics into a flat (metric, attributes, value)
8
+ * list for assertion. Mirrors the harness used by
9
+ * `shell.install-metrics.test.ts` and the telemetry package's emitter tests.
10
+ */
11
+ import { type Attributes } from "@opentelemetry/api";
12
+ export interface FlatDataPoint {
13
+ metric: string;
14
+ attributes: Attributes;
15
+ value: number | {
16
+ count?: number;
17
+ sum?: number;
18
+ };
19
+ }
20
+ export interface MetricsCapture {
21
+ collect: () => Promise<FlatDataPoint[]>;
22
+ shutdown: () => Promise<void>;
23
+ }
24
+ /**
25
+ * Swap in a fresh in-memory global MeterProvider.
26
+ *
27
+ * @param onProviderSwap invoked right after the swap (and again on shutdown)
28
+ * so emitter singletons that cache instruments can drop their bindings to
29
+ * the previous provider.
30
+ */
31
+ export declare function setupMetricsCapture(onProviderSwap?: () => void): MetricsCapture;
32
+ //# sourceMappingURL=metrics-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-harness.d.ts","sourceRoot":"","sources":["../../../src/ai-service/test-utils/metrics-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,oBAAoB,CAAC;AAS5B,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,cAAc,CAoDhB"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * In-memory OTel metrics capture for tests.
3
+ *
4
+ * Installs a real SDK MeterProvider backed by an InMemoryMetricExporter as
5
+ * the process-global provider, so emitter modules that resolve their meter
6
+ * lazily from `metrics.getMeter()` bind to it. `collect()` force-flushes and
7
+ * reshapes the SDK's ResourceMetrics into a flat (metric, attributes, value)
8
+ * list for assertion. Mirrors the harness used by
9
+ * `shell.install-metrics.test.ts` and the telemetry package's emitter tests.
10
+ */
11
+ import { metrics, } from "@opentelemetry/api";
12
+ import { AggregationTemporality, DataPointType, InMemoryMetricExporter, MeterProvider as SdkMeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
13
+ /**
14
+ * Swap in a fresh in-memory global MeterProvider.
15
+ *
16
+ * @param onProviderSwap invoked right after the swap (and again on shutdown)
17
+ * so emitter singletons that cache instruments can drop their bindings to
18
+ * the previous provider.
19
+ */
20
+ export function setupMetricsCapture(onProviderSwap) {
21
+ const previousProvider = metrics.getMeterProvider();
22
+ const exporter = new InMemoryMetricExporter(AggregationTemporality.CUMULATIVE);
23
+ const reader = new PeriodicExportingMetricReader({
24
+ exporter,
25
+ exportIntervalMillis: 60_000,
26
+ });
27
+ const provider = new SdkMeterProvider({ readers: [reader] });
28
+ replaceGlobalMeterProvider(provider);
29
+ onProviderSwap?.();
30
+ const flatten = (name, dps) => dps.map((dp) => ({
31
+ metric: name,
32
+ attributes: dp.attributes,
33
+ value: dp.value,
34
+ }));
35
+ return {
36
+ async collect() {
37
+ await provider.forceFlush();
38
+ const out = [];
39
+ for (const resourceMetrics of exporter.getMetrics()) {
40
+ for (const scopeMetrics of resourceMetrics.scopeMetrics) {
41
+ for (const metric of scopeMetrics.metrics) {
42
+ if (metric.dataPointType === DataPointType.SUM ||
43
+ metric.dataPointType === DataPointType.GAUGE ||
44
+ metric.dataPointType === DataPointType.HISTOGRAM) {
45
+ out.push(...flatten(metric.descriptor.name, metric.dataPoints));
46
+ }
47
+ }
48
+ }
49
+ }
50
+ exporter.reset();
51
+ return out;
52
+ },
53
+ async shutdown() {
54
+ await provider.shutdown();
55
+ replaceGlobalMeterProvider(previousProvider);
56
+ onProviderSwap?.();
57
+ },
58
+ };
59
+ }
60
+ function replaceGlobalMeterProvider(provider) {
61
+ metrics.disable();
62
+ const didInstall = metrics.setGlobalMeterProvider(provider);
63
+ if (!didInstall || metrics.getMeterProvider() !== provider) {
64
+ throw new Error("Failed to install OpenTelemetry test meter provider");
65
+ }
66
+ }
67
+ //# sourceMappingURL=metrics-harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-harness.js","sourceRoot":"","sources":["../../../src/ai-service/test-utils/metrics-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAGL,OAAO,GACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,aAAa,IAAI,gBAAgB,EACjC,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAapC;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAA2B;IAE3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,sBAAsB,CAAC,UAAU,CAClC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,6BAA6B,CAAC;QAC/C,QAAQ;QACR,oBAAoB,EAAE,MAAM;KAC7B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7D,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrC,cAAc,EAAE,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,CACd,IAAY,EACZ,GAGE,EACe,EAAE,CACnB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACf,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC,CAAC;IAEN,OAAO;QACL,KAAK,CAAC,OAAO;YACX,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAoB,EAAE,CAAC;YAChC,KAAK,MAAM,eAAe,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;gBACpD,KAAK,MAAM,YAAY,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;oBACxD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBAC1C,IACE,MAAM,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG;4BAC1C,MAAM,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK;4BAC5C,MAAM,CAAC,aAAa,KAAK,aAAa,CAAC,SAAS,EAChD,CAAC;4BACD,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;YAC7C,cAAc,EAAE,EAAE,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA0B;IAC5D,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { LLMObsTracer } from "../llmobs/tracer.js";
2
+ export interface CapturingTracer {
3
+ tracer: LLMObsTracer;
4
+ traceOptions: Array<Record<string, unknown>>;
5
+ annotations: Array<Record<string, unknown>>;
6
+ }
7
+ export declare function createCapturingTracer(): CapturingTracer;
8
+ //# sourceMappingURL=tracer-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer-harness.d.ts","sourceRoot":"","sources":["../../../src/ai-service/test-utils/tracer-harness.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAmBvD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Capturing LLMObs tracer stub for unit tests.
3
+ *
4
+ * Records every `trace()` call's options and every `annotate()` payload so
5
+ * tests can assert span names/kinds and annotations without dd-trace.
6
+ * `trace` runs the callback immediately with an inert span; `wrap` returns
7
+ * the wrapped function unchanged.
8
+ */
9
+ import { vi } from "vitest";
10
+ export function createCapturingTracer() {
11
+ const traceOptions = [];
12
+ const annotations = [];
13
+ const span = { finish: vi.fn() };
14
+ const tracer = {
15
+ trace: vi.fn((options, fn) => {
16
+ traceOptions.push(options);
17
+ return fn(span);
18
+ }),
19
+ wrap: vi.fn().mockImplementation((_meta, fn) => fn),
20
+ annotate: vi.fn((_span, spanAnnotations) => {
21
+ annotations.push(spanAnnotations);
22
+ }),
23
+ };
24
+ return { tracer, traceOptions, annotations };
25
+ }
26
+ //# sourceMappingURL=tracer-harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer-harness.js","sourceRoot":"","sources":["../../../src/ai-service/test-utils/tracer-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAU5B,MAAM,UAAU,qBAAqB;IACnC,MAAM,YAAY,GAAmC,EAAE,CAAC;IACxD,MAAM,WAAW,GAAmC,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,EAAE,CAAC,EAAE,CACV,CAAC,OAAgC,EAAE,EAA8B,EAAE,EAAE;YACnE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CACF;QACD,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAc,EAAE,EAAW,EAAE,EAAE,CAAC,EAAE,CAAC;QACrE,QAAQ,EAAE,EAAE,CAAC,EAAE,CACb,CAAC,KAAc,EAAE,eAAwC,EAAE,EAAE;YAC3D,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC,CACF;KACyB,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Deterministic fixup for the `lucide-react/dynamic` type-only import trap.
3
+ *
4
+ * `lucide-react/dynamic` exports a handful of identifiers that are TYPE-ONLY
5
+ * (`IconName`, `DynamicIconModule`). If generated code imports one of them as a
6
+ * VALUE (i.e. without the `type` keyword), the import survives per-file
7
+ * transpilation — the bundler can't see across files to know the binding is a
8
+ * type — and the app crashes at runtime with:
9
+ *
10
+ * SyntaxError: ... does not provide an export named 'IconName'
11
+ *
12
+ * That crash blanks the preview, which blocks Clark from verifying the UI via
13
+ * screenshots/navigation (APPS-4518 / APPS-4507).
14
+ *
15
+ * The skills/prompt guidance already steers the model toward `import type`, but
16
+ * that only *reduces* the odds. This transform is the deterministic
17
+ * belt-and-suspenders layer: it rewrites any value import of a type-only export
18
+ * into a type import, regardless of what the model emitted. It runs on every
19
+ * file write but short-circuits immediately for content that doesn't reference
20
+ * the module, so the cost is a single substring check in the common case.
21
+ */
22
+ /**
23
+ * Returns whether the file extension is one the transpiler processes (and thus
24
+ * one where a stray value import can crash the app at runtime).
25
+ */
26
+ export declare function isFixableLucidePath(filePath: string): boolean;
27
+ /**
28
+ * Rewrites value imports of `lucide-react/dynamic` type-only exports into type
29
+ * imports. Returns the original content unchanged when there is nothing to fix.
30
+ *
31
+ * Behaviour:
32
+ * - `import { IconName }` -> `import type { IconName }`
33
+ * - `import { DynamicIcon, IconName }` -> `import { DynamicIcon, type IconName }`
34
+ * - `import { IconName as Foo }` -> `import type { IconName as Foo }`
35
+ * - `import type { IconName }` -> unchanged (already correct)
36
+ * - `import { type IconName, DynamicIcon }`-> unchanged (already correct)
37
+ * - `import { DynamicIcon }` -> unchanged (value export)
38
+ */
39
+ export declare function fixLucideDynamicTypeImports(content: string): string;
40
+ //# sourceMappingURL=transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/transform/lucide-dynamic-type-imports/transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAyDH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmDnE"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Deterministic fixup for the `lucide-react/dynamic` type-only import trap.
3
+ *
4
+ * `lucide-react/dynamic` exports a handful of identifiers that are TYPE-ONLY
5
+ * (`IconName`, `DynamicIconModule`). If generated code imports one of them as a
6
+ * VALUE (i.e. without the `type` keyword), the import survives per-file
7
+ * transpilation — the bundler can't see across files to know the binding is a
8
+ * type — and the app crashes at runtime with:
9
+ *
10
+ * SyntaxError: ... does not provide an export named 'IconName'
11
+ *
12
+ * That crash blanks the preview, which blocks Clark from verifying the UI via
13
+ * screenshots/navigation (APPS-4518 / APPS-4507).
14
+ *
15
+ * The skills/prompt guidance already steers the model toward `import type`, but
16
+ * that only *reduces* the odds. This transform is the deterministic
17
+ * belt-and-suspenders layer: it rewrites any value import of a type-only export
18
+ * into a type import, regardless of what the model emitted. It runs on every
19
+ * file write but short-circuits immediately for content that doesn't reference
20
+ * the module, so the cost is a single substring check in the common case.
21
+ */
22
+ /** The module whose type-only exports we guard. */
23
+ const LUCIDE_DYNAMIC_MODULE = "lucide-react/dynamic";
24
+ /**
25
+ * Exports of `lucide-react/dynamic` that are declared with `export type`.
26
+ * Importing any of these as a value is always a bug.
27
+ *
28
+ * Value exports (left untouched): `DynamicIcon`, `dynamicIconImports`,
29
+ * `iconNames`.
30
+ */
31
+ const TYPE_ONLY_EXPORTS = new Set(["IconName", "DynamicIconModule"]);
32
+ /** Source extensions that go through the transpiler and can hit this trap. */
33
+ const FIXABLE_EXTENSIONS = [
34
+ ".ts",
35
+ ".tsx",
36
+ ".mts",
37
+ ".cts",
38
+ ".js",
39
+ ".jsx",
40
+ ".mjs",
41
+ ];
42
+ /**
43
+ * Matches a named import statement from `lucide-react/dynamic`, capturing:
44
+ * 1: optional statement-level `type ` keyword
45
+ * 2: the specifier list inside the braces (may span multiple lines)
46
+ * 3: the quote character used for the module specifier
47
+ */
48
+ const IMPORT_RE = /import\s+(type\s+)?\{([^}]*)\}\s*from\s*(['"])lucide-react\/dynamic\3\s*;?/g;
49
+ function parseSpecifier(rawSpecifier) {
50
+ const trimmed = rawSpecifier.trim();
51
+ if (trimmed === "") {
52
+ return null;
53
+ }
54
+ const inlineType = /^type\s+/.test(trimmed);
55
+ const withoutType = inlineType ? trimmed.replace(/^type\s+/, "") : trimmed;
56
+ // `importedName as alias` -> importedName is what was exported by the module.
57
+ const importedName = withoutType.split(/\s+as\s+/)[0]?.trim() ?? "";
58
+ return { raw: trimmed, importedName, inlineType };
59
+ }
60
+ /**
61
+ * Returns whether the file extension is one the transpiler processes (and thus
62
+ * one where a stray value import can crash the app at runtime).
63
+ */
64
+ export function isFixableLucidePath(filePath) {
65
+ const lower = filePath.toLowerCase();
66
+ return FIXABLE_EXTENSIONS.some((ext) => lower.endsWith(ext));
67
+ }
68
+ /**
69
+ * Rewrites value imports of `lucide-react/dynamic` type-only exports into type
70
+ * imports. Returns the original content unchanged when there is nothing to fix.
71
+ *
72
+ * Behaviour:
73
+ * - `import { IconName }` -> `import type { IconName }`
74
+ * - `import { DynamicIcon, IconName }` -> `import { DynamicIcon, type IconName }`
75
+ * - `import { IconName as Foo }` -> `import type { IconName as Foo }`
76
+ * - `import type { IconName }` -> unchanged (already correct)
77
+ * - `import { type IconName, DynamicIcon }`-> unchanged (already correct)
78
+ * - `import { DynamicIcon }` -> unchanged (value export)
79
+ */
80
+ export function fixLucideDynamicTypeImports(content) {
81
+ // Cheap guard: the vast majority of files never touch this module.
82
+ if (!content.includes(LUCIDE_DYNAMIC_MODULE)) {
83
+ return content;
84
+ }
85
+ return content.replace(IMPORT_RE, (match, statementType, body, quote) => {
86
+ // Already a statement-level `import type { ... }` — nothing to do.
87
+ if (statementType) {
88
+ return match;
89
+ }
90
+ const specifiers = body
91
+ .split(",")
92
+ .map(parseSpecifier)
93
+ .filter((s) => s !== null);
94
+ if (specifiers.length === 0) {
95
+ return match;
96
+ }
97
+ const needsFix = specifiers.some((s) => TYPE_ONLY_EXPORTS.has(s.importedName) && !s.inlineType);
98
+ if (!needsFix) {
99
+ return match;
100
+ }
101
+ const allTypeOnly = specifiers.every((s) => TYPE_ONLY_EXPORTS.has(s.importedName) || s.inlineType);
102
+ if (allTypeOnly) {
103
+ // Collapse to an idiomatic `import type { ... }` and drop now-redundant
104
+ // inline `type` markers.
105
+ const names = specifiers.map((s) => s.raw.replace(/^type\s+/, ""));
106
+ return `import type { ${names.join(", ")} } from ${quote}${LUCIDE_DYNAMIC_MODULE}${quote};`;
107
+ }
108
+ // Mixed value + type imports: mark only the type-only specifiers inline.
109
+ const rendered = specifiers.map((s) => {
110
+ if (TYPE_ONLY_EXPORTS.has(s.importedName) && !s.inlineType) {
111
+ return `type ${s.raw}`;
112
+ }
113
+ return s.raw;
114
+ });
115
+ return `import { ${rendered.join(", ")} } from ${quote}${LUCIDE_DYNAMIC_MODULE}${quote};`;
116
+ });
117
+ }
118
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../src/ai-service/transform/lucide-dynamic-type-imports/transformer.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,8 @@ export interface LLMConfigResult {
23
23
  * providers -- the Clark proxy forwards `providerOptions.anthropic` through
24
24
  * to the Anthropic API for bedrock, vertex, and snowflake backends.
25
25
  *
26
- * The `contextManagementOptions` parameter allows callers to pass dynamic
27
- * per-request data into the context management config:
28
- * - `modeInstructions`: Tells the compaction summarizer to preserve mode state
29
- * (Build/Plan, approval status) in its summary output.
30
- * - `excludeTools`: Protected tool names are added later in `LLMClient.streamText`
31
- * after the context is loaded and protected tools can be read from history.
26
+ * Protected tool names are added later in `LLMClient.streamText` after the
27
+ * context is loaded and protected tools can be read from history.
32
28
  *
33
29
  * @param llmConfig - The LLM provider configuration
34
30
  * @param defaultBudgetTokens - Default thinking budget if not specified (default: 5000)