@powerhousedao/shared 6.1.0-dev.5 → 6.1.0-dev.7

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.
@@ -2814,6 +2814,60 @@ function findOperationOrThrow(state, operationId) {
2814
2814
  }
2815
2815
  throw new Error(`Operation "${operationId}" not found in the latest specification`);
2816
2816
  }
2817
+ /**
2818
+ * Find an operation error by id across all operations in the latest
2819
+ * specification, or throw. Throws on a duplicate id too: setters act on a
2820
+ * single error, so an ambiguous id must fail loudly rather than mutate an
2821
+ * arbitrary match.
2822
+ */
2823
+ function findOperationErrorOrThrow(state, errorId) {
2824
+ const matches = state.specifications[state.specifications.length - 1]?.modules.flatMap((mod) => mod.operations.flatMap((op) => op.errors.filter((e) => e.id === errorId))) ?? [];
2825
+ if (matches.length === 0) throw new Error(`Operation error "${errorId}" not found in the latest specification`);
2826
+ if (matches.length > 1) throw new Error(`Operation error "${errorId}" is duplicated in the latest specification`);
2827
+ return matches[0];
2828
+ }
2829
+ /**
2830
+ * Find an operation example (code example) by id across all operations in the
2831
+ * latest specification, or throw. Throws on a duplicate id for the same reason
2832
+ * as findOperationErrorOrThrow.
2833
+ */
2834
+ function findOperationExampleOrThrow(state, exampleId) {
2835
+ const matches = state.specifications[state.specifications.length - 1]?.modules.flatMap((mod) => mod.operations.flatMap((op) => op.examples.filter((e) => e.id === exampleId))) ?? [];
2836
+ if (matches.length === 0) throw new Error(`Operation example "${exampleId}" not found in the latest specification`);
2837
+ if (matches.length > 1) throw new Error(`Operation example "${exampleId}" is duplicated in the latest specification`);
2838
+ return matches[0];
2839
+ }
2840
+ /**
2841
+ * Assert no module in the latest specification already uses `id`. Modules are
2842
+ * targeted by id by the setter/delete/reorder reducers, so a duplicate id makes
2843
+ * those operations ambiguous.
2844
+ */
2845
+ function assertModuleIdUnique(state, id) {
2846
+ if (state.specifications[state.specifications.length - 1]?.modules.some((m) => m.id === id)) throw new Error(`Module "${id}" already exists in the latest specification`);
2847
+ }
2848
+ /**
2849
+ * Assert no operation in the latest specification already uses `id`. Operations
2850
+ * are targeted by id across all modules, so the id must be unique document-wide.
2851
+ */
2852
+ function assertOperationIdUnique(state, id) {
2853
+ if (state.specifications[state.specifications.length - 1]?.modules.some((m) => m.operations.some((o) => o.id === id))) throw new Error(`Operation "${id}" already exists in the latest specification`);
2854
+ }
2855
+ /**
2856
+ * Assert no operation error in the latest specification already uses `id`.
2857
+ * Error ids are targeted document-wide by the setter/delete reducers, so the id
2858
+ * must be unique to keep those operations unambiguous.
2859
+ */
2860
+ function assertOperationErrorIdUnique(state, id) {
2861
+ if (state.specifications[state.specifications.length - 1]?.modules.some((m) => m.operations.some((o) => o.errors.some((e) => e.id === id)))) throw new Error(`Operation error "${id}" already exists in the latest specification`);
2862
+ }
2863
+ /**
2864
+ * Assert no operation example in the latest specification already uses `id`.
2865
+ * Example ids are targeted document-wide by the update/delete reducers, so the
2866
+ * id must be unique to keep those operations unambiguous.
2867
+ */
2868
+ function assertOperationExampleIdUnique(state, id) {
2869
+ if (state.specifications[state.specifications.length - 1]?.modules.some((m) => m.operations.some((o) => o.examples.some((e) => e.id === id)))) throw new Error(`Operation example "${id}" already exists in the latest specification`);
2870
+ }
2817
2871
  function validateOperations(operations) {
2818
2872
  const errors = [];
2819
2873
  const scopes = Object.keys(operations);
@@ -2838,10 +2892,22 @@ function validateOperations(operations) {
2838
2892
  }
2839
2893
  //#endregion
2840
2894
  //#region document-model/reducers.ts
2841
- function sorter(order) {
2842
- const mapping = {};
2843
- order.forEach((key, index) => mapping[key] = index);
2844
- return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);
2895
+ /**
2896
+ * Reorder `items` by the position of their id in `order`. Ids not listed in
2897
+ * `order` keep their relative position after the listed ones. Throws if `order`
2898
+ * references an id that isn't present, so a stale or mistyped id fails loudly
2899
+ * instead of silently producing an arbitrary order.
2900
+ */
2901
+ function orderBy(items, order) {
2902
+ const ids = new Set(items.map((item) => item.id));
2903
+ for (const id of order) if (!ids.has(id)) throw new Error(`Cannot reorder: unknown id "${id}"`);
2904
+ const rank = new Map(order.map((id, index) => [id, index]));
2905
+ return items.map((item, index) => ({
2906
+ item,
2907
+ index
2908
+ })).sort((a, b) => {
2909
+ return (rank.get(a.item.id) ?? Number.MAX_SAFE_INTEGER) - (rank.get(b.item.id) ?? Number.MAX_SAFE_INTEGER) || a.index - b.index;
2910
+ }).map(({ item }) => item);
2845
2911
  }
2846
2912
  const documentModelHeaderReducer = {
2847
2913
  setModelNameOperation(state, action) {
@@ -2873,6 +2939,7 @@ const documentModelHeaderReducer = {
2873
2939
  };
2874
2940
  const documentModelModuleReducer = {
2875
2941
  addModuleOperation(state, action) {
2942
+ assertModuleIdUnique(state, action.input.id);
2876
2943
  state.specifications[state.specifications.length - 1].modules.push({
2877
2944
  id: action.input.id,
2878
2945
  name: action.input.name,
@@ -2881,24 +2948,28 @@ const documentModelModuleReducer = {
2881
2948
  });
2882
2949
  },
2883
2950
  setModuleNameOperation(state, action) {
2884
- const latestSpec = state.specifications[state.specifications.length - 1];
2885
- for (let i = 0; i < latestSpec.modules.length; i++) if (latestSpec.modules[i].id === action.input.id) latestSpec.modules[i].name = action.input.name || "";
2951
+ const targetModule = findModuleOrThrow(state, action.input.id);
2952
+ targetModule.name = action.input.name || "";
2886
2953
  },
2887
2954
  setModuleDescriptionOperation(state, action) {
2888
- const latestSpec = state.specifications[state.specifications.length - 1];
2889
- for (let i = 0; i < latestSpec.modules.length; i++) if (latestSpec.modules[i].id === action.input.id) latestSpec.modules[i].description = action.input.description || "";
2955
+ const targetModule = findModuleOrThrow(state, action.input.id);
2956
+ targetModule.description = action.input.description || "";
2890
2957
  },
2891
2958
  deleteModuleOperation(state, action) {
2959
+ findModuleOrThrow(state, action.input.id);
2892
2960
  const latestSpec = state.specifications[state.specifications.length - 1];
2893
2961
  latestSpec.modules = latestSpec.modules.filter((m) => m.id != action.input.id);
2894
2962
  },
2895
2963
  reorderModulesOperation(state, action) {
2896
- state.specifications[state.specifications.length - 1].modules.sort(sorter(action.input.order));
2964
+ const latestSpec = state.specifications[state.specifications.length - 1];
2965
+ latestSpec.modules = orderBy(latestSpec.modules, action.input.order);
2897
2966
  }
2898
2967
  };
2899
2968
  const documentModelOperationErrorReducer = {
2900
2969
  addOperationErrorOperation(state, action) {
2901
- findOperationOrThrow(state, action.input.operationId).errors.push({
2970
+ const targetOp = findOperationOrThrow(state, action.input.operationId);
2971
+ assertOperationErrorIdUnique(state, action.input.id);
2972
+ targetOp.errors.push({
2902
2973
  id: action.input.id,
2903
2974
  name: action.input.errorName || "",
2904
2975
  code: action.input.errorCode || "",
@@ -2907,54 +2978,58 @@ const documentModelOperationErrorReducer = {
2907
2978
  });
2908
2979
  },
2909
2980
  setOperationErrorCodeOperation(state, action) {
2910
- const latestSpec = state.specifications[state.specifications.length - 1];
2911
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) latestSpec.modules[i].operations[j].errors[k].code = action.input.errorCode || "";
2981
+ const error = findOperationErrorOrThrow(state, action.input.id);
2982
+ error.code = action.input.errorCode || "";
2912
2983
  },
2913
2984
  setOperationErrorNameOperation(state, action) {
2914
- const latestSpec = state.specifications[state.specifications.length - 1];
2915
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) latestSpec.modules[i].operations[j].errors[k].name = action.input.errorName || "";
2985
+ const error = findOperationErrorOrThrow(state, action.input.id);
2986
+ error.name = action.input.errorName || "";
2916
2987
  },
2917
2988
  setOperationErrorDescriptionOperation(state, action) {
2918
- const latestSpec = state.specifications[state.specifications.length - 1];
2919
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) latestSpec.modules[i].operations[j].errors[k].description = action.input.errorDescription || "";
2989
+ const error = findOperationErrorOrThrow(state, action.input.id);
2990
+ error.description = action.input.errorDescription || "";
2920
2991
  },
2921
2992
  setOperationErrorTemplateOperation(state, action) {
2922
- const latestSpec = state.specifications[state.specifications.length - 1];
2923
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) latestSpec.modules[i].operations[j].errors[k].template = action.input.errorTemplate || "";
2993
+ const error = findOperationErrorOrThrow(state, action.input.id);
2994
+ error.template = action.input.errorTemplate || "";
2924
2995
  },
2925
2996
  deleteOperationErrorOperation(state, action) {
2926
2997
  const latestSpec = state.specifications[state.specifications.length - 1];
2927
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) latestSpec.modules[i].operations[j].errors = latestSpec.modules[i].operations[j].errors.filter((e) => e.id != action.input.id);
2998
+ if (!latestSpec.modules.some((mod) => mod.operations.some((op) => op.errors.some((e) => e.id === action.input.id)))) throw new Error(`Operation error "${action.input.id}" not found in the latest specification`);
2999
+ for (const mod of latestSpec.modules) for (const op of mod.operations) op.errors = op.errors.filter((e) => e.id != action.input.id);
2928
3000
  },
2929
3001
  reorderOperationErrorsOperation(state, action) {
2930
- const latestSpec = state.specifications[state.specifications.length - 1];
2931
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.operationId) latestSpec.modules[i].operations[j].errors.sort(sorter(action.input.order));
3002
+ const targetOp = findOperationOrThrow(state, action.input.operationId);
3003
+ targetOp.errors = orderBy(targetOp.errors, action.input.order);
2932
3004
  }
2933
3005
  };
2934
3006
  const documentModelOperationExampleReducer = {
2935
3007
  addOperationExampleOperation(state, action) {
2936
- const latestSpec = state.specifications[state.specifications.length - 1];
2937
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.operationId) latestSpec.modules[i].operations[j].examples.push({
3008
+ const targetOp = findOperationOrThrow(state, action.input.operationId);
3009
+ assertOperationExampleIdUnique(state, action.input.id);
3010
+ targetOp.examples.push({
2938
3011
  id: action.input.id,
2939
3012
  value: action.input.example
2940
3013
  });
2941
3014
  },
2942
3015
  updateOperationExampleOperation(state, action) {
2943
- const latestSpec = state.specifications[state.specifications.length - 1];
2944
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) for (let k = 0; k < latestSpec.modules[i].operations[j].examples.length; k++) if (latestSpec.modules[i].operations[j].examples[k].id == action.input.id) latestSpec.modules[i].operations[j].examples[k].value = action.input.example;
3016
+ const example = findOperationExampleOrThrow(state, action.input.id);
3017
+ example.value = action.input.example;
2945
3018
  },
2946
3019
  deleteOperationExampleOperation(state, action) {
2947
3020
  const latestSpec = state.specifications[state.specifications.length - 1];
2948
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) latestSpec.modules[i].operations[j].examples = latestSpec.modules[i].operations[j].examples.filter((e) => e.id != action.input.id);
3021
+ if (!latestSpec.modules.some((mod) => mod.operations.some((op) => op.examples.some((e) => e.id === action.input.id)))) throw new Error(`Operation example "${action.input.id}" not found in the latest specification`);
3022
+ for (const mod of latestSpec.modules) for (const op of mod.operations) op.examples = op.examples.filter((e) => e.id != action.input.id);
2949
3023
  },
2950
3024
  reorderOperationExamplesOperation(state, action) {
2951
- const latestSpec = state.specifications[state.specifications.length - 1];
2952
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.operationId) latestSpec.modules[i].operations[j].examples.sort(sorter(action.input.order));
3025
+ const targetOp = findOperationOrThrow(state, action.input.operationId);
3026
+ targetOp.examples = orderBy(targetOp.examples, action.input.order);
2953
3027
  }
2954
3028
  };
2955
3029
  const documentModelOperationReducer = {
2956
3030
  addOperationOperation(state, action) {
2957
3031
  validateOperationName(action.input.name, state);
3032
+ assertOperationIdUnique(state, action.input.id);
2958
3033
  findModuleOrThrow(state, action.input.moduleId).operations.push({
2959
3034
  id: action.input.id,
2960
3035
  name: action.input.name,
@@ -2969,8 +3044,8 @@ const documentModelOperationReducer = {
2969
3044
  },
2970
3045
  setOperationNameOperation(state, action) {
2971
3046
  if (action.input.name) validateOperationName(action.input.name, state, action.input.id);
2972
- const latestSpec = state.specifications[state.specifications.length - 1];
2973
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.id) latestSpec.modules[i].operations[j].name = action.input.name || "";
3047
+ const targetOp = findOperationOrThrow(state, action.input.id);
3048
+ targetOp.name = action.input.name || "";
2974
3049
  },
2975
3050
  setOperationScopeOperation(state, action) {
2976
3051
  const targetOp = findOperationOrThrow(state, action.input.id);
@@ -2980,40 +3055,39 @@ const documentModelOperationReducer = {
2980
3055
  targetOp.scope = action.input.scope || "global";
2981
3056
  },
2982
3057
  setOperationSchemaOperation(state, action) {
2983
- const latestSpec = state.specifications[state.specifications.length - 1];
2984
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.id) latestSpec.modules[i].operations[j].schema = action.input.schema || "";
3058
+ const targetOp = findOperationOrThrow(state, action.input.id);
3059
+ targetOp.schema = action.input.schema || "";
2985
3060
  },
2986
3061
  setOperationDescriptionOperation(state, action) {
2987
- const latestSpec = state.specifications[state.specifications.length - 1];
2988
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.id) latestSpec.modules[i].operations[j].description = action.input.description || "";
3062
+ const targetOp = findOperationOrThrow(state, action.input.id);
3063
+ targetOp.description = action.input.description || "";
2989
3064
  },
2990
3065
  setOperationTemplateOperation(state, action) {
2991
- const latestSpec = state.specifications[state.specifications.length - 1];
2992
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.id) latestSpec.modules[i].operations[j].template = action.input.template || "";
3066
+ const targetOp = findOperationOrThrow(state, action.input.id);
3067
+ targetOp.template = action.input.template || "";
2993
3068
  },
2994
3069
  setOperationReducerOperation(state, action) {
2995
- const latestSpec = state.specifications[state.specifications.length - 1];
2996
- for (let i = 0; i < latestSpec.modules.length; i++) for (let j = 0; j < latestSpec.modules[i].operations.length; j++) if (latestSpec.modules[i].operations[j].id == action.input.id) latestSpec.modules[i].operations[j].reducer = action.input.reducer || "";
3070
+ const targetOp = findOperationOrThrow(state, action.input.id);
3071
+ targetOp.reducer = action.input.reducer || "";
2997
3072
  },
2998
3073
  moveOperationOperation(state, action) {
2999
- const moveOperations = [];
3074
+ const targetModule = findModuleOrThrow(state, action.input.newModuleId);
3000
3075
  const latestSpec = state.specifications[state.specifications.length - 1];
3001
- for (let i = 0; i < latestSpec.modules.length; i++) latestSpec.modules[i].operations = latestSpec.modules[i].operations.filter((operation) => {
3002
- if (operation.id == action.input.operationId) {
3003
- moveOperations.push(operation);
3004
- return false;
3005
- }
3006
- return true;
3007
- });
3008
- for (let i = 0; i < latestSpec.modules.length; i++) if (latestSpec.modules[i].id == action.input.newModuleId) latestSpec.modules[i].operations.push(...moveOperations);
3076
+ const matches = latestSpec.modules.flatMap((mod) => mod.operations.filter((op) => op.id === action.input.operationId));
3077
+ if (matches.length === 0) throw new Error(`Operation "${action.input.operationId}" not found in the latest specification`);
3078
+ if (matches.length > 1) throw new Error(`Operation "${action.input.operationId}" is duplicated in the latest specification`);
3079
+ const moved = matches[0];
3080
+ for (const mod of latestSpec.modules) mod.operations = mod.operations.filter((op) => op.id !== action.input.operationId);
3081
+ targetModule.operations.push(moved);
3009
3082
  },
3010
3083
  deleteOperationOperation(state, action) {
3084
+ findOperationOrThrow(state, action.input.id);
3011
3085
  const latestSpec = state.specifications[state.specifications.length - 1];
3012
- for (let i = 0; i < latestSpec.modules.length; i++) latestSpec.modules[i].operations = latestSpec.modules[i].operations.filter((operation) => operation.id != action.input.id);
3086
+ for (const mod of latestSpec.modules) mod.operations = mod.operations.filter((operation) => operation.id != action.input.id);
3013
3087
  },
3014
3088
  reorderModuleOperationsOperation(state, action) {
3015
- const latestSpec = state.specifications[state.specifications.length - 1];
3016
- for (let i = 0; i < latestSpec.modules.length; i++) if (latestSpec.modules[i].id == action.input.moduleId) latestSpec.modules[i].operations.sort(sorter(action.input.order));
3089
+ const targetModule = findModuleOrThrow(state, action.input.moduleId);
3090
+ targetModule.operations = orderBy(targetModule.operations, action.input.order);
3017
3091
  }
3018
3092
  };
3019
3093
  const documentModelStateSchemaReducer = {
@@ -3038,18 +3112,22 @@ const documentModelStateSchemaReducer = {
3038
3112
  updateStateExampleOperation(state, action) {
3039
3113
  const latestSpec = state.specifications[state.specifications.length - 1];
3040
3114
  if (!Object.keys(latestSpec.state).includes(action.input.scope)) throw new Error(`Invalid scope: ${action.input.scope}`);
3041
- const examples = latestSpec.state[action.input.scope].examples;
3042
- for (let i = 0; i < examples.length; i++) if (examples[i].id == action.input.id) examples[i].value = action.input.newExample;
3115
+ const example = latestSpec.state[action.input.scope].examples.find((e) => e.id == action.input.id);
3116
+ if (!example) throw new Error(`State example "${action.input.id}" not found in scope "${action.input.scope}"`);
3117
+ example.value = action.input.newExample;
3043
3118
  },
3044
3119
  deleteStateExampleOperation(state, action) {
3045
3120
  const latestSpec = state.specifications[state.specifications.length - 1];
3046
- if (Object.keys(latestSpec.state).includes(action.input.scope)) latestSpec.state[action.input.scope].examples = latestSpec.state[action.input.scope].examples.filter((e) => e.id != action.input.id);
3047
- else throw new Error(`Invalid scope: ${action.input.scope}`);
3121
+ if (!Object.keys(latestSpec.state).includes(action.input.scope)) throw new Error(`Invalid scope: ${action.input.scope}`);
3122
+ const scopeState = latestSpec.state[action.input.scope];
3123
+ if (!scopeState.examples.some((e) => e.id == action.input.id)) throw new Error(`State example "${action.input.id}" not found in scope "${action.input.scope}"`);
3124
+ scopeState.examples = scopeState.examples.filter((e) => e.id != action.input.id);
3048
3125
  },
3049
3126
  reorderStateExamplesOperation(state, action) {
3050
3127
  const latestSpec = state.specifications[state.specifications.length - 1];
3051
- if (Object.keys(latestSpec.state).includes(action.input.scope)) latestSpec.state[action.input.scope].examples.sort(sorter(action.input.order));
3052
- else throw new Error(`Invalid scope: ${action.input.scope}`);
3128
+ if (!Object.keys(latestSpec.state).includes(action.input.scope)) throw new Error(`Invalid scope: ${action.input.scope}`);
3129
+ const scopeState = latestSpec.state[action.input.scope];
3130
+ scopeState.examples = orderBy(scopeState.examples, action.input.order);
3053
3131
  }
3054
3132
  };
3055
3133
  const documentModelVersioningReducer = {
@@ -3499,6 +3577,6 @@ function createState(baseState, globalState, localState) {
3499
3577
  };
3500
3578
  }
3501
3579
  //#endregion
3502
- export { AddChangeLogItemInputSchema, AddModuleInputSchema, AddOperationErrorInputSchema, AddOperationExampleInputSchema, AddOperationInputSchema, AddStateExampleInputSchema, AuthorSchema, BaseDocumentHeaderSchema, BaseDocumentStateSchema, CodeExampleSchema, ConfigEntrySchema, ConfigEntryTypeSchema, DeleteChangeLogItemInputSchema, DeleteModuleInputSchema, DeleteOperationErrorInputSchema, DeleteOperationExampleInputSchema, DeleteOperationInputSchema, DeleteStateExampleInputSchema, DocumentActionSchema, DocumentFileSchema, DocumentModelGlobalStateSchema, DocumentModelHeaderSchema, DocumentModelInputSchema, DocumentModelPHStateSchema, DocumentModelSchema, DocumentSpecificationSchema, FileSystemError, HASH_ALGORITHM_SHA1, HASH_ALGORITHM_SHA256, HASH_ALGORITHM_SHA512, HASH_ENCODING_BASE64, HASH_ENCODING_HEX, HashMismatchError, IntegrityIssueSubType, IntegrityIssueType, InvalidActionInputError, InvalidActionInputZodError, LoadStateActionInputSchema, LoadStateActionSchema, LoadStateActionStateInputSchema, Load_StateSchema, ManifestSchema, ModuleSchema, MoveOperationInputSchema, OPERATION_NAME_PATTERN, OperationErrorSchema, OperationScopeSchema, OperationSpecificationSchema, PowerhouseModuleSchema, PowerhouseModulesSchema, PruneActionInputSchema, PruneActionSchema, PruneSchema, PublisherSchema, RESERVED_OPERATION_NAMES, RedoActionInputSchema, RedoActionSchema, RedoSchema, ReorderChangeLogItemsInputSchema, ReorderModuleOperationsInputSchema, ReorderModulesInputSchema, ReorderOperationErrorsInputSchema, ReorderOperationExamplesInputSchema, ReorderStateExamplesInputSchema, ScopeStateSchema, SetAuthorNameInputSchema, SetAuthorWebsiteInputSchema, SetInitialStateInputSchema, SetModelDescriptionInputSchema, SetModelExtensionInputSchema, SetModelIdInputSchema, SetModelNameInputSchema, SetModuleDescriptionInputSchema, SetModuleNameInputSchema, SetNameActionInputSchema, SetNameActionSchema, SetOperationDescriptionInputSchema, SetOperationErrorCodeInputSchema, SetOperationErrorDescriptionInputSchema, SetOperationErrorNameInputSchema, SetOperationErrorTemplateInputSchema, SetOperationNameInputSchema, SetOperationReducerInputSchema, SetOperationSchemaInputSchema, SetOperationScopeInputSchema, SetOperationTemplateInputSchema, SetPreferredEditorActionInputSchema, SetPreferredEditorActionSchema, SetStateSchemaInputSchema, Set_NameSchema, Set_PreferredEditorSchema, StateSchema, UndoActionInputSchema, UndoActionSchema, UndoSchema, UpdateChangeLogItemInputSchema, UpdateOperationExampleInputSchema, UpdateStateExampleInputSchema, ab2hex, actionContext, actionFromAction, actionSigner, actions, addChangeLogItem, addModule, addOperation, addOperationError, addOperationExample, addStateExample, addUndo, assertIsDocumentModelDocument, assertIsDocumentModelState, attachBranch, baseActions, baseCreateDocument, baseLoadFromInput, baseReducer, baseSaveToFileHandle, buildOperationSignature, buildOperationSignatureMessage, buildOperationSignatureParams, buildSignedAction, checkCleanedOperationsIntegrity, checkOperationsIntegrity, createAction, createAuthState, createBaseState, createDocumentState, createGlobalState, createLocalState, createMinimalZip, createPresignedHeader, createReducer, createSignedHeader, createSignedHeaderForSigner, createState, createVerificationSigner, createZip, defaultAuthState, defaultBaseState, defaultDocumentState, defaultGlobalState, defaultLocalState, defaultPHState, definedNonNullAnySchema, deleteChangeLogItem, deleteModule, deleteOperation, deleteOperationError, deleteOperationExample, deleteStateExample, deriveOperationId, diffOperations, documentModelActions, documentModelDocumentType, documentModelFileExtension, documentModelGlobalState, documentModelHeaderReducer, documentModelInitialGlobalState, documentModelInitialLocalState, documentModelLoadFromInput, documentModelModuleReducer, documentModelOperationErrorReducer, documentModelOperationExampleReducer, documentModelOperationReducer, documentModelReducer, documentModelSaveToFileHandle, documentModelStateReducer, documentModelStateSchemaReducer, documentModelVersioningReducer, fetchFileBrowser, filterDocumentOperationsResultingState, filterDuplicatedOperations, findModuleOrThrow, findOperationOrThrow, garbageCollect, garbageCollectDocumentOperations, garbageCollectV2, generateId, generateMock, getAllOperationNames, getDocumentLastModified, getFileBrowser, getUnixTimestamp, groupOperationsByScope, hashBrowser, hashDocumentStateForScope, hex2ab, isDefinedNonNullAny, isDocumentAction, isDocumentModelDocument, isDocumentModelState, isNoopOperation, isReservedOperationName, isUndo, isUndoRedo, isValidOperationNameFormat, loadState, loadStateOperation, mapSkippedOperations, mapSkippedOperationsV2, merge, moveOperation, nextSkipNumber, noop, operationExampleCreators, operationFromAction, operationFromOperation, operationWithContext, operationsAreEqual, parseResultingState, precedes, prepareOperations, processUndoRedo, prune, pruneOperation, readFileBrowser, readOnly, redo, redoOperation, releaseNewVersion, removeExistingOperations, reorderChangeLogItems, reorderModuleOperations, reorderModules, reorderOperationErrors, reorderOperationExamples, reorderStateExamples, replayDocument, replayOperations, reshuffleByTimestamp, reshuffleByTimestampAndIndex, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleDescription, setModuleName, setName, setNameOperation, setOperationDescription, setOperationErrorCode, setOperationErrorDescription, setOperationErrorName, setOperationErrorTemplate, setOperationName, setOperationReducer, setOperationSchema, setOperationScope, setOperationTemplate, setPreferredEditor, setPreferredEditorOperation, setStateSchema, sign, skipHeaderOperations, sortMappedOperations, sortOperations, split, undo, undoOperation, undoOperationV2, updateChangeLogItem, updateDocument, updateHeaderRevision, updateOperationExample, updateStateExample, validateHeader, validateInitialState, validateModule, validateModuleOperation, validateModules, validateOperationName, validateOperations, validateStateSchemaName, verify, verifyOperationSignature, writeFileBrowser };
3580
+ export { AddChangeLogItemInputSchema, AddModuleInputSchema, AddOperationErrorInputSchema, AddOperationExampleInputSchema, AddOperationInputSchema, AddStateExampleInputSchema, AuthorSchema, BaseDocumentHeaderSchema, BaseDocumentStateSchema, CodeExampleSchema, ConfigEntrySchema, ConfigEntryTypeSchema, DeleteChangeLogItemInputSchema, DeleteModuleInputSchema, DeleteOperationErrorInputSchema, DeleteOperationExampleInputSchema, DeleteOperationInputSchema, DeleteStateExampleInputSchema, DocumentActionSchema, DocumentFileSchema, DocumentModelGlobalStateSchema, DocumentModelHeaderSchema, DocumentModelInputSchema, DocumentModelPHStateSchema, DocumentModelSchema, DocumentSpecificationSchema, FileSystemError, HASH_ALGORITHM_SHA1, HASH_ALGORITHM_SHA256, HASH_ALGORITHM_SHA512, HASH_ENCODING_BASE64, HASH_ENCODING_HEX, HashMismatchError, IntegrityIssueSubType, IntegrityIssueType, InvalidActionInputError, InvalidActionInputZodError, LoadStateActionInputSchema, LoadStateActionSchema, LoadStateActionStateInputSchema, Load_StateSchema, ManifestSchema, ModuleSchema, MoveOperationInputSchema, OPERATION_NAME_PATTERN, OperationErrorSchema, OperationScopeSchema, OperationSpecificationSchema, PowerhouseModuleSchema, PowerhouseModulesSchema, PruneActionInputSchema, PruneActionSchema, PruneSchema, PublisherSchema, RESERVED_OPERATION_NAMES, RedoActionInputSchema, RedoActionSchema, RedoSchema, ReorderChangeLogItemsInputSchema, ReorderModuleOperationsInputSchema, ReorderModulesInputSchema, ReorderOperationErrorsInputSchema, ReorderOperationExamplesInputSchema, ReorderStateExamplesInputSchema, ScopeStateSchema, SetAuthorNameInputSchema, SetAuthorWebsiteInputSchema, SetInitialStateInputSchema, SetModelDescriptionInputSchema, SetModelExtensionInputSchema, SetModelIdInputSchema, SetModelNameInputSchema, SetModuleDescriptionInputSchema, SetModuleNameInputSchema, SetNameActionInputSchema, SetNameActionSchema, SetOperationDescriptionInputSchema, SetOperationErrorCodeInputSchema, SetOperationErrorDescriptionInputSchema, SetOperationErrorNameInputSchema, SetOperationErrorTemplateInputSchema, SetOperationNameInputSchema, SetOperationReducerInputSchema, SetOperationSchemaInputSchema, SetOperationScopeInputSchema, SetOperationTemplateInputSchema, SetPreferredEditorActionInputSchema, SetPreferredEditorActionSchema, SetStateSchemaInputSchema, Set_NameSchema, Set_PreferredEditorSchema, StateSchema, UndoActionInputSchema, UndoActionSchema, UndoSchema, UpdateChangeLogItemInputSchema, UpdateOperationExampleInputSchema, UpdateStateExampleInputSchema, ab2hex, actionContext, actionFromAction, actionSigner, actions, addChangeLogItem, addModule, addOperation, addOperationError, addOperationExample, addStateExample, addUndo, assertIsDocumentModelDocument, assertIsDocumentModelState, assertModuleIdUnique, assertOperationErrorIdUnique, assertOperationExampleIdUnique, assertOperationIdUnique, attachBranch, baseActions, baseCreateDocument, baseLoadFromInput, baseReducer, baseSaveToFileHandle, buildOperationSignature, buildOperationSignatureMessage, buildOperationSignatureParams, buildSignedAction, checkCleanedOperationsIntegrity, checkOperationsIntegrity, createAction, createAuthState, createBaseState, createDocumentState, createGlobalState, createLocalState, createMinimalZip, createPresignedHeader, createReducer, createSignedHeader, createSignedHeaderForSigner, createState, createVerificationSigner, createZip, defaultAuthState, defaultBaseState, defaultDocumentState, defaultGlobalState, defaultLocalState, defaultPHState, definedNonNullAnySchema, deleteChangeLogItem, deleteModule, deleteOperation, deleteOperationError, deleteOperationExample, deleteStateExample, deriveOperationId, diffOperations, documentModelActions, documentModelDocumentType, documentModelFileExtension, documentModelGlobalState, documentModelHeaderReducer, documentModelInitialGlobalState, documentModelInitialLocalState, documentModelLoadFromInput, documentModelModuleReducer, documentModelOperationErrorReducer, documentModelOperationExampleReducer, documentModelOperationReducer, documentModelReducer, documentModelSaveToFileHandle, documentModelStateReducer, documentModelStateSchemaReducer, documentModelVersioningReducer, fetchFileBrowser, filterDocumentOperationsResultingState, filterDuplicatedOperations, findModuleOrThrow, findOperationErrorOrThrow, findOperationExampleOrThrow, findOperationOrThrow, garbageCollect, garbageCollectDocumentOperations, garbageCollectV2, generateId, generateMock, getAllOperationNames, getDocumentLastModified, getFileBrowser, getUnixTimestamp, groupOperationsByScope, hashBrowser, hashDocumentStateForScope, hex2ab, isDefinedNonNullAny, isDocumentAction, isDocumentModelDocument, isDocumentModelState, isNoopOperation, isReservedOperationName, isUndo, isUndoRedo, isValidOperationNameFormat, loadState, loadStateOperation, mapSkippedOperations, mapSkippedOperationsV2, merge, moveOperation, nextSkipNumber, noop, operationExampleCreators, operationFromAction, operationFromOperation, operationWithContext, operationsAreEqual, parseResultingState, precedes, prepareOperations, processUndoRedo, prune, pruneOperation, readFileBrowser, readOnly, redo, redoOperation, releaseNewVersion, removeExistingOperations, reorderChangeLogItems, reorderModuleOperations, reorderModules, reorderOperationErrors, reorderOperationExamples, reorderStateExamples, replayDocument, replayOperations, reshuffleByTimestamp, reshuffleByTimestampAndIndex, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleDescription, setModuleName, setName, setNameOperation, setOperationDescription, setOperationErrorCode, setOperationErrorDescription, setOperationErrorName, setOperationErrorTemplate, setOperationName, setOperationReducer, setOperationSchema, setOperationScope, setOperationTemplate, setPreferredEditor, setPreferredEditorOperation, setStateSchema, sign, skipHeaderOperations, sortMappedOperations, sortOperations, split, undo, undoOperation, undoOperationV2, updateChangeLogItem, updateDocument, updateHeaderRevision, updateOperationExample, updateStateExample, validateHeader, validateInitialState, validateModule, validateModuleOperation, validateModules, validateOperationName, validateOperations, validateStateSchemaName, verify, verifyOperationSignature, writeFileBrowser };
3503
3581
 
3504
3582
  //# sourceMappingURL=index.js.map