@powerhousedao/codegen 6.0.2-staging.7 → 6.0.2-staging.9

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.
@@ -1,16 +1,16 @@
1
+ import { ANALYTICS_ENGINE_CORE_PACKAGE, BOILERPLATE_ALLOWED_BUILDS, GRAPHQL_PACKAGE, GRAPHQL_TAG_PACKAGE, PEER_EXTERNAL_DEPENDENCIES, REACTOR_API_PACKAGE, VERSIONED_DEV_DEPENDENCIES, VERSIONED_PEER_DEPENDENCIES, defaultManifest, directoryExists, externalDevDependencies, fileExists, fileExistsSync, isDirectory, makeVersionedDependenciesMap, packageJsonExports, spawnAsync, writeFileEnsuringDir } from "@powerhousedao/shared/clis";
2
+ import { readdirSync } from "fs";
3
+ import path, { join } from "path";
1
4
  import { DocumentModelGlobalStateSchema, ManifestSchema } from "@powerhousedao/shared/document-model";
5
+ import fs, { copyFile, mkdir, readdir, writeFile } from "node:fs/promises";
2
6
  import { camelCase, capitalCase, constantCase, kebabCase, pascalCase } from "change-case";
3
- import path, { join } from "path";
4
7
  import { DEFAULT_REGISTRY_URL } from "@powerhousedao/shared/registry";
5
- import { capitalize, concat, conditional, constant, filter, find, first, flatMap, forEach, isDefined, isIncludedIn, isNonNullish, isNot, isStrictEqual, isString, isTruthy, last, map, merge, pipe, prop, sort, split, startsWith, subtract, unique, uniqueBy, when } from "remeda";
8
+ import { capitalize, concat, conditional, constant, endsWith, filter, find, first, flatMap, forEach, isDefined, isIncludedIn, isNonNullish, isNot, isStrictEqual, isString, isTruthy, last, map, mapValues, merge, pipe, prop, sort, split, startsWith, subtract, unique, uniqueBy, when } from "remeda";
6
9
  import { IndentationText, Project, SyntaxKind, VariableDeclarationKind, ts } from "ts-morph";
7
10
  import arg from "arg";
8
- import { readdirSync } from "fs";
9
- import { VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, directoryExists, fileExists, fileExistsSync, isDirectory, makeVersionedDependencies, spawnAsync, writeFileEnsuringDir } from "@powerhousedao/shared/clis";
10
11
  import { format } from "prettier";
11
12
  import { z } from "zod";
12
13
  import { loadJsonFile, loadJsonFileSync } from "load-json-file";
13
- import fs, { copyFile, mkdir, readdir, writeFile } from "node:fs/promises";
14
14
  import { stripVTControlCharacters } from "node:util";
15
15
  import path$1, { join as join$1, relative } from "node:path";
16
16
  import { generate } from "@graphql-codegen/cli";
@@ -2039,7 +2039,7 @@ export function FolderTree() {
2039
2039
  const [selectedDrive] = useSelectedDrive();
2040
2040
  const nodes = useNodesInSelectedDrive();
2041
2041
  const selectedNode = useSelectedNode();
2042
- const driveName = selectedDrive.header.name;
2042
+ const driveName = selectedDrive?.header.name ?? "";
2043
2043
  // Transform Node[] to hierarchical SidebarNode structure
2044
2044
  const sidebarNodes = useMemo(
2045
2045
  () => transformNodesToSidebarNodes(nodes || [], driveName),
@@ -2056,7 +2056,7 @@ export function FolderTree() {
2056
2056
  };
2057
2057
  // Map selectedNodeId to activeNodeId (use "root" when undefined)
2058
2058
  const activeNodeId =
2059
- !selectedNode || selectedNode.id === selectedDrive.header.id
2059
+ !selectedNode || selectedNode.id === selectedDrive?.header.id
2060
2060
  ? "root"
2061
2061
  : selectedNode.id;
2062
2062
 
@@ -4723,141 +4723,15 @@ const mcpTemplate = json`
4723
4723
  //#region src/templates/boilerplate/npmrc.ts
4724
4724
  const npmrcTemplate = `@jsr:registry=https://npm.jsr.io`;
4725
4725
  //#endregion
4726
- //#region src/file-builders/constants.ts
4727
- const packageJsonExports = {
4728
- ".": {
4729
- types: "./dist/types/index.d.ts",
4730
- browser: "./dist/browser/index.js",
4731
- node: "./dist/node/index.mjs"
4732
- },
4733
- "./document-models": {
4734
- types: "./dist/types/document-models/index.d.ts",
4735
- browser: "./dist/browser/document-models/index.js",
4736
- node: "./dist/node/document-models/index.mjs"
4737
- },
4738
- "./document-models/*": {
4739
- types: "./dist/types/document-models/*/index.d.ts",
4740
- browser: "./dist/browser/document-models/*/index.js",
4741
- node: "./dist/node/document-models/*/index.mjs"
4742
- },
4743
- "./editors": {
4744
- types: "./dist/types/editors/index.d.ts",
4745
- browser: "./dist/browser/editors/index.js",
4746
- node: "./dist/node/editors/index.mjs"
4747
- },
4748
- "./editors/*": {
4749
- types: "./dist/types/editors/*/editor.d.ts",
4750
- browser: "./dist/browser/editors/*/editor.js",
4751
- node: "./dist/node/editors/*/editor.mjs"
4752
- },
4753
- "./subgraphs": {
4754
- types: "./dist/types/subgraphs/index.d.ts",
4755
- browser: "./dist/browser/subgraphs/index.js",
4756
- node: "./dist/node/subgraphs/index.mjs"
4757
- },
4758
- "./processors": {
4759
- types: "./dist/types/processors/index.d.ts",
4760
- browser: "./dist/browser/processors/index.js",
4761
- node: "./dist/node/processors/index.mjs"
4762
- },
4763
- "./manifest": "./dist/powerhouse.manifest.json",
4764
- "./style.css": "./dist/style.css"
4765
- };
4766
- const packageScripts = {
4767
- "test:watch": "vitest",
4768
- lint: "eslint --config eslint.config.js --cache",
4769
- "lint:fix": "npm run lint -- --fix",
4770
- tsc: "tsc",
4771
- "tsc:watch": "tsc --watch",
4772
- generate: "ph-cli generate",
4773
- connect: "ph-cli connect",
4774
- build: "ph-cli build",
4775
- reactor: "ph-cli reactor",
4776
- service: "ph-cli service",
4777
- vetra: "ph-cli vetra",
4778
- "service-startup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh",
4779
- "service-unstartup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh"
4780
- };
4781
- const externalDependencies = {
4782
- "@powerhousedao/document-engineering": "1.40.3",
4783
- graphql: "16.12.0",
4784
- "graphql-tag": "^2.12.6",
4785
- zod: "4.3.6",
4786
- react: "^19.2.3",
4787
- "react-dom": "^19.2.3"
4788
- };
4789
- const externalDevDependencies = {
4790
- "@electric-sql/pglite": "0.3.15",
4791
- "@electric-sql/pglite-tools": "0.2.20",
4792
- "@eslint/js": "^9.38.0",
4793
- "@tailwindcss/cli": "^4.1.18",
4794
- "@types/node": "^24.9.2",
4795
- "@types/react": "^19.2.3",
4796
- "@vitest/coverage-v8": "4.1.1",
4797
- eslint: "^9.38.0",
4798
- "eslint-config-prettier": "^10.1.8",
4799
- "eslint-plugin-prettier": "^5.5.4",
4800
- "eslint-plugin-react": "^7.37.5",
4801
- "eslint-plugin-react-hooks": "^7.0.1",
4802
- globals: "^16.4.0",
4803
- tailwindcss: "^4.1.16",
4804
- typescript: "^5.9.3",
4805
- "typescript-eslint": "^8.46.2",
4806
- "vite-tsconfig-paths": "6.1.1",
4807
- vitest: "4.1.1"
4808
- };
4809
- const defaultManifest = {
4810
- name: "",
4811
- description: "",
4812
- category: "",
4813
- publisher: {
4814
- name: "",
4815
- url: ""
4816
- },
4817
- documentModels: [],
4818
- editors: [],
4819
- apps: [],
4820
- subgraphs: [],
4821
- processors: []
4822
- };
4823
- //#endregion
4824
4726
  //#region src/templates/boilerplate/package.json.ts
4825
- /**
4826
- * Renders a JS object as the inner body of a JSON object
4827
- */
4828
4727
  function innerJsonBody(value) {
4829
4728
  return JSON.stringify(value, null, 2).slice(2, -2).trimEnd();
4830
4729
  }
4730
+ function sortedJsonBody(value) {
4731
+ return innerJsonBody(Object.fromEntries(Object.entries(value).sort(([a], [b]) => a.localeCompare(b))));
4732
+ }
4831
4733
  const exportsTemplate = innerJsonBody(packageJsonExports);
4832
- const externalDepsTemplate = innerJsonBody(externalDependencies);
4833
- const externalDevDepsTemplate = innerJsonBody(externalDevDependencies);
4834
- const scriptsTemplate = json`
4835
- "test": "vitest run",
4836
- "test:watch": "vitest",
4837
- "test:coverage": "vitest run --coverage",
4838
- "lint": "eslint --config eslint.config.js --cache --cache-strategy content",
4839
- "lint:fix": "npm run lint -- --fix",
4840
- "tsc": "tsc",
4841
- "tsc:watch": "tsc --watch",
4842
- "check-circular-imports": "npx dpdm -T ./index.ts",
4843
- "generate": "ph-cli generate",
4844
- "connect": "ph-cli connect",
4845
- "build": "ph-cli build",
4846
- "reactor": "ph-cli reactor",
4847
- "service": "ph-cli service",
4848
- "vetra": "ph-cli vetra",
4849
- "service-startup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh",
4850
- "service-unstartup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh"
4851
- `.raw;
4852
- const dependenciesTemplate = (versionedDependencies) => json`
4853
- ${versionedDependencies.join(",\n ")},
4854
- ${externalDepsTemplate}
4855
- `.raw;
4856
- const devDependenciesTemplate = (versionedDevDependencies) => json`
4857
- ${versionedDevDependencies.join(",\n ")},
4858
- ${externalDevDepsTemplate}
4859
- `.raw;
4860
- const packageJsonTemplate = (projectName, versionedDependencies, versionedDevDependencies) => json`
4734
+ const packageJsonTemplate = (projectName, peerDependencies, devDependencies) => json`
4861
4735
  {
4862
4736
  "name": "${projectName}",
4863
4737
  "version": "1.0.0",
@@ -4871,24 +4745,32 @@ const packageJsonTemplate = (projectName, versionedDependencies, versionedDevDep
4871
4745
  ${exportsTemplate}
4872
4746
  },
4873
4747
  "scripts": {
4874
- ${scriptsTemplate}
4748
+ "test": "vitest run",
4749
+ "test:watch": "vitest",
4750
+ "test:coverage": "vitest run --coverage",
4751
+ "lint": "eslint --config eslint.config.js --cache --cache-strategy content",
4752
+ "lint:fix": "npm run lint -- --fix",
4753
+ "tsc": "tsc",
4754
+ "tsc:watch": "tsc --watch",
4755
+ "check-circular-imports": "npx dpdm -T ./index.ts",
4756
+ "generate": "ph-cli generate",
4757
+ "connect": "ph-cli connect",
4758
+ "build": "ph-cli build",
4759
+ "reactor": "ph-cli reactor",
4760
+ "service": "ph-cli service",
4761
+ "vetra": "ph-cli vetra",
4762
+ "service-startup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh",
4763
+ "service-unstartup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh"
4875
4764
  },
4876
- "dependencies": {
4877
- ${dependenciesTemplate(versionedDependencies)}
4765
+ "peerDependencies": {
4766
+ ${sortedJsonBody(peerDependencies)}
4878
4767
  },
4879
4768
  "devDependencies": {
4880
- ${devDependenciesTemplate(versionedDevDependencies)}
4769
+ ${sortedJsonBody(devDependencies)}
4881
4770
  }
4882
4771
  }
4883
4772
  `.raw;
4884
- //#endregion
4885
- //#region src/templates/boilerplate/pnpm-workspace.ts
4886
- const pnpmWorkspaceTemplate = `allowBuilds:
4887
- "@apollo/protobufjs": true
4888
- "@parcel/watcher": true
4889
- esbuild: true
4890
- protobufjs: true
4891
- `;
4773
+ const pnpmWorkspaceTemplate = `allowBuilds:\n${BOILERPLATE_ALLOWED_BUILDS.map((pkg) => ` ${/[@/]/.test(pkg) ? `"${pkg}"` : pkg}: true`).join("\n")}\n`;
4892
4774
  //#endregion
4893
4775
  //#region src/templates/boilerplate/package.json.legacy.ts
4894
4776
  const packageJsonScriptsTemplate = {
@@ -5444,7 +5326,9 @@ export default function Editor() {
5444
5326
  `.raw;
5445
5327
  //#endregion
5446
5328
  //#region src/templates/document-editor/module.ts
5447
- const documentEditorModuleFileTemplate = (v) => tsx`
5329
+ const documentEditorModuleFileTemplate = (v) => {
5330
+ const documentTypesLiteral = JSON.stringify(v.documentTypes);
5331
+ return tsx`
5448
5332
  /**
5449
5333
  * WARNING: DO NOT EDIT
5450
5334
  * This file is auto-generated and updated by codegen
@@ -5452,16 +5336,17 @@ const documentEditorModuleFileTemplate = (v) => tsx`
5452
5336
  import type { EditorModule } from "document-model";
5453
5337
  import { lazy } from "react";
5454
5338
 
5455
- /** Document editor module for the "${v.documentTypes}" document type */
5339
+ /** ${v.documentTypes.length === 1 ? `Document editor module for the "${v.documentTypes[0]}" document type` : `Document editor module for document types: ${v.documentTypes.map((t) => `"${t}"`).join(", ")}`} */
5456
5340
  export const ${v.pascalCaseEditorName}: EditorModule = {
5457
5341
  Component: lazy(() => import("./editor.js")),
5458
- documentTypes: ${v.documentTypes},
5342
+ documentTypes: ${documentTypesLiteral},
5459
5343
  config: {
5460
5344
  id: "${v.editorId}",
5461
5345
  name: "${v.editorName}",
5462
5346
  },
5463
5347
  };
5464
5348
  `.raw;
5349
+ };
5465
5350
  //#endregion
5466
5351
  //#region src/templates/document-model/actions.ts
5467
5352
  function buildModuleActionsName(module, camelCaseDocumentType) {
@@ -6692,7 +6577,7 @@ export * from "./processor.js";
6692
6577
  //#endregion
6693
6578
  //#region src/templates/processors/analytics/processor.ts
6694
6579
  const analyticsProcessorTemplate = (v) => ts$1`
6695
- import type { AnalyticsSeriesInput, AnalyticsPath, IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
6580
+ import type { AnalyticsSeriesInput, AnalyticsPath, IAnalyticsStore } from "${ANALYTICS_ENGINE_CORE_PACKAGE}";
6696
6581
  import type { OperationWithContext, IProcessor } from "@powerhousedao/reactor-browser";
6697
6582
 
6698
6583
  export class ${v.pascalCaseName} implements IProcessor {
@@ -6896,8 +6781,8 @@ export interface DB {
6896
6781
  //#endregion
6897
6782
  //#region src/templates/subgraphs/index-file.ts
6898
6783
  const subgraphIndexFileTemplate = (v) => ts$1`
6899
- import { BaseSubgraph } from "@powerhousedao/reactor-api";
6900
- import type { DocumentNode } from "graphql";
6784
+ import { BaseSubgraph } from "${REACTOR_API_PACKAGE}";
6785
+ import type { DocumentNode } from "${GRAPHQL_PACKAGE}";
6901
6786
  import { schema } from "./schema.js";
6902
6787
  import { getResolvers } from "./resolvers.js";
6903
6788
 
@@ -6921,8 +6806,8 @@ const subgraphLibFileTemplate = () => ts$1`
6921
6806
  //#endregion
6922
6807
  //#region src/templates/subgraphs/custom-schema.ts
6923
6808
  const customSubgraphSchemaTemplate = (v) => ts$1`
6924
- import { gql } from "graphql-tag";
6925
- import type { DocumentNode } from "graphql";
6809
+ import { gql } from "${GRAPHQL_TAG_PACKAGE}";
6810
+ import type { DocumentNode } from "${GRAPHQL_PACKAGE}";
6926
6811
 
6927
6812
  export const schema: DocumentNode = gql\`
6928
6813
  """
@@ -6941,7 +6826,7 @@ type Query {
6941
6826
  //#endregion
6942
6827
  //#region src/templates/subgraphs/custom-resolvers.ts
6943
6828
  const customSubgraphResolversTemplate = (v) => ts$1`
6944
- import { type ISubgraph } from "@powerhousedao/reactor-api";
6829
+ import { type ISubgraph } from "${REACTOR_API_PACKAGE}";
6945
6830
 
6946
6831
  export const getResolvers = (subgraph: ISubgraph): Record<string, unknown> => {
6947
6832
  const reactor = subgraph.reactorClient;
@@ -7285,6 +7170,16 @@ function handleEmptyState(state) {
7285
7170
  return state === "" ? "{}" : state;
7286
7171
  }
7287
7172
  //#endregion
7173
+ //#region src/utils/update-versioned-imports.ts
7174
+ function updateVersionedImports(args) {
7175
+ const { sourceFile, version } = args;
7176
+ const previousVersion = subtract(version, 1);
7177
+ if (previousVersion < 1) return;
7178
+ const versionDir = `/v${version}`;
7179
+ const previousVersionDir = `/v${previousVersion}`;
7180
+ pipe(sourceFile.getImportDeclarations(), filter((i) => endsWith(i.getModuleSpecifier().getLiteralValue(), previousVersionDir)), forEach((i) => i.setModuleSpecifier(i.getModuleSpecifier().getLiteralValue().replace(previousVersionDir, versionDir))));
7181
+ }
7182
+ //#endregion
7288
7183
  //#region src/utils/validation.ts
7289
7184
  /**
7290
7185
  * Validates that a DocumentModelGlobalState has all required properties for successful code generation.
@@ -7360,7 +7255,7 @@ function validateDocumentModelState(documentModelState) {
7360
7255
  //#endregion
7361
7256
  //#region src/file-builders/editor-common.ts
7362
7257
  /** Generates the `module.ts` file for a document editor or app */
7363
- function makeEditorModuleFile({ project, editorDirPath, editorName, documentModelId, editorId, legacyMultipleDocumentTypes }) {
7258
+ async function makeEditorModuleFile({ project, editorDirPath, editorName, documentModelId, editorId, legacyMultipleDocumentTypes }) {
7364
7259
  if (documentModelId && !!legacyMultipleDocumentTypes) throw new Error("Cannot specify both documentModelId and legacyMultipleDocumentTypes");
7365
7260
  const { sourceFile } = getOrCreateSourceFile(project, path.join(editorDirPath, "module.ts"));
7366
7261
  sourceFile.replaceWithText("");
@@ -7368,9 +7263,10 @@ function makeEditorModuleFile({ project, editorDirPath, editorName, documentMode
7368
7263
  editorName,
7369
7264
  editorId,
7370
7265
  pascalCaseEditorName: pascalCase(editorName),
7371
- documentTypes: documentModelId ? `["${documentModelId}"]` : JSON.stringify(legacyMultipleDocumentTypes)
7266
+ documentTypes: documentModelId ? [documentModelId] : legacyMultipleDocumentTypes ?? []
7372
7267
  });
7373
7268
  sourceFile.replaceWithText(template);
7269
+ await formatSourceFileWithPrettier(sourceFile);
7374
7270
  }
7375
7271
  async function makeEditorsFile(args) {
7376
7272
  const { project, editorsDirPath } = args;
@@ -7420,56 +7316,58 @@ async function tsMorphGenerateApp({ project, editorDir, editorName, editorId, al
7420
7316
  const editorDirPath = path.join(editorsDirPath, editorDir);
7421
7317
  const projectDir = editorsDir.getParentOrThrow().getPath();
7422
7318
  const editorComponentsDirPath = path.join(editorDirPath, "components");
7423
- await ensureDirectoriesExist(project, documentModelsDirPath, editorsDirPath, editorDirPath, editorComponentsDirPath);
7424
- await makeNavigationBreadcrumbsFile({
7425
- project,
7426
- editorComponentsDirPath
7427
- });
7428
- await makeCreateDocumentFile({
7429
- project,
7430
- editorComponentsDirPath
7431
- });
7432
- await makeEmptyStateFile({
7433
- project,
7434
- editorComponentsDirPath
7435
- });
7436
- await makeFoldersFile({
7437
- project,
7438
- editorComponentsDirPath
7439
- });
7440
- await makeFolderTreeFile({
7441
- project,
7442
- editorComponentsDirPath
7443
- });
7444
- await makeFilesFile({
7445
- project,
7446
- editorComponentsDirPath
7447
- });
7448
- await makeDriveExplorerFile({
7449
- project,
7450
- editorComponentsDirPath
7451
- });
7452
- await makeDriveContentsFile({
7453
- project,
7454
- editorComponentsDirPath
7455
- });
7456
- await makeAppComponent({
7319
+ await ensureDirectoriesExist(project, documentModelsDirPath, editorsDirPath, editorDirPath);
7320
+ if (!await makeAppComponent({
7457
7321
  project,
7458
7322
  editorDirPath
7459
- });
7460
- await makeAppConfigFile({
7461
- project,
7462
- allowedDocumentModelIds,
7463
- isDragAndDropEnabled,
7464
- editorDirPath
7465
- });
7466
- makeEditorModuleFile({
7467
- project,
7468
- editorName,
7469
- editorId,
7470
- editorDirPath,
7471
- documentModelId: "powerhouse/document-drive"
7472
- });
7323
+ })) {
7324
+ await ensureDirectoriesExist(project, editorComponentsDirPath);
7325
+ await makeNavigationBreadcrumbsFile({
7326
+ project,
7327
+ editorComponentsDirPath
7328
+ });
7329
+ await makeCreateDocumentFile({
7330
+ project,
7331
+ editorComponentsDirPath
7332
+ });
7333
+ await makeEmptyStateFile({
7334
+ project,
7335
+ editorComponentsDirPath
7336
+ });
7337
+ await makeFoldersFile({
7338
+ project,
7339
+ editorComponentsDirPath
7340
+ });
7341
+ await makeFolderTreeFile({
7342
+ project,
7343
+ editorComponentsDirPath
7344
+ });
7345
+ await makeFilesFile({
7346
+ project,
7347
+ editorComponentsDirPath
7348
+ });
7349
+ await makeDriveExplorerFile({
7350
+ project,
7351
+ editorComponentsDirPath
7352
+ });
7353
+ await makeDriveContentsFile({
7354
+ project,
7355
+ editorComponentsDirPath
7356
+ });
7357
+ await makeAppConfigFile({
7358
+ project,
7359
+ allowedDocumentModelIds,
7360
+ isDragAndDropEnabled,
7361
+ editorDirPath
7362
+ });
7363
+ await makeEditorModuleFile({
7364
+ project,
7365
+ editorName,
7366
+ editorId,
7367
+ editorDirPath,
7368
+ documentModelId: "powerhouse/document-drive"
7369
+ });
7370
+ }
7473
7371
  await makeEditorsFile({
7474
7372
  project,
7475
7373
  editorsDirPath
@@ -7490,12 +7388,13 @@ async function makeAppComponent({ project, editorDirPath }) {
7490
7388
  const editorFunction = sourceFile.getFunction("Editor");
7491
7389
  if (editorFunction) {
7492
7390
  if (!editorFunction.isDefaultExport()) editorFunction.setIsDefaultExport(true);
7493
- return;
7391
+ return true;
7494
7392
  }
7495
7393
  }
7496
7394
  const template = appEditorFileTemplate();
7497
7395
  sourceFile.replaceWithText(template);
7498
7396
  await formatSourceFileWithPrettier(sourceFile);
7397
+ return false;
7499
7398
  }
7500
7399
  async function makeAppConfigFile({ project, editorDirPath, allowedDocumentModelIds, isDragAndDropEnabled }) {
7501
7400
  const { sourceFile } = getOrCreateSourceFile(project, path.join(editorDirPath, "config.ts"));
@@ -7595,12 +7494,12 @@ async function writeModuleFiles(projectDir = process.cwd()) {
7595
7494
  await writeGeneratedSubgraphsFiles(projectDir);
7596
7495
  }
7597
7496
  async function writeAiConfigFiles(projectDir = process.cwd()) {
7598
- await writeFileEnsuringDir(join(projectDir, "CLAUDE.md"), agentsTemplate);
7599
- await writeFileEnsuringDir(join(projectDir, "AGENTS.md"), agentsTemplate);
7600
- await writeFileEnsuringDir(join(projectDir, ".mcp.json"), mcpTemplate);
7601
- await writeFileEnsuringDir(join(projectDir, ".gemini/settings.json"), geminiSettingsTemplate);
7602
- await writeFileEnsuringDir(join(projectDir, ".cursor/mcp.json"), cursorMcpTemplate);
7603
- await writeFileEnsuringDir(join(projectDir, ".claude/settings.local.json"), claudeSettingsLocalTemplate);
7497
+ await writeFileEnsuringDir(join(projectDir, "CLAUDE.md"), agentsTemplate.trimStart());
7498
+ await writeFileEnsuringDir(join(projectDir, "AGENTS.md"), agentsTemplate.trimStart());
7499
+ await writeFileEnsuringDir(join(projectDir, ".mcp.json"), mcpTemplate.trimStart());
7500
+ await writeFileEnsuringDir(join(projectDir, ".gemini/settings.json"), geminiSettingsTemplate.trimStart());
7501
+ await writeFileEnsuringDir(join(projectDir, ".cursor/mcp.json"), cursorMcpTemplate.trimStart());
7502
+ await writeFileEnsuringDir(join(projectDir, ".claude/settings.local.json"), claudeSettingsLocalTemplate.trimStart());
7604
7503
  }
7605
7504
  async function writeProjectRootFiles(args, projectDir = process.cwd()) {
7606
7505
  const { name, tag, version, remoteDrive, packageManager } = args;
@@ -7637,16 +7536,26 @@ async function writeAllGeneratedProjectFiles(projectDir = process.cwd()) {
7637
7536
  //#endregion
7638
7537
  //#region src/file-builders/boilerplate/package.json.ts
7639
7538
  async function buildBoilerplatePackageJson(args) {
7640
- const { name, tag, version, workspace } = args;
7641
- return packageJsonTemplate(name, await makeVersionedDependencies({
7642
- names: VERSIONED_DEPENDENCIES,
7539
+ const { name, tag, version } = args;
7540
+ const workspacePeers = await makeVersionedDependenciesMap({
7541
+ names: VERSIONED_PEER_DEPENDENCIES,
7643
7542
  tag,
7644
7543
  version
7645
- }), await makeVersionedDependencies({
7544
+ });
7545
+ const workspaceDevs = await makeVersionedDependenciesMap({
7646
7546
  names: VERSIONED_DEV_DEPENDENCIES,
7647
7547
  tag,
7648
7548
  version
7649
- }));
7549
+ });
7550
+ return packageJsonTemplate(name, {
7551
+ ...workspacePeers,
7552
+ ...mapValues(PEER_EXTERNAL_DEPENDENCIES, (v) => v.peer)
7553
+ }, {
7554
+ ...workspaceDevs,
7555
+ ...workspacePeers,
7556
+ ...mapValues(PEER_EXTERNAL_DEPENDENCIES, (v) => v.dev),
7557
+ ...externalDevDependencies
7558
+ });
7650
7559
  }
7651
7560
  //#endregion
7652
7561
  //#region src/file-builders/clis/generate-cli-docs.ts
@@ -7695,7 +7604,7 @@ async function tsMorphGenerateDocumentEditor({ project, editorDir, editorName, e
7695
7604
  ...documentTypeMetadata,
7696
7605
  ...editorVariableNames
7697
7606
  });
7698
- makeEditorModuleFile({
7607
+ await makeEditorModuleFile({
7699
7608
  project,
7700
7609
  editorName,
7701
7610
  editorId,
@@ -8141,8 +8050,13 @@ async function makeOperationModuleTestFile(args) {
8141
8050
  version,
8142
8051
  filePath
8143
8052
  });
8144
- if (previousVersionSourceFile) sourceFile.replaceWithText(previousVersionSourceFile.getText());
8145
- else sourceFile.replaceWithText(ts$1`
8053
+ if (previousVersionSourceFile) {
8054
+ sourceFile.replaceWithText(previousVersionSourceFile.getText());
8055
+ updateVersionedImports({
8056
+ sourceFile,
8057
+ version
8058
+ });
8059
+ } else sourceFile.replaceWithText(ts$1`
8146
8060
  import { generateMock } from "document-model";
8147
8061
  import { describe, expect, it } from "vitest";
8148
8062
 
@@ -8153,8 +8067,8 @@ async function makeOperationModuleTestFile(args) {
8153
8067
  }
8154
8068
  const importNames = makeOperationImportNames(args);
8155
8069
  const namedImports = importNames.map((name) => ({ name }));
8156
- let actionsImportDeclaration = sourceFile.getImportDeclarations().filter((i) => !i.isTypeOnly()).find((importDeclaration) => importDeclaration.getModuleSpecifier().getText().includes(versionImportPath));
8157
- if (!actionsImportDeclaration) actionsImportDeclaration = sourceFile.addImportDeclaration({
8070
+ const actionsImportDeclaration = sourceFile.getImportDeclarations().filter((i) => !i.isTypeOnly()).find((importDeclaration) => importDeclaration.getModuleSpecifier().getText().includes(versionImportPath));
8071
+ if (!actionsImportDeclaration) sourceFile.addImportDeclaration({
8158
8072
  namedImports,
8159
8073
  moduleSpecifier: versionImportPath
8160
8074
  });
@@ -8190,7 +8104,7 @@ async function makeOperationModuleTestFile(args) {
8190
8104
  }), map((o) => makeTestCaseForOperation(o, isPhDocumentOfTypeFunctionName)));
8191
8105
  describeCallBody.addStatements(testCasesToAdd);
8192
8106
  const GENERATE_MOCK_NAME = "generateMock";
8193
- const GENERATE_MOCK_MODULE_SPECIFIER = "@powerhousedao/codegen";
8107
+ const GENERATE_MOCK_MODULE_SPECIFIER = "document-model";
8194
8108
  const generateMockImport = sourceFile.getImportDeclaration((i) => i.getNamedImports().some((v) => v.getText().includes(GENERATE_MOCK_NAME)));
8195
8109
  if (sourceFile.getText().includes(GENERATE_MOCK_NAME) && !generateMockImport) sourceFile.addImportDeclaration({
8196
8110
  namedImports: [GENERATE_MOCK_NAME],
@@ -8200,10 +8114,16 @@ async function makeOperationModuleTestFile(args) {
8200
8114
  await formatSourceFileWithPrettier(sourceFile);
8201
8115
  }
8202
8116
  async function makeDocumentModelTestFile(args) {
8203
- const { project, testsDirPath } = args;
8117
+ const { project, version, testsDirPath } = args;
8204
8118
  const template = documentModelTestFileTemplate(args);
8205
8119
  const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, path.join(testsDirPath, "document-model.test.ts"));
8206
- if (alreadyExists) return;
8120
+ if (alreadyExists) {
8121
+ updateVersionedImports({
8122
+ sourceFile,
8123
+ version
8124
+ });
8125
+ return;
8126
+ }
8207
8127
  sourceFile.replaceWithText(template);
8208
8128
  await formatSourceFileWithPrettier(sourceFile);
8209
8129
  }
@@ -8567,7 +8487,7 @@ function makeModulesIndexFile({ project, modulesDirPath, modules }) {
8567
8487
  //#endregion
8568
8488
  //#region src/file-builders/manifest.ts
8569
8489
  async function getOrCreateManifestFile(manifestPath) {
8570
- if (!await fileExists(manifestPath)) await writeJsonFile(manifestPath, defaultManifest);
8490
+ if (!await fileExists(manifestPath)) await writeJsonFile(manifestPath, defaultManifest, { indent: 2 });
8571
8491
  const manifestFile = await loadJsonFile(manifestPath);
8572
8492
  return ManifestSchema.parse(manifestFile);
8573
8493
  }
@@ -8577,6 +8497,26 @@ function makeUpdatedModulesList(oldModules = [], newModules = []) {
8577
8497
  function makeUpdatedConfig(oldConfig = [], newConfig = []) {
8578
8498
  return pipe(oldConfig, filter(({ name }) => !isIncludedIn(name, map(newConfig, prop("name")))), concat(newConfig), uniqueBy(prop("name")));
8579
8499
  }
8500
+ /**
8501
+ * Removes entries from a manifest module list whose id is not in `validIds`.
8502
+ * Used by `generateAll<X>` to prune entries that no longer correspond to any
8503
+ * directory in the project (e.g. a module that was renamed or deleted). No-op
8504
+ * if the manifest file doesn't exist yet.
8505
+ */
8506
+ async function pruneManifestSection(projectDir, kind, validIds) {
8507
+ const manifestPath = join(projectDir, "powerhouse.manifest.json");
8508
+ if (!await fileExists(manifestPath)) return;
8509
+ const manifest = await getOrCreateManifestFile(manifestPath);
8510
+ const existing = manifest[kind];
8511
+ if (existing === void 0) return;
8512
+ const validSet = new Set(validIds);
8513
+ const filtered = existing.filter((entry) => validSet.has(entry.id));
8514
+ if (filtered.length === existing.length) return;
8515
+ await writeJsonFile(manifestPath, {
8516
+ ...manifest,
8517
+ [kind]: filtered
8518
+ }, { indent: 2 });
8519
+ }
8580
8520
  async function createOrUpdateManifest(manifestData, projectDir) {
8581
8521
  const manifestPath = join(projectDir, "powerhouse.manifest.json");
8582
8522
  const existingManifest = await getOrCreateManifestFile(manifestPath);
@@ -8591,7 +8531,7 @@ async function createOrUpdateManifest(manifestData, projectDir) {
8591
8531
  subgraphs: makeUpdatedModulesList(existingManifest.subgraphs, manifestData.subgraphs),
8592
8532
  config: makeUpdatedConfig(existingManifest.config, manifestData.config)
8593
8533
  };
8594
- await writeJsonFile(manifestPath, updatedManifest);
8534
+ await writeJsonFile(manifestPath, updatedManifest, { indent: 2 });
8595
8535
  return updatedManifest;
8596
8536
  }
8597
8537
  //#endregion
@@ -8704,6 +8644,19 @@ async function makeMigrationsFile(v) {
8704
8644
  }
8705
8645
  //#endregion
8706
8646
  //#region src/file-builders/processors/processor.ts
8647
+ /**
8648
+ * Detects a hand-customized processor directory using a layout that predates
8649
+ * the current scaffold (class defined in index.ts, no processor.ts). When
8650
+ * present we leave the directory and surrounding wiring (factory-builders
8651
+ * file, manifest) untouched — the user owns it.
8652
+ */
8653
+ function isCustomizedProcessorDir(processorDir) {
8654
+ if (!processorDir) return false;
8655
+ if (processorDir.getSourceFile("processor.ts")) return false;
8656
+ const indexFile = processorDir.getSourceFile("index.ts");
8657
+ if (!indexFile) return false;
8658
+ return indexFile.getClasses().some((c) => c.isExported());
8659
+ }
8707
8660
  async function tsMorphGenerateProcessor(args) {
8708
8661
  const { project, processorName, documentTypes, processorType, processorApps } = args;
8709
8662
  const kebabCaseName = kebabCase(processorName);
@@ -8714,6 +8667,11 @@ async function tsMorphGenerateProcessor(args) {
8714
8667
  const processorsDirPath = processorsDir.getPath();
8715
8668
  const dirPath = path.join(processorsDirPath, kebabCaseName);
8716
8669
  await ensureDirectoriesExist(project, processorsDirPath, dirPath);
8670
+ if (isCustomizedProcessorDir(project.getDirectory(dirPath))) {
8671
+ const relativePath = path.relative(projectDir, path.join(dirPath, "index.ts"));
8672
+ console.warn(`[codegen] Skipping processor scaffold for "${kebabCaseName}": legacy layout detected "${relativePath}"`);
8673
+ return;
8674
+ }
8717
8675
  if (processorType === "analytics") await tsMorphGenerateAnalyticsProcessor({
8718
8676
  processorName,
8719
8677
  documentTypes,
@@ -8836,6 +8794,6 @@ async function makeSubgraphsIndexFile(args) {
8836
8794
  await formatSourceFileWithPrettier(sourceFile);
8837
8795
  }
8838
8796
  //#endregion
8839
- export { getOrCreateDirectory as $, nginxConfTemplate as $n, getDocumentModelSpecByVersionNumber as $t, writeProjectRootFiles as A, packageJsonTemplate as An, upgradeTransitionTemplate as At, getAllImportModuleSpecifiers as B, indexTsTemplate as Bn, documentModelIndexTemplate as Bt, writeCIFiles as C, readmeTemplate as Cn, processorsIndexTemplate as Ct, writeGeneratedProjectRootFiles as D, packageJsonScriptsTemplate as Dn, analyticsIndexTemplate as Dt, writeGeneratedProcessorsFiles as E, packageJsonExportsTemplate as En, analyticsProcessorTemplate as Et, validateDocumentModelState as F, packageScripts as Fn, makeTestCaseForOperation as Ft, getProperyAssignmentByName as G, geminiSettingsTemplate as Gn, documentModelGenReducerFileTemplate as Gt, getBooleanPropertyValue as H, indexHtmlTemplate as Hn, documentModelGenUtilsTemplate as Ht, getInitialStates as I, npmrcTemplate as In, documentModelTestFileTemplate as It, getVariableDeclarationByTypeName as J, editorsTemplate as Jn, documentModelOperationsModuleErrorFileTemplate as Jt, getStringArrayPropertyElements as K, eslintConfigTemplate as Kn, documentModelPhFactoriesFileTemplate as Kt, DEFAULT_PROJECT_OPTIONS as L, mcpTemplate as Ln, documentModelSrcUtilsTemplate as Lt, makeEditorModuleFile as M, externalDependencies as Mn, documentModelOperationsModuleTestFileTemplate as Mt, makeEditorsFile as N, externalDevDependencies as Nn, makeOperationImportNames as Nt, writeGeneratedSubgraphsFiles as O, pnpmWorkspaceTemplate as On, analyticsFactoryTemplate as Ot, makeEditorsIndexFile as P, packageJsonExports as Pn, makeOperationsImports as Pt, ensureDirectoriesExist as Q, switchboardEntrypointTemplate as Qn, getDocumentModelDirName as Qt, buildTsMorphProject as R, mainTsxTemplate as Rn, documentModelSrcIndexFileTemplate as Rt, writeAllGeneratedProjectFiles as S, styleTemplate as Sn, relationalDbFactoryTemplate as St, writeGeneratedEditorsFiles as T, buildPowerhouseConfigTemplate as Tn, factoryBuildersTemplate as Tt, getObjectLiteral as U, gitIgnoreTemplate as Un, documentModelGenTypesTemplate as Ut, getAllImportNames as V, legacyIndexHtmlTemplate as Vn, documentModelHooksFileTemplate as Vt, getObjectProperty as W, syncAndPublishWorkflowTemplate as Wn, documentModelSchemaIndexTemplate as Wt, buildObjectLiteral as X, documentModelsIndexTemplate as Xn, documentModelOperationModuleActionsFileTemplate as Xt, loadDocumentModelInDir as Y, upgradeManifestsTemplate as Yn, documentModelOperationsModuleCreatorsFileTemplate as Yt, buildStringLiteral as Z, documentModelsTemplate as Zn, getModuleExportType as Zt, getCommandsHelpInfo as _, docsFromCliHelpTemplate as _n, subgraphIndexFileTemplate as _t, getOrCreateManifestFile as a, getActionInputTypeNames as an, appEditorFileTemplate as ar, getEditorMetadata as at, buildBoilerplatePackageJson as b, tsconfigPathsTemplate as bn, relationalDbMigrationsTemplate as bt, operationHasEmptyInput as c, documentModelGenIndexFileTemplate as cn, folderTreeFileTemplate as cr, runPrettier as ct, generateDocumentModelZodSchemas as d, documentModelGenCreatorsFileTemplate as dn, emptyStateFileTemplate as dr, configSpec as dt, getDocumentModelVariableNames as en, dockerfileTemplate as er, getOrCreateSourceFile as et, generateTypesAndZodSchemasFromGraphql as f, documentModelGenControllerFileTemplate as fn, driveExplorerFileTemplate as fr, parseArgs as ft, getCommandHelpInfo as g, documentEditorEditorFileTemplate as gn, subgraphLibFileTemplate as gt, tsMorphGenerateDocumentEditor as h, documentEditorModuleFileTemplate as hn, customSubgraphSchemaTemplate as ht, createOrUpdateManifest as i, getActionInputName as in, agentsTemplate as ir, getAppMetadata as it, tsMorphGenerateApp as j, defaultManifest as jn, upgradeManifestTemplate as jt, writeModuleFiles as k, exportsTemplate as kn, documentModelUtilsTemplate as kt, operationHasInput as l, documentModelDocumentTypeTemplate as ln, appFoldersFileTemplate as lr, getDocumentTypeMetadata as lt, scalarsValidation as m, documentModelRootActionsFileTemplate as mn, createDocumentFileTemplate as mr, customSubgraphResolversTemplate as mt, tsMorphGenerateSubgraph as n, getLatestDocumentModelSpec as nn, cursorMcpTemplate as nr, getSubgraphMetadata as nt, makeModulesIndexFile as o, getActionType as on, appConfigFileTemplate as or, formatSafe as ot, scalars as p, documentModelGenActionsFileTemplate as pn, appDriveContentsFileTemplate as pr, parseConfig as pt, getStringPropertyValue as q, editorsIndexTemplate as qn, documentModelOperationsModuleOperationsFileTemplate as qt, tsMorphGenerateProcessor as r, getLatestDocumentModelSpecVersionNumber as rn, claudeSettingsLocalTemplate as rr, getProcessorMetadata as rt, operationHasAttachment as s, getActionTypeName as sn, driveExplorerNavigationBreadcrumbsFileTemplate as sr, formatSourceFileWithPrettier as st, makeSubgraphsIndexFile as t, getEditorVariableNames as tn, connectEntrypointTemplate as tr, getPreviousVersionSourceFile as tt, tsMorphGenerateDocumentModel as u, documentModelDocumentSchemaFileTemplate as un, appFilesFileTemplate as ur, documentModelDocumentTypeMetadata as ut, makeCliDocsFromHelp as v, vitestConfigTemplate as vn, relationalDbSchemaTemplate as vt, writeGeneratedDocumentModelsFiles as w, ManifestTemplate as wn, processorsFactoryTemplate as wt, writeAiConfigFiles as x, subgraphsIndexTemplate as xn, relationalDbIndexTemplate as xt, writeCliDocsMarkdownFile as y, tsConfigTemplate as yn, relationalDbProcessorTemplate as yt, getDefaultProjectOptions as z, licenseTemplate as zn, documentModelModuleFileTemplate as zt };
8797
+ 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, getCommandHelpInfo as _, documentEditorModuleFileTemplate as _n, customSubgraphSchemaTemplate as _t, getOrCreateManifestFile as a, getLatestDocumentModelSpecVersionNumber as an, folderTreeFileTemplate as ar, getProcessorMetadata as at, writeCliDocsMarkdownFile as b, vitestConfigTemplate as bn, relationalDbSchemaTemplate as bt, operationHasAttachment as c, getActionType as cn, emptyStateFileTemplate as cr, formatSafe as ct, tsMorphGenerateDocumentModel as d, documentModelDocumentTypeTemplate as dn, createDocumentFileTemplate as dr, getDocumentTypeMetadata as dt, getDocumentModelDirName as en, claudeSettingsLocalTemplate as er, ensureDirectoriesExist as et, generateDocumentModelZodSchemas as f, documentModelDocumentSchemaFileTemplate as fn, documentModelDocumentTypeMetadata as ft, tsMorphGenerateDocumentEditor as g, documentModelRootActionsFileTemplate as gn, customSubgraphResolversTemplate as gt, scalarsValidation 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, operationHasEmptyInput as l, getActionTypeName as ln, driveExplorerFileTemplate as lr, formatSourceFileWithPrettier as lt, scalars 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, generateTypesAndZodSchemasFromGraphql 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, operationHasInput as u, documentModelGenIndexFileTemplate as un, appDriveContentsFileTemplate as ur, runPrettier as ut, getCommandsHelpInfo as v, documentEditorEditorFileTemplate as vn, subgraphLibFileTemplate as vt, writeCIFiles as w, styleTemplate as wn, relationalDbFactoryTemplate as wt, buildBoilerplatePackageJson as x, tsConfigTemplate as xn, relationalDbProcessorTemplate as xt, makeCliDocsFromHelp as y, docsFromCliHelpTemplate as yn, subgraphIndexFileTemplate as yt, DEFAULT_PROJECT_OPTIONS as z, indexHtmlTemplate as zn, documentModelSrcUtilsTemplate as zt };
8840
8798
 
8841
- //# sourceMappingURL=file-builders-KGdRKyyn.mjs.map
8799
+ //# sourceMappingURL=file-builders-hVuFDKL9.mjs.map