@osdk/generator 2.1.0-beta.3 → 2.1.0-beta.31

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 (447) hide show
  1. package/CHANGELOG.md +311 -0
  2. package/build/browser/GenerateContext/EnhanceCommon.js +0 -15
  3. package/build/browser/GenerateContext/EnhanceCommon.js.map +1 -1
  4. package/build/browser/GenerateContext/EnhancedAction.js +1 -1
  5. package/build/browser/GenerateContext/EnhancedAction.js.map +1 -1
  6. package/build/browser/GenerateContext/EnhancedBase.js +2 -7
  7. package/build/browser/GenerateContext/EnhancedBase.js.map +1 -1
  8. package/build/browser/GenerateContext/EnhancedInterfaceType.js +1 -1
  9. package/build/browser/GenerateContext/EnhancedInterfaceType.js.map +1 -1
  10. package/build/browser/GenerateContext/EnhancedObjectType.js +2 -2
  11. package/build/browser/GenerateContext/EnhancedObjectType.js.map +1 -1
  12. package/build/browser/GenerateContext/EnhancedOntologyDefinition.js +1 -8
  13. package/build/browser/GenerateContext/EnhancedOntologyDefinition.js.map +1 -1
  14. package/build/browser/GenerateContext/EnhancedQuery.js +2 -2
  15. package/build/browser/GenerateContext/EnhancedQuery.js.map +1 -1
  16. package/build/browser/GenerateContext/EnhancedSharedPropertyType.js +1 -1
  17. package/build/browser/GenerateContext/EnhancedSharedPropertyType.js.map +1 -1
  18. package/build/browser/GenerateContext/ForeignType.js +1 -1
  19. package/build/browser/GenerateContext/ForeignType.js.map +1 -1
  20. package/build/browser/GenerateContext/GenerateContext.js +0 -15
  21. package/build/browser/GenerateContext/GenerateContext.js.map +1 -1
  22. package/build/browser/GenerateContext/enhanceOntology.js +1 -0
  23. package/build/browser/GenerateContext/enhanceOntology.js.map +1 -1
  24. package/build/browser/MinimalFs.js +0 -15
  25. package/build/browser/MinimalFs.js.map +1 -1
  26. package/build/browser/WireOntologyDefinition.js +0 -15
  27. package/build/browser/WireOntologyDefinition.js.map +1 -1
  28. package/build/browser/generateClientSdkPackage.js +5 -3
  29. package/build/browser/generateClientSdkPackage.js.map +1 -1
  30. package/build/browser/generateClientSdkPackage.test.js +3 -2
  31. package/build/browser/generateClientSdkPackage.test.js.map +1 -1
  32. package/build/browser/index.js +1 -0
  33. package/build/browser/index.js.map +1 -1
  34. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.js +1 -0
  35. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.js.map +1 -1
  36. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js +1 -0
  37. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.js.map +1 -1
  38. package/build/browser/shared/getObjectImports.js +1 -0
  39. package/build/browser/shared/getObjectImports.js.map +1 -1
  40. package/build/browser/shared/getObjectTypeApiNamesFromQuery.js +1 -0
  41. package/build/browser/shared/getObjectTypeApiNamesFromQuery.js.map +1 -1
  42. package/build/browser/shared/getObjectTypesFromQueryDataType.js +1 -0
  43. package/build/browser/shared/getObjectTypesFromQueryDataType.js.map +1 -1
  44. package/build/browser/shared/propertyJsdoc.js +1 -0
  45. package/build/browser/shared/propertyJsdoc.js.map +1 -1
  46. package/build/browser/shared/sanitizeMetadata.js +9 -0
  47. package/build/browser/shared/sanitizeMetadata.js.map +1 -1
  48. package/build/browser/shared/sanitizeMetadata.test.js +1 -0
  49. package/build/browser/shared/sanitizeMetadata.test.js.map +1 -1
  50. package/build/browser/util/InMemoryFs.js +1 -0
  51. package/build/browser/util/InMemoryFs.js.map +1 -1
  52. package/build/browser/util/commaSeparatedIdentifiers.js +1 -0
  53. package/build/browser/util/commaSeparatedIdentifiers.js.map +1 -1
  54. package/build/browser/util/commaSeparatedTypeIdentifiers.js +1 -0
  55. package/build/browser/util/commaSeparatedTypeIdentifiers.js.map +1 -1
  56. package/build/browser/util/deleteUndefineds.js +1 -0
  57. package/build/browser/util/deleteUndefineds.js.map +1 -1
  58. package/build/browser/util/reservedKeywords.js +1 -0
  59. package/build/browser/util/reservedKeywords.js.map +1 -1
  60. package/build/browser/util/stringUnionFrom.js +1 -0
  61. package/build/browser/util/stringUnionFrom.js.map +1 -1
  62. package/build/browser/util/stringify.js +16 -0
  63. package/build/browser/util/stringify.js.map +1 -1
  64. package/build/browser/util/test/TodoWireOntology.js +24 -5
  65. package/build/browser/util/test/TodoWireOntology.js.map +1 -1
  66. package/build/browser/util/test/compileThis.js +1 -0
  67. package/build/browser/util/test/compileThis.js.map +1 -1
  68. package/build/browser/util/test/createMockMinimalFiles.js +1 -0
  69. package/build/browser/util/test/createMockMinimalFiles.js.map +1 -1
  70. package/build/browser/util/test/formatTs.js +1 -0
  71. package/build/browser/util/test/formatTs.js.map +1 -1
  72. package/build/browser/util/verifyOutDir.js +1 -0
  73. package/build/browser/util/verifyOutDir.js.map +1 -1
  74. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +10 -7
  75. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  76. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +22 -20
  77. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
  78. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js +7 -3
  79. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
  80. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +572 -557
  81. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
  82. package/build/browser/v2.0/generateMetadata.js +4 -1
  83. package/build/browser/v2.0/generateMetadata.js.map +1 -1
  84. package/build/browser/v2.0/generatePerActionDataFiles.js +33 -10
  85. package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
  86. package/build/browser/v2.0/generatePerActionDataFiles.test.js +1 -0
  87. package/build/browser/v2.0/generatePerActionDataFiles.test.js.map +1 -1
  88. package/build/browser/v2.0/generatePerInterfaceDataFiles.js +6 -3
  89. package/build/browser/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
  90. package/build/browser/v2.0/generatePerObjectDataFiles.js +2 -1
  91. package/build/browser/v2.0/generatePerObjectDataFiles.js.map +1 -1
  92. package/build/browser/v2.0/generatePerQueryDataFiles.js +15 -9
  93. package/build/browser/v2.0/generatePerQueryDataFiles.js.map +1 -1
  94. package/build/browser/v2.0/generatePerQueryDataFiles.test.js +9 -8
  95. package/build/browser/v2.0/generatePerQueryDataFiles.test.js.map +1 -1
  96. package/build/browser/v2.0/generateRootIndexTsFile.js +3 -1
  97. package/build/browser/v2.0/generateRootIndexTsFile.js.map +1 -1
  98. package/build/browser/v2.0/getDescriptionIfPresent.js +1 -0
  99. package/build/browser/v2.0/getDescriptionIfPresent.js.map +1 -1
  100. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +26 -12
  101. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  102. package/build/browser/validateWireOntologyAssumptions.js +3 -2
  103. package/build/browser/validateWireOntologyAssumptions.js.map +1 -1
  104. package/build/cjs/chunk-XOCES5YA.cjs +978 -0
  105. package/build/cjs/chunk-XOCES5YA.cjs.map +1 -0
  106. package/build/cjs/index.cjs +1392 -0
  107. package/build/cjs/index.cjs.map +1 -0
  108. package/build/cjs/index.d.cts +31 -0
  109. package/build/cjs/prompt-YMFYYBNJ.cjs +860 -0
  110. package/build/cjs/prompt-YMFYYBNJ.cjs.map +1 -0
  111. package/build/esm/GenerateContext/EnhanceCommon.js +0 -15
  112. package/build/esm/GenerateContext/EnhanceCommon.js.map +1 -1
  113. package/build/esm/GenerateContext/EnhancedAction.js +1 -1
  114. package/build/esm/GenerateContext/EnhancedAction.js.map +1 -1
  115. package/build/esm/GenerateContext/EnhancedBase.js +2 -7
  116. package/build/esm/GenerateContext/EnhancedBase.js.map +1 -1
  117. package/build/esm/GenerateContext/EnhancedInterfaceType.js +1 -1
  118. package/build/esm/GenerateContext/EnhancedInterfaceType.js.map +1 -1
  119. package/build/esm/GenerateContext/EnhancedObjectType.js +2 -2
  120. package/build/esm/GenerateContext/EnhancedObjectType.js.map +1 -1
  121. package/build/esm/GenerateContext/EnhancedOntologyDefinition.js +1 -8
  122. package/build/esm/GenerateContext/EnhancedOntologyDefinition.js.map +1 -1
  123. package/build/esm/GenerateContext/EnhancedQuery.js +2 -2
  124. package/build/esm/GenerateContext/EnhancedQuery.js.map +1 -1
  125. package/build/esm/GenerateContext/EnhancedSharedPropertyType.js +1 -1
  126. package/build/esm/GenerateContext/EnhancedSharedPropertyType.js.map +1 -1
  127. package/build/esm/GenerateContext/ForeignType.js +1 -1
  128. package/build/esm/GenerateContext/ForeignType.js.map +1 -1
  129. package/build/esm/GenerateContext/GenerateContext.js +0 -15
  130. package/build/esm/GenerateContext/GenerateContext.js.map +1 -1
  131. package/build/esm/GenerateContext/enhanceOntology.js +1 -0
  132. package/build/esm/GenerateContext/enhanceOntology.js.map +1 -1
  133. package/build/esm/MinimalFs.js +0 -15
  134. package/build/esm/MinimalFs.js.map +1 -1
  135. package/build/esm/WireOntologyDefinition.js +0 -15
  136. package/build/esm/WireOntologyDefinition.js.map +1 -1
  137. package/build/esm/generateClientSdkPackage.js +5 -3
  138. package/build/esm/generateClientSdkPackage.js.map +1 -1
  139. package/build/esm/generateClientSdkPackage.test.js +3 -2
  140. package/build/esm/generateClientSdkPackage.test.js.map +1 -1
  141. package/build/esm/index.js +1 -0
  142. package/build/esm/index.js.map +1 -1
  143. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.js +1 -0
  144. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.js.map +1 -1
  145. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js +1 -0
  146. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.js.map +1 -1
  147. package/build/esm/shared/getObjectImports.js +1 -0
  148. package/build/esm/shared/getObjectImports.js.map +1 -1
  149. package/build/esm/shared/getObjectTypeApiNamesFromQuery.js +1 -0
  150. package/build/esm/shared/getObjectTypeApiNamesFromQuery.js.map +1 -1
  151. package/build/esm/shared/getObjectTypesFromQueryDataType.js +1 -0
  152. package/build/esm/shared/getObjectTypesFromQueryDataType.js.map +1 -1
  153. package/build/esm/shared/propertyJsdoc.js +1 -0
  154. package/build/esm/shared/propertyJsdoc.js.map +1 -1
  155. package/build/esm/shared/sanitizeMetadata.js +9 -0
  156. package/build/esm/shared/sanitizeMetadata.js.map +1 -1
  157. package/build/esm/shared/sanitizeMetadata.test.js +1 -0
  158. package/build/esm/shared/sanitizeMetadata.test.js.map +1 -1
  159. package/build/esm/util/InMemoryFs.js +1 -0
  160. package/build/esm/util/InMemoryFs.js.map +1 -1
  161. package/build/esm/util/commaSeparatedIdentifiers.js +1 -0
  162. package/build/esm/util/commaSeparatedIdentifiers.js.map +1 -1
  163. package/build/esm/util/commaSeparatedTypeIdentifiers.js +1 -0
  164. package/build/esm/util/commaSeparatedTypeIdentifiers.js.map +1 -1
  165. package/build/esm/util/deleteUndefineds.js +1 -0
  166. package/build/esm/util/deleteUndefineds.js.map +1 -1
  167. package/build/esm/util/reservedKeywords.js +1 -0
  168. package/build/esm/util/reservedKeywords.js.map +1 -1
  169. package/build/esm/util/stringUnionFrom.js +1 -0
  170. package/build/esm/util/stringUnionFrom.js.map +1 -1
  171. package/build/esm/util/stringify.js +16 -0
  172. package/build/esm/util/stringify.js.map +1 -1
  173. package/build/esm/util/test/TodoWireOntology.js +24 -5
  174. package/build/esm/util/test/TodoWireOntology.js.map +1 -1
  175. package/build/esm/util/test/compileThis.js +1 -0
  176. package/build/esm/util/test/compileThis.js.map +1 -1
  177. package/build/esm/util/test/createMockMinimalFiles.js +1 -0
  178. package/build/esm/util/test/createMockMinimalFiles.js.map +1 -1
  179. package/build/esm/util/test/formatTs.js +1 -0
  180. package/build/esm/util/test/formatTs.js.map +1 -1
  181. package/build/esm/util/verifyOutDir.js +1 -0
  182. package/build/esm/util/verifyOutDir.js.map +1 -1
  183. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +10 -7
  184. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
  185. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +22 -20
  186. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
  187. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js +7 -3
  188. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js.map +1 -1
  189. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +572 -557
  190. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
  191. package/build/esm/v2.0/generateMetadata.js +4 -1
  192. package/build/esm/v2.0/generateMetadata.js.map +1 -1
  193. package/build/esm/v2.0/generatePerActionDataFiles.js +33 -10
  194. package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
  195. package/build/esm/v2.0/generatePerActionDataFiles.test.js +1 -0
  196. package/build/esm/v2.0/generatePerActionDataFiles.test.js.map +1 -1
  197. package/build/esm/v2.0/generatePerInterfaceDataFiles.js +6 -3
  198. package/build/esm/v2.0/generatePerInterfaceDataFiles.js.map +1 -1
  199. package/build/esm/v2.0/generatePerObjectDataFiles.js +2 -1
  200. package/build/esm/v2.0/generatePerObjectDataFiles.js.map +1 -1
  201. package/build/esm/v2.0/generatePerQueryDataFiles.js +15 -9
  202. package/build/esm/v2.0/generatePerQueryDataFiles.js.map +1 -1
  203. package/build/esm/v2.0/generatePerQueryDataFiles.test.js +9 -8
  204. package/build/esm/v2.0/generatePerQueryDataFiles.test.js.map +1 -1
  205. package/build/esm/v2.0/generateRootIndexTsFile.js +3 -1
  206. package/build/esm/v2.0/generateRootIndexTsFile.js.map +1 -1
  207. package/build/esm/v2.0/getDescriptionIfPresent.js +1 -0
  208. package/build/esm/v2.0/getDescriptionIfPresent.js.map +1 -1
  209. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js +26 -12
  210. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.js.map +1 -1
  211. package/build/esm/validateWireOntologyAssumptions.js +3 -2
  212. package/build/esm/validateWireOntologyAssumptions.js.map +1 -1
  213. package/build/types/GenerateContext/EnhanceCommon.d.ts +6 -0
  214. package/build/types/GenerateContext/EnhancedAction.d.ts +13 -0
  215. package/build/types/GenerateContext/EnhancedBase.d.ts +20 -0
  216. package/build/types/GenerateContext/EnhancedInterfaceType.d.ts +12 -0
  217. package/build/types/GenerateContext/EnhancedObjectType.d.ts +11 -0
  218. package/build/types/GenerateContext/EnhancedOntologyDefinition.d.ts +28 -0
  219. package/build/types/GenerateContext/EnhancedQuery.d.ts +13 -0
  220. package/build/types/GenerateContext/EnhancedSharedPropertyType.d.ts +7 -0
  221. package/build/types/GenerateContext/ForeignType.d.ts +8 -0
  222. package/build/types/GenerateContext/GenerateContext.d.ts +13 -0
  223. package/build/types/GenerateContext/enhanceOntology.d.ts +9 -0
  224. package/build/types/MinimalFs.d.ts +7 -0
  225. package/build/types/WireOntologyDefinition.d.ts +2 -0
  226. package/build/types/generateClientSdkPackage.d.ts +31 -0
  227. package/build/types/generateClientSdkPackage.test.d.ts +1 -0
  228. package/build/types/index.d.ts +4 -0
  229. package/build/{browser → types}/shared/apiNamespaces/startsWithApiNamespace.d.ts +0 -1
  230. package/build/types/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +1 -0
  231. package/build/{browser → types}/shared/getObjectImports.d.ts +2 -2
  232. package/build/{browser → types}/shared/getObjectTypeApiNamesFromQuery.d.ts +1 -2
  233. package/build/types/shared/getObjectTypesFromQueryDataType.d.ts +2 -0
  234. package/build/{browser → types}/shared/propertyJsdoc.d.ts +2 -3
  235. package/build/types/shared/sanitizeMetadata.d.ts +1 -0
  236. package/build/types/shared/sanitizeMetadata.test.d.ts +1 -0
  237. package/build/{browser → types}/util/InMemoryFs.d.ts +2 -3
  238. package/build/{browser → types}/util/commaSeparatedIdentifiers.d.ts +0 -1
  239. package/build/{browser → types}/util/commaSeparatedTypeIdentifiers.d.ts +0 -1
  240. package/build/{browser → types}/util/deleteUndefineds.d.ts +0 -1
  241. package/build/{browser → types}/util/reservedKeywords.d.ts +0 -1
  242. package/build/{browser → types}/util/stringUnionFrom.d.ts +0 -1
  243. package/build/types/util/stringify.d.ts +20 -0
  244. package/build/types/util/test/TodoWireOntology.d.ts +2 -0
  245. package/build/{browser → types}/util/test/compileThis.d.ts +0 -1
  246. package/build/types/util/test/createMockMinimalFiles.d.ts +10 -0
  247. package/build/{browser → types}/util/test/formatTs.d.ts +0 -1
  248. package/build/types/util/verifyOutDir.d.ts +8 -0
  249. package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +1 -0
  250. package/build/types/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +1 -0
  251. package/build/{esm → types}/v2.0/generateClientSdkVersionTwoPointZero.d.ts +1 -2
  252. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +1 -0
  253. package/build/{browser → types}/v2.0/generateMetadata.d.ts +0 -1
  254. package/build/{esm → types}/v2.0/generatePerActionDataFiles.d.ts +1 -2
  255. package/build/types/v2.0/generatePerActionDataFiles.test.d.ts +1 -0
  256. package/build/types/v2.0/generatePerInterfaceDataFiles.d.ts +1 -0
  257. package/build/{esm → types}/v2.0/generatePerObjectDataFiles.d.ts +0 -1
  258. package/build/{browser → types}/v2.0/generatePerQueryDataFiles.d.ts +2 -5
  259. package/build/types/v2.0/generatePerQueryDataFiles.test.d.ts +1 -0
  260. package/build/{esm → types}/v2.0/generateRootIndexTsFile.d.ts +0 -1
  261. package/build/{browser → types}/v2.0/getDescriptionIfPresent.d.ts +0 -1
  262. package/build/{browser → types}/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts +4 -6
  263. package/build/{browser → types}/validateWireOntologyAssumptions.d.ts +0 -1
  264. package/package.json +29 -13
  265. package/build/browser/GenerateContext/EnhanceCommon.d.ts +0 -7
  266. package/build/browser/GenerateContext/EnhanceCommon.d.ts.map +0 -1
  267. package/build/browser/GenerateContext/EnhancedAction.d.ts +0 -14
  268. package/build/browser/GenerateContext/EnhancedAction.d.ts.map +0 -1
  269. package/build/browser/GenerateContext/EnhancedBase.d.ts +0 -21
  270. package/build/browser/GenerateContext/EnhancedBase.d.ts.map +0 -1
  271. package/build/browser/GenerateContext/EnhancedInterfaceType.d.ts +0 -13
  272. package/build/browser/GenerateContext/EnhancedInterfaceType.d.ts.map +0 -1
  273. package/build/browser/GenerateContext/EnhancedObjectType.d.ts +0 -12
  274. package/build/browser/GenerateContext/EnhancedObjectType.d.ts.map +0 -1
  275. package/build/browser/GenerateContext/EnhancedOntologyDefinition.d.ts +0 -27
  276. package/build/browser/GenerateContext/EnhancedOntologyDefinition.d.ts.map +0 -1
  277. package/build/browser/GenerateContext/EnhancedQuery.d.ts +0 -14
  278. package/build/browser/GenerateContext/EnhancedQuery.d.ts.map +0 -1
  279. package/build/browser/GenerateContext/EnhancedSharedPropertyType.d.ts +0 -8
  280. package/build/browser/GenerateContext/EnhancedSharedPropertyType.d.ts.map +0 -1
  281. package/build/browser/GenerateContext/ForeignType.d.ts +0 -9
  282. package/build/browser/GenerateContext/ForeignType.d.ts.map +0 -1
  283. package/build/browser/GenerateContext/GenerateContext.d.ts +0 -13
  284. package/build/browser/GenerateContext/GenerateContext.d.ts.map +0 -1
  285. package/build/browser/GenerateContext/enhanceOntology.d.ts +0 -10
  286. package/build/browser/GenerateContext/enhanceOntology.d.ts.map +0 -1
  287. package/build/browser/MinimalFs.d.ts +0 -10
  288. package/build/browser/MinimalFs.d.ts.map +0 -1
  289. package/build/browser/WireOntologyDefinition.d.ts +0 -4
  290. package/build/browser/WireOntologyDefinition.d.ts.map +0 -1
  291. package/build/browser/generateClientSdkPackage.d.ts +0 -47
  292. package/build/browser/generateClientSdkPackage.d.ts.map +0 -1
  293. package/build/browser/generateClientSdkPackage.test.d.ts +0 -2
  294. package/build/browser/generateClientSdkPackage.test.d.ts.map +0 -1
  295. package/build/browser/index.d.ts +0 -5
  296. package/build/browser/index.d.ts.map +0 -1
  297. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.d.ts.map +0 -1
  298. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +0 -2
  299. package/build/browser/shared/apiNamespaces/startsWithApiNamespace.test.d.ts.map +0 -1
  300. package/build/browser/shared/getObjectImports.d.ts.map +0 -1
  301. package/build/browser/shared/getObjectTypeApiNamesFromQuery.d.ts.map +0 -1
  302. package/build/browser/shared/getObjectTypesFromQueryDataType.d.ts +0 -3
  303. package/build/browser/shared/getObjectTypesFromQueryDataType.d.ts.map +0 -1
  304. package/build/browser/shared/propertyJsdoc.d.ts.map +0 -1
  305. package/build/browser/shared/sanitizeMetadata.d.ts +0 -2
  306. package/build/browser/shared/sanitizeMetadata.d.ts.map +0 -1
  307. package/build/browser/shared/sanitizeMetadata.test.d.ts +0 -2
  308. package/build/browser/shared/sanitizeMetadata.test.d.ts.map +0 -1
  309. package/build/browser/util/InMemoryFs.d.ts.map +0 -1
  310. package/build/browser/util/commaSeparatedIdentifiers.d.ts.map +0 -1
  311. package/build/browser/util/commaSeparatedTypeIdentifiers.d.ts.map +0 -1
  312. package/build/browser/util/deleteUndefineds.d.ts.map +0 -1
  313. package/build/browser/util/reservedKeywords.d.ts.map +0 -1
  314. package/build/browser/util/stringUnionFrom.d.ts.map +0 -1
  315. package/build/browser/util/stringify.d.ts +0 -20
  316. package/build/browser/util/stringify.d.ts.map +0 -1
  317. package/build/browser/util/test/TodoWireOntology.d.ts +0 -217
  318. package/build/browser/util/test/TodoWireOntology.d.ts.map +0 -1
  319. package/build/browser/util/test/compileThis.d.ts.map +0 -1
  320. package/build/browser/util/test/createMockMinimalFiles.d.ts +0 -13
  321. package/build/browser/util/test/createMockMinimalFiles.d.ts.map +0 -1
  322. package/build/browser/util/test/formatTs.d.ts.map +0 -1
  323. package/build/browser/util/verifyOutDir.d.ts +0 -9
  324. package/build/browser/util/verifyOutDir.d.ts.map +0 -1
  325. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +0 -2
  326. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts.map +0 -1
  327. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +0 -2
  328. package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts.map +0 -1
  329. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.d.ts +0 -4
  330. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +0 -1
  331. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +0 -2
  332. package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +0 -1
  333. package/build/browser/v2.0/generateMetadata.d.ts.map +0 -1
  334. package/build/browser/v2.0/generatePerActionDataFiles.d.ts +0 -3
  335. package/build/browser/v2.0/generatePerActionDataFiles.d.ts.map +0 -1
  336. package/build/browser/v2.0/generatePerActionDataFiles.test.d.ts +0 -2
  337. package/build/browser/v2.0/generatePerActionDataFiles.test.d.ts.map +0 -1
  338. package/build/browser/v2.0/generatePerInterfaceDataFiles.d.ts +0 -2
  339. package/build/browser/v2.0/generatePerInterfaceDataFiles.d.ts.map +0 -1
  340. package/build/browser/v2.0/generatePerObjectDataFiles.d.ts +0 -3
  341. package/build/browser/v2.0/generatePerObjectDataFiles.d.ts.map +0 -1
  342. package/build/browser/v2.0/generatePerQueryDataFiles.d.ts.map +0 -1
  343. package/build/browser/v2.0/generatePerQueryDataFiles.test.d.ts +0 -2
  344. package/build/browser/v2.0/generatePerQueryDataFiles.test.d.ts.map +0 -1
  345. package/build/browser/v2.0/generateRootIndexTsFile.d.ts +0 -3
  346. package/build/browser/v2.0/generateRootIndexTsFile.d.ts.map +0 -1
  347. package/build/browser/v2.0/getDescriptionIfPresent.d.ts.map +0 -1
  348. package/build/browser/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +0 -1
  349. package/build/browser/validateWireOntologyAssumptions.d.ts.map +0 -1
  350. package/build/esm/GenerateContext/EnhanceCommon.d.ts +0 -7
  351. package/build/esm/GenerateContext/EnhanceCommon.d.ts.map +0 -1
  352. package/build/esm/GenerateContext/EnhancedAction.d.ts +0 -14
  353. package/build/esm/GenerateContext/EnhancedAction.d.ts.map +0 -1
  354. package/build/esm/GenerateContext/EnhancedBase.d.ts +0 -21
  355. package/build/esm/GenerateContext/EnhancedBase.d.ts.map +0 -1
  356. package/build/esm/GenerateContext/EnhancedInterfaceType.d.ts +0 -13
  357. package/build/esm/GenerateContext/EnhancedInterfaceType.d.ts.map +0 -1
  358. package/build/esm/GenerateContext/EnhancedObjectType.d.ts +0 -12
  359. package/build/esm/GenerateContext/EnhancedObjectType.d.ts.map +0 -1
  360. package/build/esm/GenerateContext/EnhancedOntologyDefinition.d.ts +0 -27
  361. package/build/esm/GenerateContext/EnhancedOntologyDefinition.d.ts.map +0 -1
  362. package/build/esm/GenerateContext/EnhancedQuery.d.ts +0 -14
  363. package/build/esm/GenerateContext/EnhancedQuery.d.ts.map +0 -1
  364. package/build/esm/GenerateContext/EnhancedSharedPropertyType.d.ts +0 -8
  365. package/build/esm/GenerateContext/EnhancedSharedPropertyType.d.ts.map +0 -1
  366. package/build/esm/GenerateContext/ForeignType.d.ts +0 -9
  367. package/build/esm/GenerateContext/ForeignType.d.ts.map +0 -1
  368. package/build/esm/GenerateContext/GenerateContext.d.ts +0 -13
  369. package/build/esm/GenerateContext/GenerateContext.d.ts.map +0 -1
  370. package/build/esm/GenerateContext/enhanceOntology.d.ts +0 -10
  371. package/build/esm/GenerateContext/enhanceOntology.d.ts.map +0 -1
  372. package/build/esm/MinimalFs.d.ts +0 -10
  373. package/build/esm/MinimalFs.d.ts.map +0 -1
  374. package/build/esm/WireOntologyDefinition.d.ts +0 -4
  375. package/build/esm/WireOntologyDefinition.d.ts.map +0 -1
  376. package/build/esm/generateClientSdkPackage.d.ts +0 -47
  377. package/build/esm/generateClientSdkPackage.d.ts.map +0 -1
  378. package/build/esm/generateClientSdkPackage.test.d.ts +0 -2
  379. package/build/esm/generateClientSdkPackage.test.d.ts.map +0 -1
  380. package/build/esm/index.d.ts +0 -5
  381. package/build/esm/index.d.ts.map +0 -1
  382. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.d.ts +0 -2
  383. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.d.ts.map +0 -1
  384. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.d.ts +0 -2
  385. package/build/esm/shared/apiNamespaces/startsWithApiNamespace.test.d.ts.map +0 -1
  386. package/build/esm/shared/getObjectImports.d.ts +0 -4
  387. package/build/esm/shared/getObjectImports.d.ts.map +0 -1
  388. package/build/esm/shared/getObjectTypeApiNamesFromQuery.d.ts +0 -4
  389. package/build/esm/shared/getObjectTypeApiNamesFromQuery.d.ts.map +0 -1
  390. package/build/esm/shared/getObjectTypesFromQueryDataType.d.ts +0 -3
  391. package/build/esm/shared/getObjectTypesFromQueryDataType.d.ts.map +0 -1
  392. package/build/esm/shared/propertyJsdoc.d.ts +0 -6
  393. package/build/esm/shared/propertyJsdoc.d.ts.map +0 -1
  394. package/build/esm/shared/sanitizeMetadata.d.ts +0 -2
  395. package/build/esm/shared/sanitizeMetadata.d.ts.map +0 -1
  396. package/build/esm/shared/sanitizeMetadata.test.d.ts +0 -2
  397. package/build/esm/shared/sanitizeMetadata.test.d.ts.map +0 -1
  398. package/build/esm/util/InMemoryFs.d.ts +0 -7
  399. package/build/esm/util/InMemoryFs.d.ts.map +0 -1
  400. package/build/esm/util/commaSeparatedIdentifiers.d.ts +0 -2
  401. package/build/esm/util/commaSeparatedIdentifiers.d.ts.map +0 -1
  402. package/build/esm/util/commaSeparatedTypeIdentifiers.d.ts +0 -2
  403. package/build/esm/util/commaSeparatedTypeIdentifiers.d.ts.map +0 -1
  404. package/build/esm/util/deleteUndefineds.d.ts +0 -2
  405. package/build/esm/util/deleteUndefineds.d.ts.map +0 -1
  406. package/build/esm/util/reservedKeywords.d.ts +0 -2
  407. package/build/esm/util/reservedKeywords.d.ts.map +0 -1
  408. package/build/esm/util/stringUnionFrom.d.ts +0 -2
  409. package/build/esm/util/stringUnionFrom.d.ts.map +0 -1
  410. package/build/esm/util/stringify.d.ts +0 -20
  411. package/build/esm/util/stringify.d.ts.map +0 -1
  412. package/build/esm/util/test/TodoWireOntology.d.ts +0 -217
  413. package/build/esm/util/test/TodoWireOntology.d.ts.map +0 -1
  414. package/build/esm/util/test/compileThis.d.ts +0 -3
  415. package/build/esm/util/test/compileThis.d.ts.map +0 -1
  416. package/build/esm/util/test/createMockMinimalFiles.d.ts +0 -13
  417. package/build/esm/util/test/createMockMinimalFiles.d.ts.map +0 -1
  418. package/build/esm/util/test/formatTs.d.ts +0 -2
  419. package/build/esm/util/test/formatTs.d.ts.map +0 -1
  420. package/build/esm/util/verifyOutDir.d.ts +0 -9
  421. package/build/esm/util/verifyOutDir.d.ts.map +0 -1
  422. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +0 -2
  423. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts.map +0 -1
  424. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts +0 -2
  425. package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.d.ts.map +0 -1
  426. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.d.ts.map +0 -1
  427. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts +0 -2
  428. package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.d.ts.map +0 -1
  429. package/build/esm/v2.0/generateMetadata.d.ts +0 -3
  430. package/build/esm/v2.0/generateMetadata.d.ts.map +0 -1
  431. package/build/esm/v2.0/generatePerActionDataFiles.d.ts.map +0 -1
  432. package/build/esm/v2.0/generatePerActionDataFiles.test.d.ts +0 -2
  433. package/build/esm/v2.0/generatePerActionDataFiles.test.d.ts.map +0 -1
  434. package/build/esm/v2.0/generatePerInterfaceDataFiles.d.ts +0 -2
  435. package/build/esm/v2.0/generatePerInterfaceDataFiles.d.ts.map +0 -1
  436. package/build/esm/v2.0/generatePerObjectDataFiles.d.ts.map +0 -1
  437. package/build/esm/v2.0/generatePerQueryDataFiles.d.ts +0 -9
  438. package/build/esm/v2.0/generatePerQueryDataFiles.d.ts.map +0 -1
  439. package/build/esm/v2.0/generatePerQueryDataFiles.test.d.ts +0 -2
  440. package/build/esm/v2.0/generatePerQueryDataFiles.test.d.ts.map +0 -1
  441. package/build/esm/v2.0/generateRootIndexTsFile.d.ts.map +0 -1
  442. package/build/esm/v2.0/getDescriptionIfPresent.d.ts +0 -2
  443. package/build/esm/v2.0/getDescriptionIfPresent.d.ts.map +0 -1
  444. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts +0 -12
  445. package/build/esm/v2.0/wireObjectTypeV2ToSdkObjectConstV2.d.ts.map +0 -1
  446. package/build/esm/validateWireOntologyAssumptions.d.ts +0 -3
  447. package/build/esm/validateWireOntologyAssumptions.d.ts.map +0 -1
@@ -0,0 +1,1392 @@
1
+ 'use strict';
2
+
3
+ var chunkXOCES5YA_cjs = require('./chunk-XOCES5YA.cjs');
4
+ var fs = require('fs');
5
+ var path8 = require('path');
6
+ var generatorConverters = require('@osdk/generator-converters');
7
+ var prettier = require('prettier');
8
+ require('process');
9
+ require('tty');
10
+ require('util');
11
+ var fastDeepEqual = require('fast-deep-equal');
12
+ var invariant = require('tiny-invariant');
13
+
14
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ function _interopNamespace(e) {
17
+ if (e && e.__esModule) return e;
18
+ var n = Object.create(null);
19
+ if (e) {
20
+ Object.keys(e).forEach(function (k) {
21
+ if (k !== 'default') {
22
+ var d = Object.getOwnPropertyDescriptor(e, k);
23
+ Object.defineProperty(n, k, d.get ? d : {
24
+ enumerable: true,
25
+ get: function () { return e[k]; }
26
+ });
27
+ }
28
+ });
29
+ }
30
+ n.default = e;
31
+ return Object.freeze(n);
32
+ }
33
+
34
+ var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
35
+ var path8__namespace = /*#__PURE__*/_interopNamespace(path8);
36
+ var fastDeepEqual__default = /*#__PURE__*/_interopDefault(fastDeepEqual);
37
+ var invariant__default = /*#__PURE__*/_interopDefault(invariant);
38
+
39
+ var AbstractImportable = class {
40
+ /**
41
+ * Either a path relative to the ourDir (e.g. "./ontology/objects/foo.js") or a normal
42
+ * module import (e.g. "@something/foo")/
43
+ */
44
+ constructor(common, fullApiName, basePath, isLocal = true) {
45
+ this._common = common;
46
+ this.fullApiName = fullApiName;
47
+ [this.apiNamespace, this.shortApiName] = extractNamespace(this.fullApiName);
48
+ const {
49
+ importExt
50
+ } = common;
51
+ this.importPath = isLocal ? `${basePath}/${this.shortApiName}${importExt}` : basePath;
52
+ this.uniqueImportName = this.shortApiName;
53
+ }
54
+ getImportPathRelTo = (filePath) => {
55
+ if (this.importPath.startsWith(".")) {
56
+ const result = path8__namespace.relative(path8__namespace.dirname(filePath), this.importPath).split(path8__namespace.sep).join("/");
57
+ if (result.startsWith(".")) {
58
+ return result;
59
+ } else {
60
+ return `./${result}`;
61
+ }
62
+ } else {
63
+ return this.importPath;
64
+ }
65
+ };
66
+ };
67
+ var EnhancedBase = class extends AbstractImportable {
68
+ constructor(common, raw, fullApiName, basePath) {
69
+ super(common, fullApiName, basePath);
70
+ this.raw = raw;
71
+ }
72
+ };
73
+ function extractNamespace(fqApiName) {
74
+ const last = fqApiName.lastIndexOf(".");
75
+ if (last === -1) return [undefined, fqApiName];
76
+ return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];
77
+ }
78
+
79
+ // src/GenerateContext/EnhancedAction.ts
80
+ var EnhancedAction = class extends EnhancedBase {
81
+ constructor(common, raw) {
82
+ super(common, raw, raw.apiName, "./ontology/actions");
83
+ this.raw = raw;
84
+ }
85
+ get description() {
86
+ return this.raw.description;
87
+ }
88
+ get parameters() {
89
+ return this.raw.parameters;
90
+ }
91
+ get operations() {
92
+ return this.raw.operations;
93
+ }
94
+ get paramsIdentifier() {
95
+ return `${this.shortApiName}.Params`;
96
+ }
97
+ get definitionIdentifier() {
98
+ return `${this.shortApiName}.Definition`;
99
+ }
100
+ get definitionParamsIdentifier() {
101
+ return `${this.shortApiName}.ParamsDefinition`;
102
+ }
103
+ };
104
+
105
+ // src/util/deleteUndefineds.ts
106
+ function deleteUndefineds(obj) {
107
+ return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined));
108
+ }
109
+
110
+ // src/GenerateContext/EnhancedInterfaceType.ts
111
+ var EnhancedInterfaceType = class extends EnhancedBase {
112
+ constructor(common, raw) {
113
+ super(common, raw, raw.apiName, "./ontology/interfaces");
114
+ this.raw = raw;
115
+ }
116
+ getDefinitionIdentifier(v2) {
117
+ return v2 ? this.shortApiName : `${this.shortApiName}Def`;
118
+ }
119
+ getImportedDefinitionIdentifier(v2) {
120
+ return this.getDefinitionIdentifier(v2);
121
+ }
122
+ get properties() {
123
+ return this.raw.properties;
124
+ }
125
+ getCleanedUpDefinition(v2) {
126
+ return deleteUndefineds(generatorConverters.__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(this.raw, v2));
127
+ }
128
+ };
129
+ var EnhancedObjectType = class extends EnhancedBase {
130
+ constructor(common, raw) {
131
+ super(common, raw, raw.objectType.apiName, "./ontology/objects");
132
+ this.raw = raw;
133
+ }
134
+ getDefinitionIdentifier(v2) {
135
+ return v2 ? this.shortApiName : `${this.shortApiName}Def`;
136
+ }
137
+ getImportedDefinitionIdentifier(v2) {
138
+ return this.getDefinitionIdentifier(v2);
139
+ }
140
+ getCleanedUpDefinition(v2) {
141
+ return deleteUndefineds(generatorConverters.wireObjectTypeFullMetadataToSdkObjectMetadata(this.raw, v2));
142
+ }
143
+ };
144
+
145
+ // src/GenerateContext/EnhancedQuery.ts
146
+ var EnhancedQuery = class extends EnhancedBase {
147
+ constructor(common, raw) {
148
+ super(common, raw, raw.apiName, "./ontology/queries");
149
+ this.raw = raw;
150
+ }
151
+ get description() {
152
+ return this.raw.description;
153
+ }
154
+ get parameters() {
155
+ return this.raw.parameters;
156
+ }
157
+ get output() {
158
+ return this.raw.output;
159
+ }
160
+ get paramsIdentifier() {
161
+ return `${this.shortApiName}.Parameters`;
162
+ }
163
+ get definitionIdentifier() {
164
+ return this.shortApiName;
165
+ }
166
+ get definitionParamsIdentifier() {
167
+ return `${this.definitionIdentifier}$Params`;
168
+ }
169
+ };
170
+
171
+ // src/GenerateContext/EnhancedSharedPropertyType.ts
172
+ var EnhancedSharedPropertyType = class extends EnhancedBase {
173
+ constructor(common, raw) {
174
+ super(common, raw, raw.apiName, "./ontology/interfaces");
175
+ this.raw = raw;
176
+ }
177
+ };
178
+
179
+ // src/GenerateContext/ForeignType.ts
180
+ var ForeignType = class extends AbstractImportable {
181
+ constructor(_common, apiNamespace, shortApiName, destinationPackage) {
182
+ super(_common, apiNamespace ? `${apiNamespace}.${shortApiName}` : shortApiName, destinationPackage, false);
183
+ this._common = _common;
184
+ }
185
+ getImportedDefinitionIdentifier(v2) {
186
+ return `$Imported$${this.apiNamespace?.replace(/\./g, "$")}$${this.shortApiName}`;
187
+ }
188
+ getDefinitionIdentifier(v2) {
189
+ return this.uniqueImportName;
190
+ }
191
+ };
192
+
193
+ // src/GenerateContext/EnhancedOntologyDefinition.ts
194
+ var EnhancedOntologyDefinition = class {
195
+ #foreignTypes = {};
196
+ constructor(raw, importExt, externalObjects, externalInterfaces, externalSpts) {
197
+ this.common = {
198
+ enhancedOntology: this,
199
+ importExt
200
+ };
201
+ this.raw = raw;
202
+ this.ontology = raw.ontology;
203
+ this.objectTypes = remap(raw.objectTypes, this.common, EnhancedObjectType, externalObjects);
204
+ this.actionTypes = remap(raw.actionTypes, this.common, EnhancedAction);
205
+ this.queryTypes = remap(raw.queryTypes, this.common, EnhancedQuery);
206
+ this.interfaceTypes = remap(raw.interfaceTypes, this.common, EnhancedInterfaceType, externalInterfaces);
207
+ this.sharedPropertyTypes = remap(raw.sharedPropertyTypes, this.common, EnhancedSharedPropertyType, externalSpts);
208
+ }
209
+ #createRequireType = (type) => {
210
+ return (fullApiName, localOnly) => {
211
+ const ret = this[type][fullApiName];
212
+ if (!ret) {
213
+ extractNamespace(fullApiName);
214
+ throw new Error(`Unable to find ${type}: No entry for '${fullApiName}`);
215
+ }
216
+ return ret;
217
+ };
218
+ };
219
+ requireObjectType = this.#createRequireType("objectTypes");
220
+ requireInterfaceType = this.#createRequireType("interfaceTypes");
221
+ requireActionType = this.#createRequireType("actionTypes");
222
+ requireQueryType = this.#createRequireType("queryTypes");
223
+ requireSharedPropertyType = this.#createRequireType("sharedPropertyTypes");
224
+ };
225
+ function remap(r, common, Constructor, externalMap) {
226
+ const entries = [];
227
+ for (const [fullApiName, v] of Object.entries(r ?? {})) {
228
+ if (externalMap?.has(fullApiName)) ; else {
229
+ entries.push([fullApiName, new Constructor(common, v)]);
230
+ }
231
+ }
232
+ if (externalMap) {
233
+ for (const [fullApiName, destPackage] of externalMap) {
234
+ const [apiNamespace, shortApiName] = extractNamespace(fullApiName);
235
+ entries.push([fullApiName, new ForeignType(common, apiNamespace, shortApiName, destPackage)]);
236
+ }
237
+ }
238
+ return Object.fromEntries(entries.sort((a, b) => a[0].localeCompare(b[0])));
239
+ }
240
+
241
+ // src/GenerateContext/enhanceOntology.ts
242
+ function enhanceOntology({
243
+ sanitized,
244
+ importExt,
245
+ externalObjects,
246
+ externalInterfaces,
247
+ externalSpts
248
+ }) {
249
+ return new EnhancedOntologyDefinition(sanitized, importExt, externalObjects, externalInterfaces, externalSpts);
250
+ }
251
+
252
+ // src/shared/sanitizeMetadata.ts
253
+ function sanitizeMetadata(ontology) {
254
+ return {
255
+ ...ontology,
256
+ actionTypes: Object.fromEntries(Object.values(ontology.actionTypes).map((actionType) => {
257
+ return [camelize(actionType.apiName), {
258
+ ...actionType,
259
+ apiName: camelize(actionType.apiName)
260
+ }];
261
+ }))
262
+ };
263
+ }
264
+ function camelize(name) {
265
+ return name.replace(/-./g, (segment) => segment[1].toUpperCase());
266
+ }
267
+
268
+ // src/util/verifyOutDir.ts
269
+ async function verifyOutDir(outDir, fs2) {
270
+ try {
271
+ const contents = await fs2.readdir(outDir);
272
+ if (contents.length !== 0) {
273
+ throw new Error(`outDir ${outDir} is not empty, please delete its contents and try again`);
274
+ }
275
+ } catch (e) {
276
+ if (e.code === "ENOENT") ; else {
277
+ throw e;
278
+ }
279
+ }
280
+ }
281
+ function formatTs(contents) {
282
+ try {
283
+ return prettier.format(contents, {
284
+ parser: "typescript",
285
+ singleQuote: true,
286
+ trailingComma: "all",
287
+ tabWidth: 2,
288
+ printWidth: 120
289
+ });
290
+ } catch (e) {
291
+ console.error("Failed to format file", e);
292
+ console.log(contents);
293
+ return contents;
294
+ }
295
+ }
296
+
297
+ // src/v2.0/generateMetadata.ts
298
+ var ExpectedOsdkVersion = "2.1.0";
299
+ async function generateOntologyMetadataFile({
300
+ fs: fs2,
301
+ outDir,
302
+ ontology,
303
+ ontologyApiNamespace
304
+ }, userAgent) {
305
+ await fs2.writeFile(path8__namespace.default.join(outDir, "OntologyMetadata.ts"), await formatTs(`
306
+ export type $ExpectedClientVersion = "${ExpectedOsdkVersion}";
307
+ export const $osdkMetadata = { extraUserAgent: "${userAgent}" };
308
+ ${ontologyApiNamespace == null ? `
309
+ export const $ontologyRid = "${ontology.ontology.rid}";
310
+ ` : ""}
311
+ `));
312
+ }
313
+
314
+ // src/shared/getObjectImports.ts
315
+ function getObjectImports(objects, curApiName, currentFilePath, v2) {
316
+ return Array.from(objects).filter((obj) => obj.fullApiName !== curApiName).map((obj) => {
317
+ const defId = obj.getDefinitionIdentifier(v2);
318
+ const importedId = obj.getImportedDefinitionIdentifier(v2);
319
+ const nameOrAlias = defId === importedId ? defId : `${defId} as ${importedId}`;
320
+ return `import type { ${nameOrAlias} } from "${obj.getImportPathRelTo("./" + currentFilePath)}";`;
321
+ }).join("\n");
322
+ }
323
+
324
+ // src/util/stringify.ts
325
+ var defaultCustomizer = (value, defaultValueFormatter, key, defaultKeyFormatter) => {
326
+ return [defaultKeyFormatter(key), defaultValueFormatter(value)];
327
+ };
328
+ function stringify(obj, customizer = {}, separator = ",\n") {
329
+ const defaultKeyFormatter = (key) => `${JSON.stringify(key)}`;
330
+ const entries = [];
331
+ const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));
332
+ for (const key of sortedKeys) {
333
+ const value = obj[key];
334
+ const res = (customizer[key] ?? customizer["*"] ?? defaultCustomizer)(value, (value2) => JSON.stringify(value2, null, 2), key, defaultKeyFormatter);
335
+ if (res) {
336
+ if (typeof res === "string") {
337
+ entries.push(`${defaultKeyFormatter(key)}: ${res}`);
338
+ } else {
339
+ entries.push(`${res[0]}: ${res[1]}`);
340
+ }
341
+ }
342
+ }
343
+ return entries.join(separator);
344
+ }
345
+
346
+ // src/util/stringUnionFrom.ts
347
+ function stringUnionFrom(values) {
348
+ if (values.length === 0) {
349
+ return "never";
350
+ } else {
351
+ return values.map((v) => `"${v}"`).join("|");
352
+ }
353
+ }
354
+
355
+ // src/v2.0/getDescriptionIfPresent.ts
356
+ function getDescriptionIfPresent(description, includeNewline) {
357
+ if (description) {
358
+ return `/**
359
+ * ${description}
360
+ */${""}`;
361
+ }
362
+ return "";
363
+ }
364
+
365
+ // src/v2.0/generatePerActionDataFiles.ts
366
+ async function generatePerActionDataFiles({
367
+ sanitizedOntology: ontology,
368
+ fs: fs2,
369
+ outDir: rootOutDir,
370
+ importExt = "",
371
+ ontology: enhancedOntology,
372
+ forInternalUse = false
373
+ }) {
374
+ const outDir = path8__namespace.default.join(rootOutDir, "ontology", "actions");
375
+ await fs2.mkdir(outDir, {
376
+ recursive: true
377
+ });
378
+ await Promise.all(Object.values(enhancedOntology.actionTypes).map(async (action) => {
379
+ const currentFilePath = path8__namespace.default.join("ontology", "actions", `${action.shortApiName}.ts`);
380
+ const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.raw);
381
+ const uniqueApiNames = new Set(uniqueApiNamesArray);
382
+ stringUnionFrom([...uniqueApiNames]);
383
+ const fullActionDef = deleteUndefineds(generatorConverters.wireActionTypeV2ToSdkActionMetadata(action.raw));
384
+ function createParamsDef() {
385
+ const entries = Object.entries(fullActionDef.parameters ?? {});
386
+ entries.sort((a, b) => a[0].localeCompare(b[0]));
387
+ if (entries.length === 0) {
388
+ return `// Represents the definition of the parameters for the action
389
+ export type ParamsDefinition = Record<string, never>;`;
390
+ }
391
+ return `// Represents the definition of the parameters for the action
392
+ export type ParamsDefinition = {
393
+ ${entries.map(([key, value]) => {
394
+ return `"${key}": {
395
+ ${stringify(value, {
396
+ description: (value2, d) => value2 ? d(value2) : undefined,
397
+ // trick to remove undefineds
398
+ type: (type) => {
399
+ if (typeof type === "string") {
400
+ return JSON.stringify(type);
401
+ } else if (type.type === "object") {
402
+ const obj = enhancedOntology.requireObjectType(type.object);
403
+ return `ActionMetadata.DataType.Object<${obj.getImportedDefinitionIdentifier(true)}>`;
404
+ } else if (type.type === "objectSet") {
405
+ const obj = enhancedOntology.requireObjectType(type.objectSet);
406
+ return `ActionMetadata.DataType.ObjectSet<${obj.getImportedDefinitionIdentifier(true)}>`;
407
+ } else if (type.type === "interface") {
408
+ const obj = enhancedOntology.requireInterfaceType(type.interface);
409
+ return `ActionMetadata.DataType.Interface<${obj.getImportedDefinitionIdentifier(true)}>`;
410
+ } else if (type.type === "struct") {
411
+ return `ActionMetadata.DataType.Struct<${JSON.stringify(type.struct)}>`;
412
+ }
413
+ return undefined;
414
+ }
415
+ })}
416
+ }`;
417
+ }).join(";\n")}
418
+ }`;
419
+ }
420
+ function getActionParamType(input) {
421
+ if (typeof input === "string") {
422
+ return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;
423
+ } else if (input.type === "object") {
424
+ return `ActionParam.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;
425
+ } else if (input.type === "objectSet") {
426
+ return `ActionParam.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;
427
+ } else if (input.type === "interface") {
428
+ return `ActionParam.InterfaceType<${enhancedOntology.requireInterfaceType(input.interface).getImportedDefinitionIdentifier(true)}>`;
429
+ } else if (input.type === "struct") {
430
+ return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;
431
+ }
432
+ }
433
+ function createV2Types() {
434
+ `${action.shortApiName}$Params`;
435
+ const jsDocBlock = ["/**"];
436
+ if (action.description != null) {
437
+ jsDocBlock.push(`* ${action.description}`);
438
+ }
439
+ return `
440
+
441
+ export namespace ${action.shortApiName}{
442
+ ${createParamsDef()}
443
+
444
+ ${getDescriptionIfPresent(action.description)}
445
+ export interface Params {
446
+ ${stringify(fullActionDef.parameters, {
447
+ "*": (ogValue, _, ogKey) => {
448
+ const key = `${getDescriptionIfPresent(ogValue.description)}
449
+ readonly "${ogKey}"${ogValue.nullable ? "?" : ""}`;
450
+ const value = ogValue.multiplicity ? `ReadonlyArray<${getActionParamType(ogValue.type)}>` : `${getActionParamType(ogValue.type)}`;
451
+ jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` : ogKey} ${ogValue.description ?? ""} `);
452
+ return [key, value];
453
+ }
454
+ })}
455
+ }
456
+
457
+ // Represents a fqn of the action
458
+ export interface Signatures {
459
+ ${getDescriptionIfPresent(action.description)}
460
+ applyAction<P extends ${action.paramsIdentifier}, OP extends ApplyActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;
461
+
462
+ batchApplyAction<P extends ReadonlyArray<${action.paramsIdentifier}>, OP extends ApplyBatchActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;
463
+ }
464
+
465
+ }
466
+
467
+
468
+ ${jsDocBlock.join("\n")}
469
+ */
470
+ export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {
471
+ __DefinitionMetadata?: {
472
+ ${stringify(fullActionDef, {
473
+ "parameters": () => action.definitionParamsIdentifier
474
+ })}
475
+
476
+ signatures: ${action.shortApiName}.Signatures;
477
+ },
478
+ ${stringify(fullActionDef, {
479
+ "description": () => undefined,
480
+ "displayName": () => undefined,
481
+ "modifiedEntities": () => undefined,
482
+ "parameters": () => undefined,
483
+ "rid": () => undefined,
484
+ "status": () => undefined
485
+ })}
486
+ osdkMetadata: typeof $osdkMetadata;
487
+ }
488
+ `;
489
+ }
490
+ function createV2Object() {
491
+ return ` export const ${action.shortApiName}: ${action.shortApiName} =
492
+ {
493
+ ${stringify(fullActionDef, {
494
+ "description": () => undefined,
495
+ "displayName": () => undefined,
496
+ "modifiedEntities": () => undefined,
497
+ "parameters": () => undefined,
498
+ "rid": () => undefined,
499
+ "status": () => undefined
500
+ })},
501
+ osdkMetadata: $osdkMetadata
502
+ }
503
+ `;
504
+ }
505
+ const referencedObjectDefs = /* @__PURE__ */ new Set();
506
+ for (const p of Object.values(action.parameters)) {
507
+ if (p.dataType.type === "object" || p.dataType.type === "objectSet") {
508
+ if (p.dataType.objectApiName) {
509
+ referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectApiName));
510
+ }
511
+ if (p.dataType.objectTypeApiName) {
512
+ referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectTypeApiName));
513
+ }
514
+ }
515
+ if (p.dataType.type === "interfaceObject") {
516
+ if (p.dataType.interfaceTypeApiName) {
517
+ referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.interfaceTypeApiName));
518
+ }
519
+ }
520
+ if (p.dataType.type === "array") {
521
+ if (p.dataType.subType.type === "object" || p.dataType.subType.type === "objectSet") {
522
+ if (p.dataType.subType.objectApiName) {
523
+ referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectApiName));
524
+ }
525
+ if (p.dataType.subType.objectTypeApiName) {
526
+ referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectTypeApiName));
527
+ }
528
+ }
529
+ if (p.dataType.subType.type === "interfaceObject") {
530
+ if (p.dataType.subType.interfaceTypeApiName) {
531
+ referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.subType.interfaceTypeApiName));
532
+ }
533
+ }
534
+ }
535
+ }
536
+ const imports = getObjectImports(referencedObjectDefs, undefined, currentFilePath, true);
537
+ await fs2.writeFile(path8__namespace.default.join(rootOutDir, currentFilePath), await formatTs(`
538
+ import type {
539
+ ActionDefinition,
540
+ ActionMetadata,
541
+ ActionParam,
542
+ ActionReturnTypeForOptions,
543
+ ApplyActionOptions,
544
+ ApplyBatchActionOptions,
545
+ } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
546
+ import { $osdkMetadata} from "../../OntologyMetadata${importExt}";
547
+ ${imports}
548
+
549
+
550
+ ${createV2Types()}
551
+
552
+ ${createV2Object()}
553
+ `));
554
+ }));
555
+ const indexFileRelPath = path8__namespace.default.join("ontology", "actions.ts");
556
+ await fs2.writeFile(path8__namespace.default.join(rootOutDir, indexFileRelPath), await formatTs(`
557
+ ${Object.values(enhancedOntology.actionTypes).map((action) => {
558
+ const exportConstLine = `export {${action.shortApiName} } from "${action.getImportPathRelTo(indexFileRelPath)}";`;
559
+ return exportConstLine;
560
+ }).join("\n")}
561
+ ${Object.keys(ontology.actionTypes).length === 0 ? "export {};" : ""}
562
+ `));
563
+ }
564
+ function extractReferencedObjectsFromAction(actionType) {
565
+ const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({
566
+ dataType
567
+ }) => {
568
+ const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);
569
+ return objectTypeReference ? [objectTypeReference] : [];
570
+ });
571
+ const referenceObjectsInEdits = actionType.operations.flatMap((value) => {
572
+ switch (value.type) {
573
+ case "createObject":
574
+ return [value.objectTypeApiName];
575
+ case "modifyObject":
576
+ return [value.objectTypeApiName];
577
+ case "deleteObject":
578
+ case "createLink":
579
+ case "deleteLink":
580
+ default:
581
+ return [];
582
+ }
583
+ });
584
+ return [...referenceObjectsInEdits, ...referencedObjectsInParameters];
585
+ }
586
+ function extractReferencedObjectsFromActionParameter(actionParameter) {
587
+ switch (actionParameter.type) {
588
+ case "objectSet":
589
+ case "object":
590
+ return actionParameter.objectTypeApiName;
591
+ case "array":
592
+ return extractReferencedObjectsFromActionParameter(actionParameter.subType);
593
+ case "string":
594
+ case "boolean":
595
+ case "attachment":
596
+ case "date":
597
+ case "double":
598
+ case "integer":
599
+ case "long":
600
+ case "timestamp":
601
+ return undefined;
602
+ }
603
+ }
604
+
605
+ // src/shared/propertyJsdoc.ts
606
+ function propertyJsdoc(property, {
607
+ isInherited,
608
+ apiName
609
+ }) {
610
+ let ret = `/**
611
+ `;
612
+ const renderDisplayName = property.displayName && property.displayName !== apiName;
613
+ if (isInherited || renderDisplayName || property.description) {
614
+ if (isInherited) {
615
+ ret += ` * (inherited from parent)
616
+ `;
617
+ }
618
+ if (renderDisplayName) {
619
+ ret += ` * display name: '${property.displayName}'${property.description ? "," : ""}
620
+ `;
621
+ }
622
+ if (property.description) {
623
+ ret += ` * description: ${property.description}
624
+ `;
625
+ }
626
+ } else {
627
+ ret += ` * (no ontology metadata)
628
+ `;
629
+ }
630
+ ret += ` */
631
+ `;
632
+ return ret;
633
+ }
634
+
635
+ // src/v2.0/wireObjectTypeV2ToSdkObjectConstV2.ts
636
+ function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {
637
+ ontology,
638
+ forInternalUse
639
+ }, currentFilePath) {
640
+ const object = ontology.requireObjectType(wireObject.objectType.apiName, true);
641
+ if (object instanceof ForeignType) {
642
+ throw new Error("Should not be generating types for an external type");
643
+ }
644
+ const uniqueLinkTargetTypes = new Set(wireObject.linkTypes.map((a) => ontology.requireObjectType(a.objectTypeApiName, false)));
645
+ const definition = deleteUndefineds(generatorConverters.wireObjectTypeFullMetadataToSdkObjectMetadata(object.raw, true, chunkXOCES5YA_cjs.consola));
646
+ const objectDefIdentifier = object.getDefinitionIdentifier(true);
647
+ const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;
648
+ const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;
649
+ const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;
650
+ const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;
651
+ const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;
652
+ const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;
653
+ const identifiers = {
654
+ objectDefIdentifier: object.shortApiName,
655
+ osdkObjectLinksIdentifier,
656
+ osdkObjectPropsIdentifier,
657
+ osdkObjectStrictPropsIdentifier,
658
+ objectSetIdentifier,
659
+ osdkObjectIdentifier,
660
+ propertyKeysIdentifier
661
+ };
662
+ function getV2Types(object2, forInternalUse2 = false) {
663
+ return `import type {
664
+ PropertyKeys as $PropertyKeys,
665
+ ObjectTypeDefinition as $ObjectTypeDefinition,
666
+ ObjectMetadata as $ObjectMetadata,
667
+ } from "${forInternalUse2 ? "@osdk/api" : "@osdk/client"}";
668
+ import type {
669
+ ObjectSet as $ObjectSet,
670
+ Osdk as $Osdk,
671
+ OsdkObject as $OsdkObject,
672
+ PropertyValueWireToClient as $PropType,
673
+ SingleLinkAccessor as $SingleLinkAccessor,
674
+ } from "${forInternalUse2 ? "@osdk/api" : "@osdk/client"}";
675
+
676
+
677
+ export namespace ${object2.shortApiName} {
678
+
679
+ ${createPropertyKeys(object2)}
680
+
681
+
682
+ ${createLinks(ontology, object2, "Links")}
683
+
684
+ ${createProps(object2, "Props", false)}
685
+ ${createProps(object2, "StrictProps", true)}
686
+
687
+ ${createObjectSet(object2, identifiers)}
688
+
689
+ ${createOsdkObject(object2, "OsdkInstance", identifiers)}
690
+ }
691
+
692
+
693
+
694
+ ${createDefinition(object2, ontology, object2.shortApiName, identifiers)}
695
+ `;
696
+ }
697
+ const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);
698
+ return `${imports}${getV2Types(object, forInternalUse)}
699
+
700
+ export const ${object.shortApiName}: ${objectDefIdentifier}
701
+ = {
702
+ type: "${object instanceof EnhancedObjectType ? "object" : "interface"}",
703
+ apiName: "${object.fullApiName}",
704
+ osdkMetadata: $osdkMetadata,
705
+ };`;
706
+ }
707
+ function createOsdkObject(object, identifier, {
708
+ osdkObjectPropsIdentifier,
709
+ objectDefIdentifier,
710
+ osdkObjectStrictPropsIdentifier,
711
+ osdkObjectLinksIdentifier
712
+ }) {
713
+ object.getCleanedUpDefinition(true);
714
+ return `
715
+ export type ${identifier}<
716
+ OPTIONS extends never | "$rid" = never,
717
+ K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},
718
+ >
719
+ = $Osdk.Instance<
720
+ ${objectDefIdentifier},
721
+ OPTIONS,
722
+ K
723
+ >;
724
+
725
+
726
+ /** @deprecated use ${identifier} */
727
+ export type OsdkObject<
728
+ OPTIONS extends never | "$rid" = never,
729
+ K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},
730
+ > = ${identifier}<OPTIONS, K>;
731
+ ;
732
+ `;
733
+ }
734
+ function createObjectSet(object, {
735
+ objectDefIdentifier,
736
+ objectSetIdentifier,
737
+ propertyKeysIdentifier,
738
+ osdkObjectIdentifier
739
+ }) {
740
+ return `
741
+ export interface ObjectSet extends
742
+ $ObjectSet<${objectDefIdentifier},
743
+
744
+ ${objectSetIdentifier}
745
+ >
746
+ {
747
+
748
+ }
749
+ `;
750
+ }
751
+ function maybeStripNamespace(type, q) {
752
+ if (type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)) {
753
+ return q.slice(type.apiNamespace.length + 1);
754
+ } else {
755
+ return q;
756
+ }
757
+ }
758
+ function createProps(type, identifier, strict) {
759
+ if (identifier === "StrictProps") {
760
+ return `export type StrictProps = Props`;
761
+ }
762
+ const definition = type.getCleanedUpDefinition(true);
763
+ return `export interface ${identifier} {
764
+ ${stringify(definition.properties, {
765
+ "*": (propertyDefinition, _, apiName) => {
766
+ return [`readonly "${maybeStripNamespace(type, apiName)}"${// after we convert everything over we can do this:
767
+ // !strict || propertyDefinition.nullable ? "?" : ""
768
+ ""}`, (typeof propertyDefinition.type === "object" ? remapStructType(propertyDefinition.type) : `$PropType[${JSON.stringify(propertyDefinition.type)}]`) + `${propertyDefinition.multiplicity ? "[]" : ""}${propertyDefinition.nullable || !strict && !(definition.type === "object" && definition.primaryKeyApiName === apiName) ? `| undefined` : ""}`];
769
+ }
770
+ })}
771
+ }`;
772
+ }
773
+ function createDefinition(object, ontology, identifier, {
774
+ objectDefIdentifier,
775
+ objectSetIdentifier,
776
+ osdkObjectPropsIdentifier,
777
+ osdkObjectStrictPropsIdentifier,
778
+ osdkObjectLinksIdentifier
779
+ }) {
780
+ const definition = object.getCleanedUpDefinition(true);
781
+ return `
782
+ export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`} {
783
+ osdkMetadata: typeof $osdkMetadata;
784
+ type: "${object instanceof EnhancedObjectType ? "object" : "interface"}";
785
+ apiName: "${object.fullApiName}";
786
+ __DefinitionMetadata?: {
787
+ objectSet: ${objectSetIdentifier};
788
+ props: ${osdkObjectPropsIdentifier};
789
+ linksType: ${osdkObjectLinksIdentifier};
790
+ strictProps: ${osdkObjectStrictPropsIdentifier};
791
+ ${stringify(definition, {
792
+ links: (_value) => `{
793
+ ${stringify(definition.links, {
794
+ "*": (definition2) => `$ObjectMetadata.Link<${ontology.requireObjectType(definition2.targetType).getImportedDefinitionIdentifier(true)}, ${definition2.multiplicity}>`
795
+ })}
796
+ }`,
797
+ properties: (_value) => `{
798
+ ${stringify(definition.properties, {
799
+ "*": (propertyDefinition, _, apiName) => [`${propertyJsdoc(propertyDefinition, {
800
+ apiName
801
+ })}"${maybeStripNamespace(object, apiName)}"`, `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, "${propertyDefinition.nullable ? "nullable" : "non-nullable"}", "${propertyDefinition.multiplicity ? "array" : "single"}">`]
802
+ })}
803
+ }`
804
+ })}
805
+ }
806
+ }
807
+ `;
808
+ }
809
+ function createLinks(ontology, object, identifier) {
810
+ const definition = object.getCleanedUpDefinition(true);
811
+ return `
812
+ ${Object.keys(definition.links).length === 0 ? `export type ${identifier} = {};` : `
813
+ export interface ${identifier} {
814
+ ${stringify(definition.links, {
815
+ "*": (definition2, _, key) => {
816
+ const linkTarget = ontology.requireObjectType(definition2.targetType).getImportedDefinitionIdentifier(true);
817
+ return [`readonly ${key}`, `${definition2.multiplicity ? `${linkTarget}.ObjectSet` : `$SingleLinkAccessor<${linkTarget}>`}
818
+ `];
819
+ }
820
+ })}
821
+ }
822
+ `}`;
823
+ }
824
+ function createPropertyKeys(type) {
825
+ const properties = Object.keys(type.getCleanedUpDefinition(true).properties);
826
+ return `export type PropertyKeys = ${properties.length === 0 ? "never" : properties.map((a) => maybeStripNamespace(type, a)).map((a) => `"${a}"`).join("|")};`;
827
+ }
828
+ function remapStructType(structType) {
829
+ let output = `{`;
830
+ Object.entries(structType).map(([key, value]) => output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`);
831
+ output += "}";
832
+ return output;
833
+ }
834
+
835
+ // src/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.ts
836
+ function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false, forInternalUse = false) {
837
+ const definition = deleteUndefineds(generatorConverters.__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef.raw, v2));
838
+ const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);
839
+ const parents = definition.implements?.map((p) => {
840
+ const parent = ontology.requireInterfaceType(p, true);
841
+ if (parent instanceof EnhancedInterfaceType) {
842
+ const it = deleteUndefineds(generatorConverters.__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(parent.raw, v2, chunkXOCES5YA_cjs.consola));
843
+ return it;
844
+ }
845
+ }) ?? [];
846
+ const mergedProperties = {
847
+ ...definition.properties
848
+ };
849
+ for (const parent of parents) {
850
+ if (parent == null) {
851
+ continue;
852
+ }
853
+ for (const apiName of Object.keys(parent.properties)) {
854
+ if (definition.properties[apiName] != null) {
855
+ !fastDeepEqual__default.default(definition.properties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== "production" ? invariant__default.default(false, `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`) : invariant__default.default(false) : undefined;
856
+ } else if (mergedProperties[apiName] != null) {
857
+ !fastDeepEqual__default.default(mergedProperties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== "production" ? invariant__default.default(false, `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`) : invariant__default.default(false) : undefined;
858
+ }
859
+ mergedProperties[apiName] = parent.properties[apiName];
860
+ }
861
+ }
862
+ definition.properties = mergedProperties;
863
+ const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;
864
+ const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;
865
+ const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;
866
+ const osdkObjectStrictPropsIdentifier = `${interfaceDef.shortApiName}.StrictProps`;
867
+ const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;
868
+ const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;
869
+ const ids = {
870
+ objectDefIdentifier: interfaceDef.shortApiName,
871
+ osdkObjectLinksIdentifier,
872
+ osdkObjectPropsIdentifier,
873
+ osdkObjectStrictPropsIdentifier,
874
+ objectSetIdentifier,
875
+ osdkObjectIdentifier,
876
+ propertyKeysIdentifier
877
+ };
878
+ if (interfaceDef.apiNamespace) {
879
+ const badProperties = Object.keys(definition.properties).filter((apiName) => extractNamespace(apiName)[0] == null);
880
+ if (badProperties.length > 0) {
881
+ throw new Error(`Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${badProperties.join(", ")}`);
882
+ }
883
+ }
884
+ function getV2Types(forInternalUse2 = false) {
885
+ return `import type {
886
+ InterfaceDefinition as $InterfaceDefinition,
887
+ ObjectSet as $ObjectSet,
888
+ Osdk as $Osdk,
889
+ PropertyValueWireToClient as $PropType,
890
+ } from "${forInternalUse2 ? "@osdk/api" : "@osdk/client"}";
891
+
892
+ ${Object.keys(definition.links).length === 0 ? `export type ${osdkObjectLinksIdentifier} = {};` : `
893
+ export interface ${osdkObjectLinksIdentifier} {
894
+ ${stringify(definition.links, {
895
+ "*": (definition2) => {
896
+ const linkTarget = ontology.requireObjectType(definition2.targetType).getImportedDefinitionIdentifier(v2);
897
+ return `${definition2.multiplicity ? `${linkTarget}["objectSet"]` : `SingleLinkAccessor<${linkTarget}>`}
898
+ `;
899
+ }
900
+ })}
901
+ }
902
+ `}
903
+
904
+ export namespace ${interfaceDef.shortApiName} {
905
+
906
+ ${createPropertyKeys(interfaceDef)}
907
+
908
+
909
+ ${createProps(interfaceDef, "Props", false)}
910
+ ${createProps(interfaceDef, "StrictProps", true)}
911
+
912
+
913
+ ${createObjectSet(interfaceDef, ids)}
914
+
915
+ ${createOsdkObject(interfaceDef, "OsdkInstance", ids)}
916
+
917
+ }
918
+
919
+ ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}
920
+
921
+ `;
922
+ }
923
+ const imports = [];
924
+ return `${imports.join("\n")}
925
+ ${v2 ? getV2Types(forInternalUse) : ""}
926
+
927
+ export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {
928
+ type: "interface",
929
+ apiName: "${interfaceDef.fullApiName}",
930
+ osdkMetadata: $osdkMetadata,
931
+ };`;
932
+ }
933
+
934
+ // src/v2.0/generatePerInterfaceDataFiles.ts
935
+ async function generatePerInterfaceDataFiles({
936
+ fs: fs2,
937
+ outDir,
938
+ ontology,
939
+ importExt,
940
+ forInternalUse
941
+ }) {
942
+ const interfacesDir = path8__namespace.default.join(outDir, "ontology", "interfaces");
943
+ await fs2.mkdir(interfacesDir, {
944
+ recursive: true
945
+ });
946
+ for (const obj of Object.values(ontology.interfaceTypes)) {
947
+ if (obj instanceof ForeignType) continue;
948
+ await fs2.writeFile(path8__namespace.default.join(interfacesDir, `${obj.shortApiName}.ts`), await formatTs(`
949
+ import type { PropertyDef as $PropertyDef } from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
950
+ import { $osdkMetadata } from "../../OntologyMetadata${importExt}";
951
+ ${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true, forInternalUse)}
952
+ `));
953
+ }
954
+ await fs2.writeFile(interfacesDir + ".ts", await formatTs(`
955
+ ${Object.values(ontology.interfaceTypes).filter((i) => i instanceof EnhancedInterfaceType).map((interfaceType) => `export {${interfaceType.shortApiName}} from "./interfaces/${interfaceType.shortApiName}${importExt}";`).join("\n")}
956
+ ${Object.keys(ontology.interfaceTypes).length === 0 ? "export {}" : ""}
957
+ `));
958
+ }
959
+ async function generatePerObjectDataFiles(ctx) {
960
+ const {
961
+ fs: fs2,
962
+ outDir,
963
+ ontology,
964
+ importExt
965
+ } = ctx;
966
+ await fs2.mkdir(path8__namespace.default.join(outDir, "ontology", "objects"), {
967
+ recursive: true
968
+ });
969
+ for (const obj of Object.values(ontology.objectTypes)) {
970
+ if (obj instanceof ForeignType) continue;
971
+ const relPath = path8__namespace.default.join(".", "ontology", `objects`, `${obj.shortApiName}.ts`);
972
+ const outFilePath = path8__namespace.default.join(outDir, relPath);
973
+ await fs2.writeFile(outFilePath, await formatTs(`
974
+ import type { PropertyDef as $PropertyDef } from "${ctx.forInternalUse ? "@osdk/api" : "@osdk/client"}";
975
+ import { $osdkMetadata } from "../../OntologyMetadata${importExt}";
976
+ import type { $ExpectedClientVersion } from "../../OntologyMetadata${importExt}";
977
+ ${wireObjectTypeV2ToSdkObjectConstV2(obj.raw, ctx, relPath)}
978
+ `));
979
+ }
980
+ await fs2.writeFile(path8__namespace.default.join(outDir, "ontology", "objects.ts"), await formatTs(`
981
+ ${Object.values(ctx.ontology.objectTypes).filter((o) => o instanceof EnhancedObjectType).map((objType) => `export {${objType.shortApiName}} from "./objects/${objType.shortApiName}${importExt}";`).join("\n")}
982
+ ${Object.keys(ontology.objectTypes).length === 0 ? "export {};" : ""}
983
+ `));
984
+ }
985
+
986
+ // src/shared/getObjectTypesFromQueryDataType.ts
987
+ function getObjectTypesFromQueryDataType(dataType, types) {
988
+ switch (dataType.type) {
989
+ case "array":
990
+ case "set":
991
+ getObjectTypesFromQueryDataType(dataType.subType, types);
992
+ return;
993
+ case "object":
994
+ types.add(dataType.objectTypeApiName);
995
+ return;
996
+ case "objectSet":
997
+ types.add(dataType.objectTypeApiName);
998
+ return;
999
+ case "struct":
1000
+ for (const prop of Object.values(dataType.fields)) {
1001
+ getObjectTypesFromQueryDataType(prop.fieldType, types);
1002
+ }
1003
+ return;
1004
+ case "union":
1005
+ for (const type of dataType.unionTypes) {
1006
+ getObjectTypesFromQueryDataType(type, types);
1007
+ }
1008
+ return;
1009
+ case "attachment":
1010
+ case "boolean":
1011
+ case "date":
1012
+ case "double":
1013
+ case "float":
1014
+ case "integer":
1015
+ case "long":
1016
+ case "null":
1017
+ case "string":
1018
+ case "threeDimensionalAggregation":
1019
+ case "timestamp":
1020
+ case "twoDimensionalAggregation":
1021
+ case "unsupported":
1022
+ return;
1023
+ default:
1024
+ throw new Error(`Cannot find object types from unsupported QueryDataType ${dataType.type}`);
1025
+ }
1026
+ }
1027
+
1028
+ // src/shared/getObjectTypeApiNamesFromQuery.ts
1029
+ function getObjectTypeApiNamesFromQuery(query) {
1030
+ const types = /* @__PURE__ */ new Set();
1031
+ for (const {
1032
+ dataType
1033
+ } of Object.values(query.parameters)) {
1034
+ getObjectTypesFromQueryDataType(dataType, types);
1035
+ }
1036
+ getObjectTypesFromQueryDataType(query.output, types);
1037
+ return Array.from(types);
1038
+ }
1039
+
1040
+ // src/v2.0/generatePerQueryDataFiles.ts
1041
+ async function generatePerQueryDataFilesV2({
1042
+ fs: fs2,
1043
+ outDir: rootOutDir,
1044
+ ontology,
1045
+ importExt = "",
1046
+ forInternalUse = false
1047
+ }, v2) {
1048
+ const relOutDir = path8__namespace.default.join(".", "ontology", "queries");
1049
+ const outDir = path8__namespace.default.join(rootOutDir, "ontology", "queries");
1050
+ await fs2.mkdir(outDir, {
1051
+ recursive: true
1052
+ });
1053
+ await Promise.all(Object.values(ontology.queryTypes).map(async (query) => {
1054
+ await generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ontology, forInternalUse);
1055
+ }));
1056
+ const indexFilePath = `${outDir}.ts`;
1057
+ await fs2.writeFile(indexFilePath, await formatTs(`
1058
+ ${Object.values(ontology.queryTypes).map((query) => `export {${query.shortApiName}} from "${query.getImportPathRelTo(relOutDir)}";`).join("\n")}
1059
+ ${Object.keys(ontology.queryTypes).length === 0 ? "export {};" : ""}
1060
+ `));
1061
+ }
1062
+ async function generateV2QueryFile(fs2, outDir, relOutDir, query, importExt, ontology, forInternalUse) {
1063
+ const relFilePath = path8__namespace.default.join(relOutDir, `${query.shortApiName}.ts`);
1064
+ const objectTypes = getObjectTypeApiNamesFromQuery(query);
1065
+ const objectTypeObjects = new Set(objectTypes.map((o) => ontology.requireObjectType(o)));
1066
+ const importObjects = getObjectImports(objectTypeObjects, "", relFilePath, true);
1067
+ const baseProps = deleteUndefineds(generatorConverters.wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw));
1068
+ const outputBase = deleteUndefineds(generatorConverters.wireQueryDataTypeToQueryDataTypeDefinition(query.output));
1069
+ objectTypes.length > 0 ? objectTypes.map((apiNameObj) => `"${apiNameObj}"`).join("|") : "never";
1070
+ await fs2.writeFile(path8__namespace.default.join(outDir, `${query.shortApiName}.ts`), await formatTs(`
1071
+ import type { QueryDefinition , QueryParam, QueryResult, VersionBound} from "${forInternalUse ? "@osdk/api" : "@osdk/client"}";
1072
+ import type { $ExpectedClientVersion } from "../../OntologyMetadata${importExt}";
1073
+ import { $osdkMetadata} from "../../OntologyMetadata${importExt}";
1074
+ ${importObjects}
1075
+
1076
+ export namespace ${query.shortApiName} {
1077
+ export interface Signature {
1078
+ ${getDescriptionIfPresent(query.description)}
1079
+ (${Object.keys(query.parameters).length > 0 ? `query: ${query.paramsIdentifier}` : ""}): Promise<${query.shortApiName}.ReturnType>
1080
+ }
1081
+
1082
+ ${Object.keys(query.parameters).length > 0 ? `
1083
+ export interface Parameters {
1084
+ ${stringify(query.parameters, {
1085
+ "*": (parameter, formatter, apiName) => {
1086
+ const q = generatorConverters.wireQueryParameterV2ToQueryParameterDefinition(parameter);
1087
+ return [`
1088
+ ${queryParamJsDoc(generatorConverters.wireQueryParameterV2ToQueryParameterDefinition(parameter), {
1089
+ apiName
1090
+ })}readonly "${apiName}"${q.nullable ? "?" : ""}`, getQueryParamType(ontology, q, "Param")];
1091
+ }
1092
+ })}
1093
+ }` : ""}
1094
+
1095
+ ${query.output.type === "struct" ? `
1096
+ export interface ReturnType
1097
+ ${getQueryParamType(ontology, generatorConverters.wireQueryParameterV2ToQueryParameterDefinition({
1098
+ dataType: query.output
1099
+ }), "Result")}
1100
+ ` : `
1101
+ export type ReturnType = ${getQueryParamType(ontology, generatorConverters.wireQueryParameterV2ToQueryParameterDefinition({
1102
+ dataType: query.output
1103
+ }), "Result")}
1104
+ `}
1105
+ }
1106
+
1107
+
1108
+ export interface ${query.shortApiName} extends QueryDefinition<
1109
+ ${query.shortApiName}.Signature
1110
+ >, VersionBound<$ExpectedClientVersion>{
1111
+ __DefinitionMetadata?: {
1112
+ ${stringify(baseProps)}
1113
+ parameters: {
1114
+ ${parameterDefsForType(ontology, query)}
1115
+ };
1116
+ output: {
1117
+ ${stringify(outputBase)},
1118
+ ${getLineFor__OsdkTargetType(ontology, query.output)}
1119
+ };
1120
+ signature: ${query.shortApiName}.Signature;
1121
+ },
1122
+ ${stringify(baseProps, {
1123
+ "description": () => undefined,
1124
+ "displayName": () => undefined,
1125
+ "rid": () => undefined
1126
+ })},
1127
+ osdkMetadata: typeof $osdkMetadata;
1128
+ }
1129
+
1130
+
1131
+ export const ${query.shortApiName}: ${query.definitionIdentifier} = {
1132
+ ${stringify(baseProps, {
1133
+ "description": () => undefined,
1134
+ "displayName": () => undefined,
1135
+ "rid": () => undefined
1136
+ })},
1137
+ osdkMetadata: $osdkMetadata
1138
+ };
1139
+ `));
1140
+ }
1141
+ function parameterDefsForType(ontology, query) {
1142
+ return stringify(query.parameters, {
1143
+ "*": (parameter, valueFormatter, apiName) => [`${queryParamJsDoc(generatorConverters.wireQueryParameterV2ToQueryParameterDefinition(parameter), {
1144
+ apiName
1145
+ })} ${apiName}`, ` {
1146
+ ${stringify(deleteUndefineds(generatorConverters.wireQueryParameterV2ToQueryParameterDefinition(parameter)))},
1147
+ ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}
1148
+ }`]
1149
+ });
1150
+ }
1151
+ function getLineFor__OsdkTargetType(ontology, qdt) {
1152
+ if (qdt.type === "object" || qdt.type === "objectSet") {
1153
+ return `__OsdkTargetType?: ${ontology.requireObjectType(qdt.objectTypeApiName).getImportedDefinitionIdentifier(true)}`;
1154
+ }
1155
+ return "";
1156
+ }
1157
+ function queryParamJsDoc(param, {
1158
+ apiName
1159
+ }) {
1160
+ let ret = `/**
1161
+ `;
1162
+ if (param.description) {
1163
+ if (param.description) {
1164
+ ret += ` * description: ${param.description}
1165
+ `;
1166
+ }
1167
+ } else {
1168
+ ret += ` * (no ontology metadata)
1169
+ `;
1170
+ }
1171
+ ret += ` */
1172
+ `;
1173
+ return ret;
1174
+ }
1175
+ function getQueryParamType(enhancedOntology, input, type) {
1176
+ let inner = `unknown /* ${input.type} */`;
1177
+ switch (input.type) {
1178
+ case "date":
1179
+ inner = `Query${type}.PrimitiveType<${JSON.stringify("datetime")}>`;
1180
+ break;
1181
+ case "attachment":
1182
+ case "boolean":
1183
+ case "double":
1184
+ case "float":
1185
+ case "integer":
1186
+ case "long":
1187
+ case "string":
1188
+ case "timestamp":
1189
+ inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;
1190
+ break;
1191
+ case "struct":
1192
+ inner = `{
1193
+ ${stringify(input.struct, {
1194
+ "*": (p, formatter, apiName) => {
1195
+ return [`
1196
+ ${type === "Param" ? "readonly " : ""}"${apiName}"${p.nullable ? "?" : ""}`, getQueryParamType(enhancedOntology, p, type)];
1197
+ }
1198
+ })}
1199
+ }`;
1200
+ break;
1201
+ case "twoDimensionalAggregation":
1202
+ inner = `Query${type}.TwoDimensionalAggregationType<${input.twoDimensionalAggregation.keyType === "range" ? `Query${type}.RangeKey<"${input.twoDimensionalAggregation.keySubtype}">` : `"${input.twoDimensionalAggregation.keyType}"`}, "${input.twoDimensionalAggregation.valueType}">`;
1203
+ break;
1204
+ case "threeDimensionalAggregation":
1205
+ inner = `Query${type}.ThreeDimensionalAggregationType<${input.threeDimensionalAggregation.keyType === "range" ? `Query${type}.RangeKey<"${input.threeDimensionalAggregation.keySubtype}">` : `"${input.threeDimensionalAggregation.keyType}"`},${input.threeDimensionalAggregation.valueType.keyType === "range" ? `Query${type}.RangeKey<"${input.threeDimensionalAggregation.valueType.keySubtype}">` : `"${input.threeDimensionalAggregation.valueType.keyType}"`},
1206
+ "${input.threeDimensionalAggregation.valueType.valueType}">`;
1207
+ break;
1208
+ case "object":
1209
+ inner = `Query${type}.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;
1210
+ break;
1211
+ case "objectSet":
1212
+ inner = `Query${type}.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;
1213
+ break;
1214
+ case "set":
1215
+ inner = `${type === "Param" ? "Readonly" : ""}Set<${getQueryParamType(enhancedOntology, input.set, type)}>`;
1216
+ break;
1217
+ case "union":
1218
+ inner = input.union.map((u) => getQueryParamType(enhancedOntology, u, type)).join(" | ");
1219
+ break;
1220
+ }
1221
+ if (input.multiplicity && type === "Param") {
1222
+ return `ReadonlyArray<${inner}>`;
1223
+ } else if (input.multiplicity) {
1224
+ return `Array<${inner}>`;
1225
+ }
1226
+ return inner;
1227
+ }
1228
+ async function generateRootIndexTsFile({
1229
+ fs: fs2,
1230
+ outDir,
1231
+ importExt,
1232
+ ontologyApiNamespace,
1233
+ ontology
1234
+ }) {
1235
+ await fs2.writeFile(path8__namespace.default.join(outDir, "index.ts"), await formatTs(`export {${helper(ontology.actionTypes)}} from "./ontology/actions${importExt}";
1236
+ export * as $Actions from "./ontology/actions${importExt}";
1237
+ export {${helper(ontology.interfaceTypes)}} from "./ontology/interfaces${importExt}";
1238
+ export * as $Interfaces from "./ontology/interfaces${importExt}";
1239
+ export {${helper(ontology.objectTypes)}} from "./ontology/objects${importExt}";
1240
+ export * as $Objects from "./ontology/objects${importExt}";
1241
+ export {${helper(ontology.queryTypes)}} from "./ontology/queries${importExt}";
1242
+ export * as $Queries from "./ontology/queries${importExt}";
1243
+ export { $osdkMetadata } from "./OntologyMetadata${importExt}";
1244
+ ${ontologyApiNamespace == null ? `export { $ontologyRid } from "./OntologyMetadata${importExt}";` : ``}
1245
+ `));
1246
+ }
1247
+ function helper(x) {
1248
+ return Object.values(x).filter((x2) => !(x2 instanceof ForeignType)).map((a) => a.shortApiName).join(", ");
1249
+ }
1250
+
1251
+ // src/v2.0/generateClientSdkVersionTwoPointZero.ts
1252
+ async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs2, outDir, packageType = "commonjs", externalObjects = /* @__PURE__ */ new Map(), externalInterfaces = /* @__PURE__ */ new Map(), externalSpts = /* @__PURE__ */ new Map(), forInternalUse = false) {
1253
+ const importExt = ".js";
1254
+ await verifyOutDir(outDir, fs2);
1255
+ const sanitizedOntology = sanitizeMetadata(ontology);
1256
+ await fs2.mkdir(outDir, {
1257
+ recursive: true
1258
+ });
1259
+ const enhancedOntology = enhanceOntology({
1260
+ sanitized: sanitizedOntology,
1261
+ importExt,
1262
+ externalObjects,
1263
+ externalInterfaces,
1264
+ externalSpts
1265
+ });
1266
+ const ctx = {
1267
+ sanitizedOntology,
1268
+ ontology: enhancedOntology,
1269
+ importExt,
1270
+ fs: fs2,
1271
+ outDir,
1272
+ forInternalUse
1273
+ };
1274
+ await generateRootIndexTsFile(ctx);
1275
+ await generateOntologyMetadataFile(ctx, userAgent);
1276
+ await generatePerObjectDataFiles(ctx);
1277
+ await generatePerInterfaceDataFiles(ctx);
1278
+ await generatePerActionDataFiles(ctx);
1279
+ await generatePerQueryDataFilesV2(ctx);
1280
+ }
1281
+
1282
+ // src/generateClientSdkPackage.ts
1283
+ async function generateClientSdkPackage(packageName, packageVersion, sdkVersion, baseOutDir, ontology, minimalFs, dependencyVersions, cliVersion, externalObjects = /* @__PURE__ */ new Map(), externalInterfaces = /* @__PURE__ */ new Map()) {
1284
+ if (!packageName) throw new Error("Package name is required");
1285
+ if (sdkVersion === "1.1") {
1286
+ throw new Error("This generator version does not support generating v1 sdks");
1287
+ }
1288
+ for (const packageType of ["module", "commonjs"]) {
1289
+ const outDir = path8__namespace.join(baseOutDir, "dist", packageType);
1290
+ await generateClientSdkVersionTwoPointZero(ontology, `typescript-sdk/${packageVersion} osdk-cli/${cliVersion}`, minimalFs, outDir, packageType, externalObjects, externalInterfaces);
1291
+ await fs__namespace.promises.mkdir(outDir, {
1292
+ recursive: true
1293
+ });
1294
+ await writeJson(minimalFs, path8__namespace.join(outDir, "package.json"), {
1295
+ type: packageType
1296
+ });
1297
+ await writeJson(minimalFs, path8__namespace.join(outDir, `tsconfig.json`), {
1298
+ compilerOptions: getTsCompilerOptions(packageType)
1299
+ });
1300
+ }
1301
+ await writeJson(minimalFs, path8__namespace.join(baseOutDir, "package.json"), getPackageJsonContents(packageName, packageVersion, dependencyVersions));
1302
+ await minimalFs.mkdir(path8__namespace.join(baseOutDir, "ontology"), {
1303
+ recursive: true
1304
+ });
1305
+ await minimalFs.writeFile(path8__namespace.join(baseOutDir, "ontology", "objects.js"), `module.exports = require("../../dist/module/ontology/objects")`);
1306
+ await minimalFs.writeFile(path8__namespace.join(baseOutDir, "ontology", "objects.d.ts"), `export * from "../dist/module/ontology/objects"`);
1307
+ }
1308
+ function getTsCompilerOptions(packageType) {
1309
+ const commonTsconfig = {
1310
+ importHelpers: true,
1311
+ declaration: true,
1312
+ isolatedModules: true,
1313
+ esModuleInterop: true,
1314
+ forceConsistentCasingInFileNames: true,
1315
+ strict: true,
1316
+ skipLibCheck: true
1317
+ };
1318
+ const compilerOptions = packageType === "commonjs" ? {
1319
+ ...commonTsconfig,
1320
+ module: "commonjs",
1321
+ target: "es2018"
1322
+ } : {
1323
+ ...commonTsconfig,
1324
+ module: "NodeNext",
1325
+ target: "ES2020"
1326
+ };
1327
+ return compilerOptions;
1328
+ }
1329
+ function getExpectedDependencies({
1330
+ osdkApiVersion,
1331
+ osdkClientVersion
1332
+ }) {
1333
+ return {
1334
+ devDependencies: {
1335
+ "@osdk/api": osdkApiVersion
1336
+ },
1337
+ peerDependencies: {
1338
+ "@osdk/api": osdkApiVersion,
1339
+ "@osdk/client": osdkClientVersion
1340
+ }
1341
+ };
1342
+ }
1343
+ function getExpectedDependenciesFull(dependencyVersions) {
1344
+ const {
1345
+ typescriptVersion,
1346
+ tslibVersion,
1347
+ areTheTypesWrongVersion
1348
+ } = dependencyVersions;
1349
+ const base = getExpectedDependencies(dependencyVersions);
1350
+ return {
1351
+ devDependencies: {
1352
+ ...base.devDependencies,
1353
+ "typescript": typescriptVersion,
1354
+ "tslib": tslibVersion,
1355
+ "@arethetypeswrong/cli": areTheTypesWrongVersion
1356
+ },
1357
+ peerDependencies: {
1358
+ ...base.peerDependencies
1359
+ }
1360
+ };
1361
+ }
1362
+ function getPackageJsonContents(name, version, dependencyVersions) {
1363
+ const esmPrefix = "./dist/module";
1364
+ const commonjsPrefix = "./dist/commonjs";
1365
+ return {
1366
+ name,
1367
+ version,
1368
+ main: `${commonjsPrefix}/index.js`,
1369
+ module: `${esmPrefix}/index.js`,
1370
+ exports: {
1371
+ ".": {
1372
+ import: `${esmPrefix}/index.js`,
1373
+ require: `${commonjsPrefix}/index.js`
1374
+ }
1375
+ },
1376
+ scripts: {
1377
+ prepack: `tsc -p ${esmPrefix}/tsconfig.json && tsc -p ${commonjsPrefix}/tsconfig.json`,
1378
+ check: "npm exec attw $(npm pack)"
1379
+ },
1380
+ ...getExpectedDependenciesFull(dependencyVersions),
1381
+ files: ["**/*.js", "**/*.d.ts", "dist/**/package.json"]
1382
+ };
1383
+ }
1384
+ async function writeJson(minimalFs, filePath, body) {
1385
+ return void await minimalFs.writeFile(filePath, JSON.stringify(body, undefined, 2) + "\n");
1386
+ }
1387
+
1388
+ exports.__UNSTABLE_generateClientSdkPackage = generateClientSdkPackage;
1389
+ exports.generateClientSdkVersionTwoPointZero = generateClientSdkVersionTwoPointZero;
1390
+ exports.getExpectedDependencies = getExpectedDependencies;
1391
+ //# sourceMappingURL=index.cjs.map
1392
+ //# sourceMappingURL=index.cjs.map