@powerhousedao/codegen 6.2.0-dev.1 → 6.2.0-dev.11

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.
@@ -5387,10 +5387,9 @@ function getDocumentModelVariableNames(documentModelName) {
5387
5387
  //#endregion
5388
5388
  //#region src/templates/document-model/gen/modules/actions.ts
5389
5389
  function getActionTypeExport(operation) {
5390
- const baseActionTypeName = operationHasAttachment(operation) ? "ActionWithAttachment" : "Action";
5391
5390
  const actionTypeName = getActionTypeName(operation);
5392
5391
  const actionInputName = getActionInputName(operation) ?? `"{}"`;
5393
- return ts$1`export type ${actionTypeName} = ${baseActionTypeName} & { type: "${getActionType(operation)}"; input: ${actionInputName} };`.raw;
5392
+ return ts$1`export type ${actionTypeName} = Action & { type: "${getActionType(operation)}"; input: ${actionInputName} };`.raw;
5394
5393
  }
5395
5394
  function getActionTypeExports(args) {
5396
5395
  return args.module.operations.map(getActionTypeExport).join("\n");
@@ -5400,17 +5399,12 @@ function getModuleExportType(args) {
5400
5399
  const actionTypeNames = module.operations.map(getActionTypeName).join(" |\n");
5401
5400
  return ts$1`export type ${pascalCaseDocumentType}${pascalCase(module.name)}Action = ${actionTypeNames};`.raw;
5402
5401
  }
5403
- function getDocumentModelActionTypeImportNames(args) {
5404
- const actionTypeImports = ["Action"];
5405
- if (args.module.operations.some((a) => operationHasAttachment(a))) actionTypeImports.push("ActionWithAttachment");
5406
- return actionTypeImports.join(",\n");
5407
- }
5408
5402
  const documentModelOperationModuleActionsFileTemplate = (v) => ts$1`
5409
5403
  /**
5410
5404
  * WARNING: DO NOT EDIT
5411
5405
  * This file is auto-generated and updated by codegen
5412
5406
  */
5413
- import type { ${getDocumentModelActionTypeImportNames(v)} } from 'document-model';
5407
+ import type { Action } from 'document-model';
5414
5408
  import type {
5415
5409
  ${getActionInputTypeNames(v)}
5416
5410
  } from '../types.js';
@@ -5421,11 +5415,6 @@ ${getModuleExportType(v)}
5421
5415
  `.raw;
5422
5416
  //#endregion
5423
5417
  //#region src/templates/document-model/gen/modules/creators.ts
5424
- function makeDocumentModelTypeImports(args) {
5425
- const actionTypeImports = ["createAction"];
5426
- if (args.module.operations.some((a) => operationHasAttachment(a))) actionTypeImports.push("AttachmentInput");
5427
- return actionTypeImports.join(",\n");
5428
- }
5429
5418
  function makeActionInputSchemaName(action) {
5430
5419
  if (!action.name || !action.schema) return;
5431
5420
  return `${pascalCase(action.name)}InputSchema`;
@@ -5454,15 +5443,12 @@ function makeActionCreatorWithInput(operation) {
5454
5443
  const actionTypeName = makeActionTypeName(operation);
5455
5444
  const inputSchemaName = makeActionInputSchemaName(operation);
5456
5445
  const inputTypeName = makeActionInputTypeName(operation);
5457
- const hasAttachment = operationHasAttachment(operation);
5458
- const argsArray = [operationHasEmptyInput(operation) ? `input: ${inputTypeName} = {}` : `input: ${inputTypeName}`];
5459
- if (hasAttachment) argsArray.push(`attachments: AttachmentInput[]`);
5460
5446
  return ts$1`
5461
- export const ${camelCaseActionName} = (${argsArray.join(", ")}) =>
5447
+ export const ${camelCaseActionName} = (${operationHasEmptyInput(operation) ? `input: ${inputTypeName} = {}` : `input: ${inputTypeName}`}) =>
5462
5448
  createAction<${actionTypeName}>(
5463
5449
  "${constantCaseActionName}",
5464
5450
  {...input},
5465
- ${hasAttachment ? "attachments" : "undefined"},
5451
+ undefined,
5466
5452
  ${inputSchemaName},
5467
5453
  "${operation.scope}"
5468
5454
  );`.raw;
@@ -5486,7 +5472,7 @@ const documentModelOperationsModuleCreatorsFileTemplate = (v) => ts$1`
5486
5472
  * WARNING: DO NOT EDIT
5487
5473
  * This file is auto-generated and updated by codegen
5488
5474
  */
5489
- import { ${makeDocumentModelTypeImports(v)} } from "document-model";
5475
+ import { createAction } from "document-model";
5490
5476
  import {
5491
5477
  ${makeActionInputSchemaImports(v)}
5492
5478
  } from '../schema/zod.js';
@@ -5844,6 +5830,14 @@ export type {
5844
5830
  `.raw;
5845
5831
  //#endregion
5846
5832
  //#region src/templates/document-model/gen/utils.ts
5833
+ function makeOlderReducerImports(versions, currentVersion) {
5834
+ return versions.filter((k) => k < currentVersion).map((k) => `import { reducer as reducerV${k} } from "../../v${k}/gen/reducer.js";`).join("\n");
5835
+ }
5836
+ function makeReducersObject(versions, currentVersion) {
5837
+ return `{ ${versions.filter((k) => k <= currentVersion).map((k) => {
5838
+ return `${k}: ${k === currentVersion ? "reducer" : `reducerV${k}`} as unknown as Reducer<PHBaseState>`;
5839
+ }).join(", ")} }`;
5840
+ }
5847
5841
  const documentModelGenUtilsTemplate = (v) => ts$1`
5848
5842
  /**
5849
5843
  * WARNING: DO NOT EDIT
@@ -5851,14 +5845,17 @@ const documentModelGenUtilsTemplate = (v) => ts$1`
5851
5845
  */
5852
5846
  import type {
5853
5847
  DocumentModelUtils,
5848
+ PHBaseState,
5849
+ Reducer,
5854
5850
  } from "document-model";
5855
5851
  import {
5856
5852
  baseCreateDocument,
5857
5853
  baseSaveToFileHandle,
5858
- baseLoadFromInput,
5854
+ baseLoadFromInputVersioned,
5859
5855
  defaultBaseState,
5860
5856
  } from "document-model";
5861
5857
  import { reducer } from './reducer.js';
5858
+ ${makeOlderReducerImports(v.versions, v.version) ? makeOlderReducerImports(v.versions, v.version) + "\n" : ""}import { ${v.upgradeManifestName} } from "../../upgrades/upgrade-manifest.js";
5862
5859
  import { ${v.documentTypeVariableName} } from "./document-type.js";
5863
5860
  import {
5864
5861
  ${v.assertIsPhDocumentOfTypeFunctionName},
@@ -5887,7 +5884,10 @@ export const utils: DocumentModelUtils<${v.phStateName}> = {
5887
5884
  return baseSaveToFileHandle(document, input);
5888
5885
  },
5889
5886
  loadFromInput(input) {
5890
- return baseLoadFromInput(input, reducer);
5887
+ return baseLoadFromInputVersioned(input, {
5888
+ reducers: ${makeReducersObject(v.versions, v.version)},
5889
+ upgradeManifest: ${v.upgradeManifestName},
5890
+ });
5891
5891
  },
5892
5892
  isStateOfType(state) {
5893
5893
  return ${v.isPhStateOfTypeFunctionName}(state);
@@ -7409,15 +7409,15 @@ async function makeEditorComponent(args) {
7409
7409
  const scalars = {
7410
7410
  Unknown: "unknown",
7411
7411
  DateTime: "string",
7412
- Attachment: "string",
7413
7412
  Address: "`${string}:0x${string}`",
7413
+ AttachmentRef: "`attachment://v${number}:${string}`",
7414
7414
  ...generatorTypeDefs
7415
7415
  };
7416
7416
  const scalarsValidation = {
7417
7417
  Unknown: "z.unknown()",
7418
7418
  DateTime: "z.string().datetime()",
7419
- Attachment: "z.string()",
7420
7419
  Address: "z.custom<`${string}:0x${string}`>((val) => /^[a-zA-Z0-9]+:0x[a-fA-F0-9]{40}$/.test(val as string))",
7420
+ AttachmentRef: "z.custom<`attachment://v${number}:${string}`>((val) => /^attachment:\\/\\/v\\d+:.+$/.test(val as string))",
7421
7421
  ...validationSchema
7422
7422
  };
7423
7423
  const avoidOptionals = {
@@ -8231,9 +8231,6 @@ function operationHasInput(operation) {
8231
8231
  function operationHasEmptyInput(operation) {
8232
8232
  return operation.schema?.includes("_empty") && !operation.schema.replace(/_empty:\s*Boolean/, "").match(/\w+:\s*\w+/);
8233
8233
  }
8234
- function operationHasAttachment(operation) {
8235
- return operation.schema?.includes(": Attachment");
8236
- }
8237
8234
  //#endregion
8238
8235
  //#region src/file-builders/index-files.ts
8239
8236
  /**
@@ -8559,6 +8556,6 @@ async function makeSubgraphsIndexFile(args) {
8559
8556
  await formatSourceFileWithPrettier(sourceFile);
8560
8557
  }
8561
8558
  //#endregion
8562
- export { buildObjectLiteral as $, connectEntrypointTemplate as $n, documentModelOperationModuleActionsFileTemplate as $t, writeGeneratedSubgraphsFiles as A, packageJsonScriptsTemplate as An, analyticsIndexTemplate as At, DEFAULT_PROJECT_OPTIONS as B, indexHtmlTemplate as Bn, documentModelSrcUtilsTemplate as Bt, writeAiConfigFiles as C, tsconfigPathsTemplate as Cn, relationalDbMigrationsTemplate as Ct, writeGeneratedEditorsFiles as D, ManifestTemplate as Dn, processorsFactoryTemplate as Dt, writeGeneratedDocumentModelsFiles as E, readmeTemplate as En, processorsIndexTemplate as Et, makeEditorsFile as F, mcpTemplate as Fn, documentModelOperationsModuleTestFileTemplate as Ft, getBooleanPropertyValue as G, editorsIndexTemplate as Gn, documentModelGenUtilsTemplate as Gt, getDefaultProjectOptions as H, syncAndPublishWorkflowTemplate as Hn, documentModelModuleFileTemplate as Ht, makeEditorsIndexFile as I, mainTsxTemplate as In, makeOperationImportNames as It, getProperyAssignmentByName as J, documentModelsIndexTemplate as Jn, documentModelGenReducerFileTemplate as Jt, getObjectLiteral as K, editorsTemplate as Kn, documentModelGenTypesTemplate as Kt, validateDocumentModelState as L, licenseTemplate as Ln, makeOperationsImports as Lt, writeProjectRootFiles as M, exportsTemplate as Mn, documentModelUtilsTemplate as Mt, tsMorphGenerateApp as N, packageJsonTemplate as Nn, upgradeTransitionTemplate as Nt, writeGeneratedProcessorsFiles as O, buildPowerhouseConfigTemplate as On, factoryBuildersTemplate as Ot, makeEditorModuleFile as P, npmrcTemplate as Pn, upgradeManifestTemplate as Pt, loadDocumentModelInDir as Q, dockerfileTemplate as Qn, documentModelOperationsModuleCreatorsFileTemplate as Qt, updateVersionedImports as R, indexTsTemplate as Rn, makeTestCaseForOperation as Rt, applyProjectCustomizations as S, tsConfigTemplate as Sn, relationalDbProcessorTemplate as St, writeCIFiles as T, styleTemplate as Tn, relationalDbFactoryTemplate as Tt, getAllImportModuleSpecifiers as U, geminiSettingsTemplate as Un, documentModelIndexTemplate as Ut, buildTsMorphProject as V, gitIgnoreTemplate as Vn, documentModelSrcIndexFileTemplate as Vt, getAllImportNames as W, eslintConfigTemplate as Wn, documentModelHooksFileTemplate as Wt, getStringPropertyValue as X, switchboardEntrypointTemplate as Xn, documentModelOperationsModuleOperationsFileTemplate as Xt, getStringArrayPropertyElements as Y, documentModelsTemplate as Yn, documentModelPhFactoriesFileTemplate as Yt, getVariableDeclarationByTypeName as Z, nginxConfTemplate as Zn, documentModelOperationsModuleErrorFileTemplate as Zt, getCommandHelpInfo as _, documentModelRootActionsFileTemplate as _n, customSubgraphResolversTemplate as _t, getOrCreateManifestFile as a, getLatestDocumentModelSpec as an, driveExplorerNavigationBreadcrumbsFileTemplate as ar, getSubgraphMetadata as at, writeCliDocsMarkdownFile as b, docsFromCliHelpTemplate as bn, subgraphIndexFileTemplate as bt, operationHasAttachment as c, getActionInputTypeNames as cn, appFilesFileTemplate as cr, getEditorMetadata as ct, tsMorphGenerateDocumentModel as d, documentModelGenIndexFileTemplate as dn, appDriveContentsFileTemplate as dr, runPrettier as dt, getModuleExportType as en, cursorMcpTemplate as er, buildStringLiteral as et, generateDocumentModelZodSchemas as f, documentModelDocumentTypeTemplate as fn, createDocumentFileTemplate as fr, getDocumentTypeMetadata as ft, tsMorphGenerateDocumentEditor as g, documentModelGenActionsFileTemplate as gn, parseConfig as gt, scalarsValidation as h, documentModelGenControllerFileTemplate as hn, parseArgs as ht, createOrUpdateManifest as i, getEditorVariableNames as in, appConfigFileTemplate as ir, getPreviousVersionSourceFile as it, writeModuleFiles as j, pnpmWorkspaceTemplate as jn, analyticsFactoryTemplate as jt, writeGeneratedProjectRootFiles as k, packageJsonExportsTemplate as kn, analyticsProcessorTemplate as kt, operationHasEmptyInput as l, getActionType as ln, emptyStateFileTemplate as lr, formatSafe as lt, scalars as m, documentModelGenCreatorsFileTemplate as mn, configSpec as mt, tsMorphGenerateSubgraph as n, getDocumentModelSpecByVersionNumber as nn, agentsTemplate as nr, getOrCreateDirectory as nt, pruneManifestSection as o, getLatestDocumentModelSpecVersionNumber as on, folderTreeFileTemplate as or, getProcessorMetadata as ot, generateTypesAndZodSchemasFromGraphql as p, documentModelDocumentSchemaFileTemplate as pn, documentModelDocumentTypeMetadata as pt, getObjectProperty as q, upgradeManifestsTemplate as qn, documentModelSchemaIndexTemplate as qt, tsMorphGenerateProcessor as r, getDocumentModelVariableNames as rn, appEditorFileTemplate as rr, getOrCreateSourceFile as rt, makeModulesIndexFile as s, getActionInputName as sn, appFoldersFileTemplate as sr, getAppMetadata as st, makeSubgraphsIndexFile as t, getDocumentModelDirName as tn, claudeSettingsLocalTemplate as tr, ensureDirectoriesExist as tt, operationHasInput as u, getActionTypeName as un, driveExplorerFileTemplate as ur, formatSourceFileWithPrettier as ut, getCommandsHelpInfo as v, documentEditorModuleFileTemplate as vn, customSubgraphSchemaTemplate as vt, writeAllGeneratedProjectFiles as w, subgraphsIndexTemplate as wn, relationalDbIndexTemplate as wt, buildBoilerplatePackageJson as x, vitestConfigTemplate as xn, relationalDbSchemaTemplate as xt, makeCliDocsFromHelp as y, documentEditorEditorFileTemplate as yn, subgraphLibFileTemplate as yt, getInitialStates as z, legacyIndexHtmlTemplate as zn, documentModelTestFileTemplate as zt };
8559
+ export { buildStringLiteral as $, cursorMcpTemplate as $n, getModuleExportType as $t, writeModuleFiles as A, pnpmWorkspaceTemplate as An, analyticsFactoryTemplate as At, buildTsMorphProject as B, gitIgnoreTemplate as Bn, documentModelSrcIndexFileTemplate as Bt, writeAllGeneratedProjectFiles as C, subgraphsIndexTemplate as Cn, relationalDbIndexTemplate as Ct, writeGeneratedProcessorsFiles as D, buildPowerhouseConfigTemplate as Dn, factoryBuildersTemplate as Dt, writeGeneratedEditorsFiles as E, ManifestTemplate as En, processorsFactoryTemplate as Et, makeEditorsIndexFile as F, mainTsxTemplate as Fn, makeOperationImportNames as Ft, getObjectLiteral as G, editorsTemplate as Gn, documentModelGenTypesTemplate as Gt, getAllImportModuleSpecifiers as H, geminiSettingsTemplate as Hn, documentModelIndexTemplate as Ht, validateDocumentModelState as I, licenseTemplate as In, makeOperationsImports as It, getStringArrayPropertyElements as J, documentModelsTemplate as Jn, documentModelPhFactoriesFileTemplate as Jt, getObjectProperty as K, upgradeManifestsTemplate as Kn, documentModelSchemaIndexTemplate as Kt, updateVersionedImports as L, indexTsTemplate as Ln, makeTestCaseForOperation as Lt, tsMorphGenerateApp as M, packageJsonTemplate as Mn, upgradeTransitionTemplate as Mt, makeEditorModuleFile as N, npmrcTemplate as Nn, upgradeManifestTemplate as Nt, writeGeneratedProjectRootFiles as O, packageJsonExportsTemplate as On, analyticsProcessorTemplate as Ot, makeEditorsFile as P, mcpTemplate as Pn, documentModelOperationsModuleTestFileTemplate as Pt, buildObjectLiteral as Q, connectEntrypointTemplate as Qn, documentModelOperationModuleActionsFileTemplate as Qt, getInitialStates as R, legacyIndexHtmlTemplate as Rn, documentModelTestFileTemplate as Rt, writeAiConfigFiles as S, tsconfigPathsTemplate as Sn, relationalDbMigrationsTemplate as St, writeGeneratedDocumentModelsFiles as T, readmeTemplate as Tn, processorsIndexTemplate as Tt, getAllImportNames as U, eslintConfigTemplate as Un, documentModelHooksFileTemplate as Ut, getDefaultProjectOptions as V, syncAndPublishWorkflowTemplate as Vn, documentModelModuleFileTemplate as Vt, getBooleanPropertyValue as W, editorsIndexTemplate as Wn, documentModelGenUtilsTemplate as Wt, getVariableDeclarationByTypeName as X, nginxConfTemplate as Xn, documentModelOperationsModuleErrorFileTemplate as Xt, getStringPropertyValue as Y, switchboardEntrypointTemplate as Yn, documentModelOperationsModuleOperationsFileTemplate as Yt, loadDocumentModelInDir as Z, dockerfileTemplate as Zn, documentModelOperationsModuleCreatorsFileTemplate as Zt, getCommandsHelpInfo as _, documentEditorModuleFileTemplate as _n, customSubgraphSchemaTemplate as _t, getOrCreateManifestFile as a, getLatestDocumentModelSpecVersionNumber as an, folderTreeFileTemplate as ar, getProcessorMetadata as at, buildBoilerplatePackageJson as b, vitestConfigTemplate as bn, relationalDbSchemaTemplate as bt, operationHasEmptyInput as c, getActionType as cn, emptyStateFileTemplate as cr, formatSafe as ct, generateDocumentModelZodSchemas as d, documentModelDocumentTypeTemplate as dn, createDocumentFileTemplate as dr, getDocumentTypeMetadata as dt, getDocumentModelDirName as en, claudeSettingsLocalTemplate as er, ensureDirectoriesExist as et, generateTypesAndZodSchemasFromGraphql as f, documentModelDocumentSchemaFileTemplate as fn, documentModelDocumentTypeMetadata as ft, getCommandHelpInfo as g, documentModelRootActionsFileTemplate as gn, customSubgraphResolversTemplate as gt, tsMorphGenerateDocumentEditor as h, documentModelGenActionsFileTemplate as hn, parseConfig as ht, createOrUpdateManifest as i, getLatestDocumentModelSpec as in, driveExplorerNavigationBreadcrumbsFileTemplate as ir, getSubgraphMetadata as it, writeProjectRootFiles as j, exportsTemplate as jn, documentModelUtilsTemplate as jt, writeGeneratedSubgraphsFiles as k, packageJsonScriptsTemplate as kn, analyticsIndexTemplate as kt, operationHasInput as l, getActionTypeName as ln, driveExplorerFileTemplate as lr, formatSourceFileWithPrettier as lt, scalarsValidation as m, documentModelGenControllerFileTemplate as mn, parseArgs as mt, tsMorphGenerateSubgraph as n, getDocumentModelVariableNames as nn, appEditorFileTemplate as nr, getOrCreateSourceFile as nt, pruneManifestSection as o, getActionInputName as on, appFoldersFileTemplate as or, getAppMetadata as ot, scalars as p, documentModelGenCreatorsFileTemplate as pn, configSpec as pt, getProperyAssignmentByName as q, documentModelsIndexTemplate as qn, documentModelGenReducerFileTemplate as qt, tsMorphGenerateProcessor as r, getEditorVariableNames as rn, appConfigFileTemplate as rr, getPreviousVersionSourceFile as rt, makeModulesIndexFile as s, getActionInputTypeNames as sn, appFilesFileTemplate as sr, getEditorMetadata as st, makeSubgraphsIndexFile as t, getDocumentModelSpecByVersionNumber as tn, agentsTemplate as tr, getOrCreateDirectory as tt, tsMorphGenerateDocumentModel as u, documentModelGenIndexFileTemplate as un, appDriveContentsFileTemplate as ur, runPrettier as ut, makeCliDocsFromHelp as v, documentEditorEditorFileTemplate as vn, subgraphLibFileTemplate as vt, writeCIFiles as w, styleTemplate as wn, relationalDbFactoryTemplate as wt, applyProjectCustomizations as x, tsConfigTemplate as xn, relationalDbProcessorTemplate as xt, writeCliDocsMarkdownFile as y, docsFromCliHelpTemplate as yn, subgraphIndexFileTemplate as yt, DEFAULT_PROJECT_OPTIONS as z, indexHtmlTemplate as zn, documentModelSrcUtilsTemplate as zt };
8563
8560
 
8564
- //# sourceMappingURL=file-builders-DYqyzzbb.mjs.map
8561
+ //# sourceMappingURL=file-builders-igQ83BYg.mjs.map