@osdk/generator 2.4.0-beta.9 → 2.4.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/build/browser/shared/getInterfaceTypeApiNamesFromQuery.js +28 -0
  3. package/build/browser/shared/getInterfaceTypeApiNamesFromQuery.js.map +1 -0
  4. package/build/browser/shared/getInterfaceTypesFromQueryDataType.js +63 -0
  5. package/build/browser/shared/getInterfaceTypesFromQueryDataType.js.map +1 -0
  6. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +10 -10
  7. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  8. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +23 -0
  9. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
  10. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +7 -4
  11. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
  12. package/build/browser/v2.0/generatePerActionDataFiles.js +1 -1
  13. package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
  14. package/build/browser/v2.0/generatePerInterfaceDataFiles.js +2 -1
  15. package/build/browser/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
  16. package/build/browser/v2.0/generatePerQueryDataFiles.js +10 -2
  17. package/build/browser/v2.0/generatePerQueryDataFiles.js.map +1 -1
  18. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +4 -2
  19. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  20. package/build/cjs/index.cjs +84 -13
  21. package/build/cjs/index.cjs.map +1 -1
  22. package/build/esm/shared/getInterfaceTypeApiNamesFromQuery.js +28 -0
  23. package/build/esm/shared/getInterfaceTypeApiNamesFromQuery.js.map +1 -0
  24. package/build/esm/shared/getInterfaceTypesFromQueryDataType.js +63 -0
  25. package/build/esm/shared/getInterfaceTypesFromQueryDataType.js.map +1 -0
  26. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +10 -10
  27. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  28. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +23 -0
  29. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
  30. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +7 -4
  31. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
  32. package/build/esm/v2.0/generatePerActionDataFiles.js +1 -1
  33. package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
  34. package/build/esm/v2.0/generatePerInterfaceDataFiles.js +2 -1
  35. package/build/esm/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
  36. package/build/esm/v2.0/generatePerQueryDataFiles.js +10 -2
  37. package/build/esm/v2.0/generatePerQueryDataFiles.js.map +1 -1
  38. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +4 -2
  39. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  40. package/build/types/shared/getInterfaceTypeApiNamesFromQuery.d.ts +3 -0
  41. package/build/types/shared/getInterfaceTypeApiNamesFromQuery.d.ts.map +1 -0
  42. package/build/types/shared/getInterfaceTypesFromQueryDataType.d.ts +2 -0
  43. package/build/types/shared/getInterfaceTypesFromQueryDataType.d.ts.map +1 -0
  44. package/build/types/v2.0/generatePerQueryDataFiles.d.ts.map +1 -1
  45. package/build/types/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
  46. package/package.json +5 -5
@@ -153,7 +153,7 @@ export async function generatePerActionDataFiles({
153
153
  "*": (ogValue, _, ogKey) => {
154
154
  const key = `${getDescriptionIfPresent(ogValue.description)}
155
155
  readonly "${ogKey}"${ogValue.nullable ? "?" : ""}`;
156
- const value = (ogValue.multiplicity ? `ReadonlyArray<${getActionParamType(ogValue.type)}>` : `${getActionParamType(ogValue.type)}`) + (ogValue.nullable ? " | ActionParam.NullValueType" : "");
156
+ const value = ogValue.multiplicity ? `ReadonlyArray<${getActionParamType(ogValue.type)}>` : `${getActionParamType(ogValue.type)}`;
157
157
  jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` : ogKey} ${ogValue.description ?? ""} `);
158
158
  return [key, value];
159
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generatePerActionDataFiles.js","names":["wireActionTypeV2ToSdkActionMetadata","path","getObjectImports","deleteUndefineds","stringify","stringUnionFrom","formatTs","getDescriptionIfPresent","generatePerActionDataFiles","sanitizedOntology","ontology","fs","outDir","rootOutDir","importExt","enhancedOntology","forInternalUse","join","mkdir","recursive","Promise","all","Object","values","actionTypes","map","action","currentFilePath","shortApiName","uniqueApiNamesArray","extractReferencedObjectsFromAction","raw","uniqueApiNames","Set","fullActionDef","createParamsDef","entries","parameters","sort","a","b","localeCompare","length","key","value","description","d","undefined","type","JSON","obj","requireObjectType","object","getImportedDefinitionIdentifier","objectSet","requireInterfaceType","interface","struct","getActionParamType","input","referencedObjectDefs","p","dataType","objectApiName","add","objectTypeApiName","interfaceTypeApiName","subType","imports","writeFile","jsDocBlock","push","*","ogValue","_","ogKey","nullable","multiplicity","paramsIdentifier","definitionParamsIdentifier","displayName","modifiedEntities","rid","status","indexFileRelPath","exportConstLine","getImportPathRelTo","keys","actionType","referencedObjectsInParameters","flatMap","objectTypeReference","extractReferencedObjectsFromActionParameter","referenceObjectsInEdits","operations","actionParameter"],"sources":["generatePerActionDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 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 type { ActionMetadata } from \"@osdk/api\";\nimport type {\n ActionParameterType,\n ActionTypeV2,\n} from \"@osdk/foundry.ontologies\";\nimport { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport type { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { stringUnionFrom } from \"../util/stringUnionFrom.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\n\nexport async function generatePerActionDataFiles(\n {\n sanitizedOntology: ontology,\n fs,\n outDir: rootOutDir,\n importExt = \"\",\n ontology: enhancedOntology,\n forInternalUse = false,\n }: Pick<\n GenerateContext,\n | \"sanitizedOntology\"\n | \"fs\"\n | \"outDir\"\n | \"importExt\"\n | \"ontology\"\n | \"forInternalUse\"\n >,\n): Promise<void> {\n const outDir = path.join(rootOutDir, \"ontology\", \"actions\");\n\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(\n Object.values(enhancedOntology.actionTypes).map(async (action) => {\n const currentFilePath = path.join(\n \"ontology\",\n \"actions\",\n `${action.shortApiName}.ts`,\n );\n\n const uniqueApiNamesArray = extractReferencedObjectsFromAction(\n action.raw,\n );\n const uniqueApiNames = new Set(uniqueApiNamesArray);\n\n const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);\n\n const fullActionDef = deleteUndefineds(\n wireActionTypeV2ToSdkActionMetadata(action.raw),\n );\n\n function createParamsDef() {\n const entries = Object.entries(fullActionDef.parameters ?? {});\n entries.sort((a, b) => a[0].localeCompare(b[0]));\n\n if (entries.length === 0) {\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = Record<string, never>;`;\n }\n\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = {\n ${\n entries.map(([key, value]) => {\n return `\"${key}\": {\n ${\n stringify(value, {\n description: (value, d) => value ? d(value) : undefined, // trick to remove undefineds\n type: (type) => {\n if (typeof type === \"string\") {\n return JSON.stringify(type);\n } else if (type.type === \"object\") {\n const obj = enhancedOntology.requireObjectType(type.object);\n return `ActionMetadata.DataType.Object<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"objectSet\") {\n const obj = enhancedOntology.requireObjectType(\n type.objectSet,\n );\n return `ActionMetadata.DataType.ObjectSet<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"interface\") {\n const obj = enhancedOntology.requireInterfaceType(\n type.interface,\n );\n return `ActionMetadata.DataType.Interface<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"struct\") {\n return `ActionMetadata.DataType.Struct<${\n JSON.stringify(type.struct)\n }>`;\n }\n return undefined;\n },\n })\n }\n }`;\n })\n .join(\";\\n\")\n }\n }`;\n }\n\n function getActionParamType(\n input: ActionMetadata.Parameter[\"type\"],\n ) {\n if (typeof input === \"string\") {\n return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;\n } else if (input.type === \"object\") {\n return `ActionParam.ObjectType<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"objectSet\") {\n return `ActionParam.ObjectSetType<${\n enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"interface\") {\n return `ActionParam.InterfaceType<${\n enhancedOntology.requireInterfaceType(input.interface)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"struct\") {\n return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;\n }\n }\n\n function createV2Types() {\n const oldParamsIdentifier = `${action.shortApiName}$Params`;\n const jsDocBlock = [\"/**\"];\n if (action.description != null) {\n jsDocBlock.push(`* ${action.description}`);\n }\n // the params must be a `type` to align properly with the `ActionDefinition` interface\n // this way we can generate a strict type for the function itself and reference it from the Action Definition\n return `\n \n export namespace ${action.shortApiName}{\n ${createParamsDef()}\n\n ${getDescriptionIfPresent(action.description)}\n export interface Params {\n ${\n stringify(fullActionDef.parameters, {\n \"*\": (ogValue, _, ogKey) => {\n const key = `${getDescriptionIfPresent(ogValue.description)}\n readonly \"${ogKey}\"${ogValue.nullable ? \"?\" : \"\"}`;\n\n const value = (ogValue.multiplicity\n ? `ReadonlyArray<${getActionParamType(ogValue.type)}>`\n : `${getActionParamType(ogValue.type)}`)\n + (ogValue.nullable ? \" | ActionParam.NullValueType\" : \"\");\n jsDocBlock.push(\n `* @param {${getActionParamType(ogValue.type)}} ${\n ogValue.nullable ? `[${ogKey}]` : ogKey\n } ${ogValue.description ?? \"\"} `,\n );\n return [key, value];\n },\n })\n }\n }\n\n // Represents a fqn of the action\n export interface Signatures {\n ${getDescriptionIfPresent(action.description)}\n applyAction<OP extends ApplyActionOptions>(args: ${action.paramsIdentifier}, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n \n batchApplyAction<OP extends ApplyBatchActionOptions>(args: ReadonlyArray<${action.paramsIdentifier}>, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n }\n \n }\n\n \n ${jsDocBlock.join(\"\\n\")}\n */\n export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {\n __DefinitionMetadata?: {\n ${\n stringify(fullActionDef, {\n \"parameters\": () => action.definitionParamsIdentifier,\n })\n }\n \n signatures: ${action.shortApiName}.Signatures;\n },\n ${\n stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })\n }\n osdkMetadata: typeof $osdkMetadata;\n }\n `;\n }\n\n function createV2Object() {\n return ` export const ${action.shortApiName}: ${action.shortApiName} = \n {\n ${\n stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })\n },\n osdkMetadata: $osdkMetadata\n }\n `;\n }\n\n const referencedObjectDefs = new Set<EnhancedObjectType | ForeignType>();\n for (const p of Object.values(action.parameters)) {\n if (p.dataType.type === \"object\" || p.dataType.type === \"objectSet\") {\n if (p.dataType.objectApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(p.dataType.objectApiName),\n );\n }\n if (p.dataType.objectTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(p.dataType.objectTypeApiName),\n );\n }\n }\n if (p.dataType.type === \"interfaceObject\") {\n if (p.dataType.interfaceTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireInterfaceType(\n p.dataType.interfaceTypeApiName,\n ),\n );\n }\n }\n if (p.dataType.type === \"array\") {\n if (\n p.dataType.subType.type === \"object\"\n || p.dataType.subType.type === \"objectSet\"\n ) {\n if (p.dataType.subType.objectApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(\n p.dataType.subType.objectApiName,\n ),\n );\n }\n if (p.dataType.subType.objectTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(\n p.dataType.subType.objectTypeApiName,\n ),\n );\n }\n }\n if (\n p.dataType.subType.type === \"interfaceObject\"\n ) {\n if (p.dataType.subType.interfaceTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireInterfaceType(\n p.dataType.subType.interfaceTypeApiName,\n ),\n );\n }\n }\n }\n }\n\n const imports = getObjectImports(\n referencedObjectDefs,\n undefined,\n currentFilePath,\n true,\n );\n\n await fs.writeFile(\n path.join(rootOutDir, currentFilePath),\n await formatTs(`\n import type {\n ActionDefinition,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${imports}\n\n \n ${createV2Types()}\n\n ${createV2Object()}\n `),\n );\n }),\n );\n\n const indexFileRelPath = path.join(\"ontology\", \"actions.ts\");\n\n await fs.writeFile(\n path.join(rootOutDir, indexFileRelPath),\n await formatTs(`\n ${\n Object.values(enhancedOntology.actionTypes).map(action => {\n const exportConstLine = `export {${action.shortApiName} } from \"${\n action.getImportPathRelTo(indexFileRelPath)\n }\";`;\n\n return exportConstLine;\n })\n .join(\"\\n\")\n }\n ${Object.keys(ontology.actionTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n\nfunction extractReferencedObjectsFromAction(\n actionType: ActionTypeV2,\n): string[] {\n const referencedObjectsInParameters = Object.values(actionType.parameters)\n .flatMap(({ dataType }) => {\n const objectTypeReference = extractReferencedObjectsFromActionParameter(\n dataType,\n );\n return objectTypeReference ? [objectTypeReference] : [];\n });\n\n const referenceObjectsInEdits = actionType.operations.flatMap(value => {\n switch (value.type) {\n case \"createObject\":\n return [value.objectTypeApiName];\n case \"modifyObject\":\n return [value.objectTypeApiName];\n case \"deleteObject\":\n case \"createLink\":\n case \"deleteLink\":\n default:\n return [];\n }\n });\n\n return [...referenceObjectsInEdits, ...referencedObjectsInParameters];\n}\n\nfunction extractReferencedObjectsFromActionParameter(\n actionParameter: ActionParameterType,\n): string | undefined {\n switch (actionParameter.type) {\n case \"objectSet\":\n case \"object\":\n return actionParameter.objectTypeApiName;\n case \"array\":\n return extractReferencedObjectsFromActionParameter(\n actionParameter.subType,\n );\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"generatePerActionDataFiles.js","names":["wireActionTypeV2ToSdkActionMetadata","path","getObjectImports","deleteUndefineds","stringify","stringUnionFrom","formatTs","getDescriptionIfPresent","generatePerActionDataFiles","sanitizedOntology","ontology","fs","outDir","rootOutDir","importExt","enhancedOntology","forInternalUse","join","mkdir","recursive","Promise","all","Object","values","actionTypes","map","action","currentFilePath","shortApiName","uniqueApiNamesArray","extractReferencedObjectsFromAction","raw","uniqueApiNames","Set","fullActionDef","createParamsDef","entries","parameters","sort","a","b","localeCompare","length","key","value","description","d","undefined","type","JSON","obj","requireObjectType","object","getImportedDefinitionIdentifier","objectSet","requireInterfaceType","interface","struct","getActionParamType","input","referencedObjectDefs","p","dataType","objectApiName","add","objectTypeApiName","interfaceTypeApiName","subType","imports","writeFile","jsDocBlock","push","*","ogValue","_","ogKey","nullable","multiplicity","paramsIdentifier","definitionParamsIdentifier","displayName","modifiedEntities","rid","status","indexFileRelPath","exportConstLine","getImportPathRelTo","keys","actionType","referencedObjectsInParameters","flatMap","objectTypeReference","extractReferencedObjectsFromActionParameter","referenceObjectsInEdits","operations","actionParameter"],"sources":["generatePerActionDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 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 type { ActionMetadata } from \"@osdk/api\";\nimport type {\n ActionParameterType,\n ActionTypeV2,\n} from \"@osdk/foundry.ontologies\";\nimport { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport type { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { stringUnionFrom } from \"../util/stringUnionFrom.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\n\nexport async function generatePerActionDataFiles(\n {\n sanitizedOntology: ontology,\n fs,\n outDir: rootOutDir,\n importExt = \"\",\n ontology: enhancedOntology,\n forInternalUse = false,\n }: Pick<\n GenerateContext,\n | \"sanitizedOntology\"\n | \"fs\"\n | \"outDir\"\n | \"importExt\"\n | \"ontology\"\n | \"forInternalUse\"\n >,\n): Promise<void> {\n const outDir = path.join(rootOutDir, \"ontology\", \"actions\");\n\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(\n Object.values(enhancedOntology.actionTypes).map(async (action) => {\n const currentFilePath = path.join(\n \"ontology\",\n \"actions\",\n `${action.shortApiName}.ts`,\n );\n\n const uniqueApiNamesArray = extractReferencedObjectsFromAction(\n action.raw,\n );\n const uniqueApiNames = new Set(uniqueApiNamesArray);\n\n const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);\n\n const fullActionDef = deleteUndefineds(\n wireActionTypeV2ToSdkActionMetadata(action.raw),\n );\n\n function createParamsDef() {\n const entries = Object.entries(fullActionDef.parameters ?? {});\n entries.sort((a, b) => a[0].localeCompare(b[0]));\n\n if (entries.length === 0) {\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = Record<string, never>;`;\n }\n\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = {\n ${\n entries.map(([key, value]) => {\n return `\"${key}\": {\n ${\n stringify(value, {\n description: (value, d) => value ? d(value) : undefined, // trick to remove undefineds\n type: (type) => {\n if (typeof type === \"string\") {\n return JSON.stringify(type);\n } else if (type.type === \"object\") {\n const obj = enhancedOntology.requireObjectType(type.object);\n return `ActionMetadata.DataType.Object<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"objectSet\") {\n const obj = enhancedOntology.requireObjectType(\n type.objectSet,\n );\n return `ActionMetadata.DataType.ObjectSet<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"interface\") {\n const obj = enhancedOntology.requireInterfaceType(\n type.interface,\n );\n return `ActionMetadata.DataType.Interface<${\n obj.getImportedDefinitionIdentifier(true)\n }>`;\n } else if (type.type === \"struct\") {\n return `ActionMetadata.DataType.Struct<${\n JSON.stringify(type.struct)\n }>`;\n }\n return undefined;\n },\n })\n }\n }`;\n })\n .join(\";\\n\")\n }\n }`;\n }\n\n function getActionParamType(\n input: ActionMetadata.Parameter[\"type\"],\n ) {\n if (typeof input === \"string\") {\n return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;\n } else if (input.type === \"object\") {\n return `ActionParam.ObjectType<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"objectSet\") {\n return `ActionParam.ObjectSetType<${\n enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"interface\") {\n return `ActionParam.InterfaceType<${\n enhancedOntology.requireInterfaceType(input.interface)\n .getImportedDefinitionIdentifier(true)\n }>`;\n } else if (input.type === \"struct\") {\n return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;\n }\n }\n\n function createV2Types() {\n const oldParamsIdentifier = `${action.shortApiName}$Params`;\n const jsDocBlock = [\"/**\"];\n if (action.description != null) {\n jsDocBlock.push(`* ${action.description}`);\n }\n // the params must be a `type` to align properly with the `ActionDefinition` interface\n // this way we can generate a strict type for the function itself and reference it from the Action Definition\n return `\n \n export namespace ${action.shortApiName}{\n ${createParamsDef()}\n\n ${getDescriptionIfPresent(action.description)}\n export interface Params {\n ${\n stringify(fullActionDef.parameters, {\n \"*\": (ogValue, _, ogKey) => {\n const key = `${getDescriptionIfPresent(ogValue.description)}\n readonly \"${ogKey}\"${ogValue.nullable ? \"?\" : \"\"}`;\n\n const value = ogValue.multiplicity\n ? `ReadonlyArray<${getActionParamType(ogValue.type)}>`\n : `${getActionParamType(ogValue.type)}`;\n jsDocBlock.push(\n `* @param {${getActionParamType(ogValue.type)}} ${\n ogValue.nullable ? `[${ogKey}]` : ogKey\n } ${ogValue.description ?? \"\"} `,\n );\n return [key, value];\n },\n })\n }\n }\n\n // Represents a fqn of the action\n export interface Signatures {\n ${getDescriptionIfPresent(action.description)}\n applyAction<OP extends ApplyActionOptions>(args: ${action.paramsIdentifier}, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n \n batchApplyAction<OP extends ApplyBatchActionOptions>(args: ReadonlyArray<${action.paramsIdentifier}>, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n }\n \n }\n\n \n ${jsDocBlock.join(\"\\n\")}\n */\n export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {\n __DefinitionMetadata?: {\n ${\n stringify(fullActionDef, {\n \"parameters\": () => action.definitionParamsIdentifier,\n })\n }\n \n signatures: ${action.shortApiName}.Signatures;\n },\n ${\n stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })\n }\n osdkMetadata: typeof $osdkMetadata;\n }\n `;\n }\n\n function createV2Object() {\n return ` export const ${action.shortApiName}: ${action.shortApiName} = \n {\n ${\n stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined,\n })\n },\n osdkMetadata: $osdkMetadata\n }\n `;\n }\n\n const referencedObjectDefs = new Set<EnhancedObjectType | ForeignType>();\n for (const p of Object.values(action.parameters)) {\n if (p.dataType.type === \"object\" || p.dataType.type === \"objectSet\") {\n if (p.dataType.objectApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(p.dataType.objectApiName),\n );\n }\n if (p.dataType.objectTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(p.dataType.objectTypeApiName),\n );\n }\n }\n if (p.dataType.type === \"interfaceObject\") {\n if (p.dataType.interfaceTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireInterfaceType(\n p.dataType.interfaceTypeApiName,\n ),\n );\n }\n }\n if (p.dataType.type === \"array\") {\n if (\n p.dataType.subType.type === \"object\"\n || p.dataType.subType.type === \"objectSet\"\n ) {\n if (p.dataType.subType.objectApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(\n p.dataType.subType.objectApiName,\n ),\n );\n }\n if (p.dataType.subType.objectTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireObjectType(\n p.dataType.subType.objectTypeApiName,\n ),\n );\n }\n }\n if (\n p.dataType.subType.type === \"interfaceObject\"\n ) {\n if (p.dataType.subType.interfaceTypeApiName) {\n referencedObjectDefs.add(\n enhancedOntology.requireInterfaceType(\n p.dataType.subType.interfaceTypeApiName,\n ),\n );\n }\n }\n }\n }\n\n const imports = getObjectImports(\n referencedObjectDefs,\n undefined,\n currentFilePath,\n true,\n );\n\n await fs.writeFile(\n path.join(rootOutDir, currentFilePath),\n await formatTs(`\n import type {\n ActionDefinition,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${imports}\n\n \n ${createV2Types()}\n\n ${createV2Object()}\n `),\n );\n }),\n );\n\n const indexFileRelPath = path.join(\"ontology\", \"actions.ts\");\n\n await fs.writeFile(\n path.join(rootOutDir, indexFileRelPath),\n await formatTs(`\n ${\n Object.values(enhancedOntology.actionTypes).map(action => {\n const exportConstLine = `export {${action.shortApiName} } from \"${\n action.getImportPathRelTo(indexFileRelPath)\n }\";`;\n\n return exportConstLine;\n })\n .join(\"\\n\")\n }\n ${Object.keys(ontology.actionTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n\nfunction extractReferencedObjectsFromAction(\n actionType: ActionTypeV2,\n): string[] {\n const referencedObjectsInParameters = Object.values(actionType.parameters)\n .flatMap(({ dataType }) => {\n const objectTypeReference = extractReferencedObjectsFromActionParameter(\n dataType,\n );\n return objectTypeReference ? [objectTypeReference] : [];\n });\n\n const referenceObjectsInEdits = actionType.operations.flatMap(value => {\n switch (value.type) {\n case \"createObject\":\n return [value.objectTypeApiName];\n case \"modifyObject\":\n return [value.objectTypeApiName];\n case \"deleteObject\":\n case \"createLink\":\n case \"deleteLink\":\n default:\n return [];\n }\n });\n\n return [...referenceObjectsInEdits, ...referencedObjectsInParameters];\n}\n\nfunction extractReferencedObjectsFromActionParameter(\n actionParameter: ActionParameterType,\n): string | undefined {\n switch (actionParameter.type) {\n case \"objectSet\":\n case \"object\":\n return actionParameter.objectTypeApiName;\n case \"array\":\n return extractReferencedObjectsFromActionParameter(\n actionParameter.subType,\n );\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n return undefined;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,SAASA,mCAAmC,QAAQ,4BAA4B;AAChF,OAAOC,IAAI,MAAM,WAAW;AAI5B,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,SAAS,QAAQ,sBAAsB;AAChD,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SAASC,uBAAuB,QAAQ,8BAA8B;AAEtE,OAAO,eAAeC,0BAA0BA,CAC9C;EACEC,iBAAiB,EAAEC,QAAQ;EAC3BC,EAAE;EACFC,MAAM,EAAEC,UAAU;EAClBC,SAAS,GAAG,EAAE;EACdJ,QAAQ,EAAEK,gBAAgB;EAC1BC,cAAc,GAAG;AASnB,CAAC,EACc;EACf,MAAMJ,MAAM,GAAGX,IAAI,CAACgB,IAAI,CAACJ,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;EAE3D,MAAMF,EAAE,CAACO,KAAK,CAACN,MAAM,EAAE;IAAEO,SAAS,EAAE;EAAK,CAAC,CAAC;EAC3C,MAAMC,OAAO,CAACC,GAAG,CACfC,MAAM,CAACC,MAAM,CAACR,gBAAgB,CAACS,WAAW,CAAC,CAACC,GAAG,CAAC,MAAOC,MAAM,IAAK;IAChE,MAAMC,eAAe,GAAG1B,IAAI,CAACgB,IAAI,CAC/B,UAAU,EACV,SAAS,EACT,GAAGS,MAAM,CAACE,YAAY,KACxB,CAAC;IAED,MAAMC,mBAAmB,GAAGC,kCAAkC,CAC5DJ,MAAM,CAACK,GACT,CAAC;IACD,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAACJ,mBAAmB,CAAC;IAEtBxB,eAAe,CAAC,CAAC,GAAG2B,cAAc,CAAC,CAAC;IAEjE,MAAME,aAAa,GAAG/B,gBAAgB,CACpCH,mCAAmC,CAAC0B,MAAM,CAACK,GAAG,CAChD,CAAC;IAED,SAASI,eAAeA,CAAA,EAAG;MACzB,MAAMC,OAAO,GAAGd,MAAM,CAACc,OAAO,CAACF,aAAa,CAACG,UAAU,IAAI,CAAC,CAAC,CAAC;MAC9DD,OAAO,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC,CAAC,CAAC,CAACE,aAAa,CAACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAEhD,IAAIJ,OAAO,CAACM,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;AACjB,gEAAgE;MACxD;MAEA,OAAO;AACf;AACA,YACUN,OAAO,CAACX,GAAG,CAAC,CAAC,CAACkB,GAAG,EAAEC,KAAK,CAAC,KAAK;QAC5B,OAAO,IAAID,GAAG;AAC1B,kBACcvC,SAAS,CAACwC,KAAK,EAAE;UACfC,WAAW,EAAEA,CAACD,KAAK,EAAEE,CAAC,KAAKF,KAAK,GAAGE,CAAC,CAACF,KAAK,CAAC,GAAGG,SAAS;UAAE;UACzDC,IAAI,EAAGA,IAAI,IAAK;YACd,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;cAC5B,OAAOC,IAAI,CAAC7C,SAAS,CAAC4C,IAAI,CAAC;YAC7B,CAAC,MAAM,IAAIA,IAAI,CAACA,IAAI,KAAK,QAAQ,EAAE;cACjC,MAAME,GAAG,GAAGnC,gBAAgB,CAACoC,iBAAiB,CAACH,IAAI,CAACI,MAAM,CAAC;cAC3D,OAAO,kCACLF,GAAG,CAACG,+BAA+B,CAAC,IAAI,CAAC,GACxC;YACL,CAAC,MAAM,IAAIL,IAAI,CAACA,IAAI,KAAK,WAAW,EAAE;cACpC,MAAME,GAAG,GAAGnC,gBAAgB,CAACoC,iBAAiB,CAC5CH,IAAI,CAACM,SACP,CAAC;cACD,OAAO,qCACLJ,GAAG,CAACG,+BAA+B,CAAC,IAAI,CAAC,GACxC;YACL,CAAC,MAAM,IAAIL,IAAI,CAACA,IAAI,KAAK,WAAW,EAAE;cACpC,MAAME,GAAG,GAAGnC,gBAAgB,CAACwC,oBAAoB,CAC/CP,IAAI,CAACQ,SACP,CAAC;cACD,OAAO,qCACLN,GAAG,CAACG,+BAA+B,CAAC,IAAI,CAAC,GACxC;YACL,CAAC,MAAM,IAAIL,IAAI,CAACA,IAAI,KAAK,QAAQ,EAAE;cACjC,OAAO,kCACLC,IAAI,CAAC7C,SAAS,CAAC4C,IAAI,CAACS,MAAM,CAAC,GAC1B;YACL;YACA,OAAOV,SAAS;UAClB;QACF,CAAC,CAAC;AAChB,cACc;MACJ,CAAC,CAAC,CACC9B,IAAI,CAAC,KAAK,CAAC;AACxB,UACU;IACJ;IAEA,SAASyC,kBAAkBA,CACzBC,KAAuC,EACvC;MACA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,6BAA6BV,IAAI,CAAC7C,SAAS,CAACuD,KAAK,CAAC,GAAG;MAC9D,CAAC,MAAM,IAAIA,KAAK,CAACX,IAAI,KAAK,QAAQ,EAAE;QAClC,OAAO,0BACLjC,gBAAgB,CAACoC,iBAAiB,CAACQ,KAAK,CAACP,MAAM,CAAC,CAC7CC,+BAA+B,CAAC,IAAI,CAAC,GACvC;MACL,CAAC,MAAM,IAAIM,KAAK,CAACX,IAAI,KAAK,WAAW,EAAE;QACrC,OAAO,6BACLjC,gBAAgB,CAACoC,iBAAiB,CAACQ,KAAK,CAACL,SAAS,CAAC,CAChDD,+BAA+B,CAAC,IAAI,CAAC,GACvC;MACL,CAAC,MAAM,IAAIM,KAAK,CAACX,IAAI,KAAK,WAAW,EAAE;QACrC,OAAO,6BACLjC,gBAAgB,CAACwC,oBAAoB,CAACI,KAAK,CAACH,SAAS,CAAC,CACnDH,+BAA+B,CAAC,IAAI,CAAC,GACvC;MACL,CAAC,MAAM,IAAIM,KAAK,CAACX,IAAI,KAAK,QAAQ,EAAE;QAClC,OAAO,0BAA0BC,IAAI,CAAC7C,SAAS,CAACuD,KAAK,CAACF,MAAM,CAAC,GAAG;MAClE;IACF;IA6FA,MAAMG,oBAAoB,GAAG,IAAI3B,GAAG,CAAmC,CAAC;IACxE,KAAK,MAAM4B,CAAC,IAAIvC,MAAM,CAACC,MAAM,CAACG,MAAM,CAACW,UAAU,CAAC,EAAE;MAChD,IAAIwB,CAAC,CAACC,QAAQ,CAACd,IAAI,KAAK,QAAQ,IAAIa,CAAC,CAACC,QAAQ,CAACd,IAAI,KAAK,WAAW,EAAE;QACnE,IAAIa,CAAC,CAACC,QAAQ,CAACC,aAAa,EAAE;UAC5BH,oBAAoB,CAACI,GAAG,CACtBjD,gBAAgB,CAACoC,iBAAiB,CAACU,CAAC,CAACC,QAAQ,CAACC,aAAa,CAC7D,CAAC;QACH;QACA,IAAIF,CAAC,CAACC,QAAQ,CAACG,iBAAiB,EAAE;UAChCL,oBAAoB,CAACI,GAAG,CACtBjD,gBAAgB,CAACoC,iBAAiB,CAACU,CAAC,CAACC,QAAQ,CAACG,iBAAiB,CACjE,CAAC;QACH;MACF;MACA,IAAIJ,CAAC,CAACC,QAAQ,CAACd,IAAI,KAAK,iBAAiB,EAAE;QACzC,IAAIa,CAAC,CAACC,QAAQ,CAACI,oBAAoB,EAAE;UACnCN,oBAAoB,CAACI,GAAG,CACtBjD,gBAAgB,CAACwC,oBAAoB,CACnCM,CAAC,CAACC,QAAQ,CAACI,oBACb,CACF,CAAC;QACH;MACF;MACA,IAAIL,CAAC,CAACC,QAAQ,CAACd,IAAI,KAAK,OAAO,EAAE;QAC/B,IACEa,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACnB,IAAI,KAAK,QAAQ,IACjCa,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACnB,IAAI,KAAK,WAAW,EAC1C;UACA,IAAIa,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACJ,aAAa,EAAE;YACpCH,oBAAoB,CAACI,GAAG,CACtBjD,gBAAgB,CAACoC,iBAAiB,CAChCU,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACJ,aACrB,CACF,CAAC;UACH;UACA,IAAIF,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACF,iBAAiB,EAAE;YACxCL,oBAAoB,CAACI,GAAG,CACtBjD,gBAAgB,CAACoC,iBAAiB,CAChCU,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACF,iBACrB,CACF,CAAC;UACH;QACF;QACA,IACEJ,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACnB,IAAI,KAAK,iBAAiB,EAC7C;UACA,IAAIa,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACD,oBAAoB,EAAE;YAC3CN,oBAAoB,CAACI,GAAG,CACtBjD,gBAAgB,CAACwC,oBAAoB,CACnCM,CAAC,CAACC,QAAQ,CAACK,OAAO,CAACD,oBACrB,CACF,CAAC;UACH;QACF;MACF;IACF;IAEA,MAAME,OAAO,GAAGlE,gBAAgB,CAC9B0D,oBAAoB,EACpBb,SAAS,EACTpB,eAAe,EACf,IACF,CAAC;IAED,MAAMhB,EAAE,CAAC0D,SAAS,CAChBpE,IAAI,CAACgB,IAAI,CAACJ,UAAU,EAAEc,eAAe,CAAC,EACtC,MAAMrB,QAAQ,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoBU,cAAc,GAAG,WAAW,GAAG,cAAc;AACjE,gEAAgEF,SAAS;AACzE,YAAYsD,OAAO;AACnB;AACA;AACA,YA1KM,YAAyB;MACK,GAAG1C,MAAM,CAACE,YAAY,SAAS;MAC3D,MAAM0C,UAAU,GAAG,CAAC,KAAK,CAAC;MAC1B,IAAI5C,MAAM,CAACmB,WAAW,IAAI,IAAI,EAAE;QAC9ByB,UAAU,CAACC,IAAI,CAAC,KAAK7C,MAAM,CAACmB,WAAW,EAAE,CAAC;MAC5C;MACA;MACA;MACA,OAAO;AACf;AACA,6BAA6BnB,MAAM,CAACE,YAAY;AAChD,cAAcO,eAAe,CAAC,CAAC;AAC/B;AACA,cAAc5B,uBAAuB,CAACmB,MAAM,CAACmB,WAAW,CAAC;AACzD;AACA,gBACUzC,SAAS,CAAC8B,aAAa,CAACG,UAAU,EAAE;QAClC,GAAG,EAAEmC,CAACC,OAAO,EAAEC,CAAC,EAAEC,KAAK,KAAK;UAC1B,MAAMhC,GAAG,GAAG,GAAGpC,uBAAuB,CAACkE,OAAO,CAAC5B,WAAW,CAAC;AACzE,8BAA8B8B,KAAK,IAAIF,OAAO,CAACG,QAAQ,GAAG,GAAG,GAAG,EAAE,EAAE;UAEtD,MAAMhC,KAAK,GAAG6B,OAAO,CAACI,YAAY,GAC9B,iBAAiBnB,kBAAkB,CAACe,OAAO,CAACzB,IAAI,CAAC,GAAG,GACpD,GAAGU,kBAAkB,CAACe,OAAO,CAACzB,IAAI,CAAC,EAAE;UACzCsB,UAAU,CAACC,IAAI,CACb,aAAab,kBAAkB,CAACe,OAAO,CAACzB,IAAI,CAAC,KAC3CyB,OAAO,CAACG,QAAQ,GAAG,IAAID,KAAK,GAAG,GAAGA,KAAK,IACrCF,OAAO,CAAC5B,WAAW,IAAI,EAAE,GAC/B,CAAC;UACD,OAAO,CAACF,GAAG,EAAEC,KAAK,CAAC;QACrB;MACF,CAAC,CAAC;AACZ;AACA;AACA;AACA;AACA,gBACgBrC,uBAAuB,CAACmB,MAAM,CAACmB,WAAW,CAAC;AAC3D,iEAAiEnB,MAAM,CAACoD,gBAAgB;AACxF;AACA,yFAAyFpD,MAAM,CAACoD,gBAAgB;AAChH;AACA;AACA;AACA;AACA;AACA,YAAYR,UAAU,CAACrD,IAAI,CAAC,IAAI,CAAC;AACjC;AACA,6BAA6BS,MAAM,CAACE,YAAY,6BAA6BF,MAAM,CAACE,YAAY;AAChG;AACA,gBACUxB,SAAS,CAAC8B,aAAa,EAAE;QACvB,YAAY,EAAEG,CAAA,KAAMX,MAAM,CAACqD;MAC7B,CAAC,CAAC;AACZ;AACA,4BAC4BrD,MAAM,CAACE,YAAY;AAC/C;AACA,cACUxB,SAAS,CAAC8B,aAAa,EAAE;QACvB,aAAa,EAAEW,CAAA,KAAME,SAAS;QAC9B,aAAa,EAAEiC,CAAA,KAAMjC,SAAS;QAC9B,kBAAkB,EAAEkC,CAAA,KAAMlC,SAAS;QACnC,YAAY,EAAEV,CAAA,KAAMU,SAAS;QAC7B,KAAK,EAAEmC,CAAA,KAAMnC,SAAS;QACtB,QAAQ,EAAEoC,CAAA,KAAMpC;MAClB,CAAC,CAAC;AACZ;AACA;AACA,WACW;IACL,CAAC,CAmGmB,CAAC;AAC3B;AACA,YAnGM,YAA0B;MACxB,OAAO,kBAAkBrB,MAAM,CAACE,YAAY,KAAKF,MAAM,CAACE,YAAY;AAC5E;AACA,YACUxB,SAAS,CAAC8B,aAAa,EAAE;QACvB,aAAa,EAAEW,CAAA,KAAME,SAAS;QAC9B,aAAa,EAAEiC,CAAA,KAAMjC,SAAS;QAC9B,kBAAkB,EAAEkC,CAAA,KAAMlC,SAAS;QACnC,YAAY,EAAEV,CAAA,KAAMU,SAAS;QAC7B,KAAK,EAAEmC,CAAA,KAAMnC,SAAS;QACtB,QAAQ,EAAEoC,CAAA,KAAMpC;MAClB,CAAC,CAAC;AACZ;AACA;AACA,SACS;IACH,CAAC,CAmFoB,CAAC;AAC5B,SAAS,CACH,CAAC;EACH,CAAC,CACH,CAAC;EAED,MAAMqC,gBAAgB,GAAGnF,IAAI,CAACgB,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;EAE5D,MAAMN,EAAE,CAAC0D,SAAS,CAChBpE,IAAI,CAACgB,IAAI,CAACJ,UAAU,EAAEuE,gBAAgB,CAAC,EACvC,MAAM9E,QAAQ,CAAC;AACnB,QACMgB,MAAM,CAACC,MAAM,CAACR,gBAAgB,CAACS,WAAW,CAAC,CAACC,GAAG,CAACC,MAAM,IAAI;IACxD,MAAM2D,eAAe,GAAG,WAAW3D,MAAM,CAACE,YAAY,YACpDF,MAAM,CAAC4D,kBAAkB,CAACF,gBAAgB,CAAC,IACzC;IAEJ,OAAOC,eAAe;EACxB,CAAC,CAAC,CACCpE,IAAI,CAAC,IAAI,CAAC;AACnB,MACMK,MAAM,CAACiE,IAAI,CAAC7E,QAAQ,CAACc,WAAW,CAAC,CAACkB,MAAM,KAAK,CAAC,GAAG,YAAY,GAAG,EAAE;AACxE,OAAO,CACL,CAAC;AACH;AAEA,SAASZ,kCAAkCA,CACzC0D,UAAwB,EACd;EACV,MAAMC,6BAA6B,GAAGnE,MAAM,CAACC,MAAM,CAACiE,UAAU,CAACnD,UAAU,CAAC,CACvEqD,OAAO,CAAC,CAAC;IAAE5B;EAAS,CAAC,KAAK;IACzB,MAAM6B,mBAAmB,GAAGC,2CAA2C,CACrE9B,QACF,CAAC;IACD,OAAO6B,mBAAmB,GAAG,CAACA,mBAAmB,CAAC,GAAG,EAAE;EACzD,CAAC,CAAC;EAEJ,MAAME,uBAAuB,GAAGL,UAAU,CAACM,UAAU,CAACJ,OAAO,CAAC9C,KAAK,IAAI;IACrE,QAAQA,KAAK,CAACI,IAAI;MAChB,KAAK,cAAc;QACjB,OAAO,CAACJ,KAAK,CAACqB,iBAAiB,CAAC;MAClC,KAAK,cAAc;QACjB,OAAO,CAACrB,KAAK,CAACqB,iBAAiB,CAAC;MAClC,KAAK,cAAc;MACnB,KAAK,YAAY;MACjB,KAAK,YAAY;MACjB;QACE,OAAO,EAAE;IACb;EACF,CAAC,CAAC;EAEF,OAAO,CAAC,GAAG4B,uBAAuB,EAAE,GAAGJ,6BAA6B,CAAC;AACvE;AAEA,SAASG,2CAA2CA,CAClDG,eAAoC,EAChB;EACpB,QAAQA,eAAe,CAAC/C,IAAI;IAC1B,KAAK,WAAW;IAChB,KAAK,QAAQ;MACX,OAAO+C,eAAe,CAAC9B,iBAAiB;IAC1C,KAAK,OAAO;MACV,OAAO2B,2CAA2C,CAChDG,eAAe,CAAC5B,OAClB,CAAC;IACH,KAAK,QAAQ;IACb,KAAK,SAAS;IACd,KAAK,YAAY;IACjB,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,SAAS;IACd,KAAK,MAAM;IACX,KAAK,WAAW;MACd,OAAOpB,SAAS;EACpB;AACF","ignoreList":[]}
@@ -34,10 +34,11 @@ export async function generatePerInterfaceDataFiles({
34
34
  });
35
35
  for (const obj of Object.values(ontology.interfaceTypes)) {
36
36
  if (obj instanceof ForeignType) continue;
37
+ const relPath = path.join(".", "ontology", "interfaces", `${obj.shortApiName}.ts`);
37
38
  await fs.writeFile(path.join(interfacesDir, `${obj.shortApiName}.ts`), await formatTs(`
38
39
  import type { PropertyDef as $PropertyDef } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
39
40
  import { $osdkMetadata } from "../../OntologyMetadata${importExt}";
40
- ${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true, forInternalUse)}
41
+ ${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true, forInternalUse, relPath)}
41
42
  `));
42
43
  }
43
44
  await fs.writeFile(interfacesDir + ".ts", await formatTs(`
@@ -1 +1 @@
1
- {"version":3,"file":"generatePerInterfaceDataFiles.js","names":["path","EnhancedInterfaceType","ForeignType","formatTs","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","generatePerInterfaceDataFiles","fs","outDir","ontology","importExt","forInternalUse","interfacesDir","join","mkdir","recursive","obj","Object","values","interfaceTypes","writeFile","shortApiName","filter","i","map","interfaceType","keys","length"],"sources":["generatePerInterfaceDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 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 path from \"node:path\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\n/** @internal */\nexport async function generatePerInterfaceDataFiles(\n { fs, outDir, ontology, importExt, forInternalUse }: GenerateContext,\n) {\n const interfacesDir = path.join(outDir, \"ontology\", \"interfaces\");\n await fs.mkdir(interfacesDir, {\n recursive: true,\n });\n\n for (const obj of Object.values(ontology.interfaceTypes)) {\n if (obj instanceof ForeignType) continue;\n\n await fs.writeFile(\n path.join(interfacesDir, `${obj.shortApiName}.ts`),\n await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${\n forInternalUse ? \"@osdk/api\" : \"@osdk/client\"\n }\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n ${\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n obj,\n ontology,\n true,\n forInternalUse,\n )\n }\n `),\n );\n }\n\n await fs.writeFile(\n interfacesDir + \".ts\",\n await formatTs(`\n ${\n Object.values(ontology.interfaceTypes).filter(i =>\n i instanceof EnhancedInterfaceType\n ).map(interfaceType =>\n `export {${interfaceType.shortApiName}} from \"./interfaces/${interfaceType.shortApiName}${importExt}\";`\n ).join(\"\\n\")\n }\n ${\n Object.keys(ontology.interfaceTypes).length === 0\n ? \"export {}\"\n : \"\"\n }\n `),\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,MAAM,WAAW;AAC5B,SAASC,qBAAqB,QAAQ,6CAA6C;AACnF,SAASC,WAAW,QAAQ,mCAAmC;AAE/D,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SAASC,8CAA8C,QAAQ,mDAAmD;;AAElH;AACA,OAAO,eAAeC,6BAA6BA,CACjD;EAAEC,EAAE;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAgC,CAAC,EACpE;EACA,MAAMC,aAAa,GAAGX,IAAI,CAACY,IAAI,CAACL,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;EACjE,MAAMD,EAAE,CAACO,KAAK,CAACF,aAAa,EAAE;IAC5BG,SAAS,EAAE;EACb,CAAC,CAAC;EAEF,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACT,QAAQ,CAACU,cAAc,CAAC,EAAE;IACxD,IAAIH,GAAG,YAAYb,WAAW,EAAE;IAEhC,MAAMI,EAAE,CAACa,SAAS,CAChBnB,IAAI,CAACY,IAAI,CAACD,aAAa,EAAE,GAAGI,GAAG,CAACK,YAAY,KAAK,CAAC,EAClD,MAAMjB,QAAQ,CAAC;AACrB,4DACQO,cAAc,GAAG,WAAW,GAAG,cAAc;AACrD,+DAC+DD,SAAS;AACxE,QACQL,8CAA8C,CAC5CW,GAAG,EACHP,QAAQ,EACR,IAAI,EACJE,cACF,CAAC;AACT,KACK,CACD,CAAC;EACH;EAEA,MAAMJ,EAAE,CAACa,SAAS,CAChBR,aAAa,GAAG,KAAK,EACrB,MAAMR,QAAQ,CAAC;AACnB,MACMa,MAAM,CAACC,MAAM,CAACT,QAAQ,CAACU,cAAc,CAAC,CAACG,MAAM,CAACC,CAAC,IAC7CA,CAAC,YAAYrB,qBACf,CAAC,CAACsB,GAAG,CAACC,aAAa,IACjB,WAAWA,aAAa,CAACJ,YAAY,wBAAwBI,aAAa,CAACJ,YAAY,GAAGX,SAAS,IACrG,CAAC,CAACG,IAAI,CAAC,IAAI,CAAC;AAClB,MAEMI,MAAM,CAACS,IAAI,CAACjB,QAAQ,CAACU,cAAc,CAAC,CAACQ,MAAM,KAAK,CAAC,GAC7C,WAAW,GACX,EAAE;AACZ,KACK,CACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"generatePerInterfaceDataFiles.js","names":["path","EnhancedInterfaceType","ForeignType","formatTs","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","generatePerInterfaceDataFiles","fs","outDir","ontology","importExt","forInternalUse","interfacesDir","join","mkdir","recursive","obj","Object","values","interfaceTypes","relPath","shortApiName","writeFile","filter","i","map","interfaceType","keys","length"],"sources":["generatePerInterfaceDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 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 path from \"node:path\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\n/** @internal */\nexport async function generatePerInterfaceDataFiles(\n { fs, outDir, ontology, importExt, forInternalUse }: GenerateContext,\n) {\n const interfacesDir = path.join(outDir, \"ontology\", \"interfaces\");\n await fs.mkdir(interfacesDir, {\n recursive: true,\n });\n\n for (const obj of Object.values(ontology.interfaceTypes)) {\n if (obj instanceof ForeignType) continue;\n const relPath = path.join(\n \".\",\n \"ontology\",\n \"interfaces\",\n `${obj.shortApiName}.ts`,\n );\n\n await fs.writeFile(\n path.join(interfacesDir, `${obj.shortApiName}.ts`),\n await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${\n forInternalUse ? \"@osdk/api\" : \"@osdk/client\"\n }\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n ${\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n obj,\n ontology,\n true,\n forInternalUse,\n relPath,\n )\n }\n `),\n );\n }\n\n await fs.writeFile(\n interfacesDir + \".ts\",\n await formatTs(`\n ${\n Object.values(ontology.interfaceTypes).filter(i =>\n i instanceof EnhancedInterfaceType\n ).map(interfaceType =>\n `export {${interfaceType.shortApiName}} from \"./interfaces/${interfaceType.shortApiName}${importExt}\";`\n ).join(\"\\n\")\n }\n ${\n Object.keys(ontology.interfaceTypes).length === 0\n ? \"export {}\"\n : \"\"\n }\n `),\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,MAAM,WAAW;AAC5B,SAASC,qBAAqB,QAAQ,6CAA6C;AACnF,SAASC,WAAW,QAAQ,mCAAmC;AAE/D,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SAASC,8CAA8C,QAAQ,mDAAmD;;AAElH;AACA,OAAO,eAAeC,6BAA6BA,CACjD;EAAEC,EAAE;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAgC,CAAC,EACpE;EACA,MAAMC,aAAa,GAAGX,IAAI,CAACY,IAAI,CAACL,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;EACjE,MAAMD,EAAE,CAACO,KAAK,CAACF,aAAa,EAAE;IAC5BG,SAAS,EAAE;EACb,CAAC,CAAC;EAEF,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACT,QAAQ,CAACU,cAAc,CAAC,EAAE;IACxD,IAAIH,GAAG,YAAYb,WAAW,EAAE;IAChC,MAAMiB,OAAO,GAAGnB,IAAI,CAACY,IAAI,CACvB,GAAG,EACH,UAAU,EACV,YAAY,EACZ,GAAGG,GAAG,CAACK,YAAY,KACrB,CAAC;IAED,MAAMd,EAAE,CAACe,SAAS,CAChBrB,IAAI,CAACY,IAAI,CAACD,aAAa,EAAE,GAAGI,GAAG,CAACK,YAAY,KAAK,CAAC,EAClD,MAAMjB,QAAQ,CAAC;AACrB,4DACQO,cAAc,GAAG,WAAW,GAAG,cAAc;AACrD,+DAC+DD,SAAS;AACxE,QACQL,8CAA8C,CAC5CW,GAAG,EACHP,QAAQ,EACR,IAAI,EACJE,cAAc,EACdS,OACF,CAAC;AACT,KACK,CACD,CAAC;EACH;EAEA,MAAMb,EAAE,CAACe,SAAS,CAChBV,aAAa,GAAG,KAAK,EACrB,MAAMR,QAAQ,CAAC;AACnB,MACMa,MAAM,CAACC,MAAM,CAACT,QAAQ,CAACU,cAAc,CAAC,CAACI,MAAM,CAACC,CAAC,IAC7CA,CAAC,YAAYtB,qBACf,CAAC,CAACuB,GAAG,CAACC,aAAa,IACjB,WAAWA,aAAa,CAACL,YAAY,wBAAwBK,aAAa,CAACL,YAAY,GAAGX,SAAS,IACrG,CAAC,CAACG,IAAI,CAAC,IAAI,CAAC;AAClB,MAEMI,MAAM,CAACU,IAAI,CAAClB,QAAQ,CAACU,cAAc,CAAC,CAACS,MAAM,KAAK,CAAC,GAC7C,WAAW,GACX,EAAE;AACZ,KACK,CACH,CAAC;AACH","ignoreList":[]}
@@ -16,6 +16,7 @@
16
16
 
17
17
  import { wireQueryDataTypeToQueryDataTypeDefinition, wireQueryParameterV2ToQueryParameterDefinition as paramToDef, wireQueryTypeV2ToSdkQueryDefinitionNoParams } from "@osdk/generator-converters";
18
18
  import path from "node:path";
19
+ import { getInterfaceTypeApiNamesFromQuery } from "../shared/getInterfaceTypeApiNamesFromQuery.js";
19
20
  import { getObjectImports } from "../shared/getObjectImports.js";
20
21
  import { getObjectTypeApiNamesFromQuery } from "../shared/getObjectTypeApiNamesFromQuery.js";
21
22
  import { deleteUndefineds } from "../util/deleteUndefineds.js";
@@ -46,8 +47,9 @@ export async function generatePerQueryDataFilesV2({
46
47
  async function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse, fixedVersionQueryTypes) {
47
48
  const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);
48
49
  const objectTypes = getObjectTypeApiNamesFromQuery(query);
49
- const objectTypeObjects = new Set(objectTypes.map(o => ontology.requireObjectType(o)));
50
- const importObjects = getObjectImports(objectTypeObjects, "", relFilePath, true);
50
+ const interfaceTypes = getInterfaceTypeApiNamesFromQuery(query);
51
+ const interfaceAndObjectTypes = new Set([...objectTypes.map(o => ontology.requireObjectType(o)), ...interfaceTypes.map(o => ontology.requireInterfaceType(o))]);
52
+ const importObjects = getObjectImports(interfaceAndObjectTypes, "", relFilePath, true);
51
53
  const baseProps = deleteUndefineds(wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw));
52
54
  const outputBase = deleteUndefineds(wireQueryDataTypeToQueryDataTypeDefinition(query.output));
53
55
  const isUsingFixedVersion = fixedVersionQueryTypes.includes(query.fullApiName);
@@ -194,9 +196,15 @@ export function getQueryParamType(enhancedOntology, input, type, isMapKey = fals
194
196
  }
195
197
  inner = `Query${type}.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;
196
198
  break;
199
+ case "interface":
200
+ inner = `Query${type}.InterfaceType<${enhancedOntology.requireInterfaceType(input.interface).getImportedDefinitionIdentifier(true)}>`;
201
+ break;
197
202
  case "objectSet":
198
203
  inner = `Query${type}.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;
199
204
  break;
205
+ case "interfaceObjectSet":
206
+ inner = `Query${type}.ObjectSetType<${enhancedOntology.requireInterfaceType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;
207
+ break;
200
208
  case "set":
201
209
  inner = `${type === "Param" ? "Readonly" : ""}Set<${getQueryParamType(enhancedOntology, input.set, type)}>`;
202
210
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"generatePerQueryDataFiles.js","names":["wireQueryDataTypeToQueryDataTypeDefinition","wireQueryParameterV2ToQueryParameterDefinition","paramToDef","wireQueryTypeV2ToSdkQueryDefinitionNoParams","path","getObjectImports","getObjectTypeApiNamesFromQuery","deleteUndefineds","stringify","formatTs","getDescriptionIfPresent","generatePerQueryDataFilesV2","fs","outDir","rootOutDir","ontology","fixedVersionQueryTypes","importExt","forInternalUse","relOutDir","join","mkdir","recursive","Promise","all","Object","values","queryTypes","map","query","generateV2QueryFile","writeFile","shortApiName","getImportPathRelTo","keys","length","relFilePath","objectTypes","objectTypeObjects","Set","o","requireObjectType","importObjects","baseProps","raw","outputBase","output","isUsingFixedVersion","includes","fullApiName","description","parameters","paramsIdentifier","*","parameter","formatter","apiName","q","queryParamJsDoc","nullable","getQueryParamType","type","dataType","parameterDefsForType","getLineFor__OsdkTargetType","undefined","displayName","rid","definitionIdentifier","valueFormatter","qdt","objectTypeApiName","getImportedDefinitionIdentifier","param","ret","enhancedOntology","input","isMapKey","inner","JSON","struct","p","twoDimensionalAggregation","keyType","keySubtype","valueType","threeDimensionalAggregation","object","objectSet","set","union","u","multiplicity"],"sources":["generatePerQueryDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 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 type { QueryParameterDefinition } from \"@osdk/api\";\nimport type { QueryDataType } from \"@osdk/foundry.ontologies\";\nimport {\n wireQueryDataTypeToQueryDataTypeDefinition,\n wireQueryParameterV2ToQueryParameterDefinition as paramToDef,\n wireQueryTypeV2ToSdkQueryDefinitionNoParams,\n} from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport type { EnhancedQuery } from \"../GenerateContext/EnhancedQuery.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport type { MinimalFs } from \"../MinimalFs.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { getObjectTypeApiNamesFromQuery } from \"../shared/getObjectTypeApiNamesFromQuery.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\n\nexport async function generatePerQueryDataFilesV2(\n {\n fs,\n outDir: rootOutDir,\n ontology,\n fixedVersionQueryTypes,\n importExt = \"\",\n forInternalUse = false,\n }: Pick<\n GenerateContext,\n | \"fs\"\n | \"outDir\"\n | \"importExt\"\n | \"ontology\"\n | \"forInternalUse\"\n | \"fixedVersionQueryTypes\"\n >,\n v2: boolean,\n): Promise<void> {\n const relOutDir = path.join(\".\", \"ontology\", \"queries\");\n const outDir = path.join(rootOutDir, \"ontology\", \"queries\");\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(\n Object.values(ontology.queryTypes).map(async query => {\n await generateV2QueryFile(\n fs,\n outDir,\n relOutDir,\n query,\n importExt,\n ontology,\n forInternalUse,\n fixedVersionQueryTypes,\n );\n }),\n );\n\n const indexFilePath = `${outDir}.ts`;\n await fs.writeFile(\n indexFilePath,\n await formatTs(`\n ${\n Object.values(ontology.queryTypes).map(query =>\n `export {${query.shortApiName}} from \"${\n query.getImportPathRelTo(relOutDir)\n }\";`\n )\n .join(\"\\n\")\n }\n ${Object.keys(ontology.queryTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n\nasync function generateV2QueryFile(\n fs: MinimalFs,\n outDir: string,\n relOutDir: string,\n query: EnhancedQuery,\n importExt: string,\n ontology: EnhancedOntologyDefinition,\n forInternalUse: boolean,\n fixedVersionQueryTypes: string[],\n) {\n const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);\n const objectTypes = getObjectTypeApiNamesFromQuery(query);\n const objectTypeObjects = new Set(\n objectTypes.map(o => ontology.requireObjectType(o)),\n );\n const importObjects = getObjectImports(\n objectTypeObjects,\n \"\",\n relFilePath,\n true,\n );\n\n const baseProps = deleteUndefineds(\n wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw),\n );\n\n const outputBase = deleteUndefineds(\n wireQueryDataTypeToQueryDataTypeDefinition(query.output),\n );\n\n const isUsingFixedVersion = fixedVersionQueryTypes.includes(\n query.fullApiName,\n );\n\n await fs.writeFile(\n path.join(outDir, `${query.shortApiName}.ts`),\n await formatTs(`\n import type { ObjectSpecifier, QueryDefinition, QueryParam, QueryResult, VersionBound} from \"${\n forInternalUse ? \"@osdk/api\" : \"@osdk/client\"\n }\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${importObjects}\n\n export namespace ${query.shortApiName} {\n export interface Signature {\n ${getDescriptionIfPresent(query.description)}\n (${\n Object.keys(query.parameters).length > 0\n ? `query: ${query.paramsIdentifier}`\n : \"\"\n }): Promise<${query.shortApiName}.ReturnType>\n }\n\n ${\n Object.keys(query.parameters).length > 0\n ? `\n export interface Parameters {\n ${\n stringify(query.parameters, {\n \"*\": (parameter, formatter, apiName) => {\n const q = paramToDef(parameter);\n return [\n `\n ${\n queryParamJsDoc(paramToDef(parameter), { apiName })\n }readonly \"${apiName}\"${q.nullable ? \"?\" : \"\"}`,\n getQueryParamType(ontology, q, \"Param\"),\n ];\n },\n })\n }\n }`\n : \"\"\n }\n\n ${\n query.output.type === \"struct\"\n ? `\n export interface ReturnType \n ${\n getQueryParamType(\n ontology,\n paramToDef({ dataType: query.output }),\n \"Result\",\n )\n }\n `\n : `\n export type ReturnType = ${\n getQueryParamType(\n ontology,\n paramToDef({ dataType: query.output }),\n \"Result\",\n )\n }\n `\n }\n }\n \n \n export interface ${query.shortApiName} extends QueryDefinition<\n ${query.shortApiName}.Signature\n >, VersionBound<$ExpectedClientVersion>{\n __DefinitionMetadata?: {\n ${stringify(baseProps)}\n isFixedVersion: ${isUsingFixedVersion};\n parameters: {\n ${parameterDefsForType(ontology, query)}\n };\n output: {\n ${stringify(outputBase)},\n ${getLineFor__OsdkTargetType(ontology, query.output)}\n };\n signature: ${query.shortApiName}.Signature;\n }, \n ${\n stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })\n }, \n osdkMetadata: typeof $osdkMetadata;\n }\n\n\n export const ${query.shortApiName}: ${query.definitionIdentifier} = {\n ${\n stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })\n },\n isFixedVersion: ${isUsingFixedVersion},\n osdkMetadata: $osdkMetadata\n };\n `),\n );\n}\n\nfunction parameterDefsForType(\n ontology: EnhancedOntologyDefinition,\n query: EnhancedQuery,\n) {\n return stringify(query.parameters, {\n \"*\": (parameter, valueFormatter, apiName) => [\n `${queryParamJsDoc(paramToDef(parameter), { apiName })} ${apiName}`,\n ` {\n ${stringify(deleteUndefineds(paramToDef(parameter)))},\n ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}\n }`,\n ],\n });\n}\n\nfunction getLineFor__OsdkTargetType(\n ontology: EnhancedOntologyDefinition,\n qdt: QueryDataType,\n) {\n if (qdt.type === \"object\" || qdt.type === \"objectSet\") {\n return `__OsdkTargetType?: ${\n ontology.requireObjectType(\n qdt.objectTypeApiName!,\n ).getImportedDefinitionIdentifier(true)\n }`;\n }\n return \"\";\n}\n\nexport function queryParamJsDoc(\n param: QueryParameterDefinition<any>,\n { apiName }: { apiName: string },\n): string {\n let ret = `/**\\n`;\n\n if (param.description) {\n if (param.description) {\n ret += ` * description: ${param.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n\n ret += ` */\\n`;\n return ret;\n}\n\nexport function getQueryParamType(\n enhancedOntology: EnhancedOntologyDefinition,\n input: QueryParameterDefinition,\n type: \"Param\" | \"Result\",\n isMapKey = false,\n): string {\n let inner = `unknown /* ${input.type} */`;\n\n switch (input.type) {\n case \"date\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(\"datetime\")}>`;\n break;\n\n case \"attachment\":\n case \"boolean\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;\n break;\n case \"struct\":\n inner = `{\n ${\n stringify(input.struct, {\n \"*\": (p, formatter, apiName) => {\n return [\n `\n ${type === \"Param\" ? \"readonly \" : \"\"}\"${apiName}\"${\n p.nullable ? \"?\" : \"\"\n }`,\n getQueryParamType(enhancedOntology, p, type),\n ];\n },\n })\n }\n }`;\n break;\n case \"twoDimensionalAggregation\":\n inner = `Query${type}.TwoDimensionalAggregationType<${\n input.twoDimensionalAggregation.keyType === \"range\"\n ? `Query${type}.RangeKey<\"${input.twoDimensionalAggregation.keySubtype}\">`\n : `\"${input.twoDimensionalAggregation.keyType}\"`\n }, \"${input.twoDimensionalAggregation.valueType}\">`;\n break;\n\n case \"threeDimensionalAggregation\":\n inner = `Query${type}.ThreeDimensionalAggregationType<${\n input.threeDimensionalAggregation.keyType === \"range\"\n ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.keySubtype}\">`\n : `\"${input.threeDimensionalAggregation.keyType}\"`\n },${\n input.threeDimensionalAggregation.valueType.keyType === \"range\"\n ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.valueType.keySubtype}\">`\n : `\"${input.threeDimensionalAggregation.valueType.keyType}\"`\n }, \n \"${input.threeDimensionalAggregation.valueType.valueType}\">`;\n break;\n case \"object\":\n if (isMapKey) {\n inner = `ObjectSpecifier<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n }\n inner = `Query${type}.ObjectType<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"objectSet\":\n inner = `Query${type}.ObjectSetType<${\n enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"set\":\n inner = `${type === \"Param\" ? \"Readonly\" : \"\"}Set<${\n getQueryParamType(enhancedOntology, input.set, type)\n }>`;\n break;\n\n case \"union\":\n inner = input.union.map((u) =>\n getQueryParamType(enhancedOntology, u, type)\n ).join(\" | \");\n break;\n\n case \"map\":\n inner = `Partial<Record<${\n getQueryParamType(enhancedOntology, input.keyType, type, true)\n }, ${getQueryParamType(enhancedOntology, input.valueType, type)}>>`;\n }\n\n if (input.multiplicity && type === \"Param\") {\n return `ReadonlyArray<${inner}>`;\n } else if (input.multiplicity) {\n return `Array<${inner}>`;\n }\n return inner;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"generatePerQueryDataFiles.js","names":["wireQueryDataTypeToQueryDataTypeDefinition","wireQueryParameterV2ToQueryParameterDefinition","paramToDef","wireQueryTypeV2ToSdkQueryDefinitionNoParams","path","getInterfaceTypeApiNamesFromQuery","getObjectImports","getObjectTypeApiNamesFromQuery","deleteUndefineds","stringify","formatTs","getDescriptionIfPresent","generatePerQueryDataFilesV2","fs","outDir","rootOutDir","ontology","fixedVersionQueryTypes","importExt","forInternalUse","relOutDir","join","mkdir","recursive","Promise","all","Object","values","queryTypes","map","query","generateV2QueryFile","writeFile","shortApiName","getImportPathRelTo","keys","length","relFilePath","objectTypes","interfaceTypes","interfaceAndObjectTypes","Set","o","requireObjectType","requireInterfaceType","importObjects","baseProps","raw","outputBase","output","isUsingFixedVersion","includes","fullApiName","description","parameters","paramsIdentifier","*","parameter","formatter","apiName","q","queryParamJsDoc","nullable","getQueryParamType","type","dataType","parameterDefsForType","getLineFor__OsdkTargetType","undefined","displayName","rid","definitionIdentifier","valueFormatter","qdt","objectTypeApiName","getImportedDefinitionIdentifier","param","ret","enhancedOntology","input","isMapKey","inner","JSON","struct","p","twoDimensionalAggregation","keyType","keySubtype","valueType","threeDimensionalAggregation","object","interface","objectSet","set","union","u","multiplicity"],"sources":["generatePerQueryDataFiles.ts"],"sourcesContent":["/*\n * Copyright 2023 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 type { QueryParameterDefinition } from \"@osdk/api\";\nimport type { QueryDataType } from \"@osdk/foundry.ontologies\";\nimport {\n wireQueryDataTypeToQueryDataTypeDefinition,\n wireQueryParameterV2ToQueryParameterDefinition as paramToDef,\n wireQueryTypeV2ToSdkQueryDefinitionNoParams,\n} from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport type { EnhancedQuery } from \"../GenerateContext/EnhancedQuery.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport type { MinimalFs } from \"../MinimalFs.js\";\nimport { getInterfaceTypeApiNamesFromQuery } from \"../shared/getInterfaceTypeApiNamesFromQuery.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { getObjectTypeApiNamesFromQuery } from \"../shared/getObjectTypeApiNamesFromQuery.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\n\nexport async function generatePerQueryDataFilesV2(\n {\n fs,\n outDir: rootOutDir,\n ontology,\n fixedVersionQueryTypes,\n importExt = \"\",\n forInternalUse = false,\n }: Pick<\n GenerateContext,\n | \"fs\"\n | \"outDir\"\n | \"importExt\"\n | \"ontology\"\n | \"forInternalUse\"\n | \"fixedVersionQueryTypes\"\n >,\n v2: boolean,\n): Promise<void> {\n const relOutDir = path.join(\".\", \"ontology\", \"queries\");\n const outDir = path.join(rootOutDir, \"ontology\", \"queries\");\n await fs.mkdir(outDir, { recursive: true });\n await Promise.all(\n Object.values(ontology.queryTypes).map(async query => {\n await generateV2QueryFile(\n fs,\n outDir,\n relOutDir,\n query,\n importExt,\n ontology,\n forInternalUse,\n fixedVersionQueryTypes,\n );\n }),\n );\n\n const indexFilePath = `${outDir}.ts`;\n await fs.writeFile(\n indexFilePath,\n await formatTs(`\n ${\n Object.values(ontology.queryTypes).map(query =>\n `export {${query.shortApiName}} from \"${\n query.getImportPathRelTo(relOutDir)\n }\";`\n )\n .join(\"\\n\")\n }\n ${Object.keys(ontology.queryTypes).length === 0 ? \"export {};\" : \"\"}\n `),\n );\n}\n\nasync function generateV2QueryFile(\n fs: MinimalFs,\n outDir: string,\n relOutDir: string,\n query: EnhancedQuery,\n importExt: string,\n ontology: EnhancedOntologyDefinition,\n forInternalUse: boolean,\n fixedVersionQueryTypes: string[],\n) {\n const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);\n const objectTypes = getObjectTypeApiNamesFromQuery(query);\n const interfaceTypes = getInterfaceTypeApiNamesFromQuery(query);\n const interfaceAndObjectTypes = new Set(\n [\n ...objectTypes.map(o => ontology.requireObjectType(o)),\n ...interfaceTypes.map(o => ontology.requireInterfaceType(o)),\n ],\n );\n\n const importObjects = getObjectImports(\n interfaceAndObjectTypes,\n \"\",\n relFilePath,\n true,\n );\n\n const baseProps = deleteUndefineds(\n wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw),\n );\n\n const outputBase = deleteUndefineds(\n wireQueryDataTypeToQueryDataTypeDefinition(query.output),\n );\n\n const isUsingFixedVersion = fixedVersionQueryTypes.includes(\n query.fullApiName,\n );\n\n await fs.writeFile(\n path.join(outDir, `${query.shortApiName}.ts`),\n await formatTs(`\n import type { ObjectSpecifier, QueryDefinition, QueryParam, QueryResult, VersionBound} from \"${\n forInternalUse ? \"@osdk/api\" : \"@osdk/client\"\n }\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${importObjects}\n\n export namespace ${query.shortApiName} {\n export interface Signature {\n ${getDescriptionIfPresent(query.description)}\n (${\n Object.keys(query.parameters).length > 0\n ? `query: ${query.paramsIdentifier}`\n : \"\"\n }): Promise<${query.shortApiName}.ReturnType>\n }\n\n ${\n Object.keys(query.parameters).length > 0\n ? `\n export interface Parameters {\n ${\n stringify(query.parameters, {\n \"*\": (parameter, formatter, apiName) => {\n const q = paramToDef(parameter);\n return [\n `\n ${\n queryParamJsDoc(paramToDef(parameter), { apiName })\n }readonly \"${apiName}\"${q.nullable ? \"?\" : \"\"}`,\n getQueryParamType(ontology, q, \"Param\"),\n ];\n },\n })\n }\n }`\n : \"\"\n }\n\n ${\n query.output.type === \"struct\"\n ? `\n export interface ReturnType \n ${\n getQueryParamType(\n ontology,\n paramToDef({ dataType: query.output }),\n \"Result\",\n )\n }\n `\n : `\n export type ReturnType = ${\n getQueryParamType(\n ontology,\n paramToDef({ dataType: query.output }),\n \"Result\",\n )\n }\n `\n }\n }\n \n \n export interface ${query.shortApiName} extends QueryDefinition<\n ${query.shortApiName}.Signature\n >, VersionBound<$ExpectedClientVersion>{\n __DefinitionMetadata?: {\n ${stringify(baseProps)}\n isFixedVersion: ${isUsingFixedVersion};\n parameters: {\n ${parameterDefsForType(ontology, query)}\n };\n output: {\n ${stringify(outputBase)},\n ${getLineFor__OsdkTargetType(ontology, query.output)}\n };\n signature: ${query.shortApiName}.Signature;\n }, \n ${\n stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })\n }, \n osdkMetadata: typeof $osdkMetadata;\n }\n\n\n export const ${query.shortApiName}: ${query.definitionIdentifier} = {\n ${\n stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined,\n })\n },\n isFixedVersion: ${isUsingFixedVersion},\n osdkMetadata: $osdkMetadata\n };\n `),\n );\n}\n\nfunction parameterDefsForType(\n ontology: EnhancedOntologyDefinition,\n query: EnhancedQuery,\n) {\n return stringify(query.parameters, {\n \"*\": (parameter, valueFormatter, apiName) => [\n `${queryParamJsDoc(paramToDef(parameter), { apiName })} ${apiName}`,\n ` {\n ${stringify(deleteUndefineds(paramToDef(parameter)))},\n ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}\n }`,\n ],\n });\n}\n\nfunction getLineFor__OsdkTargetType(\n ontology: EnhancedOntologyDefinition,\n qdt: QueryDataType,\n) {\n if (qdt.type === \"object\" || qdt.type === \"objectSet\") {\n return `__OsdkTargetType?: ${\n ontology.requireObjectType(\n qdt.objectTypeApiName!,\n ).getImportedDefinitionIdentifier(true)\n }`;\n }\n return \"\";\n}\n\nexport function queryParamJsDoc(\n param: QueryParameterDefinition<any>,\n { apiName }: { apiName: string },\n): string {\n let ret = `/**\\n`;\n\n if (param.description) {\n if (param.description) {\n ret += ` * description: ${param.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n\n ret += ` */\\n`;\n return ret;\n}\n\nexport function getQueryParamType(\n enhancedOntology: EnhancedOntologyDefinition,\n input: QueryParameterDefinition,\n type: \"Param\" | \"Result\",\n isMapKey = false,\n): string {\n let inner = `unknown /* ${input.type} */`;\n\n switch (input.type) {\n case \"date\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(\"datetime\")}>`;\n break;\n\n case \"attachment\":\n case \"boolean\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;\n break;\n case \"struct\":\n inner = `{\n ${\n stringify(input.struct, {\n \"*\": (p, formatter, apiName) => {\n return [\n `\n ${type === \"Param\" ? \"readonly \" : \"\"}\"${apiName}\"${\n p.nullable ? \"?\" : \"\"\n }`,\n getQueryParamType(enhancedOntology, p, type),\n ];\n },\n })\n }\n }`;\n break;\n case \"twoDimensionalAggregation\":\n inner = `Query${type}.TwoDimensionalAggregationType<${\n input.twoDimensionalAggregation.keyType === \"range\"\n ? `Query${type}.RangeKey<\"${input.twoDimensionalAggregation.keySubtype}\">`\n : `\"${input.twoDimensionalAggregation.keyType}\"`\n }, \"${input.twoDimensionalAggregation.valueType}\">`;\n break;\n\n case \"threeDimensionalAggregation\":\n inner = `Query${type}.ThreeDimensionalAggregationType<${\n input.threeDimensionalAggregation.keyType === \"range\"\n ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.keySubtype}\">`\n : `\"${input.threeDimensionalAggregation.keyType}\"`\n },${\n input.threeDimensionalAggregation.valueType.keyType === \"range\"\n ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.valueType.keySubtype}\">`\n : `\"${input.threeDimensionalAggregation.valueType.keyType}\"`\n }, \n \"${input.threeDimensionalAggregation.valueType.valueType}\">`;\n break;\n case \"object\":\n if (isMapKey) {\n inner = `ObjectSpecifier<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n }\n inner = `Query${type}.ObjectType<${\n enhancedOntology.requireObjectType(input.object)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n case \"interface\":\n inner = `Query${type}.InterfaceType<${\n enhancedOntology.requireInterfaceType(input.interface)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"objectSet\":\n inner = `Query${type}.ObjectSetType<${\n enhancedOntology.requireObjectType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"interfaceObjectSet\":\n inner = `Query${type}.ObjectSetType<${\n enhancedOntology.requireInterfaceType(input.objectSet)\n .getImportedDefinitionIdentifier(true)\n }>`;\n break;\n\n case \"set\":\n inner = `${type === \"Param\" ? \"Readonly\" : \"\"}Set<${\n getQueryParamType(enhancedOntology, input.set, type)\n }>`;\n break;\n\n case \"union\":\n inner = input.union.map((u) =>\n getQueryParamType(enhancedOntology, u, type)\n ).join(\" | \");\n break;\n\n case \"map\":\n inner = `Partial<Record<${\n getQueryParamType(enhancedOntology, input.keyType, type, true)\n }, ${getQueryParamType(enhancedOntology, input.valueType, type)}>>`;\n }\n\n if (input.multiplicity && type === \"Param\") {\n return `ReadonlyArray<${inner}>`;\n } else if (input.multiplicity) {\n return `Array<${inner}>`;\n }\n return inner;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -182,8 +182,10 @@ export function createDefinition(object, ontology, identifier, {
182
182
  strictProps: ${osdkObjectStrictPropsIdentifier};
183
183
  ${stringify(definition, {
184
184
  links: () => `{
185
- ${stringify(definition.links, {
186
- "*": definition => `$ObjectMetadata.Link<${ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(true)}, ${definition.multiplicity}>`
185
+ ${definition.type === "interface" ? stringify(definition.links, {
186
+ "*": linkDefinition => `$InterfaceMetadata.Link<${linkDefinition.targetType === "interface" ? ontology.requireInterfaceType(linkDefinition.targetTypeApiName).getImportedDefinitionIdentifier(true) : ontology.requireObjectType(linkDefinition.targetTypeApiName).getImportedDefinitionIdentifier(true)}, ${linkDefinition.multiplicity}>`
187
+ }) : stringify(definition.links, {
188
+ "*": linkDefinition => `$ObjectMetadata.Link<${ontology.requireObjectType(linkDefinition.targetType).getImportedDefinitionIdentifier(true)}, ${linkDefinition.multiplicity}>`
187
189
  })}
188
190
  }`,
189
191
  properties: () => `{
@@ -1 +1 @@
1
- {"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","consola","EnhancedObjectType","ForeignType","getObjectImports","propertyJsdoc","stringify","wireObjectTypeV2ToSdkObjectConstV2","wireObject","ontology","forInternalUse","currentFilePath","object","requireObjectType","objectType","apiName","Error","uniqueLinkTargetTypes","Set","linkTypes","map","a","objectTypeApiName","definition","raw","objectDefIdentifier","getDefinitionIdentifier","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","identifiers","imports","createPropertyKeys","createLinks","createProps","createObjectSet","createOsdkObject","createDefinition","fullApiName","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","propertyMetadata","properties","undefined","*","propertyDefinition","_","remapStructType","JSON","multiplicity","nullable","primaryKeyApiName","links","targetType","getImportedDefinitionIdentifier","Object","keys","key","linkTarget","join","structType","output","entries","value"],"sources":["wireObjectTypeV2ToSdkObjectConstV2.ts"],"sourcesContent":["/*\n * Copyright 2023 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 type { ObjectTypeFullMetadata } from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport type { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { stringify } from \"../util/stringify.js\";\n\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(\n wireObject: ObjectTypeFullMetadata,\n { ontology, forInternalUse }: Pick<\n GenerateContext,\n \"ontology\" | \"forInternalUse\"\n >,\n currentFilePath: string,\n) {\n const object = ontology.requireObjectType(\n wireObject.objectType.apiName,\n true,\n );\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(\n wireObject.linkTypes.map(a =>\n ontology.requireObjectType(a.objectTypeApiName, false)\n ),\n );\n\n const definition = wireObjectTypeFullMetadataToSdkObjectMetadata(\n object.raw,\n true,\n consola,\n );\n\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\n\n const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;\n const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;\n\n const identifiers: Identifiers = {\n objectDefIdentifier: object.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n\n function getV2Types(\n object: EnhancedObjectType,\n forInternalUse: boolean = false,\n ) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type {\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n OsdkObject as $OsdkObject,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false)}\n ${createProps(object, \"StrictProps\", true)}\n\n ${createObjectSet(object, identifiers)}\n \n ${createOsdkObject(object, \"OsdkInstance\", identifiers)}\n } \n\n\n\n ${createDefinition(object, ontology, object.shortApiName, identifiers)}\n `;\n }\n\n const imports = getObjectImports(\n uniqueLinkTargetTypes,\n definition.apiName,\n currentFilePath,\n true,\n );\n\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}: ${objectDefIdentifier}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata, \n };`;\n}\n\nexport interface Identifiers extends\n Record<\n | \"osdkObjectIdentifier\"\n | \"propertyKeysIdentifier\"\n | \"osdkObjectPropsIdentifier\"\n | \"objectDefIdentifier\"\n | \"osdkObjectLinksIdentifier\"\n | \"osdkObjectStrictPropsIdentifier\"\n | \"objectSetIdentifier\",\n string\n >\n{}\n\nexport function createOsdkObject(\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n {\n osdkObjectPropsIdentifier,\n objectDefIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > \n = $Osdk.Instance<\n ${objectDefIdentifier}, \n OPTIONS,\n K\n >;\n \n\n /** @deprecated use ${identifier} */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\n\nexport function createObjectSet(\n object: EnhancedObjectType | EnhancedInterfaceType,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n propertyKeysIdentifier,\n osdkObjectIdentifier,\n }: Identifiers,\n) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\n\nfunction maybeStripNamespace(\n type: EnhancedInterfaceType | EnhancedObjectType,\n q: string,\n) {\n if (\n type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)\n ) {\n return q.slice(type.apiNamespace.length + 1);\n } else {\n return q;\n }\n}\n\nexport function createProps(\n type: EnhancedInterfaceType | EnhancedObjectType,\n identifier: string,\n strict: boolean,\n): string {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n const propertyMetadata = type instanceof EnhancedObjectType\n ? type.raw.objectType.properties\n : undefined;\n return `export interface ${identifier} {\n${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n return [\n `${\n propertyJsdoc(propertyDefinition, propertyMetadata?.[apiName], {\n apiName,\n })\n }readonly \"${maybeStripNamespace(type, apiName)}\"`,\n (typeof propertyDefinition.type === \"object\"\n ? remapStructType(propertyDefinition.type)\n : `$PropType[${JSON.stringify(propertyDefinition.type)}]`)\n + `${propertyDefinition.multiplicity ? \"[]\" : \"\"}${\n propertyDefinition.nullable\n || (!strict\n && !(definition.type === \"object\"\n && definition.primaryKeyApiName === apiName))\n ? `| undefined`\n : \"\"\n }`,\n ] as [string, string];\n },\n })\n }\n }`;\n}\n\nexport function createDefinition(\n object: EnhancedObjectType | EnhancedInterfaceType,\n ontology: EnhancedOntologyDefinition,\n identifier: string,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n const propertyMetadata = object instanceof EnhancedObjectType\n ? object.raw.objectType.properties\n : undefined;\n return `\n export interface ${identifier} extends ${\n object instanceof EnhancedObjectType\n ? `$ObjectTypeDefinition`\n : `$InterfaceDefinition`\n } {\n osdkMetadata: typeof $osdkMetadata;\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\";\n apiName: \"${object.fullApiName}\";\n __DefinitionMetadata?: {\n objectSet: ${objectSetIdentifier};\n props: ${osdkObjectPropsIdentifier};\n linksType: ${osdkObjectLinksIdentifier};\n strictProps: ${osdkObjectStrictPropsIdentifier};\n ${\n stringify(definition, {\n links: (_value) =>\n `{\n ${\n stringify(definition.links, {\n \"*\": (definition) =>\n `$ObjectMetadata.Link<${\n ontology.requireObjectType(definition.targetType)\n .getImportedDefinitionIdentifier(true)\n }, ${definition.multiplicity}>`,\n })\n }\n }`,\n properties: (_value) => (`{\n ${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) =>\n [\n `${\n propertyJsdoc(propertyDefinition, propertyMetadata?.[apiName], {\n apiName,\n })\n }\"${maybeStripNamespace(object, apiName)}\"`,\n `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, \"${\n propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"\n }\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`,\n ] as [string, string],\n })\n }\n }`),\n })\n }\n } \n}\n `;\n}\n\nexport function createLinks(\n ontology: EnhancedOntologyDefinition,\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n) {\n const definition = object.getCleanedUpDefinition(true);\n\n return `\n ${\n Object.keys(definition.links).length === 0\n ? `export type ${identifier} = {};`\n : `\n export interface ${identifier} {\n${\n stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(\n definition.targetType,\n )\n .getImportedDefinitionIdentifier(true);\n\n return [\n `readonly ${key}`,\n `${\n definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `$SingleLinkAccessor<${linkTarget}>`\n }\n `,\n ];\n },\n })\n }\n }\n `\n }`;\n}\n\nexport function createPropertyKeys(\n type: EnhancedObjectType | EnhancedInterfaceType,\n) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${\n properties.length === 0\n ? \"never\"\n : properties.map(\n (a) => maybeStripNamespace(type, a),\n ).map(a => `\"${a}\"`).join(\"|\")\n };`;\n}\n\nfunction remapStructType(structType: Record<string, any>): string {\n let output = `{`;\n Object.entries(structType).map(([key, value]) =>\n output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`\n );\n output += \"}\";\n return output;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","consola","EnhancedObjectType","ForeignType","getObjectImports","propertyJsdoc","stringify","wireObjectTypeV2ToSdkObjectConstV2","wireObject","ontology","forInternalUse","currentFilePath","object","requireObjectType","objectType","apiName","Error","uniqueLinkTargetTypes","Set","linkTypes","map","a","objectTypeApiName","definition","raw","objectDefIdentifier","getDefinitionIdentifier","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","identifiers","imports","createPropertyKeys","createLinks","createProps","createObjectSet","createOsdkObject","createDefinition","fullApiName","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","propertyMetadata","properties","undefined","*","propertyDefinition","_","remapStructType","JSON","multiplicity","nullable","primaryKeyApiName","links","linkDefinition","targetType","requireInterfaceType","targetTypeApiName","getImportedDefinitionIdentifier","Object","keys","key","linkTarget","join","structType","output","entries","value"],"sources":["wireObjectTypeV2ToSdkObjectConstV2.ts"],"sourcesContent":["/*\n * Copyright 2023 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 type { ObjectTypeFullMetadata } from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport type { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { GenerateContext } from \"../GenerateContext/GenerateContext.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { stringify } from \"../util/stringify.js\";\n\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(\n wireObject: ObjectTypeFullMetadata,\n { ontology, forInternalUse }: Pick<\n GenerateContext,\n \"ontology\" | \"forInternalUse\"\n >,\n currentFilePath: string,\n) {\n const object = ontology.requireObjectType(\n wireObject.objectType.apiName,\n true,\n );\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(\n wireObject.linkTypes.map(a =>\n ontology.requireObjectType(a.objectTypeApiName, false)\n ),\n );\n\n const definition = wireObjectTypeFullMetadataToSdkObjectMetadata(\n object.raw,\n true,\n consola,\n );\n\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\n\n const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;\n const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;\n\n const identifiers: Identifiers = {\n objectDefIdentifier: object.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n\n function getV2Types(\n object: EnhancedObjectType,\n forInternalUse: boolean = false,\n ) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type {\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n OsdkObject as $OsdkObject,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false)}\n ${createProps(object, \"StrictProps\", true)}\n\n ${createObjectSet(object, identifiers)}\n \n ${createOsdkObject(object, \"OsdkInstance\", identifiers)}\n } \n\n\n\n ${createDefinition(object, ontology, object.shortApiName, identifiers)}\n `;\n }\n\n const imports = getObjectImports(\n uniqueLinkTargetTypes,\n definition.apiName,\n currentFilePath,\n true,\n );\n\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}: ${objectDefIdentifier}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata, \n };`;\n}\n\nexport interface Identifiers extends\n Record<\n | \"osdkObjectIdentifier\"\n | \"propertyKeysIdentifier\"\n | \"osdkObjectPropsIdentifier\"\n | \"objectDefIdentifier\"\n | \"osdkObjectLinksIdentifier\"\n | \"osdkObjectStrictPropsIdentifier\"\n | \"objectSetIdentifier\",\n string\n >\n{}\n\nexport function createOsdkObject(\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n {\n osdkObjectPropsIdentifier,\n objectDefIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > \n = $Osdk.Instance<\n ${objectDefIdentifier}, \n OPTIONS,\n K\n >;\n \n\n /** @deprecated use ${identifier} */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\n\nexport function createObjectSet(\n object: EnhancedObjectType | EnhancedInterfaceType,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n propertyKeysIdentifier,\n osdkObjectIdentifier,\n }: Identifiers,\n) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\n\nfunction maybeStripNamespace(\n type: EnhancedInterfaceType | EnhancedObjectType,\n q: string,\n) {\n if (\n type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)\n ) {\n return q.slice(type.apiNamespace.length + 1);\n } else {\n return q;\n }\n}\n\nexport function createProps(\n type: EnhancedInterfaceType | EnhancedObjectType,\n identifier: string,\n strict: boolean,\n): string {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n const propertyMetadata = type instanceof EnhancedObjectType\n ? type.raw.objectType.properties\n : undefined;\n return `export interface ${identifier} {\n${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n return [\n `${\n propertyJsdoc(propertyDefinition, propertyMetadata?.[apiName], {\n apiName,\n })\n }readonly \"${maybeStripNamespace(type, apiName)}\"`,\n (typeof propertyDefinition.type === \"object\"\n ? remapStructType(propertyDefinition.type)\n : `$PropType[${JSON.stringify(propertyDefinition.type)}]`)\n + `${propertyDefinition.multiplicity ? \"[]\" : \"\"}${\n propertyDefinition.nullable\n || (!strict\n && !(definition.type === \"object\"\n && definition.primaryKeyApiName === apiName))\n ? `| undefined`\n : \"\"\n }`,\n ] as [string, string];\n },\n })\n }\n }`;\n}\n\nexport function createDefinition(\n object: EnhancedObjectType | EnhancedInterfaceType,\n ontology: EnhancedOntologyDefinition,\n identifier: string,\n {\n objectDefIdentifier,\n objectSetIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier,\n }: Identifiers,\n) {\n const definition = object.getCleanedUpDefinition(true);\n const propertyMetadata = object instanceof EnhancedObjectType\n ? object.raw.objectType.properties\n : undefined;\n return `\n export interface ${identifier} extends ${\n object instanceof EnhancedObjectType\n ? `$ObjectTypeDefinition`\n : `$InterfaceDefinition`\n } {\n osdkMetadata: typeof $osdkMetadata;\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\";\n apiName: \"${object.fullApiName}\";\n __DefinitionMetadata?: {\n objectSet: ${objectSetIdentifier};\n props: ${osdkObjectPropsIdentifier};\n linksType: ${osdkObjectLinksIdentifier};\n strictProps: ${osdkObjectStrictPropsIdentifier};\n ${\n stringify(definition, {\n links: (_value) =>\n `{\n ${\n definition.type === \"interface\"\n ? stringify(definition.links, {\n \"*\": (linkDefinition) =>\n `$InterfaceMetadata.Link<${\n linkDefinition.targetType === \"interface\"\n ? ontology.requireInterfaceType(\n linkDefinition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(true)\n : ontology.requireObjectType(\n linkDefinition.targetTypeApiName,\n ).getImportedDefinitionIdentifier(true)\n }, ${linkDefinition.multiplicity}>`,\n })\n : stringify(definition.links, {\n \"*\": (linkDefinition) =>\n `$ObjectMetadata.Link<${\n ontology.requireObjectType(linkDefinition.targetType)\n .getImportedDefinitionIdentifier(true)\n }, ${linkDefinition.multiplicity}>`,\n })\n }\n }`,\n properties: (_value) => (`{\n ${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) =>\n [\n `${\n propertyJsdoc(propertyDefinition, propertyMetadata?.[apiName], {\n apiName,\n })\n }\"${maybeStripNamespace(object, apiName)}\"`,\n `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, \"${\n propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"\n }\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`,\n ] as [string, string],\n })\n }\n }`),\n })\n }\n } \n}\n `;\n}\n\nexport function createLinks(\n ontology: EnhancedOntologyDefinition,\n object: EnhancedObjectType | EnhancedInterfaceType,\n identifier: string,\n) {\n const definition = object.getCleanedUpDefinition(true);\n\n return `\n ${\n Object.keys(definition.links).length === 0\n ? `export type ${identifier} = {};`\n : `\n export interface ${identifier} {\n${\n stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(\n definition.targetType,\n )\n .getImportedDefinitionIdentifier(true);\n\n return [\n `readonly ${key}`,\n `${\n definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `$SingleLinkAccessor<${linkTarget}>`\n }\n `,\n ];\n },\n })\n }\n }\n `\n }`;\n}\n\nexport function createPropertyKeys(\n type: EnhancedObjectType | EnhancedInterfaceType,\n) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${\n properties.length === 0\n ? \"never\"\n : properties.map(\n (a) => maybeStripNamespace(type, a),\n ).map(a => `\"${a}\"`).join(\"|\")\n };`;\n}\n\nfunction remapStructType(structType: Record<string, any>): string {\n let output = `{`;\n Object.entries(structType).map(([key, value]) =>\n output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`\n );\n output += \"}\";\n return output;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,6CAA6C,QAAQ,4BAA4B;AAC1F,OAAOC,OAAO,MAAM,SAAS;AAE7B,SAASC,kBAAkB,QAAQ,0CAA0C;AAE7E,SAASC,WAAW,QAAQ,mCAAmC;AAE/D,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,SAAS,QAAQ,sBAAsB;;AAEhD;AACA,OAAO,SAASC,kCAAkCA,CAChDC,UAAkC,EAClC;EAAEC,QAAQ;EAAEC;AAGZ,CAAC,EACDC,eAAuB,EACvB;EACA,MAAMC,MAAM,GAAGH,QAAQ,CAACI,iBAAiB,CACvCL,UAAU,CAACM,UAAU,CAACC,OAAO,EAC7B,IACF,CAAC;EACD,IAAIH,MAAM,YAAYT,WAAW,EAAE;IACjC,MAAM,IAAIa,KAAK,CAAC,qDAAqD,CAAC;EACxE;EACA,MAAMC,qBAAqB,GAAG,IAAIC,GAAG,CACnCV,UAAU,CAACW,SAAS,CAACC,GAAG,CAACC,CAAC,IACxBZ,QAAQ,CAACI,iBAAiB,CAACQ,CAAC,CAACC,iBAAiB,EAAE,KAAK,CACvD,CACF,CAAC;EAED,MAAMC,UAAU,GAAGvB,6CAA6C,CAC9DY,MAAM,CAACY,GAAG,EACV,IAAI,EACJvB,OACF,CAAC;EAED,MAAMwB,mBAAmB,GAAGb,MAAM,CAACc,uBAAuB,CAAC,IAAI,CAAC;EAEhE,MAAMC,mBAAmB,GAAG,GAAGf,MAAM,CAACgB,YAAY,YAAY;EAC9D,MAAMC,sBAAsB,GAAG,GAAGjB,MAAM,CAACgB,YAAY,eAAe;EACpE;EACA,MAAME,yBAAyB,GAAG,GAAGlB,MAAM,CAACgB,YAAY,QAAQ;EAChE,MAAMG,+BAA+B,GAAG,GAAGnB,MAAM,CAACgB,YAAY,cAAc;EAC5E,MAAMI,yBAAyB,GAAG,GAAGpB,MAAM,CAACgB,YAAY,QAAQ;EAChE,MAAMK,oBAAoB,GAAG,GAAGrB,MAAM,CAACgB,YAAY,aAAa;EAEhE,MAAMM,WAAwB,GAAG;IAC/BT,mBAAmB,EAAEb,MAAM,CAACgB,YAAY;IACxCI,yBAAyB;IACzBF,yBAAyB;IACzBC,+BAA+B;IAC/BJ,mBAAmB;IACnBM,oBAAoB;IACpBJ;EACF,CAAC;EAyCD,MAAMM,OAAO,GAAG/B,gBAAgB,CAC9Ba,qBAAqB,EACrBM,UAAU,CAACR,OAAO,EAClBJ,eAAe,EACf,IACF,CAAC;EAED,OAAO,GAAGwB,OAAO,GA9CjB,UACEvB,MAA0B,EAC1BF,cAAuB,GAAG,KAAK,EAC/B;IACA,OAAO;AACX;AACA;AACA;AACA,cAAcA,cAAc,GAAG,WAAW,GAAG,cAAc;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,cAAcA,cAAc,GAAG,WAAW,GAAG,cAAc;AAC3D;AACA;AACA,uBAAuBE,MAAM,CAACgB,YAAY;AAC1C;AACA,QAAQQ,kBAAkB,CAACxB,MAAM,CAAC;AAClC;AACA;AACA,QAAQyB,WAAW,CAAC5B,QAAQ,EAAEG,MAAM,EAAE,OAAO,CAAC;AAC9C;AACA,QAAQ0B,WAAW,CAAC1B,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AAC3C,QAAQ0B,WAAW,CAAC1B,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC;AAChD;AACA,QAAQ2B,eAAe,CAAC3B,MAAM,EAAEsB,WAAW,CAAC;AAC5C;AACA,QAAQM,gBAAgB,CAAC5B,MAAM,EAAE,cAAc,EAAEsB,WAAW,CAAC;AAC7D;AACA;AACA;AACA;AACA,MAAMO,gBAAgB,CAAC7B,MAAM,EAAEH,QAAQ,EAAEG,MAAM,CAACgB,YAAY,EAAEM,WAAW,CAAC;AAC1E,KAAK;EACH,CAAC,CAS8BtB,MAAM,EAAEF,cAAc,CAAC;AACxD;AACA,mBAAmBE,MAAM,CAACgB,YAAY,KAAKH,mBAAmB;AAC9D;AACA,eAAeb,MAAM,YAAYV,kBAAkB,GAAG,QAAQ,GAAG,WAAW;AAC5E,kBAAkBU,MAAM,CAAC8B,WAAW;AACpC;AACA,OAAO;AACP;AAeA,OAAO,SAASF,gBAAgBA,CAC9B5B,MAAkD,EAClD+B,UAAkB,EAClB;EACEb,yBAAyB;EACzBL,mBAAmB;EACnBM,+BAA+B;EAC/BC;AACW,CAAC,EACd;EACmBpB,MAAM,CAACgC,sBAAsB,CAAC,IAAI,CAAC;EACtD,OAAO;AACT,kBAAkBD,UAAU;AAC5B;AACA,wBAAwBb,yBAAyB,WAAWA,yBAAyB;AACrF;AACA;AACA,UAAUL,mBAAmB;AAC7B;AACA;AACA;AACA;AACA;AACA,0BAA0BkB,UAAU;AACpC;AACA;AACA,wBAAwBb,yBAAyB,WAAWA,yBAAyB;AACrF,UAAUa,UAAU;AACpB;AACA,KAAK;AACL;AAEA,OAAO,SAASJ,eAAeA,CAC7B3B,MAAkD,EAClD;EACEa,mBAAmB;EACnBE,mBAAmB;EACnBE,sBAAsB;EACtBI;AACW,CAAC,EACd;EACA,OAAO;AACT;AACA,aAAaR,mBAAmB;AAChC;AACA,EAAEE,mBAAmB;AACrB;AACA;AACA;AACA;AACA,CAAC;AACD;AAEA,SAASkB,mBAAmBA,CAC1BC,IAAgD,EAChDC,CAAS,EACT;EACA,IACED,IAAI,CAACE,YAAY,IAAID,CAAC,CAACE,UAAU,CAAC,GAAGH,IAAI,CAACE,YAAY,GAAG,CAAC,EAC1D;IACA,OAAOD,CAAC,CAACG,KAAK,CAACJ,IAAI,CAACE,YAAY,CAACG,MAAM,GAAG,CAAC,CAAC;EAC9C,CAAC,MAAM;IACL,OAAOJ,CAAC;EACV;AACF;AAEA,OAAO,SAAST,WAAWA,CACzBQ,IAAgD,EAChDH,UAAkB,EAClBS,MAAe,EACP;EACR,IAAIT,UAAU,KAAK,aAAa,EAAE;IAChC,OAAO,iCAAiC;EAC1C;EACA,MAAMpB,UAAU,GAAGuB,IAAI,CAACF,sBAAsB,CAAC,IAAI,CAAC;EACpD,MAAMS,gBAAgB,GAAGP,IAAI,YAAY5C,kBAAkB,GACvD4C,IAAI,CAACtB,GAAG,CAACV,UAAU,CAACwC,UAAU,GAC9BC,SAAS;EACb,OAAO,oBAAoBZ,UAAU;AACvC,EACIrC,SAAS,CAACiB,UAAU,CAAC+B,UAAU,EAAE;IAC/B,GAAG,EAAEE,CAACC,kBAAkB,EAAEC,CAAC,EAAE3C,OAAO,KAAK;MACvC,OAAO,CACL,GACEV,aAAa,CAACoD,kBAAkB,EAAEJ,gBAAgB,GAAGtC,OAAO,CAAC,EAAE;QAC7DA;MACF,CAAC,CAAC,aACS8B,mBAAmB,CAACC,IAAI,EAAE/B,OAAO,CAAC,GAAG,EAClD,CAAC,OAAO0C,kBAAkB,CAACX,IAAI,KAAK,QAAQ,GACxCa,eAAe,CAACF,kBAAkB,CAACX,IAAI,CAAC,GACxC,aAAac,IAAI,CAACtD,SAAS,CAACmD,kBAAkB,CAACX,IAAI,CAAC,GAAG,IACzD,GAAGW,kBAAkB,CAACI,YAAY,GAAG,IAAI,GAAG,EAAE,GAC9CJ,kBAAkB,CAACK,QAAQ,IACrB,CAACV,MAAM,IACN,EAAE7B,UAAU,CAACuB,IAAI,KAAK,QAAQ,IAC5BvB,UAAU,CAACwC,iBAAiB,KAAKhD,OAAO,CAAE,GAC/C,aAAa,GACb,EAAE,EACN,CACH;IACH;EACF,CAAC,CAAC;AACN,MACM;AACN;AAEA,OAAO,SAAS0B,gBAAgBA,CAC9B7B,MAAkD,EAClDH,QAAoC,EACpCkC,UAAkB,EAClB;EACElB,mBAAmB;EACnBE,mBAAmB;EACnBG,yBAAyB;EACzBC,+BAA+B;EAC/BC;AACW,CAAC,EACd;EACA,MAAMT,UAAU,GAAGX,MAAM,CAACgC,sBAAsB,CAAC,IAAI,CAAC;EACtD,MAAMS,gBAAgB,GAAGzC,MAAM,YAAYV,kBAAkB,GACzDU,MAAM,CAACY,GAAG,CAACV,UAAU,CAACwC,UAAU,GAChCC,SAAS;EACb,OAAO;AACT,uBAAuBZ,UAAU,YAC7B/B,MAAM,YAAYV,kBAAkB,GAChC,uBAAuB,GACvB,sBAAsB;AAC9B;AACA,eACeU,MAAM,YAAYV,kBAAkB,GAAG,QAAQ,GAAG,WAAW;AAC5E,kBAAkBU,MAAM,CAAC8B,WAAW;AACpC;AACA,mBAAmBf,mBAAmB;AACtC,eAAeG,yBAAyB;AACxC,mBAAmBE,yBAAyB;AAC5C,qBAAqBD,+BAA+B;AACpD,QACIzB,SAAS,CAACiB,UAAU,EAAE;IACpByC,KAAK,EAAEA,CAAA,KACL;AACR,UACUzC,UAAU,CAACuB,IAAI,KAAK,WAAW,GAC3BxC,SAAS,CAACiB,UAAU,CAACyC,KAAK,EAAE;MAC5B,GAAG,EAAGC,cAAc,IAClB,2BACEA,cAAc,CAACC,UAAU,KAAK,WAAW,GACrCzD,QAAQ,CAAC0D,oBAAoB,CAC7BF,cAAc,CAACG,iBACjB,CAAC,CACEC,+BAA+B,CAAC,IAAI,CAAC,GACtC5D,QAAQ,CAACI,iBAAiB,CAC1BoD,cAAc,CAACG,iBACjB,CAAC,CAACC,+BAA+B,CAAC,IAAI,CAAC,KACtCJ,cAAc,CAACJ,YAAY;IACpC,CAAC,CAAC,GACAvD,SAAS,CAACiB,UAAU,CAACyC,KAAK,EAAE;MAC5B,GAAG,EAAGC,cAAc,IAClB,wBACExD,QAAQ,CAACI,iBAAiB,CAACoD,cAAc,CAACC,UAAU,CAAC,CAClDG,+BAA+B,CAAC,IAAI,CAAC,KACrCJ,cAAc,CAACJ,YAAY;IACpC,CAAC,CAAC;AACd,QACQ;IACFP,UAAU,EAAEA,CAAA,KAAa;AAC/B,UACQhD,SAAS,CAACiB,UAAU,CAAC+B,UAAU,EAAE;MAC/B,GAAG,EAAEE,CAACC,kBAAkB,EAAEC,CAAC,EAAE3C,OAAO,KAClC,CACE,GACEV,aAAa,CAACoD,kBAAkB,EAAEJ,gBAAgB,GAAGtC,OAAO,CAAC,EAAE;QAC7DA;MACF,CAAC,CAAC,IACA8B,mBAAmB,CAACjC,MAAM,EAAEG,OAAO,CAAC,GAAG,EAC3C,gBAAgB6C,IAAI,CAACtD,SAAS,CAACmD,kBAAkB,CAACX,IAAI,CAAC,MACrDW,kBAAkB,CAACK,QAAQ,GAAG,UAAU,GAAG,cAAc,OACpDL,kBAAkB,CAACI,YAAY,GAAG,OAAO,GAAG,QAAQ,IAAI;IAErE,CAAC,CAAC;AACV;EAEI,CAAC,CAAC;AACN;AACA;AACA,GACG;AACH;AAEA,OAAO,SAASxB,WAAWA,CACzB5B,QAAoC,EACpCG,MAAkD,EAClD+B,UAAkB,EAClB;EACA,MAAMpB,UAAU,GAAGX,MAAM,CAACgC,sBAAsB,CAAC,IAAI,CAAC;EAEtD,OAAO;AACT,MACI0B,MAAM,CAACC,IAAI,CAAChD,UAAU,CAACyC,KAAK,CAAC,CAACb,MAAM,KAAK,CAAC,GACtC,eAAeR,UAAU,QAAQ,GACjC;AACR,2BAA2BA,UAAU;AACrC,EACQrC,SAAS,CAACiB,UAAU,CAACyC,KAAK,EAAE;IAC1B,GAAG,EAAER,CAACjC,UAAU,EAAEmC,CAAC,EAAEc,GAAG,KAAK;MAC3B,MAAMC,UAAU,GAAGhE,QAAQ,CAACI,iBAAiB,CAC3CU,UAAU,CAAC2C,UACb,CAAC,CACEG,+BAA+B,CAAC,IAAI,CAAC;MAExC,OAAO,CACL,YAAYG,GAAG,EAAE,EACjB,GACEjD,UAAU,CAACsC,YAAY,GACnB,GAAGY,UAAU,YAAY,GACzB,uBAAuBA,UAAU,GAAG;AACxD,WACW,CACE;IACH;EACF,CAAC,CAAC;AACV;AACA,KACK,EACD;AACJ;AAEA,OAAO,SAASrC,kBAAkBA,CAChCU,IAAgD,EAChD;EACA,MAAMQ,UAAU,GAAGgB,MAAM,CAACC,IAAI,CAACzB,IAAI,CAACF,sBAAsB,CAAC,IAAI,CAAC,CAACU,UAAU,CAAC;EAC5E,OAAO,8BACLA,UAAU,CAACH,MAAM,KAAK,CAAC,GACnB,OAAO,GACPG,UAAU,CAAClC,GAAG,CACbC,CAAC,IAAKwB,mBAAmB,CAACC,IAAI,EAAEzB,CAAC,CACpC,CAAC,CAACD,GAAG,CAACC,CAAC,IAAI,IAAIA,CAAC,GAAG,CAAC,CAACqD,IAAI,CAAC,GAAG,CAAC,GAC/B;AACL;AAEA,SAASf,eAAeA,CAACgB,UAA+B,EAAU;EAChE,IAAIC,MAAM,GAAG,GAAG;EAChBN,MAAM,CAACO,OAAO,CAACF,UAAU,CAAC,CAACvD,GAAG,CAAC,CAAC,CAACoD,GAAG,EAAEM,KAAK,CAAC,KAC1CF,MAAM,IAAI,GAAGJ,GAAG,cAAcZ,IAAI,CAACtD,SAAS,CAACwE,KAAK,CAAC,cACrD,CAAC;EACDF,MAAM,IAAI,GAAG;EACb,OAAOA,MAAM;AACf","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { QueryTypeV2 } from "@osdk/foundry.ontologies";
2
+ import type { EnhancedQuery } from "../GenerateContext/EnhancedQuery.js";
3
+ export declare function getInterfaceTypeApiNamesFromQuery(query: QueryTypeV2 | EnhancedQuery): string[];
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,mBAAmB,0BAA2B;AAC5D,cAAc,qBAAqB,qCAAsC;AAGzE,OAAO,iBAAS,kCACdA,OAAO,cAAc","names":["query: QueryTypeV2 | EnhancedQuery"],"sources":["../../../src/shared/getInterfaceTypeApiNamesFromQuery.ts"],"version":3,"file":"getInterfaceTypeApiNamesFromQuery.d.ts"}
@@ -0,0 +1,2 @@
1
+ import type { QueryDataType } from "@osdk/foundry.ontologies";
2
+ export declare function getInterfaceTypesFromQueryDataType(dataType: QueryDataType, types: Set<string>): void;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,qBAAqB,0BAA2B;AAE9D,OAAO,iBAAS,mCACdA,UAAU,eACVC,OAAO","names":["dataType: QueryDataType","types: Set<string>"],"sources":["../../../src/shared/getInterfaceTypesFromQueryDataType.ts"],"version":3,"file":"getInterfaceTypesFromQueryDataType.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,gCAAgC,WAAY;AAQ1D,cAAc,kCAAkC,kDAAmD;AAEnG,cAAc,uBAAuB,uCAAwC;AAS7E,OAAO,iBAAe,4BACpB,EACE,IACA,QAAQ,YACR,UACA,wBACA,WACA,gBASD,EARE,KACD,iBACE,OACA,WACA,cACA,aACA,mBACA,2BAEJA,cACC;AA+MH,OAAO,iBAAS,gBACdC,OAAO,+BACP,EAAE,SAA8B,EAAnB;CAAE;AAAiB;AAgBlC,OAAO,iBAAS,kBACdC,kBAAkB,4BAClBC,OAAO,0BACPC,MAAM,UAAU,UAChB","names":["v2: boolean","param: QueryParameterDefinition<any>","enhancedOntology: EnhancedOntologyDefinition","input: QueryParameterDefinition","type: \"Param\" | \"Result\""],"sources":["../../../src/v2.0/generatePerQueryDataFiles.ts"],"version":3,"file":"generatePerQueryDataFiles.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,gCAAgC,WAAY;AAQ1D,cAAc,kCAAkC,kDAAmD;AAEnG,cAAc,uBAAuB,uCAAwC;AAU7E,OAAO,iBAAe,4BACpB,EACE,IACA,QAAQ,YACR,UACA,wBACA,WACA,gBASD,EARE,KACD,iBACE,OACA,WACA,cACA,aACA,mBACA,2BAEJA,cACC;AAoNH,OAAO,iBAAS,gBACdC,OAAO,+BACP,EAAE,SAA8B,EAAnB;CAAE;AAAiB;AAgBlC,OAAO,iBAAS,kBACdC,kBAAkB,4BAClBC,OAAO,0BACPC,MAAM,UAAU,UAChB","names":["v2: boolean","param: QueryParameterDefinition<any>","enhancedOntology: EnhancedOntologyDefinition","input: QueryParameterDefinition","type: \"Param\" | \"Result\""],"sources":["../../../src/v2.0/generatePerQueryDataFiles.ts"],"version":3,"file":"generatePerQueryDataFiles.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAmBA,cAAc,6BAA6B,6CAA8C;AACzF,SAAS,0BAA0B,0CAA2C;AAC9E,cAAc,kCAAkC,kDAAmD;AA+GnG,iBAAiB,oBACf,OACI,yBACA,2BACA,8BACA,wBACA,8BACA,oCACA,+BAGN,CAAE;AAEF,OAAO,iBAAS,iBACdA,QAAQ,qBAAqB,uBAC7BC,oBACA,EACE,2BACA,qBACA,iCACA,2BACY,EAAX;AAwBL,OAAO,iBAAS,gBACdD,QAAQ,qBAAqB,uBAC7B,EACE,qBACA,qBACA,wBACA,sBACY,EAAX;AA2BL,OAAO,iBAAS,YACdE,MAAM,wBAAwB,oBAC9BD,oBACAE;AAqCF,OAAO,iBAAS,iBACdH,QAAQ,qBAAqB,uBAC7BI,UAAU,4BACVH,oBACA,EACE,qBACA,qBACA,2BACA,iCACA,2BACY,EAAX;AA0DL,OAAO,iBAAS,YACdG,UAAU,4BACVJ,QAAQ,qBAAqB,uBAC7BC;AAmCF,OAAO,iBAAS,mBACdI,MAAM,qBAAqB","names":["object: EnhancedObjectType | EnhancedInterfaceType","identifier: string","type: EnhancedInterfaceType | EnhancedObjectType","strict: boolean","ontology: EnhancedOntologyDefinition","type: EnhancedObjectType | EnhancedInterfaceType"],"sources":["../../../src/v2.0/wireObjectTypeV2ToSdkObjectConstV2.ts"],"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.d.ts"}
1
+ {"mappings":"AAmBA,cAAc,6BAA6B,6CAA8C;AACzF,SAAS,0BAA0B,0CAA2C;AAC9E,cAAc,kCAAkC,kDAAmD;AA+GnG,iBAAiB,oBACf,OACI,yBACA,2BACA,8BACA,wBACA,8BACA,oCACA,+BAGN,CAAE;AAEF,OAAO,iBAAS,iBACdA,QAAQ,qBAAqB,uBAC7BC,oBACA,EACE,2BACA,qBACA,iCACA,2BACY,EAAX;AAwBL,OAAO,iBAAS,gBACdD,QAAQ,qBAAqB,uBAC7B,EACE,qBACA,qBACA,wBACA,sBACY,EAAX;AA2BL,OAAO,iBAAS,YACdE,MAAM,wBAAwB,oBAC9BD,oBACAE;AAqCF,OAAO,iBAAS,iBACdH,QAAQ,qBAAqB,uBAC7BI,UAAU,4BACVH,oBACA,EACE,qBACA,qBACA,2BACA,iCACA,2BACY,EAAX;AAwEL,OAAO,iBAAS,YACdG,UAAU,4BACVJ,QAAQ,qBAAqB,uBAC7BC;AAmCF,OAAO,iBAAS,mBACdI,MAAM,qBAAqB","names":["object: EnhancedObjectType | EnhancedInterfaceType","identifier: string","type: EnhancedInterfaceType | EnhancedObjectType","strict: boolean","ontology: EnhancedOntologyDefinition","type: EnhancedObjectType | EnhancedInterfaceType"],"sources":["../../../src/v2.0/wireObjectTypeV2ToSdkObjectConstV2.ts"],"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/generator",
3
- "version": "2.4.0-beta.9",
3
+ "version": "2.4.0",
4
4
  "description": "",
5
5
  "access": "public",
6
6
  "license": "Apache-2.0",
@@ -35,8 +35,8 @@
35
35
  "fetch-retry": "^6.0.0",
36
36
  "prettier": "^3.0.3",
37
37
  "tiny-invariant": "^1.3.1",
38
- "@osdk/api": "~2.4.0-beta.9",
39
- "@osdk/generator-converters": "~2.4.0-beta.9"
38
+ "@osdk/api": "~2.4.0",
39
+ "@osdk/generator-converters": "~2.4.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^18.0.0",
@@ -44,8 +44,8 @@
44
44
  "ts-expect": "^1.3.0",
45
45
  "typescript": "~5.5.4",
46
46
  "vitest": "^3.0.5",
47
- "@osdk/monorepo.api-extractor": "~0.3.0-beta.1",
48
- "@osdk/monorepo.tsconfig": "~0.3.0-beta.1"
47
+ "@osdk/monorepo.api-extractor": "~0.3.0",
48
+ "@osdk/monorepo.tsconfig": "~0.3.0"
49
49
  },
50
50
  "publishConfig": {
51
51
  "access": "public"