@blokkli/editor 2.0.0-alpha.32 → 2.0.0-alpha.34

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 (473) hide show
  1. package/dist/global/constants/index.d.ts +1 -0
  2. package/dist/global/constants/index.js +1 -0
  3. package/dist/global/types/features.d.ts +4 -0
  4. package/dist/module.d.mts +5 -27
  5. package/dist/module.json +1 -1
  6. package/dist/module.mjs +430 -10823
  7. package/dist/modules/agent/index.d.mts +64 -0
  8. package/dist/modules/agent/index.mjs +407 -0
  9. package/dist/modules/agent/runtime/app/composables/agentProvider.d.ts +55 -0
  10. package/dist/modules/agent/runtime/app/composables/agentProvider.js +875 -0
  11. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentPrompt.d.ts +32 -0
  12. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentPrompt.js +6 -0
  13. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.d.ts +65 -0
  14. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.js +6 -0
  15. package/dist/modules/agent/runtime/app/composables/index.d.ts +4 -0
  16. package/dist/modules/agent/runtime/app/composables/index.js +2 -0
  17. package/dist/modules/agent/runtime/app/features/agent/Panel/Attachment/index.d.vue.ts +12 -0
  18. package/dist/modules/agent/runtime/app/features/agent/Panel/Attachment/index.vue +62 -0
  19. package/dist/modules/agent/runtime/app/features/agent/Panel/Attachment/index.vue.d.ts +12 -0
  20. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.d.vue.ts +9 -0
  21. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.vue +38 -0
  22. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.vue.d.ts +9 -0
  23. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Error/index.d.vue.ts +14 -0
  24. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Error/index.vue +68 -0
  25. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Error/index.vue.d.ts +14 -0
  26. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/ServerTool/index.d.vue.ts +10 -0
  27. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/ServerTool/index.vue +72 -0
  28. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/ServerTool/index.vue.d.ts +10 -0
  29. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Tool/index.d.vue.ts +13 -0
  30. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Tool/index.vue +37 -0
  31. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Tool/index.vue.d.ts +13 -0
  32. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Unknown/index.d.vue.ts +8 -0
  33. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Unknown/index.vue +17 -0
  34. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Unknown/index.vue.d.ts +8 -0
  35. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.d.vue.ts +11 -0
  36. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.vue +29 -0
  37. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.vue.d.ts +11 -0
  38. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/index.d.vue.ts +12 -0
  39. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/index.vue +30 -0
  40. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/index.vue.d.ts +12 -0
  41. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Thinking/index.d.vue.ts +3 -0
  42. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Thinking/index.vue +14 -0
  43. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Thinking/index.vue.d.ts +3 -0
  44. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/index.d.vue.ts +13 -0
  45. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/index.vue +46 -0
  46. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/index.vue.d.ts +13 -0
  47. package/dist/modules/agent/runtime/app/features/agent/Panel/ConversationList/index.d.vue.ts +15 -0
  48. package/dist/modules/agent/runtime/app/features/agent/Panel/ConversationList/index.vue +50 -0
  49. package/dist/modules/agent/runtime/app/features/agent/Panel/ConversationList/index.vue.d.ts +15 -0
  50. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.d.vue.ts +3 -0
  51. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.vue +160 -0
  52. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.vue.d.ts +3 -0
  53. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/DropdownItem/index.d.vue.ts +12 -0
  54. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/DropdownItem/index.vue +15 -0
  55. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/DropdownItem/index.vue.d.ts +12 -0
  56. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/TokenUsage/index.d.vue.ts +7 -0
  57. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/TokenUsage/index.vue +67 -0
  58. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/TokenUsage/index.vue.d.ts +7 -0
  59. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.d.vue.ts +23 -0
  60. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +109 -0
  61. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue.d.ts +23 -0
  62. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.d.vue.ts +45 -0
  63. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.vue +120 -0
  64. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.vue.d.ts +45 -0
  65. package/dist/modules/agent/runtime/app/features/agent/Panel/PendingMutation/index.d.vue.ts +15 -0
  66. package/dist/modules/agent/runtime/app/features/agent/Panel/PendingMutation/index.vue +47 -0
  67. package/dist/modules/agent/runtime/app/features/agent/Panel/PendingMutation/index.vue.d.ts +15 -0
  68. package/dist/modules/agent/runtime/app/features/agent/Panel/Plan/index.d.vue.ts +14 -0
  69. package/dist/modules/agent/runtime/app/features/agent/Panel/Plan/index.vue +55 -0
  70. package/dist/modules/agent/runtime/app/features/agent/Panel/Plan/index.vue.d.ts +14 -0
  71. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.d.vue.ts +25 -0
  72. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue +36 -0
  73. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue.d.ts +25 -0
  74. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/de.md +19 -0
  75. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/en.md +18 -0
  76. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.d.vue.ts +10 -0
  77. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.vue +44 -0
  78. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.vue.d.ts +10 -0
  79. package/dist/modules/agent/runtime/app/features/agent/Panel/index.d.vue.ts +58 -0
  80. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +274 -0
  81. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue.d.ts +58 -0
  82. package/dist/modules/agent/runtime/app/features/agent/index.d.vue.ts +3 -0
  83. package/dist/modules/agent/runtime/app/features/agent/index.vue +162 -0
  84. package/dist/modules/agent/runtime/app/features/agent/index.vue.d.ts +3 -0
  85. package/dist/modules/agent/runtime/app/features/agent/types.d.ts +58 -0
  86. package/dist/modules/agent/runtime/app/features/agent/types.js +0 -0
  87. package/dist/modules/agent/runtime/app/helpers/index.d.ts +55 -0
  88. package/dist/modules/agent/runtime/app/helpers/index.js +88 -0
  89. package/dist/modules/agent/runtime/app/helpers/pageStructure.d.ts +5 -0
  90. package/dist/modules/agent/runtime/app/helpers/pageStructure.js +106 -0
  91. package/dist/modules/agent/runtime/app/helpers/validation.d.ts +35 -0
  92. package/dist/modules/agent/runtime/app/helpers/validation.js +77 -0
  93. package/dist/modules/agent/runtime/app/tools/add_content_search_paragraph/index.d.ts +2 -0
  94. package/dist/modules/agent/runtime/app/tools/add_content_search_paragraph/index.js +69 -0
  95. package/dist/modules/agent/runtime/app/tools/add_fragment/index.d.ts +2 -0
  96. package/dist/modules/agent/runtime/app/tools/add_fragment/index.js +83 -0
  97. package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.d.ts +2 -0
  98. package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.js +62 -0
  99. package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.d.ts +2 -0
  100. package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.js +289 -0
  101. package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.d.ts +2 -0
  102. package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.js +76 -0
  103. package/dist/modules/agent/runtime/app/tools/add_template/index.d.ts +2 -0
  104. package/dist/modules/agent/runtime/app/tools/add_template/index.js +58 -0
  105. package/dist/modules/agent/runtime/app/tools/ask_question/Component.d.vue.ts +19 -0
  106. package/dist/modules/agent/runtime/app/tools/ask_question/Component.vue +113 -0
  107. package/dist/modules/agent/runtime/app/tools/ask_question/Component.vue.d.ts +19 -0
  108. package/dist/modules/agent/runtime/app/tools/ask_question/index.d.ts +17 -0
  109. package/dist/modules/agent/runtime/app/tools/ask_question/index.js +54 -0
  110. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Component.d.vue.ts +29 -0
  111. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Component.vue +190 -0
  112. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Component.vue.d.ts +29 -0
  113. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Item.d.vue.ts +20 -0
  114. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Item.vue +90 -0
  115. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Item.vue.d.ts +20 -0
  116. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/index.d.ts +18 -0
  117. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/index.js +55 -0
  118. package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.d.ts +2 -0
  119. package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.js +47 -0
  120. package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.d.ts +2 -0
  121. package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.js +47 -0
  122. package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.d.ts +2 -0
  123. package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.js +144 -0
  124. package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.d.ts +2 -0
  125. package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.js +180 -0
  126. package/dist/modules/agent/runtime/app/tools/get_all_fragments/index.d.ts +2 -0
  127. package/dist/modules/agent/runtime/app/tools/get_all_fragments/index.js +33 -0
  128. package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.d.ts +2 -0
  129. package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.js +93 -0
  130. package/dist/modules/agent/runtime/app/tools/get_available_bundles/index.d.ts +2 -0
  131. package/dist/modules/agent/runtime/app/tools/get_available_bundles/index.js +104 -0
  132. package/dist/modules/agent/runtime/app/tools/get_child_paragraphs/index.d.ts +2 -0
  133. package/dist/modules/agent/runtime/app/tools/get_child_paragraphs/index.js +108 -0
  134. package/dist/modules/agent/runtime/app/tools/get_content_fields/index.d.ts +2 -0
  135. package/dist/modules/agent/runtime/app/tools/get_content_fields/index.js +192 -0
  136. package/dist/modules/agent/runtime/app/tools/get_mutation_history/index.d.ts +2 -0
  137. package/dist/modules/agent/runtime/app/tools/get_mutation_history/index.js +102 -0
  138. package/dist/modules/agent/runtime/app/tools/get_page_structure/index.d.ts +2 -0
  139. package/dist/modules/agent/runtime/app/tools/get_page_structure/index.js +113 -0
  140. package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.d.ts +2 -0
  141. package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.js +275 -0
  142. package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.d.ts +2 -0
  143. package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.js +63 -0
  144. package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.d.ts +2 -0
  145. package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.js +180 -0
  146. package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.d.ts +2 -0
  147. package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.js +46 -0
  148. package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.d.ts +2 -0
  149. package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.js +54 -0
  150. package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.d.ts +2 -0
  151. package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.js +69 -0
  152. package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.d.ts +2 -0
  153. package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.js +95 -0
  154. package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.d.ts +2 -0
  155. package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.js +80 -0
  156. package/dist/modules/agent/runtime/app/tools/replace_media_field/index.d.ts +2 -0
  157. package/dist/modules/agent/runtime/app/tools/replace_media_field/index.js +85 -0
  158. package/dist/modules/agent/runtime/app/tools/schemas.d.ts +128 -0
  159. package/dist/modules/agent/runtime/app/tools/schemas.js +242 -0
  160. package/dist/modules/agent/runtime/app/tools/search_content/index.d.ts +2 -0
  161. package/dist/modules/agent/runtime/app/tools/search_content/index.js +65 -0
  162. package/dist/modules/agent/runtime/app/tools/search_media/index.d.ts +14 -0
  163. package/dist/modules/agent/runtime/app/tools/search_media/index.js +60 -0
  164. package/dist/modules/agent/runtime/app/tools/search_reusable_paragraphs/index.d.ts +2 -0
  165. package/dist/modules/agent/runtime/app/tools/search_reusable_paragraphs/index.js +75 -0
  166. package/dist/modules/agent/runtime/app/tools/search_templates/index.d.ts +2 -0
  167. package/dist/modules/agent/runtime/app/tools/search_templates/index.js +51 -0
  168. package/dist/modules/agent/runtime/app/tools/search_text/index.d.ts +2 -0
  169. package/dist/modules/agent/runtime/app/tools/search_text/index.js +114 -0
  170. package/dist/modules/agent/runtime/app/tools/select_media/Component.d.vue.ts +29 -0
  171. package/dist/modules/agent/runtime/app/tools/select_media/Component.vue +70 -0
  172. package/dist/modules/agent/runtime/app/tools/select_media/Component.vue.d.ts +29 -0
  173. package/dist/modules/agent/runtime/app/tools/select_media/index.d.ts +30 -0
  174. package/dist/modules/agent/runtime/app/tools/select_media/index.js +74 -0
  175. package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.d.ts +2 -0
  176. package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.js +109 -0
  177. package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.d.ts +2 -0
  178. package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.js +74 -0
  179. package/dist/modules/agent/runtime/app/tools/web_fetch/index.d.ts +2 -0
  180. package/dist/modules/agent/runtime/app/tools/web_fetch/index.js +51 -0
  181. package/dist/modules/agent/runtime/app/types/index.d.ts +440 -0
  182. package/dist/modules/agent/runtime/app/types/index.js +51 -0
  183. package/dist/modules/agent/runtime/server/Session.d.ts +94 -0
  184. package/dist/modules/agent/runtime/server/Session.js +734 -0
  185. package/dist/modules/agent/runtime/server/SessionManager.d.ts +21 -0
  186. package/dist/modules/agent/runtime/server/SessionManager.js +80 -0
  187. package/dist/modules/agent/runtime/server/agent.d.ts +2 -0
  188. package/dist/modules/agent/runtime/server/agent.js +148 -0
  189. package/dist/modules/agent/runtime/server/agentPrompt.d.ts +22 -0
  190. package/dist/modules/agent/runtime/server/agentPrompt.js +53 -0
  191. package/dist/modules/agent/runtime/server/default-skills/adding-new-paragraphs.d.ts +2 -0
  192. package/dist/modules/agent/runtime/server/default-skills/adding-new-paragraphs.js +21 -0
  193. package/dist/modules/agent/runtime/server/default-skills/pageReview.d.ts +2 -0
  194. package/dist/modules/agent/runtime/server/default-skills/pageReview.js +28 -0
  195. package/dist/modules/agent/runtime/server/default-skills/reusable-paragraphs.d.ts +2 -0
  196. package/dist/modules/agent/runtime/server/default-skills/reusable-paragraphs.js +21 -0
  197. package/dist/modules/agent/runtime/server/default-skills/rewriteAndTranslate.d.ts +2 -0
  198. package/dist/modules/agent/runtime/server/default-skills/rewriteAndTranslate.js +14 -0
  199. package/dist/modules/agent/runtime/server/default-system-prompts/architecture.d.ts +2 -0
  200. package/dist/modules/agent/runtime/server/default-system-prompts/architecture.js +39 -0
  201. package/dist/modules/agent/runtime/server/default-system-prompts/available-skills.d.ts +2 -0
  202. package/dist/modules/agent/runtime/server/default-system-prompts/available-skills.js +18 -0
  203. package/dist/modules/agent/runtime/server/default-system-prompts/available-tools.d.ts +2 -0
  204. package/dist/modules/agent/runtime/server/default-system-prompts/available-tools.js +18 -0
  205. package/dist/modules/agent/runtime/server/default-system-prompts/fragments.d.ts +2 -0
  206. package/dist/modules/agent/runtime/server/default-system-prompts/fragments.js +19 -0
  207. package/dist/modules/agent/runtime/server/default-system-prompts/important-rules.d.ts +2 -0
  208. package/dist/modules/agent/runtime/server/default-system-prompts/important-rules.js +22 -0
  209. package/dist/modules/agent/runtime/server/default-system-prompts/interaction.d.ts +2 -0
  210. package/dist/modules/agent/runtime/server/default-system-prompts/interaction.js +20 -0
  211. package/dist/modules/agent/runtime/server/default-system-prompts/introduction.d.ts +2 -0
  212. package/dist/modules/agent/runtime/server/default-system-prompts/introduction.js +14 -0
  213. package/dist/modules/agent/runtime/server/default-system-prompts/page-context.d.ts +2 -0
  214. package/dist/modules/agent/runtime/server/default-system-prompts/page-context.js +60 -0
  215. package/dist/modules/agent/runtime/server/default-system-prompts/paragraph-bundles.d.ts +2 -0
  216. package/dist/modules/agent/runtime/server/default-system-prompts/paragraph-bundles.js +37 -0
  217. package/dist/modules/agent/runtime/server/default-system-prompts/plan-mode.d.ts +2 -0
  218. package/dist/modules/agent/runtime/server/default-system-prompts/plan-mode.js +36 -0
  219. package/dist/modules/agent/runtime/server/default-system-prompts/security.d.ts +2 -0
  220. package/dist/modules/agent/runtime/server/default-system-prompts/security.js +27 -0
  221. package/dist/modules/agent/runtime/server/default-system-prompts/workflow.d.ts +2 -0
  222. package/dist/modules/agent/runtime/server/default-system-prompts/workflow.js +22 -0
  223. package/dist/modules/agent/runtime/server/fetch.d.ts +2 -0
  224. package/dist/modules/agent/runtime/server/fetch.js +127 -0
  225. package/dist/modules/agent/runtime/server/helpers.d.ts +77 -0
  226. package/dist/modules/agent/runtime/server/helpers.js +352 -0
  227. package/dist/modules/agent/runtime/server/providers/anthropic.d.ts +12 -0
  228. package/dist/modules/agent/runtime/server/providers/anthropic.js +128 -0
  229. package/dist/modules/agent/runtime/server/providers/openai.d.ts +12 -0
  230. package/dist/modules/agent/runtime/server/providers/openai.js +165 -0
  231. package/dist/modules/agent/runtime/server/providers/types.d.ts +74 -0
  232. package/dist/modules/agent/runtime/server/providers/types.js +0 -0
  233. package/dist/modules/agent/runtime/server/server-tools/complete_plan_step/index.d.ts +3 -0
  234. package/dist/modules/agent/runtime/server/server-tools/complete_plan_step/index.js +79 -0
  235. package/dist/modules/agent/runtime/server/server-tools/create_plan/index.d.ts +9 -0
  236. package/dist/modules/agent/runtime/server/server-tools/create_plan/index.js +86 -0
  237. package/dist/modules/agent/runtime/server/server-tools/index.d.ts +86 -0
  238. package/dist/modules/agent/runtime/server/server-tools/index.js +30 -0
  239. package/dist/modules/agent/runtime/server/server-tools/load_skill/index.d.ts +7 -0
  240. package/dist/modules/agent/runtime/server/server-tools/load_skill/index.js +58 -0
  241. package/dist/modules/agent/runtime/server/server-tools/load_tools/index.d.ts +7 -0
  242. package/dist/modules/agent/runtime/server/server-tools/load_tools/index.js +43 -0
  243. package/dist/modules/agent/runtime/server/skills/defineBlokkliAgentSkill.d.ts +23 -0
  244. package/dist/modules/agent/runtime/server/skills/defineBlokkliAgentSkill.js +3 -0
  245. package/dist/modules/agent/runtime/server/skills/index.d.ts +2 -0
  246. package/dist/modules/agent/runtime/server/skills/index.js +1 -0
  247. package/dist/modules/agent/runtime/server/skills/types.d.ts +45 -0
  248. package/dist/modules/agent/runtime/server/skills/types.js +0 -0
  249. package/dist/modules/agent/runtime/server/system-prompts/defineBlokkliAgentSystemPrompt.d.ts +21 -0
  250. package/dist/modules/agent/runtime/server/system-prompts/defineBlokkliAgentSystemPrompt.js +3 -0
  251. package/dist/modules/agent/runtime/server/system-prompts/helpers.d.ts +20 -0
  252. package/dist/modules/agent/runtime/server/system-prompts/helpers.js +41 -0
  253. package/dist/modules/agent/runtime/server/system-prompts/index.d.ts +2 -0
  254. package/dist/modules/agent/runtime/server/system-prompts/index.js +1 -0
  255. package/dist/modules/agent/runtime/server/system-prompts/types.d.ts +49 -0
  256. package/dist/modules/agent/runtime/server/system-prompts/types.js +0 -0
  257. package/dist/modules/agent/runtime/shared/placeholders.d.ts +4 -0
  258. package/dist/modules/agent/runtime/shared/placeholders.js +1 -0
  259. package/dist/modules/agent/runtime/shared/types.d.ts +426 -0
  260. package/dist/modules/agent/runtime/shared/types.js +147 -0
  261. package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +27 -2
  262. package/dist/modules/drupal/graphql/features/agent.graphql +69 -0
  263. package/dist/modules/drupal/graphql/features/search.graphql +5 -0
  264. package/dist/modules/drupal/graphql/features/templates.graphql +36 -2
  265. package/dist/modules/drupal/graphql/mutations/add_multiple.graphql +25 -0
  266. package/dist/modules/drupal/graphql/mutations/bulk_update_field_values.graphql +15 -0
  267. package/dist/modules/drupal/graphql/mutations/rearrange.graphql +23 -0
  268. package/dist/modules/drupal/graphql/mutations/replace_entity_reference.graphql +25 -0
  269. package/dist/modules/drupal/graphql/mutations/swap.graphql +16 -0
  270. package/dist/modules/drupal/index.d.mts +18 -2
  271. package/dist/modules/drupal/index.mjs +60 -12
  272. package/dist/modules/drupal/runtime/adapter/index.js +246 -21
  273. package/dist/modules/drupal/runtime/components/BlokkliDrupalEditTemplate/index.d.vue.ts +9 -0
  274. package/dist/modules/drupal/runtime/components/BlokkliDrupalEditTemplate/index.vue +26 -0
  275. package/dist/modules/drupal/runtime/components/BlokkliDrupalEditTemplate/index.vue.d.ts +9 -0
  276. package/dist/runtime/components/Blocks/Fragment/index.vue +11 -2
  277. package/dist/runtime/components/BlokkliItem.vue +3 -1
  278. package/dist/runtime/composables/defineBlokkliFeature.d.ts +5 -3
  279. package/dist/runtime/composables/defineBlokkliFeature.js +2 -1
  280. package/dist/runtime/editor/adapter/index.d.ts +45 -4
  281. package/dist/runtime/editor/adapter/index.js +3 -0
  282. package/dist/runtime/editor/components/Actions/ItemDropdown.vue +6 -1
  283. package/dist/runtime/editor/components/Actions/index.vue +4 -1
  284. package/dist/runtime/editor/components/AddListItem/index.d.vue.ts +9 -1
  285. package/dist/runtime/editor/components/AddListItem/index.vue +36 -2
  286. package/dist/runtime/editor/components/AddListItem/index.vue.d.ts +9 -1
  287. package/dist/runtime/editor/components/AnimationCanvas/index.vue +17 -7
  288. package/dist/runtime/editor/components/ArtboardTooltip/index.d.vue.ts +3 -1
  289. package/dist/runtime/editor/components/ArtboardTooltip/index.vue +4 -3
  290. package/dist/runtime/editor/components/ArtboardTooltip/index.vue.d.ts +3 -1
  291. package/dist/runtime/editor/components/AutoHeight/index.d.vue.ts +16 -0
  292. package/dist/runtime/editor/components/AutoHeight/index.vue +32 -0
  293. package/dist/runtime/editor/components/AutoHeight/index.vue.d.ts +16 -0
  294. package/dist/runtime/editor/components/BlockPreviewItem/index.d.vue.ts +5 -1
  295. package/dist/runtime/editor/components/BlockPreviewItem/index.vue +10 -7
  296. package/dist/runtime/editor/components/BlockPreviewItem/index.vue.d.ts +5 -1
  297. package/dist/runtime/editor/components/BlockPreviewRenderer/index.d.vue.ts +1 -1
  298. package/dist/runtime/editor/components/BlockPreviewRenderer/index.vue.d.ts +1 -1
  299. package/dist/runtime/editor/components/Dialog/index.d.vue.ts +2 -2
  300. package/dist/runtime/editor/components/Dialog/index.vue.d.ts +2 -2
  301. package/dist/runtime/editor/components/DiffViewer/DiffValue.d.vue.ts +7 -0
  302. package/dist/runtime/editor/components/DiffViewer/DiffValue.vue +21 -0
  303. package/dist/runtime/editor/components/DiffViewer/DiffValue.vue.d.ts +7 -0
  304. package/dist/runtime/editor/components/DiffViewer/State.vue +4 -9
  305. package/dist/runtime/editor/components/EditProvider.vue +25 -4
  306. package/dist/runtime/editor/components/FeaturesRenderer/index.vue +26 -8
  307. package/dist/runtime/editor/components/FlexTextarea/index.d.vue.ts +31 -0
  308. package/dist/runtime/editor/components/FlexTextarea/index.vue +179 -0
  309. package/dist/runtime/editor/components/FlexTextarea/index.vue.d.ts +31 -0
  310. package/dist/runtime/editor/components/Form/Text/index.vue +23 -11
  311. package/dist/runtime/editor/components/Form/Toggle/index.d.vue.ts +1 -0
  312. package/dist/runtime/editor/components/Form/Toggle/index.vue +7 -3
  313. package/dist/runtime/editor/components/Form/Toggle/index.vue.d.ts +1 -0
  314. package/dist/runtime/editor/components/Icon/index.vue +3 -1
  315. package/dist/runtime/editor/components/Indicators/index.vue +20 -10
  316. package/dist/runtime/editor/components/ItemIcon/index.d.vue.ts +3 -0
  317. package/dist/runtime/editor/components/ItemIcon/index.vue +3 -2
  318. package/dist/runtime/editor/components/ItemIcon/index.vue.d.ts +3 -0
  319. package/dist/runtime/editor/components/ItemIconBox/index.vue +4 -1
  320. package/dist/runtime/editor/components/NestedEditorOverlay/index.d.vue.ts +3 -1
  321. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +150 -71
  322. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue.d.ts +3 -1
  323. package/dist/runtime/editor/components/PluginConfigForm/index.vue +6 -2
  324. package/dist/runtime/editor/components/RelativeTime/index.d.vue.ts +3 -2
  325. package/dist/runtime/editor/components/RelativeTime/index.vue +21 -7
  326. package/dist/runtime/editor/components/RelativeTime/index.vue.d.ts +3 -2
  327. package/dist/runtime/editor/components/StatusIcon/index.d.vue.ts +9 -0
  328. package/dist/runtime/editor/components/StatusIcon/index.vue +31 -0
  329. package/dist/runtime/editor/components/StatusIcon/index.vue.d.ts +9 -0
  330. package/dist/runtime/editor/components/SystemRequirements/index.vue +5 -1
  331. package/dist/runtime/editor/components/Transition/Height.vue +3 -2
  332. package/dist/runtime/editor/components/Transition/index.d.vue.ts +1 -1
  333. package/dist/runtime/editor/components/Transition/index.vue +2 -1
  334. package/dist/runtime/editor/components/Transition/index.vue.d.ts +1 -1
  335. package/dist/runtime/editor/components/index.d.ts +10 -6
  336. package/dist/runtime/editor/components/index.js +19 -11
  337. package/dist/runtime/editor/composables/index.d.ts +2 -0
  338. package/dist/runtime/editor/composables/index.js +2 -0
  339. package/dist/runtime/editor/composables/onElementResize.d.ts +3 -0
  340. package/dist/runtime/editor/composables/onElementResize.js +37 -0
  341. package/dist/runtime/editor/composables/useEditableFieldOverride.d.ts +24 -0
  342. package/dist/runtime/editor/composables/useEditableFieldOverride.js +130 -0
  343. package/dist/runtime/editor/composables/useStickyToolbar.d.ts +4 -3
  344. package/dist/runtime/editor/composables/useStickyToolbar.js +26 -10
  345. package/dist/runtime/editor/css/output.css +1 -1
  346. package/dist/runtime/editor/events/index.d.ts +31 -0
  347. package/dist/runtime/editor/features/add-list/Actions/Action.d.vue.ts +8 -1
  348. package/dist/runtime/editor/features/add-list/Actions/Action.vue +7 -1
  349. package/dist/runtime/editor/features/add-list/Actions/Action.vue.d.ts +8 -1
  350. package/dist/runtime/editor/features/add-list/Actions/index.d.vue.ts +11 -1
  351. package/dist/runtime/editor/features/add-list/Actions/index.vue +29 -8
  352. package/dist/runtime/editor/features/add-list/Actions/index.vue.d.ts +11 -1
  353. package/dist/runtime/editor/features/add-list/Blocks/index.d.vue.ts +11 -2
  354. package/dist/runtime/editor/features/add-list/Blocks/index.vue +27 -1
  355. package/dist/runtime/editor/features/add-list/Blocks/index.vue.d.ts +11 -2
  356. package/dist/runtime/editor/features/add-list/Help/Item.d.vue.ts +12 -0
  357. package/dist/runtime/editor/features/add-list/Help/Item.vue +186 -0
  358. package/dist/runtime/editor/features/add-list/Help/Item.vue.d.ts +12 -0
  359. package/dist/runtime/editor/features/add-list/Help/index.d.vue.ts +13 -0
  360. package/dist/runtime/editor/features/add-list/Help/index.vue +127 -0
  361. package/dist/runtime/editor/features/add-list/Help/index.vue.d.ts +13 -0
  362. package/dist/runtime/editor/features/add-list/docs.md +2 -2
  363. package/dist/runtime/editor/features/add-list/index.vue +108 -9
  364. package/dist/runtime/editor/features/add-list/types.d.ts +5 -0
  365. package/dist/runtime/editor/features/analyze/Main.vue +4 -1
  366. package/dist/runtime/editor/features/analyze/Summary/Chart.vue +9 -9
  367. package/dist/runtime/editor/features/analyze/index.vue +2 -14
  368. package/dist/runtime/editor/features/analyze/types.d.ts +4 -1
  369. package/dist/runtime/editor/features/artboard/Renderer.vue +43 -0
  370. package/dist/runtime/editor/features/assistant/docs.md +5 -5
  371. package/dist/runtime/editor/features/breadcrumbs/index.vue +4 -1
  372. package/dist/runtime/editor/features/clipboard/index.vue +6 -2
  373. package/dist/runtime/editor/features/comments/index.vue +1 -0
  374. package/dist/runtime/editor/features/comments/types.d.ts +6 -0
  375. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.d.vue.ts +2 -1
  376. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue +32 -13
  377. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue.d.ts +2 -1
  378. package/dist/runtime/editor/features/dragging-overlay/Renderer/fragment.glsl +77 -2
  379. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.d.vue.ts +1 -0
  380. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue +143 -52
  381. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue.d.ts +1 -0
  382. package/dist/runtime/editor/features/dragging-overlay/Renderer/vertex.glsl +84 -31
  383. package/dist/runtime/editor/features/dragging-overlay/index.vue +3 -2
  384. package/dist/runtime/editor/features/edit/index.vue +7 -1
  385. package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.vue +13 -23
  386. package/dist/runtime/editor/features/editable-field/Overlay/index.vue +10 -102
  387. package/dist/runtime/editor/features/editable-field/types.d.ts +12 -2
  388. package/dist/runtime/editor/features/entity-title/index.vue +7 -7
  389. package/dist/runtime/editor/features/fragments/index.vue +1 -1
  390. package/dist/runtime/editor/features/import-existing/Dialog/index.vue +8 -13
  391. package/dist/runtime/editor/features/library/ReusableDialog/index.vue +6 -1
  392. package/dist/runtime/editor/features/library/index.vue +14 -5
  393. package/dist/runtime/editor/features/library/types.d.ts +6 -0
  394. package/dist/runtime/editor/features/media-library/Library/Item.d.vue.ts +2 -2
  395. package/dist/runtime/editor/features/media-library/Library/Item.vue +17 -1
  396. package/dist/runtime/editor/features/media-library/Library/Item.vue.d.ts +2 -2
  397. package/dist/runtime/editor/features/media-library/Library/index.vue +6 -1
  398. package/dist/runtime/editor/features/media-library/index.vue +4 -4
  399. package/dist/runtime/editor/features/options/Form/index.vue +11 -43
  400. package/dist/runtime/editor/features/ownership/Banner/index.d.vue.ts +6 -3
  401. package/dist/runtime/editor/features/ownership/Banner/index.vue +10 -1
  402. package/dist/runtime/editor/features/ownership/Banner/index.vue.d.ts +6 -3
  403. package/dist/runtime/editor/features/ownership/index.vue +18 -6
  404. package/dist/runtime/editor/features/ownership/types.d.ts +5 -0
  405. package/dist/runtime/editor/features/publish/index.vue +5 -1
  406. package/dist/runtime/editor/features/search/Overlay/index.vue +5 -2
  407. package/dist/runtime/editor/features/search/index.vue +64 -3
  408. package/dist/runtime/editor/features/search/types.d.ts +16 -1
  409. package/dist/runtime/editor/features/selection/AddButtons/Renderer/index.vue +1 -3
  410. package/dist/runtime/editor/features/selection/AddButtons/index.vue +24 -4
  411. package/dist/runtime/editor/features/selection/Renderer/index.vue +5 -1
  412. package/dist/runtime/editor/features/selection/index.vue +5 -1
  413. package/dist/runtime/editor/features/settings/Dialog/index.vue +3 -1
  414. package/dist/runtime/editor/features/settings/index.vue +4 -1
  415. package/dist/runtime/editor/features/templates/CreateDialog/index.vue +21 -2
  416. package/dist/runtime/editor/features/templates/Dialog/Item/index.d.vue.ts +1 -1
  417. package/dist/runtime/editor/features/templates/Dialog/Item/index.vue +3 -3
  418. package/dist/runtime/editor/features/templates/Dialog/Item/index.vue.d.ts +1 -1
  419. package/dist/runtime/editor/features/templates/Dialog/index.vue +21 -5
  420. package/dist/runtime/editor/features/templates/ManageDialog/Item.d.vue.ts +8 -0
  421. package/dist/runtime/editor/features/templates/ManageDialog/Item.vue +147 -0
  422. package/dist/runtime/editor/features/templates/ManageDialog/Item.vue.d.ts +8 -0
  423. package/dist/runtime/editor/features/templates/ManageDialog/index.vue +30 -107
  424. package/dist/runtime/editor/features/templates/index.vue +7 -5
  425. package/dist/runtime/editor/features/templates/types.d.ts +11 -2
  426. package/dist/runtime/editor/features/transform/Dialog/index.vue +6 -1
  427. package/dist/runtime/editor/features/transform/index.vue +25 -20
  428. package/dist/runtime/editor/features/transform/types.d.ts +6 -4
  429. package/dist/runtime/editor/features/validations/index.vue +6 -1
  430. package/dist/runtime/editor/helpers/date/index.d.ts +1 -0
  431. package/dist/runtime/editor/helpers/date/index.js +3 -0
  432. package/dist/runtime/editor/helpers/options/index.d.ts +20 -0
  433. package/dist/runtime/editor/helpers/options/index.js +60 -0
  434. package/dist/runtime/editor/helpers/webgl/index.d.ts +5 -1
  435. package/dist/runtime/editor/helpers/webgl/index.js +45 -13
  436. package/dist/runtime/editor/icons/svg/stars.svg +1 -0
  437. package/dist/runtime/editor/plugins/Sidebar/Detached/index.d.vue.ts +1 -1
  438. package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue +13 -10
  439. package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue.d.ts +1 -1
  440. package/dist/runtime/editor/plugins/Sidebar/index.d.vue.ts +3 -1
  441. package/dist/runtime/editor/plugins/Sidebar/index.vue +14 -2
  442. package/dist/runtime/editor/plugins/Sidebar/index.vue.d.ts +3 -1
  443. package/dist/runtime/editor/providers/adapters.d.ts +33 -0
  444. package/dist/runtime/editor/providers/adapters.js +88 -0
  445. package/dist/runtime/editor/providers/animation.js +3 -0
  446. package/dist/runtime/editor/providers/definition.d.ts +7 -0
  447. package/dist/runtime/editor/providers/definition.js +6 -0
  448. package/dist/runtime/editor/providers/dom.d.ts +7 -0
  449. package/dist/runtime/editor/providers/dom.js +12 -0
  450. package/dist/runtime/editor/providers/permissions.d.ts +6 -0
  451. package/dist/runtime/editor/providers/permissions.js +9 -0
  452. package/dist/runtime/editor/providers/plugin.d.ts +1 -0
  453. package/dist/runtime/editor/providers/state.js +1 -0
  454. package/dist/runtime/editor/providers/texts.js +20 -6
  455. package/dist/runtime/editor/providers/types.d.ts +7 -0
  456. package/dist/runtime/editor/providers/types.js +4 -0
  457. package/dist/runtime/editor/providers/ui.d.ts +40 -0
  458. package/dist/runtime/editor/providers/ui.js +27 -1
  459. package/dist/runtime/editor/translations/de.json +2738 -0
  460. package/dist/runtime/editor/translations/fr.json +2738 -0
  461. package/dist/runtime/editor/translations/gsw_CH.json +2738 -0
  462. package/dist/runtime/editor/translations/it.json +2738 -0
  463. package/dist/runtime/editor/types/app.d.ts +9 -2
  464. package/dist/runtime/editor/types/definitions.d.ts +5 -0
  465. package/dist/runtime/editor/types/features.d.ts +3 -1
  466. package/dist/runtime/editor/types/permissions.d.ts +17 -0
  467. package/dist/runtime/editor/types/permissions.js +0 -0
  468. package/dist/runtime/types/index.d.ts +6 -0
  469. package/dist/shared/editor.CGf7C_0M.mjs +10 -0
  470. package/dist/shared/editor.DMFfaLVE.mjs +175 -0
  471. package/dist/shared/{editor.BKQCh70G.d.mts → editor.Iax3GCvt.d.mts} +94 -40
  472. package/dist/types.d.mts +8 -2
  473. package/package.json +29 -7
@@ -0,0 +1,440 @@
1
+ import type { BlokkliApp } from '#blokkli/editor/types/app';
2
+ import type { FullBlokkliAdapter, MutationResponseLike, AdapterMethods } from '#blokkli/editor/adapter';
3
+ import type { EditMode } from '#blokkli/editor/types/state';
4
+ import { z } from 'zod';
5
+ import type { Component } from 'vue';
6
+ /**
7
+ * Translation function type (matches $t from BlokkliApp).
8
+ */
9
+ export type TranslationFunction = (key: string, defaultValue: string) => string;
10
+ /**
11
+ * A host entity (parent of a block).
12
+ * Used consistently across tools for specifying block locations.
13
+ */
14
+ export type Host = {
15
+ type: string;
16
+ uuid: string;
17
+ field: string;
18
+ };
19
+ export type McpToolCategory = 'query' | 'mutation';
20
+ /**
21
+ * Result shape for mutation tools after the framework applies the mutation.
22
+ * This is the type passed to `prunedSummary` for non-component mutation tools.
23
+ */
24
+ export type MutationToolResult = {
25
+ success: true;
26
+ historyIndex: number;
27
+ newParagraphs?: Array<{
28
+ uuid: string;
29
+ bundle: string;
30
+ paragraphFields?: string[];
31
+ }>;
32
+ } | {
33
+ success: false;
34
+ rejected?: true;
35
+ };
36
+ /**
37
+ * Result from a query tool - includes a label for UI display
38
+ * and the actual result data sent to the LLM.
39
+ */
40
+ export type QueryResult<T = unknown> = {
41
+ /** Human-readable label for display in conversation UI */
42
+ label: string;
43
+ /** The actual result data sent to the LLM */
44
+ result: T;
45
+ /**
46
+ * UUIDs of blocks related to this query.
47
+ * The framework will select these blocks and scroll them into view.
48
+ */
49
+ affectedUuids?: string[];
50
+ };
51
+ /**
52
+ * Error result that can be returned by any tool.
53
+ */
54
+ export type ToolError = {
55
+ error: string;
56
+ };
57
+ /**
58
+ * Makes specified adapter methods required (non-optional).
59
+ */
60
+ export type RequireAdapterMethods<T extends FullBlokkliAdapter<any>, Methods extends readonly AdapterMethods[]> = Omit<T, Methods[number]> & Required<Pick<T, Methods[number] & keyof T>>;
61
+ /**
62
+ * A mutation action returned by mutation tools.
63
+ * The framework handles user approval and executes apply() when approved.
64
+ *
65
+ * @typeParam Methods - Adapter methods that are guaranteed to exist on the adapter.
66
+ */
67
+ export type MutationAction<Methods extends readonly AdapterMethods[] = readonly []> = {
68
+ /** Type of mutation (for UI display) */
69
+ type: 'add' | 'delete' | 'move' | 'rewrite' | 'options';
70
+ /** Human-readable description for UI */
71
+ label: string;
72
+ /** The apply function - called when user accepts */
73
+ apply: (adapter: RequireAdapterMethods<FullBlokkliAdapter<any>, Methods>) => Promise<MutationResponseLike<any>> | undefined;
74
+ /** Optional revert function - called when user rejects (for rewrite preview) */
75
+ revert?: () => void;
76
+ /** Data to include in the success result sent to AI */
77
+ result?: Record<string, unknown>;
78
+ /**
79
+ * UUIDs of blocks affected by this mutation.
80
+ * The framework will select these blocks and scroll them into view after apply.
81
+ */
82
+ affectedUuids?: string[];
83
+ };
84
+ /**
85
+ * Context provided to tool execute functions.
86
+ * The adapter type has required methods marked as non-optional.
87
+ */
88
+ export type McpToolContext<Methods extends readonly AdapterMethods[] = readonly []> = {
89
+ /** The blokkli app instance */
90
+ app: BlokkliApp;
91
+ /** Item entity type from module config */
92
+ itemEntityType: string;
93
+ /** The adapter with required methods guaranteed to exist */
94
+ adapter: Methods extends readonly AdapterMethods[] ? RequireAdapterMethods<FullBlokkliAdapter<any>, Methods> : FullBlokkliAdapter<any>;
95
+ };
96
+ /**
97
+ * Base definition for an MCP tool using Zod schemas.
98
+ *
99
+ * For query tools (category: 'query'):
100
+ * execute() returns QueryResult<T> or ToolError.
101
+ * QueryResult includes a label for UI display and the result data.
102
+ *
103
+ * For mutation tools (category: 'mutation'):
104
+ * execute() returns a MutationAction or ToolError.
105
+ * The framework handles user approval and formats the response.
106
+ *
107
+ * For tools with a component:
108
+ * execute() returns data to pass to the component
109
+ * The component emits the final result matching resultSchema
110
+ */
111
+ export type McpToolDefinition<TParamsSchema extends z.ZodType = z.ZodType, TResultSchema extends z.ZodType = z.ZodType, TMethods extends readonly AdapterMethods[] = readonly [], TComponent extends Component | undefined = undefined, TCategory extends McpToolCategory = McpToolCategory> = {
112
+ /** Unique tool name (snake_case) */
113
+ name: string;
114
+ /** Description shown to the AI model */
115
+ description: string;
116
+ /** Optional icon name */
117
+ icon?: string;
118
+ /** Tool category: 'query' for immediate execution, 'mutation' for user approval */
119
+ category: TCategory;
120
+ /**
121
+ * Returns the label to display while the tool is executing.
122
+ * This is shown before the tool completes and provides its final label.
123
+ */
124
+ label: ($t: TranslationFunction) => string;
125
+ /** Zod schema for input parameters */
126
+ paramsSchema: TParamsSchema;
127
+ /** Zod schema for the result */
128
+ resultSchema: TResultSchema;
129
+ /** Optional: adapter methods required for this tool to be available */
130
+ requiredAdapterMethods?: TMethods;
131
+ /**
132
+ * Edit modes in which this tool is available.
133
+ * - 'editing': Full access, all tools available
134
+ * - 'translating': Only text-changing tools + query tools
135
+ * - 'readonly': Only query tools (read-only operations)
136
+ * - 'review': Only query tools (read-only operations)
137
+ */
138
+ modes: EditMode[];
139
+ /**
140
+ * Optional Vue component for interactive tools.
141
+ *
142
+ * When provided, the component receives { context, params } props and must
143
+ * emit a 'done' event with the result. The component is responsible for:
144
+ * - Rendering the UI for user interaction
145
+ * - Applying changes via the adapter
146
+ * - Emitting the final result back to the AI
147
+ *
148
+ * Use this for tools that need user interaction beyond simple approve/reject,
149
+ * such as batch operations with selective approval.
150
+ */
151
+ component?: TComponent;
152
+ /**
153
+ * Function to execute the tool.
154
+ *
155
+ * Query tools: Return QueryResult<T> with label for UI display.
156
+ * Mutation tools: Return a MutationAction or ToolError.
157
+ *
158
+ * For tools with a component:
159
+ * - The execute function is called first, and its result is passed to the component as params
160
+ * - The component handles all user interaction and emits the final result
161
+ */
162
+ execute: (context: McpToolContext<TMethods>, params: z.infer<TParamsSchema>) => TComponent extends Component ? unknown | Promise<unknown> : TCategory extends 'mutation' ? MutationAction<TMethods> | ToolError | Promise<MutationAction<TMethods> | ToolError> : QueryResult<z.infer<TResultSchema>> | ToolError | Promise<QueryResult<z.infer<TResultSchema>> | ToolError>;
163
+ /**
164
+ * If true, mutation tools require explicit user approval before applying.
165
+ * When false or omitted, mutations are applied immediately.
166
+ * Only relevant for tools with category 'mutation'.
167
+ */
168
+ requiresApproval?: boolean;
169
+ /**
170
+ * If true, this tool is not sent to the LLM until activated via load_tools.
171
+ * Lazy tools are listed by name + description in the system prompt so the
172
+ * LLM knows they exist and can load them on demand.
173
+ */
174
+ lazy?: boolean;
175
+ /**
176
+ * Whether results become stale after any mutation.
177
+ * When true, old results from this tool are marked as stale during pruning.
178
+ * Typical for query tools that return page structure (e.g. get_child_blocks).
179
+ */
180
+ volatile?: boolean;
181
+ /**
182
+ * Callback to compute a pruning summary from the tool result.
183
+ * Called client-side after tool execution. The returned string is included
184
+ * as `_summary` in the result sent to the server, and used during pruning
185
+ * instead of the generic fallback.
186
+ *
187
+ * The result type depends on the tool category:
188
+ * - Query tools / component tools: `z.infer<TResultSchema>`
189
+ * - Mutation tools (no component): `MutationToolResult`
190
+ */
191
+ prunedSummary?: (result: TComponent extends Component ? z.infer<TResultSchema> : TCategory extends 'query' ? z.infer<TResultSchema> : MutationToolResult) => string;
192
+ /**
193
+ * Optional function returning mock params for styling/debugging.
194
+ * When provided, the debug view will render the component with these params.
195
+ */
196
+ mockParams?: () => z.infer<TParamsSchema>;
197
+ /**
198
+ * Optional additional mock param variants for the debug gallery.
199
+ * Each entry renders an extra instance of the component.
200
+ */
201
+ mockParamsVariants?: () => z.infer<TParamsSchema>[];
202
+ };
203
+ /**
204
+ * A tool definition with a relaxed execute signature.
205
+ *
206
+ * Used as the return type for factory resolve callbacks. Preserves structural
207
+ * checking on all other properties (catches typos and excess properties) while
208
+ * allowing each tool to have its own specific execute signature via
209
+ * defineBlokkliAgentTool().
210
+ */
211
+ export type FactoryResolvedTool = {
212
+ name: string;
213
+ description: string;
214
+ icon?: string;
215
+ category: McpToolCategory;
216
+ label: ($t: TranslationFunction) => string;
217
+ paramsSchema: z.ZodType;
218
+ resultSchema: z.ZodType;
219
+ requiredAdapterMethods?: readonly AdapterMethods[];
220
+ modes: EditMode[];
221
+ component?: Component;
222
+ requiresApproval?: boolean;
223
+ lazy?: boolean;
224
+ volatile?: boolean;
225
+ prunedSummary?: (result: any) => string;
226
+ execute: (...args: any[]) => any;
227
+ mockParams?: () => any;
228
+ mockParamsVariants?: () => any[];
229
+ };
230
+ /**
231
+ * Input for a tool factory that dynamically creates tools at runtime.
232
+ *
233
+ * Instead of defining a single static tool, a factory uses a `resolve` callback
234
+ * that is called when the agent connects. The callback returns an array of
235
+ * McpToolDefinition objects, allowing tools to be created based on runtime state
236
+ * (e.g., available content search tabs from the adapter).
237
+ */
238
+ export type McpToolFactoryInput = {
239
+ /**
240
+ * Called once when the agent connects. Returns an array of tool definitions
241
+ * that are registered as if they were statically defined.
242
+ *
243
+ * Each returned tool is a full McpToolDefinition with its own
244
+ * requiredAdapterMethods, execute function, and schemas. Use
245
+ * defineBlokkliAgentTool() for each tool to get full type inference.
246
+ *
247
+ * The context provides access to the app and adapter so the factory can
248
+ * query runtime state (e.g., available content search tabs) to decide
249
+ * which tools to create. If adapter methods are optional, check for their
250
+ * existence before calling them (or return an empty array).
251
+ */
252
+ resolve: (context: McpToolContext) => Promise<FactoryResolvedTool[]> | FactoryResolvedTool[];
253
+ };
254
+ /**
255
+ * A tool factory with the __factory marker for runtime identification.
256
+ */
257
+ export type McpToolFactory = McpToolFactoryInput & {
258
+ __factory: true;
259
+ };
260
+ /**
261
+ * A tool item is either a static tool definition or a factory that produces tools.
262
+ */
263
+ export type McpToolItem = McpToolDefinition | McpToolFactory;
264
+ /**
265
+ * A pre-defined agent prompt that users can select.
266
+ */
267
+ export type AgentPromptDefinition = {
268
+ /** Unique prompt ID */
269
+ id: string;
270
+ /** Returns the label shown in the UI */
271
+ getLabel: (app: BlokkliApp) => string;
272
+ /** Returns the prompt text sent to the agent */
273
+ getPrompt: (app: BlokkliApp) => string;
274
+ /** Optional: returns the prompt text shown in the conversation UI. Defaults to getPrompt. */
275
+ getUserPrompt?: (app: BlokkliApp) => string;
276
+ };
277
+ /**
278
+ * Input for a prompt factory that dynamically creates prompts at runtime.
279
+ */
280
+ export type AgentPromptFactoryInput = {
281
+ /**
282
+ * Called to resolve prompts dynamically based on runtime state.
283
+ */
284
+ resolve: (app: BlokkliApp) => AgentPromptDefinition[] | AgentPromptDefinition;
285
+ };
286
+ /**
287
+ * A prompt factory with the __factory marker for runtime identification.
288
+ */
289
+ export type AgentPromptFactory = AgentPromptFactoryInput & {
290
+ __factory: true;
291
+ };
292
+ /**
293
+ * A prompt item is either a static prompt definition or a factory that produces prompts.
294
+ */
295
+ export type AgentPromptItem = AgentPromptDefinition | AgentPromptFactory;
296
+ /**
297
+ * A user message in the conversation history.
298
+ */
299
+ declare const userConversationItemSchema: z.ZodObject<{
300
+ id: z.ZodString;
301
+ timestamp: z.ZodNumber;
302
+ type: z.ZodLiteral<"user">;
303
+ content: z.ZodString;
304
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
305
+ type: z.ZodLiteral<"text">;
306
+ id: z.ZodString;
307
+ content: z.ZodString;
308
+ }, z.core.$strip>>>;
309
+ }, z.core.$strip>;
310
+ /**
311
+ * An assistant text message in the conversation history.
312
+ */
313
+ declare const assistantConversationItemSchema: z.ZodObject<{
314
+ id: z.ZodString;
315
+ timestamp: z.ZodNumber;
316
+ type: z.ZodLiteral<"assistant">;
317
+ content: z.ZodString;
318
+ }, z.core.$strip>;
319
+ /**
320
+ * A tool call in the conversation history.
321
+ * Status is 'active' while executing, then 'success' or 'error' when complete.
322
+ */
323
+ declare const toolConversationItemSchema: z.ZodObject<{
324
+ id: z.ZodString;
325
+ timestamp: z.ZodNumber;
326
+ type: z.ZodLiteral<"tool">;
327
+ callId: z.ZodString;
328
+ tool: z.ZodString;
329
+ label: z.ZodString;
330
+ status: z.ZodEnum<{
331
+ success: "success";
332
+ error: "error";
333
+ active: "active";
334
+ }>;
335
+ }, z.core.$strip>;
336
+ /**
337
+ * A server-side tool call result in the conversation history.
338
+ */
339
+ declare const serverToolConversationItemSchema: z.ZodObject<{
340
+ id: z.ZodString;
341
+ timestamp: z.ZodNumber;
342
+ type: z.ZodLiteral<"server_tool">;
343
+ tool: z.ZodEnum<{
344
+ load_skill: "load_skill";
345
+ load_tools: "load_tools";
346
+ create_plan: "create_plan";
347
+ complete_plan_step: "complete_plan_step";
348
+ plan_completed: "plan_completed";
349
+ }>;
350
+ label: z.ZodString;
351
+ }, z.core.$strip>;
352
+ /**
353
+ * An error message in the conversation history.
354
+ */
355
+ declare const errorConversationItemSchema: z.ZodObject<{
356
+ id: z.ZodString;
357
+ timestamp: z.ZodNumber;
358
+ type: z.ZodLiteral<"error">;
359
+ errorType: any;
360
+ retryable: z.ZodOptional<z.ZodBoolean>;
361
+ }, z.core.$strip>;
362
+ /**
363
+ * Discriminated union of all conversation item schemas.
364
+ */
365
+ export declare const conversationItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
366
+ id: z.ZodString;
367
+ timestamp: z.ZodNumber;
368
+ type: z.ZodLiteral<"user">;
369
+ content: z.ZodString;
370
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
371
+ type: z.ZodLiteral<"text">;
372
+ id: z.ZodString;
373
+ content: z.ZodString;
374
+ }, z.core.$strip>>>;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ id: z.ZodString;
377
+ timestamp: z.ZodNumber;
378
+ type: z.ZodLiteral<"assistant">;
379
+ content: z.ZodString;
380
+ }, z.core.$strip>, z.ZodObject<{
381
+ id: z.ZodString;
382
+ timestamp: z.ZodNumber;
383
+ type: z.ZodLiteral<"tool">;
384
+ callId: z.ZodString;
385
+ tool: z.ZodString;
386
+ label: z.ZodString;
387
+ status: z.ZodEnum<{
388
+ success: "success";
389
+ error: "error";
390
+ active: "active";
391
+ }>;
392
+ }, z.core.$strip>, z.ZodObject<{
393
+ id: z.ZodString;
394
+ timestamp: z.ZodNumber;
395
+ type: z.ZodLiteral<"server_tool">;
396
+ tool: z.ZodEnum<{
397
+ load_skill: "load_skill";
398
+ load_tools: "load_tools";
399
+ create_plan: "create_plan";
400
+ complete_plan_step: "complete_plan_step";
401
+ plan_completed: "plan_completed";
402
+ }>;
403
+ label: z.ZodString;
404
+ }, z.core.$strip>, z.ZodObject<{
405
+ id: z.ZodString;
406
+ timestamp: z.ZodNumber;
407
+ type: z.ZodLiteral<"error">;
408
+ errorType: any;
409
+ retryable: z.ZodOptional<z.ZodBoolean>;
410
+ }, z.core.$strip>], "type">;
411
+ export type UserConversationItem = z.infer<typeof userConversationItemSchema>;
412
+ export type AssistantConversationItem = z.infer<typeof assistantConversationItemSchema>;
413
+ export type ToolConversationItem = z.infer<typeof toolConversationItemSchema>;
414
+ export type ServerToolConversationItem = z.infer<typeof serverToolConversationItemSchema>;
415
+ export type ErrorConversationItem = z.infer<typeof errorConversationItemSchema>;
416
+ /**
417
+ * A conversation item that failed validation when restoring from persistence.
418
+ * Displayed as a placeholder so the user sees something went wrong.
419
+ */
420
+ export type UnknownConversationItem = {
421
+ type: 'unknown';
422
+ id: string;
423
+ timestamp: number;
424
+ };
425
+ /**
426
+ * Finalized items in conversation history (never modified after being pushed).
427
+ */
428
+ export type ConversationItem = z.infer<typeof conversationItemSchema> | UnknownConversationItem;
429
+ /**
430
+ * The single item currently being built (streaming text or pending tool).
431
+ * Only one active item can exist at a time. When complete, it's pushed to conversation history.
432
+ */
433
+ export type ActiveItem = AssistantConversationItem | ToolConversationItem;
434
+ export type TextAttachment = {
435
+ type: 'text';
436
+ id: string;
437
+ content: string;
438
+ };
439
+ export type Attachment = TextAttachment;
440
+ export {};
@@ -0,0 +1,51 @@
1
+ import { agentErrorTypeSchema } from "#blokkli/agent/shared/types";
2
+ import { z } from "zod";
3
+ const conversationItemBase = z.object({
4
+ id: z.string(),
5
+ timestamp: z.number()
6
+ });
7
+ const userConversationItemSchema = conversationItemBase.extend({
8
+ type: z.literal("user"),
9
+ content: z.string(),
10
+ attachments: z.array(
11
+ z.object({
12
+ type: z.literal("text"),
13
+ id: z.string(),
14
+ content: z.string()
15
+ })
16
+ ).optional()
17
+ });
18
+ const assistantConversationItemSchema = conversationItemBase.extend({
19
+ type: z.literal("assistant"),
20
+ content: z.string()
21
+ });
22
+ const toolConversationItemSchema = conversationItemBase.extend({
23
+ type: z.literal("tool"),
24
+ callId: z.string(),
25
+ tool: z.string(),
26
+ label: z.string(),
27
+ status: z.enum(["active", "success", "error"])
28
+ });
29
+ const serverToolConversationItemSchema = conversationItemBase.extend({
30
+ type: z.literal("server_tool"),
31
+ tool: z.enum([
32
+ "load_skill",
33
+ "load_tools",
34
+ "create_plan",
35
+ "complete_plan_step",
36
+ "plan_completed"
37
+ ]),
38
+ label: z.string()
39
+ });
40
+ const errorConversationItemSchema = conversationItemBase.extend({
41
+ type: z.literal("error"),
42
+ errorType: agentErrorTypeSchema,
43
+ retryable: z.boolean().optional()
44
+ });
45
+ export const conversationItemSchema = z.discriminatedUnion("type", [
46
+ userConversationItemSchema,
47
+ assistantConversationItemSchema,
48
+ toolConversationItemSchema,
49
+ serverToolConversationItemSchema,
50
+ errorConversationItemSchema
51
+ ]);
@@ -0,0 +1,94 @@
1
+ import type { Peer } from 'crossws';
2
+ import type { PageContext, ClientToolDefinition, ConversationStateSnapshot, GenericMessage } from '../shared/types.js';
3
+ import type { ServerPlan } from './server-tools/index.js';
4
+ export declare class Session {
5
+ messages: GenericMessage[];
6
+ pendingToolCalls: Map<string, {
7
+ resolve: (result: {
8
+ result: unknown;
9
+ error?: string;
10
+ }) => void;
11
+ reject: (error: Error) => void;
12
+ }>;
13
+ abortController: AbortController | null;
14
+ isProcessing: boolean;
15
+ /** Eager tools sent to the LLM on every turn */
16
+ tools: ClientToolDefinition[];
17
+ /** Lazy tools held back until activated via load_tools */
18
+ lazyTools: ClientToolDefinition[];
19
+ /** Names of lazy tools that have been activated via load_tools */
20
+ activatedLazyTools: Set<string>;
21
+ /** Names of skills that have been loaded via load_skill */
22
+ loadedSkills: Set<string>;
23
+ /** Page context received from client on init */
24
+ pageContext?: PageContext;
25
+ /** Current plan (null when no plan is active) */
26
+ plan: ServerPlan | null;
27
+ /** Pending plan approval promise resolver */
28
+ pendingPlanApproval: {
29
+ resolve: (approved: boolean) => void;
30
+ } | null;
31
+ /** Last tools payload sent to the provider (for transcript debugging) */
32
+ private lastProviderTools;
33
+ init(tools: ClientToolDefinition[], pageContext: PageContext): void;
34
+ start(peer: Peer, prompt: string, apiKey: string, authSecret: string, selectedUuids?: string[]): void;
35
+ resolveToolResult(callId: string, result: {
36
+ result: unknown;
37
+ error?: string;
38
+ }): void;
39
+ cancel(peer: Peer): void;
40
+ acceptChanges(peer: Peer, authSecret: string): void;
41
+ rejectChanges(peer: Peer, authSecret: string): void;
42
+ approvePlan(): void;
43
+ rejectPlan(): void;
44
+ getTranscript(peer: Peer): void;
45
+ newConversation(peer: Peer, authSecret: string): void;
46
+ cleanup(): void;
47
+ /**
48
+ * Build a persistence snapshot and send it to the client.
49
+ */
50
+ sendConversationState(peer: Peer, authSecret: string): void;
51
+ /**
52
+ * Create an aggressively pruned snapshot of the current conversation
53
+ * for client-side persistence.
54
+ */
55
+ getConversationStateForPersistence(authSecret: string): ConversationStateSnapshot;
56
+ /**
57
+ * Restore conversation state from a client-provided snapshot.
58
+ * Verifies HMAC integrity before loading.
59
+ */
60
+ restoreConversation(state: ConversationStateSnapshot, authSecret: string): {
61
+ success: boolean;
62
+ reason?: string;
63
+ };
64
+ /**
65
+ * Convert the server plan to a client-facing plan (strips descriptions).
66
+ */
67
+ private toClientPlan;
68
+ /**
69
+ * Build an ActivePlanContext from the current plan state,
70
+ * or undefined if no plan step is in progress.
71
+ */
72
+ private getActivePlanContext;
73
+ /**
74
+ * Wait for the user to approve or reject the plan.
75
+ */
76
+ private waitForPlanApproval;
77
+ private runAgentLoop;
78
+ private waitForToolResult;
79
+ /**
80
+ * Bug 3 fix: safely push a user message, merging with the last message
81
+ * if it's also a user message to avoid consecutive same-role messages.
82
+ */
83
+ private safePushUserMessage;
84
+ /**
85
+ * Remove skills from loadedSkills whose text content has been pruned
86
+ * from the conversation messages.
87
+ */
88
+ private reconcileLoadedSkills;
89
+ /**
90
+ * Build a map of tool name to pruning metadata from all known tools.
91
+ */
92
+ private buildToolMetadataMap;
93
+ private buildTranscript;
94
+ }