@osdk/client 2.0.0-beta.13 → 2.0.0-beta.15

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 (579) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/build/browser/Client.d.ts +39 -0
  3. package/build/browser/Client.d.ts.map +1 -0
  4. package/build/browser/Client.js +20 -0
  5. package/build/browser/Client.js.map +1 -0
  6. package/build/browser/Definitions.test.d.ts +2 -0
  7. package/build/browser/Definitions.test.d.ts.map +1 -0
  8. package/build/browser/Definitions.test.js +35 -0
  9. package/build/browser/Definitions.test.js.map +1 -0
  10. package/build/browser/Logger.d.ts +19 -0
  11. package/build/browser/Logger.d.ts.map +1 -0
  12. package/build/browser/Logger.js +17 -0
  13. package/build/browser/Logger.js.map +1 -0
  14. package/build/browser/MinimalClientContext.d.ts +26 -0
  15. package/build/browser/MinimalClientContext.d.ts.map +1 -0
  16. package/build/browser/MinimalClientContext.js +17 -0
  17. package/build/browser/MinimalClientContext.js.map +1 -0
  18. package/build/browser/ResultOrError.d.ts +12 -0
  19. package/build/browser/ResultOrError.d.ts.map +1 -0
  20. package/build/browser/ResultOrError.js +19 -0
  21. package/build/browser/ResultOrError.js.map +1 -0
  22. package/build/browser/SatisfiesSemver.d.ts +4 -0
  23. package/build/browser/SatisfiesSemver.d.ts.map +1 -0
  24. package/build/browser/SatisfiesSemver.js +17 -0
  25. package/build/browser/SatisfiesSemver.js.map +1 -0
  26. package/build/browser/SatisfiesSemver.test.d.ts +2 -0
  27. package/build/browser/SatisfiesSemver.test.d.ts.map +1 -0
  28. package/build/browser/SatisfiesSemver.test.js +69 -0
  29. package/build/browser/SatisfiesSemver.test.js.map +1 -0
  30. package/build/browser/__unstable/ConjureSupport.d.ts +55 -0
  31. package/build/browser/__unstable/ConjureSupport.d.ts.map +1 -0
  32. package/build/browser/__unstable/ConjureSupport.js +174 -0
  33. package/build/browser/__unstable/ConjureSupport.js.map +1 -0
  34. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +10 -0
  35. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -0
  36. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +114 -0
  37. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -0
  38. package/build/browser/actions/ActionValidationError.d.ts +6 -0
  39. package/build/browser/actions/ActionValidationError.d.ts.map +1 -0
  40. package/build/browser/actions/ActionValidationError.js +23 -0
  41. package/build/browser/actions/ActionValidationError.js.map +1 -0
  42. package/build/browser/actions/actions.test.d.ts +2 -0
  43. package/build/browser/actions/actions.test.d.ts.map +1 -0
  44. package/build/browser/actions/actions.test.js +323 -0
  45. package/build/browser/actions/actions.test.js.map +1 -0
  46. package/build/browser/actions/applyAction.d.ts +30 -0
  47. package/build/browser/actions/applyAction.d.ts.map +1 -0
  48. package/build/browser/actions/applyAction.js +114 -0
  49. package/build/browser/actions/applyAction.js.map +1 -0
  50. package/build/browser/createAttachmentFromRid.d.ts +10 -0
  51. package/build/browser/createAttachmentFromRid.d.ts.map +1 -0
  52. package/build/browser/createAttachmentFromRid.js +38 -0
  53. package/build/browser/createAttachmentFromRid.js.map +1 -0
  54. package/build/browser/createClient.d.ts +6 -0
  55. package/build/browser/createClient.d.ts.map +1 -0
  56. package/build/browser/createClient.js +88 -0
  57. package/build/browser/createClient.js.map +1 -0
  58. package/build/browser/createClient.test.d.ts +2 -0
  59. package/build/browser/createClient.test.d.ts.map +1 -0
  60. package/build/browser/createClient.test.js +45 -0
  61. package/build/browser/createClient.test.js.map +1 -0
  62. package/build/browser/createMinimalClient.d.ts +2 -0
  63. package/build/browser/createMinimalClient.d.ts.map +1 -0
  64. package/build/browser/createMinimalClient.js +42 -0
  65. package/build/browser/createMinimalClient.js.map +1 -0
  66. package/build/browser/createPlatformClient.d.ts +17 -0
  67. package/build/browser/createPlatformClient.d.ts.map +1 -0
  68. package/build/browser/createPlatformClient.js +33 -0
  69. package/build/browser/createPlatformClient.js.map +1 -0
  70. package/build/browser/createTimeseriesProperty.d.ts +14 -0
  71. package/build/browser/createTimeseriesProperty.d.ts.map +1 -0
  72. package/build/browser/createTimeseriesProperty.js +79 -0
  73. package/build/browser/createTimeseriesProperty.js.map +1 -0
  74. package/build/browser/definitions/LinkDefinitions.test.d.ts +2 -0
  75. package/build/browser/definitions/LinkDefinitions.test.d.ts.map +1 -0
  76. package/build/browser/definitions/LinkDefinitions.test.js +41 -0
  77. package/build/browser/definitions/LinkDefinitions.test.js.map +1 -0
  78. package/build/browser/fetchMetadata.d.ts +2 -0
  79. package/build/browser/fetchMetadata.d.ts.map +1 -0
  80. package/build/browser/fetchMetadata.js +35 -0
  81. package/build/browser/fetchMetadata.js.map +1 -0
  82. package/build/browser/fetchMetadata.test.d.ts +2 -0
  83. package/build/browser/fetchMetadata.test.d.ts.map +1 -0
  84. package/build/browser/fetchMetadata.test.js +218 -0
  85. package/build/browser/fetchMetadata.test.js.map +1 -0
  86. package/build/browser/index.d.ts +13 -0
  87. package/build/browser/index.d.ts.map +1 -0
  88. package/build/browser/index.js +22 -725
  89. package/build/browser/index.js.map +1 -1
  90. package/build/browser/intellisense.test.d.ts +2 -0
  91. package/build/browser/intellisense.test.d.ts.map +1 -0
  92. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +2 -0
  93. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +1 -0
  94. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +25 -0
  95. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -0
  96. package/build/browser/intellisense.test.js +86 -0
  97. package/build/browser/intellisense.test.js.map +1 -0
  98. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts +2 -0
  99. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +1 -0
  100. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +34 -0
  101. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -0
  102. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts +2 -0
  103. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts.map +1 -0
  104. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js +38 -0
  105. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js.map +1 -0
  106. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts +2 -0
  107. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts.map +1 -0
  108. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +62 -0
  109. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -0
  110. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts +2 -0
  111. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -0
  112. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +144 -0
  113. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -0
  114. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts +2 -0
  115. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +1 -0
  116. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +486 -0
  117. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -0
  118. package/build/browser/object/AttachmentUpload.d.ts +4 -0
  119. package/build/browser/object/AttachmentUpload.d.ts.map +1 -0
  120. package/build/browser/object/AttachmentUpload.js +27 -0
  121. package/build/browser/object/AttachmentUpload.js.map +1 -0
  122. package/build/browser/object/Cache.d.ts +2 -0
  123. package/build/browser/object/Cache.d.ts.map +1 -0
  124. package/build/browser/object/Cache.js +76 -0
  125. package/build/browser/object/Cache.js.map +1 -0
  126. package/build/browser/object/Cache.test.d.ts +11 -0
  127. package/build/browser/object/Cache.test.d.ts.map +1 -0
  128. package/build/browser/object/Cache.test.js +283 -0
  129. package/build/browser/object/Cache.test.js.map +1 -0
  130. package/build/browser/object/SimpleCache.d.ts +38 -0
  131. package/build/browser/object/SimpleCache.d.ts.map +1 -0
  132. package/build/browser/object/SimpleCache.js +67 -0
  133. package/build/browser/object/SimpleCache.js.map +1 -0
  134. package/build/browser/object/aggregate.d.ts +2 -0
  135. package/build/browser/object/aggregate.d.ts.map +1 -0
  136. package/build/browser/object/aggregate.js +69 -0
  137. package/build/browser/object/aggregate.js.map +1 -0
  138. package/build/browser/object/aggregate.test.d.ts +2 -0
  139. package/build/browser/object/aggregate.test.d.ts.map +1 -0
  140. package/build/browser/object/aggregate.test.js +398 -0
  141. package/build/browser/object/aggregate.test.js.map +1 -0
  142. package/build/browser/object/attachment.test.d.ts +2 -0
  143. package/build/browser/object/attachment.test.d.ts.map +1 -0
  144. package/build/browser/object/attachment.test.js +55 -0
  145. package/build/browser/object/attachment.test.js.map +1 -0
  146. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +11 -0
  147. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -0
  148. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js +17 -0
  149. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -0
  150. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +13 -0
  151. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -0
  152. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +22 -0
  153. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -0
  154. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts +2 -0
  155. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +1 -0
  156. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js +17 -0
  157. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -0
  158. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +2 -0
  159. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -0
  160. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +48 -0
  161. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -0
  162. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +8 -0
  163. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +1 -0
  164. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +17 -0
  165. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -0
  166. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +2 -0
  167. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +1 -0
  168. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +82 -0
  169. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -0
  170. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts +2 -0
  171. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +1 -0
  172. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +114 -0
  173. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -0
  174. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts +3 -0
  175. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -0
  176. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +55 -0
  177. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -0
  178. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts +2 -0
  179. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +1 -0
  180. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +60 -0
  181. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -0
  182. package/build/browser/object/convertWireToOsdkObjects.d.ts +2 -0
  183. package/build/browser/object/convertWireToOsdkObjects.d.ts.map +1 -0
  184. package/build/browser/object/convertWireToOsdkObjects.js +150 -0
  185. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -0
  186. package/build/browser/object/convertWireToOsdkObjects.test.d.ts +2 -0
  187. package/build/browser/object/convertWireToOsdkObjects.test.d.ts.map +1 -0
  188. package/build/browser/object/convertWireToOsdkObjects.test.js +254 -0
  189. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -0
  190. package/build/browser/object/fetchPage.d.ts +3 -0
  191. package/build/browser/object/fetchPage.d.ts.map +1 -0
  192. package/build/browser/object/fetchPage.js +135 -0
  193. package/build/browser/object/fetchPage.js.map +1 -0
  194. package/build/browser/object/fetchPage.test.d.ts +2 -0
  195. package/build/browser/object/fetchPage.test.d.ts.map +1 -0
  196. package/build/browser/object/fetchPage.test.js +106 -0
  197. package/build/browser/object/fetchPage.test.js.map +1 -0
  198. package/build/browser/object/fetchSingle.d.ts +2 -0
  199. package/build/browser/object/fetchSingle.d.ts.map +1 -0
  200. package/build/browser/object/fetchSingle.js +47 -0
  201. package/build/browser/object/fetchSingle.js.map +1 -0
  202. package/build/browser/object/object.test.d.ts +12 -0
  203. package/build/browser/object/object.test.d.ts.map +1 -0
  204. package/build/browser/object/object.test.js +179 -0
  205. package/build/browser/object/object.test.js.map +1 -0
  206. package/build/browser/object/timeseries.test.d.ts +2 -0
  207. package/build/browser/object/timeseries.test.d.ts.map +1 -0
  208. package/build/browser/object/timeseries.test.js +163 -0
  209. package/build/browser/object/timeseries.test.js.map +1 -0
  210. package/build/browser/objectSet/ObjectSet.test.d.ts +2 -0
  211. package/build/browser/objectSet/ObjectSet.test.d.ts.map +1 -0
  212. package/build/browser/objectSet/ObjectSet.test.js +313 -0
  213. package/build/browser/objectSet/ObjectSet.test.js.map +1 -0
  214. package/build/browser/objectSet/ObjectSetFactory.d.ts +2 -0
  215. package/build/browser/objectSet/ObjectSetFactory.d.ts.map +1 -0
  216. package/build/browser/objectSet/ObjectSetFactory.js +17 -0
  217. package/build/browser/objectSet/ObjectSetFactory.js.map +1 -0
  218. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts +7 -0
  219. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -0
  220. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +533 -0
  221. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -0
  222. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts +2 -0
  223. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +1 -0
  224. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +338 -0
  225. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -0
  226. package/build/browser/objectSet/conjureUnionType.d.ts +13 -0
  227. package/build/browser/objectSet/conjureUnionType.d.ts.map +1 -0
  228. package/build/browser/objectSet/conjureUnionType.js +27 -0
  229. package/build/browser/objectSet/conjureUnionType.js.map +1 -0
  230. package/build/browser/objectSet/createObjectSet.d.ts +2 -0
  231. package/build/browser/objectSet/createObjectSet.d.ts.map +1 -0
  232. package/build/browser/objectSet/createObjectSet.js +136 -0
  233. package/build/browser/objectSet/createObjectSet.js.map +1 -0
  234. package/build/browser/objectSet/toConjureObjectSet.d.ts +2 -0
  235. package/build/browser/objectSet/toConjureObjectSet.d.ts.map +1 -0
  236. package/build/browser/objectSet/toConjureObjectSet.js +158 -0
  237. package/build/browser/objectSet/toConjureObjectSet.js.map +1 -0
  238. package/build/browser/ontology/OntologyProvider.d.ts +32 -0
  239. package/build/browser/ontology/OntologyProvider.d.ts.map +1 -0
  240. package/build/browser/ontology/OntologyProvider.js +17 -0
  241. package/build/browser/ontology/OntologyProvider.js.map +1 -0
  242. package/build/browser/ontology/StandardOntologyProvider.d.ts +5 -0
  243. package/build/browser/ontology/StandardOntologyProvider.d.ts.map +1 -0
  244. package/build/browser/ontology/StandardOntologyProvider.js +59 -0
  245. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -0
  246. package/build/browser/ontology/StandardOntologyProvider.test.d.ts +2 -0
  247. package/build/browser/ontology/StandardOntologyProvider.test.d.ts.map +1 -0
  248. package/build/browser/ontology/StandardOntologyProvider.test.js +48 -0
  249. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -0
  250. package/build/browser/ontology/loadActionMetadata.d.ts +4 -0
  251. package/build/browser/ontology/loadActionMetadata.d.ts.map +1 -0
  252. package/build/browser/ontology/loadActionMetadata.js +22 -0
  253. package/build/browser/ontology/loadActionMetadata.js.map +1 -0
  254. package/build/browser/ontology/loadFullObjectMetadata.d.ts +6 -0
  255. package/build/browser/ontology/loadFullObjectMetadata.d.ts.map +1 -0
  256. package/build/browser/ontology/loadFullObjectMetadata.js +28 -0
  257. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -0
  258. package/build/browser/ontology/loadInterfaceMetadata.d.ts +4 -0
  259. package/build/browser/ontology/loadInterfaceMetadata.d.ts.map +1 -0
  260. package/build/browser/ontology/loadInterfaceMetadata.js +24 -0
  261. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -0
  262. package/build/browser/ontology/loadQueryMetadata.d.ts +4 -0
  263. package/build/browser/ontology/loadQueryMetadata.d.ts.map +1 -0
  264. package/build/browser/ontology/loadQueryMetadata.js +22 -0
  265. package/build/browser/ontology/loadQueryMetadata.js.map +1 -0
  266. package/build/browser/ontology/makeConjureContext.d.ts +4 -0
  267. package/build/browser/ontology/makeConjureContext.d.ts.map +1 -0
  268. package/build/browser/ontology/makeConjureContext.js +28 -0
  269. package/build/browser/ontology/makeConjureContext.js.map +1 -0
  270. package/build/browser/pageRequestAsAsyncIter.d.ts +10 -0
  271. package/build/browser/pageRequestAsAsyncIter.d.ts.map +1 -0
  272. package/build/browser/pageRequestAsAsyncIter.js +37 -0
  273. package/build/browser/pageRequestAsAsyncIter.js.map +1 -0
  274. package/build/browser/public/unstable-do-not-use.d.ts +2 -0
  275. package/build/browser/public/unstable-do-not-use.d.ts.map +1 -0
  276. package/build/browser/public/unstable-do-not-use.js +16 -2
  277. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  278. package/build/browser/queries/applyQuery.d.ts +6 -0
  279. package/build/browser/queries/applyQuery.d.ts.map +1 -0
  280. package/build/browser/queries/applyQuery.js +234 -0
  281. package/build/browser/queries/applyQuery.js.map +1 -0
  282. package/build/browser/queries/queries.test.d.ts +2 -0
  283. package/build/browser/queries/queries.test.d.ts.map +1 -0
  284. package/build/browser/queries/queries.test.js +171 -0
  285. package/build/browser/queries/queries.test.js.map +1 -0
  286. package/build/browser/queries/types.d.ts +20 -0
  287. package/build/browser/queries/types.d.ts.map +1 -0
  288. package/build/browser/queries/types.js +17 -0
  289. package/build/browser/queries/types.js.map +1 -0
  290. package/build/browser/tsserver.d.ts +34 -0
  291. package/build/browser/tsserver.d.ts.map +1 -0
  292. package/build/browser/tsserver.js +133 -0
  293. package/build/browser/tsserver.js.map +1 -0
  294. package/build/browser/util/ArrayElement.d.ts +2 -0
  295. package/build/browser/util/ArrayElement.d.ts.map +1 -0
  296. package/build/browser/util/ArrayElement.js +17 -0
  297. package/build/browser/util/ArrayElement.js.map +1 -0
  298. package/build/browser/util/NOOP.d.ts +4 -0
  299. package/build/browser/util/NOOP.d.ts.map +1 -0
  300. package/build/browser/util/NOOP.js +17 -0
  301. package/build/browser/util/NOOP.js.map +1 -0
  302. package/build/browser/util/NullableProps.d.ts +6 -0
  303. package/build/browser/util/NullableProps.d.ts.map +1 -0
  304. package/build/browser/util/NullableProps.js +17 -0
  305. package/build/browser/util/NullableProps.js.map +1 -0
  306. package/build/browser/util/UserAgent.d.ts +2 -0
  307. package/build/browser/util/UserAgent.d.ts.map +1 -0
  308. package/build/browser/util/UserAgent.js +17 -0
  309. package/build/browser/util/UserAgent.js.map +1 -0
  310. package/build/browser/util/WireObjectSet.d.ts +2 -0
  311. package/build/browser/util/WireObjectSet.d.ts.map +1 -0
  312. package/build/browser/util/WireObjectSet.js +21 -0
  313. package/build/browser/util/WireObjectSet.js.map +1 -0
  314. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts +4 -0
  315. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts.map +1 -0
  316. package/build/browser/util/addUserAgentAndRequestContextHeaders.js +27 -0
  317. package/build/browser/util/addUserAgentAndRequestContextHeaders.js.map +1 -0
  318. package/build/browser/util/augmentRequestContext.d.ts +32 -0
  319. package/build/browser/util/augmentRequestContext.d.ts.map +1 -0
  320. package/build/browser/util/augmentRequestContext.js +52 -0
  321. package/build/browser/util/augmentRequestContext.js.map +1 -0
  322. package/build/browser/util/isOntologyObjectV2.d.ts +2 -0
  323. package/build/browser/util/isOntologyObjectV2.d.ts.map +1 -0
  324. package/build/browser/util/isOntologyObjectV2.js +20 -0
  325. package/build/browser/util/isOntologyObjectV2.js.map +1 -0
  326. package/build/browser/util/isOsdkBaseObject.d.ts +3 -0
  327. package/build/browser/util/isOsdkBaseObject.d.ts.map +1 -0
  328. package/build/browser/util/isOsdkBaseObject.js +19 -0
  329. package/build/browser/util/isOsdkBaseObject.js.map +1 -0
  330. package/build/browser/util/isOsdkObject.d.ts +3 -0
  331. package/build/browser/util/isOsdkObject.d.ts.map +1 -0
  332. package/build/browser/util/isOsdkObject.js +19 -0
  333. package/build/browser/util/isOsdkObject.js.map +1 -0
  334. package/build/browser/util/partialBy.d.ts +3 -0
  335. package/build/browser/util/partialBy.d.ts.map +1 -0
  336. package/build/browser/util/partialBy.js +17 -0
  337. package/build/browser/util/partialBy.js.map +1 -0
  338. package/build/browser/util/streamutils.d.ts +3 -0
  339. package/build/browser/util/streamutils.d.ts.map +1 -0
  340. package/build/browser/util/streamutils.js +95 -0
  341. package/build/browser/util/streamutils.js.map +1 -0
  342. package/build/browser/util/toDataValue.d.ts +2 -0
  343. package/build/browser/util/toDataValue.d.ts.map +1 -0
  344. package/build/browser/util/toDataValue.js +73 -0
  345. package/build/browser/util/toDataValue.js.map +1 -0
  346. package/build/browser/util/toDataValue.test.d.ts +2 -0
  347. package/build/browser/util/toDataValue.test.d.ts.map +1 -0
  348. package/build/browser/util/toDataValue.test.js +117 -0
  349. package/build/browser/util/toDataValue.test.js.map +1 -0
  350. package/build/browser/util/toDataValueQueries.d.ts +2 -0
  351. package/build/browser/util/toDataValueQueries.d.ts.map +1 -0
  352. package/build/browser/util/toDataValueQueries.js +107 -0
  353. package/build/browser/util/toDataValueQueries.js.map +1 -0
  354. package/build/esm/Client.d.ts +6 -7
  355. package/build/esm/Client.d.ts.map +1 -1
  356. package/build/esm/Client.js +20 -0
  357. package/build/esm/Client.js.map +1 -0
  358. package/build/esm/Definitions.test.js +35 -0
  359. package/build/esm/Definitions.test.js.map +1 -0
  360. package/build/esm/Logger.js +17 -0
  361. package/build/esm/Logger.js.map +1 -0
  362. package/build/esm/MinimalClientContext.js +17 -0
  363. package/build/esm/MinimalClientContext.js.map +1 -0
  364. package/build/esm/ResultOrError.js +19 -0
  365. package/build/esm/ResultOrError.js.map +1 -0
  366. package/build/esm/SatisfiesSemver.js +17 -0
  367. package/build/esm/SatisfiesSemver.js.map +1 -0
  368. package/build/esm/SatisfiesSemver.test.js +69 -0
  369. package/build/esm/SatisfiesSemver.test.js.map +1 -0
  370. package/build/esm/__unstable/ConjureSupport.js +174 -0
  371. package/build/esm/__unstable/ConjureSupport.js.map +1 -0
  372. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -1
  373. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  374. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +114 -0
  375. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -0
  376. package/build/esm/actions/ActionValidationError.d.ts +1 -1
  377. package/build/esm/actions/ActionValidationError.d.ts.map +1 -1
  378. package/build/esm/actions/ActionValidationError.js +23 -0
  379. package/build/esm/actions/ActionValidationError.js.map +1 -0
  380. package/build/esm/actions/actions.test.js +323 -0
  381. package/build/esm/actions/actions.test.js.map +1 -0
  382. package/build/esm/actions/applyAction.d.ts +9 -10
  383. package/build/esm/actions/applyAction.d.ts.map +1 -1
  384. package/build/esm/actions/applyAction.js +114 -0
  385. package/build/esm/actions/applyAction.js.map +1 -0
  386. package/build/esm/createAttachmentFromRid.d.ts +1 -1
  387. package/build/esm/createAttachmentFromRid.d.ts.map +1 -1
  388. package/build/esm/createAttachmentFromRid.js +38 -0
  389. package/build/esm/createAttachmentFromRid.js.map +1 -0
  390. package/build/esm/createClient.d.ts.map +1 -1
  391. package/build/esm/createClient.js +88 -0
  392. package/build/esm/createClient.js.map +1 -0
  393. package/build/esm/createClient.test.js +45 -0
  394. package/build/esm/createClient.test.js.map +1 -0
  395. package/build/esm/createMinimalClient.js +42 -0
  396. package/build/esm/createMinimalClient.js.map +1 -0
  397. package/build/esm/createPlatformClient.js +33 -0
  398. package/build/esm/createPlatformClient.js.map +1 -0
  399. package/build/esm/createTimeseriesProperty.d.ts +12 -2
  400. package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
  401. package/build/esm/createTimeseriesProperty.js +79 -0
  402. package/build/esm/createTimeseriesProperty.js.map +1 -0
  403. package/build/esm/definitions/LinkDefinitions.test.js +41 -0
  404. package/build/esm/definitions/LinkDefinitions.test.js.map +1 -0
  405. package/build/esm/fetchMetadata.js +35 -0
  406. package/build/esm/fetchMetadata.js.map +1 -0
  407. package/build/esm/fetchMetadata.test.js +218 -0
  408. package/build/esm/fetchMetadata.test.js.map +1 -0
  409. package/build/esm/index.d.ts +2 -2
  410. package/build/esm/index.d.ts.map +1 -1
  411. package/build/esm/index.js +22 -725
  412. package/build/esm/index.js.map +1 -1
  413. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +25 -0
  414. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -0
  415. package/build/esm/intellisense.test.js +86 -0
  416. package/build/esm/intellisense.test.js.map +1 -0
  417. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +34 -0
  418. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -0
  419. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js +38 -0
  420. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js.map +1 -0
  421. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +62 -0
  422. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -0
  423. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +144 -0
  424. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -0
  425. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +486 -0
  426. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -0
  427. package/build/esm/object/AttachmentUpload.d.ts +1 -1
  428. package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
  429. package/build/esm/object/AttachmentUpload.js +27 -0
  430. package/build/esm/object/AttachmentUpload.js.map +1 -0
  431. package/build/esm/object/Cache.js +76 -0
  432. package/build/esm/object/Cache.js.map +1 -0
  433. package/build/esm/object/Cache.test.js +283 -0
  434. package/build/esm/object/Cache.test.js.map +1 -0
  435. package/build/esm/object/SimpleCache.js +67 -0
  436. package/build/esm/object/SimpleCache.js.map +1 -0
  437. package/build/esm/object/aggregate.js +69 -0
  438. package/build/esm/object/aggregate.js.map +1 -0
  439. package/build/esm/object/aggregate.test.js +398 -0
  440. package/build/esm/object/aggregate.test.js.map +1 -0
  441. package/build/esm/object/attachment.test.js +55 -0
  442. package/build/esm/object/attachment.test.js.map +1 -0
  443. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +4 -5
  444. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  445. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js +17 -0
  446. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -0
  447. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +2 -3
  448. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  449. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +22 -0
  450. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -0
  451. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js +17 -0
  452. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -0
  453. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -1
  454. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +48 -0
  455. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -0
  456. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +17 -0
  457. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -0
  458. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +82 -0
  459. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -0
  460. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +114 -0
  461. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -0
  462. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts +1 -1
  463. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -1
  464. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +55 -0
  465. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -0
  466. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +60 -0
  467. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -0
  468. package/build/esm/object/convertWireToOsdkObjects.js +150 -0
  469. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -0
  470. package/build/esm/object/convertWireToOsdkObjects.test.js +254 -0
  471. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -0
  472. package/build/esm/object/fetchPage.d.ts +2 -3
  473. package/build/esm/object/fetchPage.d.ts.map +1 -1
  474. package/build/esm/object/fetchPage.js +135 -0
  475. package/build/esm/object/fetchPage.js.map +1 -0
  476. package/build/esm/object/fetchPage.test.js +106 -0
  477. package/build/esm/object/fetchPage.test.js.map +1 -0
  478. package/build/esm/object/fetchSingle.js +47 -0
  479. package/build/esm/object/fetchSingle.js.map +1 -0
  480. package/build/esm/object/object.test.d.ts +1 -1
  481. package/build/esm/object/object.test.d.ts.map +1 -1
  482. package/build/esm/object/object.test.js +179 -0
  483. package/build/esm/object/object.test.js.map +1 -0
  484. package/build/esm/object/timeseries.test.js +163 -0
  485. package/build/esm/object/timeseries.test.js.map +1 -0
  486. package/build/esm/objectSet/ObjectSet.test.js +313 -0
  487. package/build/esm/objectSet/ObjectSet.test.js.map +1 -0
  488. package/build/esm/objectSet/ObjectSetFactory.js +17 -0
  489. package/build/esm/objectSet/ObjectSetFactory.js.map +1 -0
  490. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -1
  491. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +536 -0
  492. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -0
  493. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +338 -0
  494. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -0
  495. package/build/esm/objectSet/conjureUnionType.js +27 -0
  496. package/build/esm/objectSet/conjureUnionType.js.map +1 -0
  497. package/build/esm/objectSet/createObjectSet.js +136 -0
  498. package/build/esm/objectSet/createObjectSet.js.map +1 -0
  499. package/build/esm/objectSet/toConjureObjectSet.js +158 -0
  500. package/build/esm/objectSet/toConjureObjectSet.js.map +1 -0
  501. package/build/esm/ontology/OntologyProvider.d.ts +5 -5
  502. package/build/esm/ontology/OntologyProvider.d.ts.map +1 -1
  503. package/build/esm/ontology/OntologyProvider.js +17 -0
  504. package/build/esm/ontology/OntologyProvider.js.map +1 -0
  505. package/build/esm/ontology/StandardOntologyProvider.js +59 -0
  506. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -0
  507. package/build/esm/ontology/StandardOntologyProvider.test.js +48 -0
  508. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -0
  509. package/build/esm/ontology/loadActionMetadata.d.ts +1 -1
  510. package/build/esm/ontology/loadActionMetadata.d.ts.map +1 -1
  511. package/build/esm/ontology/loadActionMetadata.js +22 -0
  512. package/build/esm/ontology/loadActionMetadata.js.map +1 -0
  513. package/build/esm/ontology/loadFullObjectMetadata.d.ts +1 -1
  514. package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +1 -1
  515. package/build/esm/ontology/loadFullObjectMetadata.js +28 -0
  516. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -0
  517. package/build/esm/ontology/loadInterfaceMetadata.d.ts +1 -1
  518. package/build/esm/ontology/loadInterfaceMetadata.d.ts.map +1 -1
  519. package/build/esm/ontology/loadInterfaceMetadata.js +24 -0
  520. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -0
  521. package/build/esm/ontology/loadQueryMetadata.js +22 -0
  522. package/build/esm/ontology/loadQueryMetadata.js.map +1 -0
  523. package/build/esm/ontology/makeConjureContext.js +28 -0
  524. package/build/esm/ontology/makeConjureContext.js.map +1 -0
  525. package/build/esm/pageRequestAsAsyncIter.js +37 -0
  526. package/build/esm/pageRequestAsAsyncIter.js.map +1 -0
  527. package/build/esm/public/unstable-do-not-use.js +16 -2
  528. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  529. package/build/esm/queries/applyQuery.d.ts +1 -2
  530. package/build/esm/queries/applyQuery.d.ts.map +1 -1
  531. package/build/esm/queries/applyQuery.js +234 -0
  532. package/build/esm/queries/applyQuery.js.map +1 -0
  533. package/build/esm/queries/queries.test.js +171 -0
  534. package/build/esm/queries/queries.test.js.map +1 -0
  535. package/build/esm/queries/types.d.ts +1 -2
  536. package/build/esm/queries/types.d.ts.map +1 -1
  537. package/build/esm/queries/types.js +17 -0
  538. package/build/esm/queries/types.js.map +1 -0
  539. package/build/esm/tsserver.js +133 -0
  540. package/build/esm/tsserver.js.map +1 -0
  541. package/build/esm/util/ArrayElement.js +17 -0
  542. package/build/esm/util/ArrayElement.js.map +1 -0
  543. package/build/esm/util/NOOP.js +17 -0
  544. package/build/esm/util/NOOP.js.map +1 -0
  545. package/build/esm/util/NullableProps.js +17 -0
  546. package/build/esm/util/NullableProps.js.map +1 -0
  547. package/build/esm/util/UserAgent.js +17 -0
  548. package/build/esm/util/UserAgent.js.map +1 -0
  549. package/build/esm/util/WireObjectSet.js +21 -0
  550. package/build/esm/util/WireObjectSet.js.map +1 -0
  551. package/build/esm/util/addUserAgentAndRequestContextHeaders.js +27 -0
  552. package/build/esm/util/addUserAgentAndRequestContextHeaders.js.map +1 -0
  553. package/build/esm/util/augmentRequestContext.js +52 -0
  554. package/build/esm/util/augmentRequestContext.js.map +1 -0
  555. package/build/esm/util/isOntologyObjectV2.js +20 -0
  556. package/build/esm/util/isOntologyObjectV2.js.map +1 -0
  557. package/build/esm/util/isOsdkBaseObject.d.ts +1 -1
  558. package/build/esm/util/isOsdkBaseObject.d.ts.map +1 -1
  559. package/build/esm/util/isOsdkBaseObject.js +19 -0
  560. package/build/esm/util/isOsdkBaseObject.js.map +1 -0
  561. package/build/esm/util/isOsdkObject.d.ts +1 -1
  562. package/build/esm/util/isOsdkObject.d.ts.map +1 -1
  563. package/build/esm/util/isOsdkObject.js +19 -0
  564. package/build/esm/util/isOsdkObject.js.map +1 -0
  565. package/build/esm/util/partialBy.js +17 -0
  566. package/build/esm/util/partialBy.js.map +1 -0
  567. package/build/esm/util/streamutils.js +95 -0
  568. package/build/esm/util/streamutils.js.map +1 -0
  569. package/build/esm/util/toDataValue.js +73 -0
  570. package/build/esm/util/toDataValue.js.map +1 -0
  571. package/build/esm/util/toDataValue.test.js +117 -0
  572. package/build/esm/util/toDataValue.test.js.map +1 -0
  573. package/build/esm/util/toDataValueQueries.js +107 -0
  574. package/build/esm/util/toDataValueQueries.js.map +1 -0
  575. package/package.json +14 -18
  576. package/build/browser/chunk-CG25K4WC.js +0 -2502
  577. package/build/browser/chunk-CG25K4WC.js.map +0 -1
  578. package/build/esm/chunk-MQTCPUPF.js +0 -2505
  579. package/build/esm/chunk-MQTCPUPF.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../internal.foundry.datasets/build/esm/chunk-PZ5AY32C.js","../../../shared.net.platformapi/build/esm/index.js","../../../internal.foundry.datasets/build/esm/chunk-JIXOPP3M.js","../../../internal.foundry.datasets/build/esm/chunk-EDFN5GXZ.js","../../../internal.foundry.datasets/build/esm/chunk-WOQTHZR3.js","../../../internal.foundry.datasets/build/esm/chunk-6JHAYAPR.js","../../../internal.foundry.ontologies/build/esm/chunk-PZ5AY32C.js","../../../internal.foundry.ontologies/build/esm/chunk-UM4N5F6D.js","../../../internal.foundry.ontologies/build/esm/chunk-MONAXU3N.js","../../../internal.foundry.ontologies/build/esm/chunk-5RUWELWF.js","../../../internal.foundry.ontologies/build/esm/chunk-YCOLCQXU.js","../../../internal.foundry.ontologies/build/esm/chunk-ATSSLGFA.js","../../../internal.foundry.ontologies/build/esm/chunk-ABHCL2BI.js","../../../internal.foundry.ontologies/build/esm/chunk-VBZZKGHE.js","../../../internal.foundry.ontologies/build/esm/chunk-SALCOSHR.js","../../../internal.foundry.ontologiesv2/build/esm/index.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-PZ5AY32C.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-CTA4DXZF.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-U76D6BOW.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-35VM6XLH.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-UFJTKRQC.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-GWYI4RKT.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-KQNF55S5.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-A2ZEBCGI.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-VCCTOHYG.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-EFVOGNPX.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-3H3SHEFA.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-4TOWICL3.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-ZNHKEV4X.js","../../../internal.foundry.ontologiesv2/build/esm/chunk-OBKC7XBM.js","../../src/createAttachmentFromRid.ts","../../src/util/addUserAgentAndRequestContextHeaders.ts","../../src/util/streamutils.ts","../../src/createTimeseriesProperty.ts","../../src/object/Cache.ts","../../src/ontology/OntologyProvider.ts","../../src/object/SimpleCache.ts","../../src/object/convertWireToOsdkObjects/InternalSymbols.ts","../../src/object/convertWireToOsdkObjects/createOsdkInterface.ts","../../src/object/convertWireToOsdkObjects/getDollarAs.ts","../../src/internal/conversions/modernToLegacyWhereClause.ts","../../src/internal/conversions/legacyToModernSingleAggregationResult.ts","../../src/internal/conversions/modernToLegacyAggregationClause.ts","../../src/internal/conversions/modernToLegacyGroupByClause.ts","../../src/object/aggregate.ts","../../src/object/fetchSingle.ts","../../src/util/augmentRequestContext.ts","../../src/util/WireObjectSet.ts","../../src/ontology/makeConjureContext.ts","../../src/__unstable/ConjureSupport.ts","../../src/objectSet/conjureUnionType.ts","../../src/objectSet/toConjureObjectSet.ts","../../src/objectSet/ObjectSetListenerWebsocket.ts","../../src/objectSet/createObjectSet.ts","../../src/object/convertWireToOsdkObjects/getDollarLink.ts","../../src/object/convertWireToOsdkObjects/createOsdkObject.ts","../../src/object/convertWireToOsdkObjects.ts","../../src/object/fetchPage.ts"],"names":["__defProp","__export","Action_exports","Attachment_exports","Query_exports","QueryType_exports","getFirstPoint","getLastPoint","invariant","PalantirApiError","augment"],"mappings":"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","file":"chunk-CG25K4WC.js","sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all) __defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nexport { __export };","import { symbolClientContext } from '@osdk/shared.client';\nimport { PalantirApiError, UnknownError } from '@osdk/shared.net.errors';\n\n// src/foundryPlatformFetch.ts\nasync function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {\n const path = origPath.replace(/\\{([^}]+)\\}/g, () => encodeURIComponent(args.shift()));\n const body = flags & 1 ? args.shift() : void 0;\n const queryArgs = flags & 2 ? args.shift() : void 0;\n const headerArgs = flags & 4 ? args.shift() : void 0;\n const method = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\"][httpMethodNum];\n return await apiFetch(client[symbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);\n}\nasync function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {\n const url = new URL(`/api${endpointPath}`, clientCtx.baseUrl);\n for (const [key, value] of Object.entries(queryArguments || {})) {\n if (value == null) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n url.searchParams.append(key, item);\n }\n } else {\n url.searchParams.append(key, value);\n }\n }\n const headersInit = new Headers();\n headersInit.set(\"Content-Type\", requestMediaType ?? \"application/json\");\n headersInit.set(\"Accept\", responseMediaType ?? \"application/json\");\n Object.entries(headers || {}).forEach(([key, value]) => {\n if (value != null) {\n headersInit.append(key, value.toString());\n }\n });\n const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);\n const response = await clientCtx.fetch(url.toString(), {\n body,\n method,\n headers: headersInit\n });\n if (!response.ok) {\n try {\n const convertedError = await response.json();\n return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);\n } catch (e) {\n if (e instanceof Error) {\n return new UnknownError(e.message, \"UNKNOWN\");\n }\n return new UnknownError(\"Unable to parse error response\", \"UNKNOWN\");\n }\n }\n if (response.status === 204) {\n return;\n }\n if (responseMediaType == null || responseMediaType === \"application/json\") {\n return await response.json();\n }\n return response.blob();\n}\nexport { foundryPlatformFetch };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Branch.ts\nvar Branch_exports = {};\n__export(Branch_exports, {\n createBranch: () => createBranch,\n deleteBranch: () => deleteBranch,\n getBranch: () => getBranch,\n listBranches: () => listBranches\n});\nvar _createBranch = [1, \"/v1/datasets/{0}/branches\", 1];\nfunction createBranch($ctx, ...args) {\n return foundryPlatformFetch($ctx, _createBranch, ...args);\n}\nvar _getBranch = [0, \"/v1/datasets/{0}/branches/{1}\"];\nfunction getBranch($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getBranch, ...args);\n}\nvar _deleteBranch = [3, \"/v1/datasets/{0}/branches/{1}\"];\nfunction deleteBranch($ctx, ...args) {\n return foundryPlatformFetch($ctx, _deleteBranch, ...args);\n}\nvar _listBranches = [0, \"/v1/datasets/{0}/branches\", 2];\nfunction listBranches($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listBranches, ...args);\n}\nexport { Branch_exports, createBranch, deleteBranch, getBranch, listBranches };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Dataset.ts\nvar Dataset_exports = {};\n__export(Dataset_exports, {\n createDataset: () => createDataset,\n deleteSchema: () => deleteSchema,\n getDataset: () => getDataset,\n getSchema: () => getSchema,\n putSchema: () => putSchema,\n readTable: () => readTable\n});\nvar _createDataset = [1, \"/v1/datasets\", 1];\nfunction createDataset($ctx, ...args) {\n return foundryPlatformFetch($ctx, _createDataset, ...args);\n}\nvar _getDataset = [0, \"/v1/datasets/{0}\"];\nfunction getDataset($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getDataset, ...args);\n}\nvar _readTable = [0, \"/v1/datasets/{0}/readTable\", 2,, \"*/*\"];\nfunction readTable($ctx, ...args) {\n return foundryPlatformFetch($ctx, _readTable, ...args);\n}\nvar _putSchema = [2, \"/v1/datasets/{0}/schema\", 3];\nfunction putSchema($ctx, ...args) {\n return foundryPlatformFetch($ctx, _putSchema, ...args);\n}\nvar _getSchema = [0, \"/v1/datasets/{0}/schema\", 2];\nfunction getSchema($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getSchema, ...args);\n}\nvar _deleteSchema = [3, \"/v1/datasets/{0}/schema\", 2];\nfunction deleteSchema($ctx, ...args) {\n return foundryPlatformFetch($ctx, _deleteSchema, ...args);\n}\nexport { Dataset_exports, createDataset, deleteSchema, getDataset, getSchema, putSchema, readTable };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/File.ts\nvar File_exports = {};\n__export(File_exports, {\n deleteFile: () => deleteFile,\n getFileContent: () => getFileContent,\n getFileMetadata: () => getFileMetadata,\n listFiles: () => listFiles,\n uploadFile: () => uploadFile\n});\nvar _listFiles = [0, \"/v1/datasets/{0}/files\", 2];\nfunction listFiles($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listFiles, ...args);\n}\nvar _uploadFile = [1, \"/v1/datasets/{0}/files:upload\", 3, \"*/*\"];\nfunction uploadFile($ctx, ...args) {\n return foundryPlatformFetch($ctx, _uploadFile, ...args);\n}\nvar _getFileMetadata = [0, \"/v1/datasets/{0}/files/{1}\", 2];\nfunction getFileMetadata($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getFileMetadata, ...args);\n}\nvar _deleteFile = [3, \"/v1/datasets/{0}/files/{1}\", 2];\nfunction deleteFile($ctx, ...args) {\n return foundryPlatformFetch($ctx, _deleteFile, ...args);\n}\nvar _getFileContent = [0, \"/v1/datasets/{0}/files/{1}/content\", 2,, \"*/*\"];\nfunction getFileContent($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getFileContent, ...args);\n}\nexport { File_exports, deleteFile, getFileContent, getFileMetadata, listFiles, uploadFile };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Transaction.ts\nvar Transaction_exports = {};\n__export(Transaction_exports, {\n abortTransaction: () => abortTransaction,\n commitTransaction: () => commitTransaction,\n createTransaction: () => createTransaction,\n getTransaction: () => getTransaction\n});\nvar _createTransaction = [1, \"/v1/datasets/{0}/transactions\", 3];\nfunction createTransaction($ctx, ...args) {\n return foundryPlatformFetch($ctx, _createTransaction, ...args);\n}\nvar _getTransaction = [0, \"/v1/datasets/{0}/transactions/{1}\"];\nfunction getTransaction($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getTransaction, ...args);\n}\nvar _commitTransaction = [1, \"/v1/datasets/{0}/transactions/{1}/commit\"];\nfunction commitTransaction($ctx, ...args) {\n return foundryPlatformFetch($ctx, _commitTransaction, ...args);\n}\nvar _abortTransaction = [1, \"/v1/datasets/{0}/transactions/{1}/abort\"];\nfunction abortTransaction($ctx, ...args) {\n return foundryPlatformFetch($ctx, _abortTransaction, ...args);\n}\nexport { Transaction_exports, abortTransaction, commitTransaction, createTransaction, getTransaction };","var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all) __defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nexport { __export };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/QueryType.ts\nvar QueryType_exports = {};\n__export(QueryType_exports, {\n getQueryType: () => getQueryType,\n listQueryTypes: () => listQueryTypes\n});\nvar _listQueryTypes = [0, \"/v1/ontologies/{0}/queryTypes\", 2];\nfunction listQueryTypes($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listQueryTypes, ...args);\n}\nvar _getQueryType = [0, \"/v1/ontologies/{0}/queryTypes/{1}\"];\nfunction getQueryType($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getQueryType, ...args);\n}\nexport { QueryType_exports, getQueryType, listQueryTypes };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Action.ts\nvar Action_exports = {};\n__export(Action_exports, {\n applyAction: () => applyAction,\n applyActionAsync: () => applyActionAsync,\n applyActionBatch: () => applyActionBatch,\n getAsyncActionStatus: () => getAsyncActionStatus,\n validateAction: () => validateAction\n});\nvar _applyAction = [1, \"/v1/ontologies/{0}/actions/{1}/apply\", 1];\nfunction applyAction($ctx, ...args) {\n return foundryPlatformFetch($ctx, _applyAction, ...args);\n}\nvar _applyActionBatch = [1, \"/v1/ontologies/{0}/actions/{1}/applyBatch\", 1];\nfunction applyActionBatch($ctx, ...args) {\n return foundryPlatformFetch($ctx, _applyActionBatch, ...args);\n}\nvar _applyActionAsync = [1, \"/v1/ontologies/{0}/actions/{1}/applyAsync\", 3];\nfunction applyActionAsync($ctx, ...args) {\n return foundryPlatformFetch($ctx, _applyActionAsync, ...args);\n}\nvar _getAsyncActionStatus = [0, \"/v1/ontologies/{0}/actions/{1}/applyAsync/{2}\", 2];\nfunction getAsyncActionStatus($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAsyncActionStatus, ...args);\n}\nvar _validateAction = [1, \"/v1/ontologies/{0}/actions/{1}/validate\", 1];\nfunction validateAction($ctx, ...args) {\n return foundryPlatformFetch($ctx, _validateAction, ...args);\n}\nexport { Action_exports, applyAction, applyActionAsync, applyActionBatch, getAsyncActionStatus, validateAction };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/ActionType.ts\nvar ActionType_exports = {};\n__export(ActionType_exports, {\n getActionType: () => getActionType,\n listActionTypes: () => listActionTypes\n});\nvar _listActionTypes = [0, \"/v1/ontologies/{0}/actionTypes\", 2];\nfunction listActionTypes($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listActionTypes, ...args);\n}\nvar _getActionType = [0, \"/v1/ontologies/{0}/actionTypes/{1}\"];\nfunction getActionType($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getActionType, ...args);\n}\nexport { ActionType_exports, getActionType, listActionTypes };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Attachment.ts\nvar Attachment_exports = {};\n__export(Attachment_exports, {\n getAttachment: () => getAttachment,\n getAttachmentContent: () => getAttachmentContent,\n uploadAttachment: () => uploadAttachment\n});\nvar _uploadAttachment = [1, \"/v1/attachments/upload\", 7, \"*/*\"];\nfunction uploadAttachment($ctx, ...args) {\n const headerParams = {\n ...args[2],\n \"Content-Type\": args[2]?.[\"Content-Type\"] ?? args[0].type,\n \"Content-Length\": args[0].size.toString()\n };\n return foundryPlatformFetch($ctx, _uploadAttachment, args[0], args[1], headerParams);\n}\nvar _getAttachmentContent = [0, \"/v1/attachments/{0}/content\",,, \"*/*\"];\nfunction getAttachmentContent($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachmentContent, ...args);\n}\nvar _getAttachment = [0, \"/v1/attachments/{0}\"];\nfunction getAttachment($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachment, ...args);\n}\nexport { Attachment_exports, getAttachment, getAttachmentContent, uploadAttachment };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/ObjectType.ts\nvar ObjectType_exports = {};\n__export(ObjectType_exports, {\n getObjectType: () => getObjectType,\n getOutgoingLinkType: () => getOutgoingLinkType,\n listObjectTypes: () => listObjectTypes,\n listOutgoingLinkTypes: () => listOutgoingLinkTypes\n});\nvar _listObjectTypes = [0, \"/v1/ontologies/{0}/objectTypes\", 2];\nfunction listObjectTypes($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listObjectTypes, ...args);\n}\nvar _getObjectType = [0, \"/v1/ontologies/{0}/objectTypes/{1}\"];\nfunction getObjectType($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getObjectType, ...args);\n}\nvar _listOutgoingLinkTypes = [0, \"/v1/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes\", 2];\nfunction listOutgoingLinkTypes($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listOutgoingLinkTypes, ...args);\n}\nvar _getOutgoingLinkType = [0, \"/v1/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes/{2}\"];\nfunction getOutgoingLinkType($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getOutgoingLinkType, ...args);\n}\nexport { ObjectType_exports, getObjectType, getOutgoingLinkType, listObjectTypes, listOutgoingLinkTypes };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Ontology.ts\nvar Ontology_exports = {};\n__export(Ontology_exports, {\n getOntology: () => getOntology,\n listOntologies: () => listOntologies\n});\nvar _listOntologies = [0, \"/v1/ontologies\"];\nfunction listOntologies($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listOntologies, ...args);\n}\nvar _getOntology = [0, \"/v1/ontologies/{0}\"];\nfunction getOntology($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getOntology, ...args);\n}\nexport { Ontology_exports, getOntology, listOntologies };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/OntologyObject.ts\nvar OntologyObject_exports = {};\n__export(OntologyObject_exports, {\n aggregateObjects: () => aggregateObjects,\n getLinkedObject: () => getLinkedObject,\n getObject: () => getObject,\n listLinkedObjects: () => listLinkedObjects,\n listObjects: () => listObjects,\n searchObjects: () => searchObjects\n});\nvar _listObjects = [0, \"/v1/ontologies/{0}/objects/{1}\", 2];\nfunction listObjects($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listObjects, ...args);\n}\nvar _getObject = [0, \"/v1/ontologies/{0}/objects/{1}/{2}\", 2];\nfunction getObject($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getObject, ...args);\n}\nvar _listLinkedObjects = [0, \"/v1/ontologies/{0}/objects/{1}/{2}/links/{3}\", 2];\nfunction listLinkedObjects($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listLinkedObjects, ...args);\n}\nvar _getLinkedObject = [0, \"/v1/ontologies/{0}/objects/{1}/{2}/links/{3}/{4}\", 2];\nfunction getLinkedObject($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getLinkedObject, ...args);\n}\nvar _searchObjects = [1, \"/v1/ontologies/{0}/objects/{1}/search\", 1];\nfunction searchObjects($ctx, ...args) {\n return foundryPlatformFetch($ctx, _searchObjects, ...args);\n}\nvar _aggregateObjects = [1, \"/v1/ontologies/{0}/objects/{1}/aggregate\", 1];\nfunction aggregateObjects($ctx, ...args) {\n return foundryPlatformFetch($ctx, _aggregateObjects, ...args);\n}\nexport { OntologyObject_exports, aggregateObjects, getLinkedObject, getObject, listLinkedObjects, listObjects, searchObjects };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Query.ts\nvar Query_exports = {};\n__export(Query_exports, {\n executeQuery: () => executeQuery\n});\nvar _executeQuery = [1, \"/v1/ontologies/{0}/queries/{1}/execute\", 1];\nfunction executeQuery($ctx, ...args) {\n return foundryPlatformFetch($ctx, _executeQuery, ...args);\n}\nexport { Query_exports, executeQuery };","export { OntologyObjectSet_exports as OntologyObjectSets } from './chunk-CTA4DXZF.js';\nexport { OntologyObjectV2_exports as OntologyObjectsV2 } from './chunk-U76D6BOW.js';\nexport { OntologyV2_exports as OntologiesV2 } from './chunk-35VM6XLH.js';\nexport { Query_exports as Queries } from './chunk-UFJTKRQC.js';\nexport { QueryType_exports as QueryTypes } from './chunk-GWYI4RKT.js';\nexport { TimeSeriesPropertyV2_exports as TimeSeriesPropertiesV2 } from './chunk-KQNF55S5.js';\nexport { Action_exports as Actions } from './chunk-A2ZEBCGI.js';\nexport { ActionTypeV2_exports as ActionTypesV2 } from './chunk-VCCTOHYG.js';\nexport { Attachment_exports as Attachments } from './chunk-EFVOGNPX.js';\nexport { AttachmentPropertyV2_exports as AttachmentPropertiesV2 } from './chunk-3H3SHEFA.js';\nexport { LinkedObjectV2_exports as LinkedObjectsV2 } from './chunk-4TOWICL3.js';\nexport { ObjectTypeV2_exports as ObjectTypesV2 } from './chunk-ZNHKEV4X.js';\nexport { OntologyInterface_exports as OntologyInterfaces } from './chunk-OBKC7XBM.js';\nimport './chunk-PZ5AY32C.js';","var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all) __defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nexport { __export };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/OntologyObjectSet.ts\nvar OntologyObjectSet_exports = {};\n__export(OntologyObjectSet_exports, {\n aggregateObjectSetV2: () => aggregateObjectSetV2,\n createTemporaryObjectSetV2: () => createTemporaryObjectSetV2,\n getObjectSetV2: () => getObjectSetV2,\n loadObjectSetV2: () => loadObjectSetV2\n});\nvar _createTemporaryObjectSetV2 = [1, \"/v2/ontologies/{0}/objectSets/createTemporary\", 1];\nfunction createTemporaryObjectSetV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _createTemporaryObjectSetV2, ...args);\n}\nvar _getObjectSetV2 = [0, \"/v2/ontologies/{0}/objectSets/{1}\"];\nfunction getObjectSetV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getObjectSetV2, ...args);\n}\nvar _loadObjectSetV2 = [1, \"/v2/ontologies/{0}/objectSets/loadObjects\", 3];\nfunction loadObjectSetV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _loadObjectSetV2, ...args);\n}\nvar _aggregateObjectSetV2 = [1, \"/v2/ontologies/{0}/objectSets/aggregate\", 3];\nfunction aggregateObjectSetV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _aggregateObjectSetV2, ...args);\n}\nexport { OntologyObjectSet_exports, aggregateObjectSetV2, createTemporaryObjectSetV2, getObjectSetV2, loadObjectSetV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/OntologyObjectV2.ts\nvar OntologyObjectV2_exports = {};\n__export(OntologyObjectV2_exports, {\n aggregateObjectsV2: () => aggregateObjectsV2,\n countObjects: () => countObjects,\n getObjectV2: () => getObjectV2,\n listObjectsV2: () => listObjectsV2,\n searchObjectsV2: () => searchObjectsV2\n});\nvar _listObjectsV2 = [0, \"/v2/ontologies/{0}/objects/{1}\", 2];\nfunction listObjectsV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listObjectsV2, ...args);\n}\nvar _getObjectV2 = [0, \"/v2/ontologies/{0}/objects/{1}/{2}\", 2];\nfunction getObjectV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getObjectV2, ...args);\n}\nvar _countObjects = [1, \"/v2/ontologies/{0}/objects/{1}/count\", 2];\nfunction countObjects($ctx, ...args) {\n return foundryPlatformFetch($ctx, _countObjects, ...args);\n}\nvar _searchObjectsV2 = [1, \"/v2/ontologies/{0}/objects/{1}/search\", 3];\nfunction searchObjectsV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _searchObjectsV2, ...args);\n}\nvar _aggregateObjectsV2 = [1, \"/v2/ontologies/{0}/objects/{1}/aggregate\", 3];\nfunction aggregateObjectsV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _aggregateObjectsV2, ...args);\n}\nexport { OntologyObjectV2_exports, aggregateObjectsV2, countObjects, getObjectV2, listObjectsV2, searchObjectsV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/OntologyV2.ts\nvar OntologyV2_exports = {};\n__export(OntologyV2_exports, {\n getOntologyFullMetadata: () => getOntologyFullMetadata,\n getOntologyV2: () => getOntologyV2,\n listOntologiesV2: () => listOntologiesV2\n});\nvar _listOntologiesV2 = [0, \"/v2/ontologies\"];\nfunction listOntologiesV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listOntologiesV2, ...args);\n}\nvar _getOntologyV2 = [0, \"/v2/ontologies/{0}\"];\nfunction getOntologyV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getOntologyV2, ...args);\n}\nvar _getOntologyFullMetadata = [0, \"/v2/ontologies/{0}/fullMetadata\"];\nfunction getOntologyFullMetadata($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getOntologyFullMetadata, ...args);\n}\nexport { OntologyV2_exports, getOntologyFullMetadata, getOntologyV2, listOntologiesV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Query.ts\nvar Query_exports = {};\n__export(Query_exports, {\n executeQueryV2: () => executeQueryV2\n});\nvar _executeQueryV2 = [1, \"/v2/ontologies/{0}/queries/{1}/execute\", 3];\nfunction executeQueryV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _executeQueryV2, ...args);\n}\nexport { Query_exports, executeQueryV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/QueryType.ts\nvar QueryType_exports = {};\n__export(QueryType_exports, {\n getQueryTypeV2: () => getQueryTypeV2,\n listQueryTypesV2: () => listQueryTypesV2\n});\nvar _listQueryTypesV2 = [0, \"/v2/ontologies/{0}/queryTypes\", 2];\nfunction listQueryTypesV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listQueryTypesV2, ...args);\n}\nvar _getQueryTypeV2 = [0, \"/v2/ontologies/{0}/queryTypes/{1}\"];\nfunction getQueryTypeV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getQueryTypeV2, ...args);\n}\nexport { QueryType_exports, getQueryTypeV2, listQueryTypesV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/TimeSeriesPropertyV2.ts\nvar TimeSeriesPropertyV2_exports = {};\n__export(TimeSeriesPropertyV2_exports, {\n getFirstPoint: () => getFirstPoint,\n getLastPoint: () => getLastPoint,\n streamPoints: () => streamPoints\n});\nvar _getFirstPoint = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/firstPoint\", 2];\nfunction getFirstPoint($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getFirstPoint, ...args);\n}\nvar _getLastPoint = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/lastPoint\", 2];\nfunction getLastPoint($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getLastPoint, ...args);\n}\nvar _streamPoints = [1, \"/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/streamPoints\", 3,, \"*/*\"];\nfunction streamPoints($ctx, ...args) {\n return foundryPlatformFetch($ctx, _streamPoints, ...args);\n}\nexport { TimeSeriesPropertyV2_exports, getFirstPoint, getLastPoint, streamPoints };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Action.ts\nvar Action_exports = {};\n__export(Action_exports, {\n applyActionAsyncV2: () => applyActionAsyncV2,\n applyActionBatchV2: () => applyActionBatchV2,\n applyActionV2: () => applyActionV2\n});\nvar _applyActionV2 = [1, \"/v2/ontologies/{0}/actions/{1}/apply\", 3];\nfunction applyActionV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _applyActionV2, ...args);\n}\nvar _applyActionAsyncV2 = [1, \"/v2/ontologies/{0}/actions/{1}/applyAsync\", 3];\nfunction applyActionAsyncV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _applyActionAsyncV2, ...args);\n}\nvar _applyActionBatchV2 = [1, \"/v2/ontologies/{0}/actions/{1}/applyBatch\", 3];\nfunction applyActionBatchV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _applyActionBatchV2, ...args);\n}\nexport { Action_exports, applyActionAsyncV2, applyActionBatchV2, applyActionV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/ActionTypeV2.ts\nvar ActionTypeV2_exports = {};\n__export(ActionTypeV2_exports, {\n getActionTypeV2: () => getActionTypeV2,\n listActionTypesV2: () => listActionTypesV2\n});\nvar _listActionTypesV2 = [0, \"/v2/ontologies/{0}/actionTypes\", 2];\nfunction listActionTypesV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listActionTypesV2, ...args);\n}\nvar _getActionTypeV2 = [0, \"/v2/ontologies/{0}/actionTypes/{1}\"];\nfunction getActionTypeV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getActionTypeV2, ...args);\n}\nexport { ActionTypeV2_exports, getActionTypeV2, listActionTypesV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/Attachment.ts\nvar Attachment_exports = {};\n__export(Attachment_exports, {\n getAttachmentContentV2: () => getAttachmentContentV2,\n getAttachmentV2: () => getAttachmentV2,\n uploadAttachmentV2: () => uploadAttachmentV2\n});\nvar _uploadAttachmentV2 = [1, \"/v2/ontologies/attachments/upload\", 7, \"*/*\"];\nfunction uploadAttachmentV2($ctx, ...args) {\n const headerParams = {\n ...args[2],\n \"Content-Type\": args[2]?.[\"Content-Type\"] ?? args[0].type,\n \"Content-Length\": args[0].size.toString()\n };\n return foundryPlatformFetch($ctx, _uploadAttachmentV2, args[0], args[1], headerParams);\n}\nvar _getAttachmentContentV2 = [0, \"/v2/ontologies/attachments/{0}/content\",,, \"*/*\"];\nfunction getAttachmentContentV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachmentContentV2, ...args);\n}\nvar _getAttachmentV2 = [0, \"/v2/ontologies/attachments/{0}\"];\nfunction getAttachmentV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachmentV2, ...args);\n}\nexport { Attachment_exports, getAttachmentContentV2, getAttachmentV2, uploadAttachmentV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/AttachmentPropertyV2.ts\nvar AttachmentPropertyV2_exports = {};\n__export(AttachmentPropertyV2_exports, {\n getAttachmentPropertyByRidV2: () => getAttachmentPropertyByRidV2,\n getAttachmentPropertyContentByRidV2: () => getAttachmentPropertyContentByRidV2,\n getAttachmentPropertyContentV2: () => getAttachmentPropertyContentV2,\n listPropertyAttachments: () => listPropertyAttachments\n});\nvar _listPropertyAttachments = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}\", 2];\nfunction listPropertyAttachments($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listPropertyAttachments, ...args);\n}\nvar _getAttachmentPropertyByRidV2 = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/{4}\", 2];\nfunction getAttachmentPropertyByRidV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachmentPropertyByRidV2, ...args);\n}\nvar _getAttachmentPropertyContentV2 = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/content\", 2,, \"*/*\"];\nfunction getAttachmentPropertyContentV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachmentPropertyContentV2, ...args);\n}\nvar _getAttachmentPropertyContentByRidV2 = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/{4}/content\", 2,, \"*/*\"];\nfunction getAttachmentPropertyContentByRidV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getAttachmentPropertyContentByRidV2, ...args);\n}\nexport { AttachmentPropertyV2_exports, getAttachmentPropertyByRidV2, getAttachmentPropertyContentByRidV2, getAttachmentPropertyContentV2, listPropertyAttachments };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/LinkedObjectV2.ts\nvar LinkedObjectV2_exports = {};\n__export(LinkedObjectV2_exports, {\n getLinkedObjectV2: () => getLinkedObjectV2,\n listLinkedObjectsV2: () => listLinkedObjectsV2\n});\nvar _listLinkedObjectsV2 = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/links/{3}\", 2];\nfunction listLinkedObjectsV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listLinkedObjectsV2, ...args);\n}\nvar _getLinkedObjectV2 = [0, \"/v2/ontologies/{0}/objects/{1}/{2}/links/{3}/{4}\", 2];\nfunction getLinkedObjectV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getLinkedObjectV2, ...args);\n}\nexport { LinkedObjectV2_exports, getLinkedObjectV2, listLinkedObjectsV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/ObjectTypeV2.ts\nvar ObjectTypeV2_exports = {};\n__export(ObjectTypeV2_exports, {\n getObjectTypeFullMetadata: () => getObjectTypeFullMetadata,\n getObjectTypeV2: () => getObjectTypeV2,\n getOutgoingLinkTypeV2: () => getOutgoingLinkTypeV2,\n listObjectTypesV2: () => listObjectTypesV2,\n listOutgoingLinkTypesV2: () => listOutgoingLinkTypesV2\n});\nvar _listObjectTypesV2 = [0, \"/v2/ontologies/{0}/objectTypes\", 2];\nfunction listObjectTypesV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listObjectTypesV2, ...args);\n}\nvar _getObjectTypeV2 = [0, \"/v2/ontologies/{0}/objectTypes/{1}\"];\nfunction getObjectTypeV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getObjectTypeV2, ...args);\n}\nvar _getObjectTypeFullMetadata = [0, \"/v2/ontologies/{0}/objectTypes/{1}/fullMetadata\", 2];\nfunction getObjectTypeFullMetadata($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getObjectTypeFullMetadata, ...args);\n}\nvar _listOutgoingLinkTypesV2 = [0, \"/v2/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes\", 2];\nfunction listOutgoingLinkTypesV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listOutgoingLinkTypesV2, ...args);\n}\nvar _getOutgoingLinkTypeV2 = [0, \"/v2/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes/{2}\"];\nfunction getOutgoingLinkTypeV2($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getOutgoingLinkTypeV2, ...args);\n}\nexport { ObjectTypeV2_exports, getObjectTypeFullMetadata, getObjectTypeV2, getOutgoingLinkTypeV2, listObjectTypesV2, listOutgoingLinkTypesV2 };","import { __export } from './chunk-PZ5AY32C.js';\nimport { foundryPlatformFetch } from '@osdk/shared.net.platformapi';\n\n// src/public/OntologyInterface.ts\nvar OntologyInterface_exports = {};\n__export(OntologyInterface_exports, {\n aggregateObjectsForInterface: () => aggregateObjectsForInterface,\n getInterfaceType: () => getInterfaceType,\n listInterfaceTypes: () => listInterfaceTypes,\n searchObjectsForInterface: () => searchObjectsForInterface\n});\nvar _listInterfaceTypes = [0, \"/v2/ontologies/{0}/interfaceTypes\", 2];\nfunction listInterfaceTypes($ctx, ...args) {\n return foundryPlatformFetch($ctx, _listInterfaceTypes, ...args);\n}\nvar _getInterfaceType = [0, \"/v2/ontologies/{0}/interfaceTypes/{1}\", 2];\nfunction getInterfaceType($ctx, ...args) {\n return foundryPlatformFetch($ctx, _getInterfaceType, ...args);\n}\nvar _searchObjectsForInterface = [1, \"/v2/ontologies/{0}/interfaces/{1}/search\", 3];\nfunction searchObjectsForInterface($ctx, ...args) {\n return foundryPlatformFetch($ctx, _searchObjectsForInterface, ...args);\n}\nvar _aggregateObjectsForInterface = [1, \"/v2/ontologies/{0}/interfaces/{1}/aggregate\", 3];\nfunction aggregateObjectsForInterface($ctx, ...args) {\n return foundryPlatformFetch($ctx, _aggregateObjectsForInterface, ...args);\n}\nexport { OntologyInterface_exports, aggregateObjectsForInterface, getInterfaceType, listInterfaceTypes, searchObjectsForInterface };","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OntologiesV2 } from \"@osdk/internal.foundry\";\n/**\n * Helper function to create an attachment type from a rid\n * @param client - minimal client\n * @param rid - rid of attachment in Foundry\n * @returns\n */\nexport function createAttachmentFromRid(client, rid) {\n return {\n rid,\n async fetchContents() {\n return OntologiesV2.Attachments.getAttachmentContentV2(client, rid);\n },\n async fetchMetadata() {\n const r = await OntologiesV2.Attachments.getAttachmentV2(client, rid);\n return {\n ...r,\n sizeBytes: Number(r.sizeBytes)\n };\n }\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetchHeaderMutator } from \"@osdk/shared.net.fetch\";\nexport const addUserAgentAndRequestContextHeaders = (client, withMetadata) => ({\n ...client,\n fetch: createFetchHeaderMutator(client.fetch, headers => {\n headers.set(\"X-OSDK-Request-Context\", JSON.stringify(client.requestContext));\n if (withMetadata.osdkMetadata) {\n headers.set(\"Fetch-User-Agent\", withMetadata.osdkMetadata.extraUserAgent);\n }\n return headers;\n })\n});","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst START_TOKEN = new Uint8Array([123, 34, 100, 97, 116, 97, 34, 58, 91]); // `{\"data\":[`\nconst OBJECT_OPEN_CHAR_CODE = 123; // '{'\nconst OBJECT_CLOSE_CHAR_CODE = 125; // '}'\n\nexport async function* parseStreamedResponse(asyncIterable) {\n const utf8decoder = new TextDecoder(\"utf-8\");\n let parsedStart = false;\n let prevChunks = [];\n let openBracesCount = 0;\n for await (let chunk of asyncIterable) {\n // on the first chunk, skip the expected START_TOKEN if we see it\n let i = 0;\n if (!parsedStart) {\n parsedStart = true;\n if (startsWith(chunk, START_TOKEN)) {\n i = START_TOKEN.length;\n }\n }\n for (; i < chunk.length; i++) {\n // if we aren't currently parsing an object, skip until we find the next object start\n while (openBracesCount === 0 && chunk[i] !== OBJECT_OPEN_CHAR_CODE && i < chunk.length) {\n i++;\n }\n\n // iterate through the chunk looking for the end of the current top level object\n let j = i;\n for (; j < chunk.length; j++) {\n const c = chunk[j];\n if (c === OBJECT_OPEN_CHAR_CODE) {\n openBracesCount++;\n } else if (c === OBJECT_CLOSE_CHAR_CODE) {\n openBracesCount--;\n\n // found a complete top level object, emit it\n if (0 === openBracesCount) {\n yield combineAndParse(utf8decoder, prevChunks, chunk.subarray(i, j + 1));\n\n // if there was a prevChunk, we've consumed it now\n prevChunks = [];\n\n // advance the start index to the final '}' of the current object,\n // which lets us start seeking the beginning of the next object\n i = j;\n break;\n }\n }\n }\n\n // if we reached the end of our chunk before finding the end of the object\n // store off the relevant remainder of our current chunk and go grab the next one\n if (j === chunk.length) {\n prevChunks.push(chunk.subarray(i));\n break;\n }\n }\n }\n}\nfunction startsWith(a, b) {\n if (a.length < b.length) {\n return false;\n }\n for (let i = 0; i < b.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nfunction combineAndParse(utf8decoder, prev, curr) {\n let str = \"\";\n for (const chunk of prev) {\n str += utf8decoder.decode(chunk, {\n stream: true\n });\n }\n str += utf8decoder.decode(curr);\n return JSON.parse(str);\n}\nexport async function* iterateReadableStream(readableStream) {\n let res = await readableStream.read();\n while (!res.done) {\n yield res.value;\n res = await readableStream.read();\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { TimeseriesDurationMapping, TimeSeriesProperty } from \"@osdk/client.api\";\nimport { OntologiesV2 } from \"@osdk/internal.foundry\";\nimport { iterateReadableStream, parseStreamedResponse } from \"./util/streamutils.js\";\nexport function createTimeseriesProperty(client, objectApiName, primaryKey, propertyName) {\n const getFirstPoint = async () => {\n return OntologiesV2.TimeSeriesPropertiesV2.getFirstPoint(client, await client.ontologyRid, objectApiName, primaryKey, propertyName);\n };\n const getLastPoint = async () => {\n return OntologiesV2.TimeSeriesPropertiesV2.getLastPoint(client, await client.ontologyRid, objectApiName, primaryKey, propertyName);\n };\n const getAllPoints = async query => {\n return getAllTimeSeriesPoints(client, objectApiName, primaryKey, propertyName, query);\n };\n const asyncIterPoints = query => {\n return iterateTimeSeriesPoints(client, objectApiName, primaryKey, propertyName, query);\n };\n return new TimeSeriesProperty(getFirstPoint, getLastPoint, getAllPoints, asyncIterPoints);\n}\nasync function getAllTimeSeriesPoints(client, objectApiName, primaryKey, propertyName, body) {\n const allPoints = [];\n for await (const point of iterateTimeSeriesPoints(client, objectApiName, primaryKey, propertyName, body)) {\n allPoints.push({\n time: point.time,\n value: point.value\n });\n }\n return allPoints;\n}\nasync function* iterateTimeSeriesPoints(client, objectApiName, primaryKey, propertyName, body) {\n const utf8decoder = new TextDecoder(\"utf-8\");\n const streamPointsIterator = await OntologiesV2.TimeSeriesPropertiesV2.streamPoints(client, await client.ontologyRid, objectApiName, primaryKey, propertyName, body ? {\n range: getTimeRange(body)\n } : {});\n const reader = streamPointsIterator.stream().getReader();\n for await (const point of parseStreamedResponse(iterateReadableStream(reader))) {\n yield {\n time: point.time,\n value: point.value\n };\n }\n}\nfunction getTimeRange(body) {\n if (\"$startTime\" in body || \"$endTime\" in body) {\n return {\n type: \"absolute\",\n startTime: body.$startTime,\n endTime: body.$endTime\n };\n }\n return body.$before ? {\n type: \"relative\",\n startTime: {\n when: \"BEFORE\",\n value: body.$before,\n unit: TimeseriesDurationMapping[body.$unit]\n }\n } : {\n type: \"relative\",\n endTime: {\n when: \"AFTER\",\n value: body.$after,\n unit: TimeseriesDurationMapping[body.$unit]\n }\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A simple cache that can be used to store values for a given client.\n */\n\n/**\n * @internal\n * A simple async cache that can be used to store values for a given client.\n */\n\n/** @internal */\n\n/**\n * @internal\n * Create a new cache without a factory function.\n */\n\n/**\n * @internal\n * Create a new cache with a factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n */\n\nexport function createClientCache(fn) {\n const cache = new WeakMap();\n function get(client, key) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n let r = cache.get(client.clientCacheKey).get(key);\n if (r === undefined && fn !== undefined) {\n return set(client, key, fn(client, key));\n } else {\n return r;\n }\n }\n function set(client, key, value) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n cache.get(client.clientCacheKey).set(key, value);\n return value;\n }\n function remove(client, key) {\n if (cache.get(client.clientCacheKey) == null) return false;\n return cache.get(client.clientCacheKey).delete(key);\n }\n return {\n get,\n set,\n remove\n };\n}\n\n/** @internal */\n\n/**\n * @internal\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\nexport function createAsyncClientCache(fn, createCacheLocal = createClientCache) {\n const cache = createCacheLocal();\n const inProgress = createCacheLocal();\n const ret = {\n getOrUndefined: function getOrUndefined(client, key) {\n return cache.get(client, key);\n },\n get: async function get(client, key) {\n return cache.get(client, key) ?? inProgress.get(client, key) ?? ret.set(client, key, fn(client, key));\n },\n set: async function set(client, k, v) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(client, k, v); // returns v\n\n cache.set(client, k, r);\n inProgress.remove(client, k);\n return r;\n } catch (e) {\n // we don't want to cache failures\n inProgress.remove(client, k);\n throw e;\n }\n }\n };\n return ret;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const InterfaceDefinitions = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinitions\" : undefined);","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A simple cache that can be used to store values for a given client.\n */\n\n/**\n * Create a new cache with a factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n */\n\n/**\n * Create a new cache without a factory function.\n */\n\nexport function createSimpleCache(map = new Map(), fn) {\n function get(key) {\n let r = map.get(key);\n if (r === undefined && fn !== undefined) {\n return set(key, fn(key));\n } else {\n return r;\n }\n }\n function set(key, value) {\n map.set(key, value);\n return value;\n }\n function remove(key) {\n return map.delete(key);\n }\n return {\n get,\n set,\n remove\n };\n}\n/**\n * A simple async cache that can be used to store values for a given client.\n */\n\n/**\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\n\nexport function createSimpleAsyncCache(type, fn, createCacheLocal = createSimpleCache) {\n const cache = createCacheLocal(type === \"weak\" ? new WeakMap() : new Map());\n const inProgress = createCacheLocal(type === \"weak\" ? new WeakMap() : new Map());\n const ret = {\n getOrUndefined: function getOrUndefined(key) {\n return cache.get(key);\n },\n get: async function get(key) {\n return cache.get(key) ?? inProgress.get(key) ?? ret.set(key, fn(key));\n },\n set: async function set(k, v) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(k, v); // returns v\n\n cache.set(k, r);\n inProgress.remove(k);\n return r;\n } catch (e) {\n // we don't want to cache failures\n inProgress.remove(k);\n throw e;\n }\n }\n };\n return ret;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const UnderlyingOsdkObject = Symbol(process.env.MODE !== \"production\" ? \"Underlying Object\" : undefined);\nexport const ObjectDefRef = Symbol(process.env.MODE !== \"production\" ? \"ObjectDefinition\" : undefined);\nexport const InterfaceDefRef = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinition\" : undefined);\n\n/** A symbol for getting the raw data object off of the holder an osdk object proxy points to */\nexport const RawObject = Symbol(process.env.MODE !== \"production\" ? \"RawObject\" : undefined);\nexport const ClientRef = Symbol(process.env.MODE !== \"production\" ? \"ClientRef\" : undefined);","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createSimpleCache } from \"../SimpleCache.js\";\nimport { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nconst handlerCache = createSimpleCache(new WeakMap(), createInterfaceProxyHandler);\n\n/** @internal */\nexport function createOsdkInterface(underlying, interfaceDef) {\n const interfaceHolder = {\n [UnderlyingOsdkObject]: underlying,\n [InterfaceDefRef]: interfaceDef\n };\n const handler = handlerCache.get(interfaceDef);\n const proxy = new Proxy(interfaceHolder,\n // the wrapper doesn't contain everything obviously. we proxy\n handler);\n return proxy;\n}\nfunction createInterfaceProxyHandler(newDef) {\n return {\n getOwnPropertyDescriptor(target, p) {\n const underlying = target[UnderlyingOsdkObject];\n const objDef = underlying[ObjectDefRef];\n switch (p) {\n case \"$primaryKey\":\n case \"$title\":\n case \"$objectType\":\n case \"$rid\":\n return underlying[p] != null ? Reflect.getOwnPropertyDescriptor(underlying, p) : undefined;\n case \"$apiName\":\n return {\n enumerable: true,\n configurable: true,\n value: target[InterfaceDefRef].apiName\n };\n }\n if (newDef.properties[p] != null) {\n return {\n enumerable: true,\n configurable: true,\n value: underlying[objDef.interfaceMap[newDef.apiName][p]]\n };\n }\n },\n ownKeys(target) {\n const underlying = target[UnderlyingOsdkObject];\n return [\"$apiName\", \"$objectType\", \"$primaryKey\", ...(underlying[\"$rid\"] ? [\"$rid\"] : []), \"$title\", ...Object.keys(newDef.properties)];\n },\n get(target, p) {\n const underlying = target[UnderlyingOsdkObject];\n switch (p) {\n case InterfaceDefRef:\n return newDef;\n case \"$apiName\":\n return newDef.apiName;\n case \"$as\":\n case UnderlyingOsdkObject:\n case \"$primaryKey\":\n case \"$title\":\n case \"$objectType\":\n case \"$rid\":\n return underlying[p];\n }\n if (newDef.properties[p] != null) {\n const objDef = target[UnderlyingOsdkObject][ObjectDefRef];\n return underlying[objDef.interfaceMap[newDef.apiName][p]];\n }\n }\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InterfaceDefinitions } from \"../../ontology/OntologyProvider.js\";\nimport { createSimpleCache } from \"../SimpleCache.js\";\nimport { createOsdkInterface } from \"./createOsdkInterface.js\";\nimport { UnderlyingOsdkObject } from \"./InternalSymbols.js\";\n\n/** @internal */\n\nexport const get$as = createSimpleCache(new WeakMap(), $asFactory).get;\nconst osdkObjectToInterfaceView = createSimpleCache(new WeakMap(), () => new Map());\nfunction $asFactory(objDef) {\n // We use the exact same logic for both the interface rep and the underlying rep\n return function $as(targetMinDef) {\n let targetInterfaceApiName;\n if (typeof targetMinDef === \"string\") {\n if (targetMinDef === objDef.apiName) {\n return this[UnderlyingOsdkObject];\n }\n\n // this is sufficient to determine if we implement the interface\n if (objDef.interfaceMap?.[targetMinDef] == null) {\n throw new Error(`Object does not implement interface '${targetMinDef}'.`);\n }\n targetInterfaceApiName = targetMinDef;\n } else if (targetMinDef.apiName === objDef.apiName) {\n return this[UnderlyingOsdkObject];\n } else {\n if (targetMinDef.type === \"object\") {\n throw new Error(`'${targetMinDef.apiName}' is not an interface nor is it '${objDef.apiName}', which is the object type.`);\n }\n targetInterfaceApiName = targetMinDef.apiName;\n }\n const def = objDef[InterfaceDefinitions][targetInterfaceApiName];\n if (!def) {\n throw new Error(`Object does not implement interface '${targetMinDef}'.`);\n }\n const underlying = this[UnderlyingOsdkObject];\n const existing = osdkObjectToInterfaceView.get(underlying).get(targetInterfaceApiName);\n if (existing) return existing;\n const osdkInterface = createOsdkInterface(underlying, def.def);\n osdkObjectToInterfaceView.get(underlying).set(targetInterfaceApiName, osdkInterface);\n return osdkInterface;\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DistanceUnitMapping } from \"@osdk/client.api\";\nimport invariant from \"tiny-invariant\";\n\n/** @internal */\nexport function modernToLegacyWhereClause(whereClause) {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: whereClause.$and.map(modernToLegacyWhereClause)\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: whereClause.$or.map(modernToLegacyWhereClause)\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(whereClause.$not)\n };\n }\n const parts = Object.entries(whereClause);\n if (parts.length === 1) {\n return handleWherePair(parts[0]);\n }\n return {\n type: \"and\",\n value: parts.map(handleWherePair)\n };\n}\nfunction makeGeoFilterBbox(field, bbox, filterType) {\n return {\n type: filterType === \"$within\" ? \"withinBoundingBox\" : \"intersectsBoundingBox\",\n field,\n value: {\n topLeft: {\n type: \"Point\",\n coordinates: [bbox[0], bbox[3]]\n },\n bottomRight: {\n type: \"Point\",\n coordinates: [bbox[2], bbox[1]]\n }\n }\n };\n}\nfunction makeGeoFilterPolygon(field, coordinates, filterType) {\n return {\n type: filterType,\n field,\n value: {\n type: \"Polygon\",\n coordinates\n }\n };\n}\nfunction handleWherePair([field, filter]) {\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\" || typeof filter === \"boolean\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n const keysOfFilter = Object.keys(filter);\n\n // If any of the keys start with `$` then they must be the only one.\n // e.g. `where({ name: { $eq: \"foo\", $ne: \"bar\" } })` is invalid currently\n const hasDollarSign = keysOfFilter.some(key => key.startsWith(\"$\"));\n !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple clauses isn't allowed\") : invariant(false) : void 0;\n if (!hasDollarSign) {\n // Future case for structs\n throw new Error(`Unsupported filter. Did you forget to use a $-prefixed filter? (${JSON.stringify(filter)})`);\n }\n const firstKey = keysOfFilter[0];\n !(filter[firstKey] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[firstKey]\n }\n };\n }\n if (firstKey === \"$within\") {\n const withinBody = filter[firstKey];\n if (Array.isArray(withinBody)) {\n return makeGeoFilterBbox(field, withinBody, firstKey);\n } else if (\"$bbox\" in withinBody && withinBody.$bbox != null) {\n return makeGeoFilterBbox(field, withinBody.$bbox, firstKey);\n } else if (\"$distance\" in withinBody && \"$of\" in withinBody && withinBody.$distance != null && withinBody.$of != null) {\n return {\n type: \"withinDistanceOf\",\n field,\n value: {\n center: Array.isArray(withinBody.$of) ? {\n type: \"Point\",\n coordinates: withinBody.$of\n } : withinBody.$of,\n distance: {\n value: withinBody.$distance[0],\n unit: DistanceUnitMapping[withinBody.$distance[1]]\n }\n }\n };\n } else {\n const coordinates = \"$polygon\" in withinBody ? withinBody.$polygon : withinBody.coordinates;\n return makeGeoFilterPolygon(field, coordinates, \"withinPolygon\");\n }\n }\n if (firstKey === \"$intersects\") {\n const intersectsBody = filter[firstKey];\n if (Array.isArray(intersectsBody)) {\n return makeGeoFilterBbox(field, intersectsBody, firstKey);\n } else if (\"$bbox\" in intersectsBody && intersectsBody.$bbox != null) {\n return makeGeoFilterBbox(field, intersectsBody.$bbox, firstKey);\n } else {\n const coordinates = \"$polygon\" in intersectsBody ? intersectsBody.$polygon : intersectsBody.coordinates;\n return makeGeoFilterPolygon(field, coordinates, \"intersectsPolygon\");\n }\n }\n return {\n type: firstKey.substring(1),\n field,\n value: filter[firstKey]\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\n/** @internal */\nexport function legacyToModernSingleAggregationResult(entry) {\n return entry.metrics.reduce((accumulator, curValue) => {\n const parts = curValue.name.split(\".\");\n if (parts[0] === \"count\") {\n return accumulator;\n }\n !(parts.length === 2) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"assumed we were getting a `${key}.${type}`\") : invariant(false) : void 0;\n const property = parts[0];\n const metricType = parts[1];\n if (!(property in accumulator)) {\n accumulator[property] = {}; // fixme?\n }\n accumulator[property][metricType] = curValue.value; // fixme?\n\n return accumulator;\n }, {});\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst directionFieldMap = dir => dir === \"asc\" ? \"ASC\" : dir === \"desc\" ? \"DESC\" : undefined;\n\n/** @internal */\nexport function modernToLegacyAggregationClause(select) {\n return Object.entries(select).flatMap(([propAndMetric, aggregationType]) => {\n if (propAndMetric === \"$count\") {\n return {\n type: \"count\",\n name: \"count\",\n direction: directionFieldMap(aggregationType)\n };\n }\n const colonPos = propAndMetric.lastIndexOf(\":\");\n const property = propAndMetric.slice(0, colonPos);\n const metric = propAndMetric.slice(colonPos + 1);\n return [{\n type: metric,\n name: `${property}.${metric}`,\n direction: directionFieldMap(aggregationType),\n field: property\n }];\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DurationMapping } from \"@osdk/client.api\";\n/** @internal */\nexport function modernToLegacyGroupByClause(groupByClause) {\n if (!groupByClause) return [];\n return Object.entries(groupByClause).flatMap(([field, type]) => {\n if (type === \"exact\") {\n return [{\n type,\n field\n }];\n } else if (\"$exactWithLimit\" in type) {\n {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.$exactWithLimit\n }];\n }\n } else if (\"$fixedWidth\" in type) {\n return [{\n type: \"fixedWidth\",\n field,\n fixedWidth: type.$fixedWidth\n }];\n } else if (\"$ranges\" in type) {\n return [{\n type: \"ranges\",\n field,\n ranges: type.$ranges.map(range => convertRange(range))\n }];\n } else if (\"$duration\" in type) {\n return [{\n type: \"duration\",\n field,\n value: type.$duration[0],\n unit: DurationMapping[type.$duration[1]]\n }];\n } else return [];\n });\n}\nfunction convertRange(range) {\n return {\n startValue: range[0],\n endValue: range[1]\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OntologiesV2 } from \"@osdk/internal.foundry\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\n/** @internal */\nexport async function aggregate(clientCtx, objectType, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"]\n}, req) {\n const body = {\n aggregation: modernToLegacyAggregationClause(req.$select),\n groupBy: [],\n where: undefined\n };\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n if (req.$where) {\n body.where = modernToLegacyWhereClause(req.$where);\n }\n const result = await OntologiesV2.OntologyObjectSets.aggregateObjectSetV2(addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation\n });\n if (!req.$groupBy) {\n !(result.data.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"no group by clause should mean only one data result\") : invariant(false) : void 0;\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(result.data[0])\n };\n }\n const ret = result.data.map(entry => {\n return {\n $group: entry.group,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry)\n };\n }); // fixme\n\n return ret; // FIXME\n}\nfunction aggregationToCountResult(entry) {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return {\n $count: aggregateResult.value\n };\n }\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PalantirApiError } from \"@osdk/shared.net.errors\";\nimport { fetchPage } from \"./fetchPage.js\";\n\n/** @internal */\nexport async function fetchSingle(client, objectType, args, objectSet) {\n const result = await fetchPage(client, objectType, {\n ...args,\n pageSize: 1\n }, objectSet);\n if (result.data.length !== 1 || result.nextPageToken != null) {\n throw new PalantirApiError(`Expected a single result but got ${result.data.length} instead${result.nextPageToken != null ? \" with nextPageToken set\" : \"\"}`);\n }\n return result.data[0];\n}\n\n/** @internal */\nexport async function fetchSingleWithErrors(client, objectType, args, objectSet) {\n try {\n const result = await fetchSingle(client, objectType, args, objectSet);\n return {\n value: result\n };\n } catch (e) {\n if (e instanceof Error) {\n return {\n error: e\n };\n }\n return {\n error: e\n };\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\nReturns a client with its `requestContext` merged with the result of applying\n`augment` to its `requestContext`.\n\nThe second argument is an `Partial<RequestContext>`-returning `augment` function\ninstead of a `RequestContext` object to make referencing the current request\ncontext easier. For example, modifying the `fetchPage` function to add its name\nto the object set's called method chain could look like:\n```\naugmentRequestContext(\n clientContext,\n ctx => ({ methodChain: [...ctx.methodChain, \"fetchPage\"] })\n)\n```\nor\n```\naugmentRequestContext(\n clientContext,\n ({ methodChain }) => ({ methodChain: [...methodChain, \"fetchPage\"] })\n)\n```\ninstead of\n```\naugmentRequestContext(\n clientContext,\n { methodChain: [...clientContext.requestContext.methodChain, \"fetchPage\"] }\n)\n```\n*/\nexport const augmentRequestContext = (client, augment) => ({\n ...client,\n requestContext: {\n ...client.requestContext,\n ...augment(client.requestContext)\n }\n});","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst WIRE_OBJECT_SET_TYPES = new Set([\"base\", \"filter\", \"intersect\", \"reference\", \"searchAround\", \"static\", \"subtract\", \"union\"]);\n\n/** @internal */\nexport function isWireObjectSet(o) {\n return o != null && typeof o === \"object\" && WIRE_OBJECT_SET_TYPES.has(o.type);\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function makeConjureContext({\n baseUrl,\n fetch: fetchFn,\n tokenProvider\n}, servicePath) {\n return {\n baseUrl,\n servicePath,\n fetchFn,\n tokenProvider\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n !cachedAllOntologies.ontologies[ontologyRid] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"ontology should be loaded\") : invariant(false) : void 0;\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = fn => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = fn => createSimpleCache(new WeakMap(), fn).get; // FIXME\n\nconst strongMemoAsync = fn => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = fn => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"/ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true\n });\n }\n forObjectByRid = strongMemoAsync(async rid => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName\n });\n });\n forObjectByApiName = strongMemoAsync(async objectApiName => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async objectTypeRid => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async objectTypeRid => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\")\n }\n });\n !linkTypes.linkTypes[objectTypeRid] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"link type should be loaded\") : invariant(false) : void 0;\n\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({\n apiName\n }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide\n },\n otherObjectType\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const {\n oneToMany: {\n objectTypeRidManySide,\n manyToOneLinkMetadata,\n objectTypeRidOneSide,\n oneToManyLinkMetadata\n }\n } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n } else if (l.definition.type === \"manyToMany\") {\n const {\n manyToMany: {\n objectTypeRidA,\n objectTypeAToBLinkMetadata,\n objectTypeRidB,\n objectTypeBToALinkMetadata\n }\n } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async objectTypeRid => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\")\n }\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n !entities.objectTypes[0]?.objectType ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"object type should be loaded\") : invariant(false) : void 0;\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async _ => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync(client => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n !(conjureOT.primaryKeys.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `only one primary key supported, got ${conjureOT.primaryKeys.length}`) : invariant(false) : void 0;\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object.fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object.fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type\n }\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Helper function that creates the shape of a conjure union in fewer bytes than manually declaring it (when compressed)\n *\n * e.g `{type:\"base\",base:{foo:5}}` becomes `a(\"base\",{foo:5})`\n */\nexport function conjureUnionType(type, value) {\n return {\n type,\n [type]: value\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { conjureUnionType } from \"./conjureUnionType.js\";\n\n/** @internal */\nexport function toConjureObjectSet(objectSet, objectPropertyMapping) {\n switch (objectSet.type) {\n case \"base\":\n return conjureUnionType(\"base\", {\n objectTypeId: objectPropertyMapping.id\n });\n case \"static\":\n return conjureUnionType(\"static\", {\n objectRids: objectSet.objects,\n provenance: undefined\n });\n case \"reference\":\n return conjureUnionType(\"referenced\", {\n objectSetRid: objectSet.reference\n });\n case \"filter\":\n return conjureUnionType(\"filtered\", {\n objectSet: toConjureObjectSet(objectSet.objectSet, objectPropertyMapping),\n runtimeDerivedProperties: undefined,\n filter: mapWhereClauseToObjectSetFilter(objectSet.where, objectPropertyMapping)\n });\n case \"union\":\n return conjureUnionType(\"unioned\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping))\n });\n case \"intersect\":\n return conjureUnionType(\"intersected\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping))\n });\n case \"subtract\":\n return conjureUnionType(\"subtracted\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping))\n });\n case \"searchAround\":\n throw new Error(\"not implemented\");\n }\n}\n\n/** @internal */\nexport async function getObjectSetBaseType(objectSet) {\n switch (objectSet.type) {\n case \"base\":\n return objectSet.objectType;\n case \"static\":\n // TODO: Get the object type from a wire call\n // This is not supported at the moment by the API anyway\n throw new Error(\"not implemented\");\n case \"reference\":\n // TODO: Get the object type from a wire call\n throw new Error(\"not implemented\");\n case \"filter\":\n return getObjectSetBaseType(objectSet.objectSet);\n case \"union\":\n // Technically you can have multiple ObjectTypes but at the moment we only support one\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"intersect\":\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"subtract\":\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"searchAround\":\n // TODO: Get a mapping using the link\n throw new Error(\"not implemented\");\n }\n}\nfunction mapWhereClauseToObjectSetFilter(objectSetFilter, propertyMapping) {\n switch (objectSetFilter.type) {\n case \"lt\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n lt: objectSetFilter.value,\n lte: undefined,\n gt: undefined,\n gte: undefined\n });\n case \"gt\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n gt: objectSetFilter.value,\n lte: undefined,\n lt: undefined,\n gte: undefined\n });\n case \"lte\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n lte: objectSetFilter.value,\n lt: undefined,\n gt: undefined,\n gte: undefined\n });\n case \"gte\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n gte: objectSetFilter.value,\n lt: undefined,\n lte: undefined,\n gt: undefined\n });\n case \"eq\":\n return conjureUnionType(\"exactMatch\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n terms: [objectSetFilter.value]\n });\n case \"and\":\n return conjureUnionType(\"and\", {\n filters: objectSetFilter.value.map(filter => mapWhereClauseToObjectSetFilter(filter, propertyMapping))\n });\n case \"or\":\n return conjureUnionType(\"or\", {\n filters: objectSetFilter.value.map(filter => mapWhereClauseToObjectSetFilter(filter, propertyMapping))\n });\n case \"isNull\":\n return conjureUnionType(\"not\", {\n filter: {\n type: \"hasProperty\",\n hasProperty: {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field]\n }\n }\n });\n case \"not\":\n return conjureUnionType(\"not\", {\n filter: mapWhereClauseToObjectSetFilter(objectSetFilter.value, propertyMapping)\n });\n case \"contains\":\n case \"startsWith\":\n case \"containsAllTermsInOrder\":\n case \"containsAnyTerm\":\n case \"containsAllTerms\":\n case \"withinDistanceOf\":\n case \"withinBoundingBox\":\n case \"intersectsBoundingBox\":\n case \"doesNotIntersectBoundingBox\":\n case \"withinPolygon\":\n case \"intersectsPolygon\":\n case \"doesNotIntersectPolygon\":\n case \"containsAllTermsInOrderPrefixLastTerm\":\n case \"in\":\n throw new Error(\"not implemented\");\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bulkLoadOntologyEntities, createTemporaryObjectSet, loadAllOntologies } from \"@osdk/client.unstable\";\nimport { batchEnableWatcher } from \"@osdk/client.unstable.osw\";\nimport { OntologiesV2 } from \"@osdk/internal.foundry\";\nimport WebSocket from \"isomorphic-ws\";\nimport invariant from \"tiny-invariant\";\nimport { metadataCacheClient } from \"../__unstable/ConjureSupport.js\";\nimport { convertWireToOsdkObjects } from \"../object/convertWireToOsdkObjects.js\";\nimport { getObjectSetBaseType, toConjureObjectSet } from \"./toConjureObjectSet.js\";\nconst ONE_DAY_MS = 24 * 60 * 60 * 1000;\nconst MINIMUM_RECONNECT_DELAY_MS = 5 * 1000;\n\n/** Noop function to reduce conditional checks */\nfunction doNothing() {}\n\n/**\n * Converts an ObjectSetListener to one where all the functions are defined.\n */\nfunction fillOutListener({\n onChange = doNothing,\n onError = doNothing,\n onOutOfDate = doNothing\n}) {\n return {\n onChange,\n onError,\n onOutOfDate\n };\n}\nfunction isReady(sub) {\n return sub.temporaryObjectSetId != null;\n}\nfunction subscriptionIsDone(sub) {\n return sub.status === \"done\" || sub.status === \"error\";\n}\n\n/** @internal */\nexport class ObjectSetListenerWebsocket {\n static #instances = new WeakMap();\n // FIXME\n static getInstance(client) {\n let instance = ObjectSetListenerWebsocket.#instances.get(client.clientCacheKey);\n if (instance == null) {\n instance = new ObjectSetListenerWebsocket(client);\n ObjectSetListenerWebsocket.#instances.set(client.clientCacheKey, instance);\n }\n return instance;\n }\n #ws;\n #lastWsConnect = 0;\n #client;\n #logger;\n\n /**\n * map of requestId to all active subscriptions at the time of the request\n */\n #pendingSubscriptions = new Map();\n\n /**\n * Map of subscriptionId to Subscription. Note: the subscriptionId may be\n * temporary and not the actual subscriptionId from the server.\n */\n #subscriptions = new Map();\n #oswContext;\n #metadataContext;\n #ossContext;\n #maybeDisconnectTimeout;\n\n // DO NOT CONSTRUCT DIRECTLY. ONLY EXPOSED AS A TESTING SEAM\n constructor(client, {\n objectSetExpiryMs = ONE_DAY_MS,\n minimumReconnectDelayMs = MINIMUM_RECONNECT_DELAY_MS\n } = {}) {\n this.OBJECT_SET_EXPIRY_MS = objectSetExpiryMs;\n this.MINIMUM_RECONNECT_DELAY_MS = minimumReconnectDelayMs;\n this.#client = client;\n this.#logger = client.logger?.child({}, {\n msgPrefix: \"<OSW> \"\n });\n !(client.baseUrl.startsWith(\"https://\") || client.baseUrl.startsWith(\"http://\")) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Stack must be a URL\") : invariant(false) : void 0;\n this.#oswContext = {\n baseUrl: client.baseUrl,\n servicePath: \"/object-set-watcher/api\",\n fetchFn: client.fetch,\n tokenProvider: async () => await client.tokenProvider()\n };\n this.#ossContext = {\n ...this.#oswContext,\n servicePath: \"/object-set-service/api\"\n };\n this.#metadataContext = {\n ...this.#oswContext,\n servicePath: \"/ontology-metadata/api\"\n };\n }\n async subscribe(objectSet, listener) {\n if (process.env.TARGET !== \"browser\") {\n // Node 18 does not expose 'crypto' on globalThis, so we need to do it ourselves. This\n // will not be needed after our minimum version is 19 or greater.\n globalThis.crypto ??= (await import(\"node:crypto\")).webcrypto;\n }\n const sub = {\n listener: fillOutListener(listener),\n objectSet,\n status: \"preparing\",\n // Since we don't have a real subscription id yet but we need to keep\n // track of this reference, we can just use a random uuid.\n subscriptionId: `TMP-${crypto.randomUUID()}`\n };\n this.#subscriptions.set(sub.subscriptionId, sub);\n\n // actually prepares the subscription, ensures the ws is ready, and sends\n // a subscribe message. We don't want to block on this.\n this.#initiateSubscribe(sub);\n return () => {\n this.#unsubscribe(sub);\n };\n }\n\n /**\n * Called at least once for every subscription.\n *\n * - Resets pending expiry\n * - Recreates temporary object set\n * - Triggers a full subscribe message\n *\n * @returns\n */\n async #initiateSubscribe(sub) {\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#initiateSubscribe()\");\n }\n if (sub.expiry) {\n clearTimeout(sub.expiry);\n }\n // expiry is tied to the temporary object set, which is set to `timeToLive: \"ONE_DAY\"`\n // in `#createTemporaryObjectSet`. They should be in sync\n sub.expiry = setTimeout(() => this.#expire(sub), this.OBJECT_SET_EXPIRY_MS);\n const ontologyRid = await this.#client.ontologyRid;\n try {\n const [temporaryObjectSet] = await Promise.all([\n // create a time-bounded object set representation for watching\n this.#createTemporaryObjectSet(sub.objectSet), this.#ensureWebsocket(),\n // look up the object type's rid and ensure that we have enabled object set watcher for that rid\n // TODO ???\n getObjectSetBaseType(sub.objectSet).then(baseType => OntologiesV2.ObjectTypesV2.getObjectTypeV2(this.#client, ontologyRid, baseType)).then(objectType => this.#enableObjectSetsWatcher([objectType.rid]))]);\n\n // the consumer may have already unsubscribed before we are ready to request a subscription\n // so we have to acquire the pendingSubscription after the await.\n if (subscriptionIsDone(sub)) {\n return;\n }\n\n // Use new temporary object set id\n sub.temporaryObjectSetId = temporaryObjectSet.objectSetRid;\n\n // if we aren't open, then this happens after we #onConnect\n if (this.#ws?.readyState === WebSocket.OPEN) {\n this.#sendSubscribeMessage();\n }\n } catch (error) {\n this.#logger?.error(error, \"Error in #initiateSubscribe\");\n sub.listener.onError(error);\n }\n }\n #sendSubscribeMessage() {\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#sendSubscribeMessage()\");\n }\n // If two calls to `.subscribe()` happen at once (or if the connection is reset),\n // we may have multiple subscriptions that don't have a subscriptionId yet,\n // so we filter those out.\n const readySubs = [...this.#subscriptions.values()].filter(isReady);\n if (readySubs.length === 0) {\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#sendSubscribeMessage(): aborting due to no ready subscriptions\");\n }\n return;\n }\n\n // Assumes the node 18 crypto fallback to globalThis in `subscribe` has happened.\n const id = crypto.randomUUID();\n // responses come back as an array of subIds, so we need to know the sources\n this.#pendingSubscriptions.set(id, readySubs);\n\n // every subscribe message \"overwrites\" the previous ones that are not\n // re-included, so we have to reconstitute the entire list of subscriptions\n const subscribe = {\n id,\n requests: readySubs.map(({\n temporaryObjectSetId\n }) => ({\n objectSet: temporaryObjectSetId,\n objectSetContext: {\n objectSetFilterContext: {\n parameterOverrides: {}\n }\n },\n watchAllLinks: false\n }))\n };\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace({\n payload: subscribe\n }, \"sending subscribe message\");\n }\n this.#ws?.send(JSON.stringify(subscribe));\n }\n #expire(sub) {\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace({\n subscription: sub\n }, \"#expire()\");\n }\n // the temporary ObjectSet has expired, we should re-subscribe which will cause the\n // listener to get an onOutOfDate message when it becomes subscribed again\n sub.status = \"expired\";\n this.#initiateSubscribe(sub);\n }\n #unsubscribe(sub, newStatus = \"done\") {\n if (subscriptionIsDone(sub)) {\n // if we are already done, we don't need to do anything\n return;\n }\n sub.status = newStatus;\n // make sure listeners do nothing now\n sub.listener = fillOutListener({});\n if (sub.expiry) {\n clearTimeout(sub.expiry);\n sub.expiry = undefined;\n }\n this.#subscriptions.delete(sub.subscriptionId);\n\n // If we have no more subscriptions, we can disconnect the websocket\n // however we should wait a bit to see if we get any more subscriptions.\n // For example, when switching between react views, you may unsubscribe\n // in the old view and subscribe in the new view. We don't need to re-establish\n // the websocket connection in that case.\n if (this.#maybeDisconnectTimeout) {\n // We reset the timeout on every unsubscribe so its always at least 15s from\n // the last time we are empty. E.g.:\n // - 0s: Subscribe(A)\n // - 10s: Unsubscribe(A)\n // - 11s: Subscribe(B)\n // - 20s: Unsubscribe(B)\n // If we do not clear out the timeout we would disconnect at 25s but that would only be\n // 5s after the last subscription was removed instead of at 35s for the desired 15s.\n clearTimeout(this.#maybeDisconnectTimeout);\n }\n this.#maybeDisconnectTimeout = setTimeout(() => {\n this.#maybeDisconnectTimeout = undefined;\n if (this.#subscriptions.size === 0) {\n this.#cycleWebsocket();\n }\n }, 15_000 /* ms */);\n }\n async #ensureWebsocket() {\n if (this.#ws == null) {\n const {\n baseUrl,\n tokenProvider\n } = this.#client;\n const base = new URL(baseUrl);\n // TODO: This should be a different endpoint\n const url = `wss://${base.host}/object-set-watcher/ws/subscriptions`;\n const token = await tokenProvider();\n\n // tokenProvider is async, there could potentially be a race to create the websocket.\n // Only the first call to reach here will find a null this.#ws, the rest will bail out\n if (this.#ws == null) {\n // TODO this can probably be exponential backoff with jitter\n // don't reconnect more quickly than MINIMUM_RECONNECT_DELAY\n const nextConnectTime = (this.#lastWsConnect ?? 0) + this.MINIMUM_RECONNECT_DELAY_MS;\n if (nextConnectTime > Date.now()) {\n await new Promise(resolve => {\n setTimeout(resolve, nextConnectTime - Date.now());\n });\n }\n this.#lastWsConnect = Date.now();\n\n // we again may have lost the race after our minimum backoff time\n if (this.#ws == null) {\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"Creating websocket\");\n }\n this.#ws = new WebSocket(url, [`Bearer-${token}`]);\n this.#ws.addEventListener(\"close\", this.#onClose);\n this.#ws.addEventListener(\"message\", this.#onMessage);\n this.#ws.addEventListener(\"open\", this.#onOpen);\n }\n }\n\n // Allow await-ing the websocket open event if it isn't open already.\n // This needs to happen even for callers that didn't just create this.#ws\n if (this.#ws.readyState === WebSocket.CONNECTING) {\n const ws = this.#ws;\n return new Promise((resolve, reject) => {\n function cleanup() {\n ws.removeEventListener(\"open\", open);\n ws.removeEventListener(\"error\", error);\n ws.removeEventListener(\"close\", cleanup);\n }\n function open() {\n cleanup();\n resolve();\n }\n function error(evt) {\n cleanup();\n reject(evt);\n }\n ws.addEventListener(\"open\", open);\n ws.addEventListener(\"error\", error);\n ws.addEventListener(\"close\", cleanup);\n });\n }\n }\n }\n #onOpen = () => {\n // resubscribe all of the listeners\n this.#sendSubscribeMessage();\n };\n #onMessage = async message => {\n const data = JSON.parse(message.data.toString());\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace({\n payload: data\n }, \"received message from ws\");\n }\n switch (data.type) {\n case \"objectSetChanged\":\n return this.#handleMessage_objectSetChanged(data.objectSetChanged);\n case \"refreshObjectSet\":\n return this.#handleMessage_refreshObjectSet(data.refreshObjectSet);\n case \"subscribeResponses\":\n return this.#handleMessage_subscribeResponses(data.subscribeResponses);\n case \"subscriptionClosed\":\n {\n const payload = data.subscriptionClosed;\n return this.#handleMessage_subscriptionClosed(payload);\n }\n default:\n const _ = data;\n !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unexpected message type\") : invariant(false) : void 0;\n }\n };\n #handleMessage_objectSetChanged = async payload => {\n const sub = this.#subscriptions.get(payload.id);\n !sub ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Expected subscription id ${payload.id}`) : invariant(false) : void 0;\n if (\"confidenceValue\" in payload) {\n sub.listener.onOutOfDate();\n return;\n }\n const objects = payload.updates.filter(function (a) {\n return a.type === \"object\";\n }).map(a => a.object);\n !(objects.length === payload.updates.length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"currently only support full updates not reference updates\") : invariant(false) : void 0;\n sub.listener.onChange(await convertFoundryToOsdkObjects(this.#client, this.#metadataContext, objects));\n };\n #handleMessage_refreshObjectSet = payload => {\n const sub = this.#subscriptions.get(payload.id);\n !sub ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Expected subscription id ${payload.id}`) : invariant(false) : void 0;\n sub.listener.onOutOfDate();\n };\n #handleMessage_subscribeResponses = payload => {\n const {\n id,\n responses\n } = payload;\n const subs = this.#pendingSubscriptions.get(id);\n !subs ? process.env.NODE_ENV !== \"production\" ? invariant(false, `should have a pending subscription for ${id}`) : invariant(false) : void 0;\n this.#pendingSubscriptions.delete(id);\n for (let i = 0; i < responses.length; i++) {\n const sub = subs[i];\n const response = responses[i];\n switch (response.type) {\n case \"error\":\n sub.listener.onError(response.error);\n this.#unsubscribe(sub, \"error\");\n break;\n case \"qos\":\n // the server has requested that we tear down our websocket and reconnect to help load balance\n this.#cycleWebsocket();\n break;\n case \"success\":\n // `\"preparing\"` should only be the status on an initial subscribe.\n\n const shouldFireOutOfDate = sub.status === \"expired\" || sub.status === \"reconnecting\";\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace({\n shouldFireOutOfDate\n }, \"success\");\n }\n sub.status = \"subscribed\";\n if (sub.subscriptionId !== response.success.id) {\n // might be the temporary one\n this.#subscriptions.delete(sub.subscriptionId);\n sub.subscriptionId = response.success.id;\n this.#subscriptions.set(sub.subscriptionId, sub); // future messages come by this subId\n }\n if (shouldFireOutOfDate) sub.listener.onOutOfDate();\n break;\n default:\n const _ = response;\n sub.listener.onError(response);\n }\n }\n };\n #handleMessage_subscriptionClosed(payload) {\n const sub = this.#subscriptions.get(payload.id);\n !sub ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Expected subscription id ${payload.id}`) : invariant(false) : void 0;\n sub.listener.onError(payload.error);\n this.#unsubscribe(sub, \"error\");\n }\n #onClose = event => {\n if (process?.env?.NODE_ENV !== \"production\") {\n this.#logger?.trace({\n event\n }, \"Received close event from ws\", event);\n }\n // TODO we should probably throttle this so we don't abuse the backend\n this.#cycleWebsocket();\n };\n async #enableObjectSetsWatcher(objectTypeRids) {\n return batchEnableWatcher(this.#oswContext, {\n requests: objectTypeRids\n });\n }\n async #createTemporaryObjectSet(objectSet) {\n const objectSetBaseType = await getObjectSetBaseType(objectSet);\n const mcc = await metadataCacheClient(this.#client);\n const objectInfo = await mcc.forObjectByApiName(objectSetBaseType);\n const propMapping = await objectInfo.getPropertyMapping();\n const temporaryObjectSet = await createTemporaryObjectSet(this.#ossContext, {\n objectSet: toConjureObjectSet(objectSet, propMapping),\n timeToLive: \"ONE_DAY\",\n // MUST keep in sync with the value for expiry in `#initiateSubscribe`.\n objectSetFilterContext: {\n parameterOverrides: {}\n }\n });\n return {\n objectSetRid: temporaryObjectSet.objectSetRid\n };\n }\n #cycleWebsocket = () => {\n if (this.#ws) {\n this.#ws.removeEventListener(\"open\", this.#onOpen);\n this.#ws.removeEventListener(\"message\", this.#onMessage);\n this.#ws.removeEventListener(\"close\", this.#onClose);\n if (this.#ws.readyState !== WebSocket.CLOSING && this.#ws.readyState !== WebSocket.CLOSED) {\n this.#ws.close();\n }\n this.#ws = undefined;\n }\n\n // if we have any listeners that are still depending on us, go ahead and reopen the websocket\n if (this.#subscriptions.size > 0) {\n if (process?.env?.NODE_ENV !== \"production\") {\n for (const s of this.#subscriptions.values()) {\n !(s.status !== \"done\" && s.status !== \"error\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"should not have done/error subscriptions still\") : invariant(false) : void 0;\n }\n }\n for (const s of this.#subscriptions.values()) {\n if (s.status === \"subscribed\") s.status = \"reconnecting\";\n }\n this.#ensureWebsocket();\n }\n };\n}\nasync function convertFoundryToOsdkObjects(client, ctx, objects) {\n const osdkObjects = await Promise.all(objects.map(async object => {\n const propertyMapping = await (await (await metadataCacheClient(client)).forObjectByRid(object.type)).getPropertyMapping();\n const convertedObject = Object.fromEntries([...Object.entries(object.properties).map(([key, value]) => {\n return [propertyMapping?.propertyIdToApiNameMapping[key], value];\n }), [propertyMapping?.propertyIdToApiNameMapping[Object.entries(object.key)[0][0]], Object.entries(object.key)[0][1]], [\"__apiName\", propertyMapping?.apiName], [\"$apiName\", propertyMapping?.apiName]]);\n return convertedObject;\n }));\n\n // doesn't care about interfaces\n return await convertWireToOsdkObjects(client, osdkObjects, undefined);\n}\n// Mapping of ObjectRid to Properties\nconst objectTypeMapping = new WeakMap();\nconst objectApiNameToRid = new Map();\nasync function getOntologyPropertyMappingForApiName(client, ctx, objectApiName) {\n if (objectApiNameToRid.has(objectApiName)) {\n return objectTypeMapping.get(ctx)?.get(objectApiNameToRid.get(objectApiName));\n }\n const ontologyRid = await client.ontologyRid;\n const wireObjectType = await OntologiesV2.ObjectTypesV2.getObjectTypeV2(client, ontologyRid, objectApiName);\n return getOntologyPropertyMappingForRid(ctx, ontologyRid, wireObjectType.rid);\n}\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n !cachedAllOntologies.ontologies[ontologyRid] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"ontology should be loaded\") : invariant(false) : void 0;\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nasync function getOntologyPropertyMappingForRid(ctx, ontologyRid, objectRid) {\n if (!objectTypeMapping.has(ctx)) {\n objectTypeMapping.set(ctx, new Map());\n }\n if (!objectTypeMapping.get(ctx).has(objectRid)) {\n const ontologyVersion = await getOntologyVersionForRid(ctx, ontologyRid);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectRid\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: ontologyVersion\n }\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined\n };\n const entities = await bulkLoadOntologyEntities(ctx, undefined, body);\n !entities.objectTypes[0]?.objectType ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"object type should be loaded\") : invariant(false) : void 0;\n const propertyIdToApiNameMapping = Object.fromEntries(Object.values(entities.objectTypes[0].objectType.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object.fromEntries(Object.values(entities.objectTypes[0].objectType.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n objectTypeMapping.get(ctx)?.set(objectRid, {\n apiName: entities.objectTypes[0].objectType.apiName,\n id: entities.objectTypes[0].objectType.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping\n });\n objectApiNameToRid.set(entities.objectTypes[0].objectType.apiName, objectRid);\n }\n return objectTypeMapping.get(ctx)?.get(objectRid);\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe } from \"@osdk/client.api/unstable\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport { fetchPageInternal, fetchPageWithErrorsInternal } from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\nfunction isObjectTypeDefinition(def) {\n return def.type === \"object\";\n}\n\n/* @internal */\nexport function isObjectSet(o) {\n return o != null && typeof o === \"object\" && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\n/** @internal */\nexport function getWireObjectSet(objectSet) {\n return objectSetDefinitions.get(objectSet);\n}\nconst objectSetDefinitions = new WeakMap();\n\n/** @internal */\nexport function createObjectSet(objectType, clientCtx, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"]\n}) {\n const base = {\n aggregate: aggregate.bind(globalThis, augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"aggregate\"\n })), objectType, objectSet),\n fetchPage: fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchPage\"\n })), objectType, objectSet),\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchPageWithErrors\"\n })), objectType, objectSet),\n where: clause => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause)\n });\n },\n pivotTo: function (type) {\n return createSearchAround(type)();\n },\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [objectSet, ...objectSets.map(os => objectSetDefinitions.get(os))]\n });\n },\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [objectSet, ...objectSets.map(os => objectSetDefinitions.get(os))]\n });\n },\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [objectSet, ...objectSets.map(os => objectSetDefinitions.get(os))]\n });\n },\n asyncIter: async function* (args) {\n let $nextPageToken = undefined;\n do {\n const result = await fetchPageInternal(augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"asyncIter\"\n })), objectType, objectSet, {\n ...args,\n $nextPageToken\n });\n $nextPageToken = result.nextPageToken;\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n fetchOne: isObjectTypeDefinition(objectType) ? async (primaryKey, options) => {\n return await fetchSingle(augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchOne\"\n })), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));\n } : undefined,\n fetchOneWithErrors: isObjectTypeDefinition(objectType) ? async (primaryKey, options) => {\n return await fetchSingleWithErrors(augmentRequestContext(clientCtx, _ => ({\n finalMethodCall: \"fetchOneWithErrors\"\n })), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));\n } : undefined,\n [__EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe]: listener => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet, listener);\n return async () => (await pendingSubscribe)();\n }\n };\n function createSearchAround(link) {\n return () => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"searchAround\",\n objectSet,\n link\n });\n };\n }\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base;\n}\nasync function createWithPk(clientCtx, objectType, objectSet, primaryKey) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(objectType.apiName);\n const withPk = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey\n }\n };\n return withPk;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getWireObjectSet } from \"../../objectSet/createObjectSet.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../fetchSingle.js\";\nimport { ClientRef, ObjectDefRef, RawObject } from \"./InternalSymbols.js\";\n/** @internal */\nexport function get$link(holder) {\n return new Proxy(holder, DollarLinkProxyHandler);\n}\nconst DollarLinkProxyHandler = {\n get(target, p) {\n const {\n [ObjectDefRef]: objDef,\n [ClientRef]: client,\n [RawObject]: rawObj\n } = target;\n const linkDef = objDef.links[p];\n if (linkDef == null) {\n return;\n }\n const objectSet = client.objectSetFactory(objDef, client).where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey\n }).pivotTo(p);\n if (!linkDef.multiplicity) {\n return {\n fetchOne: options => fetchSingle(client, objDef, options ?? {}, getWireObjectSet(objectSet)),\n fetchOneWithErrors: options => fetchSingleWithErrors(client, objDef, options ?? {}, getWireObjectSet(objectSet))\n };\n } else {\n return objectSet;\n }\n },\n ownKeys(target) {\n return [...Object.keys(target[ObjectDefRef].links)];\n },\n getOwnPropertyDescriptor(target, p) {\n if (target[ObjectDefRef].links[p]) {\n return {\n enumerable: true,\n configurable: true,\n // fixme\n writable: false\n };\n }\n }\n};","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createAttachmentFromRid } from \"../../createAttachmentFromRid.js\";\nimport { createTimeseriesProperty } from \"../../createTimeseriesProperty.js\";\nimport { createClientCache } from \"../Cache.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport { ClientRef, ObjectDefRef, RawObject, UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nconst objectPrototypeCache = createClientCache(function (client, objectDef) {\n return Object.create(null, {\n [ObjectDefRef]: {\n value: objectDef\n },\n [ClientRef]: {\n value: client\n },\n \"$as\": {\n value: get$as(objectDef)\n },\n \"$link\": {\n get: function () {\n return get$link(this);\n }\n },\n \"$updateInternalValues\": {\n value: function (newValues) {\n this[RawObject] = Object.assign({}, this[RawObject], newValues);\n }\n }\n });\n});\n\n/** @internal */\nexport function createOsdkObject(client, objectDef, rawObj) {\n // We use multiple layers of prototypes to maximize reuse and also to keep\n // [RawObject] out of `ownKeys`. This keeps the code in the proxy below simpler.\n const objectHolderPrototype = Object.create(objectPrototypeCache.get(client, objectDef), {\n [RawObject]: {\n value: rawObj,\n writable: true // so we can allow updates\n }\n });\n\n // we separate the holder out so we can update\n // the underlying data without having to return a new object\n // we also need the holder so we can customize the console.log output\n const holder = Object.create(objectHolderPrototype);\n const osdkObject = new Proxy(holder, {\n ownKeys(target) {\n return Reflect.ownKeys(target[RawObject]);\n },\n get(target, p, receiver) {\n switch (p) {\n case UnderlyingOsdkObject:\n // effectively point back to the proxy\n return receiver;\n }\n if (p in target) return target[p];\n if (p in rawObj) {\n const rawValue = target[RawObject][p];\n const propDef = objectDef.properties[p];\n if (propDef) {\n if (propDef.type === \"attachment\") {\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => createAttachmentFromRid(client, a.rid));\n }\n return createAttachmentFromRid(client, rawValue.rid);\n }\n if (propDef.type === \"numericTimeseries\" || propDef.type === \"stringTimeseries\") {\n return createTimeseriesProperty(client, objectDef.apiName, target[RawObject][objectDef.primaryKeyApiName], p);\n }\n }\n return rawValue;\n }\n\n // we do not do any fall through to avoid unexpected behavior\n },\n set(target, p, newValue) {\n // allow the prototype to update this value\n if (p === RawObject) {\n // symbol only exists internally so no one else can hit this\n target[p] = newValue;\n return true;\n }\n return false;\n },\n getOwnPropertyDescriptor(target, p) {\n if (p === RawObject) {\n return Reflect.getOwnPropertyDescriptor(target, p);\n }\n if (target[RawObject][p] != null) {\n return {\n configurable: true,\n enumerable: true\n };\n }\n return {\n enumerable: false\n };\n }\n });\n return osdkObject;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\nimport { createOsdkObject } from \"./convertWireToOsdkObjects/createOsdkObject.js\";\n\n/**\n * If interfaceApiName is not undefined, converts the instances of the\n * interface into their respective\n * underlying concrete types and then returns the $as() representation\n * for the consumers.\n *\n * Otherwise just does the conversion\n *\n * May mutate in place for performance reasons. If you need a clean copy,\n * keep it first.\n *\n * However, you must use the returned value, which will be whatever is correct.\n *\n * @internal\n * @param interfaceApiName - if undefined\n */\nexport async function convertWireToOsdkObjects(client, objects, interfaceApiName, forceRemoveRid = false, selectedProps, strictNonNull = false) {\n client.logger?.debug(`START convertWireToOsdkObjects()`);\n fixObjectPropertiesInPlace(objects, forceRemoveRid);\n const ifaceDef = interfaceApiName ? await client.ontologyProvider.getInterfaceDefinition(interfaceApiName) : undefined;\n const ifaceSelected = ifaceDef ? selectedProps ?? Object.keys(ifaceDef.properties) : undefined;\n const ret = [];\n for (const rawObj of objects) {\n const objectDef = await client.ontologyProvider.getObjectDefinition(rawObj.$apiName);\n !objectDef ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Missing definition for '${rawObj.$apiName}'`) : invariant(false) : void 0;\n\n // default value for when we are checking an object\n let objProps;\n let conforming = true;\n if (ifaceDef && ifaceSelected) {\n // API returns interface spt names but we cache by real values\n invariantInterfacesAsViews(objectDef, ifaceDef.apiName, client);\n conforming &&= isConforming(client, ifaceDef, rawObj, ifaceSelected);\n reframeAsObjectInPlace(objectDef, ifaceDef.apiName, rawObj);\n objProps = convertInterfacePropNamesToObjectPropNames(objectDef, ifaceDef.apiName, ifaceSelected);\n } else {\n objProps = selectedProps ?? Object.keys(objectDef.properties);\n }\n conforming &&= isConforming(client, objectDef, rawObj, objProps);\n if (strictNonNull === \"throw\" && !conforming) {\n throw new Error(\"Unable to safely convert objects as some non nullable properties are null\");\n } else if (strictNonNull === \"drop\" && !conforming) {\n continue;\n }\n let osdkObject = createOsdkObject(client, objectDef, rawObj);\n if (interfaceApiName) osdkObject = osdkObject.$as(interfaceApiName);\n ret.push(osdkObject);\n }\n client.logger?.debug(`END convertWireToOsdkObjects()`);\n return ret;\n}\n\n/**\n * Utility function that lets us take down selected property names from an interface\n * and convert them to an array of property names on an object.\n */\nfunction convertInterfacePropNamesToObjectPropNames(objectDef, interfaceApiName, ifacePropsToMap) {\n return ifacePropsToMap.map(ifaceProp => objectDef.interfaceMap[interfaceApiName][ifaceProp]);\n}\n\n/**\n * Takes a raw object from the wire (contextually as an interface) and\n * updates the fields to reflect the underlying objectDef instead\n * @param objectDef\n * @param interfaceApiName\n * @param client\n * @param rawObj\n */\nfunction reframeAsObjectInPlace(objectDef, interfaceApiName, rawObj) {\n const newProps = {};\n for (const [sptProp, regularProp] of Object.entries(objectDef.interfaceMap[interfaceApiName])) {\n if (sptProp in rawObj) {\n const value = rawObj[sptProp];\n delete rawObj[sptProp];\n if (value !== undefined) {\n newProps[regularProp] = value;\n }\n }\n }\n Object.assign(rawObj, newProps);\n if (!(objectDef.primaryKeyApiName in rawObj)) {\n rawObj[objectDef.primaryKeyApiName] = rawObj.$primaryKey;\n }\n}\nfunction isConforming(client, def, obj, propsToCheck) {\n for (const propName of propsToCheck) {\n if (def.properties[propName].nullable === false && obj[propName] == null) {\n if (process?.env?.NODE_ENV !== \"production\") {\n client.logger?.debug({\n obj: {\n $objectType: obj[\"$objectType\"],\n $primaryKey: obj[\"$primaryKey\"]\n }\n }, `Found object that does not conform to its definition. Expected ${def.apiName}'s ${propName} to not be null.`);\n }\n return false;\n }\n }\n return true;\n}\nfunction invariantInterfacesAsViews(objectDef, interfaceApiName, client) {\n if (objectDef.interfaceMap?.[interfaceApiName] == null) {\n const warning = \"Interfaces are only supported 'as views' but your metadata object is missing the correct information. This suggests your interfaces have not been migrated to the newer version yet and you cannot use this version of the SDK.\";\n if (client.logger) {\n client.logger.warn(warning);\n } else {\n // eslint-disable-next-line no-console\n console.error(`WARNING! ${warning}`);\n }\n throw new Error(warning);\n }\n}\nfunction fixObjectPropertiesInPlace(objs, forceRemoveRid) {\n for (const obj of objs) {\n if (forceRemoveRid) {\n delete obj.__rid;\n }\n if (obj.__rid) {\n obj.$rid = obj.__rid;\n delete obj.__rid;\n }\n\n // Backend returns as __apiName but we want to stick to $ structure\n obj.$apiName = obj.__apiName;\n\n // for now these are the same but when we start doing interface projections the $objectType will always be underlying and\n // the $apiName will be for the current view (in current designs)\n obj.$objectType = obj.__apiName;\n\n // copying over for now as its always returned. In the future, this should just be inferred from underlying\n obj.$primaryKey = obj.__primaryKey;\n obj.$title = obj.__title;\n\n // we don't want people to use these\n delete obj.__apiName;\n delete obj.__primaryKey;\n delete obj.__title;\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OntologiesV2 } from \"@osdk/internal.foundry\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport function augment(type, ...properties) {\n return {\n [type.apiName]: properties\n };\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(objectSet, expectedApiName, existingWhere = undefined) {\n if (objectSet.type === \"base\") {\n if (objectSet.objectType !== expectedApiName) {\n throw new Error(`Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`);\n }\n return existingWhere;\n }\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(objectSet.objectSet, expectedApiName, existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where]\n });\n }\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\nasync function fetchInterfacePage(client, interfaceType, args, objectSet) {\n const result = await OntologiesV2.OntologyInterfaces.searchObjectsForInterface(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, interfaceType.apiName, applyFetchArgs(args, {\n augmentedProperties: args.$augment ?? {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: args.$__EXPERIMENTAL_selectedObjectTypes ?? [],\n selectedSharedPropertyTypes: args.$select ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName)\n }), {\n preview: true\n });\n result.data = await convertWireToOsdkObjects(client, result.data,\n // drop readonly\n interfaceType.apiName, !args.$includeRid);\n return result;\n}\n\n/** @internal */\nexport async function fetchPageInternal(client, objectType, objectSet, args = {}) {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(client, objectType, args, objectSet); // fixme\n } else {\n return await fetchObjectPage(client, objectType, args, objectSet); // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal(client, objectType, objectSet, args = {}) {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return {\n value: result\n };\n } catch (e) {\n if (e instanceof Error) {\n return {\n error: e\n };\n }\n return {\n error: e\n };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage(client, objectType, args, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"]\n}) {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors(client, objectType, args, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"]\n}) {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\nfunction applyFetchArgs(args, body) {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n if (args?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction\n }))\n };\n }\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage(client, objectType, args, objectSet) {\n const r = await OntologiesV2.OntologyObjectSets.loadObjectSetV2(addUserAgentAndRequestContextHeaders(client, objectType), await client.ontologyRid, applyFetchArgs(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: args?.$select ?? [],\n // FIXME?\n excludeRid: !args?.$includeRid\n }));\n return Promise.resolve({\n data: await convertWireToOsdkObjects(client, r.data, undefined, undefined, args.$select, args.$__EXPERIMENTAL_strictNonNull),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount\n });\n}"]}