@powerhousedao/shared 6.0.0-dev.199 → 6.0.0-dev.201
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.
package/dist/clis/index.d.mts
CHANGED
|
@@ -138,7 +138,7 @@ declare const defaultDrivesUrl: Partial<cmd_ts_dist_cjs_argparser_js0.Register>
|
|
|
138
138
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
139
139
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
140
140
|
declare const logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
141
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
141
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
142
142
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
143
143
|
declare const connectBasePath: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
144
144
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
@@ -157,7 +157,7 @@ declare const commonArgs: {
|
|
|
157
157
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
158
158
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
159
159
|
logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
160
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
160
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
161
161
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
162
162
|
packages: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
163
163
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
@@ -232,7 +232,7 @@ declare const connectStudioArgs: {
|
|
|
232
232
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
233
233
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
234
234
|
logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
235
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
235
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
236
236
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
237
237
|
packages: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
238
238
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
@@ -264,7 +264,7 @@ declare const connectBuildArgs: {
|
|
|
264
264
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
265
265
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
266
266
|
logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
267
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
267
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
268
268
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
269
269
|
packages: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
270
270
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
@@ -317,7 +317,7 @@ declare const connectPreviewArgs: {
|
|
|
317
317
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
318
318
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
319
319
|
logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
320
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
320
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
321
321
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
322
322
|
packages: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
323
323
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
@@ -373,7 +373,7 @@ declare const connectArgs: {
|
|
|
373
373
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
374
374
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
375
375
|
logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
376
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
376
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
377
377
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
378
378
|
packages: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
379
379
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
@@ -561,7 +561,7 @@ declare const phCliHelpCommands: {
|
|
|
561
561
|
bindCLIShortcuts: boolean;
|
|
562
562
|
watchTimeout: number;
|
|
563
563
|
connectBasePath: string;
|
|
564
|
-
logLevel: "debug" | "
|
|
564
|
+
logLevel: "debug" | "error" | "info" | "warn" | "verbose";
|
|
565
565
|
packages: string | undefined;
|
|
566
566
|
localPackage: string | undefined;
|
|
567
567
|
defaultDrivesUrl: string | undefined;
|
|
@@ -591,7 +591,7 @@ declare const phCliHelpCommands: {
|
|
|
591
591
|
bindCLIShortcuts: boolean;
|
|
592
592
|
watchTimeout: number;
|
|
593
593
|
connectBasePath: string;
|
|
594
|
-
logLevel: "debug" | "
|
|
594
|
+
logLevel: "debug" | "error" | "info" | "warn" | "verbose";
|
|
595
595
|
packages: string | undefined;
|
|
596
596
|
localPackage: string | undefined;
|
|
597
597
|
defaultDrivesUrl: string | undefined;
|
|
@@ -618,7 +618,7 @@ declare const phCliHelpCommands: {
|
|
|
618
618
|
watchTimeout: number;
|
|
619
619
|
debug: boolean | undefined;
|
|
620
620
|
connectBasePath: string;
|
|
621
|
-
logLevel: "debug" | "
|
|
621
|
+
logLevel: "debug" | "error" | "info" | "warn" | "verbose";
|
|
622
622
|
packages: string | undefined;
|
|
623
623
|
localPackage: string | undefined;
|
|
624
624
|
disableLocalPackages: boolean;
|
|
@@ -638,7 +638,7 @@ declare const phCliHelpCommands: {
|
|
|
638
638
|
watchTimeout: number;
|
|
639
639
|
debug: boolean | undefined;
|
|
640
640
|
connectBasePath: string;
|
|
641
|
-
logLevel: "debug" | "
|
|
641
|
+
logLevel: "debug" | "error" | "info" | "warn" | "verbose";
|
|
642
642
|
packages: string | undefined;
|
|
643
643
|
localPackage: string | undefined;
|
|
644
644
|
disableLocalPackages: boolean;
|
|
@@ -1156,7 +1156,7 @@ declare const vetraArgs: {
|
|
|
1156
1156
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string>>;
|
|
1157
1157
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
1158
1158
|
logLevel: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
1159
|
-
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "
|
|
1159
|
+
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"debug" | "error" | "info" | "warn" | "verbose">>;
|
|
1160
1160
|
} & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
|
|
1161
1161
|
packages: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
|
|
1162
1162
|
parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
|
|
@@ -149,6 +149,7 @@ declare function handleTargetNameCollisions(params: {
|
|
|
149
149
|
nodes: Node[];
|
|
150
150
|
targetParentFolder: string | null;
|
|
151
151
|
srcName: string;
|
|
152
|
+
srcKind: "file" | "folder";
|
|
152
153
|
}): string;
|
|
153
154
|
declare const isValidName: (name: string) => boolean;
|
|
154
155
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../document-drive/constants.ts","../../document-drive/gen/node/creators.ts","../../document-drive/gen/drive/creators.ts","../../document-drive/gen/document-model.ts","../../document-drive/gen/document-type.ts","../../document-drive/gen/ph-factories.ts","../../document-drive/gen/reducer.ts","../../document-drive/gen/schema/zod.ts","../../document-drive/gen/utils.ts","../../document-drive/module.ts","../../document-drive/src/reducers/drive.ts","../../document-drive/src/reducers/node.ts","../../document-drive/src/utils.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../document-drive/constants.ts","../../document-drive/gen/node/creators.ts","../../document-drive/gen/drive/creators.ts","../../document-drive/gen/document-model.ts","../../document-drive/gen/document-type.ts","../../document-drive/gen/ph-factories.ts","../../document-drive/gen/reducer.ts","../../document-drive/gen/schema/zod.ts","../../document-drive/gen/utils.ts","../../document-drive/module.ts","../../document-drive/src/reducers/drive.ts","../../document-drive/src/reducers/node.ts","../../document-drive/src/utils.ts"],"mappings":"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"}
|
|
@@ -645,8 +645,8 @@ function escapeRegExp(string) {
|
|
|
645
645
|
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
646
646
|
}
|
|
647
647
|
function handleTargetNameCollisions(params) {
|
|
648
|
-
const { nodes, targetParentFolder, srcName } = params;
|
|
649
|
-
const targetNodeChildrenNames = nodes.filter((node) => targetParentFolder === "" ? node.parentFolder === null : node.parentFolder === targetParentFolder).map((node) => node.name);
|
|
648
|
+
const { nodes, targetParentFolder, srcName, srcKind } = params;
|
|
649
|
+
const targetNodeChildrenNames = nodes.filter((node) => targetParentFolder === "" ? node.parentFolder === null : node.parentFolder === targetParentFolder).filter((node) => node.kind === srcKind).map((node) => node.name);
|
|
650
650
|
return targetNodeChildrenNames.includes(srcName) ? `${srcName} (copy) ${getNextCopyNumber(targetNodeChildrenNames, srcName)}` : srcName;
|
|
651
651
|
}
|
|
652
652
|
const isValidName = (name) => {
|
|
@@ -661,6 +661,7 @@ const nodeReducer = {
|
|
|
661
661
|
const name = handleTargetNameCollisions({
|
|
662
662
|
nodes: state.nodes,
|
|
663
663
|
srcName: action.input.name,
|
|
664
|
+
srcKind: "file",
|
|
664
665
|
targetParentFolder: action.input.parentFolder || null
|
|
665
666
|
});
|
|
666
667
|
const fileNode = {
|
|
@@ -686,6 +687,7 @@ const nodeReducer = {
|
|
|
686
687
|
const name = handleTargetNameCollisions({
|
|
687
688
|
nodes: state.nodes,
|
|
688
689
|
srcName: action.input.name,
|
|
690
|
+
srcKind: "folder",
|
|
689
691
|
targetParentFolder: action.input.parentFolder || null
|
|
690
692
|
});
|
|
691
693
|
state.nodes.push({
|
|
@@ -715,6 +717,7 @@ const nodeReducer = {
|
|
|
715
717
|
name: handleTargetNameCollisions({
|
|
716
718
|
nodes: state.nodes.filter((n) => n.id !== action.input.id),
|
|
717
719
|
srcName: action.input.name ?? node.name,
|
|
720
|
+
srcKind: "file",
|
|
718
721
|
targetParentFolder: action.input.parentFolder ?? node.parentFolder
|
|
719
722
|
}),
|
|
720
723
|
documentType: action.input.documentType ?? node.documentType
|
|
@@ -728,6 +731,7 @@ const nodeReducer = {
|
|
|
728
731
|
name: handleTargetNameCollisions({
|
|
729
732
|
nodes: state.nodes.filter((n) => n.id !== action.input.id),
|
|
730
733
|
srcName: action.input.name ?? node.name,
|
|
734
|
+
srcKind: node.kind === "file" ? "file" : "folder",
|
|
731
735
|
targetParentFolder: action.input.parentFolder ?? node.parentFolder
|
|
732
736
|
}),
|
|
733
737
|
parentFolder: action.input.parentFolder === null ? null : node.parentFolder
|
|
@@ -741,6 +745,7 @@ const nodeReducer = {
|
|
|
741
745
|
const name = handleTargetNameCollisions({
|
|
742
746
|
nodes: state.nodes,
|
|
743
747
|
srcName: action.input.targetName || node.name,
|
|
748
|
+
srcKind: node.kind === "file" ? "file" : "folder",
|
|
744
749
|
targetParentFolder: action.input.targetParentFolder || null
|
|
745
750
|
});
|
|
746
751
|
const newNode = {
|
|
@@ -767,6 +772,7 @@ const nodeReducer = {
|
|
|
767
772
|
const name = handleTargetNameCollisions({
|
|
768
773
|
nodes: state.nodes,
|
|
769
774
|
srcName: node.name,
|
|
775
|
+
srcKind: node.kind === "file" ? "file" : "folder",
|
|
770
776
|
targetParentFolder: action.input.targetParentFolder || null
|
|
771
777
|
});
|
|
772
778
|
if (isFolderNode(node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createState"],"sources":["../../document-drive/constants.ts","../../document-drive/gen/schema/zod.ts","../../document-drive/gen/node/creators.ts","../../document-drive/gen/drive/creators.ts","../../document-drive/gen/creators.ts","../../document-drive/gen/document-model.ts","../../document-drive/gen/document-type.ts","../../document-drive/gen/ph-factories.ts","../../document-drive/src/reducers/drive.ts","../../document-drive/src/utils.ts","../../document-drive/src/reducers/node.ts","../../document-drive/gen/reducer.ts","../../document-drive/gen/document-schema.ts","../../document-drive/gen/utils.ts","../../document-drive/module.ts"],"sourcesContent":["export const driveDocumentFileExtension = \"phdd\";\n","import type {\n AddFileInput,\n AddFolderInput,\n AddListenerInput,\n AddTriggerInput,\n CopyNodeInput,\n DeleteNodeInput,\n DocumentDriveGlobalState,\n DocumentDriveLocalState,\n FileNode,\n FolderNode,\n Listener,\n ListenerCallInfo,\n ListenerCallInfoInput,\n ListenerFilter,\n ListenerFilterInput,\n ListenerInput,\n MoveNodeInput,\n PullResponderTriggerData,\n PullResponderTriggerDataInput,\n RemoveListenerInput,\n RemoveTriggerInput,\n SetAvailableOfflineInput,\n SetDriveIconInput,\n SetDriveNameInput,\n SetSharingTypeInput,\n Trigger,\n TriggerInput,\n UpdateFileInput,\n UpdateNodeInput,\n} from \"./types.js\";\nimport { z } from \"zod\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<T[K], T[K]>;\n}>;\n\ntype definedNonNullAny = {};\n\nexport const isDefinedNonNullAny = (v: any): v is definedNonNullAny =>\n v !== undefined && v !== null;\n\nexport const definedNonNullAnySchema = z\n .any()\n .refine((v) => isDefinedNonNullAny(v));\n\nexport const TransmitterTypeSchema = z.enum([\n \"Internal\",\n \"MatrixConnect\",\n \"PullResponder\",\n \"RESTWebhook\",\n \"SecureConnect\",\n \"SwitchboardPush\",\n]);\n\nexport const TriggerTypeSchema = z.enum([\"PullResponder\"]);\n\nexport function AddFileInputSchema(): z.ZodObject<Properties<AddFileInput>> {\n return z.object({\n documentType: z.string(),\n id: z.string(),\n name: z.string(),\n parentFolder: z.string().nullish(),\n });\n}\n\nexport function AddFolderInputSchema(): z.ZodObject<\n Properties<AddFolderInput>\n> {\n return z.object({\n id: z.string(),\n name: z.string(),\n parentFolder: z.string().nullish(),\n });\n}\n\nexport function AddListenerInputSchema(): z.ZodObject<\n Properties<AddListenerInput>\n> {\n return z.object({\n listener: ListenerInputSchema(),\n });\n}\n\nexport function AddTriggerInputSchema(): z.ZodObject<\n Properties<AddTriggerInput>\n> {\n return z.object({\n trigger: TriggerInputSchema(),\n });\n}\n\nexport function CopyNodeInputSchema(): z.ZodObject<Properties<CopyNodeInput>> {\n return z.object({\n srcId: z.string(),\n targetId: z.string(),\n targetName: z.string().nullish(),\n targetParentFolder: z.string().nullish(),\n });\n}\n\nexport function DeleteNodeInputSchema(): z.ZodObject<\n Properties<DeleteNodeInput>\n> {\n return z.object({\n id: z.string(),\n });\n}\n\nexport function DocumentDriveLocalStateSchema(): z.ZodObject<\n Properties<DocumentDriveLocalState>\n> {\n return z.object({\n __typename: z.literal(\"DocumentDriveLocalState\").optional(),\n availableOffline: z.boolean(),\n listeners: z.array(ListenerSchema()),\n sharingType: z.string().nullable(),\n triggers: z.array(TriggerSchema()),\n });\n}\n\nexport function DocumentDriveStateSchema(): z.ZodObject<\n Properties<DocumentDriveGlobalState>\n> {\n return z.object({\n __typename: z.literal(\"DocumentDriveState\").optional(),\n icon: z.string().nullable(),\n name: z.string(),\n nodes: z.array(NodeSchema()),\n });\n}\n\nexport function FileNodeSchema(): z.ZodObject<Properties<FileNode>> {\n return z.object({\n __typename: z.literal(\"FileNode\").optional(),\n documentType: z.string(),\n id: z.string(),\n kind: z.string(),\n name: z.string(),\n parentFolder: z.string().nullable(),\n });\n}\n\nexport function FolderNodeSchema(): z.ZodObject<Properties<FolderNode>> {\n return z.object({\n __typename: z.literal(\"FolderNode\").optional(),\n id: z.string(),\n kind: z.string(),\n name: z.string(),\n parentFolder: z.string().nullable(),\n });\n}\n\nexport function ListenerSchema(): z.ZodObject<Properties<Listener>> {\n return z.object({\n __typename: z.literal(\"Listener\").optional(),\n block: z.boolean(),\n callInfo: ListenerCallInfoSchema().nullable(),\n filter: ListenerFilterSchema(),\n label: z.string().nullable(),\n listenerId: z.string(),\n system: z.boolean(),\n });\n}\n\nexport function ListenerInputSchema(): z.ZodObject<Properties<ListenerInput>> {\n return z.object({\n block: z.boolean(),\n callInfo: ListenerCallInfoInputSchema().nullish(),\n filter: ListenerFilterInputSchema(),\n label: z.string().nullish(),\n listenerId: z.string(),\n system: z.boolean(),\n });\n}\n\nexport function ListenerCallInfoSchema(): z.ZodObject<\n Properties<ListenerCallInfo>\n> {\n return z.object({\n __typename: z.literal(\"ListenerCallInfo\").optional(),\n data: z.string().nullable(),\n name: z.string().nullable(),\n transmitterType: TransmitterTypeSchema.nullable(),\n });\n}\n\nexport function ListenerCallInfoInputSchema(): z.ZodObject<\n Properties<ListenerCallInfoInput>\n> {\n return z.object({\n data: z.string().nullish(),\n name: z.string().nullish(),\n transmitterType: TransmitterTypeSchema.nullish(),\n });\n}\n\nexport function ListenerFilterSchema(): z.ZodObject<\n Properties<ListenerFilter>\n> {\n return z.object({\n __typename: z.literal(\"ListenerFilter\").optional(),\n branch: z.array(z.string()).nullable(),\n documentId: z.array(z.string()).nullable(),\n documentType: z.array(z.string()),\n scope: z.array(z.string()).nullable(),\n });\n}\n\nexport function ListenerFilterInputSchema(): z.ZodObject<\n Properties<ListenerFilterInput>\n> {\n return z.object({\n branch: z.array(z.string()).nullish(),\n documentId: z.array(z.string()).nullish(),\n documentType: z.array(z.string()).nullish(),\n scope: z.array(z.string()).nullish(),\n });\n}\n\nexport function MoveNodeInputSchema(): z.ZodObject<Properties<MoveNodeInput>> {\n return z.object({\n srcFolder: z.string(),\n targetParentFolder: z.string().nullish(),\n });\n}\n\nexport function NodeSchema() {\n return z.union([FileNodeSchema(), FolderNodeSchema()]);\n}\n\nexport function PullResponderTriggerDataSchema(): z.ZodObject<\n Properties<PullResponderTriggerData>\n> {\n return z.object({\n __typename: z.literal(\"PullResponderTriggerData\").optional(),\n interval: z.string(),\n listenerId: z.string(),\n url: z.string(),\n });\n}\n\nexport function PullResponderTriggerDataInputSchema(): z.ZodObject<\n Properties<PullResponderTriggerDataInput>\n> {\n return z.object({\n interval: z.string(),\n listenerId: z.string(),\n url: z.string(),\n });\n}\n\nexport function RemoveListenerInputSchema(): z.ZodObject<\n Properties<RemoveListenerInput>\n> {\n return z.object({\n listenerId: z.string(),\n });\n}\n\nexport function RemoveTriggerInputSchema(): z.ZodObject<\n Properties<RemoveTriggerInput>\n> {\n return z.object({\n triggerId: z.string(),\n });\n}\n\nexport function SetAvailableOfflineInputSchema(): z.ZodObject<\n Properties<SetAvailableOfflineInput>\n> {\n return z.object({\n availableOffline: z.boolean(),\n });\n}\n\nexport function SetDriveIconInputSchema(): z.ZodObject<\n Properties<SetDriveIconInput>\n> {\n return z.object({\n icon: z.string(),\n });\n}\n\nexport function SetDriveNameInputSchema(): z.ZodObject<\n Properties<SetDriveNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetSharingTypeInputSchema(): z.ZodObject<\n Properties<SetSharingTypeInput>\n> {\n return z.object({\n type: z.string(),\n });\n}\n\nexport function TriggerSchema(): z.ZodObject<Properties<Trigger>> {\n return z.object({\n __typename: z.literal(\"Trigger\").optional(),\n data: TriggerDataSchema().nullable(),\n id: z.string(),\n type: TriggerTypeSchema,\n });\n}\n\nexport function TriggerInputSchema(): z.ZodObject<Properties<TriggerInput>> {\n return z.object({\n data: PullResponderTriggerDataInputSchema().nullish(),\n id: z.string(),\n type: TriggerTypeSchema,\n });\n}\n\nexport function TriggerDataSchema() {\n return PullResponderTriggerDataSchema();\n}\n\nexport function UpdateFileInputSchema(): z.ZodObject<\n Properties<UpdateFileInput>\n> {\n return z.object({\n documentType: z.string().nullish(),\n id: z.string(),\n name: z.string().nullish(),\n parentFolder: z.string().nullish(),\n });\n}\n\nexport function UpdateNodeInputSchema(): z.ZodObject<\n Properties<UpdateNodeInput>\n> {\n return z.object({\n id: z.string(),\n name: z.string().nullish(),\n parentFolder: z.string().nullish(),\n });\n}\n","import type {\n AddFileInput,\n AddFolderInput,\n CopyNodeInput,\n DeleteNodeInput,\n MoveNodeInput,\n UpdateFileInput,\n UpdateNodeInput,\n} from \"../schema/types.js\";\nimport type { LegacyAddFileAction, LegacyAddFileInput } from \"../types.js\";\nimport type {\n AddFileAction,\n AddFolderAction,\n CopyNodeAction,\n DeleteNodeAction,\n MoveNodeAction,\n UpdateFileAction,\n UpdateNodeAction,\n} from \"./actions.js\";\nimport { createAction } from \"document-model\";\nimport {\n AddFileInputSchema,\n AddFolderInputSchema,\n CopyNodeInputSchema,\n DeleteNodeInputSchema,\n MoveNodeInputSchema,\n UpdateFileInputSchema,\n UpdateNodeInputSchema,\n} from \"../schema/zod.js\";\n\n/**\n * @deprecated Use addFile with {@link AddFileInput} instead. This overload will be removed in the future.\n */\nexport function addFile(input: LegacyAddFileInput): LegacyAddFileAction;\nexport function addFile(input: AddFileInput): AddFileAction;\nexport function addFile(\n input: LegacyAddFileInput | AddFileInput,\n): typeof input extends LegacyAddFileInput\n ? LegacyAddFileAction\n : AddFileAction {\n if (input && typeof input === \"object\" && \"synchronizationUnits\" in input) {\n // Legacy overload\n return createAction<AddFileAction>(\n \"ADD_FILE\",\n { ...input },\n undefined,\n undefined,\n \"global\",\n );\n }\n // Standard overload\n return createAction<AddFileAction>(\n \"ADD_FILE\",\n { ...input },\n undefined,\n AddFileInputSchema,\n \"global\",\n );\n}\n\nexport const addFolder = (input: AddFolderInput) =>\n createAction<AddFolderAction>(\n \"ADD_FOLDER\",\n { ...input },\n undefined,\n AddFolderInputSchema,\n \"global\",\n );\n\nexport const deleteNode = (input: DeleteNodeInput) =>\n createAction<DeleteNodeAction>(\n \"DELETE_NODE\",\n { ...input },\n undefined,\n DeleteNodeInputSchema,\n \"global\",\n );\n\nexport const updateFile = (input: UpdateFileInput) =>\n createAction<UpdateFileAction>(\n \"UPDATE_FILE\",\n { ...input },\n undefined,\n UpdateFileInputSchema,\n \"global\",\n );\n\nexport const updateNode = (input: UpdateNodeInput) =>\n createAction<UpdateNodeAction>(\n \"UPDATE_NODE\",\n { ...input },\n undefined,\n UpdateNodeInputSchema,\n \"global\",\n );\n\nexport const copyNode = (input: CopyNodeInput) =>\n createAction<CopyNodeAction>(\n \"COPY_NODE\",\n { ...input },\n undefined,\n CopyNodeInputSchema,\n \"global\",\n );\n\nexport const moveNode = (input: MoveNodeInput) =>\n createAction<MoveNodeAction>(\n \"MOVE_NODE\",\n { ...input },\n undefined,\n MoveNodeInputSchema,\n \"global\",\n );\n","import type {\n AddListenerInput,\n AddTriggerInput,\n RemoveListenerInput,\n RemoveTriggerInput,\n SetAvailableOfflineInput,\n SetDriveIconInput,\n SetDriveNameInput,\n SetSharingTypeInput,\n} from \"../schema/types.js\";\nimport type {\n AddListenerAction,\n AddTriggerAction,\n RemoveListenerAction,\n RemoveTriggerAction,\n SetAvailableOfflineAction,\n SetDriveIconAction,\n SetDriveNameAction,\n SetSharingTypeAction,\n} from \"./actions.js\";\nimport { createAction } from \"document-model\";\nimport {\n AddListenerInputSchema,\n AddTriggerInputSchema,\n RemoveListenerInputSchema,\n RemoveTriggerInputSchema,\n SetAvailableOfflineInputSchema,\n SetDriveIconInputSchema,\n SetDriveNameInputSchema,\n SetSharingTypeInputSchema,\n} from \"../schema/zod.js\";\n\nexport const setDriveName = (input: SetDriveNameInput) =>\n createAction<SetDriveNameAction>(\n \"SET_DRIVE_NAME\",\n { ...input },\n undefined,\n SetDriveNameInputSchema,\n \"global\",\n );\n\nexport const setDriveIcon = (input: SetDriveIconInput) =>\n createAction<SetDriveIconAction>(\n \"SET_DRIVE_ICON\",\n { ...input },\n undefined,\n SetDriveIconInputSchema,\n \"global\",\n );\n\nexport const setSharingType = (input: SetSharingTypeInput) =>\n createAction<SetSharingTypeAction>(\n \"SET_SHARING_TYPE\",\n { ...input },\n undefined,\n SetSharingTypeInputSchema,\n \"local\",\n );\n\nexport const setAvailableOffline = (input: SetAvailableOfflineInput) =>\n createAction<SetAvailableOfflineAction>(\n \"SET_AVAILABLE_OFFLINE\",\n { ...input },\n undefined,\n SetAvailableOfflineInputSchema,\n \"local\",\n );\n\nexport const addListener = (input: AddListenerInput) =>\n createAction<AddListenerAction>(\n \"ADD_LISTENER\",\n { ...input },\n undefined,\n AddListenerInputSchema,\n \"local\",\n );\n\nexport const removeListener = (input: RemoveListenerInput) =>\n createAction<RemoveListenerAction>(\n \"REMOVE_LISTENER\",\n { ...input },\n undefined,\n RemoveListenerInputSchema,\n \"local\",\n );\n\nexport const addTrigger = (input: AddTriggerInput) =>\n createAction<AddTriggerAction>(\n \"ADD_TRIGGER\",\n { ...input },\n undefined,\n AddTriggerInputSchema,\n \"local\",\n );\n\nexport const removeTrigger = (input: RemoveTriggerInput) =>\n createAction<RemoveTriggerAction>(\n \"REMOVE_TRIGGER\",\n { ...input },\n undefined,\n RemoveTriggerInputSchema,\n \"local\",\n );\n","export * from \"./node/creators.js\";\nexport * from \"./drive/creators.js\";\n","import type { DocumentModelGlobalState } from \"../../document-model/types.js\";\n\nexport const driveDocumentModel: DocumentModelGlobalState = {\n id: \"powerhouse/document-drive\",\n name: \"DocumentDrive\",\n extension: \"phdd\",\n description: \"\",\n author: {\n name: \"Powerhouse Inc\",\n website: \"https://www.powerhouse.inc/\",\n },\n specifications: [\n {\n version: 1,\n changeLog: [],\n state: {\n global: {\n schema:\n \"type FolderNode {\\n id: String!\\n name: String!\\n kind: String!\\n parentFolder: String\\n}\\n\\ntype FileNode {\\n id: String!\\n name: String!\\n kind: String!\\n documentType: String!\\n parentFolder: String\\n}\\n\\nunion Node = FolderNode | FileNode\\n\\ntype DocumentDriveState {\\n name: String!\\n nodes: [Node!]!\\n icon: String\\n}\",\n initialValue: '\"{\\\\\"name\\\\\":\\\\\"\\\\\",\\\\\"nodes\\\\\":[],\\\\\"icon\\\\\":null}\"',\n examples: [],\n },\n local: {\n schema:\n \"type ListenerFilter {\\n documentType: [String!]!\\n documentId: [ID!]\\n scope: [String!]\\n branch: [String!]\\n}\\n\\nenum TransmitterType {\\n Internal,\\n SwitchboardPush,\\n PullResponder,\\n SecureConnect, \\n MatrixConnect,\\n RESTWebhook\\n}\\n\\ntype ListenerCallInfo {\\n transmitterType: TransmitterType\\n name: String\\n data: String\\n}\\n\\ntype Listener {\\n listenerId: ID!\\n label: String\\n block: Boolean!\\n system: Boolean!\\n filter: ListenerFilter!\\n callInfo: ListenerCallInfo\\n}\\n\\nenum TriggerType {\\n PullResponder\\n}\\n\\ntype PullResponderTriggerData {\\n listenerId: ID!\\n url: String!\\n interval: String!\\n}\\n\\nunion TriggerData = PullResponderTriggerData\\n\\ntype Trigger {\\n id: ID!\\n type: TriggerType!\\n data: TriggerData\\n}\\n\\ntype DocumentDriveLocalState{\\n sharingType: String\\n listeners: [Listener!]!\\n triggers: [Trigger!]!\\n availableOffline: Boolean!\\n}\",\n initialValue:\n '\"{ \\\\\"listeners\\\\\": [], \\\\\"triggers\\\\\": [], \\\\\"sharingType\\\\\": \\\\\"private\\\\\", \\\\\"availableOffline\\\\\": false}\"',\n examples: [],\n },\n },\n modules: [\n {\n id: \"GRzuvv78tBvmB6ciitokLfonNHA=\",\n name: \"Node\",\n description: \"\",\n operations: [\n {\n id: \"7xiTdxonc9yEASR8sfV/KnbSV10=\",\n name: \"ADD_FILE\",\n description: \"\",\n schema:\n \"input AddFileInput {\\n id: ID!\\n name: String!\\n documentType: String!\\n parentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"4lzNMMKKdIAtEU6i12xLgi9hp+U=\",\n name: \"ADD_FOLDER\",\n description: \"\",\n schema:\n \"input AddFolderInput {\\n id: ID!\\n name: String!\\n parentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"53jH2/3TWTTcgCJiv2C+BmuC6i0=\",\n name: \"DELETE_NODE\",\n description: \"\",\n schema: \"input DeleteNodeInput {\\n id: ID!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"pNn+Y1/HVq/GNMk7t0u3g3gtMLE=\",\n name: \"UPDATE_FILE\",\n description: \"\",\n schema:\n \"input UpdateFileInput {\\n id: ID!\\n parentFolder: ID\\n name: String\\n documentType: String\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"P0x1M8Mnt+Q/+9nggkwgVbfybsc=\",\n name: \"UPDATE_NODE\",\n description: \"\",\n schema:\n \"input UpdateNodeInput {\\n id: ID!\\n parentFolder: ID\\n name: String\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"vnQ7OB5b3wGLgjhbgJqAIpA+JLE=\",\n name: \"COPY_NODE\",\n description: \"\",\n schema:\n \"input CopyNodeInput {\\n srcId: ID!\\n targetId: ID!\\n targetName: String\\n targetParentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"VNyiD/sNGzk6k9A1Qe7s8dmrJxA=\",\n name: \"MOVE_NODE\",\n description: \"\",\n schema:\n \"input MoveNodeInput {\\n srcFolder: ID!\\n targetParentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n ],\n },\n {\n id: \"0dHwHlxOM9x0vMZ+gLnKxf2qTEo=\",\n name: \"Drive\",\n description: \"\",\n operations: [\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z1dsU=\",\n name: \"SET_DRIVE_NAME\",\n description: \"\",\n schema: \"input SetDriveNameInput {\\n name: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z30dsU=\",\n name: \"SET_DRIVE_ICON\",\n description: \"\",\n schema: \"input SetDriveIconInput {\\n icon: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z2dsU=\",\n name: \"SET_SHARING_TYPE\",\n description: \"\",\n schema: \"input SetSharingTypeInput {\\n type: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z3dsU=\",\n name: \"SET_AVAILABLE_OFFLINE\",\n description: \"\",\n schema:\n \"input SetAvailableOfflineInput {\\n availableOffline: Boolean!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z9dsU=\",\n name: \"ADD_LISTENER\",\n description: \"\",\n schema:\n \"input ListenerFilterInput {\\n documentType: [String!]\\n documentId: [ID!]\\n scope: [String!]\\n branch: [String!]\\n}\\n\\ninput ListenerCallInfoInput {\\n transmitterType: TransmitterType\\n name: String\\n data: String\\n}\\n\\ninput ListenerInput {\\n listenerId: ID!\\n label: String\\n block: Boolean!\\n system: Boolean!\\n filter: ListenerFilterInput!\\n callInfo: ListenerCallInfoInput\\n}\\n\\ninput AddListenerInput {\\n listener: ListenerInput!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z10dsU=\",\n name: \"REMOVE_LISTENER\",\n description: \"\",\n schema: \"input RemoveListenerInput {\\n listenerId: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z20dsU=\",\n name: \"ADD_TRIGGER\",\n description: \"\",\n schema:\n \"input PullResponderTriggerDataInput {\\n listenerId: ID!\\n url: String!\\n interval: String!\\n}\\n\\ninput TriggerInput {\\n id: ID!\\n type: TriggerType!\\n data: PullResponderTriggerDataInput\\n}\\n\\ninput AddTriggerInput {\\n trigger: TriggerInput!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z30dsU=\",\n name: \"REMOVE_TRIGGER\",\n description: \"\",\n schema: \"input RemoveTriggerInput {\\n triggerId: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n ],\n },\n ],\n },\n ],\n};\n","export const driveDocumentType = \"powerhouse/document-drive\";\n","/**\n * Factory methods for creating DocumentDriveDocument instances\n */\n\nimport {\n createBaseState,\n defaultBaseState,\n type PHBaseState,\n} from \"../../document-model/state.js\";\nimport type {\n DocumentDriveGlobalState,\n DocumentDriveLocalState,\n DocumentDrivePHState,\n} from \"./types.js\";\n\nexport function defaultGlobalState(): DocumentDriveGlobalState {\n return {\n icon: null,\n name: \"\",\n nodes: [],\n };\n}\n\nexport function defaultLocalState(): DocumentDriveLocalState {\n return {\n availableOffline: false,\n listeners: [],\n sharingType: null,\n triggers: [],\n };\n}\n\nexport function defaultPHState(): DocumentDrivePHState {\n return {\n ...defaultBaseState(),\n global: defaultGlobalState(),\n local: defaultLocalState(),\n };\n}\n\nexport function createGlobalState(\n state?: Partial<DocumentDriveGlobalState>,\n): DocumentDriveGlobalState {\n return {\n ...defaultGlobalState(),\n ...(state || {}),\n } as DocumentDriveGlobalState;\n}\n\nexport function createLocalState(\n state?: Partial<DocumentDriveLocalState>,\n): DocumentDriveLocalState {\n return {\n ...defaultLocalState(),\n ...(state || {}),\n } as DocumentDriveLocalState;\n}\n\nexport function createState(\n baseState?: Partial<PHBaseState>,\n globalState?: Partial<DocumentDriveGlobalState>,\n localState?: Partial<DocumentDriveLocalState>,\n): DocumentDrivePHState {\n return {\n ...createBaseState(baseState?.auth, baseState?.document),\n global: createGlobalState(globalState),\n local: createLocalState(localState),\n };\n}\n","/**\n * This is a scaffold file meant for customization:\n * - modify it by implementing the reducer functions\n * - delete the file and run the code generator again to have it reset\n */\n\nimport type { Listener, Trigger } from \"../../gen/schema/types.js\";\nimport type { DocumentDriveDriveOperations } from \"../../gen/drive/actions.js\";\n\nexport const driveReducer: DocumentDriveDriveOperations = {\n setDriveNameOperation(state, action, dispatch) {\n state.name = action.input.name;\n },\n setDriveIconOperation(state, action, dispatch) {\n state.icon = action.input.icon;\n },\n setSharingTypeOperation(state, action, dispatch) {\n state.sharingType = action.input.type;\n },\n setAvailableOfflineOperation(state, action, dispatch) {\n state.availableOffline = action.input.availableOffline;\n },\n addListenerOperation(state, action, dispatch) {\n const { listener: input } = action.input;\n if (state.listeners.find((l) => l.listenerId === input.listenerId)) {\n throw new Error(`A listener with Id: ${input.listenerId} already exists`);\n }\n // Convert InputMaybe (undefined | null | T) to Maybe (null | T)\n const listener: Listener = {\n listenerId: input.listenerId,\n label: input.label ?? null,\n block: input.block,\n system: input.system,\n filter: {\n documentType: input.filter.documentType ?? null,\n documentId: input.filter.documentId ?? null,\n scope: input.filter.scope ?? null,\n branch: input.filter.branch ?? null,\n },\n callInfo: input.callInfo\n ? {\n transmitterType: input.callInfo.transmitterType ?? null,\n name: input.callInfo.name ?? null,\n data: input.callInfo.data ?? null,\n }\n : null,\n };\n state.listeners.push(listener);\n },\n removeListenerOperation(state, action, dispatch) {\n state.listeners = state.listeners.filter(\n (listener) => listener.listenerId !== action.input.listenerId,\n );\n },\n addTriggerOperation(state, action, dispatch) {\n const { trigger: input } = action.input;\n if (state.triggers.find((t) => t.id === input.id)) {\n throw new Error(`A trigger with Id: ${input.id} already exists`);\n }\n // Convert InputMaybe to Maybe - PullResponderTriggerData has all required fields so spread works\n const trigger: Trigger = {\n id: input.id,\n type: input.type,\n data: input.data ? { ...input.data } : null,\n };\n state.triggers.push(trigger);\n },\n removeTriggerOperation(state, action, dispatch) {\n state.triggers = state.triggers.filter(\n (trigger) => trigger.id !== action.input.triggerId,\n );\n },\n};\n","import type {\n CopyNodeInput,\n FileNode,\n FolderNode,\n Node,\n} from \"../gen/schema/types.js\";\nimport type {\n GenerateNodesCopyIdGenerator,\n GenerateNodesCopySrc,\n} from \"./types.js\";\n\nexport function isFileNode(node: Node): node is FileNode {\n return node.kind === \"file\";\n}\n\nexport function isFolderNode(node: Node): node is FolderNode {\n return node.kind === \"folder\";\n}\n\nexport function getAncestors(node: Node, allNodes: Node[]): Node[] {\n if (!node.parentFolder) {\n return [];\n } else {\n const parentNode = allNodes.find((_node) => _node.id === node.parentFolder);\n if (!parentNode) {\n throw new Error(`Parent node with id ${node.parentFolder} not found`);\n }\n return [parentNode, ...getAncestors(parentNode, allNodes)];\n }\n}\n\nexport function getDescendants(node: Node, allNodes: Node[]): Node[] {\n const children = allNodes.filter((_node) => _node.parentFolder === node.id);\n const descendants = children.map((child) => getDescendants(child, allNodes));\n return [...children, ...descendants.flat()];\n}\n\n/**\n * Generates a copy of nodes based on the provided source and target information.\n * @param src - The source information for generating the copy.\n * @param idGenerator - The function used to generate new IDs for the copied nodes.\n * @param nodes - The array of nodes to copy from.\n * @returns An array of copied nodes with updated IDs and parent folders.\n * @throws Error if the root node with the specified ID is not found.\n */\nexport function generateNodesCopy(\n src: GenerateNodesCopySrc,\n idGenerator: GenerateNodesCopyIdGenerator,\n nodes: Node[],\n): CopyNodeInput[] {\n const rootNode = nodes.find((node) => node.id === src.srcId);\n\n if (!rootNode) {\n throw new Error(`Node with id ${src.srcId} not found`);\n }\n\n const nodesToCopy = [\n {\n ...rootNode,\n name: src.targetName || rootNode.name,\n parentFolder: src.targetParentFolder || null,\n },\n ...getDescendants(rootNode, nodes),\n ];\n\n const ids: Record<string, string | undefined> = {};\n\n // Add targetParentFolder to ids so that is not replaced by a new id\n if (src.targetParentFolder) {\n ids[src.targetParentFolder] = src.targetParentFolder;\n }\n\n const getNewNodeId = (node: Node): string => {\n let newId = ids[node.id];\n\n if (!newId) {\n const oldId = node.id;\n newId = idGenerator(node);\n ids[oldId] = newId;\n }\n\n return newId;\n };\n\n const copyNodesInput = nodesToCopy.map<CopyNodeInput>((node) => ({\n srcId: node.id,\n targetId: getNewNodeId(node),\n targetName: node.name,\n targetParentFolder: node.parentFolder ? ids[node.parentFolder] : null,\n }));\n\n return copyNodesInput;\n}\n\nexport function getNextCopyNumber(\n files: string[],\n baseFilename: string,\n): number {\n let maxNumber = 0; // Start by assuming no copies exist\n\n // Regex to find files that match the base filename followed by \" (copy)\" and possibly a number\n const regex = new RegExp(\n `^${escapeRegExp(baseFilename)} \\\\(copy\\\\)(?: (\\\\d+))?$`,\n );\n\n for (const file of files) {\n const match = file.match(regex);\n if (match) {\n const number = match[1] ? parseInt(match[1], 10) : 1;\n if (number > maxNumber) {\n maxNumber = number;\n }\n }\n }\n\n return maxNumber + 1;\n}\n\nexport function escapeRegExp(string: string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nexport function handleTargetNameCollisions(params: {\n nodes: Node[];\n targetParentFolder: string | null;\n srcName: string;\n}) {\n const { nodes, targetParentFolder, srcName } = params;\n\n const targetNodeChildrenNames = nodes\n .filter((node) =>\n targetParentFolder === \"\"\n ? node.parentFolder === null\n : node.parentFolder === targetParentFolder,\n )\n .map((node) => node.name);\n\n const targetHasNodesWithSameName = targetNodeChildrenNames.includes(srcName);\n\n const targetName = targetHasNodesWithSameName\n ? `${srcName} (copy) ${getNextCopyNumber(targetNodeChildrenNames, srcName)}`\n : srcName;\n\n return targetName;\n}\n\nexport const isValidName = (name: string) => {\n // only allow characters that are valid in a URL\n return /^[a-zA-Z0-9-_.\\s()]+$/.test(name);\n};\n","/**\n * This is a scaffold file meant for customization:\n * - modify it by implementing the reducer functions\n * - delete the file and run the code generator again to have it reset\n */\n\nimport type { FileNode } from \"../../gen/schema/types.js\";\nimport type { DocumentDriveNodeOperations } from \"../../gen/node/actions.js\";\nimport {\n getDescendants,\n handleTargetNameCollisions,\n isFileNode,\n isFolderNode,\n isValidName,\n} from \"../utils.js\";\n\nexport const nodeReducer: DocumentDriveNodeOperations = {\n addFileOperation(state, action, dispatch) {\n if (state.nodes.find((node) => node.id === action.input.id)) {\n throw new Error(`Node with id ${action.input.id} already exists!`);\n }\n\n if (!isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: action.input.name,\n targetParentFolder: action.input.parentFolder || null,\n });\n\n const fileNode: FileNode = {\n id: action.input.id,\n name,\n kind: \"file\",\n parentFolder: action.input.parentFolder ?? null,\n documentType: action.input.documentType,\n };\n state.nodes.push(fileNode);\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n\n dispatch?.({\n type: \"CREATE_CHILD_DOCUMENT\",\n input: {\n id: action.input.id,\n documentType: action.input.documentType,\n },\n });\n },\n addFolderOperation(state, action) {\n if (state.nodes.find((node) => node.id === action.input.id)) {\n throw new Error(`Node with id ${action.input.id} already exists!`);\n }\n\n if (!isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: action.input.name,\n targetParentFolder: action.input.parentFolder || null,\n });\n\n state.nodes.push({\n ...action.input,\n name,\n kind: \"folder\",\n parentFolder: action.input.parentFolder ?? null,\n });\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n deleteNodeOperation(state, action, dispatch) {\n const node = state.nodes.find((node) => node.id === action.input.id);\n if (!node) {\n throw new Error(`Node with id ${action.input.id} not found`);\n }\n const descendants = getDescendants(node, state.nodes);\n state.nodes = state.nodes.filter(\n (node) =>\n node.id !== action.input.id &&\n !descendants.find((descendant) => descendant.id === node.id),\n );\n\n [node, ...descendants]\n .filter((node) => isFileNode(node))\n .forEach((node) => {\n dispatch?.({\n type: \"DELETE_CHILD_DOCUMENT\",\n input: {\n id: node.id,\n },\n });\n });\n },\n updateFileOperation(state, action) {\n if (action.input.name && !isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n state.nodes = state.nodes.map((node) =>\n node.id === action.input.id\n ? {\n ...node,\n ...{\n name: handleTargetNameCollisions({\n nodes: state.nodes.filter((n) => n.id !== action.input.id),\n srcName: action.input.name ?? node.name,\n targetParentFolder:\n action.input.parentFolder ?? node.parentFolder,\n }),\n documentType:\n action.input.documentType ?? (node as FileNode).documentType,\n },\n }\n : node,\n );\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n updateNodeOperation(state, action) {\n if (action.input.name && !isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n state.nodes = state.nodes.map((node) =>\n node.id === action.input.id\n ? {\n ...node,\n ...{\n name: handleTargetNameCollisions({\n nodes: state.nodes.filter((n) => n.id !== action.input.id),\n srcName: action.input.name ?? node.name,\n targetParentFolder:\n action.input.parentFolder ?? node.parentFolder,\n }),\n parentFolder:\n action.input.parentFolder === null ? null : node.parentFolder,\n },\n }\n : node,\n );\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n copyNodeOperation(state, action, dispatch) {\n const node = state.nodes.find((node) => node.id === action.input.srcId);\n\n if (!node) {\n throw new Error(`Node with id ${action.input.srcId} not found`);\n }\n\n const duplicatedNode = state.nodes.find(\n (node) => node.id === action.input.targetId,\n );\n\n if (duplicatedNode) {\n throw new Error(`Node with id ${action.input.targetId} already exists`);\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: action.input.targetName || node.name,\n targetParentFolder: action.input.targetParentFolder || null,\n });\n\n const newNode = {\n ...node,\n id: action.input.targetId,\n slug: action.input.targetId,\n name,\n parentFolder: action.input.targetParentFolder || null,\n };\n\n state.nodes.push(newNode);\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n\n const isFile = isFileNode(newNode);\n if (isFile) {\n dispatch?.({\n type: \"COPY_CHILD_DOCUMENT\",\n input: {\n id: action.input.srcId,\n newId: action.input.targetId,\n },\n });\n }\n },\n moveNodeOperation(state, action) {\n if (action.input.srcFolder === action.input.targetParentFolder) {\n throw new Error(\n \"Circular Reference Error: Attempting to move a node to its current parent folder\",\n );\n }\n\n const node = state.nodes.find((node) => node.id === action.input.srcFolder);\n\n if (!node) {\n throw new Error(`Node with id ${action.input.srcFolder} not found`);\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: node.name,\n targetParentFolder: action.input.targetParentFolder || null,\n });\n\n if (isFolderNode(node)) {\n const descendants = getDescendants(node, state.nodes);\n // throw error if moving a folder to one of its descendants\n if (\n descendants.find(\n (descendant) => descendant.id === action.input.targetParentFolder,\n )\n ) {\n throw new Error(\n \"Circular Reference Error: Cannot move a folder to one of its descendants\",\n );\n }\n }\n\n state.nodes = state.nodes.map((node) => {\n if (node.id === action.input.srcFolder) {\n return {\n ...node,\n name,\n parentFolder: action.input.targetParentFolder || null,\n };\n }\n\n return node;\n });\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n};\n","import { isDocumentAction } from \"../../document-model/documents.js\";\nimport { createReducer } from \"../../document-model/reducer.js\";\nimport type { Reducer, StateReducer } from \"../../document-model/types.js\";\nimport { driveReducer } from \"../src/reducers/drive.js\";\nimport { nodeReducer } from \"../src/reducers/node.js\";\nimport {\n AddFileInputSchema,\n AddFolderInputSchema,\n AddListenerInputSchema,\n AddTriggerInputSchema,\n CopyNodeInputSchema,\n DeleteNodeInputSchema,\n MoveNodeInputSchema,\n RemoveListenerInputSchema,\n RemoveTriggerInputSchema,\n SetAvailableOfflineInputSchema,\n SetDriveIconInputSchema,\n SetDriveNameInputSchema,\n SetSharingTypeInputSchema,\n UpdateFileInputSchema,\n UpdateNodeInputSchema,\n} from \"./schema/zod.js\";\nimport type { DocumentDrivePHState } from \"./types.js\";\n\nconst driveStateReducer: StateReducer<DocumentDrivePHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n\n const typedAction = action as any;\n switch (typedAction.type) {\n case \"ADD_FILE\":\n AddFileInputSchema().parse(typedAction.input);\n nodeReducer.addFileOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"ADD_FOLDER\":\n AddFolderInputSchema().parse(typedAction.input);\n nodeReducer.addFolderOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"DELETE_NODE\":\n DeleteNodeInputSchema().parse(typedAction.input);\n nodeReducer.deleteNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"UPDATE_FILE\":\n UpdateFileInputSchema().parse(typedAction.input);\n nodeReducer.updateFileOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"UPDATE_NODE\":\n UpdateNodeInputSchema().parse(typedAction.input);\n nodeReducer.updateNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"COPY_NODE\":\n CopyNodeInputSchema().parse(typedAction.input);\n nodeReducer.copyNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"MOVE_NODE\":\n MoveNodeInputSchema().parse(typedAction.input);\n nodeReducer.moveNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_DRIVE_NAME\":\n SetDriveNameInputSchema().parse(typedAction.input);\n driveReducer.setDriveNameOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_DRIVE_ICON\":\n SetDriveIconInputSchema().parse(typedAction.input);\n driveReducer.setDriveIconOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_SHARING_TYPE\":\n SetSharingTypeInputSchema().parse(typedAction.input);\n driveReducer.setSharingTypeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_AVAILABLE_OFFLINE\":\n SetAvailableOfflineInputSchema().parse(typedAction.input);\n driveReducer.setAvailableOfflineOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"ADD_LISTENER\":\n AddListenerInputSchema().parse(typedAction.input);\n driveReducer.addListenerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"REMOVE_LISTENER\":\n RemoveListenerInputSchema().parse(typedAction.input);\n driveReducer.removeListenerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"ADD_TRIGGER\":\n AddTriggerInputSchema().parse(typedAction.input);\n driveReducer.addTriggerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"REMOVE_TRIGGER\":\n RemoveTriggerInputSchema().parse(typedAction.input);\n driveReducer.removeTriggerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n default:\n return state;\n }\n};\n\nexport const driveDocumentReducer: Reducer<DocumentDrivePHState> =\n createReducer<DocumentDrivePHState>(driveStateReducer);\n","import { z } from \"zod\";\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"../../document-model/document-schema.js\";\nimport { driveDocumentType } from \"./document-type.js\";\nimport {\n DocumentDriveLocalStateSchema,\n DocumentDriveStateSchema,\n} from \"./schema/zod.js\";\nimport type { DocumentDriveDocument, DocumentDrivePHState } from \"./types.js\";\n\n/** Schema for validating the header object of a Drive document */\nexport const DriveDocumentHeaderSchema = BaseDocumentHeaderSchema.extend({\n documentType: z.literal(driveDocumentType),\n});\n\n/** Schema for validating the state object of a Drive document */\nexport const DrivePHStateSchema = BaseDocumentStateSchema.extend({\n global: DocumentDriveStateSchema(),\n local: DocumentDriveLocalStateSchema(),\n});\n\nexport const DriveDocumentSchema = z.object({\n header: DriveDocumentHeaderSchema,\n state: DrivePHStateSchema,\n initialState: DrivePHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a Drive document state object */\nexport function isDriveState(state: unknown): state is DocumentDrivePHState {\n return DrivePHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a Drive document state object */\nexport function assertIsDriveState(\n state: unknown,\n): asserts state is DocumentDrivePHState {\n DrivePHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a Drive document */\nexport function isDriveDocument(\n document: unknown,\n): document is DocumentDriveDocument {\n return DriveDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a Drive document */\nexport function assertIsDriveDocument(\n document: unknown,\n): asserts document is DocumentDriveDocument {\n DriveDocumentSchema.parse(document);\n}\n","import type {\n DocumentDriveGlobalState,\n DocumentDriveLocalState,\n} from \"./schema/types.js\";\nimport type { DocumentDrivePHState } from \"./types.js\";\nimport type {\n AssertIsDocumentOfType,\n AssertIsStateOfType,\n CreateDocument,\n CreateState,\n IsDocumentOfType,\n IsStateOfType,\n LoadFromInput,\n SaveToFileHandle,\n} from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n generateId,\n} from \"document-model\";\nimport {\n assertIsDriveDocument,\n assertIsDriveState,\n isDriveDocument,\n isDriveState,\n} from \"./document-schema.js\";\nimport { driveDocumentType } from \"./document-type.js\";\nimport { driveDocumentReducer } from \"./reducer.js\";\n\nexport const initialGlobalState: DocumentDriveGlobalState = {\n name: \"\",\n nodes: [],\n icon: null,\n};\nexport const initialLocalState: DocumentDriveLocalState = {\n listeners: [],\n triggers: [],\n sharingType: \"private\",\n availableOffline: false,\n};\n\nexport const driveCreateState: CreateState<DocumentDrivePHState> = (\n state: Partial<DocumentDrivePHState> | undefined,\n) => {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n};\n\nexport const driveCreateDocument: CreateDocument<DocumentDrivePHState> = (\n state,\n) => {\n const document = baseCreateDocument(driveCreateState, state);\n\n document.header.documentType = driveDocumentType;\n\n // for backward compatibility -- but this is NOT a valid document id\n document.header.id = generateId();\n\n return document;\n};\n\nexport const driveSaveToFileHandle: SaveToFileHandle = (document, input) => {\n return baseSaveToFileHandle(document, input);\n};\n\nexport const driveLoadFromInput: LoadFromInput<DocumentDrivePHState> = (\n input,\n) => {\n return baseLoadFromInput(input, driveDocumentReducer);\n};\n\nexport const isStateOfType: IsStateOfType<DocumentDrivePHState> = (state) => {\n return isDriveState(state);\n};\n\nexport const assertIsStateOfType: AssertIsStateOfType<DocumentDrivePHState> = (\n state,\n) => {\n assertIsDriveState(state);\n};\n\nexport const isDocumentOfType: IsDocumentOfType<DocumentDrivePHState> = (\n document,\n) => {\n return isDriveDocument(document);\n};\n\nexport const assertIsDocumentOfType: AssertIsDocumentOfType<\n DocumentDrivePHState\n> = (document) => {\n assertIsDriveDocument(document);\n};\n","import { createState, defaultBaseState } from \"../document-model/state.js\";\nimport { driveDocumentFileExtension } from \"./constants.js\";\nimport * as actions from \"./gen/creators.js\";\nimport { driveDocumentModel } from \"./gen/document-model.js\";\nimport { driveDocumentReducer } from \"./gen/reducer.js\";\nimport {\n assertIsDocumentOfType,\n assertIsStateOfType,\n driveCreateDocument,\n driveCreateState,\n driveLoadFromInput,\n driveSaveToFileHandle,\n isDocumentOfType,\n isStateOfType,\n} from \"./gen/utils.js\";\nimport type { DriveDocumentModelModule } from \"./types.js\";\nexport const driveDocumentModelModule: DriveDocumentModelModule = {\n actions,\n reducer: driveDocumentReducer,\n documentModel: createState(defaultBaseState(), driveDocumentModel),\n utils: {\n fileExtension: driveDocumentFileExtension,\n createState: driveCreateState,\n createDocument: driveCreateDocument,\n loadFromInput: driveLoadFromInput,\n saveToFileHandle: driveSaveToFileHandle,\n isStateOfType,\n assertIsStateOfType,\n isDocumentOfType,\n assertIsDocumentOfType,\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["createState"],"sources":["../../document-drive/constants.ts","../../document-drive/gen/schema/zod.ts","../../document-drive/gen/node/creators.ts","../../document-drive/gen/drive/creators.ts","../../document-drive/gen/creators.ts","../../document-drive/gen/document-model.ts","../../document-drive/gen/document-type.ts","../../document-drive/gen/ph-factories.ts","../../document-drive/src/reducers/drive.ts","../../document-drive/src/utils.ts","../../document-drive/src/reducers/node.ts","../../document-drive/gen/reducer.ts","../../document-drive/gen/document-schema.ts","../../document-drive/gen/utils.ts","../../document-drive/module.ts"],"sourcesContent":["export const driveDocumentFileExtension = \"phdd\";\n","import type {\n AddFileInput,\n AddFolderInput,\n AddListenerInput,\n AddTriggerInput,\n CopyNodeInput,\n DeleteNodeInput,\n DocumentDriveGlobalState,\n DocumentDriveLocalState,\n FileNode,\n FolderNode,\n Listener,\n ListenerCallInfo,\n ListenerCallInfoInput,\n ListenerFilter,\n ListenerFilterInput,\n ListenerInput,\n MoveNodeInput,\n PullResponderTriggerData,\n PullResponderTriggerDataInput,\n RemoveListenerInput,\n RemoveTriggerInput,\n SetAvailableOfflineInput,\n SetDriveIconInput,\n SetDriveNameInput,\n SetSharingTypeInput,\n Trigger,\n TriggerInput,\n UpdateFileInput,\n UpdateNodeInput,\n} from \"./types.js\";\nimport { z } from \"zod\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<T[K], T[K]>;\n}>;\n\ntype definedNonNullAny = {};\n\nexport const isDefinedNonNullAny = (v: any): v is definedNonNullAny =>\n v !== undefined && v !== null;\n\nexport const definedNonNullAnySchema = z\n .any()\n .refine((v) => isDefinedNonNullAny(v));\n\nexport const TransmitterTypeSchema = z.enum([\n \"Internal\",\n \"MatrixConnect\",\n \"PullResponder\",\n \"RESTWebhook\",\n \"SecureConnect\",\n \"SwitchboardPush\",\n]);\n\nexport const TriggerTypeSchema = z.enum([\"PullResponder\"]);\n\nexport function AddFileInputSchema(): z.ZodObject<Properties<AddFileInput>> {\n return z.object({\n documentType: z.string(),\n id: z.string(),\n name: z.string(),\n parentFolder: z.string().nullish(),\n });\n}\n\nexport function AddFolderInputSchema(): z.ZodObject<\n Properties<AddFolderInput>\n> {\n return z.object({\n id: z.string(),\n name: z.string(),\n parentFolder: z.string().nullish(),\n });\n}\n\nexport function AddListenerInputSchema(): z.ZodObject<\n Properties<AddListenerInput>\n> {\n return z.object({\n listener: ListenerInputSchema(),\n });\n}\n\nexport function AddTriggerInputSchema(): z.ZodObject<\n Properties<AddTriggerInput>\n> {\n return z.object({\n trigger: TriggerInputSchema(),\n });\n}\n\nexport function CopyNodeInputSchema(): z.ZodObject<Properties<CopyNodeInput>> {\n return z.object({\n srcId: z.string(),\n targetId: z.string(),\n targetName: z.string().nullish(),\n targetParentFolder: z.string().nullish(),\n });\n}\n\nexport function DeleteNodeInputSchema(): z.ZodObject<\n Properties<DeleteNodeInput>\n> {\n return z.object({\n id: z.string(),\n });\n}\n\nexport function DocumentDriveLocalStateSchema(): z.ZodObject<\n Properties<DocumentDriveLocalState>\n> {\n return z.object({\n __typename: z.literal(\"DocumentDriveLocalState\").optional(),\n availableOffline: z.boolean(),\n listeners: z.array(ListenerSchema()),\n sharingType: z.string().nullable(),\n triggers: z.array(TriggerSchema()),\n });\n}\n\nexport function DocumentDriveStateSchema(): z.ZodObject<\n Properties<DocumentDriveGlobalState>\n> {\n return z.object({\n __typename: z.literal(\"DocumentDriveState\").optional(),\n icon: z.string().nullable(),\n name: z.string(),\n nodes: z.array(NodeSchema()),\n });\n}\n\nexport function FileNodeSchema(): z.ZodObject<Properties<FileNode>> {\n return z.object({\n __typename: z.literal(\"FileNode\").optional(),\n documentType: z.string(),\n id: z.string(),\n kind: z.string(),\n name: z.string(),\n parentFolder: z.string().nullable(),\n });\n}\n\nexport function FolderNodeSchema(): z.ZodObject<Properties<FolderNode>> {\n return z.object({\n __typename: z.literal(\"FolderNode\").optional(),\n id: z.string(),\n kind: z.string(),\n name: z.string(),\n parentFolder: z.string().nullable(),\n });\n}\n\nexport function ListenerSchema(): z.ZodObject<Properties<Listener>> {\n return z.object({\n __typename: z.literal(\"Listener\").optional(),\n block: z.boolean(),\n callInfo: ListenerCallInfoSchema().nullable(),\n filter: ListenerFilterSchema(),\n label: z.string().nullable(),\n listenerId: z.string(),\n system: z.boolean(),\n });\n}\n\nexport function ListenerInputSchema(): z.ZodObject<Properties<ListenerInput>> {\n return z.object({\n block: z.boolean(),\n callInfo: ListenerCallInfoInputSchema().nullish(),\n filter: ListenerFilterInputSchema(),\n label: z.string().nullish(),\n listenerId: z.string(),\n system: z.boolean(),\n });\n}\n\nexport function ListenerCallInfoSchema(): z.ZodObject<\n Properties<ListenerCallInfo>\n> {\n return z.object({\n __typename: z.literal(\"ListenerCallInfo\").optional(),\n data: z.string().nullable(),\n name: z.string().nullable(),\n transmitterType: TransmitterTypeSchema.nullable(),\n });\n}\n\nexport function ListenerCallInfoInputSchema(): z.ZodObject<\n Properties<ListenerCallInfoInput>\n> {\n return z.object({\n data: z.string().nullish(),\n name: z.string().nullish(),\n transmitterType: TransmitterTypeSchema.nullish(),\n });\n}\n\nexport function ListenerFilterSchema(): z.ZodObject<\n Properties<ListenerFilter>\n> {\n return z.object({\n __typename: z.literal(\"ListenerFilter\").optional(),\n branch: z.array(z.string()).nullable(),\n documentId: z.array(z.string()).nullable(),\n documentType: z.array(z.string()),\n scope: z.array(z.string()).nullable(),\n });\n}\n\nexport function ListenerFilterInputSchema(): z.ZodObject<\n Properties<ListenerFilterInput>\n> {\n return z.object({\n branch: z.array(z.string()).nullish(),\n documentId: z.array(z.string()).nullish(),\n documentType: z.array(z.string()).nullish(),\n scope: z.array(z.string()).nullish(),\n });\n}\n\nexport function MoveNodeInputSchema(): z.ZodObject<Properties<MoveNodeInput>> {\n return z.object({\n srcFolder: z.string(),\n targetParentFolder: z.string().nullish(),\n });\n}\n\nexport function NodeSchema() {\n return z.union([FileNodeSchema(), FolderNodeSchema()]);\n}\n\nexport function PullResponderTriggerDataSchema(): z.ZodObject<\n Properties<PullResponderTriggerData>\n> {\n return z.object({\n __typename: z.literal(\"PullResponderTriggerData\").optional(),\n interval: z.string(),\n listenerId: z.string(),\n url: z.string(),\n });\n}\n\nexport function PullResponderTriggerDataInputSchema(): z.ZodObject<\n Properties<PullResponderTriggerDataInput>\n> {\n return z.object({\n interval: z.string(),\n listenerId: z.string(),\n url: z.string(),\n });\n}\n\nexport function RemoveListenerInputSchema(): z.ZodObject<\n Properties<RemoveListenerInput>\n> {\n return z.object({\n listenerId: z.string(),\n });\n}\n\nexport function RemoveTriggerInputSchema(): z.ZodObject<\n Properties<RemoveTriggerInput>\n> {\n return z.object({\n triggerId: z.string(),\n });\n}\n\nexport function SetAvailableOfflineInputSchema(): z.ZodObject<\n Properties<SetAvailableOfflineInput>\n> {\n return z.object({\n availableOffline: z.boolean(),\n });\n}\n\nexport function SetDriveIconInputSchema(): z.ZodObject<\n Properties<SetDriveIconInput>\n> {\n return z.object({\n icon: z.string(),\n });\n}\n\nexport function SetDriveNameInputSchema(): z.ZodObject<\n Properties<SetDriveNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetSharingTypeInputSchema(): z.ZodObject<\n Properties<SetSharingTypeInput>\n> {\n return z.object({\n type: z.string(),\n });\n}\n\nexport function TriggerSchema(): z.ZodObject<Properties<Trigger>> {\n return z.object({\n __typename: z.literal(\"Trigger\").optional(),\n data: TriggerDataSchema().nullable(),\n id: z.string(),\n type: TriggerTypeSchema,\n });\n}\n\nexport function TriggerInputSchema(): z.ZodObject<Properties<TriggerInput>> {\n return z.object({\n data: PullResponderTriggerDataInputSchema().nullish(),\n id: z.string(),\n type: TriggerTypeSchema,\n });\n}\n\nexport function TriggerDataSchema() {\n return PullResponderTriggerDataSchema();\n}\n\nexport function UpdateFileInputSchema(): z.ZodObject<\n Properties<UpdateFileInput>\n> {\n return z.object({\n documentType: z.string().nullish(),\n id: z.string(),\n name: z.string().nullish(),\n parentFolder: z.string().nullish(),\n });\n}\n\nexport function UpdateNodeInputSchema(): z.ZodObject<\n Properties<UpdateNodeInput>\n> {\n return z.object({\n id: z.string(),\n name: z.string().nullish(),\n parentFolder: z.string().nullish(),\n });\n}\n","import type {\n AddFileInput,\n AddFolderInput,\n CopyNodeInput,\n DeleteNodeInput,\n MoveNodeInput,\n UpdateFileInput,\n UpdateNodeInput,\n} from \"../schema/types.js\";\nimport type { LegacyAddFileAction, LegacyAddFileInput } from \"../types.js\";\nimport type {\n AddFileAction,\n AddFolderAction,\n CopyNodeAction,\n DeleteNodeAction,\n MoveNodeAction,\n UpdateFileAction,\n UpdateNodeAction,\n} from \"./actions.js\";\nimport { createAction } from \"document-model\";\nimport {\n AddFileInputSchema,\n AddFolderInputSchema,\n CopyNodeInputSchema,\n DeleteNodeInputSchema,\n MoveNodeInputSchema,\n UpdateFileInputSchema,\n UpdateNodeInputSchema,\n} from \"../schema/zod.js\";\n\n/**\n * @deprecated Use addFile with {@link AddFileInput} instead. This overload will be removed in the future.\n */\nexport function addFile(input: LegacyAddFileInput): LegacyAddFileAction;\nexport function addFile(input: AddFileInput): AddFileAction;\nexport function addFile(\n input: LegacyAddFileInput | AddFileInput,\n): typeof input extends LegacyAddFileInput\n ? LegacyAddFileAction\n : AddFileAction {\n if (input && typeof input === \"object\" && \"synchronizationUnits\" in input) {\n // Legacy overload\n return createAction<AddFileAction>(\n \"ADD_FILE\",\n { ...input },\n undefined,\n undefined,\n \"global\",\n );\n }\n // Standard overload\n return createAction<AddFileAction>(\n \"ADD_FILE\",\n { ...input },\n undefined,\n AddFileInputSchema,\n \"global\",\n );\n}\n\nexport const addFolder = (input: AddFolderInput) =>\n createAction<AddFolderAction>(\n \"ADD_FOLDER\",\n { ...input },\n undefined,\n AddFolderInputSchema,\n \"global\",\n );\n\nexport const deleteNode = (input: DeleteNodeInput) =>\n createAction<DeleteNodeAction>(\n \"DELETE_NODE\",\n { ...input },\n undefined,\n DeleteNodeInputSchema,\n \"global\",\n );\n\nexport const updateFile = (input: UpdateFileInput) =>\n createAction<UpdateFileAction>(\n \"UPDATE_FILE\",\n { ...input },\n undefined,\n UpdateFileInputSchema,\n \"global\",\n );\n\nexport const updateNode = (input: UpdateNodeInput) =>\n createAction<UpdateNodeAction>(\n \"UPDATE_NODE\",\n { ...input },\n undefined,\n UpdateNodeInputSchema,\n \"global\",\n );\n\nexport const copyNode = (input: CopyNodeInput) =>\n createAction<CopyNodeAction>(\n \"COPY_NODE\",\n { ...input },\n undefined,\n CopyNodeInputSchema,\n \"global\",\n );\n\nexport const moveNode = (input: MoveNodeInput) =>\n createAction<MoveNodeAction>(\n \"MOVE_NODE\",\n { ...input },\n undefined,\n MoveNodeInputSchema,\n \"global\",\n );\n","import type {\n AddListenerInput,\n AddTriggerInput,\n RemoveListenerInput,\n RemoveTriggerInput,\n SetAvailableOfflineInput,\n SetDriveIconInput,\n SetDriveNameInput,\n SetSharingTypeInput,\n} from \"../schema/types.js\";\nimport type {\n AddListenerAction,\n AddTriggerAction,\n RemoveListenerAction,\n RemoveTriggerAction,\n SetAvailableOfflineAction,\n SetDriveIconAction,\n SetDriveNameAction,\n SetSharingTypeAction,\n} from \"./actions.js\";\nimport { createAction } from \"document-model\";\nimport {\n AddListenerInputSchema,\n AddTriggerInputSchema,\n RemoveListenerInputSchema,\n RemoveTriggerInputSchema,\n SetAvailableOfflineInputSchema,\n SetDriveIconInputSchema,\n SetDriveNameInputSchema,\n SetSharingTypeInputSchema,\n} from \"../schema/zod.js\";\n\nexport const setDriveName = (input: SetDriveNameInput) =>\n createAction<SetDriveNameAction>(\n \"SET_DRIVE_NAME\",\n { ...input },\n undefined,\n SetDriveNameInputSchema,\n \"global\",\n );\n\nexport const setDriveIcon = (input: SetDriveIconInput) =>\n createAction<SetDriveIconAction>(\n \"SET_DRIVE_ICON\",\n { ...input },\n undefined,\n SetDriveIconInputSchema,\n \"global\",\n );\n\nexport const setSharingType = (input: SetSharingTypeInput) =>\n createAction<SetSharingTypeAction>(\n \"SET_SHARING_TYPE\",\n { ...input },\n undefined,\n SetSharingTypeInputSchema,\n \"local\",\n );\n\nexport const setAvailableOffline = (input: SetAvailableOfflineInput) =>\n createAction<SetAvailableOfflineAction>(\n \"SET_AVAILABLE_OFFLINE\",\n { ...input },\n undefined,\n SetAvailableOfflineInputSchema,\n \"local\",\n );\n\nexport const addListener = (input: AddListenerInput) =>\n createAction<AddListenerAction>(\n \"ADD_LISTENER\",\n { ...input },\n undefined,\n AddListenerInputSchema,\n \"local\",\n );\n\nexport const removeListener = (input: RemoveListenerInput) =>\n createAction<RemoveListenerAction>(\n \"REMOVE_LISTENER\",\n { ...input },\n undefined,\n RemoveListenerInputSchema,\n \"local\",\n );\n\nexport const addTrigger = (input: AddTriggerInput) =>\n createAction<AddTriggerAction>(\n \"ADD_TRIGGER\",\n { ...input },\n undefined,\n AddTriggerInputSchema,\n \"local\",\n );\n\nexport const removeTrigger = (input: RemoveTriggerInput) =>\n createAction<RemoveTriggerAction>(\n \"REMOVE_TRIGGER\",\n { ...input },\n undefined,\n RemoveTriggerInputSchema,\n \"local\",\n );\n","export * from \"./node/creators.js\";\nexport * from \"./drive/creators.js\";\n","import type { DocumentModelGlobalState } from \"../../document-model/types.js\";\n\nexport const driveDocumentModel: DocumentModelGlobalState = {\n id: \"powerhouse/document-drive\",\n name: \"DocumentDrive\",\n extension: \"phdd\",\n description: \"\",\n author: {\n name: \"Powerhouse Inc\",\n website: \"https://www.powerhouse.inc/\",\n },\n specifications: [\n {\n version: 1,\n changeLog: [],\n state: {\n global: {\n schema:\n \"type FolderNode {\\n id: String!\\n name: String!\\n kind: String!\\n parentFolder: String\\n}\\n\\ntype FileNode {\\n id: String!\\n name: String!\\n kind: String!\\n documentType: String!\\n parentFolder: String\\n}\\n\\nunion Node = FolderNode | FileNode\\n\\ntype DocumentDriveState {\\n name: String!\\n nodes: [Node!]!\\n icon: String\\n}\",\n initialValue: '\"{\\\\\"name\\\\\":\\\\\"\\\\\",\\\\\"nodes\\\\\":[],\\\\\"icon\\\\\":null}\"',\n examples: [],\n },\n local: {\n schema:\n \"type ListenerFilter {\\n documentType: [String!]!\\n documentId: [ID!]\\n scope: [String!]\\n branch: [String!]\\n}\\n\\nenum TransmitterType {\\n Internal,\\n SwitchboardPush,\\n PullResponder,\\n SecureConnect, \\n MatrixConnect,\\n RESTWebhook\\n}\\n\\ntype ListenerCallInfo {\\n transmitterType: TransmitterType\\n name: String\\n data: String\\n}\\n\\ntype Listener {\\n listenerId: ID!\\n label: String\\n block: Boolean!\\n system: Boolean!\\n filter: ListenerFilter!\\n callInfo: ListenerCallInfo\\n}\\n\\nenum TriggerType {\\n PullResponder\\n}\\n\\ntype PullResponderTriggerData {\\n listenerId: ID!\\n url: String!\\n interval: String!\\n}\\n\\nunion TriggerData = PullResponderTriggerData\\n\\ntype Trigger {\\n id: ID!\\n type: TriggerType!\\n data: TriggerData\\n}\\n\\ntype DocumentDriveLocalState{\\n sharingType: String\\n listeners: [Listener!]!\\n triggers: [Trigger!]!\\n availableOffline: Boolean!\\n}\",\n initialValue:\n '\"{ \\\\\"listeners\\\\\": [], \\\\\"triggers\\\\\": [], \\\\\"sharingType\\\\\": \\\\\"private\\\\\", \\\\\"availableOffline\\\\\": false}\"',\n examples: [],\n },\n },\n modules: [\n {\n id: \"GRzuvv78tBvmB6ciitokLfonNHA=\",\n name: \"Node\",\n description: \"\",\n operations: [\n {\n id: \"7xiTdxonc9yEASR8sfV/KnbSV10=\",\n name: \"ADD_FILE\",\n description: \"\",\n schema:\n \"input AddFileInput {\\n id: ID!\\n name: String!\\n documentType: String!\\n parentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"4lzNMMKKdIAtEU6i12xLgi9hp+U=\",\n name: \"ADD_FOLDER\",\n description: \"\",\n schema:\n \"input AddFolderInput {\\n id: ID!\\n name: String!\\n parentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"53jH2/3TWTTcgCJiv2C+BmuC6i0=\",\n name: \"DELETE_NODE\",\n description: \"\",\n schema: \"input DeleteNodeInput {\\n id: ID!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"pNn+Y1/HVq/GNMk7t0u3g3gtMLE=\",\n name: \"UPDATE_FILE\",\n description: \"\",\n schema:\n \"input UpdateFileInput {\\n id: ID!\\n parentFolder: ID\\n name: String\\n documentType: String\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"P0x1M8Mnt+Q/+9nggkwgVbfybsc=\",\n name: \"UPDATE_NODE\",\n description: \"\",\n schema:\n \"input UpdateNodeInput {\\n id: ID!\\n parentFolder: ID\\n name: String\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"vnQ7OB5b3wGLgjhbgJqAIpA+JLE=\",\n name: \"COPY_NODE\",\n description: \"\",\n schema:\n \"input CopyNodeInput {\\n srcId: ID!\\n targetId: ID!\\n targetName: String\\n targetParentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"VNyiD/sNGzk6k9A1Qe7s8dmrJxA=\",\n name: \"MOVE_NODE\",\n description: \"\",\n schema:\n \"input MoveNodeInput {\\n srcFolder: ID!\\n targetParentFolder: ID\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n ],\n },\n {\n id: \"0dHwHlxOM9x0vMZ+gLnKxf2qTEo=\",\n name: \"Drive\",\n description: \"\",\n operations: [\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z1dsU=\",\n name: \"SET_DRIVE_NAME\",\n description: \"\",\n schema: \"input SetDriveNameInput {\\n name: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z30dsU=\",\n name: \"SET_DRIVE_ICON\",\n description: \"\",\n schema: \"input SetDriveIconInput {\\n icon: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"global\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z2dsU=\",\n name: \"SET_SHARING_TYPE\",\n description: \"\",\n schema: \"input SetSharingTypeInput {\\n type: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z3dsU=\",\n name: \"SET_AVAILABLE_OFFLINE\",\n description: \"\",\n schema:\n \"input SetAvailableOfflineInput {\\n availableOffline: Boolean!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z9dsU=\",\n name: \"ADD_LISTENER\",\n description: \"\",\n schema:\n \"input ListenerFilterInput {\\n documentType: [String!]\\n documentId: [ID!]\\n scope: [String!]\\n branch: [String!]\\n}\\n\\ninput ListenerCallInfoInput {\\n transmitterType: TransmitterType\\n name: String\\n data: String\\n}\\n\\ninput ListenerInput {\\n listenerId: ID!\\n label: String\\n block: Boolean!\\n system: Boolean!\\n filter: ListenerFilterInput!\\n callInfo: ListenerCallInfoInput\\n}\\n\\ninput AddListenerInput {\\n listener: ListenerInput!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z10dsU=\",\n name: \"REMOVE_LISTENER\",\n description: \"\",\n schema: \"input RemoveListenerInput {\\n listenerId: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z20dsU=\",\n name: \"ADD_TRIGGER\",\n description: \"\",\n schema:\n \"input PullResponderTriggerDataInput {\\n listenerId: ID!\\n url: String!\\n interval: String!\\n}\\n\\ninput TriggerInput {\\n id: ID!\\n type: TriggerType!\\n data: PullResponderTriggerDataInput\\n}\\n\\ninput AddTriggerInput {\\n trigger: TriggerInput!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n {\n id: \"qGCiPGpTt/cyz3HzyrBn92z30dsU=\",\n name: \"REMOVE_TRIGGER\",\n description: \"\",\n schema: \"input RemoveTriggerInput {\\n triggerId: String!\\n}\",\n template: \"\",\n reducer: \"\",\n errors: [],\n examples: [],\n scope: \"local\",\n },\n ],\n },\n ],\n },\n ],\n};\n","export const driveDocumentType = \"powerhouse/document-drive\";\n","/**\n * Factory methods for creating DocumentDriveDocument instances\n */\n\nimport {\n createBaseState,\n defaultBaseState,\n type PHBaseState,\n} from \"../../document-model/state.js\";\nimport type {\n DocumentDriveGlobalState,\n DocumentDriveLocalState,\n DocumentDrivePHState,\n} from \"./types.js\";\n\nexport function defaultGlobalState(): DocumentDriveGlobalState {\n return {\n icon: null,\n name: \"\",\n nodes: [],\n };\n}\n\nexport function defaultLocalState(): DocumentDriveLocalState {\n return {\n availableOffline: false,\n listeners: [],\n sharingType: null,\n triggers: [],\n };\n}\n\nexport function defaultPHState(): DocumentDrivePHState {\n return {\n ...defaultBaseState(),\n global: defaultGlobalState(),\n local: defaultLocalState(),\n };\n}\n\nexport function createGlobalState(\n state?: Partial<DocumentDriveGlobalState>,\n): DocumentDriveGlobalState {\n return {\n ...defaultGlobalState(),\n ...(state || {}),\n } as DocumentDriveGlobalState;\n}\n\nexport function createLocalState(\n state?: Partial<DocumentDriveLocalState>,\n): DocumentDriveLocalState {\n return {\n ...defaultLocalState(),\n ...(state || {}),\n } as DocumentDriveLocalState;\n}\n\nexport function createState(\n baseState?: Partial<PHBaseState>,\n globalState?: Partial<DocumentDriveGlobalState>,\n localState?: Partial<DocumentDriveLocalState>,\n): DocumentDrivePHState {\n return {\n ...createBaseState(baseState?.auth, baseState?.document),\n global: createGlobalState(globalState),\n local: createLocalState(localState),\n };\n}\n","/**\n * This is a scaffold file meant for customization:\n * - modify it by implementing the reducer functions\n * - delete the file and run the code generator again to have it reset\n */\n\nimport type { Listener, Trigger } from \"../../gen/schema/types.js\";\nimport type { DocumentDriveDriveOperations } from \"../../gen/drive/actions.js\";\n\nexport const driveReducer: DocumentDriveDriveOperations = {\n setDriveNameOperation(state, action, dispatch) {\n state.name = action.input.name;\n },\n setDriveIconOperation(state, action, dispatch) {\n state.icon = action.input.icon;\n },\n setSharingTypeOperation(state, action, dispatch) {\n state.sharingType = action.input.type;\n },\n setAvailableOfflineOperation(state, action, dispatch) {\n state.availableOffline = action.input.availableOffline;\n },\n addListenerOperation(state, action, dispatch) {\n const { listener: input } = action.input;\n if (state.listeners.find((l) => l.listenerId === input.listenerId)) {\n throw new Error(`A listener with Id: ${input.listenerId} already exists`);\n }\n // Convert InputMaybe (undefined | null | T) to Maybe (null | T)\n const listener: Listener = {\n listenerId: input.listenerId,\n label: input.label ?? null,\n block: input.block,\n system: input.system,\n filter: {\n documentType: input.filter.documentType ?? null,\n documentId: input.filter.documentId ?? null,\n scope: input.filter.scope ?? null,\n branch: input.filter.branch ?? null,\n },\n callInfo: input.callInfo\n ? {\n transmitterType: input.callInfo.transmitterType ?? null,\n name: input.callInfo.name ?? null,\n data: input.callInfo.data ?? null,\n }\n : null,\n };\n state.listeners.push(listener);\n },\n removeListenerOperation(state, action, dispatch) {\n state.listeners = state.listeners.filter(\n (listener) => listener.listenerId !== action.input.listenerId,\n );\n },\n addTriggerOperation(state, action, dispatch) {\n const { trigger: input } = action.input;\n if (state.triggers.find((t) => t.id === input.id)) {\n throw new Error(`A trigger with Id: ${input.id} already exists`);\n }\n // Convert InputMaybe to Maybe - PullResponderTriggerData has all required fields so spread works\n const trigger: Trigger = {\n id: input.id,\n type: input.type,\n data: input.data ? { ...input.data } : null,\n };\n state.triggers.push(trigger);\n },\n removeTriggerOperation(state, action, dispatch) {\n state.triggers = state.triggers.filter(\n (trigger) => trigger.id !== action.input.triggerId,\n );\n },\n};\n","import type {\n CopyNodeInput,\n FileNode,\n FolderNode,\n Node,\n} from \"../gen/schema/types.js\";\nimport type {\n GenerateNodesCopyIdGenerator,\n GenerateNodesCopySrc,\n} from \"./types.js\";\n\nexport function isFileNode(node: Node): node is FileNode {\n return node.kind === \"file\";\n}\n\nexport function isFolderNode(node: Node): node is FolderNode {\n return node.kind === \"folder\";\n}\n\nexport function getAncestors(node: Node, allNodes: Node[]): Node[] {\n if (!node.parentFolder) {\n return [];\n } else {\n const parentNode = allNodes.find((_node) => _node.id === node.parentFolder);\n if (!parentNode) {\n throw new Error(`Parent node with id ${node.parentFolder} not found`);\n }\n return [parentNode, ...getAncestors(parentNode, allNodes)];\n }\n}\n\nexport function getDescendants(node: Node, allNodes: Node[]): Node[] {\n const children = allNodes.filter((_node) => _node.parentFolder === node.id);\n const descendants = children.map((child) => getDescendants(child, allNodes));\n return [...children, ...descendants.flat()];\n}\n\n/**\n * Generates a copy of nodes based on the provided source and target information.\n * @param src - The source information for generating the copy.\n * @param idGenerator - The function used to generate new IDs for the copied nodes.\n * @param nodes - The array of nodes to copy from.\n * @returns An array of copied nodes with updated IDs and parent folders.\n * @throws Error if the root node with the specified ID is not found.\n */\nexport function generateNodesCopy(\n src: GenerateNodesCopySrc,\n idGenerator: GenerateNodesCopyIdGenerator,\n nodes: Node[],\n): CopyNodeInput[] {\n const rootNode = nodes.find((node) => node.id === src.srcId);\n\n if (!rootNode) {\n throw new Error(`Node with id ${src.srcId} not found`);\n }\n\n const nodesToCopy = [\n {\n ...rootNode,\n name: src.targetName || rootNode.name,\n parentFolder: src.targetParentFolder || null,\n },\n ...getDescendants(rootNode, nodes),\n ];\n\n const ids: Record<string, string | undefined> = {};\n\n // Add targetParentFolder to ids so that is not replaced by a new id\n if (src.targetParentFolder) {\n ids[src.targetParentFolder] = src.targetParentFolder;\n }\n\n const getNewNodeId = (node: Node): string => {\n let newId = ids[node.id];\n\n if (!newId) {\n const oldId = node.id;\n newId = idGenerator(node);\n ids[oldId] = newId;\n }\n\n return newId;\n };\n\n const copyNodesInput = nodesToCopy.map<CopyNodeInput>((node) => ({\n srcId: node.id,\n targetId: getNewNodeId(node),\n targetName: node.name,\n targetParentFolder: node.parentFolder ? ids[node.parentFolder] : null,\n }));\n\n return copyNodesInput;\n}\n\nexport function getNextCopyNumber(\n files: string[],\n baseFilename: string,\n): number {\n let maxNumber = 0; // Start by assuming no copies exist\n\n // Regex to find files that match the base filename followed by \" (copy)\" and possibly a number\n const regex = new RegExp(\n `^${escapeRegExp(baseFilename)} \\\\(copy\\\\)(?: (\\\\d+))?$`,\n );\n\n for (const file of files) {\n const match = file.match(regex);\n if (match) {\n const number = match[1] ? parseInt(match[1], 10) : 1;\n if (number > maxNumber) {\n maxNumber = number;\n }\n }\n }\n\n return maxNumber + 1;\n}\n\nexport function escapeRegExp(string: string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nexport function handleTargetNameCollisions(params: {\n nodes: Node[];\n targetParentFolder: string | null;\n srcName: string;\n srcKind: \"file\" | \"folder\";\n}) {\n const { nodes, targetParentFolder, srcName, srcKind } = params;\n\n const targetNodeChildrenNames = nodes\n .filter((node) =>\n targetParentFolder === \"\"\n ? node.parentFolder === null\n : node.parentFolder === targetParentFolder,\n )\n .filter((node) => node.kind === srcKind)\n .map((node) => node.name);\n\n const targetHasNodesWithSameName = targetNodeChildrenNames.includes(srcName);\n\n const targetName = targetHasNodesWithSameName\n ? `${srcName} (copy) ${getNextCopyNumber(targetNodeChildrenNames, srcName)}`\n : srcName;\n\n return targetName;\n}\n\nexport const isValidName = (name: string) => {\n // only allow characters that are valid in a URL\n return /^[a-zA-Z0-9-_.\\s()]+$/.test(name);\n};\n","/**\n * This is a scaffold file meant for customization:\n * - modify it by implementing the reducer functions\n * - delete the file and run the code generator again to have it reset\n */\n\nimport type { FileNode } from \"../../gen/schema/types.js\";\nimport type { DocumentDriveNodeOperations } from \"../../gen/node/actions.js\";\nimport {\n getDescendants,\n handleTargetNameCollisions,\n isFileNode,\n isFolderNode,\n isValidName,\n} from \"../utils.js\";\n\nexport const nodeReducer: DocumentDriveNodeOperations = {\n addFileOperation(state, action, dispatch) {\n if (state.nodes.find((node) => node.id === action.input.id)) {\n throw new Error(`Node with id ${action.input.id} already exists!`);\n }\n\n if (!isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: action.input.name,\n srcKind: \"file\",\n targetParentFolder: action.input.parentFolder || null,\n });\n\n const fileNode: FileNode = {\n id: action.input.id,\n name,\n kind: \"file\",\n parentFolder: action.input.parentFolder ?? null,\n documentType: action.input.documentType,\n };\n state.nodes.push(fileNode);\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n\n dispatch?.({\n type: \"CREATE_CHILD_DOCUMENT\",\n input: {\n id: action.input.id,\n documentType: action.input.documentType,\n },\n });\n },\n addFolderOperation(state, action) {\n if (state.nodes.find((node) => node.id === action.input.id)) {\n throw new Error(`Node with id ${action.input.id} already exists!`);\n }\n\n if (!isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: action.input.name,\n srcKind: \"folder\",\n targetParentFolder: action.input.parentFolder || null,\n });\n\n state.nodes.push({\n ...action.input,\n name,\n kind: \"folder\",\n parentFolder: action.input.parentFolder ?? null,\n });\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n deleteNodeOperation(state, action, dispatch) {\n const node = state.nodes.find((node) => node.id === action.input.id);\n if (!node) {\n throw new Error(`Node with id ${action.input.id} not found`);\n }\n const descendants = getDescendants(node, state.nodes);\n state.nodes = state.nodes.filter(\n (node) =>\n node.id !== action.input.id &&\n !descendants.find((descendant) => descendant.id === node.id),\n );\n\n [node, ...descendants]\n .filter((node) => isFileNode(node))\n .forEach((node) => {\n dispatch?.({\n type: \"DELETE_CHILD_DOCUMENT\",\n input: {\n id: node.id,\n },\n });\n });\n },\n updateFileOperation(state, action) {\n if (action.input.name && !isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n state.nodes = state.nodes.map((node) =>\n node.id === action.input.id\n ? {\n ...node,\n ...{\n name: handleTargetNameCollisions({\n nodes: state.nodes.filter((n) => n.id !== action.input.id),\n srcName: action.input.name ?? node.name,\n srcKind: \"file\",\n targetParentFolder:\n action.input.parentFolder ?? node.parentFolder,\n }),\n documentType:\n action.input.documentType ?? (node as FileNode).documentType,\n },\n }\n : node,\n );\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n updateNodeOperation(state, action) {\n if (action.input.name && !isValidName(action.input.name)) {\n throw new Error(\n `Invalid name: '${action.input.name}'. Names must be valid URL characters.`,\n );\n }\n\n state.nodes = state.nodes.map((node) =>\n node.id === action.input.id\n ? {\n ...node,\n ...{\n name: handleTargetNameCollisions({\n nodes: state.nodes.filter((n) => n.id !== action.input.id),\n srcName: action.input.name ?? node.name,\n srcKind: node.kind === \"file\" ? \"file\" : \"folder\",\n targetParentFolder:\n action.input.parentFolder ?? node.parentFolder,\n }),\n parentFolder:\n action.input.parentFolder === null ? null : node.parentFolder,\n },\n }\n : node,\n );\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n copyNodeOperation(state, action, dispatch) {\n const node = state.nodes.find((node) => node.id === action.input.srcId);\n\n if (!node) {\n throw new Error(`Node with id ${action.input.srcId} not found`);\n }\n\n const duplicatedNode = state.nodes.find(\n (node) => node.id === action.input.targetId,\n );\n\n if (duplicatedNode) {\n throw new Error(`Node with id ${action.input.targetId} already exists`);\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: action.input.targetName || node.name,\n srcKind: node.kind === \"file\" ? \"file\" : \"folder\",\n targetParentFolder: action.input.targetParentFolder || null,\n });\n\n const newNode = {\n ...node,\n id: action.input.targetId,\n slug: action.input.targetId,\n name,\n parentFolder: action.input.targetParentFolder || null,\n };\n\n state.nodes.push(newNode);\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n\n const isFile = isFileNode(newNode);\n if (isFile) {\n dispatch?.({\n type: \"COPY_CHILD_DOCUMENT\",\n input: {\n id: action.input.srcId,\n newId: action.input.targetId,\n },\n });\n }\n },\n moveNodeOperation(state, action) {\n if (action.input.srcFolder === action.input.targetParentFolder) {\n throw new Error(\n \"Circular Reference Error: Attempting to move a node to its current parent folder\",\n );\n }\n\n const node = state.nodes.find((node) => node.id === action.input.srcFolder);\n\n if (!node) {\n throw new Error(`Node with id ${action.input.srcFolder} not found`);\n }\n\n const name = handleTargetNameCollisions({\n nodes: state.nodes,\n srcName: node.name,\n srcKind: node.kind === \"file\" ? \"file\" : \"folder\",\n targetParentFolder: action.input.targetParentFolder || null,\n });\n\n if (isFolderNode(node)) {\n const descendants = getDescendants(node, state.nodes);\n // throw error if moving a folder to one of its descendants\n if (\n descendants.find(\n (descendant) => descendant.id === action.input.targetParentFolder,\n )\n ) {\n throw new Error(\n \"Circular Reference Error: Cannot move a folder to one of its descendants\",\n );\n }\n }\n\n state.nodes = state.nodes.map((node) => {\n if (node.id === action.input.srcFolder) {\n return {\n ...node,\n name,\n parentFolder: action.input.targetParentFolder || null,\n };\n }\n\n return node;\n });\n\n // deterministically sort nodes by id\n state.nodes.sort((a, b) => a.id.localeCompare(b.id));\n },\n};\n","import { isDocumentAction } from \"../../document-model/documents.js\";\nimport { createReducer } from \"../../document-model/reducer.js\";\nimport type { Reducer, StateReducer } from \"../../document-model/types.js\";\nimport { driveReducer } from \"../src/reducers/drive.js\";\nimport { nodeReducer } from \"../src/reducers/node.js\";\nimport {\n AddFileInputSchema,\n AddFolderInputSchema,\n AddListenerInputSchema,\n AddTriggerInputSchema,\n CopyNodeInputSchema,\n DeleteNodeInputSchema,\n MoveNodeInputSchema,\n RemoveListenerInputSchema,\n RemoveTriggerInputSchema,\n SetAvailableOfflineInputSchema,\n SetDriveIconInputSchema,\n SetDriveNameInputSchema,\n SetSharingTypeInputSchema,\n UpdateFileInputSchema,\n UpdateNodeInputSchema,\n} from \"./schema/zod.js\";\nimport type { DocumentDrivePHState } from \"./types.js\";\n\nconst driveStateReducer: StateReducer<DocumentDrivePHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n\n const typedAction = action as any;\n switch (typedAction.type) {\n case \"ADD_FILE\":\n AddFileInputSchema().parse(typedAction.input);\n nodeReducer.addFileOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"ADD_FOLDER\":\n AddFolderInputSchema().parse(typedAction.input);\n nodeReducer.addFolderOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"DELETE_NODE\":\n DeleteNodeInputSchema().parse(typedAction.input);\n nodeReducer.deleteNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"UPDATE_FILE\":\n UpdateFileInputSchema().parse(typedAction.input);\n nodeReducer.updateFileOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"UPDATE_NODE\":\n UpdateNodeInputSchema().parse(typedAction.input);\n nodeReducer.updateNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"COPY_NODE\":\n CopyNodeInputSchema().parse(typedAction.input);\n nodeReducer.copyNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"MOVE_NODE\":\n MoveNodeInputSchema().parse(typedAction.input);\n nodeReducer.moveNodeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_DRIVE_NAME\":\n SetDriveNameInputSchema().parse(typedAction.input);\n driveReducer.setDriveNameOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_DRIVE_ICON\":\n SetDriveIconInputSchema().parse(typedAction.input);\n driveReducer.setDriveIconOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_SHARING_TYPE\":\n SetSharingTypeInputSchema().parse(typedAction.input);\n driveReducer.setSharingTypeOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"SET_AVAILABLE_OFFLINE\":\n SetAvailableOfflineInputSchema().parse(typedAction.input);\n driveReducer.setAvailableOfflineOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"ADD_LISTENER\":\n AddListenerInputSchema().parse(typedAction.input);\n driveReducer.addListenerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"REMOVE_LISTENER\":\n RemoveListenerInputSchema().parse(typedAction.input);\n driveReducer.removeListenerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"ADD_TRIGGER\":\n AddTriggerInputSchema().parse(typedAction.input);\n driveReducer.addTriggerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n case \"REMOVE_TRIGGER\":\n RemoveTriggerInputSchema().parse(typedAction.input);\n driveReducer.removeTriggerOperation(\n (state as any)[typedAction.scope],\n action as any,\n dispatch,\n );\n break;\n\n default:\n return state;\n }\n};\n\nexport const driveDocumentReducer: Reducer<DocumentDrivePHState> =\n createReducer<DocumentDrivePHState>(driveStateReducer);\n","import { z } from \"zod\";\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"../../document-model/document-schema.js\";\nimport { driveDocumentType } from \"./document-type.js\";\nimport {\n DocumentDriveLocalStateSchema,\n DocumentDriveStateSchema,\n} from \"./schema/zod.js\";\nimport type { DocumentDriveDocument, DocumentDrivePHState } from \"./types.js\";\n\n/** Schema for validating the header object of a Drive document */\nexport const DriveDocumentHeaderSchema = BaseDocumentHeaderSchema.extend({\n documentType: z.literal(driveDocumentType),\n});\n\n/** Schema for validating the state object of a Drive document */\nexport const DrivePHStateSchema = BaseDocumentStateSchema.extend({\n global: DocumentDriveStateSchema(),\n local: DocumentDriveLocalStateSchema(),\n});\n\nexport const DriveDocumentSchema = z.object({\n header: DriveDocumentHeaderSchema,\n state: DrivePHStateSchema,\n initialState: DrivePHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a Drive document state object */\nexport function isDriveState(state: unknown): state is DocumentDrivePHState {\n return DrivePHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a Drive document state object */\nexport function assertIsDriveState(\n state: unknown,\n): asserts state is DocumentDrivePHState {\n DrivePHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a Drive document */\nexport function isDriveDocument(\n document: unknown,\n): document is DocumentDriveDocument {\n return DriveDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a Drive document */\nexport function assertIsDriveDocument(\n document: unknown,\n): asserts document is DocumentDriveDocument {\n DriveDocumentSchema.parse(document);\n}\n","import type {\n DocumentDriveGlobalState,\n DocumentDriveLocalState,\n} from \"./schema/types.js\";\nimport type { DocumentDrivePHState } from \"./types.js\";\nimport type {\n AssertIsDocumentOfType,\n AssertIsStateOfType,\n CreateDocument,\n CreateState,\n IsDocumentOfType,\n IsStateOfType,\n LoadFromInput,\n SaveToFileHandle,\n} from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n generateId,\n} from \"document-model\";\nimport {\n assertIsDriveDocument,\n assertIsDriveState,\n isDriveDocument,\n isDriveState,\n} from \"./document-schema.js\";\nimport { driveDocumentType } from \"./document-type.js\";\nimport { driveDocumentReducer } from \"./reducer.js\";\n\nexport const initialGlobalState: DocumentDriveGlobalState = {\n name: \"\",\n nodes: [],\n icon: null,\n};\nexport const initialLocalState: DocumentDriveLocalState = {\n listeners: [],\n triggers: [],\n sharingType: \"private\",\n availableOffline: false,\n};\n\nexport const driveCreateState: CreateState<DocumentDrivePHState> = (\n state: Partial<DocumentDrivePHState> | undefined,\n) => {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n};\n\nexport const driveCreateDocument: CreateDocument<DocumentDrivePHState> = (\n state,\n) => {\n const document = baseCreateDocument(driveCreateState, state);\n\n document.header.documentType = driveDocumentType;\n\n // for backward compatibility -- but this is NOT a valid document id\n document.header.id = generateId();\n\n return document;\n};\n\nexport const driveSaveToFileHandle: SaveToFileHandle = (document, input) => {\n return baseSaveToFileHandle(document, input);\n};\n\nexport const driveLoadFromInput: LoadFromInput<DocumentDrivePHState> = (\n input,\n) => {\n return baseLoadFromInput(input, driveDocumentReducer);\n};\n\nexport const isStateOfType: IsStateOfType<DocumentDrivePHState> = (state) => {\n return isDriveState(state);\n};\n\nexport const assertIsStateOfType: AssertIsStateOfType<DocumentDrivePHState> = (\n state,\n) => {\n assertIsDriveState(state);\n};\n\nexport const isDocumentOfType: IsDocumentOfType<DocumentDrivePHState> = (\n document,\n) => {\n return isDriveDocument(document);\n};\n\nexport const assertIsDocumentOfType: AssertIsDocumentOfType<\n DocumentDrivePHState\n> = (document) => {\n assertIsDriveDocument(document);\n};\n","import { createState, defaultBaseState } from \"../document-model/state.js\";\nimport { driveDocumentFileExtension } from \"./constants.js\";\nimport * as actions from \"./gen/creators.js\";\nimport { driveDocumentModel } from \"./gen/document-model.js\";\nimport { driveDocumentReducer } from \"./gen/reducer.js\";\nimport {\n assertIsDocumentOfType,\n assertIsStateOfType,\n driveCreateDocument,\n driveCreateState,\n driveLoadFromInput,\n driveSaveToFileHandle,\n isDocumentOfType,\n isStateOfType,\n} from \"./gen/utils.js\";\nimport type { DriveDocumentModelModule } from \"./types.js\";\nexport const driveDocumentModelModule: DriveDocumentModelModule = {\n actions,\n reducer: driveDocumentReducer,\n documentModel: createState(defaultBaseState(), driveDocumentModel),\n utils: {\n fileExtension: driveDocumentFileExtension,\n createState: driveCreateState,\n createDocument: driveCreateDocument,\n loadFromInput: driveLoadFromInput,\n saveToFileHandle: driveSaveToFileHandle,\n isStateOfType,\n assertIsStateOfType,\n isDocumentOfType,\n assertIsDocumentOfType,\n },\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/shared",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.201",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"npm-package-arg": "13.0.2",
|
|
90
90
|
"package-directory": "^8.1.0",
|
|
91
91
|
"package-manager-detector": "1.6.0",
|
|
92
|
-
"remeda": "
|
|
92
|
+
"remeda": "2.33.7",
|
|
93
93
|
"rolldown": "1.0.0-rc.8",
|
|
94
94
|
"safe-stable-stringify": "^2.4.3",
|
|
95
95
|
"sha1-uint8array": "^0.10.7",
|