@powerhousedao/powerhouse-vetra-packages 6.2.2-dev.8 → 6.2.2-dev.81

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 (103) hide show
  1. package/dist/browser/assets/{entry-Cvoo4_c9.js → entry-5_Eh4a2Z.js} +3 -2
  2. package/dist/browser/assets/{projection-entry-DVec8YRh.js → projection-entry-DgFDnTMt.js} +4 -4
  3. package/dist/browser/{linting-Dn6pXRkK.js → button-CuO8Gh3v.js} +20 -6
  4. package/dist/browser/button-CuO8Gh3v.js.map +1 -0
  5. package/dist/browser/{connect-KEU-HR3o.js → connect-Bpm1qc2o.js} +916 -200
  6. package/dist/browser/connect-Bpm1qc2o.js.map +1 -0
  7. package/dist/browser/{dist-CXoKspdx.js → dist-B4FWbuEM.js} +10 -2
  8. package/dist/browser/{dist-CXoKspdx.js.map → dist-B4FWbuEM.js.map} +1 -1
  9. package/dist/{node/dist-BeZaEP6S.mjs → browser/dist-BAJ5nRDl.js} +21 -2
  10. package/dist/browser/{dist-D8H48e8N.js.map → dist-BAJ5nRDl.js.map} +1 -1
  11. package/dist/browser/{dist-D5ra2aRj.js → dist-DzuQgnp9.js} +2388 -1848
  12. package/dist/browser/dist-DzuQgnp9.js.map +1 -0
  13. package/dist/browser/{document-drive-IdFV1QXL.js → document-drive-BVYCdu_5.js} +988 -124
  14. package/dist/browser/document-drive-BVYCdu_5.js.map +1 -0
  15. package/dist/browser/document-models/index.js +1 -1
  16. package/dist/browser/{documents-D4ek7Ubv.js → documents-J_l59mSV.js} +5 -604
  17. package/dist/browser/documents-J_l59mSV.js.map +1 -0
  18. package/dist/browser/editor-BhVC9JGB.js +25 -0
  19. package/dist/browser/editor-BhVC9JGB.js.map +1 -0
  20. package/dist/browser/{editor-DiZF3ao3.js → editor-Cr2SUFnl.js} +671 -236
  21. package/dist/browser/editor-Cr2SUFnl.js.map +1 -0
  22. package/dist/browser/editors/document-model-editor/module.js +1 -1
  23. package/dist/browser/editors/generic-drive-explorer/index.js +5 -5
  24. package/dist/browser/editors/generic-drive-explorer/module.js +1 -1
  25. package/dist/{node/folder-view-Cy-QxsDg.mjs → browser/folder-view-EDdZl1fJ.js} +73 -46
  26. package/dist/browser/folder-view-EDdZl1fJ.js.map +1 -0
  27. package/dist/browser/{graphql-editor-ZLRO_8Ce.js → graphql-editor-BjkthIT9.js} +8 -7
  28. package/dist/browser/{graphql-editor-ZLRO_8Ce.js.map → graphql-editor-BjkthIT9.js.map} +1 -1
  29. package/dist/browser/{hooks-CORHBNHb.js → hooks-KKcNp2X0.js} +2 -2
  30. package/dist/browser/{hooks-CORHBNHb.js.map → hooks-KKcNp2X0.js.map} +1 -1
  31. package/dist/browser/index.js +378 -9
  32. package/dist/browser/index.js.map +1 -1
  33. package/dist/browser/{json-editor-DBuZ6gN7.js → json-editor-nLgiw_aY.js} +4 -4
  34. package/dist/browser/{json-editor-DBuZ6gN7.js.map → json-editor-nLgiw_aY.js.map} +1 -1
  35. package/dist/browser/{lib-C-f3izXz.js → lib-ewnRj2dJ.js} +13 -4
  36. package/dist/browser/lib-ewnRj2dJ.js.map +1 -0
  37. package/dist/browser/printer-CEYr4JOg.js +604 -0
  38. package/dist/browser/printer-CEYr4JOg.js.map +1 -0
  39. package/dist/browser/{schema-context-DY-GEGnY.js → schema-context-ZyeclQwy.js} +2 -2
  40. package/dist/browser/{schema-context-DY-GEGnY.js.map → schema-context-ZyeclQwy.js.map} +1 -1
  41. package/dist/browser/{state-schemas-BjQKM498.js → state-schemas-IiwC01DT.js} +8 -18
  42. package/dist/browser/state-schemas-IiwC01DT.js.map +1 -0
  43. package/dist/node/{linting-Dx50GuLN.mjs → button-Da7CxMn7.mjs} +20 -7
  44. package/dist/node/button-Da7CxMn7.mjs.map +1 -0
  45. package/dist/node/{connect-KcYZcy_Z.mjs → connect-DzMvrvtH.mjs} +916 -200
  46. package/dist/node/connect-DzMvrvtH.mjs.map +1 -0
  47. package/dist/node/{dist-DJEK2WVi.mjs → dist-CWqCyPep.mjs} +2391 -1846
  48. package/dist/node/dist-CWqCyPep.mjs.map +1 -0
  49. package/dist/{browser/dist-D8H48e8N.js → node/dist-CzYOpeXN.mjs} +21 -2
  50. package/dist/node/{dist-BeZaEP6S.mjs.map → dist-CzYOpeXN.mjs.map} +1 -1
  51. package/dist/node/{dist-fA4EItr0.mjs → dist-DT7jI9ol.mjs} +10 -2
  52. package/dist/node/{dist-fA4EItr0.mjs.map → dist-DT7jI9ol.mjs.map} +1 -1
  53. package/dist/node/{document-drive-C8hbqQ3C.mjs → document-drive-lf_0SP-H.mjs} +988 -124
  54. package/dist/node/document-drive-lf_0SP-H.mjs.map +1 -0
  55. package/dist/node/document-models/index.mjs +1 -1
  56. package/dist/node/{documents-BFBPmyw1.mjs → documents-DCf53bzO.mjs} +3 -3
  57. package/dist/node/{documents-BFBPmyw1.mjs.map → documents-DCf53bzO.mjs.map} +1 -1
  58. package/dist/node/{editor-B1KhoF1f.mjs → editor-BHFgv5Sn.mjs} +672 -237
  59. package/dist/node/editor-BHFgv5Sn.mjs.map +1 -0
  60. package/dist/node/editor-DSlBxXEG.mjs +25 -0
  61. package/dist/node/editor-DSlBxXEG.mjs.map +1 -0
  62. package/dist/node/editors/document-model-editor/module.mjs +1 -1
  63. package/dist/node/editors/generic-drive-explorer/index.mjs +5 -5
  64. package/dist/node/editors/generic-drive-explorer/module.mjs +1 -1
  65. package/dist/{browser/folder-view-DMFqcJhc.js → node/folder-view-BU4jkZT4.mjs} +73 -46
  66. package/dist/node/folder-view-BU4jkZT4.mjs.map +1 -0
  67. package/dist/node/{graphql-DskHmkMe.mjs → graphql-BfAoPeWM.mjs} +2 -2
  68. package/dist/node/{graphql-DskHmkMe.mjs.map → graphql-BfAoPeWM.mjs.map} +1 -1
  69. package/dist/node/{graphql-editor-C5VLRqEf.mjs → graphql-editor-CScEOmFM.mjs} +7 -7
  70. package/dist/node/{graphql-editor-C5VLRqEf.mjs.map → graphql-editor-CScEOmFM.mjs.map} +1 -1
  71. package/dist/node/{hooks-DJrjfVaS.mjs → hooks-D0DcS3MV.mjs} +2 -2
  72. package/dist/node/{hooks-DJrjfVaS.mjs.map → hooks-D0DcS3MV.mjs.map} +1 -1
  73. package/dist/node/index.mjs +378 -9
  74. package/dist/node/index.mjs.map +1 -1
  75. package/dist/node/{json-editor-iI2s9a_4.mjs → json-editor-BkdBLGDx.mjs} +4 -4
  76. package/dist/node/{json-editor-iI2s9a_4.mjs.map → json-editor-BkdBLGDx.mjs.map} +1 -1
  77. package/dist/node/{main-D82dkD7g.mjs → main-B1tRsYOp.mjs} +15 -6
  78. package/dist/node/main-B1tRsYOp.mjs.map +1 -0
  79. package/dist/node/{schema-context-CX5ml_9t.mjs → schema-context-DL8jhi_d.mjs} +3 -3
  80. package/dist/node/{schema-context-CX5ml_9t.mjs.map → schema-context-DL8jhi_d.mjs.map} +1 -1
  81. package/dist/node/{state-schemas-Bl7nA8bB.mjs → state-schemas-BCTGWiNB.mjs} +10 -20
  82. package/dist/{browser/state-schemas-BjQKM498.js.map → node/state-schemas-BCTGWiNB.mjs.map} +1 -1
  83. package/package.json +8 -7
  84. package/dist/browser/connect-KEU-HR3o.js.map +0 -1
  85. package/dist/browser/dist-D5ra2aRj.js.map +0 -1
  86. package/dist/browser/document-drive-IdFV1QXL.js.map +0 -1
  87. package/dist/browser/documents-D4ek7Ubv.js.map +0 -1
  88. package/dist/browser/editor-DiZF3ao3.js.map +0 -1
  89. package/dist/browser/editor-SqNULDP-.js +0 -29
  90. package/dist/browser/editor-SqNULDP-.js.map +0 -1
  91. package/dist/browser/folder-view-DMFqcJhc.js.map +0 -1
  92. package/dist/browser/lib-C-f3izXz.js.map +0 -1
  93. package/dist/browser/linting-Dn6pXRkK.js.map +0 -1
  94. package/dist/node/connect-KcYZcy_Z.mjs.map +0 -1
  95. package/dist/node/dist-DJEK2WVi.mjs.map +0 -1
  96. package/dist/node/document-drive-C8hbqQ3C.mjs.map +0 -1
  97. package/dist/node/editor-B1KhoF1f.mjs.map +0 -1
  98. package/dist/node/editor-yBGEvMGD.mjs +0 -29
  99. package/dist/node/editor-yBGEvMGD.mjs.map +0 -1
  100. package/dist/node/folder-view-Cy-QxsDg.mjs.map +0 -1
  101. package/dist/node/linting-Dx50GuLN.mjs.map +0 -1
  102. package/dist/node/main-D82dkD7g.mjs.map +0 -1
  103. package/dist/node/state-schemas-Bl7nA8bB.mjs.map +0 -1
@@ -1,5 +1,6 @@
1
- import { S as createState, X as generateId, g as baseLoadFromInput, h as baseCreateDocument, k as isDocumentAction, r as driveDocumentModelModule, u as documentModelDocumentModelModule, v as baseSaveToFileHandle, w as defaultBaseState, x as createReducer } from "./document-drive-IdFV1QXL.js";
2
- import { t as gql } from "./lib-C-f3izXz.js";
1
+ import { c as any, h as object, l as array, p as literal, v as string } from "./dist-B4FWbuEM.js";
2
+ import { A as createState, C as baseLoadFromInputVersioned, D as createBaseState, E as createAction, M as defaultBaseState, S as baseLoadFromInput, b as baseActions, d as documentModelDocumentModelModule, k as createReducer, lt as generateId, m as BaseDocumentStateSchema, p as BaseDocumentHeaderSchema, r as driveDocumentModelModule, w as baseSaveToFileHandle, x as baseCreateDocument, z as isDocumentAction } from "./document-drive-BVYCdu_5.js";
3
+ import { t as gql } from "./lib-ewnRj2dJ.js";
3
4
  import { DocumentModelEditor } from "./editors/document-model-editor/module.js";
4
5
  import { GenericDriveExplorer } from "./editors/generic-drive-explorer/module.js";
5
6
  //#region powerhouse.manifest.json
@@ -174,11 +175,11 @@ const reactorDriveStateReducer = (state, action) => {
174
175
  default: return state;
175
176
  }
176
177
  };
177
- const initialGlobalState = {
178
+ const initialGlobalState$1 = {
178
179
  name: "",
179
180
  icon: null
180
181
  };
181
- const initialLocalState = {
182
+ const initialLocalState$1 = {
182
183
  sharingType: "private",
183
184
  availableOffline: false
184
185
  };
@@ -186,11 +187,11 @@ const reactorDriveCreateState = (state) => {
186
187
  return {
187
188
  ...defaultBaseState(),
188
189
  global: {
189
- ...initialGlobalState,
190
+ ...initialGlobalState$1,
190
191
  ...state?.global
191
192
  },
192
193
  local: {
193
- ...initialLocalState,
194
+ ...initialLocalState$1,
194
195
  ...state?.local
195
196
  }
196
197
  };
@@ -232,12 +233,12 @@ const reactorDriveDocumentGlobalState = {
232
233
  state: {
233
234
  global: {
234
235
  schema: "type ReactorDriveState {\n name: String!\n icon: String\n}",
235
- initialValue: JSON.stringify(JSON.stringify(initialGlobalState)),
236
+ initialValue: JSON.stringify(JSON.stringify(initialGlobalState$1)),
236
237
  examples: []
237
238
  },
238
239
  local: {
239
240
  schema: "type ReactorDriveLocalState {\n sharingType: String!\n availableOffline: Boolean!\n}",
240
- initialValue: JSON.stringify(JSON.stringify(initialLocalState)),
241
+ initialValue: JSON.stringify(JSON.stringify(initialLocalState$1)),
241
242
  examples: []
242
243
  }
243
244
  },
@@ -401,11 +402,379 @@ gql`
401
402
  }
402
403
  `;
403
404
  //#endregion
405
+ //#region ../reactor-group/dist/chunk-pbuEa-1d.js
406
+ var __defProp = Object.defineProperty;
407
+ var __exportAll = (all, no_symbols) => {
408
+ let target = {};
409
+ for (var name in all) __defProp(target, name, {
410
+ get: all[name],
411
+ enumerable: true
412
+ });
413
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
414
+ return target;
415
+ };
416
+ //#endregion
417
+ //#region ../reactor-group/dist/module-DuRVS7HX.js
418
+ const isDefinedNonNullAny = (v) => v !== void 0 && v !== null;
419
+ any().refine((v) => isDefinedNonNullAny(v));
420
+ function AddMemberInputSchema() {
421
+ return object({ address: string() });
422
+ }
423
+ function ReactorGroupStateSchema() {
424
+ return object({
425
+ __typename: literal("ReactorGroupState").optional(),
426
+ description: string(),
427
+ members: array(string()),
428
+ name: string()
429
+ });
430
+ }
431
+ function RemoveMemberInputSchema() {
432
+ return object({ address: string() });
433
+ }
434
+ function SetGroupDescriptionInputSchema() {
435
+ return object({ description: string() });
436
+ }
437
+ function SetGroupNameInputSchema() {
438
+ return object({ name: string() });
439
+ }
440
+ /**
441
+ * WARNING: DO NOT EDIT
442
+ * This file is auto-generated and updated by codegen
443
+ */
444
+ var creators_exports = /* @__PURE__ */ __exportAll({
445
+ addMember: () => addMember,
446
+ removeMember: () => removeMember,
447
+ setGroupDescription: () => setGroupDescription,
448
+ setGroupName: () => setGroupName
449
+ });
450
+ const setGroupName = (input) => createAction("SET_GROUP_NAME", { ...input }, void 0, SetGroupNameInputSchema, "global");
451
+ const setGroupDescription = (input) => createAction("SET_GROUP_DESCRIPTION", { ...input }, void 0, SetGroupDescriptionInputSchema, "global");
452
+ const addMember = (input) => createAction("ADD_MEMBER", { ...input }, void 0, AddMemberInputSchema, "global");
453
+ const removeMember = (input) => createAction("REMOVE_MEMBER", { ...input }, void 0, RemoveMemberInputSchema, "global");
454
+ /**
455
+ * WARNING: DO NOT EDIT
456
+ * This file is auto-generated and updated by codegen
457
+ */
458
+ /** Actions for the ReactorGroup document model */
459
+ const actions = {
460
+ ...baseActions,
461
+ ...creators_exports
462
+ };
463
+ const documentModel = {
464
+ id: "powerhouse/reactor-group",
465
+ name: "Reactor Group",
466
+ author: {
467
+ name: "Powerhouse",
468
+ website: "https://powerhouse.inc"
469
+ },
470
+ extension: ".phrg",
471
+ description: "A group of member addresses referenced by { group } principals in the auth scope. Group membership is folded at an operation's position during auth evaluation, so reducers are strict and deterministic: duplicate or unknown members are errors, and membership is capped.",
472
+ specifications: [{
473
+ state: {
474
+ local: {
475
+ schema: "",
476
+ examples: [],
477
+ initialValue: ""
478
+ },
479
+ global: {
480
+ schema: "\"\"\"\nA member address list gated by the group document's own auth scope. Addresses\nare stored as given and compared case-insensitively, matching how { address }\nprincipals are compared during auth evaluation.\n\"\"\"\ntype ReactorGroupState {\n \"\"\"Display name of the group.\"\"\"\n name: String!\n \"\"\"Free-text description of the group's purpose.\"\"\"\n description: String!\n \"\"\"Member wallet addresses. No duplicates under case-insensitive comparison.\"\"\"\n members: [String!]!\n}",
481
+ examples: [],
482
+ initialValue: "{\n \"name\": \"\",\n \"description\": \"\",\n \"members\": []\n}"
483
+ }
484
+ },
485
+ modules: [{
486
+ id: "efd6d9bb-869e-4565-b1ca-d9b74385eaf7",
487
+ name: "group",
488
+ description: "Manage the group's identity and its member address list.",
489
+ operations: [
490
+ {
491
+ id: "43da2b3d-bad7-40b8-8a84-4cdf892f1519",
492
+ name: "SET_GROUP_NAME",
493
+ description: "Set the display name of the group. The name must be non-empty after trimming and at most 200 characters.",
494
+ schema: "input SetGroupNameInput {\n name: String!\n}",
495
+ template: "",
496
+ reducer: "",
497
+ errors: [{
498
+ id: "8be0d16c-1f21-4d95-9536-c5a5867d2ba1",
499
+ code: "InvalidGroupName",
500
+ name: "InvalidGroupName",
501
+ description: "The group name is empty after trimming or longer than 200 characters.",
502
+ template: ""
503
+ }],
504
+ examples: [],
505
+ scope: "global"
506
+ },
507
+ {
508
+ id: "aa493898-ce6b-4b28-baf3-1b6fd8425138",
509
+ name: "SET_GROUP_DESCRIPTION",
510
+ description: "Set the free-text description of the group. The description is at most 2000 characters.",
511
+ schema: "input SetGroupDescriptionInput {\n description: String!\n}",
512
+ template: "",
513
+ reducer: "",
514
+ errors: [{
515
+ id: "9f0f77a4-6a86-4f5c-9a3f-13a44be29de3",
516
+ code: "InvalidGroupDescription",
517
+ name: "InvalidGroupDescription",
518
+ description: "The group description is longer than 2000 characters.",
519
+ template: ""
520
+ }],
521
+ examples: [],
522
+ scope: "global"
523
+ },
524
+ {
525
+ id: "e7990be2-2e40-4624-9f96-df759703ba6b",
526
+ name: "ADD_MEMBER",
527
+ description: "Add a member address to the group. The address must be non-empty after trimming, must not already be a member under case-insensitive comparison, and the group must be below the member cap.",
528
+ schema: "input AddMemberInput {\n address: String!\n}",
529
+ template: "",
530
+ reducer: "",
531
+ errors: [
532
+ {
533
+ id: "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
534
+ code: "InvalidMemberAddress",
535
+ name: "InvalidMemberAddress",
536
+ description: "The member address is empty after trimming.",
537
+ template: ""
538
+ },
539
+ {
540
+ id: "b2c1a9de-58e6-4f3f-9f2a-7f6b1e2d4c5a",
541
+ code: "DuplicateMember",
542
+ name: "DuplicateMember",
543
+ description: "The address is already a member of the group under case-insensitive comparison.",
544
+ template: ""
545
+ },
546
+ {
547
+ id: "c4d5e6f7-0a1b-4c2d-8e3f-9a0b1c2d3e4f",
548
+ code: "GroupMemberLimitExceeded",
549
+ name: "GroupMemberLimitExceeded",
550
+ description: "The group already holds the maximum number of members.",
551
+ template: ""
552
+ }
553
+ ],
554
+ examples: [],
555
+ scope: "global"
556
+ },
557
+ {
558
+ id: "b1309319-48b7-42b2-a40e-1fecef9a09a4",
559
+ name: "REMOVE_MEMBER",
560
+ description: "Remove a member address from the group, matched case-insensitively. Removing an address that is not a member is an error.",
561
+ schema: "input RemoveMemberInput {\n address: String!\n}",
562
+ template: "",
563
+ reducer: "",
564
+ errors: [{
565
+ id: "d6e7f8a9-1b2c-4d3e-9f4a-0b1c2d3e4f5a",
566
+ code: "MemberNotFound",
567
+ name: "MemberNotFound",
568
+ description: "The address is not a member of the group under case-insensitive comparison.",
569
+ template: ""
570
+ }],
571
+ examples: [],
572
+ scope: "global"
573
+ }
574
+ ]
575
+ }],
576
+ version: 1,
577
+ changeLog: []
578
+ }]
579
+ };
580
+ var InvalidGroupName = class extends Error {
581
+ errorCode = "InvalidGroupName";
582
+ constructor(message = "InvalidGroupName") {
583
+ super(message);
584
+ }
585
+ };
586
+ var InvalidGroupDescription = class extends Error {
587
+ errorCode = "InvalidGroupDescription";
588
+ constructor(message = "InvalidGroupDescription") {
589
+ super(message);
590
+ }
591
+ };
592
+ var InvalidMemberAddress = class extends Error {
593
+ errorCode = "InvalidMemberAddress";
594
+ constructor(message = "InvalidMemberAddress") {
595
+ super(message);
596
+ }
597
+ };
598
+ var DuplicateMember = class extends Error {
599
+ errorCode = "DuplicateMember";
600
+ constructor(message = "DuplicateMember") {
601
+ super(message);
602
+ }
603
+ };
604
+ var GroupMemberLimitExceeded = class extends Error {
605
+ errorCode = "GroupMemberLimitExceeded";
606
+ constructor(message = "GroupMemberLimitExceeded") {
607
+ super(message);
608
+ }
609
+ };
610
+ var MemberNotFound = class extends Error {
611
+ errorCode = "MemberNotFound";
612
+ constructor(message = "MemberNotFound") {
613
+ super(message);
614
+ }
615
+ };
616
+ /** Every replica folds group state during auth evaluation, so membership is capped. */
617
+ const MAX_GROUP_MEMBERS = 1e3;
618
+ const MAX_GROUP_DESCRIPTION_LENGTH = 2e3;
619
+ /** Addresses are compared case-insensitively, matching { address } principals. */
620
+ function sameAddress(a, b) {
621
+ return a.toLowerCase() === b.toLowerCase();
622
+ }
623
+ const reactorGroupGroupOperations = {
624
+ setGroupNameOperation(state, action) {
625
+ const name = action.input.name.trim();
626
+ if (name === "" || name.length > 200) throw new InvalidGroupName(`Group name must be non-empty and at most 200 characters`);
627
+ state.name = name;
628
+ },
629
+ setGroupDescriptionOperation(state, action) {
630
+ const description = action.input.description;
631
+ if (description.length > 2e3) throw new InvalidGroupDescription(`Group description must be at most ${MAX_GROUP_DESCRIPTION_LENGTH} characters`);
632
+ state.description = description;
633
+ },
634
+ addMemberOperation(state, action) {
635
+ const address = action.input.address.trim();
636
+ if (address === "") throw new InvalidMemberAddress("Member address must be non-empty");
637
+ if (state.members.some((member) => sameAddress(member, address))) throw new DuplicateMember(`Address is already a member: ${address}`);
638
+ if (state.members.length >= 1e3) throw new GroupMemberLimitExceeded(`A group holds at most ${MAX_GROUP_MEMBERS} members`);
639
+ state.members.push(address);
640
+ },
641
+ removeMemberOperation(state, action) {
642
+ const address = action.input.address.trim();
643
+ const index = state.members.findIndex((member) => sameAddress(member, address));
644
+ if (index === -1) throw new MemberNotFound(`Address is not a member: ${address}`);
645
+ state.members.splice(index, 1);
646
+ }
647
+ };
648
+ const stateReducer = (state, action, dispatch) => {
649
+ if (isDocumentAction(action)) return state;
650
+ switch (action.type) {
651
+ case "SET_GROUP_NAME":
652
+ SetGroupNameInputSchema().parse(action.input);
653
+ reactorGroupGroupOperations.setGroupNameOperation(state[action.scope], action, dispatch);
654
+ break;
655
+ case "SET_GROUP_DESCRIPTION":
656
+ SetGroupDescriptionInputSchema().parse(action.input);
657
+ reactorGroupGroupOperations.setGroupDescriptionOperation(state[action.scope], action, dispatch);
658
+ break;
659
+ case "ADD_MEMBER":
660
+ AddMemberInputSchema().parse(action.input);
661
+ reactorGroupGroupOperations.addMemberOperation(state[action.scope], action, dispatch);
662
+ break;
663
+ case "REMOVE_MEMBER":
664
+ RemoveMemberInputSchema().parse(action.input);
665
+ reactorGroupGroupOperations.removeMemberOperation(state[action.scope], action, dispatch);
666
+ break;
667
+ default: return state;
668
+ }
669
+ };
670
+ const reducer = createReducer(stateReducer);
671
+ const supportedVersions = [1];
672
+ const reactorGroupUpgradeManifest = {
673
+ documentType: "powerhouse/reactor-group",
674
+ latestVersion: supportedVersions[0],
675
+ supportedVersions,
676
+ upgrades: {}
677
+ };
678
+ /**
679
+ * WARNING: DO NOT EDIT
680
+ * This file is auto-generated and updated by codegen
681
+ */
682
+ const reactorGroupDocumentType = "powerhouse/reactor-group";
683
+ /**
684
+ * WARNING: DO NOT EDIT
685
+ * This file is auto-generated and updated by codegen
686
+ */
687
+ /** Schema for validating the header object of a ReactorGroup document */
688
+ const ReactorGroupDocumentHeaderSchema = BaseDocumentHeaderSchema.extend({ documentType: literal(reactorGroupDocumentType) });
689
+ /** Schema for validating the state object of a ReactorGroup document */
690
+ const ReactorGroupPHStateSchema = BaseDocumentStateSchema.extend({ global: ReactorGroupStateSchema() });
691
+ const ReactorGroupDocumentSchema = object({
692
+ header: ReactorGroupDocumentHeaderSchema,
693
+ state: ReactorGroupPHStateSchema,
694
+ initialState: ReactorGroupPHStateSchema
695
+ });
696
+ /** Simple helper function to check if a state object is a ReactorGroup document state object */
697
+ function isReactorGroupState(state) {
698
+ return ReactorGroupPHStateSchema.safeParse(state).success;
699
+ }
700
+ /** Simple helper function to assert that a document state object is a ReactorGroup document state object */
701
+ function assertIsReactorGroupState(state) {
702
+ ReactorGroupPHStateSchema.parse(state);
703
+ }
704
+ /** Simple helper function to check if a document is a ReactorGroup document */
705
+ function isReactorGroupDocument(document) {
706
+ return ReactorGroupDocumentSchema.safeParse(document).success;
707
+ }
708
+ /** Simple helper function to assert that a document is a ReactorGroup document */
709
+ function assertIsReactorGroupDocument(document) {
710
+ ReactorGroupDocumentSchema.parse(document);
711
+ }
712
+ const initialGlobalState = {
713
+ name: "",
714
+ description: "",
715
+ members: []
716
+ };
717
+ const initialLocalState = {};
718
+ const utils$1 = {
719
+ fileExtension: ".phrg",
720
+ createState(state) {
721
+ return {
722
+ ...createBaseState(state?.auth, {
723
+ version: 1,
724
+ ...state?.document
725
+ }),
726
+ global: {
727
+ ...initialGlobalState,
728
+ ...state?.global
729
+ },
730
+ local: {
731
+ ...initialLocalState,
732
+ ...state?.local
733
+ }
734
+ };
735
+ },
736
+ createDocument(state) {
737
+ return baseCreateDocument(utils$1.createState, state, reactorGroupDocumentType);
738
+ },
739
+ saveToFileHandle(document, input) {
740
+ return baseSaveToFileHandle(document, input);
741
+ },
742
+ loadFromInput(input) {
743
+ return baseLoadFromInputVersioned(input, {
744
+ reducers: { 1: reducer },
745
+ upgradeManifest: reactorGroupUpgradeManifest
746
+ });
747
+ },
748
+ isStateOfType(state) {
749
+ return isReactorGroupState(state);
750
+ },
751
+ assertIsStateOfType(state) {
752
+ return assertIsReactorGroupState(state);
753
+ },
754
+ isDocumentOfType(document) {
755
+ return isReactorGroupDocument(document);
756
+ },
757
+ assertIsDocumentOfType(document) {
758
+ return assertIsReactorGroupDocument(document);
759
+ }
760
+ };
761
+ var utils_exports = /* @__PURE__ */ __exportAll({});
762
+ //#endregion
404
763
  //#region document-models/document-models.ts
405
764
  const documentModels = [
406
765
  documentModelDocumentModelModule,
407
766
  driveDocumentModelModule,
408
- reactorDriveDocumentModelModule
767
+ reactorDriveDocumentModelModule,
768
+ {
769
+ version: 1,
770
+ reducer,
771
+ actions,
772
+ utils: {
773
+ ...utils$1,
774
+ ...utils_exports
775
+ },
776
+ documentModel: createState(defaultBaseState(), documentModel)
777
+ }
409
778
  ];
410
779
  //#endregion
411
780
  //#region editors/editors.ts