@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
package/README.md CHANGED
@@ -17,8 +17,18 @@ May also work with [Huly Cloud](https://app.huly.io) (not yet tested).
17
17
 
18
18
  Huly has no public API. The only programmatic access is through their JavaScript SDK,
19
19
  which connects via WebSocket. This server wraps that SDK and exposes **MCP tools**
20
- over both stdio and **Streamable HTTP** transports — compatible with Claude Code,
21
- VS Code, n8n, and any MCP client.
20
+ over both stdio and **Streamable HTTP** transports — compatible with Codex,
21
+ Claude Code, VS Code, n8n, and any MCP client.
22
+
23
+ ## Documentation Map
24
+
25
+ - **Install**: add the package to a project or run it with `npx`.
26
+ - **Quick Start**: configure Huly authentication.
27
+ - **Integrations**: connect Codex, Claude Code, HTTP clients, or Docker.
28
+ - **Configuration Reference**: environment variables and workspace behavior.
29
+ - **Network Configurations**: local, remote, and Cloudflare tunnel notes.
30
+ - **Development and Publishing**: tests, linting, and package publishing.
31
+ - **API Reference**: available MCP tools and response conventions.
22
32
 
23
33
  ## Install
24
34
 
@@ -42,23 +52,13 @@ cd huly-mcp-server
42
52
  npm install
43
53
  ```
44
54
 
45
- ### Publishing
46
-
47
- The Huly SDK has `workspace:` protocol references in transitive
48
- dependencies on the npm registry. The custom pack script bundles
49
- only the needed SDK packages and prunes UI bloat (32MB to 4MB):
50
-
51
- ```bash
52
- npm run pack
53
- npm publish bgx4k3p-huly-mcp-server-<version>.tgz --access public
54
- ```
55
-
56
55
  ---
57
56
 
58
57
  ## Quick Start
59
58
 
60
59
  ### Authentication
61
60
 
61
+ Configure Huly access first, then choose one integration in the next section.
62
62
  You can authenticate with either **email/password** or a **token**.
63
63
 
64
64
  #### Email and Password
@@ -75,9 +75,15 @@ export HULY_WORKSPACE=your-workspace
75
75
  Get a token from your Huly credentials — no env vars needed beforehand:
76
76
 
77
77
  ```bash
78
- node src/index.mjs --get-token -e your@email.com -p your-password -u https://your-huly-instance.com
78
+ npx -y @bgx4k3p/huly-mcp-server --get-token \
79
+ -e your@email.com \
80
+ -p your-password \
81
+ -u https://your-huly-instance.com
79
82
  ```
80
83
 
84
+ From a source checkout, use `node src/index.mjs --get-token` with the same
85
+ flags.
86
+
81
87
  Then use it:
82
88
 
83
89
  ```bash
@@ -89,19 +95,80 @@ export HULY_WORKSPACE=your-workspace
89
95
  The token does not expire. You can store it in a secrets manager
90
96
  and stop exposing your password in environment variables.
91
97
 
98
+ For local stdio clients, the project config examples below set
99
+ `HULY_WORKSPACE` per repo. Optionally set `HULY_PROJECT` when a repository maps
100
+ cleanly to one Huly project. After connecting a client, call
101
+ `get_huly_context` first to verify that the workspace, project, URL host, and
102
+ auth mode are what you expect.
103
+
92
104
  ---
93
105
 
94
106
  ## Integrations
95
107
 
96
- ### Claude Code (stdio)
108
+ Use stdio for local coding agents and Streamable HTTP for remote clients or
109
+ automation systems.
110
+
111
+ ### Codex (project-scoped stdio)
112
+
113
+ Codex supports MCP servers from `config.toml`. For project-specific Huly
114
+ workspaces, generate a repo-local Codex config layer:
115
+
116
+ ```bash
117
+ npx -y @bgx4k3p/huly-mcp-server --init-codex --workspace my-workspace
118
+ ```
119
+
120
+ Optionally set a default project identifier for project-scoped tools:
121
+
122
+ ```bash
123
+ npx -y @bgx4k3p/huly-mcp-server --init-codex --workspace my-workspace --project PROJ
124
+ ```
125
+
126
+ This creates `.codex/config.toml`:
127
+
128
+ ```toml
129
+ [mcp_servers.huly]
130
+ command = "npx"
131
+ args = ["-y", "@bgx4k3p/huly-mcp-server"]
132
+ env_vars = ["HULY_URL", "HULY_TOKEN"]
133
+ startup_timeout_sec = 20
134
+ tool_timeout_sec = 120
135
+
136
+ [mcp_servers.huly.env]
137
+ HULY_WORKSPACE = "my-workspace"
138
+ HULY_PROJECT = "PROJ"
139
+ ```
140
+
141
+ Keep secrets like `HULY_URL` and `HULY_TOKEN` in your user environment.
142
+ Set `HULY_WORKSPACE` literally in each Codex or Claude project config so every
143
+ repo, workspace folder, or editor project points to the intended Huly
144
+ workspace. `HULY_PROJECT` is optional; when present, tools that naturally
145
+ operate inside one project can omit the `project` argument. Explicit tool
146
+ arguments still win.
97
147
 
98
- After cloning and running `npm install`, register the server:
148
+ After starting a fresh Codex session in the project, run `get_huly_context`.
149
+ It returns sanitized runtime context: default workspace, default project,
150
+ Huly URL host, auth mode, and package version.
151
+
152
+ Codex may show local stdio MCP servers as `unauthenticated` in `/mcp`.
153
+ That label refers to MCP-level authentication, not Huly authentication.
154
+ Use `get_huly_context` to confirm the downstream Huly auth mode is `token`
155
+ or `email_password`.
156
+
157
+ ### Claude Code (project-scoped stdio)
158
+
159
+ Generate `.mcp.json` for Claude Code:
160
+
161
+ ```bash
162
+ npx -y @bgx4k3p/huly-mcp-server --init-claude --workspace my-workspace
163
+ ```
164
+
165
+ Or add the server manually from a local source checkout:
99
166
 
100
167
  ```bash
101
168
  claude mcp add huly \
102
169
  -e HULY_URL=https://your-huly-instance.com \
103
170
  -e HULY_TOKEN=your-token \
104
- -e HULY_WORKSPACE=your-workspace \
171
+ -e HULY_WORKSPACE=my-workspace \
105
172
  -- node /absolute/path/to/huly-mcp-server/src/index.mjs
106
173
  ```
107
174
 
@@ -114,15 +181,28 @@ Or add to your `.mcp.json` manually (token auth — recommended):
114
181
  "command": "node",
115
182
  "args": ["/path/to/huly-mcp-server/src/index.mjs"],
116
183
  "env": {
117
- "HULY_URL": "https://your-huly-instance.com",
184
+ "HULY_URL": "${HULY_URL}",
118
185
  "HULY_TOKEN": "${HULY_TOKEN}",
119
- "HULY_WORKSPACE": "${HULY_WORKSPACE}"
186
+ "HULY_WORKSPACE": "my-workspace"
120
187
  }
121
188
  }
122
189
  }
123
190
  }
124
191
  ```
125
192
 
193
+ For project-specific workspaces, keep secrets in environment variables and set
194
+ the workspace slug literally in each repo. `HULY_PROJECT` is optional; set it
195
+ only when the repo maps cleanly to one Huly project:
196
+
197
+ ```json
198
+ "env": {
199
+ "HULY_URL": "${HULY_URL}",
200
+ "HULY_TOKEN": "${HULY_TOKEN}",
201
+ "HULY_WORKSPACE": "my-workspace",
202
+ "HULY_PROJECT": "PROJ"
203
+ }
204
+ ```
205
+
126
206
  Or with email/password:
127
207
 
128
208
  ```json
@@ -132,25 +212,32 @@ Or with email/password:
132
212
  "command": "node",
133
213
  "args": ["/path/to/huly-mcp-server/src/index.mjs"],
134
214
  "env": {
135
- "HULY_URL": "https://your-huly-instance.com",
215
+ "HULY_URL": "${HULY_URL}",
136
216
  "HULY_EMAIL": "${HULY_EMAIL}",
137
217
  "HULY_PASSWORD": "${HULY_PASSWORD}",
138
- "HULY_WORKSPACE": "${HULY_WORKSPACE}"
218
+ "HULY_WORKSPACE": "my-workspace"
139
219
  }
140
220
  }
141
221
  }
142
222
  }
143
223
  ```
144
224
 
145
- Then ask Claude things like:
225
+ ### Generate Both Project Configs
146
226
 
147
- - "List my issues in the OPS project"
148
- - "Create a bug report for the login page crash"
149
- - "Summarize the PROJ project — what's overdue?"
150
- - "Break down this feature into subtasks using the feature template"
227
+ ```bash
228
+ npx -y @bgx4k3p/huly-mcp-server --init-all --workspace my-workspace
229
+ ```
151
230
 
152
- All tools have detailed descriptions optimized for AI agents.
153
- MCP Resources are also available at `huly://projects/{id}` and `huly://issues/{id}`.
231
+ With an optional default project:
232
+
233
+ ```bash
234
+ npx -y @bgx4k3p/huly-mcp-server --init-all --workspace my-workspace --project PROJ
235
+ ```
236
+
237
+ `--init-claude` creates or updates `.mcp.json` while preserving other MCP
238
+ servers. `--init-codex` creates `.codex/config.toml` for trusted Codex
239
+ projects while preserving unrelated Codex settings. Existing Huly entries are
240
+ not replaced unless `--force` is passed.
154
241
 
155
242
  ### Streamable HTTP (n8n, VS Code, remote clients)
156
243
 
@@ -195,9 +282,25 @@ docker run -i \
195
282
  huly-mcp-server node src/mcp.mjs
196
283
  ```
197
284
 
285
+ ### Verify the Connection
286
+
287
+ In any MCP client, call `get_huly_context` first. It confirms the active
288
+ workspace, optional project, Huly URL host, auth mode, and package version
289
+ without exposing secrets.
290
+
291
+ Then ask your MCP client things like:
292
+
293
+ - "List my issues in the PROJ project"
294
+ - "Create a bug report for the login page crash"
295
+ - "Summarize the PROJ project — what's overdue?"
296
+ - "Break down this feature into subtasks using the feature template"
297
+
298
+ All tools have detailed descriptions optimized for AI agents.
299
+ MCP Resources are also available at `huly://projects/{id}` and `huly://issues/{id}`.
300
+
198
301
  ---
199
302
 
200
- ## Server Configuration
303
+ ## Configuration Reference
201
304
 
202
305
  ### Environment Variables
203
306
 
@@ -209,6 +312,7 @@ docker run -i \
209
312
  | `HULY_EMAIL` | No | - | Huly login email (required if no token) |
210
313
  | `HULY_PASSWORD` | No | - | Huly login password (required if no token) |
211
314
  | `HULY_WORKSPACE` | Yes* | - | Default workspace slug |
315
+ | `HULY_PROJECT` | No | - | Optional default project identifier for project-scoped tools |
212
316
  | `HULY_TRANSPORT` | No | `ws` | SDK transport: `ws` (WebSocket) or `rest` (REST API) |
213
317
  | `HULY_POOL_TTL_MS` | No | `1800000` | Connection pool TTL in ms (30 min) |
214
318
  | **HTTP Server** | | | |
@@ -235,7 +339,7 @@ MCP_AUTH_TOKEN=your-token-here npm run start:server
235
339
 
236
340
  If `MCP_AUTH_TOKEN` is not set, auth is disabled (fine for local-only usage).
237
341
 
238
- MCP stdio mode (Claude Code) does not use this token — stdio is inherently local.
342
+ MCP stdio mode does not use this token — stdio is inherently local.
239
343
 
240
344
  ### Multi-Workspace
241
345
 
@@ -250,10 +354,31 @@ If omitted, the `HULY_WORKSPACE` env var is used as the default.
250
354
 
251
355
  ---
252
356
 
357
+ ## Network Configurations
358
+
359
+ - **Local:** `HULY_URL=http://localhost:8087`
360
+ - **Remote:** `HULY_URL=https://huly.example.com`
361
+ - **Behind nginx proxy:** Point to the proxy port
362
+
363
+ ### Cloudflare Access / Tunnel
364
+
365
+ If Huly is behind Cloudflare Access with MFA, create a
366
+ bypass Application for `/_*` or these individual paths:
367
+
368
+ - `/_accounts`
369
+ - `/_transactor`
370
+ - `/_collaborator`
371
+ - `/_rekoni`
372
+ - `/config.json`
373
+
374
+ ---
375
+
253
376
  ## Testing
254
377
 
255
378
  Uses Node.js built-in `node:test` and `node:assert` — no test framework dependencies.
256
- Tests run twice: once with WebSocket transport, once with REST transport.
379
+ The live integration suite runs twice: once with WebSocket transport and once
380
+ with REST transport. Focused unit suites cover dispatch, MCP tool metadata, and
381
+ project config generation.
257
382
 
258
383
  ```bash
259
384
  npm test # Both transports (ws + rest)
@@ -261,38 +386,41 @@ npm run test:ws # WebSocket only
261
386
  npm run test:rest # REST only
262
387
  ```
263
388
 
264
- 194 tests across 101 suites:
389
+ Test coverage:
265
390
 
266
- | Suite | Tests | Description |
267
- | --- | --- | --- |
268
- | **Unit** | 28 | Constants, ID parsing, rate limiting, auth logic |
269
- | **Integration** | 55 | Full CRUD lifecycle against live Huly |
270
- | **Dispatch** | 45 | Schema to dispatch to client param forwarding for all tools |
271
- | **Account-level** | 11 | Workspaces, profile, social IDs |
272
- | **Mock** | 44 | Destructive ops, token auth via mocks |
273
- | **Streamable HTTP** | 11 | MCP protocol over HTTP: init, tools, resources, auth, rate limiting |
391
+ | Suite | Description |
392
+ | --- | --- |
393
+ | **Unit** | Constants, ID parsing, rate limiting, auth logic |
394
+ | **Integration** | Full CRUD lifecycle against live Huly |
395
+ | **Dispatch** | Schema to dispatch to client param forwarding for all tools |
396
+ | **MCP metadata** | Tool registration, `get_huly_context`, default project schemas |
397
+ | **Project config** | `--init-claude`, `--init-codex`, `--init-all` helpers |
398
+ | **Account-level** | Workspaces, profile, social IDs |
399
+ | **Mock** | Destructive ops, token auth via mocks |
400
+ | **Streamable HTTP** | MCP protocol over HTTP: init, tools, resources, auth, rate limiting |
274
401
 
275
402
  **100% dispatch coverage** — every tool's params are traced end-to-end
276
403
  through the dispatch table to the client method.
277
404
 
278
405
  ---
279
406
 
280
- ## Network Configurations
407
+ ## Development and Publishing
281
408
 
282
- - **Local:** `HULY_URL=http://localhost:8087`
283
- - **Remote:** `HULY_URL=https://huly.example.com`
284
- - **Behind nginx proxy:** Point to the proxy port
409
+ For local development:
285
410
 
286
- ### Cloudflare Access / Tunnel
411
+ ```bash
412
+ npm install
413
+ npm run lint
414
+ node --test test/initCodex.test.mjs test/mcpShared.test.mjs
415
+ ```
287
416
 
288
- If Huly is behind Cloudflare Access with MFA, create a
289
- bypass Application for `/_*` or these individual paths:
417
+ The custom pack script bundles only the Huly SDK packages needed at runtime
418
+ and prunes UI/frontend bloat from the published tarball:
290
419
 
291
- - `/_accounts`
292
- - `/_transactor`
293
- - `/_collaborator`
294
- - `/_rekoni`
295
- - `/config.json`
420
+ ```bash
421
+ npm run pack
422
+ npm publish bgx4k3p-huly-mcp-server-<version>.tgz --access public
423
+ ```
296
424
 
297
425
  ---
298
426
 
@@ -305,14 +433,15 @@ src/
305
433
  dispatch.mjs # Tool-to-method dispatch table
306
434
  pool.mjs # Connection pool — caches clients by workspace with TTL
307
435
  mcpShared.mjs # Shared MCP server factory — tool definitions + resources
308
- mcp.mjs # MCP stdio entry point (Claude Code)
436
+ mcp.mjs # MCP stdio entry point (Codex, Claude Code)
309
437
  server.mjs # MCP Streamable HTTP entry point (n8n, VS Code, remote)
310
- index.mjs # CLI entry point --get-token mode + MCP re-export
438
+ initCodex.mjs # Project config helpers for Codex and Claude Code
439
+ index.mjs # CLI entry point — --get-token, --init-* modes + MCP re-export
311
440
  ```
312
441
 
313
442
  ```text
314
- Claude Code -> stdio -> mcp.mjs -> mcpShared.mjs -> pool -> client -> Huly SDK
315
- n8n / remote -> Streamable HTTP -> server.mjs -> mcpShared.mjs -> pool -> client -> Huly SDK
443
+ Claude / Codex -> stdio -> mcp.mjs -> mcpShared.mjs -> pool -> client -> Huly SDK
444
+ n8n / remote -> Streamable HTTP -> server.mjs -> mcpShared.mjs -> pool -> client -> Huly SDK
316
445
  ```
317
446
 
318
447
  ---
@@ -360,6 +489,7 @@ Full list of all MCP tools available through this server.
360
489
 
361
490
  | Tool | Description |
362
491
  | --- | --- |
492
+ | `get_huly_context` | Show sanitized runtime context: default workspace, default project, Huly URL host, auth mode, and package version |
363
493
  | `list_workspaces` | List all accessible workspaces |
364
494
  | `get_workspace_info` | Get workspace details by slug |
365
495
  | `create_workspace` | Create a new workspace |
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ var import_utils = require("../utils");
3
+ describe("isNetworkError", () => {
4
+ describe("Node.js-style connection errors", () => {
5
+ it("should return true for ECONNRESET error", () => {
6
+ const error = {
7
+ cause: {
8
+ code: "ECONNRESET"
9
+ }
10
+ };
11
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
12
+ });
13
+ it("should return true for ECONNREFUSED error", () => {
14
+ const error = {
15
+ cause: {
16
+ code: "ECONNREFUSED"
17
+ }
18
+ };
19
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
20
+ });
21
+ it("should return true for ENOTFOUND error", () => {
22
+ const error = {
23
+ cause: {
24
+ code: "ENOTFOUND"
25
+ }
26
+ };
27
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
28
+ });
29
+ it("should return false for other error codes", () => {
30
+ const error = {
31
+ cause: {
32
+ code: "EACCES"
33
+ }
34
+ };
35
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
36
+ });
37
+ it("should return false when cause.code is not a string", () => {
38
+ const error = {
39
+ cause: {
40
+ code: 123
41
+ }
42
+ };
43
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
44
+ });
45
+ it("should return false when cause is not an object", () => {
46
+ const error = {
47
+ cause: "not an object"
48
+ };
49
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
50
+ });
51
+ });
52
+ describe('Browser "Failed to fetch" errors', () => {
53
+ it('should return true for TypeError with "Failed to fetch" message', () => {
54
+ const error = new TypeError("Failed to fetch");
55
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
56
+ });
57
+ it('should return true for TypeError with "failed to fetch" (lowercase) message', () => {
58
+ const error = new TypeError("failed to fetch");
59
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
60
+ });
61
+ it('should return true for TypeError with "NetworkError" message', () => {
62
+ const error = new TypeError("NetworkError");
63
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
64
+ });
65
+ it('should return true for TypeError with "networkerror" (lowercase) message', () => {
66
+ const error = new TypeError("networkerror");
67
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
68
+ });
69
+ it('should return true for TypeError with "Network request failed" message', () => {
70
+ const error = new TypeError("Network request failed");
71
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
72
+ });
73
+ it("should return false for TypeError with non-network message", () => {
74
+ const error = new TypeError("Something went wrong");
75
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
76
+ });
77
+ it("should return false for TypeError with empty message", () => {
78
+ const error = new TypeError("");
79
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
80
+ });
81
+ it("should handle TypeError with undefined message", () => {
82
+ const error = new TypeError();
83
+ expect(typeof (0, import_utils.isNetworkError)(error)).toBe("boolean");
84
+ });
85
+ });
86
+ describe("Error name-based detection", () => {
87
+ it("should return true for NetworkError with network-related message", () => {
88
+ const error = {
89
+ name: "NetworkError",
90
+ message: "Network connection failed"
91
+ };
92
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
93
+ });
94
+ it("should return true for TypeError (by name) with fetch-related message", () => {
95
+ const error = {
96
+ name: "TypeError",
97
+ message: "fetch error occurred"
98
+ };
99
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
100
+ });
101
+ it("should return true for FetchError with connection-related message", () => {
102
+ const error = {
103
+ name: "FetchError",
104
+ message: "connection timeout"
105
+ };
106
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
107
+ });
108
+ it("should return true for NetworkError with connection message", () => {
109
+ const error = {
110
+ name: "NetworkError",
111
+ message: "connection refused"
112
+ };
113
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
114
+ });
115
+ it("should return false for NetworkError with non-network message", () => {
116
+ const error = {
117
+ name: "NetworkError",
118
+ message: "Invalid argument"
119
+ };
120
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
121
+ });
122
+ it("should return false for TypeError (by name) with non-network message", () => {
123
+ const error = {
124
+ name: "TypeError",
125
+ message: "Cannot read property of undefined"
126
+ };
127
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
128
+ });
129
+ it("should return false for other error names", () => {
130
+ const error = {
131
+ name: "ReferenceError",
132
+ message: "fetch is not defined"
133
+ };
134
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
135
+ });
136
+ it("should handle case-insensitive message matching", () => {
137
+ const error = {
138
+ name: "NetworkError",
139
+ message: "FETCH ERROR"
140
+ };
141
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
142
+ });
143
+ it("should return false when message is not a string", () => {
144
+ const error = {
145
+ name: "NetworkError",
146
+ message: 123
147
+ };
148
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
149
+ });
150
+ it("should return false when name is not a string", () => {
151
+ const error = {
152
+ name: 123,
153
+ message: "fetch error"
154
+ };
155
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
156
+ });
157
+ });
158
+ describe("Edge cases", () => {
159
+ it("should return false for null", () => {
160
+ expect((0, import_utils.isNetworkError)(null)).toBe(false);
161
+ });
162
+ it("should return false for undefined", () => {
163
+ expect((0, import_utils.isNetworkError)(void 0)).toBe(false);
164
+ });
165
+ it("should return false for primitive values", () => {
166
+ expect((0, import_utils.isNetworkError)(123)).toBe(false);
167
+ expect((0, import_utils.isNetworkError)("string")).toBe(false);
168
+ expect((0, import_utils.isNetworkError)(true)).toBe(false);
169
+ });
170
+ it("should return false for empty object", () => {
171
+ expect((0, import_utils.isNetworkError)({})).toBe(false);
172
+ });
173
+ it("should return false for object without name or message", () => {
174
+ const error = {
175
+ someProperty: "value"
176
+ };
177
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
178
+ });
179
+ it("should return false for regular Error without network indicators", () => {
180
+ const error = new Error("Something went wrong");
181
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
182
+ });
183
+ it("should return false for Error with cause but wrong code", () => {
184
+ const error = {
185
+ cause: {
186
+ code: "SOME_OTHER_CODE"
187
+ }
188
+ };
189
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
190
+ });
191
+ it("should return false when cause exists but code is missing", () => {
192
+ const error = {
193
+ cause: {}
194
+ };
195
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
196
+ });
197
+ });
198
+ describe("Real-world error scenarios", () => {
199
+ it("should handle fetch API network error", () => {
200
+ const error = new TypeError("Failed to fetch");
201
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
202
+ });
203
+ it("should handle Node.js connection refused error", () => {
204
+ const error = {
205
+ cause: {
206
+ code: "ECONNREFUSED",
207
+ errno: -61,
208
+ syscall: "connect",
209
+ address: "127.0.0.1",
210
+ port: 3e3
211
+ }
212
+ };
213
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
214
+ });
215
+ it("should handle DNS resolution failure", () => {
216
+ const error = {
217
+ cause: {
218
+ code: "ENOTFOUND",
219
+ errno: -3008,
220
+ syscall: "getaddrinfo",
221
+ hostname: "nonexistent.example.com"
222
+ }
223
+ };
224
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
225
+ });
226
+ it("should handle connection reset error", () => {
227
+ const error = {
228
+ cause: {
229
+ code: "ECONNRESET",
230
+ errno: -54,
231
+ syscall: "read"
232
+ }
233
+ };
234
+ expect((0, import_utils.isNetworkError)(error)).toBe(true);
235
+ });
236
+ it("should not treat application errors as network errors", () => {
237
+ const error = new Error("Invalid email format");
238
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
239
+ });
240
+ it("should not treat authentication errors as network errors", () => {
241
+ const error = {
242
+ name: "AuthenticationError",
243
+ message: "Invalid credentials"
244
+ };
245
+ expect((0, import_utils.isNetworkError)(error)).toBe(false);
246
+ });
247
+ });
248
+ });
249
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/__tests__/utils.test.ts"],
4
+ "sourcesContent": ["//\n// Copyright \u00A9 2026 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 { isNetworkError } from '../utils'\n\ndescribe('isNetworkError', () => {\n describe('Node.js-style connection errors', () => {\n it('should return true for ECONNRESET error', () => {\n const error = {\n cause: {\n code: 'ECONNRESET'\n }\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for ECONNREFUSED error', () => {\n const error = {\n cause: {\n code: 'ECONNREFUSED'\n }\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for ENOTFOUND error', () => {\n const error = {\n cause: {\n code: 'ENOTFOUND'\n }\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return false for other error codes', () => {\n const error = {\n cause: {\n code: 'EACCES'\n }\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false when cause.code is not a string', () => {\n const error = {\n cause: {\n code: 123\n }\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false when cause is not an object', () => {\n const error = {\n cause: 'not an object'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n })\n\n describe('Browser \"Failed to fetch\" errors', () => {\n it('should return true for TypeError with \"Failed to fetch\" message', () => {\n const error = new TypeError('Failed to fetch')\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for TypeError with \"failed to fetch\" (lowercase) message', () => {\n const error = new TypeError('failed to fetch')\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for TypeError with \"NetworkError\" message', () => {\n const error = new TypeError('NetworkError')\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for TypeError with \"networkerror\" (lowercase) message', () => {\n const error = new TypeError('networkerror')\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for TypeError with \"Network request failed\" message', () => {\n const error = new TypeError('Network request failed')\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return false for TypeError with non-network message', () => {\n const error = new TypeError('Something went wrong')\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false for TypeError with empty message', () => {\n const error = new TypeError('')\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should handle TypeError with undefined message', () => {\n const error = new TypeError()\n // TypeError constructor may set message to empty string or undefined\n // The function should handle this gracefully\n expect(typeof isNetworkError(error)).toBe('boolean')\n })\n })\n\n describe('Error name-based detection', () => {\n it('should return true for NetworkError with network-related message', () => {\n const error = {\n name: 'NetworkError',\n message: 'Network connection failed'\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for TypeError (by name) with fetch-related message', () => {\n const error = {\n name: 'TypeError',\n message: 'fetch error occurred'\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for FetchError with connection-related message', () => {\n const error = {\n name: 'FetchError',\n message: 'connection timeout'\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return true for NetworkError with connection message', () => {\n const error = {\n name: 'NetworkError',\n message: 'connection refused'\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return false for NetworkError with non-network message', () => {\n const error = {\n name: 'NetworkError',\n message: 'Invalid argument'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false for TypeError (by name) with non-network message', () => {\n const error = {\n name: 'TypeError',\n message: 'Cannot read property of undefined'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false for other error names', () => {\n const error = {\n name: 'ReferenceError',\n message: 'fetch is not defined'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should handle case-insensitive message matching', () => {\n const error = {\n name: 'NetworkError',\n message: 'FETCH ERROR'\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should return false when message is not a string', () => {\n const error = {\n name: 'NetworkError',\n message: 123\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false when name is not a string', () => {\n const error = {\n name: 123,\n message: 'fetch error'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n })\n\n describe('Edge cases', () => {\n it('should return false for null', () => {\n expect(isNetworkError(null)).toBe(false)\n })\n\n it('should return false for undefined', () => {\n expect(isNetworkError(undefined)).toBe(false)\n })\n\n it('should return false for primitive values', () => {\n expect(isNetworkError(123)).toBe(false)\n expect(isNetworkError('string')).toBe(false)\n expect(isNetworkError(true)).toBe(false)\n })\n\n it('should return false for empty object', () => {\n expect(isNetworkError({})).toBe(false)\n })\n\n it('should return false for object without name or message', () => {\n const error = {\n someProperty: 'value'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false for regular Error without network indicators', () => {\n const error = new Error('Something went wrong')\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false for Error with cause but wrong code', () => {\n const error = {\n cause: {\n code: 'SOME_OTHER_CODE'\n }\n }\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should return false when cause exists but code is missing', () => {\n const error = {\n cause: {}\n }\n expect(isNetworkError(error)).toBe(false)\n })\n })\n\n describe('Real-world error scenarios', () => {\n it('should handle fetch API network error', () => {\n // Simulating a real browser fetch error\n const error = new TypeError('Failed to fetch')\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should handle Node.js connection refused error', () => {\n // Simulating a real Node.js connection error\n const error = {\n cause: {\n code: 'ECONNREFUSED',\n errno: -61,\n syscall: 'connect',\n address: '127.0.0.1',\n port: 3000\n }\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should handle DNS resolution failure', () => {\n const error = {\n cause: {\n code: 'ENOTFOUND',\n errno: -3008,\n syscall: 'getaddrinfo',\n hostname: 'nonexistent.example.com'\n }\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should handle connection reset error', () => {\n const error = {\n cause: {\n code: 'ECONNRESET',\n errno: -54,\n syscall: 'read'\n }\n }\n expect(isNetworkError(error)).toBe(true)\n })\n\n it('should not treat application errors as network errors', () => {\n const error = new Error('Invalid email format')\n expect(isNetworkError(error)).toBe(false)\n })\n\n it('should not treat authentication errors as network errors', () => {\n const error = {\n name: 'AuthenticationError',\n message: 'Invalid credentials'\n }\n expect(isNetworkError(error)).toBe(false)\n })\n })\n})\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }