@osdk/generator-converters.preview 0.48.0 → 0.49.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,5 +1,18 @@
|
|
|
1
1
|
# @osdk/generator-converters.preview
|
|
2
2
|
|
|
3
|
+
## 0.49.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 528d0ca: Add support for generating and executing query functions using semantic version ranges on ontology branches.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [528d0ca]
|
|
12
|
+
- @osdk/generator@2.71.0
|
|
13
|
+
- @osdk/client.unstable@2.71.0
|
|
14
|
+
- @osdk/generator-converters.ontologyir@2.71.0
|
|
15
|
+
|
|
3
16
|
## 0.48.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
|
@@ -250,7 +250,7 @@ async function main() {
|
|
|
250
250
|
async readdir(dirPath) {
|
|
251
251
|
return fs.readdir(dirPath);
|
|
252
252
|
}
|
|
253
|
-
}, fullOutputDir, "module", new Map(), new Map(), new Map(), false, [], true);
|
|
253
|
+
}, fullOutputDir, "module", new Map(), new Map(), new Map(), false, [], true, new Map());
|
|
254
254
|
|
|
255
255
|
// Write package.json for module resolution. Points to compiled output in
|
|
256
256
|
// dist/ so that TypeScript function discovery can resolve types from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-sdk.js","names":["spawnSync","fsSync","fs","os","path","generateClientSdkVersionTwoPointZero","getTsCompilerOptions","ONTOLOGY_METADATA_DCTS_PATH","ONTOLOGY_METADATA_DMTS_PATH","ONTOLOGY_METADATA_JSON_PATH","OntologyIrToFullMetadataConverter","consola","yargs","hideBin","PreviewOntologyIrConverter","loadSdkInput","PYTHON_SDK_PACKAGE_NAME","generatePythonSdk","previewMetadata","pythonBinary","pythonMetadata","actionTypes","Object","fromEntries","entries","map","key","fullMeta","actionType","globalFunctions","queryTypes","valueTypes","objectTypes","keys","length","info","ontologyApiName","ontology","apiName","siteResult","encoding","status","stdout","trim","warn","stderr","error","sitePackages","tmpDir","mkdtempSync","join","tmpdir","tmpMetadata","writeFileSync","JSON","stringify","packageName","genResult","stdio","rmSync","recursive","force","generatedPackage","destPackage","cpSync","main","argv","process","strict","help","version","usage","options","input","describe","type","coerce","resolve","demandOption","parse","packageVersion","outputDir","blockResultsInput","importJson","readFile","undefined","getPreviewFullMetadataFromBlockData","pythonFunctionsDir","functionsDir","exit","effectivePythonRootDir","pythonRootProjectDir","dirname","getOsdkQueryTypes","nodeModulesPath","functionsIrOutputFile","functionNames","metadata","fullOutputDir","mkdir","existingEntries","readdir","entry","rm","writeFile","filePath","contents","normalized","replaceAll","fullPath","isAbsolute","dirPath","Map","name","types","exports","import","default","require","scripts","build","dependencies","devDependencies","typescript","previewTsconfig","compilerOptions","importHelpers","outDir","rootDir","declarationMap","sourceMap","moduleResolution","module","resolveJsonModule","allowSyntheticDefaultImports","include","exclude","metadataPath","pythonMetadataPath","functionsProjectRoot","runtimeMetadataDir","runtimeMetadataPath","ontologyRid","rid","objectTypeMetadata","objData","objType","objectType","propertyTypeMetadata","properties","propApiName","propDef","propertyTypeApiName","dataType","linkTypeMetadata","linkTypes","lt","linkTypeId","linkTypeRid","objectTypeApiName","primaryKeyPropertyTypeId","primaryKey","interfaceTypeMetadata","magritteSourceMetadata","e","success","catch","err","Error","message"],"sources":["generate-sdk.ts"],"sourcesContent":["#!/usr/bin/env node\n/*\n * Copyright 2026 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 { spawnSync } from \"node:child_process\";\nimport * as fsSync from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nimport {\n generateClientSdkVersionTwoPointZero,\n getTsCompilerOptions,\n ONTOLOGY_METADATA_DCTS_PATH,\n ONTOLOGY_METADATA_DMTS_PATH,\n ONTOLOGY_METADATA_JSON_PATH,\n} from \"@osdk/generator\";\nimport { OntologyIrToFullMetadataConverter } from \"@osdk/generator-converters.ontologyir\";\nimport { consola } from \"consola\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport { PreviewOntologyIrConverter } from \"../PreviewOntologyIrConverter.js\";\nimport { loadSdkInput } from \"./loadSdkInput.js\";\n\nconst PYTHON_SDK_PACKAGE_NAME = \"ontology_sdk\";\n\n/**\n * Generates the Python SDK package into the conda environment's site-packages\n * so that Python function discovery can resolve ontology type imports.\n */\nfunction generatePythonSdk(\n previewMetadata: ReturnType<\n typeof PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData\n >,\n pythonBinary: string,\n): void {\n // Build the Python-compatible metadata: unwrap actionTypes and add globalFunctions\n const pythonMetadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n globalFunctions: { queryTypes: {}, valueTypes: {} },\n };\n\n const objectTypes = Object.keys(previewMetadata.objectTypes ?? {});\n if (objectTypes.length === 0) {\n consola.info(\"No object types found, skipping Python SDK generation.\");\n return;\n }\n\n const ontologyApiName = previewMetadata.ontology?.apiName ?? \"ontology\";\n\n // Discover site-packages from the conda environment\n const siteResult = spawnSync(\n pythonBinary,\n [\"-c\", \"import site; print(site.getsitepackages()[0])\"],\n { encoding: \"utf-8\" },\n );\n if (siteResult.status !== 0 || !siteResult.stdout?.trim()) {\n consola.warn(\n `Could not discover Python site-packages: ${\n siteResult.stderr || siteResult.error\n }`,\n );\n return;\n }\n const sitePackages = siteResult.stdout.trim();\n consola.info(`Python site-packages: ${sitePackages}`);\n\n // Write metadata to a temp file for the generator\n const tmpDir = fsSync.mkdtempSync(path.join(os.tmpdir(), \"python-sdk-\"));\n const tmpMetadata = path.join(tmpDir, \"metadata.json\");\n fsSync.writeFileSync(\n tmpMetadata,\n JSON.stringify(pythonMetadata, null, 2),\n \"utf-8\",\n );\n\n // Run the Python SDK generator into the temp directory.\n // The generator creates <output-dir>/ontology_sdk/ which is a project\n // directory containing ontology_sdk/ (the actual Python package), setup.py, etc.\n consola.info(\"Generating Python SDK...\");\n const packageName = PYTHON_SDK_PACKAGE_NAME;\n const genResult = spawnSync(\n pythonBinary,\n [\n \"-m\",\n \"foundry_sdk_generator\",\n \"generate_package\",\n \"--output-dir\",\n tmpDir,\n \"--package-name\",\n packageName,\n \"--package-version\",\n \"0.0.0\",\n \"--ontology\",\n ontologyApiName,\n \"--object-types\",\n ...objectTypes,\n \"--cache-path\",\n tmpMetadata,\n \"--force\",\n ],\n { encoding: \"utf-8\", stdio: \"pipe\" },\n );\n\n if (genResult.status !== 0) {\n consola.warn(\n `Python SDK generation failed (non-fatal): ${\n genResult.stderr || genResult.stdout\n }`,\n );\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n return;\n }\n\n // The generator creates <tmpDir>/ontology_sdk/ontology_sdk/ (the importable\n // package). Copy just the inner package into site-packages so Python can\n // resolve `import ontology_sdk`.\n const generatedPackage = path.join(tmpDir, packageName, packageName);\n const destPackage = path.join(sitePackages, packageName);\n\n // Remove any previous version\n fsSync.rmSync(destPackage, { recursive: true, force: true });\n fsSync.cpSync(generatedPackage, destPackage, { recursive: true });\n\n // Clean up temp directory\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n\n consola.info(`Python SDK installed to ${destPackage}`);\n}\n\nasync function main(): Promise<void> {\n const argv = await yargs(hideBin(process.argv))\n .strict()\n .help()\n .version(false) // so that we can use --version argument for the package version\n .usage(\n \"$0 (--input <path> | --block-results-input <path>) --package-name <name> --version <ver> --output-dir <dir>\",\n )\n .options({\n input: {\n describe: \"Path to the OntologyIR JSON file\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"block-results-input\": {\n describe: \"Path to the block result JSON collection\",\n type: \"string\",\n coerce: (input: string) => path.resolve(input),\n },\n \"package-name\": {\n describe: \"Name for the generated SDK package\",\n type: \"string\",\n demandOption: true,\n },\n version: {\n describe: \"Version string for the generated SDK\",\n type: \"string\",\n demandOption: true,\n },\n \"output-dir\": {\n describe: \"Directory where the SDK will be generated\",\n type: \"string\",\n demandOption: true,\n coerce: path.resolve,\n },\n \"functions-dir\": {\n describe:\n \"Path to TypeScript functions source directory (enables TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"functions-ir-output-file\": {\n describe: \"Output file for discovered function IR\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"node-modules-path\": {\n describe:\n \"Path to node_modules containing @foundry packages (for TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-functions-dir\": {\n describe:\n \"Path to Python functions source directory (enables Python function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-root-project-dir\": {\n describe:\n \"Root project directory for Python functions (defaults to parent of python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-binary\": {\n describe:\n \"Path to Python binary (required when using --python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"import-json\": {\n describe:\n \"Path to the import JSON file (ontology-full-metadata.json) produced by 'foundry import ontology'. Imported entities are merged into the generated SDK.\",\n type: \"string\",\n coerce: path.resolve,\n },\n })\n .parse();\n\n const packageName = argv.packageName;\n const packageVersion = argv.version;\n const outputDir = argv.outputDir;\n\n const { ontology, valueTypes } = await loadSdkInput({\n input: argv.input,\n blockResultsInput: argv.blockResultsInput,\n });\n consola.info(`Converting ${argv.input ?? argv.blockResultsInput}...`);\n\n const importJson = argv.importJson\n ? JSON.parse(await fs.readFile(argv.importJson, \"utf-8\"))\n : undefined;\n\n const previewMetadata = PreviewOntologyIrConverter\n .getPreviewFullMetadataFromBlockData(\n ontology,\n importJson,\n valueTypes,\n );\n\n // Generate the Python SDK before function discovery so that Python functions\n // that import ontology types (e.g. `from ontology_sdk.ontology.objects import X`)\n // can be successfully parsed during discovery.\n if (argv.pythonBinary && argv.pythonFunctionsDir) {\n generatePythonSdk(previewMetadata, argv.pythonBinary);\n }\n\n // Function discovery is optional - only run if at least one functions flag is provided\n if (argv.functionsDir || argv.pythonFunctionsDir) {\n if (argv.pythonFunctionsDir && !argv.pythonBinary) {\n consola.error(\n \"--python-binary is required when using --python-functions-dir\",\n );\n process.exit(1);\n }\n\n const effectivePythonRootDir = argv.pythonRootProjectDir\n ?? (argv.pythonFunctionsDir\n ? path.dirname(argv.pythonFunctionsDir)\n : undefined);\n\n const queryTypes = await OntologyIrToFullMetadataConverter\n .getOsdkQueryTypes(\n argv.pythonBinary,\n argv.functionsDir,\n argv.nodeModulesPath,\n argv.pythonFunctionsDir,\n effectivePythonRootDir,\n argv.functionsIrOutputFile,\n previewMetadata,\n );\n\n const functionNames = Object.keys(queryTypes);\n if (functionNames.length > 0) {\n previewMetadata.queryTypes = queryTypes;\n consola.info(\n `Discovered ${functionNames.length} function(s): ${\n functionNames.join(\n \", \",\n )\n }`,\n );\n } else {\n consola.info(\"No functions discovered.\");\n }\n }\n\n // Convert ActionTypeFullMetadata to ActionTypeV2 for generator compatibility\n const metadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n };\n\n const fullOutputDir = path.join(outputDir, packageName);\n await fs.mkdir(fullOutputDir, { recursive: true });\n\n // Clean the output directory before generation. The generator's verifyOutDir\n // requires an empty directory, but a previous SDK build may exist from\n // function discovery (so TypeScript functions can resolve @ontology/sdk imports).\n const existingEntries = await fs.readdir(fullOutputDir);\n for (const entry of existingEntries) {\n await fs.rm(path.join(fullOutputDir, entry), {\n recursive: true,\n force: true,\n });\n }\n\n const hostFs = {\n async writeFile(filePath: string, contents: string): Promise<void> {\n // Normalize backslashes to forward slashes so path.join/isAbsolute\n // work consistently on Windows where generators may emit mixed separators.\n const normalized = filePath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(path.dirname(fullPath), { recursive: true });\n await fs.writeFile(fullPath, contents, \"utf-8\");\n },\n async mkdir(dirPath: string): Promise<void> {\n const normalized = dirPath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(fullPath, { recursive: true });\n },\n async readdir(dirPath: string): Promise<string[]> {\n return fs.readdir(dirPath);\n },\n };\n\n consola.info(`Generating SDK to ${fullOutputDir}...`);\n\n await generateClientSdkVersionTwoPointZero(\n metadata,\n `osdk-generator/${packageVersion} (from-ir)`,\n hostFs,\n fullOutputDir,\n \"module\",\n new Map(),\n new Map(),\n new Map(),\n false,\n [],\n true,\n );\n\n // Write package.json for module resolution. Points to compiled output in\n // dist/ so that TypeScript function discovery can resolve types from\n // @ontology/sdk during the bootstrap → function discovery → regeneration cycle.\n // No npm install is needed — @osdk/client and typescript are resolved from\n // the parent ontology project's node_modules.\n const previewPackageJson = {\n name: packageName,\n version: packageVersion,\n type: \"module\",\n main: \"./dist/index.js\",\n types: \"./dist/index.d.ts\",\n exports: {\n \".\": {\n types: \"./dist/index.d.ts\",\n import: \"./dist/index.js\",\n },\n \"./experimental/ontology-metadata\": {\n import: {\n types: `./${ONTOLOGY_METADATA_DMTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n require: {\n types: `./${ONTOLOGY_METADATA_DCTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n },\n },\n scripts: {\n build: \"tsc\",\n },\n dependencies: {\n \"@osdk/client\": \"^2.0.0\",\n },\n devDependencies: {\n typescript: \"^5.0.0\",\n },\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"package.json\"),\n `${JSON.stringify(previewPackageJson, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"package.json\")}`);\n\n // Write tsconfig.json for the tsc build step. Uses shared compiler options\n // from @osdk/generator with preview-specific additions.\n const previewTsconfig = {\n compilerOptions: {\n ...getTsCompilerOptions(\"module\"),\n importHelpers: false,\n outDir: \"./dist\",\n rootDir: \"./\",\n declarationMap: true,\n sourceMap: true,\n moduleResolution: \"node\",\n module: \"ES2020\",\n resolveJsonModule: true,\n allowSyntheticDefaultImports: true,\n },\n include: [\"**/*.ts\", \"**/*.tsx\"],\n exclude: [\"node_modules\", \"dist\"],\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"tsconfig.json\"),\n `${JSON.stringify(previewTsconfig, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"tsconfig.json\")}`);\n\n const metadataPath = path.join(fullOutputDir, \"ontology-metadata.json\");\n await fs.writeFile(\n metadataPath,\n JSON.stringify(previewMetadata, null, 2),\n \"utf-8\",\n );\n\n consola.info(`Wrote ${metadataPath}`);\n\n // Write Python-compatible metadata that the foundry-sdk-generator expects.\n // This uses the unwrapped actionTypes (ActionTypeV2 instead of\n // ActionTypeFullMetadata) and adds the globalFunctions key.\n if (argv.pythonFunctionsDir) {\n const pythonMetadataPath = path.join(\n fullOutputDir,\n \"python-ontology-metadata.json\",\n );\n await fs.writeFile(\n pythonMetadataPath,\n JSON.stringify(\n { ...metadata, globalFunctions: { queryTypes: {}, valueTypes: {} } },\n null,\n 2,\n ),\n \"utf-8\",\n );\n consola.info(`Wrote ${pythonMetadataPath}`);\n }\n\n // Write runtime metadata.json for the TypeScript functions runtime.\n // The runtime needs entity metadata to resolve ontology types during\n // function discovery. Without this, functions using Client/Osdk.Instance\n // produce diagnostics that block ALL function discovery.\n if (argv.functionsDir) {\n const functionsProjectRoot = path.resolve(argv.functionsDir, \"..\", \"..\");\n const runtimeMetadataDir = path.join(\n functionsProjectRoot,\n \".dev-server\",\n \"var\",\n \"conf\",\n );\n const runtimeMetadataPath = path.join(runtimeMetadataDir, \"metadata.json\");\n\n const ontologyRid = previewMetadata.ontology.rid;\n\n const objectTypeMetadata: Record<string, unknown> = {};\n if (previewMetadata.objectTypes) {\n for (\n const [apiName, objData] of Object.entries(\n previewMetadata.objectTypes,\n )\n ) {\n const objType = objData.objectType;\n const propertyTypeMetadata: Record<\n string,\n { propertyTypeApiName: string; type?: unknown }\n > = {};\n if (objType.properties) {\n for (\n const [propApiName, propDef] of Object.entries(\n objType.properties,\n )\n ) {\n propertyTypeMetadata[propApiName] = {\n propertyTypeApiName: propApiName,\n type: propDef.dataType,\n };\n }\n }\n // linkTypeMetadata uses the nested format expected by the TS runtime:\n // { [linkTypeId]: { [linkApiName]: {} } }\n const linkTypeMetadata: Record<string, Record<string, object>> = {};\n if (objData.linkTypes) {\n for (const lt of objData.linkTypes) {\n const linkTypeId = lt.linkTypeRid;\n if (!linkTypeMetadata[linkTypeId]) {\n linkTypeMetadata[linkTypeId] = {};\n }\n linkTypeMetadata[linkTypeId][lt.apiName] = {};\n }\n }\n objectTypeMetadata[apiName] = {\n objectTypeApiName: apiName,\n primaryKeyPropertyTypeId: objType.primaryKey,\n propertyTypeMetadata,\n linkTypeMetadata,\n };\n }\n }\n\n const runtimeMetadata = {\n ontologyRid,\n objectTypeMetadata,\n interfaceTypeMetadata: {},\n magritteSourceMetadata: {},\n };\n\n try {\n await fs.mkdir(runtimeMetadataDir, { recursive: true });\n await fs.writeFile(\n runtimeMetadataPath,\n JSON.stringify(runtimeMetadata),\n \"utf-8\",\n );\n consola.info(`Wrote runtime metadata to ${runtimeMetadataPath}`);\n } catch (e) {\n consola.warn(`Could not write runtime metadata: ${e}`);\n }\n }\n\n consola.success(\"Done!\");\n}\n\nmain().catch((err: unknown) => {\n consola.error(err instanceof Error ? err.message : err);\n process.exit(1);\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"generate-sdk.js","names":["spawnSync","fsSync","fs","os","path","generateClientSdkVersionTwoPointZero","getTsCompilerOptions","ONTOLOGY_METADATA_DCTS_PATH","ONTOLOGY_METADATA_DMTS_PATH","ONTOLOGY_METADATA_JSON_PATH","OntologyIrToFullMetadataConverter","consola","yargs","hideBin","PreviewOntologyIrConverter","loadSdkInput","PYTHON_SDK_PACKAGE_NAME","generatePythonSdk","previewMetadata","pythonBinary","pythonMetadata","actionTypes","Object","fromEntries","entries","map","key","fullMeta","actionType","globalFunctions","queryTypes","valueTypes","objectTypes","keys","length","info","ontologyApiName","ontology","apiName","siteResult","encoding","status","stdout","trim","warn","stderr","error","sitePackages","tmpDir","mkdtempSync","join","tmpdir","tmpMetadata","writeFileSync","JSON","stringify","packageName","genResult","stdio","rmSync","recursive","force","generatedPackage","destPackage","cpSync","main","argv","process","strict","help","version","usage","options","input","describe","type","coerce","resolve","demandOption","parse","packageVersion","outputDir","blockResultsInput","importJson","readFile","undefined","getPreviewFullMetadataFromBlockData","pythonFunctionsDir","functionsDir","exit","effectivePythonRootDir","pythonRootProjectDir","dirname","getOsdkQueryTypes","nodeModulesPath","functionsIrOutputFile","functionNames","metadata","fullOutputDir","mkdir","existingEntries","readdir","entry","rm","writeFile","filePath","contents","normalized","replaceAll","fullPath","isAbsolute","dirPath","Map","name","types","exports","import","default","require","scripts","build","dependencies","devDependencies","typescript","previewTsconfig","compilerOptions","importHelpers","outDir","rootDir","declarationMap","sourceMap","moduleResolution","module","resolveJsonModule","allowSyntheticDefaultImports","include","exclude","metadataPath","pythonMetadataPath","functionsProjectRoot","runtimeMetadataDir","runtimeMetadataPath","ontologyRid","rid","objectTypeMetadata","objData","objType","objectType","propertyTypeMetadata","properties","propApiName","propDef","propertyTypeApiName","dataType","linkTypeMetadata","linkTypes","lt","linkTypeId","linkTypeRid","objectTypeApiName","primaryKeyPropertyTypeId","primaryKey","interfaceTypeMetadata","magritteSourceMetadata","e","success","catch","err","Error","message"],"sources":["generate-sdk.ts"],"sourcesContent":["#!/usr/bin/env node\n/*\n * Copyright 2026 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 { spawnSync } from \"node:child_process\";\nimport * as fsSync from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nimport {\n generateClientSdkVersionTwoPointZero,\n getTsCompilerOptions,\n ONTOLOGY_METADATA_DCTS_PATH,\n ONTOLOGY_METADATA_DMTS_PATH,\n ONTOLOGY_METADATA_JSON_PATH,\n} from \"@osdk/generator\";\nimport { OntologyIrToFullMetadataConverter } from \"@osdk/generator-converters.ontologyir\";\nimport { consola } from \"consola\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport { PreviewOntologyIrConverter } from \"../PreviewOntologyIrConverter.js\";\nimport { loadSdkInput } from \"./loadSdkInput.js\";\n\nconst PYTHON_SDK_PACKAGE_NAME = \"ontology_sdk\";\n\n/**\n * Generates the Python SDK package into the conda environment's site-packages\n * so that Python function discovery can resolve ontology type imports.\n */\nfunction generatePythonSdk(\n previewMetadata: ReturnType<\n typeof PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData\n >,\n pythonBinary: string,\n): void {\n // Build the Python-compatible metadata: unwrap actionTypes and add globalFunctions\n const pythonMetadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n globalFunctions: { queryTypes: {}, valueTypes: {} },\n };\n\n const objectTypes = Object.keys(previewMetadata.objectTypes ?? {});\n if (objectTypes.length === 0) {\n consola.info(\"No object types found, skipping Python SDK generation.\");\n return;\n }\n\n const ontologyApiName = previewMetadata.ontology?.apiName ?? \"ontology\";\n\n // Discover site-packages from the conda environment\n const siteResult = spawnSync(\n pythonBinary,\n [\"-c\", \"import site; print(site.getsitepackages()[0])\"],\n { encoding: \"utf-8\" },\n );\n if (siteResult.status !== 0 || !siteResult.stdout?.trim()) {\n consola.warn(\n `Could not discover Python site-packages: ${\n siteResult.stderr || siteResult.error\n }`,\n );\n return;\n }\n const sitePackages = siteResult.stdout.trim();\n consola.info(`Python site-packages: ${sitePackages}`);\n\n // Write metadata to a temp file for the generator\n const tmpDir = fsSync.mkdtempSync(path.join(os.tmpdir(), \"python-sdk-\"));\n const tmpMetadata = path.join(tmpDir, \"metadata.json\");\n fsSync.writeFileSync(\n tmpMetadata,\n JSON.stringify(pythonMetadata, null, 2),\n \"utf-8\",\n );\n\n // Run the Python SDK generator into the temp directory.\n // The generator creates <output-dir>/ontology_sdk/ which is a project\n // directory containing ontology_sdk/ (the actual Python package), setup.py, etc.\n consola.info(\"Generating Python SDK...\");\n const packageName = PYTHON_SDK_PACKAGE_NAME;\n const genResult = spawnSync(\n pythonBinary,\n [\n \"-m\",\n \"foundry_sdk_generator\",\n \"generate_package\",\n \"--output-dir\",\n tmpDir,\n \"--package-name\",\n packageName,\n \"--package-version\",\n \"0.0.0\",\n \"--ontology\",\n ontologyApiName,\n \"--object-types\",\n ...objectTypes,\n \"--cache-path\",\n tmpMetadata,\n \"--force\",\n ],\n { encoding: \"utf-8\", stdio: \"pipe\" },\n );\n\n if (genResult.status !== 0) {\n consola.warn(\n `Python SDK generation failed (non-fatal): ${\n genResult.stderr || genResult.stdout\n }`,\n );\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n return;\n }\n\n // The generator creates <tmpDir>/ontology_sdk/ontology_sdk/ (the importable\n // package). Copy just the inner package into site-packages so Python can\n // resolve `import ontology_sdk`.\n const generatedPackage = path.join(tmpDir, packageName, packageName);\n const destPackage = path.join(sitePackages, packageName);\n\n // Remove any previous version\n fsSync.rmSync(destPackage, { recursive: true, force: true });\n fsSync.cpSync(generatedPackage, destPackage, { recursive: true });\n\n // Clean up temp directory\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n\n consola.info(`Python SDK installed to ${destPackage}`);\n}\n\nasync function main(): Promise<void> {\n const argv = await yargs(hideBin(process.argv))\n .strict()\n .help()\n .version(false) // so that we can use --version argument for the package version\n .usage(\n \"$0 (--input <path> | --block-results-input <path>) --package-name <name> --version <ver> --output-dir <dir>\",\n )\n .options({\n input: {\n describe: \"Path to the OntologyIR JSON file\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"block-results-input\": {\n describe: \"Path to the block result JSON collection\",\n type: \"string\",\n coerce: (input: string) => path.resolve(input),\n },\n \"package-name\": {\n describe: \"Name for the generated SDK package\",\n type: \"string\",\n demandOption: true,\n },\n version: {\n describe: \"Version string for the generated SDK\",\n type: \"string\",\n demandOption: true,\n },\n \"output-dir\": {\n describe: \"Directory where the SDK will be generated\",\n type: \"string\",\n demandOption: true,\n coerce: path.resolve,\n },\n \"functions-dir\": {\n describe:\n \"Path to TypeScript functions source directory (enables TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"functions-ir-output-file\": {\n describe: \"Output file for discovered function IR\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"node-modules-path\": {\n describe:\n \"Path to node_modules containing @foundry packages (for TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-functions-dir\": {\n describe:\n \"Path to Python functions source directory (enables Python function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-root-project-dir\": {\n describe:\n \"Root project directory for Python functions (defaults to parent of python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-binary\": {\n describe:\n \"Path to Python binary (required when using --python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"import-json\": {\n describe:\n \"Path to the import JSON file (ontology-full-metadata.json) produced by 'foundry import ontology'. Imported entities are merged into the generated SDK.\",\n type: \"string\",\n coerce: path.resolve,\n },\n })\n .parse();\n\n const packageName = argv.packageName;\n const packageVersion = argv.version;\n const outputDir = argv.outputDir;\n\n const { ontology, valueTypes } = await loadSdkInput({\n input: argv.input,\n blockResultsInput: argv.blockResultsInput,\n });\n consola.info(`Converting ${argv.input ?? argv.blockResultsInput}...`);\n\n const importJson = argv.importJson\n ? JSON.parse(await fs.readFile(argv.importJson, \"utf-8\"))\n : undefined;\n\n const previewMetadata = PreviewOntologyIrConverter\n .getPreviewFullMetadataFromBlockData(\n ontology,\n importJson,\n valueTypes,\n );\n\n // Generate the Python SDK before function discovery so that Python functions\n // that import ontology types (e.g. `from ontology_sdk.ontology.objects import X`)\n // can be successfully parsed during discovery.\n if (argv.pythonBinary && argv.pythonFunctionsDir) {\n generatePythonSdk(previewMetadata, argv.pythonBinary);\n }\n\n // Function discovery is optional - only run if at least one functions flag is provided\n if (argv.functionsDir || argv.pythonFunctionsDir) {\n if (argv.pythonFunctionsDir && !argv.pythonBinary) {\n consola.error(\n \"--python-binary is required when using --python-functions-dir\",\n );\n process.exit(1);\n }\n\n const effectivePythonRootDir = argv.pythonRootProjectDir\n ?? (argv.pythonFunctionsDir\n ? path.dirname(argv.pythonFunctionsDir)\n : undefined);\n\n const queryTypes = await OntologyIrToFullMetadataConverter\n .getOsdkQueryTypes(\n argv.pythonBinary,\n argv.functionsDir,\n argv.nodeModulesPath,\n argv.pythonFunctionsDir,\n effectivePythonRootDir,\n argv.functionsIrOutputFile,\n previewMetadata,\n );\n\n const functionNames = Object.keys(queryTypes);\n if (functionNames.length > 0) {\n previewMetadata.queryTypes = queryTypes;\n consola.info(\n `Discovered ${functionNames.length} function(s): ${\n functionNames.join(\n \", \",\n )\n }`,\n );\n } else {\n consola.info(\"No functions discovered.\");\n }\n }\n\n // Convert ActionTypeFullMetadata to ActionTypeV2 for generator compatibility\n const metadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n };\n\n const fullOutputDir = path.join(outputDir, packageName);\n await fs.mkdir(fullOutputDir, { recursive: true });\n\n // Clean the output directory before generation. The generator's verifyOutDir\n // requires an empty directory, but a previous SDK build may exist from\n // function discovery (so TypeScript functions can resolve @ontology/sdk imports).\n const existingEntries = await fs.readdir(fullOutputDir);\n for (const entry of existingEntries) {\n await fs.rm(path.join(fullOutputDir, entry), {\n recursive: true,\n force: true,\n });\n }\n\n const hostFs = {\n async writeFile(filePath: string, contents: string): Promise<void> {\n // Normalize backslashes to forward slashes so path.join/isAbsolute\n // work consistently on Windows where generators may emit mixed separators.\n const normalized = filePath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(path.dirname(fullPath), { recursive: true });\n await fs.writeFile(fullPath, contents, \"utf-8\");\n },\n async mkdir(dirPath: string): Promise<void> {\n const normalized = dirPath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(fullPath, { recursive: true });\n },\n async readdir(dirPath: string): Promise<string[]> {\n return fs.readdir(dirPath);\n },\n };\n\n consola.info(`Generating SDK to ${fullOutputDir}...`);\n\n await generateClientSdkVersionTwoPointZero(\n metadata,\n `osdk-generator/${packageVersion} (from-ir)`,\n hostFs,\n fullOutputDir,\n \"module\",\n new Map(),\n new Map(),\n new Map(),\n false,\n [],\n true,\n new Map(),\n );\n\n // Write package.json for module resolution. Points to compiled output in\n // dist/ so that TypeScript function discovery can resolve types from\n // @ontology/sdk during the bootstrap → function discovery → regeneration cycle.\n // No npm install is needed — @osdk/client and typescript are resolved from\n // the parent ontology project's node_modules.\n const previewPackageJson = {\n name: packageName,\n version: packageVersion,\n type: \"module\",\n main: \"./dist/index.js\",\n types: \"./dist/index.d.ts\",\n exports: {\n \".\": {\n types: \"./dist/index.d.ts\",\n import: \"./dist/index.js\",\n },\n \"./experimental/ontology-metadata\": {\n import: {\n types: `./${ONTOLOGY_METADATA_DMTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n require: {\n types: `./${ONTOLOGY_METADATA_DCTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n },\n },\n scripts: {\n build: \"tsc\",\n },\n dependencies: {\n \"@osdk/client\": \"^2.0.0\",\n },\n devDependencies: {\n typescript: \"^5.0.0\",\n },\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"package.json\"),\n `${JSON.stringify(previewPackageJson, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"package.json\")}`);\n\n // Write tsconfig.json for the tsc build step. Uses shared compiler options\n // from @osdk/generator with preview-specific additions.\n const previewTsconfig = {\n compilerOptions: {\n ...getTsCompilerOptions(\"module\"),\n importHelpers: false,\n outDir: \"./dist\",\n rootDir: \"./\",\n declarationMap: true,\n sourceMap: true,\n moduleResolution: \"node\",\n module: \"ES2020\",\n resolveJsonModule: true,\n allowSyntheticDefaultImports: true,\n },\n include: [\"**/*.ts\", \"**/*.tsx\"],\n exclude: [\"node_modules\", \"dist\"],\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"tsconfig.json\"),\n `${JSON.stringify(previewTsconfig, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"tsconfig.json\")}`);\n\n const metadataPath = path.join(fullOutputDir, \"ontology-metadata.json\");\n await fs.writeFile(\n metadataPath,\n JSON.stringify(previewMetadata, null, 2),\n \"utf-8\",\n );\n\n consola.info(`Wrote ${metadataPath}`);\n\n // Write Python-compatible metadata that the foundry-sdk-generator expects.\n // This uses the unwrapped actionTypes (ActionTypeV2 instead of\n // ActionTypeFullMetadata) and adds the globalFunctions key.\n if (argv.pythonFunctionsDir) {\n const pythonMetadataPath = path.join(\n fullOutputDir,\n \"python-ontology-metadata.json\",\n );\n await fs.writeFile(\n pythonMetadataPath,\n JSON.stringify(\n { ...metadata, globalFunctions: { queryTypes: {}, valueTypes: {} } },\n null,\n 2,\n ),\n \"utf-8\",\n );\n consola.info(`Wrote ${pythonMetadataPath}`);\n }\n\n // Write runtime metadata.json for the TypeScript functions runtime.\n // The runtime needs entity metadata to resolve ontology types during\n // function discovery. Without this, functions using Client/Osdk.Instance\n // produce diagnostics that block ALL function discovery.\n if (argv.functionsDir) {\n const functionsProjectRoot = path.resolve(argv.functionsDir, \"..\", \"..\");\n const runtimeMetadataDir = path.join(\n functionsProjectRoot,\n \".dev-server\",\n \"var\",\n \"conf\",\n );\n const runtimeMetadataPath = path.join(runtimeMetadataDir, \"metadata.json\");\n\n const ontologyRid = previewMetadata.ontology.rid;\n\n const objectTypeMetadata: Record<string, unknown> = {};\n if (previewMetadata.objectTypes) {\n for (\n const [apiName, objData] of Object.entries(\n previewMetadata.objectTypes,\n )\n ) {\n const objType = objData.objectType;\n const propertyTypeMetadata: Record<\n string,\n { propertyTypeApiName: string; type?: unknown }\n > = {};\n if (objType.properties) {\n for (\n const [propApiName, propDef] of Object.entries(\n objType.properties,\n )\n ) {\n propertyTypeMetadata[propApiName] = {\n propertyTypeApiName: propApiName,\n type: propDef.dataType,\n };\n }\n }\n // linkTypeMetadata uses the nested format expected by the TS runtime:\n // { [linkTypeId]: { [linkApiName]: {} } }\n const linkTypeMetadata: Record<string, Record<string, object>> = {};\n if (objData.linkTypes) {\n for (const lt of objData.linkTypes) {\n const linkTypeId = lt.linkTypeRid;\n if (!linkTypeMetadata[linkTypeId]) {\n linkTypeMetadata[linkTypeId] = {};\n }\n linkTypeMetadata[linkTypeId][lt.apiName] = {};\n }\n }\n objectTypeMetadata[apiName] = {\n objectTypeApiName: apiName,\n primaryKeyPropertyTypeId: objType.primaryKey,\n propertyTypeMetadata,\n linkTypeMetadata,\n };\n }\n }\n\n const runtimeMetadata = {\n ontologyRid,\n objectTypeMetadata,\n interfaceTypeMetadata: {},\n magritteSourceMetadata: {},\n };\n\n try {\n await fs.mkdir(runtimeMetadataDir, { recursive: true });\n await fs.writeFile(\n runtimeMetadataPath,\n JSON.stringify(runtimeMetadata),\n \"utf-8\",\n );\n consola.info(`Wrote runtime metadata to ${runtimeMetadataPath}`);\n } catch (e) {\n consola.warn(`Could not write runtime metadata: ${e}`);\n }\n }\n\n consola.success(\"Done!\");\n}\n\nmain().catch((err: unknown) => {\n consola.error(err instanceof Error ? err.message : err);\n process.exit(1);\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,OAAO,KAAKC,MAAM,MAAM,SAAS;AACjC,OAAO,KAAKC,EAAE,MAAM,kBAAkB;AACtC,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC,SACEC,oCAAoC,EACpCC,oBAAoB,EACpBC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,2BAA2B,QACtB,iBAAiB;AACxB,SAASC,iCAAiC,QAAQ,uCAAuC;AACzF,SAASC,OAAO,QAAQ,SAAS;AACjC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,eAAe;AAEvC,SAASC,0BAA0B,QAAQ,kCAAkC;AAC7E,SAASC,YAAY,QAAQ,mBAAmB;AAEhD,MAAMC,uBAAuB,GAAG,cAAc;;AAE9C;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CACxBC,eAEC,EACDC,YAAoB,EACd;EACN;EACA,MAAMC,cAAc,GAAG;IACrB,GAAGF,eAAe;IAClBG,WAAW,EAAEC,MAAM,CAACC,WAAW,CAC7BD,MAAM,CAACE,OAAO,CAACN,eAAe,CAACG,WAAW,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,QAAQ,CAAC,KAAK,CACnED,GAAG,EACHC,QAAQ,CAACC,UAAU,CACpB,CACH,CAAC;IACDC,eAAe,EAAE;MAAEC,UAAU,EAAE,CAAC,CAAC;MAAEC,UAAU,EAAE,CAAC;IAAE;EACpD,CAAC;EAED,MAAMC,WAAW,GAAGV,MAAM,CAACW,IAAI,CAACf,eAAe,CAACc,WAAW,IAAI,CAAC,CAAC,CAAC;EAClE,IAAIA,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;IAC5BvB,OAAO,CAACwB,IAAI,CAAC,wDAAwD,CAAC;IACtE;EACF;EAEA,MAAMC,eAAe,GAAGlB,eAAe,CAACmB,QAAQ,EAAEC,OAAO,IAAI,UAAU;;EAEvE;EACA,MAAMC,UAAU,GAAGvC,SAAS,CAC1BmB,YAAY,EACZ,CAAC,IAAI,EAAE,+CAA+C,CAAC,EACvD;IAAEqB,QAAQ,EAAE;EAAQ,CACtB,CAAC;EACD,IAAID,UAAU,CAACE,MAAM,KAAK,CAAC,IAAI,CAACF,UAAU,CAACG,MAAM,EAAEC,IAAI,CAAC,CAAC,EAAE;IACzDhC,OAAO,CAACiC,IAAI,CACV,4CACEL,UAAU,CAACM,MAAM,IAAIN,UAAU,CAACO,KAAK,EAEzC,CAAC;IACD;EACF;EACA,MAAMC,YAAY,GAAGR,UAAU,CAACG,MAAM,CAACC,IAAI,CAAC,CAAC;EAC7ChC,OAAO,CAACwB,IAAI,CAAC,yBAAyBY,YAAY,EAAE,CAAC;;EAErD;EACA,MAAMC,MAAM,GAAG/C,MAAM,CAACgD,WAAW,CAAC7C,IAAI,CAAC8C,IAAI,CAAC/C,EAAE,CAACgD,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;EACxE,MAAMC,WAAW,GAAGhD,IAAI,CAAC8C,IAAI,CAACF,MAAM,EAAE,eAAe,CAAC;EACtD/C,MAAM,CAACoD,aAAa,CAClBD,WAAW,EACXE,IAAI,CAACC,SAAS,CAACnC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,OACF,CAAC;;EAED;EACA;EACA;EACAT,OAAO,CAACwB,IAAI,CAAC,0BAA0B,CAAC;EACxC,MAAMqB,WAAW,GAAGxC,uBAAuB;EAC3C,MAAMyC,SAAS,GAAGzD,SAAS,CACzBmB,YAAY,EACZ,CACE,IAAI,EACJ,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd6B,MAAM,EACN,gBAAgB,EAChBQ,WAAW,EACX,mBAAmB,EACnB,OAAO,EACP,YAAY,EACZpB,eAAe,EACf,gBAAgB,EAChB,GAAGJ,WAAW,EACd,cAAc,EACdoB,WAAW,EACX,SAAS,CACV,EACD;IAAEZ,QAAQ,EAAE,OAAO;IAAEkB,KAAK,EAAE;EAAO,CACrC,CAAC;EAED,IAAID,SAAS,CAAChB,MAAM,KAAK,CAAC,EAAE;IAC1B9B,OAAO,CAACiC,IAAI,CACV,6CACEa,SAAS,CAACZ,MAAM,IAAIY,SAAS,CAACf,MAAM,EAExC,CAAC;IACDzC,MAAM,CAAC0D,MAAM,CAACX,MAAM,EAAE;MAAEY,SAAS,EAAE,IAAI;MAAEC,KAAK,EAAE;IAAK,CAAC,CAAC;IACvD;EACF;;EAEA;EACA;EACA;EACA,MAAMC,gBAAgB,GAAG1D,IAAI,CAAC8C,IAAI,CAACF,MAAM,EAAEQ,WAAW,EAAEA,WAAW,CAAC;EACpE,MAAMO,WAAW,GAAG3D,IAAI,CAAC8C,IAAI,CAACH,YAAY,EAAES,WAAW,CAAC;;EAExD;EACAvD,MAAM,CAAC0D,MAAM,CAACI,WAAW,EAAE;IAAEH,SAAS,EAAE,IAAI;IAAEC,KAAK,EAAE;EAAK,CAAC,CAAC;EAC5D5D,MAAM,CAAC+D,MAAM,CAACF,gBAAgB,EAAEC,WAAW,EAAE;IAAEH,SAAS,EAAE;EAAK,CAAC,CAAC;;EAEjE;EACA3D,MAAM,CAAC0D,MAAM,CAACX,MAAM,EAAE;IAAEY,SAAS,EAAE,IAAI;IAAEC,KAAK,EAAE;EAAK,CAAC,CAAC;EAEvDlD,OAAO,CAACwB,IAAI,CAAC,2BAA2B4B,WAAW,EAAE,CAAC;AACxD;AAEA,eAAeE,IAAIA,CAAA,EAAkB;EACnC,MAAMC,IAAI,GAAG,MAAMtD,KAAK,CAACC,OAAO,CAACsD,OAAO,CAACD,IAAI,CAAC,CAAC,CAC5CE,MAAM,CAAC,CAAC,CACRC,IAAI,CAAC,CAAC,CACNC,OAAO,CAAC,KAAK,CAAC,CAAC;EAAA,CACfC,KAAK,CACJ,6GACF,CAAC,CACAC,OAAO,CAAC;IACPC,KAAK,EAAE;MACLC,QAAQ,EAAE,kCAAkC;MAC5CC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,qBAAqB,EAAE;MACrBH,QAAQ,EAAE,0CAA0C;MACpDC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAGH,KAAa,IAAKrE,IAAI,CAACyE,OAAO,CAACJ,KAAK;IAC/C,CAAC;IACD,cAAc,EAAE;MACdC,QAAQ,EAAE,oCAAoC;MAC9CC,IAAI,EAAE,QAAQ;MACdG,YAAY,EAAE;IAChB,CAAC;IACDR,OAAO,EAAE;MACPI,QAAQ,EAAE,sCAAsC;MAChDC,IAAI,EAAE,QAAQ;MACdG,YAAY,EAAE;IAChB,CAAC;IACD,YAAY,EAAE;MACZJ,QAAQ,EAAE,2CAA2C;MACrDC,IAAI,EAAE,QAAQ;MACdG,YAAY,EAAE,IAAI;MAClBF,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,eAAe,EAAE;MACfH,QAAQ,EACN,+EAA+E;MACjFC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,0BAA0B,EAAE;MAC1BH,QAAQ,EAAE,wCAAwC;MAClDC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,mBAAmB,EAAE;MACnBH,QAAQ,EACN,+EAA+E;MACjFC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,sBAAsB,EAAE;MACtBH,QAAQ,EACN,+EAA+E;MACjFC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,yBAAyB,EAAE;MACzBH,QAAQ,EACN,0FAA0F;MAC5FC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,eAAe,EAAE;MACfH,QAAQ,EACN,oEAAoE;MACtEC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf,CAAC;IACD,aAAa,EAAE;MACbH,QAAQ,EACN,wJAAwJ;MAC1JC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAExE,IAAI,CAACyE;IACf;EACF,CAAC,CAAC,CACDE,KAAK,CAAC,CAAC;EAEV,MAAMvB,WAAW,GAAGU,IAAI,CAACV,WAAW;EACpC,MAAMwB,cAAc,GAAGd,IAAI,CAACI,OAAO;EACnC,MAAMW,SAAS,GAAGf,IAAI,CAACe,SAAS;EAEhC,MAAM;IAAE5C,QAAQ;IAAEN;EAAW,CAAC,GAAG,MAAMhB,YAAY,CAAC;IAClD0D,KAAK,EAAEP,IAAI,CAACO,KAAK;IACjBS,iBAAiB,EAAEhB,IAAI,CAACgB;EAC1B,CAAC,CAAC;EACFvE,OAAO,CAACwB,IAAI,CAAC,cAAc+B,IAAI,CAACO,KAAK,IAAIP,IAAI,CAACgB,iBAAiB,KAAK,CAAC;EAErE,MAAMC,UAAU,GAAGjB,IAAI,CAACiB,UAAU,GAC9B7B,IAAI,CAACyB,KAAK,CAAC,MAAM7E,EAAE,CAACkF,QAAQ,CAAClB,IAAI,CAACiB,UAAU,EAAE,OAAO,CAAC,CAAC,GACvDE,SAAS;EAEb,MAAMnE,eAAe,GAAGJ,0BAA0B,CAC/CwE,mCAAmC,CAClCjD,QAAQ,EACR8C,UAAU,EACVpD,UACF,CAAC;;EAEH;EACA;EACA;EACA,IAAImC,IAAI,CAAC/C,YAAY,IAAI+C,IAAI,CAACqB,kBAAkB,EAAE;IAChDtE,iBAAiB,CAACC,eAAe,EAAEgD,IAAI,CAAC/C,YAAY,CAAC;EACvD;;EAEA;EACA,IAAI+C,IAAI,CAACsB,YAAY,IAAItB,IAAI,CAACqB,kBAAkB,EAAE;IAChD,IAAIrB,IAAI,CAACqB,kBAAkB,IAAI,CAACrB,IAAI,CAAC/C,YAAY,EAAE;MACjDR,OAAO,CAACmC,KAAK,CACX,+DACF,CAAC;MACDqB,OAAO,CAACsB,IAAI,CAAC,CAAC,CAAC;IACjB;IAEA,MAAMC,sBAAsB,GAAGxB,IAAI,CAACyB,oBAAoB,KAClDzB,IAAI,CAACqB,kBAAkB,GACvBnF,IAAI,CAACwF,OAAO,CAAC1B,IAAI,CAACqB,kBAAkB,CAAC,GACrCF,SAAS,CAAC;IAEhB,MAAMvD,UAAU,GAAG,MAAMpB,iCAAiC,CACvDmF,iBAAiB,CAChB3B,IAAI,CAAC/C,YAAY,EACjB+C,IAAI,CAACsB,YAAY,EACjBtB,IAAI,CAAC4B,eAAe,EACpB5B,IAAI,CAACqB,kBAAkB,EACvBG,sBAAsB,EACtBxB,IAAI,CAAC6B,qBAAqB,EAC1B7E,eACF,CAAC;IAEH,MAAM8E,aAAa,GAAG1E,MAAM,CAACW,IAAI,CAACH,UAAU,CAAC;IAC7C,IAAIkE,aAAa,CAAC9D,MAAM,GAAG,CAAC,EAAE;MAC5BhB,eAAe,CAACY,UAAU,GAAGA,UAAU;MACvCnB,OAAO,CAACwB,IAAI,CACV,cAAc6D,aAAa,CAAC9D,MAAM,iBAChC8D,aAAa,CAAC9C,IAAI,CAChB,IACF,CAAC,EAEL,CAAC;IACH,CAAC,MAAM;MACLvC,OAAO,CAACwB,IAAI,CAAC,0BAA0B,CAAC;IAC1C;EACF;;EAEA;EACA,MAAM8D,QAAQ,GAAG;IACf,GAAG/E,eAAe;IAClBG,WAAW,EAAEC,MAAM,CAACC,WAAW,CAC7BD,MAAM,CAACE,OAAO,CAACN,eAAe,CAACG,WAAW,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,QAAQ,CAAC,KAAK,CACnED,GAAG,EACHC,QAAQ,CAACC,UAAU,CACpB,CACH;EACF,CAAC;EAED,MAAMsE,aAAa,GAAG9F,IAAI,CAAC8C,IAAI,CAAC+B,SAAS,EAAEzB,WAAW,CAAC;EACvD,MAAMtD,EAAE,CAACiG,KAAK,CAACD,aAAa,EAAE;IAAEtC,SAAS,EAAE;EAAK,CAAC,CAAC;;EAElD;EACA;EACA;EACA,MAAMwC,eAAe,GAAG,MAAMlG,EAAE,CAACmG,OAAO,CAACH,aAAa,CAAC;EACvD,KAAK,MAAMI,KAAK,IAAIF,eAAe,EAAE;IACnC,MAAMlG,EAAE,CAACqG,EAAE,CAACnG,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAEI,KAAK,CAAC,EAAE;MAC3C1C,SAAS,EAAE,IAAI;MACfC,KAAK,EAAE;IACT,CAAC,CAAC;EACJ;EAyBAlD,OAAO,CAACwB,IAAI,CAAC,qBAAqB+D,aAAa,KAAK,CAAC;EAErD,MAAM7F,oCAAoC,CACxC4F,QAAQ,EACR,kBAAkBjB,cAAc,YAAY,EA3B/B;IACb,MAAMwB,SAASA,CAACC,QAAgB,EAAEC,QAAgB,EAAiB;MACjE;MACA;MACA,MAAMC,UAAU,GAAGF,QAAQ,CAACG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;MACjD,MAAMC,QAAQ,GAAGzG,IAAI,CAAC0G,UAAU,CAACH,UAAU,CAAC,GACxCA,UAAU,GACVvG,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAES,UAAU,CAAC;MACxC,MAAMzG,EAAE,CAACiG,KAAK,CAAC/F,IAAI,CAACwF,OAAO,CAACiB,QAAQ,CAAC,EAAE;QAAEjD,SAAS,EAAE;MAAK,CAAC,CAAC;MAC3D,MAAM1D,EAAE,CAACsG,SAAS,CAACK,QAAQ,EAAEH,QAAQ,EAAE,OAAO,CAAC;IACjD,CAAC;IACD,MAAMP,KAAKA,CAACY,OAAe,EAAiB;MAC1C,MAAMJ,UAAU,GAAGI,OAAO,CAACH,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;MAChD,MAAMC,QAAQ,GAAGzG,IAAI,CAAC0G,UAAU,CAACH,UAAU,CAAC,GACxCA,UAAU,GACVvG,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAES,UAAU,CAAC;MACxC,MAAMzG,EAAE,CAACiG,KAAK,CAACU,QAAQ,EAAE;QAAEjD,SAAS,EAAE;MAAK,CAAC,CAAC;IAC/C,CAAC;IACD,MAAMyC,OAAOA,CAACU,OAAe,EAAqB;MAChD,OAAO7G,EAAE,CAACmG,OAAO,CAACU,OAAO,CAAC;IAC5B;EACF,CAAC,EAQCb,aAAa,EACb,QAAQ,EACR,IAAIc,GAAG,CAAC,CAAC,EACT,IAAIA,GAAG,CAAC,CAAC,EACT,IAAIA,GAAG,CAAC,CAAC,EACT,KAAK,EACL,EAAE,EACF,IAAI,EACJ,IAAIA,GAAG,CAAC,CACV,CAAC;;EAED;EACA;EACA;EACA;EACA;;EAkCA,MAAM9G,EAAE,CAACsG,SAAS,CAChBpG,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAE,cAAc,CAAC,EACxC,GAAG5C,IAAI,CAACC,SAAS,CAnCQ;IACzB0D,IAAI,EAAEzD,WAAW;IACjBc,OAAO,EAAEU,cAAc;IACvBL,IAAI,EAAE,QAAQ;IACdV,IAAI,EAAE,iBAAiB;IACvBiD,KAAK,EAAE,mBAAmB;IAC1BC,OAAO,EAAE;MACP,GAAG,EAAE;QACHD,KAAK,EAAE,mBAAmB;QAC1BE,MAAM,EAAE;MACV,CAAC;MACD,kCAAkC,EAAE;QAClCA,MAAM,EAAE;UACNF,KAAK,EAAE,KAAK1G,2BAA2B,EAAE;UACzC6G,OAAO,EAAE,KAAK5G,2BAA2B;QAC3C,CAAC;QACD6G,OAAO,EAAE;UACPJ,KAAK,EAAE,KAAK3G,2BAA2B,EAAE;UACzC8G,OAAO,EAAE,KAAK5G,2BAA2B;QAC3C;MACF;IACF,CAAC;IACD8G,OAAO,EAAE;MACPC,KAAK,EAAE;IACT,CAAC;IACDC,YAAY,EAAE;MACZ,cAAc,EAAE;IAClB,CAAC;IACDC,eAAe,EAAE;MACfC,UAAU,EAAE;IACd;EACF,CAAC,EAIuC,IAAI,EAAE,CAAC,CAAC,IAAI,EAClD,OACF,CAAC;EACDhH,OAAO,CAACwB,IAAI,CAAC,SAAS/B,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;;EAEjE;EACA;EACA,MAAM0B,eAAe,GAAG;IACtBC,eAAe,EAAE;MACf,GAAGvH,oBAAoB,CAAC,QAAQ,CAAC;MACjCwH,aAAa,EAAE,KAAK;MACpBC,MAAM,EAAE,QAAQ;MAChBC,OAAO,EAAE,IAAI;MACbC,cAAc,EAAE,IAAI;MACpBC,SAAS,EAAE,IAAI;MACfC,gBAAgB,EAAE,MAAM;MACxBC,MAAM,EAAE,QAAQ;MAChBC,iBAAiB,EAAE,IAAI;MACvBC,4BAA4B,EAAE;IAChC,CAAC;IACDC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAChCC,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM;EAClC,CAAC;EAED,MAAMtI,EAAE,CAACsG,SAAS,CAChBpG,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAE,eAAe,CAAC,EACzC,GAAG5C,IAAI,CAACC,SAAS,CAACqE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAC/C,OACF,CAAC;EACDjH,OAAO,CAACwB,IAAI,CAAC,SAAS/B,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;EAElE,MAAMuC,YAAY,GAAGrI,IAAI,CAAC8C,IAAI,CAACgD,aAAa,EAAE,wBAAwB,CAAC;EACvE,MAAMhG,EAAE,CAACsG,SAAS,CAChBiC,YAAY,EACZnF,IAAI,CAACC,SAAS,CAACrC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,EACxC,OACF,CAAC;EAEDP,OAAO,CAACwB,IAAI,CAAC,SAASsG,YAAY,EAAE,CAAC;;EAErC;EACA;EACA;EACA,IAAIvE,IAAI,CAACqB,kBAAkB,EAAE;IAC3B,MAAMmD,kBAAkB,GAAGtI,IAAI,CAAC8C,IAAI,CAClCgD,aAAa,EACb,+BACF,CAAC;IACD,MAAMhG,EAAE,CAACsG,SAAS,CAChBkC,kBAAkB,EAClBpF,IAAI,CAACC,SAAS,CACZ;MAAE,GAAG0C,QAAQ;MAAEpE,eAAe,EAAE;QAAEC,UAAU,EAAE,CAAC,CAAC;QAAEC,UAAU,EAAE,CAAC;MAAE;IAAE,CAAC,EACpE,IAAI,EACJ,CACF,CAAC,EACD,OACF,CAAC;IACDpB,OAAO,CAACwB,IAAI,CAAC,SAASuG,kBAAkB,EAAE,CAAC;EAC7C;;EAEA;EACA;EACA;EACA;EACA,IAAIxE,IAAI,CAACsB,YAAY,EAAE;IACrB,MAAMmD,oBAAoB,GAAGvI,IAAI,CAACyE,OAAO,CAACX,IAAI,CAACsB,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;IACxE,MAAMoD,kBAAkB,GAAGxI,IAAI,CAAC8C,IAAI,CAClCyF,oBAAoB,EACpB,aAAa,EACb,KAAK,EACL,MACF,CAAC;IACD,MAAME,mBAAmB,GAAGzI,IAAI,CAAC8C,IAAI,CAAC0F,kBAAkB,EAAE,eAAe,CAAC;IAE1E,MAAME,WAAW,GAAG5H,eAAe,CAACmB,QAAQ,CAAC0G,GAAG;IAEhD,MAAMC,kBAA2C,GAAG,CAAC,CAAC;IACtD,IAAI9H,eAAe,CAACc,WAAW,EAAE;MAC/B,KACE,MAAM,CAACM,OAAO,EAAE2G,OAAO,CAAC,IAAI3H,MAAM,CAACE,OAAO,CACxCN,eAAe,CAACc,WAClB,CAAC,EACD;QACA,MAAMkH,OAAO,GAAGD,OAAO,CAACE,UAAU;QAClC,MAAMC,oBAGL,GAAG,CAAC,CAAC;QACN,IAAIF,OAAO,CAACG,UAAU,EAAE;UACtB,KACE,MAAM,CAACC,WAAW,EAAEC,OAAO,CAAC,IAAIjI,MAAM,CAACE,OAAO,CAC5C0H,OAAO,CAACG,UACV,CAAC,EACD;YACAD,oBAAoB,CAACE,WAAW,CAAC,GAAG;cAClCE,mBAAmB,EAAEF,WAAW;cAChC3E,IAAI,EAAE4E,OAAO,CAACE;YAChB,CAAC;UACH;QACF;QACA;QACA;QACA,MAAMC,gBAAwD,GAAG,CAAC,CAAC;QACnE,IAAIT,OAAO,CAACU,SAAS,EAAE;UACrB,KAAK,MAAMC,EAAE,IAAIX,OAAO,CAACU,SAAS,EAAE;YAClC,MAAME,UAAU,GAAGD,EAAE,CAACE,WAAW;YACjC,IAAI,CAACJ,gBAAgB,CAACG,UAAU,CAAC,EAAE;cACjCH,gBAAgB,CAACG,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC;YACAH,gBAAgB,CAACG,UAAU,CAAC,CAACD,EAAE,CAACtH,OAAO,CAAC,GAAG,CAAC,CAAC;UAC/C;QACF;QACA0G,kBAAkB,CAAC1G,OAAO,CAAC,GAAG;UAC5ByH,iBAAiB,EAAEzH,OAAO;UAC1B0H,wBAAwB,EAAEd,OAAO,CAACe,UAAU;UAC5Cb,oBAAoB;UACpBM;QACF,CAAC;MACH;IACF;IASA,IAAI;MACF,MAAMxJ,EAAE,CAACiG,KAAK,CAACyC,kBAAkB,EAAE;QAAEhF,SAAS,EAAE;MAAK,CAAC,CAAC;MACvD,MAAM1D,EAAE,CAACsG,SAAS,CAChBqC,mBAAmB,EACnBvF,IAAI,CAACC,SAAS,CAXM;QACtBuF,WAAW;QACXE,kBAAkB;QAClBkB,qBAAqB,EAAE,CAAC,CAAC;QACzBC,sBAAsB,EAAE,CAAC;MAC3B,CAMkC,CAAC,EAC/B,OACF,CAAC;MACDxJ,OAAO,CAACwB,IAAI,CAAC,6BAA6B0G,mBAAmB,EAAE,CAAC;IAClE,CAAC,CAAC,OAAOuB,CAAC,EAAE;MACVzJ,OAAO,CAACiC,IAAI,CAAC,qCAAqCwH,CAAC,EAAE,CAAC;IACxD;EACF;EAEAzJ,OAAO,CAAC0J,OAAO,CAAC,OAAO,CAAC;AAC1B;AAEApG,IAAI,CAAC,CAAC,CAACqG,KAAK,CAAEC,GAAY,IAAK;EAC7B5J,OAAO,CAACmC,KAAK,CAACyH,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACE,OAAO,GAAGF,GAAG,CAAC;EACvDpG,OAAO,CAACsB,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -250,7 +250,7 @@ async function main() {
|
|
|
250
250
|
async readdir(dirPath) {
|
|
251
251
|
return fs.readdir(dirPath);
|
|
252
252
|
}
|
|
253
|
-
}, fullOutputDir, "module", new Map(), new Map(), new Map(), false, [], true);
|
|
253
|
+
}, fullOutputDir, "module", new Map(), new Map(), new Map(), false, [], true, new Map());
|
|
254
254
|
|
|
255
255
|
// Write package.json for module resolution. Points to compiled output in
|
|
256
256
|
// dist/ so that TypeScript function discovery can resolve types from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-sdk.js","names":["spawnSync","fsSync","fs","os","path","generateClientSdkVersionTwoPointZero","getTsCompilerOptions","ONTOLOGY_METADATA_DCTS_PATH","ONTOLOGY_METADATA_DMTS_PATH","ONTOLOGY_METADATA_JSON_PATH","OntologyIrToFullMetadataConverter","consola","yargs","hideBin","PreviewOntologyIrConverter","loadSdkInput","PYTHON_SDK_PACKAGE_NAME","generatePythonSdk","previewMetadata","pythonBinary","pythonMetadata","actionTypes","Object","fromEntries","entries","map","key","fullMeta","actionType","globalFunctions","queryTypes","valueTypes","objectTypes","keys","length","info","ontologyApiName","ontology","apiName","siteResult","encoding","status","stdout","trim","warn","stderr","error","sitePackages","tmpDir","mkdtempSync","join","tmpdir","tmpMetadata","writeFileSync","JSON","stringify","packageName","genResult","stdio","rmSync","recursive","force","generatedPackage","destPackage","cpSync","main","argv","process","strict","help","version","usage","options","input","describe","type","coerce","resolve","demandOption","parse","packageVersion","outputDir","blockResultsInput","importJson","readFile","undefined","getPreviewFullMetadataFromBlockData","pythonFunctionsDir","functionsDir","exit","effectivePythonRootDir","pythonRootProjectDir","dirname","getOsdkQueryTypes","nodeModulesPath","functionsIrOutputFile","functionNames","metadata","fullOutputDir","mkdir","existingEntries","readdir","entry","rm","writeFile","filePath","contents","normalized","replaceAll","fullPath","isAbsolute","dirPath","Map","name","types","exports","import","default","require","scripts","build","dependencies","devDependencies","typescript","previewTsconfig","compilerOptions","importHelpers","outDir","rootDir","declarationMap","sourceMap","moduleResolution","module","resolveJsonModule","allowSyntheticDefaultImports","include","exclude","metadataPath","pythonMetadataPath","functionsProjectRoot","runtimeMetadataDir","runtimeMetadataPath","ontologyRid","rid","objectTypeMetadata","objData","objType","objectType","propertyTypeMetadata","properties","propApiName","propDef","propertyTypeApiName","dataType","linkTypeMetadata","linkTypes","lt","linkTypeId","linkTypeRid","objectTypeApiName","primaryKeyPropertyTypeId","primaryKey","interfaceTypeMetadata","magritteSourceMetadata","e","success","catch","err","Error","message"],"sources":["generate-sdk.ts"],"sourcesContent":["#!/usr/bin/env node\n/*\n * Copyright 2026 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 { spawnSync } from \"node:child_process\";\nimport * as fsSync from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nimport {\n generateClientSdkVersionTwoPointZero,\n getTsCompilerOptions,\n ONTOLOGY_METADATA_DCTS_PATH,\n ONTOLOGY_METADATA_DMTS_PATH,\n ONTOLOGY_METADATA_JSON_PATH,\n} from \"@osdk/generator\";\nimport { OntologyIrToFullMetadataConverter } from \"@osdk/generator-converters.ontologyir\";\nimport { consola } from \"consola\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport { PreviewOntologyIrConverter } from \"../PreviewOntologyIrConverter.js\";\nimport { loadSdkInput } from \"./loadSdkInput.js\";\n\nconst PYTHON_SDK_PACKAGE_NAME = \"ontology_sdk\";\n\n/**\n * Generates the Python SDK package into the conda environment's site-packages\n * so that Python function discovery can resolve ontology type imports.\n */\nfunction generatePythonSdk(\n previewMetadata: ReturnType<\n typeof PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData\n >,\n pythonBinary: string,\n): void {\n // Build the Python-compatible metadata: unwrap actionTypes and add globalFunctions\n const pythonMetadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n globalFunctions: { queryTypes: {}, valueTypes: {} },\n };\n\n const objectTypes = Object.keys(previewMetadata.objectTypes ?? {});\n if (objectTypes.length === 0) {\n consola.info(\"No object types found, skipping Python SDK generation.\");\n return;\n }\n\n const ontologyApiName = previewMetadata.ontology?.apiName ?? \"ontology\";\n\n // Discover site-packages from the conda environment\n const siteResult = spawnSync(\n pythonBinary,\n [\"-c\", \"import site; print(site.getsitepackages()[0])\"],\n { encoding: \"utf-8\" },\n );\n if (siteResult.status !== 0 || !siteResult.stdout?.trim()) {\n consola.warn(\n `Could not discover Python site-packages: ${\n siteResult.stderr || siteResult.error\n }`,\n );\n return;\n }\n const sitePackages = siteResult.stdout.trim();\n consola.info(`Python site-packages: ${sitePackages}`);\n\n // Write metadata to a temp file for the generator\n const tmpDir = fsSync.mkdtempSync(path.join(os.tmpdir(), \"python-sdk-\"));\n const tmpMetadata = path.join(tmpDir, \"metadata.json\");\n fsSync.writeFileSync(\n tmpMetadata,\n JSON.stringify(pythonMetadata, null, 2),\n \"utf-8\",\n );\n\n // Run the Python SDK generator into the temp directory.\n // The generator creates <output-dir>/ontology_sdk/ which is a project\n // directory containing ontology_sdk/ (the actual Python package), setup.py, etc.\n consola.info(\"Generating Python SDK...\");\n const packageName = PYTHON_SDK_PACKAGE_NAME;\n const genResult = spawnSync(\n pythonBinary,\n [\n \"-m\",\n \"foundry_sdk_generator\",\n \"generate_package\",\n \"--output-dir\",\n tmpDir,\n \"--package-name\",\n packageName,\n \"--package-version\",\n \"0.0.0\",\n \"--ontology\",\n ontologyApiName,\n \"--object-types\",\n ...objectTypes,\n \"--cache-path\",\n tmpMetadata,\n \"--force\",\n ],\n { encoding: \"utf-8\", stdio: \"pipe\" },\n );\n\n if (genResult.status !== 0) {\n consola.warn(\n `Python SDK generation failed (non-fatal): ${\n genResult.stderr || genResult.stdout\n }`,\n );\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n return;\n }\n\n // The generator creates <tmpDir>/ontology_sdk/ontology_sdk/ (the importable\n // package). Copy just the inner package into site-packages so Python can\n // resolve `import ontology_sdk`.\n const generatedPackage = path.join(tmpDir, packageName, packageName);\n const destPackage = path.join(sitePackages, packageName);\n\n // Remove any previous version\n fsSync.rmSync(destPackage, { recursive: true, force: true });\n fsSync.cpSync(generatedPackage, destPackage, { recursive: true });\n\n // Clean up temp directory\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n\n consola.info(`Python SDK installed to ${destPackage}`);\n}\n\nasync function main(): Promise<void> {\n const argv = await yargs(hideBin(process.argv))\n .strict()\n .help()\n .version(false) // so that we can use --version argument for the package version\n .usage(\n \"$0 (--input <path> | --block-results-input <path>) --package-name <name> --version <ver> --output-dir <dir>\",\n )\n .options({\n input: {\n describe: \"Path to the OntologyIR JSON file\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"block-results-input\": {\n describe: \"Path to the block result JSON collection\",\n type: \"string\",\n coerce: (input: string) => path.resolve(input),\n },\n \"package-name\": {\n describe: \"Name for the generated SDK package\",\n type: \"string\",\n demandOption: true,\n },\n version: {\n describe: \"Version string for the generated SDK\",\n type: \"string\",\n demandOption: true,\n },\n \"output-dir\": {\n describe: \"Directory where the SDK will be generated\",\n type: \"string\",\n demandOption: true,\n coerce: path.resolve,\n },\n \"functions-dir\": {\n describe:\n \"Path to TypeScript functions source directory (enables TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"functions-ir-output-file\": {\n describe: \"Output file for discovered function IR\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"node-modules-path\": {\n describe:\n \"Path to node_modules containing @foundry packages (for TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-functions-dir\": {\n describe:\n \"Path to Python functions source directory (enables Python function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-root-project-dir\": {\n describe:\n \"Root project directory for Python functions (defaults to parent of python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-binary\": {\n describe:\n \"Path to Python binary (required when using --python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"import-json\": {\n describe:\n \"Path to the import JSON file (ontology-full-metadata.json) produced by 'foundry import ontology'. Imported entities are merged into the generated SDK.\",\n type: \"string\",\n coerce: path.resolve,\n },\n })\n .parse();\n\n const packageName = argv.packageName;\n const packageVersion = argv.version;\n const outputDir = argv.outputDir;\n\n const { ontology, valueTypes } = await loadSdkInput({\n input: argv.input,\n blockResultsInput: argv.blockResultsInput,\n });\n consola.info(`Converting ${argv.input ?? argv.blockResultsInput}...`);\n\n const importJson = argv.importJson\n ? JSON.parse(await fs.readFile(argv.importJson, \"utf-8\"))\n : undefined;\n\n const previewMetadata = PreviewOntologyIrConverter\n .getPreviewFullMetadataFromBlockData(\n ontology,\n importJson,\n valueTypes,\n );\n\n // Generate the Python SDK before function discovery so that Python functions\n // that import ontology types (e.g. `from ontology_sdk.ontology.objects import X`)\n // can be successfully parsed during discovery.\n if (argv.pythonBinary && argv.pythonFunctionsDir) {\n generatePythonSdk(previewMetadata, argv.pythonBinary);\n }\n\n // Function discovery is optional - only run if at least one functions flag is provided\n if (argv.functionsDir || argv.pythonFunctionsDir) {\n if (argv.pythonFunctionsDir && !argv.pythonBinary) {\n consola.error(\n \"--python-binary is required when using --python-functions-dir\",\n );\n process.exit(1);\n }\n\n const effectivePythonRootDir = argv.pythonRootProjectDir\n ?? (argv.pythonFunctionsDir\n ? path.dirname(argv.pythonFunctionsDir)\n : undefined);\n\n const queryTypes = await OntologyIrToFullMetadataConverter\n .getOsdkQueryTypes(\n argv.pythonBinary,\n argv.functionsDir,\n argv.nodeModulesPath,\n argv.pythonFunctionsDir,\n effectivePythonRootDir,\n argv.functionsIrOutputFile,\n previewMetadata,\n );\n\n const functionNames = Object.keys(queryTypes);\n if (functionNames.length > 0) {\n previewMetadata.queryTypes = queryTypes;\n consola.info(\n `Discovered ${functionNames.length} function(s): ${\n functionNames.join(\n \", \",\n )\n }`,\n );\n } else {\n consola.info(\"No functions discovered.\");\n }\n }\n\n // Convert ActionTypeFullMetadata to ActionTypeV2 for generator compatibility\n const metadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n };\n\n const fullOutputDir = path.join(outputDir, packageName);\n await fs.mkdir(fullOutputDir, { recursive: true });\n\n // Clean the output directory before generation. The generator's verifyOutDir\n // requires an empty directory, but a previous SDK build may exist from\n // function discovery (so TypeScript functions can resolve @ontology/sdk imports).\n const existingEntries = await fs.readdir(fullOutputDir);\n for (const entry of existingEntries) {\n await fs.rm(path.join(fullOutputDir, entry), {\n recursive: true,\n force: true,\n });\n }\n\n const hostFs = {\n async writeFile(filePath: string, contents: string): Promise<void> {\n // Normalize backslashes to forward slashes so path.join/isAbsolute\n // work consistently on Windows where generators may emit mixed separators.\n const normalized = filePath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(path.dirname(fullPath), { recursive: true });\n await fs.writeFile(fullPath, contents, \"utf-8\");\n },\n async mkdir(dirPath: string): Promise<void> {\n const normalized = dirPath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(fullPath, { recursive: true });\n },\n async readdir(dirPath: string): Promise<string[]> {\n return fs.readdir(dirPath);\n },\n };\n\n consola.info(`Generating SDK to ${fullOutputDir}...`);\n\n await generateClientSdkVersionTwoPointZero(\n metadata,\n `osdk-generator/${packageVersion} (from-ir)`,\n hostFs,\n fullOutputDir,\n \"module\",\n new Map(),\n new Map(),\n new Map(),\n false,\n [],\n true,\n );\n\n // Write package.json for module resolution. Points to compiled output in\n // dist/ so that TypeScript function discovery can resolve types from\n // @ontology/sdk during the bootstrap → function discovery → regeneration cycle.\n // No npm install is needed — @osdk/client and typescript are resolved from\n // the parent ontology project's node_modules.\n const previewPackageJson = {\n name: packageName,\n version: packageVersion,\n type: \"module\",\n main: \"./dist/index.js\",\n types: \"./dist/index.d.ts\",\n exports: {\n \".\": {\n types: \"./dist/index.d.ts\",\n import: \"./dist/index.js\",\n },\n \"./experimental/ontology-metadata\": {\n import: {\n types: `./${ONTOLOGY_METADATA_DMTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n require: {\n types: `./${ONTOLOGY_METADATA_DCTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n },\n },\n scripts: {\n build: \"tsc\",\n },\n dependencies: {\n \"@osdk/client\": \"^2.0.0\",\n },\n devDependencies: {\n typescript: \"^5.0.0\",\n },\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"package.json\"),\n `${JSON.stringify(previewPackageJson, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"package.json\")}`);\n\n // Write tsconfig.json for the tsc build step. Uses shared compiler options\n // from @osdk/generator with preview-specific additions.\n const previewTsconfig = {\n compilerOptions: {\n ...getTsCompilerOptions(\"module\"),\n importHelpers: false,\n outDir: \"./dist\",\n rootDir: \"./\",\n declarationMap: true,\n sourceMap: true,\n moduleResolution: \"node\",\n module: \"ES2020\",\n resolveJsonModule: true,\n allowSyntheticDefaultImports: true,\n },\n include: [\"**/*.ts\", \"**/*.tsx\"],\n exclude: [\"node_modules\", \"dist\"],\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"tsconfig.json\"),\n `${JSON.stringify(previewTsconfig, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"tsconfig.json\")}`);\n\n const metadataPath = path.join(fullOutputDir, \"ontology-metadata.json\");\n await fs.writeFile(\n metadataPath,\n JSON.stringify(previewMetadata, null, 2),\n \"utf-8\",\n );\n\n consola.info(`Wrote ${metadataPath}`);\n\n // Write Python-compatible metadata that the foundry-sdk-generator expects.\n // This uses the unwrapped actionTypes (ActionTypeV2 instead of\n // ActionTypeFullMetadata) and adds the globalFunctions key.\n if (argv.pythonFunctionsDir) {\n const pythonMetadataPath = path.join(\n fullOutputDir,\n \"python-ontology-metadata.json\",\n );\n await fs.writeFile(\n pythonMetadataPath,\n JSON.stringify(\n { ...metadata, globalFunctions: { queryTypes: {}, valueTypes: {} } },\n null,\n 2,\n ),\n \"utf-8\",\n );\n consola.info(`Wrote ${pythonMetadataPath}`);\n }\n\n // Write runtime metadata.json for the TypeScript functions runtime.\n // The runtime needs entity metadata to resolve ontology types during\n // function discovery. Without this, functions using Client/Osdk.Instance\n // produce diagnostics that block ALL function discovery.\n if (argv.functionsDir) {\n const functionsProjectRoot = path.resolve(argv.functionsDir, \"..\", \"..\");\n const runtimeMetadataDir = path.join(\n functionsProjectRoot,\n \".dev-server\",\n \"var\",\n \"conf\",\n );\n const runtimeMetadataPath = path.join(runtimeMetadataDir, \"metadata.json\");\n\n const ontologyRid = previewMetadata.ontology.rid;\n\n const objectTypeMetadata: Record<string, unknown> = {};\n if (previewMetadata.objectTypes) {\n for (\n const [apiName, objData] of Object.entries(\n previewMetadata.objectTypes,\n )\n ) {\n const objType = objData.objectType;\n const propertyTypeMetadata: Record<\n string,\n { propertyTypeApiName: string; type?: unknown }\n > = {};\n if (objType.properties) {\n for (\n const [propApiName, propDef] of Object.entries(\n objType.properties,\n )\n ) {\n propertyTypeMetadata[propApiName] = {\n propertyTypeApiName: propApiName,\n type: propDef.dataType,\n };\n }\n }\n // linkTypeMetadata uses the nested format expected by the TS runtime:\n // { [linkTypeId]: { [linkApiName]: {} } }\n const linkTypeMetadata: Record<string, Record<string, object>> = {};\n if (objData.linkTypes) {\n for (const lt of objData.linkTypes) {\n const linkTypeId = lt.linkTypeRid;\n if (!linkTypeMetadata[linkTypeId]) {\n linkTypeMetadata[linkTypeId] = {};\n }\n linkTypeMetadata[linkTypeId][lt.apiName] = {};\n }\n }\n objectTypeMetadata[apiName] = {\n objectTypeApiName: apiName,\n primaryKeyPropertyTypeId: objType.primaryKey,\n propertyTypeMetadata,\n linkTypeMetadata,\n };\n }\n }\n\n const runtimeMetadata = {\n ontologyRid,\n objectTypeMetadata,\n interfaceTypeMetadata: {},\n magritteSourceMetadata: {},\n };\n\n try {\n await fs.mkdir(runtimeMetadataDir, { recursive: true });\n await fs.writeFile(\n runtimeMetadataPath,\n JSON.stringify(runtimeMetadata),\n \"utf-8\",\n );\n consola.info(`Wrote runtime metadata to ${runtimeMetadataPath}`);\n } catch (e) {\n consola.warn(`Could not write runtime metadata: ${e}`);\n }\n }\n\n consola.success(\"Done!\");\n}\n\nmain().catch((err: unknown) => {\n consola.error(err instanceof Error ? err.message : err);\n process.exit(1);\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"generate-sdk.js","names":["spawnSync","fsSync","fs","os","path","generateClientSdkVersionTwoPointZero","getTsCompilerOptions","ONTOLOGY_METADATA_DCTS_PATH","ONTOLOGY_METADATA_DMTS_PATH","ONTOLOGY_METADATA_JSON_PATH","OntologyIrToFullMetadataConverter","consola","yargs","hideBin","PreviewOntologyIrConverter","loadSdkInput","PYTHON_SDK_PACKAGE_NAME","generatePythonSdk","previewMetadata","pythonBinary","pythonMetadata","actionTypes","Object","fromEntries","entries","map","key","fullMeta","actionType","globalFunctions","queryTypes","valueTypes","objectTypes","keys","length","info","ontologyApiName","ontology","apiName","siteResult","encoding","status","stdout","trim","warn","stderr","error","sitePackages","tmpDir","mkdtempSync","join","tmpdir","tmpMetadata","writeFileSync","JSON","stringify","packageName","genResult","stdio","rmSync","recursive","force","generatedPackage","destPackage","cpSync","main","argv","process","strict","help","version","usage","options","input","describe","type","coerce","resolve","demandOption","parse","packageVersion","outputDir","blockResultsInput","importJson","readFile","undefined","getPreviewFullMetadataFromBlockData","pythonFunctionsDir","functionsDir","exit","effectivePythonRootDir","pythonRootProjectDir","dirname","getOsdkQueryTypes","nodeModulesPath","functionsIrOutputFile","functionNames","metadata","fullOutputDir","mkdir","existingEntries","readdir","entry","rm","writeFile","filePath","contents","normalized","replaceAll","fullPath","isAbsolute","dirPath","Map","name","types","exports","import","default","require","scripts","build","dependencies","devDependencies","typescript","previewTsconfig","compilerOptions","importHelpers","outDir","rootDir","declarationMap","sourceMap","moduleResolution","module","resolveJsonModule","allowSyntheticDefaultImports","include","exclude","metadataPath","pythonMetadataPath","functionsProjectRoot","runtimeMetadataDir","runtimeMetadataPath","ontologyRid","rid","objectTypeMetadata","objData","objType","objectType","propertyTypeMetadata","properties","propApiName","propDef","propertyTypeApiName","dataType","linkTypeMetadata","linkTypes","lt","linkTypeId","linkTypeRid","objectTypeApiName","primaryKeyPropertyTypeId","primaryKey","interfaceTypeMetadata","magritteSourceMetadata","e","success","catch","err","Error","message"],"sources":["generate-sdk.ts"],"sourcesContent":["#!/usr/bin/env node\n/*\n * Copyright 2026 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 { spawnSync } from \"node:child_process\";\nimport * as fsSync from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nimport {\n generateClientSdkVersionTwoPointZero,\n getTsCompilerOptions,\n ONTOLOGY_METADATA_DCTS_PATH,\n ONTOLOGY_METADATA_DMTS_PATH,\n ONTOLOGY_METADATA_JSON_PATH,\n} from \"@osdk/generator\";\nimport { OntologyIrToFullMetadataConverter } from \"@osdk/generator-converters.ontologyir\";\nimport { consola } from \"consola\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport { PreviewOntologyIrConverter } from \"../PreviewOntologyIrConverter.js\";\nimport { loadSdkInput } from \"./loadSdkInput.js\";\n\nconst PYTHON_SDK_PACKAGE_NAME = \"ontology_sdk\";\n\n/**\n * Generates the Python SDK package into the conda environment's site-packages\n * so that Python function discovery can resolve ontology type imports.\n */\nfunction generatePythonSdk(\n previewMetadata: ReturnType<\n typeof PreviewOntologyIrConverter.getPreviewFullMetadataFromBlockData\n >,\n pythonBinary: string,\n): void {\n // Build the Python-compatible metadata: unwrap actionTypes and add globalFunctions\n const pythonMetadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n globalFunctions: { queryTypes: {}, valueTypes: {} },\n };\n\n const objectTypes = Object.keys(previewMetadata.objectTypes ?? {});\n if (objectTypes.length === 0) {\n consola.info(\"No object types found, skipping Python SDK generation.\");\n return;\n }\n\n const ontologyApiName = previewMetadata.ontology?.apiName ?? \"ontology\";\n\n // Discover site-packages from the conda environment\n const siteResult = spawnSync(\n pythonBinary,\n [\"-c\", \"import site; print(site.getsitepackages()[0])\"],\n { encoding: \"utf-8\" },\n );\n if (siteResult.status !== 0 || !siteResult.stdout?.trim()) {\n consola.warn(\n `Could not discover Python site-packages: ${\n siteResult.stderr || siteResult.error\n }`,\n );\n return;\n }\n const sitePackages = siteResult.stdout.trim();\n consola.info(`Python site-packages: ${sitePackages}`);\n\n // Write metadata to a temp file for the generator\n const tmpDir = fsSync.mkdtempSync(path.join(os.tmpdir(), \"python-sdk-\"));\n const tmpMetadata = path.join(tmpDir, \"metadata.json\");\n fsSync.writeFileSync(\n tmpMetadata,\n JSON.stringify(pythonMetadata, null, 2),\n \"utf-8\",\n );\n\n // Run the Python SDK generator into the temp directory.\n // The generator creates <output-dir>/ontology_sdk/ which is a project\n // directory containing ontology_sdk/ (the actual Python package), setup.py, etc.\n consola.info(\"Generating Python SDK...\");\n const packageName = PYTHON_SDK_PACKAGE_NAME;\n const genResult = spawnSync(\n pythonBinary,\n [\n \"-m\",\n \"foundry_sdk_generator\",\n \"generate_package\",\n \"--output-dir\",\n tmpDir,\n \"--package-name\",\n packageName,\n \"--package-version\",\n \"0.0.0\",\n \"--ontology\",\n ontologyApiName,\n \"--object-types\",\n ...objectTypes,\n \"--cache-path\",\n tmpMetadata,\n \"--force\",\n ],\n { encoding: \"utf-8\", stdio: \"pipe\" },\n );\n\n if (genResult.status !== 0) {\n consola.warn(\n `Python SDK generation failed (non-fatal): ${\n genResult.stderr || genResult.stdout\n }`,\n );\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n return;\n }\n\n // The generator creates <tmpDir>/ontology_sdk/ontology_sdk/ (the importable\n // package). Copy just the inner package into site-packages so Python can\n // resolve `import ontology_sdk`.\n const generatedPackage = path.join(tmpDir, packageName, packageName);\n const destPackage = path.join(sitePackages, packageName);\n\n // Remove any previous version\n fsSync.rmSync(destPackage, { recursive: true, force: true });\n fsSync.cpSync(generatedPackage, destPackage, { recursive: true });\n\n // Clean up temp directory\n fsSync.rmSync(tmpDir, { recursive: true, force: true });\n\n consola.info(`Python SDK installed to ${destPackage}`);\n}\n\nasync function main(): Promise<void> {\n const argv = await yargs(hideBin(process.argv))\n .strict()\n .help()\n .version(false) // so that we can use --version argument for the package version\n .usage(\n \"$0 (--input <path> | --block-results-input <path>) --package-name <name> --version <ver> --output-dir <dir>\",\n )\n .options({\n input: {\n describe: \"Path to the OntologyIR JSON file\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"block-results-input\": {\n describe: \"Path to the block result JSON collection\",\n type: \"string\",\n coerce: (input: string) => path.resolve(input),\n },\n \"package-name\": {\n describe: \"Name for the generated SDK package\",\n type: \"string\",\n demandOption: true,\n },\n version: {\n describe: \"Version string for the generated SDK\",\n type: \"string\",\n demandOption: true,\n },\n \"output-dir\": {\n describe: \"Directory where the SDK will be generated\",\n type: \"string\",\n demandOption: true,\n coerce: path.resolve,\n },\n \"functions-dir\": {\n describe:\n \"Path to TypeScript functions source directory (enables TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"functions-ir-output-file\": {\n describe: \"Output file for discovered function IR\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"node-modules-path\": {\n describe:\n \"Path to node_modules containing @foundry packages (for TS function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-functions-dir\": {\n describe:\n \"Path to Python functions source directory (enables Python function discovery)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-root-project-dir\": {\n describe:\n \"Root project directory for Python functions (defaults to parent of python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"python-binary\": {\n describe:\n \"Path to Python binary (required when using --python-functions-dir)\",\n type: \"string\",\n coerce: path.resolve,\n },\n \"import-json\": {\n describe:\n \"Path to the import JSON file (ontology-full-metadata.json) produced by 'foundry import ontology'. Imported entities are merged into the generated SDK.\",\n type: \"string\",\n coerce: path.resolve,\n },\n })\n .parse();\n\n const packageName = argv.packageName;\n const packageVersion = argv.version;\n const outputDir = argv.outputDir;\n\n const { ontology, valueTypes } = await loadSdkInput({\n input: argv.input,\n blockResultsInput: argv.blockResultsInput,\n });\n consola.info(`Converting ${argv.input ?? argv.blockResultsInput}...`);\n\n const importJson = argv.importJson\n ? JSON.parse(await fs.readFile(argv.importJson, \"utf-8\"))\n : undefined;\n\n const previewMetadata = PreviewOntologyIrConverter\n .getPreviewFullMetadataFromBlockData(\n ontology,\n importJson,\n valueTypes,\n );\n\n // Generate the Python SDK before function discovery so that Python functions\n // that import ontology types (e.g. `from ontology_sdk.ontology.objects import X`)\n // can be successfully parsed during discovery.\n if (argv.pythonBinary && argv.pythonFunctionsDir) {\n generatePythonSdk(previewMetadata, argv.pythonBinary);\n }\n\n // Function discovery is optional - only run if at least one functions flag is provided\n if (argv.functionsDir || argv.pythonFunctionsDir) {\n if (argv.pythonFunctionsDir && !argv.pythonBinary) {\n consola.error(\n \"--python-binary is required when using --python-functions-dir\",\n );\n process.exit(1);\n }\n\n const effectivePythonRootDir = argv.pythonRootProjectDir\n ?? (argv.pythonFunctionsDir\n ? path.dirname(argv.pythonFunctionsDir)\n : undefined);\n\n const queryTypes = await OntologyIrToFullMetadataConverter\n .getOsdkQueryTypes(\n argv.pythonBinary,\n argv.functionsDir,\n argv.nodeModulesPath,\n argv.pythonFunctionsDir,\n effectivePythonRootDir,\n argv.functionsIrOutputFile,\n previewMetadata,\n );\n\n const functionNames = Object.keys(queryTypes);\n if (functionNames.length > 0) {\n previewMetadata.queryTypes = queryTypes;\n consola.info(\n `Discovered ${functionNames.length} function(s): ${\n functionNames.join(\n \", \",\n )\n }`,\n );\n } else {\n consola.info(\"No functions discovered.\");\n }\n }\n\n // Convert ActionTypeFullMetadata to ActionTypeV2 for generator compatibility\n const metadata = {\n ...previewMetadata,\n actionTypes: Object.fromEntries(\n Object.entries(previewMetadata.actionTypes).map(([key, fullMeta]) => [\n key,\n fullMeta.actionType,\n ]),\n ),\n };\n\n const fullOutputDir = path.join(outputDir, packageName);\n await fs.mkdir(fullOutputDir, { recursive: true });\n\n // Clean the output directory before generation. The generator's verifyOutDir\n // requires an empty directory, but a previous SDK build may exist from\n // function discovery (so TypeScript functions can resolve @ontology/sdk imports).\n const existingEntries = await fs.readdir(fullOutputDir);\n for (const entry of existingEntries) {\n await fs.rm(path.join(fullOutputDir, entry), {\n recursive: true,\n force: true,\n });\n }\n\n const hostFs = {\n async writeFile(filePath: string, contents: string): Promise<void> {\n // Normalize backslashes to forward slashes so path.join/isAbsolute\n // work consistently on Windows where generators may emit mixed separators.\n const normalized = filePath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(path.dirname(fullPath), { recursive: true });\n await fs.writeFile(fullPath, contents, \"utf-8\");\n },\n async mkdir(dirPath: string): Promise<void> {\n const normalized = dirPath.replaceAll(\"\\\\\", \"/\");\n const fullPath = path.isAbsolute(normalized)\n ? normalized\n : path.join(fullOutputDir, normalized);\n await fs.mkdir(fullPath, { recursive: true });\n },\n async readdir(dirPath: string): Promise<string[]> {\n return fs.readdir(dirPath);\n },\n };\n\n consola.info(`Generating SDK to ${fullOutputDir}...`);\n\n await generateClientSdkVersionTwoPointZero(\n metadata,\n `osdk-generator/${packageVersion} (from-ir)`,\n hostFs,\n fullOutputDir,\n \"module\",\n new Map(),\n new Map(),\n new Map(),\n false,\n [],\n true,\n new Map(),\n );\n\n // Write package.json for module resolution. Points to compiled output in\n // dist/ so that TypeScript function discovery can resolve types from\n // @ontology/sdk during the bootstrap → function discovery → regeneration cycle.\n // No npm install is needed — @osdk/client and typescript are resolved from\n // the parent ontology project's node_modules.\n const previewPackageJson = {\n name: packageName,\n version: packageVersion,\n type: \"module\",\n main: \"./dist/index.js\",\n types: \"./dist/index.d.ts\",\n exports: {\n \".\": {\n types: \"./dist/index.d.ts\",\n import: \"./dist/index.js\",\n },\n \"./experimental/ontology-metadata\": {\n import: {\n types: `./${ONTOLOGY_METADATA_DMTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n require: {\n types: `./${ONTOLOGY_METADATA_DCTS_PATH}`,\n default: `./${ONTOLOGY_METADATA_JSON_PATH}`,\n },\n },\n },\n scripts: {\n build: \"tsc\",\n },\n dependencies: {\n \"@osdk/client\": \"^2.0.0\",\n },\n devDependencies: {\n typescript: \"^5.0.0\",\n },\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"package.json\"),\n `${JSON.stringify(previewPackageJson, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"package.json\")}`);\n\n // Write tsconfig.json for the tsc build step. Uses shared compiler options\n // from @osdk/generator with preview-specific additions.\n const previewTsconfig = {\n compilerOptions: {\n ...getTsCompilerOptions(\"module\"),\n importHelpers: false,\n outDir: \"./dist\",\n rootDir: \"./\",\n declarationMap: true,\n sourceMap: true,\n moduleResolution: \"node\",\n module: \"ES2020\",\n resolveJsonModule: true,\n allowSyntheticDefaultImports: true,\n },\n include: [\"**/*.ts\", \"**/*.tsx\"],\n exclude: [\"node_modules\", \"dist\"],\n };\n\n await fs.writeFile(\n path.join(fullOutputDir, \"tsconfig.json\"),\n `${JSON.stringify(previewTsconfig, null, 2)}\\n`,\n \"utf-8\",\n );\n consola.info(`Wrote ${path.join(fullOutputDir, \"tsconfig.json\")}`);\n\n const metadataPath = path.join(fullOutputDir, \"ontology-metadata.json\");\n await fs.writeFile(\n metadataPath,\n JSON.stringify(previewMetadata, null, 2),\n \"utf-8\",\n );\n\n consola.info(`Wrote ${metadataPath}`);\n\n // Write Python-compatible metadata that the foundry-sdk-generator expects.\n // This uses the unwrapped actionTypes (ActionTypeV2 instead of\n // ActionTypeFullMetadata) and adds the globalFunctions key.\n if (argv.pythonFunctionsDir) {\n const pythonMetadataPath = path.join(\n fullOutputDir,\n \"python-ontology-metadata.json\",\n );\n await fs.writeFile(\n pythonMetadataPath,\n JSON.stringify(\n { ...metadata, globalFunctions: { queryTypes: {}, valueTypes: {} } },\n null,\n 2,\n ),\n \"utf-8\",\n );\n consola.info(`Wrote ${pythonMetadataPath}`);\n }\n\n // Write runtime metadata.json for the TypeScript functions runtime.\n // The runtime needs entity metadata to resolve ontology types during\n // function discovery. Without this, functions using Client/Osdk.Instance\n // produce diagnostics that block ALL function discovery.\n if (argv.functionsDir) {\n const functionsProjectRoot = path.resolve(argv.functionsDir, \"..\", \"..\");\n const runtimeMetadataDir = path.join(\n functionsProjectRoot,\n \".dev-server\",\n \"var\",\n \"conf\",\n );\n const runtimeMetadataPath = path.join(runtimeMetadataDir, \"metadata.json\");\n\n const ontologyRid = previewMetadata.ontology.rid;\n\n const objectTypeMetadata: Record<string, unknown> = {};\n if (previewMetadata.objectTypes) {\n for (\n const [apiName, objData] of Object.entries(\n previewMetadata.objectTypes,\n )\n ) {\n const objType = objData.objectType;\n const propertyTypeMetadata: Record<\n string,\n { propertyTypeApiName: string; type?: unknown }\n > = {};\n if (objType.properties) {\n for (\n const [propApiName, propDef] of Object.entries(\n objType.properties,\n )\n ) {\n propertyTypeMetadata[propApiName] = {\n propertyTypeApiName: propApiName,\n type: propDef.dataType,\n };\n }\n }\n // linkTypeMetadata uses the nested format expected by the TS runtime:\n // { [linkTypeId]: { [linkApiName]: {} } }\n const linkTypeMetadata: Record<string, Record<string, object>> = {};\n if (objData.linkTypes) {\n for (const lt of objData.linkTypes) {\n const linkTypeId = lt.linkTypeRid;\n if (!linkTypeMetadata[linkTypeId]) {\n linkTypeMetadata[linkTypeId] = {};\n }\n linkTypeMetadata[linkTypeId][lt.apiName] = {};\n }\n }\n objectTypeMetadata[apiName] = {\n objectTypeApiName: apiName,\n primaryKeyPropertyTypeId: objType.primaryKey,\n propertyTypeMetadata,\n linkTypeMetadata,\n };\n }\n }\n\n const runtimeMetadata = {\n ontologyRid,\n objectTypeMetadata,\n interfaceTypeMetadata: {},\n magritteSourceMetadata: {},\n };\n\n try {\n await fs.mkdir(runtimeMetadataDir, { recursive: true });\n await fs.writeFile(\n runtimeMetadataPath,\n JSON.stringify(runtimeMetadata),\n \"utf-8\",\n );\n consola.info(`Wrote runtime metadata to ${runtimeMetadataPath}`);\n } catch (e) {\n consola.warn(`Could not write runtime metadata: ${e}`);\n }\n }\n\n consola.success(\"Done!\");\n}\n\nmain().catch((err: unknown) => {\n consola.error(err instanceof Error ? err.message : err);\n process.exit(1);\n});\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/generator-converters.preview",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "OSDK generator with support for Python and TSv2 discovered functions",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@osdk/foundry.ontologies": "2.
|
|
32
|
+
"@osdk/foundry.ontologies": "2.78.0",
|
|
33
33
|
"consola": "^3.4.2",
|
|
34
34
|
"yargs": "17.7.2",
|
|
35
|
-
"@osdk/client.unstable": "~2.
|
|
36
|
-
"@osdk/generator": "~2.
|
|
37
|
-
"@osdk/generator
|
|
35
|
+
"@osdk/client.unstable": "~2.71.0",
|
|
36
|
+
"@osdk/generator-converters.ontologyir": "~2.71.0",
|
|
37
|
+
"@osdk/generator": "~2.71.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^24.3.1",
|