@blokkli/editor 2.0.0-alpha.31 → 2.0.0-alpha.33

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 (480) 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/blockOptions.d.ts +16 -0
  4. package/dist/global/types/features.d.ts +4 -0
  5. package/dist/module.d.mts +1 -24
  6. package/dist/module.json +1 -1
  7. package/dist/module.mjs +453 -10828
  8. package/dist/modules/agent/index.d.mts +64 -0
  9. package/dist/modules/agent/index.mjs +407 -0
  10. package/dist/modules/agent/runtime/app/composables/agentProvider.d.ts +55 -0
  11. package/dist/modules/agent/runtime/app/composables/agentProvider.js +875 -0
  12. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentPrompt.d.ts +32 -0
  13. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentPrompt.js +6 -0
  14. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.d.ts +65 -0
  15. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.js +6 -0
  16. package/dist/modules/agent/runtime/app/composables/index.d.ts +4 -0
  17. package/dist/modules/agent/runtime/app/composables/index.js +2 -0
  18. package/dist/modules/agent/runtime/app/features/agent/Panel/Attachment/index.d.vue.ts +12 -0
  19. package/dist/modules/agent/runtime/app/features/agent/Panel/Attachment/index.vue +62 -0
  20. package/dist/modules/agent/runtime/app/features/agent/Panel/Attachment/index.vue.d.ts +12 -0
  21. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.d.vue.ts +9 -0
  22. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.vue +38 -0
  23. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.vue.d.ts +9 -0
  24. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Error/index.d.vue.ts +14 -0
  25. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Error/index.vue +68 -0
  26. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Error/index.vue.d.ts +14 -0
  27. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/ServerTool/index.d.vue.ts +10 -0
  28. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/ServerTool/index.vue +72 -0
  29. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/ServerTool/index.vue.d.ts +10 -0
  30. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Tool/index.d.vue.ts +13 -0
  31. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Tool/index.vue +37 -0
  32. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Tool/index.vue.d.ts +13 -0
  33. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Unknown/index.d.vue.ts +8 -0
  34. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Unknown/index.vue +17 -0
  35. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Unknown/index.vue.d.ts +8 -0
  36. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.d.vue.ts +11 -0
  37. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.vue +29 -0
  38. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.vue.d.ts +11 -0
  39. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/index.d.vue.ts +12 -0
  40. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/index.vue +30 -0
  41. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/index.vue.d.ts +12 -0
  42. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Thinking/index.d.vue.ts +3 -0
  43. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Thinking/index.vue +14 -0
  44. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Thinking/index.vue.d.ts +3 -0
  45. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/index.d.vue.ts +13 -0
  46. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/index.vue +46 -0
  47. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/index.vue.d.ts +13 -0
  48. package/dist/modules/agent/runtime/app/features/agent/Panel/ConversationList/index.d.vue.ts +15 -0
  49. package/dist/modules/agent/runtime/app/features/agent/Panel/ConversationList/index.vue +50 -0
  50. package/dist/modules/agent/runtime/app/features/agent/Panel/ConversationList/index.vue.d.ts +15 -0
  51. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.d.vue.ts +3 -0
  52. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.vue +160 -0
  53. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.vue.d.ts +3 -0
  54. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/DropdownItem/index.d.vue.ts +12 -0
  55. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/DropdownItem/index.vue +15 -0
  56. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/DropdownItem/index.vue.d.ts +12 -0
  57. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/TokenUsage/index.d.vue.ts +7 -0
  58. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/TokenUsage/index.vue +67 -0
  59. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/TokenUsage/index.vue.d.ts +7 -0
  60. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.d.vue.ts +23 -0
  61. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +109 -0
  62. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue.d.ts +23 -0
  63. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.d.vue.ts +45 -0
  64. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.vue +120 -0
  65. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.vue.d.ts +45 -0
  66. package/dist/modules/agent/runtime/app/features/agent/Panel/PendingMutation/index.d.vue.ts +15 -0
  67. package/dist/modules/agent/runtime/app/features/agent/Panel/PendingMutation/index.vue +47 -0
  68. package/dist/modules/agent/runtime/app/features/agent/Panel/PendingMutation/index.vue.d.ts +15 -0
  69. package/dist/modules/agent/runtime/app/features/agent/Panel/Plan/index.d.vue.ts +14 -0
  70. package/dist/modules/agent/runtime/app/features/agent/Panel/Plan/index.vue +55 -0
  71. package/dist/modules/agent/runtime/app/features/agent/Panel/Plan/index.vue.d.ts +14 -0
  72. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.d.vue.ts +25 -0
  73. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue +36 -0
  74. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue.d.ts +25 -0
  75. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/de.md +19 -0
  76. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/en.md +18 -0
  77. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.d.vue.ts +10 -0
  78. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.vue +44 -0
  79. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.vue.d.ts +10 -0
  80. package/dist/modules/agent/runtime/app/features/agent/Panel/index.d.vue.ts +58 -0
  81. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +274 -0
  82. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue.d.ts +58 -0
  83. package/dist/modules/agent/runtime/app/features/agent/index.d.vue.ts +3 -0
  84. package/dist/modules/agent/runtime/app/features/agent/index.vue +162 -0
  85. package/dist/modules/agent/runtime/app/features/agent/index.vue.d.ts +3 -0
  86. package/dist/modules/agent/runtime/app/features/agent/types.d.ts +58 -0
  87. package/dist/modules/agent/runtime/app/features/agent/types.js +0 -0
  88. package/dist/modules/agent/runtime/app/helpers/index.d.ts +55 -0
  89. package/dist/modules/agent/runtime/app/helpers/index.js +88 -0
  90. package/dist/modules/agent/runtime/app/helpers/pageStructure.d.ts +5 -0
  91. package/dist/modules/agent/runtime/app/helpers/pageStructure.js +106 -0
  92. package/dist/modules/agent/runtime/app/helpers/validation.d.ts +35 -0
  93. package/dist/modules/agent/runtime/app/helpers/validation.js +77 -0
  94. package/dist/modules/agent/runtime/app/tools/add_content_search_paragraph/index.d.ts +2 -0
  95. package/dist/modules/agent/runtime/app/tools/add_content_search_paragraph/index.js +69 -0
  96. package/dist/modules/agent/runtime/app/tools/add_fragment/index.d.ts +2 -0
  97. package/dist/modules/agent/runtime/app/tools/add_fragment/index.js +83 -0
  98. package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.d.ts +2 -0
  99. package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.js +62 -0
  100. package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.d.ts +2 -0
  101. package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.js +289 -0
  102. package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.d.ts +2 -0
  103. package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.js +76 -0
  104. package/dist/modules/agent/runtime/app/tools/add_template/index.d.ts +2 -0
  105. package/dist/modules/agent/runtime/app/tools/add_template/index.js +58 -0
  106. package/dist/modules/agent/runtime/app/tools/ask_question/Component.d.vue.ts +19 -0
  107. package/dist/modules/agent/runtime/app/tools/ask_question/Component.vue +113 -0
  108. package/dist/modules/agent/runtime/app/tools/ask_question/Component.vue.d.ts +19 -0
  109. package/dist/modules/agent/runtime/app/tools/ask_question/index.d.ts +17 -0
  110. package/dist/modules/agent/runtime/app/tools/ask_question/index.js +54 -0
  111. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Component.d.vue.ts +29 -0
  112. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Component.vue +190 -0
  113. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Component.vue.d.ts +29 -0
  114. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Item.d.vue.ts +20 -0
  115. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Item.vue +90 -0
  116. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/Item.vue.d.ts +20 -0
  117. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/index.d.ts +18 -0
  118. package/dist/modules/agent/runtime/app/tools/batch_rewrite_text/index.js +55 -0
  119. package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.d.ts +2 -0
  120. package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.js +47 -0
  121. package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.d.ts +2 -0
  122. package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.js +47 -0
  123. package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.d.ts +2 -0
  124. package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.js +144 -0
  125. package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.d.ts +2 -0
  126. package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.js +180 -0
  127. package/dist/modules/agent/runtime/app/tools/get_all_fragments/index.d.ts +2 -0
  128. package/dist/modules/agent/runtime/app/tools/get_all_fragments/index.js +33 -0
  129. package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.d.ts +2 -0
  130. package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.js +93 -0
  131. package/dist/modules/agent/runtime/app/tools/get_available_bundles/index.d.ts +2 -0
  132. package/dist/modules/agent/runtime/app/tools/get_available_bundles/index.js +104 -0
  133. package/dist/modules/agent/runtime/app/tools/get_child_paragraphs/index.d.ts +2 -0
  134. package/dist/modules/agent/runtime/app/tools/get_child_paragraphs/index.js +108 -0
  135. package/dist/modules/agent/runtime/app/tools/get_content_fields/index.d.ts +2 -0
  136. package/dist/modules/agent/runtime/app/tools/get_content_fields/index.js +192 -0
  137. package/dist/modules/agent/runtime/app/tools/get_mutation_history/index.d.ts +2 -0
  138. package/dist/modules/agent/runtime/app/tools/get_mutation_history/index.js +102 -0
  139. package/dist/modules/agent/runtime/app/tools/get_page_structure/index.d.ts +2 -0
  140. package/dist/modules/agent/runtime/app/tools/get_page_structure/index.js +113 -0
  141. package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.d.ts +2 -0
  142. package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.js +275 -0
  143. package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.d.ts +2 -0
  144. package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.js +63 -0
  145. package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.d.ts +2 -0
  146. package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.js +180 -0
  147. package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.d.ts +2 -0
  148. package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.js +46 -0
  149. package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.d.ts +2 -0
  150. package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.js +54 -0
  151. package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.d.ts +2 -0
  152. package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.js +69 -0
  153. package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.d.ts +2 -0
  154. package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.js +95 -0
  155. package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.d.ts +2 -0
  156. package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.js +80 -0
  157. package/dist/modules/agent/runtime/app/tools/replace_media_field/index.d.ts +2 -0
  158. package/dist/modules/agent/runtime/app/tools/replace_media_field/index.js +85 -0
  159. package/dist/modules/agent/runtime/app/tools/schemas.d.ts +128 -0
  160. package/dist/modules/agent/runtime/app/tools/schemas.js +242 -0
  161. package/dist/modules/agent/runtime/app/tools/search_content/index.d.ts +2 -0
  162. package/dist/modules/agent/runtime/app/tools/search_content/index.js +65 -0
  163. package/dist/modules/agent/runtime/app/tools/search_media/index.d.ts +14 -0
  164. package/dist/modules/agent/runtime/app/tools/search_media/index.js +60 -0
  165. package/dist/modules/agent/runtime/app/tools/search_reusable_paragraphs/index.d.ts +2 -0
  166. package/dist/modules/agent/runtime/app/tools/search_reusable_paragraphs/index.js +75 -0
  167. package/dist/modules/agent/runtime/app/tools/search_templates/index.d.ts +2 -0
  168. package/dist/modules/agent/runtime/app/tools/search_templates/index.js +51 -0
  169. package/dist/modules/agent/runtime/app/tools/search_text/index.d.ts +2 -0
  170. package/dist/modules/agent/runtime/app/tools/search_text/index.js +114 -0
  171. package/dist/modules/agent/runtime/app/tools/select_media/Component.d.vue.ts +29 -0
  172. package/dist/modules/agent/runtime/app/tools/select_media/Component.vue +70 -0
  173. package/dist/modules/agent/runtime/app/tools/select_media/Component.vue.d.ts +29 -0
  174. package/dist/modules/agent/runtime/app/tools/select_media/index.d.ts +30 -0
  175. package/dist/modules/agent/runtime/app/tools/select_media/index.js +74 -0
  176. package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.d.ts +2 -0
  177. package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.js +109 -0
  178. package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.d.ts +2 -0
  179. package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.js +74 -0
  180. package/dist/modules/agent/runtime/app/tools/web_fetch/index.d.ts +2 -0
  181. package/dist/modules/agent/runtime/app/tools/web_fetch/index.js +51 -0
  182. package/dist/modules/agent/runtime/app/types/index.d.ts +440 -0
  183. package/dist/modules/agent/runtime/app/types/index.js +51 -0
  184. package/dist/modules/agent/runtime/server/Session.d.ts +94 -0
  185. package/dist/modules/agent/runtime/server/Session.js +734 -0
  186. package/dist/modules/agent/runtime/server/SessionManager.d.ts +21 -0
  187. package/dist/modules/agent/runtime/server/SessionManager.js +80 -0
  188. package/dist/modules/agent/runtime/server/agent.d.ts +2 -0
  189. package/dist/modules/agent/runtime/server/agent.js +148 -0
  190. package/dist/modules/agent/runtime/server/agentPrompt.d.ts +22 -0
  191. package/dist/modules/agent/runtime/server/agentPrompt.js +53 -0
  192. package/dist/modules/agent/runtime/server/default-skills/adding-new-paragraphs.d.ts +2 -0
  193. package/dist/modules/agent/runtime/server/default-skills/adding-new-paragraphs.js +21 -0
  194. package/dist/modules/agent/runtime/server/default-skills/pageReview.d.ts +2 -0
  195. package/dist/modules/agent/runtime/server/default-skills/pageReview.js +28 -0
  196. package/dist/modules/agent/runtime/server/default-skills/reusable-paragraphs.d.ts +2 -0
  197. package/dist/modules/agent/runtime/server/default-skills/reusable-paragraphs.js +21 -0
  198. package/dist/modules/agent/runtime/server/default-skills/rewriteAndTranslate.d.ts +2 -0
  199. package/dist/modules/agent/runtime/server/default-skills/rewriteAndTranslate.js +14 -0
  200. package/dist/modules/agent/runtime/server/default-system-prompts/architecture.d.ts +2 -0
  201. package/dist/modules/agent/runtime/server/default-system-prompts/architecture.js +39 -0
  202. package/dist/modules/agent/runtime/server/default-system-prompts/available-skills.d.ts +2 -0
  203. package/dist/modules/agent/runtime/server/default-system-prompts/available-skills.js +18 -0
  204. package/dist/modules/agent/runtime/server/default-system-prompts/available-tools.d.ts +2 -0
  205. package/dist/modules/agent/runtime/server/default-system-prompts/available-tools.js +18 -0
  206. package/dist/modules/agent/runtime/server/default-system-prompts/fragments.d.ts +2 -0
  207. package/dist/modules/agent/runtime/server/default-system-prompts/fragments.js +19 -0
  208. package/dist/modules/agent/runtime/server/default-system-prompts/important-rules.d.ts +2 -0
  209. package/dist/modules/agent/runtime/server/default-system-prompts/important-rules.js +22 -0
  210. package/dist/modules/agent/runtime/server/default-system-prompts/interaction.d.ts +2 -0
  211. package/dist/modules/agent/runtime/server/default-system-prompts/interaction.js +20 -0
  212. package/dist/modules/agent/runtime/server/default-system-prompts/introduction.d.ts +2 -0
  213. package/dist/modules/agent/runtime/server/default-system-prompts/introduction.js +14 -0
  214. package/dist/modules/agent/runtime/server/default-system-prompts/page-context.d.ts +2 -0
  215. package/dist/modules/agent/runtime/server/default-system-prompts/page-context.js +60 -0
  216. package/dist/modules/agent/runtime/server/default-system-prompts/paragraph-bundles.d.ts +2 -0
  217. package/dist/modules/agent/runtime/server/default-system-prompts/paragraph-bundles.js +37 -0
  218. package/dist/modules/agent/runtime/server/default-system-prompts/plan-mode.d.ts +2 -0
  219. package/dist/modules/agent/runtime/server/default-system-prompts/plan-mode.js +36 -0
  220. package/dist/modules/agent/runtime/server/default-system-prompts/security.d.ts +2 -0
  221. package/dist/modules/agent/runtime/server/default-system-prompts/security.js +27 -0
  222. package/dist/modules/agent/runtime/server/default-system-prompts/workflow.d.ts +2 -0
  223. package/dist/modules/agent/runtime/server/default-system-prompts/workflow.js +22 -0
  224. package/dist/modules/agent/runtime/server/fetch.d.ts +2 -0
  225. package/dist/modules/agent/runtime/server/fetch.js +127 -0
  226. package/dist/modules/agent/runtime/server/helpers.d.ts +77 -0
  227. package/dist/modules/agent/runtime/server/helpers.js +352 -0
  228. package/dist/modules/agent/runtime/server/providers/anthropic.d.ts +12 -0
  229. package/dist/modules/agent/runtime/server/providers/anthropic.js +128 -0
  230. package/dist/modules/agent/runtime/server/providers/openai.d.ts +12 -0
  231. package/dist/modules/agent/runtime/server/providers/openai.js +165 -0
  232. package/dist/modules/agent/runtime/server/providers/types.d.ts +74 -0
  233. package/dist/modules/agent/runtime/server/providers/types.js +0 -0
  234. package/dist/modules/agent/runtime/server/server-tools/complete_plan_step/index.d.ts +3 -0
  235. package/dist/modules/agent/runtime/server/server-tools/complete_plan_step/index.js +79 -0
  236. package/dist/modules/agent/runtime/server/server-tools/create_plan/index.d.ts +9 -0
  237. package/dist/modules/agent/runtime/server/server-tools/create_plan/index.js +86 -0
  238. package/dist/modules/agent/runtime/server/server-tools/index.d.ts +86 -0
  239. package/dist/modules/agent/runtime/server/server-tools/index.js +30 -0
  240. package/dist/modules/agent/runtime/server/server-tools/load_skill/index.d.ts +7 -0
  241. package/dist/modules/agent/runtime/server/server-tools/load_skill/index.js +58 -0
  242. package/dist/modules/agent/runtime/server/server-tools/load_tools/index.d.ts +7 -0
  243. package/dist/modules/agent/runtime/server/server-tools/load_tools/index.js +43 -0
  244. package/dist/modules/agent/runtime/server/skills/defineBlokkliAgentSkill.d.ts +23 -0
  245. package/dist/modules/agent/runtime/server/skills/defineBlokkliAgentSkill.js +3 -0
  246. package/dist/modules/agent/runtime/server/skills/index.d.ts +2 -0
  247. package/dist/modules/agent/runtime/server/skills/index.js +1 -0
  248. package/dist/modules/agent/runtime/server/skills/types.d.ts +45 -0
  249. package/dist/modules/agent/runtime/server/skills/types.js +0 -0
  250. package/dist/modules/agent/runtime/server/system-prompts/defineBlokkliAgentSystemPrompt.d.ts +21 -0
  251. package/dist/modules/agent/runtime/server/system-prompts/defineBlokkliAgentSystemPrompt.js +3 -0
  252. package/dist/modules/agent/runtime/server/system-prompts/helpers.d.ts +20 -0
  253. package/dist/modules/agent/runtime/server/system-prompts/helpers.js +41 -0
  254. package/dist/modules/agent/runtime/server/system-prompts/index.d.ts +2 -0
  255. package/dist/modules/agent/runtime/server/system-prompts/index.js +1 -0
  256. package/dist/modules/agent/runtime/server/system-prompts/types.d.ts +49 -0
  257. package/dist/modules/agent/runtime/server/system-prompts/types.js +0 -0
  258. package/dist/modules/agent/runtime/shared/placeholders.d.ts +4 -0
  259. package/dist/modules/agent/runtime/shared/placeholders.js +1 -0
  260. package/dist/modules/agent/runtime/shared/types.d.ts +426 -0
  261. package/dist/modules/agent/runtime/shared/types.js +147 -0
  262. package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +27 -2
  263. package/dist/modules/drupal/graphql/features/agent.graphql +69 -0
  264. package/dist/modules/drupal/graphql/features/search.graphql +5 -0
  265. package/dist/modules/drupal/graphql/features/templates.graphql +36 -2
  266. package/dist/modules/drupal/graphql/mutations/add_multiple.graphql +25 -0
  267. package/dist/modules/drupal/graphql/mutations/bulk_update_field_values.graphql +15 -0
  268. package/dist/modules/drupal/graphql/mutations/rearrange.graphql +23 -0
  269. package/dist/modules/drupal/graphql/mutations/replace_entity_reference.graphql +25 -0
  270. package/dist/modules/drupal/graphql/mutations/swap.graphql +16 -0
  271. package/dist/modules/drupal/index.d.mts +18 -2
  272. package/dist/modules/drupal/index.mjs +60 -12
  273. package/dist/modules/drupal/runtime/adapter/index.js +246 -21
  274. package/dist/modules/drupal/runtime/components/BlokkliDrupalEditTemplate/index.d.vue.ts +9 -0
  275. package/dist/modules/drupal/runtime/components/BlokkliDrupalEditTemplate/index.vue +26 -0
  276. package/dist/modules/drupal/runtime/components/BlokkliDrupalEditTemplate/index.vue.d.ts +9 -0
  277. package/dist/runtime/components/Blocks/Fragment/index.vue +11 -2
  278. package/dist/runtime/components/BlokkliItem.vue +3 -1
  279. package/dist/runtime/composables/defineBlokkli.js +1 -3
  280. package/dist/runtime/composables/defineBlokkliFeature.d.ts +5 -3
  281. package/dist/runtime/composables/defineBlokkliFeature.js +2 -1
  282. package/dist/runtime/composables/defineBlokkliProvider.js +1 -3
  283. package/dist/runtime/editor/adapter/index.d.ts +45 -4
  284. package/dist/runtime/editor/adapter/index.js +3 -0
  285. package/dist/runtime/editor/components/Actions/ItemDropdown.vue +6 -1
  286. package/dist/runtime/editor/components/Actions/index.vue +4 -1
  287. package/dist/runtime/editor/components/AddListItem/index.d.vue.ts +9 -1
  288. package/dist/runtime/editor/components/AddListItem/index.vue +36 -2
  289. package/dist/runtime/editor/components/AddListItem/index.vue.d.ts +9 -1
  290. package/dist/runtime/editor/components/AnimationCanvas/index.vue +17 -7
  291. package/dist/runtime/editor/components/ArtboardTooltip/index.d.vue.ts +3 -1
  292. package/dist/runtime/editor/components/ArtboardTooltip/index.vue +4 -3
  293. package/dist/runtime/editor/components/ArtboardTooltip/index.vue.d.ts +3 -1
  294. package/dist/runtime/editor/components/AutoHeight/index.d.vue.ts +16 -0
  295. package/dist/runtime/editor/components/AutoHeight/index.vue +32 -0
  296. package/dist/runtime/editor/components/AutoHeight/index.vue.d.ts +16 -0
  297. package/dist/runtime/editor/components/BlockPreviewItem/index.d.vue.ts +5 -1
  298. package/dist/runtime/editor/components/BlockPreviewItem/index.vue +10 -7
  299. package/dist/runtime/editor/components/BlockPreviewItem/index.vue.d.ts +5 -1
  300. package/dist/runtime/editor/components/DiffViewer/DiffValue.d.vue.ts +7 -0
  301. package/dist/runtime/editor/components/DiffViewer/DiffValue.vue +21 -0
  302. package/dist/runtime/editor/components/DiffViewer/DiffValue.vue.d.ts +7 -0
  303. package/dist/runtime/editor/components/DiffViewer/State.vue +4 -9
  304. package/dist/runtime/editor/components/EditProvider.vue +25 -4
  305. package/dist/runtime/editor/components/FeaturesRenderer/index.vue +26 -8
  306. package/dist/runtime/editor/components/FlexTextarea/index.d.vue.ts +31 -0
  307. package/dist/runtime/editor/components/FlexTextarea/index.vue +179 -0
  308. package/dist/runtime/editor/components/FlexTextarea/index.vue.d.ts +31 -0
  309. package/dist/runtime/editor/components/Form/Text/index.vue +23 -11
  310. package/dist/runtime/editor/components/Form/Toggle/index.d.vue.ts +1 -0
  311. package/dist/runtime/editor/components/Form/Toggle/index.vue +7 -3
  312. package/dist/runtime/editor/components/Form/Toggle/index.vue.d.ts +1 -0
  313. package/dist/runtime/editor/components/Icon/index.vue +3 -1
  314. package/dist/runtime/editor/components/Indicators/index.vue +20 -10
  315. package/dist/runtime/editor/components/ItemIcon/index.d.vue.ts +3 -0
  316. package/dist/runtime/editor/components/ItemIcon/index.vue +3 -2
  317. package/dist/runtime/editor/components/ItemIcon/index.vue.d.ts +3 -0
  318. package/dist/runtime/editor/components/ItemIconBox/index.vue +4 -1
  319. package/dist/runtime/editor/components/NestedEditorOverlay/index.d.vue.ts +3 -1
  320. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +150 -71
  321. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue.d.ts +3 -1
  322. package/dist/runtime/editor/components/PluginConfigForm/index.vue +6 -2
  323. package/dist/runtime/editor/components/RelativeTime/index.d.vue.ts +3 -2
  324. package/dist/runtime/editor/components/RelativeTime/index.vue +21 -7
  325. package/dist/runtime/editor/components/RelativeTime/index.vue.d.ts +3 -2
  326. package/dist/runtime/editor/components/StatusIcon/index.d.vue.ts +9 -0
  327. package/dist/runtime/editor/components/StatusIcon/index.vue +31 -0
  328. package/dist/runtime/editor/components/StatusIcon/index.vue.d.ts +9 -0
  329. package/dist/runtime/editor/components/SystemRequirements/index.vue +5 -1
  330. package/dist/runtime/editor/components/Transition/Height.vue +3 -2
  331. package/dist/runtime/editor/components/Transition/index.d.vue.ts +1 -1
  332. package/dist/runtime/editor/components/Transition/index.vue +2 -1
  333. package/dist/runtime/editor/components/Transition/index.vue.d.ts +1 -1
  334. package/dist/runtime/editor/components/index.d.ts +10 -6
  335. package/dist/runtime/editor/components/index.js +19 -11
  336. package/dist/runtime/editor/composables/index.d.ts +2 -0
  337. package/dist/runtime/editor/composables/index.js +2 -0
  338. package/dist/runtime/editor/composables/onElementResize.d.ts +3 -0
  339. package/dist/runtime/editor/composables/onElementResize.js +37 -0
  340. package/dist/runtime/editor/composables/useEditableFieldOverride.d.ts +24 -0
  341. package/dist/runtime/editor/composables/useEditableFieldOverride.js +130 -0
  342. package/dist/runtime/editor/composables/useStickyToolbar.d.ts +4 -3
  343. package/dist/runtime/editor/composables/useStickyToolbar.js +26 -10
  344. package/dist/runtime/editor/css/output.css +1 -1
  345. package/dist/runtime/editor/events/index.d.ts +31 -0
  346. package/dist/runtime/editor/features/add-list/Actions/Action.d.vue.ts +8 -1
  347. package/dist/runtime/editor/features/add-list/Actions/Action.vue +7 -1
  348. package/dist/runtime/editor/features/add-list/Actions/Action.vue.d.ts +8 -1
  349. package/dist/runtime/editor/features/add-list/Actions/index.d.vue.ts +11 -1
  350. package/dist/runtime/editor/features/add-list/Actions/index.vue +30 -10
  351. package/dist/runtime/editor/features/add-list/Actions/index.vue.d.ts +11 -1
  352. package/dist/runtime/editor/features/add-list/Blocks/index.d.vue.ts +11 -2
  353. package/dist/runtime/editor/features/add-list/Blocks/index.vue +27 -1
  354. package/dist/runtime/editor/features/add-list/Blocks/index.vue.d.ts +11 -2
  355. package/dist/runtime/editor/features/add-list/Help/Item.d.vue.ts +12 -0
  356. package/dist/runtime/editor/features/add-list/Help/Item.vue +186 -0
  357. package/dist/runtime/editor/features/add-list/Help/Item.vue.d.ts +12 -0
  358. package/dist/runtime/editor/features/add-list/Help/index.d.vue.ts +13 -0
  359. package/dist/runtime/editor/features/add-list/Help/index.vue +127 -0
  360. package/dist/runtime/editor/features/add-list/Help/index.vue.d.ts +13 -0
  361. package/dist/runtime/editor/features/add-list/docs.md +2 -2
  362. package/dist/runtime/editor/features/add-list/index.vue +108 -9
  363. package/dist/runtime/editor/features/add-list/types.d.ts +5 -0
  364. package/dist/runtime/editor/features/analyze/Main.vue +4 -1
  365. package/dist/runtime/editor/features/analyze/Summary/Chart.vue +9 -9
  366. package/dist/runtime/editor/features/analyze/index.vue +2 -14
  367. package/dist/runtime/editor/features/analyze/types.d.ts +4 -1
  368. package/dist/runtime/editor/features/artboard/Renderer.vue +43 -0
  369. package/dist/runtime/editor/features/assistant/docs.md +5 -5
  370. package/dist/runtime/editor/features/breadcrumbs/index.vue +4 -1
  371. package/dist/runtime/editor/features/clipboard/index.vue +6 -2
  372. package/dist/runtime/editor/features/comments/index.vue +1 -0
  373. package/dist/runtime/editor/features/comments/types.d.ts +6 -0
  374. package/dist/runtime/editor/features/dragging-overlay/DragItems/DragItem.d.vue.ts +1 -0
  375. package/dist/runtime/editor/features/dragging-overlay/DragItems/DragItem.vue +6 -31
  376. package/dist/runtime/editor/features/dragging-overlay/DragItems/DragItem.vue.d.ts +1 -0
  377. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.d.vue.ts +2 -1
  378. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue +42 -18
  379. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue.d.ts +2 -1
  380. package/dist/runtime/editor/features/dragging-overlay/Renderer/fragment.glsl +77 -2
  381. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.d.vue.ts +1 -0
  382. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue +143 -52
  383. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue.d.ts +1 -0
  384. package/dist/runtime/editor/features/dragging-overlay/Renderer/vertex.glsl +84 -31
  385. package/dist/runtime/editor/features/dragging-overlay/index.vue +3 -2
  386. package/dist/runtime/editor/features/edit/index.vue +7 -1
  387. package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.vue +13 -23
  388. package/dist/runtime/editor/features/editable-field/Overlay/index.vue +10 -102
  389. package/dist/runtime/editor/features/editable-field/types.d.ts +12 -2
  390. package/dist/runtime/editor/features/entity-title/index.vue +7 -7
  391. package/dist/runtime/editor/features/fragments/index.vue +1 -1
  392. package/dist/runtime/editor/features/import-existing/Dialog/index.vue +8 -13
  393. package/dist/runtime/editor/features/library/ReusableDialog/index.vue +6 -1
  394. package/dist/runtime/editor/features/library/index.vue +14 -5
  395. package/dist/runtime/editor/features/library/types.d.ts +6 -0
  396. package/dist/runtime/editor/features/media-library/Library/Item.d.vue.ts +2 -2
  397. package/dist/runtime/editor/features/media-library/Library/Item.vue +17 -1
  398. package/dist/runtime/editor/features/media-library/Library/Item.vue.d.ts +2 -2
  399. package/dist/runtime/editor/features/media-library/Library/index.vue +6 -1
  400. package/dist/runtime/editor/features/media-library/index.vue +4 -4
  401. package/dist/runtime/editor/features/options/Form/index.vue +11 -43
  402. package/dist/runtime/editor/features/ownership/Banner/index.d.vue.ts +6 -3
  403. package/dist/runtime/editor/features/ownership/Banner/index.vue +10 -1
  404. package/dist/runtime/editor/features/ownership/Banner/index.vue.d.ts +6 -3
  405. package/dist/runtime/editor/features/ownership/index.vue +18 -6
  406. package/dist/runtime/editor/features/ownership/types.d.ts +5 -0
  407. package/dist/runtime/editor/features/publish/index.vue +5 -1
  408. package/dist/runtime/editor/features/search/Overlay/index.vue +5 -2
  409. package/dist/runtime/editor/features/search/index.vue +64 -3
  410. package/dist/runtime/editor/features/search/types.d.ts +16 -1
  411. package/dist/runtime/editor/features/selection/AddButtons/Renderer/index.vue +1 -3
  412. package/dist/runtime/editor/features/selection/AddButtons/index.vue +24 -4
  413. package/dist/runtime/editor/features/selection/Renderer/index.vue +5 -1
  414. package/dist/runtime/editor/features/selection/index.vue +5 -1
  415. package/dist/runtime/editor/features/settings/Dialog/index.vue +3 -1
  416. package/dist/runtime/editor/features/settings/index.vue +4 -1
  417. package/dist/runtime/editor/features/templates/CreateDialog/index.vue +21 -2
  418. package/dist/runtime/editor/features/templates/Dialog/Item/index.d.vue.ts +1 -1
  419. package/dist/runtime/editor/features/templates/Dialog/Item/index.vue +3 -3
  420. package/dist/runtime/editor/features/templates/Dialog/Item/index.vue.d.ts +1 -1
  421. package/dist/runtime/editor/features/templates/Dialog/index.vue +21 -5
  422. package/dist/runtime/editor/features/templates/ManageDialog/Item.d.vue.ts +8 -0
  423. package/dist/runtime/editor/features/templates/ManageDialog/Item.vue +147 -0
  424. package/dist/runtime/editor/features/templates/ManageDialog/Item.vue.d.ts +8 -0
  425. package/dist/runtime/editor/features/templates/ManageDialog/index.vue +30 -107
  426. package/dist/runtime/editor/features/templates/index.vue +7 -5
  427. package/dist/runtime/editor/features/templates/types.d.ts +11 -2
  428. package/dist/runtime/editor/features/transform/Dialog/index.vue +6 -1
  429. package/dist/runtime/editor/features/transform/index.vue +25 -20
  430. package/dist/runtime/editor/features/transform/types.d.ts +6 -4
  431. package/dist/runtime/editor/features/validations/index.vue +6 -1
  432. package/dist/runtime/editor/helpers/date/index.d.ts +1 -0
  433. package/dist/runtime/editor/helpers/date/index.js +3 -0
  434. package/dist/runtime/editor/helpers/options/index.d.ts +20 -0
  435. package/dist/runtime/editor/helpers/options/index.js +60 -0
  436. package/dist/runtime/editor/helpers/webgl/index.d.ts +5 -1
  437. package/dist/runtime/editor/helpers/webgl/index.js +45 -13
  438. package/dist/runtime/editor/icons/svg/stars.svg +1 -0
  439. package/dist/runtime/editor/plugins/Sidebar/Detached/index.d.vue.ts +1 -1
  440. package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue +13 -10
  441. package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue.d.ts +1 -1
  442. package/dist/runtime/editor/plugins/Sidebar/index.d.vue.ts +3 -1
  443. package/dist/runtime/editor/plugins/Sidebar/index.vue +14 -2
  444. package/dist/runtime/editor/plugins/Sidebar/index.vue.d.ts +3 -1
  445. package/dist/runtime/editor/providers/adapters.d.ts +33 -0
  446. package/dist/runtime/editor/providers/adapters.js +88 -0
  447. package/dist/runtime/editor/providers/animation.js +3 -0
  448. package/dist/runtime/editor/providers/definition.d.ts +8 -1
  449. package/dist/runtime/editor/providers/definition.js +7 -3
  450. package/dist/runtime/editor/providers/dom.d.ts +7 -0
  451. package/dist/runtime/editor/providers/dom.js +12 -0
  452. package/dist/runtime/editor/providers/permissions.d.ts +6 -0
  453. package/dist/runtime/editor/providers/permissions.js +9 -0
  454. package/dist/runtime/editor/providers/plugin.d.ts +1 -0
  455. package/dist/runtime/editor/providers/state.js +1 -0
  456. package/dist/runtime/editor/providers/texts.js +20 -6
  457. package/dist/runtime/editor/providers/types.d.ts +7 -0
  458. package/dist/runtime/editor/providers/types.js +4 -0
  459. package/dist/runtime/editor/providers/ui.d.ts +40 -0
  460. package/dist/runtime/editor/providers/ui.js +27 -1
  461. package/dist/runtime/editor/translations/de.json +2738 -0
  462. package/dist/runtime/editor/translations/fr.json +2738 -0
  463. package/dist/runtime/editor/translations/gsw_CH.json +2738 -0
  464. package/dist/runtime/editor/translations/it.json +2738 -0
  465. package/dist/runtime/editor/types/app.d.ts +9 -2
  466. package/dist/runtime/editor/types/definitions.d.ts +5 -0
  467. package/dist/runtime/editor/types/features.d.ts +3 -1
  468. package/dist/runtime/editor/types/permissions.d.ts +17 -0
  469. package/dist/runtime/editor/types/permissions.js +0 -0
  470. package/dist/runtime/helpers/runtimeHelpers/index.d.ts +2 -1
  471. package/dist/runtime/helpers/runtimeHelpers/index.js +44 -6
  472. package/dist/runtime/types/index.d.ts +6 -0
  473. package/dist/shared/editor.CGf7C_0M.mjs +10 -0
  474. package/dist/shared/editor.DMFfaLVE.mjs +175 -0
  475. package/dist/shared/{editor.BKQCh70G.d.mts → editor.Iax3GCvt.d.mts} +94 -40
  476. package/dist/types.d.mts +7 -1
  477. package/package.json +29 -7
  478. package/dist/runtime/css/output.css +0 -1
  479. package/dist/runtime/material-icons/index.d.ts +0 -12
  480. package/dist/runtime/material-icons/index.js +0 -1
@@ -0,0 +1,74 @@
1
+ import type { ClientToolDefinition, GenericMessage } from '../../shared/types.js';
2
+ import type { SystemPromptBlock } from '../system-prompts/types.js';
3
+ export type { GenericTextBlock, GenericToolUseBlock, GenericToolResultBlock, GenericContentBlock, GenericMessage, } from '../../shared/types.js';
4
+ /**
5
+ * Normalized stream events that all providers emit.
6
+ * The agent handler processes these uniformly regardless of provider.
7
+ */
8
+ export type StreamEvent = {
9
+ type: 'text_start';
10
+ } | {
11
+ type: 'text_delta';
12
+ text: string;
13
+ } | {
14
+ type: 'text_end';
15
+ } | {
16
+ type: 'tool_use_start';
17
+ id: string;
18
+ name: string;
19
+ } | {
20
+ type: 'tool_use_delta';
21
+ partial_json: string;
22
+ } | {
23
+ type: 'tool_use_end';
24
+ } | {
25
+ type: 'message_end';
26
+ stop_reason: 'end_turn' | 'tool_use' | 'max_tokens' | 'stop';
27
+ inputTokens?: number;
28
+ outputTokens?: number;
29
+ cacheCreationInputTokens?: number;
30
+ cacheReadInputTokens?: number;
31
+ } | {
32
+ type: 'error';
33
+ error: Error;
34
+ } | {
35
+ type: 'debug_request';
36
+ tools: unknown;
37
+ };
38
+ /**
39
+ * Configuration passed to provider when creating a stream.
40
+ */
41
+ export type ProviderConfig = {
42
+ /** API key for the provider */
43
+ apiKey: string;
44
+ /** Model to use (provider-specific) */
45
+ model: string;
46
+ };
47
+ /**
48
+ * Options for creating a stream.
49
+ */
50
+ export type StreamOptions = {
51
+ /** System prompt blocks with optional cache hints */
52
+ systemPrompt: SystemPromptBlock[];
53
+ /** Conversation messages */
54
+ messages: GenericMessage[];
55
+ /** Available tools */
56
+ tools: ClientToolDefinition[];
57
+ /** Maximum tokens to generate */
58
+ maxTokens?: number;
59
+ /** Abort signal for cancellation */
60
+ signal?: AbortSignal;
61
+ };
62
+ /**
63
+ * Interface that all AI providers must implement.
64
+ */
65
+ export interface AIProvider {
66
+ /** Provider name for identification */
67
+ readonly name: string;
68
+ /**
69
+ * Create a stream of events for the given messages.
70
+ * The provider converts generic messages to its native format,
71
+ * calls the API, and yields normalized StreamEvents.
72
+ */
73
+ createStream(config: ProviderConfig, options: StreamOptions): AsyncIterable<StreamEvent>;
74
+ }
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ declare const _default: import("..").ServerSideTool<z.ZodObject<{}, z.core.$strip>>;
3
+ export default _default;
@@ -0,0 +1,79 @@
1
+ import { z } from "zod";
2
+ import { defineServerSideTool } from "../index.js";
3
+ const schema = z.object({});
4
+ export default defineServerSideTool({
5
+ name: "complete_plan_step",
6
+ description: "Mark the current plan step as completed and get the next step. Call this when you have finished all work for the current step.",
7
+ inputSchema() {
8
+ return schema;
9
+ },
10
+ isAvailable(ctx) {
11
+ return !!ctx.plan && ctx.plan.steps.some(
12
+ (s) => s.status === "in_progress" || s.status === "pending"
13
+ );
14
+ },
15
+ handle(ctx) {
16
+ const currentStep = ctx.plan?.steps.find((s) => s.status === "in_progress");
17
+ if (!ctx.plan || !currentStep) {
18
+ return {
19
+ toolResults: [
20
+ {
21
+ type: "tool_result",
22
+ tool_use_id: ctx.toolUseId,
23
+ content: JSON.stringify({ error: "No active plan step" }),
24
+ is_error: true
25
+ }
26
+ ]
27
+ };
28
+ }
29
+ currentStep.status = "completed";
30
+ const nextStep = ctx.plan.steps.find((s) => s.status === "pending");
31
+ if (nextStep) {
32
+ nextStep.status = "in_progress";
33
+ }
34
+ ctx.send({
35
+ type: "server_tool_result",
36
+ tool: "complete_plan_step",
37
+ label: currentStep.label
38
+ });
39
+ ctx.send({
40
+ type: "plan_update",
41
+ plan: ctx.toClientPlan()
42
+ });
43
+ if (nextStep) {
44
+ return {
45
+ toolResults: [
46
+ {
47
+ type: "tool_result",
48
+ tool_use_id: ctx.toolUseId,
49
+ content: JSON.stringify({
50
+ completed: currentStep.label,
51
+ next_step: {
52
+ label: nextStep.label,
53
+ description: nextStep.description
54
+ }
55
+ })
56
+ }
57
+ ]
58
+ };
59
+ }
60
+ ctx.setPlan(null);
61
+ ctx.send({
62
+ type: "plan_update",
63
+ plan: null
64
+ });
65
+ return {
66
+ toolResults: [
67
+ {
68
+ type: "tool_result",
69
+ tool_use_id: ctx.toolUseId,
70
+ content: JSON.stringify({
71
+ completed: currentStep.label,
72
+ all_steps_completed: true,
73
+ message: "All plan steps are completed. Summarize what was done."
74
+ })
75
+ }
76
+ ]
77
+ };
78
+ }
79
+ });
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ declare const _default: import("..").ServerSideTool<z.ZodObject<{
3
+ title: z.ZodString;
4
+ steps: z.ZodArray<z.ZodObject<{
5
+ label: z.ZodString;
6
+ description: z.ZodString;
7
+ }, z.core.$strip>>;
8
+ }, z.core.$strip>>;
9
+ export default _default;
@@ -0,0 +1,86 @@
1
+ import { z } from "zod";
2
+ import { defineServerSideTool } from "../index.js";
3
+ const schema = z.object({
4
+ title: z.string().describe("Short title for the plan"),
5
+ steps: z.array(
6
+ z.object({
7
+ label: z.string().describe('Short label shown to the user (e.g. "Add hero section")'),
8
+ description: z.string().describe(
9
+ "Detailed instructions for yourself on what to do in this step"
10
+ )
11
+ })
12
+ ).min(2).describe("The steps of the plan")
13
+ });
14
+ export default defineServerSideTool({
15
+ name: "create_plan",
16
+ description: "Create a step-by-step plan for a complex task. The user will review and approve the plan before you proceed. Each step needs a short label (shown to the user) and a detailed description (your notes on what to do). Do NOT create plans for simple tasks.",
17
+ inputSchema() {
18
+ return schema;
19
+ },
20
+ isAvailable(ctx) {
21
+ return !ctx.plan;
22
+ },
23
+ async handle(ctx, input) {
24
+ const title = input.title || "Plan";
25
+ const steps = input.steps.map((s) => ({
26
+ label: s.label,
27
+ description: s.description,
28
+ status: "pending"
29
+ }));
30
+ ctx.setPlan({ title, steps });
31
+ ctx.send({
32
+ type: "plan_update",
33
+ plan: ctx.toClientPlan()
34
+ });
35
+ ctx.send({
36
+ type: "server_tool_result",
37
+ tool: "create_plan",
38
+ label: title
39
+ });
40
+ ctx.commitMessagesEarly({
41
+ type: "tool_result",
42
+ tool_use_id: ctx.toolUseId,
43
+ content: JSON.stringify({
44
+ status: "awaiting_approval",
45
+ title,
46
+ steps: steps.map((s) => s.label)
47
+ })
48
+ });
49
+ const approved = await ctx.waitForPlanApproval();
50
+ if (approved) {
51
+ steps[0].status = "in_progress";
52
+ ctx.send({
53
+ type: "plan_update",
54
+ plan: ctx.toClientPlan()
55
+ });
56
+ ctx.updateLastToolResult(
57
+ ctx.toolUseId,
58
+ JSON.stringify({
59
+ approved: true,
60
+ message: "Plan approved. Start executing now.",
61
+ current_step: {
62
+ label: steps[0].label,
63
+ description: steps[0].description
64
+ }
65
+ })
66
+ );
67
+ } else {
68
+ ctx.updateLastToolResult(
69
+ ctx.toolUseId,
70
+ JSON.stringify({
71
+ approved: false,
72
+ message: "The user rejected the plan. Ask what they would like to change."
73
+ })
74
+ );
75
+ ctx.setPlan(null);
76
+ ctx.send({
77
+ type: "plan_update",
78
+ plan: null
79
+ });
80
+ }
81
+ return {
82
+ toolResults: [],
83
+ messagesCommitted: true
84
+ };
85
+ }
86
+ });
@@ -0,0 +1,86 @@
1
+ import { z } from 'zod';
2
+ import type { ClientToolDefinition, ClientPlanState, GenericContentBlock, GenericTextBlock, GenericSkillBlock, ServerMessage } from '../../shared/types.js';
3
+ import type { ResolvedSkill } from '../skills/types.js';
4
+ export type ServerPlanStep = {
5
+ label: string;
6
+ description: string;
7
+ status: 'pending' | 'in_progress' | 'completed';
8
+ };
9
+ export type ServerPlan = {
10
+ title: string;
11
+ steps: ServerPlanStep[];
12
+ };
13
+ export type ToolResultEntry = {
14
+ type: 'tool_result';
15
+ tool_use_id: string;
16
+ content: string;
17
+ is_error?: boolean;
18
+ };
19
+ /**
20
+ * Context available when building tool definitions and schemas.
21
+ * Lets each tool decide visibility and shape its input schema dynamically.
22
+ */
23
+ export type ToolDefinitionContext = {
24
+ resolvedSkills: ResolvedSkill[];
25
+ plan: ServerPlan | null;
26
+ unloadedLazyTools: ClientToolDefinition[];
27
+ };
28
+ /**
29
+ * Context passed to `handle()` — provides access to session state
30
+ * and communication helpers each handler needs.
31
+ */
32
+ export type ServerToolContext = {
33
+ toolUseId: string;
34
+ send: (message: ServerMessage) => void;
35
+ resolvedSkills: ResolvedSkill[];
36
+ lazyTools: ClientToolDefinition[];
37
+ activatedLazyTools: Set<string>;
38
+ loadedSkills: Set<string>;
39
+ plan: ServerPlan | null;
40
+ setPlan: (plan: ServerPlan | null) => void;
41
+ toClientPlan: () => ClientPlanState | null;
42
+ waitForPlanApproval: () => Promise<boolean>;
43
+ assistantContent: GenericContentBlock[];
44
+ commitMessagesEarly: (toolResult: ToolResultEntry) => void;
45
+ updateLastToolResult: (toolUseId: string, content: string) => void;
46
+ };
47
+ /**
48
+ * Return type of a server-side tool handler.
49
+ */
50
+ export type ServerToolResult = {
51
+ toolResults: ToolResultEntry[];
52
+ extraBlocks?: (GenericTextBlock | GenericSkillBlock)[];
53
+ /** When true, messages were already committed (e.g. create_plan). */
54
+ messagesCommitted?: boolean;
55
+ };
56
+ /**
57
+ * A server-side tool.
58
+ *
59
+ * `inputSchema` is a callback that receives the current turn's context and
60
+ * returns a zod schema. The schema serves double duty:
61
+ * - converted to JSON Schema via `z.toJSONSchema()` for the LLM, and
62
+ * - used for runtime validation of the LLM's response via `.parse()`.
63
+ *
64
+ * Static tools can ignore the context parameter; dynamic tools (e.g. those
65
+ * with runtime enum values) use it to build the right constraints.
66
+ *
67
+ * `isAvailable` controls whether the tool is offered on a given turn.
68
+ * When omitted the tool is always included.
69
+ */
70
+ export type ServerSideTool<T extends z.ZodType = z.ZodType> = {
71
+ name: string;
72
+ description: string;
73
+ inputSchema: (ctx: ToolDefinitionContext) => T;
74
+ /** Return false to hide this tool for the current turn. */
75
+ isAvailable?: (ctx: ToolDefinitionContext) => boolean;
76
+ handle: (ctx: ServerToolContext, input: z.infer<T>) => Promise<ServerToolResult> | ServerToolResult;
77
+ };
78
+ /**
79
+ * Identity function for type inference when defining a server-side tool.
80
+ */
81
+ export declare function defineServerSideTool<T extends z.ZodType>(tool: ServerSideTool<T>): ServerSideTool<T>;
82
+ /**
83
+ * Build a ClientToolDefinition from a ServerSideTool for a given context.
84
+ * Returns null when the tool should not be offered this turn.
85
+ */
86
+ export declare function buildDefinition(tool: ServerSideTool, ctx: ToolDefinitionContext): ClientToolDefinition | null;
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ export function defineServerSideTool(tool) {
3
+ return tool;
4
+ }
5
+ function stripSchemaOverhead(obj) {
6
+ if (Array.isArray(obj)) {
7
+ return obj.map(stripSchemaOverhead);
8
+ }
9
+ if (typeof obj === "object" && obj !== null) {
10
+ const result = {};
11
+ for (const [key, value] of Object.entries(obj)) {
12
+ if (key === "$schema" || key === "additionalProperties") continue;
13
+ if (key === "propertyNames") continue;
14
+ result[key] = stripSchemaOverhead(value);
15
+ }
16
+ return result;
17
+ }
18
+ return obj;
19
+ }
20
+ export function buildDefinition(tool, ctx) {
21
+ if (tool.isAvailable && !tool.isAvailable(ctx)) {
22
+ return null;
23
+ }
24
+ const schema = tool.inputSchema(ctx);
25
+ return {
26
+ name: tool.name,
27
+ description: tool.description,
28
+ input_schema: stripSchemaOverhead(z.toJSONSchema(schema))
29
+ };
30
+ }
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ declare const _default: import("..").ServerSideTool<z.ZodObject<{
3
+ name: z.ZodEnum<{
4
+ [x: string]: string;
5
+ }>;
6
+ }, z.core.$strip>>;
7
+ export default _default;
@@ -0,0 +1,58 @@
1
+ import { z } from "zod";
2
+ import { defineServerSideTool } from "../index.js";
3
+ export default defineServerSideTool({
4
+ name: "load_skill",
5
+ description: "Load detailed guidelines for a specific skill. Call this before writing or editing content that should follow specific rules or guidelines.",
6
+ inputSchema(ctx) {
7
+ return z.object({
8
+ name: z.enum(ctx.resolvedSkills.map((s) => s.name)).describe("The skill to load")
9
+ });
10
+ },
11
+ isAvailable(ctx) {
12
+ return ctx.resolvedSkills.length > 0;
13
+ },
14
+ handle(ctx, input) {
15
+ const skill = ctx.resolvedSkills.find((s) => s.name === input.name);
16
+ if (skill) {
17
+ ctx.loadedSkills.add(skill.name);
18
+ ctx.send({
19
+ type: "server_tool_result",
20
+ tool: "load_skill",
21
+ label: skill.label
22
+ });
23
+ return {
24
+ toolResults: [
25
+ {
26
+ type: "tool_result",
27
+ tool_use_id: ctx.toolUseId,
28
+ content: JSON.stringify({
29
+ loaded: true,
30
+ name: skill.name
31
+ })
32
+ }
33
+ ],
34
+ extraBlocks: [
35
+ {
36
+ type: "skill",
37
+ name: skill.name,
38
+ text: `# Skill: ${skill.name}
39
+
40
+ ${skill.content}`
41
+ }
42
+ ]
43
+ };
44
+ }
45
+ return {
46
+ toolResults: [
47
+ {
48
+ type: "tool_result",
49
+ tool_use_id: ctx.toolUseId,
50
+ content: JSON.stringify({
51
+ error: `Skill '${input.name}' not found`
52
+ }),
53
+ is_error: true
54
+ }
55
+ ]
56
+ };
57
+ }
58
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ declare const _default: import("..").ServerSideTool<z.ZodObject<{
3
+ tools: z.ZodArray<z.ZodEnum<{
4
+ [x: string]: string;
5
+ }>>;
6
+ }, z.core.$strip>>;
7
+ export default _default;
@@ -0,0 +1,43 @@
1
+ import { z } from "zod";
2
+ import { defineServerSideTool } from "../index.js";
3
+ export default defineServerSideTool({
4
+ name: "load_tools",
5
+ description: 'Load additional tools by name before using them. You must call this before using any tool listed under "Additional Tools" in the system prompt.',
6
+ inputSchema(ctx) {
7
+ return z.object({
8
+ tools: z.array(
9
+ z.enum(
10
+ ctx.unloadedLazyTools.map((t) => t.name)
11
+ )
12
+ ).describe("Tool names to activate")
13
+ });
14
+ },
15
+ isAvailable(ctx) {
16
+ return ctx.unloadedLazyTools.length > 0;
17
+ },
18
+ handle(ctx, input) {
19
+ const loaded = [];
20
+ for (const name of input.tools) {
21
+ if (ctx.lazyTools.some((t) => t.name === name)) {
22
+ ctx.activatedLazyTools.add(name);
23
+ loaded.push(name);
24
+ }
25
+ }
26
+ if (loaded.length) {
27
+ ctx.send({
28
+ type: "server_tool_result",
29
+ tool: "load_tools",
30
+ label: String(loaded.length)
31
+ });
32
+ }
33
+ return {
34
+ toolResults: [
35
+ {
36
+ type: "tool_result",
37
+ tool_use_id: ctx.toolUseId,
38
+ content: JSON.stringify({ loaded })
39
+ }
40
+ ]
41
+ };
42
+ }
43
+ });
@@ -0,0 +1,23 @@
1
+ import type { SkillDefinition } from './types.js';
2
+ /**
3
+ * Define a blökkli agent skill.
4
+ *
5
+ * Skills are domain-specific guidelines that the AI agent can load on-demand.
6
+ * The getContents function receives the current page context and can return
7
+ * null if the skill is not applicable for that context.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * export default defineBlokkliAgentSkill({
12
+ * name: 'my-skill',
13
+ * description: 'Guidelines for writing content.',
14
+ * getContents: (context) => {
15
+ * if (context.entityLanguage !== 'de') {
16
+ * return null
17
+ * }
18
+ * return `# Guidelines\n...`
19
+ * },
20
+ * })
21
+ * ```
22
+ */
23
+ export declare function defineBlokkliAgentSkill(definition: SkillDefinition): SkillDefinition;
@@ -0,0 +1,3 @@
1
+ export function defineBlokkliAgentSkill(definition) {
2
+ return definition;
3
+ }
@@ -0,0 +1,2 @@
1
+ export { defineBlokkliAgentSkill } from './defineBlokkliAgentSkill.js';
2
+ export type { SkillDefinition, SkillLabel, ResolvedSkill } from './types.js';
@@ -0,0 +1 @@
1
+ export { defineBlokkliAgentSkill } from "./defineBlokkliAgentSkill.js";
@@ -0,0 +1,45 @@
1
+ import type { PageContext } from '../../shared/types.js';
2
+ /**
3
+ * Translatable label: either a plain string or an object keyed by language code.
4
+ * When an object, 'en' is required as fallback, other languages are optional.
5
+ */
6
+ export type SkillLabel = string | {
7
+ en: string;
8
+ de?: string;
9
+ fr?: string;
10
+ it?: string;
11
+ gsw_CH?: string;
12
+ };
13
+ /**
14
+ * Skill definition with context-aware content getter.
15
+ * Used by defineBlokkliAgentSkill() to define skills as TypeScript modules.
16
+ */
17
+ export type SkillDefinition = {
18
+ /** Unique identifier (kebab-case) */
19
+ name: string;
20
+ /** Human-readable label shown in the conversation UI */
21
+ label: SkillLabel;
22
+ /** When to use this skill */
23
+ description: string;
24
+ /**
25
+ * Get the skill content for the given page context.
26
+ * Return null if the skill is not applicable for this context.
27
+ */
28
+ getContents: (context: PageContext) => string | null;
29
+ };
30
+ /**
31
+ * Resolved skill after getContents has been called.
32
+ * Contains the actual content for display/use.
33
+ */
34
+ export type ResolvedSkill = {
35
+ /** Unique identifier (kebab-case) */
36
+ name: string;
37
+ /** Human-readable label shown in the conversation UI (localized) */
38
+ label: string;
39
+ /** English label for use in the system prompt */
40
+ englishLabel: string;
41
+ /** When to use this skill */
42
+ description: string;
43
+ /** The resolved content for this context */
44
+ content: string;
45
+ };
@@ -0,0 +1,21 @@
1
+ import type { SystemPromptDefinition } from './types.js';
2
+ /**
3
+ * Define a blökkli agent system prompt section.
4
+ *
5
+ * System prompt sections are collected at build time and assembled into the
6
+ * full system prompt at runtime. Each section has a weight that determines
7
+ * its position, and optional mode filtering.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * export default defineBlokkliAgentSystemPrompt({
12
+ * id: 'my-section',
13
+ * title: 'My Section',
14
+ * weight: 550,
15
+ * getPrompt: (context) => {
16
+ * return `Custom prompt content based on ${context.pageContext.title}`
17
+ * },
18
+ * })
19
+ * ```
20
+ */
21
+ export declare function defineBlokkliAgentSystemPrompt(definition: SystemPromptDefinition): SystemPromptDefinition;
@@ -0,0 +1,3 @@
1
+ export function defineBlokkliAgentSystemPrompt(definition) {
2
+ return definition;
3
+ }
@@ -0,0 +1,20 @@
1
+ import type { BlockBundleContentField } from '../../shared/types.js';
2
+ /**
3
+ * Get a human-readable description of the edit mode.
4
+ */
5
+ export declare function getEditModeDescription(editMode: string): string;
6
+ /**
7
+ * Format a list of items as `### \`id\` - label` with optional descriptions.
8
+ * Optionally includes intro/outro text.
9
+ *
10
+ * Returns null when the items array is empty.
11
+ */
12
+ export declare function formatItems(items: {
13
+ id: string;
14
+ label: string;
15
+ description?: string;
16
+ }[], intro?: string, outro?: string): string | null;
17
+ /**
18
+ * Format a content field as a prompt line.
19
+ */
20
+ export declare function formatContentField(field: BlockBundleContentField): string;
@@ -0,0 +1,41 @@
1
+ export function getEditModeDescription(editMode) {
2
+ switch (editMode) {
3
+ case "editing":
4
+ return "The user has full editing access and can make any changes to the page structure and content.";
5
+ case "translating":
6
+ return "The user is translating the page content. They can only edit content text fields to provide translations. Structural changes (adding, deleting, moving paragraphs) are not allowed.";
7
+ case "readonly":
8
+ return "The user has read-only access. No changes can be made to the page. You can only answer questions about the content.";
9
+ case "review":
10
+ return "The user is reviewing the page. No changes can be made. You can only answer questions about the content.";
11
+ default:
12
+ return "";
13
+ }
14
+ }
15
+ export function formatItems(items, intro, outro) {
16
+ if (items.length === 0) {
17
+ return null;
18
+ }
19
+ const lines = [];
20
+ if (intro) {
21
+ lines.push(intro, "");
22
+ }
23
+ for (const item of items) {
24
+ const heading = item.label && item.label !== item.id ? `### \`${item.id}\` - ${item.label}` : `### \`${item.id}\``;
25
+ lines.push(heading);
26
+ if (item.description) {
27
+ lines.push(item.description);
28
+ }
29
+ lines.push("");
30
+ }
31
+ if (outro) {
32
+ lines.push(outro);
33
+ }
34
+ return lines.join("\n");
35
+ }
36
+ export function formatContentField(field) {
37
+ if (field.type === "reference" || field.type === "link") {
38
+ return `- ${field.name} (${field.type}): ${field.allowed.map((a) => `${a.type} [${a.bundles.join(", ")}]`).join(", ")}`;
39
+ }
40
+ return `- ${field.name} (${field.type})`;
41
+ }
@@ -0,0 +1,2 @@
1
+ export { defineBlokkliAgentSystemPrompt } from './defineBlokkliAgentSystemPrompt.js';
2
+ export type { SystemPromptDefinition, SystemPromptContext } from './types.js';
@@ -0,0 +1 @@
1
+ export { defineBlokkliAgentSystemPrompt } from "./defineBlokkliAgentSystemPrompt.js";