@osdk/maker-experimental 0.82.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,24 +1,25 @@
1
1
  # @osdk/maker-experimental
2
2
 
3
- ## 0.82.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
3
+ ## 0.82.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
+ - e837c76: Default decimal properties to precision 5 and scale 2 when unspecified, matching OMS defaults.
7
8
  - 0f211db: defineFunctionBackedAction now accepts additional simple configurations.
8
9
 
9
10
  ### Patch Changes
10
11
 
11
- - e837c76: Default decimal properties to precision 5 and scale 2 when unspecified, matching OMS defaults.
12
12
  - Updated dependencies [093d27c]
13
13
  - Updated dependencies [e837c76]
14
+ - Updated dependencies [ff00439]
14
15
  - Updated dependencies [ef3e772]
15
16
  - Updated dependencies [8300415]
16
- - @osdk/api@2.87.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
17
- - @osdk/maker@0.85.1-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
18
- - @osdk/generator-converters.preview@0.61.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
19
- - @osdk/client.unstable@2.87.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
20
- - @osdk/generator-converters.ontologyir@2.87.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
21
- - @osdk/maker-import@0.50.1-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4
17
+ - @osdk/api@2.87.0
18
+ - @osdk/maker@0.86.0
19
+ - @osdk/generator-converters.preview@0.61.0
20
+ - @osdk/client.unstable@2.87.0
21
+ - @osdk/generator-converters.ontologyir@2.87.0
22
+ - @osdk/maker-import@0.51.0
22
23
 
23
24
  ## 0.81.0
24
25
 
@@ -36,7 +36,7 @@ const apiNamespaceRegex = /^[a-z0-9-]+(\.[a-z0-9-]+)*\.$/u;
36
36
  const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;
37
37
  export default async function main(args = process.argv) {
38
38
  consola.log("Generating BlockGeneratorResult for ontology...");
39
- const commandLineOpts = await yargs(hideBin(args)).version("0.82.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4" ?? "").wrap(Math.min(150, yargs().terminalWidth())).strict().help().options({
39
+ const commandLineOpts = await yargs(hideBin(args)).version("0.82.0" ?? "").wrap(Math.min(150, yargs().terminalWidth())).strict().help().options({
40
40
  input: {
41
41
  alias: "i",
42
42
  describe: "Input file",
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","names":["fs","path","pathToFileURL","OntologyBlockDataToFullMetadataConverter","OntologyIrToFullMetadataConverter","PreviewOntologyIrConverter","cleanAndValidateLinkTypeId","DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME","reconcileOntologySchemaLockfile","consola","LogLevels","invariant","yargs","hideBin","defineOntologyV2","getExternalRecommendations","generateFolderBlockResults","ReadableIdGenerator","generateBackingDatasetBlockResult","generateBackingDatasetBlockResultForLink","getBackingDatasetProperties","generateBackingMediaSetBlockResult","generateDirectDatasourceBlockResult","generateValueTypeBlockResults","getValueTypeInternalMappings","apiNamespaceRegex","uuidRegex","main","args","process","argv","log","commandLineOpts","version","wrap","Math","min","terminalWidth","strict","help","options","input","alias","describe","type","default","coerce","resolve","output","valueTypesOutput","apiNamespace","targetEnvironment","choices","buildDir","codegenDir","temporaryBlockDataFile","functionsDir","nodeModulesDir","functionsIrOutputFile","randomnessKey","lockfile","writeLocks","yes","verbose","count","middleware","level","logLevelFor","implies","fail","msg","err","usage","showHelp","Error","parseAsync","length","slice","env","NODE_ENV","test","info","undefined","lockfilePath","join","dirname","externalImportedMetadata","importJson","existsSync","JSON","parse","promises","readFile","functionsIrFile","fileContent","blockDataJson","error","exit","previewMetadata","getPreviewFullMetadataFromBlockData","discoverTypeScriptFunctions","dependencyFile","mkdir","recursive","importedLinkTypeIdsByApiName","getImportedLinkTypeIdsByApiName","ontologyIr","importedTypes","shapes","blockDataAddOn","importedInputPresets","backingDatasourceApiNames","backingDatasourceLinkApiNames","backingMediaSetNames","folders","loadOntology","ontology","assumeYes","blockDataDir","ontologyJsonPath","ontologyJson","stringify","writeFile","importedMetadata","getFullMetadataFromBlockData","importedOntology","transitiveImportedOntology","directlyImportedInterfaceTypes","Object","values","interfaceTypes","map","interfaceType","apiName","importedMetadataPath","folderResults","outputFolders","Map","flatMap","folder","outputIds","outputId","valueTypeResults","valueTypes","directDatasourceGeneratorResults","Promise","all","objectTypes","objectType","filter","result","ontologyInputMappingEntries","inputMappings","objectTypeBlockData","findObjectTypeByApiName","backingProperties","inputDatasetReadableId","getForDataset","outputDatasetReadableId","getForDatasetOutput","inputShapes","has","push","prop","colInputReadableId","getForDatasetColumn","getForDatasetColumnOutput","linkApiName","linkTypeBlockData","findLinkTypeByApiName","linkTypes","datasetName","inputDsId","outputDsId","ds","datasources","datasource","columnNames","dataset","objectTypeAPrimaryKeyMapping","String","objectTypeBPrimaryKeyMapping","colName","colInputId","colOutputId","mediaSetName","inputReadableId","getForMediaSetView","getForMediaSetViewOutput","producedValueTypes","blockData","backingDsGeneratorResults","get","getForObjectType","backingDsLinkGeneratorResults","getForLinkType","p","backingMediaSetGeneratorResults","blockGeneratorResult","block_identifier","block_data_directory","oci_block_data_metadata","maven_block_data_metadata","inputs","fromEntries","input_presets","outputs","outputShapes","input_mapping_entries","external_recommendations","add_on_override","input_shape_metadata","inputShapeMetadata","block_type","blockGeneratorResultJson","success","valueTypeResultsJson","verbosity","debug","trace","outputDir","packagingOptions","beforeWrite","href","metadata","linkType","linkTypeId","linkTypeIdsByRid","linkTypeRid","find","lt","id"],"sources":["main.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\n\nimport type {\n LinkTypeBlockDataV2,\n ObjectTypeBlockDataV2,\n} from \"@osdk/client.unstable\";\nimport {\n OntologyBlockDataToFullMetadataConverter,\n OntologyIrToFullMetadataConverter,\n} from \"@osdk/generator-converters.ontologyir\";\nimport { PreviewOntologyIrConverter } from \"@osdk/generator-converters.preview\";\nimport type { OntologyDefinition } from \"@osdk/maker\";\nimport {\n cleanAndValidateLinkTypeId,\n DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME,\n reconcileOntologySchemaLockfile,\n} from \"@osdk/maker\";\nimport type { LogLevel } from \"consola\";\nimport { consola, LogLevels } from \"consola\";\nimport invariant from \"tiny-invariant\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport {\n defineOntologyV2,\n type OntologyPackagingOptions,\n} from \"../api/defineOntologyV2.js\";\nimport { getExternalRecommendations } from \"../conversion/toMarketplace/RecommendationUtils.js\";\nimport type {\n ExternalImportedOntologyMetadata,\n LinkTypeIdsByApiName,\n} from \"../conversion/toMarketplace/shapeExtractors/ImportedShapeExtractor.js\";\nimport { generateFolderBlockResults } from \"../util/foldersUtil.js\";\nimport { ReadableIdGenerator } from \"../util/generateRid.js\";\nimport {\n generateBackingDatasetBlockResult,\n generateBackingDatasetBlockResultForLink,\n getBackingDatasetProperties,\n} from \"./generateBackingDataset.js\";\nimport { generateBackingMediaSetBlockResult } from \"./generateBackingMediaSet.js\";\nimport { generateDirectDatasourceBlockResult } from \"./generateDirectDatasource.js\";\nimport {\n generateValueTypeBlockResults,\n getValueTypeInternalMappings,\n} from \"./generateValueTypeBlockResults.js\";\nimport type { BlockGeneratorResult } from \"./marketplaceSerialization/BlockGeneratorResult.js\";\nimport type { InputMappingEntry } from \"./marketplaceSerialization/supportingTypes.js\";\n\nconst apiNamespaceRegex = /^[a-z0-9-]+(\\.[a-z0-9-]+)*\\.$/u;\nconst uuidRegex =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;\n\nexport default async function main(\n args: string[] = process.argv,\n): Promise<void> {\n consola.log(\"Generating BlockGeneratorResult for ontology...\");\n\n const commandLineOpts: {\n input: string;\n output: string;\n valueTypesOutput: string;\n apiNamespace: string;\n buildDir: string;\n codegenDir?: string;\n temporaryBlockDataFile?: string;\n functionsDir?: string;\n nodeModulesDir?: string;\n functionsIrOutputFile?: string;\n randomnessKey?: string;\n importJson?: string;\n targetEnvironment: \"CLOUD\" | \"EDGE\";\n lockfile?: string;\n writeLocks?: boolean;\n yes?: boolean;\n verbose: number;\n } = await yargs(hideBin(args))\n .version(process.env.PACKAGE_VERSION ?? \"\")\n .wrap(Math.min(150, yargs().terminalWidth()))\n .strict()\n .help()\n .options({\n input: {\n alias: \"i\",\n describe: \"Input file\",\n type: \"string\",\n default: \".ontology/ontology.ts\",\n coerce: path.resolve,\n },\n output: {\n alias: \"o\",\n describe: \"Output file for ontology BlockGeneratorResult JSON\",\n type: \"string\",\n default: \"build/block_generator_result.json\",\n coerce: path.resolve,\n },\n valueTypesOutput: {\n describe: \"Output file for value types BlockGeneratorResult JSON\",\n type: \"string\",\n default: \"build/value_types_block_generator_result.json\",\n coerce: path.resolve,\n },\n apiNamespace: {\n describe: \"Api name prefix for namespaced ontology types\",\n type: \"string\",\n default: \"\",\n },\n targetEnvironment: {\n describe: \"Package for CLOUD, or for both cloud and edge with EDGE\",\n choices: [\"CLOUD\", \"EDGE\"] as const,\n default: \"CLOUD\" as const,\n },\n buildDir: {\n alias: \"b\",\n describe: \"Directory for build files\",\n type: \"string\",\n default: \"build/\",\n coerce: path.resolve,\n },\n codegenDir: {\n alias: \"c\",\n describe:\n \"Output directory for generated TypeScript files (defaults to the parent of the input file's directory)\",\n type: \"string\",\n coerce: path.resolve,\n },\n temporaryBlockDataFile: {\n alias: \"f\",\n describe:\n \"Path to a previously generated block data file. Supplying this field indicates that function backed actions should be generated\",\n type: \"string\",\n coerce: path.resolve,\n },\n functionsDir: {\n type: \"string\",\n coerce: path.resolve,\n },\n nodeModulesDir: {\n type: \"string\",\n coerce: path.resolve,\n },\n functionsIrOutputFile: {\n type: \"string\",\n coerce: path.resolve,\n },\n randomnessKey: {\n describe: \"Value used to assure uniqueness of entities\",\n type: \"string\",\n },\n \"import-json\": {\n describe:\n \"Path to imported ontology metadata produced by 'foundry import ontology'\",\n type: \"string\",\n coerce: path.resolve,\n },\n lockfile: {\n describe: `Ontology schema lockfile path (default: ${DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME} beside --input)`,\n type: \"string\",\n // No `default`: it depends on --input, which `coerce` cannot see. Resolved after parsing.\n coerce: path.resolve,\n },\n writeLocks: {\n describe:\n \"Update the ontology schema lockfile instead of failing when it is out of date\",\n type: \"boolean\",\n // NB: no default since \"implied\" below\n },\n yes: {\n alias: \"y\",\n describe:\n \"Accept detected ontology schema migration finalizations/deletions without prompting\",\n type: \"boolean\",\n // NB: no default since \"implied\" below\n },\n verbose: {\n alias: \"v\",\n describe:\n \"Enable verbose logging: -v for debug, including stack traces on failure, -vv for trace\",\n type: \"boolean\",\n count: true,\n },\n })\n .middleware(({ verbose }) => {\n consola.level = logLevelFor(verbose);\n }, true)\n // --yes only answers the prompt that --write-locks can raise, so on its own it does nothing.\n .implies(\"yes\", \"writeLocks\")\n // Without this, the usage error that `implies` raises calls `process.exit` from inside the\n // library, which takes the whole host process with it.\n .fail((msg, err, usage) => {\n if (err) {\n throw err;\n }\n\n // Registering a failure handler suppresses yargs' showHelpOnFail behavior, so reinstate it.\n usage.showHelp(\"error\");\n throw new Error(msg);\n })\n .parseAsync();\n\n let apiNamespace = \"\";\n if (commandLineOpts.apiNamespace.length !== 0) {\n apiNamespace =\n commandLineOpts.apiNamespace.slice(-1) !== \".\"\n ? commandLineOpts.apiNamespace + \".\"\n : commandLineOpts.apiNamespace;\n invariant(apiNamespace.length < 1024, \"API namespace is too long.\");\n invariant(\n apiNamespaceRegex.test(apiNamespace),\n \"API namespace is invalid! It is expected to conform to ^[a-z0-9-]+(\\.[a-z0-9-]+)*\\.$\",\n );\n }\n consola.info(`Loading ontology from ${commandLineOpts.input}`);\n\n if (commandLineOpts.randomnessKey !== undefined) {\n invariant(\n uuidRegex.test(commandLineOpts.randomnessKey),\n \"Supplied randomness key is not a uuid and shouldn't be used as a uniqueness guarantee\",\n );\n }\n\n const lockfilePath =\n commandLineOpts.lockfile ??\n path.join(\n path.dirname(commandLineOpts.input),\n DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME,\n );\n\n const externalImportedMetadata =\n commandLineOpts.importJson && fs.existsSync(commandLineOpts.importJson)\n ? (JSON.parse(\n await fs.promises.readFile(commandLineOpts.importJson, \"utf-8\"),\n ) as ExternalImportedOntologyMetadata)\n : undefined;\n\n let functionsIrFile;\n if (commandLineOpts.temporaryBlockDataFile) {\n consola.info(\n `Loading temporary block data from ${commandLineOpts.temporaryBlockDataFile}`,\n );\n const fileContent = await fs.promises.readFile(\n commandLineOpts.temporaryBlockDataFile,\n \"utf-8\",\n );\n let blockDataJson: unknown;\n try {\n blockDataJson = JSON.parse(fileContent);\n } catch {\n consola.error(\n `Failed to parse JSON from ${commandLineOpts.temporaryBlockDataFile}`,\n );\n process.exit(1);\n }\n const previewMetadata =\n PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData(\n blockDataJson as Parameters<\n typeof PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData\n >[0],\n externalImportedMetadata,\n );\n invariant(\n commandLineOpts.functionsDir && commandLineOpts.nodeModulesDir,\n \"functionsDir and nodeModulesDir must be supplied when using temporaryBlockDataFile\",\n );\n await OntologyIrToFullMetadataConverter.discoverTypeScriptFunctions(\n commandLineOpts.functionsDir,\n commandLineOpts.nodeModulesDir,\n commandLineOpts.functionsIrOutputFile,\n previewMetadata,\n );\n functionsIrFile = commandLineOpts.functionsIrOutputFile;\n consola.info(\n `Discovered functions during block data generation at ${commandLineOpts.functionsIrOutputFile}`,\n );\n }\n\n // Default the codegen output directory to the parent of the input file's directory.\n const codegenDir =\n commandLineOpts.codegenDir ??\n path.dirname(path.dirname(commandLineOpts.input));\n\n const dependencyFile = path.join(\n commandLineOpts.buildDir,\n \"dependencies.json\",\n );\n if (!fs.existsSync(dependencyFile)) {\n await fs.promises.mkdir(commandLineOpts.buildDir, { recursive: true });\n }\n\n const importedLinkTypeIdsByApiName = externalImportedMetadata\n ? getImportedLinkTypeIdsByApiName(externalImportedMetadata)\n : undefined;\n\n const {\n ontologyIr,\n importedTypes,\n shapes,\n blockDataAddOn,\n importedInputPresets,\n backingDatasourceApiNames,\n backingDatasourceLinkApiNames,\n backingMediaSetNames,\n folders,\n } = await loadOntology(\n commandLineOpts.input,\n apiNamespace,\n codegenDir,\n dependencyFile,\n functionsIrFile,\n commandLineOpts.randomnessKey,\n importedLinkTypeIdsByApiName,\n externalImportedMetadata,\n { targetEnvironment: commandLineOpts.targetEnvironment },\n // An ontology that fails lockfile checks would fail at installation-time, so its block data\n // should never reach disk at all.\n (ontology) =>\n reconcileOntologySchemaLockfile({\n ontology,\n lockfilePath,\n writeLocks: commandLineOpts.writeLocks ?? false,\n assumeYes: commandLineOpts.yes ?? false,\n }),\n );\n\n // Create temp directory for block data\n const blockDataDir = path.join(commandLineOpts.buildDir, \"temp_block_data\");\n if (!fs.existsSync(blockDataDir)) {\n await fs.promises.mkdir(blockDataDir, { recursive: true });\n }\n\n // Write ontology.json to the block data directory\n const ontologyJsonPath = path.join(blockDataDir, \"ontology.json\");\n const ontologyJson = JSON.stringify(ontologyIr.ontology, null, 2);\n await fs.promises.writeFile(ontologyJsonPath, ontologyJson);\n consola.info(`Wrote ontology.json to ${ontologyJsonPath}`);\n\n const importedMetadata =\n OntologyBlockDataToFullMetadataConverter.getFullMetadataFromBlockData(\n ontologyIr.importedOntology,\n undefined,\n ontologyIr.transitiveImportedOntology,\n );\n const directlyImportedInterfaceTypes = Object.values(\n ontologyIr.importedOntology.interfaceTypes,\n ).map(({ interfaceType }) => interfaceType.apiName);\n const importedMetadataPath = path.join(\n commandLineOpts.buildDir,\n \"oac-imported-metadata.json\",\n );\n await fs.promises.writeFile(\n importedMetadataPath,\n JSON.stringify(\n { ...importedMetadata, directlyImportedInterfaceTypes },\n null,\n 2,\n ),\n );\n consola.info(`Wrote oac-imported-metadata.json to ${importedMetadataPath}`);\n\n const folderResults = await generateFolderBlockResults(\n folders,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n );\n const outputFolders = new Map(\n folders.flatMap((folder) =>\n folder.outputIds.map((outputId) => [outputId, folder] as const),\n ),\n );\n\n let valueTypeResults: BlockGeneratorResult[] = [];\n if (ontologyIr.valueTypes.length > 0) {\n valueTypeResults = await generateValueTypeBlockResults(\n ontologyIr.valueTypes,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n );\n }\n\n const directDatasourceGeneratorResults = (\n await Promise.all(\n Object.values(ontologyIr.ontology.objectTypes).map((objectType) =>\n generateDirectDatasourceBlockResult(\n objectType,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n ),\n ),\n )\n ).filter((result): result is BlockGeneratorResult => result !== undefined);\n\n // Collect input_mapping_entries for the ontology block\n // These map ontology inputs to datasource block outputs for objects with includeEmptyBackingDatasource\n const ontologyInputMappingEntries: InputMappingEntry[] = shapes.inputMappings;\n\n for (const apiName of backingDatasourceApiNames) {\n const objectTypeBlockData = findObjectTypeByApiName(\n ontologyIr.ontology.objectTypes,\n apiName,\n );\n if (!objectTypeBlockData) continue;\n\n const backingProperties = getBackingDatasetProperties(objectTypeBlockData);\n\n // The ontology block has inputs with these readable IDs (from shape extraction)\n // Map them to the datasource block's outputs (which use the same readable IDs)\n const inputDatasetReadableId = ReadableIdGenerator.getForDataset(apiName);\n const outputDatasetReadableId =\n ReadableIdGenerator.getForDatasetOutput(apiName);\n if (shapes.inputShapes.has(inputDatasetReadableId)) {\n ontologyInputMappingEntries.push({\n input: inputDatasetReadableId,\n output: outputDatasetReadableId,\n });\n }\n\n for (const prop of backingProperties) {\n const colInputReadableId = ReadableIdGenerator.getForDatasetColumn(\n apiName,\n prop.apiName!,\n );\n const getForDatasetColumnOutput =\n ReadableIdGenerator.getForDatasetColumnOutput(apiName, prop.apiName!);\n if (shapes.inputShapes.has(colInputReadableId)) {\n ontologyInputMappingEntries.push({\n input: colInputReadableId,\n output: getForDatasetColumnOutput,\n });\n }\n }\n }\n\n // Collect input_mapping_entries for link types with includeEmptyBackingDatasource\n for (const linkApiName of backingDatasourceLinkApiNames) {\n const linkTypeBlockData = findLinkTypeByApiName(\n ontologyIr.ontology.linkTypes,\n linkApiName,\n );\n if (!linkTypeBlockData) continue;\n\n const datasetName = `link.${linkApiName}`;\n\n // Map tabularDatasource\n const inputDsId = ReadableIdGenerator.getForDataset(datasetName);\n const outputDsId = ReadableIdGenerator.getForDatasetOutput(datasetName);\n if (shapes.inputShapes.has(inputDsId)) {\n ontologyInputMappingEntries.push({\n input: inputDsId,\n output: outputDsId,\n });\n }\n\n // Map columns from the datasource\n const ds = linkTypeBlockData.datasources[0]?.datasource;\n if (ds?.type === \"dataset\") {\n const columnNames = [\n ...Object.values(ds.dataset.objectTypeAPrimaryKeyMapping).map(String),\n ...Object.values(ds.dataset.objectTypeBPrimaryKeyMapping).map(String),\n ];\n for (const colName of columnNames) {\n const colInputId = ReadableIdGenerator.getForDatasetColumn(\n datasetName,\n colName,\n );\n const colOutputId = ReadableIdGenerator.getForDatasetColumnOutput(\n datasetName,\n colName,\n );\n if (shapes.inputShapes.has(colInputId)) {\n ontologyInputMappingEntries.push({\n input: colInputId,\n output: colOutputId,\n });\n }\n }\n }\n }\n\n for (const mediaSetName of backingMediaSetNames) {\n const inputReadableId =\n ReadableIdGenerator.getForMediaSetView(mediaSetName);\n if (shapes.inputShapes.has(inputReadableId)) {\n ontologyInputMappingEntries.push({\n input: inputReadableId,\n output: ReadableIdGenerator.getForMediaSetViewOutput(mediaSetName),\n });\n }\n }\n\n const producedValueTypes = ontologyIr.valueTypes.map(\n ({ blockData }) => blockData,\n );\n ontologyInputMappingEntries.push(\n ...getValueTypeInternalMappings(producedValueTypes, shapes.inputShapes),\n );\n\n // Generate backing datasource BlockGeneratorResults for objects with includeEmptyBackingDatasource\n const backingDsGeneratorResults = await Promise.all(\n backingDatasourceApiNames\n .filter((apiName) => {\n const objectTypeBlockData = findObjectTypeByApiName(\n ontologyIr.ontology.objectTypes,\n apiName,\n );\n return objectTypeBlockData !== undefined;\n })\n .map(async (apiName) => {\n const objectTypeBlockData = findObjectTypeByApiName(\n ontologyIr.ontology.objectTypes,\n apiName,\n );\n consola.info(\n `Generating backing datasource BlockGeneratorResult for ${apiName}...`,\n );\n\n return await generateBackingDatasetBlockResult(\n objectTypeBlockData!,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n outputFolders.get(ReadableIdGenerator.getForObjectType(apiName)),\n );\n }),\n );\n\n // Generate backing datasource BlockGeneratorResults for link types with includeEmptyBackingDatasource\n const backingDsLinkGeneratorResults = await Promise.all(\n backingDatasourceLinkApiNames\n .map((linkApiName) => {\n const linkTypeBlockData = findLinkTypeByApiName(\n ontologyIr.ontology.linkTypes,\n linkApiName,\n );\n if (!linkTypeBlockData) return undefined;\n consola.info(\n `Generating backing datasource BlockGeneratorResult for link ${linkApiName}...`,\n );\n return generateBackingDatasetBlockResultForLink(\n linkTypeBlockData,\n linkApiName,\n ontologyIr.ontology.objectTypes,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n outputFolders.get(\n ReadableIdGenerator.getForLinkType(\n cleanAndValidateLinkTypeId(linkApiName),\n ),\n ),\n );\n })\n .filter((p): p is Promise<BlockGeneratorResult> => p !== undefined),\n );\n\n const backingMediaSetGeneratorResults = await Promise.all(\n backingMediaSetNames.map((mediaSetName) => {\n consola.info(\n `Generating backing Media Set BlockGeneratorResult for ${mediaSetName}...`,\n );\n return generateBackingMediaSetBlockResult(\n mediaSetName,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n );\n }),\n );\n\n // Create BlockGeneratorResult\n const blockGeneratorResult: BlockGeneratorResult = {\n block_identifier: \"ontology\",\n block_data_directory: blockDataDir,\n oci_block_data_metadata: undefined,\n maven_block_data_metadata: undefined,\n inputs: Object.fromEntries(shapes.inputShapes),\n input_presets: Object.fromEntries(importedInputPresets),\n outputs: Object.fromEntries(shapes.outputShapes),\n input_mapping_entries: ontologyInputMappingEntries,\n external_recommendations: getExternalRecommendations(\n ontologyIr.importedOntology,\n producedValueTypes,\n importedTypes,\n shapes.inputShapes,\n ),\n add_on_override: blockDataAddOn,\n input_shape_metadata: Object.fromEntries(shapes.inputShapeMetadata),\n block_type: \"ONTOLOGY\",\n };\n\n // Write BlockGeneratorResult to output file\n const blockGeneratorResultJson = JSON.stringify(\n [\n blockGeneratorResult,\n ...folderResults,\n ...directDatasourceGeneratorResults,\n ...backingDsGeneratorResults,\n ...backingDsLinkGeneratorResults,\n ...backingMediaSetGeneratorResults,\n ...valueTypeResults,\n ],\n null,\n 2,\n );\n await fs.promises.writeFile(commandLineOpts.output, blockGeneratorResultJson);\n consola.success(`BlockGeneratorResult written to ${commandLineOpts.output}`);\n consola.info(`Block data directory: ${blockDataDir}`);\n\n if (valueTypeResults.length > 0) {\n const valueTypeResultsJson = JSON.stringify(valueTypeResults, null, 2);\n await fs.promises.writeFile(\n commandLineOpts.valueTypesOutput,\n valueTypeResultsJson,\n );\n consola.success(\n `Value type BlockGeneratorResult written to ${commandLineOpts.valueTypesOutput}`,\n );\n }\n}\n\nfunction logLevelFor(verbosity: number): LogLevel {\n if (verbosity === 0) return LogLevels.info;\n if (verbosity === 1) return LogLevels.debug;\n return LogLevels.trace;\n}\n\nasync function loadOntology(\n input: string,\n apiNamespace: string,\n outputDir: string | undefined,\n dependencyFile: string | undefined,\n functionsIrFile: string | undefined,\n randomnessKey: string | undefined,\n importedLinkTypeIdsByApiName: LinkTypeIdsByApiName | undefined,\n externalImportedMetadata: ExternalImportedOntologyMetadata | undefined,\n packagingOptions: OntologyPackagingOptions,\n beforeWrite: (ontology: OntologyDefinition) => Promise<void>,\n) {\n const result = await defineOntologyV2(\n apiNamespace,\n async () => await import(pathToFileURL(input).href),\n outputDir,\n dependencyFile,\n functionsIrFile,\n randomnessKey,\n importedLinkTypeIdsByApiName,\n externalImportedMetadata,\n packagingOptions,\n beforeWrite,\n );\n return result;\n}\n\nfunction getImportedLinkTypeIdsByApiName(\n metadata: ExternalImportedOntologyMetadata,\n): LinkTypeIdsByApiName {\n const result: Record<string, string> = {};\n for (const objectType of Object.values(metadata.objectTypes)) {\n for (const linkType of objectType.linkTypes) {\n const linkTypeId = metadata.linkTypeIdsByRid?.[linkType.linkTypeRid];\n if (linkTypeId !== undefined) {\n result[cleanAndValidateLinkTypeId(linkType.apiName)] = linkTypeId;\n }\n }\n }\n return result;\n}\n\n/**\n * Find an ObjectTypeBlockDataV2 by apiName within the ontology block data.\n */\nfunction findObjectTypeByApiName(\n objectTypes: Record<string, ObjectTypeBlockDataV2>,\n apiName: string,\n): ObjectTypeBlockDataV2 | undefined {\n return Object.values(objectTypes).find(\n (objectTypeBlockData) => objectTypeBlockData.objectType.apiName === apiName,\n );\n}\n\n/**\n * Find a LinkTypeBlockDataV2 by apiName within the ontology block data.\n */\nfunction findLinkTypeByApiName(\n linkTypes: Record<string, LinkTypeBlockDataV2>,\n apiName: string,\n): LinkTypeBlockDataV2 | undefined {\n const linkTypeId = cleanAndValidateLinkTypeId(apiName);\n return Object.values(linkTypes).find((lt) => lt.linkType.id === linkTypeId);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"main.js","names":["fs","path","pathToFileURL","OntologyBlockDataToFullMetadataConverter","OntologyIrToFullMetadataConverter","PreviewOntologyIrConverter","cleanAndValidateLinkTypeId","DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME","reconcileOntologySchemaLockfile","consola","LogLevels","invariant","yargs","hideBin","defineOntologyV2","getExternalRecommendations","generateFolderBlockResults","ReadableIdGenerator","generateBackingDatasetBlockResult","generateBackingDatasetBlockResultForLink","getBackingDatasetProperties","generateBackingMediaSetBlockResult","generateDirectDatasourceBlockResult","generateValueTypeBlockResults","getValueTypeInternalMappings","apiNamespaceRegex","uuidRegex","main","args","process","argv","log","commandLineOpts","version","wrap","Math","min","terminalWidth","strict","help","options","input","alias","describe","type","default","coerce","resolve","output","valueTypesOutput","apiNamespace","targetEnvironment","choices","buildDir","codegenDir","temporaryBlockDataFile","functionsDir","nodeModulesDir","functionsIrOutputFile","randomnessKey","lockfile","writeLocks","yes","verbose","count","middleware","level","logLevelFor","implies","fail","msg","err","usage","showHelp","Error","parseAsync","length","slice","env","NODE_ENV","test","info","undefined","lockfilePath","join","dirname","externalImportedMetadata","importJson","existsSync","JSON","parse","promises","readFile","functionsIrFile","fileContent","blockDataJson","error","exit","previewMetadata","getPreviewFullMetadataFromBlockData","discoverTypeScriptFunctions","dependencyFile","mkdir","recursive","importedLinkTypeIdsByApiName","getImportedLinkTypeIdsByApiName","ontologyIr","importedTypes","shapes","blockDataAddOn","importedInputPresets","backingDatasourceApiNames","backingDatasourceLinkApiNames","backingMediaSetNames","folders","loadOntology","ontology","assumeYes","blockDataDir","ontologyJsonPath","ontologyJson","stringify","writeFile","importedMetadata","getFullMetadataFromBlockData","importedOntology","transitiveImportedOntology","directlyImportedInterfaceTypes","Object","values","interfaceTypes","map","interfaceType","apiName","importedMetadataPath","folderResults","outputFolders","Map","flatMap","folder","outputIds","outputId","valueTypeResults","valueTypes","directDatasourceGeneratorResults","Promise","all","objectTypes","objectType","filter","result","ontologyInputMappingEntries","inputMappings","objectTypeBlockData","findObjectTypeByApiName","backingProperties","inputDatasetReadableId","getForDataset","outputDatasetReadableId","getForDatasetOutput","inputShapes","has","push","prop","colInputReadableId","getForDatasetColumn","getForDatasetColumnOutput","linkApiName","linkTypeBlockData","findLinkTypeByApiName","linkTypes","datasetName","inputDsId","outputDsId","ds","datasources","datasource","columnNames","dataset","objectTypeAPrimaryKeyMapping","String","objectTypeBPrimaryKeyMapping","colName","colInputId","colOutputId","mediaSetName","inputReadableId","getForMediaSetView","getForMediaSetViewOutput","producedValueTypes","blockData","backingDsGeneratorResults","get","getForObjectType","backingDsLinkGeneratorResults","getForLinkType","p","backingMediaSetGeneratorResults","blockGeneratorResult","block_identifier","block_data_directory","oci_block_data_metadata","maven_block_data_metadata","inputs","fromEntries","input_presets","outputs","outputShapes","input_mapping_entries","external_recommendations","add_on_override","input_shape_metadata","inputShapeMetadata","block_type","blockGeneratorResultJson","success","valueTypeResultsJson","verbosity","debug","trace","outputDir","packagingOptions","beforeWrite","href","metadata","linkType","linkTypeId","linkTypeIdsByRid","linkTypeRid","find","lt","id"],"sources":["main.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\n\nimport type {\n LinkTypeBlockDataV2,\n ObjectTypeBlockDataV2,\n} from \"@osdk/client.unstable\";\nimport {\n OntologyBlockDataToFullMetadataConverter,\n OntologyIrToFullMetadataConverter,\n} from \"@osdk/generator-converters.ontologyir\";\nimport { PreviewOntologyIrConverter } from \"@osdk/generator-converters.preview\";\nimport type { OntologyDefinition } from \"@osdk/maker\";\nimport {\n cleanAndValidateLinkTypeId,\n DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME,\n reconcileOntologySchemaLockfile,\n} from \"@osdk/maker\";\nimport type { LogLevel } from \"consola\";\nimport { consola, LogLevels } from \"consola\";\nimport invariant from \"tiny-invariant\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport {\n defineOntologyV2,\n type OntologyPackagingOptions,\n} from \"../api/defineOntologyV2.js\";\nimport { getExternalRecommendations } from \"../conversion/toMarketplace/RecommendationUtils.js\";\nimport type {\n ExternalImportedOntologyMetadata,\n LinkTypeIdsByApiName,\n} from \"../conversion/toMarketplace/shapeExtractors/ImportedShapeExtractor.js\";\nimport { generateFolderBlockResults } from \"../util/foldersUtil.js\";\nimport { ReadableIdGenerator } from \"../util/generateRid.js\";\nimport {\n generateBackingDatasetBlockResult,\n generateBackingDatasetBlockResultForLink,\n getBackingDatasetProperties,\n} from \"./generateBackingDataset.js\";\nimport { generateBackingMediaSetBlockResult } from \"./generateBackingMediaSet.js\";\nimport { generateDirectDatasourceBlockResult } from \"./generateDirectDatasource.js\";\nimport {\n generateValueTypeBlockResults,\n getValueTypeInternalMappings,\n} from \"./generateValueTypeBlockResults.js\";\nimport type { BlockGeneratorResult } from \"./marketplaceSerialization/BlockGeneratorResult.js\";\nimport type { InputMappingEntry } from \"./marketplaceSerialization/supportingTypes.js\";\n\nconst apiNamespaceRegex = /^[a-z0-9-]+(\\.[a-z0-9-]+)*\\.$/u;\nconst uuidRegex =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;\n\nexport default async function main(\n args: string[] = process.argv,\n): Promise<void> {\n consola.log(\"Generating BlockGeneratorResult for ontology...\");\n\n const commandLineOpts: {\n input: string;\n output: string;\n valueTypesOutput: string;\n apiNamespace: string;\n buildDir: string;\n codegenDir?: string;\n temporaryBlockDataFile?: string;\n functionsDir?: string;\n nodeModulesDir?: string;\n functionsIrOutputFile?: string;\n randomnessKey?: string;\n importJson?: string;\n targetEnvironment: \"CLOUD\" | \"EDGE\";\n lockfile?: string;\n writeLocks?: boolean;\n yes?: boolean;\n verbose: number;\n } = await yargs(hideBin(args))\n .version(process.env.PACKAGE_VERSION ?? \"\")\n .wrap(Math.min(150, yargs().terminalWidth()))\n .strict()\n .help()\n .options({\n input: {\n alias: \"i\",\n describe: \"Input file\",\n type: \"string\",\n default: \".ontology/ontology.ts\",\n coerce: path.resolve,\n },\n output: {\n alias: \"o\",\n describe: \"Output file for ontology BlockGeneratorResult JSON\",\n type: \"string\",\n default: \"build/block_generator_result.json\",\n coerce: path.resolve,\n },\n valueTypesOutput: {\n describe: \"Output file for value types BlockGeneratorResult JSON\",\n type: \"string\",\n default: \"build/value_types_block_generator_result.json\",\n coerce: path.resolve,\n },\n apiNamespace: {\n describe: \"Api name prefix for namespaced ontology types\",\n type: \"string\",\n default: \"\",\n },\n targetEnvironment: {\n describe: \"Package for CLOUD, or for both cloud and edge with EDGE\",\n choices: [\"CLOUD\", \"EDGE\"] as const,\n default: \"CLOUD\" as const,\n },\n buildDir: {\n alias: \"b\",\n describe: \"Directory for build files\",\n type: \"string\",\n default: \"build/\",\n coerce: path.resolve,\n },\n codegenDir: {\n alias: \"c\",\n describe:\n \"Output directory for generated TypeScript files (defaults to the parent of the input file's directory)\",\n type: \"string\",\n coerce: path.resolve,\n },\n temporaryBlockDataFile: {\n alias: \"f\",\n describe:\n \"Path to a previously generated block data file. Supplying this field indicates that function backed actions should be generated\",\n type: \"string\",\n coerce: path.resolve,\n },\n functionsDir: {\n type: \"string\",\n coerce: path.resolve,\n },\n nodeModulesDir: {\n type: \"string\",\n coerce: path.resolve,\n },\n functionsIrOutputFile: {\n type: \"string\",\n coerce: path.resolve,\n },\n randomnessKey: {\n describe: \"Value used to assure uniqueness of entities\",\n type: \"string\",\n },\n \"import-json\": {\n describe:\n \"Path to imported ontology metadata produced by 'foundry import ontology'\",\n type: \"string\",\n coerce: path.resolve,\n },\n lockfile: {\n describe: `Ontology schema lockfile path (default: ${DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME} beside --input)`,\n type: \"string\",\n // No `default`: it depends on --input, which `coerce` cannot see. Resolved after parsing.\n coerce: path.resolve,\n },\n writeLocks: {\n describe:\n \"Update the ontology schema lockfile instead of failing when it is out of date\",\n type: \"boolean\",\n // NB: no default since \"implied\" below\n },\n yes: {\n alias: \"y\",\n describe:\n \"Accept detected ontology schema migration finalizations/deletions without prompting\",\n type: \"boolean\",\n // NB: no default since \"implied\" below\n },\n verbose: {\n alias: \"v\",\n describe:\n \"Enable verbose logging: -v for debug, including stack traces on failure, -vv for trace\",\n type: \"boolean\",\n count: true,\n },\n })\n .middleware(({ verbose }) => {\n consola.level = logLevelFor(verbose);\n }, true)\n // --yes only answers the prompt that --write-locks can raise, so on its own it does nothing.\n .implies(\"yes\", \"writeLocks\")\n // Without this, the usage error that `implies` raises calls `process.exit` from inside the\n // library, which takes the whole host process with it.\n .fail((msg, err, usage) => {\n if (err) {\n throw err;\n }\n\n // Registering a failure handler suppresses yargs' showHelpOnFail behavior, so reinstate it.\n usage.showHelp(\"error\");\n throw new Error(msg);\n })\n .parseAsync();\n\n let apiNamespace = \"\";\n if (commandLineOpts.apiNamespace.length !== 0) {\n apiNamespace =\n commandLineOpts.apiNamespace.slice(-1) !== \".\"\n ? commandLineOpts.apiNamespace + \".\"\n : commandLineOpts.apiNamespace;\n invariant(apiNamespace.length < 1024, \"API namespace is too long.\");\n invariant(\n apiNamespaceRegex.test(apiNamespace),\n \"API namespace is invalid! It is expected to conform to ^[a-z0-9-]+(\\.[a-z0-9-]+)*\\.$\",\n );\n }\n consola.info(`Loading ontology from ${commandLineOpts.input}`);\n\n if (commandLineOpts.randomnessKey !== undefined) {\n invariant(\n uuidRegex.test(commandLineOpts.randomnessKey),\n \"Supplied randomness key is not a uuid and shouldn't be used as a uniqueness guarantee\",\n );\n }\n\n const lockfilePath =\n commandLineOpts.lockfile ??\n path.join(\n path.dirname(commandLineOpts.input),\n DEFAULT_ONTOLOGY_SCHEMA_LOCKFILE_NAME,\n );\n\n const externalImportedMetadata =\n commandLineOpts.importJson && fs.existsSync(commandLineOpts.importJson)\n ? (JSON.parse(\n await fs.promises.readFile(commandLineOpts.importJson, \"utf-8\"),\n ) as ExternalImportedOntologyMetadata)\n : undefined;\n\n let functionsIrFile;\n if (commandLineOpts.temporaryBlockDataFile) {\n consola.info(\n `Loading temporary block data from ${commandLineOpts.temporaryBlockDataFile}`,\n );\n const fileContent = await fs.promises.readFile(\n commandLineOpts.temporaryBlockDataFile,\n \"utf-8\",\n );\n let blockDataJson: unknown;\n try {\n blockDataJson = JSON.parse(fileContent);\n } catch {\n consola.error(\n `Failed to parse JSON from ${commandLineOpts.temporaryBlockDataFile}`,\n );\n process.exit(1);\n }\n const previewMetadata =\n PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData(\n blockDataJson as Parameters<\n typeof PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData\n >[0],\n externalImportedMetadata,\n );\n invariant(\n commandLineOpts.functionsDir && commandLineOpts.nodeModulesDir,\n \"functionsDir and nodeModulesDir must be supplied when using temporaryBlockDataFile\",\n );\n await OntologyIrToFullMetadataConverter.discoverTypeScriptFunctions(\n commandLineOpts.functionsDir,\n commandLineOpts.nodeModulesDir,\n commandLineOpts.functionsIrOutputFile,\n previewMetadata,\n );\n functionsIrFile = commandLineOpts.functionsIrOutputFile;\n consola.info(\n `Discovered functions during block data generation at ${commandLineOpts.functionsIrOutputFile}`,\n );\n }\n\n // Default the codegen output directory to the parent of the input file's directory.\n const codegenDir =\n commandLineOpts.codegenDir ??\n path.dirname(path.dirname(commandLineOpts.input));\n\n const dependencyFile = path.join(\n commandLineOpts.buildDir,\n \"dependencies.json\",\n );\n if (!fs.existsSync(dependencyFile)) {\n await fs.promises.mkdir(commandLineOpts.buildDir, { recursive: true });\n }\n\n const importedLinkTypeIdsByApiName = externalImportedMetadata\n ? getImportedLinkTypeIdsByApiName(externalImportedMetadata)\n : undefined;\n\n const {\n ontologyIr,\n importedTypes,\n shapes,\n blockDataAddOn,\n importedInputPresets,\n backingDatasourceApiNames,\n backingDatasourceLinkApiNames,\n backingMediaSetNames,\n folders,\n } = await loadOntology(\n commandLineOpts.input,\n apiNamespace,\n codegenDir,\n dependencyFile,\n functionsIrFile,\n commandLineOpts.randomnessKey,\n importedLinkTypeIdsByApiName,\n externalImportedMetadata,\n { targetEnvironment: commandLineOpts.targetEnvironment },\n // An ontology that fails lockfile checks would fail at installation-time, so its block data\n // should never reach disk at all.\n (ontology) =>\n reconcileOntologySchemaLockfile({\n ontology,\n lockfilePath,\n writeLocks: commandLineOpts.writeLocks ?? false,\n assumeYes: commandLineOpts.yes ?? false,\n }),\n );\n\n // Create temp directory for block data\n const blockDataDir = path.join(commandLineOpts.buildDir, \"temp_block_data\");\n if (!fs.existsSync(blockDataDir)) {\n await fs.promises.mkdir(blockDataDir, { recursive: true });\n }\n\n // Write ontology.json to the block data directory\n const ontologyJsonPath = path.join(blockDataDir, \"ontology.json\");\n const ontologyJson = JSON.stringify(ontologyIr.ontology, null, 2);\n await fs.promises.writeFile(ontologyJsonPath, ontologyJson);\n consola.info(`Wrote ontology.json to ${ontologyJsonPath}`);\n\n const importedMetadata =\n OntologyBlockDataToFullMetadataConverter.getFullMetadataFromBlockData(\n ontologyIr.importedOntology,\n undefined,\n ontologyIr.transitiveImportedOntology,\n );\n const directlyImportedInterfaceTypes = Object.values(\n ontologyIr.importedOntology.interfaceTypes,\n ).map(({ interfaceType }) => interfaceType.apiName);\n const importedMetadataPath = path.join(\n commandLineOpts.buildDir,\n \"oac-imported-metadata.json\",\n );\n await fs.promises.writeFile(\n importedMetadataPath,\n JSON.stringify(\n { ...importedMetadata, directlyImportedInterfaceTypes },\n null,\n 2,\n ),\n );\n consola.info(`Wrote oac-imported-metadata.json to ${importedMetadataPath}`);\n\n const folderResults = await generateFolderBlockResults(\n folders,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n );\n const outputFolders = new Map(\n folders.flatMap((folder) =>\n folder.outputIds.map((outputId) => [outputId, folder] as const),\n ),\n );\n\n let valueTypeResults: BlockGeneratorResult[] = [];\n if (ontologyIr.valueTypes.length > 0) {\n valueTypeResults = await generateValueTypeBlockResults(\n ontologyIr.valueTypes,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n );\n }\n\n const directDatasourceGeneratorResults = (\n await Promise.all(\n Object.values(ontologyIr.ontology.objectTypes).map((objectType) =>\n generateDirectDatasourceBlockResult(\n objectType,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n ),\n ),\n )\n ).filter((result): result is BlockGeneratorResult => result !== undefined);\n\n // Collect input_mapping_entries for the ontology block\n // These map ontology inputs to datasource block outputs for objects with includeEmptyBackingDatasource\n const ontologyInputMappingEntries: InputMappingEntry[] = shapes.inputMappings;\n\n for (const apiName of backingDatasourceApiNames) {\n const objectTypeBlockData = findObjectTypeByApiName(\n ontologyIr.ontology.objectTypes,\n apiName,\n );\n if (!objectTypeBlockData) continue;\n\n const backingProperties = getBackingDatasetProperties(objectTypeBlockData);\n\n // The ontology block has inputs with these readable IDs (from shape extraction)\n // Map them to the datasource block's outputs (which use the same readable IDs)\n const inputDatasetReadableId = ReadableIdGenerator.getForDataset(apiName);\n const outputDatasetReadableId =\n ReadableIdGenerator.getForDatasetOutput(apiName);\n if (shapes.inputShapes.has(inputDatasetReadableId)) {\n ontologyInputMappingEntries.push({\n input: inputDatasetReadableId,\n output: outputDatasetReadableId,\n });\n }\n\n for (const prop of backingProperties) {\n const colInputReadableId = ReadableIdGenerator.getForDatasetColumn(\n apiName,\n prop.apiName!,\n );\n const getForDatasetColumnOutput =\n ReadableIdGenerator.getForDatasetColumnOutput(apiName, prop.apiName!);\n if (shapes.inputShapes.has(colInputReadableId)) {\n ontologyInputMappingEntries.push({\n input: colInputReadableId,\n output: getForDatasetColumnOutput,\n });\n }\n }\n }\n\n // Collect input_mapping_entries for link types with includeEmptyBackingDatasource\n for (const linkApiName of backingDatasourceLinkApiNames) {\n const linkTypeBlockData = findLinkTypeByApiName(\n ontologyIr.ontology.linkTypes,\n linkApiName,\n );\n if (!linkTypeBlockData) continue;\n\n const datasetName = `link.${linkApiName}`;\n\n // Map tabularDatasource\n const inputDsId = ReadableIdGenerator.getForDataset(datasetName);\n const outputDsId = ReadableIdGenerator.getForDatasetOutput(datasetName);\n if (shapes.inputShapes.has(inputDsId)) {\n ontologyInputMappingEntries.push({\n input: inputDsId,\n output: outputDsId,\n });\n }\n\n // Map columns from the datasource\n const ds = linkTypeBlockData.datasources[0]?.datasource;\n if (ds?.type === \"dataset\") {\n const columnNames = [\n ...Object.values(ds.dataset.objectTypeAPrimaryKeyMapping).map(String),\n ...Object.values(ds.dataset.objectTypeBPrimaryKeyMapping).map(String),\n ];\n for (const colName of columnNames) {\n const colInputId = ReadableIdGenerator.getForDatasetColumn(\n datasetName,\n colName,\n );\n const colOutputId = ReadableIdGenerator.getForDatasetColumnOutput(\n datasetName,\n colName,\n );\n if (shapes.inputShapes.has(colInputId)) {\n ontologyInputMappingEntries.push({\n input: colInputId,\n output: colOutputId,\n });\n }\n }\n }\n }\n\n for (const mediaSetName of backingMediaSetNames) {\n const inputReadableId =\n ReadableIdGenerator.getForMediaSetView(mediaSetName);\n if (shapes.inputShapes.has(inputReadableId)) {\n ontologyInputMappingEntries.push({\n input: inputReadableId,\n output: ReadableIdGenerator.getForMediaSetViewOutput(mediaSetName),\n });\n }\n }\n\n const producedValueTypes = ontologyIr.valueTypes.map(\n ({ blockData }) => blockData,\n );\n ontologyInputMappingEntries.push(\n ...getValueTypeInternalMappings(producedValueTypes, shapes.inputShapes),\n );\n\n // Generate backing datasource BlockGeneratorResults for objects with includeEmptyBackingDatasource\n const backingDsGeneratorResults = await Promise.all(\n backingDatasourceApiNames\n .filter((apiName) => {\n const objectTypeBlockData = findObjectTypeByApiName(\n ontologyIr.ontology.objectTypes,\n apiName,\n );\n return objectTypeBlockData !== undefined;\n })\n .map(async (apiName) => {\n const objectTypeBlockData = findObjectTypeByApiName(\n ontologyIr.ontology.objectTypes,\n apiName,\n );\n consola.info(\n `Generating backing datasource BlockGeneratorResult for ${apiName}...`,\n );\n\n return await generateBackingDatasetBlockResult(\n objectTypeBlockData!,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n outputFolders.get(ReadableIdGenerator.getForObjectType(apiName)),\n );\n }),\n );\n\n // Generate backing datasource BlockGeneratorResults for link types with includeEmptyBackingDatasource\n const backingDsLinkGeneratorResults = await Promise.all(\n backingDatasourceLinkApiNames\n .map((linkApiName) => {\n const linkTypeBlockData = findLinkTypeByApiName(\n ontologyIr.ontology.linkTypes,\n linkApiName,\n );\n if (!linkTypeBlockData) return undefined;\n consola.info(\n `Generating backing datasource BlockGeneratorResult for link ${linkApiName}...`,\n );\n return generateBackingDatasetBlockResultForLink(\n linkTypeBlockData,\n linkApiName,\n ontologyIr.ontology.objectTypes,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n outputFolders.get(\n ReadableIdGenerator.getForLinkType(\n cleanAndValidateLinkTypeId(linkApiName),\n ),\n ),\n );\n })\n .filter((p): p is Promise<BlockGeneratorResult> => p !== undefined),\n );\n\n const backingMediaSetGeneratorResults = await Promise.all(\n backingMediaSetNames.map((mediaSetName) => {\n consola.info(\n `Generating backing Media Set BlockGeneratorResult for ${mediaSetName}...`,\n );\n return generateBackingMediaSetBlockResult(\n mediaSetName,\n commandLineOpts.buildDir,\n commandLineOpts.randomnessKey,\n );\n }),\n );\n\n // Create BlockGeneratorResult\n const blockGeneratorResult: BlockGeneratorResult = {\n block_identifier: \"ontology\",\n block_data_directory: blockDataDir,\n oci_block_data_metadata: undefined,\n maven_block_data_metadata: undefined,\n inputs: Object.fromEntries(shapes.inputShapes),\n input_presets: Object.fromEntries(importedInputPresets),\n outputs: Object.fromEntries(shapes.outputShapes),\n input_mapping_entries: ontologyInputMappingEntries,\n external_recommendations: getExternalRecommendations(\n ontologyIr.importedOntology,\n producedValueTypes,\n importedTypes,\n shapes.inputShapes,\n ),\n add_on_override: blockDataAddOn,\n input_shape_metadata: Object.fromEntries(shapes.inputShapeMetadata),\n block_type: \"ONTOLOGY\",\n };\n\n // Write BlockGeneratorResult to output file\n const blockGeneratorResultJson = JSON.stringify(\n [\n blockGeneratorResult,\n ...folderResults,\n ...directDatasourceGeneratorResults,\n ...backingDsGeneratorResults,\n ...backingDsLinkGeneratorResults,\n ...backingMediaSetGeneratorResults,\n ...valueTypeResults,\n ],\n null,\n 2,\n );\n await fs.promises.writeFile(commandLineOpts.output, blockGeneratorResultJson);\n consola.success(`BlockGeneratorResult written to ${commandLineOpts.output}`);\n consola.info(`Block data directory: ${blockDataDir}`);\n\n if (valueTypeResults.length > 0) {\n const valueTypeResultsJson = JSON.stringify(valueTypeResults, null, 2);\n await fs.promises.writeFile(\n commandLineOpts.valueTypesOutput,\n valueTypeResultsJson,\n );\n consola.success(\n `Value type BlockGeneratorResult written to ${commandLineOpts.valueTypesOutput}`,\n );\n }\n}\n\nfunction logLevelFor(verbosity: number): LogLevel {\n if (verbosity === 0) return LogLevels.info;\n if (verbosity === 1) return LogLevels.debug;\n return LogLevels.trace;\n}\n\nasync function loadOntology(\n input: string,\n apiNamespace: string,\n outputDir: string | undefined,\n dependencyFile: string | undefined,\n functionsIrFile: string | undefined,\n randomnessKey: string | undefined,\n importedLinkTypeIdsByApiName: LinkTypeIdsByApiName | undefined,\n externalImportedMetadata: ExternalImportedOntologyMetadata | undefined,\n packagingOptions: OntologyPackagingOptions,\n beforeWrite: (ontology: OntologyDefinition) => Promise<void>,\n) {\n const result = await defineOntologyV2(\n apiNamespace,\n async () => await import(pathToFileURL(input).href),\n outputDir,\n dependencyFile,\n functionsIrFile,\n randomnessKey,\n importedLinkTypeIdsByApiName,\n externalImportedMetadata,\n packagingOptions,\n beforeWrite,\n );\n return result;\n}\n\nfunction getImportedLinkTypeIdsByApiName(\n metadata: ExternalImportedOntologyMetadata,\n): LinkTypeIdsByApiName {\n const result: Record<string, string> = {};\n for (const objectType of Object.values(metadata.objectTypes)) {\n for (const linkType of objectType.linkTypes) {\n const linkTypeId = metadata.linkTypeIdsByRid?.[linkType.linkTypeRid];\n if (linkTypeId !== undefined) {\n result[cleanAndValidateLinkTypeId(linkType.apiName)] = linkTypeId;\n }\n }\n }\n return result;\n}\n\n/**\n * Find an ObjectTypeBlockDataV2 by apiName within the ontology block data.\n */\nfunction findObjectTypeByApiName(\n objectTypes: Record<string, ObjectTypeBlockDataV2>,\n apiName: string,\n): ObjectTypeBlockDataV2 | undefined {\n return Object.values(objectTypes).find(\n (objectTypeBlockData) => objectTypeBlockData.objectType.apiName === apiName,\n );\n}\n\n/**\n * Find a LinkTypeBlockDataV2 by apiName within the ontology block data.\n */\nfunction findLinkTypeByApiName(\n linkTypes: Record<string, LinkTypeBlockDataV2>,\n apiName: string,\n): LinkTypeBlockDataV2 | undefined {\n const linkTypeId = cleanAndValidateLinkTypeId(apiName);\n return Object.values(linkTypes).find((lt) => lt.linkType.id === linkTypeId);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7374,7 +7374,7 @@ var apiNamespaceRegex = /^[a-z0-9-]+(\.[a-z0-9-]+)*\.$/u;
7374
7374
  var uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;
7375
7375
  async function main(args = process.argv) {
7376
7376
  consola.consola.log("Generating BlockGeneratorResult for ontology...");
7377
- const commandLineOpts = await yargs__default.default(helpers.hideBin(args)).version("0.82.0-main-1fd9dc45c62080a4e08f07409af63a8565eb85b4").wrap(Math.min(150, yargs__default.default().terminalWidth())).strict().help().options({
7377
+ const commandLineOpts = await yargs__default.default(helpers.hideBin(args)).version("0.82.0").wrap(Math.min(150, yargs__default.default().terminalWidth())).strict().help().options({
7378
7378
  input: {
7379
7379
  alias: "i",
7380
7380
  describe: "Input file",