@ecsplico/editor 3.6.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (578) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/dist/adapters/direct-ai.d.ts +4 -4
  3. package/dist/adapters/direct-ai.js +2 -2
  4. package/dist/adapters/direct-ai.js.map +1 -1
  5. package/dist/adapters/document-state.d.ts +1 -1
  6. package/dist/adapters/document-state.js.map +1 -1
  7. package/dist/adapters/forge.d.ts +2 -2
  8. package/dist/adapters/forge.js.map +1 -1
  9. package/dist/adapters/nitro.d.ts +11 -3
  10. package/dist/adapters/nitro.js +3 -1
  11. package/dist/adapters/nitro.js.map +1 -1
  12. package/dist/adapters/shared.d.ts +6 -6
  13. package/dist/adapters/shared.js.map +1 -1
  14. package/dist/config/index.d.ts +14 -14
  15. package/dist/config/index.js +8 -8
  16. package/dist/config/index.js.map +1 -1
  17. package/dist/core/backend-types.d.ts +3 -3
  18. package/dist/core/backend-types.js.map +1 -1
  19. package/dist/core/backend.d.ts +4 -4
  20. package/dist/core/backend.js.map +1 -1
  21. package/dist/core/block-convert.d.ts +1 -1
  22. package/dist/core/block-convert.js +5 -5
  23. package/dist/core/block-convert.js.map +1 -1
  24. package/dist/core/block-transfer.d.ts +8 -4
  25. package/dist/core/block-transfer.js +23 -14
  26. package/dist/core/block-transfer.js.map +1 -1
  27. package/dist/core/capabilities.d.ts +113 -0
  28. package/dist/core/capabilities.js +155 -0
  29. package/dist/core/capabilities.js.map +1 -0
  30. package/dist/core/command-types.d.ts +1 -1
  31. package/dist/core/context.js.map +1 -1
  32. package/dist/core/convert.d.ts +5 -5
  33. package/dist/core/convert.js +5 -5
  34. package/dist/core/convert.js.map +1 -1
  35. package/dist/core/core-feature.js +1 -1
  36. package/dist/core/define-editor.d.ts +2 -2
  37. package/dist/core/define-editor.js +34 -6
  38. package/dist/core/define-editor.js.map +1 -1
  39. package/dist/core/derivation.d.ts +119 -0
  40. package/dist/core/derivation.js +187 -0
  41. package/dist/core/derivation.js.map +1 -0
  42. package/dist/core/derive.d.ts +61 -0
  43. package/dist/core/derive.js +69 -0
  44. package/dist/core/derive.js.map +1 -0
  45. package/dist/core/extension-points.d.ts +16 -0
  46. package/dist/core/feature-context.d.ts +5 -1
  47. package/dist/core/feature-context.js +10 -3
  48. package/dist/core/feature-context.js.map +1 -1
  49. package/dist/core/feature.d.ts +41 -19
  50. package/dist/core/feature.js.map +1 -1
  51. package/dist/core/fences.js +1 -1
  52. package/dist/core/fences.js.map +1 -1
  53. package/dist/core/index.d.ts +6 -2
  54. package/dist/core/index.js +5 -1
  55. package/dist/core/pipeline.d.ts +14 -5
  56. package/dist/core/pipeline.js +19 -7
  57. package/dist/core/pipeline.js.map +1 -1
  58. package/dist/core/properties.d.ts +22 -0
  59. package/dist/core/properties.js +17 -0
  60. package/dist/core/properties.js.map +1 -0
  61. package/dist/core/schema/block-ids.js +5 -5
  62. package/dist/core/schema/block-ids.js.map +1 -1
  63. package/dist/core/schema/index.d.ts +2 -1
  64. package/dist/core/schema/index.js +2 -1
  65. package/dist/core/schema/index.js.map +1 -1
  66. package/dist/core/schema/opaque-fence.d.ts +4 -4
  67. package/dist/core/schema/opaque-fence.js +7 -7
  68. package/dist/core/schema/opaque-fence.js.map +1 -1
  69. package/dist/core/schema/persisted-names.d.ts +58 -0
  70. package/dist/core/schema/persisted-names.js +96 -0
  71. package/dist/core/schema/persisted-names.js.map +1 -0
  72. package/dist/core/toolbar-items.js +1 -1
  73. package/dist/core/toolbar-items.js.map +1 -1
  74. package/dist/core/util.js +5 -1
  75. package/dist/core/util.js.map +1 -1
  76. package/dist/features/ai/agent-ops.js +1 -1
  77. package/dist/features/ai/ai-review.js +1 -1
  78. package/dist/features/ai/assistant.d.ts +4 -4
  79. package/dist/features/ai/assistant.js +1 -1
  80. package/dist/features/ai/assistant.js.map +1 -1
  81. package/dist/features/ai/components/AiSelectionMenu.js +1 -1
  82. package/dist/features/ai/components/AiSelectionMenu.js.map +1 -1
  83. package/dist/features/ai/components/ModelQuickSwitch.js +7 -7
  84. package/dist/features/ai/components/ModelQuickSwitch.js.map +1 -1
  85. package/dist/features/ai/components/ModelQuickSwitch.vue.d.ts +4 -4
  86. package/dist/features/ai/components/SettingsAiTab.js +8 -8
  87. package/dist/features/ai/components/SettingsAiTab.js.map +1 -1
  88. package/dist/features/ai/components/SettingsModelProfiles.js +1 -1
  89. package/dist/features/ai/components/SettingsModelProfiles.js.map +1 -1
  90. package/dist/features/ai/document-chat-model.d.ts +2 -2
  91. package/dist/features/ai/document-chat-model.js +5 -5
  92. package/dist/features/ai/document-chat-model.js.map +1 -1
  93. package/dist/features/ai/document-chat.js +2 -2
  94. package/dist/features/ai/document-chat.js.map +1 -1
  95. package/dist/features/ai/feature.d.ts +2 -2
  96. package/dist/features/ai/feature.js +2 -2
  97. package/dist/features/ai/feature.js.map +1 -1
  98. package/dist/features/ai/ghost-autocomplete.d.ts +4 -4
  99. package/dist/features/ai/ghost-autocomplete.js +1 -1
  100. package/dist/features/ai/ghost-autocomplete.js.map +1 -1
  101. package/dist/features/ai/index.d.ts +3 -3
  102. package/dist/features/ai/index.js +2 -2
  103. package/dist/features/ai/model-profiles.d.ts +9 -9
  104. package/dist/features/ai/model-profiles.js +13 -13
  105. package/dist/features/ai/model-profiles.js.map +1 -1
  106. package/dist/features/ai/protocol/agent-ops.d.ts +2 -2
  107. package/dist/features/ai/protocol/agent-ops.js +1 -1
  108. package/dist/features/ai/protocol/agent-ops.js.map +1 -1
  109. package/dist/features/ai/protocol/block-lines.d.ts +7 -7
  110. package/dist/features/ai/protocol/block-lines.js +10 -10
  111. package/dist/features/ai/protocol/block-lines.js.map +1 -1
  112. package/dist/features/ai/protocol/chat.d.ts +5 -5
  113. package/dist/features/ai/protocol/chat.js +12 -12
  114. package/dist/features/ai/protocol/chat.js.map +1 -1
  115. package/dist/features/ai/protocol/generate.d.ts +1 -1
  116. package/dist/features/ai/protocol/generate.js +1 -1
  117. package/dist/features/ai/protocol/generate.js.map +1 -1
  118. package/dist/features/ai/protocol/index.d.ts +3 -3
  119. package/dist/features/ai/protocol/index.js +2 -2
  120. package/dist/features/ai/protocol/models.d.ts +3 -3
  121. package/dist/features/ai/protocol/models.js +3 -3
  122. package/dist/features/ai/protocol/models.js.map +1 -1
  123. package/dist/features/ai/protocol/schemas.d.ts +1 -1
  124. package/dist/features/ai/protocol/schemas.js +1 -1
  125. package/dist/features/ai/protocol/schemas.js.map +1 -1
  126. package/dist/features/ai/protocol/tasks.d.ts +5 -5
  127. package/dist/features/ai/protocol/tasks.js +12 -12
  128. package/dist/features/ai/protocol/tasks.js.map +1 -1
  129. package/dist/features/ai/react/AiSelectionMenu.js.map +1 -1
  130. package/dist/features/ai/react/ModelQuickSwitch.d.ts +4 -4
  131. package/dist/features/ai/react/ModelQuickSwitch.js +6 -6
  132. package/dist/features/ai/react/ModelQuickSwitch.js.map +1 -1
  133. package/dist/features/ai/react/SettingsAiTab.d.ts +1 -1
  134. package/dist/features/ai/react/SettingsAiTab.js +8 -8
  135. package/dist/features/ai/react/SettingsAiTab.js.map +1 -1
  136. package/dist/features/ai/react/SettingsModelProfiles.d.ts +1 -1
  137. package/dist/features/ai/react/SettingsModelProfiles.js +1 -1
  138. package/dist/features/ai/react/SettingsModelProfiles.js.map +1 -1
  139. package/dist/features/ai/react/use-ai-assistant.d.ts +1 -1
  140. package/dist/features/ai/react/use-ai-assistant.js +1 -1
  141. package/dist/features/ai/react/use-ai-assistant.js.map +1 -1
  142. package/dist/features/ai/react/use-model-profiles.d.ts +5 -5
  143. package/dist/features/ai/react/use-model-profiles.js +2 -2
  144. package/dist/features/ai/react/use-model-profiles.js.map +1 -1
  145. package/dist/features/ai/use-ai-assistant.d.ts +1 -1
  146. package/dist/features/ai/use-ai-assistant.js +1 -1
  147. package/dist/features/ai/use-ai-assistant.js.map +1 -1
  148. package/dist/features/ai/use-model-profiles.d.ts +4 -4
  149. package/dist/features/ai/use-model-profiles.js +2 -2
  150. package/dist/features/ai/use-model-profiles.js.map +1 -1
  151. package/dist/features/block-ui/block-actions.d.ts +8 -4
  152. package/dist/features/block-ui/block-actions.js +38 -22
  153. package/dist/features/block-ui/block-actions.js.map +1 -1
  154. package/dist/features/block-ui/block-target.d.ts +29 -0
  155. package/dist/features/block-ui/block-target.js +63 -0
  156. package/dist/features/block-ui/block-target.js.map +1 -0
  157. package/dist/features/block-ui/components/BlockHandles.js +3 -3
  158. package/dist/features/block-ui/components/BlockHandles.js.map +1 -1
  159. package/dist/features/block-ui/components/BlockUi.js +11 -23
  160. package/dist/features/block-ui/components/BlockUi.js.map +1 -1
  161. package/dist/features/block-ui/feature.d.ts +3 -2
  162. package/dist/features/block-ui/feature.js +3 -2
  163. package/dist/features/block-ui/feature.js.map +1 -1
  164. package/dist/features/block-ui/handle-geometry.js +12 -23
  165. package/dist/features/block-ui/handle-geometry.js.map +1 -1
  166. package/dist/features/block-ui/index.d.ts +2 -1
  167. package/dist/features/block-ui/index.js +2 -1
  168. package/dist/features/block-ui/react/BlockHandles.d.ts +1 -1
  169. package/dist/features/block-ui/react/BlockHandles.js +4 -4
  170. package/dist/features/block-ui/react/BlockHandles.js.map +1 -1
  171. package/dist/features/block-ui/react/BlockUi.js +13 -25
  172. package/dist/features/block-ui/react/BlockUi.js.map +1 -1
  173. package/dist/features/comments/model.js +1 -1
  174. package/dist/features/composites/accepted-children.d.ts +5 -4
  175. package/dist/features/composites/accepted-children.js +26 -26
  176. package/dist/features/composites/accepted-children.js.map +1 -1
  177. package/dist/features/composites/ai-brief.d.ts +4 -4
  178. package/dist/features/composites/ai-brief.js +14 -12
  179. package/dist/features/composites/ai-brief.js.map +1 -1
  180. package/dist/features/composites/anchors.d.ts +1 -1
  181. package/dist/features/composites/anchors.js.map +1 -1
  182. package/dist/features/composites/baskets.d.ts +1 -1
  183. package/dist/features/composites/baskets.js.map +1 -1
  184. package/dist/features/composites/bibliography-command.d.ts +1 -1
  185. package/dist/features/composites/bibliography-form.js +1 -1
  186. package/dist/features/composites/bibliography-form.js.map +1 -1
  187. package/dist/features/composites/bibliography.js.map +1 -1
  188. package/dist/features/composites/block-types-json.d.ts +38 -0
  189. package/dist/features/composites/block-types-json.js +122 -0
  190. package/dist/features/composites/block-types-json.js.map +1 -0
  191. package/dist/features/composites/block-types.d.ts +119 -0
  192. package/dist/features/composites/block-types.js +343 -0
  193. package/dist/features/composites/block-types.js.map +1 -0
  194. package/dist/features/composites/capabilities.js +109 -0
  195. package/dist/features/composites/capabilities.js.map +1 -0
  196. package/dist/features/composites/components/BibliographyEditor.js +5 -5
  197. package/dist/features/composites/components/BibliographyEditor.js.map +1 -1
  198. package/dist/features/composites/components/CompositeBasketMenu.js +2 -2
  199. package/dist/features/composites/components/CompositeBasketMenu.js.map +1 -1
  200. package/dist/features/composites/components/CompositeChrome.js +18 -8
  201. package/dist/features/composites/components/CompositeChrome.js.map +1 -1
  202. package/dist/features/composites/components/CompositeChrome.vue.d.ts +1 -1
  203. package/dist/features/composites/components/CompositeDetails.js +11 -10
  204. package/dist/features/composites/components/CompositeDetails.js.map +1 -1
  205. package/dist/features/composites/components/CompositeDetails.vue.d.ts +1 -1
  206. package/dist/features/composites/components/CompositeFieldEditor.js +7 -7
  207. package/dist/features/composites/components/CompositeFieldEditor.js.map +1 -1
  208. package/dist/features/composites/components/CompositeFieldEditor.vue.d.ts +5 -5
  209. package/dist/features/composites/components/CompositeInspector.js +136 -113
  210. package/dist/features/composites/components/CompositeInspector.js.map +1 -1
  211. package/dist/features/composites/components/CompositeInspector.vue.d.ts +3 -3
  212. package/dist/features/composites/components/CompositeStatusMenu.js +2 -2
  213. package/dist/features/composites/components/CompositeStatusMenu.js.map +1 -1
  214. package/dist/features/composites/components/CompositeSummaryEditor.js +1 -1
  215. package/dist/features/composites/components/CompositeSummaryEditor.js.map +1 -1
  216. package/dist/features/composites/components/CompositeSummaryEditor.vue.d.ts +1 -1
  217. package/dist/features/composites/components/CompositeTable.js +2 -2
  218. package/dist/features/composites/components/CompositeTable.js.map +1 -1
  219. package/dist/features/composites/components/CompositeTagsEditor.js +1 -1
  220. package/dist/features/composites/components/CompositeTagsEditor.js.map +1 -1
  221. package/dist/features/composites/components/CompositeTagsEditor.vue.d.ts +1 -1
  222. package/dist/features/composites/components/CompositeView.js +19 -17
  223. package/dist/features/composites/components/CompositeView.js.map +1 -1
  224. package/dist/features/composites/components/DerivationBadge.js +15 -6
  225. package/dist/features/composites/components/DerivationBadge.js.map +1 -1
  226. package/dist/features/composites/components/FocusChip.js +1 -1
  227. package/dist/features/composites/components/FocusChip.js.map +1 -1
  228. package/dist/features/composites/components/FocusChip.vue.d.ts +1 -1
  229. package/dist/features/composites/components/ReferenceFieldSelect.js +3 -3
  230. package/dist/features/composites/components/ReferenceFieldSelect.js.map +1 -1
  231. package/dist/features/composites/components/ReferenceView.js +1 -1
  232. package/dist/features/composites/components/ReferenceView.js.map +1 -1
  233. package/dist/features/composites/components/SettingsEditingTab.js +18 -18
  234. package/dist/features/composites/components/SettingsEditingTab.js.map +1 -1
  235. package/dist/features/composites/components/SettingsEditingTab.vue.d.ts +3 -3
  236. package/dist/features/composites/convert.d.ts +4 -4
  237. package/dist/features/composites/convert.js +27 -28
  238. package/dist/features/composites/convert.js.map +1 -1
  239. package/dist/features/composites/derived-chrome.js +34 -28
  240. package/dist/features/composites/derived-chrome.js.map +1 -1
  241. package/dist/features/composites/editing-settings-keys.js +6 -6
  242. package/dist/features/composites/editing-settings-keys.js.map +1 -1
  243. package/dist/features/composites/feature.d.ts +10 -10
  244. package/dist/features/composites/feature.js +58 -46
  245. package/dist/features/composites/feature.js.map +1 -1
  246. package/dist/features/composites/fences.d.ts +3 -3
  247. package/dist/features/composites/fences.js +18 -13
  248. package/dist/features/composites/fences.js.map +1 -1
  249. package/dist/features/composites/focus.d.ts +10 -10
  250. package/dist/features/composites/focus.js +11 -11
  251. package/dist/features/composites/focus.js.map +1 -1
  252. package/dist/features/composites/heading-composites.d.ts +5 -5
  253. package/dist/features/composites/heading-composites.js +13 -16
  254. package/dist/features/composites/heading-composites.js.map +1 -1
  255. package/dist/features/composites/index.d.ts +20 -18
  256. package/dist/features/composites/index.js +9 -7
  257. package/dist/features/composites/inspector-model.d.ts +45 -22
  258. package/dist/features/composites/inspector-model.js +53 -14
  259. package/dist/features/composites/inspector-model.js.map +1 -1
  260. package/dist/features/composites/legacy.d.ts +5 -4
  261. package/dist/features/composites/legacy.js +16 -23
  262. package/dist/features/composites/legacy.js.map +1 -1
  263. package/dist/features/composites/markdown-export.js +3 -3
  264. package/dist/features/composites/markdown-export.js.map +1 -1
  265. package/dist/features/composites/merge.d.ts +8 -8
  266. package/dist/features/composites/merge.js +23 -22
  267. package/dist/features/composites/merge.js.map +1 -1
  268. package/dist/features/composites/meta-display.js +5 -5
  269. package/dist/features/composites/meta-display.js.map +1 -1
  270. package/dist/features/composites/meta-keys.d.ts +5 -5
  271. package/dist/features/composites/meta-keys.js +8 -8
  272. package/dist/features/composites/meta-keys.js.map +1 -1
  273. package/dist/features/composites/node-views.d.ts +3 -3
  274. package/dist/features/composites/node-views.js +2 -2
  275. package/dist/features/composites/node-views.js.map +1 -1
  276. package/dist/features/composites/nodes.d.ts +13 -13
  277. package/dist/features/composites/nodes.js +100 -77
  278. package/dist/features/composites/nodes.js.map +1 -1
  279. package/dist/features/composites/outline.d.ts +15 -12
  280. package/dist/features/composites/outline.js +24 -21
  281. package/dist/features/composites/outline.js.map +1 -1
  282. package/dist/features/composites/properties.d.ts +51 -0
  283. package/dist/features/composites/properties.js +89 -0
  284. package/dist/features/composites/properties.js.map +1 -0
  285. package/dist/features/composites/react/BibliographyEditor.js +5 -5
  286. package/dist/features/composites/react/BibliographyEditor.js.map +1 -1
  287. package/dist/features/composites/react/CompositeBasketMenu.js +2 -2
  288. package/dist/features/composites/react/CompositeBasketMenu.js.map +1 -1
  289. package/dist/features/composites/react/CompositeChrome.d.ts +1 -1
  290. package/dist/features/composites/react/CompositeChrome.js +15 -6
  291. package/dist/features/composites/react/CompositeChrome.js.map +1 -1
  292. package/dist/features/composites/react/CompositeDetails.d.ts +1 -1
  293. package/dist/features/composites/react/CompositeDetails.js +11 -10
  294. package/dist/features/composites/react/CompositeDetails.js.map +1 -1
  295. package/dist/features/composites/react/CompositeFieldEditor.d.ts +5 -5
  296. package/dist/features/composites/react/CompositeFieldEditor.js +6 -6
  297. package/dist/features/composites/react/CompositeFieldEditor.js.map +1 -1
  298. package/dist/features/composites/react/CompositeInspector.d.ts +3 -3
  299. package/dist/features/composites/react/CompositeInspector.js +142 -128
  300. package/dist/features/composites/react/CompositeInspector.js.map +1 -1
  301. package/dist/features/composites/react/CompositeStatusMenu.js +2 -2
  302. package/dist/features/composites/react/CompositeStatusMenu.js.map +1 -1
  303. package/dist/features/composites/react/CompositeSummaryEditor.d.ts +1 -1
  304. package/dist/features/composites/react/CompositeSummaryEditor.js +1 -1
  305. package/dist/features/composites/react/CompositeSummaryEditor.js.map +1 -1
  306. package/dist/features/composites/react/CompositeTable.d.ts +1 -1
  307. package/dist/features/composites/react/CompositeTable.js +3 -3
  308. package/dist/features/composites/react/CompositeTable.js.map +1 -1
  309. package/dist/features/composites/react/CompositeTagsEditor.d.ts +1 -1
  310. package/dist/features/composites/react/CompositeTagsEditor.js +1 -1
  311. package/dist/features/composites/react/CompositeTagsEditor.js.map +1 -1
  312. package/dist/features/composites/react/CompositeView.js +17 -15
  313. package/dist/features/composites/react/CompositeView.js.map +1 -1
  314. package/dist/features/composites/react/DerivationBadge.js +13 -4
  315. package/dist/features/composites/react/DerivationBadge.js.map +1 -1
  316. package/dist/features/composites/react/FocusChip.d.ts +1 -1
  317. package/dist/features/composites/react/FocusChip.js +1 -1
  318. package/dist/features/composites/react/FocusChip.js.map +1 -1
  319. package/dist/features/composites/react/ReferenceFieldSelect.js +3 -3
  320. package/dist/features/composites/react/ReferenceFieldSelect.js.map +1 -1
  321. package/dist/features/composites/react/ReferenceView.d.ts +1 -1
  322. package/dist/features/composites/react/ReferenceView.js +1 -1
  323. package/dist/features/composites/react/ReferenceView.js.map +1 -1
  324. package/dist/features/composites/react/SettingsEditingTab.d.ts +4 -4
  325. package/dist/features/composites/react/SettingsEditingTab.js +20 -20
  326. package/dist/features/composites/react/SettingsEditingTab.js.map +1 -1
  327. package/dist/features/composites/react.js +1 -1
  328. package/dist/features/composites/react.js.map +1 -1
  329. package/dist/features/composites/reference-ai.js +1 -1
  330. package/dist/features/composites/reference-ai.js.map +1 -1
  331. package/dist/features/composites/reference-label.d.ts +3 -3
  332. package/dist/features/composites/reference-label.js +6 -6
  333. package/dist/features/composites/reference-label.js.map +1 -1
  334. package/dist/features/composites/reference-suggestion.d.ts +1 -1
  335. package/dist/features/composites/reference-suggestion.js +3 -3
  336. package/dist/features/composites/reference-suggestion.js.map +1 -1
  337. package/dist/features/composites/reference-text.d.ts +2 -2
  338. package/dist/features/composites/reference-text.js +4 -4
  339. package/dist/features/composites/reference-text.js.map +1 -1
  340. package/dist/features/composites/reference.d.ts +3 -3
  341. package/dist/features/composites/reference.js +1 -1
  342. package/dist/features/composites/reference.js.map +1 -1
  343. package/dist/features/composites/reveal-source.d.ts +3 -3
  344. package/dist/features/composites/reveal-source.js +6 -6
  345. package/dist/features/composites/reveal-source.js.map +1 -1
  346. package/dist/features/composites/rows-model.d.ts +2 -2
  347. package/dist/features/composites/rows-model.js +4 -3
  348. package/dist/features/composites/rows-model.js.map +1 -1
  349. package/dist/features/composites/rows.d.ts +16 -28
  350. package/dist/features/composites/rows.js +20 -54
  351. package/dist/features/composites/rows.js.map +1 -1
  352. package/dist/features/composites/schema.d.ts +12 -11
  353. package/dist/features/composites/schema.js +10 -9
  354. package/dist/features/composites/schema.js.map +1 -1
  355. package/dist/features/composites/source.d.ts +20 -0
  356. package/dist/features/composites/source.js +40 -0
  357. package/dist/features/composites/source.js.map +1 -0
  358. package/dist/features/composites/split.d.ts +11 -11
  359. package/dist/features/composites/split.js +20 -20
  360. package/dist/features/composites/split.js.map +1 -1
  361. package/dist/features/composites/structure-mode.js +3 -3
  362. package/dist/features/composites/structure-mode.js.map +1 -1
  363. package/dist/features/composites/table-model.js +2 -2
  364. package/dist/features/composites/table-model.js.map +1 -1
  365. package/dist/features/composites/use-composite-inspector.js +3 -1
  366. package/dist/features/composites/use-composite-inspector.js.map +1 -1
  367. package/dist/features/composites/use-composite-rows.d.ts +2 -2
  368. package/dist/features/composites/use-composite-rows.js.map +1 -1
  369. package/dist/features/composites/vue.js +1 -1
  370. package/dist/features/composites/vue.js.map +1 -1
  371. package/dist/features/image-studio/components/ImageStudioDialog.js +1 -1
  372. package/dist/features/image-studio/components/ImageStudioDialog.js.map +1 -1
  373. package/dist/features/image-studio/components/ImageStudioDialog.vue.d.ts +1 -1
  374. package/dist/features/image-studio/components/ImageStudioView.js.map +1 -1
  375. package/dist/features/image-studio/feature.d.ts +1 -1
  376. package/dist/features/image-studio/feature.js +1 -1
  377. package/dist/features/image-studio/feature.js.map +1 -1
  378. package/dist/features/image-studio/node-core.d.ts +3 -3
  379. package/dist/features/image-studio/node-core.js +1 -1
  380. package/dist/features/image-studio/node-core.js.map +1 -1
  381. package/dist/features/image-studio/node-store.d.ts +1 -1
  382. package/dist/features/image-studio/node-store.js +1 -1
  383. package/dist/features/image-studio/node-store.js.map +1 -1
  384. package/dist/features/image-studio/react/ImageStudioDialog.d.ts +1 -1
  385. package/dist/features/image-studio/react/ImageStudioDialog.js +1 -1
  386. package/dist/features/image-studio/react/ImageStudioDialog.js.map +1 -1
  387. package/dist/features/image-studio/react/ImageStudioView.js +1 -1
  388. package/dist/features/image-studio/react/ImageStudioView.js.map +1 -1
  389. package/dist/features/image-studio/react/store.d.ts +3 -3
  390. package/dist/features/image-studio/react/store.js.map +1 -1
  391. package/dist/features/image-studio/react.d.ts +1 -1
  392. package/dist/features/image-studio/react.js +1 -1
  393. package/dist/features/image-studio/react.js.map +1 -1
  394. package/dist/features/image-studio/schema.d.ts +1 -1
  395. package/dist/features/image-studio/schema.js +1 -1
  396. package/dist/features/image-studio/schema.js.map +1 -1
  397. package/dist/features/image-studio/state.d.ts +3 -3
  398. package/dist/features/image-studio/state.js +2 -2
  399. package/dist/features/image-studio/state.js.map +1 -1
  400. package/dist/features/image-studio/store.d.ts +3 -3
  401. package/dist/features/image-studio/vue.d.ts +1 -1
  402. package/dist/features/image-studio/vue.js +1 -1
  403. package/dist/features/image-studio/vue.js.map +1 -1
  404. package/dist/features/media/index.js +1 -1
  405. package/dist/features/media/react/AudioRecorderModal.js +1 -1
  406. package/dist/features/media/react.js +1 -1
  407. package/dist/features/mentions/tag.js +2 -1
  408. package/dist/features/mentions/tag.js.map +1 -1
  409. package/dist/features/themes/components/SettingsAppearanceTab.js +1 -1
  410. package/dist/features/themes/components/SettingsAppearanceTab.js.map +1 -1
  411. package/dist/features/themes/feature.d.ts +1 -1
  412. package/dist/features/themes/feature.js.map +1 -1
  413. package/dist/features/themes/react/SettingsAppearanceTab.d.ts +1 -1
  414. package/dist/features/themes/react/SettingsAppearanceTab.js +1 -1
  415. package/dist/features/themes/react/SettingsAppearanceTab.js.map +1 -1
  416. package/dist/features/themes/theme-runtime.js +1 -1
  417. package/dist/features/themes/theme-runtime.js.map +1 -1
  418. package/dist/features/transcript/TranscriptSegmentView.js +1 -1
  419. package/dist/features/transcript/TranscriptSegmentView.js.map +1 -1
  420. package/dist/features/transcript/react/TranscriptSegmentView.js +1 -1
  421. package/dist/features/transcript/react/TranscriptSegmentView.js.map +1 -1
  422. package/dist/features/transcript/segment-node.js.map +1 -1
  423. package/dist/features/transfer/feature.js +1 -1
  424. package/dist/features/transfer/feature.js.map +1 -1
  425. package/dist/features/transfer/transforms.d.ts +4 -4
  426. package/dist/features/transfer/transforms.js +12 -12
  427. package/dist/features/transfer/transforms.js.map +1 -1
  428. package/dist/i18n/de/ai.js +4 -4
  429. package/dist/i18n/de/ai.js.map +1 -1
  430. package/dist/i18n/de/authors.js +1 -1
  431. package/dist/i18n/de/authors.js.map +1 -1
  432. package/dist/i18n/de/comments.js +1 -1
  433. package/dist/i18n/de/comments.js.map +1 -1
  434. package/dist/i18n/de/composites.js +62 -59
  435. package/dist/i18n/de/composites.js.map +1 -1
  436. package/dist/i18n/de/image-studio.js +2 -2
  437. package/dist/i18n/de/image-studio.js.map +1 -1
  438. package/dist/i18n/de/integrations.js +20 -20
  439. package/dist/i18n/de/integrations.js.map +1 -1
  440. package/dist/i18n/de/markdown.js +1 -1
  441. package/dist/i18n/de/markdown.js.map +1 -1
  442. package/dist/i18n/de/palette.js +1 -1
  443. package/dist/i18n/de/palette.js.map +1 -1
  444. package/dist/i18n/de/themes.js +3 -3
  445. package/dist/i18n/de/themes.js.map +1 -1
  446. package/dist/i18n/de/transfer.js +2 -2
  447. package/dist/i18n/de/transfer.js.map +1 -1
  448. package/dist/i18n/de/tree.js +6 -6
  449. package/dist/i18n/de/tree.js.map +1 -1
  450. package/dist/i18n/de.d.ts +101 -98
  451. package/dist/i18n/en/ai.js +2 -2
  452. package/dist/i18n/en/ai.js.map +1 -1
  453. package/dist/i18n/en/composites.js +64 -61
  454. package/dist/i18n/en/composites.js.map +1 -1
  455. package/dist/i18n/en/integrations.js +9 -9
  456. package/dist/i18n/en/integrations.js.map +1 -1
  457. package/dist/i18n/en/markdown.js +1 -1
  458. package/dist/i18n/en/markdown.js.map +1 -1
  459. package/dist/i18n/en/palette.js +1 -1
  460. package/dist/i18n/en/palette.js.map +1 -1
  461. package/dist/i18n/en/themes.js +4 -4
  462. package/dist/i18n/en/themes.js.map +1 -1
  463. package/dist/i18n/en/tree.js +5 -5
  464. package/dist/i18n/en/tree.js.map +1 -1
  465. package/dist/index.d.ts +4 -1
  466. package/dist/integrations/composite-ai/bibliography-fetch.d.ts +6 -6
  467. package/dist/integrations/composite-ai/bibliography-fetch.js +19 -19
  468. package/dist/integrations/composite-ai/bibliography-fetch.js.map +1 -1
  469. package/dist/integrations/composite-ai/composite-fill.d.ts +4 -4
  470. package/dist/integrations/composite-ai/composite-fill.js +5 -5
  471. package/dist/integrations/composite-ai/composite-fill.js.map +1 -1
  472. package/dist/integrations/composite-ai/composite-summary.d.ts +2 -2
  473. package/dist/integrations/composite-ai/composite-summary.js +5 -5
  474. package/dist/integrations/composite-ai/composite-summary.js.map +1 -1
  475. package/dist/integrations/composite-ai/derive.d.ts +17 -17
  476. package/dist/integrations/composite-ai/derive.js +27 -26
  477. package/dist/integrations/composite-ai/derive.js.map +1 -1
  478. package/dist/integrations/composite-ai/index.d.ts +14 -15
  479. package/dist/integrations/composite-ai/index.js +98 -77
  480. package/dist/integrations/composite-ai/index.js.map +1 -1
  481. package/dist/integrations/composite-ai/outline-sanitize.d.ts +1 -1
  482. package/dist/integrations/composite-ai/outline-sanitize.js +1 -1
  483. package/dist/integrations/composite-ai/outline-sanitize.js.map +1 -1
  484. package/dist/integrations/composite-ai/rendition.d.ts +9 -9
  485. package/dist/integrations/composite-ai/rendition.js +27 -27
  486. package/dist/integrations/composite-ai/rendition.js.map +1 -1
  487. package/dist/integrations/composite-ai/split.d.ts +8 -8
  488. package/dist/integrations/composite-ai/split.js +12 -12
  489. package/dist/integrations/composite-ai/split.js.map +1 -1
  490. package/dist/integrations/composite-ai/transfer-transforms.d.ts +2 -2
  491. package/dist/integrations/composite-ai/transfer-transforms.js +12 -12
  492. package/dist/integrations/composite-ai/transfer-transforms.js.map +1 -1
  493. package/dist/integrations/composite-media/index.d.ts +4 -3
  494. package/dist/integrations/composite-media/index.js +20 -14
  495. package/dist/integrations/composite-media/index.js.map +1 -1
  496. package/dist/markdown/document.js +1 -1
  497. package/dist/markdown/document.js.map +1 -1
  498. package/dist/nuxt/module.d.ts +30 -24
  499. package/dist/nuxt/module.js.map +1 -1
  500. package/dist/nuxt/runtime/server/plugins/editor-server.js +3 -2
  501. package/dist/nuxt/runtime/server/plugins/editor-server.js.map +1 -1
  502. package/dist/presets/compose.d.ts +6 -6
  503. package/dist/presets/compose.js +8 -5
  504. package/dist/presets/compose.js.map +1 -1
  505. package/dist/react/AdvancedEditor.d.ts +2 -2
  506. package/dist/react/AdvancedEditor.js +1 -1
  507. package/dist/react/AdvancedEditor.js.map +1 -1
  508. package/dist/react/compose.d.ts +1 -1
  509. package/dist/react/compose.js +2 -2
  510. package/dist/react/compose.js.map +1 -1
  511. package/dist/react/composed-surface.d.ts +5 -5
  512. package/dist/react/composed-surface.js +2 -2
  513. package/dist/react/composed-surface.js.map +1 -1
  514. package/dist/server/ai.d.ts +7 -7
  515. package/dist/server/ai.js +1 -1
  516. package/dist/server/ai.js.map +1 -1
  517. package/dist/server/auth.d.ts +1 -1
  518. package/dist/server/collab-state.d.ts +1 -1
  519. package/dist/server/collab-state.js.map +1 -1
  520. package/dist/server/collab.d.ts +4 -4
  521. package/dist/server/collab.js +22 -17
  522. package/dist/server/collab.js.map +1 -1
  523. package/dist/server/handlers/ai.d.ts +7 -4
  524. package/dist/server/handlers/ai.js +13 -17
  525. package/dist/server/handlers/ai.js.map +1 -1
  526. package/dist/server/handlers/context.d.ts +4 -0
  527. package/dist/server/handlers/context.js.map +1 -1
  528. package/dist/server/handlers/editor.d.ts +33 -32
  529. package/dist/server/handlers/editor.js +13 -8
  530. package/dist/server/handlers/editor.js.map +1 -1
  531. package/dist/server/handlers/images.d.ts +1 -1
  532. package/dist/server/handlers/images.js +1 -1
  533. package/dist/server/handlers/images.js.map +1 -1
  534. package/dist/server/host.d.ts +4 -0
  535. package/dist/server/host.js +10 -2
  536. package/dist/server/host.js.map +1 -1
  537. package/dist/server/index.d.ts +3 -3
  538. package/dist/server/ports.d.ts +8 -8
  539. package/dist/server/ports.js.map +1 -1
  540. package/dist/settings/index.d.ts +20 -19
  541. package/dist/settings/index.js +25 -24
  542. package/dist/settings/index.js.map +1 -1
  543. package/dist/settings/migrate.d.ts +18 -0
  544. package/dist/settings/migrate.js +46 -0
  545. package/dist/settings/migrate.js.map +1 -0
  546. package/dist/settings/values.d.ts +12 -12
  547. package/dist/settings/values.js +11 -11
  548. package/dist/settings/values.js.map +1 -1
  549. package/dist/styles/composites.css +10 -10
  550. package/dist/tree/DocumentTree.js +12 -5
  551. package/dist/tree/DocumentTree.js.map +1 -1
  552. package/dist/tree/drop-rules.js +5 -5
  553. package/dist/tree/drop-rules.js.map +1 -1
  554. package/dist/tree/react/DocumentTree.js +14 -5
  555. package/dist/tree/react/DocumentTree.js.map +1 -1
  556. package/dist/tree/tree-host.js +6 -6
  557. package/dist/tree/tree-host.js.map +1 -1
  558. package/dist/tree/tree-items.js +34 -28
  559. package/dist/tree/tree-items.js.map +1 -1
  560. package/dist/tree/tree-model.js +16 -16
  561. package/dist/tree/tree-model.js.map +1 -1
  562. package/dist/tree/tree-rows.js +2 -2
  563. package/dist/tree/tree-rows.js.map +1 -1
  564. package/dist/tree/tree-view-model.d.ts +2 -2
  565. package/dist/tree/tree-view-model.js.map +1 -1
  566. package/dist/vue/AdvancedEditor.js +2 -2
  567. package/dist/vue/AdvancedEditor.js.map +1 -1
  568. package/dist/vue/AdvancedEditor.vue.d.ts +6 -6
  569. package/dist/vue/compose.d.ts +1 -1
  570. package/dist/vue/compose.js +2 -2
  571. package/dist/vue/compose.js.map +1 -1
  572. package/package.json +1 -1
  573. package/dist/features/composites/derivation.d.ts +0 -62
  574. package/dist/features/composites/derivation.js +0 -102
  575. package/dist/features/composites/derivation.js.map +0 -1
  576. package/dist/features/composites/kinds.d.ts +0 -89
  577. package/dist/features/composites/kinds.js +0 -285
  578. package/dist/features/composites/kinds.js.map +0 -1
@@ -5,8 +5,8 @@ const de = {
5
5
  "transfer.bullets": "Stichpunkte einfügen",
6
6
  "transfer.summaryTitle": "Zusammenfassung: {title}",
7
7
  "transfer.bulletsTitle": "Stichpunkte: {title}",
8
- "transfer.refused": "Hier lässt sich der Baustein nicht einfügen",
9
- "transfer.selfDrop": "Ein Baustein lässt sich nicht auf sich selbst ablegen",
8
+ "transfer.refused": "Hier lässt sich der Block nicht einfügen",
9
+ "transfer.selfDrop": "Ein Block lässt sich nicht auf sich selbst ablegen",
10
10
  "transfer.running": "{title} wird erstellt…",
11
11
  "transfer.done": "{title} eingefügt",
12
12
  "transfer.menu.title": "Einfügen als …"
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","names":[],"sources":["../../../src/i18n/de/transfer.ts"],"sourcesContent":["export const de = {\n 'transfer.copy': 'Kopie einfügen',\n 'transfer.summary': 'Zusammenfassung einfügen',\n 'transfer.bullets': 'Stichpunkte einfügen',\n 'transfer.summaryTitle': 'Zusammenfassung: {title}',\n 'transfer.bulletsTitle': 'Stichpunkte: {title}',\n 'transfer.refused': 'Hier lässt sich der Baustein nicht einfügen',\n 'transfer.selfDrop': 'Ein Baustein lässt sich nicht auf sich selbst ablegen',\n 'transfer.running': '{title} wird erstellt…',\n 'transfer.done': '{title} eingefügt',\n 'transfer.menu.title': 'Einfügen als …',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAChB,iBAAiB;CACjB,oBAAoB;CACpB,oBAAoB;CACpB,yBAAyB;CACzB,yBAAyB;CACzB,oBAAoB;CACpB,qBAAqB;CACrB,oBAAoB;CACpB,iBAAiB;CACjB,uBAAuB;AACzB"}
1
+ {"version":3,"file":"transfer.js","names":[],"sources":["../../../src/i18n/de/transfer.ts"],"sourcesContent":["export const de = {\n 'transfer.copy': 'Kopie einfügen',\n 'transfer.summary': 'Zusammenfassung einfügen',\n 'transfer.bullets': 'Stichpunkte einfügen',\n 'transfer.summaryTitle': 'Zusammenfassung: {title}',\n 'transfer.bulletsTitle': 'Stichpunkte: {title}',\n 'transfer.refused': 'Hier lässt sich der Block nicht einfügen',\n 'transfer.selfDrop': 'Ein Block lässt sich nicht auf sich selbst ablegen',\n 'transfer.running': '{title} wird erstellt…',\n 'transfer.done': '{title} eingefügt',\n 'transfer.menu.title': 'Einfügen als …',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAChB,iBAAiB;CACjB,oBAAoB;CACpB,oBAAoB;CACpB,yBAAyB;CACzB,yBAAyB;CACzB,oBAAoB;CACpB,qBAAqB;CACrB,oBAAoB;CACpB,iBAAiB;CACjB,uBAAuB;AACzB"}
@@ -15,7 +15,7 @@ const de = {
15
15
  "tree.menu.newDocument": "Neues Dokument",
16
16
  "tree.menu.newFolder": "Neuer Ordner",
17
17
  "tree.menu.newSubfolder": "Neuer Unterordner",
18
- "tree.menu.newCompositeFolder": "Neuer Ordner-Baustein",
18
+ "tree.menu.newCompositeFolder": "Neuer Ordner-Block",
19
19
  "tree.menu.importFile": "Datei importieren…",
20
20
  "tree.menu.rename": "Umbenennen",
21
21
  "tree.folder.name": "Ordnername",
@@ -35,17 +35,17 @@ const de = {
35
35
  "tree.merge": "Mit nächstem zusammenführen",
36
36
  "tree.root.folders": "Ordner",
37
37
  "tree.root.file": "Datei als Wurzel",
38
- "tree.root.unavailable": "Nur mit einer geöffneten Baustein-Datei (Einstellung „Gliederung: Bausteine“).",
38
+ "tree.root.unavailable": "Nur mit einer geöffneten Block-Datei (Einstellung „Gliederung: Blöcke“).",
39
39
  "tree.drop.nothing": "Es wird nichts gezogen.",
40
40
  "tree.drop.noDocumentMove": "Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.",
41
41
  "tree.drop.foldersOnly": "Nur Ordner nehmen Einträge auf.",
42
42
  "tree.drop.documentInFolder": "Das Dokument liegt schon in diesem Ordner.",
43
43
  "tree.drop.folderIntoSelf": "Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.",
44
44
  "tree.drop.folderInFolder": "Der Ordner liegt schon in diesem Ordner.",
45
- "tree.drop.blocksOnlyInDocument": "Bausteine lassen sich nur im geöffneten Dokument verschieben.",
46
- "tree.drop.noBlocksHere": "Hier lassen sich keine Bausteine ablegen.",
47
- "tree.drop.noTransfer": "Dieser Editor nimmt keine Bausteine von außen an.",
48
- "tree.drop.blockWithoutId": "Dieser Baustein hat noch keine ID und lässt sich nicht als Ziel ansprechen.",
45
+ "tree.drop.blocksOnlyInDocument": "Blöcke lassen sich nur im geöffneten Dokument verschieben.",
46
+ "tree.drop.noBlocksHere": "Hier lassen sich keine Blöcke ablegen.",
47
+ "tree.drop.noTransfer": "Dieser Editor nimmt keine Blöcke von außen an.",
48
+ "tree.drop.blockWithoutId": "Dieser Block hat noch keine ID und lässt sich nicht als Ziel ansprechen.",
49
49
  "tree.drop.editorClosed": "Der Editor ist nicht mehr geöffnet."
50
50
  };
51
51
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","names":[],"sources":["../../../src/i18n/de/tree.ts"],"sourcesContent":["export const de = {\n 'tree.aria': 'Dokumente',\n 'tree.loading': 'Lädt…',\n 'tree.loadFailed': 'Dokumente konnten nicht geladen werden',\n 'tree.empty': 'Noch keine Dokumente',\n 'tree.rootFallback': 'Dokument',\n 'tree.untitled': '(ohne Titel)',\n 'tree.summary': 'Zusammenfassung vorhanden',\n 'tree.filter.show': 'Anzeigen',\n 'tree.filter.title': 'Anzeige filtern',\n 'tree.filter.reset': 'Filter zurücksetzen',\n 'tree.add': 'Hinzufügen',\n 'tree.delete': 'Löschen',\n 'tree.menu.newDocument': 'Neues Dokument',\n 'tree.menu.newFolder': 'Neuer Ordner',\n 'tree.menu.newSubfolder': 'Neuer Unterordner',\n 'tree.menu.newCompositeFolder': 'Neuer Ordner-Baustein',\n 'tree.menu.importFile': 'Datei importieren…',\n 'tree.menu.rename': 'Umbenennen',\n 'tree.folder.name': 'Ordnername',\n 'tree.folder.placeholder': 'Neuer Ordner',\n 'tree.folder.placeholderIn': 'Neuer Ordner in {parent}',\n 'tree.folder.renameFailed': 'Ordner nicht umbenannt',\n 'tree.removed': 'Dokument gelöscht',\n 'tree.undo': 'Rückgängig',\n 'tree.filterText.placeholder': 'Titel filtern',\n 'tree.filterText.clear': 'Titelfilter löschen',\n 'tree.noMatches': 'Keine Treffer',\n 'tree.basketFilter.label': 'Nach Korb filtern',\n 'tree.basketFilter.reset': 'Korbfilter zurücksetzen',\n 'tree.focus.root': 'Dokument',\n 'tree.focus.enter': 'Fokussieren',\n 'tree.focus.leave': 'Fokus aufheben',\n 'tree.merge': 'Mit nächstem zusammenführen',\n 'tree.root.folders': 'Ordner',\n 'tree.root.file': 'Datei als Wurzel',\n 'tree.root.unavailable': 'Nur mit einer geöffneten Baustein-Datei (Einstellung „Gliederung: Bausteine“).',\n\n // Why a drop on a row is refused (`dropVerdict`).\n 'tree.drop.nothing': 'Es wird nichts gezogen.',\n 'tree.drop.noDocumentMove': 'Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.',\n 'tree.drop.foldersOnly': 'Nur Ordner nehmen Einträge auf.',\n 'tree.drop.documentInFolder': 'Das Dokument liegt schon in diesem Ordner.',\n 'tree.drop.folderIntoSelf': 'Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.',\n 'tree.drop.folderInFolder': 'Der Ordner liegt schon in diesem Ordner.',\n 'tree.drop.blocksOnlyInDocument': 'Bausteine lassen sich nur im geöffneten Dokument verschieben.',\n 'tree.drop.noBlocksHere': 'Hier lassen sich keine Bausteine ablegen.',\n 'tree.drop.noTransfer': 'Dieser Editor nimmt keine Bausteine von außen an.',\n 'tree.drop.blockWithoutId': 'Dieser Baustein hat noch keine ID und lässt sich nicht als Ziel ansprechen.',\n 'tree.drop.editorClosed': 'Der Editor ist nicht mehr geöffnet.',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAChB,aAAa;CACb,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,qBAAqB;CACrB,qBAAqB;CACrB,YAAY;CACZ,eAAe;CACf,yBAAyB;CACzB,uBAAuB;CACvB,0BAA0B;CAC1B,gCAAgC;CAChC,wBAAwB;CACxB,oBAAoB;CACpB,oBAAoB;CACpB,2BAA2B;CAC3B,6BAA6B;CAC7B,4BAA4B;CAC5B,gBAAgB;CAChB,aAAa;CACb,+BAA+B;CAC/B,yBAAyB;CACzB,kBAAkB;CAClB,2BAA2B;CAC3B,2BAA2B;CAC3B,mBAAmB;CACnB,oBAAoB;CACpB,oBAAoB;CACpB,cAAc;CACd,qBAAqB;CACrB,kBAAkB;CAClB,yBAAyB;CAGzB,qBAAqB;CACrB,4BAA4B;CAC5B,yBAAyB;CACzB,8BAA8B;CAC9B,4BAA4B;CAC5B,4BAA4B;CAC5B,kCAAkC;CAClC,0BAA0B;CAC1B,wBAAwB;CACxB,4BAA4B;CAC5B,0BAA0B;AAC5B"}
1
+ {"version":3,"file":"tree.js","names":[],"sources":["../../../src/i18n/de/tree.ts"],"sourcesContent":["export const de = {\n 'tree.aria': 'Dokumente',\n 'tree.loading': 'Lädt…',\n 'tree.loadFailed': 'Dokumente konnten nicht geladen werden',\n 'tree.empty': 'Noch keine Dokumente',\n 'tree.rootFallback': 'Dokument',\n 'tree.untitled': '(ohne Titel)',\n 'tree.summary': 'Zusammenfassung vorhanden',\n 'tree.filter.show': 'Anzeigen',\n 'tree.filter.title': 'Anzeige filtern',\n 'tree.filter.reset': 'Filter zurücksetzen',\n 'tree.add': 'Hinzufügen',\n 'tree.delete': 'Löschen',\n 'tree.menu.newDocument': 'Neues Dokument',\n 'tree.menu.newFolder': 'Neuer Ordner',\n 'tree.menu.newSubfolder': 'Neuer Unterordner',\n 'tree.menu.newCompositeFolder': 'Neuer Ordner-Block',\n 'tree.menu.importFile': 'Datei importieren…',\n 'tree.menu.rename': 'Umbenennen',\n 'tree.folder.name': 'Ordnername',\n 'tree.folder.placeholder': 'Neuer Ordner',\n 'tree.folder.placeholderIn': 'Neuer Ordner in {parent}',\n 'tree.folder.renameFailed': 'Ordner nicht umbenannt',\n 'tree.removed': 'Dokument gelöscht',\n 'tree.undo': 'Rückgängig',\n 'tree.filterText.placeholder': 'Titel filtern',\n 'tree.filterText.clear': 'Titelfilter löschen',\n 'tree.noMatches': 'Keine Treffer',\n 'tree.basketFilter.label': 'Nach Korb filtern',\n 'tree.basketFilter.reset': 'Korbfilter zurücksetzen',\n 'tree.focus.root': 'Dokument',\n 'tree.focus.enter': 'Fokussieren',\n 'tree.focus.leave': 'Fokus aufheben',\n 'tree.merge': 'Mit nächstem zusammenführen',\n 'tree.root.folders': 'Ordner',\n 'tree.root.file': 'Datei als Wurzel',\n 'tree.root.unavailable': 'Nur mit einer geöffneten Block-Datei (Einstellung „Gliederung: Blöcke“).',\n\n // Why a drop on a row is refused (`dropVerdict`).\n 'tree.drop.nothing': 'Es wird nichts gezogen.',\n 'tree.drop.noDocumentMove': 'Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.',\n 'tree.drop.foldersOnly': 'Nur Ordner nehmen Einträge auf.',\n 'tree.drop.documentInFolder': 'Das Dokument liegt schon in diesem Ordner.',\n 'tree.drop.folderIntoSelf': 'Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.',\n 'tree.drop.folderInFolder': 'Der Ordner liegt schon in diesem Ordner.',\n 'tree.drop.blocksOnlyInDocument': 'Blöcke lassen sich nur im geöffneten Dokument verschieben.',\n 'tree.drop.noBlocksHere': 'Hier lassen sich keine Blöcke ablegen.',\n 'tree.drop.noTransfer': 'Dieser Editor nimmt keine Blöcke von außen an.',\n 'tree.drop.blockWithoutId': 'Dieser Block hat noch keine ID und lässt sich nicht als Ziel ansprechen.',\n 'tree.drop.editorClosed': 'Der Editor ist nicht mehr geöffnet.',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAChB,aAAa;CACb,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,qBAAqB;CACrB,qBAAqB;CACrB,YAAY;CACZ,eAAe;CACf,yBAAyB;CACzB,uBAAuB;CACvB,0BAA0B;CAC1B,gCAAgC;CAChC,wBAAwB;CACxB,oBAAoB;CACpB,oBAAoB;CACpB,2BAA2B;CAC3B,6BAA6B;CAC7B,4BAA4B;CAC5B,gBAAgB;CAChB,aAAa;CACb,+BAA+B;CAC/B,yBAAyB;CACzB,kBAAkB;CAClB,2BAA2B;CAC3B,2BAA2B;CAC3B,mBAAmB;CACnB,oBAAoB;CACpB,oBAAoB;CACpB,cAAc;CACd,qBAAqB;CACrB,kBAAkB;CAClB,yBAAyB;CAGzB,qBAAqB;CACrB,4BAA4B;CAC5B,yBAAyB;CACzB,8BAA8B;CAC9B,4BAA4B;CAC5B,4BAA4B;CAC5B,kCAAkC;CAClC,0BAA0B;CAC1B,wBAAwB;CACxB,4BAA4B;CAC5B,0BAA0B;AAC5B"}
package/dist/i18n/de.d.ts CHANGED
@@ -6,8 +6,8 @@ export declare const de: {
6
6
  readonly 'transfer.bullets': "Stichpunkte einfügen";
7
7
  readonly 'transfer.summaryTitle': "Zusammenfassung: {title}";
8
8
  readonly 'transfer.bulletsTitle': "Stichpunkte: {title}";
9
- readonly 'transfer.refused': "Hier lässt sich der Baustein nicht einfügen";
10
- readonly 'transfer.selfDrop': "Ein Baustein lässt sich nicht auf sich selbst ablegen";
9
+ readonly 'transfer.refused': "Hier lässt sich der Block nicht einfügen";
10
+ readonly 'transfer.selfDrop': "Ein Block lässt sich nicht auf sich selbst ablegen";
11
11
  readonly 'transfer.running': "{title} wird erstellt…";
12
12
  readonly 'transfer.done': "{title} eingefügt";
13
13
  readonly 'transfer.menu.title': "Einfügen als …";
@@ -22,7 +22,7 @@ export declare const de: {
22
22
  readonly 'palette.group.blocks': "Blöcke";
23
23
  readonly 'palette.group.inserts': "Einfügen";
24
24
  readonly 'palette.group.collaboration': "Zusammenarbeit";
25
- readonly 'palette.group.composites': "Bausteine";
25
+ readonly 'palette.group.composites': "Typisierte Blöcke";
26
26
  readonly 'palette.group.table': "Tabelle";
27
27
  readonly 'palette.group.ai': "KI";
28
28
  readonly 'palette.group.other': "Weitere Befehle";
@@ -34,38 +34,38 @@ export declare const de: {
34
34
  readonly 'markdown.diagnostic.unsafeMedia': "Medium ({type}) mit unsicherer URL entfernt: {url}.";
35
35
  readonly 'markdown.diagnostic.unclosedFence': "Dem `::: {kind}`-Block fehlt die schließende `:::`-Zeile.";
36
36
  readonly 'markdown.diagnostic.invalidFenceMeta': "Die `{…}`-Angaben des `::: {kind}`-Blocks sind kein JSON-Objekt.";
37
- readonly 'markdown.diagnostic.unknownFence': "Der `::: {kind}`-Block ist keine bekannte Art und bleibt unverändert erhalten.";
38
- readonly 'integrations.compositeFill.action': "Baustein füllen (KI)";
39
- readonly 'integrations.compositeFill.dataMissing': "Daten für den Baustein fehlen";
40
- readonly 'integrations.compositeFill.failed': "Baustein füllen fehlgeschlagen";
37
+ readonly 'markdown.diagnostic.unknownFence': "Der `::: {kind}`-Block ist kein bekannter Blocktyp und bleibt unverändert erhalten.";
38
+ readonly 'integrations.compositeFill.action': "Block füllen (KI)";
39
+ readonly 'integrations.compositeFill.dataMissing': "Daten für den Block fehlen";
40
+ readonly 'integrations.compositeFill.failed': "Block füllen fehlgeschlagen";
41
41
  readonly 'integrations.compositeFill.empty.title': "Leeres Ergebnis";
42
- readonly 'integrations.compositeFill.empty.description': "Der Baustein wurde nicht gefüllt.";
43
- readonly 'integrations.compositeFill.gone.title': "Baustein nicht mehr gefunden";
44
- readonly 'integrations.compositeFill.gone.description': "Der Baustein wurde nicht gefüllt.";
42
+ readonly 'integrations.compositeFill.empty.description': "Der Block wurde nicht gefüllt.";
43
+ readonly 'integrations.compositeFill.gone.title': "Block nicht mehr gefunden";
44
+ readonly 'integrations.compositeFill.gone.description': "Der Block wurde nicht gefüllt.";
45
45
  readonly 'integrations.compositeDerive.action': "Ableiten (KI)";
46
46
  readonly 'integrations.compositeDerive.running': "{kind} wird abgeleitet…";
47
47
  readonly 'integrations.compositeDerive.done': "{kind} abgeleitet";
48
48
  readonly 'integrations.compositeDerive.failed': "Ableiten fehlgeschlagen";
49
- readonly 'integrations.compositeDerive.notAccepted': "Dieser Baustein kann hier nicht eingefügt werden";
49
+ readonly 'integrations.compositeDerive.notAccepted': "Dieser Block kann hier nicht eingefügt werden";
50
50
  readonly 'integrations.compositeDerive.empty.title': "Leeres Ergebnis";
51
- readonly 'integrations.compositeDerive.empty.description': "Es wurde kein Baustein abgeleitet.";
52
- readonly 'integrations.compositeDerive.gone.title': "Baustein nicht mehr gefunden";
51
+ readonly 'integrations.compositeDerive.empty.description': "Es wurde kein Block abgeleitet.";
52
+ readonly 'integrations.compositeDerive.gone.title': "Block nicht mehr gefunden";
53
53
  readonly 'integrations.compositeDerive.gone.description': "Das Ergebnis wurde nicht übernommen.";
54
54
  readonly 'integrations.compositeSummary.action': "Zusammenfassung erzeugen (KI)";
55
55
  readonly 'integrations.compositeSummary.failed': "Zusammenfassung fehlgeschlagen";
56
56
  readonly 'integrations.compositeSummary.empty.title': "Leeres Ergebnis";
57
57
  readonly 'integrations.compositeSummary.empty.description': "Die Zusammenfassung wurde nicht übernommen.";
58
- readonly 'integrations.compositeSummary.gone.title': "Baustein nicht mehr gefunden";
58
+ readonly 'integrations.compositeSummary.gone.title': "Block nicht mehr gefunden";
59
59
  readonly 'integrations.compositeSummary.gone.description': "Die Zusammenfassung wurde nicht übernommen.";
60
60
  readonly 'integrations.compositeSummary.done': "Zusammenfassung erstellt";
61
- readonly 'integrations.compositeSplit.ai.children': "Mit KI in Unter-Bausteine teilen";
62
- readonly 'integrations.compositeSplit.ai.siblings': "Mit KI in Bausteine teilen";
61
+ readonly 'integrations.compositeSplit.ai.children': "Mit KI in Unterblöcke teilen";
62
+ readonly 'integrations.compositeSplit.ai.siblings': "Mit KI in Blöcke teilen";
63
63
  readonly 'integrations.compositeSplit.changed': "Die KI hat den Text verändert, nichts wurde geteilt";
64
- readonly 'integrations.compositeSplit.running': "Baustein wird geteilt…";
64
+ readonly 'integrations.compositeSplit.running': "Block wird geteilt…";
65
65
  readonly 'integrations.compositeSplit.failed': "Teilen fehlgeschlagen";
66
- readonly 'integrations.compositeSplit.notPossible': "Dieser Baustein lässt sich so nicht teilen";
66
+ readonly 'integrations.compositeSplit.notPossible': "Dieser Block lässt sich so nicht teilen";
67
67
  readonly 'integrations.compositeSplit.tooLong': "Der Text ist zu lang für die KI-Teilung";
68
- readonly 'integrations.compositeSplit.gone': "Der Baustein wurde währenddessen geändert, nichts wurde geteilt";
68
+ readonly 'integrations.compositeSplit.gone': "Der Block wurde währenddessen geändert, nichts wurde geteilt";
69
69
  readonly 'integrations.outlineSanitize.label': "Gliederung bereinigen (KI)";
70
70
  readonly 'integrations.outlineSanitize.none': "Das Dokument enthält keine Überschriften";
71
71
  readonly 'integrations.outlineSanitize.invalid': "Die Antwort der KI war unbrauchbar, nichts wurde geändert";
@@ -79,11 +79,11 @@ export declare const de: {
79
79
  readonly 'integrations.rendition.running': "Lesefassung wird erzeugt…";
80
80
  readonly 'integrations.rendition.done': "Lesefassung erstellt";
81
81
  readonly 'integrations.rendition.failed': "Lesefassung fehlgeschlagen";
82
- readonly 'integrations.rendition.noSource': "Der Baustein hat keine gespeicherte Quelle";
82
+ readonly 'integrations.rendition.noSource': "Der Block hat keine gespeicherte Quelle";
83
83
  readonly 'integrations.rendition.notAccepted': "Eine Lesefassung kann hier nicht eingefügt werden";
84
84
  readonly 'integrations.rendition.empty.title': "Leeres Ergebnis";
85
85
  readonly 'integrations.rendition.empty.description': "Die Lesefassung wurde nicht übernommen.";
86
- readonly 'integrations.rendition.gone.title': "Baustein nicht mehr gefunden";
86
+ readonly 'integrations.rendition.gone.title': "Block nicht mehr gefunden";
87
87
  readonly 'integrations.rendition.gone.description': "Die Lesefassung wurde nicht übernommen.";
88
88
  readonly 'integrations.rendition.title.transcription': "Transkript";
89
89
  readonly 'integrations.rendition.title.pdf-text': "Volltext";
@@ -104,9 +104,9 @@ export declare const de: {
104
104
  readonly 'integrations.bibliographyFetch.done': "Literaturangaben übernommen";
105
105
  readonly 'integrations.bibliographyFetch.failed': "Literaturangaben konnten nicht abgerufen werden";
106
106
  readonly 'integrations.bibliographyFetch.invalidDoi': "Die DOI ist ungültig";
107
- readonly 'integrations.bibliographyFetch.noSource': "Der Baustein hat weder eine DOI noch ein gespeichertes PDF";
107
+ readonly 'integrations.bibliographyFetch.noSource': "Der Block hat weder eine DOI noch ein gespeichertes PDF";
108
108
  readonly 'integrations.bibliographyFetch.empty': "Es wurden keine Literaturangaben gefunden";
109
- readonly 'integrations.bibliographyFetch.gone.title': "Baustein nicht mehr gefunden";
109
+ readonly 'integrations.bibliographyFetch.gone.title': "Block nicht mehr gefunden";
110
110
  readonly 'integrations.bibliographyFetch.gone.description': "Die Literaturangaben wurden nicht übernommen.";
111
111
  readonly 'integrations.bibliographyFetch.crossrefUnavailable.title': "Crossref nicht erreichbar";
112
112
  readonly 'integrations.bibliographyFetch.crossrefUnavailable.description': "Die Literaturangaben stammen aus dem Modell und sollten geprüft werden.";
@@ -114,7 +114,7 @@ export declare const de: {
114
114
  readonly 'integrations.sourceReplace.action': "Quelle ersetzen";
115
115
  readonly 'integrations.sourceReplace.done': "Quelle ersetzt";
116
116
  readonly 'integrations.sourceReplace.failed': "Quelle konnte nicht ersetzt werden";
117
- readonly 'integrations.sourceReplace.gone': "Baustein nicht mehr gefunden";
117
+ readonly 'integrations.sourceReplace.gone': "Block nicht mehr gefunden";
118
118
  readonly 'integrations.transcriptCleanup.action': "Transkript bereinigen";
119
119
  readonly 'integrations.transcriptCleanup.actionAi': "Transkript bereinigen (KI)";
120
120
  readonly 'integrations.transcriptCleanup.noSegments': "Keine Sprechersegmente mit Text gefunden";
@@ -158,7 +158,7 @@ export declare const de: {
158
158
  readonly 'tree.menu.newDocument': "Neues Dokument";
159
159
  readonly 'tree.menu.newFolder': "Neuer Ordner";
160
160
  readonly 'tree.menu.newSubfolder': "Neuer Unterordner";
161
- readonly 'tree.menu.newCompositeFolder': "Neuer Ordner-Baustein";
161
+ readonly 'tree.menu.newCompositeFolder': "Neuer Ordner-Block";
162
162
  readonly 'tree.menu.importFile': "Datei importieren…";
163
163
  readonly 'tree.menu.rename': "Umbenennen";
164
164
  readonly 'tree.folder.name': "Ordnername";
@@ -178,23 +178,23 @@ export declare const de: {
178
178
  readonly 'tree.merge': "Mit nächstem zusammenführen";
179
179
  readonly 'tree.root.folders': "Ordner";
180
180
  readonly 'tree.root.file': "Datei als Wurzel";
181
- readonly 'tree.root.unavailable': "Nur mit einer geöffneten Baustein-Datei (Einstellung „Gliederung: Bausteine“).";
181
+ readonly 'tree.root.unavailable': "Nur mit einer geöffneten Block-Datei (Einstellung „Gliederung: Blöcke“).";
182
182
  readonly 'tree.drop.nothing': "Es wird nichts gezogen.";
183
183
  readonly 'tree.drop.noDocumentMove': "Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.";
184
184
  readonly 'tree.drop.foldersOnly': "Nur Ordner nehmen Einträge auf.";
185
185
  readonly 'tree.drop.documentInFolder': "Das Dokument liegt schon in diesem Ordner.";
186
186
  readonly 'tree.drop.folderIntoSelf': "Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.";
187
187
  readonly 'tree.drop.folderInFolder': "Der Ordner liegt schon in diesem Ordner.";
188
- readonly 'tree.drop.blocksOnlyInDocument': "Bausteine lassen sich nur im geöffneten Dokument verschieben.";
189
- readonly 'tree.drop.noBlocksHere': "Hier lassen sich keine Bausteine ablegen.";
190
- readonly 'tree.drop.noTransfer': "Dieser Editor nimmt keine Bausteine von außen an.";
191
- readonly 'tree.drop.blockWithoutId': "Dieser Baustein hat noch keine ID und lässt sich nicht als Ziel ansprechen.";
188
+ readonly 'tree.drop.blocksOnlyInDocument': "Blöcke lassen sich nur im geöffneten Dokument verschieben.";
189
+ readonly 'tree.drop.noBlocksHere': "Hier lassen sich keine Blöcke ablegen.";
190
+ readonly 'tree.drop.noTransfer': "Dieser Editor nimmt keine Blöcke von außen an.";
191
+ readonly 'tree.drop.blockWithoutId': "Dieser Block hat noch keine ID und lässt sich nicht als Ziel ansprechen.";
192
192
  readonly 'tree.drop.editorClosed': "Der Editor ist nicht mehr geöffnet.";
193
- readonly 'themes.tab': "Darstellung";
194
- readonly 'themes.title': "Darstellung";
193
+ readonly 'themes.tab': "Theme";
194
+ readonly 'themes.title': "Theme";
195
195
  readonly 'themes.standard': "Standard";
196
196
  readonly 'themes.select.label': "Theme";
197
- readonly 'themes.select.description': "Gestaltet die gesamte Oberfläche mit einem Obsidian-Theme; „Standard“ ist die normale Darstellung.";
197
+ readonly 'themes.select.description': "Gestaltet die gesamte Oberfläche mit einem Obsidian-Theme; „Standard“ wendet kein Theme an.";
198
198
  readonly 'themes.upload.label': "Theme hochladen";
199
199
  readonly 'themes.upload.description': "Die theme.css eines Obsidian-Themes (höchstens 2 MB), optional mit seiner manifest.json. Das Theme steht danach allen zur Verfügung.";
200
200
  readonly 'themes.upload.css': "theme.css";
@@ -213,8 +213,8 @@ export declare const de: {
213
213
  readonly 'imageStudio.dialog.title': "Bild-Studio";
214
214
  readonly 'imageStudio.dialog.description.heading': "Beschreibung";
215
215
  readonly 'imageStudio.dialog.description.placeholder': "Beschreibe das Bild …";
216
- readonly 'imageStudio.dialog.blocks.heading': "Prompt-Bausteine";
217
- readonly 'imageStudio.dialog.blocks.empty': "Es sind keine Prompt-Bausteine eingerichtet.";
216
+ readonly 'imageStudio.dialog.blocks.heading': "Prompt-Blöcke";
217
+ readonly 'imageStudio.dialog.blocks.empty': "Es sind keine Prompt-Blöcke eingerichtet.";
218
218
  readonly 'imageStudio.dialog.references.heading': "Referenzen";
219
219
  readonly 'imageStudio.dialog.references.upload': "Bild hochladen";
220
220
  readonly 'imageStudio.dialog.references.uploading': "Wird hochgeladen …";
@@ -352,60 +352,61 @@ export declare const de: {
352
352
  readonly 'composites.kind.folder.label': "Ordner";
353
353
  readonly 'composites.kind.folder.title': "Ordnername";
354
354
  readonly 'composites.kind.folder.description': "Beschreibung";
355
- readonly 'composites.kind.select': "Art des Bausteins";
355
+ readonly 'composites.kind.select': "Blocktyp";
356
356
  readonly 'composites.status.none': "Kein Status";
357
357
  readonly 'composites.status.label': "Status: {status}";
358
358
  readonly 'composites.tab': "Bearbeiten";
359
359
  readonly 'composites.slash.section': "Abschnitt";
360
- readonly 'composites.slash.group': "Überschriften in Bausteine";
361
- readonly 'composites.slash.groupAll': "Überschriften in Bausteine (verschachtelt)";
362
- readonly 'composites.slash.flatten': "Bausteine in Überschriften";
363
- readonly 'composites.slash.flattenAll': "Bausteine in Überschriften (alle Ebenen)";
360
+ readonly 'composites.slash.group': "Überschriften in Blöcke";
361
+ readonly 'composites.slash.groupAll': "Überschriften in Blöcke (verschachtelt)";
362
+ readonly 'composites.slash.flatten': "Blöcke in Überschriften";
363
+ readonly 'composites.slash.flattenAll': "Blöcke in Überschriften (alle Ebenen)";
364
364
  readonly 'composites.blockAction.export': "Als Markdown exportieren";
365
365
  readonly 'composites.blockAction.bibtex': "Literaturangabe exportieren (BibTeX)";
366
- readonly 'composites.split.here': "Baustein hier teilen";
367
- readonly 'composites.split.children': "In Unter-Bausteine teilen";
368
- readonly 'composites.split.lengthChildren': "Nach Länge in Unter-Bausteine teilen";
369
- readonly 'composites.split.lengthSiblings': "Nach Länge in Bausteine teilen";
366
+ readonly 'composites.split.here': "Block hier teilen";
367
+ readonly 'composites.split.children': "In Unterblöcke teilen";
368
+ readonly 'composites.split.lengthChildren': "Nach Länge in Unterblöcke teilen";
369
+ readonly 'composites.split.lengthSiblings': "Nach Länge in Blöcke teilen";
370
370
  readonly 'composites.merge.next': "Mit nächstem zusammenführen";
371
371
  readonly 'settings.editing.splitTargetChars': "Zielgröße beim Teilen (Zeichen)";
372
- readonly 'composites.toolbar.toKind': "In Baustein umwandeln";
372
+ readonly 'composites.toolbar.toKind': "In Block umwandeln";
373
373
  readonly 'composites.toolbar.structure': "Gliederung umwandeln";
374
- readonly 'composites.menu.kindHeading': "Baustein";
375
- readonly 'composites.menu.toComposites': "Überschriften in Bausteine";
374
+ readonly 'composites.menu.kindHeading': "Block";
375
+ readonly 'composites.menu.toComposites': "Überschriften in Blöcke";
376
376
  readonly 'composites.menu.toComposites.top': "Nur oberste Ebene";
377
- readonly 'composites.menu.toComposites.top.description': "Nur die höchste Überschriftenebene wird zu Bausteinen";
377
+ readonly 'composites.menu.toComposites.top.description': "Nur die höchste Überschriftenebene wird zu Blöcken";
378
378
  readonly 'composites.menu.toComposites.all': "Alle Ebenen (verschachtelt)";
379
- readonly 'composites.menu.toComposites.all.description': "Jede Überschriftenebene wird zu einem verschachtelten Baustein";
380
- readonly 'composites.menu.toHeadings': "Bausteine in Überschriften";
379
+ readonly 'composites.menu.toComposites.all.description': "Jede Überschriftenebene wird zu einem verschachtelten Block";
380
+ readonly 'composites.menu.toHeadings': "Blöcke in Überschriften";
381
381
  readonly 'composites.menu.toHeadings.top': "Nur oberste Ebene";
382
- readonly 'composites.menu.toHeadings.top.description': "Die obersten Bausteine werden zu Überschriften; innere Bausteine bleiben";
382
+ readonly 'composites.menu.toHeadings.top.description': "Die obersten Blöcke werden zu Überschriften; innere Blöcke bleiben";
383
383
  readonly 'composites.menu.toHeadings.all': "Alle Ebenen";
384
- readonly 'composites.menu.toHeadings.all.description': "Jeder Baustein wird zur Überschrift seiner Ebene; Beschreibung, Tags und Felder als Text";
384
+ readonly 'composites.menu.toHeadings.all.description': "Jeder Block wird zur Überschrift seiner Ebene; Beschreibung, Tags und Felder als Text";
385
385
  readonly 'composites.menu.settings': "Einstellungen…";
386
386
  readonly 'composites.menu.preferred': "Bevorzugt: {mode}";
387
- readonly 'composites.convert.kind': "{kind} (Baustein)";
388
- readonly 'composites.chrome.details': "Art und Details: {kind}";
389
- readonly 'composites.chrome.detailsDrag': "Art und Details: {kind} · Ziehen zum Verschieben";
387
+ readonly 'composites.convert.kind': "{kind} (Block)";
388
+ readonly 'composites.chrome.details': "Blocktyp und Details: {kind}";
389
+ readonly 'composites.chrome.detailsDrag': "Blocktyp und Details: {kind} · Ziehen zum Verschieben";
390
390
  readonly 'composites.tag.remove': "Tag #{tag} entfernen";
391
391
  readonly 'composites.tag.add': "Tag hinzufügen";
392
392
  readonly 'composites.tags.label': "Tags";
393
393
  readonly 'composites.tags.placeholder': "Tags hinzufügen";
394
394
  readonly 'composites.tags.create': "#{tag} erstellen";
395
- readonly 'composites.details.confirmLost': "Art wirklich ändern? Beim Wechsel zu „{kind}“ gehen diese Angaben verloren:";
396
- readonly 'composites.details.confirm': "Art wirklich ändern?";
395
+ readonly 'composites.details.confirmLost': "Blocktyp wirklich ändern? Beim Wechsel zu „{kind}“ gehen diese Angaben verloren:";
396
+ readonly 'composites.details.confirm': "Blocktyp wirklich ändern?";
397
397
  readonly 'composites.details.cancel': "Abbrechen";
398
398
  readonly 'composites.details.change': "Ändern";
399
399
  readonly 'composites.details.summary': "Zusammen­fassung";
400
- readonly 'composites.reference.insert': "Verweis auf Baustein";
401
- readonly 'composites.reference.empty': "Keine passenden Bausteine";
402
- readonly 'composites.reference.gone': "Baustein gelöscht";
400
+ readonly 'composites.reference.insert': "Verweis auf Block";
401
+ readonly 'composites.reference.empty': "Keine passenden Blöcke";
402
+ readonly 'composites.reference.gone': "Block gelöscht";
403
403
  readonly 'composites.reference.locator': "Stelle";
404
404
  readonly 'composites.reference.locatorPlaceholder': "Stelle, z. B. S. 12 oder 03:14";
405
405
  readonly 'composites.reference.backlinks': "Verweise";
406
406
  readonly 'composites.derivation.badge': "abgeleitet";
407
407
  readonly 'composites.derivation.stale': "Quelle geändert";
408
408
  readonly 'composites.derivation.foreign': "aus anderem Dokument";
409
+ readonly 'composites.derivation.sourceMissing': "Quelle fehlt";
409
410
  readonly 'composites.derivation.edited': "bearbeitet";
410
411
  readonly 'composites.derivation.expand': "Abgeleiteten Inhalt aufklappen";
411
412
  readonly 'composites.derivation.collapse': "Abgeleiteten Inhalt zuklappen";
@@ -419,7 +420,7 @@ export declare const de: {
419
420
  readonly 'composites.derivation.method.description': "Bildbeschreibung";
420
421
  readonly 'composites.derivation.method.bibliography': "Literaturangaben";
421
422
  readonly 'composites.derivation.method.ai': "KI-Ableitung";
422
- readonly 'composites.summary.placeholder': "Kurze Zusammenfassung des Bausteins";
423
+ readonly 'composites.summary.placeholder': "Kurze Zusammenfassung des Blocks";
423
424
  readonly 'composites.summary.label': "Zusammenfassung";
424
425
  readonly 'composites.summary.none': "Keine Zusammenfassung";
425
426
  readonly 'composites.summary.formatted': "Enthält Formatierung oder Erwähnungen und lässt sich nur im Text bearbeiten.";
@@ -427,12 +428,14 @@ export declare const de: {
427
428
  readonly 'composites.field.none': "Keine Auswahl";
428
429
  readonly 'composites.inspector.label': "Eigenschaften";
429
430
  readonly 'composites.inspector.document': "Dokument";
430
- readonly 'composites.inspector.composites': "Bausteine";
431
+ readonly 'composites.inspector.composites': "Blöcke";
431
432
  readonly 'composites.inspector.summarized': "{n} von {total} zusammengefasst";
432
433
  readonly 'composites.inspector.none': "Keine";
433
434
  readonly 'composites.inspector.mentions': "Erwähnungen";
434
- readonly 'composites.inspector.composite': "Baustein";
435
- readonly 'composites.inspector.kind': "Art";
435
+ readonly 'composites.inspector.composite': "Block";
436
+ readonly 'composites.inspector.kind': "Blocktyp";
437
+ readonly 'composites.inspector.properties': "Blockeigenschaften";
438
+ readonly 'composites.inspector.derivation': "Herkunft";
436
439
  readonly 'composites.inspector.title': "Titel";
437
440
  readonly 'composites.inspector.titleHelp': "Im Dokument bearbeiten";
438
441
  readonly 'composites.inspector.untitled': "Ohne Titel";
@@ -441,53 +444,53 @@ export declare const de: {
441
444
  readonly 'composites.inspector.aiStatus': "KI-Status";
442
445
  readonly 'composites.inspector.summaryPresent': "Zusammenfassung vorhanden";
443
446
  readonly 'composites.inspector.summaryMissing': "Zusammenfassung fehlt";
444
- readonly 'composites.table.label': "Bausteine als Tabelle";
445
- readonly 'composites.table.emptyTitle': "Dieses Dokument enthält noch keine Bausteine";
446
- readonly 'composites.table.emptyText': "Bausteine gliedern ein Dokument in Abschnitte, Aufgaben oder Notizen mit Titel, Zusammenfassung und Tags. Füge im Text über „/“ einen Baustein ein, dann erscheint er hier mit allen Angaben.";
447
- readonly 'composites.table.column.composite': "Baustein";
448
- readonly 'composites.table.column.kind': "Art";
447
+ readonly 'composites.table.label': "Blöcke als Tabelle";
448
+ readonly 'composites.table.emptyTitle': "Dieses Dokument enthält noch keine Blöcke";
449
+ readonly 'composites.table.emptyText': "Blöcke gliedern ein Dokument in Abschnitte, Aufgaben oder Notizen mit Titel, Zusammenfassung und Tags. Füge im Text über „/“ einen Block ein, dann erscheint er hier mit allen Angaben.";
450
+ readonly 'composites.table.column.composite': "Block";
451
+ readonly 'composites.table.column.kind': "Blocktyp";
449
452
  readonly 'composites.table.column.tags': "Tags";
450
453
  readonly 'composites.table.column.summary': "Zusammenfassung";
451
454
  readonly 'composites.table.search.placeholder': "Titel, Zusammenfassung, Tags";
452
- readonly 'composites.table.search.label': "Bausteine durchsuchen";
455
+ readonly 'composites.table.search.label': "Blöcke durchsuchen";
453
456
  readonly 'composites.table.search.clear': "Suche leeren";
454
457
  readonly 'composites.table.filter.all': "Alle";
455
458
  readonly 'composites.table.filter.reset': "Filter zurücksetzen";
456
- readonly 'composites.table.filter.byKind': "Nach Art filtern";
459
+ readonly 'composites.table.filter.byKind': "Nach Blocktyp filtern";
457
460
  readonly 'composites.table.filter.byTag': "Nach Tag filtern";
458
- readonly 'composites.table.filter.noMatch': "Kein Baustein passt zu diesen Filtern.";
459
- readonly 'composites.table.count.one': "{n} von {total} Baustein";
460
- readonly 'composites.table.count.other': "{n} von {total} Bausteinen";
461
+ readonly 'composites.table.filter.noMatch': "Kein Block passt zu diesen Filtern.";
462
+ readonly 'composites.table.count.one': "{n} von {total} Block";
463
+ readonly 'composites.table.count.other': "{n} von {total} Blöcken";
461
464
  readonly 'composites.table.noValue': "Kein Wert";
462
465
  readonly 'composites.table.noTags': "Keine Tags";
463
466
  readonly 'composites.table.summaryPresent': "Zusammenfassung vorhanden";
464
467
  readonly 'composites.settings.structure.title': "Gliederung";
465
468
  readonly 'composites.settings.structure.legend': "Bevorzugte Gliederung";
466
469
  readonly 'composites.settings.structure.flat.label': "Überschriften";
467
- readonly 'composites.settings.structure.flat.description': "Werkzeugleiste mit Überschrift 1–3. KI-Texte werden flach mit Überschriften (##, ###) gegliedert; Bausteine, die die KI dennoch schreibt, werden zu Überschriften.";
468
- readonly 'composites.settings.structure.composite.label': "Bausteine";
469
- readonly 'composites.settings.structure.composite.description': "Werkzeugleiste ohne Überschrift 1–3. KI-Texte werden als Bausteine gegliedert, Unterabschnitte als verschachtelte Bausteine; Überschriften, die die KI dennoch schreibt, werden zu Bausteinen.";
470
+ readonly 'composites.settings.structure.flat.description': "Werkzeugleiste mit Überschrift 1–3. KI-Texte werden flach mit Überschriften (##, ###) gegliedert; Blöcke, die die KI dennoch schreibt, werden zu Überschriften.";
471
+ readonly 'composites.settings.structure.structured.label': "Blöcke";
472
+ readonly 'composites.settings.structure.structured.description': "Werkzeugleiste ohne Überschrift 1–3. KI-Texte werden als Blöcke gegliedert, Unterabschnitte als verschachtelte Blöcke; Überschriften, die die KI dennoch schreibt, werden zu Blöcken.";
470
473
  readonly 'composites.settings.scope.legend': "„Gliederung umwandeln“ ohne Markierung bezieht sich auf";
471
- readonly 'composites.settings.scope.container.label': "Umgebender Baustein";
472
- readonly 'composites.settings.scope.container.description': "Den Baustein, in dem der Cursor steht; außerhalb von Bausteinen das ganze Dokument.";
474
+ readonly 'composites.settings.scope.container.label': "Umgebender Block";
475
+ readonly 'composites.settings.scope.container.description': "Den Block, in dem der Cursor steht; außerhalb von Blöcken das ganze Dokument.";
473
476
  readonly 'composites.settings.scope.document.label': "Gesamtes Dokument";
474
477
  readonly 'composites.settings.scope.document.description': "Immer alle Blöcke des Dokuments.";
475
- readonly 'composites.settings.scope.heading.label': "Überschrift oder Baustein am Cursor";
476
- readonly 'composites.settings.scope.heading.description': "Beim Umwandeln in Bausteine: die Überschrift am oder vor dem Cursor mit ihrem Inhalt. Beim Umwandeln in Überschriften: der innerste Baustein um den Cursor.";
478
+ readonly 'composites.settings.scope.heading.label': "Überschrift oder Block am Cursor";
479
+ readonly 'composites.settings.scope.heading.description': "Beim Umwandeln in Blöcke: die Überschrift am oder vor dem Cursor mit ihrem Inhalt. Beim Umwandeln in Überschriften: der innerste Block um den Cursor.";
477
480
  readonly 'composites.settings.sidebar.title': "Seitenleiste";
478
481
  readonly 'composites.settings.treeRoot.legend': "Baum der Dokumente";
479
482
  readonly 'composites.settings.treeRoot.folders.label': "Ordner und Dateien verschachteln";
480
483
  readonly 'composites.settings.treeRoot.folders.description': "Die Seitenleiste zeigt die Ordner mit ihren Dateien; die geöffnete Datei steht als Eintrag darin.";
481
484
  readonly 'composites.settings.treeRoot.file.label': "Wurzel ist eine einzelne Datei";
482
- readonly 'composites.settings.treeRoot.file.description': "Ist eine Baustein-Datei geöffnet, zeigt die Seitenleiste sie als Wurzel mit ihren Ordnern und Dokumenten. Ohne geöffnete Baustein-Datei sind es die Ordner.";
483
- readonly 'composites.settings.composites.title': "Bausteine";
484
- readonly 'composites.settings.defaultKind.label': "Standard-Baustein";
485
- readonly 'composites.settings.defaultKind.description': "Art der Bausteine, die die Werkzeugleiste, „/“-Befehle und „Überschriften in Bausteine“ anlegen.";
486
- readonly 'composites.settings.kindIcon.legend': "Art-Symbol";
487
- readonly 'composites.settings.kindIcon.always.label': "Immer anzeigen";
488
- readonly 'composites.settings.kindIcon.always.description': "Das Symbol der Bausteinart steht dauerhaft vor dem Baustein.";
489
- readonly 'composites.settings.kindIcon.hover.label': "Nur beim Überfahren";
490
- readonly 'composites.settings.kindIcon.hover.description': "Das Symbol erscheint, wenn die Maus über dem Baustein steht, er den Fokus hat oder seine Details geöffnet sind.";
485
+ readonly 'composites.settings.treeRoot.file.description': "Ist eine Block-Datei geöffnet, zeigt die Seitenleiste sie als Wurzel mit ihren Ordnern und Dokumenten. Ohne geöffnete Block-Datei sind es die Ordner.";
486
+ readonly 'composites.settings.composites.title': "Blöcke";
487
+ readonly 'composites.settings.defaultBlockType.label': "Standard-Blocktyp";
488
+ readonly 'composites.settings.defaultBlockType.description': "Blocktyp der Blöcke, die die Werkzeugleiste, „/“-Befehle und „Überschriften in Blöcke“ anlegen.";
489
+ readonly 'composites.settings.blockTypeIcon.legend': "Blocktyp-Symbol";
490
+ readonly 'composites.settings.blockTypeIcon.always.label': "Immer anzeigen";
491
+ readonly 'composites.settings.blockTypeIcon.always.description': "Das Symbol des Blocktyps steht dauerhaft vor dem Block.";
492
+ readonly 'composites.settings.blockTypeIcon.hover.label': "Nur beim Überfahren";
493
+ readonly 'composites.settings.blockTypeIcon.hover.description': "Das Symbol erscheint, wenn die Maus über dem Block steht, er den Fokus hat oder seine Details geöffnet sind.";
491
494
  readonly 'composites.settings.dragHandle.legend': "Ziehgriff (Blöcke ohne Symbol)";
492
495
  readonly 'composites.settings.dragHandle.hover.label': "Nur beim Überfahren";
493
496
  readonly 'composites.settings.dragHandle.hover.description': "Der Ziehgriff erscheint am Block unter der Maus.";
@@ -497,9 +500,9 @@ export declare const de: {
497
500
  readonly 'composites.nesting.refused': "{parent} nimmt keine {child} auf.";
498
501
  readonly 'composites.move.blockGone': "Der Block existiert nicht mehr.";
499
502
  readonly 'composites.move.targetGone': "Das Ziel existiert nicht mehr.";
500
- readonly 'composites.move.targetNotBlock': "Das Ziel ist kein Baustein.";
503
+ readonly 'composites.move.targetNotBlock': "Das Ziel ist kein Block.";
501
504
  readonly 'composites.move.intoSelf': "Ein Block kann nicht in sich selbst verschoben werden.";
502
- readonly 'composites.move.intoOwn': "Ein Block kann nicht in einen Baustein verschoben werden, den er selbst enthält.";
505
+ readonly 'composites.move.intoOwn': "Ein Block kann nicht in einen Block verschoben werden, den er selbst enthält.";
503
506
  readonly 'composites.basket.label': "Korb";
504
507
  readonly 'composites.basket.none': "Kein Korb";
505
508
  readonly 'composites.basket.red': "Rot";
@@ -517,7 +520,7 @@ export declare const de: {
517
520
  readonly 'authors.title': "Autorenfarben";
518
521
  readonly 'authors.switch.label': "Text nach Autor einfärben";
519
522
  readonly 'authors.switch.description': "Zeigt, wer welchen Text geschrieben hat; die Farbe ist die Benutzerfarbe (wie bei Cursorn und Erwähnungen).";
520
- readonly 'authors.style.legend': "Darstellung der Autorenfarben";
523
+ readonly 'authors.style.legend': "Anzeige der Autorenfarben";
521
524
  readonly 'authors.style.background.label': "Hintergrund";
522
525
  readonly 'authors.style.background.description': "Text behält seine Farbe, farbig hinterlegt.";
523
526
  readonly 'authors.style.text.label': "Textfarbe";
@@ -531,7 +534,7 @@ export declare const de: {
531
534
  readonly 'comments.tab': "Kommentare";
532
535
  readonly 'comments.unavailable': "Kommentare gibt es nur in gemeinsam bearbeiteten Dokumenten.";
533
536
  readonly 'comments.empty': "Noch keine Kommentare.";
534
- readonly 'comments.layout.legend': "Darstellung der Kommentare";
537
+ readonly 'comments.layout.legend': "Anzeige der Kommentare";
535
538
  readonly 'comments.layout.margin.label': "Randspalte";
536
539
  readonly 'comments.layout.margin.description': "Karten neben dem Text, auf Höhe der kommentierten Stelle.";
537
540
  readonly 'comments.layout.inline.label': "Inline";
@@ -572,9 +575,9 @@ export declare const de: {
572
575
  readonly 'ai.task.custom.label': "Eigene Anweisung";
573
576
  readonly 'ai.task.custom.promptLabel': "Anweisung an die KI, z. B. „als Aufzählung“";
574
577
  readonly 'ai.task.continue.label': "Weiterschreiben";
575
- readonly 'ai.task.fillBlock.label': "Baustein füllen";
578
+ readonly 'ai.task.fillBlock.label': "Block füllen";
576
579
  readonly 'ai.task.fillBlock.promptLabel': "Hinweis (optional)";
577
- readonly 'ai.task.splitBlock.label': "Baustein gliedern";
580
+ readonly 'ai.task.splitBlock.label': "Block gliedern";
578
581
  readonly 'ai.task.outlineSanitize.label': "Gliederung bereinigen";
579
582
  readonly 'ai.task.transferSummary.label': "Zusammenfassung (Übertragen)";
580
583
  readonly 'ai.task.transferBullets.label': "Stichpunkte (Übertragen)";
@@ -699,8 +702,8 @@ export declare const de: {
699
702
  readonly 'ai.settings.autocomplete.description': "Grauer Text nach dem Cursor; Tab übernimmt, Esc verwirft.";
700
703
  readonly 'ai.settings.language.label': "Zielsprache beim Übersetzen";
701
704
  readonly 'ai.settings.language.description': "Vorausgewählt; im KI-Menü pro Aufruf änderbar.";
702
- readonly 'ai.settings.slots.title': "Modell je Aufgabe";
703
- readonly 'ai.settings.slots.description': "Welches Profil die einzelnen KI-Funktionen verwenden.";
705
+ readonly 'ai.settings.roles.title': "Modell je Aufgabe";
706
+ readonly 'ai.settings.roles.description': "Welches Profil die einzelnen KI-Funktionen verwenden.";
704
707
  readonly 'ai.settings.profiles.title': "Modellprofile";
705
708
  readonly 'ai.settings.profiles.description': "Server-Presets sind vorkonfiguriert. Eigene Profile werden nur in diesem Browser gespeichert; ihr API-Key wird mit jeder Anfrage gesendet und nicht auf dem Server abgelegt.";
706
709
  readonly 'ai.profiles.server': "Vom Server";
@@ -144,8 +144,8 @@ const en = {
144
144
  "ai.settings.autocomplete.description": "Grey text after the cursor; Tab accepts, Esc dismisses.",
145
145
  "ai.settings.language.label": "Target language for translating",
146
146
  "ai.settings.language.description": "Preselected; can be changed per call in the AI menu.",
147
- "ai.settings.slots.title": "Model per task",
148
- "ai.settings.slots.description": "Which profile the individual AI functions use.",
147
+ "ai.settings.roles.title": "Model per task",
148
+ "ai.settings.roles.description": "Which profile the individual AI functions use.",
149
149
  "ai.settings.profiles.title": "Model profiles",
150
150
  "ai.settings.profiles.description": "Server presets are preconfigured. Your own profiles are stored in this browser only; their API key is sent with every request and not stored on the server.",
151
151
  "ai.profiles.server": "From the server",
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","names":[],"sources":["../../../src/i18n/en/ai.ts"],"sourcesContent":["import type { de } from '../de/ai'\n\nexport const en: { [K in keyof typeof de]: string } = {\n // Tasks (menus, sidebar chips, prompt hints, result headings)\n 'ai.task.reformulate.label': 'Rephrase',\n 'ai.task.reformulate.promptLabel': 'Hint (optional), e.g. “shorter” or “more formal”',\n 'ai.task.generate.label': 'Generate text',\n 'ai.task.generate.promptLabel': 'What should be written?',\n 'ai.task.transcript.promptLabel': 'Hint (optional), e.g. “decisions only” or “in German”',\n 'ai.task.transcriptSummary.heading': 'Summary',\n 'ai.task.transcriptMinutes.heading': 'Minutes',\n 'ai.task.transcriptActionItems.heading': 'Action items',\n 'ai.task.fix.label': 'Fix',\n 'ai.task.shorter.label': 'Shorter',\n 'ai.task.formal.label': 'More formal',\n 'ai.task.casual.label': 'More casual',\n 'ai.task.translate.label': 'Translate',\n 'ai.task.summarize.label': 'Summarize',\n 'ai.task.custom.label': 'Custom instruction',\n 'ai.task.custom.promptLabel': 'Instruction for the AI, e.g. “as a bullet list”',\n 'ai.task.continue.label': 'Continue writing',\n 'ai.task.fillBlock.label': 'Fill block',\n 'ai.task.fillBlock.promptLabel': 'Hint (optional)',\n 'ai.task.splitBlock.label': 'Split block',\n 'ai.task.outlineSanitize.label': 'Clean up outline',\n 'ai.task.transferSummary.label': 'Summary (transfer)',\n 'ai.task.transferBullets.label': 'Bullet points (transfer)',\n\n // Model slots and target languages\n 'ai.slot.complete.label': 'Suggestions while typing',\n 'ai.slot.complete.description': 'Fast model; must support assistant prefill.',\n 'ai.slot.rewrite.label': 'Text in a block',\n 'ai.slot.rewrite.description': 'Rephrase, fix, translate, summarize, clean up transcript.',\n 'ai.slot.generate.label': 'Generate blocks & chat',\n 'ai.slot.generate.description': 'New blocks, minutes, chat agent (needs tool calling).',\n 'ai.slot.ariaLabel': 'Model for “{slot}”',\n 'ai.slot.manage': 'Manage models…',\n 'ai.language.de': 'German',\n 'ai.language.en': 'English',\n 'ai.language.fr': 'French',\n 'ai.language.es': 'Spanish',\n 'ai.language.it': 'Italian',\n\n // Feature entry points (toolbar, block action, slash command, settings tab)\n 'ai.tab': 'AI',\n 'ai.toolbar.sidebar': 'AI sidebar',\n 'ai.toolbar.autocomplete': 'AI suggestions while typing (Tab accepts, Esc dismisses)',\n 'ai.blockAction.label': 'Edit with AI',\n 'ai.slash.label': 'AI',\n\n // Notices\n 'ai.rateLimited': 'Too many AI requests, please wait a moment',\n 'ai.sse.unknownError': 'Unknown error',\n 'ai.sse.httpError': 'Error {status}',\n 'ai.sse.aborted': 'Connection interrupted',\n 'ai.chat.emptyScope': 'The selection contains no editable blocks.',\n 'ai.apply.missing.title': 'Text passage not found anymore',\n 'ai.apply.missing.description': 'The result was not applied.',\n 'ai.apply.empty.title': 'Empty result',\n 'ai.apply.empty.description': 'The result was not applied.',\n 'ai.apply.unchanged.title': 'No changes',\n 'ai.apply.unchanged.description': 'The result matches the existing text.',\n 'ai.apply.overlap.title': 'Text passage is already under review',\n 'ai.apply.overlap.description': 'Accept or discard the open AI changes first.',\n\n // In-document review\n 'ai.review.accept': 'Accept',\n 'ai.review.discard': 'Discard',\n 'ai.review.acceptAll': 'Accept all',\n 'ai.review.rejectAll': 'Discard all',\n 'ai.review.barLabel': 'Review AI changes',\n 'ai.review.count.one': '1 AI change',\n 'ai.review.count.other': '{n} AI changes',\n 'ai.review.previous': 'Previous change',\n 'ai.review.next': 'Next change',\n 'ai.review.invalid.one': 'AI change discarded',\n 'ai.review.invalid.other': '{n} AI changes discarded',\n 'ai.review.invalid.description': 'The original text has been changed in the meantime.',\n\n // Selection / caret menu\n 'ai.menu.trigger': 'AI',\n 'ai.menu.model': 'Model',\n 'ai.menu.targetLanguage': 'Target language',\n 'ai.menu.sendInstruction': 'Send instruction',\n 'ai.menu.requestWithLanguage': '{task} – {language}',\n 'ai.menu.cancel': 'Cancel',\n 'ai.menu.discard': 'Discard',\n 'ai.menu.retry': 'Try again',\n 'ai.menu.insert': 'Insert',\n 'ai.menu.insertBelow': 'Insert below',\n 'ai.menu.replace': 'Replace',\n 'ai.menu.missing.selection': 'The selected text was deleted.',\n 'ai.menu.missing.line': 'The line was deleted.',\n 'ai.menu.missing.insert': 'The result was not inserted.',\n\n // Sidebar\n 'ai.sidebar.label': 'AI sidebar',\n 'ai.sidebar.title': 'AI',\n 'ai.sidebar.newConversation': 'New conversation',\n 'ai.sidebar.close': 'Close',\n 'ai.sidebar.selection.one': 'Selection: {n} block',\n 'ai.sidebar.selection.other': 'Selection: {n} blocks',\n 'ai.sidebar.selection.title': 'Changes only affect the selected blocks',\n 'ai.sidebar.selection.clear': 'Clear selection',\n 'ai.sidebar.intro': 'Ask a question about the content, e.g. “Who said the budget isn’t enough?”, or ask for a change, e.g. “Shorten section 2”. With text selected, changes only affect the selected blocks. The quick actions below generate new blocks, e.g. minutes.',\n 'ai.sidebar.stop': 'Stop',\n 'ai.sidebar.discard': 'Discard',\n 'ai.sidebar.apply': 'Accept',\n 'ai.sidebar.generateGroup': 'Generate blocks',\n 'ai.sidebar.generate': 'Generate',\n 'ai.sidebar.placeholder': 'Question or change request…',\n 'ai.sidebar.messageLabel': 'Message about the document',\n 'ai.sidebar.send': 'Send',\n 'ai.sidebar.revealMissing': 'Text passage no longer in the document',\n\n // Chat edit operations\n 'ai.op.addAtStart': 'Insert at the start of the document',\n 'ai.op.addAfter': 'Insert after “{snippet}”',\n 'ai.op.convert': 'Convert to {target}: “{snippet}”',\n 'ai.op.update': 'Change: “{snippet}”',\n 'ai.op.delete': 'Delete: “{snippet}”',\n 'ai.op.accept': 'Accept',\n 'ai.op.discard': 'Discard',\n 'ai.op.problems.one': '1 suggestion discarded',\n 'ai.op.problems.other': '{n} suggestions discarded',\n 'ai.op.problems.description': 'The AI referred to blocks or block types that do not exist or that are outside the selection.',\n 'ai.op.invalid.title': 'Change no longer applicable',\n 'ai.op.invalid.description': 'The text has been changed differently in the meantime.',\n 'ai.op.snippet.documentStart': 'Start of document',\n 'ai.op.snippet.missing': 'Block no longer exists',\n 'ai.op.snippet.emptyBlock': 'Empty block',\n 'ai.op.snippet.image': 'Image',\n 'ai.op.snippet.audio': 'Audio',\n 'ai.op.snippet.video': 'Video',\n 'ai.op.snippet.file': 'File',\n 'ai.opBadge.pending': 'Open',\n 'ai.opBadge.accepted': 'Accepted',\n 'ai.opBadge.rejected': 'Rejected',\n 'ai.opBadge.partial': 'Partial',\n 'ai.opBadge.invalid': 'Expired',\n 'ai.opBadge.unchanged': 'No change',\n 'ai.opBadge.missing': 'Block missing',\n 'ai.opBadge.stale': 'Block deleted',\n 'ai.opBadge.overlap': 'Spot occupied',\n 'ai.opBadge.empty': 'Empty',\n 'ai.opBadge.blocked': 'Outside the selection',\n 'ai.opTitle.pending': 'Suggestion not decided yet',\n 'ai.opTitle.accepted': 'Suggestion accepted',\n 'ai.opTitle.rejected': 'Suggestion rejected',\n 'ai.opTitle.partial': 'Suggestion partially accepted',\n 'ai.opTitle.invalid': 'Suggestion expired because the text has been changed differently in the meantime',\n 'ai.opTitle.unchanged': 'Suggestion not shown because it matches the existing text',\n 'ai.opTitle.missing': 'Suggestion not shown because the block no longer exists',\n 'ai.opTitle.stale': 'Suggestion not shown: the block was deleted in the meantime',\n 'ai.opTitle.overlap': 'Suggestion not shown because other AI changes are still open at that spot',\n 'ai.opTitle.empty': 'Suggestion not shown because its content is empty',\n 'ai.opTitle.blocked': 'Suggestion blocked because it lies outside the permitted area',\n\n // Settings tab\n 'ai.settings.writing.title': 'While writing',\n 'ai.settings.autocomplete.label': 'AI suggestions while typing',\n 'ai.settings.autocomplete.description': 'Grey text after the cursor; Tab accepts, Esc dismisses.',\n 'ai.settings.language.label': 'Target language for translating',\n 'ai.settings.language.description': 'Preselected; can be changed per call in the AI menu.',\n 'ai.settings.slots.title': 'Model per task',\n 'ai.settings.slots.description': 'Which profile the individual AI functions use.',\n 'ai.settings.profiles.title': 'Model profiles',\n 'ai.settings.profiles.description': 'Server presets are preconfigured. Your own profiles are stored in this browser only; their API key is sent with every request and not stored on the server.',\n 'ai.profiles.server': 'From the server',\n 'ai.profiles.noPresets': 'No presets loaded.',\n 'ai.profiles.serverBadge': 'Server',\n 'ai.profiles.own': 'Own profiles',\n 'ai.profiles.add': 'Add profile',\n 'ai.profiles.edit': 'Edit',\n 'ai.profiles.delete': 'Delete',\n 'ai.profiles.name': 'Name',\n 'ai.profiles.namePlaceholder': 'e.g. Local',\n 'ai.profiles.endpoint': 'Endpoint',\n 'ai.profiles.endpointHelp': 'OpenAI-compatible base URL.',\n 'ai.profiles.endpointPlaceholder': 'https://openrouter.ai/api/v1',\n 'ai.profiles.model': 'Model',\n 'ai.profiles.modelPlaceholder': 'google/gemini-2.5-flash',\n 'ai.profiles.apiKey': 'API key',\n 'ai.profiles.testOk': 'Connection works',\n 'ai.profiles.test': 'Test',\n 'ai.profiles.cancel': 'Cancel',\n 'ai.profiles.save': 'Save',\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ai.js","names":[],"sources":["../../../src/i18n/en/ai.ts"],"sourcesContent":["import type { de } from '../de/ai'\n\nexport const en: { [K in keyof typeof de]: string } = {\n // Tasks (menus, sidebar chips, prompt hints, result headings)\n 'ai.task.reformulate.label': 'Rephrase',\n 'ai.task.reformulate.promptLabel': 'Hint (optional), e.g. “shorter” or “more formal”',\n 'ai.task.generate.label': 'Generate text',\n 'ai.task.generate.promptLabel': 'What should be written?',\n 'ai.task.transcript.promptLabel': 'Hint (optional), e.g. “decisions only” or “in German”',\n 'ai.task.transcriptSummary.heading': 'Summary',\n 'ai.task.transcriptMinutes.heading': 'Minutes',\n 'ai.task.transcriptActionItems.heading': 'Action items',\n 'ai.task.fix.label': 'Fix',\n 'ai.task.shorter.label': 'Shorter',\n 'ai.task.formal.label': 'More formal',\n 'ai.task.casual.label': 'More casual',\n 'ai.task.translate.label': 'Translate',\n 'ai.task.summarize.label': 'Summarize',\n 'ai.task.custom.label': 'Custom instruction',\n 'ai.task.custom.promptLabel': 'Instruction for the AI, e.g. “as a bullet list”',\n 'ai.task.continue.label': 'Continue writing',\n 'ai.task.fillBlock.label': 'Fill block',\n 'ai.task.fillBlock.promptLabel': 'Hint (optional)',\n 'ai.task.splitBlock.label': 'Split block',\n 'ai.task.outlineSanitize.label': 'Clean up outline',\n 'ai.task.transferSummary.label': 'Summary (transfer)',\n 'ai.task.transferBullets.label': 'Bullet points (transfer)',\n\n // Model slots and target languages\n 'ai.slot.complete.label': 'Suggestions while typing',\n 'ai.slot.complete.description': 'Fast model; must support assistant prefill.',\n 'ai.slot.rewrite.label': 'Text in a block',\n 'ai.slot.rewrite.description': 'Rephrase, fix, translate, summarize, clean up transcript.',\n 'ai.slot.generate.label': 'Generate blocks & chat',\n 'ai.slot.generate.description': 'New blocks, minutes, chat agent (needs tool calling).',\n 'ai.slot.ariaLabel': 'Model for “{slot}”',\n 'ai.slot.manage': 'Manage models…',\n 'ai.language.de': 'German',\n 'ai.language.en': 'English',\n 'ai.language.fr': 'French',\n 'ai.language.es': 'Spanish',\n 'ai.language.it': 'Italian',\n\n // Feature entry points (toolbar, block action, slash command, settings tab)\n 'ai.tab': 'AI',\n 'ai.toolbar.sidebar': 'AI sidebar',\n 'ai.toolbar.autocomplete': 'AI suggestions while typing (Tab accepts, Esc dismisses)',\n 'ai.blockAction.label': 'Edit with AI',\n 'ai.slash.label': 'AI',\n\n // Notices\n 'ai.rateLimited': 'Too many AI requests, please wait a moment',\n 'ai.sse.unknownError': 'Unknown error',\n 'ai.sse.httpError': 'Error {status}',\n 'ai.sse.aborted': 'Connection interrupted',\n 'ai.chat.emptyScope': 'The selection contains no editable blocks.',\n 'ai.apply.missing.title': 'Text passage not found anymore',\n 'ai.apply.missing.description': 'The result was not applied.',\n 'ai.apply.empty.title': 'Empty result',\n 'ai.apply.empty.description': 'The result was not applied.',\n 'ai.apply.unchanged.title': 'No changes',\n 'ai.apply.unchanged.description': 'The result matches the existing text.',\n 'ai.apply.overlap.title': 'Text passage is already under review',\n 'ai.apply.overlap.description': 'Accept or discard the open AI changes first.',\n\n // In-document review\n 'ai.review.accept': 'Accept',\n 'ai.review.discard': 'Discard',\n 'ai.review.acceptAll': 'Accept all',\n 'ai.review.rejectAll': 'Discard all',\n 'ai.review.barLabel': 'Review AI changes',\n 'ai.review.count.one': '1 AI change',\n 'ai.review.count.other': '{n} AI changes',\n 'ai.review.previous': 'Previous change',\n 'ai.review.next': 'Next change',\n 'ai.review.invalid.one': 'AI change discarded',\n 'ai.review.invalid.other': '{n} AI changes discarded',\n 'ai.review.invalid.description': 'The original text has been changed in the meantime.',\n\n // Selection / caret menu\n 'ai.menu.trigger': 'AI',\n 'ai.menu.model': 'Model',\n 'ai.menu.targetLanguage': 'Target language',\n 'ai.menu.sendInstruction': 'Send instruction',\n 'ai.menu.requestWithLanguage': '{task} – {language}',\n 'ai.menu.cancel': 'Cancel',\n 'ai.menu.discard': 'Discard',\n 'ai.menu.retry': 'Try again',\n 'ai.menu.insert': 'Insert',\n 'ai.menu.insertBelow': 'Insert below',\n 'ai.menu.replace': 'Replace',\n 'ai.menu.missing.selection': 'The selected text was deleted.',\n 'ai.menu.missing.line': 'The line was deleted.',\n 'ai.menu.missing.insert': 'The result was not inserted.',\n\n // Sidebar\n 'ai.sidebar.label': 'AI sidebar',\n 'ai.sidebar.title': 'AI',\n 'ai.sidebar.newConversation': 'New conversation',\n 'ai.sidebar.close': 'Close',\n 'ai.sidebar.selection.one': 'Selection: {n} block',\n 'ai.sidebar.selection.other': 'Selection: {n} blocks',\n 'ai.sidebar.selection.title': 'Changes only affect the selected blocks',\n 'ai.sidebar.selection.clear': 'Clear selection',\n 'ai.sidebar.intro': 'Ask a question about the content, e.g. “Who said the budget isn’t enough?”, or ask for a change, e.g. “Shorten section 2”. With text selected, changes only affect the selected blocks. The quick actions below generate new blocks, e.g. minutes.',\n 'ai.sidebar.stop': 'Stop',\n 'ai.sidebar.discard': 'Discard',\n 'ai.sidebar.apply': 'Accept',\n 'ai.sidebar.generateGroup': 'Generate blocks',\n 'ai.sidebar.generate': 'Generate',\n 'ai.sidebar.placeholder': 'Question or change request…',\n 'ai.sidebar.messageLabel': 'Message about the document',\n 'ai.sidebar.send': 'Send',\n 'ai.sidebar.revealMissing': 'Text passage no longer in the document',\n\n // Chat edit operations\n 'ai.op.addAtStart': 'Insert at the start of the document',\n 'ai.op.addAfter': 'Insert after “{snippet}”',\n 'ai.op.convert': 'Convert to {target}: “{snippet}”',\n 'ai.op.update': 'Change: “{snippet}”',\n 'ai.op.delete': 'Delete: “{snippet}”',\n 'ai.op.accept': 'Accept',\n 'ai.op.discard': 'Discard',\n 'ai.op.problems.one': '1 suggestion discarded',\n 'ai.op.problems.other': '{n} suggestions discarded',\n 'ai.op.problems.description': 'The AI referred to blocks or block types that do not exist or that are outside the selection.',\n 'ai.op.invalid.title': 'Change no longer applicable',\n 'ai.op.invalid.description': 'The text has been changed differently in the meantime.',\n 'ai.op.snippet.documentStart': 'Start of document',\n 'ai.op.snippet.missing': 'Block no longer exists',\n 'ai.op.snippet.emptyBlock': 'Empty block',\n 'ai.op.snippet.image': 'Image',\n 'ai.op.snippet.audio': 'Audio',\n 'ai.op.snippet.video': 'Video',\n 'ai.op.snippet.file': 'File',\n 'ai.opBadge.pending': 'Open',\n 'ai.opBadge.accepted': 'Accepted',\n 'ai.opBadge.rejected': 'Rejected',\n 'ai.opBadge.partial': 'Partial',\n 'ai.opBadge.invalid': 'Expired',\n 'ai.opBadge.unchanged': 'No change',\n 'ai.opBadge.missing': 'Block missing',\n 'ai.opBadge.stale': 'Block deleted',\n 'ai.opBadge.overlap': 'Spot occupied',\n 'ai.opBadge.empty': 'Empty',\n 'ai.opBadge.blocked': 'Outside the selection',\n 'ai.opTitle.pending': 'Suggestion not decided yet',\n 'ai.opTitle.accepted': 'Suggestion accepted',\n 'ai.opTitle.rejected': 'Suggestion rejected',\n 'ai.opTitle.partial': 'Suggestion partially accepted',\n 'ai.opTitle.invalid': 'Suggestion expired because the text has been changed differently in the meantime',\n 'ai.opTitle.unchanged': 'Suggestion not shown because it matches the existing text',\n 'ai.opTitle.missing': 'Suggestion not shown because the block no longer exists',\n 'ai.opTitle.stale': 'Suggestion not shown: the block was deleted in the meantime',\n 'ai.opTitle.overlap': 'Suggestion not shown because other AI changes are still open at that spot',\n 'ai.opTitle.empty': 'Suggestion not shown because its content is empty',\n 'ai.opTitle.blocked': 'Suggestion blocked because it lies outside the permitted area',\n\n // Settings tab\n 'ai.settings.writing.title': 'While writing',\n 'ai.settings.autocomplete.label': 'AI suggestions while typing',\n 'ai.settings.autocomplete.description': 'Grey text after the cursor; Tab accepts, Esc dismisses.',\n 'ai.settings.language.label': 'Target language for translating',\n 'ai.settings.language.description': 'Preselected; can be changed per call in the AI menu.',\n 'ai.settings.roles.title': 'Model per task',\n 'ai.settings.roles.description': 'Which profile the individual AI functions use.',\n 'ai.settings.profiles.title': 'Model profiles',\n 'ai.settings.profiles.description': 'Server presets are preconfigured. Your own profiles are stored in this browser only; their API key is sent with every request and not stored on the server.',\n 'ai.profiles.server': 'From the server',\n 'ai.profiles.noPresets': 'No presets loaded.',\n 'ai.profiles.serverBadge': 'Server',\n 'ai.profiles.own': 'Own profiles',\n 'ai.profiles.add': 'Add profile',\n 'ai.profiles.edit': 'Edit',\n 'ai.profiles.delete': 'Delete',\n 'ai.profiles.name': 'Name',\n 'ai.profiles.namePlaceholder': 'e.g. Local',\n 'ai.profiles.endpoint': 'Endpoint',\n 'ai.profiles.endpointHelp': 'OpenAI-compatible base URL.',\n 'ai.profiles.endpointPlaceholder': 'https://openrouter.ai/api/v1',\n 'ai.profiles.model': 'Model',\n 'ai.profiles.modelPlaceholder': 'google/gemini-2.5-flash',\n 'ai.profiles.apiKey': 'API key',\n 'ai.profiles.testOk': 'Connection works',\n 'ai.profiles.test': 'Test',\n 'ai.profiles.cancel': 'Cancel',\n 'ai.profiles.save': 'Save',\n}\n"],"mappings":"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"}