document-model 1.1.0-experimental.4 → 1.2.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 (102) hide show
  1. package/dist/browser/cjs/document-model.js +1 -1
  2. package/dist/browser/cjs/document.js +1 -1
  3. package/dist/browser/cjs/index.js +1 -1
  4. package/dist/browser/cjs/internal/{index-BTG_-qY6.js → index-DGWOisRG.js} +1 -1
  5. package/dist/{node/cjs/internal/index-B31DqWHj.js → browser/cjs/internal/index-Dl3D9TzG.js} +1 -1
  6. package/dist/browser/cjs/internal/object-DQmy6ar9.js +25 -0
  7. package/dist/browser/es/document-model.js +2 -2
  8. package/dist/browser/es/document.js +2 -2
  9. package/dist/browser/es/index.js +3 -3
  10. package/dist/browser/es/internal/{index-2Qq00NLA.js → index-BnpyOR6R.js} +1 -1
  11. package/dist/browser/es/internal/{index-BD2hB9El.js → index-DynAX_OS.js} +1 -1
  12. package/dist/browser/es/internal/{object-BW-G4r5m.js → object-DenwvByi.js} +1106 -1066
  13. package/dist/browser/src/document/object.d.ts +35 -0
  14. package/dist/browser/src/document/types.d.ts +2 -0
  15. package/dist/browser/src/document/utils/document-helpers.d.ts +9 -0
  16. package/dist/node/cjs/document-model.js +1 -1
  17. package/dist/node/cjs/document.js +1 -1
  18. package/dist/node/cjs/index.js +1 -1
  19. package/dist/{browser/cjs/internal/index-BLpgsifL.js → node/cjs/internal/index-B96klT84.js} +1 -1
  20. package/dist/node/cjs/internal/{index-BBm_wnUa.js → index-CtqbrEO2.js} +1 -1
  21. package/dist/node/cjs/internal/object-CXx7IaXb.js +20 -0
  22. package/dist/node/es/document-model.js +2 -2
  23. package/dist/node/es/document.js +2 -2
  24. package/dist/node/es/index.js +3 -3
  25. package/dist/node/es/internal/{index-C7I4OGkU.js → index-DEAJDDrx.js} +1 -1
  26. package/dist/node/es/internal/{index-BPCSW4M1.js → index-pNw-lk-q.js} +1 -1
  27. package/dist/node/es/internal/{object-C-_SkpQ0.js → object-2jyfnUeK.js} +763 -723
  28. package/dist/node/src/document/object.d.ts +35 -0
  29. package/dist/node/src/document/types.d.ts +2 -0
  30. package/dist/node/src/document/utils/document-helpers.d.ts +9 -0
  31. package/package.json +3 -1
  32. package/CHANGELOG.md +0 -33
  33. package/dist/browser/cjs/internal/object-BHB7lY3H.js +0 -25
  34. package/dist/node/cjs/internal/object-CxVzP-Xe.js +0 -20
  35. package/dist/src/document/actions/creators.d.ts +0 -47
  36. package/dist/src/document/actions/index.d.ts +0 -14
  37. package/dist/src/document/actions/types.d.ts +0 -15
  38. package/dist/src/document/index.d.ts +0 -6
  39. package/dist/src/document/object.d.ts +0 -1210
  40. package/dist/src/document/reducer.d.ts +0 -60
  41. package/dist/src/document/schema/index.d.ts +0 -2
  42. package/dist/src/document/schema/types.d.ts +0 -176
  43. package/dist/src/document/schema/zod.d.ts +0 -113
  44. package/dist/src/document/signal.d.ts +0 -29
  45. package/dist/src/document/types.d.ts +0 -255
  46. package/dist/src/document/utils/base.d.ts +0 -86
  47. package/dist/src/document/utils/document-helpers.d.ts +0 -53
  48. package/dist/src/document/utils/file.d.ts +0 -48
  49. package/dist/src/document/utils/index.d.ts +0 -5
  50. package/dist/src/document/utils/node.d.ts +0 -9
  51. package/dist/src/document/utils/validation.d.ts +0 -2
  52. package/dist/src/document-model/custom/reducers/header.d.ts +0 -2
  53. package/dist/src/document-model/custom/reducers/module.d.ts +0 -2
  54. package/dist/src/document-model/custom/reducers/operation-error.d.ts +0 -2
  55. package/dist/src/document-model/custom/reducers/operation-example.d.ts +0 -2
  56. package/dist/src/document-model/custom/reducers/operation.d.ts +0 -2
  57. package/dist/src/document-model/custom/reducers/state.d.ts +0 -2
  58. package/dist/src/document-model/custom/reducers/versioning.d.ts +0 -7
  59. package/dist/src/document-model/custom/utils.d.ts +0 -7
  60. package/dist/src/document-model/gen/actions.d.ts +0 -15
  61. package/dist/src/document-model/gen/creators.d.ts +0 -7
  62. package/dist/src/document-model/gen/document-model.d.ts +0 -2
  63. package/dist/src/document-model/gen/header/actions.d.ts +0 -9
  64. package/dist/src/document-model/gen/header/creators.d.ts +0 -8
  65. package/dist/src/document-model/gen/header/object.d.ts +0 -12
  66. package/dist/src/document-model/gen/header/operations.d.ts +0 -10
  67. package/dist/src/document-model/gen/index.d.ts +0 -5
  68. package/dist/src/document-model/gen/module/actions.d.ts +0 -8
  69. package/dist/src/document-model/gen/module/creators.d.ts +0 -7
  70. package/dist/src/document-model/gen/module/object.d.ts +0 -11
  71. package/dist/src/document-model/gen/module/operations.d.ts +0 -9
  72. package/dist/src/document-model/gen/object.d.ts +0 -28
  73. package/dist/src/document-model/gen/operation/actions.d.ts +0 -13
  74. package/dist/src/document-model/gen/operation/creators.d.ts +0 -12
  75. package/dist/src/document-model/gen/operation/object.d.ts +0 -16
  76. package/dist/src/document-model/gen/operation/operations.d.ts +0 -14
  77. package/dist/src/document-model/gen/operation-error/actions.d.ts +0 -10
  78. package/dist/src/document-model/gen/operation-error/creators.d.ts +0 -9
  79. package/dist/src/document-model/gen/operation-error/object.d.ts +0 -13
  80. package/dist/src/document-model/gen/operation-error/operations.d.ts +0 -11
  81. package/dist/src/document-model/gen/operation-example/actions.d.ts +0 -7
  82. package/dist/src/document-model/gen/operation-example/creators.d.ts +0 -6
  83. package/dist/src/document-model/gen/operation-example/object.d.ts +0 -10
  84. package/dist/src/document-model/gen/operation-example/operations.d.ts +0 -8
  85. package/dist/src/document-model/gen/reducer.d.ts +0 -5
  86. package/dist/src/document-model/gen/schema/index.d.ts +0 -2
  87. package/dist/src/document-model/gen/schema/types.d.ts +0 -453
  88. package/dist/src/document-model/gen/schema/zod.d.ts +0 -453
  89. package/dist/src/document-model/gen/state/actions.d.ts +0 -9
  90. package/dist/src/document-model/gen/state/creators.d.ts +0 -8
  91. package/dist/src/document-model/gen/state/object.d.ts +0 -12
  92. package/dist/src/document-model/gen/state/operations.d.ts +0 -10
  93. package/dist/src/document-model/gen/types.d.ts +0 -8
  94. package/dist/src/document-model/gen/utils.d.ts +0 -6
  95. package/dist/src/document-model/gen/versioning/actions.d.ts +0 -8
  96. package/dist/src/document-model/gen/versioning/creators.d.ts +0 -7
  97. package/dist/src/document-model/gen/versioning/object.d.ts +0 -11
  98. package/dist/src/document-model/gen/versioning/operations.d.ts +0 -9
  99. package/dist/src/document-model/index.d.ts +0 -80
  100. package/dist/src/index.d.ts +0 -25
  101. package/dist/vite.config.d.ts +0 -2
  102. package/dist/vitest.config.d.ts +0 -2
@@ -90,6 +90,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
90
90
  readonly skip: number;
91
91
  readonly error?: string | undefined;
92
92
  readonly resultingState?: unknown;
93
+ readonly id?: string | undefined;
93
94
  } | {
94
95
  readonly type: "PRUNE";
95
96
  readonly input: {
@@ -124,6 +125,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
124
125
  readonly skip: number;
125
126
  readonly error?: string | undefined;
126
127
  readonly resultingState?: unknown;
128
+ readonly id?: string | undefined;
127
129
  } | {
128
130
  readonly type: "REDO";
129
131
  readonly input: number;
@@ -155,6 +157,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
155
157
  readonly skip: number;
156
158
  readonly error?: string | undefined;
157
159
  readonly resultingState?: unknown;
160
+ readonly id?: string | undefined;
158
161
  } | {
159
162
  readonly type: "SET_NAME";
160
163
  readonly input: string;
@@ -186,6 +189,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
186
189
  readonly skip: number;
187
190
  readonly error?: string | undefined;
188
191
  readonly resultingState?: unknown;
192
+ readonly id?: string | undefined;
189
193
  } | {
190
194
  readonly type: "UNDO";
191
195
  readonly input: number;
@@ -217,6 +221,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
217
221
  readonly skip: number;
218
222
  readonly error?: string | undefined;
219
223
  readonly resultingState?: unknown;
224
+ readonly id?: string | undefined;
220
225
  } | {
221
226
  readonly type: "NOOP";
222
227
  readonly input: unknown;
@@ -248,6 +253,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
248
253
  readonly skip: number;
249
254
  readonly error?: string | undefined;
250
255
  readonly resultingState?: unknown;
256
+ readonly id?: string | undefined;
251
257
  } | import("immer").Immutable<A & {
252
258
  index: number;
253
259
  timestamp: string;
@@ -255,6 +261,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
255
261
  skip: number;
256
262
  error?: string | undefined;
257
263
  resultingState?: unknown;
264
+ id?: string | undefined;
258
265
  }>)[];
259
266
  readonly local: readonly ({
260
267
  readonly type: "LOAD_STATE";
@@ -293,6 +300,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
293
300
  readonly skip: number;
294
301
  readonly error?: string | undefined;
295
302
  readonly resultingState?: unknown;
303
+ readonly id?: string | undefined;
296
304
  } | {
297
305
  readonly type: "PRUNE";
298
306
  readonly input: {
@@ -327,6 +335,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
327
335
  readonly skip: number;
328
336
  readonly error?: string | undefined;
329
337
  readonly resultingState?: unknown;
338
+ readonly id?: string | undefined;
330
339
  } | {
331
340
  readonly type: "REDO";
332
341
  readonly input: number;
@@ -358,6 +367,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
358
367
  readonly skip: number;
359
368
  readonly error?: string | undefined;
360
369
  readonly resultingState?: unknown;
370
+ readonly id?: string | undefined;
361
371
  } | {
362
372
  readonly type: "SET_NAME";
363
373
  readonly input: string;
@@ -389,6 +399,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
389
399
  readonly skip: number;
390
400
  readonly error?: string | undefined;
391
401
  readonly resultingState?: unknown;
402
+ readonly id?: string | undefined;
392
403
  } | {
393
404
  readonly type: "UNDO";
394
405
  readonly input: number;
@@ -420,6 +431,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
420
431
  readonly skip: number;
421
432
  readonly error?: string | undefined;
422
433
  readonly resultingState?: unknown;
434
+ readonly id?: string | undefined;
423
435
  } | {
424
436
  readonly type: "NOOP";
425
437
  readonly input: unknown;
@@ -451,6 +463,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
451
463
  readonly skip: number;
452
464
  readonly error?: string | undefined;
453
465
  readonly resultingState?: unknown;
466
+ readonly id?: string | undefined;
454
467
  } | import("immer").Immutable<A & {
455
468
  index: number;
456
469
  timestamp: string;
@@ -458,6 +471,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
458
471
  skip: number;
459
472
  error?: string | undefined;
460
473
  resultingState?: unknown;
474
+ id?: string | undefined;
461
475
  }>)[];
462
476
  };
463
477
  /**
@@ -568,6 +582,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
568
582
  readonly skip: number;
569
583
  readonly error?: string | undefined;
570
584
  readonly resultingState?: unknown;
585
+ readonly id?: string | undefined;
571
586
  } | {
572
587
  readonly type: "PRUNE";
573
588
  readonly input: {
@@ -602,6 +617,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
602
617
  readonly skip: number;
603
618
  readonly error?: string | undefined;
604
619
  readonly resultingState?: unknown;
620
+ readonly id?: string | undefined;
605
621
  } | {
606
622
  readonly type: "REDO";
607
623
  readonly input: number;
@@ -633,6 +649,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
633
649
  readonly skip: number;
634
650
  readonly error?: string | undefined;
635
651
  readonly resultingState?: unknown;
652
+ readonly id?: string | undefined;
636
653
  } | {
637
654
  readonly type: "SET_NAME";
638
655
  readonly input: string;
@@ -664,6 +681,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
664
681
  readonly skip: number;
665
682
  readonly error?: string | undefined;
666
683
  readonly resultingState?: unknown;
684
+ readonly id?: string | undefined;
667
685
  } | {
668
686
  readonly type: "UNDO";
669
687
  readonly input: number;
@@ -695,6 +713,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
695
713
  readonly skip: number;
696
714
  readonly error?: string | undefined;
697
715
  readonly resultingState?: unknown;
716
+ readonly id?: string | undefined;
698
717
  } | {
699
718
  readonly type: "NOOP";
700
719
  readonly input: unknown;
@@ -726,6 +745,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
726
745
  readonly skip: number;
727
746
  readonly error?: string | undefined;
728
747
  readonly resultingState?: unknown;
748
+ readonly id?: string | undefined;
729
749
  } | import("immer").Immutable<A & {
730
750
  index: number;
731
751
  timestamp: string;
@@ -733,6 +753,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
733
753
  skip: number;
734
754
  error?: string | undefined;
735
755
  resultingState?: unknown;
756
+ id?: string | undefined;
736
757
  }>)[];
737
758
  readonly local: readonly ({
738
759
  readonly type: "LOAD_STATE";
@@ -771,6 +792,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
771
792
  readonly skip: number;
772
793
  readonly error?: string | undefined;
773
794
  readonly resultingState?: unknown;
795
+ readonly id?: string | undefined;
774
796
  } | {
775
797
  readonly type: "PRUNE";
776
798
  readonly input: {
@@ -805,6 +827,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
805
827
  readonly skip: number;
806
828
  readonly error?: string | undefined;
807
829
  readonly resultingState?: unknown;
830
+ readonly id?: string | undefined;
808
831
  } | {
809
832
  readonly type: "REDO";
810
833
  readonly input: number;
@@ -836,6 +859,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
836
859
  readonly skip: number;
837
860
  readonly error?: string | undefined;
838
861
  readonly resultingState?: unknown;
862
+ readonly id?: string | undefined;
839
863
  } | {
840
864
  readonly type: "SET_NAME";
841
865
  readonly input: string;
@@ -867,6 +891,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
867
891
  readonly skip: number;
868
892
  readonly error?: string | undefined;
869
893
  readonly resultingState?: unknown;
894
+ readonly id?: string | undefined;
870
895
  } | {
871
896
  readonly type: "UNDO";
872
897
  readonly input: number;
@@ -898,6 +923,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
898
923
  readonly skip: number;
899
924
  readonly error?: string | undefined;
900
925
  readonly resultingState?: unknown;
926
+ readonly id?: string | undefined;
901
927
  } | {
902
928
  readonly type: "NOOP";
903
929
  readonly input: unknown;
@@ -929,6 +955,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
929
955
  readonly skip: number;
930
956
  readonly error?: string | undefined;
931
957
  readonly resultingState?: unknown;
958
+ readonly id?: string | undefined;
932
959
  } | import("immer").Immutable<A & {
933
960
  index: number;
934
961
  timestamp: string;
@@ -936,6 +963,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
936
963
  skip: number;
937
964
  error?: string | undefined;
938
965
  resultingState?: unknown;
966
+ id?: string | undefined;
939
967
  }>)[];
940
968
  };
941
969
  readonly initialState: {
@@ -997,6 +1025,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
997
1025
  readonly skip: number;
998
1026
  readonly error?: string | undefined;
999
1027
  readonly resultingState?: unknown;
1028
+ readonly id?: string | undefined;
1000
1029
  } | {
1001
1030
  readonly type: "PRUNE";
1002
1031
  readonly input: {
@@ -1031,6 +1060,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
1031
1060
  readonly skip: number;
1032
1061
  readonly error?: string | undefined;
1033
1062
  readonly resultingState?: unknown;
1063
+ readonly id?: string | undefined;
1034
1064
  } | {
1035
1065
  readonly type: "REDO";
1036
1066
  readonly input: number;
@@ -1062,6 +1092,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
1062
1092
  readonly skip: number;
1063
1093
  readonly error?: string | undefined;
1064
1094
  readonly resultingState?: unknown;
1095
+ readonly id?: string | undefined;
1065
1096
  } | {
1066
1097
  readonly type: "SET_NAME";
1067
1098
  readonly input: string;
@@ -1093,6 +1124,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
1093
1124
  readonly skip: number;
1094
1125
  readonly error?: string | undefined;
1095
1126
  readonly resultingState?: unknown;
1127
+ readonly id?: string | undefined;
1096
1128
  } | {
1097
1129
  readonly type: "UNDO";
1098
1130
  readonly input: number;
@@ -1124,6 +1156,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
1124
1156
  readonly skip: number;
1125
1157
  readonly error?: string | undefined;
1126
1158
  readonly resultingState?: unknown;
1159
+ readonly id?: string | undefined;
1127
1160
  } | {
1128
1161
  readonly type: "NOOP";
1129
1162
  readonly input: unknown;
@@ -1155,6 +1188,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
1155
1188
  readonly skip: number;
1156
1189
  readonly error?: string | undefined;
1157
1190
  readonly resultingState?: unknown;
1191
+ readonly id?: string | undefined;
1158
1192
  } | import("immer").Immutable<A & {
1159
1193
  index: number;
1160
1194
  timestamp: string;
@@ -1162,6 +1196,7 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
1162
1196
  skip: number;
1163
1197
  error?: string | undefined;
1164
1198
  resultingState?: unknown;
1199
+ id?: string | undefined;
1165
1200
  }>)[];
1166
1201
  };
1167
1202
  /**
@@ -108,6 +108,8 @@ export type Operation<A extends Action = Action> = A & {
108
108
  error?: string;
109
109
  /** The resulting state after the operation */
110
110
  resultingState?: unknown;
111
+ /** Unique operation id */
112
+ id?: string;
111
113
  };
112
114
  /**
113
115
  * The base attributes of a {@link Document}.
@@ -50,4 +50,13 @@ export type SkipHeaderOperationIndex = Partial<Pick<OperationIndex, 'index'>> &
50
50
  */
51
51
  export declare function skipHeaderOperations<A extends OperationIndex>(operations: A[], skipHeaderOperation: SkipHeaderOperationIndex): A[];
52
52
  export declare function garbageCollectDocumentOperations<A extends Action>(documentOperations: DocumentOperations<A>): DocumentOperations<A>;
53
+ /**
54
+ * Filters out duplicated operations from the target operations array based on their IDs.
55
+ * If an operation has an ID, it is considered duplicated if there is another operation in the source operations array with the same ID.
56
+ * If an operation does not have an ID, it is considered unique and will not be filtered out.
57
+ * @param targetOperations - The array of target operations to filter.
58
+ * @param sourceOperations - The array of source operations to compare against.
59
+ * @returns An array of operations with duplicates filtered out.
60
+ */
61
+ export declare function filterDuplicatedOperations(targetOperations: Operation[], sourceOperations: Operation[]): Operation[];
53
62
  export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./internal/object-CxVzP-Xe.js");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");const e=require("./internal/index-BBm_wnUa.js");require("zod");exports.Document=e.Document;exports.DocumentModel=e.DocumentModel$1;exports.actions=e.actions;exports.documentModel=e.documentModel;exports.module=e.module;exports.reducer=e.reducer;exports.utils=e.utils;exports.validateInitialState=e.validateInitialState;exports.validateModule=e.validateModule;exports.validateModuleOperation=e.validateModuleOperation;exports.validateModules=e.validateModules;exports.validateStateSchemaName=e.validateStateSchemaName;exports.z=e.zod;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./internal/object-CXx7IaXb.js");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");const e=require("./internal/index-CtqbrEO2.js");require("zod");exports.Document=e.Document;exports.DocumentModel=e.DocumentModel$1;exports.actions=e.actions;exports.documentModel=e.documentModel;exports.module=e.module;exports.reducer=e.reducer;exports.utils=e.utils;exports.validateInitialState=e.validateInitialState;exports.validateModule=e.validateModule;exports.validateModuleOperation=e.validateModuleOperation;exports.validateModules=e.validateModules;exports.validateStateSchemaName=e.validateStateSchemaName;exports.z=e.zod;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./internal/object-CxVzP-Xe.js"),r=require("./internal/index-B31DqWHj.js");require("immer");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");exports.BaseDocument=e.BaseDocument;exports.actions=e.BaseActions;exports.applyMixins=e.applyMixins;exports.baseReducer=e.baseReducer;exports.processUndoRedo=e.processUndoRedo;exports.updateDocument=e.updateDocument;exports.updateHeader=e.updateHeader;exports.z=e.zod;exports.utils=r.index;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./internal/object-CXx7IaXb.js"),r=require("./internal/index-B96klT84.js");require("immer");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");exports.BaseDocument=e.BaseDocument;exports.actions=e.BaseActions;exports.applyMixins=e.applyMixins;exports.baseReducer=e.baseReducer;exports.processUndoRedo=e.processUndoRedo;exports.updateDocument=e.updateDocument;exports.updateHeader=e.updateHeader;exports.z=e.zod;exports.utils=r.index;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./internal/index-B31DqWHj.js"),o=require("./internal/index-BBm_wnUa.js");require("./internal/object-CxVzP-Xe.js");require("immer");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");const u={"powerhouse/document":e.Document,"powerhouse/document-model":o.DocumentModel},t={Document:e.Document,DocumentModel:o.DocumentModel};exports.Document=e.Document;exports.DocumentModel=o.DocumentModel;exports.DocumentModels=u;exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./internal/index-B96klT84.js"),o=require("./internal/index-CtqbrEO2.js");require("./internal/object-CXx7IaXb.js");require("immer");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");const u={"powerhouse/document":e.Document,"powerhouse/document-model":o.DocumentModel},t={Document:e.Document,DocumentModel:o.DocumentModel};exports.Document=e.Document;exports.DocumentModel=o.DocumentModel;exports.DocumentModels=u;exports.default=t;
@@ -1 +1 @@
1
- "use strict";const e=require("./object-BHB7lY3H.js"),t=Object.freeze(Object.defineProperty({__proto__:null,calculateSkipsLeft:e.calculateSkipsLeft,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,documentHelpers:e.documentHelpers,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isSameDocument:e.isSameDocument,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,parseResultingState:e.parseResultingState,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),o=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,updateDocument:e.updateDocument,updateHeader:e.updateHeader,utils:t,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=o;exports.index=t;
1
+ "use strict";const e=require("./object-CXx7IaXb.js"),t=Object.freeze(Object.defineProperty({__proto__:null,calculateSkipsLeft:e.calculateSkipsLeft,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,documentHelpers:e.documentHelpers,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isSameDocument:e.isSameDocument,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,parseResultingState:e.parseResultingState,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),o=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,updateDocument:e.updateDocument,updateHeader:e.updateHeader,utils:t,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=o;exports.index=t;
@@ -1,4 +1,4 @@
1
- "use strict";var Tt=Object.defineProperty;var Rt=(t,e,r)=>e in t?Tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var be=(t,e,r)=>(Rt(t,typeof e!="symbol"?e+"":e,r),r);const s=require("./object-CxVzP-Xe.js");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");const o=require("zod"),xt=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),Mt=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),Dt=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),Nt=/[^\p{L}\d]+/giu,_e="$1\0$2",Ae="";function ze(t){let e=t.trim();e=e.replace(xt,_e).replace(Mt,_e),e=e.replace(Nt,"\0");let r=0,n=e.length;for(;e.charAt(r)==="\0";)r++;if(r===n)return[];for(;e.charAt(n-1)==="\0";)n--;return e.slice(r,n).split(/\0/g)}function Lt(t){const e=ze(t);for(let r=0;r<e.length;r++){const n=e[r],i=Dt.exec(n);if(i){const a=i.index+(i[1]??i[2]).length;e.splice(r,1,n.slice(0,a),n.slice(a))}}return e}function Ie(t,e){const[r,n,i]=wt(t,e),a=Pt(e==null?void 0:e.locale),l=jt(e==null?void 0:e.locale),d=e!=null&&e.mergeAmbiguousCharacters?Ct(a,l):yt(a,l);return r+n.map(d).join((e==null?void 0:e.delimiter)??"")+i}function Pt(t){return t===!1?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t)}function jt(t){return t===!1?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t)}function Ct(t,e){return r=>`${e(r[0])}${t(r.slice(1))}`}function yt(t,e){return(r,n)=>{const i=r[0];return(n>0&&i>="0"&&i<="9"?"_"+i:e(i))+t(r.slice(1))}}function wt(t,e={}){const r=e.split??(e.separateNumbers?Lt:ze),n=e.prefixCharacters??Ae,i=e.suffixCharacters??Ae;let a=0,l=t.length;for(;a<t.length;){const d=t.charAt(a);if(!n.includes(d))break;a++}for(;l>a;){const d=l-1,zt=t.charAt(d);if(!i.includes(zt))break;l=d}return[t.slice(0,a),r(t.slice(a,l)),t.slice(l)]}function T(t,e=!1){const r=[];if(e&&t==="")return r;try{const n=JSON.parse(t);!e&&!Object.keys(n).length&&r.push({message:"Initial state cannot be empty",details:{initialState:t}})}catch{r.push({message:"Invalid initial state",details:{initialState:t}})}return r}function R(t,e,r="",n=!0){const i=[];if(!n&&!t)return i.push({message:"State schema is required",details:{schema:t}}),i;if(n&&!t)return i;const a=`type ${Ie(e)}${Ie(r)}State`;return t.includes(a)||i.push({message:`Invalid state schema name. Expected ${a}`,details:{schema:t}}),i}function x(t){const e=[];t.length||e.push({message:"Modules are required",details:{modules:t}});const r=t.reduce((n,i)=>[...n,...b(i)],[]);return[...e,...r]}function b(t){const e=[];t.name||e.push({message:"Module name is required",details:{module:t}}),t.operations.length||e.push({message:"Module operations are required",details:{module:t}});const r=t.operations.reduce((n,i)=>[...n,..._(i)],[]);return[...e,...r]}function _(t){const e=[];return t.name||e.push({message:"Operation name is required",details:{operation:t}}),t.schema||e.push({message:"Operation schema is required",details:{operation:t}}),e}const kt=Object.freeze(Object.defineProperty({__proto__:null,validateInitialState:T,validateModule:b,validateModuleOperation:_,validateModules:x,validateStateSchemaName:R},Symbol.toStringTag,{value:"Module"})),M={id:"powerhouse/document-model",name:"DocumentModel",extension:"phdm",description:"The Powerhouse Document Model describes the state and operations of a document type.",author:{name:"Powerhouse",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],modules:[{name:"header",operations:[{name:"SetModelName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}],state:{global:{schema:"",initialValue:`{
1
+ "use strict";var Tt=Object.defineProperty;var Rt=(t,e,r)=>e in t?Tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var be=(t,e,r)=>(Rt(t,typeof e!="symbol"?e+"":e,r),r);const s=require("./object-CXx7IaXb.js");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");const o=require("zod"),xt=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),Mt=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),Dt=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),Nt=/[^\p{L}\d]+/giu,_e="$1\0$2",Ae="";function ze(t){let e=t.trim();e=e.replace(xt,_e).replace(Mt,_e),e=e.replace(Nt,"\0");let r=0,n=e.length;for(;e.charAt(r)==="\0";)r++;if(r===n)return[];for(;e.charAt(n-1)==="\0";)n--;return e.slice(r,n).split(/\0/g)}function Lt(t){const e=ze(t);for(let r=0;r<e.length;r++){const n=e[r],i=Dt.exec(n);if(i){const a=i.index+(i[1]??i[2]).length;e.splice(r,1,n.slice(0,a),n.slice(a))}}return e}function Ie(t,e){const[r,n,i]=wt(t,e),a=Pt(e==null?void 0:e.locale),l=jt(e==null?void 0:e.locale),d=e!=null&&e.mergeAmbiguousCharacters?Ct(a,l):yt(a,l);return r+n.map(d).join((e==null?void 0:e.delimiter)??"")+i}function Pt(t){return t===!1?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t)}function jt(t){return t===!1?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t)}function Ct(t,e){return r=>`${e(r[0])}${t(r.slice(1))}`}function yt(t,e){return(r,n)=>{const i=r[0];return(n>0&&i>="0"&&i<="9"?"_"+i:e(i))+t(r.slice(1))}}function wt(t,e={}){const r=e.split??(e.separateNumbers?Lt:ze),n=e.prefixCharacters??Ae,i=e.suffixCharacters??Ae;let a=0,l=t.length;for(;a<t.length;){const d=t.charAt(a);if(!n.includes(d))break;a++}for(;l>a;){const d=l-1,zt=t.charAt(d);if(!i.includes(zt))break;l=d}return[t.slice(0,a),r(t.slice(a,l)),t.slice(l)]}function T(t,e=!1){const r=[];if(e&&t==="")return r;try{const n=JSON.parse(t);!e&&!Object.keys(n).length&&r.push({message:"Initial state cannot be empty",details:{initialState:t}})}catch{r.push({message:"Invalid initial state",details:{initialState:t}})}return r}function R(t,e,r="",n=!0){const i=[];if(!n&&!t)return i.push({message:"State schema is required",details:{schema:t}}),i;if(n&&!t)return i;const a=`type ${Ie(e)}${Ie(r)}State`;return t.includes(a)||i.push({message:`Invalid state schema name. Expected ${a}`,details:{schema:t}}),i}function x(t){const e=[];t.length||e.push({message:"Modules are required",details:{modules:t}});const r=t.reduce((n,i)=>[...n,...b(i)],[]);return[...e,...r]}function b(t){const e=[];t.name||e.push({message:"Module name is required",details:{module:t}}),t.operations.length||e.push({message:"Module operations are required",details:{module:t}});const r=t.operations.reduce((n,i)=>[...n,..._(i)],[]);return[...e,...r]}function _(t){const e=[];return t.name||e.push({message:"Operation name is required",details:{operation:t}}),t.schema||e.push({message:"Operation schema is required",details:{operation:t}}),e}const kt=Object.freeze(Object.defineProperty({__proto__:null,validateInitialState:T,validateModule:b,validateModuleOperation:_,validateModules:x,validateStateSchemaName:R},Symbol.toStringTag,{value:"Module"})),M={id:"powerhouse/document-model",name:"DocumentModel",extension:"phdm",description:"The Powerhouse Document Model describes the state and operations of a document type.",author:{name:"Powerhouse",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],modules:[{name:"header",operations:[{name:"SetModelName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}],state:{global:{schema:"",initialValue:`{
2
2
  "id": "",
3
3
  "name": "",
4
4
  "extension": "",
@@ -0,0 +1,20 @@
1
+ "use strict";var be=Object.defineProperty;var we=(t,e,n)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var pt=(t,e,n)=>(we(t,typeof e!="symbol"?e+"":e,n),n);const H=require("immer"),f=require("zod"),At=require("jszip"),Oe=require("crypto"),gt=require("fs"),Se=require("https"),je=require("path"),Pt=t=>t!=null,Ee=f.z.any().refine(t=>Pt(t)),Mt=f.z.enum(["LOAD_STATE"]),Rt=f.z.enum(["PRUNE"]),Ft=f.z.enum(["REDO"]),Ut=f.z.enum(["SET_NAME"]),Lt=f.z.enum(["UNDO"]);function De(){return f.z.object({__typename:f.z.literal("Action").optional(),type:f.z.string()})}function nt(){return f.z.literal("global").or(f.z.literal("local"))}function qt(){return f.z.union([Ct(),Vt(),Ht(),Bt(),Xt()])}function $e(){return f.z.object({__typename:f.z.literal("DocumentFile").optional(),data:f.z.string(),extension:f.z.string().nullable(),fileName:f.z.string().nullable(),mimeType:f.z.string()})}function Ct(){return f.z.object({input:f.z.lazy(()=>wt()),type:Mt,scope:nt()})}function wt(){return f.z.object({operations:f.z.number(),state:f.z.lazy(()=>Jt())})}function Jt(){return f.z.object({data:f.z.unknown().nullish(),name:f.z.string()})}function ke(){return f.z.object({__typename:f.z.literal("Operation").optional(),hash:f.z.string(),index:f.z.number(),timestamp:f.z.string().datetime(),type:f.z.string()})}function Vt(){return f.z.object({input:f.z.lazy(()=>Ot()),type:Rt,scope:nt()})}function Ot(){return f.z.object({end:f.z.number().nullish(),start:f.z.number().nullish()})}const St=f.z.number;function Ht(){return f.z.object({input:St(),type:Ft,scope:nt()})}const jt=f.z.string;function Bt(){return f.z.object({input:jt(),type:Ut,scope:f.z.literal("global")})}function ze(){return f.z.object({__typename:f.z.literal("SetNameOperation").optional(),hash:f.z.string(),index:f.z.number(),input:f.z.string(),timestamp:f.z.string().datetime(),type:f.z.string()})}const Et=f.z.number;function Xt(){return f.z.object({input:Et(),type:Lt,scope:nt()})}const Te=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:De,BaseActionSchema:qt,DocumentFileSchema:$e,LoadStateActionInputSchema:wt,LoadStateActionSchema:Ct,LoadStateActionStateInputSchema:Jt,Load_StateSchema:Mt,OperationSchema:ke,OperationScopeSchema:nt,PruneActionInputSchema:Ot,PruneActionSchema:Vt,PruneSchema:Rt,RedoActionInputSchema:St,RedoActionSchema:Ht,RedoSchema:Ft,SetNameActionInputSchema:jt,SetNameActionSchema:Bt,SetNameOperationSchema:ze,Set_NameSchema:Ut,UndoActionInputSchema:Et,UndoActionSchema:Xt,UndoSchema:Lt,definedNonNullAnySchema:Ee,isDefinedNonNullAny:Pt},Symbol.toStringTag,{value:"Module"}));function ve(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ht={exports:{}};(function(t,e){const{hasOwnProperty:n}=Object.prototype,i=U();i.configure=U,i.stringify=i,i.default=i,e.stringify=i,e.configure=U,t.exports=i;const o=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function a(c){return c.length<5e3&&!o.test(c)?`"${c}"`:JSON.stringify(c)}function r(c){if(c.length>200)return c.sort();for(let l=1;l<c.length;l++){const d=c[l];let k=l;for(;k!==0&&c[k-1]>d;)c[k]=c[k-1],k--;c[k]=d}return c}const p=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function m(c){return p.call(c)!==void 0&&c.length!==0}function u(c,l,d){c.length<d&&(d=c.length);const k=l===","?"":" ";let L=`"0":${k}${c[0]}`;for(let M=1;M<d;M++)L+=`${l}"${M}":${k}${c[M]}`;return L}function h(c){if(n.call(c,"circularValue")){const l=c.circularValue;if(typeof l=="string")return`"${l}"`;if(l==null)return l;if(l===Error||l===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function b(c,l){let d;if(n.call(c,l)&&(d=c[l],typeof d!="boolean"))throw new TypeError(`The "${l}" argument must be of type boolean`);return d===void 0?!0:d}function w(c,l){let d;if(n.call(c,l)){if(d=c[l],typeof d!="number")throw new TypeError(`The "${l}" argument must be of type number`);if(!Number.isInteger(d))throw new TypeError(`The "${l}" argument must be an integer`);if(d<1)throw new RangeError(`The "${l}" argument must be >= 1`)}return d===void 0?1/0:d}function _(c){return c===1?"1 item":`${c} items`}function D(c){const l=new Set;for(const d of c)(typeof d=="string"||typeof d=="number")&&l.add(String(d));return l}function P(c){if(n.call(c,"strict")){const l=c.strict;if(typeof l!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(l)return d=>{let k=`Object can not safely be stringified. Received type ${typeof d}`;throw typeof d!="function"&&(k+=` (${d.toString()})`),new Error(k)}}}function U(c){c={...c};const l=P(c);l&&(c.bigint===void 0&&(c.bigint=!1),"circularValue"in c||(c.circularValue=Error));const d=h(c),k=b(c,"bigint"),L=b(c,"deterministic"),M=w(c,"maximumDepth"),z=w(c,"maximumBreadth");function st(A,s,g,O,y,j){let x=s[A];switch(typeof x=="object"&&x!==null&&typeof x.toJSON=="function"&&(x=x.toJSON(A)),x=O.call(s,A,x),typeof x){case"string":return a(x);case"object":{if(x===null)return"null";if(g.indexOf(x)!==-1)return d;let S="",$=",";const T=j;if(Array.isArray(x)){if(x.length===0)return"[]";if(M<g.length+1)return'"[Array]"';g.push(x),y!==""&&(j+=y,S+=`
2
+ ${j}`,$=`,
3
+ ${j}`);const F=Math.min(x.length,z);let J=0;for(;J<F-1;J++){const at=st(String(J),x,g,O,y,j);S+=at!==void 0?at:"null",S+=$}const V=st(String(J),x,g,O,y,j);if(S+=V!==void 0?V:"null",x.length-1>z){const at=x.length-z-1;S+=`${$}"... ${_(at)} not stringified"`}return y!==""&&(S+=`
4
+ ${T}`),g.pop(),`[${S}]`}let v=Object.keys(x);const I=v.length;if(I===0)return"{}";if(M<g.length+1)return'"[Object]"';let E="",R="";y!==""&&(j+=y,$=`,
5
+ ${j}`,E=" ");const C=Math.min(I,z);L&&!m(x)&&(v=r(v)),g.push(x);for(let F=0;F<C;F++){const J=v[F],V=st(J,x,g,O,y,j);V!==void 0&&(S+=`${R}${a(J)}:${E}${V}`,R=$)}if(I>z){const F=I-z;S+=`${R}"...":${E}"${_(F)} not stringified"`,R=$}return y!==""&&R.length>1&&(S=`
6
+ ${j}${S}
7
+ ${T}`),g.pop(),`{${S}}`}case"number":return isFinite(x)?String(x):l?l(x):"null";case"boolean":return x===!0?"true":"false";case"undefined":return;case"bigint":if(k)return String(x);default:return l?l(x):void 0}}function rt(A,s,g,O,y,j){switch(typeof s=="object"&&s!==null&&typeof s.toJSON=="function"&&(s=s.toJSON(A)),typeof s){case"string":return a(s);case"object":{if(s===null)return"null";if(g.indexOf(s)!==-1)return d;const x=j;let S="",$=",";if(Array.isArray(s)){if(s.length===0)return"[]";if(M<g.length+1)return'"[Array]"';g.push(s),y!==""&&(j+=y,S+=`
8
+ ${j}`,$=`,
9
+ ${j}`);const I=Math.min(s.length,z);let E=0;for(;E<I-1;E++){const C=rt(String(E),s[E],g,O,y,j);S+=C!==void 0?C:"null",S+=$}const R=rt(String(E),s[E],g,O,y,j);if(S+=R!==void 0?R:"null",s.length-1>z){const C=s.length-z-1;S+=`${$}"... ${_(C)} not stringified"`}return y!==""&&(S+=`
10
+ ${x}`),g.pop(),`[${S}]`}g.push(s);let T="";y!==""&&(j+=y,$=`,
11
+ ${j}`,T=" ");let v="";for(const I of O){const E=rt(I,s[I],g,O,y,j);E!==void 0&&(S+=`${v}${a(I)}:${T}${E}`,v=$)}return y!==""&&v.length>1&&(S=`
12
+ ${j}${S}
13
+ ${x}`),g.pop(),`{${S}}`}case"number":return isFinite(s)?String(s):l?l(s):"null";case"boolean":return s===!0?"true":"false";case"undefined":return;case"bigint":if(k)return String(s);default:return l?l(s):void 0}}function Q(A,s,g,O,y){switch(typeof s){case"string":return a(s);case"object":{if(s===null)return"null";if(typeof s.toJSON=="function"){if(s=s.toJSON(A),typeof s!="object")return Q(A,s,g,O,y);if(s===null)return"null"}if(g.indexOf(s)!==-1)return d;const j=y;if(Array.isArray(s)){if(s.length===0)return"[]";if(M<g.length+1)return'"[Array]"';g.push(s),y+=O;let E=`
14
+ ${y}`;const R=`,
15
+ ${y}`,C=Math.min(s.length,z);let F=0;for(;F<C-1;F++){const V=Q(String(F),s[F],g,O,y);E+=V!==void 0?V:"null",E+=R}const J=Q(String(F),s[F],g,O,y);if(E+=J!==void 0?J:"null",s.length-1>z){const V=s.length-z-1;E+=`${R}"... ${_(V)} not stringified"`}return E+=`
16
+ ${j}`,g.pop(),`[${E}]`}let x=Object.keys(s);const S=x.length;if(S===0)return"{}";if(M<g.length+1)return'"[Object]"';y+=O;const $=`,
17
+ ${y}`;let T="",v="",I=Math.min(S,z);m(s)&&(T+=u(s,$,z),x=x.slice(s.length),I-=s.length,v=$),L&&(x=r(x)),g.push(s);for(let E=0;E<I;E++){const R=x[E],C=Q(R,s[R],g,O,y);C!==void 0&&(T+=`${v}${a(R)}: ${C}`,v=$)}if(S>z){const E=S-z;T+=`${v}"...": "${_(E)} not stringified"`,v=$}return v!==""&&(T=`
18
+ ${y}${T}
19
+ ${j}`),g.pop(),`{${T}}`}case"number":return isFinite(s)?String(s):l?l(s):"null";case"boolean":return s===!0?"true":"false";case"undefined":return;case"bigint":if(k)return String(s);default:return l?l(s):void 0}}function Y(A,s,g){switch(typeof s){case"string":return a(s);case"object":{if(s===null)return"null";if(typeof s.toJSON=="function"){if(s=s.toJSON(A),typeof s!="object")return Y(A,s,g);if(s===null)return"null"}if(g.indexOf(s)!==-1)return d;let O="";if(Array.isArray(s)){if(s.length===0)return"[]";if(M<g.length+1)return'"[Array]"';g.push(s);const $=Math.min(s.length,z);let T=0;for(;T<$-1;T++){const I=Y(String(T),s[T],g);O+=I!==void 0?I:"null",O+=","}const v=Y(String(T),s[T],g);if(O+=v!==void 0?v:"null",s.length-1>z){const I=s.length-z-1;O+=`,"... ${_(I)} not stringified"`}return g.pop(),`[${O}]`}let y=Object.keys(s);const j=y.length;if(j===0)return"{}";if(M<g.length+1)return'"[Object]"';let x="",S=Math.min(j,z);m(s)&&(O+=u(s,",",z),y=y.slice(s.length),S-=s.length,x=","),L&&(y=r(y)),g.push(s);for(let $=0;$<S;$++){const T=y[$],v=Y(T,s[T],g);v!==void 0&&(O+=`${x}${a(T)}:${v}`,x=",")}if(j>z){const $=j-z;O+=`${x}"...":"${_($)} not stringified"`}return g.pop(),`{${O}}`}case"number":return isFinite(s)?String(s):l?l(s):"null";case"boolean":return s===!0?"true":"false";case"undefined":return;case"bigint":if(k)return String(s);default:return l?l(s):void 0}}function ye(A,s,g){if(arguments.length>1){let O="";if(typeof g=="number"?O=" ".repeat(Math.min(g,10)):typeof g=="string"&&(O=g.slice(0,10)),s!=null){if(typeof s=="function")return st("",{"":A},[],s,O,"");if(Array.isArray(s))return rt("",A,[],D(s),O,"")}if(O.length!==0)return Q("",A,[],O,"")}return Y("",A,[])}return ye}})(ht,ht.exports);var _e=ht.exports;const Z=ve(_e);Z.configure;let ct;const Ie=new Uint8Array(16);function Ne(){if(!ct&&(ct=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ct))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ct(Ie)}const N=[];for(let t=0;t<256;++t)N.push((t+256).toString(16).slice(1));function Ae(t,e=0){return N[t[e+0]]+N[t[e+1]]+N[t[e+2]]+N[t[e+3]]+"-"+N[t[e+4]]+N[t[e+5]]+"-"+N[t[e+6]]+N[t[e+7]]+"-"+N[t[e+8]]+N[t[e+9]]+"-"+N[t[e+10]]+N[t[e+11]]+N[t[e+12]]+N[t[e+13]]+N[t[e+14]]+N[t[e+15]]}const Pe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Nt={randomUUID:Pe};function Me(t,e,n){if(Nt.randomUUID&&!e&&!t)return Nt.randomUUID();t=t||{};const i=t.random||(t.rng||Ne)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){n=n||0;for(let o=0;o<16;++o)e[n+o]=i[o];return e}return Ae(i)}function Re(t,e){return{...t,name:e}}function Fe(t,e,n){const{scope:i,input:o}=e,a={document:t,action:e,skip:n};return H.produce(a,r=>{if(r.document.operations[i].length<1)throw new Error(`Cannot undo: no operations in history for scope "${i}"`);if(o<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(r.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const p=r.document.operations[i].at(-1),m=p&&p.type==="NOOP"&&p.skip>0;if(r.skip+=o,m){r.skip+=p.skip;const w=r.document.operations[i][r.document.operations[i].length-2];w&&p.index-w.index===1&&r.document.operations[i].pop()}if(r.document.operations[i].length<r.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const u=r.document.operations[i].length-1;let h=o,b=m?u-p.skip:u;for(;h>0&&b>=0;){const w=r.document.operations[i][b];if(!w){h--,b--;continue}w.type==="NOOP"&&w.skip>0?(b=b-(w.skip+1),r.skip+=w.skip+1):(r.document.clipboard.push({...w}),h--,b--)}r.action=xe(i)})}function Ue(t,e,n){const{scope:i,input:o}=e,a={document:t,action:e,skip:n};return H.produce(a,r=>{if(r.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(o>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(o<1)throw new Error("Invalid REDO action: invalid redo input value");if(r.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const p=r.document.clipboard.findLastIndex(u=>u.scope===i);if(p<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${i}"`);const m=r.document.clipboard.splice(p,1)[0];r.action=H.castDraft({type:m.type,scope:m.scope,input:m.input})})}function Le(t,e,n){const{scope:i}=e,o=t.operations[i];let{input:{start:a,end:r}}=e;a=a||0,r=r||o.length;const p=o.slice(a,r),m=o.slice(0,a),u=o.slice(r),h=lt(t.initialState,{...t.operations,[i]:m.concat(p)},n),{name:b,state:w}=h,_=m.length,D=m.length?m[m.length-1].timestamp:u.length?u[0].timestamp:new Date().toISOString();return lt(t.initialState,{...t.operations,[i]:[...m,{...It({name:b,state:w},p.length),timestamp:D,index:_,hash:dt({state:w},"global")},...u.map((P,U)=>({...P,index:_+U+1}))]},n)}function qe(t,e){return{...t,name:e.name,state:e.state??{global:{},local:{}}}}const Kt="SET_NAME",it="UNDO",ot="REDO",mt="PRUNE",Wt="LOAD_STATE",Ce="NOOP",Gt={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"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/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"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/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"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"],"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/media-policy-dataset+xml":["mpf"],"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":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"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-keys":["asc"],"application/pgp-signature":["sig","*asc"],"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/sql":["sql"],"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/watcherinfo+xml":["wif"],"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/xfdf":["xfdf"],"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/aac":["adts","aac"],"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/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"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","jpgm"],"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/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"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/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"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/wgsl":["wgsl"],"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"]};Object.freeze(Gt);var q=function(t,e,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(t):i?i.value:e.get(t)},G,tt,K;class Je{constructor(...e){G.set(this,new Map),tt.set(this,new Map),K.set(this,new Map);for(const n of e)this.define(n)}define(e,n=!1){for(let[i,o]of Object.entries(e)){i=i.toLowerCase(),o=o.map(p=>p.toLowerCase()),q(this,K,"f").has(i)||q(this,K,"f").set(i,new Set);const a=q(this,K,"f").get(i);let r=!0;for(let p of o){const m=p.startsWith("*");if(p=m?p.slice(1):p,a==null||a.add(p),r&&q(this,tt,"f").set(i,p),r=!1,m)continue;const u=q(this,G,"f").get(p);if(u&&u!=i&&!n)throw new Error(`"${i} -> ${p}" conflicts with "${u} -> ${p}". Pass \`force=true\` to override this definition.`);q(this,G,"f").set(p,i)}}return this}getType(e){if(typeof e!="string")return null;const n=e.replace(/^.*[/\\]/,"").toLowerCase(),i=n.replace(/^.*\./,"").toLowerCase(),o=n.length<e.length;return!(i.length<n.length-1)&&o?null:q(this,G,"f").get(i)??null}getExtension(e){var n;return typeof e!="string"?null:(e=(n=e==null?void 0:e.split)==null?void 0:n.call(e,";")[0],(e&&q(this,tt,"f").get(e.trim().toLowerCase()))??null)}getAllExtensions(e){return typeof e!="string"?null:q(this,K,"f").get(e.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const e of q(this,K,"f").values())Object.freeze(e);return this}_getTestState(){return{types:q(this,G,"f"),extensions:q(this,tt,"f")}}}G=new WeakMap,tt=new WeakMap,K=new WeakMap;const Ve=new Je(Gt)._freeze();function He(t,e,n){const i=je.join(t,e);return gt.mkdirSync(t,{recursive:!0}),new Promise((o,a)=>{try{gt.writeFile(i,n,{},r=>{r?a(r):o(i)})}catch(r){a(r)}})}function Zt(t){return gt.readFileSync(t)}function Be(t){return new Promise((e,n)=>{Se.get(t,i=>{const o=[],a=i.headers["content-type"];i.on("data",r=>{o.push(r)}),i.on("end",()=>{e({buffer:Buffer.concat(o),mimeType:a})})}).on("error",i=>{n(i)})})}const Xe=async t=>Zt(t),ut=(t,e="sha1")=>Oe.createHash(e).update(t).digest("base64");function Qt(t){const e=[],n=Object.keys(t);for(const i of n){const o=t[i].sort((a,r)=>a.index-r.index);for(let a=0;a<o.length;a++)o[a].index!==a&&e.push({message:`Invalid operation index ${o[a].index} at position ${a}`,details:{position:a,operation:o[a],scope:o[a].scope}})}return e}const Dt=async t=>{const e=new At,{name:n,revision:i,documentType:o,created:a,lastModified:r}=t,p={name:n,revision:i,documentType:o,created:a,lastModified:r};return e.file("header.json",JSON.stringify(p,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(u=>{const{data:h,...b}=t.attachments[u];e.file(u,h,{base64:!0,createFolders:!0,comment:JSON.stringify(b)})}),e},Yt=async(t,e,n,i)=>{const a=await(await Dt(t)).generateAsync({type:"uint8array",streamFiles:!0}),r=i??t.name,p=`.${n}.zip`;return He(e,r.endsWith(p)?r:`${r}${p}`,a)},Ke=async(t,e)=>{const i=await(await Dt(t)).generateAsync({type:"blob"}),o=await e.createWritable();await o.write(i),await o.close()},xt=async(t,e,n)=>{const i=Zt(t);return te(i,e,n)},te=async(t,e,n)=>{const i=new At;return await i.loadAsync(t),We(i,e,n)};async function We(t,e,n){const i=t.file("state.json");if(!i)throw new Error("Initial state not found");const o=await i.async("string"),a=JSON.parse(o),r=t.file("header.json");let p;r&&(p=JSON.parse(await r.async("string")));const m=t.file("operations.json");if(!m)throw new Error("Operations history not found");const u=JSON.parse(await m.async("string")),h=Qt(u);if(h.length){const w=h.map(_=>_.message);throw new Error(w.join(`
20
+ `))}let b=vt(a,u,e,void 0,p,{},n);return p&&(b={...b,...p}),b}function ee(t){const e=t.replace(/^.*\./,"")||void 0,n=t.replace(/^.*[/\\]/,"")||void 0;return{extension:e,fileName:n}}async function Ge(t){const{buffer:e,mimeType:n="application/octet-stream"}=await Be(t),i=ee(t),o=e.toString("base64");return{data:o,hash:ut(o),mimeType:n,...i}}async function Ze(t){const e=await Xe(t),n=Ve.getType(t)||"application/octet-stream",i=ee(t),o=e.toString("base64");return{data:o,hash:ut(o),mimeType:n,...i}}var ne=(t=>(t.UNEXPECTED_INDEX="UNEXPECTED_INDEX",t))(ne||{}),ie=(t=>(t.DUPLICATED_INDEX="DUPLICATED_INDEX",t.MISSING_INDEX="MISSING_INDEX",t))(ie||{});function $t(t){const e=[];let n=-1;for(const i of t){const o=i.index-i.skip;o!==n+1&&e.push({operation:{index:i.index,skip:i.skip},issue:"UNEXPECTED_INDEX",category:o>n+1?"MISSING_INDEX":"DUPLICATED_INDEX",message:`Expected index ${n+1} with skip 0 or equivalent, got index ${i.index} with skip ${i.skip}`}),n=i.index}return e}function B(t){var i,o,a;const e=[];let n=t.length-1;for(;n>-1;){e.unshift(t[n]);const r=(((i=t[n])==null?void 0:i.index)||0)-(((o=t[n])==null?void 0:o.skip)||0)-1;let p=n-1;for(;p>-1&&(((a=t[p])==null?void 0:a.index)||0)>r;)p--;n=p}return e}function Qe(t){const e=[...t],n=e[e.length-1];return n&&(n.type==="NOOP"?e.push({...n,index:n.index,type:"NOOP",skip:re(t)}):e.push({type:"NOOP",index:n.index+1,timestamp:new Date().toISOString(),input:{},skip:1,scope:n.scope,hash:n.hash})),e}function X(t){return t.slice().sort((e,n)=>e.skip-n.skip).sort((e,n)=>e.index-n.index)}const Ye=(t,e,n)=>[...e,...n].sort((i,o)=>new Date(i.timestamp).getTime()-new Date(o.timestamp).getTime()).map((i,o)=>({...i,index:t.index+o,skip:o===0?t.skip:0})),tn=(t,e,n)=>[...e,...n].sort((i,o)=>new Date(i.timestamp).getTime()-new Date(o.timestamp).getTime()).sort((i,o)=>i.index-o.index).map((i,o)=>({...i,index:t.index+o,skip:o===0?t.skip:0}));function kt(t,e){return Z(t)===Z(e)}function en(t,e){const n=B(X(t.slice())),i=B(X(e.slice()));if(n.length<1)return[i,[]];const o=[];let a=!1;for(;i.length>0;){const r=i[0];let p=n.shift();for(;p&&oe(p,r);)o.push(p),p=n.shift();if(p?a||(kt(p,r)?(i.shift(),o.push(p)):(n.unshift(p),a=!0)):a=!0,a){let m=i.shift();for(;m;)o.push(m),m=i.shift()}}if(!a){let r=n.shift();for(;r;)o.push(r),r=n.shift()}return[B(o),n]}function oe(t,e){return t.index<e.index||t.index===e.index&&t.id===e.id&&t.skip<e.skip}function se(t,e){const n=[],i=[],o=[],a=Math.max(t.length,e.length);let r=!1;for(let p=0;p<a;p++){const m=t[p],u=e[p];m&&u?!r&&kt(m,u)?n.push(m):(r=!0,i.push(m),o.push(u)):m?i.push(m):u&&o.push(u)}return[n,i,o]}function nn(t,e,n){const[i,o,a]=se(B(t),B(e)),r=ft(i),p=1+Math.max(r,ft(o),ft(a)),m=pe(a,o),u=n({index:p,skip:p-(r+1)},o,m);return i.concat(u)}function ft(t){const e=t[t.length-1];return e?e.index:-1}function re(t){var i,o,a;if(t.length<1)return-1;const e=B(t);let n=(((i=e[e.length-1])==null?void 0:i.skip)||0)+1;return e.length>1&&(n+=((o=e[e.length-2])==null?void 0:o.skip)||0),(((a=e[e.length-1])==null?void 0:a.index)||-1)<n?-1:n}const on=t=>$t(B(X(t))),sn=t=>t.reduce((n,i)=>{var o;return n[i.scope]||(n[i.scope]=[]),(o=n[i.scope])==null||o.push(i),n},{}),rn=(t,e)=>{var m;const n={integrityIssues:[],validOperations:[],invalidOperations:[],duplicatedOperations:[]},i=X(t),o=X(e),a=$t([...i,...o]),p=(m=[...a.filter(u=>u.category==="MISSING_INDEX")].sort((u,h)=>h.operation.index-u.operation.index).pop())==null?void 0:m.operation;for(const u of o){if(p&&u.index>=p.index){n.invalidOperations.push(u);continue}if(a.some(b=>b.operation.index===u.index&&b.operation.skip===u.skip&&b.category==="DUPLICATED_INDEX")){n.duplicatedOperations.push(u);continue}n.validOperations.push(u)}return n.integrityIssues.push(...a),n};function an(t,e){return t.filter(n=>!e.some(i=>n.type==="NOOP"&&n.skip===0&&n.index===i.index||n.index===i.index&&n.skip===i.skip&&n.scope===i.scope&&n.hash===i.hash&&n.type===i.type))}function ae(t,e){const[n]=X(t).slice(-1),i=(n==null?void 0:n.index)??-1,o=i+1,a={...e,index:e.index??o};if(a.index<i)throw new Error(`The skip header operation index must be greater than or equal to ${i}`);return(B(X([...t,a]))||[]).slice(0,-1)}function yt(t){return{...Object.entries(t).reduce((n,i)=>{const[o,a]=i;return{...n,[o]:B(X(a))}},{})}}function pe(t,e){return t.filter(n=>n.id?!e.some(i=>i.id===n.id):!0)}const pn=Object.freeze(Object.defineProperty({__proto__:null,IntegrityIssueSubType:ie,IntegrityIssueType:ne,addUndo:Qe,attachBranch:en,checkCleanedOperationsIntegrity:$t,checkOperationsIntegrity:on,filterDuplicatedOperations:pe,garbageCollect:B,garbageCollectDocumentOperations:yt,groupOperationsByScope:sn,merge:nn,nextSkipNumber:re,operationsAreEqual:kt,precedes:oe,prepareOperations:rn,removeExistingOperations:an,reshuffleByTimestamp:Ye,reshuffleByTimestampAndIndex:tn,skipHeaderOperations:ae,sortOperations:X,split:se},Symbol.toStringTag,{value:"Module"}));function cn(t,e){let n;return"index"in e?n={...e}:n=t.operations[e.scope].at(-1),((n==null?void 0:n.index)??-1)+1}function zt(t,e){return{...t,revision:{...t.revision,[e.scope]:cn(t,e)},lastModified:new Date().toISOString()}}function ln(t,e,n=0){if([it,ot,mt].includes(e.type))return t;const{scope:i}=e,o=t.operations[i].slice();let a;const r=o.at(-1);let p=((r==null?void 0:r.index)??-1)+1;if("index"in e){if(e.index-n>p)throw new Error(`Missing operations: expected ${p} with skip 0 or equivalent, got index ${e.index} with skip ${n}`);p=e.index,a=e.id}else a=Me();return o.push({...e,id:a,index:p,timestamp:new Date().toISOString(),hash:"",scope:i,skip:n,error:void 0}),{...t,operations:{...t.operations,[i]:o}}}function ce(t,e,n=0){let i=ln(t,e,n);return i=zt(i,e),i}function mn(t,e,n){switch(qt().parse(e),e.type){case Kt:return Re(t,e.input);case mt:return Le(t,e,n);case Wt:return qe(t,e.input.state);default:return t}}function un(t,e,n){switch(e.type){case it:return Fe(t,e,n);case ot:return Ue(t,e,n);default:return{document:t,action:e,skip:n}}}function dn(t,e,n,i,o=!1,a=_t){const r=e.scope,p=t.operations[r].at(-1);if(!p)return t;const m=yt({...t.operations,[r]:ae(t.operations[r],p)});let u;const h=m[r].at(-1);if(o&&(h!=null&&h.resultingState))u=a(h.resultingState);else{const{state:b}=lt(t.initialState,m,n,void 0,void 0,void 0,void 0,{reuseHash:!0,reuseOperationResultingState:o,operationResultingStateParser:a});u=b[r]}return{...t,state:{...t.state,[r]:u},operations:yt({...t.operations})}}function Tt(t,e,n,i,o={}){const{skip:a,ignoreSkipOperations:r=!1,reuseHash:p=!1,reuseOperationResultingState:m=!1,operationResultingStateParser:u}=o,h={...e},b=a||0;let w={...t};const _=!r&&(b>0||"index"in h&&h.skip>0);return bt(h)&&(w=mn(w,h,n)),w=ce(w,h,b),_&&(w=dn(w,h,n,b,m,u)),w=H.produce(w,D=>{try{const P=n(D.state,h,i);if(P)return H.castDraft({...w,state:P})}catch(P){const U=w.operations[h.scope].length-1;D.operations[h.scope][U].error=P.message,D.operations[h.scope][U].skip=0,_&&(D.state=H.castDraft({...t.state}),D.operations=H.castDraft({...t.operations,[h.scope]:[...t.operations[h.scope],{...D.operations[h.scope][U]}]}))}}),H.produce(w,D=>{if([it,ot,mt].includes(h.type))return D;const P=h.scope||"global",U=p&&Object.prototype.hasOwnProperty.call(h,"hash")?h.hash:dt(D,P),c=D.operations[P].at(-1);c&&(c.hash=U,m&&(c.resultingState=D.state[P]),!bt(h)&&h.attachments&&h.attachments.forEach(l=>{const{hash:d,...k}=l;D.attachments[d]={...k}}))})}function fn(t){return t.type===Ce&&t.skip!==void 0&&t.skip>0&&t.hash!==void 0}function gn(t){return[it,ot].includes(t.type)}function bt(t){return[Kt,it,ot,mt,Wt].includes(t.type)}function W(t,e,n,i,o="global"){if(!t)throw new Error("Empty action type");if(typeof t!="string")throw new Error(`Invalid action type: ${JSON.stringify(t)}`);const a={type:t,input:e,scope:o};n&&(a.attachments=n);try{i==null||i().parse(a.input)}catch(r){throw new Error(`Invalid action input: ${r}`)}return a}function le(t,e=Tt){return(n,i,o,a)=>e(n,i,t,o,a)}const me=(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:{}}}),ue=(t,e)=>{const n=me(t,e);return{...n,initialState:n,operations:{global:[],local:[]},clipboard:[]}},dt=(t,e="global")=>ut(Z(t.state[e]||"")),hn=(t,e=1e3)=>{const n=Math.random()*e;return ut(`${(t??new Date).toISOString()}${n}`)};function et(t){return H.castImmutable(H.freeze(t,!0))}function xn(t,e){const n=[...t];let i=e||0,o=n.length>0?n[n.length-1].index:0;const a=[];for(const r of n.reverse()){if(i>0){const u=o-r.index;i-=u}if(i<0)throw new Error("Invalid operation index, missing operations");const p={ignore:i>0,operation:r},m=r.skip>0?r.skip+1:0;if(m>0&&m>i){const u=m-i;i=i+u}o=r.index,a.push(p)}return a.reverse()}function yn(t,e,n){const i=t.slice().sort((p,m)=>p.skip-m.skip).sort((p,m)=>p.index-m.index);let o=n,a=0,r=e;for(const p of i.reverse()){const m=r-p.index;if(o=o-m,o>-1)a++,r=p.index;else break}return a}function bn(t){return Object.values(t).flatMap(e=>e).sort((e,n)=>new Date(e.timestamp).getTime()-new Date(n.timestamp).getTime())}function wn(t){return Object.values(t).flatMap(e=>e).sort((e,n)=>new Date(e.operation.timestamp).getTime()-new Date(n.operation.timestamp).getTime())}function lt(t,e,n,i,o,a=Tt,r={},p){const m=le(n,a);return vt(t,e,m,i,o,r,p)}function vt(t,e,n,i,o,a={},r){const{checkHashes:p=!0,reuseOperationResultingState:m,operationResultingStateParser:u=_t}=r||{};let h=t;const b=[],w={global:[],local:[]};if(m)for(const[c,l]of Object.entries(e)){const d=l.findLastIndex(L=>!!L.resultingState);if(d<0){b.push(...l);continue}const k=l[d];try{const L=u(k.resultingState);h={...h,state:{...h.state,[c]:L}},w[c].push(...l.slice(0,d+1)),b.push(...l.slice(d+1))}catch{b.push(...l)}}else b.push(...Object.values(e).flat());const _=ue(h);_.initialState=t,_.operations=w;let D=_;if(b.length)D=b.reduce((c,l)=>n(c,l,i,{skip:l.skip,ignoreSkipOperations:!0,reuseHash:!p}),_);else for(const c of Object.values(w)){const l=c.at(-1);l&&(D=zt(D,l))}if(!p)for(const c of Object.keys(D.state))for(let l=b.length-1;l>=0;l--){const d=b[l];if(d.scope===c){if(d.hash!==dt(D,c))throw new Error(`Hash mismatch for scope ${c}`);break}}const P=Object.keys(D.operations).reduce((c,l)=>{const d=l;return{...c,[d]:[...D.operations[d].map((k,L)=>{var M;return{...k,timestamp:((M=e[d][L])==null?void 0:M.timestamp)??k.timestamp}})]}},{global:[],local:[]}),U=Object.values(P).reduce((c,l)=>{const d=l[l.length-1];return(d==null?void 0:d.timestamp)>c&&(c=d.timestamp),c},t.lastModified);return{...D,operations:P,lastModified:U}}function On(t,e){return Z(t)===Z(e)}function _t(t){const e=typeof t;if(e==="string")return JSON.parse(t);if(e==="object")return t;throw new Error(`Providing resulting state is of type: ${e}`)}const de=t=>W("SET_NAME",t,void 0,jt,void 0),fe=(t=1,e="global")=>W("UNDO",t,void 0,Et,e),ge=(t=1,e="global")=>W("REDO",t,void 0,St,e),he=(t,e,n="global")=>W("PRUNE",{start:t,end:e},void 0,Ot,n),It=(t,e)=>W("LOAD_STATE",{state:t,operations:e},void 0,wt),xe=(t="global")=>W("NOOP",{},void 0,void 0,t),Sn=Object.freeze(Object.defineProperty({__proto__:null,loadState:It,noop:xe,prune:he,redo:ge,setName:de,undo:fe},Symbol.toStringTag,{value:"Module"}));class jn{constructor(e,n,i){pt(this,"_document");pt(this,"_reducer");pt(this,"_signalDispatch");this._reducer=e,this._document=n,this._signalDispatch=i}dispatch(e,n){return this._document=this._reducer(this._document,e,this._signalDispatch,n),this}saveToFile(e,n,i){return Yt(this._document,e,n,i)}async loadFromFile(e){this._document=await xt(e,this._reducer)}static async stateFromFile(e,n){return await xt(e,n)}get state(){return et(this._document.state)}get operations(){return et(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 et(this._document.initialState)}toDocument(){return et(this._document)}getAttachment(e){return this._document.attachments[e]}setName(e){return this.dispatch(de(e)),this}undo(e){return this.dispatch(fe(e)),this}redo(e){return this.dispatch(ge(e)),this}prune(e,n){return this.dispatch(he(e,n)),this}loadState(e,n){return this.dispatch(It(e,n)),this}}function En(t,e){e.forEach(n=>{Object.getOwnPropertyNames(n.prototype).forEach(i=>{Object.defineProperty(t.prototype,i,Object.getOwnPropertyDescriptor(n.prototype,i)||Object.create(null))})})}exports.BaseActions=Sn;exports.BaseDocument=jn;exports.applyMixins=En;exports.baseReducer=Tt;exports.calculateSkipsLeft=yn;exports.createAction=W;exports.createDocument=ue;exports.createExtendedState=me;exports.createReducer=le;exports.createZip=Dt;exports.documentHelpers=pn;exports.getLocalFile=Ze;exports.getRemoteFile=Ge;exports.hashDocument=dt;exports.hashKey=hn;exports.isBaseAction=bt;exports.isNoopOperation=fn;exports.isSameDocument=On;exports.isUndoRedo=gn;exports.loadFromFile=xt;exports.loadFromInput=te;exports.mapSkippedOperations=xn;exports.parseResultingState=_t;exports.processUndoRedo=un;exports.readOnly=et;exports.replayDocument=vt;exports.replayOperations=lt;exports.saveToFile=Yt;exports.saveToFileHandle=Ke;exports.sortMappedOperations=wn;exports.sortOperations=bn;exports.updateDocument=ce;exports.updateHeader=zt;exports.validateOperations=Qt;exports.zod=Te;
@@ -1,11 +1,11 @@
1
- import "./internal/object-C-_SkpQ0.js";
1
+ import "./internal/object-2jyfnUeK.js";
2
2
  import "immer";
3
3
  import "jszip";
4
4
  import "crypto";
5
5
  import "fs";
6
6
  import "https";
7
7
  import "path";
8
- import { b as p, a as u, c, d as n, m as v, r as M, u as S, v as f, g as h, h as D, f as b, e as g, z as x } from "./internal/index-BPCSW4M1.js";
8
+ import { b as p, a as u, c, d as n, m as v, r as M, u as S, v as f, g as h, h as D, f as b, e as g, z as x } from "./internal/index-pNw-lk-q.js";
9
9
  import "zod";
10
10
  export {
11
11
  p as Document,
@@ -1,5 +1,5 @@
1
- import { B as d, h as u, g as c, E as n, F as x, G as f, H as l, I as B } from "./internal/object-C-_SkpQ0.js";
2
- import { i as H } from "./internal/index-C7I4OGkU.js";
1
+ import { B as d, h as u, g as c, E as n, F as x, G as f, H as l, I as B } from "./internal/object-2jyfnUeK.js";
2
+ import { i as H } from "./internal/index-DEAJDDrx.js";
3
3
  import "immer";
4
4
  import "zod";
5
5
  import "jszip";
@@ -1,6 +1,6 @@
1
- import { D as o } from "./internal/index-C7I4OGkU.js";
2
- import { D as t } from "./internal/index-BPCSW4M1.js";
3
- import "./internal/object-C-_SkpQ0.js";
1
+ import { D as o } from "./internal/index-DEAJDDrx.js";
2
+ import { D as t } from "./internal/index-pNw-lk-q.js";
3
+ import "./internal/object-2jyfnUeK.js";
4
4
  import "immer";
5
5
  import "zod";
6
6
  import "jszip";
@@ -1,4 +1,4 @@
1
- import { j as e, f as a, b as s, a as t, c as o, k as r, m as n, n as i, o as p, p as c, q as l, i as d, r as u, t as m, u as O, l as y, e as D, v as S, w as b, x as g, y as F, z as _, s as f, d as v, A as R, C as h, D as j, B as x, h as z, g as A, E as B, F as H, G as M, H as T, I as k } from "./object-C-_SkpQ0.js";
1
+ import { j as e, f as a, b as s, a as t, c as o, k as r, m as n, n as i, o as p, p as c, q as l, i as d, r as u, t as m, u as O, l as y, e as D, v as S, w as b, x as g, y as F, z as _, s as f, d as v, A as R, C as h, D as j, B as x, h as z, g as A, E as B, F as H, G as M, H as T, I as k } from "./object-2jyfnUeK.js";
2
2
  const E = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3
3
  __proto__: null,
4
4
  calculateSkipsLeft: e,
@@ -1,7 +1,7 @@
1
1
  var Rt = Object.defineProperty;
2
2
  var xt = (t, e, r) => e in t ? Rt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var Ee = (t, e, r) => (xt(t, typeof e != "symbol" ? e + "" : e, r), r);
4
- import { c as At, i as Mt, a as Dt, b as Nt, s as Lt, d as Pt, l as Ct, e as jt, f as a, B as c, g as yt, h as wt } from "./object-C-_SkpQ0.js";
4
+ import { c as At, i as Mt, a as Dt, b as Nt, s as Lt, d as Pt, l as Ct, e as jt, f as a, B as c, g as yt, h as wt } from "./object-2jyfnUeK.js";
5
5
  import "immer";
6
6
  import "jszip";
7
7
  import "crypto";