@osdk/generator 2.8.0-beta.3 → 2.8.0-beta.30

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 (115) hide show
  1. package/CHANGELOG.md +234 -0
  2. package/build/browser/GenerateContext/EnhancedAction.js +13 -0
  3. package/build/browser/GenerateContext/EnhancedAction.js.map +1 -1
  4. package/build/browser/GenerateContext/GenerateContext.js.map +1 -1
  5. package/build/browser/generateClientSdkPackage.js +1 -1
  6. package/build/browser/generateClientSdkPackage.js.map +1 -1
  7. package/build/browser/index.js +1 -1
  8. package/build/browser/index.js.map +1 -1
  9. package/build/browser/shared/getInterfaceTypesFromQueryDataType.js +3 -0
  10. package/build/browser/shared/getInterfaceTypesFromQueryDataType.js.map +1 -1
  11. package/build/browser/shared/getObjectTypesFromQueryDataType.js +3 -0
  12. package/build/browser/shared/getObjectTypesFromQueryDataType.js.map +1 -1
  13. package/build/browser/util/test/TodoWireOntology.js +20 -10
  14. package/build/browser/util/test/TodoWireOntology.js.map +1 -1
  15. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +3 -2
  16. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  17. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js +1 -4
  18. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
  19. package/build/browser/v2.0/generatePerActionDataFiles.js +2 -6
  20. package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
  21. package/build/browser/v2.0/generatePerQueryDataFiles.js +10 -3
  22. package/build/browser/v2.0/generatePerQueryDataFiles.js.map +1 -1
  23. package/build/browser/v2.0/getDescriptionIfPresent.js +4 -1
  24. package/build/browser/v2.0/getDescriptionIfPresent.js.map +1 -1
  25. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +5 -1
  26. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  27. package/build/cjs/index.cjs +44 -80
  28. package/build/cjs/index.cjs.map +1 -1
  29. package/build/cjs/index.d.cts +12 -1
  30. package/build/esm/GenerateContext/EnhancedAction.js +13 -0
  31. package/build/esm/GenerateContext/EnhancedAction.js.map +1 -1
  32. package/build/esm/GenerateContext/GenerateContext.js.map +1 -1
  33. package/build/esm/generateClientSdkPackage.js +1 -1
  34. package/build/esm/generateClientSdkPackage.js.map +1 -1
  35. package/build/esm/index.js +1 -1
  36. package/build/esm/index.js.map +1 -1
  37. package/build/esm/shared/getInterfaceTypesFromQueryDataType.js +3 -0
  38. package/build/esm/shared/getInterfaceTypesFromQueryDataType.js.map +1 -1
  39. package/build/esm/shared/getObjectTypesFromQueryDataType.js +3 -0
  40. package/build/esm/shared/getObjectTypesFromQueryDataType.js.map +1 -1
  41. package/build/esm/util/test/TodoWireOntology.js +20 -10
  42. package/build/esm/util/test/TodoWireOntology.js.map +1 -1
  43. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +3 -2
  44. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  45. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js +1 -4
  46. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
  47. package/build/esm/v2.0/generatePerActionDataFiles.js +2 -6
  48. package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
  49. package/build/esm/v2.0/generatePerQueryDataFiles.js +10 -3
  50. package/build/esm/v2.0/generatePerQueryDataFiles.js.map +1 -1
  51. package/build/esm/v2.0/getDescriptionIfPresent.js +4 -1
  52. package/build/esm/v2.0/getDescriptionIfPresent.js.map +1 -1
  53. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +5 -1
  54. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  55. package/build/types/GenerateContext/EnhancedAction.d.ts +2 -0
  56. package/build/types/GenerateContext/EnhancedAction.d.ts.map +1 -1
  57. package/build/types/GenerateContext/GenerateContext.d.ts +0 -2
  58. package/build/types/GenerateContext/GenerateContext.d.ts.map +1 -1
  59. package/build/types/generateClientSdkPackage.d.ts +11 -0
  60. package/build/types/generateClientSdkPackage.d.ts.map +1 -1
  61. package/build/types/index.d.ts +1 -1
  62. package/build/types/index.d.ts.map +1 -1
  63. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -1
  64. package/build/types/v2.0/generatePerActionDataFiles.d.ts +1 -1
  65. package/build/types/v2.0/generatePerActionDataFiles.d.ts.map +1 -1
  66. package/build/types/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +1 -1
  67. package/package.json +6 -6
  68. package/build/browser/generateClientSdkPackage.test.js +0 -68
  69. package/build/browser/generateClientSdkPackage.test.js.map +0 -1
  70. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js +0 -47
  71. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js.map +0 -1
  72. package/build/browser/shared/sanitizeMetadata.js +0 -42
  73. package/build/browser/shared/sanitizeMetadata.js.map +0 -1
  74. package/build/browser/shared/sanitizeMetadata.test.js +0 -46
  75. package/build/browser/shared/sanitizeMetadata.test.js.map +0 -1
  76. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +0 -472
  77. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +0 -1
  78. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +0 -2603
  79. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +0 -1
  80. package/build/browser/v2.0/generatePerActionDataFiles.test.js +0 -64
  81. package/build/browser/v2.0/generatePerActionDataFiles.test.js.map +0 -1
  82. package/build/browser/v2.0/generatePerQueryDataFiles.test.js +0 -519
  83. package/build/browser/v2.0/generatePerQueryDataFiles.test.js.map +0 -1
  84. package/build/esm/generateClientSdkPackage.test.js +0 -68
  85. package/build/esm/generateClientSdkPackage.test.js.map +0 -1
  86. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js +0 -47
  87. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js.map +0 -1
  88. package/build/esm/shared/sanitizeMetadata.js +0 -42
  89. package/build/esm/shared/sanitizeMetadata.js.map +0 -1
  90. package/build/esm/shared/sanitizeMetadata.test.js +0 -46
  91. package/build/esm/shared/sanitizeMetadata.test.js.map +0 -1
  92. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +0 -472
  93. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +0 -1
  94. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +0 -2603
  95. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +0 -1
  96. package/build/esm/v2.0/generatePerActionDataFiles.test.js +0 -64
  97. package/build/esm/v2.0/generatePerActionDataFiles.test.js.map +0 -1
  98. package/build/esm/v2.0/generatePerQueryDataFiles.test.js +0 -519
  99. package/build/esm/v2.0/generatePerQueryDataFiles.test.js.map +0 -1
  100. package/build/types/generateClientSdkPackage.test.d.ts +0 -1
  101. package/build/types/generateClientSdkPackage.test.d.ts.map +0 -1
  102. package/build/types/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +0 -1
  103. package/build/types/shared/apiNamespaces/startsWithApiNamespace.test.d.ts.map +0 -1
  104. package/build/types/shared/sanitizeMetadata.d.ts +0 -1
  105. package/build/types/shared/sanitizeMetadata.d.ts.map +0 -1
  106. package/build/types/shared/sanitizeMetadata.test.d.ts +0 -1
  107. package/build/types/shared/sanitizeMetadata.test.d.ts.map +0 -1
  108. package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +0 -1
  109. package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts.map +0 -1
  110. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +0 -1
  111. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +0 -1
  112. package/build/types/v2.0/generatePerActionDataFiles.test.d.ts +0 -1
  113. package/build/types/v2.0/generatePerActionDataFiles.test.d.ts.map +0 -1
  114. package/build/types/v2.0/generatePerQueryDataFiles.test.d.ts +0 -1
  115. package/build/types/v2.0/generatePerQueryDataFiles.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","consola","EnhancedInterfaceType","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","valueTypes","createObjectSet","createOsdkObject","createDefinition","fullApiName","rid","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","valueTypeMetadata","propertyMetadata","properties","undefined","*","propertyDefinition","_","metadata","remapStructType","getPropTypeOrValueTypeEnum","multiplicity","nullable","primaryKeyApiName","links","linkDefinition","targetType","requireInterfaceType","targetTypeApiName","getImportedDefinitionIdentifier","JSON","Object","keys","key","linkTarget","join","structType","output","entries","value","defaultPropString","valueTypeApiName","valueType","constraints","shouldWrapWithParentheses","constraint","valueConstraint","maybeEnumString","maybeGetEnumString","options","x","warn","filter"],"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 { ObjectMetadata } from \"@osdk/api\";\nimport type {\n ObjectTypeFullMetadata,\n OntologyValueType,\n PropertyApiName,\n SharedPropertyTypeApiName,\n ValueTypeApiName,\n ValueTypeConstraint,\n} from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport { 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\ntype PropertyApiNameUnion = PropertyApiName | SharedPropertyTypeApiName;\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, ontology.raw.valueTypes)}\n ${createProps(object, \"StrictProps\", true, ontology.raw.valueTypes)}\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}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"${definition.rid}\",\n },\n } satisfies ${objectDefIdentifier} & { internalDoNotUseMetadata: { rid: string } } as ${objectDefIdentifier};`;\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 valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\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 : type instanceof EnhancedInterfaceType\n ? type.raw.properties\n : undefined;\n return `export interface ${identifier} {\n${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n const metadata = propertyMetadata\n ? (propertyMetadata as Record<PropertyApiNameUnion, any>)[apiName]\n : undefined;\n return [\n `${\n propertyJsdoc(propertyDefinition, metadata, {\n apiName,\n })\n }readonly \"${maybeStripNamespace(type, apiName)}\"`,\n (typeof propertyDefinition.type === \"object\"\n ? remapStructType(propertyDefinition.type)\n : getPropTypeOrValueTypeEnum(\n propertyDefinition,\n valueTypeMetadata,\n ))\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 : object instanceof EnhancedInterfaceType\n ? object.raw.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(\n propertyDefinition,\n (propertyMetadata as Record<PropertyApiNameUnion, any>)[\n apiName\n ],\n {\n apiName,\n },\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\nfunction getPropTypeOrValueTypeEnum(\n propertyDefinition: ObjectMetadata.Property,\n valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\n): string {\n const defaultPropString = `$PropType[${\n JSON.stringify(propertyDefinition.type)\n }]`;\n if (\n !(propertyDefinition.type === \"string\"\n || propertyDefinition.type === \"boolean\")\n || !propertyDefinition.valueTypeApiName\n || valueTypeMetadata[propertyDefinition.valueTypeApiName] == null\n ) {\n return defaultPropString;\n }\n const valueType = valueTypeMetadata[propertyDefinition.valueTypeApiName];\n if (valueType.constraints.length !== 1) {\n throw new Error(\n `Expected exactly one constraint for value type ${propertyDefinition.valueTypeApiName} but got ${valueType.constraints.length}`,\n );\n }\n\n let shouldWrapWithParentheses = false;\n let constraint = valueType.constraints[0];\n if (constraint.type === \"array\" && constraint.valueConstraint) {\n constraint = constraint.valueConstraint;\n shouldWrapWithParentheses = true;\n }\n\n const maybeEnumString = maybeGetEnumString(\n propertyDefinition,\n constraint,\n );\n\n return maybeEnumString\n ? (\n shouldWrapWithParentheses ? `(${maybeEnumString})` : maybeEnumString\n )\n : defaultPropString;\n}\n\nfunction maybeGetEnumString(\n propertyDefinition: ObjectMetadata.Property,\n constraint: ValueTypeConstraint,\n) {\n if (constraint.type !== \"enum\" || constraint.options.length === 0) {\n return undefined;\n }\n if (propertyDefinition.type === \"string\") {\n return constraint.options.map(x => `\"${x}\"`).join(\n \" | \",\n );\n }\n if (propertyDefinition.type === \"boolean\") {\n return constraint.options.map(value => {\n if (value === true) {\n return true;\n } else if (value === false) {\n return false;\n } else if (value == null) {\n // Always infer nullability from the property definition\n return undefined;\n } else {\n consola.warn(`Unexpected boolean value in enum: ${value}. Ignoring.`);\n }\n }).filter(value => value != null).join(\n \" | \",\n );\n }\n return undefined;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"wireObjectTypeV2ToSdkObjectConstV2.js","names":["wireObjectTypeFullMetadataToSdkObjectMetadata","consola","EnhancedInterfaceType","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","valueTypes","createObjectSet","createOsdkObject","createDefinition","fullApiName","primaryKeyApiName","primaryKeyType","rid","identifier","getCleanedUpDefinition","maybeStripNamespace","type","q","apiNamespace","startsWith","slice","length","strict","valueTypeMetadata","propertyMetadata","properties","undefined","*","propertyDefinition","_","metadata","remapStructType","getPropTypeOrValueTypeEnum","multiplicity","nullable","links","linkDefinition","targetType","requireInterfaceType","targetTypeApiName","getImportedDefinitionIdentifier","JSON","Object","keys","key","linkTarget","join","structType","output","entries","value","defaultPropString","valueTypeApiName","valueType","constraints","shouldWrapWithParentheses","constraint","valueConstraint","maybeEnumString","maybeGetEnumString","options","x","warn","filter"],"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 { ObjectMetadata } from \"@osdk/api\";\nimport type {\n ObjectTypeFullMetadata,\n OntologyValueType,\n PropertyApiName,\n SharedPropertyTypeApiName,\n ValueTypeApiName,\n ValueTypeConstraint,\n} from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport { 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\ntype PropertyApiNameUnion = PropertyApiName | SharedPropertyTypeApiName;\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, ontology.raw.valueTypes)}\n ${createProps(object, \"StrictProps\", true, ontology.raw.valueTypes)}\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}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n primaryKeyApiName: \"${definition.primaryKeyApiName}\",\n primaryKeyType: \"${definition.primaryKeyType}\",\n internalDoNotUseMetadata: {\n rid: \"${definition.rid}\",\n },\n } satisfies ${objectDefIdentifier} & { internalDoNotUseMetadata: { rid: string } } as ${objectDefIdentifier};`;\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 valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\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 : type instanceof EnhancedInterfaceType\n ? type.raw.properties\n : undefined;\n return `export interface ${identifier} {\n${\n stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n const metadata = propertyMetadata\n ? (propertyMetadata as Record<PropertyApiNameUnion, any>)[apiName]\n : undefined;\n return [\n `${\n propertyJsdoc(propertyDefinition, metadata, {\n apiName,\n })\n }readonly \"${maybeStripNamespace(type, apiName)}\"`,\n (typeof propertyDefinition.type === \"object\"\n ? remapStructType(propertyDefinition.type)\n : getPropTypeOrValueTypeEnum(\n propertyDefinition,\n valueTypeMetadata,\n ))\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 : object instanceof EnhancedInterfaceType\n ? object.raw.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 object instanceof EnhancedObjectType && definition.type === \"object\"\n ? `\n primaryKeyApiName: \"${definition.primaryKeyApiName}\";\n primaryKeyType: \"${definition.primaryKeyType}\";`\n : \"\"\n }\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(\n propertyDefinition,\n (propertyMetadata as Record<PropertyApiNameUnion, any>)[\n apiName\n ],\n {\n apiName,\n },\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\nfunction getPropTypeOrValueTypeEnum(\n propertyDefinition: ObjectMetadata.Property,\n valueTypeMetadata: Record<ValueTypeApiName, OntologyValueType>,\n): string {\n const defaultPropString = `$PropType[${\n JSON.stringify(propertyDefinition.type)\n }]`;\n if (\n !(propertyDefinition.type === \"string\"\n || propertyDefinition.type === \"boolean\")\n || !propertyDefinition.valueTypeApiName\n || valueTypeMetadata[propertyDefinition.valueTypeApiName] == null\n ) {\n return defaultPropString;\n }\n const valueType = valueTypeMetadata[propertyDefinition.valueTypeApiName];\n if (valueType.constraints.length !== 1) {\n throw new Error(\n `Expected exactly one constraint for value type ${propertyDefinition.valueTypeApiName} but got ${valueType.constraints.length}`,\n );\n }\n\n let shouldWrapWithParentheses = false;\n let constraint = valueType.constraints[0];\n if (constraint.type === \"array\" && constraint.valueConstraint) {\n constraint = constraint.valueConstraint;\n shouldWrapWithParentheses = true;\n }\n\n const maybeEnumString = maybeGetEnumString(\n propertyDefinition,\n constraint,\n );\n\n return maybeEnumString\n ? (\n shouldWrapWithParentheses ? `(${maybeEnumString})` : maybeEnumString\n )\n : defaultPropString;\n}\n\nfunction maybeGetEnumString(\n propertyDefinition: ObjectMetadata.Property,\n constraint: ValueTypeConstraint,\n) {\n if (constraint.type !== \"enum\" || constraint.options.length === 0) {\n return undefined;\n }\n if (propertyDefinition.type === \"string\") {\n return constraint.options.map(x => `\"${x}\"`).join(\n \" | \",\n );\n }\n if (propertyDefinition.type === \"boolean\") {\n return constraint.options.map(value => {\n if (value === true) {\n return true;\n } else if (value === false) {\n return false;\n } else if (value == null) {\n // Always infer nullability from the property definition\n return undefined;\n } else {\n consola.warn(`Unexpected boolean value in enum: ${value}. Ignoring.`);\n }\n }).filter(value => value != null).join(\n \" | \",\n );\n }\n return undefined;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -77,13 +77,23 @@ function extractNamespace(fqApiName) {
77
77
 
78
78
  // src/GenerateContext/EnhancedAction.ts
79
79
  var EnhancedAction = class extends EnhancedBase {
80
+ #unsanitizedApiName;
80
81
  constructor(common, raw) {
82
+ const unsanitizedApiName = raw.apiName;
83
+ raw = {
84
+ ...raw,
85
+ apiName: camelize(raw.apiName)
86
+ };
81
87
  super(common, raw, raw.apiName, "./ontology/actions");
82
88
  this.raw = raw;
89
+ this.#unsanitizedApiName = unsanitizedApiName;
83
90
  }
84
91
  get description() {
85
92
  return this.raw.description;
86
93
  }
94
+ get unsanitizedApiName() {
95
+ return this.#unsanitizedApiName;
96
+ }
87
97
  get parameters() {
88
98
  return this.raw.parameters;
89
99
  }
@@ -100,6 +110,9 @@ var EnhancedAction = class extends EnhancedBase {
100
110
  return `${this.shortApiName}.ParamsDefinition`;
101
111
  }
102
112
  };
113
+ function camelize(name) {
114
+ return name.replace(/-./g, (segment) => segment[1].toUpperCase());
115
+ }
103
116
  var EnhancedInterfaceType = class extends EnhancedBase {
104
117
  constructor(common, raw) {
105
118
  super(common, raw, raw.apiName, "./ontology/interfaces");
@@ -241,22 +254,6 @@ function enhanceOntology({
241
254
  return new EnhancedOntologyDefinition(sanitized, importExt, externalObjects, externalInterfaces, externalSpts);
242
255
  }
243
256
 
244
- // src/shared/sanitizeMetadata.ts
245
- function sanitizeMetadata(ontology) {
246
- return {
247
- ...ontology,
248
- actionTypes: Object.fromEntries(Object.values(ontology.actionTypes).map((actionType) => {
249
- return [camelize(actionType.apiName), {
250
- ...actionType,
251
- apiName: camelize(actionType.apiName)
252
- }];
253
- }))
254
- };
255
- }
256
- function camelize(name) {
257
- return name.replace(/-./g, (segment) => segment[1].toUpperCase());
258
- }
259
-
260
257
  // src/util/verifyOutDir.ts
261
258
  async function verifyOutDir(outDir, fs2) {
262
259
  try {
@@ -345,20 +342,13 @@ function stringify(obj, customizer = {}, separator = ",\n") {
345
342
  return entries.join(separator);
346
343
  }
347
344
 
348
- // src/util/stringUnionFrom.ts
349
- function stringUnionFrom(values) {
350
- if (values.length === 0) {
351
- return "never";
352
- } else {
353
- return values.map((v) => `"${v}"`).join("|");
354
- }
355
- }
356
-
357
345
  // src/v2.0/getDescriptionIfPresent.ts
358
346
  function getDescriptionIfPresent(description, includeNewline) {
359
347
  if (description) {
348
+ const lines = description.split("\n");
349
+ const formattedLines = lines.map((line) => ` * ${line}`).join("\n");
360
350
  return `/**
361
- * ${description}
351
+ ${formattedLines}
362
352
  */${""}`;
363
353
  }
364
354
  return "";
@@ -366,7 +356,7 @@ function getDescriptionIfPresent(description, includeNewline) {
366
356
 
367
357
  // src/v2.0/generatePerActionDataFiles.ts
368
358
  async function generatePerActionDataFiles({
369
- sanitizedOntology: ontology,
359
+ ontology,
370
360
  fs: fs2,
371
361
  outDir: rootOutDir,
372
362
  importExt = "",
@@ -379,10 +369,7 @@ async function generatePerActionDataFiles({
379
369
  });
380
370
  await Promise.all(Object.values(enhancedOntology.actionTypes).map(async (action) => {
381
371
  const currentFilePath = path8__namespace.default.join("ontology", "actions", `${action.shortApiName}.ts`);
382
- const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.raw);
383
- const uniqueApiNames = new Set(uniqueApiNamesArray);
384
- stringUnionFrom([...uniqueApiNames]);
385
- const fullActionDef = deleteUndefineds(generatorConverters.wireActionTypeV2ToSdkActionMetadata(action.raw));
372
+ const fullActionDef = deleteUndefineds(generatorConverters.wireActionTypeV2ToSdkActionMetadata(action.raw, action.unsanitizedApiName));
386
373
  function createParamsDef() {
387
374
  const entries = Object.entries(fullActionDef.parameters ?? {});
388
375
  entries.sort((a, b) => a[0].localeCompare(b[0]));
@@ -571,46 +558,6 @@ async function generatePerActionDataFiles({
571
558
  ${Object.keys(ontology.actionTypes).length === 0 ? "export {};" : ""}
572
559
  `));
573
560
  }
574
- function extractReferencedObjectsFromAction(actionType) {
575
- const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({
576
- dataType
577
- }) => {
578
- const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);
579
- return objectTypeReference ? [objectTypeReference] : [];
580
- });
581
- const referenceObjectsInEdits = actionType.operations.flatMap((value) => {
582
- switch (value.type) {
583
- case "createObject":
584
- return [value.objectTypeApiName];
585
- case "modifyObject":
586
- return [value.objectTypeApiName];
587
- case "deleteObject":
588
- case "createLink":
589
- case "deleteLink":
590
- default:
591
- return [];
592
- }
593
- });
594
- return [...referenceObjectsInEdits, ...referencedObjectsInParameters];
595
- }
596
- function extractReferencedObjectsFromActionParameter(actionParameter) {
597
- switch (actionParameter.type) {
598
- case "objectSet":
599
- case "object":
600
- return actionParameter.objectTypeApiName;
601
- case "array":
602
- return extractReferencedObjectsFromActionParameter(actionParameter.subType);
603
- case "string":
604
- case "boolean":
605
- case "attachment":
606
- case "date":
607
- case "double":
608
- case "integer":
609
- case "long":
610
- case "timestamp":
611
- return void 0;
612
- }
613
- }
614
561
 
615
562
  // src/shared/propertyJsdoc.ts
616
563
  function propertyJsdoc(property, rawPropertyMetadata, {
@@ -735,6 +682,8 @@ function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
735
682
  type: "${object instanceof EnhancedObjectType ? "object" : "interface"}",
736
683
  apiName: "${object.fullApiName}",
737
684
  osdkMetadata: $osdkMetadata,
685
+ primaryKeyApiName: "${definition.primaryKeyApiName}",
686
+ primaryKeyType: "${definition.primaryKeyType}",
738
687
  internalDoNotUseMetadata: {
739
688
  rid: "${definition.rid}",
740
689
  },
@@ -821,7 +770,9 @@ function createDefinition(object, ontology, identifier, {
821
770
  export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`} {
822
771
  osdkMetadata: typeof $osdkMetadata;
823
772
  type: "${object instanceof EnhancedObjectType ? "object" : "interface"}";
824
- apiName: "${object.fullApiName}";
773
+ apiName: "${object.fullApiName}";${object instanceof EnhancedObjectType && definition.type === "object" ? `
774
+ primaryKeyApiName: "${definition.primaryKeyApiName}";
775
+ primaryKeyType: "${definition.primaryKeyType}";` : ""}
825
776
  __DefinitionMetadata?: {
826
777
  objectSet: ${objectSetIdentifier};
827
778
  props: ${osdkObjectPropsIdentifier};
@@ -966,9 +917,10 @@ Cannot have both an unqualified property and a namespaced property with matching
966
917
  return `import type {
967
918
  InterfaceDefinition as $InterfaceDefinition,
968
919
  InterfaceMetadata as $InterfaceMetadata,
969
- ObjectSet as $ObjectSet,
920
+ ObjectSet as $ObjectSet,
970
921
  Osdk as $Osdk,
971
922
  PropertyValueWireToClient as $PropType,
923
+ SingleLinkAccessor as $SingleLinkAccessor,
972
924
  } from "${forInternalUse2 ? "@osdk/api" : "@osdk/client"}";
973
925
 
974
926
  ${definition.links ? Object.keys(definition.links).length > 0 ? `
@@ -976,7 +928,7 @@ Cannot have both an unqualified property and a namespaced property with matching
976
928
  ${stringify(definition.links, {
977
929
  "*": (definition2) => {
978
930
  const linkTarget = definition2.targetType === "object" ? ontology.requireObjectType(definition2.targetTypeApiName).getImportedDefinitionIdentifier(v2) : ontology.requireInterfaceType(definition2.targetTypeApiName).getImportedDefinitionIdentifier(v2);
979
- return `${definition2.multiplicity ? `${linkTarget}.ObjectSet` : `${linkTarget}.ObjectSet`}
931
+ return `${definition2.multiplicity ? `${linkTarget}.ObjectSet` : `$SingleLinkAccessor<${linkTarget}>`}
980
932
  `;
981
933
  }
982
934
  })}
@@ -1112,6 +1064,7 @@ function getInterfaceTypesFromQueryDataType(dataType, types) {
1112
1064
  case "float":
1113
1065
  case "integer":
1114
1066
  case "long":
1067
+ case "mediaReference":
1115
1068
  case "null":
1116
1069
  case "string":
1117
1070
  case "threeDimensionalAggregation":
@@ -1121,6 +1074,8 @@ function getInterfaceTypesFromQueryDataType(dataType, types) {
1121
1074
  case "unsupported":
1122
1075
  case "object":
1123
1076
  case "objectSet":
1077
+ case "mediaReference":
1078
+ case "void":
1124
1079
  return;
1125
1080
  default:
1126
1081
  throw new Error(`Unknown query data type ${dataType.type}`);
@@ -1173,6 +1128,7 @@ function getObjectTypesFromQueryDataType(dataType, types) {
1173
1128
  case "float":
1174
1129
  case "integer":
1175
1130
  case "long":
1131
+ case "mediaReference":
1176
1132
  case "null":
1177
1133
  case "string":
1178
1134
  case "threeDimensionalAggregation":
@@ -1182,6 +1138,8 @@ function getObjectTypesFromQueryDataType(dataType, types) {
1182
1138
  case "unsupported":
1183
1139
  case "interfaceObject":
1184
1140
  case "interfaceObjectSet":
1141
+ case "mediaReference":
1142
+ case "void":
1185
1143
  return;
1186
1144
  default:
1187
1145
  throw new Error(`Unknown query data type ${dataType.type}`);
@@ -1268,8 +1226,8 @@ async function generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ont
1268
1226
  }), "Result")}
1269
1227
  `}
1270
1228
  }
1271
-
1272
-
1229
+
1230
+ ${getDescriptionIfPresent(query.description)}
1273
1231
  export interface ${query.shortApiName} extends QueryDefinition<
1274
1232
  ${query.shortApiName}.Signature
1275
1233
  >, VersionBound<$ExpectedClientVersion>{
@@ -1293,7 +1251,7 @@ async function generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ont
1293
1251
  osdkMetadata: typeof $osdkMetadata;
1294
1252
  }
1295
1253
 
1296
-
1254
+ ${getDescriptionIfPresent(query.description)}
1297
1255
  export const ${query.shortApiName}: ${query.definitionIdentifier} = {
1298
1256
  ${stringify(baseProps, {
1299
1257
  "description": () => void 0,
@@ -1358,6 +1316,13 @@ function getQueryParamType(enhancedOntology, input, type, isMapKey = false) {
1358
1316
  case "timestamp":
1359
1317
  paramType = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;
1360
1318
  break;
1319
+ case "mediaReference":
1320
+ if (type === "Param") {
1321
+ paramType = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;
1322
+ } else {
1323
+ paramType = `Query${type}.MediaType`;
1324
+ }
1325
+ break;
1361
1326
  case "struct":
1362
1327
  paramType = `{
1363
1328
  ${stringify(input.struct, {
@@ -1429,19 +1394,17 @@ function helper(x) {
1429
1394
  async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs2, outDir, packageType = "commonjs", externalObjects = /* @__PURE__ */ new Map(), externalInterfaces = /* @__PURE__ */ new Map(), externalSpts = /* @__PURE__ */ new Map(), forInternalUse = false, fixedVersionQueryTypes = []) {
1430
1395
  const importExt = ".js";
1431
1396
  await verifyOutDir(outDir, fs2);
1432
- const sanitizedOntology = sanitizeMetadata(ontology);
1433
1397
  await fs2.mkdir(outDir, {
1434
1398
  recursive: true
1435
1399
  });
1436
1400
  const enhancedOntology = enhanceOntology({
1437
- sanitized: sanitizedOntology,
1401
+ sanitized: ontology,
1438
1402
  importExt,
1439
1403
  externalObjects,
1440
1404
  externalInterfaces,
1441
1405
  externalSpts
1442
1406
  });
1443
1407
  const ctx = {
1444
- sanitizedOntology,
1445
1408
  ontology: enhancedOntology,
1446
1409
  importExt,
1447
1410
  fs: fs2,
@@ -1566,5 +1529,6 @@ async function writeJson(minimalFs, filePath, body) {
1566
1529
  exports.__UNSTABLE_generateClientSdkPackage = generateClientSdkPackage;
1567
1530
  exports.generateClientSdkVersionTwoPointZero = generateClientSdkVersionTwoPointZero;
1568
1531
  exports.getExpectedDependencies = getExpectedDependencies;
1532
+ exports.getTsCompilerOptions = getTsCompilerOptions;
1569
1533
  //# sourceMappingURL=index.cjs.map
1570
1534
  //# sourceMappingURL=index.cjs.map