@ai-matrx/office 0.8.25 → 0.8.27

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 (48) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{chunk-TRA2BTPL.js → chunk-CAWDEHVL.js} +20 -6
  3. package/dist/chunk-CAWDEHVL.js.map +1 -0
  4. package/dist/{chunk-ZDZCCOUB.cjs → chunk-IJNET5TT.cjs} +20 -6
  5. package/dist/chunk-IJNET5TT.cjs.map +1 -0
  6. package/dist/{chunk-JMVPAJJA.cjs → chunk-LHTG72LS.cjs} +20 -6
  7. package/dist/chunk-LHTG72LS.cjs.map +1 -0
  8. package/dist/{chunk-WKBWRG7N.js → chunk-RREOARR4.js} +20 -6
  9. package/dist/chunk-RREOARR4.js.map +1 -0
  10. package/dist/collab-sheets-transform.cjs +215 -14
  11. package/dist/collab-sheets-transform.cjs.map +1 -1
  12. package/dist/collab-sheets-transform.d.cts +7 -2
  13. package/dist/collab-sheets-transform.d.ts +7 -2
  14. package/dist/collab-sheets-transform.js +215 -14
  15. package/dist/collab-sheets-transform.js.map +1 -1
  16. package/dist/docs-host.cjs.map +1 -1
  17. package/dist/docs-host.d.cts +8 -0
  18. package/dist/docs-host.d.ts +8 -0
  19. package/dist/docs-host.js.map +1 -1
  20. package/dist/docs-io.cjs +6 -6
  21. package/dist/docs-io.js +1 -1
  22. package/dist/docs.cjs +36 -2
  23. package/dist/docs.cjs.map +1 -1
  24. package/dist/docs.d.cts +25 -3
  25. package/dist/docs.d.ts +25 -3
  26. package/dist/docs.js +35 -1
  27. package/dist/docs.js.map +1 -1
  28. package/dist/sheets-comment-anchors.cjs +44 -3
  29. package/dist/sheets-comment-anchors.cjs.map +1 -1
  30. package/dist/sheets-comment-anchors.js +42 -1
  31. package/dist/sheets-comment-anchors.js.map +1 -1
  32. package/dist/sheets-xlsx.cjs +6 -6
  33. package/dist/sheets-xlsx.js +1 -1
  34. package/dist/sheets.cjs +3 -3
  35. package/dist/sheets.d.cts +9 -1
  36. package/dist/sheets.d.ts +9 -1
  37. package/dist/sheets.js +1 -1
  38. package/dist/univer-collab.cjs +315 -37
  39. package/dist/univer-collab.cjs.map +1 -1
  40. package/dist/univer-collab.d.cts +9 -5
  41. package/dist/univer-collab.d.ts +9 -5
  42. package/dist/univer-collab.js +300 -18
  43. package/dist/univer-collab.js.map +1 -1
  44. package/package.json +2 -2
  45. package/dist/chunk-JMVPAJJA.cjs.map +0 -1
  46. package/dist/chunk-TRA2BTPL.js.map +0 -1
  47. package/dist/chunk-WKBWRG7N.js.map +0 -1
  48. package/dist/chunk-ZDZCCOUB.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/docs/ports.ts"],"sourcesContent":["/**\n * The host ports of the Docs model and io.\n *\n * The package owns the document service, the open-document model and the converters, but two things\n * belong to the app that mounts them: the database client (a package owns no client) and the server\n * request that converts a .docx to .odt / .rtf (the app owns the server URL, auth and error capture).\n * The host states them once at start-up with `configureDocsHost`. State sits on a `globalThis` slot\n * so a dual-bundled copy of the package still sees one host. An unconfigured port THROWS naming\n * itself (nothing fails silently).\n */\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\n\n/** A Supabase client over any schema: the package cannot import the app's generated database types. */\nexport type DocsSupabase = SupabaseClient<any, any, any>;\n\nexport interface DocsHostPorts {\n /** The app's database client (signed in as the person). */\n getSupabase(): DocsSupabase;\n /** An authenticated request to the Matrx server returning the raw `Response` (the open-format converter). */\n requestRaw(path: string, init: { method: \"POST\"; body: FormData }): Promise<Response>;\n}\n\nconst SLOT = Symbol.for(\"ai-matrx.office.docs-host\");\ntype Slot = { ports?: DocsHostPorts };\nconst slot = (): Slot => {\n const g = globalThis as Record<symbol, Slot | undefined>;\n return (g[SLOT] ??= {});\n};\n\nexport function configureDocsHost(ports: DocsHostPorts): void {\n slot().ports = ports;\n}\n\nexport function getDocsHost(): DocsHostPorts {\n const ports = slot().ports;\n if (!ports) throw new Error(\"@ai-matrx/office/docs: configureDocsHost(ports) was not called before the document service ran.\");\n return ports;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA,IAAM,OAAO,uBAAO,IAAI,2BAA2B;AAEnD,IAAM,OAAO,MAAY;AACvB,QAAM,IAAI;AACV,SAAQ,EAAE,IAAI,MAAM,CAAC;AACvB;AAEO,SAAS,kBAAkB,OAA4B;AAC5D,OAAK,EAAE,QAAQ;AACjB;AAEO,SAAS,cAA6B;AAC3C,QAAM,QAAQ,KAAK,EAAE;AACrB,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iGAAiG;AAC7H,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../src/docs/ports.ts"],"sourcesContent":["/**\n * The host ports of the Docs model and io.\n *\n * The package owns the document service, the open-document model and the converters, but two things\n * belong to the app that mounts them: the database client (a package owns no client) and the server\n * request that converts a .docx to .odt / .rtf (the app owns the server URL, auth and error capture).\n * The host states them once at start-up with `configureDocsHost`. State sits on a `globalThis` slot\n * so a dual-bundled copy of the package still sees one host. An unconfigured port THROWS naming\n * itself (nothing fails silently).\n */\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\n\n/** A Supabase client over any schema: the package cannot import the app's generated database types. */\nexport type DocsSupabase = SupabaseClient<any, any, any>;\n\nexport interface DocsHostPorts {\n /** The app's database client (signed in as the person). */\n getSupabase(): DocsSupabase;\n /** An authenticated request to the Matrx server returning the raw `Response` (the open-format converter). */\n requestRaw(path: string, init: { method: \"POST\"; body: FormData }): Promise<Response>;\n /**\n * The record's CURRENT content, including what people are typing in a live co-editing room and have not saved\n * (the app folds the room; the package owns no server). Optional: a host without co-editing leaves it out and\n * a copy takes the newest saved snapshot. It may throw; the copy then fails with its message, never silently.\n */\n readCurrentSnapshot?(documentId: string): Promise<{ snapshot: unknown | null }>;\n}\n\nconst SLOT = Symbol.for(\"ai-matrx.office.docs-host\");\ntype Slot = { ports?: DocsHostPorts };\nconst slot = (): Slot => {\n const g = globalThis as Record<symbol, Slot | undefined>;\n return (g[SLOT] ??= {});\n};\n\nexport function configureDocsHost(ports: DocsHostPorts): void {\n slot().ports = ports;\n}\n\nexport function getDocsHost(): DocsHostPorts {\n const ports = slot().ports;\n if (!ports) throw new Error(\"@ai-matrx/office/docs: configureDocsHost(ports) was not called before the document service ran.\");\n return ports;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BA,IAAM,OAAO,uBAAO,IAAI,2BAA2B;AAEnD,IAAM,OAAO,MAAY;AACvB,QAAM,IAAI;AACV,SAAQ,EAAE,IAAI,MAAM,CAAC;AACvB;AAEO,SAAS,kBAAkB,OAA4B;AAC5D,OAAK,EAAE,QAAQ;AACjB;AAEO,SAAS,cAA6B;AAC3C,QAAM,QAAQ,KAAK,EAAE;AACrB,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iGAAiG;AAC7H,SAAO;AACT;","names":[]}
@@ -21,6 +21,14 @@ interface DocsHostPorts {
21
21
  method: "POST";
22
22
  body: FormData;
23
23
  }): Promise<Response>;
24
+ /**
25
+ * The record's CURRENT content, including what people are typing in a live co-editing room and have not saved
26
+ * (the app folds the room; the package owns no server). Optional: a host without co-editing leaves it out and
27
+ * a copy takes the newest saved snapshot. It may throw; the copy then fails with its message, never silently.
28
+ */
29
+ readCurrentSnapshot?(documentId: string): Promise<{
30
+ snapshot: unknown | null;
31
+ }>;
24
32
  }
25
33
  declare function configureDocsHost(ports: DocsHostPorts): void;
26
34
  declare function getDocsHost(): DocsHostPorts;
@@ -21,6 +21,14 @@ interface DocsHostPorts {
21
21
  method: "POST";
22
22
  body: FormData;
23
23
  }): Promise<Response>;
24
+ /**
25
+ * The record's CURRENT content, including what people are typing in a live co-editing room and have not saved
26
+ * (the app folds the room; the package owns no server). Optional: a host without co-editing leaves it out and
27
+ * a copy takes the newest saved snapshot. It may throw; the copy then fails with its message, never silently.
28
+ */
29
+ readCurrentSnapshot?(documentId: string): Promise<{
30
+ snapshot: unknown | null;
31
+ }>;
24
32
  }
25
33
  declare function configureDocsHost(ports: DocsHostPorts): void;
26
34
  declare function getDocsHost(): DocsHostPorts;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/docs/ports.ts"],"sourcesContent":["/**\n * The host ports of the Docs model and io.\n *\n * The package owns the document service, the open-document model and the converters, but two things\n * belong to the app that mounts them: the database client (a package owns no client) and the server\n * request that converts a .docx to .odt / .rtf (the app owns the server URL, auth and error capture).\n * The host states them once at start-up with `configureDocsHost`. State sits on a `globalThis` slot\n * so a dual-bundled copy of the package still sees one host. An unconfigured port THROWS naming\n * itself (nothing fails silently).\n */\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\n\n/** A Supabase client over any schema: the package cannot import the app's generated database types. */\nexport type DocsSupabase = SupabaseClient<any, any, any>;\n\nexport interface DocsHostPorts {\n /** The app's database client (signed in as the person). */\n getSupabase(): DocsSupabase;\n /** An authenticated request to the Matrx server returning the raw `Response` (the open-format converter). */\n requestRaw(path: string, init: { method: \"POST\"; body: FormData }): Promise<Response>;\n}\n\nconst SLOT = Symbol.for(\"ai-matrx.office.docs-host\");\ntype Slot = { ports?: DocsHostPorts };\nconst slot = (): Slot => {\n const g = globalThis as Record<symbol, Slot | undefined>;\n return (g[SLOT] ??= {});\n};\n\nexport function configureDocsHost(ports: DocsHostPorts): void {\n slot().ports = ports;\n}\n\nexport function getDocsHost(): DocsHostPorts {\n const ports = slot().ports;\n if (!ports) throw new Error(\"@ai-matrx/office/docs: configureDocsHost(ports) was not called before the document service ran.\");\n return ports;\n}\n"],"mappings":";AAsBA,IAAM,OAAO,uBAAO,IAAI,2BAA2B;AAEnD,IAAM,OAAO,MAAY;AACvB,QAAM,IAAI;AACV,SAAQ,EAAE,IAAI,MAAM,CAAC;AACvB;AAEO,SAAS,kBAAkB,OAA4B;AAC5D,OAAK,EAAE,QAAQ;AACjB;AAEO,SAAS,cAA6B;AAC3C,QAAM,QAAQ,KAAK,EAAE;AACrB,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iGAAiG;AAC7H,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../src/docs/ports.ts"],"sourcesContent":["/**\n * The host ports of the Docs model and io.\n *\n * The package owns the document service, the open-document model and the converters, but two things\n * belong to the app that mounts them: the database client (a package owns no client) and the server\n * request that converts a .docx to .odt / .rtf (the app owns the server URL, auth and error capture).\n * The host states them once at start-up with `configureDocsHost`. State sits on a `globalThis` slot\n * so a dual-bundled copy of the package still sees one host. An unconfigured port THROWS naming\n * itself (nothing fails silently).\n */\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\n\n/** A Supabase client over any schema: the package cannot import the app's generated database types. */\nexport type DocsSupabase = SupabaseClient<any, any, any>;\n\nexport interface DocsHostPorts {\n /** The app's database client (signed in as the person). */\n getSupabase(): DocsSupabase;\n /** An authenticated request to the Matrx server returning the raw `Response` (the open-format converter). */\n requestRaw(path: string, init: { method: \"POST\"; body: FormData }): Promise<Response>;\n /**\n * The record's CURRENT content, including what people are typing in a live co-editing room and have not saved\n * (the app folds the room; the package owns no server). Optional: a host without co-editing leaves it out and\n * a copy takes the newest saved snapshot. It may throw; the copy then fails with its message, never silently.\n */\n readCurrentSnapshot?(documentId: string): Promise<{ snapshot: unknown | null }>;\n}\n\nconst SLOT = Symbol.for(\"ai-matrx.office.docs-host\");\ntype Slot = { ports?: DocsHostPorts };\nconst slot = (): Slot => {\n const g = globalThis as Record<symbol, Slot | undefined>;\n return (g[SLOT] ??= {});\n};\n\nexport function configureDocsHost(ports: DocsHostPorts): void {\n slot().ports = ports;\n}\n\nexport function getDocsHost(): DocsHostPorts {\n const ports = slot().ports;\n if (!ports) throw new Error(\"@ai-matrx/office/docs: configureDocsHost(ports) was not called before the document service ran.\");\n return ports;\n}\n"],"mappings":";AA4BA,IAAM,OAAO,uBAAO,IAAI,2BAA2B;AAEnD,IAAM,OAAO,MAAY;AACvB,QAAM,IAAI;AACV,SAAQ,EAAE,IAAI,MAAM,CAAC;AACvB;AAEO,SAAS,kBAAkB,OAA4B;AAC5D,OAAK,EAAE,QAAQ;AACjB;AAEO,SAAS,cAA6B;AAC3C,QAAM,QAAQ,KAAK,EAAE;AACrB,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iGAAiG;AAC7H,SAAO;AACT;","names":[]}
package/dist/docs-io.cjs CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkJMVPAJJAcjs = require('./chunk-JMVPAJJA.cjs');
7
+ var _chunkLHTG72LScjs = require('./chunk-LHTG72LS.cjs');
8
8
 
9
9
 
10
10
 
@@ -419,13 +419,13 @@ async function documentFileToMarkdown(file) {
419
419
  async function importDocumentFile(file, organizationId) {
420
420
  const { markdown, source } = await documentFileToMarkdown(file);
421
421
  const name = file.name.replace(/\.[^.]+$/, "").trim() || _chunkXAIKXHHJcjs.deriveDocumentName.call(void 0, markdown);
422
- const created = await _chunkJMVPAJJAcjs.createDocument.call(void 0, { name, source, organizationId, description: `Imported from ${file.name}` });
422
+ const created = await _chunkLHTG72LScjs.createDocument.call(void 0, { name, source, organizationId, description: `Imported from ${file.name}` });
423
423
  if (!created.success) throw new Error(`Could not create the document: ${created.error}`);
424
424
  const id = created.data.id;
425
- const snapshot = _chunkJMVPAJJAcjs.sanitizeUniverDocSnapshot.call(void 0, _chunkXAIKXHHJcjs.markdownToUniverDoc.call(void 0, markdown, name), id);
426
- const saved = await _chunkJMVPAJJAcjs.saveDocumentSnapshot.call(void 0, { documentId: id, snapshot, origin: "imported", label: `Imported from ${file.name}` });
425
+ const snapshot = _chunkLHTG72LScjs.sanitizeUniverDocSnapshot.call(void 0, _chunkXAIKXHHJcjs.markdownToUniverDoc.call(void 0, markdown, name), id);
426
+ const saved = await _chunkLHTG72LScjs.saveDocumentSnapshot.call(void 0, { documentId: id, snapshot, origin: "imported", label: `Imported from ${file.name}` });
427
427
  if (!saved.success) {
428
- await _chunkJMVPAJJAcjs.deleteDocument.call(void 0, id);
428
+ await _chunkLHTG72LScjs.deleteDocument.call(void 0, id);
429
429
  throw new Error(`Could not save the imported content: ${saved.error}`);
430
430
  }
431
431
  return { id, name };
@@ -467,7 +467,7 @@ async function downloadOpenFormat(markdown, format, title) {
467
467
  const form = new FormData();
468
468
  form.append("file", new Blob([docx]), fileName.endsWith(".docx") ? fileName : `${fileName}.docx`);
469
469
  form.append("target", target);
470
- const res = await _chunkJMVPAJJAcjs.getDocsHost.call(void 0, ).requestRaw("/office/convert-document", { method: "POST", body: form });
470
+ const res = await _chunkLHTG72LScjs.getDocsHost.call(void 0, ).requestRaw("/office/convert-document", { method: "POST", body: form });
471
471
  return new Uint8Array(await res.arrayBuffer());
472
472
  },
473
473
  save: (fileName, bytes, mime) => {
package/dist/docs-io.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  getDocsHost,
5
5
  sanitizeUniverDocSnapshot,
6
6
  saveDocumentSnapshot
7
- } from "./chunk-TRA2BTPL.js";
7
+ } from "./chunk-CAWDEHVL.js";
8
8
  import {
9
9
  deriveDocumentName,
10
10
  markdownToUniverDoc
package/dist/docs.cjs CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- var _chunkJMVPAJJAcjs = require('./chunk-JMVPAJJA.cjs');
19
+ var _chunkLHTG72LScjs = require('./chunk-LHTG72LS.cjs');
20
20
 
21
21
 
22
22
  var _chunkNSU6EVJKcjs = require('./chunk-NSU6EVJK.cjs');
@@ -979,11 +979,17 @@ function commentAnchorPartKey(anchorId) {
979
979
  function anchorIdOfPartAnchor(anchor) {
980
980
  if (!anchor || typeof anchor !== "object") return null;
981
981
  const a = anchor;
982
+ if ((a.__kind === "part_anchor" || a.__kind === "text_anchor") && typeof a.anchor_id === "string" && a.anchor_id.length > 0) return a.anchor_id;
982
983
  if (a.__kind !== "part_anchor" || typeof a.part_key !== "string") return null;
983
984
  if (!a.part_key.startsWith(COMMENT_ANCHOR_PART_PREFIX)) return null;
984
985
  const id = a.part_key.slice(COMMENT_ANCHOR_PART_PREFIX.length);
985
986
  return id.length > 0 ? id : null;
986
987
  }
988
+ function quoteOfCommentAnchor(anchor) {
989
+ if (!anchor || typeof anchor !== "object") return "";
990
+ const a = anchor;
991
+ return typeof a.label === "string" ? a.label : typeof a.exact === "string" ? a.exact : "";
992
+ }
987
993
  function commentPartAnchor(anchorId, quote) {
988
994
  const label = quote.replace(/\s+/g, " ").trim().slice(0, COMMENT_ANCHOR_LABEL_MAX);
989
995
  return { __kind: "part_anchor", part_key: commentAnchorPartKey(anchorId), ...label ? { label } : {} };
@@ -1022,6 +1028,34 @@ function removeCommentAnchorActions(documentDataModel, anchorId) {
1022
1028
  if (!textX) return null;
1023
1029
  return _core.JSONX.getInstance().editOp(textX.serialize(), ["body"]);
1024
1030
  }
1031
+ var RETAIN_KEYS = /* @__PURE__ */ new Set(["t", "len", "body", "coverType"]);
1032
+ var RANGE_KEYS = /* @__PURE__ */ new Set(["rangeId", "rangeType", "startIndex", "endIndex", "properties"]);
1033
+ var isObj = (v) => !!v && typeof v === "object" && !Array.isArray(v);
1034
+ var keysOf = (o) => Object.keys(o).filter((k) => o[k] !== void 0);
1035
+ function isDocsAnchorOnlyOp(op) {
1036
+ if (!Array.isArray(op) || op.length !== 2 || op[0] !== "body") return false;
1037
+ const x = op[1];
1038
+ if (!isObj(x) || x.et !== "text-x" || !Array.isArray(x.e) || x.e.length === 0) return false;
1039
+ if (keysOf(x).some((k) => k !== "et" && k !== "e")) return false;
1040
+ for (const c of x.e) {
1041
+ if (!isObj(c) || c.t !== "r" || typeof c.len !== "number") return false;
1042
+ if (keysOf(c).some((k) => !RETAIN_KEYS.has(k))) return false;
1043
+ if ("coverType" in c && typeof c.coverType !== "number") return false;
1044
+ if ("body" in c) {
1045
+ const b = c.body;
1046
+ if (!isObj(b) || keysOf(b).some((k) => k !== "dataStream" && k !== "customRanges")) return false;
1047
+ if (b.dataStream !== void 0 && b.dataStream !== "") return false;
1048
+ if (!Array.isArray(b.customRanges) || b.customRanges.length === 0) return false;
1049
+ for (const r of b.customRanges) {
1050
+ if (!isObj(r) || r.rangeType !== COMMENT_ANCHOR_RANGE_TYPE) return false;
1051
+ if (keysOf(r).some((k) => !RANGE_KEYS.has(k))) return false;
1052
+ }
1053
+ }
1054
+ }
1055
+ return true;
1056
+ }
1057
+
1058
+
1025
1059
 
1026
1060
 
1027
1061
 
@@ -1075,5 +1109,5 @@ function removeCommentAnchorActions(documentDataModel, anchorId) {
1075
1109
 
1076
1110
 
1077
1111
 
1078
- exports.CARET_HEARTBEAT_MS = CARET_HEARTBEAT_MS; exports.CARET_MAX_RANGES = CARET_MAX_RANGES; exports.CARET_STALE_MS = CARET_STALE_MS; exports.COMMENT_ANCHOR_LABEL_MAX = COMMENT_ANCHOR_LABEL_MAX; exports.COMMENT_ANCHOR_PART_PREFIX = COMMENT_ANCHOR_PART_PREFIX; exports.COMMENT_ANCHOR_RANGE_TYPE = COMMENT_ANCHOR_RANGE_TYPE; exports.DOCUMENT_BODY_MAX_LENGTH = DOCUMENT_BODY_MAX_LENGTH; exports.DOCUMENT_DESCRIPTION_MAX_LENGTH = DOCUMENT_DESCRIPTION_MAX_LENGTH; exports.DOCUMENT_NAME_MAX_LENGTH = DOCUMENT_NAME_MAX_LENGTH; exports.DOCUMENT_SAVE_DELAY_MS = DOCUMENT_SAVE_DELAY_MS; exports.DocumentModel = DocumentModel; exports.EMOJI_GROUPS = EMOJI_GROUPS; exports.MIN_FIT_ZOOM = MIN_FIT_ZOOM; exports.RemoteCaretBook = RemoteCaretBook; exports.SPECIAL_GROUPS = SPECIAL_GROUPS; exports.addCommentAnchorActions = addCommentAnchorActions; exports.anchorIdOfPartAnchor = anchorIdOfPartAnchor; exports.bodyTextOf = bodyTextOf; exports.commentAnchorPartKey = commentAnchorPartKey; exports.commentAnchorsOf = commentAnchorsOf; exports.commentPartAnchor = commentPartAnchor; exports.configureDocsHost = _chunkJMVPAJJAcjs.configureDocsHost; exports.copyDocument = _chunkJMVPAJJAcjs.copyDocument; exports.createDocument = _chunkJMVPAJJAcjs.createDocument; exports.deleteDocument = _chunkJMVPAJJAcjs.deleteDocument; exports.discardFailedDocument = _chunkJMVPAJJAcjs.discardFailedDocument; exports.documentBodyWriteHandler = documentBodyWriteHandler; exports.documentSourceLabel = documentSourceLabel; exports.fitZoomRatio = fitZoomRatio; exports.getDocsHost = _chunkJMVPAJJAcjs.getDocsHost; exports.getDocument = _chunkJMVPAJJAcjs.getDocument; exports.getLatestDocumentSnapshot = _chunkJMVPAJJAcjs.getLatestDocumentSnapshot; exports.listAccessibleDocuments = _chunkJMVPAJJAcjs.listAccessibleDocuments; exports.listDocumentSnapshots = _chunkJMVPAJJAcjs.listDocumentSnapshots; exports.listTrashedDocuments = _chunkJMVPAJJAcjs.listTrashedDocuments; exports.moveDocument = _chunkJMVPAJJAcjs.moveDocument; exports.movePeerRangesThroughBodyEdit = movePeerRangesThroughBodyEdit; exports.moveRangesThroughBodyEdit = moveRangesThroughBodyEdit; exports.newCommentAnchorId = newCommentAnchorId; exports.planBodyEdit = planBodyEdit; exports.publishedCaretFromSelection = publishedCaretFromSelection; exports.removeCommentAnchorActions = removeCommentAnchorActions; exports.renameDocument = _chunkJMVPAJJAcjs.renameDocument; exports.restoreDocument = _chunkJMVPAJJAcjs.restoreDocument; exports.sanitizeUniverDocSnapshot = _chunkJMVPAJJAcjs.sanitizeUniverDocSnapshot; exports.saveDocumentSnapshot = _chunkJMVPAJJAcjs.saveDocumentSnapshot; exports.searchSymbols = searchSymbols; exports.updateDocumentDescription = _chunkJMVPAJJAcjs.updateDocumentDescription; exports.validateDocumentBody = validateDocumentBody; exports.validateDocumentDescription = validateDocumentDescription; exports.validateDocumentName = validateDocumentName; exports.writeBodyText = writeBodyText;
1112
+ exports.CARET_HEARTBEAT_MS = CARET_HEARTBEAT_MS; exports.CARET_MAX_RANGES = CARET_MAX_RANGES; exports.CARET_STALE_MS = CARET_STALE_MS; exports.COMMENT_ANCHOR_LABEL_MAX = COMMENT_ANCHOR_LABEL_MAX; exports.COMMENT_ANCHOR_PART_PREFIX = COMMENT_ANCHOR_PART_PREFIX; exports.COMMENT_ANCHOR_RANGE_TYPE = COMMENT_ANCHOR_RANGE_TYPE; exports.DOCUMENT_BODY_MAX_LENGTH = DOCUMENT_BODY_MAX_LENGTH; exports.DOCUMENT_DESCRIPTION_MAX_LENGTH = DOCUMENT_DESCRIPTION_MAX_LENGTH; exports.DOCUMENT_NAME_MAX_LENGTH = DOCUMENT_NAME_MAX_LENGTH; exports.DOCUMENT_SAVE_DELAY_MS = DOCUMENT_SAVE_DELAY_MS; exports.DocumentModel = DocumentModel; exports.EMOJI_GROUPS = EMOJI_GROUPS; exports.MIN_FIT_ZOOM = MIN_FIT_ZOOM; exports.RemoteCaretBook = RemoteCaretBook; exports.SPECIAL_GROUPS = SPECIAL_GROUPS; exports.addCommentAnchorActions = addCommentAnchorActions; exports.anchorIdOfPartAnchor = anchorIdOfPartAnchor; exports.bodyTextOf = bodyTextOf; exports.commentAnchorPartKey = commentAnchorPartKey; exports.commentAnchorsOf = commentAnchorsOf; exports.commentPartAnchor = commentPartAnchor; exports.configureDocsHost = _chunkLHTG72LScjs.configureDocsHost; exports.copyDocument = _chunkLHTG72LScjs.copyDocument; exports.createDocument = _chunkLHTG72LScjs.createDocument; exports.deleteDocument = _chunkLHTG72LScjs.deleteDocument; exports.discardFailedDocument = _chunkLHTG72LScjs.discardFailedDocument; exports.documentBodyWriteHandler = documentBodyWriteHandler; exports.documentSourceLabel = documentSourceLabel; exports.fitZoomRatio = fitZoomRatio; exports.getDocsHost = _chunkLHTG72LScjs.getDocsHost; exports.getDocument = _chunkLHTG72LScjs.getDocument; exports.getLatestDocumentSnapshot = _chunkLHTG72LScjs.getLatestDocumentSnapshot; exports.isDocsAnchorOnlyOp = isDocsAnchorOnlyOp; exports.listAccessibleDocuments = _chunkLHTG72LScjs.listAccessibleDocuments; exports.listDocumentSnapshots = _chunkLHTG72LScjs.listDocumentSnapshots; exports.listTrashedDocuments = _chunkLHTG72LScjs.listTrashedDocuments; exports.moveDocument = _chunkLHTG72LScjs.moveDocument; exports.movePeerRangesThroughBodyEdit = movePeerRangesThroughBodyEdit; exports.moveRangesThroughBodyEdit = moveRangesThroughBodyEdit; exports.newCommentAnchorId = newCommentAnchorId; exports.planBodyEdit = planBodyEdit; exports.publishedCaretFromSelection = publishedCaretFromSelection; exports.quoteOfCommentAnchor = quoteOfCommentAnchor; exports.removeCommentAnchorActions = removeCommentAnchorActions; exports.renameDocument = _chunkLHTG72LScjs.renameDocument; exports.restoreDocument = _chunkLHTG72LScjs.restoreDocument; exports.sanitizeUniverDocSnapshot = _chunkLHTG72LScjs.sanitizeUniverDocSnapshot; exports.saveDocumentSnapshot = _chunkLHTG72LScjs.saveDocumentSnapshot; exports.searchSymbols = searchSymbols; exports.updateDocumentDescription = _chunkLHTG72LScjs.updateDocumentDescription; exports.validateDocumentBody = validateDocumentBody; exports.validateDocumentDescription = validateDocumentDescription; exports.validateDocumentName = validateDocumentName; exports.writeBodyText = writeBodyText;
1079
1113
  //# sourceMappingURL=docs.cjs.map