@bgx4k3p/huly-mcp-server 2.2.4 → 2.2.5

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 (696) hide show
  1. package/README.md +186 -56
  2. package/node_modules/@hcengineering/account-client/lib/__tests__/utils.test.js +249 -0
  3. package/node_modules/@hcengineering/account-client/lib/__tests__/utils.test.js.map +7 -0
  4. package/node_modules/@hcengineering/account-client/lib/client.js +88 -3
  5. package/node_modules/@hcengineering/account-client/lib/client.js.map +2 -2
  6. package/node_modules/@hcengineering/account-client/lib/types.js.map +2 -2
  7. package/node_modules/@hcengineering/account-client/lib/utils.js +50 -0
  8. package/node_modules/@hcengineering/account-client/lib/utils.js.map +2 -2
  9. package/node_modules/@hcengineering/account-client/package.json +22 -19
  10. package/node_modules/@hcengineering/account-client/src/__tests__/utils.test.ts +304 -0
  11. package/node_modules/@hcengineering/account-client/src/client.ts +127 -6
  12. package/node_modules/@hcengineering/account-client/src/types.ts +7 -0
  13. package/node_modules/@hcengineering/account-client/src/utils.ts +65 -1
  14. package/node_modules/@hcengineering/analytics/lib/index.js +1 -1
  15. package/node_modules/@hcengineering/analytics/lib/index.js.map +2 -2
  16. package/node_modules/@hcengineering/analytics/package.json +19 -16
  17. package/node_modules/@hcengineering/analytics/src/index.ts +2 -1
  18. package/node_modules/@hcengineering/api-client/lib/client.js +9 -4
  19. package/node_modules/@hcengineering/api-client/lib/client.js.map +2 -2
  20. package/node_modules/@hcengineering/api-client/lib/rest/adapter.js +64 -0
  21. package/node_modules/@hcengineering/api-client/lib/rest/adapter.js.map +7 -0
  22. package/node_modules/@hcengineering/api-client/lib/rest/index.js +2 -0
  23. package/node_modules/@hcengineering/api-client/lib/rest/index.js.map +2 -2
  24. package/node_modules/@hcengineering/api-client/lib/socket/node.js +5 -1
  25. package/node_modules/@hcengineering/api-client/lib/socket/node.js.map +2 -2
  26. package/node_modules/@hcengineering/api-client/package.json +28 -25
  27. package/node_modules/@hcengineering/api-client/src/client.ts +10 -1
  28. package/node_modules/@hcengineering/api-client/src/rest/adapter.ts +96 -0
  29. package/node_modules/@hcengineering/api-client/src/rest/index.ts +1 -0
  30. package/node_modules/@hcengineering/api-client/src/socket/node.ts +6 -1
  31. package/node_modules/@hcengineering/chunter/lib/index.js.map +2 -2
  32. package/node_modules/@hcengineering/chunter/package.json +13 -10
  33. package/node_modules/@hcengineering/client/package.json +21 -18
  34. package/node_modules/@hcengineering/client-resources/package.json +24 -21
  35. package/node_modules/@hcengineering/collaborator-client/package.json +21 -18
  36. package/node_modules/@hcengineering/contact/lib/__tests__/workspaceMemberStatusUtils.test.js +38 -0
  37. package/node_modules/@hcengineering/contact/lib/__tests__/workspaceMemberStatusUtils.test.js.map +7 -0
  38. package/node_modules/@hcengineering/contact/lib/index.js +13 -4
  39. package/node_modules/@hcengineering/contact/lib/index.js.map +2 -2
  40. package/node_modules/@hcengineering/contact/lib/types.js.map +1 -1
  41. package/node_modules/@hcengineering/contact/lib/utils.js +132 -108
  42. package/node_modules/@hcengineering/contact/lib/utils.js.map +3 -3
  43. package/node_modules/@hcengineering/contact/lib/workspaceMemberStatusUtils.js +79 -0
  44. package/node_modules/@hcengineering/contact/lib/workspaceMemberStatusUtils.js.map +7 -0
  45. package/node_modules/@hcengineering/contact/package.json +12 -9
  46. package/node_modules/@hcengineering/core/CHANGELOG.md +9 -1
  47. package/node_modules/@hcengineering/core/lang/cs.json +6 -1
  48. package/node_modules/@hcengineering/core/lang/de.json +6 -1
  49. package/node_modules/@hcengineering/core/lang/en.json +6 -1
  50. package/node_modules/@hcengineering/core/lang/es.json +6 -1
  51. package/node_modules/@hcengineering/core/lang/fr.json +6 -1
  52. package/node_modules/@hcengineering/core/lang/it.json +6 -1
  53. package/node_modules/@hcengineering/core/lang/ja.json +6 -1
  54. package/node_modules/@hcengineering/core/lang/pt-br.json +70 -0
  55. package/node_modules/@hcengineering/core/lang/pt.json +6 -1
  56. package/node_modules/@hcengineering/core/lang/ru.json +6 -1
  57. package/node_modules/@hcengineering/core/lang/tr.json +6 -1
  58. package/node_modules/@hcengineering/core/lang/zh.json +6 -1
  59. package/node_modules/@hcengineering/core/lib/__tests__/autoJoinRoles.test.js +13 -0
  60. package/node_modules/@hcengineering/core/lib/__tests__/autoJoinRoles.test.js.map +7 -0
  61. package/node_modules/@hcengineering/core/lib/__tests__/memdb.test.js +133 -0
  62. package/node_modules/@hcengineering/core/lib/__tests__/memdb.test.js.map +2 -2
  63. package/node_modules/@hcengineering/core/lib/__tests__/minmodel.js +25 -0
  64. package/node_modules/@hcengineering/core/lib/__tests__/minmodel.js.map +2 -2
  65. package/node_modules/@hcengineering/core/lib/__tests__/query.test.js +43 -0
  66. package/node_modules/@hcengineering/core/lib/__tests__/query.test.js.map +7 -0
  67. package/node_modules/@hcengineering/core/lib/autoJoinRoles.js +36 -0
  68. package/node_modules/@hcengineering/core/lib/autoJoinRoles.js.map +7 -0
  69. package/node_modules/@hcengineering/core/lib/classes.js +5 -0
  70. package/node_modules/@hcengineering/core/lib/classes.js.map +3 -3
  71. package/node_modules/@hcengineering/core/lib/clone.js +13 -2
  72. package/node_modules/@hcengineering/core/lib/clone.js.map +2 -2
  73. package/node_modules/@hcengineering/core/lib/component.js +14 -3
  74. package/node_modules/@hcengineering/core/lib/component.js.map +2 -2
  75. package/node_modules/@hcengineering/core/lib/index.js +2 -0
  76. package/node_modules/@hcengineering/core/lib/index.js.map +2 -2
  77. package/node_modules/@hcengineering/core/lib/memdb.js +6 -2
  78. package/node_modules/@hcengineering/core/lib/memdb.js.map +2 -2
  79. package/node_modules/@hcengineering/core/lib/operations.js +11 -0
  80. package/node_modules/@hcengineering/core/lib/operations.js.map +2 -2
  81. package/node_modules/@hcengineering/core/lib/predicate.js +3 -0
  82. package/node_modules/@hcengineering/core/lib/predicate.js.map +2 -2
  83. package/node_modules/@hcengineering/core/lib/storage.js.map +2 -2
  84. package/node_modules/@hcengineering/core/lib/tx.js +3 -1
  85. package/node_modules/@hcengineering/core/lib/tx.js.map +2 -2
  86. package/node_modules/@hcengineering/core/lib/utils.js +1 -1
  87. package/node_modules/@hcengineering/core/lib/utils.js.map +2 -2
  88. package/node_modules/@hcengineering/core/lib/versioning.js +17 -0
  89. package/node_modules/@hcengineering/core/lib/versioning.js.map +7 -0
  90. package/node_modules/@hcengineering/core/package.json +22 -19
  91. package/node_modules/@hcengineering/core/src/__tests__/autoJoinRoles.test.ts +27 -0
  92. package/node_modules/@hcengineering/core/src/__tests__/memdb.test.ts +150 -1
  93. package/node_modules/@hcengineering/core/src/__tests__/minmodel.ts +29 -1
  94. package/node_modules/@hcengineering/core/src/__tests__/query.test.ts +66 -0
  95. package/node_modules/@hcengineering/core/src/autoJoinRoles.ts +33 -0
  96. package/node_modules/@hcengineering/core/src/classes.ts +61 -1
  97. package/node_modules/@hcengineering/core/src/clone.ts +13 -2
  98. package/node_modules/@hcengineering/core/src/component.ts +25 -9
  99. package/node_modules/@hcengineering/core/src/index.ts +2 -0
  100. package/node_modules/@hcengineering/core/src/memdb.ts +7 -3
  101. package/node_modules/@hcengineering/core/src/operations.ts +11 -0
  102. package/node_modules/@hcengineering/core/src/predicate.ts +3 -0
  103. package/node_modules/@hcengineering/core/src/storage.ts +6 -3
  104. package/node_modules/@hcengineering/core/src/tx.ts +4 -1
  105. package/node_modules/@hcengineering/core/src/utils.ts +1 -1
  106. package/node_modules/@hcengineering/core/src/versioning.ts +13 -0
  107. package/node_modules/@hcengineering/measurements/lib/__tests__/performance.test.js +3 -3
  108. package/node_modules/@hcengineering/measurements/lib/__tests__/performance.test.js.map +2 -2
  109. package/node_modules/@hcengineering/measurements/package.json +17 -14
  110. package/node_modules/@hcengineering/measurements/src/__tests__/performance.test.ts +3 -3
  111. package/node_modules/@hcengineering/platform/lang/pt-br.json +31 -0
  112. package/node_modules/@hcengineering/platform/lib/__tests__/i18n.test.js +100 -0
  113. package/node_modules/@hcengineering/platform/lib/__tests__/i18n.test.js.map +2 -2
  114. package/node_modules/@hcengineering/platform/lib/__tests__/status.test.js +78 -0
  115. package/node_modules/@hcengineering/platform/lib/__tests__/status.test.js.map +7 -0
  116. package/node_modules/@hcengineering/platform/lib/i18n.js +78 -69
  117. package/node_modules/@hcengineering/platform/lib/i18n.js.map +3 -3
  118. package/node_modules/@hcengineering/platform/lib/status.js +25 -0
  119. package/node_modules/@hcengineering/platform/lib/status.js.map +2 -2
  120. package/node_modules/@hcengineering/platform/package.json +18 -15
  121. package/node_modules/@hcengineering/platform/src/__tests__/i18n.test.ts +114 -2
  122. package/node_modules/@hcengineering/platform/src/__tests__/status.test.ts +77 -0
  123. package/node_modules/@hcengineering/platform/src/i18n.ts +99 -71
  124. package/node_modules/@hcengineering/platform/src/status.ts +30 -0
  125. package/node_modules/@hcengineering/rank/package.json +19 -16
  126. package/node_modules/@hcengineering/rpc/package.json +21 -18
  127. package/node_modules/@hcengineering/tags/package.json +12 -9
  128. package/node_modules/@hcengineering/task/package.json +14 -11
  129. package/node_modules/@hcengineering/text/lib/markup/__tests__/utils.test.js +25 -0
  130. package/node_modules/@hcengineering/text/lib/markup/__tests__/utils.test.js.map +2 -2
  131. package/node_modules/@hcengineering/text/lib/tiptapExtensions.js +6 -0
  132. package/node_modules/@hcengineering/text/lib/tiptapExtensions.js.map +2 -2
  133. package/node_modules/@hcengineering/text/package.json +23 -18
  134. package/node_modules/@hcengineering/text/src/markup/__tests__/utils.test.ts +27 -0
  135. package/node_modules/@hcengineering/text/src/tiptapExtensions.ts +3 -0
  136. package/node_modules/@hcengineering/text-core/lib/markup/model.js +1 -0
  137. package/node_modules/@hcengineering/text-core/lib/markup/model.js.map +2 -2
  138. package/node_modules/@hcengineering/text-core/package.json +20 -17
  139. package/node_modules/@hcengineering/text-core/src/markup/model.ts +2 -1
  140. package/node_modules/@hcengineering/text-html/package.json +19 -16
  141. package/node_modules/@hcengineering/text-markdown/lib/serializer.js +14 -0
  142. package/node_modules/@hcengineering/text-markdown/lib/serializer.js.map +2 -2
  143. package/node_modules/@hcengineering/text-markdown/package.json +20 -17
  144. package/node_modules/@hcengineering/text-markdown/src/serializer.ts +14 -0
  145. package/node_modules/@hcengineering/tracker/lib/index.js +1 -0
  146. package/node_modules/@hcengineering/tracker/lib/index.js.map +2 -2
  147. package/node_modules/@hcengineering/tracker/package.json +16 -13
  148. package/node_modules/@tiptap/core/dist/commands/focus.d.ts.map +1 -1
  149. package/node_modules/@tiptap/core/dist/index.cjs +19 -2
  150. package/node_modules/@tiptap/core/dist/index.cjs.map +1 -1
  151. package/node_modules/@tiptap/core/dist/index.js +19 -3
  152. package/node_modules/@tiptap/core/dist/index.js.map +1 -1
  153. package/node_modules/@tiptap/core/dist/index.umd.js +19 -2
  154. package/node_modules/@tiptap/core/dist/index.umd.js.map +1 -1
  155. package/node_modules/@tiptap/core/dist/utilities/index.d.ts +1 -0
  156. package/node_modules/@tiptap/core/dist/utilities/index.d.ts.map +1 -1
  157. package/node_modules/@tiptap/core/dist/utilities/isSafari.d.ts +10 -0
  158. package/node_modules/@tiptap/core/dist/utilities/isSafari.d.ts.map +1 -0
  159. package/node_modules/@tiptap/core/package.json +2 -2
  160. package/node_modules/@tiptap/core/src/commands/focus.ts +7 -2
  161. package/node_modules/@tiptap/core/src/utilities/index.ts +1 -0
  162. package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
  163. package/node_modules/@tiptap/extension-blockquote/package.json +2 -2
  164. package/node_modules/@tiptap/extension-bold/package.json +2 -2
  165. package/node_modules/@tiptap/extension-bullet-list/package.json +2 -2
  166. package/node_modules/@tiptap/extension-code/package.json +2 -2
  167. package/node_modules/@tiptap/extension-code-block/package.json +3 -3
  168. package/node_modules/@tiptap/extension-document/package.json +2 -2
  169. package/node_modules/@tiptap/extension-dropcursor/package.json +3 -3
  170. package/node_modules/@tiptap/extension-gapcursor/package.json +3 -3
  171. package/node_modules/@tiptap/extension-hard-break/package.json +2 -2
  172. package/node_modules/@tiptap/extension-heading/package.json +2 -2
  173. package/node_modules/@tiptap/extension-highlight/package.json +2 -2
  174. package/node_modules/@tiptap/extension-history/package.json +3 -3
  175. package/node_modules/@tiptap/extension-horizontal-rule/package.json +3 -3
  176. package/node_modules/@tiptap/extension-italic/package.json +2 -2
  177. package/node_modules/@tiptap/extension-link/package.json +3 -3
  178. package/node_modules/@tiptap/extension-list-item/package.json +2 -2
  179. package/node_modules/@tiptap/extension-mention/package.json +4 -4
  180. package/node_modules/@tiptap/extension-ordered-list/package.json +2 -2
  181. package/node_modules/@tiptap/extension-paragraph/package.json +2 -2
  182. package/node_modules/@tiptap/extension-strike/package.json +2 -2
  183. package/node_modules/@tiptap/extension-subscript/README.md +14 -0
  184. package/node_modules/@tiptap/extension-subscript/dist/index.cjs +61 -0
  185. package/node_modules/@tiptap/extension-subscript/dist/index.cjs.map +1 -0
  186. package/node_modules/@tiptap/extension-subscript/dist/index.d.ts +4 -0
  187. package/node_modules/@tiptap/extension-subscript/dist/index.d.ts.map +1 -0
  188. package/node_modules/@tiptap/extension-subscript/dist/index.js +56 -0
  189. package/node_modules/@tiptap/extension-subscript/dist/index.js.map +1 -0
  190. package/node_modules/@tiptap/extension-subscript/dist/index.umd.js +65 -0
  191. package/node_modules/@tiptap/extension-subscript/dist/index.umd.js.map +1 -0
  192. package/node_modules/@tiptap/extension-subscript/dist/subscript.d.ts +36 -0
  193. package/node_modules/@tiptap/extension-subscript/dist/subscript.d.ts.map +1 -0
  194. package/node_modules/@tiptap/extension-subscript/package.json +49 -0
  195. package/node_modules/@tiptap/extension-subscript/src/index.ts +5 -0
  196. package/node_modules/@tiptap/extension-subscript/src/subscript.ts +91 -0
  197. package/node_modules/@tiptap/extension-superscript/README.md +14 -0
  198. package/node_modules/@tiptap/extension-superscript/dist/index.cjs +61 -0
  199. package/node_modules/@tiptap/extension-superscript/dist/index.cjs.map +1 -0
  200. package/node_modules/@tiptap/extension-superscript/dist/index.d.ts +4 -0
  201. package/node_modules/@tiptap/extension-superscript/dist/index.d.ts.map +1 -0
  202. package/node_modules/@tiptap/extension-superscript/dist/index.js +56 -0
  203. package/node_modules/@tiptap/extension-superscript/dist/index.js.map +1 -0
  204. package/node_modules/@tiptap/extension-superscript/dist/index.umd.js +65 -0
  205. package/node_modules/@tiptap/extension-superscript/dist/index.umd.js.map +1 -0
  206. package/node_modules/@tiptap/extension-superscript/dist/superscript.d.ts +36 -0
  207. package/node_modules/@tiptap/extension-superscript/dist/superscript.d.ts.map +1 -0
  208. package/node_modules/@tiptap/extension-superscript/package.json +49 -0
  209. package/node_modules/@tiptap/extension-superscript/src/index.ts +5 -0
  210. package/node_modules/@tiptap/extension-superscript/src/superscript.ts +91 -0
  211. package/node_modules/@tiptap/extension-table/package.json +3 -3
  212. package/node_modules/@tiptap/extension-table-cell/package.json +2 -2
  213. package/node_modules/@tiptap/extension-table-header/package.json +2 -2
  214. package/node_modules/@tiptap/extension-table-row/package.json +2 -2
  215. package/node_modules/@tiptap/extension-task-item/package.json +3 -3
  216. package/node_modules/@tiptap/extension-task-list/package.json +2 -2
  217. package/node_modules/@tiptap/extension-text/package.json +2 -2
  218. package/node_modules/@tiptap/extension-typography/package.json +2 -2
  219. package/node_modules/@tiptap/extension-underline/package.json +2 -2
  220. package/node_modules/@tiptap/html/package.json +3 -3
  221. package/node_modules/@tiptap/pm/package.json +1 -1
  222. package/node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-text-style/package.json +2 -2
  223. package/node_modules/@tiptap/starter-kit/package.json +22 -22
  224. package/node_modules/@tiptap/suggestion/package.json +3 -3
  225. package/node_modules/linkify-it/build/index.cjs.js +99 -94
  226. package/node_modules/linkify-it/index.mjs +99 -94
  227. package/node_modules/linkify-it/package.json +11 -1
  228. package/node_modules/linkifyjs/README.md +4 -2
  229. package/node_modules/linkifyjs/dist/linkify.cjs +8 -11
  230. package/node_modules/linkifyjs/dist/linkify.d.cts +14 -14
  231. package/node_modules/linkifyjs/dist/linkify.d.mts +14 -14
  232. package/node_modules/linkifyjs/dist/linkify.js +8 -11
  233. package/node_modules/linkifyjs/dist/linkify.min.js +1 -1
  234. package/node_modules/linkifyjs/dist/linkify.mjs +8 -11
  235. package/node_modules/linkifyjs/package.json +1 -1
  236. package/node_modules/markdown-it/README.md +13 -17
  237. package/node_modules/markdown-it/dist/index.cjs.js +111 -31
  238. package/node_modules/markdown-it/dist/markdown-it.js +117 -31
  239. package/node_modules/markdown-it/dist/markdown-it.min.js +2 -2
  240. package/node_modules/markdown-it/lib/common/utils.mjs +30 -1
  241. package/node_modules/markdown-it/lib/index.mjs +1 -1
  242. package/node_modules/markdown-it/lib/rules_block/heading.mjs +2 -2
  243. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +12 -1
  244. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +4 -1
  245. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +3 -1
  246. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +37 -21
  247. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +2 -2
  248. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +37 -6
  249. package/node_modules/markdown-it/package.json +14 -3
  250. package/node_modules/msgpackr/README.md +1 -3
  251. package/node_modules/msgpackr/benchmark.md +26 -16
  252. package/node_modules/msgpackr/dist/index-no-eval.cjs +35 -16
  253. package/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  254. package/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  255. package/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  256. package/node_modules/msgpackr/dist/index.js +35 -16
  257. package/node_modules/msgpackr/dist/index.js.map +1 -1
  258. package/node_modules/msgpackr/dist/index.min.js +1 -1
  259. package/node_modules/msgpackr/dist/index.min.js.map +1 -1
  260. package/node_modules/msgpackr/dist/node.cjs +50 -26
  261. package/node_modules/msgpackr/dist/node.cjs.map +1 -1
  262. package/node_modules/msgpackr/dist/test.js +44 -16
  263. package/node_modules/msgpackr/dist/test.js.map +1 -1
  264. package/node_modules/msgpackr/dist/unpack-no-eval.cjs +35 -16
  265. package/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  266. package/node_modules/msgpackr/index.d.cts +2 -0
  267. package/node_modules/msgpackr/index.d.ts +2 -0
  268. package/node_modules/msgpackr/package.json +1 -1
  269. package/node_modules/msgpackr/stream.js +15 -10
  270. package/node_modules/msgpackr/unpack.js +35 -16
  271. package/node_modules/prosemirror-changeset/CHANGELOG.md +12 -0
  272. package/node_modules/prosemirror-changeset/README.md +31 -2
  273. package/node_modules/prosemirror-changeset/dist/index.cjs +17 -2
  274. package/node_modules/prosemirror-changeset/dist/index.d.cts +32 -2
  275. package/node_modules/prosemirror-changeset/dist/index.d.ts +32 -2
  276. package/node_modules/prosemirror-changeset/dist/index.js +18 -3
  277. package/node_modules/prosemirror-changeset/package.json +2 -2
  278. package/node_modules/prosemirror-changeset/src/README.md +4 -2
  279. package/node_modules/prosemirror-changeset/src/change.ts +18 -0
  280. package/node_modules/prosemirror-changeset/src/changeset.ts +10 -4
  281. package/node_modules/prosemirror-changeset/src/simplify.ts +1 -1
  282. package/node_modules/prosemirror-changeset/test/test-simplify.ts +3 -0
  283. package/node_modules/prosemirror-gapcursor/CHANGELOG.md +6 -0
  284. package/node_modules/prosemirror-gapcursor/dist/index.cjs +1 -1
  285. package/node_modules/prosemirror-gapcursor/dist/index.js +1 -1
  286. package/node_modules/prosemirror-gapcursor/package.json +3 -2
  287. package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +1 -1
  288. package/node_modules/prosemirror-markdown/CHANGELOG.md +12 -0
  289. package/node_modules/prosemirror-markdown/dist/index.cjs +11 -1
  290. package/node_modules/prosemirror-markdown/dist/index.js +14 -2
  291. package/node_modules/prosemirror-markdown/package.json +1 -1
  292. package/node_modules/prosemirror-markdown/src/to_markdown.ts +12 -3
  293. package/node_modules/prosemirror-menu/CHANGELOG.md +18 -0
  294. package/node_modules/prosemirror-menu/CONTRIBUTING.md +22 -18
  295. package/node_modules/prosemirror-menu/README.md +69 -29
  296. package/node_modules/prosemirror-menu/dist/index.cjs +232 -48
  297. package/node_modules/prosemirror-menu/dist/index.d.cts +29 -14
  298. package/node_modules/prosemirror-menu/dist/index.d.ts +29 -14
  299. package/node_modules/prosemirror-menu/dist/index.js +229 -36
  300. package/node_modules/prosemirror-menu/package.json +2 -2
  301. package/node_modules/prosemirror-menu/src/README.md +30 -1
  302. package/node_modules/prosemirror-menu/src/icons.ts +3 -2
  303. package/node_modules/prosemirror-menu/src/menu.ts +193 -40
  304. package/node_modules/prosemirror-menu/src/menubar.ts +50 -5
  305. package/node_modules/prosemirror-menu/style/menu.css +28 -7
  306. package/node_modules/prosemirror-model/CHANGELOG.md +20 -0
  307. package/node_modules/prosemirror-model/CONTRIBUTING.md +19 -19
  308. package/node_modules/prosemirror-model/README.md +3 -3
  309. package/node_modules/prosemirror-model/dist/index.cjs +13 -10
  310. package/node_modules/prosemirror-model/dist/index.d.cts +25 -21
  311. package/node_modules/prosemirror-model/dist/index.d.ts +25 -21
  312. package/node_modules/prosemirror-model/dist/index.js +19 -23
  313. package/node_modules/prosemirror-model/package.json +2 -2
  314. package/node_modules/prosemirror-model/src/fragment.ts +1 -1
  315. package/node_modules/prosemirror-model/src/from_dom.ts +4 -1
  316. package/node_modules/prosemirror-model/src/node.ts +5 -4
  317. package/node_modules/prosemirror-model/src/replace.ts +6 -15
  318. package/node_modules/prosemirror-model/src/schema.ts +1 -1
  319. package/node_modules/prosemirror-model/src/to_dom.ts +24 -20
  320. package/node_modules/prosemirror-transform/CHANGELOG.md +16 -0
  321. package/node_modules/prosemirror-transform/dist/index.cjs +38 -4
  322. package/node_modules/prosemirror-transform/dist/index.d.cts +19 -0
  323. package/node_modules/prosemirror-transform/dist/index.d.ts +19 -0
  324. package/node_modules/prosemirror-transform/dist/index.js +52 -1
  325. package/node_modules/prosemirror-transform/package.json +1 -1
  326. package/node_modules/prosemirror-transform/src/replace.ts +16 -0
  327. package/node_modules/prosemirror-transform/src/replace_step.ts +10 -1
  328. package/node_modules/prosemirror-transform/src/transform.ts +21 -2
  329. package/node_modules/prosemirror-view/CHANGELOG.md +34 -2
  330. package/node_modules/prosemirror-view/CONTRIBUTING.md +19 -19
  331. package/node_modules/prosemirror-view/README.md +3 -3
  332. package/node_modules/prosemirror-view/dist/index.cjs +96 -40
  333. package/node_modules/prosemirror-view/dist/index.d.cts +2 -2
  334. package/node_modules/prosemirror-view/dist/index.d.ts +2 -2
  335. package/node_modules/prosemirror-view/dist/index.js +90 -39
  336. package/node_modules/prosemirror-view/package.json +2 -2
  337. package/node_modules/prosemirror-view/src/domchange.ts +1 -1
  338. package/node_modules/prosemirror-view/src/domobserver.ts +59 -16
  339. package/node_modules/prosemirror-view/src/index.ts +4 -4
  340. package/node_modules/prosemirror-view/src/input.ts +9 -6
  341. package/node_modules/prosemirror-view/src/viewdesc.ts +26 -22
  342. package/node_modules/prosemirror-view/style/prosemirror.css +1 -1
  343. package/package.json +5 -4
  344. package/src/client.mjs +2 -2
  345. package/src/config.mjs +1 -0
  346. package/src/helpers.mjs +2 -2
  347. package/src/index.mjs +31 -1
  348. package/src/initCodex.mjs +281 -0
  349. package/src/mcp.mjs +1 -1
  350. package/src/mcpShared.mjs +95 -5
  351. package/node_modules/@hcengineering/account-client/types/client.d.ts +0 -140
  352. package/node_modules/@hcengineering/account-client/types/client.d.ts.map +0 -1
  353. package/node_modules/@hcengineering/account-client/types/index.d.ts +0 -4
  354. package/node_modules/@hcengineering/account-client/types/index.d.ts.map +0 -1
  355. package/node_modules/@hcengineering/account-client/types/types.d.ts +0 -177
  356. package/node_modules/@hcengineering/account-client/types/types.d.ts.map +0 -1
  357. package/node_modules/@hcengineering/account-client/types/utils.d.ts +0 -5
  358. package/node_modules/@hcengineering/account-client/types/utils.d.ts.map +0 -1
  359. package/node_modules/@hcengineering/analytics/types/index.d.ts +0 -25
  360. package/node_modules/@hcengineering/analytics/types/index.d.ts.map +0 -1
  361. package/node_modules/@hcengineering/api-client/types/__tests__/config.test.d.ts +0 -2
  362. package/node_modules/@hcengineering/api-client/types/__tests__/config.test.d.ts.map +0 -1
  363. package/node_modules/@hcengineering/api-client/types/__tests__/markup-client.test.d.ts +0 -2
  364. package/node_modules/@hcengineering/api-client/types/__tests__/markup-client.test.d.ts.map +0 -1
  365. package/node_modules/@hcengineering/api-client/types/__tests__/markup-types.test.d.ts +0 -2
  366. package/node_modules/@hcengineering/api-client/types/__tests__/markup-types.test.d.ts.map +0 -1
  367. package/node_modules/@hcengineering/api-client/types/__tests__/rest-utils.test.d.ts +0 -2
  368. package/node_modules/@hcengineering/api-client/types/__tests__/rest-utils.test.d.ts.map +0 -1
  369. package/node_modules/@hcengineering/api-client/types/__tests__/utils.test.d.ts +0 -2
  370. package/node_modules/@hcengineering/api-client/types/__tests__/utils.test.d.ts.map +0 -1
  371. package/node_modules/@hcengineering/api-client/types/client.d.ts +0 -6
  372. package/node_modules/@hcengineering/api-client/types/client.d.ts.map +0 -1
  373. package/node_modules/@hcengineering/api-client/types/config.d.ts +0 -8
  374. package/node_modules/@hcengineering/api-client/types/config.d.ts.map +0 -1
  375. package/node_modules/@hcengineering/api-client/types/index.d.ts +0 -9
  376. package/node_modules/@hcengineering/api-client/types/index.d.ts.map +0 -1
  377. package/node_modules/@hcengineering/api-client/types/markup/client.d.ts +0 -5
  378. package/node_modules/@hcengineering/api-client/types/markup/client.d.ts.map +0 -1
  379. package/node_modules/@hcengineering/api-client/types/markup/index.d.ts +0 -3
  380. package/node_modules/@hcengineering/api-client/types/markup/index.d.ts.map +0 -1
  381. package/node_modules/@hcengineering/api-client/types/markup/types.d.ts +0 -41
  382. package/node_modules/@hcengineering/api-client/types/markup/types.d.ts.map +0 -1
  383. package/node_modules/@hcengineering/api-client/types/rest/index.d.ts +0 -4
  384. package/node_modules/@hcengineering/api-client/types/rest/index.d.ts.map +0 -1
  385. package/node_modules/@hcengineering/api-client/types/rest/rest.d.ts +0 -39
  386. package/node_modules/@hcengineering/api-client/types/rest/rest.d.ts.map +0 -1
  387. package/node_modules/@hcengineering/api-client/types/rest/tx.d.ts +0 -3
  388. package/node_modules/@hcengineering/api-client/types/rest/tx.d.ts.map +0 -1
  389. package/node_modules/@hcengineering/api-client/types/rest/types.d.ts +0 -16
  390. package/node_modules/@hcengineering/api-client/types/rest/types.d.ts.map +0 -1
  391. package/node_modules/@hcengineering/api-client/types/rest/utils.d.ts +0 -3
  392. package/node_modules/@hcengineering/api-client/types/rest/utils.d.ts.map +0 -1
  393. package/node_modules/@hcengineering/api-client/types/socket/browser.d.ts +0 -4
  394. package/node_modules/@hcengineering/api-client/types/socket/browser.d.ts.map +0 -1
  395. package/node_modules/@hcengineering/api-client/types/socket/index.d.ts +0 -3
  396. package/node_modules/@hcengineering/api-client/types/socket/index.d.ts.map +0 -1
  397. package/node_modules/@hcengineering/api-client/types/socket/node.d.ts +0 -4
  398. package/node_modules/@hcengineering/api-client/types/socket/node.d.ts.map +0 -1
  399. package/node_modules/@hcengineering/api-client/types/storage/client.d.ts +0 -21
  400. package/node_modules/@hcengineering/api-client/types/storage/client.d.ts.map +0 -1
  401. package/node_modules/@hcengineering/api-client/types/storage/error.d.ts +0 -10
  402. package/node_modules/@hcengineering/api-client/types/storage/error.d.ts.map +0 -1
  403. package/node_modules/@hcengineering/api-client/types/storage/index.d.ts +0 -4
  404. package/node_modules/@hcengineering/api-client/types/storage/index.d.ts.map +0 -1
  405. package/node_modules/@hcengineering/api-client/types/storage/types.d.ts +0 -10
  406. package/node_modules/@hcengineering/api-client/types/storage/types.d.ts.map +0 -1
  407. package/node_modules/@hcengineering/api-client/types/types.d.ts +0 -101
  408. package/node_modules/@hcengineering/api-client/types/types.d.ts.map +0 -1
  409. package/node_modules/@hcengineering/api-client/types/utils.d.ts +0 -12
  410. package/node_modules/@hcengineering/api-client/types/utils.d.ts.map +0 -1
  411. package/node_modules/@hcengineering/chunter/types/analytics.d.ts +0 -5
  412. package/node_modules/@hcengineering/chunter/types/analytics.d.ts.map +0 -1
  413. package/node_modules/@hcengineering/chunter/types/index.d.ts +0 -211
  414. package/node_modules/@hcengineering/chunter/types/index.d.ts.map +0 -1
  415. package/node_modules/@hcengineering/chunter/types/utils.d.ts +0 -7
  416. package/node_modules/@hcengineering/chunter/types/utils.d.ts.map +0 -1
  417. package/node_modules/@hcengineering/client/types/__tests__/client.test.d.ts +0 -2
  418. package/node_modules/@hcengineering/client/types/__tests__/client.test.d.ts.map +0 -1
  419. package/node_modules/@hcengineering/client/types/index.d.ts +0 -69
  420. package/node_modules/@hcengineering/client/types/index.d.ts.map +0 -1
  421. package/node_modules/@hcengineering/client-resources/types/__tests__/connection.test.d.ts +0 -2
  422. package/node_modules/@hcengineering/client-resources/types/__tests__/connection.test.d.ts.map +0 -1
  423. package/node_modules/@hcengineering/client-resources/types/__tests__/integration.test.d.ts +0 -45
  424. package/node_modules/@hcengineering/client-resources/types/__tests__/integration.test.d.ts.map +0 -1
  425. package/node_modules/@hcengineering/client-resources/types/connection.d.ts +0 -7
  426. package/node_modules/@hcengineering/client-resources/types/connection.d.ts.map +0 -1
  427. package/node_modules/@hcengineering/client-resources/types/index.d.ts +0 -11
  428. package/node_modules/@hcengineering/client-resources/types/index.d.ts.map +0 -1
  429. package/node_modules/@hcengineering/collaborator-client/types/__tests__/utils.test.d.ts +0 -2
  430. package/node_modules/@hcengineering/collaborator-client/types/__tests__/utils.test.d.ts.map +0 -1
  431. package/node_modules/@hcengineering/collaborator-client/types/client.d.ts +0 -34
  432. package/node_modules/@hcengineering/collaborator-client/types/client.d.ts.map +0 -1
  433. package/node_modules/@hcengineering/collaborator-client/types/index.d.ts +0 -3
  434. package/node_modules/@hcengineering/collaborator-client/types/index.d.ts.map +0 -1
  435. package/node_modules/@hcengineering/collaborator-client/types/utils.d.ts +0 -9
  436. package/node_modules/@hcengineering/collaborator-client/types/utils.d.ts.map +0 -1
  437. package/node_modules/@hcengineering/contact/types/__tests__/cache.test.d.ts +0 -2
  438. package/node_modules/@hcengineering/contact/types/__tests__/cache.test.d.ts.map +0 -1
  439. package/node_modules/@hcengineering/contact/types/analytics.d.ts +0 -6
  440. package/node_modules/@hcengineering/contact/types/analytics.d.ts.map +0 -1
  441. package/node_modules/@hcengineering/contact/types/avatar.d.ts +0 -12
  442. package/node_modules/@hcengineering/contact/types/avatar.d.ts.map +0 -1
  443. package/node_modules/@hcengineering/contact/types/cache.d.ts +0 -49
  444. package/node_modules/@hcengineering/contact/types/cache.d.ts.map +0 -1
  445. package/node_modules/@hcengineering/contact/types/index.d.ts +0 -367
  446. package/node_modules/@hcengineering/contact/types/index.d.ts.map +0 -1
  447. package/node_modules/@hcengineering/contact/types/types.d.ts +0 -25
  448. package/node_modules/@hcengineering/contact/types/types.d.ts.map +0 -1
  449. package/node_modules/@hcengineering/contact/types/utils.d.ts +0 -110
  450. package/node_modules/@hcengineering/contact/types/utils.d.ts.map +0 -1
  451. package/node_modules/@hcengineering/core/types/__tests__/client.test.d.ts +0 -2
  452. package/node_modules/@hcengineering/core/types/__tests__/client.test.d.ts.map +0 -1
  453. package/node_modules/@hcengineering/core/types/__tests__/clone.test.d.ts +0 -2
  454. package/node_modules/@hcengineering/core/types/__tests__/clone.test.d.ts.map +0 -1
  455. package/node_modules/@hcengineering/core/types/__tests__/collaboration.test.d.ts +0 -2
  456. package/node_modules/@hcengineering/core/types/__tests__/collaboration.test.d.ts.map +0 -1
  457. package/node_modules/@hcengineering/core/types/__tests__/collaborators.test.d.ts +0 -2
  458. package/node_modules/@hcengineering/core/types/__tests__/collaborators.test.d.ts.map +0 -1
  459. package/node_modules/@hcengineering/core/types/__tests__/common.test.d.ts +0 -2
  460. package/node_modules/@hcengineering/core/types/__tests__/common.test.d.ts.map +0 -1
  461. package/node_modules/@hcengineering/core/types/__tests__/connection.d.ts +0 -4
  462. package/node_modules/@hcengineering/core/types/__tests__/connection.d.ts.map +0 -1
  463. package/node_modules/@hcengineering/core/types/__tests__/contexts.test.d.ts +0 -2
  464. package/node_modules/@hcengineering/core/types/__tests__/contexts.test.d.ts.map +0 -1
  465. package/node_modules/@hcengineering/core/types/__tests__/hierarchy.test.d.ts +0 -2
  466. package/node_modules/@hcengineering/core/types/__tests__/hierarchy.test.d.ts.map +0 -1
  467. package/node_modules/@hcengineering/core/types/__tests__/lang.test.d.ts +0 -2
  468. package/node_modules/@hcengineering/core/types/__tests__/lang.test.d.ts.map +0 -1
  469. package/node_modules/@hcengineering/core/types/__tests__/limiter-edge-cases.test.d.ts +0 -2
  470. package/node_modules/@hcengineering/core/types/__tests__/limiter-edge-cases.test.d.ts.map +0 -1
  471. package/node_modules/@hcengineering/core/types/__tests__/limits.test.d.ts +0 -2
  472. package/node_modules/@hcengineering/core/types/__tests__/limits.test.d.ts.map +0 -1
  473. package/node_modules/@hcengineering/core/types/__tests__/memdb.test.d.ts +0 -2
  474. package/node_modules/@hcengineering/core/types/__tests__/memdb.test.d.ts.map +0 -1
  475. package/node_modules/@hcengineering/core/types/__tests__/minmodel.d.ts +0 -50
  476. package/node_modules/@hcengineering/core/types/__tests__/minmodel.d.ts.map +0 -1
  477. package/node_modules/@hcengineering/core/types/__tests__/objvalue.test.d.ts +0 -2
  478. package/node_modules/@hcengineering/core/types/__tests__/objvalue.test.d.ts.map +0 -1
  479. package/node_modules/@hcengineering/core/types/__tests__/operator-bugs.test.d.ts +0 -2
  480. package/node_modules/@hcengineering/core/types/__tests__/operator-bugs.test.d.ts.map +0 -1
  481. package/node_modules/@hcengineering/core/types/__tests__/operator.test.d.ts +0 -2
  482. package/node_modules/@hcengineering/core/types/__tests__/operator.test.d.ts.map +0 -1
  483. package/node_modules/@hcengineering/core/types/__tests__/rate-limiter.test.d.ts +0 -2
  484. package/node_modules/@hcengineering/core/types/__tests__/rate-limiter.test.d.ts.map +0 -1
  485. package/node_modules/@hcengineering/core/types/__tests__/time.test.d.ts +0 -2
  486. package/node_modules/@hcengineering/core/types/__tests__/time.test.d.ts.map +0 -1
  487. package/node_modules/@hcengineering/core/types/__tests__/utils.test.d.ts +0 -2
  488. package/node_modules/@hcengineering/core/types/__tests__/utils.test.d.ts.map +0 -1
  489. package/node_modules/@hcengineering/core/types/backup.d.ts +0 -26
  490. package/node_modules/@hcengineering/core/types/backup.d.ts.map +0 -1
  491. package/node_modules/@hcengineering/core/types/benchmark.d.ts +0 -19
  492. package/node_modules/@hcengineering/core/types/benchmark.d.ts.map +0 -1
  493. package/node_modules/@hcengineering/core/types/classes.d.ts +0 -716
  494. package/node_modules/@hcengineering/core/types/classes.d.ts.map +0 -1
  495. package/node_modules/@hcengineering/core/types/client.d.ts +0 -69
  496. package/node_modules/@hcengineering/core/types/client.d.ts.map +0 -1
  497. package/node_modules/@hcengineering/core/types/clone.d.ts +0 -3
  498. package/node_modules/@hcengineering/core/types/clone.d.ts.map +0 -1
  499. package/node_modules/@hcengineering/core/types/collaboration.d.ts +0 -16
  500. package/node_modules/@hcengineering/core/types/collaboration.d.ts.map +0 -1
  501. package/node_modules/@hcengineering/core/types/collaborators.d.ts +0 -3
  502. package/node_modules/@hcengineering/core/types/collaborators.d.ts.map +0 -1
  503. package/node_modules/@hcengineering/core/types/common.d.ts +0 -4
  504. package/node_modules/@hcengineering/core/types/common.d.ts.map +0 -1
  505. package/node_modules/@hcengineering/core/types/component.d.ts +0 -229
  506. package/node_modules/@hcengineering/core/types/component.d.ts.map +0 -1
  507. package/node_modules/@hcengineering/core/types/hierarchy.d.ts +0 -84
  508. package/node_modules/@hcengineering/core/types/hierarchy.d.ts.map +0 -1
  509. package/node_modules/@hcengineering/core/types/index.d.ts +0 -25
  510. package/node_modules/@hcengineering/core/types/index.d.ts.map +0 -1
  511. package/node_modules/@hcengineering/core/types/memdb.d.ts +0 -60
  512. package/node_modules/@hcengineering/core/types/memdb.d.ts.map +0 -1
  513. package/node_modules/@hcengineering/core/types/objvalue.d.ts +0 -10
  514. package/node_modules/@hcengineering/core/types/objvalue.d.ts.map +0 -1
  515. package/node_modules/@hcengineering/core/types/operations.d.ts +0 -87
  516. package/node_modules/@hcengineering/core/types/operations.d.ts.map +0 -1
  517. package/node_modules/@hcengineering/core/types/operator.d.ts +0 -16
  518. package/node_modules/@hcengineering/core/types/operator.d.ts.map +0 -1
  519. package/node_modules/@hcengineering/core/types/predicate.d.ts +0 -6
  520. package/node_modules/@hcengineering/core/types/predicate.d.ts.map +0 -1
  521. package/node_modules/@hcengineering/core/types/proxy.d.ts +0 -21
  522. package/node_modules/@hcengineering/core/types/proxy.d.ts.map +0 -1
  523. package/node_modules/@hcengineering/core/types/query.d.ts +0 -21
  524. package/node_modules/@hcengineering/core/types/query.d.ts.map +0 -1
  525. package/node_modules/@hcengineering/core/types/server.d.ts +0 -82
  526. package/node_modules/@hcengineering/core/types/server.d.ts.map +0 -1
  527. package/node_modules/@hcengineering/core/types/status.d.ts +0 -30
  528. package/node_modules/@hcengineering/core/types/status.d.ts.map +0 -1
  529. package/node_modules/@hcengineering/core/types/storage.d.ts +0 -233
  530. package/node_modules/@hcengineering/core/types/storage.d.ts.map +0 -1
  531. package/node_modules/@hcengineering/core/types/time.d.ts +0 -8
  532. package/node_modules/@hcengineering/core/types/time.d.ts.map +0 -1
  533. package/node_modules/@hcengineering/core/types/tx.d.ts +0 -261
  534. package/node_modules/@hcengineering/core/types/tx.d.ts.map +0 -1
  535. package/node_modules/@hcengineering/core/types/utils.d.ts +0 -207
  536. package/node_modules/@hcengineering/core/types/utils.d.ts.map +0 -1
  537. package/node_modules/@hcengineering/measurements/types/__tests__/context.test.d.ts +0 -2
  538. package/node_modules/@hcengineering/measurements/types/__tests__/context.test.d.ts.map +0 -1
  539. package/node_modules/@hcengineering/measurements/types/__tests__/index.test.d.ts +0 -2
  540. package/node_modules/@hcengineering/measurements/types/__tests__/index.test.d.ts.map +0 -1
  541. package/node_modules/@hcengineering/measurements/types/__tests__/metrics.test.d.ts +0 -2
  542. package/node_modules/@hcengineering/measurements/types/__tests__/metrics.test.d.ts.map +0 -1
  543. package/node_modules/@hcengineering/measurements/types/__tests__/performance.test.d.ts +0 -2
  544. package/node_modules/@hcengineering/measurements/types/__tests__/performance.test.d.ts.map +0 -1
  545. package/node_modules/@hcengineering/measurements/types/context.d.ts +0 -64
  546. package/node_modules/@hcengineering/measurements/types/context.d.ts.map +0 -1
  547. package/node_modules/@hcengineering/measurements/types/index.d.ts +0 -12
  548. package/node_modules/@hcengineering/measurements/types/index.d.ts.map +0 -1
  549. package/node_modules/@hcengineering/measurements/types/metrics.d.ts +0 -34
  550. package/node_modules/@hcengineering/measurements/types/metrics.d.ts.map +0 -1
  551. package/node_modules/@hcengineering/measurements/types/types.d.ts +0 -88
  552. package/node_modules/@hcengineering/measurements/types/types.d.ts.map +0 -1
  553. package/node_modules/@hcengineering/platform/types/__tests__/i18n.test.d.ts +0 -2
  554. package/node_modules/@hcengineering/platform/types/__tests__/i18n.test.d.ts.map +0 -1
  555. package/node_modules/@hcengineering/platform/types/__tests__/ident.test.d.ts +0 -2
  556. package/node_modules/@hcengineering/platform/types/__tests__/ident.test.d.ts.map +0 -1
  557. package/node_modules/@hcengineering/platform/types/__tests__/plugin.d.ts +0 -7
  558. package/node_modules/@hcengineering/platform/types/__tests__/plugin.d.ts.map +0 -1
  559. package/node_modules/@hcengineering/platform/types/__tests__/resource.test.d.ts +0 -2
  560. package/node_modules/@hcengineering/platform/types/__tests__/resource.test.d.ts.map +0 -1
  561. package/node_modules/@hcengineering/platform/types/event.d.ts +0 -39
  562. package/node_modules/@hcengineering/platform/types/event.d.ts.map +0 -1
  563. package/node_modules/@hcengineering/platform/types/i18n.d.ts +0 -28
  564. package/node_modules/@hcengineering/platform/types/i18n.d.ts.map +0 -1
  565. package/node_modules/@hcengineering/platform/types/ident.d.ts +0 -14
  566. package/node_modules/@hcengineering/platform/types/ident.d.ts.map +0 -1
  567. package/node_modules/@hcengineering/platform/types/index.d.ts +0 -19
  568. package/node_modules/@hcengineering/platform/types/index.d.ts.map +0 -1
  569. package/node_modules/@hcengineering/platform/types/metadata.d.ts +0 -38
  570. package/node_modules/@hcengineering/platform/types/metadata.d.ts.map +0 -1
  571. package/node_modules/@hcengineering/platform/types/platform.d.ts +0 -218
  572. package/node_modules/@hcengineering/platform/types/platform.d.ts.map +0 -1
  573. package/node_modules/@hcengineering/platform/types/resource.d.ts +0 -49
  574. package/node_modules/@hcengineering/platform/types/resource.d.ts.map +0 -1
  575. package/node_modules/@hcengineering/platform/types/status.d.ts +0 -60
  576. package/node_modules/@hcengineering/platform/types/status.d.ts.map +0 -1
  577. package/node_modules/@hcengineering/platform/types/testUtils.d.ts +0 -8
  578. package/node_modules/@hcengineering/platform/types/testUtils.d.ts.map +0 -1
  579. package/node_modules/@hcengineering/rank/types/__tests__/utils.test.d.ts +0 -2
  580. package/node_modules/@hcengineering/rank/types/__tests__/utils.test.d.ts.map +0 -1
  581. package/node_modules/@hcengineering/rank/types/index.d.ts +0 -3
  582. package/node_modules/@hcengineering/rank/types/index.d.ts.map +0 -1
  583. package/node_modules/@hcengineering/rank/types/types.d.ts +0 -2
  584. package/node_modules/@hcengineering/rank/types/types.d.ts.map +0 -1
  585. package/node_modules/@hcengineering/rank/types/utils.d.ts +0 -6
  586. package/node_modules/@hcengineering/rank/types/utils.d.ts.map +0 -1
  587. package/node_modules/@hcengineering/rpc/types/index.d.ts +0 -3
  588. package/node_modules/@hcengineering/rpc/types/index.d.ts.map +0 -1
  589. package/node_modules/@hcengineering/rpc/types/rpc.d.ts +0 -96
  590. package/node_modules/@hcengineering/rpc/types/rpc.d.ts.map +0 -1
  591. package/node_modules/@hcengineering/rpc/types/sliding.d.ts +0 -11
  592. package/node_modules/@hcengineering/rpc/types/sliding.d.ts.map +0 -1
  593. package/node_modules/@hcengineering/rpc/types/test/rateLimit.spec.d.ts +0 -2
  594. package/node_modules/@hcengineering/rpc/types/test/rateLimit.spec.d.ts.map +0 -1
  595. package/node_modules/@hcengineering/tags/types/analytics.d.ts +0 -5
  596. package/node_modules/@hcengineering/tags/types/analytics.d.ts.map +0 -1
  597. package/node_modules/@hcengineering/tags/types/index.d.ts +0 -105
  598. package/node_modules/@hcengineering/tags/types/index.d.ts.map +0 -1
  599. package/node_modules/@hcengineering/task/types/index.d.ts +0 -227
  600. package/node_modules/@hcengineering/task/types/index.d.ts.map +0 -1
  601. package/node_modules/@hcengineering/task/types/utils.d.ts +0 -61
  602. package/node_modules/@hcengineering/task/types/utils.d.ts.map +0 -1
  603. package/node_modules/@hcengineering/text/types/extensions.d.ts +0 -53
  604. package/node_modules/@hcengineering/text/types/extensions.d.ts.map +0 -1
  605. package/node_modules/@hcengineering/text/types/index.d.ts +0 -13
  606. package/node_modules/@hcengineering/text/types/index.d.ts.map +0 -1
  607. package/node_modules/@hcengineering/text/types/kit.d.ts +0 -12
  608. package/node_modules/@hcengineering/text/types/kit.d.ts.map +0 -1
  609. package/node_modules/@hcengineering/text/types/kits/common-kit.d.ts +0 -72
  610. package/node_modules/@hcengineering/text/types/kits/common-kit.d.ts.map +0 -1
  611. package/node_modules/@hcengineering/text/types/kits/server-kit.d.ts +0 -106
  612. package/node_modules/@hcengineering/text/types/kits/server-kit.d.ts.map +0 -1
  613. package/node_modules/@hcengineering/text/types/marks/code.d.ts +0 -8
  614. package/node_modules/@hcengineering/text/types/marks/code.d.ts.map +0 -1
  615. package/node_modules/@hcengineering/text/types/marks/colors.d.ts +0 -21
  616. package/node_modules/@hcengineering/text/types/marks/colors.d.ts.map +0 -1
  617. package/node_modules/@hcengineering/text/types/marks/inlineComment.d.ts +0 -5
  618. package/node_modules/@hcengineering/text/types/marks/inlineComment.d.ts.map +0 -1
  619. package/node_modules/@hcengineering/text/types/marks/noteBase.d.ts +0 -23
  620. package/node_modules/@hcengineering/text/types/marks/noteBase.d.ts.map +0 -1
  621. package/node_modules/@hcengineering/text/types/marks/qmsInlineCommentMark.d.ts +0 -6
  622. package/node_modules/@hcengineering/text/types/marks/qmsInlineCommentMark.d.ts.map +0 -1
  623. package/node_modules/@hcengineering/text/types/markup/__tests__/dsl.test.d.ts +0 -2
  624. package/node_modules/@hcengineering/text/types/markup/__tests__/dsl.test.d.ts.map +0 -1
  625. package/node_modules/@hcengineering/text/types/markup/__tests__/utils.test.d.ts +0 -5
  626. package/node_modules/@hcengineering/text/types/markup/__tests__/utils.test.d.ts.map +0 -1
  627. package/node_modules/@hcengineering/text/types/markup/utils.d.ts +0 -19
  628. package/node_modules/@hcengineering/text/types/markup/utils.d.ts.map +0 -1
  629. package/node_modules/@hcengineering/text/types/nodes/codeblock.d.ts +0 -12
  630. package/node_modules/@hcengineering/text/types/nodes/codeblock.d.ts.map +0 -1
  631. package/node_modules/@hcengineering/text/types/nodes/comment.d.ts +0 -6
  632. package/node_modules/@hcengineering/text/types/nodes/comment.d.ts.map +0 -1
  633. package/node_modules/@hcengineering/text/types/nodes/embed.d.ts +0 -3
  634. package/node_modules/@hcengineering/text/types/nodes/embed.d.ts.map +0 -1
  635. package/node_modules/@hcengineering/text/types/nodes/emoji.d.ts +0 -17
  636. package/node_modules/@hcengineering/text/types/nodes/emoji.d.ts.map +0 -1
  637. package/node_modules/@hcengineering/text/types/nodes/file.d.ts +0 -13
  638. package/node_modules/@hcengineering/text/types/nodes/file.d.ts.map +0 -1
  639. package/node_modules/@hcengineering/text/types/nodes/image.d.ts +0 -52
  640. package/node_modules/@hcengineering/text/types/nodes/image.d.ts.map +0 -1
  641. package/node_modules/@hcengineering/text/types/nodes/index.d.ts +0 -11
  642. package/node_modules/@hcengineering/text/types/nodes/index.d.ts.map +0 -1
  643. package/node_modules/@hcengineering/text/types/nodes/markdown.d.ts +0 -3
  644. package/node_modules/@hcengineering/text/types/nodes/markdown.d.ts.map +0 -1
  645. package/node_modules/@hcengineering/text/types/nodes/mermaid.d.ts +0 -4
  646. package/node_modules/@hcengineering/text/types/nodes/mermaid.d.ts.map +0 -1
  647. package/node_modules/@hcengineering/text/types/nodes/reference.d.ts +0 -18
  648. package/node_modules/@hcengineering/text/types/nodes/reference.d.ts.map +0 -1
  649. package/node_modules/@hcengineering/text/types/nodes/todo.d.ts +0 -3
  650. package/node_modules/@hcengineering/text/types/nodes/todo.d.ts.map +0 -1
  651. package/node_modules/@hcengineering/text/types/nodes/utils.d.ts +0 -6
  652. package/node_modules/@hcengineering/text/types/nodes/utils.d.ts.map +0 -1
  653. package/node_modules/@hcengineering/text/types/tiptapExtensions.d.ts +0 -28
  654. package/node_modules/@hcengineering/text/types/tiptapExtensions.d.ts.map +0 -1
  655. package/node_modules/@hcengineering/text-core/types/index.d.ts +0 -6
  656. package/node_modules/@hcengineering/text-core/types/index.d.ts.map +0 -1
  657. package/node_modules/@hcengineering/text-core/types/markup/__tests__/traverse.test.d.ts +0 -2
  658. package/node_modules/@hcengineering/text-core/types/markup/__tests__/traverse.test.d.ts.map +0 -1
  659. package/node_modules/@hcengineering/text-core/types/markup/__tests__/utils.test.d.ts +0 -2
  660. package/node_modules/@hcengineering/text-core/types/markup/__tests__/utils.test.d.ts.map +0 -1
  661. package/node_modules/@hcengineering/text-core/types/markup/dsl.d.ts +0 -25
  662. package/node_modules/@hcengineering/text-core/types/markup/dsl.d.ts.map +0 -1
  663. package/node_modules/@hcengineering/text-core/types/markup/model.d.ts +0 -74
  664. package/node_modules/@hcengineering/text-core/types/markup/model.d.ts.map +0 -1
  665. package/node_modules/@hcengineering/text-core/types/markup/reference.d.ts +0 -15
  666. package/node_modules/@hcengineering/text-core/types/markup/reference.d.ts.map +0 -1
  667. package/node_modules/@hcengineering/text-core/types/markup/traverse.d.ts +0 -6
  668. package/node_modules/@hcengineering/text-core/types/markup/traverse.d.ts.map +0 -1
  669. package/node_modules/@hcengineering/text-core/types/markup/utils.d.ts +0 -25
  670. package/node_modules/@hcengineering/text-core/types/markup/utils.d.ts.map +0 -1
  671. package/node_modules/@hcengineering/text-html/types/__tests__/html.test.d.ts +0 -2
  672. package/node_modules/@hcengineering/text-html/types/__tests__/html.test.d.ts.map +0 -1
  673. package/node_modules/@hcengineering/text-html/types/index.d.ts +0 -6
  674. package/node_modules/@hcengineering/text-html/types/index.d.ts.map +0 -1
  675. package/node_modules/@hcengineering/text-html/types/parser.d.ts +0 -10
  676. package/node_modules/@hcengineering/text-html/types/parser.d.ts.map +0 -1
  677. package/node_modules/@hcengineering/text-html/types/serializer.d.ts +0 -9
  678. package/node_modules/@hcengineering/text-html/types/serializer.d.ts.map +0 -1
  679. package/node_modules/@hcengineering/text-markdown/types/__tests__/markdown.test.d.ts +0 -9
  680. package/node_modules/@hcengineering/text-markdown/types/__tests__/markdown.test.d.ts.map +0 -1
  681. package/node_modules/@hcengineering/text-markdown/types/compare.d.ts +0 -10
  682. package/node_modules/@hcengineering/text-markdown/types/compare.d.ts.map +0 -1
  683. package/node_modules/@hcengineering/text-markdown/types/index.d.ts +0 -14
  684. package/node_modules/@hcengineering/text-markdown/types/index.d.ts.map +0 -1
  685. package/node_modules/@hcengineering/text-markdown/types/marks.d.ts +0 -8
  686. package/node_modules/@hcengineering/text-markdown/types/marks.d.ts.map +0 -1
  687. package/node_modules/@hcengineering/text-markdown/types/node.d.ts +0 -4
  688. package/node_modules/@hcengineering/text-markdown/types/node.d.ts.map +0 -1
  689. package/node_modules/@hcengineering/text-markdown/types/parser.d.ts +0 -50
  690. package/node_modules/@hcengineering/text-markdown/types/parser.d.ts.map +0 -1
  691. package/node_modules/@hcengineering/text-markdown/types/serializer.d.ts +0 -102
  692. package/node_modules/@hcengineering/text-markdown/types/serializer.d.ts.map +0 -1
  693. package/node_modules/@hcengineering/tracker/types/analytics.d.ts +0 -24
  694. package/node_modules/@hcengineering/tracker/types/analytics.d.ts.map +0 -1
  695. package/node_modules/@hcengineering/tracker/types/index.d.ts +0 -431
  696. package/node_modules/@hcengineering/tracker/types/index.d.ts.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hcengineering/text-html",
3
- "version": "0.7.18",
3
+ "version": "0.7.423",
4
4
  "main": "lib/index.js",
5
5
  "svelte": "src/index.ts",
6
6
  "types": "types/index.d.ts",
@@ -13,8 +13,18 @@
13
13
  ],
14
14
  "author": "Anticrm Platform Contributors",
15
15
  "license": "EPL-2.0",
16
+ "scripts": {
17
+ "build": "compile",
18
+ "test": "jest --passWithNoTests --silent --coverage",
19
+ "build:watch": "compile",
20
+ "format": "format src",
21
+ "_phase:build": "compile transpile src",
22
+ "_phase:test": "jest --passWithNoTests --silent --coverage",
23
+ "_phase:format": "format src",
24
+ "_phase:validate": "compile validate"
25
+ },
16
26
  "devDependencies": {
17
- "@hcengineering/platform-rig": "^0.7.19",
27
+ "@hcengineering/platform-rig": "^0.7.423",
18
28
  "@typescript-eslint/eslint-plugin": "^6.21.0",
19
29
  "eslint-plugin-import": "^2.26.0",
20
30
  "eslint-plugin-promise": "^6.1.1",
@@ -22,7 +32,7 @@
22
32
  "eslint": "^8.54.0",
23
33
  "@typescript-eslint/parser": "^6.21.0",
24
34
  "eslint-config-standard-with-typescript": "^40.0.0",
25
- "prettier": "^3.1.0",
35
+ "prettier": "^3.6.2",
26
36
  "typescript": "^5.9.3",
27
37
  "jest": "^29.7.0",
28
38
  "ts-jest": "^29.1.1",
@@ -30,10 +40,13 @@
30
40
  "eslint-plugin-svelte": "^2.35.1"
31
41
  },
32
42
  "dependencies": {
33
- "@hcengineering/text-core": "^0.7.18",
43
+ "@hcengineering/text-core": "^0.7.423",
34
44
  "htmlparser2": "^9.0.0"
35
45
  },
36
- "repository": "https://github.com/hcengineering/huly.core",
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "git+https://github.com/hcengineering/huly.core.git"
49
+ },
37
50
  "publishConfig": {
38
51
  "access": "public"
39
52
  },
@@ -43,15 +56,5 @@
43
56
  "require": "./lib/index.js",
44
57
  "import": "./lib/index.js"
45
58
  }
46
- },
47
- "scripts": {
48
- "build": "compile",
49
- "test": "jest --passWithNoTests --silent --coverage",
50
- "build:watch": "compile",
51
- "format": "format src",
52
- "_phase:build": "compile transpile src",
53
- "_phase:test": "jest --passWithNoTests --silent --coverage",
54
- "_phase:format": "format src",
55
- "_phase:validate": "compile validate"
56
59
  }
57
- }
60
+ }
@@ -323,6 +323,20 @@ const storeMarks = {
323
323
  mixable: false,
324
324
  expelEnclosingWhitespace: false,
325
325
  escape: false
326
+ },
327
+ subscript: {
328
+ open: "<sub>",
329
+ close: "</sub>",
330
+ mixable: true,
331
+ expelEnclosingWhitespace: false,
332
+ escape: true
333
+ },
334
+ superscript: {
335
+ open: "<sup>",
336
+ close: "</sup>",
337
+ mixable: true,
338
+ expelEnclosingWhitespace: false,
339
+ escape: true
326
340
  }
327
341
  };
328
342
  class MarkdownState {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright \u00A9 2025 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport { MarkupMark, MarkupNode, MarkupNodeType } from '@hcengineering/text-core'\nimport { markupToHtml } from '@hcengineering/text-html'\n\nimport { isInSet, markEq } from './marks'\nimport { nodeContent, nodeAttrs } from './node'\n\ntype FirstDelim = (i: number, attrs?: Record<string, any>, parentAttrs?: Record<string, any>) => string\ninterface IState {\n wrapBlock: (delim: string, firstDelim: string | null, node: MarkupNode, f: () => void) => void\n flushClose: (size: number) => void\n atBlank: () => void\n ensureNewLine: () => void\n write: (content: string) => void\n closeBlock: (node: any) => void\n text: (text: string, escape?: boolean) => void\n render: (node: MarkupNode, parent: MarkupNode, index: number) => void\n renderContent: (parent: MarkupNode) => void\n renderInline: (parent: MarkupNode) => void\n renderList: (node: MarkupNode, delim: string, firstDelim: FirstDelim) => void\n esc: (str: string, startOfLine?: boolean) => string\n htmlEsc: (str: string) => string\n quote: (str: string) => string\n repeat: (str: string, n: number) => string\n markString: (mark: MarkupMark, open: boolean, parent: MarkupNode, index: number) => string\n renderHtml: (node: MarkupNode) => string\n refUrl: string\n imageUrl: string\n inAutolink?: boolean\n renderAHref?: boolean\n}\n\ntype NodeProcessor = (state: IState, node: MarkupNode, parent: MarkupNode, index: number) => void\n\ninterface InlineState {\n active: MarkupMark[]\n trailing: string\n parent: MarkupNode\n node?: MarkupNode\n marks: MarkupMark[]\n}\n\n// *************************************************************\n\nfunction backticksFor (side: boolean): string {\n return side ? '`' : '`'\n}\n\nfunction isPlainURL (link: MarkupMark, parent: MarkupNode, index: number): boolean {\n if (link.attrs?.title !== undefined || !/^\\w+:/.test(link.attrs?.href)) return false\n const content = parent.content?.[index]\n if (content === undefined) {\n return false\n }\n if (\n content.type !== MarkupNodeType.text ||\n content.text !== link.attrs?.href ||\n content.marks?.[content.marks.length - 1] !== link\n ) {\n return false\n }\n return index === (parent.content?.length ?? 0) - 1 || !isInSet(link, parent.content?.[index + 1]?.marks ?? [])\n}\n\nconst formatTodoItem: FirstDelim = (i, attrs, parentAttrs?: Record<string, any>) => {\n const meta =\n attrs?.todoid !== undefined && attrs?.userid !== undefined\n ? `<!-- todoid=${attrs?.todoid},userid=${attrs?.userid} -->`\n : ''\n\n const bullet = parentAttrs?.bullet ?? '*'\n return `${bullet} [${attrs?.checked === true ? 'x' : ' '}] ${meta}`\n}\n\n// *************************************************************\n\nexport const storeNodes: Record<string, NodeProcessor> = {\n blockquote: (state, node) => {\n state.wrapBlock('> ', null, node, () => {\n state.renderContent(node)\n })\n },\n codeBlock: (state, node) => {\n state.write('```' + `${nodeAttrs(node).language ?? ''}` + '\\n')\n // TODO: Check for node.textContent\n state.renderInline(node)\n // state.text(node.text ?? '', false)\n state.ensureNewLine()\n state.write('```')\n state.closeBlock(node)\n },\n mermaid: (state, node) => {\n state.write('```mermaid\\n')\n state.renderInline(node)\n state.ensureNewLine()\n state.write('```')\n state.closeBlock(node)\n },\n heading: (state, node) => {\n const attrs = nodeAttrs(node)\n if (attrs.marker === '=' && attrs.level === 1) {\n state.renderInline(node)\n state.ensureNewLine()\n state.write('===\\n')\n } else if (attrs.marker === '-' && attrs.level === 2) {\n state.renderInline(node)\n state.ensureNewLine()\n state.write('---\\n')\n } else {\n state.write(state.repeat('#', attrs.level !== undefined ? Number(attrs.level) : 1) + ' ')\n state.renderInline(node)\n }\n state.closeBlock(node)\n },\n horizontalRule: (state, node) => {\n state.write(`${nodeAttrs(node).markup ?? '---'}`)\n state.closeBlock(node)\n },\n bulletList: (state, node) => {\n state.renderList(node, ' ', () => `${nodeAttrs(node).bullet ?? '*'}` + ' ')\n },\n taskList: (state, node) => {\n state.renderList(node, ' ', () => '* [ ]' + ' ')\n },\n todoList: (state, node) => {\n state.renderList(node, ' ', formatTodoItem)\n },\n orderedList: (state, node) => {\n let start = 1\n if (nodeAttrs(node).order !== undefined) {\n start = Number(nodeAttrs(node).order)\n }\n const maxW = String(start + nodeContent(node).length - 1).length\n const space = state.repeat(' ', maxW + 2)\n state.renderList(node, space, (i: number) => {\n const nStr = String(start + i)\n return state.repeat(' ', maxW - nStr.length) + nStr + '. '\n })\n },\n listItem: (state, node) => {\n state.renderContent(node)\n },\n taskItem: (state, node) => {\n state.renderContent(node)\n },\n todoItem: (state, node) => {\n state.renderContent(node)\n },\n paragraph: (state, node) => {\n state.renderInline(node)\n state.closeBlock(node)\n },\n subLink: (state, node) => {\n state.write('<sub>')\n state.renderAHref = true\n state.renderInline(node)\n state.renderAHref = false\n state.write('</sub>')\n },\n\n image: (state, node) => {\n const attrs = nodeAttrs(node)\n if (attrs.token != null && attrs['file-id'] != null) {\n // Convert image to token format\n state.write(\n '![' +\n state.esc(`${attrs.alt ?? ''}`) +\n '](' +\n (state.imageUrl +\n `${attrs['file-id']}` +\n `?file=${attrs['file-id']}` +\n (attrs.width != null ? '&width=' + state.esc(`${attrs.width}`) : '') +\n (attrs.height != null ? '&height=' + state.esc(`${attrs.height}`) : '') +\n (attrs.token != null ? '&token=' + state.esc(`${attrs.token}`) : '')) +\n (attrs.title != null ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n } else if (attrs['file-id'] != null) {\n // Convert image to fileid format\n state.write(\n '![' +\n state.esc(`${attrs.alt ?? ''}`) +\n '](' +\n (state.imageUrl +\n `${attrs['file-id']}` +\n (attrs.width != null ? '&width=' + state.esc(`${attrs.width}`) : '') +\n (attrs.height != null ? '&height=' + state.esc(`${attrs.height}`) : '')) +\n (attrs.title != null ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n } else {\n if (attrs.width != null || attrs.height != null) {\n state.write(\n '<img' +\n (attrs.width != null ? ` width=\"${state.esc(`${attrs.width}`)}\"` : '') +\n (attrs.height != null ? ` height=\"${state.esc(`${attrs.height}`)}\"` : '') +\n ` src=\"${state.esc(`${attrs.src}`)}\"` +\n (attrs.alt != null ? ` alt=\"${state.esc(`${attrs.alt}`)}\"` : '') +\n (attrs.title != null ? '>' + state.quote(`${attrs.title}`) + '</img>' : '>')\n )\n } else {\n state.write(\n '![' +\n state.esc(`${attrs.alt ?? ''}`) +\n '](' +\n state.esc(`${attrs.src}`) +\n (attrs.title != null ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n }\n }\n },\n reference: (state, node) => {\n const attrs = nodeAttrs(node)\n let url = state.refUrl\n if (!url.includes('?')) {\n url += '?'\n } else {\n url += '&'\n }\n state.write(\n '[' +\n state.esc(`${attrs.label ?? ''}`) +\n '](' +\n `${url}${makeQuery({\n _class: attrs.objectclass,\n _id: attrs.id,\n label: attrs.label\n })}` +\n (attrs.title !== undefined ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n },\n markdown: (state, node) => {\n state.renderInline(node)\n state.closeBlock(node)\n },\n comment: (state, node) => {\n state.write('<!--')\n state.renderInline(node)\n state.write('-->')\n },\n hardBreak: (state, node, parent, index) => {\n const content = nodeContent(parent)\n for (let i = index + 1; i < content.length; i++) {\n if (content[i].type !== node.type) {\n state.write('\\\\\\n')\n return\n }\n }\n },\n text: (state, node) => {\n // Check if test has reference mark, in this case we need to remove [[]]\n state.text(node.text ?? '')\n },\n emoji: (state, node) => {\n state.text(node.attrs?.emoji as string)\n },\n table: (state, node) => {\n state.write(state.renderHtml(node))\n state.closeBlock(node)\n },\n embed: (state, node) => {\n const attrs = nodeAttrs(node)\n const embedUrl = attrs.src as string\n state.write(`<a href=\"${encodeURI(embedUrl)}\" data-type=\"embed\">`)\n // Slashes are escaped to prevent autolink creation\n state.write(state.htmlEsc(embedUrl).replace(/\\//g, '&#x2F;'))\n state.write('</a>')\n }\n}\n\ninterface MarkProcessor {\n open: ((_state: IState, mark: MarkupMark, parent: MarkupNode, index: number) => string) | string\n close: ((_state: IState, mark: MarkupMark, parent: MarkupNode, index: number) => string) | string\n mixable: boolean\n expelEnclosingWhitespace: boolean\n escape: boolean\n}\n\nexport const storeMarks: Record<string, MarkProcessor> = {\n em: {\n open: '*',\n close: '*',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n italic: {\n open: '*',\n close: '*',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n bold: {\n open: '**',\n close: '**',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n strong: {\n open: '**',\n close: '**',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n strike: {\n open: '~~',\n close: '~~',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n underline: {\n open: '<ins>',\n close: '</ins>',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n link: {\n open: (state, mark, parent, index) => {\n if (state.renderAHref === true) {\n return `<a href=\"${encodeURI(mark.attrs?.href)}\">`\n } else {\n state.inAutolink = isPlainURL(mark, parent, index)\n return state.inAutolink ? '<' : '['\n }\n },\n close: (state, mark, parent, index) => {\n if (state.renderAHref === true) {\n return '</a>'\n } else {\n const { inAutolink } = state\n state.inAutolink = undefined\n\n const href = (mark.attrs?.href as string) ?? ''\n // eslint-disable-next-line\n const url = href.replace(/[\\(\\)\"\\\\<>]/g, '\\\\$&')\n const hasSpaces = url.includes(' ')\n\n return inAutolink === true\n ? '>'\n : '](' +\n (hasSpaces ? `<${url}>` : url) +\n (mark.attrs?.title !== undefined ? ` \"${(mark.attrs?.title as string).replace(/\"/g, '\\\\\"')}\"` : '') +\n ')'\n }\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: true\n },\n code: {\n open: (state, mark, parent, index) => {\n return backticksFor(false)\n },\n close: (state, mark, parent, index) => {\n return backticksFor(true)\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: false\n },\n textColor: {\n open: (state, mark, parent, index) => {\n if (mark.attrs?.color === undefined) {\n return ''\n }\n return `<span style=\"color: ${mark.attrs.color}\" data-color=\"${mark.attrs.color}\">`\n },\n close: (state, mark, parent, index) => {\n if (mark.attrs?.color === undefined) {\n return ''\n }\n return '</span>'\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: false\n },\n textStyle: {\n open: (state, mark, parent, index) => {\n const attrs = mark.attrs ?? {}\n if (Object.keys(attrs).length === 0) {\n return ''\n }\n const styleAttrs = Object.entries(attrs)\n .map(([key, value]) => {\n const kebabKey = key.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)\n return `${kebabKey}: ${value}`\n })\n .join('; ')\n\n return `<span style=\"${styleAttrs}\">`\n },\n close: (state, mark, parent, index) => {\n const attrs = mark.attrs ?? {}\n if (Object.keys(attrs).length === 0) {\n return ''\n }\n return '</span>'\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: false\n }\n}\n\nexport type HtmlWriter = (markup: MarkupNode) => string\n\nexport interface StateOptions {\n tightLists: boolean\n refUrl: string\n imageUrl: string\n htmlWriter?: HtmlWriter\n}\nexport class MarkdownState implements IState {\n nodes: Record<string, NodeProcessor>\n marks: Record<string, MarkProcessor>\n delim: string\n out: string\n closed: boolean\n closedNode?: MarkupNode\n inTightList: boolean\n options: StateOptions\n refUrl: string\n imageUrl: string\n htmlWriter: HtmlWriter\n\n constructor (\n nodes = storeNodes,\n marks = storeMarks,\n options: StateOptions = { tightLists: true, refUrl: 'ref://', imageUrl: 'http://' }\n ) {\n this.nodes = nodes\n this.marks = marks\n this.delim = this.out = ''\n this.closed = false\n this.inTightList = false\n this.refUrl = options.refUrl\n this.imageUrl = options.imageUrl\n this.htmlWriter = options.htmlWriter ?? markupToHtml\n\n this.options = options\n }\n\n flushClose (size: number): void {\n if (this.closed) {\n if (!this.atBlank()) this.out += '\\n'\n if (size > 1) {\n this.addDelim(size)\n }\n this.closed = false\n }\n }\n\n private addDelim (size: number): void {\n let delimMin = this.delim\n const trim = /\\s+$/.exec(delimMin)\n if (trim !== null) {\n delimMin = delimMin.slice(0, delimMin.length - trim[0].length)\n }\n for (let i = 1; i < size; i++) {\n this.out += delimMin + '\\n'\n }\n }\n\n renderHtml (node: MarkupNode): string {\n return this.htmlWriter(node)\n }\n\n wrapBlock (delim: string, firstDelim: string | null, node: MarkupNode, f: () => void): void {\n const old = this.delim\n this.write(firstDelim ?? delim)\n this.delim += delim\n f()\n this.delim = old\n this.closeBlock(node)\n }\n\n atBlank (): boolean {\n return /(^|\\n)$/.test(this.out)\n }\n\n // :: ()\n // Ensure the current content ends with a newline.\n ensureNewLine (): void {\n if (!this.atBlank()) this.out += '\\n'\n }\n\n // :: (?string)\n // Prepare the state for writing output (closing closed paragraphs,\n // adding delimiters, and so on), and then optionally add content\n // (unescaped) to the output.\n write (content: string): void {\n this.flushClose(2)\n if (this.delim !== undefined && this.atBlank()) this.out += this.delim\n if (content.length > 0) this.out += content\n }\n\n // :: (Node)\n // Close the block for the given node.\n closeBlock (node: MarkupNode): void {\n this.closedNode = node\n this.closed = true\n }\n\n // :: (string, ?bool)\n // Add the given text to the document. When escape is not `false`,\n // it will be escaped.\n text (text: string, escape = false): void {\n const lines = text.split('\\n')\n for (let i = 0; i < lines.length; i++) {\n const startOfLine = this.atBlank() || this.closed\n this.write('')\n this.out += escape ? this.esc(lines[i], startOfLine) : lines[i]\n if (i !== lines.length - 1) this.out += '\\n'\n }\n }\n\n // :: (Node)\n // Render the given node as a block.\n render (node: MarkupNode, parent: MarkupNode, index: number): void {\n if (this.nodes[node.type] === undefined) {\n throw new Error('Token type `' + node.type + '` not supported by Markdown renderer')\n }\n this.nodes[node.type](this, node, parent, index)\n }\n\n // :: (Node)\n // Render the contents of `parent` as block nodes.\n renderContent (parent: MarkupNode): void {\n nodeContent(parent).forEach((node: MarkupNode, i: number) => {\n this.render(node, parent, i)\n })\n }\n\n reorderMixableMark (state: InlineState, mark: MarkupMark, i: number, len: number): void {\n for (let j = 0; j < state.active.length; j++) {\n const other = state.active[j]\n if (!this.marks[other.type].mixable || this.checkSwitchMarks(i, j, state, mark, other, len)) {\n break\n }\n }\n }\n\n reorderMixableMarks (state: InlineState, len: number): void {\n // Try to reorder 'mixable' marks, such as em and strong, which\n // in Markdown may be opened and closed in different order, so\n // that order of the marks for the token matches the order in\n // active.\n\n for (let i = 0; i < len; i++) {\n const mark = state.marks[i]\n const mm = this.marks[mark.type]\n if (mm == null) {\n break\n }\n if (!mm.mixable) break\n this.reorderMixableMark(state, mark, i, len)\n }\n }\n\n private checkSwitchMarks (\n i: number,\n j: number,\n state: InlineState,\n mark: MarkupMark,\n other: MarkupMark,\n len: number\n ): boolean {\n if (!markEq(mark, other) || i === j) {\n return false\n }\n this.switchMarks(i, j, state, mark, len)\n return true\n }\n\n private switchMarks (i: number, j: number, state: InlineState, mark: MarkupMark, len: number): void {\n if (i > j) {\n state.marks = state.marks\n .slice(0, j)\n .concat(mark)\n .concat(state.marks.slice(j, i))\n .concat(state.marks.slice(i + 1, len))\n }\n if (j > i) {\n state.marks = state.marks\n .slice(0, i)\n .concat(state.marks.slice(i + 1, j))\n .concat(mark)\n .concat(state.marks.slice(j, len))\n }\n }\n\n renderNodeInline (state: InlineState, index: number): void {\n state.marks = state.node?.marks ?? []\n this.updateHardBreakMarks(state, index)\n\n const leading = this.adjustLeading(state)\n\n const inner: MarkupMark | undefined = state.marks.length > 0 ? state.marks[state.marks.length - 1] : undefined\n const noEsc = inner !== undefined && !(this.marks[inner.type]?.escape ?? false)\n const len = state.marks.length - (noEsc ? 1 : 0)\n\n this.reorderMixableMarks(state, len)\n\n // Find the prefix of the mark set that didn't change\n this.checkCloseMarks(state, len, index)\n\n // Output any previously expelled trailing whitespace outside the marks\n if (leading !== '') this.text(leading)\n\n // Open the marks that need to be opened\n this.checkOpenMarks(state, len, index, inner, noEsc)\n }\n\n private checkOpenMarks (\n state: InlineState,\n len: number,\n index: number,\n inner: MarkupMark | undefined,\n noEsc: boolean\n ): void {\n if (state.node !== undefined) {\n this.updateActiveMarks(state, len, index)\n\n // Render the node. Special case code marks, since their content\n // may not be escaped.\n if (this.isNoEscapeRequire(state.node, inner, noEsc, state)) {\n this.renderMarkText(inner as MarkupMark, state, index)\n } else {\n this.render(state.node, state.parent, index)\n }\n }\n }\n\n private isNoEscapeRequire (\n node: MarkupNode,\n inner: MarkupMark | undefined,\n noEsc: boolean,\n state: InlineState\n ): boolean {\n return inner !== undefined && noEsc && node.type === MarkupNodeType.text\n }\n\n private renderMarkText (inner: MarkupMark, state: InlineState, index: number): void {\n this.text(\n this.markString(inner, true, state.parent, index) +\n (state.node?.text as string) +\n this.markString(inner, false, state.parent, index + 1),\n false\n )\n }\n\n private updateActiveMarks (state: InlineState, len: number, index: number): void {\n while (state.active.length < len) {\n const add = state.marks[state.active.length]\n state.active.push(add)\n this.text(this.markString(add, true, state.parent, index), false)\n }\n }\n\n private checkCloseMarks (state: InlineState, len: number, index: number): void {\n let keep = 0\n while (keep < Math.min(state.active.length, len) && markEq(state.marks[keep], state.active[keep])) {\n ++keep\n }\n\n // Close the marks that need to be closed\n while (keep < state.active.length) {\n const mark = state.active.pop()\n if (mark !== undefined) {\n this.text(this.markString(mark, false, state.parent, index), false)\n }\n }\n }\n\n private adjustLeading (state: InlineState): string {\n let leading = state.trailing\n state.trailing = ''\n // If whitespace has to be expelled from the node, adjust\n // leading and trailing accordingly.\n const node = state?.node\n if (this.isText(node) && this.isMarksHasExpelEnclosingWhitespace(state)) {\n const match = /^(\\s*)(.*?)(\\s*)$/m.exec(node?.text ?? '')\n if (match !== null) {\n const [leadMatch, innerMatch, trailMatch] = [match[1], match[2], match[3]]\n leading += leadMatch\n state.trailing = trailMatch\n this.adjustLeadingTextNode(leadMatch, trailMatch, state, innerMatch, node as MarkupNode)\n }\n }\n return leading\n }\n\n private isMarksHasExpelEnclosingWhitespace (state: InlineState): boolean {\n return state.marks.some((mark) => this.marks[mark.type]?.expelEnclosingWhitespace)\n }\n\n private adjustLeadingTextNode (\n lead: string,\n trail: string,\n state: InlineState,\n inner: string,\n node: MarkupNode\n ): void {\n if (lead !== '' || trail !== '') {\n state.node = inner !== undefined ? { ...node, text: inner } : undefined\n if (state.node === undefined) {\n state.marks = state.active\n }\n }\n }\n\n private updateHardBreakMarks (state: InlineState, index: number): void {\n if (state.node !== undefined && state.node.type === MarkupNodeType.hard_break) {\n state.marks = this.filterHardBreakMarks(state.marks, index, state)\n }\n }\n\n private filterHardBreakMarks (marks: MarkupMark[], index: number, state: InlineState): MarkupMark[] {\n const content = state.parent.content ?? []\n const next = content[index + 1]\n if (!this.isHardbreakText(next)) {\n return []\n }\n return marks.filter((m) => isInSet(m, next.marks ?? []))\n }\n\n private isHardbreakText (next?: MarkupNode): boolean {\n return (\n next !== undefined && (next.type !== MarkupNodeType.text || (next.text !== undefined && /\\S/.test(next.text)))\n )\n }\n\n private isText (node?: MarkupNode): boolean {\n return node !== undefined && node.type === MarkupNodeType.text && node.text !== undefined\n }\n\n // :: (Node)\n // Render the contents of `parent` as inline content.\n renderInline (parent: MarkupNode): void {\n const state: InlineState = { active: [], trailing: '', parent, marks: [] }\n nodeContent(parent).forEach((nde, index) => {\n state.node = nde\n this.renderNodeInline(state, index)\n })\n state.node = undefined\n this.renderNodeInline(state, 0)\n }\n\n // :: (Node, string, (number) \u2192 string)\n // Render a node's content as a list. `delim` should be the extra\n // indentation added to all lines except the first in an item,\n // `firstDelim` is a function going from an item index to a\n // delimiter for the first line of the item.\n renderList (node: MarkupNode, delim: string, firstDelim: FirstDelim): void {\n this.flushListClose(node)\n\n const isTight: boolean =\n typeof node.attrs?.tight !== 'undefined' ? node.attrs.tight === 'true' : this.options.tightLists\n const prevTight = this.inTightList\n this.inTightList = isTight\n\n nodeContent(node).forEach((child, i) => {\n this.renderListItem(node, child, i, isTight, delim, firstDelim)\n })\n this.inTightList = prevTight\n }\n\n renderListItem (\n node: MarkupNode,\n child: MarkupNode,\n i: number,\n isTight: boolean,\n delim: string,\n firstDelim: FirstDelim\n ): void {\n if (i > 0 && isTight) this.flushClose(1)\n this.wrapBlock(delim, firstDelim(i, node.content?.[i].attrs, node.attrs), node, () => {\n this.render(child, node, i)\n })\n }\n\n private flushListClose (node: MarkupNode): void {\n if (this.closed && this.closedNode?.type === node.type) {\n this.flushClose(3)\n } else if (this.inTightList) {\n this.flushClose(1)\n }\n }\n\n // :: (string, ?bool) \u2192 string\n // Escape the given string so that it can safely appear in Markdown\n // content. If `startOfLine` is true, also escape characters that\n // has special meaning only at the start of the line.\n esc (str: string, startOfLine = false): string {\n if (str == null) {\n return ''\n }\n str = str.replace(/[`*\\\\~\\[\\]]/g, '\\\\$&') // eslint-disable-line\n if (startOfLine) {\n str = str.replace(/^[:#\\-*+]/, '\\\\$&').replace(/^(\\d+)\\./, '$1\\\\.')\n }\n str = str.replace(/\\r?\\n/g, '\\\\\\n')\n return str\n }\n\n htmlEsc (str: string): string {\n if (str == null) {\n return ''\n }\n\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#039;')\n }\n\n quote (str: string): string {\n const wrap = !(str?.includes('\"') ?? false) ? '\"\"' : !(str?.includes(\"'\") ?? false) ? \"''\" : '()'\n return wrap[0] + str + wrap[1]\n }\n\n // :: (string, number) \u2192 string\n // Repeat the given string `n` times.\n repeat (str: string, n: number): string {\n let out = ''\n for (let i = 0; i < n; i++) out += str\n return out\n }\n\n // : (Mark, bool, string?) \u2192 string\n // Get the markdown string for a given opening or closing mark.\n markString (mark: MarkupMark, open: boolean, parent: MarkupNode, index: number): string {\n let value = mark.attrs?.marker\n if (value === undefined) {\n const info = this.marks[mark.type]\n if (info == null) {\n throw new Error(`No info for mark ${mark.type}`)\n }\n value = open ? info.open : info.close\n }\n return typeof value === 'string' ? value : (value(this, mark, parent, index) ?? '')\n }\n}\n\nfunction makeQuery (obj: Record<string, string | number | boolean | null | undefined>): string {\n return Object.keys(obj)\n .filter((it) => it[1] != null)\n .map(function (k) {\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k] as string | number | boolean)\n })\n .join('&')\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright \u00A9 2025 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport { MarkupMark, MarkupNode, MarkupNodeType } from '@hcengineering/text-core'\nimport { markupToHtml } from '@hcengineering/text-html'\n\nimport { isInSet, markEq } from './marks'\nimport { nodeContent, nodeAttrs } from './node'\n\ntype FirstDelim = (i: number, attrs?: Record<string, any>, parentAttrs?: Record<string, any>) => string\ninterface IState {\n wrapBlock: (delim: string, firstDelim: string | null, node: MarkupNode, f: () => void) => void\n flushClose: (size: number) => void\n atBlank: () => void\n ensureNewLine: () => void\n write: (content: string) => void\n closeBlock: (node: any) => void\n text: (text: string, escape?: boolean) => void\n render: (node: MarkupNode, parent: MarkupNode, index: number) => void\n renderContent: (parent: MarkupNode) => void\n renderInline: (parent: MarkupNode) => void\n renderList: (node: MarkupNode, delim: string, firstDelim: FirstDelim) => void\n esc: (str: string, startOfLine?: boolean) => string\n htmlEsc: (str: string) => string\n quote: (str: string) => string\n repeat: (str: string, n: number) => string\n markString: (mark: MarkupMark, open: boolean, parent: MarkupNode, index: number) => string\n renderHtml: (node: MarkupNode) => string\n refUrl: string\n imageUrl: string\n inAutolink?: boolean\n renderAHref?: boolean\n}\n\ntype NodeProcessor = (state: IState, node: MarkupNode, parent: MarkupNode, index: number) => void\n\ninterface InlineState {\n active: MarkupMark[]\n trailing: string\n parent: MarkupNode\n node?: MarkupNode\n marks: MarkupMark[]\n}\n\n// *************************************************************\n\nfunction backticksFor (side: boolean): string {\n return side ? '`' : '`'\n}\n\nfunction isPlainURL (link: MarkupMark, parent: MarkupNode, index: number): boolean {\n if (link.attrs?.title !== undefined || !/^\\w+:/.test(link.attrs?.href)) return false\n const content = parent.content?.[index]\n if (content === undefined) {\n return false\n }\n if (\n content.type !== MarkupNodeType.text ||\n content.text !== link.attrs?.href ||\n content.marks?.[content.marks.length - 1] !== link\n ) {\n return false\n }\n return index === (parent.content?.length ?? 0) - 1 || !isInSet(link, parent.content?.[index + 1]?.marks ?? [])\n}\n\nconst formatTodoItem: FirstDelim = (i, attrs, parentAttrs?: Record<string, any>) => {\n const meta =\n attrs?.todoid !== undefined && attrs?.userid !== undefined\n ? `<!-- todoid=${attrs?.todoid},userid=${attrs?.userid} -->`\n : ''\n\n const bullet = parentAttrs?.bullet ?? '*'\n return `${bullet} [${attrs?.checked === true ? 'x' : ' '}] ${meta}`\n}\n\n// *************************************************************\n\nexport const storeNodes: Record<string, NodeProcessor> = {\n blockquote: (state, node) => {\n state.wrapBlock('> ', null, node, () => {\n state.renderContent(node)\n })\n },\n codeBlock: (state, node) => {\n state.write('```' + `${nodeAttrs(node).language ?? ''}` + '\\n')\n // TODO: Check for node.textContent\n state.renderInline(node)\n // state.text(node.text ?? '', false)\n state.ensureNewLine()\n state.write('```')\n state.closeBlock(node)\n },\n mermaid: (state, node) => {\n state.write('```mermaid\\n')\n state.renderInline(node)\n state.ensureNewLine()\n state.write('```')\n state.closeBlock(node)\n },\n heading: (state, node) => {\n const attrs = nodeAttrs(node)\n if (attrs.marker === '=' && attrs.level === 1) {\n state.renderInline(node)\n state.ensureNewLine()\n state.write('===\\n')\n } else if (attrs.marker === '-' && attrs.level === 2) {\n state.renderInline(node)\n state.ensureNewLine()\n state.write('---\\n')\n } else {\n state.write(state.repeat('#', attrs.level !== undefined ? Number(attrs.level) : 1) + ' ')\n state.renderInline(node)\n }\n state.closeBlock(node)\n },\n horizontalRule: (state, node) => {\n state.write(`${nodeAttrs(node).markup ?? '---'}`)\n state.closeBlock(node)\n },\n bulletList: (state, node) => {\n state.renderList(node, ' ', () => `${nodeAttrs(node).bullet ?? '*'}` + ' ')\n },\n taskList: (state, node) => {\n state.renderList(node, ' ', () => '* [ ]' + ' ')\n },\n todoList: (state, node) => {\n state.renderList(node, ' ', formatTodoItem)\n },\n orderedList: (state, node) => {\n let start = 1\n if (nodeAttrs(node).order !== undefined) {\n start = Number(nodeAttrs(node).order)\n }\n const maxW = String(start + nodeContent(node).length - 1).length\n const space = state.repeat(' ', maxW + 2)\n state.renderList(node, space, (i: number) => {\n const nStr = String(start + i)\n return state.repeat(' ', maxW - nStr.length) + nStr + '. '\n })\n },\n listItem: (state, node) => {\n state.renderContent(node)\n },\n taskItem: (state, node) => {\n state.renderContent(node)\n },\n todoItem: (state, node) => {\n state.renderContent(node)\n },\n paragraph: (state, node) => {\n state.renderInline(node)\n state.closeBlock(node)\n },\n subLink: (state, node) => {\n state.write('<sub>')\n state.renderAHref = true\n state.renderInline(node)\n state.renderAHref = false\n state.write('</sub>')\n },\n\n image: (state, node) => {\n const attrs = nodeAttrs(node)\n if (attrs.token != null && attrs['file-id'] != null) {\n // Convert image to token format\n state.write(\n '![' +\n state.esc(`${attrs.alt ?? ''}`) +\n '](' +\n (state.imageUrl +\n `${attrs['file-id']}` +\n `?file=${attrs['file-id']}` +\n (attrs.width != null ? '&width=' + state.esc(`${attrs.width}`) : '') +\n (attrs.height != null ? '&height=' + state.esc(`${attrs.height}`) : '') +\n (attrs.token != null ? '&token=' + state.esc(`${attrs.token}`) : '')) +\n (attrs.title != null ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n } else if (attrs['file-id'] != null) {\n // Convert image to fileid format\n state.write(\n '![' +\n state.esc(`${attrs.alt ?? ''}`) +\n '](' +\n (state.imageUrl +\n `${attrs['file-id']}` +\n (attrs.width != null ? '&width=' + state.esc(`${attrs.width}`) : '') +\n (attrs.height != null ? '&height=' + state.esc(`${attrs.height}`) : '')) +\n (attrs.title != null ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n } else {\n if (attrs.width != null || attrs.height != null) {\n state.write(\n '<img' +\n (attrs.width != null ? ` width=\"${state.esc(`${attrs.width}`)}\"` : '') +\n (attrs.height != null ? ` height=\"${state.esc(`${attrs.height}`)}\"` : '') +\n ` src=\"${state.esc(`${attrs.src}`)}\"` +\n (attrs.alt != null ? ` alt=\"${state.esc(`${attrs.alt}`)}\"` : '') +\n (attrs.title != null ? '>' + state.quote(`${attrs.title}`) + '</img>' : '>')\n )\n } else {\n state.write(\n '![' +\n state.esc(`${attrs.alt ?? ''}`) +\n '](' +\n state.esc(`${attrs.src}`) +\n (attrs.title != null ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n }\n }\n },\n reference: (state, node) => {\n const attrs = nodeAttrs(node)\n let url = state.refUrl\n if (!url.includes('?')) {\n url += '?'\n } else {\n url += '&'\n }\n state.write(\n '[' +\n state.esc(`${attrs.label ?? ''}`) +\n '](' +\n `${url}${makeQuery({\n _class: attrs.objectclass,\n _id: attrs.id,\n label: attrs.label\n })}` +\n (attrs.title !== undefined ? ' ' + state.quote(`${attrs.title}`) : '') +\n ')'\n )\n },\n markdown: (state, node) => {\n state.renderInline(node)\n state.closeBlock(node)\n },\n comment: (state, node) => {\n state.write('<!--')\n state.renderInline(node)\n state.write('-->')\n },\n hardBreak: (state, node, parent, index) => {\n const content = nodeContent(parent)\n for (let i = index + 1; i < content.length; i++) {\n if (content[i].type !== node.type) {\n state.write('\\\\\\n')\n return\n }\n }\n },\n text: (state, node) => {\n // Check if test has reference mark, in this case we need to remove [[]]\n state.text(node.text ?? '')\n },\n emoji: (state, node) => {\n state.text(node.attrs?.emoji as string)\n },\n table: (state, node) => {\n state.write(state.renderHtml(node))\n state.closeBlock(node)\n },\n embed: (state, node) => {\n const attrs = nodeAttrs(node)\n const embedUrl = attrs.src as string\n state.write(`<a href=\"${encodeURI(embedUrl)}\" data-type=\"embed\">`)\n // Slashes are escaped to prevent autolink creation\n state.write(state.htmlEsc(embedUrl).replace(/\\//g, '&#x2F;'))\n state.write('</a>')\n }\n}\n\ninterface MarkProcessor {\n open: ((_state: IState, mark: MarkupMark, parent: MarkupNode, index: number) => string) | string\n close: ((_state: IState, mark: MarkupMark, parent: MarkupNode, index: number) => string) | string\n mixable: boolean\n expelEnclosingWhitespace: boolean\n escape: boolean\n}\n\nexport const storeMarks: Record<string, MarkProcessor> = {\n em: {\n open: '*',\n close: '*',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n italic: {\n open: '*',\n close: '*',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n bold: {\n open: '**',\n close: '**',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n strong: {\n open: '**',\n close: '**',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n strike: {\n open: '~~',\n close: '~~',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n underline: {\n open: '<ins>',\n close: '</ins>',\n mixable: true,\n expelEnclosingWhitespace: true,\n escape: true\n },\n link: {\n open: (state, mark, parent, index) => {\n if (state.renderAHref === true) {\n return `<a href=\"${encodeURI(mark.attrs?.href)}\">`\n } else {\n state.inAutolink = isPlainURL(mark, parent, index)\n return state.inAutolink ? '<' : '['\n }\n },\n close: (state, mark, parent, index) => {\n if (state.renderAHref === true) {\n return '</a>'\n } else {\n const { inAutolink } = state\n state.inAutolink = undefined\n\n const href = (mark.attrs?.href as string) ?? ''\n // eslint-disable-next-line\n const url = href.replace(/[\\(\\)\"\\\\<>]/g, '\\\\$&')\n const hasSpaces = url.includes(' ')\n\n return inAutolink === true\n ? '>'\n : '](' +\n (hasSpaces ? `<${url}>` : url) +\n (mark.attrs?.title !== undefined ? ` \"${(mark.attrs?.title as string).replace(/\"/g, '\\\\\"')}\"` : '') +\n ')'\n }\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: true\n },\n code: {\n open: (state, mark, parent, index) => {\n return backticksFor(false)\n },\n close: (state, mark, parent, index) => {\n return backticksFor(true)\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: false\n },\n textColor: {\n open: (state, mark, parent, index) => {\n if (mark.attrs?.color === undefined) {\n return ''\n }\n return `<span style=\"color: ${mark.attrs.color}\" data-color=\"${mark.attrs.color}\">`\n },\n close: (state, mark, parent, index) => {\n if (mark.attrs?.color === undefined) {\n return ''\n }\n return '</span>'\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: false\n },\n textStyle: {\n open: (state, mark, parent, index) => {\n const attrs = mark.attrs ?? {}\n if (Object.keys(attrs).length === 0) {\n return ''\n }\n const styleAttrs = Object.entries(attrs)\n .map(([key, value]) => {\n const kebabKey = key.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)\n return `${kebabKey}: ${value}`\n })\n .join('; ')\n\n return `<span style=\"${styleAttrs}\">`\n },\n close: (state, mark, parent, index) => {\n const attrs = mark.attrs ?? {}\n if (Object.keys(attrs).length === 0) {\n return ''\n }\n return '</span>'\n },\n mixable: false,\n expelEnclosingWhitespace: false,\n escape: false\n },\n subscript: {\n open: '<sub>',\n close: '</sub>',\n mixable: true,\n expelEnclosingWhitespace: false,\n escape: true\n },\n superscript: {\n open: '<sup>',\n close: '</sup>',\n mixable: true,\n expelEnclosingWhitespace: false,\n escape: true\n }\n}\n\nexport type HtmlWriter = (markup: MarkupNode) => string\n\nexport interface StateOptions {\n tightLists: boolean\n refUrl: string\n imageUrl: string\n htmlWriter?: HtmlWriter\n}\nexport class MarkdownState implements IState {\n nodes: Record<string, NodeProcessor>\n marks: Record<string, MarkProcessor>\n delim: string\n out: string\n closed: boolean\n closedNode?: MarkupNode\n inTightList: boolean\n options: StateOptions\n refUrl: string\n imageUrl: string\n htmlWriter: HtmlWriter\n\n constructor (\n nodes = storeNodes,\n marks = storeMarks,\n options: StateOptions = { tightLists: true, refUrl: 'ref://', imageUrl: 'http://' }\n ) {\n this.nodes = nodes\n this.marks = marks\n this.delim = this.out = ''\n this.closed = false\n this.inTightList = false\n this.refUrl = options.refUrl\n this.imageUrl = options.imageUrl\n this.htmlWriter = options.htmlWriter ?? markupToHtml\n\n this.options = options\n }\n\n flushClose (size: number): void {\n if (this.closed) {\n if (!this.atBlank()) this.out += '\\n'\n if (size > 1) {\n this.addDelim(size)\n }\n this.closed = false\n }\n }\n\n private addDelim (size: number): void {\n let delimMin = this.delim\n const trim = /\\s+$/.exec(delimMin)\n if (trim !== null) {\n delimMin = delimMin.slice(0, delimMin.length - trim[0].length)\n }\n for (let i = 1; i < size; i++) {\n this.out += delimMin + '\\n'\n }\n }\n\n renderHtml (node: MarkupNode): string {\n return this.htmlWriter(node)\n }\n\n wrapBlock (delim: string, firstDelim: string | null, node: MarkupNode, f: () => void): void {\n const old = this.delim\n this.write(firstDelim ?? delim)\n this.delim += delim\n f()\n this.delim = old\n this.closeBlock(node)\n }\n\n atBlank (): boolean {\n return /(^|\\n)$/.test(this.out)\n }\n\n // :: ()\n // Ensure the current content ends with a newline.\n ensureNewLine (): void {\n if (!this.atBlank()) this.out += '\\n'\n }\n\n // :: (?string)\n // Prepare the state for writing output (closing closed paragraphs,\n // adding delimiters, and so on), and then optionally add content\n // (unescaped) to the output.\n write (content: string): void {\n this.flushClose(2)\n if (this.delim !== undefined && this.atBlank()) this.out += this.delim\n if (content.length > 0) this.out += content\n }\n\n // :: (Node)\n // Close the block for the given node.\n closeBlock (node: MarkupNode): void {\n this.closedNode = node\n this.closed = true\n }\n\n // :: (string, ?bool)\n // Add the given text to the document. When escape is not `false`,\n // it will be escaped.\n text (text: string, escape = false): void {\n const lines = text.split('\\n')\n for (let i = 0; i < lines.length; i++) {\n const startOfLine = this.atBlank() || this.closed\n this.write('')\n this.out += escape ? this.esc(lines[i], startOfLine) : lines[i]\n if (i !== lines.length - 1) this.out += '\\n'\n }\n }\n\n // :: (Node)\n // Render the given node as a block.\n render (node: MarkupNode, parent: MarkupNode, index: number): void {\n if (this.nodes[node.type] === undefined) {\n throw new Error('Token type `' + node.type + '` not supported by Markdown renderer')\n }\n this.nodes[node.type](this, node, parent, index)\n }\n\n // :: (Node)\n // Render the contents of `parent` as block nodes.\n renderContent (parent: MarkupNode): void {\n nodeContent(parent).forEach((node: MarkupNode, i: number) => {\n this.render(node, parent, i)\n })\n }\n\n reorderMixableMark (state: InlineState, mark: MarkupMark, i: number, len: number): void {\n for (let j = 0; j < state.active.length; j++) {\n const other = state.active[j]\n if (!this.marks[other.type].mixable || this.checkSwitchMarks(i, j, state, mark, other, len)) {\n break\n }\n }\n }\n\n reorderMixableMarks (state: InlineState, len: number): void {\n // Try to reorder 'mixable' marks, such as em and strong, which\n // in Markdown may be opened and closed in different order, so\n // that order of the marks for the token matches the order in\n // active.\n\n for (let i = 0; i < len; i++) {\n const mark = state.marks[i]\n const mm = this.marks[mark.type]\n if (mm == null) {\n break\n }\n if (!mm.mixable) break\n this.reorderMixableMark(state, mark, i, len)\n }\n }\n\n private checkSwitchMarks (\n i: number,\n j: number,\n state: InlineState,\n mark: MarkupMark,\n other: MarkupMark,\n len: number\n ): boolean {\n if (!markEq(mark, other) || i === j) {\n return false\n }\n this.switchMarks(i, j, state, mark, len)\n return true\n }\n\n private switchMarks (i: number, j: number, state: InlineState, mark: MarkupMark, len: number): void {\n if (i > j) {\n state.marks = state.marks\n .slice(0, j)\n .concat(mark)\n .concat(state.marks.slice(j, i))\n .concat(state.marks.slice(i + 1, len))\n }\n if (j > i) {\n state.marks = state.marks\n .slice(0, i)\n .concat(state.marks.slice(i + 1, j))\n .concat(mark)\n .concat(state.marks.slice(j, len))\n }\n }\n\n renderNodeInline (state: InlineState, index: number): void {\n state.marks = state.node?.marks ?? []\n this.updateHardBreakMarks(state, index)\n\n const leading = this.adjustLeading(state)\n\n const inner: MarkupMark | undefined = state.marks.length > 0 ? state.marks[state.marks.length - 1] : undefined\n const noEsc = inner !== undefined && !(this.marks[inner.type]?.escape ?? false)\n const len = state.marks.length - (noEsc ? 1 : 0)\n\n this.reorderMixableMarks(state, len)\n\n // Find the prefix of the mark set that didn't change\n this.checkCloseMarks(state, len, index)\n\n // Output any previously expelled trailing whitespace outside the marks\n if (leading !== '') this.text(leading)\n\n // Open the marks that need to be opened\n this.checkOpenMarks(state, len, index, inner, noEsc)\n }\n\n private checkOpenMarks (\n state: InlineState,\n len: number,\n index: number,\n inner: MarkupMark | undefined,\n noEsc: boolean\n ): void {\n if (state.node !== undefined) {\n this.updateActiveMarks(state, len, index)\n\n // Render the node. Special case code marks, since their content\n // may not be escaped.\n if (this.isNoEscapeRequire(state.node, inner, noEsc, state)) {\n this.renderMarkText(inner as MarkupMark, state, index)\n } else {\n this.render(state.node, state.parent, index)\n }\n }\n }\n\n private isNoEscapeRequire (\n node: MarkupNode,\n inner: MarkupMark | undefined,\n noEsc: boolean,\n state: InlineState\n ): boolean {\n return inner !== undefined && noEsc && node.type === MarkupNodeType.text\n }\n\n private renderMarkText (inner: MarkupMark, state: InlineState, index: number): void {\n this.text(\n this.markString(inner, true, state.parent, index) +\n (state.node?.text as string) +\n this.markString(inner, false, state.parent, index + 1),\n false\n )\n }\n\n private updateActiveMarks (state: InlineState, len: number, index: number): void {\n while (state.active.length < len) {\n const add = state.marks[state.active.length]\n state.active.push(add)\n this.text(this.markString(add, true, state.parent, index), false)\n }\n }\n\n private checkCloseMarks (state: InlineState, len: number, index: number): void {\n let keep = 0\n while (keep < Math.min(state.active.length, len) && markEq(state.marks[keep], state.active[keep])) {\n ++keep\n }\n\n // Close the marks that need to be closed\n while (keep < state.active.length) {\n const mark = state.active.pop()\n if (mark !== undefined) {\n this.text(this.markString(mark, false, state.parent, index), false)\n }\n }\n }\n\n private adjustLeading (state: InlineState): string {\n let leading = state.trailing\n state.trailing = ''\n // If whitespace has to be expelled from the node, adjust\n // leading and trailing accordingly.\n const node = state?.node\n if (this.isText(node) && this.isMarksHasExpelEnclosingWhitespace(state)) {\n const match = /^(\\s*)(.*?)(\\s*)$/m.exec(node?.text ?? '')\n if (match !== null) {\n const [leadMatch, innerMatch, trailMatch] = [match[1], match[2], match[3]]\n leading += leadMatch\n state.trailing = trailMatch\n this.adjustLeadingTextNode(leadMatch, trailMatch, state, innerMatch, node as MarkupNode)\n }\n }\n return leading\n }\n\n private isMarksHasExpelEnclosingWhitespace (state: InlineState): boolean {\n return state.marks.some((mark) => this.marks[mark.type]?.expelEnclosingWhitespace)\n }\n\n private adjustLeadingTextNode (\n lead: string,\n trail: string,\n state: InlineState,\n inner: string,\n node: MarkupNode\n ): void {\n if (lead !== '' || trail !== '') {\n state.node = inner !== undefined ? { ...node, text: inner } : undefined\n if (state.node === undefined) {\n state.marks = state.active\n }\n }\n }\n\n private updateHardBreakMarks (state: InlineState, index: number): void {\n if (state.node !== undefined && state.node.type === MarkupNodeType.hard_break) {\n state.marks = this.filterHardBreakMarks(state.marks, index, state)\n }\n }\n\n private filterHardBreakMarks (marks: MarkupMark[], index: number, state: InlineState): MarkupMark[] {\n const content = state.parent.content ?? []\n const next = content[index + 1]\n if (!this.isHardbreakText(next)) {\n return []\n }\n return marks.filter((m) => isInSet(m, next.marks ?? []))\n }\n\n private isHardbreakText (next?: MarkupNode): boolean {\n return (\n next !== undefined && (next.type !== MarkupNodeType.text || (next.text !== undefined && /\\S/.test(next.text)))\n )\n }\n\n private isText (node?: MarkupNode): boolean {\n return node !== undefined && node.type === MarkupNodeType.text && node.text !== undefined\n }\n\n // :: (Node)\n // Render the contents of `parent` as inline content.\n renderInline (parent: MarkupNode): void {\n const state: InlineState = { active: [], trailing: '', parent, marks: [] }\n nodeContent(parent).forEach((nde, index) => {\n state.node = nde\n this.renderNodeInline(state, index)\n })\n state.node = undefined\n this.renderNodeInline(state, 0)\n }\n\n // :: (Node, string, (number) \u2192 string)\n // Render a node's content as a list. `delim` should be the extra\n // indentation added to all lines except the first in an item,\n // `firstDelim` is a function going from an item index to a\n // delimiter for the first line of the item.\n renderList (node: MarkupNode, delim: string, firstDelim: FirstDelim): void {\n this.flushListClose(node)\n\n const isTight: boolean =\n typeof node.attrs?.tight !== 'undefined' ? node.attrs.tight === 'true' : this.options.tightLists\n const prevTight = this.inTightList\n this.inTightList = isTight\n\n nodeContent(node).forEach((child, i) => {\n this.renderListItem(node, child, i, isTight, delim, firstDelim)\n })\n this.inTightList = prevTight\n }\n\n renderListItem (\n node: MarkupNode,\n child: MarkupNode,\n i: number,\n isTight: boolean,\n delim: string,\n firstDelim: FirstDelim\n ): void {\n if (i > 0 && isTight) this.flushClose(1)\n this.wrapBlock(delim, firstDelim(i, node.content?.[i].attrs, node.attrs), node, () => {\n this.render(child, node, i)\n })\n }\n\n private flushListClose (node: MarkupNode): void {\n if (this.closed && this.closedNode?.type === node.type) {\n this.flushClose(3)\n } else if (this.inTightList) {\n this.flushClose(1)\n }\n }\n\n // :: (string, ?bool) \u2192 string\n // Escape the given string so that it can safely appear in Markdown\n // content. If `startOfLine` is true, also escape characters that\n // has special meaning only at the start of the line.\n esc (str: string, startOfLine = false): string {\n if (str == null) {\n return ''\n }\n str = str.replace(/[`*\\\\~\\[\\]]/g, '\\\\$&') // eslint-disable-line\n if (startOfLine) {\n str = str.replace(/^[:#\\-*+]/, '\\\\$&').replace(/^(\\d+)\\./, '$1\\\\.')\n }\n str = str.replace(/\\r?\\n/g, '\\\\\\n')\n return str\n }\n\n htmlEsc (str: string): string {\n if (str == null) {\n return ''\n }\n\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#039;')\n }\n\n quote (str: string): string {\n const wrap = !(str?.includes('\"') ?? false) ? '\"\"' : !(str?.includes(\"'\") ?? false) ? \"''\" : '()'\n return wrap[0] + str + wrap[1]\n }\n\n // :: (string, number) \u2192 string\n // Repeat the given string `n` times.\n repeat (str: string, n: number): string {\n let out = ''\n for (let i = 0; i < n; i++) out += str\n return out\n }\n\n // : (Mark, bool, string?) \u2192 string\n // Get the markdown string for a given opening or closing mark.\n markString (mark: MarkupMark, open: boolean, parent: MarkupNode, index: number): string {\n let value = mark.attrs?.marker\n if (value === undefined) {\n const info = this.marks[mark.type]\n if (info == null) {\n throw new Error(`No info for mark ${mark.type}`)\n }\n value = open ? info.open : info.close\n }\n return typeof value === 'string' ? value : (value(this, mark, parent, index) ?? '')\n }\n}\n\nfunction makeQuery (obj: Record<string, string | number | boolean | null | undefined>): string {\n return Object.keys(obj)\n .filter((it) => it[1] != null)\n .map(function (k) {\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k] as string | number | boolean)\n })\n .join('&')\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hcengineering/text-markdown",
3
- "version": "0.7.20",
3
+ "version": "0.7.423",
4
4
  "main": "lib/index.js",
5
5
  "svelte": "src/index.ts",
6
6
  "types": "types/index.d.ts",
@@ -13,8 +13,18 @@
13
13
  ],
14
14
  "author": "Anticrm Platform Contributors",
15
15
  "license": "EPL-2.0",
16
+ "scripts": {
17
+ "build": "compile",
18
+ "test": "jest --passWithNoTests --silent --coverage",
19
+ "build:watch": "compile",
20
+ "format": "format src",
21
+ "_phase:build": "compile transpile src",
22
+ "_phase:test": "jest --passWithNoTests --silent --coverage",
23
+ "_phase:format": "format src",
24
+ "_phase:validate": "compile validate"
25
+ },
16
26
  "devDependencies": {
17
- "@hcengineering/platform-rig": "^0.7.19",
27
+ "@hcengineering/platform-rig": "^0.7.423",
18
28
  "@typescript-eslint/eslint-plugin": "^6.21.0",
19
29
  "eslint-plugin-import": "^2.26.0",
20
30
  "eslint-plugin-promise": "^6.1.1",
@@ -22,7 +32,7 @@
22
32
  "eslint": "^8.54.0",
23
33
  "@typescript-eslint/parser": "^6.21.0",
24
34
  "eslint-config-standard-with-typescript": "^40.0.0",
25
- "prettier": "^3.1.0",
35
+ "prettier": "^3.6.2",
26
36
  "typescript": "^5.9.3",
27
37
  "jest": "^29.7.0",
28
38
  "ts-jest": "^29.1.1",
@@ -31,12 +41,15 @@
31
41
  "eslint-plugin-svelte": "^2.35.1"
32
42
  },
33
43
  "dependencies": {
34
- "@hcengineering/text-core": "^0.7.18",
35
- "@hcengineering/text-html": "^0.7.18",
44
+ "@hcengineering/text-core": "^0.7.423",
45
+ "@hcengineering/text-html": "^0.7.423",
36
46
  "markdown-it": "^14.0.0",
37
47
  "fast-equals": "^5.2.2"
38
48
  },
39
- "repository": "https://github.com/hcengineering/huly.core",
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "git+https://github.com/hcengineering/huly.core.git"
52
+ },
40
53
  "publishConfig": {
41
54
  "access": "public"
42
55
  },
@@ -46,15 +59,5 @@
46
59
  "require": "./lib/index.js",
47
60
  "import": "./lib/index.js"
48
61
  }
49
- },
50
- "scripts": {
51
- "build": "compile",
52
- "test": "jest --passWithNoTests --silent --coverage",
53
- "build:watch": "compile",
54
- "format": "format src",
55
- "_phase:build": "compile transpile src",
56
- "_phase:test": "jest --passWithNoTests --silent --coverage",
57
- "_phase:format": "format src",
58
- "_phase:validate": "compile validate"
59
62
  }
60
- }
63
+ }
@@ -421,6 +421,20 @@ export const storeMarks: Record<string, MarkProcessor> = {
421
421
  mixable: false,
422
422
  expelEnclosingWhitespace: false,
423
423
  escape: false
424
+ },
425
+ subscript: {
426
+ open: '<sub>',
427
+ close: '</sub>',
428
+ mixable: true,
429
+ expelEnclosingWhitespace: false,
430
+ escape: true
431
+ },
432
+ superscript: {
433
+ open: '<sup>',
434
+ close: '</sup>',
435
+ mixable: true,
436
+ expelEnclosingWhitespace: false,
437
+ escape: true
424
438
  }
425
439
  }
426
440
 
@@ -187,6 +187,7 @@ const pluginState = (0, import_platform.plugin)(trackerId, {
187
187
  Issue: ""
188
188
  },
189
189
  action: {
190
+ CopyAsMarkdownTable: "",
190
191
  SetDueDate: "",
191
192
  SetParent: "",
192
193
  SetStatus: "",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright \u00A9 2022-2023 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport { Employee, Person } from '@hcengineering/contact'\nimport {\n AttachedDoc,\n Attribute,\n Class,\n MarkupBlobRef,\n CollectionSize,\n Data,\n Doc,\n Markup,\n Mixin,\n Ref,\n RelatedDocument,\n Space,\n Status,\n Timestamp,\n Type,\n type Permission\n} from '@hcengineering/core'\nimport { Asset, IntlString, Plugin, Resource, plugin } from '@hcengineering/platform'\nimport { Preference } from '@hcengineering/preference'\nimport { TagCategory, TagElement, TagReference } from '@hcengineering/tags'\nimport { ToDo } from '@hcengineering/time'\nimport {\n ProjectType,\n ProjectTypeDescriptor,\n Task,\n Project as TaskProject,\n TaskStatusFactory,\n TaskType,\n TaskTypeDescriptor\n} from '@hcengineering/task'\nimport { AnyComponent, ComponentExtensionId, Location, ResolvedLocation } from '@hcengineering/ui'\nimport { Action, ActionCategory, IconProps } from '@hcengineering/view'\n\nexport * from './analytics'\n\n/**\n * @public\n */\nexport interface IssueStatus extends Status {}\n\n/**\n * @public\n */\nexport interface Project extends TaskProject, IconProps {\n identifier: string // Project identifier\n sequence: number\n defaultIssueStatus: Ref<IssueStatus>\n defaultAssignee?: Ref<Employee>\n defaultTimeReportDay: TimeReportDayType\n}\n\n/**\n * @public\n */\nexport interface ProjectTargetPreference extends Preference {\n attachedTo: Ref<Project> // tracker.ids.ProjectPreferences\n\n usedOn: Timestamp\n\n props?: { key: string, value: any }[]\n}\n\nexport type RelatedIssueKind = 'classRule' | 'spaceRule'\n\nexport interface RelatedClassRule {\n kind: 'classRule'\n ofClass: Ref<Class<Doc>>\n}\n\nexport interface RelatedSpaceRule {\n kind: 'spaceRule'\n space: Ref<Space>\n}\n\n/**\n * @public\n *\n * If defined, will be used to set a default project for this kind of document's related issues.\n */\nexport interface RelatedIssueTarget extends Doc {\n // Attached to project.\n target?: Ref<Project> | null\n rule: RelatedClassRule | RelatedSpaceRule\n}\n\n/**\n * @public\n */\nexport enum TimeReportDayType {\n CurrentWorkDay = 'CurrentWorkDay',\n PreviousWorkDay = 'PreviousWorkDay'\n}\n\n/**\n * @public\n */\nexport enum IssuePriority {\n NoPriority,\n Urgent,\n High,\n Medium,\n Low\n}\n\n/**\n * @public\n */\nexport enum IssuesGrouping {\n Status = 'status',\n Assignee = 'assignee',\n Priority = 'priority',\n Component = 'component',\n Milestone = 'milestone',\n NoGrouping = '#no_category'\n}\n\n/**\n * @public\n */\nexport enum IssuesOrdering {\n Status = 'status',\n Priority = 'priority',\n LastUpdated = 'modifiedOn',\n DueDate = 'dueDate',\n Manual = 'rank'\n}\n\n/**\n * @public\n */\nexport enum IssuesDateModificationPeriod {\n All = 'all',\n PastWeek = 'pastWeek',\n PastMonth = 'pastMonth'\n}\n\n/**\n * @public\n */\nexport enum MilestoneStatus {\n Planned,\n InProgress,\n Completed,\n Canceled\n}\n\n/**\n * @public\n */\nexport interface Milestone extends Doc {\n label: string\n description?: Markup\n\n status: MilestoneStatus\n\n space: Ref<Project>\n\n comments: number\n attachments?: number\n\n targetDate: Timestamp\n}\n\n/**\n * @public\n */\nexport interface Issue extends Task {\n attachedTo: Ref<Issue>\n title: string\n description: MarkupBlobRef | null\n status: Ref<IssueStatus>\n priority: IssuePriority\n\n component: Ref<Component> | null\n\n // For subtasks\n subIssues: CollectionSize<Issue>\n blockedBy?: RelatedDocument[]\n relations?: RelatedDocument[]\n parents: IssueParentInfo[]\n\n space: Ref<Project>\n\n milestone?: Ref<Milestone> | null\n\n // Estimation in man hours\n estimation: number\n\n // Remaining time in man hours\n remainingTime: number\n\n // ReportedTime time, auto updated using trigger.\n reportedTime: number\n // Collection of reportedTime entries, for proper time estimations per person.\n reports: CollectionSize<TimeSpendReport>\n\n childInfo: IssueChildInfo[]\n\n template?: {\n // A template issue is based on\n template: Ref<IssueTemplate>\n // Child id in template\n childId?: string\n }\n\n todos?: CollectionSize<ToDo>\n}\n\n/**\n * @public\n */\nexport interface IssueDraft {\n kind: Ref<TaskType>\n _id: Ref<Issue>\n title: string\n description: Markup\n status?: Ref<IssueStatus>\n priority: IssuePriority\n assignee: Ref<Person> | null\n component: Ref<Component> | null\n space: Ref<Project>\n dueDate: Timestamp | null\n milestone?: Ref<Milestone> | null\n\n // Estimation in man days\n estimation: number\n parentIssue?: Ref<Issue>\n attachments?: number\n labels: TagReference[]\n subIssues: IssueDraft[]\n template?: {\n // A template issue is based on\n template: Ref<IssueTemplate>\n // Child id in template\n childId?: string\n }\n}\n\n/**\n * @public\n */\nexport interface IssueTemplateData {\n title: string\n description: Markup\n priority: IssuePriority\n\n assignee: Ref<Person> | null\n component: Ref<Component> | null\n\n milestone?: Ref<Milestone> | null\n\n // Estimation in man days\n estimation: number\n\n labels?: Ref<TagElement>[]\n\n kind?: Ref<TaskType>\n}\n\n/**\n * @public\n */\nexport interface IssueTemplateChild extends IssueTemplateData {\n id: Ref<Issue>\n}\n\n/**\n * @public\n */\nexport interface IssueTemplate extends Doc, IssueTemplateData {\n space: Ref<Project>\n\n children: IssueTemplateChild[]\n\n // Discussion stuff\n comments: number\n attachments?: number\n\n relations?: RelatedDocument[]\n}\n\n/**\n * @public\n *\n * Declares time spend entry\n */\nexport interface TimeSpendReport extends AttachedDoc {\n attachedTo: Ref<Issue>\n\n employee: Ref<Employee> | null\n\n date: Timestamp | null\n // Value in man hours\n value: number\n\n description: string\n}\n\n/**\n * @public\n */\nexport interface IssueParentInfo {\n parentId: Ref<Issue>\n identifier: string\n parentTitle: string\n space: Ref<Space>\n}\n\n/**\n * @public\n */\nexport interface IssueChildInfo {\n childId: Ref<Issue>\n estimation: number\n reportedTime: number\n}\n\n/**\n * @public\n */\nexport interface Document extends Doc {\n title: string\n icon: string | null\n color: number\n content?: Markup\n\n space: Ref<Project>\n}\n\n/**\n * @public\n */\nexport interface Component extends Doc {\n label: string\n description?: Markup\n lead: Ref<Employee> | null\n space: Ref<Project>\n comments: number\n attachments?: number\n}\n\n/**\n * @public\n */\nexport const trackerId = 'tracker' as Plugin\nexport * from './analytics'\n\nconst pluginState = plugin(trackerId, {\n class: {\n Project: '' as Ref<Class<Project>>,\n Issue: '' as Ref<Class<Issue>>,\n IssueTemplate: '' as Ref<Class<IssueTemplate>>,\n Component: '' as Ref<Class<Component>>,\n IssueStatus: '' as Ref<Class<IssueStatus>>,\n TypeIssuePriority: '' as Ref<Class<Type<IssuePriority>>>,\n Milestone: '' as Ref<Class<Milestone>>,\n TypeMilestoneStatus: '' as Ref<Class<Type<MilestoneStatus>>>,\n TimeSpendReport: '' as Ref<Class<TimeSpendReport>>,\n TypeReportedTime: '' as Ref<Class<Type<number>>>,\n TypeEstimation: '' as Ref<Class<Type<number>>>,\n TypeRemainingTime: '' as Ref<Class<Type<number>>>,\n RelatedIssueTarget: '' as Ref<Class<RelatedIssueTarget>>,\n ProjectTargetPreference: '' as Ref<Class<ProjectTargetPreference>>\n },\n mixin: {\n ClassicProjectTypeData: '' as Ref<Mixin<Project>>,\n IssueTypeData: '' as Ref<Mixin<Issue>>\n },\n ids: {\n NoParent: '' as Ref<Issue>,\n IssueDraft: '',\n IssueDraftChild: '',\n ClassingProjectType: '' as Ref<ProjectType>\n },\n status: {\n Backlog: '' as Ref<Status>,\n Todo: '' as Ref<Status>,\n InProgress: '' as Ref<Status>,\n Coding: '' as Ref<Status>,\n UnderReview: '' as Ref<Status>,\n Done: '' as Ref<Status>,\n Canceled: '' as Ref<Status>\n },\n component: {\n Tracker: '' as AnyComponent,\n TrackerApp: '' as AnyComponent,\n RelatedIssues: '' as AnyComponent,\n RelatedIssuesSection: '' as AnyComponent,\n RelatedIssueSelector: '' as AnyComponent,\n RelatedIssueTemplates: '' as AnyComponent,\n EditIssue: '' as AnyComponent,\n CreateIssue: '' as AnyComponent,\n ProjectPresenter: '' as AnyComponent,\n CreateIssueTemplate: '' as AnyComponent,\n CreateProject: '' as AnyComponent,\n IssueStatusPresenter: '' as AnyComponent,\n LabelsView: '' as AnyComponent\n },\n attribute: {\n IssueStatus: '' as Ref<Attribute<Status>>\n },\n icon: {\n TrackerApplication: '' as Asset,\n Component: '' as Asset,\n Issue: '' as Asset,\n Subissue: '' as Asset,\n Project: '' as Asset,\n Relations: '' as Asset,\n Inbox: '' as Asset,\n MyIssues: '' as Asset,\n Views: '' as Asset,\n Issues: '' as Asset,\n Components: '' as Asset,\n NewIssue: '' as Asset,\n Magnifier: '' as Asset,\n Labels: '' as Asset,\n DueDate: '' as Asset,\n Parent: '' as Asset,\n UnsetParent: '' as Asset,\n Milestone: '' as Asset,\n IssueTemplates: '' as Asset,\n Start: '' as Asset,\n Stop: '' as Asset,\n\n CategoryBacklog: '' as Asset,\n CategoryUnstarted: '' as Asset,\n CategoryStarted: '' as Asset,\n CategoryCompleted: '' as Asset,\n CategoryCanceled: '' as Asset,\n\n PriorityNoPriority: '' as Asset,\n PriorityUrgent: '' as Asset,\n PriorityHigh: '' as Asset,\n PriorityMedium: '' as Asset,\n PriorityLow: '' as Asset,\n\n ComponentsList: '' as Asset,\n\n MilestoneStatusPlanned: '' as Asset,\n MilestoneStatusInProgress: '' as Asset,\n MilestoneStatusPaused: '' as Asset,\n MilestoneStatusCompleted: '' as Asset,\n MilestoneStatusCanceled: '' as Asset,\n\n CopyBranch: '' as Asset,\n Duplicate: '' as Asset,\n\n TimeReport: '' as Asset,\n Estimation: '' as Asset,\n\n // Project icons\n Home: '' as Asset,\n RedCircle: '' as Asset\n },\n category: {\n Other: '' as Ref<TagCategory>,\n Tracker: '' as Ref<ActionCategory>\n },\n descriptors: {\n ProjectType: '' as Ref<ProjectTypeDescriptor>,\n Issue: '' as Ref<TaskTypeDescriptor>\n },\n action: {\n SetDueDate: '' as Ref<Action<Doc, any>>,\n SetParent: '' as Ref<Action<Doc, any>>,\n SetStatus: '' as Ref<Action>,\n SetPriority: '' as Ref<Action<Doc, any>>,\n SetAssignee: '' as Ref<Action<Doc, any>>,\n SetComponent: '' as Ref<Action<Doc, any>>,\n CopyIssueId: '' as Ref<Action<Doc, any>>,\n CopyIssueTitle: '' as Ref<Action<Doc, any>>,\n CopyIssueLink: '' as Ref<Action<Doc, any>>,\n MoveToProject: '' as Ref<Action>,\n Duplicate: '' as Ref<Action<Doc, any>>,\n Relations: '' as Ref<Action<Doc, any>>,\n NewIssue: '' as Ref<Action<Doc, any>>,\n NewIssueGlobal: '' as Ref<Action<Doc, any>>,\n NewSubIssue: '' as Ref<Action<Doc, any>>,\n EditWorkflowStatuses: '' as Ref<Action>,\n EditProject: '' as Ref<Action>,\n SetMilestone: '' as Ref<Action<Doc, any>>,\n SetLabels: '' as Ref<Action<Doc, any>>,\n EditRelatedTargets: '' as Ref<Action<Doc, any>>,\n UnsetParent: '' as Ref<Action<Doc, any>>\n },\n project: {\n DefaultProject: '' as Ref<Project>\n },\n resolver: {\n Location: '' as Resource<(loc: Location) => Promise<ResolvedLocation | undefined>>\n },\n string: {\n TrackerApplication: '' as IntlString,\n ConfigLabel: '' as IntlString,\n NewRelatedIssue: '' as IntlString,\n IssueNotificationTitle: '' as IntlString,\n IssueNotificationBody: '' as IntlString,\n IssueNotificationChanged: '' as IntlString,\n IssueNotificationChangedProperty: '' as IntlString,\n IssueNotificationMessage: '' as IntlString,\n IssueAssignedToYou: '' as IntlString,\n Project: '' as IntlString,\n RelatedIssues: '' as IntlString,\n Issue: '' as IntlString,\n NewProject: '' as IntlString,\n UnsetParentIssue: '' as IntlString,\n ForbidCreateProjectPermission: '' as IntlString,\n ForbidCreateProjectPermissionDescription: '' as IntlString\n },\n extensions: {\n IssueListHeader: '' as ComponentExtensionId,\n EditIssueHeader: '' as ComponentExtensionId,\n EditIssueTitle: '' as ComponentExtensionId\n },\n taskTypes: {\n Issue: '' as Ref<TaskType>,\n SubIssue: '' as Ref<TaskType>\n },\n permission: {\n ForbidCreateProject: '' as Ref<Permission>\n }\n})\nexport default pluginState\n\n/**\n * @public\n */\nexport function createStatesData (data: TaskStatusFactory[]): Omit<Data<Status>, 'rank'>[] {\n const states: Omit<Data<Status>, 'rank'>[] = []\n\n for (const category of data) {\n for (const sName of category.statuses) {\n states.push({\n ofAttribute: pluginState.attribute.IssueStatus,\n name: Array.isArray(sName) ? sName[0] : sName,\n color: Array.isArray(sName) ? sName[1] : undefined,\n category: category.category\n })\n }\n }\n return states\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright \u00A9 2022-2023 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport { Employee, Person } from '@hcengineering/contact'\nimport {\n AttachedDoc,\n Attribute,\n Class,\n MarkupBlobRef,\n CollectionSize,\n Data,\n Doc,\n Markup,\n Mixin,\n Ref,\n RelatedDocument,\n Space,\n Status,\n Timestamp,\n Type,\n type Permission\n} from '@hcengineering/core'\nimport { Asset, IntlString, Plugin, Resource, plugin } from '@hcengineering/platform'\nimport { Preference } from '@hcengineering/preference'\nimport { TagCategory, TagElement, TagReference } from '@hcengineering/tags'\nimport { ToDo } from '@hcengineering/time'\nimport {\n ProjectType,\n ProjectTypeDescriptor,\n Task,\n Project as TaskProject,\n TaskStatusFactory,\n TaskType,\n TaskTypeDescriptor\n} from '@hcengineering/task'\nimport { AnyComponent, ComponentExtensionId, Location, ResolvedLocation } from '@hcengineering/ui'\nimport { Action, ActionCategory, IconProps } from '@hcengineering/view'\n\nexport * from './analytics'\n\n/**\n * @public\n */\nexport interface IssueStatus extends Status {}\n\n/**\n * @public\n */\nexport interface Project extends TaskProject, IconProps {\n identifier: string // Project identifier\n sequence: number\n defaultIssueStatus?: Ref<IssueStatus>\n defaultAssignee?: Ref<Employee>\n defaultTimeReportDay: TimeReportDayType\n}\n\n/**\n * @public\n */\nexport interface ProjectTargetPreference extends Preference {\n attachedTo: Ref<Project> // tracker.ids.ProjectPreferences\n\n usedOn: Timestamp\n\n props?: { key: string, value: any }[]\n}\n\nexport type RelatedIssueKind = 'classRule' | 'spaceRule'\n\nexport interface RelatedClassRule {\n kind: 'classRule'\n ofClass: Ref<Class<Doc>>\n}\n\nexport interface RelatedSpaceRule {\n kind: 'spaceRule'\n space: Ref<Space>\n}\n\n/**\n * @public\n *\n * If defined, will be used to set a default project for this kind of document's related issues.\n */\nexport interface RelatedIssueTarget extends Doc {\n // Attached to project.\n target?: Ref<Project> | null\n rule: RelatedClassRule | RelatedSpaceRule\n}\n\n/**\n * @public\n */\nexport enum TimeReportDayType {\n CurrentWorkDay = 'CurrentWorkDay',\n PreviousWorkDay = 'PreviousWorkDay'\n}\n\n/**\n * @public\n */\nexport enum IssuePriority {\n NoPriority,\n Urgent,\n High,\n Medium,\n Low\n}\n\n/**\n * @public\n */\nexport enum IssuesGrouping {\n Status = 'status',\n Assignee = 'assignee',\n Priority = 'priority',\n Component = 'component',\n Milestone = 'milestone',\n NoGrouping = '#no_category'\n}\n\n/**\n * @public\n */\nexport enum IssuesOrdering {\n Status = 'status',\n Priority = 'priority',\n LastUpdated = 'modifiedOn',\n DueDate = 'dueDate',\n Manual = 'rank'\n}\n\n/**\n * @public\n */\nexport enum IssuesDateModificationPeriod {\n All = 'all',\n PastWeek = 'pastWeek',\n PastMonth = 'pastMonth'\n}\n\n/**\n * @public\n */\nexport enum MilestoneStatus {\n Planned,\n InProgress,\n Completed,\n Canceled\n}\n\n/**\n * @public\n */\nexport interface Milestone extends Doc {\n label: string\n description?: Markup\n\n status: MilestoneStatus\n\n space: Ref<Project>\n\n comments: number\n attachments?: number\n\n targetDate: Timestamp\n}\n\n/**\n * @public\n */\nexport interface Issue extends Task {\n attachedTo: Ref<Issue>\n title: string\n description: MarkupBlobRef | null\n status: Ref<IssueStatus>\n priority: IssuePriority\n\n component: Ref<Component> | null\n\n // For subtasks\n subIssues: CollectionSize<Issue>\n blockedBy?: RelatedDocument[]\n relations?: RelatedDocument[]\n parents: IssueParentInfo[]\n\n space: Ref<Project>\n\n milestone?: Ref<Milestone> | null\n\n // Estimation in man hours\n estimation: number\n\n // Remaining time in man hours\n remainingTime: number\n\n // ReportedTime time, auto updated using trigger.\n reportedTime: number\n // Collection of reportedTime entries, for proper time estimations per person.\n reports: CollectionSize<TimeSpendReport>\n\n childInfo: IssueChildInfo[]\n\n template?: {\n // A template issue is based on\n template: Ref<IssueTemplate>\n // Child id in template\n childId?: string\n }\n\n todos?: CollectionSize<ToDo>\n}\n\n/**\n * @public\n */\nexport interface IssueDraft {\n kind: Ref<TaskType>\n _id: Ref<Issue>\n title: string\n description: Markup\n status?: Ref<IssueStatus>\n priority: IssuePriority\n assignee: Ref<Person> | null\n component: Ref<Component> | null\n space: Ref<Project>\n dueDate: Timestamp | null\n milestone?: Ref<Milestone> | null\n\n // Estimation in man days\n estimation: number\n parentIssue?: Ref<Issue>\n attachments?: number\n labels: TagReference[]\n subIssues: IssueDraft[]\n template?: {\n // A template issue is based on\n template: Ref<IssueTemplate>\n // Child id in template\n childId?: string\n }\n}\n\n/**\n * @public\n */\nexport interface IssueTemplateData {\n title: string\n description: Markup\n priority: IssuePriority\n\n assignee: Ref<Person> | null\n component: Ref<Component> | null\n\n milestone?: Ref<Milestone> | null\n\n // Estimation in man days\n estimation: number\n\n labels?: Ref<TagElement>[]\n\n kind?: Ref<TaskType>\n}\n\n/**\n * @public\n */\nexport interface IssueTemplateChild extends IssueTemplateData {\n id: Ref<Issue>\n}\n\n/**\n * @public\n */\nexport interface IssueTemplate extends Doc, IssueTemplateData {\n space: Ref<Project>\n\n children: IssueTemplateChild[]\n\n // Discussion stuff\n comments: number\n attachments?: number\n\n relations?: RelatedDocument[]\n}\n\n/**\n * @public\n *\n * Declares time spend entry\n */\nexport interface TimeSpendReport extends AttachedDoc {\n attachedTo: Ref<Issue>\n\n employee: Ref<Employee> | null\n\n date: Timestamp | null\n // Value in man hours\n value: number\n\n description: string\n}\n\n/**\n * @public\n */\nexport interface IssueParentInfo {\n parentId: Ref<Issue>\n identifier: string\n parentTitle: string\n space: Ref<Space>\n}\n\n/**\n * @public\n */\nexport interface IssueChildInfo {\n childId: Ref<Issue>\n estimation: number\n reportedTime: number\n}\n\n/**\n * @public\n */\nexport interface Document extends Doc {\n title: string\n icon: string | null\n color: number\n content?: Markup\n\n space: Ref<Project>\n}\n\n/**\n * @public\n */\nexport interface Component extends Doc {\n label: string\n description?: Markup\n lead: Ref<Employee> | null\n space: Ref<Project>\n comments: number\n attachments?: number\n}\n\n/**\n * @public\n */\nexport const trackerId = 'tracker' as Plugin\nexport * from './analytics'\n\nconst pluginState = plugin(trackerId, {\n class: {\n Project: '' as Ref<Class<Project>>,\n Issue: '' as Ref<Class<Issue>>,\n IssueTemplate: '' as Ref<Class<IssueTemplate>>,\n Component: '' as Ref<Class<Component>>,\n IssueStatus: '' as Ref<Class<IssueStatus>>,\n TypeIssuePriority: '' as Ref<Class<Type<IssuePriority>>>,\n Milestone: '' as Ref<Class<Milestone>>,\n TypeMilestoneStatus: '' as Ref<Class<Type<MilestoneStatus>>>,\n TimeSpendReport: '' as Ref<Class<TimeSpendReport>>,\n TypeReportedTime: '' as Ref<Class<Type<number>>>,\n TypeEstimation: '' as Ref<Class<Type<number>>>,\n TypeRemainingTime: '' as Ref<Class<Type<number>>>,\n RelatedIssueTarget: '' as Ref<Class<RelatedIssueTarget>>,\n ProjectTargetPreference: '' as Ref<Class<ProjectTargetPreference>>\n },\n mixin: {\n ClassicProjectTypeData: '' as Ref<Mixin<Project>>,\n IssueTypeData: '' as Ref<Mixin<Issue>>\n },\n ids: {\n NoParent: '' as Ref<Issue>,\n IssueDraft: '',\n IssueDraftChild: '',\n ClassingProjectType: '' as Ref<ProjectType>\n },\n status: {\n Backlog: '' as Ref<Status>,\n Todo: '' as Ref<Status>,\n InProgress: '' as Ref<Status>,\n Coding: '' as Ref<Status>,\n UnderReview: '' as Ref<Status>,\n Done: '' as Ref<Status>,\n Canceled: '' as Ref<Status>\n },\n component: {\n Tracker: '' as AnyComponent,\n TrackerApp: '' as AnyComponent,\n RelatedIssues: '' as AnyComponent,\n RelatedIssuesSection: '' as AnyComponent,\n RelatedIssueSelector: '' as AnyComponent,\n RelatedIssueTemplates: '' as AnyComponent,\n EditIssue: '' as AnyComponent,\n CreateIssue: '' as AnyComponent,\n ProjectPresenter: '' as AnyComponent,\n CreateIssueTemplate: '' as AnyComponent,\n CreateProject: '' as AnyComponent,\n IssueStatusPresenter: '' as AnyComponent,\n LabelsView: '' as AnyComponent\n },\n attribute: {\n IssueStatus: '' as Ref<Attribute<Status>>\n },\n icon: {\n TrackerApplication: '' as Asset,\n Component: '' as Asset,\n Issue: '' as Asset,\n Subissue: '' as Asset,\n Project: '' as Asset,\n Relations: '' as Asset,\n Inbox: '' as Asset,\n MyIssues: '' as Asset,\n Views: '' as Asset,\n Issues: '' as Asset,\n Components: '' as Asset,\n NewIssue: '' as Asset,\n Magnifier: '' as Asset,\n Labels: '' as Asset,\n DueDate: '' as Asset,\n Parent: '' as Asset,\n UnsetParent: '' as Asset,\n Milestone: '' as Asset,\n IssueTemplates: '' as Asset,\n Start: '' as Asset,\n Stop: '' as Asset,\n\n CategoryBacklog: '' as Asset,\n CategoryUnstarted: '' as Asset,\n CategoryStarted: '' as Asset,\n CategoryCompleted: '' as Asset,\n CategoryCanceled: '' as Asset,\n\n PriorityNoPriority: '' as Asset,\n PriorityUrgent: '' as Asset,\n PriorityHigh: '' as Asset,\n PriorityMedium: '' as Asset,\n PriorityLow: '' as Asset,\n\n ComponentsList: '' as Asset,\n\n MilestoneStatusPlanned: '' as Asset,\n MilestoneStatusInProgress: '' as Asset,\n MilestoneStatusPaused: '' as Asset,\n MilestoneStatusCompleted: '' as Asset,\n MilestoneStatusCanceled: '' as Asset,\n\n CopyBranch: '' as Asset,\n Duplicate: '' as Asset,\n\n TimeReport: '' as Asset,\n Estimation: '' as Asset,\n\n // Project icons\n Home: '' as Asset,\n RedCircle: '' as Asset\n },\n category: {\n Other: '' as Ref<TagCategory>,\n Tracker: '' as Ref<ActionCategory>\n },\n descriptors: {\n ProjectType: '' as Ref<ProjectTypeDescriptor>,\n Issue: '' as Ref<TaskTypeDescriptor>\n },\n action: {\n CopyAsMarkdownTable: '' as Ref<Action<Doc, any>>,\n SetDueDate: '' as Ref<Action<Doc, any>>,\n SetParent: '' as Ref<Action<Doc, any>>,\n SetStatus: '' as Ref<Action>,\n SetPriority: '' as Ref<Action<Doc, any>>,\n SetAssignee: '' as Ref<Action<Doc, any>>,\n SetComponent: '' as Ref<Action<Doc, any>>,\n CopyIssueId: '' as Ref<Action<Doc, any>>,\n CopyIssueTitle: '' as Ref<Action<Doc, any>>,\n CopyIssueLink: '' as Ref<Action<Doc, any>>,\n MoveToProject: '' as Ref<Action>,\n Duplicate: '' as Ref<Action<Doc, any>>,\n Relations: '' as Ref<Action<Doc, any>>,\n NewIssue: '' as Ref<Action<Doc, any>>,\n NewIssueGlobal: '' as Ref<Action<Doc, any>>,\n NewSubIssue: '' as Ref<Action<Doc, any>>,\n EditWorkflowStatuses: '' as Ref<Action>,\n EditProject: '' as Ref<Action>,\n SetMilestone: '' as Ref<Action<Doc, any>>,\n SetLabels: '' as Ref<Action<Doc, any>>,\n EditRelatedTargets: '' as Ref<Action<Doc, any>>,\n UnsetParent: '' as Ref<Action<Doc, any>>\n },\n project: {\n DefaultProject: '' as Ref<Project>\n },\n resolver: {\n Location: '' as Resource<(loc: Location) => Promise<ResolvedLocation | undefined>>\n },\n string: {\n TrackerApplication: '' as IntlString,\n ConfigLabel: '' as IntlString,\n NewRelatedIssue: '' as IntlString,\n IssueNotificationTitle: '' as IntlString,\n IssueNotificationBody: '' as IntlString,\n IssueNotificationChanged: '' as IntlString,\n IssueNotificationChangedProperty: '' as IntlString,\n IssueNotificationMessage: '' as IntlString,\n IssueAssignedToYou: '' as IntlString,\n Project: '' as IntlString,\n RelatedIssues: '' as IntlString,\n Issue: '' as IntlString,\n NewProject: '' as IntlString,\n UnsetParentIssue: '' as IntlString,\n ForbidCreateProjectPermission: '' as IntlString,\n ForbidCreateProjectPermissionDescription: '' as IntlString\n },\n extensions: {\n IssueListHeader: '' as ComponentExtensionId,\n EditIssueHeader: '' as ComponentExtensionId,\n EditIssueTitle: '' as ComponentExtensionId\n },\n taskTypes: {\n Issue: '' as Ref<TaskType>,\n SubIssue: '' as Ref<TaskType>\n },\n permission: {\n ForbidCreateProject: '' as Ref<Permission>\n }\n})\nexport default pluginState\n\n/**\n * @public\n */\nexport function createStatesData (data: TaskStatusFactory[]): Omit<Data<Status>, 'rank'>[] {\n const states: Omit<Data<Status>, 'rank'>[] = []\n\n for (const category of data) {\n for (const sName of category.statuses) {\n states.push({\n ofAttribute: pluginState.attribute.IssueStatus,\n name: Array.isArray(sName) ? sName[0] : sName,\n color: Array.isArray(sName) ? sName[1] : undefined,\n category: category.category\n })\n }\n }\n return states\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCA,sBAA4D;AAgB5D,0BAAc,wBAlDd;AA0WA,0BAAc,wBA1Wd;AAyGO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,oBAAiB;AACjB,EAAAA,mBAAA,qBAAkB;AAFR,SAAAA;AAAA,GAAA;AAQL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA;AACA,EAAAA,8BAAA;AACA,EAAAA,8BAAA;AACA,EAAAA,8BAAA;AACA,EAAAA,8BAAA;AALU,SAAAA;AAAA,GAAA;AAWL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;AAYL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAWL,IAAK,+BAAL,kBAAKC,kCAAL;AACL,EAAAA,8BAAA,SAAM;AACN,EAAAA,8BAAA,cAAW;AACX,EAAAA,8BAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;AASL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA;AACA,EAAAA,kCAAA;AACA,EAAAA,kCAAA;AACA,EAAAA,kCAAA;AAJU,SAAAA;AAAA,GAAA;AA6ML,MAAM,YAAY;AAGzB,MAAM,kBAAc,wBAAO,WAAW;AAAA,EACpC,OAAO;AAAA,IACL,SAAS;AAAA,IACT,OAAO;AAAA,IACP,eAAe;AAAA,IACf,WAAW;AAAA,IACX,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,yBAAyB;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA,IACL,wBAAwB;AAAA,IACxB,eAAe;AAAA,EACjB;AAAA,EACA,KAAK;AAAA,IACH,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,EACvB;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACT,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,uBAAuB;AAAA,IACvB,WAAW;AAAA,IACX,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,sBAAsB;AAAA,IACtB,YAAY;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IAEN,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAElB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,aAAa;AAAA,IAEb,gBAAgB;AAAA,IAEhB,wBAAwB;AAAA,IACxB,2BAA2B;AAAA,IAC3B,uBAAuB;AAAA,IACvB,0BAA0B;AAAA,IAC1B,yBAAyB;AAAA,IAEzB,YAAY;AAAA,IACZ,WAAW;AAAA,IAEX,YAAY;AAAA,IACZ,YAAY;AAAA;AAAA,IAGZ,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACN,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA,IACX,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,eAAe;AAAA,IACf,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,WAAW;AAAA,IACX,oBAAoB;AAAA,IACpB,aAAa;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,EAClB;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,uBAAuB;AAAA,IACvB,0BAA0B;AAAA,IAC1B,kCAAkC;AAAA,IAClC,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,+BAA+B;AAAA,IAC/B,0CAA0C;AAAA,EAC5C;AAAA,EACA,YAAY;AAAA,IACV,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,EAClB;AAAA,EACA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,qBAAqB;AAAA,EACvB;AACF,CAAC;AACD,IAAO,gBAAQ;AAKR,SAAS,iBAAkB,MAAyD;AACzF,QAAM,SAAuC,CAAC;AAE9C,aAAW,YAAY,MAAM;AAC3B,eAAW,SAAS,SAAS,UAAU;AACrC,aAAO,KAAK;AAAA,QACV,aAAa,YAAY,UAAU;AAAA,QACnC,MAAM,MAAM,QAAQ,KAAK,IAAI,MAAM,CAAC,IAAI;AAAA,QACxC,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,CAAC,IAAI;AAAA,QACzC,UAAU,SAAS;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;AAdgB;",
6
6
  "names": ["TimeReportDayType", "IssuePriority", "IssuesGrouping", "IssuesOrdering", "IssuesDateModificationPeriod", "MilestoneStatus"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hcengineering/tracker",
3
- "version": "0.7.0",
3
+ "version": "0.7.423",
4
4
  "main": "lib/index.js",
5
5
  "svelte": "src/index.ts",
6
6
  "types": "types/index.d.ts",
@@ -22,30 +22,33 @@
22
22
  "_phase:validate": "compile validate"
23
23
  },
24
24
  "devDependencies": {
25
- "@hcengineering/platform-rig": "^0.7.10",
26
- "@typescript-eslint/eslint-plugin": "^6.11.0",
25
+ "@hcengineering/platform-rig": "^0.7.423",
26
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
27
27
  "eslint-plugin-import": "^2.26.0",
28
28
  "eslint-plugin-promise": "^6.1.1",
29
29
  "eslint-plugin-n": "^15.4.0",
30
30
  "eslint": "^8.54.0",
31
- "@typescript-eslint/parser": "^6.11.0",
31
+ "@typescript-eslint/parser": "^6.21.0",
32
32
  "eslint-config-standard-with-typescript": "^40.0.0",
33
- "prettier": "^3.1.0",
34
- "typescript": "^5.8.3",
33
+ "prettier": "^3.6.2",
34
+ "typescript": "^5.9.3",
35
35
  "jest": "^29.7.0",
36
36
  "ts-jest": "^29.1.1",
37
37
  "@types/jest": "^29.5.5"
38
38
  },
39
39
  "dependencies": {
40
- "@hcengineering/core": "^0.7.3",
41
- "@hcengineering/platform": "^0.7.3",
42
- "@hcengineering/contact": "^0.7.0",
43
- "@hcengineering/chunter": "^0.7.0",
44
- "@hcengineering/task": "^0.7.0",
45
- "@hcengineering/tags": "^0.7.0",
40
+ "@hcengineering/core": "^0.7.423",
41
+ "@hcengineering/platform": "^0.7.423",
42
+ "@hcengineering/contact": "^0.7.423",
43
+ "@hcengineering/chunter": "^0.7.423",
44
+ "@hcengineering/task": "^0.7.423",
45
+ "@hcengineering/tags": "^0.7.423",
46
46
  "lexorank": "~1.0.4"
47
47
  },
48
- "repository": "https://github.com/hcengineering/platform",
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "git+https://github.com/hcengineering/platform.git"
51
+ },
49
52
  "publishConfig": {
50
53
  "access": "public"
51
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/commands/focus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIxD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,KAAK,EAAE;YACL;;;;;;eAMG;YACH,KAAK,EAAE;YACL;;eAEG;YACH,QAAQ,CAAC,EAAE,aAAa;YAExB;;;eAGG;YACH,OAAO,CAAC,EAAE;gBACR,cAAc,CAAC,EAAE,OAAO,CAAC;aAC1B,KACE,UAAU,CAAC;SACjB,CAAA;KACF;CACF;AAED,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,OAAO,CA6DtC,CAAA"}
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/commands/focus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAKxD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,KAAK,EAAE;YACL;;;;;;eAMG;YACH,KAAK,EAAE;YACL;;eAEG;YACH,QAAQ,CAAC,EAAE,aAAa;YAExB;;;eAGG;YACH,OAAO,CAAC,EAAE;gBACR,cAAc,CAAC,EAAE,OAAO,CAAC;aAC1B,KACE,UAAU,CAAC;SACjB,CAAA;KACF;CACF;AAED,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,OAAO,CAiEtC,CAAA"}