@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.
- package/README.md +186 -56
- package/node_modules/@hcengineering/account-client/lib/__tests__/utils.test.js +249 -0
- package/node_modules/@hcengineering/account-client/lib/__tests__/utils.test.js.map +7 -0
- package/node_modules/@hcengineering/account-client/lib/client.js +88 -3
- package/node_modules/@hcengineering/account-client/lib/client.js.map +2 -2
- package/node_modules/@hcengineering/account-client/lib/types.js.map +2 -2
- package/node_modules/@hcengineering/account-client/lib/utils.js +50 -0
- package/node_modules/@hcengineering/account-client/lib/utils.js.map +2 -2
- package/node_modules/@hcengineering/account-client/package.json +22 -19
- package/node_modules/@hcengineering/account-client/src/__tests__/utils.test.ts +304 -0
- package/node_modules/@hcengineering/account-client/src/client.ts +127 -6
- package/node_modules/@hcengineering/account-client/src/types.ts +7 -0
- package/node_modules/@hcengineering/account-client/src/utils.ts +65 -1
- package/node_modules/@hcengineering/analytics/lib/index.js +1 -1
- package/node_modules/@hcengineering/analytics/lib/index.js.map +2 -2
- package/node_modules/@hcengineering/analytics/package.json +19 -16
- package/node_modules/@hcengineering/analytics/src/index.ts +2 -1
- package/node_modules/@hcengineering/api-client/lib/client.js +9 -4
- package/node_modules/@hcengineering/api-client/lib/client.js.map +2 -2
- package/node_modules/@hcengineering/api-client/lib/rest/adapter.js +64 -0
- package/node_modules/@hcengineering/api-client/lib/rest/adapter.js.map +7 -0
- package/node_modules/@hcengineering/api-client/lib/rest/index.js +2 -0
- package/node_modules/@hcengineering/api-client/lib/rest/index.js.map +2 -2
- package/node_modules/@hcengineering/api-client/lib/socket/node.js +5 -1
- package/node_modules/@hcengineering/api-client/lib/socket/node.js.map +2 -2
- package/node_modules/@hcengineering/api-client/package.json +28 -25
- package/node_modules/@hcengineering/api-client/src/client.ts +10 -1
- package/node_modules/@hcengineering/api-client/src/rest/adapter.ts +96 -0
- package/node_modules/@hcengineering/api-client/src/rest/index.ts +1 -0
- package/node_modules/@hcengineering/api-client/src/socket/node.ts +6 -1
- package/node_modules/@hcengineering/chunter/lib/index.js.map +2 -2
- package/node_modules/@hcengineering/chunter/package.json +13 -10
- package/node_modules/@hcengineering/client/package.json +21 -18
- package/node_modules/@hcengineering/client-resources/package.json +24 -21
- package/node_modules/@hcengineering/collaborator-client/package.json +21 -18
- package/node_modules/@hcengineering/contact/lib/__tests__/workspaceMemberStatusUtils.test.js +38 -0
- package/node_modules/@hcengineering/contact/lib/__tests__/workspaceMemberStatusUtils.test.js.map +7 -0
- package/node_modules/@hcengineering/contact/lib/index.js +13 -4
- package/node_modules/@hcengineering/contact/lib/index.js.map +2 -2
- package/node_modules/@hcengineering/contact/lib/types.js.map +1 -1
- package/node_modules/@hcengineering/contact/lib/utils.js +132 -108
- package/node_modules/@hcengineering/contact/lib/utils.js.map +3 -3
- package/node_modules/@hcengineering/contact/lib/workspaceMemberStatusUtils.js +79 -0
- package/node_modules/@hcengineering/contact/lib/workspaceMemberStatusUtils.js.map +7 -0
- package/node_modules/@hcengineering/contact/package.json +12 -9
- package/node_modules/@hcengineering/core/CHANGELOG.md +9 -1
- package/node_modules/@hcengineering/core/lang/cs.json +6 -1
- package/node_modules/@hcengineering/core/lang/de.json +6 -1
- package/node_modules/@hcengineering/core/lang/en.json +6 -1
- package/node_modules/@hcengineering/core/lang/es.json +6 -1
- package/node_modules/@hcengineering/core/lang/fr.json +6 -1
- package/node_modules/@hcengineering/core/lang/it.json +6 -1
- package/node_modules/@hcengineering/core/lang/ja.json +6 -1
- package/node_modules/@hcengineering/core/lang/pt-br.json +70 -0
- package/node_modules/@hcengineering/core/lang/pt.json +6 -1
- package/node_modules/@hcengineering/core/lang/ru.json +6 -1
- package/node_modules/@hcengineering/core/lang/tr.json +6 -1
- package/node_modules/@hcengineering/core/lang/zh.json +6 -1
- package/node_modules/@hcengineering/core/lib/__tests__/autoJoinRoles.test.js +13 -0
- package/node_modules/@hcengineering/core/lib/__tests__/autoJoinRoles.test.js.map +7 -0
- package/node_modules/@hcengineering/core/lib/__tests__/memdb.test.js +133 -0
- package/node_modules/@hcengineering/core/lib/__tests__/memdb.test.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/__tests__/minmodel.js +25 -0
- package/node_modules/@hcengineering/core/lib/__tests__/minmodel.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/__tests__/query.test.js +43 -0
- package/node_modules/@hcengineering/core/lib/__tests__/query.test.js.map +7 -0
- package/node_modules/@hcengineering/core/lib/autoJoinRoles.js +36 -0
- package/node_modules/@hcengineering/core/lib/autoJoinRoles.js.map +7 -0
- package/node_modules/@hcengineering/core/lib/classes.js +5 -0
- package/node_modules/@hcengineering/core/lib/classes.js.map +3 -3
- package/node_modules/@hcengineering/core/lib/clone.js +13 -2
- package/node_modules/@hcengineering/core/lib/clone.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/component.js +14 -3
- package/node_modules/@hcengineering/core/lib/component.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/index.js +2 -0
- package/node_modules/@hcengineering/core/lib/index.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/memdb.js +6 -2
- package/node_modules/@hcengineering/core/lib/memdb.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/operations.js +11 -0
- package/node_modules/@hcengineering/core/lib/operations.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/predicate.js +3 -0
- package/node_modules/@hcengineering/core/lib/predicate.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/storage.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/tx.js +3 -1
- package/node_modules/@hcengineering/core/lib/tx.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/utils.js +1 -1
- package/node_modules/@hcengineering/core/lib/utils.js.map +2 -2
- package/node_modules/@hcengineering/core/lib/versioning.js +17 -0
- package/node_modules/@hcengineering/core/lib/versioning.js.map +7 -0
- package/node_modules/@hcengineering/core/package.json +22 -19
- package/node_modules/@hcengineering/core/src/__tests__/autoJoinRoles.test.ts +27 -0
- package/node_modules/@hcengineering/core/src/__tests__/memdb.test.ts +150 -1
- package/node_modules/@hcengineering/core/src/__tests__/minmodel.ts +29 -1
- package/node_modules/@hcengineering/core/src/__tests__/query.test.ts +66 -0
- package/node_modules/@hcengineering/core/src/autoJoinRoles.ts +33 -0
- package/node_modules/@hcengineering/core/src/classes.ts +61 -1
- package/node_modules/@hcengineering/core/src/clone.ts +13 -2
- package/node_modules/@hcengineering/core/src/component.ts +25 -9
- package/node_modules/@hcengineering/core/src/index.ts +2 -0
- package/node_modules/@hcengineering/core/src/memdb.ts +7 -3
- package/node_modules/@hcengineering/core/src/operations.ts +11 -0
- package/node_modules/@hcengineering/core/src/predicate.ts +3 -0
- package/node_modules/@hcengineering/core/src/storage.ts +6 -3
- package/node_modules/@hcengineering/core/src/tx.ts +4 -1
- package/node_modules/@hcengineering/core/src/utils.ts +1 -1
- package/node_modules/@hcengineering/core/src/versioning.ts +13 -0
- package/node_modules/@hcengineering/measurements/lib/__tests__/performance.test.js +3 -3
- package/node_modules/@hcengineering/measurements/lib/__tests__/performance.test.js.map +2 -2
- package/node_modules/@hcengineering/measurements/package.json +17 -14
- package/node_modules/@hcengineering/measurements/src/__tests__/performance.test.ts +3 -3
- package/node_modules/@hcengineering/platform/lang/pt-br.json +31 -0
- package/node_modules/@hcengineering/platform/lib/__tests__/i18n.test.js +100 -0
- package/node_modules/@hcengineering/platform/lib/__tests__/i18n.test.js.map +2 -2
- package/node_modules/@hcengineering/platform/lib/__tests__/status.test.js +78 -0
- package/node_modules/@hcengineering/platform/lib/__tests__/status.test.js.map +7 -0
- package/node_modules/@hcengineering/platform/lib/i18n.js +78 -69
- package/node_modules/@hcengineering/platform/lib/i18n.js.map +3 -3
- package/node_modules/@hcengineering/platform/lib/status.js +25 -0
- package/node_modules/@hcengineering/platform/lib/status.js.map +2 -2
- package/node_modules/@hcengineering/platform/package.json +18 -15
- package/node_modules/@hcengineering/platform/src/__tests__/i18n.test.ts +114 -2
- package/node_modules/@hcengineering/platform/src/__tests__/status.test.ts +77 -0
- package/node_modules/@hcengineering/platform/src/i18n.ts +99 -71
- package/node_modules/@hcengineering/platform/src/status.ts +30 -0
- package/node_modules/@hcengineering/rank/package.json +19 -16
- package/node_modules/@hcengineering/rpc/package.json +21 -18
- package/node_modules/@hcengineering/tags/package.json +12 -9
- package/node_modules/@hcengineering/task/package.json +14 -11
- package/node_modules/@hcengineering/text/lib/markup/__tests__/utils.test.js +25 -0
- package/node_modules/@hcengineering/text/lib/markup/__tests__/utils.test.js.map +2 -2
- package/node_modules/@hcengineering/text/lib/tiptapExtensions.js +6 -0
- package/node_modules/@hcengineering/text/lib/tiptapExtensions.js.map +2 -2
- package/node_modules/@hcengineering/text/package.json +23 -18
- package/node_modules/@hcengineering/text/src/markup/__tests__/utils.test.ts +27 -0
- package/node_modules/@hcengineering/text/src/tiptapExtensions.ts +3 -0
- package/node_modules/@hcengineering/text-core/lib/markup/model.js +1 -0
- package/node_modules/@hcengineering/text-core/lib/markup/model.js.map +2 -2
- package/node_modules/@hcengineering/text-core/package.json +20 -17
- package/node_modules/@hcengineering/text-core/src/markup/model.ts +2 -1
- package/node_modules/@hcengineering/text-html/package.json +19 -16
- package/node_modules/@hcengineering/text-markdown/lib/serializer.js +14 -0
- package/node_modules/@hcengineering/text-markdown/lib/serializer.js.map +2 -2
- package/node_modules/@hcengineering/text-markdown/package.json +20 -17
- package/node_modules/@hcengineering/text-markdown/src/serializer.ts +14 -0
- package/node_modules/@hcengineering/tracker/lib/index.js +1 -0
- package/node_modules/@hcengineering/tracker/lib/index.js.map +2 -2
- package/node_modules/@hcengineering/tracker/package.json +16 -13
- package/node_modules/@tiptap/core/dist/commands/focus.d.ts.map +1 -1
- package/node_modules/@tiptap/core/dist/index.cjs +19 -2
- package/node_modules/@tiptap/core/dist/index.cjs.map +1 -1
- package/node_modules/@tiptap/core/dist/index.js +19 -3
- package/node_modules/@tiptap/core/dist/index.js.map +1 -1
- package/node_modules/@tiptap/core/dist/index.umd.js +19 -2
- package/node_modules/@tiptap/core/dist/index.umd.js.map +1 -1
- package/node_modules/@tiptap/core/dist/utilities/index.d.ts +1 -0
- package/node_modules/@tiptap/core/dist/utilities/index.d.ts.map +1 -1
- package/node_modules/@tiptap/core/dist/utilities/isSafari.d.ts +10 -0
- package/node_modules/@tiptap/core/dist/utilities/isSafari.d.ts.map +1 -0
- package/node_modules/@tiptap/core/package.json +2 -2
- package/node_modules/@tiptap/core/src/commands/focus.ts +7 -2
- package/node_modules/@tiptap/core/src/utilities/index.ts +1 -0
- package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
- package/node_modules/@tiptap/extension-blockquote/package.json +2 -2
- package/node_modules/@tiptap/extension-bold/package.json +2 -2
- package/node_modules/@tiptap/extension-bullet-list/package.json +2 -2
- package/node_modules/@tiptap/extension-code/package.json +2 -2
- package/node_modules/@tiptap/extension-code-block/package.json +3 -3
- package/node_modules/@tiptap/extension-document/package.json +2 -2
- package/node_modules/@tiptap/extension-dropcursor/package.json +3 -3
- package/node_modules/@tiptap/extension-gapcursor/package.json +3 -3
- package/node_modules/@tiptap/extension-hard-break/package.json +2 -2
- package/node_modules/@tiptap/extension-heading/package.json +2 -2
- package/node_modules/@tiptap/extension-highlight/package.json +2 -2
- package/node_modules/@tiptap/extension-history/package.json +3 -3
- package/node_modules/@tiptap/extension-horizontal-rule/package.json +3 -3
- package/node_modules/@tiptap/extension-italic/package.json +2 -2
- package/node_modules/@tiptap/extension-link/package.json +3 -3
- package/node_modules/@tiptap/extension-list-item/package.json +2 -2
- package/node_modules/@tiptap/extension-mention/package.json +4 -4
- package/node_modules/@tiptap/extension-ordered-list/package.json +2 -2
- package/node_modules/@tiptap/extension-paragraph/package.json +2 -2
- package/node_modules/@tiptap/extension-strike/package.json +2 -2
- package/node_modules/@tiptap/extension-subscript/README.md +14 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.cjs +61 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.d.ts +4 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.d.ts.map +1 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.js +56 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.js.map +1 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.umd.js +65 -0
- package/node_modules/@tiptap/extension-subscript/dist/index.umd.js.map +1 -0
- package/node_modules/@tiptap/extension-subscript/dist/subscript.d.ts +36 -0
- package/node_modules/@tiptap/extension-subscript/dist/subscript.d.ts.map +1 -0
- package/node_modules/@tiptap/extension-subscript/package.json +49 -0
- package/node_modules/@tiptap/extension-subscript/src/index.ts +5 -0
- package/node_modules/@tiptap/extension-subscript/src/subscript.ts +91 -0
- package/node_modules/@tiptap/extension-superscript/README.md +14 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.cjs +61 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.cjs.map +1 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.d.ts +4 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.d.ts.map +1 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.js +56 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.js.map +1 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.umd.js +65 -0
- package/node_modules/@tiptap/extension-superscript/dist/index.umd.js.map +1 -0
- package/node_modules/@tiptap/extension-superscript/dist/superscript.d.ts +36 -0
- package/node_modules/@tiptap/extension-superscript/dist/superscript.d.ts.map +1 -0
- package/node_modules/@tiptap/extension-superscript/package.json +49 -0
- package/node_modules/@tiptap/extension-superscript/src/index.ts +5 -0
- package/node_modules/@tiptap/extension-superscript/src/superscript.ts +91 -0
- package/node_modules/@tiptap/extension-table/package.json +3 -3
- package/node_modules/@tiptap/extension-table-cell/package.json +2 -2
- package/node_modules/@tiptap/extension-table-header/package.json +2 -2
- package/node_modules/@tiptap/extension-table-row/package.json +2 -2
- package/node_modules/@tiptap/extension-task-item/package.json +3 -3
- package/node_modules/@tiptap/extension-task-list/package.json +2 -2
- package/node_modules/@tiptap/extension-text/package.json +2 -2
- package/node_modules/@tiptap/extension-typography/package.json +2 -2
- package/node_modules/@tiptap/extension-underline/package.json +2 -2
- package/node_modules/@tiptap/html/package.json +3 -3
- package/node_modules/@tiptap/pm/package.json +1 -1
- package/node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-text-style/package.json +2 -2
- package/node_modules/@tiptap/starter-kit/package.json +22 -22
- package/node_modules/@tiptap/suggestion/package.json +3 -3
- package/node_modules/linkify-it/build/index.cjs.js +99 -94
- package/node_modules/linkify-it/index.mjs +99 -94
- package/node_modules/linkify-it/package.json +11 -1
- package/node_modules/linkifyjs/README.md +4 -2
- package/node_modules/linkifyjs/dist/linkify.cjs +8 -11
- package/node_modules/linkifyjs/dist/linkify.d.cts +14 -14
- package/node_modules/linkifyjs/dist/linkify.d.mts +14 -14
- package/node_modules/linkifyjs/dist/linkify.js +8 -11
- package/node_modules/linkifyjs/dist/linkify.min.js +1 -1
- package/node_modules/linkifyjs/dist/linkify.mjs +8 -11
- package/node_modules/linkifyjs/package.json +1 -1
- package/node_modules/markdown-it/README.md +13 -17
- package/node_modules/markdown-it/dist/index.cjs.js +111 -31
- package/node_modules/markdown-it/dist/markdown-it.js +117 -31
- package/node_modules/markdown-it/dist/markdown-it.min.js +2 -2
- package/node_modules/markdown-it/lib/common/utils.mjs +30 -1
- package/node_modules/markdown-it/lib/index.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_block/heading.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/html_block.mjs +12 -1
- package/node_modules/markdown-it/lib/rules_block/lheading.mjs +4 -1
- package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +3 -1
- package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +37 -21
- package/node_modules/markdown-it/lib/rules_inline/entity.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +37 -6
- package/node_modules/markdown-it/package.json +14 -3
- package/node_modules/msgpackr/README.md +1 -3
- package/node_modules/msgpackr/benchmark.md +26 -16
- package/node_modules/msgpackr/dist/index-no-eval.cjs +35 -16
- package/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
- package/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
- package/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
- package/node_modules/msgpackr/dist/index.js +35 -16
- package/node_modules/msgpackr/dist/index.js.map +1 -1
- package/node_modules/msgpackr/dist/index.min.js +1 -1
- package/node_modules/msgpackr/dist/index.min.js.map +1 -1
- package/node_modules/msgpackr/dist/node.cjs +50 -26
- package/node_modules/msgpackr/dist/node.cjs.map +1 -1
- package/node_modules/msgpackr/dist/test.js +44 -16
- package/node_modules/msgpackr/dist/test.js.map +1 -1
- package/node_modules/msgpackr/dist/unpack-no-eval.cjs +35 -16
- package/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
- package/node_modules/msgpackr/index.d.cts +2 -0
- package/node_modules/msgpackr/index.d.ts +2 -0
- package/node_modules/msgpackr/package.json +1 -1
- package/node_modules/msgpackr/stream.js +15 -10
- package/node_modules/msgpackr/unpack.js +35 -16
- package/node_modules/prosemirror-changeset/CHANGELOG.md +12 -0
- package/node_modules/prosemirror-changeset/README.md +31 -2
- package/node_modules/prosemirror-changeset/dist/index.cjs +17 -2
- package/node_modules/prosemirror-changeset/dist/index.d.cts +32 -2
- package/node_modules/prosemirror-changeset/dist/index.d.ts +32 -2
- package/node_modules/prosemirror-changeset/dist/index.js +18 -3
- package/node_modules/prosemirror-changeset/package.json +2 -2
- package/node_modules/prosemirror-changeset/src/README.md +4 -2
- package/node_modules/prosemirror-changeset/src/change.ts +18 -0
- package/node_modules/prosemirror-changeset/src/changeset.ts +10 -4
- package/node_modules/prosemirror-changeset/src/simplify.ts +1 -1
- package/node_modules/prosemirror-changeset/test/test-simplify.ts +3 -0
- package/node_modules/prosemirror-gapcursor/CHANGELOG.md +6 -0
- package/node_modules/prosemirror-gapcursor/dist/index.cjs +1 -1
- package/node_modules/prosemirror-gapcursor/dist/index.js +1 -1
- package/node_modules/prosemirror-gapcursor/package.json +3 -2
- package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +1 -1
- package/node_modules/prosemirror-markdown/CHANGELOG.md +12 -0
- package/node_modules/prosemirror-markdown/dist/index.cjs +11 -1
- package/node_modules/prosemirror-markdown/dist/index.js +14 -2
- package/node_modules/prosemirror-markdown/package.json +1 -1
- package/node_modules/prosemirror-markdown/src/to_markdown.ts +12 -3
- package/node_modules/prosemirror-menu/CHANGELOG.md +18 -0
- package/node_modules/prosemirror-menu/CONTRIBUTING.md +22 -18
- package/node_modules/prosemirror-menu/README.md +69 -29
- package/node_modules/prosemirror-menu/dist/index.cjs +232 -48
- package/node_modules/prosemirror-menu/dist/index.d.cts +29 -14
- package/node_modules/prosemirror-menu/dist/index.d.ts +29 -14
- package/node_modules/prosemirror-menu/dist/index.js +229 -36
- package/node_modules/prosemirror-menu/package.json +2 -2
- package/node_modules/prosemirror-menu/src/README.md +30 -1
- package/node_modules/prosemirror-menu/src/icons.ts +3 -2
- package/node_modules/prosemirror-menu/src/menu.ts +193 -40
- package/node_modules/prosemirror-menu/src/menubar.ts +50 -5
- package/node_modules/prosemirror-menu/style/menu.css +28 -7
- package/node_modules/prosemirror-model/CHANGELOG.md +20 -0
- package/node_modules/prosemirror-model/CONTRIBUTING.md +19 -19
- package/node_modules/prosemirror-model/README.md +3 -3
- package/node_modules/prosemirror-model/dist/index.cjs +13 -10
- package/node_modules/prosemirror-model/dist/index.d.cts +25 -21
- package/node_modules/prosemirror-model/dist/index.d.ts +25 -21
- package/node_modules/prosemirror-model/dist/index.js +19 -23
- package/node_modules/prosemirror-model/package.json +2 -2
- package/node_modules/prosemirror-model/src/fragment.ts +1 -1
- package/node_modules/prosemirror-model/src/from_dom.ts +4 -1
- package/node_modules/prosemirror-model/src/node.ts +5 -4
- package/node_modules/prosemirror-model/src/replace.ts +6 -15
- package/node_modules/prosemirror-model/src/schema.ts +1 -1
- package/node_modules/prosemirror-model/src/to_dom.ts +24 -20
- package/node_modules/prosemirror-transform/CHANGELOG.md +16 -0
- package/node_modules/prosemirror-transform/dist/index.cjs +38 -4
- package/node_modules/prosemirror-transform/dist/index.d.cts +19 -0
- package/node_modules/prosemirror-transform/dist/index.d.ts +19 -0
- package/node_modules/prosemirror-transform/dist/index.js +52 -1
- package/node_modules/prosemirror-transform/package.json +1 -1
- package/node_modules/prosemirror-transform/src/replace.ts +16 -0
- package/node_modules/prosemirror-transform/src/replace_step.ts +10 -1
- package/node_modules/prosemirror-transform/src/transform.ts +21 -2
- package/node_modules/prosemirror-view/CHANGELOG.md +34 -2
- package/node_modules/prosemirror-view/CONTRIBUTING.md +19 -19
- package/node_modules/prosemirror-view/README.md +3 -3
- package/node_modules/prosemirror-view/dist/index.cjs +96 -40
- package/node_modules/prosemirror-view/dist/index.d.cts +2 -2
- package/node_modules/prosemirror-view/dist/index.d.ts +2 -2
- package/node_modules/prosemirror-view/dist/index.js +90 -39
- package/node_modules/prosemirror-view/package.json +2 -2
- package/node_modules/prosemirror-view/src/domchange.ts +1 -1
- package/node_modules/prosemirror-view/src/domobserver.ts +59 -16
- package/node_modules/prosemirror-view/src/index.ts +4 -4
- package/node_modules/prosemirror-view/src/input.ts +9 -6
- package/node_modules/prosemirror-view/src/viewdesc.ts +26 -22
- package/node_modules/prosemirror-view/style/prosemirror.css +1 -1
- package/package.json +5 -4
- package/src/client.mjs +2 -2
- package/src/config.mjs +1 -0
- package/src/helpers.mjs +2 -2
- package/src/index.mjs +31 -1
- package/src/initCodex.mjs +281 -0
- package/src/mcp.mjs +1 -1
- package/src/mcpShared.mjs +95 -5
- package/node_modules/@hcengineering/account-client/types/client.d.ts +0 -140
- package/node_modules/@hcengineering/account-client/types/client.d.ts.map +0 -1
- package/node_modules/@hcengineering/account-client/types/index.d.ts +0 -4
- package/node_modules/@hcengineering/account-client/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/account-client/types/types.d.ts +0 -177
- package/node_modules/@hcengineering/account-client/types/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/account-client/types/utils.d.ts +0 -5
- package/node_modules/@hcengineering/account-client/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/analytics/types/index.d.ts +0 -25
- package/node_modules/@hcengineering/analytics/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/__tests__/config.test.d.ts +0 -2
- package/node_modules/@hcengineering/api-client/types/__tests__/config.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/__tests__/markup-client.test.d.ts +0 -2
- package/node_modules/@hcengineering/api-client/types/__tests__/markup-client.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/__tests__/markup-types.test.d.ts +0 -2
- package/node_modules/@hcengineering/api-client/types/__tests__/markup-types.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/__tests__/rest-utils.test.d.ts +0 -2
- package/node_modules/@hcengineering/api-client/types/__tests__/rest-utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/__tests__/utils.test.d.ts +0 -2
- package/node_modules/@hcengineering/api-client/types/__tests__/utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/client.d.ts +0 -6
- package/node_modules/@hcengineering/api-client/types/client.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/config.d.ts +0 -8
- package/node_modules/@hcengineering/api-client/types/config.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/index.d.ts +0 -9
- package/node_modules/@hcengineering/api-client/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/markup/client.d.ts +0 -5
- package/node_modules/@hcengineering/api-client/types/markup/client.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/markup/index.d.ts +0 -3
- package/node_modules/@hcengineering/api-client/types/markup/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/markup/types.d.ts +0 -41
- package/node_modules/@hcengineering/api-client/types/markup/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/rest/index.d.ts +0 -4
- package/node_modules/@hcengineering/api-client/types/rest/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/rest/rest.d.ts +0 -39
- package/node_modules/@hcengineering/api-client/types/rest/rest.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/rest/tx.d.ts +0 -3
- package/node_modules/@hcengineering/api-client/types/rest/tx.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/rest/types.d.ts +0 -16
- package/node_modules/@hcengineering/api-client/types/rest/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/rest/utils.d.ts +0 -3
- package/node_modules/@hcengineering/api-client/types/rest/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/socket/browser.d.ts +0 -4
- package/node_modules/@hcengineering/api-client/types/socket/browser.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/socket/index.d.ts +0 -3
- package/node_modules/@hcengineering/api-client/types/socket/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/socket/node.d.ts +0 -4
- package/node_modules/@hcengineering/api-client/types/socket/node.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/storage/client.d.ts +0 -21
- package/node_modules/@hcengineering/api-client/types/storage/client.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/storage/error.d.ts +0 -10
- package/node_modules/@hcengineering/api-client/types/storage/error.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/storage/index.d.ts +0 -4
- package/node_modules/@hcengineering/api-client/types/storage/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/storage/types.d.ts +0 -10
- package/node_modules/@hcengineering/api-client/types/storage/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/types.d.ts +0 -101
- package/node_modules/@hcengineering/api-client/types/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/api-client/types/utils.d.ts +0 -12
- package/node_modules/@hcengineering/api-client/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/chunter/types/analytics.d.ts +0 -5
- package/node_modules/@hcengineering/chunter/types/analytics.d.ts.map +0 -1
- package/node_modules/@hcengineering/chunter/types/index.d.ts +0 -211
- package/node_modules/@hcengineering/chunter/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/chunter/types/utils.d.ts +0 -7
- package/node_modules/@hcengineering/chunter/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/client/types/__tests__/client.test.d.ts +0 -2
- package/node_modules/@hcengineering/client/types/__tests__/client.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/client/types/index.d.ts +0 -69
- package/node_modules/@hcengineering/client/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/client-resources/types/__tests__/connection.test.d.ts +0 -2
- package/node_modules/@hcengineering/client-resources/types/__tests__/connection.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/client-resources/types/__tests__/integration.test.d.ts +0 -45
- package/node_modules/@hcengineering/client-resources/types/__tests__/integration.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/client-resources/types/connection.d.ts +0 -7
- package/node_modules/@hcengineering/client-resources/types/connection.d.ts.map +0 -1
- package/node_modules/@hcengineering/client-resources/types/index.d.ts +0 -11
- package/node_modules/@hcengineering/client-resources/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/collaborator-client/types/__tests__/utils.test.d.ts +0 -2
- package/node_modules/@hcengineering/collaborator-client/types/__tests__/utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/collaborator-client/types/client.d.ts +0 -34
- package/node_modules/@hcengineering/collaborator-client/types/client.d.ts.map +0 -1
- package/node_modules/@hcengineering/collaborator-client/types/index.d.ts +0 -3
- package/node_modules/@hcengineering/collaborator-client/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/collaborator-client/types/utils.d.ts +0 -9
- package/node_modules/@hcengineering/collaborator-client/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/__tests__/cache.test.d.ts +0 -2
- package/node_modules/@hcengineering/contact/types/__tests__/cache.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/analytics.d.ts +0 -6
- package/node_modules/@hcengineering/contact/types/analytics.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/avatar.d.ts +0 -12
- package/node_modules/@hcengineering/contact/types/avatar.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/cache.d.ts +0 -49
- package/node_modules/@hcengineering/contact/types/cache.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/index.d.ts +0 -367
- package/node_modules/@hcengineering/contact/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/types.d.ts +0 -25
- package/node_modules/@hcengineering/contact/types/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/contact/types/utils.d.ts +0 -110
- package/node_modules/@hcengineering/contact/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/client.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/client.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/clone.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/clone.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/collaboration.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/collaboration.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/collaborators.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/collaborators.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/common.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/common.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/connection.d.ts +0 -4
- package/node_modules/@hcengineering/core/types/__tests__/connection.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/contexts.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/contexts.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/hierarchy.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/hierarchy.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/lang.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/lang.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/limiter-edge-cases.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/limiter-edge-cases.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/limits.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/limits.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/memdb.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/memdb.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/minmodel.d.ts +0 -50
- package/node_modules/@hcengineering/core/types/__tests__/minmodel.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/objvalue.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/objvalue.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/operator-bugs.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/operator-bugs.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/operator.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/operator.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/rate-limiter.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/rate-limiter.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/time.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/time.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/__tests__/utils.test.d.ts +0 -2
- package/node_modules/@hcengineering/core/types/__tests__/utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/backup.d.ts +0 -26
- package/node_modules/@hcengineering/core/types/backup.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/benchmark.d.ts +0 -19
- package/node_modules/@hcengineering/core/types/benchmark.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/classes.d.ts +0 -716
- package/node_modules/@hcengineering/core/types/classes.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/client.d.ts +0 -69
- package/node_modules/@hcengineering/core/types/client.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/clone.d.ts +0 -3
- package/node_modules/@hcengineering/core/types/clone.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/collaboration.d.ts +0 -16
- package/node_modules/@hcengineering/core/types/collaboration.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/collaborators.d.ts +0 -3
- package/node_modules/@hcengineering/core/types/collaborators.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/common.d.ts +0 -4
- package/node_modules/@hcengineering/core/types/common.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/component.d.ts +0 -229
- package/node_modules/@hcengineering/core/types/component.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/hierarchy.d.ts +0 -84
- package/node_modules/@hcengineering/core/types/hierarchy.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/index.d.ts +0 -25
- package/node_modules/@hcengineering/core/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/memdb.d.ts +0 -60
- package/node_modules/@hcengineering/core/types/memdb.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/objvalue.d.ts +0 -10
- package/node_modules/@hcengineering/core/types/objvalue.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/operations.d.ts +0 -87
- package/node_modules/@hcengineering/core/types/operations.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/operator.d.ts +0 -16
- package/node_modules/@hcengineering/core/types/operator.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/predicate.d.ts +0 -6
- package/node_modules/@hcengineering/core/types/predicate.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/proxy.d.ts +0 -21
- package/node_modules/@hcengineering/core/types/proxy.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/query.d.ts +0 -21
- package/node_modules/@hcengineering/core/types/query.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/server.d.ts +0 -82
- package/node_modules/@hcengineering/core/types/server.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/status.d.ts +0 -30
- package/node_modules/@hcengineering/core/types/status.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/storage.d.ts +0 -233
- package/node_modules/@hcengineering/core/types/storage.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/time.d.ts +0 -8
- package/node_modules/@hcengineering/core/types/time.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/tx.d.ts +0 -261
- package/node_modules/@hcengineering/core/types/tx.d.ts.map +0 -1
- package/node_modules/@hcengineering/core/types/utils.d.ts +0 -207
- package/node_modules/@hcengineering/core/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/__tests__/context.test.d.ts +0 -2
- package/node_modules/@hcengineering/measurements/types/__tests__/context.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/__tests__/index.test.d.ts +0 -2
- package/node_modules/@hcengineering/measurements/types/__tests__/index.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/__tests__/metrics.test.d.ts +0 -2
- package/node_modules/@hcengineering/measurements/types/__tests__/metrics.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/__tests__/performance.test.d.ts +0 -2
- package/node_modules/@hcengineering/measurements/types/__tests__/performance.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/context.d.ts +0 -64
- package/node_modules/@hcengineering/measurements/types/context.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/index.d.ts +0 -12
- package/node_modules/@hcengineering/measurements/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/metrics.d.ts +0 -34
- package/node_modules/@hcengineering/measurements/types/metrics.d.ts.map +0 -1
- package/node_modules/@hcengineering/measurements/types/types.d.ts +0 -88
- package/node_modules/@hcengineering/measurements/types/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/__tests__/i18n.test.d.ts +0 -2
- package/node_modules/@hcengineering/platform/types/__tests__/i18n.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/__tests__/ident.test.d.ts +0 -2
- package/node_modules/@hcengineering/platform/types/__tests__/ident.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/__tests__/plugin.d.ts +0 -7
- package/node_modules/@hcengineering/platform/types/__tests__/plugin.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/__tests__/resource.test.d.ts +0 -2
- package/node_modules/@hcengineering/platform/types/__tests__/resource.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/event.d.ts +0 -39
- package/node_modules/@hcengineering/platform/types/event.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/i18n.d.ts +0 -28
- package/node_modules/@hcengineering/platform/types/i18n.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/ident.d.ts +0 -14
- package/node_modules/@hcengineering/platform/types/ident.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/index.d.ts +0 -19
- package/node_modules/@hcengineering/platform/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/metadata.d.ts +0 -38
- package/node_modules/@hcengineering/platform/types/metadata.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/platform.d.ts +0 -218
- package/node_modules/@hcengineering/platform/types/platform.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/resource.d.ts +0 -49
- package/node_modules/@hcengineering/platform/types/resource.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/status.d.ts +0 -60
- package/node_modules/@hcengineering/platform/types/status.d.ts.map +0 -1
- package/node_modules/@hcengineering/platform/types/testUtils.d.ts +0 -8
- package/node_modules/@hcengineering/platform/types/testUtils.d.ts.map +0 -1
- package/node_modules/@hcengineering/rank/types/__tests__/utils.test.d.ts +0 -2
- package/node_modules/@hcengineering/rank/types/__tests__/utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/rank/types/index.d.ts +0 -3
- package/node_modules/@hcengineering/rank/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/rank/types/types.d.ts +0 -2
- package/node_modules/@hcengineering/rank/types/types.d.ts.map +0 -1
- package/node_modules/@hcengineering/rank/types/utils.d.ts +0 -6
- package/node_modules/@hcengineering/rank/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/rpc/types/index.d.ts +0 -3
- package/node_modules/@hcengineering/rpc/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/rpc/types/rpc.d.ts +0 -96
- package/node_modules/@hcengineering/rpc/types/rpc.d.ts.map +0 -1
- package/node_modules/@hcengineering/rpc/types/sliding.d.ts +0 -11
- package/node_modules/@hcengineering/rpc/types/sliding.d.ts.map +0 -1
- package/node_modules/@hcengineering/rpc/types/test/rateLimit.spec.d.ts +0 -2
- package/node_modules/@hcengineering/rpc/types/test/rateLimit.spec.d.ts.map +0 -1
- package/node_modules/@hcengineering/tags/types/analytics.d.ts +0 -5
- package/node_modules/@hcengineering/tags/types/analytics.d.ts.map +0 -1
- package/node_modules/@hcengineering/tags/types/index.d.ts +0 -105
- package/node_modules/@hcengineering/tags/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/task/types/index.d.ts +0 -227
- package/node_modules/@hcengineering/task/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/task/types/utils.d.ts +0 -61
- package/node_modules/@hcengineering/task/types/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/extensions.d.ts +0 -53
- package/node_modules/@hcengineering/text/types/extensions.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/index.d.ts +0 -13
- package/node_modules/@hcengineering/text/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/kit.d.ts +0 -12
- package/node_modules/@hcengineering/text/types/kit.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/kits/common-kit.d.ts +0 -72
- package/node_modules/@hcengineering/text/types/kits/common-kit.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/kits/server-kit.d.ts +0 -106
- package/node_modules/@hcengineering/text/types/kits/server-kit.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/marks/code.d.ts +0 -8
- package/node_modules/@hcengineering/text/types/marks/code.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/marks/colors.d.ts +0 -21
- package/node_modules/@hcengineering/text/types/marks/colors.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/marks/inlineComment.d.ts +0 -5
- package/node_modules/@hcengineering/text/types/marks/inlineComment.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/marks/noteBase.d.ts +0 -23
- package/node_modules/@hcengineering/text/types/marks/noteBase.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/marks/qmsInlineCommentMark.d.ts +0 -6
- package/node_modules/@hcengineering/text/types/marks/qmsInlineCommentMark.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/markup/__tests__/dsl.test.d.ts +0 -2
- package/node_modules/@hcengineering/text/types/markup/__tests__/dsl.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/markup/__tests__/utils.test.d.ts +0 -5
- package/node_modules/@hcengineering/text/types/markup/__tests__/utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/markup/utils.d.ts +0 -19
- package/node_modules/@hcengineering/text/types/markup/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/codeblock.d.ts +0 -12
- package/node_modules/@hcengineering/text/types/nodes/codeblock.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/comment.d.ts +0 -6
- package/node_modules/@hcengineering/text/types/nodes/comment.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/embed.d.ts +0 -3
- package/node_modules/@hcengineering/text/types/nodes/embed.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/emoji.d.ts +0 -17
- package/node_modules/@hcengineering/text/types/nodes/emoji.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/file.d.ts +0 -13
- package/node_modules/@hcengineering/text/types/nodes/file.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/image.d.ts +0 -52
- package/node_modules/@hcengineering/text/types/nodes/image.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/index.d.ts +0 -11
- package/node_modules/@hcengineering/text/types/nodes/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/markdown.d.ts +0 -3
- package/node_modules/@hcengineering/text/types/nodes/markdown.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/mermaid.d.ts +0 -4
- package/node_modules/@hcengineering/text/types/nodes/mermaid.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/reference.d.ts +0 -18
- package/node_modules/@hcengineering/text/types/nodes/reference.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/todo.d.ts +0 -3
- package/node_modules/@hcengineering/text/types/nodes/todo.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/nodes/utils.d.ts +0 -6
- package/node_modules/@hcengineering/text/types/nodes/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/text/types/tiptapExtensions.d.ts +0 -28
- package/node_modules/@hcengineering/text/types/tiptapExtensions.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/index.d.ts +0 -6
- package/node_modules/@hcengineering/text-core/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/__tests__/traverse.test.d.ts +0 -2
- package/node_modules/@hcengineering/text-core/types/markup/__tests__/traverse.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/__tests__/utils.test.d.ts +0 -2
- package/node_modules/@hcengineering/text-core/types/markup/__tests__/utils.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/dsl.d.ts +0 -25
- package/node_modules/@hcengineering/text-core/types/markup/dsl.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/model.d.ts +0 -74
- package/node_modules/@hcengineering/text-core/types/markup/model.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/reference.d.ts +0 -15
- package/node_modules/@hcengineering/text-core/types/markup/reference.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/traverse.d.ts +0 -6
- package/node_modules/@hcengineering/text-core/types/markup/traverse.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-core/types/markup/utils.d.ts +0 -25
- package/node_modules/@hcengineering/text-core/types/markup/utils.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-html/types/__tests__/html.test.d.ts +0 -2
- package/node_modules/@hcengineering/text-html/types/__tests__/html.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-html/types/index.d.ts +0 -6
- package/node_modules/@hcengineering/text-html/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-html/types/parser.d.ts +0 -10
- package/node_modules/@hcengineering/text-html/types/parser.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-html/types/serializer.d.ts +0 -9
- package/node_modules/@hcengineering/text-html/types/serializer.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/__tests__/markdown.test.d.ts +0 -9
- package/node_modules/@hcengineering/text-markdown/types/__tests__/markdown.test.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/compare.d.ts +0 -10
- package/node_modules/@hcengineering/text-markdown/types/compare.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/index.d.ts +0 -14
- package/node_modules/@hcengineering/text-markdown/types/index.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/marks.d.ts +0 -8
- package/node_modules/@hcengineering/text-markdown/types/marks.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/node.d.ts +0 -4
- package/node_modules/@hcengineering/text-markdown/types/node.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/parser.d.ts +0 -50
- package/node_modules/@hcengineering/text-markdown/types/parser.d.ts.map +0 -1
- package/node_modules/@hcengineering/text-markdown/types/serializer.d.ts +0 -102
- package/node_modules/@hcengineering/text-markdown/types/serializer.d.ts.map +0 -1
- package/node_modules/@hcengineering/tracker/types/analytics.d.ts +0 -24
- package/node_modules/@hcengineering/tracker/types/analytics.d.ts.map +0 -1
- package/node_modules/@hcengineering/tracker/types/index.d.ts +0 -431
- package/node_modules/@hcengineering/tracker/types/index.d.ts.map +0 -1
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright © 2026 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
import { isNetworkError } from '../utils'
|
|
17
|
+
|
|
18
|
+
describe('isNetworkError', () => {
|
|
19
|
+
describe('Node.js-style connection errors', () => {
|
|
20
|
+
it('should return true for ECONNRESET error', () => {
|
|
21
|
+
const error = {
|
|
22
|
+
cause: {
|
|
23
|
+
code: 'ECONNRESET'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
expect(isNetworkError(error)).toBe(true)
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('should return true for ECONNREFUSED error', () => {
|
|
30
|
+
const error = {
|
|
31
|
+
cause: {
|
|
32
|
+
code: 'ECONNREFUSED'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
expect(isNetworkError(error)).toBe(true)
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
it('should return true for ENOTFOUND error', () => {
|
|
39
|
+
const error = {
|
|
40
|
+
cause: {
|
|
41
|
+
code: 'ENOTFOUND'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
expect(isNetworkError(error)).toBe(true)
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
it('should return false for other error codes', () => {
|
|
48
|
+
const error = {
|
|
49
|
+
cause: {
|
|
50
|
+
code: 'EACCES'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
expect(isNetworkError(error)).toBe(false)
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
it('should return false when cause.code is not a string', () => {
|
|
57
|
+
const error = {
|
|
58
|
+
cause: {
|
|
59
|
+
code: 123
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
expect(isNetworkError(error)).toBe(false)
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
it('should return false when cause is not an object', () => {
|
|
66
|
+
const error = {
|
|
67
|
+
cause: 'not an object'
|
|
68
|
+
}
|
|
69
|
+
expect(isNetworkError(error)).toBe(false)
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
describe('Browser "Failed to fetch" errors', () => {
|
|
74
|
+
it('should return true for TypeError with "Failed to fetch" message', () => {
|
|
75
|
+
const error = new TypeError('Failed to fetch')
|
|
76
|
+
expect(isNetworkError(error)).toBe(true)
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
it('should return true for TypeError with "failed to fetch" (lowercase) message', () => {
|
|
80
|
+
const error = new TypeError('failed to fetch')
|
|
81
|
+
expect(isNetworkError(error)).toBe(true)
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
it('should return true for TypeError with "NetworkError" message', () => {
|
|
85
|
+
const error = new TypeError('NetworkError')
|
|
86
|
+
expect(isNetworkError(error)).toBe(true)
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
it('should return true for TypeError with "networkerror" (lowercase) message', () => {
|
|
90
|
+
const error = new TypeError('networkerror')
|
|
91
|
+
expect(isNetworkError(error)).toBe(true)
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
it('should return true for TypeError with "Network request failed" message', () => {
|
|
95
|
+
const error = new TypeError('Network request failed')
|
|
96
|
+
expect(isNetworkError(error)).toBe(true)
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
it('should return false for TypeError with non-network message', () => {
|
|
100
|
+
const error = new TypeError('Something went wrong')
|
|
101
|
+
expect(isNetworkError(error)).toBe(false)
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
it('should return false for TypeError with empty message', () => {
|
|
105
|
+
const error = new TypeError('')
|
|
106
|
+
expect(isNetworkError(error)).toBe(false)
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
it('should handle TypeError with undefined message', () => {
|
|
110
|
+
const error = new TypeError()
|
|
111
|
+
// TypeError constructor may set message to empty string or undefined
|
|
112
|
+
// The function should handle this gracefully
|
|
113
|
+
expect(typeof isNetworkError(error)).toBe('boolean')
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
describe('Error name-based detection', () => {
|
|
118
|
+
it('should return true for NetworkError with network-related message', () => {
|
|
119
|
+
const error = {
|
|
120
|
+
name: 'NetworkError',
|
|
121
|
+
message: 'Network connection failed'
|
|
122
|
+
}
|
|
123
|
+
expect(isNetworkError(error)).toBe(true)
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
it('should return true for TypeError (by name) with fetch-related message', () => {
|
|
127
|
+
const error = {
|
|
128
|
+
name: 'TypeError',
|
|
129
|
+
message: 'fetch error occurred'
|
|
130
|
+
}
|
|
131
|
+
expect(isNetworkError(error)).toBe(true)
|
|
132
|
+
})
|
|
133
|
+
|
|
134
|
+
it('should return true for FetchError with connection-related message', () => {
|
|
135
|
+
const error = {
|
|
136
|
+
name: 'FetchError',
|
|
137
|
+
message: 'connection timeout'
|
|
138
|
+
}
|
|
139
|
+
expect(isNetworkError(error)).toBe(true)
|
|
140
|
+
})
|
|
141
|
+
|
|
142
|
+
it('should return true for NetworkError with connection message', () => {
|
|
143
|
+
const error = {
|
|
144
|
+
name: 'NetworkError',
|
|
145
|
+
message: 'connection refused'
|
|
146
|
+
}
|
|
147
|
+
expect(isNetworkError(error)).toBe(true)
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
it('should return false for NetworkError with non-network message', () => {
|
|
151
|
+
const error = {
|
|
152
|
+
name: 'NetworkError',
|
|
153
|
+
message: 'Invalid argument'
|
|
154
|
+
}
|
|
155
|
+
expect(isNetworkError(error)).toBe(false)
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
it('should return false for TypeError (by name) with non-network message', () => {
|
|
159
|
+
const error = {
|
|
160
|
+
name: 'TypeError',
|
|
161
|
+
message: 'Cannot read property of undefined'
|
|
162
|
+
}
|
|
163
|
+
expect(isNetworkError(error)).toBe(false)
|
|
164
|
+
})
|
|
165
|
+
|
|
166
|
+
it('should return false for other error names', () => {
|
|
167
|
+
const error = {
|
|
168
|
+
name: 'ReferenceError',
|
|
169
|
+
message: 'fetch is not defined'
|
|
170
|
+
}
|
|
171
|
+
expect(isNetworkError(error)).toBe(false)
|
|
172
|
+
})
|
|
173
|
+
|
|
174
|
+
it('should handle case-insensitive message matching', () => {
|
|
175
|
+
const error = {
|
|
176
|
+
name: 'NetworkError',
|
|
177
|
+
message: 'FETCH ERROR'
|
|
178
|
+
}
|
|
179
|
+
expect(isNetworkError(error)).toBe(true)
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
it('should return false when message is not a string', () => {
|
|
183
|
+
const error = {
|
|
184
|
+
name: 'NetworkError',
|
|
185
|
+
message: 123
|
|
186
|
+
}
|
|
187
|
+
expect(isNetworkError(error)).toBe(false)
|
|
188
|
+
})
|
|
189
|
+
|
|
190
|
+
it('should return false when name is not a string', () => {
|
|
191
|
+
const error = {
|
|
192
|
+
name: 123,
|
|
193
|
+
message: 'fetch error'
|
|
194
|
+
}
|
|
195
|
+
expect(isNetworkError(error)).toBe(false)
|
|
196
|
+
})
|
|
197
|
+
})
|
|
198
|
+
|
|
199
|
+
describe('Edge cases', () => {
|
|
200
|
+
it('should return false for null', () => {
|
|
201
|
+
expect(isNetworkError(null)).toBe(false)
|
|
202
|
+
})
|
|
203
|
+
|
|
204
|
+
it('should return false for undefined', () => {
|
|
205
|
+
expect(isNetworkError(undefined)).toBe(false)
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
it('should return false for primitive values', () => {
|
|
209
|
+
expect(isNetworkError(123)).toBe(false)
|
|
210
|
+
expect(isNetworkError('string')).toBe(false)
|
|
211
|
+
expect(isNetworkError(true)).toBe(false)
|
|
212
|
+
})
|
|
213
|
+
|
|
214
|
+
it('should return false for empty object', () => {
|
|
215
|
+
expect(isNetworkError({})).toBe(false)
|
|
216
|
+
})
|
|
217
|
+
|
|
218
|
+
it('should return false for object without name or message', () => {
|
|
219
|
+
const error = {
|
|
220
|
+
someProperty: 'value'
|
|
221
|
+
}
|
|
222
|
+
expect(isNetworkError(error)).toBe(false)
|
|
223
|
+
})
|
|
224
|
+
|
|
225
|
+
it('should return false for regular Error without network indicators', () => {
|
|
226
|
+
const error = new Error('Something went wrong')
|
|
227
|
+
expect(isNetworkError(error)).toBe(false)
|
|
228
|
+
})
|
|
229
|
+
|
|
230
|
+
it('should return false for Error with cause but wrong code', () => {
|
|
231
|
+
const error = {
|
|
232
|
+
cause: {
|
|
233
|
+
code: 'SOME_OTHER_CODE'
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
expect(isNetworkError(error)).toBe(false)
|
|
237
|
+
})
|
|
238
|
+
|
|
239
|
+
it('should return false when cause exists but code is missing', () => {
|
|
240
|
+
const error = {
|
|
241
|
+
cause: {}
|
|
242
|
+
}
|
|
243
|
+
expect(isNetworkError(error)).toBe(false)
|
|
244
|
+
})
|
|
245
|
+
})
|
|
246
|
+
|
|
247
|
+
describe('Real-world error scenarios', () => {
|
|
248
|
+
it('should handle fetch API network error', () => {
|
|
249
|
+
// Simulating a real browser fetch error
|
|
250
|
+
const error = new TypeError('Failed to fetch')
|
|
251
|
+
expect(isNetworkError(error)).toBe(true)
|
|
252
|
+
})
|
|
253
|
+
|
|
254
|
+
it('should handle Node.js connection refused error', () => {
|
|
255
|
+
// Simulating a real Node.js connection error
|
|
256
|
+
const error = {
|
|
257
|
+
cause: {
|
|
258
|
+
code: 'ECONNREFUSED',
|
|
259
|
+
errno: -61,
|
|
260
|
+
syscall: 'connect',
|
|
261
|
+
address: '127.0.0.1',
|
|
262
|
+
port: 3000
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
expect(isNetworkError(error)).toBe(true)
|
|
266
|
+
})
|
|
267
|
+
|
|
268
|
+
it('should handle DNS resolution failure', () => {
|
|
269
|
+
const error = {
|
|
270
|
+
cause: {
|
|
271
|
+
code: 'ENOTFOUND',
|
|
272
|
+
errno: -3008,
|
|
273
|
+
syscall: 'getaddrinfo',
|
|
274
|
+
hostname: 'nonexistent.example.com'
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
expect(isNetworkError(error)).toBe(true)
|
|
278
|
+
})
|
|
279
|
+
|
|
280
|
+
it('should handle connection reset error', () => {
|
|
281
|
+
const error = {
|
|
282
|
+
cause: {
|
|
283
|
+
code: 'ECONNRESET',
|
|
284
|
+
errno: -54,
|
|
285
|
+
syscall: 'read'
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
expect(isNetworkError(error)).toBe(true)
|
|
289
|
+
})
|
|
290
|
+
|
|
291
|
+
it('should not treat application errors as network errors', () => {
|
|
292
|
+
const error = new Error('Invalid email format')
|
|
293
|
+
expect(isNetworkError(error)).toBe(false)
|
|
294
|
+
})
|
|
295
|
+
|
|
296
|
+
it('should not treat authentication errors as network errors', () => {
|
|
297
|
+
const error = {
|
|
298
|
+
name: 'AuthenticationError',
|
|
299
|
+
message: 'Invalid credentials'
|
|
300
|
+
}
|
|
301
|
+
expect(isNetworkError(error)).toBe(false)
|
|
302
|
+
})
|
|
303
|
+
})
|
|
304
|
+
})
|
|
@@ -42,6 +42,7 @@ import type {
|
|
|
42
42
|
LoginInfo,
|
|
43
43
|
LoginInfoByToken,
|
|
44
44
|
LoginInfoRequestData,
|
|
45
|
+
InviteInfo,
|
|
45
46
|
LoginInfoWithWorkspaces,
|
|
46
47
|
MailboxInfo,
|
|
47
48
|
MailboxOptions,
|
|
@@ -57,7 +58,7 @@ import type {
|
|
|
57
58
|
WorkspaceLoginInfo,
|
|
58
59
|
WorkspaceOperation
|
|
59
60
|
} from './types'
|
|
60
|
-
import { getClientTimezone } from './utils'
|
|
61
|
+
import { getClientTimezone, isNetworkError } from './utils'
|
|
61
62
|
|
|
62
63
|
/** @public */
|
|
63
64
|
export interface AccountClient {
|
|
@@ -91,7 +92,9 @@ export interface AccountClient {
|
|
|
91
92
|
) => Promise<string>
|
|
92
93
|
leaveWorkspace: (account: AccountUuid) => Promise<LoginInfo | null>
|
|
93
94
|
changeUsername: (first: string, last: string) => Promise<void>
|
|
95
|
+
checkHasPassword: () => Promise<boolean>
|
|
94
96
|
changePassword: (oldPassword: string, newPassword: string) => Promise<void>
|
|
97
|
+
requestPasswordSetup: () => Promise<void>
|
|
95
98
|
signUpJoin: (
|
|
96
99
|
email: string,
|
|
97
100
|
password: string,
|
|
@@ -124,7 +127,9 @@ export interface AccountClient {
|
|
|
124
127
|
}
|
|
125
128
|
) => Promise<string>
|
|
126
129
|
checkJoin: (inviteId: string) => Promise<WorkspaceLoginInfo>
|
|
130
|
+
joinByToken: (inviteId: string) => Promise<WorkspaceLoginInfo>
|
|
127
131
|
checkAutoJoin: (inviteId: string, firstName?: string, lastName?: string) => Promise<WorkspaceLoginInfo>
|
|
132
|
+
getInviteInfo: (inviteId: string) => Promise<InviteInfo>
|
|
128
133
|
getWorkspaceInfo: (updateLastVisit?: boolean) => Promise<WorkspaceInfoWithStatus>
|
|
129
134
|
getWorkspacesInfo: (workspaces: WorkspaceUuid[]) => Promise<WorkspaceInfoWithStatus[]>
|
|
130
135
|
updateLastVisit: (workspaces: WorkspaceUuid[]) => Promise<void>
|
|
@@ -243,8 +248,20 @@ export interface AccountClient {
|
|
|
243
248
|
getSubscriptionById: (subscriptionId: string) => Promise<Subscription | null>
|
|
244
249
|
upsertSubscription: (subscription: SubscriptionData) => Promise<void>
|
|
245
250
|
|
|
251
|
+
batchAssignWorkspacePermission: (params: { accountIds: AccountUuid[], permission: string }) => Promise<void>
|
|
252
|
+
batchRevokeWorkspacePermission: (params: { accountIds: AccountUuid[], permission: string }) => Promise<void>
|
|
253
|
+
hasWorkspacePermission: (params: { accountId: AccountUuid, permission: string }) => Promise<boolean>
|
|
254
|
+
getWorkspacePermissions: (params: { accountId: AccountUuid, permission: string }) => Promise<WorkspaceUuid[]>
|
|
255
|
+
getWorkspaceUsersWithPermission: (params: { permission: string }) => Promise<AccountUuid[]>
|
|
256
|
+
|
|
257
|
+
verify2fa: (code: string) => Promise<LoginInfo>
|
|
258
|
+
|
|
246
259
|
setCookie: () => Promise<void>
|
|
247
260
|
deleteCookie: () => Promise<void>
|
|
261
|
+
|
|
262
|
+
generate2faSecret: () => Promise<{ secret: string, url: string }>
|
|
263
|
+
enable2fa: (secret: string, code: string) => Promise<void>
|
|
264
|
+
disable2fa: (code: string) => Promise<void>
|
|
248
265
|
}
|
|
249
266
|
|
|
250
267
|
/** @public */
|
|
@@ -501,6 +518,15 @@ class AccountClientImpl implements AccountClient {
|
|
|
501
518
|
await this.rpc(request)
|
|
502
519
|
}
|
|
503
520
|
|
|
521
|
+
async checkHasPassword (): Promise<boolean> {
|
|
522
|
+
const request = {
|
|
523
|
+
method: 'checkHasPassword' as const,
|
|
524
|
+
params: {}
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
return await this.rpc(request)
|
|
528
|
+
}
|
|
529
|
+
|
|
504
530
|
async changePassword (oldPassword: string, newPassword: string): Promise<void> {
|
|
505
531
|
const request = {
|
|
506
532
|
method: 'changePassword' as const,
|
|
@@ -510,6 +536,15 @@ class AccountClientImpl implements AccountClient {
|
|
|
510
536
|
await this.rpc(request)
|
|
511
537
|
}
|
|
512
538
|
|
|
539
|
+
async requestPasswordSetup (): Promise<void> {
|
|
540
|
+
const request = {
|
|
541
|
+
method: 'requestPasswordSetup' as const,
|
|
542
|
+
params: {}
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
await this.rpc(request)
|
|
546
|
+
}
|
|
547
|
+
|
|
513
548
|
async updatePasswordAgingRule (days: number): Promise<void> {
|
|
514
549
|
const request = {
|
|
515
550
|
method: 'updatePasswordAgingRule' as const,
|
|
@@ -571,6 +606,15 @@ class AccountClientImpl implements AccountClient {
|
|
|
571
606
|
return await this.rpc(request)
|
|
572
607
|
}
|
|
573
608
|
|
|
609
|
+
async joinByToken (inviteId: string): Promise<WorkspaceLoginInfo> {
|
|
610
|
+
const request = {
|
|
611
|
+
method: 'joinByToken' as const,
|
|
612
|
+
params: { inviteId }
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
return await this.rpc(request)
|
|
616
|
+
}
|
|
617
|
+
|
|
574
618
|
async checkAutoJoin (inviteId: string, firstName?: string, lastName?: string): Promise<WorkspaceLoginInfo> {
|
|
575
619
|
const request = {
|
|
576
620
|
method: 'checkAutoJoin' as const,
|
|
@@ -580,6 +624,15 @@ class AccountClientImpl implements AccountClient {
|
|
|
580
624
|
return await this.rpc(request)
|
|
581
625
|
}
|
|
582
626
|
|
|
627
|
+
async getInviteInfo (inviteId: string): Promise<InviteInfo> {
|
|
628
|
+
const request = {
|
|
629
|
+
method: 'getInviteInfo' as const,
|
|
630
|
+
params: { inviteId }
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
return await this.rpc(request)
|
|
634
|
+
}
|
|
635
|
+
|
|
583
636
|
async getWorkspacesInfo (ids: WorkspaceUuid[]): Promise<WorkspaceInfoWithStatus[]> {
|
|
584
637
|
const request = {
|
|
585
638
|
method: 'getWorkspacesInfo' as const,
|
|
@@ -1253,6 +1306,77 @@ class AccountClientImpl implements AccountClient {
|
|
|
1253
1306
|
params: subscription
|
|
1254
1307
|
})
|
|
1255
1308
|
}
|
|
1309
|
+
|
|
1310
|
+
async batchAssignWorkspacePermission (params: { accountIds: AccountUuid[], permission: string }): Promise<void> {
|
|
1311
|
+
await this._rpc({
|
|
1312
|
+
method: 'batchAssignWorkspacePermission',
|
|
1313
|
+
params
|
|
1314
|
+
})
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
async batchRevokeWorkspacePermission (params: { accountIds: AccountUuid[], permission: string }): Promise<void> {
|
|
1318
|
+
await this._rpc({
|
|
1319
|
+
method: 'batchRevokeWorkspacePermission',
|
|
1320
|
+
params
|
|
1321
|
+
})
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
async hasWorkspacePermission (params: { accountId: AccountUuid, permission: string }): Promise<boolean> {
|
|
1325
|
+
return await this._rpc({
|
|
1326
|
+
method: 'hasWorkspacePermission',
|
|
1327
|
+
params
|
|
1328
|
+
})
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
async getWorkspacePermissions (params: { accountId: AccountUuid, permission: string }): Promise<WorkspaceUuid[]> {
|
|
1332
|
+
return await this._rpc({
|
|
1333
|
+
method: 'getWorkspacePermissions',
|
|
1334
|
+
params
|
|
1335
|
+
})
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
async getWorkspaceUsersWithPermission (params: { permission: string }): Promise<AccountUuid[]> {
|
|
1339
|
+
return await this._rpc({
|
|
1340
|
+
method: 'getWorkspaceUsersWithPermission',
|
|
1341
|
+
params
|
|
1342
|
+
})
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
async verify2fa (code: string): Promise<LoginInfo> {
|
|
1346
|
+
const request = {
|
|
1347
|
+
method: 'verify2fa' as const,
|
|
1348
|
+
params: { code }
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
return await this.rpc(request)
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
async generate2faSecret (): Promise<{ secret: string, url: string }> {
|
|
1355
|
+
const request = {
|
|
1356
|
+
method: 'generate2faSecret' as const,
|
|
1357
|
+
params: {}
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
return await this.rpc(request)
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
async enable2fa (secret: string, code: string): Promise<void> {
|
|
1364
|
+
const request = {
|
|
1365
|
+
method: 'enable2fa' as const,
|
|
1366
|
+
params: { secret, code }
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
await this.rpc(request)
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
async disable2fa (code: string): Promise<void> {
|
|
1373
|
+
const request = {
|
|
1374
|
+
method: 'disable2fa' as const,
|
|
1375
|
+
params: { code }
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
await this.rpc(request)
|
|
1379
|
+
}
|
|
1256
1380
|
}
|
|
1257
1381
|
|
|
1258
1382
|
function withRetry<T, F extends (...args: any[]) => Promise<T>> (
|
|
@@ -1280,18 +1404,15 @@ function withRetry<T, F extends (...args: any[]) => Promise<T>> (
|
|
|
1280
1404
|
} as F
|
|
1281
1405
|
}
|
|
1282
1406
|
|
|
1283
|
-
const connectionErrorCodes = ['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND']
|
|
1284
|
-
|
|
1285
1407
|
function withRetryUntilTimeout<T, F extends (...args: any[]) => Promise<T>> (f: F, timeoutMs: number = 5000): F {
|
|
1286
1408
|
const timeout = Date.now() + timeoutMs
|
|
1287
|
-
const shouldFail = (err: any): boolean => !
|
|
1409
|
+
const shouldFail = (err: any): boolean => !isNetworkError(err) || timeout < Date.now()
|
|
1288
1410
|
|
|
1289
1411
|
return withRetry(f, shouldFail)
|
|
1290
1412
|
}
|
|
1291
1413
|
|
|
1292
1414
|
function withRetryUntilMaxAttempts<T, F extends (...args: any[]) => Promise<T>> (f: F, maxAttempts: number = 5): F {
|
|
1293
|
-
const shouldFail = (err: any, attempt: number): boolean =>
|
|
1294
|
-
!connectionErrorCodes.includes(err?.cause?.code) || attempt === maxAttempts
|
|
1415
|
+
const shouldFail = (err: any, attempt: number): boolean => !isNetworkError(err) || attempt === maxAttempts
|
|
1295
1416
|
|
|
1296
1417
|
return withRetry(f, shouldFail)
|
|
1297
1418
|
}
|
|
@@ -19,6 +19,8 @@ export interface LoginInfo {
|
|
|
19
19
|
name?: string
|
|
20
20
|
socialId?: PersonId
|
|
21
21
|
token?: string
|
|
22
|
+
tfaRequired?: boolean
|
|
23
|
+
extra?: Record<string, string>
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
export interface EndpointInfo {
|
|
@@ -80,6 +82,11 @@ export interface WorkspaceInviteInfo {
|
|
|
80
82
|
name?: string
|
|
81
83
|
}
|
|
82
84
|
|
|
85
|
+
/** Public invite details from getInviteInfo (no auth required). */
|
|
86
|
+
export interface InviteInfo {
|
|
87
|
+
workspaceName: string | null
|
|
88
|
+
}
|
|
89
|
+
|
|
83
90
|
export interface OtpInfo {
|
|
84
91
|
sent: boolean
|
|
85
92
|
retryOn: Timestamp
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//
|
|
2
|
-
// Copyright ©
|
|
2
|
+
// Copyright © 2026 Hardcore Engineering Inc.
|
|
3
3
|
//
|
|
4
4
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
5
|
// you may not use this file except in compliance with the License. You may
|
|
@@ -31,3 +31,67 @@ export function getClientTimezone (): string | undefined {
|
|
|
31
31
|
return undefined
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
const connectionErrorCodes = ['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND']
|
|
36
|
+
const networkErrorNames = ['NetworkError', 'TypeError', 'FetchError']
|
|
37
|
+
const browserFetchErrorMessages = ['failed to fetch', 'networkerror', 'network request failed']
|
|
38
|
+
const networkMessageKeywords = ['fetch', 'network', 'connection']
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Check if a message contains network-related keywords
|
|
42
|
+
*/
|
|
43
|
+
function hasNetworkMessage (message: string): boolean {
|
|
44
|
+
const lowerMessage = message.toLowerCase()
|
|
45
|
+
return networkMessageKeywords.some((keyword) => lowerMessage.includes(keyword))
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Check if an error is a network/connection error that should be retried
|
|
50
|
+
*/
|
|
51
|
+
export function isNetworkError (err: unknown): boolean {
|
|
52
|
+
if (err == null) {
|
|
53
|
+
return false
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Check Node.js-style connection error codes
|
|
57
|
+
if (typeof err === 'object' && 'cause' in err) {
|
|
58
|
+
const cause = (err as { cause?: unknown }).cause
|
|
59
|
+
if (cause != null && typeof cause === 'object' && 'code' in cause) {
|
|
60
|
+
const code = (cause as { code?: unknown }).code
|
|
61
|
+
if (typeof code === 'string' && connectionErrorCodes.includes(code)) {
|
|
62
|
+
return true
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Get error name and message (handles both Error instances and plain objects)
|
|
68
|
+
let errorName: string | undefined
|
|
69
|
+
let message: string | undefined
|
|
70
|
+
|
|
71
|
+
if (err instanceof TypeError) {
|
|
72
|
+
errorName = 'TypeError'
|
|
73
|
+
message = err.message
|
|
74
|
+
} else if (typeof err === 'object' && 'name' in err && 'message' in err) {
|
|
75
|
+
const name = (err as { name?: unknown }).name
|
|
76
|
+
const msg = (err as { message?: unknown }).message
|
|
77
|
+
if (typeof name === 'string') {
|
|
78
|
+
errorName = name
|
|
79
|
+
}
|
|
80
|
+
if (typeof msg === 'string') {
|
|
81
|
+
message = msg
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Check if error name matches network error types
|
|
86
|
+
if (errorName != null && networkErrorNames.includes(errorName) && message != null) {
|
|
87
|
+
const lowerMessage = message.toLowerCase()
|
|
88
|
+
if (browserFetchErrorMessages.some((pattern) => lowerMessage.includes(pattern))) {
|
|
89
|
+
return true
|
|
90
|
+
}
|
|
91
|
+
if (hasNetworkMessage(message)) {
|
|
92
|
+
return true
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return false
|
|
97
|
+
}
|
|
@@ -75,7 +75,7 @@ const Analytics = {
|
|
|
75
75
|
};
|
|
76
76
|
(0, import_platform.addEventListener)(import_platform.PlatformEvent, async (_event, _status) => {
|
|
77
77
|
if (_status.severity === import_platform.Severity.ERROR) {
|
|
78
|
-
const label = await (0, import_platform.translate)(_status.code, _status.params, "en");
|
|
78
|
+
const label = await (0, import_platform.translate)(_status.code, _status.params, "en", true);
|
|
79
79
|
Analytics.handleError(new Error(label));
|
|
80
80
|
}
|
|
81
81
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright \u00A9 2024 Hardcore Engineering Inc\n//\n\nimport { addEventListener, PlatformEvent, Severity, Status, translate } from '@hcengineering/platform'\n\nexport const providers: AnalyticProvider[] = []\nexport interface AnalyticProvider {\n init: (config: Record<string, any>) => boolean\n setUser: (email: string, data: any) => void\n setAlias: (distinctId: string, alias: string) => void\n setTag: (key: string, value: string) => void\n setWorkspace: (ws: string, guest: boolean) => void\n handleEvent: (event: string, params: Record<string, string>) => void\n handleError: (error: Error) => void\n navigate: (path: string) => void\n logout: () => void\n}\n\nexport const Analytics = {\n data: {},\n\n init (provider: AnalyticProvider, config: Record<string, any>): void {\n const res = provider.init(config)\n if (res) {\n providers.push(provider)\n }\n },\n\n setUser (email: string, data: any): void {\n providers.forEach((provider) => {\n provider.setUser(email, data)\n })\n },\n\n setAlias (distinctId: string, alias: string): void {\n providers.forEach((provider) => {\n provider.setAlias(distinctId, alias)\n })\n },\n\n setTag (key: string, value: string): void {\n providers.forEach((provider) => {\n provider.setTag(key, value)\n })\n },\n\n setWorkspace (ws: string, guest: boolean): void {\n providers.forEach((provider) => {\n provider.setWorkspace(ws, guest)\n })\n },\n\n handleEvent (event: string, params: Record<string, any> = {}): void {\n providers.forEach((provider) => {\n provider.handleEvent(event, { ...this.data, ...params })\n })\n },\n\n handleError (error: Error): void {\n providers.forEach((provider) => {\n provider.handleError(error)\n })\n },\n\n navigate (path: string): void {\n providers.forEach((provider) => {\n provider.navigate(path)\n })\n },\n\n logout (): void {\n providers.forEach((provider) => {\n provider.logout()\n })\n }\n}\n\naddEventListener(PlatformEvent, async (_event, _status: Status) => {\n if (_status.severity === Severity.ERROR) {\n const label = await translate(_status.code, _status.params, 'en')\n Analytics.handleError(new Error(label))\n }\n})\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,sBAA6E;AAEtE,MAAM,YAAgC,CAAC;AAavC,MAAM,YAAY;AAAA,EACvB,MAAM,CAAC;AAAA,EAEP,KAAM,UAA4B,QAAmC;AACnE,UAAM,MAAM,SAAS,KAAK,MAAM;AAChC,QAAI,KAAK;AACP,gBAAU,KAAK,QAAQ;AAAA,IACzB;AAAA,EACF;AAAA,EAEA,QAAS,OAAe,MAAiB;AACvC,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,QAAQ,OAAO,IAAI;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EAEA,SAAU,YAAoB,OAAqB;AACjD,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,SAAS,YAAY,KAAK;AAAA,IACrC,CAAC;AAAA,EACH;AAAA,EAEA,OAAQ,KAAa,OAAqB;AACxC,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,OAAO,KAAK,KAAK;AAAA,IAC5B,CAAC;AAAA,EACH;AAAA,EAEA,aAAc,IAAY,OAAsB;AAC9C,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,aAAa,IAAI,KAAK;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,YAAa,OAAe,SAA8B,CAAC,GAAS;AAClE,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,YAAY,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC;AAAA,IACzD,CAAC;AAAA,EACH;AAAA,EAEA,YAAa,OAAoB;AAC/B,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,YAAY,KAAK;AAAA,IAC5B,CAAC;AAAA,EACH;AAAA,EAEA,SAAU,MAAoB;AAC5B,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,SAAS,IAAI;AAAA,IACxB,CAAC;AAAA,EACH;AAAA,EAEA,SAAgB;AACd,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,OAAO;AAAA,IAClB,CAAC;AAAA,EACH;AACF;AAAA,IAEA,kCAAiB,+BAAe,OAAO,QAAQ,YAAoB;AACjE,MAAI,QAAQ,aAAa,yBAAS,OAAO;
|
|
4
|
+
"sourcesContent": ["//\n// Copyright \u00A9 2024 Hardcore Engineering Inc\n//\n\nimport { addEventListener, PlatformEvent, Severity, Status, translate } from '@hcengineering/platform'\n\nexport const providers: AnalyticProvider[] = []\nexport interface AnalyticProvider {\n init: (config: Record<string, any>) => boolean\n setUser: (email: string, data: any) => void\n setAlias: (distinctId: string, alias: string) => void\n setTag: (key: string, value: string) => void\n setWorkspace: (ws: string, guest: boolean) => void\n handleEvent: (event: string, params: Record<string, string>) => void\n handleError: (error: Error) => void\n navigate: (path: string) => void\n logout: () => void\n}\n\nexport const Analytics = {\n data: {},\n\n init (provider: AnalyticProvider, config: Record<string, any>): void {\n const res = provider.init(config)\n if (res) {\n providers.push(provider)\n }\n },\n\n setUser (email: string, data: any): void {\n providers.forEach((provider) => {\n provider.setUser(email, data)\n })\n },\n\n setAlias (distinctId: string, alias: string): void {\n providers.forEach((provider) => {\n provider.setAlias(distinctId, alias)\n })\n },\n\n setTag (key: string, value: string): void {\n providers.forEach((provider) => {\n provider.setTag(key, value)\n })\n },\n\n setWorkspace (ws: string, guest: boolean): void {\n providers.forEach((provider) => {\n provider.setWorkspace(ws, guest)\n })\n },\n\n handleEvent (event: string, params: Record<string, any> = {}): void {\n providers.forEach((provider) => {\n provider.handleEvent(event, { ...this.data, ...params })\n })\n },\n\n handleError (error: Error): void {\n providers.forEach((provider) => {\n provider.handleError(error)\n })\n },\n\n navigate (path: string): void {\n providers.forEach((provider) => {\n provider.navigate(path)\n })\n },\n\n logout (): void {\n providers.forEach((provider) => {\n provider.logout()\n })\n }\n}\n\naddEventListener(PlatformEvent, async (_event, _status: Status) => {\n if (_status.severity === Severity.ERROR) {\n // Skip error broadcast in translate to avoid infinite loop\n const label = await translate(_status.code, _status.params, 'en', true)\n Analytics.handleError(new Error(label))\n }\n})\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,sBAA6E;AAEtE,MAAM,YAAgC,CAAC;AAavC,MAAM,YAAY;AAAA,EACvB,MAAM,CAAC;AAAA,EAEP,KAAM,UAA4B,QAAmC;AACnE,UAAM,MAAM,SAAS,KAAK,MAAM;AAChC,QAAI,KAAK;AACP,gBAAU,KAAK,QAAQ;AAAA,IACzB;AAAA,EACF;AAAA,EAEA,QAAS,OAAe,MAAiB;AACvC,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,QAAQ,OAAO,IAAI;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EAEA,SAAU,YAAoB,OAAqB;AACjD,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,SAAS,YAAY,KAAK;AAAA,IACrC,CAAC;AAAA,EACH;AAAA,EAEA,OAAQ,KAAa,OAAqB;AACxC,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,OAAO,KAAK,KAAK;AAAA,IAC5B,CAAC;AAAA,EACH;AAAA,EAEA,aAAc,IAAY,OAAsB;AAC9C,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,aAAa,IAAI,KAAK;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,YAAa,OAAe,SAA8B,CAAC,GAAS;AAClE,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,YAAY,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC;AAAA,IACzD,CAAC;AAAA,EACH;AAAA,EAEA,YAAa,OAAoB;AAC/B,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,YAAY,KAAK;AAAA,IAC5B,CAAC;AAAA,EACH;AAAA,EAEA,SAAU,MAAoB;AAC5B,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,SAAS,IAAI;AAAA,IACxB,CAAC;AAAA,EACH;AAAA,EAEA,SAAgB;AACd,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,OAAO;AAAA,IAClB,CAAC;AAAA,EACH;AACF;AAAA,IAEA,kCAAiB,+BAAe,OAAO,QAAQ,YAAoB;AACjE,MAAI,QAAQ,aAAa,yBAAS,OAAO;AAEvC,UAAM,QAAQ,UAAM,2BAAU,QAAQ,MAAM,QAAQ,QAAQ,MAAM,IAAI;AACtE,cAAU,YAAY,IAAI,MAAM,KAAK,CAAC;AAAA,EACxC;AACF,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|