document-model 1.0.22 → 1.0.24

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 (153) hide show
  1. package/dist/browser/document-model.cjs +1 -1
  2. package/dist/browser/document-model.js +2 -2
  3. package/dist/browser/document.cjs +1 -1
  4. package/dist/browser/document.js +4 -4
  5. package/dist/browser/index.cjs +1 -1
  6. package/dist/browser/index.js +3 -3
  7. package/dist/browser/internal/index-Xpydy6AU.js +22 -0
  8. package/dist/browser/internal/index-e4O5HJBs.js +1 -0
  9. package/dist/browser/internal/{index-k0_xGFJa.js → index-sfNIE5tQ.js} +400 -398
  10. package/dist/browser/internal/index-v3lMuqpK.js +36 -0
  11. package/dist/browser/internal/object-U8CbkcSV.js +6 -0
  12. package/dist/browser/internal/{object-wtPuW7QY.js → object-YlWt1S0J.js} +407 -357
  13. package/dist/browser/src/document/actions/creators.d.ts +3 -2
  14. package/dist/browser/src/document/actions/types.d.ts +1 -1
  15. package/dist/browser/src/document/object.d.ts +58 -2
  16. package/dist/browser/src/document/reducer.d.ts +2 -2
  17. package/dist/browser/src/document/schema/types.d.ts +9 -3
  18. package/dist/browser/src/document/signal.d.ts +7 -1
  19. package/dist/browser/src/document/types.d.ts +12 -1
  20. package/dist/browser/src/document/utils/base.d.ts +15 -2
  21. package/dist/browser/src/document-model/gen/header/object.d.ts +7 -6
  22. package/dist/browser/src/document-model/gen/module/object.d.ts +6 -5
  23. package/dist/browser/src/document-model/gen/operation/object.d.ts +11 -10
  24. package/dist/browser/src/document-model/gen/operation-error/object.d.ts +8 -7
  25. package/dist/browser/src/document-model/gen/operation-example/object.d.ts +5 -4
  26. package/dist/browser/src/document-model/gen/reducer.d.ts +2 -0
  27. package/dist/browser/src/document-model/gen/state/object.d.ts +7 -6
  28. package/dist/browser/src/document-model/gen/versioning/object.d.ts +6 -5
  29. package/dist/browser/src/document-model/index.d.ts +2 -1
  30. package/dist/browser/test/document/skip-operations.test.d.ts +1 -0
  31. package/dist/browser/test/document-model/skip-operations.test.d.ts +1 -0
  32. package/dist/browser/test/helpers.d.ts +5 -2
  33. package/dist/jest.config.d.ts +8 -0
  34. package/dist/node/document-model.cjs +1 -1
  35. package/dist/node/document-model.js +2 -2
  36. package/dist/node/document.cjs +1 -1
  37. package/dist/node/document.js +4 -4
  38. package/dist/node/index.cjs +1 -1
  39. package/dist/node/index.js +3 -3
  40. package/dist/node/internal/index-HgkfWSZk.js +36 -0
  41. package/dist/node/internal/index-PkGY1BML.js +22 -0
  42. package/dist/node/internal/index-aihhQ-ya.js +1 -0
  43. package/dist/node/internal/{index-vqhz-N10.js → index-sNi-u40H.js} +400 -398
  44. package/dist/node/internal/object-Nz1iEXFy.js +1 -0
  45. package/dist/node/internal/{object-yzJ3jRpE.js → object-T2hpMYZ4.js} +317 -267
  46. package/dist/node/src/document/actions/creators.d.ts +3 -2
  47. package/dist/node/src/document/actions/types.d.ts +1 -1
  48. package/dist/node/src/document/object.d.ts +58 -2
  49. package/dist/node/src/document/reducer.d.ts +2 -2
  50. package/dist/node/src/document/schema/types.d.ts +9 -3
  51. package/dist/node/src/document/signal.d.ts +7 -1
  52. package/dist/node/src/document/types.d.ts +12 -1
  53. package/dist/node/src/document/utils/base.d.ts +15 -2
  54. package/dist/node/src/document-model/gen/header/object.d.ts +7 -6
  55. package/dist/node/src/document-model/gen/module/object.d.ts +6 -5
  56. package/dist/node/src/document-model/gen/operation/object.d.ts +11 -10
  57. package/dist/node/src/document-model/gen/operation-error/object.d.ts +8 -7
  58. package/dist/node/src/document-model/gen/operation-example/object.d.ts +5 -4
  59. package/dist/node/src/document-model/gen/reducer.d.ts +2 -0
  60. package/dist/node/src/document-model/gen/state/object.d.ts +7 -6
  61. package/dist/node/src/document-model/gen/versioning/object.d.ts +6 -5
  62. package/dist/node/src/document-model/index.d.ts +2 -1
  63. package/dist/node/test/document/skip-operations.test.d.ts +1 -0
  64. package/dist/node/test/document-model/skip-operations.test.d.ts +1 -0
  65. package/dist/node/test/helpers.d.ts +5 -2
  66. package/dist/src/document/actions/creators.d.ts +47 -0
  67. package/dist/src/document/actions/index.d.ts +10 -0
  68. package/dist/src/document/actions/types.d.ts +8 -0
  69. package/dist/src/document/index.d.ts +6 -0
  70. package/dist/src/document/object.d.ts +447 -0
  71. package/dist/src/document/reducer.d.ts +16 -0
  72. package/dist/src/document/schema/index.d.ts +2 -0
  73. package/dist/src/document/schema/types.d.ts +180 -0
  74. package/dist/src/document/schema/zod.d.ts +113 -0
  75. package/dist/src/document/signal.d.ts +28 -0
  76. package/dist/src/document/types.d.ts +201 -0
  77. package/dist/src/document/utils/base.d.ts +74 -0
  78. package/dist/src/document/utils/browser.d.ts +10 -0
  79. package/dist/src/document/utils/file.d.ts +47 -0
  80. package/dist/src/document/utils/index.d.ts +2 -0
  81. package/dist/src/document/utils/node.d.ts +9 -0
  82. package/dist/src/document-model/custom/reducers/header.d.ts +2 -0
  83. package/dist/src/document-model/custom/reducers/module.d.ts +2 -0
  84. package/dist/src/document-model/custom/reducers/operation-error.d.ts +2 -0
  85. package/dist/src/document-model/custom/reducers/operation-example.d.ts +2 -0
  86. package/dist/src/document-model/custom/reducers/operation.d.ts +2 -0
  87. package/dist/src/document-model/custom/reducers/state.d.ts +2 -0
  88. package/dist/src/document-model/custom/reducers/versioning.d.ts +7 -0
  89. package/dist/src/document-model/custom/utils.d.ts +1 -0
  90. package/dist/src/document-model/gen/actions.d.ts +15 -0
  91. package/dist/src/document-model/gen/creators.d.ts +7 -0
  92. package/dist/src/document-model/gen/document-model.d.ts +2 -0
  93. package/dist/src/document-model/gen/header/actions.d.ts +9 -0
  94. package/dist/src/document-model/gen/header/creators.d.ts +8 -0
  95. package/dist/src/document-model/gen/header/object.d.ts +12 -0
  96. package/dist/src/document-model/gen/header/operations.d.ts +10 -0
  97. package/dist/src/document-model/gen/index.d.ts +5 -0
  98. package/dist/src/document-model/gen/module/actions.d.ts +8 -0
  99. package/dist/src/document-model/gen/module/creators.d.ts +7 -0
  100. package/dist/src/document-model/gen/module/object.d.ts +11 -0
  101. package/dist/src/document-model/gen/module/operations.d.ts +9 -0
  102. package/dist/src/document-model/gen/object.d.ts +28 -0
  103. package/dist/src/document-model/gen/operation/actions.d.ts +13 -0
  104. package/dist/src/document-model/gen/operation/creators.d.ts +12 -0
  105. package/dist/src/document-model/gen/operation/object.d.ts +16 -0
  106. package/dist/src/document-model/gen/operation/operations.d.ts +14 -0
  107. package/dist/src/document-model/gen/operation-error/actions.d.ts +10 -0
  108. package/dist/src/document-model/gen/operation-error/creators.d.ts +9 -0
  109. package/dist/src/document-model/gen/operation-error/object.d.ts +13 -0
  110. package/dist/src/document-model/gen/operation-error/operations.d.ts +11 -0
  111. package/dist/src/document-model/gen/operation-example/actions.d.ts +7 -0
  112. package/dist/src/document-model/gen/operation-example/creators.d.ts +6 -0
  113. package/dist/src/document-model/gen/operation-example/object.d.ts +10 -0
  114. package/dist/src/document-model/gen/operation-example/operations.d.ts +8 -0
  115. package/dist/src/document-model/gen/reducer.d.ts +5 -0
  116. package/dist/src/document-model/gen/schema/index.d.ts +2 -0
  117. package/dist/src/document-model/gen/schema/types.d.ts +453 -0
  118. package/dist/src/document-model/gen/schema/zod.d.ts +453 -0
  119. package/dist/src/document-model/gen/state/actions.d.ts +9 -0
  120. package/dist/src/document-model/gen/state/creators.d.ts +8 -0
  121. package/dist/src/document-model/gen/state/object.d.ts +12 -0
  122. package/dist/src/document-model/gen/state/operations.d.ts +10 -0
  123. package/dist/src/document-model/gen/types.d.ts +8 -0
  124. package/dist/src/document-model/gen/utils.d.ts +6 -0
  125. package/dist/src/document-model/gen/versioning/actions.d.ts +8 -0
  126. package/dist/src/document-model/gen/versioning/creators.d.ts +7 -0
  127. package/dist/src/document-model/gen/versioning/object.d.ts +11 -0
  128. package/dist/src/document-model/gen/versioning/operations.d.ts +9 -0
  129. package/dist/src/document-model/index.d.ts +75 -0
  130. package/dist/src/index.d.ts +25 -0
  131. package/dist/test/document/local.test.d.ts +1 -0
  132. package/dist/test/document/object.test.d.ts +1 -0
  133. package/dist/test/document/prune.test.d.ts +1 -0
  134. package/dist/test/document/redo.test.d.ts +1 -0
  135. package/dist/test/document/reducer.test.d.ts +1 -0
  136. package/dist/test/document/skip-operations.test.d.ts +1 -0
  137. package/dist/test/document/undo.test.d.ts +1 -0
  138. package/dist/test/document/utils.test.d.ts +1 -0
  139. package/dist/test/document-model/object.test.d.ts +1 -0
  140. package/dist/test/document-model/skip-operations.test.d.ts +1 -0
  141. package/dist/test/document-model/zip.test.d.ts +1 -0
  142. package/dist/test/helpers.d.ts +32 -0
  143. package/dist/vite.config.d.ts +2 -0
  144. package/dist/vitest.config.d.ts +2 -0
  145. package/package.json +1 -1
  146. package/dist/browser/internal/index-BGvdUwMj.js +0 -1
  147. package/dist/browser/internal/index-ZaSXpgfR.js +0 -22
  148. package/dist/browser/internal/index-vHDbgY8i.js +0 -34
  149. package/dist/browser/internal/object-fIfH8K9b.js +0 -6
  150. package/dist/node/internal/index-3_D7m254.js +0 -34
  151. package/dist/node/internal/index-ffEJwj4v.js +0 -22
  152. package/dist/node/internal/index-frYzO4l6.js +0 -1
  153. package/dist/node/internal/object-Vf10stKL.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";var vt=Object.defineProperty;var bt=(t,e,i)=>e in t?vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var O=(t,e,i)=>(bt(t,typeof e!="symbol"?e+"":e,i),i);const yt=require("json-stringify-deterministic"),f=require("immer"),o=require("zod"),$=require("jszip"),jt=require("crypto"),E=require("fs"),wt=require("https"),zt=require("path"),B=t=>t!=null,St=o.z.any().refine(t=>B(t)),C=o.z.enum(["LOAD_STATE"]),Z=o.z.enum(["PRUNE"]),H=o.z.enum(["REDO"]),K=o.z.enum(["SET_NAME"]),W=o.z.enum(["UNDO"]);function Ot(){return o.z.object({__typename:o.z.literal("Action").optional(),type:o.z.string()})}function v(){return o.z.literal("global").or(o.z.literal("local"))}function G(){return o.z.union([Q(),X(),Y(),tt(),et()])}function _t(){return o.z.object({__typename:o.z.literal("DocumentFile").optional(),data:o.z.string(),extension:o.z.string().nullable(),fileName:o.z.string().nullable(),mimeType:o.z.string()})}function Q(){return o.z.object({input:o.z.lazy(()=>N()),type:C,scope:v()})}function N(){return o.z.object({operations:o.z.number(),state:o.z.lazy(()=>V())})}function V(){return o.z.object({data:o.z.unknown().nullish(),name:o.z.string()})}function Dt(){return o.z.object({__typename:o.z.literal("Operation").optional(),hash:o.z.string(),index:o.z.number(),timestamp:o.z.string().datetime(),type:o.z.string()})}function X(){return o.z.object({input:o.z.lazy(()=>F()),type:Z,scope:v()})}function F(){return o.z.object({end:o.z.number().nullish(),start:o.z.number().nullish()})}const q=o.z.number;function Y(){return o.z.object({input:q(),type:H,scope:v()})}const M=o.z.string;function tt(){return o.z.object({input:M(),type:K,scope:o.z.literal("global")})}function kt(){return o.z.object({__typename:o.z.literal("SetNameOperation").optional(),hash:o.z.string(),index:o.z.number(),input:o.z.string(),timestamp:o.z.string().datetime(),type:o.z.string()})}const I=o.z.number;function et(){return o.z.object({input:I(),type:W,scope:v()})}const Et=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:Ot,BaseActionSchema:G,DocumentFileSchema:_t,LoadStateActionInputSchema:N,LoadStateActionSchema:Q,LoadStateActionStateInputSchema:V,Load_StateSchema:C,OperationSchema:Dt,OperationScopeSchema:v,PruneActionInputSchema:F,PruneActionSchema:X,PruneSchema:Z,RedoActionInputSchema:q,RedoActionSchema:Y,RedoSchema:H,SetNameActionInputSchema:M,SetNameActionSchema:tt,SetNameOperationSchema:kt,Set_NameSchema:K,UndoActionInputSchema:I,UndoActionSchema:et,UndoSchema:W,definedNonNullAnySchema:St,isDefinedNonNullAny:B},Symbol.toStringTag,{value:"Module"}));function At(t,e){return{...t,name:e}}function Tt(t,e,i){const{scope:a,input:n}=e,s=t.revision[e.scope],p=Math.min(n,s),c=t.operations[a].slice(0,s-p);return{...h(t.initialState,{...t.operations,[a]:c},i),operations:t.operations,revision:{...t.revision,[a]:t.revision[a]-p}}}function Nt(t,e,i){const{scope:a,input:n}=e,s=t.operations[a].length-t.revision[a];if(!s)throw new Error("There is no UNDO operation to REDO");const p=n<s?n:s,c=t.operations[a].slice(0,t.revision[a]+p);return{...h(t.initialState,{...t.operations,[a]:c},i),operations:t.operations,revision:{...t.revision,[a]:t.revision[a]+p}}}function Ft(t,e,i){const{scope:a}=e,n=t.operations[a];let{input:{start:s,end:p}}=e;s=s||0,p=p||n.length;const c=n.slice(s,p),l=n.slice(0,s),m=n.slice(p),u=h(t.initialState,{...t.operations,[a]:l.concat(c)},i),{name:d,state:r}=u,w=l.length,z=l.length?l[l.length-1].timestamp:m.length?m[0].timestamp:new Date().toISOString();return h(t.initialState,{...t.operations,[a]:[...l,{...J({name:d,state:r},c.length),timestamp:z,index:w,hash:L({state:r},"global")},...m.map((k,S)=>({...k,index:w+S+1}))]},i)}function qt(t,e){return{...t,name:e.name,state:e.state??{global:{},local:{}}}}const it="SET_NAME",b="UNDO",y="REDO",j="PRUNE",at="LOAD_STATE";function Mt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function _(){this._types=Object.create(null),this._extensions=Object.create(null);for(let t=0;t<arguments.length;t++)this.define(arguments[t]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}_.prototype.define=function(t,e){for(let i in t){let a=t[i].map(function(n){return n.toLowerCase()});i=i.toLowerCase();for(let n=0;n<a.length;n++){const s=a[n];if(s[0]!=="*"){if(!e&&s in this._types)throw new Error('Attempt to change mapping for "'+s+'" extension from "'+this._types[s]+'" to "'+i+'". Pass `force=true` to allow this, otherwise remove "'+s+'" from the list of extensions for "'+i+'".');this._types[s]=i}}if(e||!this._extensions[i]){const n=a[0];this._extensions[i]=n[0]!=="*"?n:n.substr(1)}}};_.prototype.getType=function(t){t=String(t);let e=t.replace(/^.*[/\\]/,"").toLowerCase(),i=e.replace(/^.*\./,"").toLowerCase(),a=e.length<t.length;return(i.length<e.length-1||!a)&&this._types[i]||null};_.prototype.getExtension=function(t){return t=/^\s*([^;\s]*)/.test(t)&&RegExp.$1,t&&this._extensions[t.toLowerCase()]||null};var It=_,Pt={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};let Rt=It;var Lt=new Rt(Pt);const Ut=Mt(Lt);function Jt(t,e,i){const a=zt.join(t,e);return E.mkdirSync(t,{recursive:!0}),new Promise((n,s)=>{try{E.writeFile(a,i,{},p=>{p?s(p):n(a)})}catch(p){s(p)}})}function nt(t){return E.readFileSync(t)}function $t(t){return new Promise((e,i)=>{wt.get(t,a=>{const n=[],s=a.headers["content-type"];a.on("data",p=>{n.push(p)}),a.on("end",()=>{e({buffer:Buffer.concat(n),mimeType:s})})}).on("error",a=>{i(a)})})}const Bt=async t=>nt(t),D=(t,e="sha1")=>jt.createHash(e).update(t).digest("base64"),P=async t=>{const e=new $,{name:i,revision:a,documentType:n,created:s,lastModified:p}=t,c={name:i,revision:a,documentType:n,created:s,lastModified:p};return e.file("header.json",JSON.stringify(c,null,2)),e.file("state.json",JSON.stringify(t.initialState||{},null,2)),e.file("operations.json",JSON.stringify(t.operations,null,2)),Object.keys(t.attachments).forEach(m=>{const{data:u,...d}=t.attachments[m];e.file(m,u,{base64:!0,createFolders:!0,comment:JSON.stringify(d)})}),e},ot=async(t,e,i,a)=>{const s=await(await P(t)).generateAsync({type:"uint8array",streamFiles:!0}),p=a??t.name,c=`.${i}.zip`;return Jt(e,p.endsWith(c)?p:`${p}${c}`,s)},Ct=async(t,e)=>{const a=await(await P(t)).generateAsync({type:"blob"}),n=await e.createWritable();await n.write(a),await n.close()},A=async(t,e)=>{const i=nt(t);return st(i,e)},st=async(t,e)=>{const i=new $;return await i.loadAsync(t),Zt(i,e)};async function Zt(t,e){const i=t.file("state.json");if(!i)throw new Error("Initial state not found");const a=await i.async("string"),n=JSON.parse(a),s=t.file("header.json");let p;s&&(p=JSON.parse(await s.async("string")));const c=t.file("operations.json");if(!c)throw new Error("Operations history not found");const l=JSON.parse(await c.async("string"));let m=U(n,l,e,void 0,p);return p&&(m={...m,...p}),m}function pt(t){const e=t.replace(/^.*\./,"")||void 0,i=t.replace(/^.*[/\\]/,"")||void 0;return{extension:e,fileName:i}}async function Ht(t){const{buffer:e,mimeType:i="application/octet-stream"}=await $t(t),a=pt(t),n=e.toString("base64");return{data:n,hash:D(n),mimeType:i,...a}}async function Kt(t){const e=await Bt(t),i=Ut.getType(t)||"application/octet-stream",a=pt(t),n=e.toString("base64");return{data:n,hash:D(n),mimeType:i,...a}}function Wt(t,e){const i=t.revision[e.scope];return[b,y,j].includes(e.type)?i:i+1}function Gt(t,e){return{...t,revision:{...t.revision,[e.scope]:Wt(t,e)},lastModified:new Date().toISOString()}}function Qt(t,e,i=0){if([b,y,j].includes(e.type))return t;const{scope:a}=e,n=t.operations[a].slice(0,t.revision[a]);return n.push({...e,index:n.length,timestamp:new Date().toISOString(),hash:"",scope:a,skip:i}),{...t,operations:{...t.operations,[a]:n}}}function Vt(t,e,i=0){let a=Qt(t,e,i);return a=Gt(a,e),a}function Xt(t,e,i){switch(G().parse(e),e.type){case it:return At(t,e.input);case b:return Tt(t,e,i);case y:return Nt(t,e,i);case j:return Ft(t,e,i);case at:return qt(t,e.input.state);default:return t}}function R(t,e,i,a,n={}){const{skip:s=0}=n;let p=t;return T(e)&&(p=Xt(p,e,i)),p=Vt(p,e,s),p=f.produce(p,c=>{const l=i(c.state,e,a);if(l)return f.castDraft({...p,state:l})}),f.produce(p,c=>{if([b,y,j].includes(e.type))return c;const l=e.scope||"global";c.operations[l][c.operations[l].length-1].hash=L(c,l),!T(e)&&e.attachments&&e.attachments.forEach(m=>{const{hash:u,...d}=m;c.attachments[u]={...d}})})}function T(t){return[it,b,y,j,at].includes(t.type)}function x(t,e,i,a,n="global"){if(!t)throw new Error("Empty action type");if(typeof t!="string")throw new Error(`Invalid action type: ${t}`);const s={type:t,input:e,scope:n};i&&(s.attachments=i);try{a==null||a().parse(s.input)}catch(p){throw new Error(`Invalid action input: ${p}`)}return s}function ct(t,e=R){return(i,a,n,s)=>e(i,a,t,n,s)}const lt=(t,e)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...t,state:(e==null?void 0:e(t==null?void 0:t.state))??(t==null?void 0:t.state)??{global:{},local:{}}}),rt=(t,e)=>{const i=lt(t,e);return{...i,initialState:i,operations:{global:[],local:[]}}},L=(t,e="global")=>D(yt(t.state[e])),Yt=(t,e=1e3)=>{const i=Math.random()*e;return D(`${(t??new Date).toISOString()}${i}`)};function g(t){return f.castImmutable(f.freeze(t,!0))}function mt(t){const e=[...t];let i=0,a=e.length>0?e[e.length-1].index:0;const n=[];for(const s of e.reverse()){if(i>0){const c=a-s.index;i-=c}if(i<0)throw new Error("Invalid operation index, missing operations");const p={ignore:i>0,operation:s};s.skip>0&&(i=i+(s.skip+1)),a=s.index,n.push(p)}return n.reverse()}function te(t){return Object.values(t).flatMap(e=>e).sort((e,i)=>new Date(e.timestamp).getTime()-new Date(i.timestamp).getTime())}function ut(t){return Object.values(t).flatMap(e=>e).sort((e,i)=>new Date(e.operation.timestamp).getTime()-new Date(i.operation.timestamp).getTime())}function h(t,e,i,a,n,s=R){const p=ct(i,s);return U(t,e,p,a,n)}function U(t,e,i,a,n){const s=rt(t),p=Object.keys(e).reduce((u,d)=>{const r=d;return{...u,[r]:e[r].slice(0,n==null?void 0:n.revision[r])}},{}),c=Object.keys(p).reduce((u,d)=>{const r=d;return{...u,[r]:mt(p[r])}},{}),l=ut(c).reduce((u,{ignore:d,operation:r})=>d?i(u,ht(r.scope),a,{skip:r.skip}):i(u,r,a),s),m=Object.keys(l.operations).reduce((u,d)=>{const r=d,w=n&&n.revision[r]<e[r].length?e[r].slice(n.revision[r]):[];return{...u,[r]:[...l.operations[r].map((z,k)=>{var S;return{...z,timestamp:((S=e[r][k])==null?void 0:S.timestamp)??z.timestamp}}),...w]}},{global:[],local:[]});return{...l,operations:m}}const dt=t=>x("SET_NAME",t,void 0,M,void 0),xt=(t=1,e="global")=>x("UNDO",t,void 0,I,e),gt=(t=1,e="global")=>x("REDO",t,void 0,q,e),ft=(t,e,i="global")=>x("PRUNE",{start:t,end:e},void 0,F,i),J=(t,e)=>x("LOAD_STATE",{state:t,operations:e},void 0,N),ht=(t="global")=>x("NOOP",{},void 0,void 0,t),ee=Object.freeze(Object.defineProperty({__proto__:null,loadState:J,noop:ht,prune:ft,redo:gt,setName:dt,undo:xt},Symbol.toStringTag,{value:"Module"}));class ie{constructor(e,i,a){O(this,"_document");O(this,"_reducer");O(this,"_signalDispatch");this._reducer=e,this._document=i,this._signalDispatch=a}dispatch(e,i){return this._document=this._reducer(this._document,e,this._signalDispatch,i),this}saveToFile(e,i,a){return ot(this._document,e,i,a)}async loadFromFile(e){this._document=await A(e,this._reducer)}static async stateFromFile(e,i){return await A(e,i)}get state(){return g(this._document.state)}get operations(){return g(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(e){return this._document.revision[e]}get initialState(){return g(this._document.initialState)}toDocument(){return g(this._document)}getAttachment(e){return this._document.attachments[e]}setName(e){return this.dispatch(dt(e)),this}undo(e){return this.dispatch(xt(e)),this}redo(e){return this.dispatch(gt(e)),this}prune(e,i){return this.dispatch(ft(e,i)),this}loadState(e,i){return this.dispatch(J(e,i)),this}}function ae(t,e){e.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(a=>{Object.defineProperty(t.prototype,a,Object.getOwnPropertyDescriptor(i.prototype,a)||Object.create(null))})})}exports.BaseActions=ee;exports.BaseDocument=ie;exports.applyMixins=ae;exports.baseReducer=R;exports.createAction=x;exports.createDocument=rt;exports.createExtendedState=lt;exports.createReducer=ct;exports.createZip=P;exports.getLocalFile=Kt;exports.getRemoteFile=Ht;exports.hashDocument=L;exports.hashKey=Yt;exports.isBaseAction=T;exports.loadFromFile=A;exports.loadFromInput=st;exports.mapSkippedOperations=mt;exports.readOnly=g;exports.replayDocument=U;exports.replayOperations=h;exports.saveToFile=ot;exports.saveToFileHandle=Ct;exports.sortMappedOperations=ut;exports.sortOperations=te;exports.zod=Et;