@powerhousedao/vetra 6.2.0-dev.2 → 6.2.0-dev.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/codegen/index.d.ts +4 -4
  2. package/dist/document-models/app-module/index.d.ts +1 -1
  3. package/dist/document-models/document-editor/index.d.ts +1 -1
  4. package/dist/document-models/index.d.ts +5 -5
  5. package/dist/document-models/processor-module/index.d.ts +1 -1
  6. package/dist/document-models/subgraph-module/index.d.ts +1 -1
  7. package/dist/document-models/vetra-package/index.d.ts +1 -1
  8. package/dist/{editor-CM9tpwzR.js → editor-B560eld_.js} +15 -15
  9. package/dist/editor-B560eld_.js.map +1 -0
  10. package/dist/{editor-rYCWiter.js → editor-CAVHtR-v.js} +6 -6
  11. package/dist/editor-CAVHtR-v.js.map +1 -0
  12. package/dist/{editor-D-QqGEkw.js → editor-CVCLxUhe.js} +14 -14
  13. package/dist/editor-CVCLxUhe.js.map +1 -0
  14. package/dist/{editor-BamOOi9L.js → editor-DnG2Zzet.js} +10 -10
  15. package/dist/editor-DnG2Zzet.js.map +1 -0
  16. package/dist/{editor-Dz3cXtzn.js → editor-mor7dV6n.js} +56 -56
  17. package/dist/editor-mor7dV6n.js.map +1 -0
  18. package/dist/{editor-je4HFt2f.js → editor-xCnDas6c.js} +30 -30
  19. package/dist/editor-xCnDas6c.js.map +1 -0
  20. package/dist/editors/components/index.js +1 -1
  21. package/dist/editors/components/index.js.map +1 -1
  22. package/dist/editors/index.js +1 -1
  23. package/dist/{index-DE_s19VI.d.ts → index-DCNTOgFn.d.ts} +4 -4
  24. package/dist/index-DCNTOgFn.d.ts.map +1 -0
  25. package/dist/{index-6u5B5ORH.d.ts → index-DKH5DHrE.d.ts} +4 -4
  26. package/dist/index-DKH5DHrE.d.ts.map +1 -0
  27. package/dist/{index-BzDZOr5P.d.ts → index-DsC-4q78.d.ts} +4 -4
  28. package/dist/index-DsC-4q78.d.ts.map +1 -0
  29. package/dist/{index-BL4jGAtJ.d.ts → index-uG0ivQaR.d.ts} +4 -4
  30. package/dist/index-uG0ivQaR.d.ts.map +1 -0
  31. package/dist/index.d.ts +5 -5
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/module-1hr_ne9w.js.map +1 -1
  35. package/dist/{module-rS5YXFpM.d.ts → module-DTjIlvYU.d.ts} +4 -4
  36. package/dist/module-DTjIlvYU.d.ts.map +1 -0
  37. package/dist/{module-DvO77TZz.js → module-DySsSIQV.js} +7 -7
  38. package/dist/{module-DvO77TZz.js.map → module-DySsSIQV.js.map} +1 -1
  39. package/dist/utils-B4KdjDnp.js.map +1 -1
  40. package/dist/utils-BiV3cs9Y.js.map +1 -1
  41. package/dist/utils-CkWB3DRk.js.map +1 -1
  42. package/dist/utils-D0ejTHeY.js.map +1 -1
  43. package/package.json +9 -9
  44. package/dist/editor-BamOOi9L.js.map +0 -1
  45. package/dist/editor-CM9tpwzR.js.map +0 -1
  46. package/dist/editor-D-QqGEkw.js.map +0 -1
  47. package/dist/editor-Dz3cXtzn.js.map +0 -1
  48. package/dist/editor-je4HFt2f.js.map +0 -1
  49. package/dist/editor-rYCWiter.js.map +0 -1
  50. package/dist/index-6u5B5ORH.d.ts.map +0 -1
  51. package/dist/index-BL4jGAtJ.d.ts.map +0 -1
  52. package/dist/index-BzDZOr5P.d.ts.map +0 -1
  53. package/dist/index-DE_s19VI.d.ts.map +0 -1
  54. package/dist/module-rS5YXFpM.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils-BiV3cs9Y.js","names":["z","subgraphModuleBaseOperationsActions"],"sources":["../document-models/subgraph-module/v1/gen/schema/zod.ts","../document-models/subgraph-module/v1/gen/base-operations/creators.ts","../document-models/subgraph-module/v1/actions.ts","../document-models/subgraph-module/v1/src/reducers/base-operations.ts","../document-models/subgraph-module/v1/gen/reducer.ts","../document-models/subgraph-module/v1/gen/document-type.ts","../document-models/subgraph-module/v1/gen/document-schema.ts","../document-models/subgraph-module/v1/gen/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as z from \"zod\";\nimport type {\n SetSubgraphNameInput,\n SetSubgraphStatusInput,\n StatusType,\n SubgraphModuleState,\n} from \"./types.js\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<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 StatusTypeSchema = z.enum([\"CONFIRMED\", \"DRAFT\"]);\n\nexport function SetSubgraphNameInputSchema(): z.ZodObject<\n Properties<SetSubgraphNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetSubgraphStatusInputSchema(): z.ZodObject<\n Properties<SetSubgraphStatusInput>\n> {\n return z.object({\n status: StatusTypeSchema,\n });\n}\n\nexport function SubgraphModuleStateSchema(): z.ZodObject<\n Properties<SubgraphModuleState>\n> {\n return z.object({\n __typename: z.literal(\"SubgraphModuleState\").optional(),\n name: z.string(),\n status: StatusTypeSchema,\n });\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { createAction } from \"document-model\";\nimport {\n SetSubgraphNameInputSchema,\n SetSubgraphStatusInputSchema,\n} from \"../schema/zod.js\";\nimport type { SetSubgraphNameInput, SetSubgraphStatusInput } from \"../types.js\";\nimport type {\n SetSubgraphNameAction,\n SetSubgraphStatusAction,\n} from \"./actions.js\";\n\nexport const setSubgraphName = (input: SetSubgraphNameInput) =>\n createAction<SetSubgraphNameAction>(\n \"SET_SUBGRAPH_NAME\",\n { ...input },\n undefined,\n SetSubgraphNameInputSchema,\n \"global\",\n );\n\nexport const setSubgraphStatus = (input: SetSubgraphStatusInput) =>\n createAction<SetSubgraphStatusAction>(\n \"SET_SUBGRAPH_STATUS\",\n { ...input },\n undefined,\n SetSubgraphStatusInputSchema,\n \"global\",\n );\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { baseActions } from \"document-model\";\nimport { subgraphModuleBaseOperationsActions } from \"./gen/creators.js\";\n\n/** Actions for the SubgraphModule document model */\n\nexport const actions = {\n ...baseActions,\n ...subgraphModuleBaseOperationsActions,\n};\n","import type { SubgraphModuleBaseOperationsOperations } from \"document-models/subgraph-module/v1\";\n\nexport const subgraphModuleBaseOperationsOperations: SubgraphModuleBaseOperationsOperations =\n {\n setSubgraphNameOperation(state, action, _dispatch) {\n const trimmedName = action.input.name.trim();\n if (trimmedName === \"\") {\n throw new Error(\"Subgraph name cannot be empty\");\n }\n state.name = trimmedName;\n },\n setSubgraphStatusOperation(state, action, _dispatch) {\n state.status = action.input.status;\n },\n };\n","import type { Reducer, StateReducer } from \"document-model\";\nimport { createReducer, isDocumentAction } from \"document-model\";\nimport type { SubgraphModulePHState } from \"document-models/subgraph-module/v1\";\n\nimport { subgraphModuleBaseOperationsOperations } from \"../src/reducers/base-operations.js\";\n\nimport {\n SetSubgraphNameInputSchema,\n SetSubgraphStatusInputSchema,\n} from \"./schema/zod.js\";\n\nconst stateReducer: StateReducer<SubgraphModulePHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_SUBGRAPH_NAME\": {\n SetSubgraphNameInputSchema().parse(action.input);\n\n subgraphModuleBaseOperationsOperations.setSubgraphNameOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_SUBGRAPH_STATUS\": {\n SetSubgraphStatusInputSchema().parse(action.input);\n\n subgraphModuleBaseOperationsOperations.setSubgraphStatusOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n default:\n return state;\n }\n};\n\nexport const reducer: Reducer<SubgraphModulePHState> =\n createReducer(stateReducer);\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nexport const subgraphModuleDocumentType = \"powerhouse/subgraph\";\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"document-model\";\nimport { z } from \"zod\";\nimport { subgraphModuleDocumentType } from \"./document-type.js\";\nimport { SubgraphModuleStateSchema } from \"./schema/zod.js\";\nimport type { SubgraphModuleDocument, SubgraphModulePHState } from \"./types.js\";\n\n/** Schema for validating the header object of a SubgraphModule document */\nexport const SubgraphModuleDocumentHeaderSchema =\n BaseDocumentHeaderSchema.extend({\n documentType: z.literal(subgraphModuleDocumentType),\n });\n\n/** Schema for validating the state object of a SubgraphModule document */\nexport const SubgraphModulePHStateSchema = BaseDocumentStateSchema.extend({\n global: SubgraphModuleStateSchema(),\n});\n\nexport const SubgraphModuleDocumentSchema = z.object({\n header: SubgraphModuleDocumentHeaderSchema,\n state: SubgraphModulePHStateSchema,\n initialState: SubgraphModulePHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a SubgraphModule document state object */\nexport function isSubgraphModuleState(\n state: unknown,\n): state is SubgraphModulePHState {\n return SubgraphModulePHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a SubgraphModule document state object */\nexport function assertIsSubgraphModuleState(\n state: unknown,\n): asserts state is SubgraphModulePHState {\n SubgraphModulePHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a SubgraphModule document */\nexport function isSubgraphModuleDocument(\n document: unknown,\n): document is SubgraphModuleDocument {\n return SubgraphModuleDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a SubgraphModule document */\nexport function assertIsSubgraphModuleDocument(\n document: unknown,\n): asserts document is SubgraphModuleDocument {\n SubgraphModuleDocumentSchema.parse(document);\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport type { DocumentModelUtils } from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n} from \"document-model\";\nimport {\n assertIsSubgraphModuleDocument,\n assertIsSubgraphModuleState,\n isSubgraphModuleDocument,\n isSubgraphModuleState,\n} from \"./document-schema.js\";\nimport { subgraphModuleDocumentType } from \"./document-type.js\";\nimport { reducer } from \"./reducer.js\";\nimport type {\n SubgraphModuleGlobalState,\n SubgraphModuleLocalState,\n SubgraphModulePHState,\n} from \"./types.js\";\n\nexport const initialGlobalState: SubgraphModuleGlobalState = {\n name: \"\",\n status: \"DRAFT\",\n};\nexport const initialLocalState: SubgraphModuleLocalState = {};\n\nexport const utils: DocumentModelUtils<SubgraphModulePHState> = {\n fileExtension: \".subgraph\",\n createState(state) {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n },\n createDocument(state) {\n return baseCreateDocument(\n utils.createState,\n state,\n subgraphModuleDocumentType,\n );\n },\n saveToFileHandle(document, input) {\n return baseSaveToFileHandle(document, input);\n },\n loadFromInput(input) {\n return baseLoadFromInput(input, reducer);\n },\n isStateOfType(state) {\n return isSubgraphModuleState(state);\n },\n assertIsStateOfType(state) {\n return assertIsSubgraphModuleState(state);\n },\n isDocumentOfType(document) {\n return isSubgraphModuleDocument(document);\n },\n assertIsDocumentOfType(document) {\n return assertIsSubgraphModuleDocument(document);\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils-BiV3cs9Y.js","names":["z","subgraphModuleBaseOperationsActions"],"sources":["../document-models/subgraph-module/v1/gen/schema/zod.ts","../document-models/subgraph-module/v1/gen/base-operations/creators.ts","../document-models/subgraph-module/v1/actions.ts","../document-models/subgraph-module/v1/src/reducers/base-operations.ts","../document-models/subgraph-module/v1/gen/reducer.ts","../document-models/subgraph-module/v1/gen/document-type.ts","../document-models/subgraph-module/v1/gen/document-schema.ts","../document-models/subgraph-module/v1/gen/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as z from \"zod\";\nimport type {\n SetSubgraphNameInput,\n SetSubgraphStatusInput,\n StatusType,\n SubgraphModuleState,\n} from \"./types.js\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<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 StatusTypeSchema = z.enum([\"CONFIRMED\", \"DRAFT\"]);\n\nexport function SetSubgraphNameInputSchema(): z.ZodObject<\n Properties<SetSubgraphNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetSubgraphStatusInputSchema(): z.ZodObject<\n Properties<SetSubgraphStatusInput>\n> {\n return z.object({\n status: StatusTypeSchema,\n });\n}\n\nexport function SubgraphModuleStateSchema(): z.ZodObject<\n Properties<SubgraphModuleState>\n> {\n return z.object({\n __typename: z.literal(\"SubgraphModuleState\").optional(),\n name: z.string(),\n status: StatusTypeSchema,\n });\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { createAction } from \"document-model\";\nimport {\n SetSubgraphNameInputSchema,\n SetSubgraphStatusInputSchema,\n} from \"../schema/zod.js\";\nimport type { SetSubgraphNameInput, SetSubgraphStatusInput } from \"../types.js\";\nimport type {\n SetSubgraphNameAction,\n SetSubgraphStatusAction,\n} from \"./actions.js\";\n\nexport const setSubgraphName = (input: SetSubgraphNameInput) =>\n createAction<SetSubgraphNameAction>(\n \"SET_SUBGRAPH_NAME\",\n { ...input },\n undefined,\n SetSubgraphNameInputSchema,\n \"global\",\n );\n\nexport const setSubgraphStatus = (input: SetSubgraphStatusInput) =>\n createAction<SetSubgraphStatusAction>(\n \"SET_SUBGRAPH_STATUS\",\n { ...input },\n undefined,\n SetSubgraphStatusInputSchema,\n \"global\",\n );\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { baseActions } from \"document-model\";\nimport { subgraphModuleBaseOperationsActions } from \"./gen/creators.js\";\n\n/** Actions for the SubgraphModule document model */\n\nexport const actions = {\n ...baseActions,\n ...subgraphModuleBaseOperationsActions,\n};\n","import type { SubgraphModuleBaseOperationsOperations } from \"document-models/subgraph-module/v1\";\n\nexport const subgraphModuleBaseOperationsOperations: SubgraphModuleBaseOperationsOperations =\n {\n setSubgraphNameOperation(state, action, _dispatch) {\n const trimmedName = action.input.name.trim();\n if (trimmedName === \"\") {\n throw new Error(\"Subgraph name cannot be empty\");\n }\n state.name = trimmedName;\n },\n setSubgraphStatusOperation(state, action, _dispatch) {\n state.status = action.input.status;\n },\n };\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport type { Reducer, StateReducer } from \"document-model\";\nimport { createReducer, isDocumentAction } from \"document-model\";\nimport type { SubgraphModulePHState } from \"document-models/subgraph-module/v1\";\n\nimport { subgraphModuleBaseOperationsOperations } from \"../src/reducers/base-operations.js\";\n\nimport {\n SetSubgraphNameInputSchema,\n SetSubgraphStatusInputSchema,\n} from \"./schema/zod.js\";\n\nconst stateReducer: StateReducer<SubgraphModulePHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_SUBGRAPH_NAME\": {\n SetSubgraphNameInputSchema().parse(action.input);\n\n subgraphModuleBaseOperationsOperations.setSubgraphNameOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_SUBGRAPH_STATUS\": {\n SetSubgraphStatusInputSchema().parse(action.input);\n\n subgraphModuleBaseOperationsOperations.setSubgraphStatusOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n default:\n return state;\n }\n};\n\nexport const reducer: Reducer<SubgraphModulePHState> =\n createReducer(stateReducer);\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nexport const subgraphModuleDocumentType = \"powerhouse/subgraph\";\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"document-model\";\nimport { z } from \"zod\";\nimport { subgraphModuleDocumentType } from \"./document-type.js\";\nimport { SubgraphModuleStateSchema } from \"./schema/zod.js\";\nimport type { SubgraphModuleDocument, SubgraphModulePHState } from \"./types.js\";\n\n/** Schema for validating the header object of a SubgraphModule document */\nexport const SubgraphModuleDocumentHeaderSchema =\n BaseDocumentHeaderSchema.extend({\n documentType: z.literal(subgraphModuleDocumentType),\n });\n\n/** Schema for validating the state object of a SubgraphModule document */\nexport const SubgraphModulePHStateSchema = BaseDocumentStateSchema.extend({\n global: SubgraphModuleStateSchema(),\n});\n\nexport const SubgraphModuleDocumentSchema = z.object({\n header: SubgraphModuleDocumentHeaderSchema,\n state: SubgraphModulePHStateSchema,\n initialState: SubgraphModulePHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a SubgraphModule document state object */\nexport function isSubgraphModuleState(\n state: unknown,\n): state is SubgraphModulePHState {\n return SubgraphModulePHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a SubgraphModule document state object */\nexport function assertIsSubgraphModuleState(\n state: unknown,\n): asserts state is SubgraphModulePHState {\n SubgraphModulePHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a SubgraphModule document */\nexport function isSubgraphModuleDocument(\n document: unknown,\n): document is SubgraphModuleDocument {\n return SubgraphModuleDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a SubgraphModule document */\nexport function assertIsSubgraphModuleDocument(\n document: unknown,\n): asserts document is SubgraphModuleDocument {\n SubgraphModuleDocumentSchema.parse(document);\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport type { DocumentModelUtils } from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n} from \"document-model\";\nimport {\n assertIsSubgraphModuleDocument,\n assertIsSubgraphModuleState,\n isSubgraphModuleDocument,\n isSubgraphModuleState,\n} from \"./document-schema.js\";\nimport { subgraphModuleDocumentType } from \"./document-type.js\";\nimport { reducer } from \"./reducer.js\";\nimport type {\n SubgraphModuleGlobalState,\n SubgraphModuleLocalState,\n SubgraphModulePHState,\n} from \"./types.js\";\n\nexport const initialGlobalState: SubgraphModuleGlobalState = {\n name: \"\",\n status: \"DRAFT\",\n};\nexport const initialLocalState: SubgraphModuleLocalState = {};\n\nexport const utils: DocumentModelUtils<SubgraphModulePHState> = {\n fileExtension: \".subgraph\",\n createState(state) {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n },\n createDocument(state) {\n return baseCreateDocument(\n utils.createState,\n state,\n subgraphModuleDocumentType,\n );\n },\n saveToFileHandle(document, input) {\n return baseSaveToFileHandle(document, input);\n },\n loadFromInput(input) {\n return baseLoadFromInput(input, reducer);\n },\n isStateOfType(state) {\n return isSubgraphModuleState(state);\n },\n assertIsStateOfType(state) {\n return assertIsSubgraphModuleState(state);\n },\n isDocumentOfType(document) {\n return isSubgraphModuleDocument(document);\n },\n assertIsDocumentOfType(document) {\n return assertIsSubgraphModuleDocument(document);\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils-CkWB3DRk.js","names":["z","processorModuleBaseOperationsActions"],"sources":["../document-models/processor-module/v1/gen/schema/zod.ts","../document-models/processor-module/v1/gen/base-operations/creators.ts","../document-models/processor-module/v1/actions.ts","../document-models/processor-module/v1/src/reducers/base-operations.ts","../document-models/processor-module/v1/gen/reducer.ts","../document-models/processor-module/v1/gen/document-type.ts","../document-models/processor-module/v1/gen/document-schema.ts","../document-models/processor-module/v1/gen/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as z from \"zod\";\nimport type {\n AddDocumentTypeInput,\n AddProcessorAppInput,\n DocumentTypeItem,\n ProcessorModuleState,\n RemoveDocumentTypeInput,\n RemoveProcessorAppInput,\n SetProcessorNameInput,\n SetProcessorStatusInput,\n SetProcessorTypeInput,\n StatusType,\n} from \"./types.js\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<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 StatusTypeSchema = z.enum([\"CONFIRMED\", \"DRAFT\"]);\n\nexport function AddDocumentTypeInputSchema(): z.ZodObject<\n Properties<AddDocumentTypeInput>\n> {\n return z.object({\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function AddProcessorAppInputSchema(): z.ZodObject<\n Properties<AddProcessorAppInput>\n> {\n return z.object({\n processorApp: z.string(),\n });\n}\n\nexport function DocumentTypeItemSchema(): z.ZodObject<\n Properties<DocumentTypeItem>\n> {\n return z.object({\n __typename: z.literal(\"DocumentTypeItem\").optional(),\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function ProcessorModuleStateSchema(): z.ZodObject<\n Properties<ProcessorModuleState>\n> {\n return z.object({\n __typename: z.literal(\"ProcessorModuleState\").optional(),\n documentTypes: z.array(z.lazy(() => DocumentTypeItemSchema())),\n name: z.string(),\n processorApps: z.array(z.string()),\n status: StatusTypeSchema,\n type: z.string(),\n });\n}\n\nexport function RemoveDocumentTypeInputSchema(): z.ZodObject<\n Properties<RemoveDocumentTypeInput>\n> {\n return z.object({\n id: z.string(),\n });\n}\n\nexport function RemoveProcessorAppInputSchema(): z.ZodObject<\n Properties<RemoveProcessorAppInput>\n> {\n return z.object({\n processorApp: z.string(),\n });\n}\n\nexport function SetProcessorNameInputSchema(): z.ZodObject<\n Properties<SetProcessorNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetProcessorStatusInputSchema(): z.ZodObject<\n Properties<SetProcessorStatusInput>\n> {\n return z.object({\n status: StatusTypeSchema,\n });\n}\n\nexport function SetProcessorTypeInputSchema(): z.ZodObject<\n Properties<SetProcessorTypeInput>\n> {\n return z.object({\n type: z.string(),\n });\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { createAction } from \"document-model\";\nimport {\n AddDocumentTypeInputSchema,\n AddProcessorAppInputSchema,\n RemoveDocumentTypeInputSchema,\n RemoveProcessorAppInputSchema,\n SetProcessorNameInputSchema,\n SetProcessorStatusInputSchema,\n SetProcessorTypeInputSchema,\n} from \"../schema/zod.js\";\nimport type {\n AddDocumentTypeInput,\n AddProcessorAppInput,\n RemoveDocumentTypeInput,\n RemoveProcessorAppInput,\n SetProcessorNameInput,\n SetProcessorStatusInput,\n SetProcessorTypeInput,\n} from \"../types.js\";\nimport type {\n AddDocumentTypeAction,\n AddProcessorAppAction,\n RemoveDocumentTypeAction,\n RemoveProcessorAppAction,\n SetProcessorNameAction,\n SetProcessorStatusAction,\n SetProcessorTypeAction,\n} from \"./actions.js\";\n\nexport const setProcessorName = (input: SetProcessorNameInput) =>\n createAction<SetProcessorNameAction>(\n \"SET_PROCESSOR_NAME\",\n { ...input },\n undefined,\n SetProcessorNameInputSchema,\n \"global\",\n );\n\nexport const setProcessorType = (input: SetProcessorTypeInput) =>\n createAction<SetProcessorTypeAction>(\n \"SET_PROCESSOR_TYPE\",\n { ...input },\n undefined,\n SetProcessorTypeInputSchema,\n \"global\",\n );\n\nexport const addDocumentType = (input: AddDocumentTypeInput) =>\n createAction<AddDocumentTypeAction>(\n \"ADD_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n AddDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const removeDocumentType = (input: RemoveDocumentTypeInput) =>\n createAction<RemoveDocumentTypeAction>(\n \"REMOVE_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n RemoveDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const addProcessorApp = (input: AddProcessorAppInput) =>\n createAction<AddProcessorAppAction>(\n \"ADD_PROCESSOR_APP\",\n { ...input },\n undefined,\n AddProcessorAppInputSchema,\n \"global\",\n );\n\nexport const removeProcessorApp = (input: RemoveProcessorAppInput) =>\n createAction<RemoveProcessorAppAction>(\n \"REMOVE_PROCESSOR_APP\",\n { ...input },\n undefined,\n RemoveProcessorAppInputSchema,\n \"global\",\n );\n\nexport const setProcessorStatus = (input: SetProcessorStatusInput) =>\n createAction<SetProcessorStatusAction>(\n \"SET_PROCESSOR_STATUS\",\n { ...input },\n undefined,\n SetProcessorStatusInputSchema,\n \"global\",\n );\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { baseActions } from \"document-model\";\nimport { processorModuleBaseOperationsActions } from \"./gen/creators.js\";\n\n/** Actions for the ProcessorModule document model */\n\nexport const actions = {\n ...baseActions,\n ...processorModuleBaseOperationsActions,\n};\n","import {\n PROCESSOR_APPS,\n type ProcessorApp,\n} from \"@powerhousedao/shared/processors\";\nimport type { ProcessorModuleBaseOperationsOperations } from \"document-models/processor-module/v1\";\n\nexport const processorModuleBaseOperationsOperations: ProcessorModuleBaseOperationsOperations =\n {\n setProcessorNameOperation(state, action, _dispatch) {\n const trimmedName = action.input.name.trim();\n if (trimmedName === \"\") {\n throw new Error(\"Processor name cannot be empty\");\n }\n state.name = trimmedName;\n },\n setProcessorTypeOperation(state, action, _dispatch) {\n const trimmedType = action.input.type.trim();\n if (trimmedType === \"\") {\n throw new Error(\"Processor type cannot be empty\");\n }\n state.type = trimmedType;\n },\n addDocumentTypeOperation(state, action, _dispatch) {\n // Check for duplicate ID\n const existingId = state.documentTypes.find(\n (dt) => dt.id === action.input.id,\n );\n if (existingId) {\n throw new Error(\n `Document type with id \"${action.input.id}\" already exists`,\n );\n }\n\n state.documentTypes.push({\n id: action.input.id,\n documentType: action.input.documentType,\n });\n },\n removeDocumentTypeOperation(state, action, _dispatch) {\n state.documentTypes = state.documentTypes.filter(\n (documentType) => documentType.id !== action.input.id,\n );\n },\n setProcessorStatusOperation(state, action, _dispatch) {\n state.status = action.input.status;\n },\n addProcessorAppOperation(state, action) {\n const { processorApp } = action.input;\n if (!PROCESSOR_APPS.includes(processorApp as ProcessorApp)) {\n throw new Error(\n `${processorApp} is not a valid processor app. Must be one of ${PROCESSOR_APPS.join(\", \")}.`,\n );\n }\n state.processorApps = [\n ...new Set([...state.processorApps, processorApp]),\n ];\n },\n removeProcessorAppOperation(state, action) {\n const { processorApp } = action.input;\n state.processorApps = state.processorApps.filter(\n (p) => p !== processorApp,\n );\n },\n };\n","import type { Reducer, StateReducer } from \"document-model\";\nimport { createReducer, isDocumentAction } from \"document-model\";\nimport type { ProcessorModulePHState } from \"document-models/processor-module/v1\";\n\nimport { processorModuleBaseOperationsOperations } from \"../src/reducers/base-operations.js\";\n\nimport {\n AddDocumentTypeInputSchema,\n AddProcessorAppInputSchema,\n RemoveDocumentTypeInputSchema,\n RemoveProcessorAppInputSchema,\n SetProcessorNameInputSchema,\n SetProcessorStatusInputSchema,\n SetProcessorTypeInputSchema,\n} from \"./schema/zod.js\";\n\nconst stateReducer: StateReducer<ProcessorModulePHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_PROCESSOR_NAME\": {\n SetProcessorNameInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.setProcessorNameOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_PROCESSOR_TYPE\": {\n SetProcessorTypeInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.setProcessorTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"ADD_DOCUMENT_TYPE\": {\n AddDocumentTypeInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.addDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"REMOVE_DOCUMENT_TYPE\": {\n RemoveDocumentTypeInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.removeDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"ADD_PROCESSOR_APP\": {\n AddProcessorAppInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.addProcessorAppOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"REMOVE_PROCESSOR_APP\": {\n RemoveProcessorAppInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.removeProcessorAppOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_PROCESSOR_STATUS\": {\n SetProcessorStatusInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.setProcessorStatusOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n default:\n return state;\n }\n};\n\nexport const reducer: Reducer<ProcessorModulePHState> =\n createReducer(stateReducer);\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nexport const processorModuleDocumentType = \"powerhouse/processor\";\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"document-model\";\nimport { z } from \"zod\";\nimport { processorModuleDocumentType } from \"./document-type.js\";\nimport { ProcessorModuleStateSchema } from \"./schema/zod.js\";\nimport type {\n ProcessorModuleDocument,\n ProcessorModulePHState,\n} from \"./types.js\";\n\n/** Schema for validating the header object of a ProcessorModule document */\nexport const ProcessorModuleDocumentHeaderSchema =\n BaseDocumentHeaderSchema.extend({\n documentType: z.literal(processorModuleDocumentType),\n });\n\n/** Schema for validating the state object of a ProcessorModule document */\nexport const ProcessorModulePHStateSchema = BaseDocumentStateSchema.extend({\n global: ProcessorModuleStateSchema(),\n});\n\nexport const ProcessorModuleDocumentSchema = z.object({\n header: ProcessorModuleDocumentHeaderSchema,\n state: ProcessorModulePHStateSchema,\n initialState: ProcessorModulePHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a ProcessorModule document state object */\nexport function isProcessorModuleState(\n state: unknown,\n): state is ProcessorModulePHState {\n return ProcessorModulePHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a ProcessorModule document state object */\nexport function assertIsProcessorModuleState(\n state: unknown,\n): asserts state is ProcessorModulePHState {\n ProcessorModulePHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a ProcessorModule document */\nexport function isProcessorModuleDocument(\n document: unknown,\n): document is ProcessorModuleDocument {\n return ProcessorModuleDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a ProcessorModule document */\nexport function assertIsProcessorModuleDocument(\n document: unknown,\n): asserts document is ProcessorModuleDocument {\n ProcessorModuleDocumentSchema.parse(document);\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport type { DocumentModelUtils } from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n} from \"document-model\";\nimport {\n assertIsProcessorModuleDocument,\n assertIsProcessorModuleState,\n isProcessorModuleDocument,\n isProcessorModuleState,\n} from \"./document-schema.js\";\nimport { processorModuleDocumentType } from \"./document-type.js\";\nimport { reducer } from \"./reducer.js\";\nimport type {\n ProcessorModuleGlobalState,\n ProcessorModuleLocalState,\n ProcessorModulePHState,\n} from \"./types.js\";\n\nexport const initialGlobalState: ProcessorModuleGlobalState = {\n name: \"\",\n type: \"\",\n documentTypes: [],\n status: \"DRAFT\",\n processorApps: [],\n};\nexport const initialLocalState: ProcessorModuleLocalState = {};\n\nexport const utils: DocumentModelUtils<ProcessorModulePHState> = {\n fileExtension: \".processor\",\n createState(state) {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n },\n createDocument(state) {\n return baseCreateDocument(\n utils.createState,\n state,\n processorModuleDocumentType,\n );\n },\n saveToFileHandle(document, input) {\n return baseSaveToFileHandle(document, input);\n },\n loadFromInput(input) {\n return baseLoadFromInput(input, reducer);\n },\n isStateOfType(state) {\n return isProcessorModuleState(state);\n },\n assertIsStateOfType(state) {\n return assertIsProcessorModuleState(state);\n },\n isDocumentOfType(document) {\n return isProcessorModuleDocument(document);\n },\n assertIsDocumentOfType(document) {\n return assertIsProcessorModuleDocument(document);\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils-CkWB3DRk.js","names":["z","processorModuleBaseOperationsActions"],"sources":["../document-models/processor-module/v1/gen/schema/zod.ts","../document-models/processor-module/v1/gen/base-operations/creators.ts","../document-models/processor-module/v1/actions.ts","../document-models/processor-module/v1/src/reducers/base-operations.ts","../document-models/processor-module/v1/gen/reducer.ts","../document-models/processor-module/v1/gen/document-type.ts","../document-models/processor-module/v1/gen/document-schema.ts","../document-models/processor-module/v1/gen/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as z from \"zod\";\nimport type {\n AddDocumentTypeInput,\n AddProcessorAppInput,\n DocumentTypeItem,\n ProcessorModuleState,\n RemoveDocumentTypeInput,\n RemoveProcessorAppInput,\n SetProcessorNameInput,\n SetProcessorStatusInput,\n SetProcessorTypeInput,\n StatusType,\n} from \"./types.js\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<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 StatusTypeSchema = z.enum([\"CONFIRMED\", \"DRAFT\"]);\n\nexport function AddDocumentTypeInputSchema(): z.ZodObject<\n Properties<AddDocumentTypeInput>\n> {\n return z.object({\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function AddProcessorAppInputSchema(): z.ZodObject<\n Properties<AddProcessorAppInput>\n> {\n return z.object({\n processorApp: z.string(),\n });\n}\n\nexport function DocumentTypeItemSchema(): z.ZodObject<\n Properties<DocumentTypeItem>\n> {\n return z.object({\n __typename: z.literal(\"DocumentTypeItem\").optional(),\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function ProcessorModuleStateSchema(): z.ZodObject<\n Properties<ProcessorModuleState>\n> {\n return z.object({\n __typename: z.literal(\"ProcessorModuleState\").optional(),\n documentTypes: z.array(z.lazy(() => DocumentTypeItemSchema())),\n name: z.string(),\n processorApps: z.array(z.string()),\n status: StatusTypeSchema,\n type: z.string(),\n });\n}\n\nexport function RemoveDocumentTypeInputSchema(): z.ZodObject<\n Properties<RemoveDocumentTypeInput>\n> {\n return z.object({\n id: z.string(),\n });\n}\n\nexport function RemoveProcessorAppInputSchema(): z.ZodObject<\n Properties<RemoveProcessorAppInput>\n> {\n return z.object({\n processorApp: z.string(),\n });\n}\n\nexport function SetProcessorNameInputSchema(): z.ZodObject<\n Properties<SetProcessorNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetProcessorStatusInputSchema(): z.ZodObject<\n Properties<SetProcessorStatusInput>\n> {\n return z.object({\n status: StatusTypeSchema,\n });\n}\n\nexport function SetProcessorTypeInputSchema(): z.ZodObject<\n Properties<SetProcessorTypeInput>\n> {\n return z.object({\n type: z.string(),\n });\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { createAction } from \"document-model\";\nimport {\n AddDocumentTypeInputSchema,\n AddProcessorAppInputSchema,\n RemoveDocumentTypeInputSchema,\n RemoveProcessorAppInputSchema,\n SetProcessorNameInputSchema,\n SetProcessorStatusInputSchema,\n SetProcessorTypeInputSchema,\n} from \"../schema/zod.js\";\nimport type {\n AddDocumentTypeInput,\n AddProcessorAppInput,\n RemoveDocumentTypeInput,\n RemoveProcessorAppInput,\n SetProcessorNameInput,\n SetProcessorStatusInput,\n SetProcessorTypeInput,\n} from \"../types.js\";\nimport type {\n AddDocumentTypeAction,\n AddProcessorAppAction,\n RemoveDocumentTypeAction,\n RemoveProcessorAppAction,\n SetProcessorNameAction,\n SetProcessorStatusAction,\n SetProcessorTypeAction,\n} from \"./actions.js\";\n\nexport const setProcessorName = (input: SetProcessorNameInput) =>\n createAction<SetProcessorNameAction>(\n \"SET_PROCESSOR_NAME\",\n { ...input },\n undefined,\n SetProcessorNameInputSchema,\n \"global\",\n );\n\nexport const setProcessorType = (input: SetProcessorTypeInput) =>\n createAction<SetProcessorTypeAction>(\n \"SET_PROCESSOR_TYPE\",\n { ...input },\n undefined,\n SetProcessorTypeInputSchema,\n \"global\",\n );\n\nexport const addDocumentType = (input: AddDocumentTypeInput) =>\n createAction<AddDocumentTypeAction>(\n \"ADD_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n AddDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const removeDocumentType = (input: RemoveDocumentTypeInput) =>\n createAction<RemoveDocumentTypeAction>(\n \"REMOVE_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n RemoveDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const addProcessorApp = (input: AddProcessorAppInput) =>\n createAction<AddProcessorAppAction>(\n \"ADD_PROCESSOR_APP\",\n { ...input },\n undefined,\n AddProcessorAppInputSchema,\n \"global\",\n );\n\nexport const removeProcessorApp = (input: RemoveProcessorAppInput) =>\n createAction<RemoveProcessorAppAction>(\n \"REMOVE_PROCESSOR_APP\",\n { ...input },\n undefined,\n RemoveProcessorAppInputSchema,\n \"global\",\n );\n\nexport const setProcessorStatus = (input: SetProcessorStatusInput) =>\n createAction<SetProcessorStatusAction>(\n \"SET_PROCESSOR_STATUS\",\n { ...input },\n undefined,\n SetProcessorStatusInputSchema,\n \"global\",\n );\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { baseActions } from \"document-model\";\nimport { processorModuleBaseOperationsActions } from \"./gen/creators.js\";\n\n/** Actions for the ProcessorModule document model */\n\nexport const actions = {\n ...baseActions,\n ...processorModuleBaseOperationsActions,\n};\n","import {\n PROCESSOR_APPS,\n type ProcessorApp,\n} from \"@powerhousedao/shared/processors\";\nimport type { ProcessorModuleBaseOperationsOperations } from \"document-models/processor-module/v1\";\n\nexport const processorModuleBaseOperationsOperations: ProcessorModuleBaseOperationsOperations =\n {\n setProcessorNameOperation(state, action, _dispatch) {\n const trimmedName = action.input.name.trim();\n if (trimmedName === \"\") {\n throw new Error(\"Processor name cannot be empty\");\n }\n state.name = trimmedName;\n },\n setProcessorTypeOperation(state, action, _dispatch) {\n const trimmedType = action.input.type.trim();\n if (trimmedType === \"\") {\n throw new Error(\"Processor type cannot be empty\");\n }\n state.type = trimmedType;\n },\n addDocumentTypeOperation(state, action, _dispatch) {\n // Check for duplicate ID\n const existingId = state.documentTypes.find(\n (dt) => dt.id === action.input.id,\n );\n if (existingId) {\n throw new Error(\n `Document type with id \"${action.input.id}\" already exists`,\n );\n }\n\n state.documentTypes.push({\n id: action.input.id,\n documentType: action.input.documentType,\n });\n },\n removeDocumentTypeOperation(state, action, _dispatch) {\n state.documentTypes = state.documentTypes.filter(\n (documentType) => documentType.id !== action.input.id,\n );\n },\n setProcessorStatusOperation(state, action, _dispatch) {\n state.status = action.input.status;\n },\n addProcessorAppOperation(state, action) {\n const { processorApp } = action.input;\n if (!PROCESSOR_APPS.includes(processorApp as ProcessorApp)) {\n throw new Error(\n `${processorApp} is not a valid processor app. Must be one of ${PROCESSOR_APPS.join(\", \")}.`,\n );\n }\n state.processorApps = [\n ...new Set([...state.processorApps, processorApp]),\n ];\n },\n removeProcessorAppOperation(state, action) {\n const { processorApp } = action.input;\n state.processorApps = state.processorApps.filter(\n (p) => p !== processorApp,\n );\n },\n };\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport type { Reducer, StateReducer } from \"document-model\";\nimport { createReducer, isDocumentAction } from \"document-model\";\nimport type { ProcessorModulePHState } from \"document-models/processor-module/v1\";\n\nimport { processorModuleBaseOperationsOperations } from \"../src/reducers/base-operations.js\";\n\nimport {\n AddDocumentTypeInputSchema,\n AddProcessorAppInputSchema,\n RemoveDocumentTypeInputSchema,\n RemoveProcessorAppInputSchema,\n SetProcessorNameInputSchema,\n SetProcessorStatusInputSchema,\n SetProcessorTypeInputSchema,\n} from \"./schema/zod.js\";\n\nconst stateReducer: StateReducer<ProcessorModulePHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_PROCESSOR_NAME\": {\n SetProcessorNameInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.setProcessorNameOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_PROCESSOR_TYPE\": {\n SetProcessorTypeInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.setProcessorTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"ADD_DOCUMENT_TYPE\": {\n AddDocumentTypeInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.addDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"REMOVE_DOCUMENT_TYPE\": {\n RemoveDocumentTypeInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.removeDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"ADD_PROCESSOR_APP\": {\n AddProcessorAppInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.addProcessorAppOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"REMOVE_PROCESSOR_APP\": {\n RemoveProcessorAppInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.removeProcessorAppOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_PROCESSOR_STATUS\": {\n SetProcessorStatusInputSchema().parse(action.input);\n\n processorModuleBaseOperationsOperations.setProcessorStatusOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n default:\n return state;\n }\n};\n\nexport const reducer: Reducer<ProcessorModulePHState> =\n createReducer(stateReducer);\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nexport const processorModuleDocumentType = \"powerhouse/processor\";\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"document-model\";\nimport { z } from \"zod\";\nimport { processorModuleDocumentType } from \"./document-type.js\";\nimport { ProcessorModuleStateSchema } from \"./schema/zod.js\";\nimport type {\n ProcessorModuleDocument,\n ProcessorModulePHState,\n} from \"./types.js\";\n\n/** Schema for validating the header object of a ProcessorModule document */\nexport const ProcessorModuleDocumentHeaderSchema =\n BaseDocumentHeaderSchema.extend({\n documentType: z.literal(processorModuleDocumentType),\n });\n\n/** Schema for validating the state object of a ProcessorModule document */\nexport const ProcessorModulePHStateSchema = BaseDocumentStateSchema.extend({\n global: ProcessorModuleStateSchema(),\n});\n\nexport const ProcessorModuleDocumentSchema = z.object({\n header: ProcessorModuleDocumentHeaderSchema,\n state: ProcessorModulePHStateSchema,\n initialState: ProcessorModulePHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a ProcessorModule document state object */\nexport function isProcessorModuleState(\n state: unknown,\n): state is ProcessorModulePHState {\n return ProcessorModulePHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a ProcessorModule document state object */\nexport function assertIsProcessorModuleState(\n state: unknown,\n): asserts state is ProcessorModulePHState {\n ProcessorModulePHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a ProcessorModule document */\nexport function isProcessorModuleDocument(\n document: unknown,\n): document is ProcessorModuleDocument {\n return ProcessorModuleDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a ProcessorModule document */\nexport function assertIsProcessorModuleDocument(\n document: unknown,\n): asserts document is ProcessorModuleDocument {\n ProcessorModuleDocumentSchema.parse(document);\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport type { DocumentModelUtils } from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n} from \"document-model\";\nimport {\n assertIsProcessorModuleDocument,\n assertIsProcessorModuleState,\n isProcessorModuleDocument,\n isProcessorModuleState,\n} from \"./document-schema.js\";\nimport { processorModuleDocumentType } from \"./document-type.js\";\nimport { reducer } from \"./reducer.js\";\nimport type {\n ProcessorModuleGlobalState,\n ProcessorModuleLocalState,\n ProcessorModulePHState,\n} from \"./types.js\";\n\nexport const initialGlobalState: ProcessorModuleGlobalState = {\n name: \"\",\n type: \"\",\n documentTypes: [],\n status: \"DRAFT\",\n processorApps: [],\n};\nexport const initialLocalState: ProcessorModuleLocalState = {};\n\nexport const utils: DocumentModelUtils<ProcessorModulePHState> = {\n fileExtension: \".processor\",\n createState(state) {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n },\n createDocument(state) {\n return baseCreateDocument(\n utils.createState,\n state,\n processorModuleDocumentType,\n );\n },\n saveToFileHandle(document, input) {\n return baseSaveToFileHandle(document, input);\n },\n loadFromInput(input) {\n return baseLoadFromInput(input, reducer);\n },\n isStateOfType(state) {\n return isProcessorModuleState(state);\n },\n assertIsStateOfType(state) {\n return assertIsProcessorModuleState(state);\n },\n isDocumentOfType(document) {\n return isProcessorModuleDocument(document);\n },\n assertIsDocumentOfType(document) {\n return assertIsProcessorModuleDocument(document);\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils-D0ejTHeY.js","names":["z","documentEditorBaseOperationsActions"],"sources":["../document-models/document-editor/v1/gen/schema/zod.ts","../document-models/document-editor/v1/gen/base-operations/creators.ts","../document-models/document-editor/v1/actions.ts","../document-models/document-editor/v1/src/reducers/base-operations.ts","../document-models/document-editor/v1/gen/reducer.ts","../document-models/document-editor/v1/gen/document-type.ts","../document-models/document-editor/v1/gen/document-schema.ts","../document-models/document-editor/v1/gen/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as z from \"zod\";\nimport type {\n AddDocumentTypeInput,\n DocumentEditorState,\n DocumentTypeItem,\n RemoveDocumentTypeInput,\n SetEditorNameInput,\n SetEditorStatusInput,\n StatusType,\n} from \"./types.js\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<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 StatusTypeSchema = z.enum([\"CONFIRMED\", \"DRAFT\"]);\n\nexport function AddDocumentTypeInputSchema(): z.ZodObject<\n Properties<AddDocumentTypeInput>\n> {\n return z.object({\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function DocumentEditorStateSchema(): z.ZodObject<\n Properties<DocumentEditorState>\n> {\n return z.object({\n __typename: z.literal(\"DocumentEditorState\").optional(),\n documentTypes: z.array(z.lazy(() => DocumentTypeItemSchema())),\n name: z.string(),\n status: StatusTypeSchema,\n });\n}\n\nexport function DocumentTypeItemSchema(): z.ZodObject<\n Properties<DocumentTypeItem>\n> {\n return z.object({\n __typename: z.literal(\"DocumentTypeItem\").optional(),\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function RemoveDocumentTypeInputSchema(): z.ZodObject<\n Properties<RemoveDocumentTypeInput>\n> {\n return z.object({\n id: z.string(),\n });\n}\n\nexport function SetEditorNameInputSchema(): z.ZodObject<\n Properties<SetEditorNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetEditorStatusInputSchema(): z.ZodObject<\n Properties<SetEditorStatusInput>\n> {\n return z.object({\n status: StatusTypeSchema,\n });\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { createAction } from \"document-model\";\nimport {\n AddDocumentTypeInputSchema,\n RemoveDocumentTypeInputSchema,\n SetEditorNameInputSchema,\n SetEditorStatusInputSchema,\n} from \"../schema/zod.js\";\nimport type {\n AddDocumentTypeInput,\n RemoveDocumentTypeInput,\n SetEditorNameInput,\n SetEditorStatusInput,\n} from \"../types.js\";\nimport type {\n AddDocumentTypeAction,\n RemoveDocumentTypeAction,\n SetEditorNameAction,\n SetEditorStatusAction,\n} from \"./actions.js\";\n\nexport const setEditorName = (input: SetEditorNameInput) =>\n createAction<SetEditorNameAction>(\n \"SET_EDITOR_NAME\",\n { ...input },\n undefined,\n SetEditorNameInputSchema,\n \"global\",\n );\n\nexport const addDocumentType = (input: AddDocumentTypeInput) =>\n createAction<AddDocumentTypeAction>(\n \"ADD_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n AddDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const removeDocumentType = (input: RemoveDocumentTypeInput) =>\n createAction<RemoveDocumentTypeAction>(\n \"REMOVE_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n RemoveDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const setEditorStatus = (input: SetEditorStatusInput) =>\n createAction<SetEditorStatusAction>(\n \"SET_EDITOR_STATUS\",\n { ...input },\n undefined,\n SetEditorStatusInputSchema,\n \"global\",\n );\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { baseActions } from \"document-model\";\nimport { documentEditorBaseOperationsActions } from \"./gen/creators.js\";\n\n/** Actions for the DocumentEditor document model */\n\nexport const actions = {\n ...baseActions,\n ...documentEditorBaseOperationsActions,\n};\n","import type { DocumentEditorBaseOperationsOperations } from \"document-models/document-editor/v1\";\n\nexport const documentEditorBaseOperationsOperations: DocumentEditorBaseOperationsOperations =\n {\n setEditorNameOperation(state, action, _dispatch) {\n const trimmedName = action.input.name.trim();\n if (trimmedName === \"\") {\n throw new Error(\"Editor name cannot be empty\");\n }\n state.name = trimmedName;\n },\n addDocumentTypeOperation(state, action, _dispatch) {\n // Check for duplicate ID\n const existingId = state.documentTypes.find(\n (dt) => dt.id === action.input.id,\n );\n if (existingId) {\n throw new Error(\n `Document type with id \"${action.input.id}\" already exists`,\n );\n }\n\n state.documentTypes.push({\n id: action.input.id,\n documentType: action.input.documentType,\n });\n },\n removeDocumentTypeOperation(state, action, _dispatch) {\n state.documentTypes = state.documentTypes.filter(\n (documentType) => documentType.id !== action.input.id,\n );\n },\n setEditorStatusOperation(state, action, _dispatch) {\n state.status = action.input.status;\n },\n };\n","import type { Reducer, StateReducer } from \"document-model\";\nimport { createReducer, isDocumentAction } from \"document-model\";\nimport type { DocumentEditorPHState } from \"document-models/document-editor/v1\";\n\nimport { documentEditorBaseOperationsOperations } from \"../src/reducers/base-operations.js\";\n\nimport {\n AddDocumentTypeInputSchema,\n RemoveDocumentTypeInputSchema,\n SetEditorNameInputSchema,\n SetEditorStatusInputSchema,\n} from \"./schema/zod.js\";\n\nconst stateReducer: StateReducer<DocumentEditorPHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_EDITOR_NAME\": {\n SetEditorNameInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.setEditorNameOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"ADD_DOCUMENT_TYPE\": {\n AddDocumentTypeInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.addDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"REMOVE_DOCUMENT_TYPE\": {\n RemoveDocumentTypeInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.removeDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_EDITOR_STATUS\": {\n SetEditorStatusInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.setEditorStatusOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n default:\n return state;\n }\n};\n\nexport const reducer: Reducer<DocumentEditorPHState> =\n createReducer(stateReducer);\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nexport const documentEditorDocumentType = \"powerhouse/document-editor\";\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"document-model\";\nimport { z } from \"zod\";\nimport { documentEditorDocumentType } from \"./document-type.js\";\nimport { DocumentEditorStateSchema } from \"./schema/zod.js\";\nimport type { DocumentEditorDocument, DocumentEditorPHState } from \"./types.js\";\n\n/** Schema for validating the header object of a DocumentEditor document */\nexport const DocumentEditorDocumentHeaderSchema =\n BaseDocumentHeaderSchema.extend({\n documentType: z.literal(documentEditorDocumentType),\n });\n\n/** Schema for validating the state object of a DocumentEditor document */\nexport const DocumentEditorPHStateSchema = BaseDocumentStateSchema.extend({\n global: DocumentEditorStateSchema(),\n});\n\nexport const DocumentEditorDocumentSchema = z.object({\n header: DocumentEditorDocumentHeaderSchema,\n state: DocumentEditorPHStateSchema,\n initialState: DocumentEditorPHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a DocumentEditor document state object */\nexport function isDocumentEditorState(\n state: unknown,\n): state is DocumentEditorPHState {\n return DocumentEditorPHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a DocumentEditor document state object */\nexport function assertIsDocumentEditorState(\n state: unknown,\n): asserts state is DocumentEditorPHState {\n DocumentEditorPHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a DocumentEditor document */\nexport function isDocumentEditorDocument(\n document: unknown,\n): document is DocumentEditorDocument {\n return DocumentEditorDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a DocumentEditor document */\nexport function assertIsDocumentEditorDocument(\n document: unknown,\n): asserts document is DocumentEditorDocument {\n DocumentEditorDocumentSchema.parse(document);\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport type { DocumentModelUtils } from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n} from \"document-model\";\nimport {\n assertIsDocumentEditorDocument,\n assertIsDocumentEditorState,\n isDocumentEditorDocument,\n isDocumentEditorState,\n} from \"./document-schema.js\";\nimport { documentEditorDocumentType } from \"./document-type.js\";\nimport { reducer } from \"./reducer.js\";\nimport type {\n DocumentEditorGlobalState,\n DocumentEditorLocalState,\n DocumentEditorPHState,\n} from \"./types.js\";\n\nexport const initialGlobalState: DocumentEditorGlobalState = {\n name: \"\",\n documentTypes: [],\n status: \"DRAFT\",\n};\nexport const initialLocalState: DocumentEditorLocalState = {};\n\nexport const utils: DocumentModelUtils<DocumentEditorPHState> = {\n fileExtension: \".editor\",\n createState(state) {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n },\n createDocument(state) {\n return baseCreateDocument(\n utils.createState,\n state,\n documentEditorDocumentType,\n );\n },\n saveToFileHandle(document, input) {\n return baseSaveToFileHandle(document, input);\n },\n loadFromInput(input) {\n return baseLoadFromInput(input, reducer);\n },\n isStateOfType(state) {\n return isDocumentEditorState(state);\n },\n assertIsStateOfType(state) {\n return assertIsDocumentEditorState(state);\n },\n isDocumentOfType(document) {\n return isDocumentEditorDocument(document);\n },\n assertIsDocumentOfType(document) {\n return assertIsDocumentEditorDocument(document);\n },\n};\n"],"mappings":";;;;;AAmBA,MAAa,uBAAuB,MAClC,MAAM,KAAA,KAAa,MAAM;AAE3B,MAAa,0BAA0BA,IACpC,KAAK,CACL,QAAQ,MAAM,oBAAoB,EAAE,CAAC;AAExC,MAAa,mBAAmBA,IAAE,KAAK,CAAC,aAAa,QAAQ,CAAC;AAE9D,SAAgB,6BAEd;AACA,QAAOA,IAAE,OAAO;EACd,cAAcA,IAAE,QAAQ;EACxB,IAAIA,IAAE,QAAQ;EACf,CAAC;;AAGJ,SAAgB,4BAEd;AACA,QAAOA,IAAE,OAAO;EACd,YAAYA,IAAE,QAAQ,sBAAsB,CAAC,UAAU;EACvD,eAAeA,IAAE,MAAMA,IAAE,WAAW,wBAAwB,CAAC,CAAC;EAC9D,MAAMA,IAAE,QAAQ;EAChB,QAAQ;EACT,CAAC;;AAGJ,SAAgB,yBAEd;AACA,QAAOA,IAAE,OAAO;EACd,YAAYA,IAAE,QAAQ,mBAAmB,CAAC,UAAU;EACpD,cAAcA,IAAE,QAAQ;EACxB,IAAIA,IAAE,QAAQ;EACf,CAAC;;AAGJ,SAAgB,gCAEd;AACA,QAAOA,IAAE,OAAO,EACd,IAAIA,IAAE,QAAQ,EACf,CAAC;;AAGJ,SAAgB,2BAEd;AACA,QAAOA,IAAE,OAAO,EACd,MAAMA,IAAE,QAAQ,EACjB,CAAC;;AAGJ,SAAgB,6BAEd;AACA,QAAOA,IAAE,OAAO,EACd,QAAQ,kBACT,CAAC;;;;;;;;;;;;;;ACvDJ,MAAa,iBAAiB,UAC5B,aACE,mBACA,EAAE,GAAG,OAAO,EACZ,KAAA,GACA,0BACA,SACD;AAEH,MAAa,mBAAmB,UAC9B,aACE,qBACA,EAAE,GAAG,OAAO,EACZ,KAAA,GACA,4BACA,SACD;AAEH,MAAa,sBAAsB,UACjC,aACE,wBACA,EAAE,GAAG,OAAO,EACZ,KAAA,GACA,+BACA,SACD;AAEH,MAAa,mBAAmB,UAC9B,aACE,qBACA,EAAE,GAAG,OAAO,EACZ,KAAA,GACA,4BACA,SACD;;;;;;;;ACjDH,MAAa,UAAU;CACrB,GAAG;CACH,GAAGC;CACJ;;;ACVD,MAAa,yCACX;CACE,uBAAuB,OAAO,QAAQ,WAAW;EAC/C,MAAM,cAAc,OAAO,MAAM,KAAK,MAAM;AAC5C,MAAI,gBAAgB,GAClB,OAAM,IAAI,MAAM,8BAA8B;AAEhD,QAAM,OAAO;;CAEf,yBAAyB,OAAO,QAAQ,WAAW;AAKjD,MAHmB,MAAM,cAAc,MACpC,OAAO,GAAG,OAAO,OAAO,MAAM,GAChC,CAEC,OAAM,IAAI,MACR,0BAA0B,OAAO,MAAM,GAAG,kBAC3C;AAGH,QAAM,cAAc,KAAK;GACvB,IAAI,OAAO,MAAM;GACjB,cAAc,OAAO,MAAM;GAC5B,CAAC;;CAEJ,4BAA4B,OAAO,QAAQ,WAAW;AACpD,QAAM,gBAAgB,MAAM,cAAc,QACvC,iBAAiB,aAAa,OAAO,OAAO,MAAM,GACpD;;CAEH,yBAAyB,OAAO,QAAQ,WAAW;AACjD,QAAM,SAAS,OAAO,MAAM;;CAE/B;;;ACtBH,MAAM,gBACJ,OACA,QACA,aACG;AACH,KAAI,iBAAiB,OAAO,CAC1B,QAAO;AAET,SAAQ,OAAO,MAAf;EACE,KAAK;AACH,6BAA0B,CAAC,MAAM,OAAO,MAAM;AAE9C,0CAAuC,uBACpC,MAAc,OAAO,QACtB,QACA,SACD;AAED;EAGF,KAAK;AACH,+BAA4B,CAAC,MAAM,OAAO,MAAM;AAEhD,0CAAuC,yBACpC,MAAc,OAAO,QACtB,QACA,SACD;AAED;EAGF,KAAK;AACH,kCAA+B,CAAC,MAAM,OAAO,MAAM;AAEnD,0CAAuC,4BACpC,MAAc,OAAO,QACtB,QACA,SACD;AAED;EAGF,KAAK;AACH,+BAA4B,CAAC,MAAM,OAAO,MAAM;AAEhD,0CAAuC,yBACpC,MAAc,OAAO,QACtB,QACA,SACD;AAED;EAGF,QACE,QAAO;;;AAIb,MAAa,UACX,cAAc,aAAa;;;;;;;ACxE7B,MAAa,6BAA6B;;;;;;;;ACU1C,MAAa,qCACX,yBAAyB,OAAO,EAC9B,cAAc,EAAE,QAAQ,2BAA2B,EACpD,CAAC;;AAGJ,MAAa,8BAA8B,wBAAwB,OAAO,EACxE,QAAQ,2BAA2B,EACpC,CAAC;AAEF,MAAa,+BAA+B,EAAE,OAAO;CACnD,QAAQ;CACR,OAAO;CACP,cAAc;CACf,CAAC;;AAGF,SAAgB,sBACd,OACgC;AAChC,QAAO,4BAA4B,UAAU,MAAM,CAAC;;;AAItD,SAAgB,4BACd,OACwC;AACxC,6BAA4B,MAAM,MAAM;;;AAI1C,SAAgB,yBACd,UACoC;AACpC,QAAO,6BAA6B,UAAU,SAAS,CAAC;;;AAI1D,SAAgB,+BACd,UAC4C;AAC5C,8BAA6B,MAAM,SAAS;;;;AC9B9C,MAAa,qBAAgD;CAC3D,MAAM;CACN,eAAe,EAAE;CACjB,QAAQ;CACT;AACD,MAAa,oBAA8C,EAAE;AAE7D,MAAa,QAAmD;CAC9D,eAAe;CACf,YAAY,OAAO;AACjB,SAAO;GACL,GAAG,kBAAkB;GACrB,QAAQ;IAAE,GAAG;IAAoB,GAAG,OAAO;IAAQ;GACnD,OAAO;IAAE,GAAG;IAAmB,GAAG,OAAO;IAAO;GACjD;;CAEH,eAAe,OAAO;AACpB,SAAO,mBACL,MAAM,aACN,OACA,2BACD;;CAEH,iBAAiB,UAAU,OAAO;AAChC,SAAO,qBAAqB,UAAU,MAAM;;CAE9C,cAAc,OAAO;AACnB,SAAO,kBAAkB,OAAO,QAAQ;;CAE1C,cAAc,OAAO;AACnB,SAAO,sBAAsB,MAAM;;CAErC,oBAAoB,OAAO;AACzB,SAAO,4BAA4B,MAAM;;CAE3C,iBAAiB,UAAU;AACzB,SAAO,yBAAyB,SAAS;;CAE3C,uBAAuB,UAAU;AAC/B,SAAO,+BAA+B,SAAS;;CAElD"}
1
+ {"version":3,"file":"utils-D0ejTHeY.js","names":["z","documentEditorBaseOperationsActions"],"sources":["../document-models/document-editor/v1/gen/schema/zod.ts","../document-models/document-editor/v1/gen/base-operations/creators.ts","../document-models/document-editor/v1/actions.ts","../document-models/document-editor/v1/src/reducers/base-operations.ts","../document-models/document-editor/v1/gen/reducer.ts","../document-models/document-editor/v1/gen/document-type.ts","../document-models/document-editor/v1/gen/document-schema.ts","../document-models/document-editor/v1/gen/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as z from \"zod\";\nimport type {\n AddDocumentTypeInput,\n DocumentEditorState,\n DocumentTypeItem,\n RemoveDocumentTypeInput,\n SetEditorNameInput,\n SetEditorStatusInput,\n StatusType,\n} from \"./types.js\";\n\ntype Properties<T> = Required<{\n [K in keyof T]: z.ZodType<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 StatusTypeSchema = z.enum([\"CONFIRMED\", \"DRAFT\"]);\n\nexport function AddDocumentTypeInputSchema(): z.ZodObject<\n Properties<AddDocumentTypeInput>\n> {\n return z.object({\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function DocumentEditorStateSchema(): z.ZodObject<\n Properties<DocumentEditorState>\n> {\n return z.object({\n __typename: z.literal(\"DocumentEditorState\").optional(),\n documentTypes: z.array(z.lazy(() => DocumentTypeItemSchema())),\n name: z.string(),\n status: StatusTypeSchema,\n });\n}\n\nexport function DocumentTypeItemSchema(): z.ZodObject<\n Properties<DocumentTypeItem>\n> {\n return z.object({\n __typename: z.literal(\"DocumentTypeItem\").optional(),\n documentType: z.string(),\n id: z.string(),\n });\n}\n\nexport function RemoveDocumentTypeInputSchema(): z.ZodObject<\n Properties<RemoveDocumentTypeInput>\n> {\n return z.object({\n id: z.string(),\n });\n}\n\nexport function SetEditorNameInputSchema(): z.ZodObject<\n Properties<SetEditorNameInput>\n> {\n return z.object({\n name: z.string(),\n });\n}\n\nexport function SetEditorStatusInputSchema(): z.ZodObject<\n Properties<SetEditorStatusInput>\n> {\n return z.object({\n status: StatusTypeSchema,\n });\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { createAction } from \"document-model\";\nimport {\n AddDocumentTypeInputSchema,\n RemoveDocumentTypeInputSchema,\n SetEditorNameInputSchema,\n SetEditorStatusInputSchema,\n} from \"../schema/zod.js\";\nimport type {\n AddDocumentTypeInput,\n RemoveDocumentTypeInput,\n SetEditorNameInput,\n SetEditorStatusInput,\n} from \"../types.js\";\nimport type {\n AddDocumentTypeAction,\n RemoveDocumentTypeAction,\n SetEditorNameAction,\n SetEditorStatusAction,\n} from \"./actions.js\";\n\nexport const setEditorName = (input: SetEditorNameInput) =>\n createAction<SetEditorNameAction>(\n \"SET_EDITOR_NAME\",\n { ...input },\n undefined,\n SetEditorNameInputSchema,\n \"global\",\n );\n\nexport const addDocumentType = (input: AddDocumentTypeInput) =>\n createAction<AddDocumentTypeAction>(\n \"ADD_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n AddDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const removeDocumentType = (input: RemoveDocumentTypeInput) =>\n createAction<RemoveDocumentTypeAction>(\n \"REMOVE_DOCUMENT_TYPE\",\n { ...input },\n undefined,\n RemoveDocumentTypeInputSchema,\n \"global\",\n );\n\nexport const setEditorStatus = (input: SetEditorStatusInput) =>\n createAction<SetEditorStatusAction>(\n \"SET_EDITOR_STATUS\",\n { ...input },\n undefined,\n SetEditorStatusInputSchema,\n \"global\",\n );\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport { baseActions } from \"document-model\";\nimport { documentEditorBaseOperationsActions } from \"./gen/creators.js\";\n\n/** Actions for the DocumentEditor document model */\n\nexport const actions = {\n ...baseActions,\n ...documentEditorBaseOperationsActions,\n};\n","import type { DocumentEditorBaseOperationsOperations } from \"document-models/document-editor/v1\";\n\nexport const documentEditorBaseOperationsOperations: DocumentEditorBaseOperationsOperations =\n {\n setEditorNameOperation(state, action, _dispatch) {\n const trimmedName = action.input.name.trim();\n if (trimmedName === \"\") {\n throw new Error(\"Editor name cannot be empty\");\n }\n state.name = trimmedName;\n },\n addDocumentTypeOperation(state, action, _dispatch) {\n // Check for duplicate ID\n const existingId = state.documentTypes.find(\n (dt) => dt.id === action.input.id,\n );\n if (existingId) {\n throw new Error(\n `Document type with id \"${action.input.id}\" already exists`,\n );\n }\n\n state.documentTypes.push({\n id: action.input.id,\n documentType: action.input.documentType,\n });\n },\n removeDocumentTypeOperation(state, action, _dispatch) {\n state.documentTypes = state.documentTypes.filter(\n (documentType) => documentType.id !== action.input.id,\n );\n },\n setEditorStatusOperation(state, action, _dispatch) {\n state.status = action.input.status;\n },\n };\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport type { Reducer, StateReducer } from \"document-model\";\nimport { createReducer, isDocumentAction } from \"document-model\";\nimport type { DocumentEditorPHState } from \"document-models/document-editor/v1\";\n\nimport { documentEditorBaseOperationsOperations } from \"../src/reducers/base-operations.js\";\n\nimport {\n AddDocumentTypeInputSchema,\n RemoveDocumentTypeInputSchema,\n SetEditorNameInputSchema,\n SetEditorStatusInputSchema,\n} from \"./schema/zod.js\";\n\nconst stateReducer: StateReducer<DocumentEditorPHState> = (\n state,\n action,\n dispatch,\n) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_EDITOR_NAME\": {\n SetEditorNameInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.setEditorNameOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"ADD_DOCUMENT_TYPE\": {\n AddDocumentTypeInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.addDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"REMOVE_DOCUMENT_TYPE\": {\n RemoveDocumentTypeInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.removeDocumentTypeOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n case \"SET_EDITOR_STATUS\": {\n SetEditorStatusInputSchema().parse(action.input);\n\n documentEditorBaseOperationsOperations.setEditorStatusOperation(\n (state as any)[action.scope],\n action as any,\n dispatch,\n );\n\n break;\n }\n\n default:\n return state;\n }\n};\n\nexport const reducer: Reducer<DocumentEditorPHState> =\n createReducer(stateReducer);\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nexport const documentEditorDocumentType = \"powerhouse/document-editor\";\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport {\n BaseDocumentHeaderSchema,\n BaseDocumentStateSchema,\n} from \"document-model\";\nimport { z } from \"zod\";\nimport { documentEditorDocumentType } from \"./document-type.js\";\nimport { DocumentEditorStateSchema } from \"./schema/zod.js\";\nimport type { DocumentEditorDocument, DocumentEditorPHState } from \"./types.js\";\n\n/** Schema for validating the header object of a DocumentEditor document */\nexport const DocumentEditorDocumentHeaderSchema =\n BaseDocumentHeaderSchema.extend({\n documentType: z.literal(documentEditorDocumentType),\n });\n\n/** Schema for validating the state object of a DocumentEditor document */\nexport const DocumentEditorPHStateSchema = BaseDocumentStateSchema.extend({\n global: DocumentEditorStateSchema(),\n});\n\nexport const DocumentEditorDocumentSchema = z.object({\n header: DocumentEditorDocumentHeaderSchema,\n state: DocumentEditorPHStateSchema,\n initialState: DocumentEditorPHStateSchema,\n});\n\n/** Simple helper function to check if a state object is a DocumentEditor document state object */\nexport function isDocumentEditorState(\n state: unknown,\n): state is DocumentEditorPHState {\n return DocumentEditorPHStateSchema.safeParse(state).success;\n}\n\n/** Simple helper function to assert that a document state object is a DocumentEditor document state object */\nexport function assertIsDocumentEditorState(\n state: unknown,\n): asserts state is DocumentEditorPHState {\n DocumentEditorPHStateSchema.parse(state);\n}\n\n/** Simple helper function to check if a document is a DocumentEditor document */\nexport function isDocumentEditorDocument(\n document: unknown,\n): document is DocumentEditorDocument {\n return DocumentEditorDocumentSchema.safeParse(document).success;\n}\n\n/** Simple helper function to assert that a document is a DocumentEditor document */\nexport function assertIsDocumentEditorDocument(\n document: unknown,\n): asserts document is DocumentEditorDocument {\n DocumentEditorDocumentSchema.parse(document);\n}\n","/**\n * WARNING: DO NOT EDIT\n * This file is auto-generated and updated by codegen\n */\nimport type { DocumentModelUtils } from \"document-model\";\nimport {\n baseCreateDocument,\n baseLoadFromInput,\n baseSaveToFileHandle,\n defaultBaseState,\n} from \"document-model\";\nimport {\n assertIsDocumentEditorDocument,\n assertIsDocumentEditorState,\n isDocumentEditorDocument,\n isDocumentEditorState,\n} from \"./document-schema.js\";\nimport { documentEditorDocumentType } from \"./document-type.js\";\nimport { reducer } from \"./reducer.js\";\nimport type {\n DocumentEditorGlobalState,\n DocumentEditorLocalState,\n DocumentEditorPHState,\n} from \"./types.js\";\n\nexport const initialGlobalState: DocumentEditorGlobalState = {\n name: \"\",\n documentTypes: [],\n status: \"DRAFT\",\n};\nexport const initialLocalState: DocumentEditorLocalState = {};\n\nexport const utils: DocumentModelUtils<DocumentEditorPHState> = {\n fileExtension: \".editor\",\n createState(state) {\n return {\n ...defaultBaseState(),\n global: { ...initialGlobalState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n },\n createDocument(state) {\n return baseCreateDocument(\n utils.createState,\n state,\n documentEditorDocumentType,\n );\n },\n saveToFileHandle(document, input) {\n return baseSaveToFileHandle(document, input);\n },\n loadFromInput(input) {\n return baseLoadFromInput(input, reducer);\n },\n isStateOfType(state) {\n return isDocumentEditorState(state);\n },\n assertIsStateOfType(state) {\n return assertIsDocumentEditorState(state);\n },\n isDocumentOfType(document) {\n return isDocumentEditorDocument(document);\n },\n assertIsDocumentOfType(document) {\n return assertIsDocumentEditorDocument(document);\n },\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/vetra",
3
- "version": "6.2.0-dev.2",
3
+ "version": "6.2.0-dev.21",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -59,12 +59,12 @@
59
59
  "react": "19.2.6",
60
60
  "zod": "4.3.6",
61
61
  "tailwind-merge": "3.4.0",
62
- "@powerhousedao/config": "6.2.0-dev.2",
63
- "@powerhousedao/reactor-browser": "6.2.0-dev.2",
64
- "@powerhousedao/design-system": "6.2.0-dev.2",
65
- "@powerhousedao/shared": "6.2.0-dev.2",
66
- "@powerhousedao/codegen": "6.2.0-dev.2",
67
- "document-model": "6.2.0-dev.2"
62
+ "@powerhousedao/codegen": "6.2.0-dev.21",
63
+ "@powerhousedao/config": "6.2.0-dev.21",
64
+ "@powerhousedao/reactor-browser": "6.2.0-dev.21",
65
+ "@powerhousedao/design-system": "6.2.0-dev.21",
66
+ "@powerhousedao/shared": "6.2.0-dev.21",
67
+ "document-model": "6.2.0-dev.21"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@tailwindcss/cli": "4.2.2",
@@ -80,10 +80,10 @@
80
80
  "tailwindcss": "4.2.2",
81
81
  "ts-morph": "27.0.2",
82
82
  "tsdown": "0.21.1",
83
- "vite": "8.0.8",
83
+ "vite": "8.0.10",
84
84
  "vite-tsconfig-paths": "6.1.1",
85
85
  "vitest": "4.1.1",
86
- "@powerhousedao/builder-tools": "6.2.0-dev.2"
86
+ "@powerhousedao/builder-tools": "6.2.0-dev.21"
87
87
  },
88
88
  "description": "",
89
89
  "scripts": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor-BamOOi9L.js","names":[],"sources":["../editors/document-editor/components/DocumentEditorForm.tsx","../editors/document-editor/config.ts","../editors/document-editor/editor.tsx"],"sourcesContent":["import { Suspense, useEffect, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport type {\n AddDocumentTypeInput,\n DocumentTypeItem,\n RemoveDocumentTypeInput,\n} from \"../../../document-models/document-editor/index.js\";\nimport { StatusPill } from \"../../components/index.js\";\nimport { useAvailableDocumentTypes, useDebounce } from \"../../hooks/index.js\";\n\nexport interface DocumentEditorFormProps {\n editorName?: string;\n documentTypes?: DocumentTypeItem[];\n status?: string;\n onEditorNameChange?: (name: string) => void;\n onAddDocumentType?: (input: AddDocumentTypeInput) => void;\n onRemoveDocumentType?: (input: RemoveDocumentTypeInput) => void;\n onConfirm?: () => void;\n}\n\nfunction DocumentTypeSelectUI(\n props: React.SelectHTMLAttributes<HTMLSelectElement>,\n) {\n return (\n <select\n id=\"supported-document-types\"\n className=\"w-full rounded-md border border-gray-300 px-3 py-2 text-gray-900 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100\"\n {...props}\n >\n <option value=\"\">Select a document type</option>\n {props.children}\n </select>\n );\n}\n\nfunction DocumentTypeSelect({\n documentTypes,\n setDocumentTypes,\n onAddDocumentType,\n onRemoveDocumentType,\n}: {\n setDocumentTypes: (documentTypes: DocumentTypeItem[]) => void;\n} & Pick<\n DocumentEditorFormProps,\n \"documentTypes\" | \"onAddDocumentType\" | \"onRemoveDocumentType\"\n>) {\n // Get available document types from the hook (vetra drive only for document editor)\n const availableDocumentTypes = useAvailableDocumentTypes(true);\n const [selectedDocumentType, setSelectedDocumentType] = useState(\"\");\n\n return (\n <DocumentTypeSelectUI\n value={selectedDocumentType}\n onChange={(e) => {\n const selectedValue = e.target.value;\n if (selectedValue) {\n // Remove existing document type if any\n\n const existingType = documentTypes?.at(0);\n if (existingType) {\n onRemoveDocumentType?.({ id: existingType.id });\n }\n\n // Add the new document type\n const newTypeInput: AddDocumentTypeInput = {\n id: Date.now().toString(), // Generate a unique ID\n documentType: selectedValue,\n };\n const newType: DocumentTypeItem = {\n id: newTypeInput.id,\n documentType: newTypeInput.documentType,\n };\n setDocumentTypes([newType]); // Replace with single item array\n onAddDocumentType?.(newTypeInput);\n }\n setSelectedDocumentType(\"\");\n }}\n >\n {availableDocumentTypes.map((docType) => (\n <option key={docType} value={docType}>\n {docType}\n </option>\n ))}\n </DocumentTypeSelectUI>\n );\n}\n\nexport const DocumentEditorForm: React.FC<DocumentEditorFormProps> = ({\n editorName: initialEditorName = \"\",\n documentTypes: initialDocumentTypes = [],\n status = \"DRAFT\",\n onEditorNameChange,\n onAddDocumentType,\n onRemoveDocumentType,\n onConfirm,\n}) => {\n const [editorName, setEditorName] = useState(initialEditorName);\n const [documentTypes, setDocumentTypes] =\n useState<DocumentTypeItem[]>(initialDocumentTypes);\n const [isConfirmed, setIsConfirmed] = useState(false);\n\n // Use the debounce hook for name changes\n useDebounce(editorName, onEditorNameChange, 300);\n\n // Update local state when initial values change\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setEditorName(initialEditorName);\n }, [initialEditorName]);\n\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setDocumentTypes(initialDocumentTypes);\n }, [initialDocumentTypes]);\n\n // Reset confirmation state if status changes back to DRAFT\n useEffect(() => {\n if (status === \"DRAFT\") {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setIsConfirmed(false);\n }\n }, [status]);\n\n // Check if form should be read-only\n const isReadOnly = isConfirmed || status === \"CONFIRMED\";\n\n const handleConfirm = () => {\n if (editorName.trim() && documentTypes.length > 0) {\n setIsConfirmed(true); // Immediate UI update\n onConfirm?.();\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-lg font-medium text-gray-900 dark:text-slate-50\">\n Editor Configuration\n </h2>\n <StatusPill\n status={status === \"CONFIRMED\" ? \"confirmed\" : \"draft\"}\n label={status === \"CONFIRMED\" ? \"Confirmed\" : \"Draft\"}\n />\n </div>\n\n {/* Editor Name Field */}\n <div>\n <label\n htmlFor=\"editor-name\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Editor Name\n </label>\n <input\n id=\"editor-name\"\n type=\"text\"\n value={editorName}\n onChange={(e) => setEditorName(e.target.value)}\n disabled={isReadOnly}\n className={twMerge(\n \"w-full rounded-md border border-gray-300 px-3 py-2 placeholder:text-gray-700 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:placeholder:text-slate-200\",\n isReadOnly\n ? \"cursor-not-allowed bg-gray-100 dark:bg-slate-700\"\n : \"\",\n )}\n />\n </div>\n\n {/* Supported Document Types Field */}\n <div>\n <label\n htmlFor=\"supported-document-types\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Supported Document Types\n </label>\n <div className=\"space-y-2\">\n {!isReadOnly && (\n <Suspense fallback={<DocumentTypeSelectUI />}>\n <DocumentTypeSelect\n documentTypes={documentTypes}\n setDocumentTypes={setDocumentTypes}\n onAddDocumentType={onAddDocumentType}\n onRemoveDocumentType={onRemoveDocumentType}\n />\n </Suspense>\n )}\n <div className=\"space-y-1\">\n {documentTypes.map((type) => (\n <div key={type.id} className=\"flex items-center py-1\">\n <span className=\"text-sm text-gray-700 dark:text-slate-200\">\n {type.documentType}\n </span>\n {!isReadOnly && (\n <button\n onClick={() => {\n setDocumentTypes([]);\n onRemoveDocumentType?.({ id: type.id });\n }}\n className=\"ml-2 text-gray-400 hover:text-gray-600 focus:outline-none dark:text-slate-500 dark:hover:text-slate-300\"\n >\n ×\n </button>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n\n {/* Confirm Button - only show if not in read-only mode */}\n {!isReadOnly && (\n <div>\n <button\n onClick={handleConfirm}\n disabled={!editorName.trim() || documentTypes.length === 0}\n className=\"rounded-md bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:bg-gray-300 dark:bg-blue-300 dark:text-slate-900 dark:hover:bg-blue-200 dark:disabled:bg-slate-600 dark:disabled:text-slate-100\"\n >\n Confirm\n </button>\n </div>\n )}\n </div>\n );\n};\n","import type { PHDocumentEditorConfig } from \"@powerhousedao/reactor-browser\";\n\nexport const editorConfig: PHDocumentEditorConfig = {\n isExternalControlsEnabled: false,\n};\n","import { DocumentToolbar } from \"@powerhousedao/design-system/connect\";\nimport { useSetPHDocumentEditorConfig } from \"@powerhousedao/reactor-browser\";\nimport { useCallback } from \"react\";\nimport { useSelectedDocumentEditorDocument } from \"../../document-models/document-editor/index.js\";\nimport {\n addDocumentType,\n removeDocumentType,\n setEditorName,\n setEditorStatus,\n type AddDocumentTypeInput,\n type RemoveDocumentTypeInput,\n} from \"../../document-models/document-editor/index.js\";\nimport { DocumentEditorForm } from \"./components/DocumentEditorForm.js\";\nimport { editorConfig } from \"./config.js\";\n\nexport default function Editor() {\n useSetPHDocumentEditorConfig(editorConfig);\n const [document, dispatch] = useSelectedDocumentEditorDocument();\n\n const onEditorNameChange = useCallback(\n (name: string) => {\n if (!document.state.global.name && !name) return;\n if (name === document.state.global.name) return;\n\n dispatch(setEditorName({ name }));\n },\n [document.state.global.name, dispatch],\n );\n\n const onAddDocumentType = useCallback(\n (input: AddDocumentTypeInput) => {\n dispatch(addDocumentType(input));\n },\n [dispatch],\n );\n\n const onRemoveDocumentType = useCallback(\n (input: RemoveDocumentTypeInput) => {\n dispatch(removeDocumentType(input));\n },\n [dispatch],\n );\n\n const onConfirm = useCallback(() => {\n dispatch(setEditorStatus({ status: \"CONFIRMED\" }));\n }, [dispatch]);\n\n return (\n <div className=\"bg-gray-50 p-6 dark:bg-slate-800\">\n <DocumentToolbar />\n <DocumentEditorForm\n status={document.state.global.status}\n editorName={document.state.global.name ?? \"\"}\n documentTypes={document.state.global.documentTypes}\n onEditorNameChange={onEditorNameChange}\n onAddDocumentType={onAddDocumentType}\n onRemoveDocumentType={onRemoveDocumentType}\n onConfirm={onConfirm}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor-CM9tpwzR.js","names":[],"sources":["../editors/processor-editor/components/ProcessorEditorForm.tsx","../editors/processor-editor/config.ts","../editors/processor-editor/editor.tsx"],"sourcesContent":["import {\n PROCESSOR_APPS,\n type ProcessorApp,\n type ProcessorApps,\n} from \"@powerhousedao/shared/processors\";\nimport { useEffect, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport type { DocumentTypeItem } from \"../../../document-models/processor-module/index.js\";\nimport { StatusPill } from \"../../components/index.js\";\nimport { useAvailableDocumentTypes, useDebounce } from \"../../hooks/index.js\";\n\nexport interface ProcessorEditorFormProps {\n processorName?: string;\n processorType?: string;\n documentTypes?: DocumentTypeItem[];\n processorApps?: ProcessorApps;\n status?: string;\n onNameChange?: (name: string) => void;\n onTypeChange?: (type: string) => void;\n onAddDocumentType?: (id: string, documentType: string) => void;\n onRemoveDocumentType?: (id: string) => void;\n onAddProcessorApp?: (processorApp: ProcessorApp) => void;\n onRemoveProcessorApp?: (processorApp: ProcessorApp) => void;\n onConfirm?: () => void;\n}\n\nexport const ProcessorEditorForm: React.FC<ProcessorEditorFormProps> = ({\n processorName: initialProcessorName = \"\",\n processorType: initialProcessorType = \"\",\n documentTypes: initialDocumentTypes = [],\n processorApps: initialProcessorApps = [],\n status = \"DRAFT\",\n onNameChange,\n onTypeChange,\n onAddDocumentType,\n onRemoveDocumentType,\n onAddProcessorApp,\n onRemoveProcessorApp,\n onConfirm,\n}) => {\n const [processorName, setProcessorName] = useState(initialProcessorName);\n const [processorType, setProcessorType] = useState(initialProcessorType);\n const [documentTypes, setDocumentTypes] =\n useState<DocumentTypeItem[]>(initialDocumentTypes);\n const [selectedDocumentType, setSelectedDocumentType] = useState(\"\");\n const [processorApps, setProcessorApps] = useState(initialProcessorApps);\n const [isConfirmed, setIsConfirmed] = useState(false);\n\n // Get available document types from the hook (combines reactor and vetra drive)\n const availableDocumentTypes = useAvailableDocumentTypes();\n\n // Use the debounce hook for name and type changes\n useDebounce(processorName, onNameChange, 300);\n useDebounce(processorType, onTypeChange, 300);\n\n // Update local state when initial values change\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setProcessorName(initialProcessorName);\n }, [initialProcessorName]);\n\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setProcessorType(initialProcessorType);\n }, [initialProcessorType]);\n\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setDocumentTypes(initialDocumentTypes);\n }, [initialDocumentTypes]);\n\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setProcessorApps(initialProcessorApps);\n }, [initialProcessorApps]);\n\n // Reset confirmation state if status changes back to DRAFT\n useEffect(() => {\n if (status === \"DRAFT\") {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setIsConfirmed(false);\n }\n }, [status]);\n\n // Check if form should be read-only\n const isReadOnly = isConfirmed || status === \"CONFIRMED\";\n\n const handleConfirm = () => {\n if (\n processorName.trim() &&\n processorType &&\n documentTypes.length > 0 &&\n processorApps.length > 0\n ) {\n setIsConfirmed(true); // Immediate UI update\n onConfirm?.();\n }\n };\n\n const handleRemoveDocumentType = (id: string) => {\n setDocumentTypes(documentTypes.filter((dt) => dt.id !== id));\n onRemoveDocumentType?.(id);\n };\n\n const canConfirm =\n !!processorName.trim() &&\n !!processorType &&\n documentTypes.length > 0 &&\n processorApps.length > 0;\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-lg font-medium text-gray-900 dark:text-slate-50\">\n Processor Configuration\n </h2>\n <StatusPill\n status={status === \"CONFIRMED\" ? \"confirmed\" : \"draft\"}\n label={status === \"CONFIRMED\" ? \"Confirmed\" : \"Draft\"}\n />\n </div>\n\n {/* Processor Name Field */}\n <div>\n <label\n htmlFor=\"processor-name\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Processor Name\n </label>\n <input\n id=\"processor-name\"\n type=\"text\"\n value={processorName}\n onChange={(e) => setProcessorName(e.target.value)}\n disabled={isReadOnly}\n className={twMerge(\n \"w-full rounded-md border border-gray-300 px-3 py-2 placeholder:text-gray-700 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:placeholder:text-slate-200\",\n isReadOnly\n ? \"cursor-not-allowed bg-gray-100 dark:bg-slate-700\"\n : \"\",\n )}\n placeholder=\"Enter processor name\"\n />\n </div>\n\n {/* Processor Type Dropdown */}\n <div>\n <label\n htmlFor=\"processor-type\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Type\n </label>\n <select\n id=\"processor-type\"\n value={processorType}\n onChange={(e) => setProcessorType(e.target.value)}\n disabled={isReadOnly}\n className={twMerge(\n \"w-full rounded-md border border-gray-300 px-3 py-2 text-gray-900 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100\",\n isReadOnly\n ? \"cursor-not-allowed bg-gray-100 dark:bg-slate-700\"\n : \"\",\n )}\n >\n <option value=\"\">Select type...</option>\n <option value=\"analytics\">Analytics</option>\n <option value=\"relational\">Relational Database</option>\n </select>\n </div>\n\n {/* Document Types Field */}\n <div>\n <label\n htmlFor=\"document-types\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Document Types\n </label>\n <div className=\"space-y-2\">\n {!isReadOnly && availableDocumentTypes.length > 0 && (\n <select\n id=\"document-types\"\n value={selectedDocumentType}\n onChange={(e) => {\n const selectedValue = e.target.value;\n if (\n selectedValue &&\n !documentTypes.some((dt) => dt.documentType === selectedValue)\n ) {\n const id = Date.now().toString();\n const newType: DocumentTypeItem = {\n id,\n documentType: selectedValue,\n };\n setDocumentTypes([...documentTypes, newType]);\n onAddDocumentType?.(id, selectedValue);\n }\n setSelectedDocumentType(\"\");\n }}\n className=\"w-full rounded-md border border-gray-300 px-3 py-2 text-gray-900 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100\"\n >\n <option value=\"\">Select a document type to add</option>\n {availableDocumentTypes\n .filter(\n (docType) =>\n !documentTypes.some((dt) => dt.documentType === docType),\n )\n .map((docType) => (\n <option key={docType} value={docType}>\n {docType}\n </option>\n ))}\n </select>\n )}\n <div className=\"space-y-1\">\n {documentTypes.map((type) => (\n <div key={type.id} className=\"flex items-center py-1\">\n <span className=\"text-sm text-gray-700 dark:text-slate-200\">\n {type.documentType}\n </span>\n {!isReadOnly && (\n <button\n onClick={() => handleRemoveDocumentType(type.id)}\n className=\"ml-2 text-gray-400 hover:text-gray-600 focus:outline-none dark:text-slate-500 dark:hover:text-slate-300\"\n >\n ×\n </button>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n {/* Processor Apps Field */}\n <div>\n <label\n htmlFor=\"processor-apps\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Processor Apps\n </label>\n <div className=\"space-y-2\">\n {!isReadOnly && (\n <>\n {PROCESSOR_APPS.map((processorApp) => (\n <div key={processorApp} className=\"flex gap-1\">\n <input\n type=\"checkbox\"\n name={processorApp}\n id={processorApp}\n checked={processorApps.includes(processorApp)}\n onChange={(event) => {\n const isChecked = event.target.checked;\n if (isChecked) {\n setProcessorApps((processorApps) => [\n ...new Set([...processorApps, processorApp]),\n ]);\n onAddProcessorApp?.(processorApp);\n } else {\n if (processorApps.length > 1) {\n setProcessorApps((processorApps) =>\n processorApps.filter((p) => p !== processorApp),\n );\n onRemoveProcessorApp?.(processorApp);\n }\n }\n }}\n />\n <label\n htmlFor={processorApp}\n className=\"text-gray-700 dark:text-slate-200\"\n >\n {processorApp}\n </label>\n </div>\n ))}\n </>\n )}\n <div className=\"space-y-1\">\n {isReadOnly &&\n processorApps.map((processorApp) => (\n <span\n key={processorApp}\n className=\"text-sm text-gray-700 dark:text-slate-200\"\n >\n {processorApp}\n </span>\n ))}\n </div>\n </div>\n </div>\n {/* Confirm Button - only show if not in read-only mode */}\n {!isReadOnly && (\n <div>\n <button\n onClick={handleConfirm}\n disabled={!canConfirm}\n className=\"rounded-md bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:bg-gray-300 dark:bg-blue-300 dark:text-slate-900 dark:hover:bg-blue-200 dark:disabled:bg-slate-600 dark:disabled:text-slate-100\"\n >\n Confirm\n </button>\n </div>\n )}\n </div>\n );\n};\n","import type { PHDocumentEditorConfig } from \"@powerhousedao/reactor-browser\";\n\nexport const editorConfig: PHDocumentEditorConfig = {\n isExternalControlsEnabled: false,\n};\n","import { DocumentToolbar } from \"@powerhousedao/design-system/connect\";\nimport { useSetPHDocumentEditorConfig } from \"@powerhousedao/reactor-browser\";\nimport type {\n ProcessorApp,\n ProcessorApps,\n} from \"@powerhousedao/shared/processors\";\nimport { useCallback } from \"react\";\nimport {\n addDocumentType,\n addProcessorApp,\n removeDocumentType,\n removeProcessorApp,\n setProcessorName,\n setProcessorStatus,\n setProcessorType,\n} from \"../../document-models/processor-module/index.js\";\nimport { useSelectedProcessorModuleDocument } from \"../hooks/useVetraDocument.js\";\nimport { ProcessorEditorForm } from \"./components/ProcessorEditorForm.js\";\nimport { editorConfig } from \"./config.js\";\n\nexport default function Editor() {\n useSetPHDocumentEditorConfig(editorConfig);\n const [document, dispatch] = useSelectedProcessorModuleDocument();\n\n const onConfirm = useCallback(() => {\n // Dispatch all actions at once\n dispatch([setProcessorStatus({ status: \"CONFIRMED\" })]);\n }, [dispatch]);\n\n const onNameChange = useCallback(\n (name: string) => {\n if (name === document.state.global.name) return;\n dispatch(setProcessorName({ name }));\n },\n [document.state.global.name, dispatch],\n );\n\n const onTypeChange = useCallback(\n (type: string) => {\n if (type === document.state.global.type) return;\n dispatch(setProcessorType({ type }));\n },\n [document.state.global.type, dispatch],\n );\n\n const onAddDocumentType = useCallback(\n (id: string, documentType: string) => {\n dispatch(addDocumentType({ id, documentType }));\n },\n [dispatch],\n );\n\n const onRemoveDocumentType = useCallback(\n (id: string) => {\n dispatch(removeDocumentType({ id }));\n },\n [dispatch],\n );\n\n const onAddProcessorApp = useCallback(\n (processorApp: ProcessorApp) => {\n dispatch(addProcessorApp({ processorApp }));\n },\n [dispatch],\n );\n\n const onRemoveProcessorApp = useCallback(\n (processorApp: ProcessorApp) => {\n dispatch(removeProcessorApp({ processorApp }));\n },\n [dispatch],\n );\n\n return (\n <div className=\"bg-gray-50 p-6 dark:bg-slate-800\">\n <DocumentToolbar />\n <ProcessorEditorForm\n onNameChange={onNameChange}\n onTypeChange={onTypeChange}\n onAddDocumentType={onAddDocumentType}\n onRemoveDocumentType={onRemoveDocumentType}\n onAddProcessorApp={onAddProcessorApp}\n onRemoveProcessorApp={onRemoveProcessorApp}\n status={document.state.global.status}\n processorName={document.state.global.name ?? \"\"}\n processorType={document.state.global.type ?? \"\"}\n documentTypes={document.state.global.documentTypes ?? []}\n processorApps={document.state.global.processorApps as ProcessorApps}\n onConfirm={onConfirm}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor-D-QqGEkw.js","names":[],"sources":["../editors/app-editor/components/AppEditorForm.tsx","../editors/app-editor/config.ts","../editors/app-editor/editor.tsx"],"sourcesContent":["import {\n useDocumentTypesInSelectedDrive,\n useSupportedDocumentTypesInReactor,\n} from \"@powerhousedao/reactor-browser\";\nimport {\n addDocumentType,\n removeDocumentType,\n setAppName,\n setAppStatus,\n setDocumentTypes,\n setDragAndDropEnabled,\n} from \"@powerhousedao/vetra/document-models/app-module\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useSelectedAppModuleDocument } from \"../../../document-models/app-module/index.js\";\nimport { StatusPill } from \"../../components/index.js\";\nimport { useDebounce } from \"../../hooks/index.js\";\n\nconst ALL_IN_DRIVE = \"all-in-drive\";\nconst ALL_IN_REACTOR = \"all-in-reactor\";\nconst ALLOW_ANY = \"allow-any\";\n\nexport const AppEditorForm = () => {\n const [document, dispatch] = useSelectedAppModuleDocument();\n const documentName = document.state.global.name;\n const status = document.state.global.status;\n const isDragAndDropEnabled = document.state.global.isDragAndDropEnabled;\n const allowedDocumentTypes = document.state.global.allowedDocumentTypes;\n const [appName, handleSetAppName] = useState(documentName);\n const [isConfirmed, setIsConfirmed] = useState(status === \"CONFIRMED\");\n const documentTypesInSelectedDrive = useDocumentTypesInSelectedDrive();\n const supportedDocumentTypesInReactor = useSupportedDocumentTypesInReactor();\n const [selectedDocumentTypes, setSelectedDocumentTypes] = useState(\n allowedDocumentTypes ?? [],\n );\n\n // Use the debounce hook for name changes\n\n const onNameChange = useCallback(\n (name: string) => {\n if (name === documentName) return;\n console.log(\"onNameChange\", name);\n dispatch(setAppName({ name }));\n },\n [documentName, dispatch],\n );\n\n useDebounce(appName, onNameChange, 300);\n\n const onConfirm = () => {\n dispatch(setAppStatus({ status: \"CONFIRMED\" }));\n };\n\n const onDragAndDropToggle = (enabled: boolean) => {\n if (enabled === isDragAndDropEnabled) return;\n dispatch(setDragAndDropEnabled({ enabled }));\n };\n\n // Reset confirmation state if status changes back to DRAFT\n useEffect(() => {\n if (status === \"DRAFT\") {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setIsConfirmed(false);\n }\n }, [status]);\n\n // Check if form should be read-only\n const isReadOnly = isConfirmed || status === \"CONFIRMED\";\n\n const handleConfirm = () => {\n if (appName.trim()) {\n setIsConfirmed(true); // Immediate UI update\n onConfirm();\n }\n };\n\n const handleAddDocumentType = (documentType: string) => {\n if (!documentType || selectedDocumentTypes.includes(documentType)) return;\n setSelectedDocumentTypes([...selectedDocumentTypes, documentType]);\n dispatch(addDocumentType({ documentType }));\n };\n\n const handleRemoveDocumentType = (documentType: string) => {\n setSelectedDocumentTypes(\n selectedDocumentTypes.filter((dt) => dt !== documentType),\n );\n dispatch(removeDocumentType({ documentType }));\n };\n\n const handleAddAllDocumentTypesInDrive = () => {\n const newDocumentTypes = [\n ...new Set([\n ...selectedDocumentTypes,\n ...(documentTypesInSelectedDrive ?? []),\n ]),\n ];\n setSelectedDocumentTypes(newDocumentTypes);\n dispatch(setDocumentTypes({ documentTypes: newDocumentTypes }));\n };\n\n const handleAddAllDocumentTypesInReactor = () => {\n const newDocumentTypes = [\n ...new Set([\n ...selectedDocumentTypes,\n ...(supportedDocumentTypesInReactor ?? []),\n ]),\n ];\n setSelectedDocumentTypes(newDocumentTypes);\n dispatch(setDocumentTypes({ documentTypes: newDocumentTypes }));\n };\n\n const handleAllowAnyDocumentType = () => {\n setSelectedDocumentTypes([]);\n dispatch(setDocumentTypes({ documentTypes: [] }));\n };\n\n const handleDocumentTypeSelection = (selectedValue: string) => {\n if (selectedValue === ALL_IN_DRIVE) {\n handleAddAllDocumentTypesInDrive();\n } else if (selectedValue === ALL_IN_REACTOR) {\n handleAddAllDocumentTypesInReactor();\n } else if (selectedValue === ALLOW_ANY) {\n handleAllowAnyDocumentType();\n } else {\n handleAddDocumentType(selectedValue);\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-lg font-medium text-gray-900 dark:text-slate-50\">\n App Configuration\n </h2>\n <StatusPill\n status={status === \"CONFIRMED\" ? \"confirmed\" : \"draft\"}\n label={status === \"CONFIRMED\" ? \"Confirmed\" : \"Draft\"}\n />\n </div>\n\n {/* App Name Field */}\n <div>\n <label\n htmlFor=\"app-name\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n App Name\n </label>\n <input\n id=\"app-name\"\n type=\"text\"\n value={appName}\n onChange={(e) => handleSetAppName(e.target.value)}\n disabled={isReadOnly}\n className={twMerge(\n \"w-full rounded-md border border-gray-300 px-3 py-2 text-gray-50 placeholder:text-gray-400 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:placeholder:text-slate-400\",\n isReadOnly\n ? \"cursor-not-allowed bg-gray-100 dark:bg-slate-700\"\n : \"\",\n )}\n placeholder=\"Enter app name\"\n />\n </div>\n\n {/* Document Types Field */}\n <div>\n <label\n htmlFor=\"document-types\"\n className=\"mb-2 block text-sm font-medium text-gray-700 dark:text-slate-200\"\n >\n Document Types\n </label>\n <div className=\"space-y-2\">\n {!isReadOnly && (\n <select\n onChange={(e) => handleDocumentTypeSelection(e.target.value)}\n className=\"w-full rounded-md border border-gray-300 px-3 py-2 text-gray-900 focus:border-transparent focus:ring-2 focus:ring-blue-500 focus:outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100\"\n >\n <option>Select a document type to add</option>\n <option>--- Vetra drive document types ---</option>\n <option value={ALL_IN_DRIVE}>\n Add all document types in Vetra drive\n </option>\n {documentTypesInSelectedDrive\n ?.filter((dt) => !selectedDocumentTypes.includes(dt))\n .map((docType) => (\n <option key={docType} value={docType}>\n {docType}\n </option>\n ))}\n <option>--- Reactor document types ---</option>\n <option value={ALL_IN_REACTOR}>\n Add all document types in Reactor\n </option>\n {supportedDocumentTypesInReactor\n ?.filter((dt) => !selectedDocumentTypes.includes(dt))\n .map((docType) => (\n <option key={docType} value={docType}>\n {docType}\n </option>\n ))}\n <option>--- Allow any document type ---</option>\n <option value={ALLOW_ANY}>Allow any document type</option>\n </select>\n )}\n <div className=\"space-y-1\">\n {selectedDocumentTypes.length > 0 ? (\n selectedDocumentTypes.map((type) => (\n <div key={type} className=\"flex items-center py-1\">\n <span className=\"text-sm text-gray-700 dark:text-slate-200\">\n {type}\n </span>\n {!isReadOnly && (\n <button\n onClick={() => handleRemoveDocumentType(type)}\n className=\"ml-2 text-gray-400 hover:text-gray-600 focus:outline-none dark:text-slate-500 dark:hover:text-slate-300\"\n >\n ×\n </button>\n )}\n </div>\n ))\n ) : (\n <span className=\"text-sm text-gray-700 dark:text-slate-200\">\n All documents (*)\n </span>\n )}\n </div>\n </div>\n </div>\n\n {/* Drag and Drop Settings */}\n <div>\n <h3 className=\"mb-4 text-base font-medium text-gray-900 dark:text-slate-50\">\n Drag and Drop Settings\n </h3>\n\n {/* Enable/Disable Switch */}\n <div className=\"mb-4\">\n <label htmlFor=\"drag-and-drop-enabled\" className=\"flex items-center\">\n <input\n id=\"drag-and-drop-enabled\"\n type=\"checkbox\"\n checked={isDragAndDropEnabled}\n onChange={(e) => onDragAndDropToggle(e.target.checked)}\n disabled={isReadOnly}\n className={twMerge(\n \"mr-2 size-4 rounded-sm border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100\",\n isReadOnly ? \"cursor-not-allowed\" : \"\",\n )}\n />\n <span className=\"text-sm font-medium text-gray-700 dark:text-slate-200\">\n Enable drag and drop\n </span>\n </label>\n </div>\n </div>\n\n {/* Confirm Button - only show if not in read-only mode */}\n {!isReadOnly && (\n <div>\n <button\n onClick={handleConfirm}\n disabled={!appName.trim()}\n className=\"rounded-md bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:bg-gray-300 dark:bg-blue-300 dark:text-slate-900 dark:hover:bg-blue-200 dark:disabled:bg-slate-600 dark:disabled:text-slate-100\"\n >\n Confirm\n </button>\n </div>\n )}\n </div>\n );\n};\n","import type { PHDocumentEditorConfig } from \"@powerhousedao/reactor-browser\";\n\nexport const editorConfig: PHDocumentEditorConfig = {\n isExternalControlsEnabled: false,\n};\n","import { DocumentToolbar } from \"@powerhousedao/design-system/connect\";\nimport { useSetPHDocumentEditorConfig } from \"@powerhousedao/reactor-browser\";\nimport { AppEditorForm } from \"./components/AppEditorForm.js\";\nimport { editorConfig } from \"./config.js\";\n\nexport default function Editor() {\n useSetPHDocumentEditorConfig(editorConfig);\n\n return (\n <div className=\"bg-gray-50 p-6 dark:bg-slate-800\">\n <DocumentToolbar />\n <AppEditorForm />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAkBA,MAAM,eAAe;AACrB,MAAM,iBAAiB;AACvB,MAAM,YAAY;AAElB,MAAa,sBAAsB;CACjC,MAAM,CAAC,UAAU,YAAY,8BAA8B;CAC3D,MAAM,eAAe,SAAS,MAAM,OAAO;CAC3C,MAAM,SAAS,SAAS,MAAM,OAAO;CACrC,MAAM,uBAAuB,SAAS,MAAM,OAAO;CACnD,MAAM,uBAAuB,SAAS,MAAM,OAAO;CACnD,MAAM,CAAC,SAAS,oBAAoB,SAAS,aAAa;CAC1D,MAAM,CAAC,aAAa,kBAAkB,SAAS,WAAW,YAAY;CACtE,MAAM,+BAA+B,iCAAiC;CACtE,MAAM,kCAAkC,oCAAoC;CAC5E,MAAM,CAAC,uBAAuB,4BAA4B,SACxD,wBAAwB,EAAE,CAC3B;AAaD,aAAY,SATS,aAClB,SAAiB;AAChB,MAAI,SAAS,aAAc;AAC3B,UAAQ,IAAI,gBAAgB,KAAK;AACjC,WAAS,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhC,CAAC,cAAc,SAAS,CACzB,EAEkC,IAAI;CAEvC,MAAM,kBAAkB;AACtB,WAAS,aAAa,EAAE,QAAQ,aAAa,CAAC,CAAC;;CAGjD,MAAM,uBAAuB,YAAqB;AAChD,MAAI,YAAY,qBAAsB;AACtC,WAAS,sBAAsB,EAAE,SAAS,CAAC,CAAC;;AAI9C,iBAAgB;AACd,MAAI,WAAW,QAEb,gBAAe,MAAM;IAEtB,CAAC,OAAO,CAAC;CAGZ,MAAM,aAAa,eAAe,WAAW;CAE7C,MAAM,sBAAsB;AAC1B,MAAI,QAAQ,MAAM,EAAE;AAClB,kBAAe,KAAK;AACpB,cAAW;;;CAIf,MAAM,yBAAyB,iBAAyB;AACtD,MAAI,CAAC,gBAAgB,sBAAsB,SAAS,aAAa,CAAE;AACnE,2BAAyB,CAAC,GAAG,uBAAuB,aAAa,CAAC;AAClE,WAAS,gBAAgB,EAAE,cAAc,CAAC,CAAC;;CAG7C,MAAM,4BAA4B,iBAAyB;AACzD,2BACE,sBAAsB,QAAQ,OAAO,OAAO,aAAa,CAC1D;AACD,WAAS,mBAAmB,EAAE,cAAc,CAAC,CAAC;;CAGhD,MAAM,yCAAyC;EAC7C,MAAM,mBAAmB,CACvB,GAAG,IAAI,IAAI,CACT,GAAG,uBACH,GAAI,gCAAgC,EAAE,CACvC,CAAC,CACH;AACD,2BAAyB,iBAAiB;AAC1C,WAAS,iBAAiB,EAAE,eAAe,kBAAkB,CAAC,CAAC;;CAGjE,MAAM,2CAA2C;EAC/C,MAAM,mBAAmB,CACvB,GAAG,IAAI,IAAI,CACT,GAAG,uBACH,GAAI,mCAAmC,EAAE,CAC1C,CAAC,CACH;AACD,2BAAyB,iBAAiB;AAC1C,WAAS,iBAAiB,EAAE,eAAe,kBAAkB,CAAC,CAAC;;CAGjE,MAAM,mCAAmC;AACvC,2BAAyB,EAAE,CAAC;AAC5B,WAAS,iBAAiB,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;;CAGnD,MAAM,+BAA+B,kBAA0B;AAC7D,MAAI,kBAAkB,aACpB,mCAAkC;WACzB,kBAAkB,eAC3B,qCAAoC;WAC3B,kBAAkB,UAC3B,6BAA4B;MAE5B,uBAAsB,cAAc;;AAIxC,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf;GACE,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,MAAD;KAAI,WAAU;eAAuD;KAEhE,CAAA,EACL,oBAAC,YAAD;KACE,QAAQ,WAAW,cAAc,cAAc;KAC/C,OAAO,WAAW,cAAc,cAAc;KAC9C,CAAA,CACE;;GAGN,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,SAAD;IACE,SAAQ;IACR,WAAU;cACX;IAEO,CAAA,EACR,oBAAC,SAAD;IACE,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAW,MAAM,iBAAiB,EAAE,OAAO,MAAM;IACjD,UAAU;IACV,WAAW,QACT,sQACA,aACI,qDACA,GACL;IACD,aAAY;IACZ,CAAA,CACE,EAAA,CAAA;GAGN,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,SAAD;IACE,SAAQ;IACR,WAAU;cACX;IAEO,CAAA,EACR,qBAAC,OAAD;IAAK,WAAU;cAAf,CACG,CAAC,cACA,qBAAC,UAAD;KACE,WAAW,MAAM,4BAA4B,EAAE,OAAO,MAAM;KAC5D,WAAU;eAFZ;MAIE,oBAAC,UAAD,EAAA,UAAQ,iCAAsC,CAAA;MAC9C,oBAAC,UAAD,EAAA,UAAQ,sCAA2C,CAAA;MACnD,oBAAC,UAAD;OAAQ,OAAO;iBAAc;OAEpB,CAAA;MACR,8BACG,QAAQ,OAAO,CAAC,sBAAsB,SAAS,GAAG,CAAC,CACpD,KAAK,YACJ,oBAAC,UAAD;OAAsB,OAAO;iBAC1B;OACM,EAFI,QAEJ,CACT;MACJ,oBAAC,UAAD,EAAA,UAAQ,kCAAuC,CAAA;MAC/C,oBAAC,UAAD;OAAQ,OAAO;iBAAgB;OAEtB,CAAA;MACR,iCACG,QAAQ,OAAO,CAAC,sBAAsB,SAAS,GAAG,CAAC,CACpD,KAAK,YACJ,oBAAC,UAAD;OAAsB,OAAO;iBAC1B;OACM,EAFI,QAEJ,CACT;MACJ,oBAAC,UAAD,EAAA,UAAQ,mCAAwC,CAAA;MAChD,oBAAC,UAAD;OAAQ,OAAO;iBAAW;OAAgC,CAAA;MACnD;QAEX,oBAAC,OAAD;KAAK,WAAU;eACZ,sBAAsB,SAAS,IAC9B,sBAAsB,KAAK,SACzB,qBAAC,OAAD;MAAgB,WAAU;gBAA1B,CACE,oBAAC,QAAD;OAAM,WAAU;iBACb;OACI,CAAA,EACN,CAAC,cACA,oBAAC,UAAD;OACE,eAAe,yBAAyB,KAAK;OAC7C,WAAU;iBACX;OAEQ,CAAA,CAEP;QAZI,KAYJ,CACN,GAEF,oBAAC,QAAD;MAAM,WAAU;gBAA4C;MAErD,CAAA;KAEL,CAAA,CACF;MACF,EAAA,CAAA;GAGN,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,MAAD;IAAI,WAAU;cAA8D;IAEvE,CAAA,EAGL,oBAAC,OAAD;IAAK,WAAU;cACb,qBAAC,SAAD;KAAO,SAAQ;KAAwB,WAAU;eAAjD,CACE,oBAAC,SAAD;MACE,IAAG;MACH,MAAK;MACL,SAAS;MACT,WAAW,MAAM,oBAAoB,EAAE,OAAO,QAAQ;MACtD,UAAU;MACV,WAAW,QACT,wIACA,aAAa,uBAAuB,GACrC;MACD,CAAA,EACF,oBAAC,QAAD;MAAM,WAAU;gBAAwD;MAEjE,CAAA,CACD;;IACJ,CAAA,CACF,EAAA,CAAA;GAGL,CAAC,cACA,oBAAC,OAAD,EAAA,UACE,oBAAC,UAAD;IACE,SAAS;IACT,UAAU,CAAC,QAAQ,MAAM;IACzB,WAAU;cACX;IAEQ,CAAA,EACL,CAAA;GAEJ;;;;;AC5QV,MAAa,eAAuC,EAClD,2BAA2B,OAC5B;;;ACCD,SAAwB,SAAS;AAC/B,8BAA6B,aAAa;AAE1C,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,iBAAD,EAAmB,CAAA,EACnB,oBAAC,eAAD,EAAiB,CAAA,CACb"}