@powerhousedao/powerhouse-vetra-packages 6.2.2-dev.7 → 6.2.2-dev.70

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