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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +31 -2
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/example-selector.d.ts +24 -0
  6. package/dist/ai-service/agent/subagents/apis/example-selector.d.ts.map +1 -0
  7. package/dist/ai-service/agent/subagents/apis/example-selector.js +104 -0
  8. package/dist/ai-service/agent/subagents/apis/example-selector.js.map +1 -0
  9. package/dist/ai-service/agent/subagents/apis/examples.d.ts +55 -0
  10. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -0
  11. package/dist/ai-service/agent/subagents/apis/examples.js +1229 -0
  12. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -0
  13. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +83 -0
  14. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -0
  15. package/dist/ai-service/agent/{apis.js → subagents/apis/generate-api-source.js} +131 -99
  16. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -0
  17. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +39 -0
  18. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -0
  19. package/dist/ai-service/agent/subagents/apis/prompt-builder.js +115 -0
  20. package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -0
  21. package/dist/ai-service/agent/{apis-static-analysis.d.ts → subagents/apis/static-analysis.d.ts} +1 -1
  22. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -0
  23. package/dist/ai-service/agent/{apis-static-analysis.js → subagents/apis/static-analysis.js} +3 -2
  24. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -0
  25. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +3 -0
  26. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -0
  27. package/dist/ai-service/agent/{apis-system-prompt.js → subagents/apis/system-prompt.js} +67 -31
  28. package/dist/ai-service/agent/{apis-system-prompt.js.map → subagents/apis/system-prompt.js.map} +1 -1
  29. package/dist/ai-service/agent/tool-message-utils.d.ts +6 -15
  30. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tool-message-utils.js +75 -248
  32. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  33. package/dist/ai-service/agent/tools/build-add-event.d.ts +2 -4
  34. package/dist/ai-service/agent/tools/build-add-event.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-add-event.js +9 -8
  36. package/dist/ai-service/agent/tools/build-add-event.js.map +1 -1
  37. package/dist/ai-service/agent/tools/build-add-state-var.d.ts +2 -4
  38. package/dist/ai-service/agent/tools/build-add-state-var.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools/build-add-state-var.js +6 -5
  40. package/dist/ai-service/agent/tools/build-add-state-var.js.map +1 -1
  41. package/dist/ai-service/agent/tools/build-add-timer.d.ts +2 -4
  42. package/dist/ai-service/agent/tools/build-add-timer.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-add-timer.js +7 -6
  44. package/dist/ai-service/agent/tools/build-add-timer.js.map +1 -1
  45. package/dist/ai-service/agent/tools/build-create-page.d.ts +2 -3
  46. package/dist/ai-service/agent/tools/build-create-page.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/build-create-page.js +11 -10
  48. package/dist/ai-service/agent/tools/build-create-page.js.map +1 -1
  49. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -3
  50. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  51. package/dist/ai-service/agent/tools/build-debug.js +7 -5
  52. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  53. package/dist/ai-service/agent/tools/build-edit-file.d.ts +2 -4
  54. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools/build-edit-file.js +10 -7
  56. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  57. package/dist/ai-service/agent/tools/build-finalize.d.ts +2 -4
  58. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools/build-finalize.js +7 -6
  60. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  61. package/dist/ai-service/agent/tools/build-install-packages.d.ts +2 -4
  62. package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools/build-install-packages.js +7 -6
  64. package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
  65. package/dist/ai-service/agent/tools/build-list-available-components.d.ts +3 -8
  66. package/dist/ai-service/agent/tools/build-list-available-components.d.ts.map +1 -1
  67. package/dist/ai-service/agent/tools/build-list-available-components.js +30 -9
  68. package/dist/ai-service/agent/tools/build-list-available-components.js.map +1 -1
  69. package/dist/ai-service/agent/tools/build-list-files.d.ts +2 -3
  70. package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools/build-list-files.js +10 -8
  72. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  73. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +3 -3
  74. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools/build-manage-checklist.js +9 -8
  76. package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
  77. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +2 -4
  78. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  79. package/dist/ai-service/agent/tools/build-multi-edit-file.js +9 -6
  80. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  81. package/dist/ai-service/agent/tools/build-read-files.d.ts +2 -4
  82. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
  83. package/dist/ai-service/agent/tools/build-read-files.js +10 -8
  84. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  85. package/dist/ai-service/agent/tools/build-register-component-name.d.ts +2 -4
  86. package/dist/ai-service/agent/tools/build-register-component-name.d.ts.map +1 -1
  87. package/dist/ai-service/agent/tools/build-register-component-name.js +9 -8
  88. package/dist/ai-service/agent/tools/build-register-component-name.js.map +1 -1
  89. package/dist/ai-service/agent/tools/build-rename-page.d.ts +2 -3
  90. package/dist/ai-service/agent/tools/build-rename-page.d.ts.map +1 -1
  91. package/dist/ai-service/agent/tools/build-rename-page.js +6 -5
  92. package/dist/ai-service/agent/tools/build-rename-page.js.map +1 -1
  93. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +2 -4
  94. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -1
  95. package/dist/ai-service/agent/tools/build-set-api-triggers.js +6 -5
  96. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -1
  97. package/dist/ai-service/agent/tools/build-update-state-var.d.ts +2 -3
  98. package/dist/ai-service/agent/tools/build-update-state-var.d.ts.map +1 -1
  99. package/dist/ai-service/agent/tools/build-update-state-var.js +6 -5
  100. package/dist/ai-service/agent/tools/build-update-state-var.js.map +1 -1
  101. package/dist/ai-service/agent/tools/build-validate-icons.d.ts +2 -3
  102. package/dist/ai-service/agent/tools/build-validate-icons.d.ts.map +1 -1
  103. package/dist/ai-service/agent/tools/build-validate-icons.js +8 -6
  104. package/dist/ai-service/agent/tools/build-validate-icons.js.map +1 -1
  105. package/dist/ai-service/agent/tools/build-write-file.d.ts +2 -4
  106. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  107. package/dist/ai-service/agent/tools/build-write-file.js +6 -5
  108. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  109. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  110. package/dist/ai-service/agent/tools/debug-cache.js +3 -0
  111. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  112. package/dist/ai-service/agent/tools/index.d.ts +23 -20
  113. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  114. package/dist/ai-service/agent/tools/index.js +23 -20
  115. package/dist/ai-service/agent/tools/index.js.map +1 -1
  116. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +25 -0
  117. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -0
  118. package/dist/ai-service/agent/tools/integrations/execute-request.js +213 -0
  119. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -0
  120. package/dist/ai-service/agent/tools/integrations/index.d.ts +4 -0
  121. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -0
  122. package/dist/ai-service/agent/tools/integrations/index.js +4 -0
  123. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -0
  124. package/dist/ai-service/agent/tools/integrations/internal.d.ts +3 -0
  125. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -0
  126. package/dist/ai-service/agent/tools/integrations/internal.js +11 -0
  127. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -0
  128. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +9 -0
  129. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -0
  130. package/dist/ai-service/agent/tools/integrations/metadata.js +57 -0
  131. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -0
  132. package/dist/ai-service/agent/tools/integrations/run-code.d.ts +5 -0
  133. package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -0
  134. package/dist/ai-service/agent/tools/integrations/run-code.js +32 -0
  135. package/dist/ai-service/agent/tools/integrations/run-code.js.map +1 -0
  136. package/dist/ai-service/agent/tools/study-current-app-state.d.ts +2 -4
  137. package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
  138. package/dist/ai-service/agent/tools/study-current-app-state.js +10 -8
  139. package/dist/ai-service/agent/tools/study-current-app-state.js.map +1 -1
  140. package/dist/ai-service/agent/tools.d.ts +3 -280
  141. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  142. package/dist/ai-service/agent/tools.js +68 -55
  143. package/dist/ai-service/agent/tools.js.map +1 -1
  144. package/dist/ai-service/agent/tools2/access-control.d.ts +119 -0
  145. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -0
  146. package/dist/ai-service/agent/tools2/access-control.js +216 -0
  147. package/dist/ai-service/agent/tools2/access-control.js.map +1 -0
  148. package/dist/ai-service/agent/tools2/example.d.ts +13 -0
  149. package/dist/ai-service/agent/tools2/example.d.ts.map +1 -0
  150. package/dist/ai-service/agent/tools2/example.js +143 -0
  151. package/dist/ai-service/agent/tools2/example.js.map +1 -0
  152. package/dist/ai-service/agent/tools2/index.d.ts +16 -0
  153. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -0
  154. package/dist/ai-service/agent/tools2/index.js +18 -0
  155. package/dist/ai-service/agent/tools2/index.js.map +1 -0
  156. package/dist/ai-service/agent/tools2/registry.d.ts +167 -0
  157. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -0
  158. package/dist/ai-service/agent/tools2/registry.js +305 -0
  159. package/dist/ai-service/agent/tools2/registry.js.map +1 -0
  160. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +12 -0
  161. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -0
  162. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +73 -0
  163. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -0
  164. package/dist/ai-service/agent/tools2/tools/bash.d.ts +34 -0
  165. package/dist/ai-service/agent/tools2/tools/bash.d.ts.map +1 -0
  166. package/dist/ai-service/agent/tools2/tools/bash.js +76 -0
  167. package/dist/ai-service/agent/tools2/tools/bash.js.map +1 -0
  168. package/dist/ai-service/agent/tools2/tools/edit.d.ts +14 -0
  169. package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -0
  170. package/dist/ai-service/agent/tools2/tools/edit.js +60 -0
  171. package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -0
  172. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +10 -0
  173. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -0
  174. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +66 -0
  175. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -0
  176. package/dist/ai-service/agent/tools2/tools/glob.d.ts +11 -0
  177. package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -0
  178. package/dist/ai-service/agent/tools2/tools/glob.js +44 -0
  179. package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -0
  180. package/dist/ai-service/agent/tools2/tools/grep.d.ts +21 -0
  181. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -0
  182. package/dist/ai-service/agent/tools2/tools/grep.js +100 -0
  183. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -0
  184. package/dist/ai-service/agent/tools2/tools/index.d.ts +13 -0
  185. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -0
  186. package/dist/ai-service/agent/tools2/tools/index.js +13 -0
  187. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -0
  188. package/dist/ai-service/agent/tools2/tools/read.d.ts +9 -0
  189. package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -0
  190. package/dist/ai-service/agent/tools2/tools/read.js +43 -0
  191. package/dist/ai-service/agent/tools2/tools/read.js.map +1 -0
  192. package/dist/ai-service/agent/tools2/tools/write.d.ts +11 -0
  193. package/dist/ai-service/agent/tools2/tools/write.d.ts.map +1 -0
  194. package/dist/ai-service/agent/tools2/tools/write.js +28 -0
  195. package/dist/ai-service/agent/tools2/tools/write.js.map +1 -0
  196. package/dist/ai-service/agent/tools2/types.d.ts +148 -0
  197. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -0
  198. package/dist/ai-service/agent/tools2/types.js +55 -0
  199. package/dist/ai-service/agent/tools2/types.js.map +1 -0
  200. package/dist/ai-service/agent/utils.d.ts +2 -3
  201. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  202. package/dist/ai-service/agent/utils.js +14 -13
  203. package/dist/ai-service/agent/utils.js.map +1 -1
  204. package/dist/ai-service/chat/chat-session-store.d.ts +5 -0
  205. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  206. package/dist/ai-service/chat/chat-session-store.js +484 -345
  207. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  208. package/dist/ai-service/chat/extract-history.d.ts +1 -0
  209. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  210. package/dist/ai-service/chat/extract-history.js +12 -1
  211. package/dist/ai-service/chat/extract-history.js.map +1 -1
  212. package/dist/ai-service/const.d.ts +2 -1
  213. package/dist/ai-service/const.d.ts.map +1 -1
  214. package/dist/ai-service/const.js +7 -1
  215. package/dist/ai-service/const.js.map +1 -1
  216. package/dist/ai-service/index.d.ts +9 -8
  217. package/dist/ai-service/index.d.ts.map +1 -1
  218. package/dist/ai-service/index.js +7 -0
  219. package/dist/ai-service/index.js.map +1 -1
  220. package/dist/ai-service/integrations/store.d.ts +24 -1
  221. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  222. package/dist/ai-service/integrations/store.js +86 -2
  223. package/dist/ai-service/integrations/store.js.map +1 -1
  224. package/dist/ai-service/llm/context/caching/constants.d.ts +27 -0
  225. package/dist/ai-service/llm/context/caching/constants.d.ts.map +1 -0
  226. package/dist/ai-service/llm/context/caching/constants.js +20 -0
  227. package/dist/ai-service/llm/context/caching/constants.js.map +1 -0
  228. package/dist/ai-service/llm/context/caching/factory.d.ts +12 -0
  229. package/dist/ai-service/llm/context/caching/factory.d.ts.map +1 -0
  230. package/dist/ai-service/llm/context/caching/factory.js +28 -0
  231. package/dist/ai-service/llm/context/caching/factory.js.map +1 -0
  232. package/dist/ai-service/llm/context/caching/index.d.ts +10 -0
  233. package/dist/ai-service/llm/context/caching/index.d.ts.map +1 -0
  234. package/dist/ai-service/llm/context/caching/index.js +9 -0
  235. package/dist/ai-service/llm/context/caching/index.js.map +1 -0
  236. package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts +22 -0
  237. package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts.map +1 -0
  238. package/dist/ai-service/llm/context/caching/quantized-strategy.js +48 -0
  239. package/dist/ai-service/llm/context/caching/quantized-strategy.js.map +1 -0
  240. package/dist/ai-service/llm/context/caching/strategy.d.ts +20 -0
  241. package/dist/ai-service/llm/context/caching/strategy.d.ts.map +1 -0
  242. package/dist/ai-service/llm/context/caching/strategy.js +5 -0
  243. package/dist/ai-service/llm/context/caching/strategy.js.map +1 -0
  244. package/dist/ai-service/llm/context/caching/types.d.ts +34 -0
  245. package/dist/ai-service/llm/context/caching/types.d.ts.map +1 -0
  246. package/dist/ai-service/llm/context/caching/types.js +8 -0
  247. package/dist/ai-service/llm/context/caching/types.js.map +1 -0
  248. package/dist/ai-service/llm/context/config.d.ts +51 -0
  249. package/dist/ai-service/llm/context/config.d.ts.map +1 -0
  250. package/dist/ai-service/llm/context/config.js +58 -0
  251. package/dist/ai-service/llm/context/config.js.map +1 -0
  252. package/dist/ai-service/llm/context/constants.d.ts +106 -0
  253. package/dist/ai-service/llm/context/constants.d.ts.map +1 -0
  254. package/dist/ai-service/llm/context/constants.js +106 -0
  255. package/dist/ai-service/llm/context/constants.js.map +1 -0
  256. package/dist/ai-service/llm/context/context.d.ts +207 -0
  257. package/dist/ai-service/llm/context/context.d.ts.map +1 -0
  258. package/dist/ai-service/llm/context/context.js +742 -0
  259. package/dist/ai-service/llm/context/context.js.map +1 -0
  260. package/dist/ai-service/llm/context/errors.d.ts +45 -0
  261. package/dist/ai-service/llm/context/errors.d.ts.map +1 -0
  262. package/dist/ai-service/llm/context/errors.js +56 -0
  263. package/dist/ai-service/llm/context/errors.js.map +1 -0
  264. package/dist/ai-service/llm/context/index.d.ts +13 -0
  265. package/dist/ai-service/llm/context/index.d.ts.map +1 -0
  266. package/dist/ai-service/llm/context/index.js +17 -0
  267. package/dist/ai-service/llm/context/index.js.map +1 -0
  268. package/dist/ai-service/llm/context/internal-types.d.ts +52 -0
  269. package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -0
  270. package/dist/ai-service/llm/context/internal-types.js +28 -0
  271. package/dist/ai-service/llm/context/internal-types.js.map +1 -0
  272. package/dist/ai-service/llm/context/levels/index.d.ts +12 -0
  273. package/dist/ai-service/llm/context/levels/index.d.ts.map +1 -0
  274. package/dist/ai-service/llm/context/levels/index.js +12 -0
  275. package/dist/ai-service/llm/context/levels/index.js.map +1 -0
  276. package/dist/ai-service/llm/context/levels/l1.d.ts +83 -0
  277. package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -0
  278. package/dist/ai-service/llm/context/levels/l1.js +143 -0
  279. package/dist/ai-service/llm/context/levels/l1.js.map +1 -0
  280. package/dist/ai-service/llm/context/levels/l2.d.ts +60 -0
  281. package/dist/ai-service/llm/context/levels/l2.d.ts.map +1 -0
  282. package/dist/ai-service/llm/context/levels/l2.js +96 -0
  283. package/dist/ai-service/llm/context/levels/l2.js.map +1 -0
  284. package/dist/ai-service/llm/context/levels/l3.d.ts +46 -0
  285. package/dist/ai-service/llm/context/levels/l3.d.ts.map +1 -0
  286. package/dist/ai-service/llm/context/levels/l3.js +70 -0
  287. package/dist/ai-service/llm/context/levels/l3.js.map +1 -0
  288. package/dist/ai-service/llm/context/logger.d.ts +17 -0
  289. package/dist/ai-service/llm/context/logger.d.ts.map +1 -0
  290. package/dist/ai-service/llm/context/logger.js +26 -0
  291. package/dist/ai-service/llm/context/logger.js.map +1 -0
  292. package/dist/ai-service/llm/context/manager.d.ts +79 -0
  293. package/dist/ai-service/llm/context/manager.d.ts.map +1 -0
  294. package/dist/ai-service/llm/context/manager.js +136 -0
  295. package/dist/ai-service/llm/context/manager.js.map +1 -0
  296. package/dist/ai-service/llm/context/options.d.ts +43 -0
  297. package/dist/ai-service/llm/context/options.d.ts.map +1 -0
  298. package/dist/ai-service/llm/context/options.js +81 -0
  299. package/dist/ai-service/llm/context/options.js.map +1 -0
  300. package/dist/ai-service/llm/context/serialization.d.ts +56 -0
  301. package/dist/ai-service/llm/context/serialization.d.ts.map +1 -0
  302. package/dist/ai-service/llm/context/serialization.js +9 -0
  303. package/dist/ai-service/llm/context/serialization.js.map +1 -0
  304. package/dist/ai-service/llm/context/storage/index.d.ts +10 -0
  305. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -0
  306. package/dist/ai-service/llm/context/storage/index.js +2 -0
  307. package/dist/ai-service/llm/context/storage/index.js.map +1 -0
  308. package/dist/ai-service/llm/context/storage/local.d.ts +22 -0
  309. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -0
  310. package/dist/ai-service/llm/context/storage/local.js +42 -0
  311. package/dist/ai-service/llm/context/storage/local.js.map +1 -0
  312. package/dist/ai-service/llm/context/types.d.ts +125 -0
  313. package/dist/ai-service/llm/context/types.d.ts.map +1 -0
  314. package/dist/ai-service/llm/context/types.js +5 -0
  315. package/dist/ai-service/llm/context/types.js.map +1 -0
  316. package/dist/ai-service/llm/context/utils/content-compaction.d.ts +26 -0
  317. package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -0
  318. package/dist/ai-service/llm/context/utils/content-compaction.js +52 -0
  319. package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -0
  320. package/dist/ai-service/llm/context/utils/index.d.ts +10 -0
  321. package/dist/ai-service/llm/context/utils/index.d.ts.map +1 -0
  322. package/dist/ai-service/llm/context/utils/index.js +10 -0
  323. package/dist/ai-service/llm/context/utils/index.js.map +1 -0
  324. package/dist/ai-service/llm/context/utils/message-utils.d.ts +34 -0
  325. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -0
  326. package/dist/ai-service/llm/context/utils/message-utils.js +68 -0
  327. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -0
  328. package/dist/ai-service/llm/context/utils/token-estimation.d.ts +31 -0
  329. package/dist/ai-service/llm/context/utils/token-estimation.d.ts.map +1 -0
  330. package/dist/ai-service/llm/context/utils/token-estimation.js +52 -0
  331. package/dist/ai-service/llm/context/utils/token-estimation.js.map +1 -0
  332. package/dist/ai-service/llm/context/utils/visualization.d.ts +40 -0
  333. package/dist/ai-service/llm/context/utils/visualization.d.ts.map +1 -0
  334. package/dist/ai-service/llm/context/utils/visualization.js +516 -0
  335. package/dist/ai-service/llm/context/utils/visualization.js.map +1 -0
  336. package/dist/ai-service/llm/impl/anthropic.js +2 -2
  337. package/dist/ai-service/llm/impl/anthropic.js.map +1 -1
  338. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  339. package/dist/ai-service/llmobs/helpers.js +10 -19
  340. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  341. package/dist/ai-service/llmobs/middleware/stream-text.js +4 -1
  342. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  343. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  344. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  345. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  346. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  347. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  348. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  349. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  350. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  351. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  352. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  353. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  354. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  355. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  356. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  357. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  358. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  359. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  360. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  361. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  362. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  363. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  364. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  365. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  366. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  367. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  368. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  369. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  370. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  371. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  372. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  373. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  374. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  375. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  376. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  377. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  378. package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -5
  379. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  380. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  381. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  382. package/dist/ai-service/state-machine/handlers/agent-planning.js +36 -9
  383. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  384. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  385. package/dist/ai-service/state-machine/handlers/llm-generating.js +154 -104
  386. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  387. package/dist/ai-service/state-machine/helpers/context-id.d.ts +4 -0
  388. package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -0
  389. package/dist/ai-service/state-machine/helpers/context-id.js +16 -0
  390. package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -0
  391. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  392. package/dist/ai-service/state-machine/helpers/peer.js +7 -4
  393. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  394. package/dist/ai-service/state-machine/mocks.d.ts +2 -3
  395. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  396. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  397. package/dist/ai-service/types.d.ts +3 -0
  398. package/dist/ai-service/types.d.ts.map +1 -1
  399. package/dist/ai-service/types.js.map +1 -1
  400. package/dist/ai-service/util/parse-jwt.d.ts +12 -0
  401. package/dist/ai-service/util/parse-jwt.d.ts.map +1 -0
  402. package/dist/ai-service/util/parse-jwt.js +30 -0
  403. package/dist/ai-service/util/parse-jwt.js.map +1 -0
  404. package/dist/ai-service/util/safe-stringify.d.ts +1 -1
  405. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
  406. package/dist/ai-service/util/safe-stringify.js +3 -3
  407. package/dist/ai-service/util/safe-stringify.js.map +1 -1
  408. package/dist/binding-extraction/extract-js-identifiers.d.ts.map +1 -1
  409. package/dist/binding-extraction/extract-js-identifiers.js +1 -1
  410. package/dist/binding-extraction/extract-js-identifiers.js.map +1 -1
  411. package/dist/component-docs-service/index.d.ts.map +1 -1
  412. package/dist/component-docs-service/index.js +0 -2
  413. package/dist/component-docs-service/index.js.map +1 -1
  414. package/package.json +8 -8
  415. package/dist/ai-service/agent/apis-static-analysis.d.ts.map +0 -1
  416. package/dist/ai-service/agent/apis-static-analysis.js.map +0 -1
  417. package/dist/ai-service/agent/apis-system-prompt.d.ts +0 -3
  418. package/dist/ai-service/agent/apis-system-prompt.d.ts.map +0 -1
  419. package/dist/ai-service/agent/apis.d.ts +0 -55
  420. package/dist/ai-service/agent/apis.d.ts.map +0 -1
  421. package/dist/ai-service/agent/apis.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ import { type AccessControlRule, PermissionLevel } from "./types.js";
2
+ /**
3
+ * Access control utilities and common patterns.
4
+ */
5
+ /**
6
+ * Block tools by name pattern.
7
+ *
8
+ * @param pattern - String or regex pattern to match tool names
9
+ * @returns Access control rule that blocks matching tools
10
+ *
11
+ * @example
12
+ * registry.addAccessRule(blockTools(/^delete-/));
13
+ * registry.addAccessRule(blockTools("drop-database"));
14
+ */
15
+ export declare function blockTools(pattern: string | RegExp | (string | RegExp)[]): AccessControlRule;
16
+ /**
17
+ * Require prompt for tools by name pattern.
18
+ *
19
+ * @param pattern - String or regex pattern to match tool names
20
+ * @returns Access control rule that prompts for matching tools
21
+ *
22
+ * @example
23
+ * registry.addAccessRule(promptForTools(/^delete-/));
24
+ * registry.addAccessRule(promptForTools(["delete-file", "drop-table"]));
25
+ */
26
+ export declare function promptForTools(pattern: string | RegExp | (string | RegExp)[]): AccessControlRule;
27
+ /**
28
+ * Require specific user role.
29
+ *
30
+ * @param allowedRoles - Role or array of roles allowed to execute
31
+ * @param permission - Permission level to return if role doesn't match
32
+ * @returns Access control rule that checks user role
33
+ *
34
+ * @example
35
+ * registry.addAccessRule(requireRole("admin", PermissionLevel.BLOCK));
36
+ * registry.addAccessRule(requireRole(["admin", "editor"], PermissionLevel.PROMPT));
37
+ */
38
+ export declare function requireRole(allowedRoles: string | string[], permission?: PermissionLevel): AccessControlRule;
39
+ /**
40
+ * Combine multiple rules with AND logic (most restrictive wins).
41
+ *
42
+ * @param rules - Array of rules to combine
43
+ * @returns Access control rule that evaluates all rules
44
+ *
45
+ * @example
46
+ * const rule = combineRules([
47
+ * requireRole("admin"),
48
+ * blockTools(/^delete-/)
49
+ * ]);
50
+ */
51
+ export declare function combineRules(rules: AccessControlRule[]): AccessControlRule;
52
+ /**
53
+ * Create a rule that only applies to specific tools.
54
+ *
55
+ * @param toolNames - Tool name or array of tool names
56
+ * @param rule - Rule to apply to those tools
57
+ * @returns Access control rule that conditionally applies
58
+ *
59
+ * @example
60
+ * const rule = forTools(["delete-file", "delete-api"], requireRole("admin"));
61
+ */
62
+ export declare function forTools(toolNames: string | string[], rule: AccessControlRule): AccessControlRule;
63
+ /**
64
+ * Create a rule based on tool category.
65
+ *
66
+ * Requires ToolRegistry to be passed in to look up metadata.
67
+ *
68
+ * @param category - Category name to match
69
+ * @param permission - Permission level to return for matching category
70
+ * @returns Access control rule that checks tool category
71
+ *
72
+ * @example
73
+ * const rule = forCategory("filesystem", PermissionLevel.PROMPT);
74
+ */
75
+ export declare function forCategory(category: string, permission: PermissionLevel): AccessControlRule;
76
+ /**
77
+ * Filter tools by AI mode and plan approval status.
78
+ *
79
+ * Returns an access control rule that blocks tools based on mode and plan approval:
80
+ * - BUILD mode: All tools available (ignores userApprovedPlan)
81
+ * - PLAN mode with approved plan (userApprovedPlan === true): All tools available
82
+ * - PLAN mode without approved plan: Only readonly tools available
83
+ *
84
+ * @returns Access control rule
85
+ *
86
+ * @example
87
+ * registry.addAccessRule(modeFilter());
88
+ * // Then pass mode and userApprovedPlan in context:
89
+ * registry.execute("tool-name", input, { mode: AiMode.PLAN, userApprovedPlan: true });
90
+ */
91
+ export declare function modeFilter(): AccessControlRule;
92
+ /**
93
+ * Common access control presets.
94
+ */
95
+ export declare const presets: {
96
+ /**
97
+ * Development mode: Allow everything.
98
+ */
99
+ development: () => AccessControlRule[];
100
+ /**
101
+ * Production mode: Prompt for destructive operations.
102
+ */
103
+ production: () => AccessControlRule[];
104
+ /**
105
+ * Restricted mode: Block destructive operations entirely.
106
+ */
107
+ restricted: () => AccessControlRule[];
108
+ /**
109
+ * Guest mode: Read-only access.
110
+ */
111
+ guest: () => AccessControlRule[];
112
+ /**
113
+ * AI mode filters: Filter tools based on AI mode (BUILD, PLAN, or undefined).
114
+ * When mode is undefined, it defaults to BUILD mode.
115
+ * Pass mode in context when executing: { mode: AiMode.PLAN }
116
+ */
117
+ aiMode: () => AccessControlRule[];
118
+ };
119
+ //# sourceMappingURL=access-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAWnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAiB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CASnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,GAC1B,iBAAiB,CAUnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,IAAI,iBAAiB,CAmB9C;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;OAEG;uBACc,iBAAiB,EAAE;IAEpC;;OAEG;sBACa,iBAAiB,EAAE;IASnC;;OAEG;sBACa,iBAAiB,EAAE;IAInC;;OAEG;iBACQ,iBAAiB,EAAE;IAI9B;;;;OAIG;kBACS,iBAAiB,EAAE;CAChC,CAAC"}
@@ -0,0 +1,216 @@
1
+ import { AiMode } from "@superblocksteam/library-shared/types";
2
+ import { PermissionLevel } from "./types.js";
3
+ /**
4
+ * Access control utilities and common patterns.
5
+ */
6
+ /**
7
+ * Block tools by name pattern.
8
+ *
9
+ * @param pattern - String or regex pattern to match tool names
10
+ * @returns Access control rule that blocks matching tools
11
+ *
12
+ * @example
13
+ * registry.addAccessRule(blockTools(/^delete-/));
14
+ * registry.addAccessRule(blockTools("drop-database"));
15
+ */
16
+ export function blockTools(pattern) {
17
+ const patterns = Array.isArray(pattern) ? pattern : [pattern];
18
+ return (toolName) => {
19
+ for (const p of patterns) {
20
+ if (typeof p === "string" && toolName === p) {
21
+ return PermissionLevel.BLOCK;
22
+ }
23
+ if (p instanceof RegExp && p.test(toolName)) {
24
+ return PermissionLevel.BLOCK;
25
+ }
26
+ }
27
+ return PermissionLevel.ALLOW;
28
+ };
29
+ }
30
+ /**
31
+ * Require prompt for tools by name pattern.
32
+ *
33
+ * @param pattern - String or regex pattern to match tool names
34
+ * @returns Access control rule that prompts for matching tools
35
+ *
36
+ * @example
37
+ * registry.addAccessRule(promptForTools(/^delete-/));
38
+ * registry.addAccessRule(promptForTools(["delete-file", "drop-table"]));
39
+ */
40
+ export function promptForTools(pattern) {
41
+ const patterns = Array.isArray(pattern) ? pattern : [pattern];
42
+ return (toolName) => {
43
+ for (const p of patterns) {
44
+ if (typeof p === "string" && toolName === p) {
45
+ return PermissionLevel.PROMPT;
46
+ }
47
+ if (p instanceof RegExp && p.test(toolName)) {
48
+ return PermissionLevel.PROMPT;
49
+ }
50
+ }
51
+ return PermissionLevel.ALLOW;
52
+ };
53
+ }
54
+ /**
55
+ * Require specific user role.
56
+ *
57
+ * @param allowedRoles - Role or array of roles allowed to execute
58
+ * @param permission - Permission level to return if role doesn't match
59
+ * @returns Access control rule that checks user role
60
+ *
61
+ * @example
62
+ * registry.addAccessRule(requireRole("admin", PermissionLevel.BLOCK));
63
+ * registry.addAccessRule(requireRole(["admin", "editor"], PermissionLevel.PROMPT));
64
+ */
65
+ export function requireRole(allowedRoles, permission = PermissionLevel.BLOCK) {
66
+ const roles = Array.isArray(allowedRoles) ? allowedRoles : [allowedRoles];
67
+ return (_toolName, context) => {
68
+ if (!context.userRole) {
69
+ return permission;
70
+ }
71
+ return roles.includes(context.userRole)
72
+ ? PermissionLevel.ALLOW
73
+ : permission;
74
+ };
75
+ }
76
+ /**
77
+ * Combine multiple rules with AND logic (most restrictive wins).
78
+ *
79
+ * @param rules - Array of rules to combine
80
+ * @returns Access control rule that evaluates all rules
81
+ *
82
+ * @example
83
+ * const rule = combineRules([
84
+ * requireRole("admin"),
85
+ * blockTools(/^delete-/)
86
+ * ]);
87
+ */
88
+ export function combineRules(rules) {
89
+ return async (toolName, context) => {
90
+ let permission = PermissionLevel.ALLOW;
91
+ for (const rule of rules) {
92
+ const result = await rule(toolName, context);
93
+ if (result === PermissionLevel.BLOCK) {
94
+ return PermissionLevel.BLOCK;
95
+ }
96
+ if (result === PermissionLevel.PROMPT) {
97
+ permission = PermissionLevel.PROMPT;
98
+ }
99
+ }
100
+ return permission;
101
+ };
102
+ }
103
+ /**
104
+ * Create a rule that only applies to specific tools.
105
+ *
106
+ * @param toolNames - Tool name or array of tool names
107
+ * @param rule - Rule to apply to those tools
108
+ * @returns Access control rule that conditionally applies
109
+ *
110
+ * @example
111
+ * const rule = forTools(["delete-file", "delete-api"], requireRole("admin"));
112
+ */
113
+ export function forTools(toolNames, rule) {
114
+ const names = Array.isArray(toolNames) ? toolNames : [toolNames];
115
+ return async (toolName, context) => {
116
+ if (names.includes(toolName)) {
117
+ return rule(toolName, context);
118
+ }
119
+ return PermissionLevel.ALLOW;
120
+ };
121
+ }
122
+ /**
123
+ * Create a rule based on tool category.
124
+ *
125
+ * Requires ToolRegistry to be passed in to look up metadata.
126
+ *
127
+ * @param category - Category name to match
128
+ * @param permission - Permission level to return for matching category
129
+ * @returns Access control rule that checks tool category
130
+ *
131
+ * @example
132
+ * const rule = forCategory("filesystem", PermissionLevel.PROMPT);
133
+ */
134
+ export function forCategory(category, permission) {
135
+ return (_toolName, context) => {
136
+ // Note: This requires metadata to be available in context
137
+ // You might need to pass registry or metadata differently
138
+ const toolCategory = context._toolCategory;
139
+ if (toolCategory === category) {
140
+ return permission;
141
+ }
142
+ return PermissionLevel.ALLOW;
143
+ };
144
+ }
145
+ /**
146
+ * Filter tools by AI mode and plan approval status.
147
+ *
148
+ * Returns an access control rule that blocks tools based on mode and plan approval:
149
+ * - BUILD mode: All tools available (ignores userApprovedPlan)
150
+ * - PLAN mode with approved plan (userApprovedPlan === true): All tools available
151
+ * - PLAN mode without approved plan: Only readonly tools available
152
+ *
153
+ * @returns Access control rule
154
+ *
155
+ * @example
156
+ * registry.addAccessRule(modeFilter());
157
+ * // Then pass mode and userApprovedPlan in context:
158
+ * registry.execute("tool-name", input, { mode: AiMode.PLAN, userApprovedPlan: true });
159
+ */
160
+ export function modeFilter() {
161
+ return (_toolName, context, _category, readOnly) => {
162
+ // In BUILD mode (or undefined), allow all tools
163
+ if (context.mode === AiMode.BUILD || context.mode === undefined) {
164
+ return PermissionLevel.ALLOW;
165
+ }
166
+ // In PLAN mode:
167
+ // - If user approved plan: allow all tools
168
+ // - Otherwise: only allow readonly tools
169
+ if (context.mode === AiMode.PLAN) {
170
+ if (context.userApprovedPlan === true) {
171
+ return PermissionLevel.ALLOW; // Plan approved - all tools available
172
+ }
173
+ return readOnly ? PermissionLevel.ALLOW : PermissionLevel.BLOCK;
174
+ }
175
+ return PermissionLevel.ALLOW;
176
+ };
177
+ }
178
+ /**
179
+ * Common access control presets.
180
+ */
181
+ export const presets = {
182
+ /**
183
+ * Development mode: Allow everything.
184
+ */
185
+ development: () => [],
186
+ /**
187
+ * Production mode: Prompt for destructive operations.
188
+ */
189
+ production: () => [
190
+ promptForTools([
191
+ /^delete-/,
192
+ /^drop-/,
193
+ /^remove-/,
194
+ "bash", // Prompt for bash commands
195
+ ]),
196
+ ],
197
+ /**
198
+ * Restricted mode: Block destructive operations entirely.
199
+ */
200
+ restricted: () => [
201
+ blockTools([/^delete-/, /^drop-/, /^remove-/, "bash"]),
202
+ ],
203
+ /**
204
+ * Guest mode: Read-only access.
205
+ */
206
+ guest: () => [
207
+ blockTools([/^write-/, /^edit-/, /^delete-/, /^create-/, "bash"]),
208
+ ],
209
+ /**
210
+ * AI mode filters: Filter tools based on AI mode (BUILD, PLAN, or undefined).
211
+ * When mode is undefined, it defaults to BUILD mode.
212
+ * Pass mode in context when executing: { mode: AiMode.PLAN }
213
+ */
214
+ aiMode: () => [modeFilter()],
215
+ };
216
+ //# sourceMappingURL=access-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Example usage of the Tool Registry system.
3
+ *
4
+ * This file demonstrates:
5
+ * - Creating tool factories
6
+ * - Registering tools
7
+ * - Setting up access control
8
+ * - Executing tools with permissions
9
+ */
10
+ import { ToolRegistry } from "./index.js";
11
+ export declare function setupExampleRegistry(): ToolRegistry;
12
+ export declare function exampleUsage(): Promise<void>;
13
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/example.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,YAAY,EAMb,MAAM,YAAY,CAAC;AAkFpB,wBAAgB,oBAAoB,iBA+CnC;AAMD,wBAAsB,YAAY,kBAuCjC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Example usage of the Tool Registry system.
3
+ *
4
+ * This file demonstrates:
5
+ * - Creating tool factories
6
+ * - Registering tools
7
+ * - Setting up access control
8
+ * - Executing tools with permissions
9
+ */
10
+ import { z } from "zod";
11
+ import { ToolRegistry, PermissionLevel, promptForTools, requireRole, createToolFactory, ToolCategory, } from "./index.js";
12
+ // ============================================================================
13
+ // Example Tool: Add Event
14
+ // ============================================================================
15
+ const addEventToolFactory = createToolFactory("add-event", (_clark, _services, _queue) => {
16
+ // This would typically import from your existing tool
17
+ const PayloadSchema = z
18
+ .record(z.string(), z.enum(["string", "number", "boolean"]))
19
+ .optional();
20
+ return {
21
+ description: "Add a new event to the scope",
22
+ category: ToolCategory.COMPONENT,
23
+ defaultPermission: PermissionLevel.ALLOW,
24
+ inputSchema: z.object({
25
+ pageScopeId: z.string(),
26
+ entityName: z.string(),
27
+ payload: PayloadSchema,
28
+ }),
29
+ execute: async (input) => {
30
+ // Implementation here
31
+ console.log("Adding event:", input);
32
+ return {
33
+ success: true,
34
+ message: `Event ${input.entityName} added`,
35
+ };
36
+ },
37
+ };
38
+ });
39
+ // ============================================================================
40
+ // Example Tool: Delete File (Destructive)
41
+ // ============================================================================
42
+ const deleteFileToolFactory = createToolFactory("delete-file", (_fileSystem) => ({
43
+ description: "Delete a file from the project",
44
+ category: ToolCategory.FILE,
45
+ defaultPermission: PermissionLevel.PROMPT, // Requires confirmation
46
+ inputSchema: z.object({
47
+ path: z.string(),
48
+ }),
49
+ execute: async (input) => {
50
+ // Implementation here
51
+ console.log("Deleting file:", input.path);
52
+ return {
53
+ success: true,
54
+ message: `File ${input.path} deleted`,
55
+ };
56
+ },
57
+ }));
58
+ // ============================================================================
59
+ // Example Tool: Read File (Safe)
60
+ // ============================================================================
61
+ const readFileToolFactory = createToolFactory("read-file", (_fileSystem) => ({
62
+ description: "Read a file from the project",
63
+ category: ToolCategory.FILE,
64
+ defaultPermission: PermissionLevel.ALLOW,
65
+ inputSchema: z.object({
66
+ path: z.string(),
67
+ }),
68
+ execute: async (input) => {
69
+ console.log("Reading file:", input.path);
70
+ return {
71
+ content: "file contents here",
72
+ };
73
+ },
74
+ }));
75
+ // ============================================================================
76
+ // Setup Example
77
+ // ============================================================================
78
+ export function setupExampleRegistry() {
79
+ const registry = new ToolRegistry();
80
+ // 1. Register all tools
81
+ registry.registerAll([
82
+ addEventToolFactory,
83
+ deleteFileToolFactory,
84
+ readFileToolFactory,
85
+ ]);
86
+ // 2. Setup access control rules
87
+ // Rules are evaluated in order, most restrictive wins
88
+ // Block tools for guest users
89
+ registry.addAccessRule(requireRole(["admin", "editor"], PermissionLevel.BLOCK));
90
+ // Prompt for destructive operations
91
+ registry.addAccessRule(promptForTools(/^delete-/));
92
+ // Or use a preset
93
+ // registry.addAccessRule(...presets.production());
94
+ // 3. Setup prompt handler
95
+ registry.setPromptHandler(async (toolName, input, context) => {
96
+ console.log(`\n=== User Confirmation Required ===`);
97
+ console.log(`Tool: ${toolName}`);
98
+ console.log(`Input:`, input);
99
+ console.log(`User: ${context.userId} (${context.userRole})`);
100
+ console.log(`===================================\n`);
101
+ // In real implementation, show dialog and wait for user response
102
+ // For example: return await showConfirmDialog({ toolName, input });
103
+ return true; // Mock: auto-approve for demo
104
+ });
105
+ // 4. Instantiate tools with dependencies
106
+ const mockDeps = {
107
+ clark: {},
108
+ services: {},
109
+ queue: {},
110
+ fileSystem: {},
111
+ };
112
+ registry.instantiate(mockDeps);
113
+ return registry;
114
+ }
115
+ // ============================================================================
116
+ // Usage Example
117
+ // ============================================================================
118
+ export async function exampleUsage() {
119
+ const registry = setupExampleRegistry();
120
+ // Example 1: Execute allowed tool
121
+ console.log("\n--- Example 1: Allowed tool ---");
122
+ const result1 = await registry.execute("read-file", { path: "/src/app.ts" }, { userId: "user-123", userRole: "admin" });
123
+ console.log("Result:", result1);
124
+ // Example 2: Execute tool requiring confirmation
125
+ console.log("\n--- Example 2: Tool requiring confirmation ---");
126
+ const result2 = await registry.execute("delete-file", { path: "/src/temp.ts" }, { userId: "user-123", userRole: "admin" });
127
+ console.log("Result:", result2);
128
+ // Example 3: Blocked tool (guest user)
129
+ console.log("\n--- Example 3: Blocked tool ---");
130
+ const result3 = await registry.execute("delete-file", { path: "/src/important.ts" }, { userId: "guest-456", userRole: "guest" });
131
+ console.log("Result:", result3);
132
+ // Example 4: Get all tools for AI SDK
133
+ console.log("\n--- Example 4: Get tools for AI SDK ---");
134
+ const tools = registry.getToolsRecord();
135
+ console.log("Available tools:", Object.keys(tools));
136
+ // Example 5: Get tool metadata
137
+ console.log("\n--- Example 5: Tool metadata ---");
138
+ const metadata = registry.getToolMetadata();
139
+ console.log("Tool metadata:", metadata);
140
+ }
141
+ // Uncomment to run examples:
142
+ // exampleUsage();
143
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Tool Registry System
3
+ *
4
+ * Provides a centralized registry for tools with:
5
+ * - Factory-based registration and instantiation
6
+ * - Access control middleware
7
+ * - User prompt handling
8
+ * - Type-safe tool definitions
9
+ */
10
+ export type { Tool, ToolFactory, ToolExecutionResult, AccessControlContext, AccessControlRule, PromptHandler, } from "./types.js";
11
+ export { PermissionLevel, ToolCategory, createToolFactory } from "./types.js";
12
+ export { ToolRegistry } from "./registry.js";
13
+ export { blockTools, promptForTools, requireRole, combineRules, forTools, forCategory, presets, } from "./access-control.js";
14
+ import { ToolRegistry } from "./registry.js";
15
+ export declare const defaultRegistry: ToolRegistry;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,cAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Tool Registry System
3
+ *
4
+ * Provides a centralized registry for tools with:
5
+ * - Factory-based registration and instantiation
6
+ * - Access control middleware
7
+ * - User prompt handling
8
+ * - Type-safe tool definitions
9
+ */
10
+ export { PermissionLevel, ToolCategory, createToolFactory } from "./types.js";
11
+ // Export registry
12
+ export { ToolRegistry } from "./registry.js";
13
+ // Export access control utilities
14
+ export { blockTools, promptForTools, requireRole, combineRules, forTools, forCategory, presets, } from "./access-control.js";
15
+ // Export singleton instance for convenience
16
+ import { ToolRegistry } from "./registry.js";
17
+ export const defaultRegistry = new ToolRegistry();
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9E,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC"}