@docx-editor.dev/core 2.28.0 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.ts +65 -13
  3. package/dist/automation.js +1 -1
  4. package/dist/binding.cjs +1 -1
  5. package/dist/binding.d.ts +54 -38
  6. package/dist/binding.js +1 -1
  7. package/dist/{index-Bsg7oIKP.d.ts → chrome-print-BM3Js-6X.d.ts} +281 -222
  8. package/dist/{chunk-Z6WBFXJU.js → chunk-2PV5L5NJ.js} +3 -3
  9. package/dist/chunk-4HENIAFG.js +1 -0
  10. package/dist/chunk-5OTS2EJ7.js +7 -0
  11. package/dist/chunk-5P4223J4.cjs +27 -0
  12. package/dist/{chunk-O2AL2HSJ.cjs → chunk-5RRAZMBU.cjs} +1 -1
  13. package/dist/chunk-5SPITS5F.js +18 -0
  14. package/dist/{chunk-VDNNLG6X.js → chunk-7ATNKARV.js} +1 -1
  15. package/dist/{chunk-SRPILEWV.cjs → chunk-BGCUTKWE.cjs} +5 -5
  16. package/dist/chunk-EBCXSH2W.js +3 -0
  17. package/dist/{chunk-K5U2PLDP.cjs → chunk-ERECKTIR.cjs} +1 -1
  18. package/dist/{chunk-QMLCVPCD.cjs → chunk-FLBEJC6X.cjs} +1 -1
  19. package/dist/{chunk-6AWEKBLB.cjs → chunk-HYASLE2G.cjs} +1 -1
  20. package/dist/chunk-JC47NRJC.cjs +3 -0
  21. package/dist/{chunk-ZUHOMK52.cjs → chunk-KJRTNY2Q.cjs} +1 -1
  22. package/dist/chunk-NKPUH3QJ.js +1 -0
  23. package/dist/chunk-PF5NJWS3.js +2 -0
  24. package/dist/chunk-PWTRJSES.cjs +18 -0
  25. package/dist/chunk-QFKGI242.cjs +30 -0
  26. package/dist/{chunk-5CSUYANV.js → chunk-RJCQGJR7.js} +1 -1
  27. package/dist/chunk-RPPV4S6T.cjs +4 -0
  28. package/dist/{chunk-TSLBZ26X.js → chunk-T32MGBJS.js} +1 -1
  29. package/dist/chunk-UM26GH5B.js +30 -0
  30. package/dist/chunk-V3N4SOAK.cjs +1 -0
  31. package/dist/chunk-VRCZBFLH.js +27 -0
  32. package/dist/{chunk-2GO5T2JU.cjs → chunk-WF7JZ755.cjs} +1 -1
  33. package/dist/chunk-WK5X2MMA.cjs +7 -0
  34. package/dist/{chunk-E7BQA6UP.js → chunk-WPDD2Y32.js} +1 -1
  35. package/dist/chunk-YBMWBXST.cjs +2 -0
  36. package/dist/{chunk-ETTO6GK3.js → chunk-YZGUBCHP.js} +1 -1
  37. package/dist/chunk-ZOS2PM4A.js +4 -0
  38. package/dist/collaboration/replication.cjs +1 -1
  39. package/dist/collaboration/replication.d.ts +5 -5
  40. package/dist/collaboration/replication.js +1 -1
  41. package/dist/collaboration.d.ts +4 -4
  42. package/dist/contracts/document.d.ts +3 -3
  43. package/dist/contracts/editor.d.ts +9 -10
  44. package/dist/contracts/interaction.d.ts +2 -2
  45. package/dist/contracts/modules.cjs +1 -1
  46. package/dist/contracts/modules.d.ts +33 -9
  47. package/dist/contracts/modules.js +1 -1
  48. package/dist/contracts/types.d.ts +2 -2
  49. package/dist/{custom-node-writes-cvL5rhcD.d.ts → custom-node-writes-0v0Kgw1T.d.ts} +2 -2
  50. package/dist/diagnostic-context-CcAO4q1s.d.ts +30 -0
  51. package/dist/diagnostic-hints-2Bke6H_w.d.ts +120 -0
  52. package/dist/{document-protection-BAGVGqaP.d.ts → document-protection-8eyMWIJ0.d.ts} +2 -2
  53. package/dist/{editor-Ci7IZGmG.d.ts → editor-DaEJd2so.d.ts} +460 -9
  54. package/dist/{editor-scope-OHPwVQ5l.d.ts → editor-scope-7o9xweiJ.d.ts} +1 -1
  55. package/dist/editor.cjs +1 -1
  56. package/dist/editor.d.ts +55 -33
  57. package/dist/editor.js +1 -1
  58. package/dist/export.cjs +2 -2
  59. package/dist/export.d.ts +17 -15
  60. package/dist/export.js +2 -2
  61. package/dist/{font-resolver-BVQB14qT.d.ts → font-resolver-CL9BVKZo.d.ts} +3 -3
  62. package/dist/font-shaping-policy-BvpkrfxM.d.ts +7 -0
  63. package/dist/{headless-document-view-qH331moE.d.ts → headless-document-view-DZQN8Bnx.d.ts} +2 -2
  64. package/dist/{image-resources-BN-hUgCn.d.ts → image-resources-Bipz8toD.d.ts} +2 -2
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.d.ts +67 -21
  67. package/dist/index.js +1 -1
  68. package/dist/{layout-shaping-BEyuiQOk.d.ts → layout-shaping-cEnVrhWg.d.ts} +3 -2
  69. package/dist/layout.cjs +1 -1
  70. package/dist/layout.d.ts +42 -42
  71. package/dist/layout.js +1 -1
  72. package/dist/{note-properties-4Y9o6Gyk.d.ts → note-properties-9FH8zAeG.d.ts} +3 -3
  73. package/dist/{omml-equation-CuzBL5DD.d.ts → omml-equation-DP2WpUbK.d.ts} +13 -1
  74. package/dist/output.cjs +1 -1
  75. package/dist/output.d.ts +8 -9
  76. package/dist/output.js +1 -1
  77. package/dist/{protocol-Bqk4Izjc.d.ts → protocol-CZ1uUlPO.d.ts} +2 -2
  78. package/dist/{review-paragraph-order-DT-n6ouC.d.ts → review-paragraph-order-CqVelc5A.d.ts} +1 -1
  79. package/dist/{semantic-cell-selection-D9D1KSXq.d.ts → semantic-cell-selection-Dr9yxFZt.d.ts} +4 -211
  80. package/dist/{semantic-interaction-CIC-PooQ.d.ts → semantic-interaction-Dc3pf3hr.d.ts} +1 -1
  81. package/dist/{semantic-paint-BME37OMv.d.ts → semantic-paint-Bz3FBAoH.d.ts} +17 -5
  82. package/dist/{semantic-record-queries-CBlZqZNa.d.ts → semantic-record-queries-Bx0pl6kL.d.ts} +1 -1
  83. package/dist/{semantic-records-4B3WwFAi.d.ts → semantic-records-CjcF26ZL.d.ts} +892 -416
  84. package/dist/store.cjs +1 -1
  85. package/dist/store.d.ts +1463 -1574
  86. package/dist/store.js +1 -1
  87. package/dist/{tree-package-fragment-BeeKxDw8.d.ts → tree-package-store-DKhdEVym.d.ts} +238 -84
  88. package/dist/{tree-session-contract-CVbmlMlq.d.ts → tree-session-contract-CwnTEVLF.d.ts} +8 -6
  89. package/dist/{types-barrel-D3xCgQX6.d.ts → types-barrel-CA0xB8kH.d.ts} +548 -527
  90. package/package.json +3 -3
  91. package/dist/chunk-2RC2EPND.js +0 -3
  92. package/dist/chunk-4GBTELJV.cjs +0 -28
  93. package/dist/chunk-4R3TEXMN.js +0 -18
  94. package/dist/chunk-6APGXLBB.cjs +0 -3
  95. package/dist/chunk-6EYYL7FL.js +0 -1
  96. package/dist/chunk-EO4C5QJW.cjs +0 -2
  97. package/dist/chunk-FIJZIQXA.cjs +0 -18
  98. package/dist/chunk-FRXAOVTB.js +0 -28
  99. package/dist/chunk-J6BVWIDB.js +0 -2
  100. package/dist/chunk-JGNVNT2A.cjs +0 -2
  101. package/dist/chunk-KKIJG3C6.js +0 -2
  102. package/dist/chunk-LWDSDCMO.js +0 -27
  103. package/dist/chunk-NBCVVZOM.cjs +0 -1
  104. package/dist/chunk-O5INAWZQ.js +0 -1
  105. package/dist/chunk-RCHS4ZEH.cjs +0 -27
  106. package/dist/chunk-VHAVHCQY.js +0 -7
  107. package/dist/chunk-VX43VBAX.cjs +0 -7
  108. package/dist/review-pane-D9jm8DcY.d.ts +0 -128
  109. package/dist/revision-projection-DZ4kKVev.d.ts +0 -242
@@ -1 +1 @@
1
- 'use strict';var chunkVX43VBAX_cjs=require('./chunk-VX43VBAX.cjs');require('./chunk-6AWEKBLB.cjs'),require('./chunk-4GBTELJV.cjs'),require('./chunk-ZUHOMK52.cjs'),require('./chunk-O2AL2HSJ.cjs');var chunkJGNVNT2A_cjs=require('./chunk-JGNVNT2A.cjs'),chunk2GO5T2JU_cjs=require('./chunk-2GO5T2JU.cjs'),chunkFIJZIQXA_cjs=require('./chunk-FIJZIQXA.cjs');var j=Object.freeze({document:true,save:true,events:true,selection:false,scrolling:false,layout:false}),D=Object.freeze({kind:"body"});function Y(o,t={}){let m=chunkFIJZIQXA_cjs.Ce(o,t.limits??{});if(!m.ok)return {ok:false,reason:m.reason,...m.limit===void 0?{}:{limit:m.limit},...m.detail?{detail:m.detail}:{}};let p=m.package.parts.get(m.package.mainDocumentPart);if(!p)return {ok:false,reason:"no-main-document-part",detail:m.package.mainDocumentPart};let u=new chunkJGNVNT2A_cjs.T(m.package,chunkJGNVNT2A_cjs.ua(m.package,chunkFIJZIQXA_cjs.Eb(p))),y=t.collaborationModel?.session,c=()=>{},n=K(u,y,()=>c());if(t.pagination){let i,l=-1,e=t.pagination;n.prepare=async f=>{if(!f.operations.some(s=>s.op==="updateFieldResult"))return;i=void 0;let a=u.packageRevision,d=await e(chunkJGNVNT2A_cjs.Ca(u));u.packageRevision===a&&(i=d,l=a);},n.fieldPageContext=(f,a,d)=>{if(u.packageRevision!==l)return null;let s=chunkVX43VBAX_cjs.g(u.currentPackage()).story(f);return s?chunkVX43VBAX_cjs.d(i,s.part,a,d):null};}let r=chunkVX43VBAX_cjs.m({port:n,capabilities:j});return y&&(c=y.attach(chunk2GO5T2JU_cjs.b(u,{documentId:y.documentId}))),{ok:true,host:r}}function G(o,t,m){let p=o.partFor(m);return p?chunkFIJZIQXA_cjs.Na(o,()=>{let u=chunkFIJZIQXA_cjs.Hg(o.currentPackage(),t,p.name);return u?(o.replacePackageShell(u.pkg),u.relationshipId):null},u=>u!==null):null}function K(o,t,m=()=>{}){let p=true,u=0,y=()=>t?(u+=1,{origin:t.identity.role==="agent"?chunkFIJZIQXA_cjs.g.mutationAgent:chunkFIJZIQXA_cjs.g.mutationHuman,actorId:t.identity.actorId,operationId:`${t.identity.actorId}:${t.sessionId}:automation:${u}`,recordsHistory:false}):{},c=n=>(t?.flushPendingJournals(),n);return {localChangeTracking:true,collaborative:()=>!!t,revision:()=>o.packageRevision,currentPackage:()=>p?o.currentPackage():null,apply(n,r=D,i=[]){if(!p)return {ok:false,reason:"disposed"};let l=n(d=>chunkFIJZIQXA_cjs.Hb(t?.identity.actorId,()=>G(o,d,r)));if(l===null)return {ok:false,reason:"unsupported-target"};let e=t?.gateOperations(l,r);if(e)return {ok:false,reason:e};let f=t?o.partFor(r)?.name:void 0,a=o.transact(r,d=>{for(let s of i)d.applyPackage(s);for(let s of l)d.apply(s);f&&d.applyPackage(s=>chunk2GO5T2JU_cjs.a(s,f,l));},y());return a.ok?c({ok:true,changed:a.change!==null}):{ok:false,reason:a.detail?`${a.reason}: ${a.detail}`:a.reason}},applyLifecycle(n){if(!p)return {ok:false,reason:"disposed"};let r=t?.gateOperations([n],D);if(r)return {ok:false,reason:r};let i=chunkFIJZIQXA_cjs.Hb(t?.identity.actorId,()=>o.applyLifecycleOp(n));return i.ok?c({ok:true,changed:i.change!==null}):{ok:false,reason:i.detail?`${i.reason}: ${i.detail}`:i.reason}},applyCommentWrites(n,r){if(!p)return {ok:false,reason:"disposed"};if(n.length===0)return {ok:true,changed:false};let i=t?.gateOperations([],r);if(i)return {ok:false,reason:i};let l=o.resolveStory(r);if(!l.ok)return {ok:false,reason:l.reason};if(l.store.graftPackage(()=>o.currentPackage()),n.every(a=>a.kind==="delete")){let a=n.find(s=>s.kind==="delete"),d=chunkFIJZIQXA_cjs.Hb(t?.identity.actorId,()=>chunkJGNVNT2A_cjs.ea(o,n.flatMap(s=>s.kind==="delete"?[{commentId:s.commentId,...s.parentCommentId===void 0?{}:{parentCommentId:s.parentCommentId}}]:[]),r,a?.kind==="delete"?a.noteId:void 0));return d?c({ok:true,changed:d}):{ok:false,reason:"comment-delete-refused"}}if(n.length!==1)return {ok:false,reason:"mixed-comment-writes"};let e=n[0];if(e.kind==="create"||e.kind==="reply"){let a=chunkFIJZIQXA_cjs.Hb(t?.identity.actorId,()=>chunkJGNVNT2A_cjs.ca(o,{anchor:e.anchor,author:e.author,text:e.text,...e.date===void 0?{}:{date:e.date},...e.kind==="reply"?{replyToCommentId:e.parentCommentId}:{}},r));return a.ok?c({ok:true,changed:true,..."commentId"in a?{commentId:a.commentId}:{}}):{ok:false,reason:a.reason}}if(e.kind!=="resolve")return {ok:false,reason:"unsupported-comment-write"};let f=chunkFIJZIQXA_cjs.Hb(t?.identity.actorId,()=>chunkJGNVNT2A_cjs.da(o,e.commentId,e.resolved));return f.ok?c({ok:true,changed:true}):{ok:false,reason:f.reason}},applyCustomNodeWrite(n,r){if(!p)return {ok:false,reason:"disposed"};let i=t?.gateOperations([],r);if(i)return {ok:false,reason:i};let l=o.resolveStory(r);if(!l.ok)return {ok:false,reason:l.reason};let e=chunkFIJZIQXA_cjs.Hb(t?.identity.actorId,()=>chunkJGNVNT2A_cjs.ma(o,n,r));return e.ok?c({ok:true,changed:e.change!==null}):{ok:false,reason:e.detail?`${e.reason}: ${e.detail}`:e.reason}},save:()=>p?chunkFIJZIQXA_cjs.Ee(o.currentPackage()):null,subscribe:n=>o.subscribe(()=>n()),dispose(){m(),p=false;}}}Object.defineProperty(exports,"AUTOMATION_COMMAND_OPERATIONS",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.i}});Object.defineProperty(exports,"AUTOMATION_QUERY_OPERATIONS",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.h}});Object.defineProperty(exports,"AUTOMATION_SOLITARY_OPERATIONS",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.j}});Object.defineProperty(exports,"HEADER_FOOTER_VARIANTS",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.f}});Object.defineProperty(exports,"createAutomationPaginationProvider",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.e}});Object.defineProperty(exports,"isAutomationCommand",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.l}});Object.defineProperty(exports,"isSolitaryAutomationCommand",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.k}});Object.defineProperty(exports,"paginationSnapshotOf",{enumerable:true,get:function(){return chunkVX43VBAX_cjs.c}});exports.SERVER_AUTOMATION_CAPABILITIES=j;exports.createServerAutomationHost=Y;
1
+ 'use strict';var chunkWK5X2MMA_cjs=require('./chunk-WK5X2MMA.cjs');require('./chunk-HYASLE2G.cjs'),require('./chunk-QFKGI242.cjs'),require('./chunk-KJRTNY2Q.cjs'),require('./chunk-5RRAZMBU.cjs'),require('./chunk-YBMWBXST.cjs'),require('./chunk-WF7JZ755.cjs'),require('./chunk-PWTRJSES.cjs');Object.defineProperty(exports,"AUTOMATION_COMMAND_OPERATIONS",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.e}});Object.defineProperty(exports,"AUTOMATION_QUERY_OPERATIONS",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.d}});Object.defineProperty(exports,"AUTOMATION_SOLITARY_OPERATIONS",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.f}});Object.defineProperty(exports,"HEADER_FOOTER_VARIANTS",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.c}});Object.defineProperty(exports,"SERVER_AUTOMATION_CAPABILITIES",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.n}});Object.defineProperty(exports,"byteSizeBucket",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.u}});Object.defineProperty(exports,"countBucket",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.v}});Object.defineProperty(exports,"createAutomationPaginationProvider",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.l}});Object.defineProperty(exports,"createDiagnosticEmitter",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.w}});Object.defineProperty(exports,"createServerAutomationHost",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.o}});Object.defineProperty(exports,"diagnosticCause",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.y}});Object.defineProperty(exports,"diagnosticCauses",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.x}});Object.defineProperty(exports,"diagnosticCodes",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.q}});Object.defineProperty(exports,"diagnosticErrorName",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.A}});Object.defineProperty(exports,"documentPartKind",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.B}});Object.defineProperty(exports,"exceptionCause",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.z}});Object.defineProperty(exports,"explainDiagnostic",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.p}});Object.defineProperty(exports,"isAutomationCommand",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.h}});Object.defineProperty(exports,"isSolitaryAutomationCommand",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.g}});Object.defineProperty(exports,"openDiagnosticCode",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.r}});Object.defineProperty(exports,"paginationSnapshotOf",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.j}});Object.defineProperty(exports,"reviewDiagnosticCode",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.t}});Object.defineProperty(exports,"storeEditDiagnosticCode",{enumerable:true,get:function(){return chunkWK5X2MMA_cjs.s}});
@@ -11,18 +11,20 @@
11
11
  * @packageDocumentation
12
12
  * @public
13
13
  */
14
- import { A as AutomationOperation, a as AutomationCapabilities, b as AutomationHost } from './protocol-Bqk4Izjc.js';
15
- export { c as AutomationAlignment, d as AutomationBatchRequest, e as AutomationBatchResponse, f as AutomationChangeEvent, g as AutomationContentControlLock, h as AutomationContentControlRangeLocation, i as AutomationContentControlScope, j as AutomationContentControlSubtype, k as AutomationContentControlValue, l as AutomationError, m as AutomationErrorCode, n as AutomationFontRead, o as AutomationFontWrite, p as AutomationHandle, q as AutomationHandleRef, r as AutomationObjectKind, s as AutomationOperationKind, t as AutomationOperationResult, u as AutomationPageOrientation, v as AutomationPageSetupRead, w as AutomationPageSetupWrite, x as AutomationParagraphFormatRead, y as AutomationParagraphFormatWrite, z as AutomationParagraphRef, B as AutomationPoint, C as AutomationReadingOrder, D as AutomationSaveResult, E as AutomationSearchOptions, F as AutomationSelectionMode, G as AutomationSpan, H as AutomationSpanRef, I as AutomationTextProjection, J as AutomationUnsubscribe, K as AutomationValue } from './protocol-Bqk4Izjc.js';
16
- import { c as HeaderFooterVariant, N as NoteKind } from './tree-package-fragment-BeeKxDw8.js';
17
- import { T as TextMeasurer, S as SemanticLayout } from './semantic-records-4B3WwFAi.js';
18
- import { H as HeadlessDocumentView } from './headless-document-view-qH331moE.js';
19
- import { a1 as OoxmlPackageLimits, Y as OoxmlPackageRejection } from './types-barrel-D3xCgQX6.js';
20
- export { a2 as RevisionAuthorEntry, a3 as RevisionAuthorResult, a4 as RevisionAuthorSkipReason, a5 as RevisionBatchEntry, a6 as RevisionBatchResult, a7 as RevisionBatchSkipReason } from './types-barrel-D3xCgQX6.js';
14
+ import { A as AutomationOperation, a as AutomationCapabilities, b as AutomationHost } from './protocol-CZ1uUlPO.js';
15
+ export { c as AutomationAlignment, d as AutomationBatchRequest, e as AutomationBatchResponse, f as AutomationChangeEvent, g as AutomationContentControlLock, h as AutomationContentControlRangeLocation, i as AutomationContentControlScope, j as AutomationContentControlSubtype, k as AutomationContentControlValue, l as AutomationError, m as AutomationErrorCode, n as AutomationFontRead, o as AutomationFontWrite, p as AutomationHandle, q as AutomationHandleRef, r as AutomationObjectKind, s as AutomationOperationKind, t as AutomationOperationResult, u as AutomationPageOrientation, v as AutomationPageSetupRead, w as AutomationPageSetupWrite, x as AutomationParagraphFormatRead, y as AutomationParagraphFormatWrite, z as AutomationParagraphRef, B as AutomationPoint, C as AutomationReadingOrder, D as AutomationSaveResult, E as AutomationSearchOptions, F as AutomationSelectionMode, G as AutomationSpan, H as AutomationSpanRef, I as AutomationTextProjection, J as AutomationUnsubscribe, K as AutomationValue } from './protocol-CZ1uUlPO.js';
16
+ import { c as HeaderFooterVariant, N as NoteKind, C as ContentLockPolicy } from './tree-package-store-DKhdEVym.js';
17
+ import { T as TextMeasurer, S as SemanticLayout } from './semantic-records-CjcF26ZL.js';
18
+ import { H as HeadlessDocumentView } from './headless-document-view-DZQN8Bnx.js';
19
+ import { ao as OoxmlPackageLimits, ak as OoxmlPackageRejection } from './types-barrel-CA0xB8kH.js';
20
+ export { ap as RevisionAuthorEntry, a8 as RevisionAuthorResult, aq as RevisionAuthorSkipReason, ar as RevisionBatchEntry, a9 as RevisionBatchResult, as as RevisionBatchSkipDetail, at as RevisionBatchSkipReason, au as RevisionSiteRefusal } from './types-barrel-CA0xB8kH.js';
21
21
  import { CollaborationModuleContribution } from './collaboration.js';
22
- import './image-resources-BN-hUgCn.js';
23
- import './revision-projection-DZ4kKVev.js';
24
- import './omml-equation-CuzBL5DD.js';
25
- import './editor-scope-OHPwVQ5l.js';
22
+ import { B as ByteSizeBucket, b as CountBucket, f as DocumentOpenDiagnosticCode, j as ReviewDiagnosticCode, E as EditDiagnosticCode } from './diagnostic-hints-2Bke6H_w.js';
23
+ export { C as CollaborationDiagnosticCode, c as CustomNodeDiagnosticCode, d as DiagnosticCode, D as DiagnosticErrorName, e as DiagnosticExplanation, a as DocumentPartKind, g as DocumentSaveDiagnosticCode, F as FailureStage, h as FontDiagnosticCode, i as FormattingChangeKind, H as HistoryDiagnosticCode, P as PerformanceDiagnosticCode, R as ReviewChangeKind, k as ReviewOperation, l as diagnosticCodes, m as explainDiagnostic } from './diagnostic-hints-2Bke6H_w.js';
24
+ export { a as diagnosticCause, d as diagnosticCauses, b as diagnosticErrorName, c as documentPartKind, e as exceptionCause } from './diagnostic-context-CcAO4q1s.js';
25
+ import './image-resources-Bipz8toD.js';
26
+ import './omml-equation-DP2WpUbK.js';
27
+ import './editor-scope-7o9xweiJ.js';
26
28
  import './collaboration/replication.js';
27
29
  import './failure-NS2lsya4.js';
28
30
 
@@ -149,6 +151,11 @@ interface ServerAutomationHostOptions {
149
151
  * not attach a replica.
150
152
  */
151
153
  readonly collaborationModel?: CollaborationModuleContribution;
154
+ /**
155
+ * Opt-in relaxation of `w:lock` for run-property writes (`setFont`): content-locked controls
156
+ * can be restyled but not retyped. Absent, they refuse both.
157
+ */
158
+ readonly contentLockPolicy?: ContentLockPolicy;
152
159
  }
153
160
  /**
154
161
  * Open DOCX bytes into a headless automation host.
@@ -158,5 +165,50 @@ interface ServerAutomationHostOptions {
158
165
  */
159
166
  declare function createServerAutomationHost(bytes: Uint8Array, options?: ServerAutomationHostOptions): ServerAutomationHostResult;
160
167
 
161
- export { AUTOMATION_COMMAND_OPERATIONS, AUTOMATION_QUERY_OPERATIONS, AUTOMATION_SOLITARY_OPERATIONS, AutomationCapabilities, AutomationHost, AutomationOperation, HEADER_FOOTER_VARIANTS, SERVER_AUTOMATION_CAPABILITIES, createAutomationPaginationProvider, createServerAutomationHost, isAutomationCommand, isSolitaryAutomationCommand, paginationSnapshotOf };
162
- export type { AutomationPaginationOptions, AutomationPaginationProvider, AutomationPaginationSnapshot, AutomationStoryId, ServerAutomationHostOptions, ServerAutomationHostRejection, ServerAutomationHostResult };
168
+ /**
169
+ * Anonymous diagnostics, the neutral half: store reasons → public codes, size and count
170
+ * buckets, and one delivery path. The browser editor and the headless automation runtime both
171
+ * build their diagnostics here, so a refusal gets the same public code on either host.
172
+ *
173
+ * Only the RESULT of a lookup leaves the engine. A raw reason can be a sentence, and a package
174
+ * `detail` can name parts of the file, so neither is ever copied into a diagnostic.
175
+ */
176
+
177
+ /**
178
+ * The public code for a refused open. `too-large` is the one reason two layers share: the
179
+ * archive reports it WITH the limit it crossed, a single XML part reports it without one.
180
+ *
181
+ * @public
182
+ */
183
+ declare function openDiagnosticCode(reason: string, limit?: string): DocumentOpenDiagnosticCode;
184
+ /**
185
+ * The public code for a store or host refusal reason, or `null` for a reason this table does
186
+ * not know (a sentence, a binding reason). `unsupported-revision:<kind>` counts as
187
+ * `unsupported-revision`.
188
+ *
189
+ * @public
190
+ */
191
+ declare function storeEditDiagnosticCode(reason: string): EditDiagnosticCode | null;
192
+ /** The public code for a skipped tracked change, or null for a reason with no public code. */
193
+ declare function reviewDiagnosticCode(reason: string): ReviewDiagnosticCode | null;
194
+ /** The power-of-two bucket of a byte size. */
195
+ declare function byteSizeBucket(bytes: number): ByteSizeBucket;
196
+ /** The order-of-magnitude bucket of a count. */
197
+ declare function countBucket(count: number): CountBucket;
198
+ /** A diagnostic without the fields the emitter adds. Distributes over the union. */
199
+ type DiagnosticPayload<T> = T extends unknown ? Omit<T, 'schemaVersion' | 'editorSessionId' | 'time'> : never;
200
+ /** One delivery path for one editor or runtime instance. */
201
+ interface DiagnosticEmitter<E> {
202
+ /** Random for this instance and never stored. */
203
+ readonly editorSessionId: string;
204
+ /** Stamp the payload and hand it to every listener. A listener that throws is ignored. */
205
+ deliver(payload: DiagnosticPayload<E>): void;
206
+ }
207
+ /**
208
+ * A delivery path over `listeners`, read at each delivery so a later listener is heard. Generic
209
+ * over the event union, which the editor contracts own: this lane never names them.
210
+ */
211
+ declare function createDiagnosticEmitter<E>(listeners: () => Iterable<(event: E) => unknown>, now?: () => number): DiagnosticEmitter<E>;
212
+
213
+ export { AUTOMATION_COMMAND_OPERATIONS, AUTOMATION_QUERY_OPERATIONS, AUTOMATION_SOLITARY_OPERATIONS, AutomationCapabilities, AutomationHost, AutomationOperation, ByteSizeBucket, ContentLockPolicy, CountBucket, DocumentOpenDiagnosticCode, EditDiagnosticCode, HEADER_FOOTER_VARIANTS, ReviewDiagnosticCode, SERVER_AUTOMATION_CAPABILITIES, byteSizeBucket, countBucket, createAutomationPaginationProvider, createDiagnosticEmitter, createServerAutomationHost, isAutomationCommand, isSolitaryAutomationCommand, openDiagnosticCode, paginationSnapshotOf, reviewDiagnosticCode, storeEditDiagnosticCode };
214
+ export type { AutomationPaginationOptions, AutomationPaginationProvider, AutomationPaginationSnapshot, AutomationStoryId, DiagnosticEmitter, DiagnosticPayload, ServerAutomationHostOptions, ServerAutomationHostRejection, ServerAutomationHostResult };
@@ -1 +1 @@
1
- import {m,g,d}from'./chunk-VHAVHCQY.js';export{i as AUTOMATION_COMMAND_OPERATIONS,h as AUTOMATION_QUERY_OPERATIONS,j as AUTOMATION_SOLITARY_OPERATIONS,f as HEADER_FOOTER_VARIANTS,e as createAutomationPaginationProvider,l as isAutomationCommand,k as isSolitaryAutomationCommand,c as paginationSnapshotOf}from'./chunk-VHAVHCQY.js';import'./chunk-6EYYL7FL.js';import'./chunk-FRXAOVTB.js';import'./chunk-E7BQA6UP.js';import'./chunk-TSLBZ26X.js';import {T,ua,Ca,ma,ea,ca,da}from'./chunk-J6BVWIDB.js';import {b,a}from'./chunk-ETTO6GK3.js';import {Ce,Eb,Ee,Hb,Na,Hg,g as g$1}from'./chunk-4R3TEXMN.js';var j=Object.freeze({document:true,save:true,events:true,selection:false,scrolling:false,layout:false}),D=Object.freeze({kind:"body"});function Y(o,t={}){let m$1=Ce(o,t.limits??{});if(!m$1.ok)return {ok:false,reason:m$1.reason,...m$1.limit===void 0?{}:{limit:m$1.limit},...m$1.detail?{detail:m$1.detail}:{}};let p=m$1.package.parts.get(m$1.package.mainDocumentPart);if(!p)return {ok:false,reason:"no-main-document-part",detail:m$1.package.mainDocumentPart};let u=new T(m$1.package,ua(m$1.package,Eb(p))),y=t.collaborationModel?.session,c=()=>{},n=K(u,y,()=>c());if(t.pagination){let i,l=-1,e=t.pagination;n.prepare=async f=>{if(!f.operations.some(s=>s.op==="updateFieldResult"))return;i=void 0;let a=u.packageRevision,d=await e(Ca(u));u.packageRevision===a&&(i=d,l=a);},n.fieldPageContext=(f,a,d$1)=>{if(u.packageRevision!==l)return null;let s=g(u.currentPackage()).story(f);return s?d(i,s.part,a,d$1):null};}let r=m({port:n,capabilities:j});return y&&(c=y.attach(b(u,{documentId:y.documentId}))),{ok:true,host:r}}function G(o,t,m){let p=o.partFor(m);return p?Na(o,()=>{let u=Hg(o.currentPackage(),t,p.name);return u?(o.replacePackageShell(u.pkg),u.relationshipId):null},u=>u!==null):null}function K(o,t,m=()=>{}){let p=true,u=0,y=()=>t?(u+=1,{origin:t.identity.role==="agent"?g$1.mutationAgent:g$1.mutationHuman,actorId:t.identity.actorId,operationId:`${t.identity.actorId}:${t.sessionId}:automation:${u}`,recordsHistory:false}):{},c=n=>(t?.flushPendingJournals(),n);return {localChangeTracking:true,collaborative:()=>!!t,revision:()=>o.packageRevision,currentPackage:()=>p?o.currentPackage():null,apply(n,r=D,i=[]){if(!p)return {ok:false,reason:"disposed"};let l=n(d=>Hb(t?.identity.actorId,()=>G(o,d,r)));if(l===null)return {ok:false,reason:"unsupported-target"};let e=t?.gateOperations(l,r);if(e)return {ok:false,reason:e};let f=t?o.partFor(r)?.name:void 0,a$1=o.transact(r,d=>{for(let s of i)d.applyPackage(s);for(let s of l)d.apply(s);f&&d.applyPackage(s=>a(s,f,l));},y());return a$1.ok?c({ok:true,changed:a$1.change!==null}):{ok:false,reason:a$1.detail?`${a$1.reason}: ${a$1.detail}`:a$1.reason}},applyLifecycle(n){if(!p)return {ok:false,reason:"disposed"};let r=t?.gateOperations([n],D);if(r)return {ok:false,reason:r};let i=Hb(t?.identity.actorId,()=>o.applyLifecycleOp(n));return i.ok?c({ok:true,changed:i.change!==null}):{ok:false,reason:i.detail?`${i.reason}: ${i.detail}`:i.reason}},applyCommentWrites(n,r){if(!p)return {ok:false,reason:"disposed"};if(n.length===0)return {ok:true,changed:false};let i=t?.gateOperations([],r);if(i)return {ok:false,reason:i};let l=o.resolveStory(r);if(!l.ok)return {ok:false,reason:l.reason};if(l.store.graftPackage(()=>o.currentPackage()),n.every(a=>a.kind==="delete")){let a=n.find(s=>s.kind==="delete"),d=Hb(t?.identity.actorId,()=>ea(o,n.flatMap(s=>s.kind==="delete"?[{commentId:s.commentId,...s.parentCommentId===void 0?{}:{parentCommentId:s.parentCommentId}}]:[]),r,a?.kind==="delete"?a.noteId:void 0));return d?c({ok:true,changed:d}):{ok:false,reason:"comment-delete-refused"}}if(n.length!==1)return {ok:false,reason:"mixed-comment-writes"};let e=n[0];if(e.kind==="create"||e.kind==="reply"){let a=Hb(t?.identity.actorId,()=>ca(o,{anchor:e.anchor,author:e.author,text:e.text,...e.date===void 0?{}:{date:e.date},...e.kind==="reply"?{replyToCommentId:e.parentCommentId}:{}},r));return a.ok?c({ok:true,changed:true,..."commentId"in a?{commentId:a.commentId}:{}}):{ok:false,reason:a.reason}}if(e.kind!=="resolve")return {ok:false,reason:"unsupported-comment-write"};let f=Hb(t?.identity.actorId,()=>da(o,e.commentId,e.resolved));return f.ok?c({ok:true,changed:true}):{ok:false,reason:f.reason}},applyCustomNodeWrite(n,r){if(!p)return {ok:false,reason:"disposed"};let i=t?.gateOperations([],r);if(i)return {ok:false,reason:i};let l=o.resolveStory(r);if(!l.ok)return {ok:false,reason:l.reason};let e=Hb(t?.identity.actorId,()=>ma(o,n,r));return e.ok?c({ok:true,changed:e.change!==null}):{ok:false,reason:e.detail?`${e.reason}: ${e.detail}`:e.reason}},save:()=>p?Ee(o.currentPackage()):null,subscribe:n=>o.subscribe(()=>n()),dispose(){m(),p=false;}}}export{j as SERVER_AUTOMATION_CAPABILITIES,Y as createServerAutomationHost};
1
+ export{e as AUTOMATION_COMMAND_OPERATIONS,d as AUTOMATION_QUERY_OPERATIONS,f as AUTOMATION_SOLITARY_OPERATIONS,c as HEADER_FOOTER_VARIANTS,n as SERVER_AUTOMATION_CAPABILITIES,u as byteSizeBucket,v as countBucket,l as createAutomationPaginationProvider,w as createDiagnosticEmitter,o as createServerAutomationHost,y as diagnosticCause,x as diagnosticCauses,q as diagnosticCodes,A as diagnosticErrorName,B as documentPartKind,z as exceptionCause,p as explainDiagnostic,h as isAutomationCommand,g as isSolitaryAutomationCommand,r as openDiagnosticCode,j as paginationSnapshotOf,t as reviewDiagnosticCode,s as storeEditDiagnosticCode}from'./chunk-5OTS2EJ7.js';import'./chunk-NKPUH3QJ.js';import'./chunk-UM26GH5B.js';import'./chunk-WPDD2Y32.js';import'./chunk-T32MGBJS.js';import'./chunk-PF5NJWS3.js';import'./chunk-YZGUBCHP.js';import'./chunk-5SPITS5F.js';
package/dist/binding.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkSRPILEWV_cjs=require('./chunk-SRPILEWV.cjs');require('./chunk-QMLCVPCD.cjs'),require('./chunk-ZUHOMK52.cjs'),require('./chunk-O2AL2HSJ.cjs'),require('./chunk-JGNVNT2A.cjs'),require('./chunk-2GO5T2JU.cjs'),require('./chunk-FIJZIQXA.cjs');Object.defineProperty(exports,"PROJECTION_ORIGIN",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.l}});Object.defineProperty(exports,"bodyParagraphs",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.c}});Object.defineProperty(exports,"docToTreeOps",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.f}});Object.defineProperty(exports,"mountTreeSurface",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.m}});Object.defineProperty(exports,"openTreeSession",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.j}});Object.defineProperty(exports,"partHasNode",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.g}});Object.defineProperty(exports,"reconcileDoc",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.h}});Object.defineProperty(exports,"runPropsOf",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.b}});Object.defineProperty(exports,"treeSchema",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.a}});Object.defineProperty(exports,"treeToDoc",{enumerable:true,get:function(){return chunkSRPILEWV_cjs.e}});
1
+ 'use strict';var chunkBGCUTKWE_cjs=require('./chunk-BGCUTKWE.cjs');require('./chunk-FLBEJC6X.cjs'),require('./chunk-KJRTNY2Q.cjs'),require('./chunk-5RRAZMBU.cjs'),require('./chunk-YBMWBXST.cjs'),require('./chunk-WF7JZ755.cjs'),require('./chunk-PWTRJSES.cjs');Object.defineProperty(exports,"PROJECTION_ORIGIN",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.l}});Object.defineProperty(exports,"bodyParagraphs",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.c}});Object.defineProperty(exports,"docToTreeOps",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.f}});Object.defineProperty(exports,"mountTreeSurface",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.m}});Object.defineProperty(exports,"openTreeSession",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.j}});Object.defineProperty(exports,"partHasNode",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.g}});Object.defineProperty(exports,"reconcileDoc",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.h}});Object.defineProperty(exports,"runPropsOf",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.b}});Object.defineProperty(exports,"treeSchema",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.a}});Object.defineProperty(exports,"treeToDoc",{enumerable:true,get:function(){return chunkBGCUTKWE_cjs.e}});
package/dist/binding.d.ts CHANGED
@@ -9,21 +9,28 @@
9
9
  * @public
10
10
  */
11
11
  import { Node, Schema } from 'prosemirror-model';
12
- import { X as OoxmlProperty, Y as OoxmlPackageRejection } from './types-barrel-D3xCgQX6.js';
13
- import { T as TreeDocxSessionView, a as TreeApplyResult } from './tree-session-contract-CVbmlMlq.js';
14
- export { D as DocumentStyleEntry, M as MapResult, b as TreeApplyOptions, c as TreeBindingRejection, d as bodyParagraphs, e as docToTreeOps, p as partHasNode, r as reconcileDoc, t as treeToDoc } from './tree-session-contract-CVbmlMlq.js';
12
+ import { am as OoxmlProperty, an as OoxmlPackageResult, ak as OoxmlPackageRejection } from './types-barrel-CA0xB8kH.js';
13
+ import { T as TreeDocxSessionView, a as TreeApplyResult } from './tree-session-contract-CwnTEVLF.js';
14
+ export { D as DocumentStyleEntry, M as MapResult, b as TreeApplyOptions, c as TreeBindingRejection, d as bodyParagraphs, e as docToTreeOps, p as partHasNode, r as reconcileDoc, t as treeToDoc } from './tree-session-contract-CwnTEVLF.js';
15
+ import { C as ContentLockPolicy } from './tree-package-store-DKhdEVym.js';
16
+ export { S as StoryScope, b as StoryTargetRejection } from './tree-package-store-DKhdEVym.js';
15
17
  import { ReviewModuleContribution } from './contracts/modules.js';
16
- export { S as StoryScope, a as StoryTargetRejection } from './tree-package-fragment-BeeKxDw8.js';
17
18
  import { EditorView } from 'prosemirror-view';
18
- import './editor-scope-OHPwVQ5l.js';
19
- import './image-resources-BN-hUgCn.js';
20
- import './custom-node-writes-cvL5rhcD.js';
21
- import './headless-document-view-qH331moE.js';
19
+ import './editor-scope-7o9xweiJ.js';
20
+ import './image-resources-Bipz8toD.js';
21
+ import './custom-node-writes-0v0Kgw1T.js';
22
+ import './headless-document-view-DZQN8Bnx.js';
22
23
  import './collaboration/replication.js';
23
- import './revision-projection-DZ4kKVev.js';
24
- import './review-pane-D9jm8DcY.js';
25
- import './collaboration.js';
24
+ import './semantic-records-CjcF26ZL.js';
25
+ import './omml-equation-DP2WpUbK.js';
26
+ import './editor-DaEJd2so.js';
27
+ import './contracts/document.js';
28
+ import './contracts/interaction.js';
29
+ import './semantic-interaction-Dc3pf3hr.js';
30
+ import './document-protection-8eyMWIJ0.js';
26
31
  import './failure-NS2lsya4.js';
32
+ import './diagnostic-hints-2Bke6H_w.js';
33
+ import './collaboration.js';
27
34
 
28
35
  /** Attributes carried by a projected paragraph. */
29
36
  interface ParagraphAttrs {
@@ -50,28 +57,22 @@ declare const treeSchema: Schema<'doc' | 'paragraph' | 'text' | 'tab' | 'hardBre
50
57
  /** The accepted run properties carried by a text node, or an empty list. */
51
58
  declare function runPropsOf(node: Node): readonly OoxmlProperty[];
52
59
 
53
- /**
54
- * Binding-only session methods that exchange ProseMirror projections.
55
- *
56
- * Editor surfaces expose {@link TreeDocxSessionView}. Only the binding lane sees this extension.
57
- */
58
- interface TreeDocxSession extends TreeDocxSessionView {
59
- /** Project the current BODY revision into a ProseMirror doc. */
60
- projectDoc(): Node;
61
- /** Re-project incrementally from the last committed change, reusing untouched paragraphs. */
62
- reconcile(previousDoc: Node): Node;
60
+ /** How `openTreeSession` opens a package. */
61
+ interface OpenTreeSessionOptions {
63
62
  /**
64
- * Whether the last commit changed the BLOCK SEQUENCE (a split, join, insert or delete).
65
- *
66
- * A host needs this to decide whether the view must be re-projected at all. After a pure
67
- * text edit, the view already holds what the model holds. Re-projecting wastes work and
68
- * races the next keystroke.
63
+ * The review module's derivation hooks, contributed through the editor's
64
+ * `EditorModule` seam. Absent — the free engine — the session's
65
+ * `reviewItems()` reports the typed empty queue; parse, preservation, and
66
+ * `hasReviewContent` are unaffected.
69
67
  */
70
- lastCommitWasStructural(): boolean;
71
- /** Map an edited BODY doc to tree ops and commit them as one transaction. */
72
- applyPmDoc(doc: Node): TreeApplyResult;
68
+ readonly reviewModel?: ReviewModuleContribution;
69
+ /**
70
+ * Opt-in relaxation of `w:lock` for run formatting: `contentLocked` / `sdtContentLocked`
71
+ * controls can be restyled (bold, color, font …) but not retyped. Absent, they refuse both.
72
+ * See {@link ContentLockPolicy}.
73
+ */
74
+ readonly contentLockPolicy?: ContentLockPolicy;
73
75
  }
74
-
75
76
  /**
76
77
  * Why bytes could not be opened: any bounded-reader rejection, plus the package that parsed but
77
78
  * carried no main document tree.
@@ -86,20 +87,35 @@ type TreeSessionRejection = OoxmlPackageRejection | 'no-main-document-tree';
86
87
  type OpenTreeSessionResult = {
87
88
  readonly ok: true;
88
89
  readonly session: TreeDocxSession;
89
- } | {
90
+ } | Extract<OoxmlPackageResult, {
91
+ readonly ok: false;
92
+ }> | {
90
93
  readonly ok: false;
91
- readonly reason: TreeSessionRejection;
94
+ readonly reason: 'no-main-document-tree';
92
95
  readonly detail?: string;
93
96
  };
94
- interface OpenTreeSessionOptions {
97
+ /**
98
+ * Binding-only session methods that exchange ProseMirror projections.
99
+ *
100
+ * Editor surfaces expose {@link TreeDocxSessionView}. Only the binding lane sees this extension.
101
+ */
102
+ interface TreeDocxSession extends TreeDocxSessionView {
103
+ /** Project the current BODY revision into a ProseMirror doc. */
104
+ projectDoc(): Node;
105
+ /** Re-project incrementally from the last committed change, reusing untouched paragraphs. */
106
+ reconcile(previousDoc: Node): Node;
95
107
  /**
96
- * The review module's derivation hooks, contributed through the editor's
97
- * `EditorModule` seam. Absent — the free engine — the session's
98
- * `reviewItems()` reports the typed empty queue; parse, preservation, and
99
- * `hasReviewContent` are unaffected.
108
+ * Whether the last commit changed the BLOCK SEQUENCE (a split, join, insert or delete).
109
+ *
110
+ * A host needs this to decide whether the view must be re-projected at all. After a pure
111
+ * text edit, the view already holds what the model holds. Re-projecting wastes work and
112
+ * races the next keystroke.
100
113
  */
101
- readonly reviewModel?: ReviewModuleContribution;
114
+ lastCommitWasStructural(): boolean;
115
+ /** Map an edited BODY doc to tree ops and commit them as one transaction. */
116
+ applyPmDoc(doc: Node): TreeApplyResult;
102
117
  }
118
+
103
119
  /**
104
120
  * Open DOCX bytes into a tree-backed session.
105
121
  *
package/dist/binding.js CHANGED
@@ -1 +1 @@
1
- export{l as PROJECTION_ORIGIN,c as bodyParagraphs,f as docToTreeOps,m as mountTreeSurface,j as openTreeSession,g as partHasNode,h as reconcileDoc,b as runPropsOf,a as treeSchema,e as treeToDoc}from'./chunk-Z6WBFXJU.js';import'./chunk-5CSUYANV.js';import'./chunk-E7BQA6UP.js';import'./chunk-TSLBZ26X.js';import'./chunk-J6BVWIDB.js';import'./chunk-ETTO6GK3.js';import'./chunk-4R3TEXMN.js';
1
+ export{l as PROJECTION_ORIGIN,c as bodyParagraphs,f as docToTreeOps,m as mountTreeSurface,j as openTreeSession,g as partHasNode,h as reconcileDoc,b as runPropsOf,a as treeSchema,e as treeToDoc}from'./chunk-2PV5L5NJ.js';import'./chunk-RJCQGJR7.js';import'./chunk-WPDD2Y32.js';import'./chunk-T32MGBJS.js';import'./chunk-PF5NJWS3.js';import'./chunk-YZGUBCHP.js';import'./chunk-5SPITS5F.js';