@osdk/generator 1.6.0 → 1.8.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 (177) hide show
  1. package/build/js/index.cjs +58 -25
  2. package/build/js/index.cjs.map +1 -1
  3. package/build/js/index.mjs +59 -26
  4. package/build/js/index.mjs.map +1 -1
  5. package/build/types/MinimalFs.d.ts +1 -0
  6. package/build/types/MinimalFs.d.ts.map +1 -0
  7. package/build/types/WireOntologyDefinition.d.ts +1 -0
  8. package/build/types/WireOntologyDefinition.d.ts.map +1 -0
  9. package/build/types/index.d.ts +2 -0
  10. package/build/types/index.d.ts.map +1 -0
  11. package/build/types/shared/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +2 -1
  12. package/build/types/shared/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts.map +1 -0
  13. package/build/types/shared/generateMetadata.d.ts +1 -0
  14. package/build/types/shared/generateMetadata.d.ts.map +1 -0
  15. package/build/types/shared/getEditedEntities.d.ts +1 -0
  16. package/build/types/shared/getEditedEntities.d.ts.map +1 -0
  17. package/build/types/shared/index.d.ts +1 -0
  18. package/build/types/shared/index.d.ts.map +1 -0
  19. package/build/types/shared/isNullableQueryDataType.d.ts +1 -0
  20. package/build/types/shared/isNullableQueryDataType.d.ts.map +1 -0
  21. package/build/types/shared/sanitizeMetadata.d.ts +1 -0
  22. package/build/types/shared/sanitizeMetadata.d.ts.map +1 -0
  23. package/build/types/shared/sanitizeMetadata.test.d.ts +1 -0
  24. package/build/types/shared/sanitizeMetadata.test.d.ts.map +1 -0
  25. package/build/types/shared/wireActionTypeV2ToSdkActionDefinition.d.ts +1 -0
  26. package/build/types/shared/wireActionTypeV2ToSdkActionDefinition.d.ts.map +1 -0
  27. package/build/types/shared/wireObjectTypeV2ToSdkObjectConst.d.ts +1 -0
  28. package/build/types/shared/wireObjectTypeV2ToSdkObjectConst.d.ts.map +1 -0
  29. package/build/types/shared/wireQueryDataTypeToQueryDataTypeDefinition.d.ts +1 -0
  30. package/build/types/shared/wireQueryDataTypeToQueryDataTypeDefinition.d.ts.map +1 -0
  31. package/build/types/shared/wireQueryTypeV2ToSdkQueryDefinition.d.ts +1 -0
  32. package/build/types/shared/wireQueryTypeV2ToSdkQueryDefinition.d.ts.map +1 -0
  33. package/build/types/util/InMemoryFs.d.ts +1 -0
  34. package/build/types/util/InMemoryFs.d.ts.map +1 -0
  35. package/build/types/util/commaSeparatedIdentifiers.d.ts +1 -0
  36. package/build/types/util/commaSeparatedIdentifiers.d.ts.map +1 -0
  37. package/build/types/util/commaSeparatedTypeIdentifiers.d.ts +1 -0
  38. package/build/types/util/commaSeparatedTypeIdentifiers.d.ts.map +1 -0
  39. package/build/types/util/deleteUndefineds.d.ts +1 -0
  40. package/build/types/util/deleteUndefineds.d.ts.map +1 -0
  41. package/build/types/util/reservedKeywords.d.ts +1 -0
  42. package/build/types/util/reservedKeywords.d.ts.map +1 -0
  43. package/build/types/util/stringify.d.ts +1 -0
  44. package/build/types/util/stringify.d.ts.map +1 -0
  45. package/build/types/util/test/TodoWireOntology.d.ts +27 -0
  46. package/build/types/util/test/TodoWireOntology.d.ts.map +1 -0
  47. package/build/types/util/test/compileThis.d.ts +1 -0
  48. package/build/types/util/test/compileThis.d.ts.map +1 -0
  49. package/build/types/util/test/createMockMinimalFiles.d.ts +1 -0
  50. package/build/types/util/test/createMockMinimalFiles.d.ts.map +1 -0
  51. package/build/types/util/test/formatTs.d.ts +1 -0
  52. package/build/types/util/test/formatTs.d.ts.map +1 -0
  53. package/build/types/util/verifyOutdir.d.ts +1 -0
  54. package/build/types/util/verifyOutdir.d.ts.map +1 -0
  55. package/build/types/v1.1/backcompat/generateOAuthDistDir.d.ts +1 -0
  56. package/build/types/v1.1/backcompat/generateOAuthDistDir.d.ts.map +1 -0
  57. package/build/types/v1.1/backcompat/generateOntologyRuntimeDistDir.d.ts +1 -0
  58. package/build/types/v1.1/backcompat/generateOntologyRuntimeDistDir.d.ts.map +1 -0
  59. package/build/types/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.d.ts +1 -0
  60. package/build/types/v1.1/backcompat/internal-foundry-oauth-dist/generateConfidentialClientDir.d.ts.map +1 -0
  61. package/build/types/v1.1/backcompat/internal-foundry-oauth-dist/generatePublicClientDir.d.ts +1 -0
  62. package/build/types/v1.1/backcompat/internal-foundry-oauth-dist/generatePublicClientDir.d.ts.map +1 -0
  63. package/build/types/v1.1/backcompat/internal-foundry-oauth-dist/generateUserTokenDir.d.ts +1 -0
  64. package/build/types/v1.1/backcompat/internal-foundry-oauth-dist/generateUserTokenDir.d.ts.map +1 -0
  65. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.ts +1 -0
  66. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.ts.map +1 -0
  67. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.ts +1 -0
  68. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.ts.map +1 -0
  69. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.ts +1 -0
  70. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.ts.map +1 -0
  71. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateAttachmentsDir.d.ts +1 -0
  72. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateAttachmentsDir.d.ts.map +1 -0
  73. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateGeoshapesDir.d.ts +1 -0
  74. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateGeoshapesDir.d.ts.map +1 -0
  75. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateObjectSetDir.d.ts +1 -0
  76. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateObjectSetDir.d.ts.map +1 -0
  77. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateSharedObjectCode.d.ts +1 -0
  78. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateSharedObjectCode.d.ts.map +1 -0
  79. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateTimeSeriesDir.d.ts +1 -0
  80. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/baseTypes/generateTimeSeriesDir.d.ts.map +1 -0
  81. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.ts +1 -0
  82. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.ts.map +1 -0
  83. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.d.ts +1 -0
  84. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateBaseTypesDir.d.ts.map +1 -0
  85. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateClientDir.d.ts +1 -0
  86. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateClientDir.d.ts.map +1 -0
  87. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.ts +1 -0
  88. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.ts.map +1 -0
  89. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateFiltersDir.d.ts +1 -0
  90. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateFiltersDir.d.ts.map +1 -0
  91. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.ts +1 -0
  92. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.ts.map +1 -0
  93. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.ts +1 -0
  94. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.ts.map +1 -0
  95. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.ts +1 -0
  96. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.ts.map +1 -0
  97. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.ts +1 -0
  98. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.ts.map +1 -0
  99. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.ts +1 -0
  100. package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.ts.map +1 -0
  101. package/build/types/v1.1/backcompat/util/reexportConsts.d.ts +1 -0
  102. package/build/types/v1.1/backcompat/util/reexportConsts.d.ts.map +1 -0
  103. package/build/types/v1.1/backcompat/util/reexportTypes.d.ts +1 -0
  104. package/build/types/v1.1/backcompat/util/reexportTypes.d.ts.map +1 -0
  105. package/build/types/v1.1/generateActions.d.ts +1 -0
  106. package/build/types/v1.1/generateActions.d.ts.map +1 -0
  107. package/build/types/v1.1/generateActions.test.d.ts +1 -0
  108. package/build/types/v1.1/generateActions.test.d.ts.map +1 -0
  109. package/build/types/v1.1/generateBackCompatDeprecatedExports.d.ts +1 -0
  110. package/build/types/v1.1/generateBackCompatDeprecatedExports.d.ts.map +1 -0
  111. package/build/types/v1.1/generateBulkActions.d.ts +1 -0
  112. package/build/types/v1.1/generateBulkActions.d.ts.map +1 -0
  113. package/build/types/v1.1/generateBulkActions.test.d.ts +1 -0
  114. package/build/types/v1.1/generateBulkActions.test.d.ts.map +1 -0
  115. package/build/types/v1.1/generateClientSdkVersionOneDotOne.d.ts +1 -0
  116. package/build/types/v1.1/generateClientSdkVersionOneDotOne.d.ts.map +1 -0
  117. package/build/types/v1.1/generateClientSdkVersionOneDotOne.test.d.ts +1 -0
  118. package/build/types/v1.1/generateClientSdkVersionOneDotOne.test.d.ts.map +1 -0
  119. package/build/types/v1.1/generateFoundryClientFile.d.ts +1 -0
  120. package/build/types/v1.1/generateFoundryClientFile.d.ts.map +1 -0
  121. package/build/types/v1.1/generateFoundryClientFile.test.d.ts +1 -0
  122. package/build/types/v1.1/generateFoundryClientFile.test.d.ts.map +1 -0
  123. package/build/types/v1.1/generateIndexFile.d.ts +1 -0
  124. package/build/types/v1.1/generateIndexFile.d.ts.map +1 -0
  125. package/build/types/v1.1/generateMetadataFile.d.ts +1 -0
  126. package/build/types/v1.1/generateMetadataFile.d.ts.map +1 -0
  127. package/build/types/v1.1/generateMetadataFile.test.d.ts +1 -0
  128. package/build/types/v1.1/generateMetadataFile.test.d.ts.map +1 -0
  129. package/build/types/v1.1/generateObjectsInterfaceFile.d.ts +1 -0
  130. package/build/types/v1.1/generateObjectsInterfaceFile.d.ts.map +1 -0
  131. package/build/types/v1.1/generateObjectsInterfaceFile.test.d.ts +1 -0
  132. package/build/types/v1.1/generateObjectsInterfaceFile.test.d.ts.map +1 -0
  133. package/build/types/v1.1/generateObjectsInterfaceSupportFiles.d.ts +1 -0
  134. package/build/types/v1.1/generateObjectsInterfaceSupportFiles.d.ts.map +1 -0
  135. package/build/types/v1.1/generateObjectsInterfaceSupportFiles.test.d.ts +1 -0
  136. package/build/types/v1.1/generateObjectsInterfaceSupportFiles.test.d.ts.map +1 -0
  137. package/build/types/v1.1/generateOntologyIndexFile.d.ts +1 -0
  138. package/build/types/v1.1/generateOntologyIndexFile.d.ts.map +1 -0
  139. package/build/types/v1.1/generatePerActionDataFiles.d.ts +1 -0
  140. package/build/types/v1.1/generatePerActionDataFiles.d.ts.map +1 -0
  141. package/build/types/v1.1/generatePerActionDataFiles.test.d.ts +1 -0
  142. package/build/types/v1.1/generatePerActionDataFiles.test.d.ts.map +1 -0
  143. package/build/types/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts +1 -0
  144. package/build/types/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts.map +1 -0
  145. package/build/types/v1.1/generatePerObjectInterfaceAndDataFiles.test.d.ts +1 -0
  146. package/build/types/v1.1/generatePerObjectInterfaceAndDataFiles.test.d.ts.map +1 -0
  147. package/build/types/v1.1/generatePerQueryDataFiles.d.ts +1 -0
  148. package/build/types/v1.1/generatePerQueryDataFiles.d.ts.map +1 -0
  149. package/build/types/v1.1/generatePerQueryDataFiles.test.d.ts +1 -0
  150. package/build/types/v1.1/generatePerQueryDataFiles.test.d.ts.map +1 -0
  151. package/build/types/v1.1/generateQueries.d.ts +1 -0
  152. package/build/types/v1.1/generateQueries.d.ts.map +1 -0
  153. package/build/types/v1.1/generateQueries.test.d.ts +1 -0
  154. package/build/types/v1.1/generateQueries.test.d.ts.map +1 -0
  155. package/build/types/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.d.ts +1 -0
  156. package/build/types/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.d.ts.map +1 -0
  157. package/build/types/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.test.d.ts +1 -0
  158. package/build/types/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.test.d.ts.map +1 -0
  159. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts +1 -0
  160. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +1 -0
  161. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +1 -0
  162. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +1 -0
  163. package/build/types/v2.0/generateMetadata.d.ts +1 -0
  164. package/build/types/v2.0/generateMetadata.d.ts.map +1 -0
  165. package/build/types/validateWireOntologyAssumptions.d.ts +1 -0
  166. package/build/types/validateWireOntologyAssumptions.d.ts.map +1 -0
  167. package/changelog/1.7.0/pr-101.v2.yml +5 -0
  168. package/changelog/1.7.0/pr-102.v2.yml +5 -0
  169. package/changelog/1.7.0/pr-113.v2.yml +5 -0
  170. package/changelog/1.7.0/pr-120.v2.yml +5 -0
  171. package/changelog/1.7.0/pr-121.v2.yml +5 -0
  172. package/changelog/1.7.0/pr-124.v2.yml +5 -0
  173. package/changelog/1.8.0/pr-138.v2.yml +5 -0
  174. package/changelog/1.8.0/pr-140.v2.yml +5 -0
  175. package/changelog/1.8.0/pr-141.v2.yml +5 -0
  176. package/changelog/1.8.0/pr-142.v2.yml +5 -0
  177. package/package.json +5 -5
@@ -872,7 +872,9 @@ var defaultCustomizer = (value, defaultValueFormatter, key, defaultKeyFormatter)
872
872
  function stringify(obj, customizer = {}, separator = ",\n") {
873
873
  const defaultKeyFormatter = (key) => `${JSON.stringify(key)}`;
874
874
  const entries = [];
875
- for (const [key, value] of Object.entries(obj)) {
875
+ const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));
876
+ for (const key of sortedKeys) {
877
+ const value = obj[key];
876
878
  const res = (customizer[key] ?? customizer["*"] ?? defaultCustomizer)(value, (value2) => JSON.stringify(value2, null, 2), key, defaultKeyFormatter);
877
879
  if (res) {
878
880
  if (typeof res === "string") {
@@ -951,8 +953,12 @@ ${Array.from(uniqueLinkTargets).map((linkTarget) => `import type { ${linkTarget}
951
953
 
952
954
  ${getDescriptionIfPresent(objectTypeWithLinks.objectType.description)}
953
955
  export interface ${objectTypeWithLinks.objectType.apiName} extends OntologyObject {
956
+ /** @deprecated please migrate to $apiName instead */
954
957
  readonly __apiName: "${objectTypeWithLinks.objectType.apiName}";
958
+ /** @deprecated please migrate to $primaryKey instead */
955
959
  readonly __primaryKey: ${wirePropertyTypeV2ToTypeScriptType(objectTypeWithLinks.objectType.properties[objectTypeWithLinks.objectType.primaryKey].dataType)};
960
+ readonly $apiName: "${objectTypeWithLinks.objectType.apiName}";
961
+ readonly $primaryKey: ${wirePropertyTypeV2ToTypeScriptType(objectTypeWithLinks.objectType.properties[objectTypeWithLinks.objectType.primaryKey].dataType)};
956
962
  ${Object.entries(objectTypeWithLinks.objectType.properties).sort((a, b) => a[0].localeCompare(b[0])).flatMap(([propertyName, propertyDefinition]) => {
957
963
  const propertyType = wirePropertyTypeV2ToTypeScriptType(propertyDefinition.dataType);
958
964
  const entries = [`${getDescriptionIfPresent(propertyDefinition.description, true)}readonly ${propertyName}: ${propertyType} | undefined`];
@@ -986,7 +992,7 @@ function wirePropertyTypeV2ToTypeScriptType(property) {
986
992
  case "date":
987
993
  return "LocalDate";
988
994
  case "decimal":
989
- return "number";
995
+ return "string";
990
996
  case "double":
991
997
  return "number";
992
998
  case "float":
@@ -996,7 +1002,7 @@ function wirePropertyTypeV2ToTypeScriptType(property) {
996
1002
  case "geoshape":
997
1003
  return "GeoShape";
998
1004
  case "long":
999
- return "number";
1005
+ return "string";
1000
1006
  case "short":
1001
1007
  return "number";
1002
1008
  case "timestamp":
@@ -1036,13 +1042,14 @@ async function generatePerActionDataFiles(ontology, fs, outDir, importExt, v2) {
1036
1042
  const paramsIdentifier = `${action.apiName}$Params`;
1037
1043
  function createParamsDef() {
1038
1044
  const entries = Object.entries(parameters);
1045
+ entries.sort((a, b) => a[0].localeCompare(b[0]));
1039
1046
  if (entries.length === 0) {
1040
1047
  return `// Represents the definition of the parameters for the action
1041
1048
  export type ${paramsDefIdentifier} = Record<string, never>;`;
1042
1049
  }
1043
1050
  return `// Represents the definition of the parameters for the action
1044
1051
  export type ${paramsDefIdentifier} = {
1045
- ${Object.entries(parameters).map(([key, value]) => {
1052
+ ${entries.map(([key, value]) => {
1046
1053
  return `"${key}": {
1047
1054
  ${stringify(value, {
1048
1055
  description: (value2, d) => value2 ? d(value2) : void 0,
@@ -1081,7 +1088,7 @@ async function generatePerActionDataFiles(ontology, fs, outDir, importExt, v2) {
1081
1088
 
1082
1089
  // Represents the definition of the action
1083
1090
  export interface ${actionDefIdentifier} extends ActionDefinition<"${action.apiName}", ${uniqueApiNamesString}, ${action.apiName}>{
1084
- ${Object.entries(actionDefSansParameters).map(([key, value]) => {
1091
+ ${Object.entries(actionDefSansParameters).sort((a, b) => a[0].localeCompare(b[0])).map(([key, value]) => {
1085
1092
  return `${key}: ${JSON.stringify(value)};`;
1086
1093
  }).join("\n")}
1087
1094
  parameters: ${paramsDefIdentifier}
@@ -1099,6 +1106,10 @@ async function generatePerActionDataFiles(ontology, fs, outDir, importExt, v2) {
1099
1106
  referencedObjectDefs.add(getObjectDefIdentifier(p.dataType.objectApiName, v2));
1100
1107
  referencedObjectDefs.add(getObjectDefIdentifier(p.dataType.objectTypeApiName, v2));
1101
1108
  }
1109
+ if (p.dataType.type === "array" && (p.dataType.subType.type === "object" || p.dataType.subType.type === "objectSet")) {
1110
+ referencedObjectDefs.add(getObjectDefIdentifier(p.dataType.subType.objectApiName, v2));
1111
+ referencedObjectDefs.add(getObjectDefIdentifier(p.dataType.subType.objectTypeApiName, v2));
1112
+ }
1102
1113
  }
1103
1114
  const importObjects = referencedObjectDefs.size > 0 ? `import type {${[...referencedObjectDefs].join(",")}} from "../objects${importExt}";` : "";
1104
1115
  await fs.writeFile(path15__namespace.default.join(outDir, `${action.apiName}.ts`), await formatTs(`
@@ -1114,6 +1125,7 @@ async function generatePerActionDataFiles(ontology, fs, outDir, importExt, v2) {
1114
1125
  }));
1115
1126
  await fs.writeFile(path15__namespace.default.join(outDir, `index.ts`), await formatTs(`
1116
1127
  ${Object.values(ontology.actionTypes).map((action) => `export {${action.apiName}} from "./${action.apiName}${importExt}";`).join("\n")}
1128
+ ${Object.keys(ontology.actionTypes).length === 0 ? "export {};" : ""}
1117
1129
  `));
1118
1130
  }
1119
1131
  function extractReferencedObjectsFromAction(actionType) {
@@ -1437,8 +1449,9 @@ function handleQueryDataType(dataType, importedObjects, isReturnValue) {
1437
1449
  case "double":
1438
1450
  case "float":
1439
1451
  case "integer":
1440
- case "long":
1441
1452
  return "number";
1453
+ case "long":
1454
+ return isReturnValue ? "string" : "string | number";
1442
1455
  case "date":
1443
1456
  return "LocalDate";
1444
1457
  case "timestamp":
@@ -1560,20 +1573,38 @@ async function generateClientSdkVersionOneDotOne(ontology, userAgent, fs, outDir
1560
1573
  await generateIndexFile(fs, outDir, importExt);
1561
1574
  await generateBackCompatDeprecatedExports(fs, outDir, importExt);
1562
1575
  }
1563
- function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceType, v2 = false) {
1564
- return `
1565
- export const ${interfaceType.apiName} = ${JSON.stringify(wireInterfaceTypeV2ToSdkObjectDefinition(interfaceType), null, 2)} satisfies InterfaceDefinition<"${interfaceType.apiName}", "">;`;
1566
- }
1567
- function wireInterfaceTypeV2ToSdkObjectDefinition(interfaceType, v2) {
1568
- return {
1569
- type: "interface",
1570
- apiName: interfaceType.apiName,
1571
- description: interfaceType.description,
1572
- properties: Object.fromEntries(Object.entries(interfaceType.properties).map(([key, value]) => {
1573
- return [key, generatorConverters.wirePropertyV2ToSdkPropertyDefinition(value, true)];
1574
- })),
1575
- links: {}
1576
- };
1576
+ function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, v2 = false) {
1577
+ const definition = deleteUndefineds(generatorConverters.__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef, v2));
1578
+ const objectDefIdentifier = getObjectDefIdentifier(interfaceDef.apiName, v2);
1579
+ function getV2Types() {
1580
+ return `
1581
+ export interface ${objectDefIdentifier} extends InterfaceDefinition<"${interfaceDef.apiName}", ${interfaceDef.apiName}> {
1582
+ ${stringify(definition, {
1583
+ type: () => void 0,
1584
+ apiName: () => void 0,
1585
+ links: (_value) => `{
1586
+ ${stringify(definition.links, {
1587
+ "*": (definition2) => `ObjectTypeLinkDefinition<${getObjectDefIdentifier(definition2.targetType, v2)}, ${definition2.multiplicity}>`
1588
+ })}
1589
+ }`,
1590
+ properties: (_value) => `{
1591
+ ${stringify(definition.properties, {
1592
+ "*": (propertyDefinition) => `PropertyDef<"${propertyDefinition.type}", "${propertyDefinition.nullable ? "nullable" : "non-nullable"}", "${propertyDefinition.multiplicity ? "array" : "single"}">`
1593
+ })}
1594
+ }`
1595
+ })}
1596
+ }
1597
+
1598
+ `;
1599
+ }
1600
+ const imports = [];
1601
+ return `${imports.join("\n")}
1602
+
1603
+ ${v2 ? getV2Types() : ""}
1604
+
1605
+ export const ${definition.apiName}: ${objectDefIdentifier} = {
1606
+ ${stringify(definition)}
1607
+ };`;
1577
1608
  }
1578
1609
  async function generateOntologyMetadataFile(ontology, userAgent, fs, outDir) {
1579
1610
  fs.writeFile(path15__namespace.default.join(outDir, "OntologyMetadata.ts"), await formatTs(`
@@ -1589,9 +1620,10 @@ async function generateOntologyMetadataFile(ontology, userAgent, fs, outDir) {
1589
1620
  async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs, outDir, packageType = "commonjs") {
1590
1621
  await verifyOutdir(outDir, fs);
1591
1622
  const sanitizedOntology = sanitizeMetadata(ontology);
1592
- const objectNames = Object.keys(sanitizedOntology.objectTypes);
1593
- const actionNames = Object.keys(sanitizedOntology.actionTypes);
1594
- const interfaceNames = Object.keys(sanitizedOntology.interfaceTypes ?? {});
1623
+ const objectNames = Object.keys(sanitizedOntology.objectTypes).sort((a, b) => a.localeCompare(b));
1624
+ const actionNames = Object.keys(sanitizedOntology.actionTypes).sort((a, b) => a.localeCompare(b));
1625
+ Object.keys(sanitizedOntology.queryTypes).sort((a, b) => a.localeCompare(b));
1626
+ const interfaceNames = Object.keys(sanitizedOntology.interfaceTypes ?? {}).sort((a, b) => a.localeCompare(b));
1595
1627
  const importExt = packageType === "module" ? ".js" : "";
1596
1628
  await fs.mkdir(outDir, {
1597
1629
  recursive: true
@@ -1657,7 +1689,8 @@ async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs, out
1657
1689
  });
1658
1690
  await generatePerActionDataFiles(sanitizedOntology, fs, actionsDir, importExt, true);
1659
1691
  await fs.writeFile(path15__namespace.default.join(outDir, "ontology", "objects.ts"), await formatTs(`
1660
- ${Object.keys(ontology.objectTypes).map((apiName) => `export * from "./objects/${apiName}${importExt}";`).join("\n")}
1692
+ ${Object.keys(ontology.objectTypes).sort((a, b) => a.localeCompare(b)).map((apiName) => `export * from "./objects/${apiName}${importExt}";`).join("\n")}
1693
+ ${Object.keys(ontology.objectTypes).length === 0 ? "export {};" : ""}
1661
1694
  `));
1662
1695
  }
1663
1696
  function stringUnionFrom2(values) {
@@ -1676,7 +1709,7 @@ async function generateOntologyInterfaces(fs, outDir, interfaceNames, ontology,
1676
1709
  const obj = ontology.interfaceTypes[name];
1677
1710
  await fs.writeFile(path15__namespace.default.join(interfacesDir, `${name}.ts`), await formatTs(`
1678
1711
 
1679
- import type { InterfaceDefinition } from "@osdk/api";
1712
+ import type { InterfaceDefinition, PropertyDef } from "@osdk/api";
1680
1713
 
1681
1714
  ${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, true)}
1682
1715
  `));