@osdk/client 2.7.0-beta.1 → 2.7.0-beta.11

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 (291) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/MinimalClientContext.js.map +1 -1
  5. package/build/browser/actions/actions.test.js +9 -0
  6. package/build/browser/actions/actions.test.js.map +1 -1
  7. package/build/browser/createClient.js +4 -3
  8. package/build/browser/createClient.js.map +1 -1
  9. package/build/browser/createClient.test.js +1 -1
  10. package/build/browser/createClient.test.js.map +1 -1
  11. package/build/browser/createMinimalClient.js.map +1 -1
  12. package/build/browser/fetchMetadata.test.js +21 -1
  13. package/build/browser/fetchMetadata.test.js.map +1 -1
  14. package/build/browser/index.js +1 -1
  15. package/build/browser/index.js.map +1 -1
  16. package/build/browser/intellisense.test.js +1 -1
  17. package/build/browser/intellisense.test.js.map +1 -1
  18. package/build/browser/object/AttachmentUpload.js +1 -1
  19. package/build/browser/object/AttachmentUpload.js.map +1 -1
  20. package/build/browser/object/aggregate.js +3 -0
  21. package/build/browser/object/aggregate.js.map +1 -1
  22. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  23. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +3 -0
  24. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  25. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  26. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  27. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +85 -3
  28. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  29. package/build/browser/object/convertWireToOsdkObjects.js +18 -6
  30. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  31. package/build/browser/object/convertWireToOsdkObjects.test.js +178 -29
  32. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  33. package/build/browser/object/fetchPage.js +30 -5
  34. package/build/browser/object/fetchPage.js.map +1 -1
  35. package/build/browser/object/fetchPage.test.js.map +1 -1
  36. package/build/browser/object/mediaUpload.js +1 -1
  37. package/build/browser/object/mediaUpload.js.map +1 -1
  38. package/build/browser/object/object.test.js +123 -0
  39. package/build/browser/object/object.test.js.map +1 -1
  40. package/build/browser/objectSet/InterfaceObjectSet.test.js +1 -1
  41. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
  42. package/build/browser/objectSet/ObjectSet.test.js +7 -6
  43. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  44. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +2 -2
  45. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  46. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +3 -1
  47. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  48. package/build/browser/objectSet/createObjectSet.js +13 -0
  49. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  50. package/build/browser/objectSet/fetchLinksPage.js +57 -0
  51. package/build/browser/objectSet/fetchLinksPage.js.map +1 -0
  52. package/build/browser/objectSet/fetchLinksPage.test.js +102 -0
  53. package/build/browser/objectSet/fetchLinksPage.test.js.map +1 -0
  54. package/build/browser/observable/FunctionPayload.js +2 -0
  55. package/build/browser/observable/FunctionPayload.js.map +1 -0
  56. package/build/browser/observable/ListPayload.js.map +1 -1
  57. package/build/browser/observable/ObjectPayload.js.map +1 -1
  58. package/build/browser/observable/ObservableClient.js +0 -5
  59. package/build/browser/observable/ObservableClient.js.map +1 -1
  60. package/build/browser/observable/internal/Changes.js +3 -0
  61. package/build/browser/observable/internal/Changes.js.map +1 -1
  62. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
  63. package/build/browser/observable/internal/ObservableClientImpl.js +20 -0
  64. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  65. package/build/browser/observable/internal/Store.js +8 -0
  66. package/build/browser/observable/internal/Store.js.map +1 -1
  67. package/build/browser/observable/internal/Store.test.js +104 -1
  68. package/build/browser/observable/internal/Store.test.js.map +1 -1
  69. package/build/browser/observable/internal/actions/ActionApplication.js +11 -7
  70. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -1
  71. package/build/browser/observable/internal/actions/OptimisticJob.js +1 -1
  72. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -1
  73. package/build/browser/observable/internal/base-list/BaseListQuery.js +1 -1
  74. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  75. package/build/browser/observable/internal/function/FunctionCacheKey.js +26 -0
  76. package/build/browser/observable/internal/function/FunctionCacheKey.js.map +1 -0
  77. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js +150 -0
  78. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
  79. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
  80. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
  81. package/build/browser/observable/internal/function/FunctionQuery.js +137 -0
  82. package/build/browser/observable/internal/function/FunctionQuery.js.map +1 -0
  83. package/build/browser/observable/internal/function/FunctionQuery.test.js +278 -0
  84. package/build/browser/observable/internal/function/FunctionQuery.test.js.map +1 -0
  85. package/build/browser/observable/internal/function/FunctionsHelper.js +92 -0
  86. package/build/browser/observable/internal/function/FunctionsHelper.js.map +1 -0
  87. package/build/browser/observable/internal/links/SpecificLinkQuery.js +9 -1
  88. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  89. package/build/browser/observable/internal/list/ListQuery.js +17 -2
  90. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  91. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +9 -7
  92. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  93. package/build/browser/observable/internal/utils/rdpFieldOperations.js +46 -25
  94. package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  95. package/build/browser/observable/internal/utils/rdpFieldOperations.test.js +172 -0
  96. package/build/browser/observable/internal/utils/rdpFieldOperations.test.js.map +1 -0
  97. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  98. package/build/browser/queries/applyQuery.js +19 -1
  99. package/build/browser/queries/applyQuery.js.map +1 -1
  100. package/build/browser/queries/queries.test.js +14 -2
  101. package/build/browser/queries/queries.test.js.map +1 -1
  102. package/build/browser/util/UserAgent.js +2 -2
  103. package/build/browser/util/UserAgent.js.map +1 -1
  104. package/build/browser/util/toDataValue.js +0 -5
  105. package/build/browser/util/toDataValue.js.map +1 -1
  106. package/build/browser/util/toDataValue.test.js +2 -7
  107. package/build/browser/util/toDataValue.test.js.map +1 -1
  108. package/build/cjs/{Client-DaUJl7jZ.d.cts → Client-Cmx6x_V1.d.cts} +1 -1
  109. package/build/cjs/{chunk-WQL7SQ7H.cjs → chunk-666JN2DO.cjs} +250 -148
  110. package/build/cjs/chunk-666JN2DO.cjs.map +1 -0
  111. package/build/cjs/{chunk-6SCDLAU2.cjs → chunk-LDTMSHUZ.cjs} +4 -4
  112. package/build/cjs/{chunk-6SCDLAU2.cjs.map → chunk-LDTMSHUZ.cjs.map} +1 -1
  113. package/build/cjs/{chunk-VDAI3GGL.cjs → chunk-RDZ5NKAI.cjs} +218 -135
  114. package/build/cjs/chunk-RDZ5NKAI.cjs.map +1 -0
  115. package/build/cjs/{createClient-CPUYdECn.d.cts → createClient-BPK4om7e.d.cts} +2 -2
  116. package/build/cjs/{delay-KIUUJ5NJ.cjs → delay-W2TSML2P.cjs} +4 -4
  117. package/build/cjs/{delay-KIUUJ5NJ.cjs.map → delay-W2TSML2P.cjs.map} +1 -1
  118. package/build/cjs/index.cjs +12 -16
  119. package/build/cjs/index.cjs.map +1 -1
  120. package/build/cjs/index.d.cts +3 -3
  121. package/build/cjs/public/internal-node.cjs +219 -219
  122. package/build/cjs/public/internal.cjs +14 -14
  123. package/build/cjs/public/internal.d.cts +1 -1
  124. package/build/cjs/public/unstable-do-not-use.cjs +694 -152
  125. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  126. package/build/cjs/public/unstable-do-not-use.d.cts +61 -10
  127. package/build/esm/Client.js +1 -1
  128. package/build/esm/Client.js.map +1 -1
  129. package/build/esm/MinimalClientContext.js.map +1 -1
  130. package/build/esm/actions/actions.test.js +9 -0
  131. package/build/esm/actions/actions.test.js.map +1 -1
  132. package/build/esm/createClient.js +4 -3
  133. package/build/esm/createClient.js.map +1 -1
  134. package/build/esm/createClient.test.js +1 -1
  135. package/build/esm/createClient.test.js.map +1 -1
  136. package/build/esm/createMinimalClient.js.map +1 -1
  137. package/build/esm/fetchMetadata.test.js +21 -1
  138. package/build/esm/fetchMetadata.test.js.map +1 -1
  139. package/build/esm/index.js +1 -1
  140. package/build/esm/index.js.map +1 -1
  141. package/build/esm/intellisense.test.js +1 -1
  142. package/build/esm/intellisense.test.js.map +1 -1
  143. package/build/esm/object/AttachmentUpload.js +1 -1
  144. package/build/esm/object/AttachmentUpload.js.map +1 -1
  145. package/build/esm/object/aggregate.js +3 -0
  146. package/build/esm/object/aggregate.js.map +1 -1
  147. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  148. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +3 -0
  149. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  150. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  151. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  152. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +85 -3
  153. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  154. package/build/esm/object/convertWireToOsdkObjects.js +18 -6
  155. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  156. package/build/esm/object/convertWireToOsdkObjects.test.js +178 -29
  157. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  158. package/build/esm/object/fetchPage.js +30 -5
  159. package/build/esm/object/fetchPage.js.map +1 -1
  160. package/build/esm/object/fetchPage.test.js.map +1 -1
  161. package/build/esm/object/mediaUpload.js +1 -1
  162. package/build/esm/object/mediaUpload.js.map +1 -1
  163. package/build/esm/object/object.test.js +123 -0
  164. package/build/esm/object/object.test.js.map +1 -1
  165. package/build/esm/objectSet/InterfaceObjectSet.test.js +1 -1
  166. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
  167. package/build/esm/objectSet/ObjectSet.test.js +7 -6
  168. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  169. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +2 -2
  170. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  171. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +3 -1
  172. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  173. package/build/esm/objectSet/createObjectSet.js +13 -0
  174. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  175. package/build/esm/objectSet/fetchLinksPage.js +57 -0
  176. package/build/esm/objectSet/fetchLinksPage.js.map +1 -0
  177. package/build/esm/objectSet/fetchLinksPage.test.js +102 -0
  178. package/build/esm/objectSet/fetchLinksPage.test.js.map +1 -0
  179. package/build/esm/observable/FunctionPayload.js +2 -0
  180. package/build/esm/observable/FunctionPayload.js.map +1 -0
  181. package/build/esm/observable/ListPayload.js.map +1 -1
  182. package/build/esm/observable/ObjectPayload.js.map +1 -1
  183. package/build/esm/observable/ObservableClient.js +0 -5
  184. package/build/esm/observable/ObservableClient.js.map +1 -1
  185. package/build/esm/observable/internal/Changes.js +3 -0
  186. package/build/esm/observable/internal/Changes.js.map +1 -1
  187. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
  188. package/build/esm/observable/internal/ObservableClientImpl.js +20 -0
  189. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  190. package/build/esm/observable/internal/Store.js +8 -0
  191. package/build/esm/observable/internal/Store.js.map +1 -1
  192. package/build/esm/observable/internal/Store.test.js +104 -1
  193. package/build/esm/observable/internal/Store.test.js.map +1 -1
  194. package/build/esm/observable/internal/actions/ActionApplication.js +11 -7
  195. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -1
  196. package/build/esm/observable/internal/actions/OptimisticJob.js +1 -1
  197. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -1
  198. package/build/esm/observable/internal/base-list/BaseListQuery.js +1 -1
  199. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  200. package/build/esm/observable/internal/function/FunctionCacheKey.js +26 -0
  201. package/build/esm/observable/internal/function/FunctionCacheKey.js.map +1 -0
  202. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js +150 -0
  203. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
  204. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
  205. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
  206. package/build/esm/observable/internal/function/FunctionQuery.js +137 -0
  207. package/build/esm/observable/internal/function/FunctionQuery.js.map +1 -0
  208. package/build/esm/observable/internal/function/FunctionQuery.test.js +278 -0
  209. package/build/esm/observable/internal/function/FunctionQuery.test.js.map +1 -0
  210. package/build/esm/observable/internal/function/FunctionsHelper.js +92 -0
  211. package/build/esm/observable/internal/function/FunctionsHelper.js.map +1 -0
  212. package/build/esm/observable/internal/links/SpecificLinkQuery.js +9 -1
  213. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  214. package/build/esm/observable/internal/list/ListQuery.js +17 -2
  215. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  216. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +9 -7
  217. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  218. package/build/esm/observable/internal/utils/rdpFieldOperations.js +46 -25
  219. package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  220. package/build/esm/observable/internal/utils/rdpFieldOperations.test.js +172 -0
  221. package/build/esm/observable/internal/utils/rdpFieldOperations.test.js.map +1 -0
  222. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  223. package/build/esm/queries/applyQuery.js +19 -1
  224. package/build/esm/queries/applyQuery.js.map +1 -1
  225. package/build/esm/queries/queries.test.js +14 -2
  226. package/build/esm/queries/queries.test.js.map +1 -1
  227. package/build/esm/util/UserAgent.js +2 -2
  228. package/build/esm/util/UserAgent.js.map +1 -1
  229. package/build/esm/util/toDataValue.js +0 -5
  230. package/build/esm/util/toDataValue.js.map +1 -1
  231. package/build/esm/util/toDataValue.test.js +2 -7
  232. package/build/esm/util/toDataValue.test.js.map +1 -1
  233. package/build/types/Client.d.ts +1 -1
  234. package/build/types/MinimalClientContext.d.ts +1 -1
  235. package/build/types/MinimalClientContext.d.ts.map +1 -1
  236. package/build/types/createClient.d.ts +1 -1
  237. package/build/types/createClient.d.ts.map +1 -1
  238. package/build/types/index.d.ts +1 -1
  239. package/build/types/index.d.ts.map +1 -1
  240. package/build/types/object/AttachmentUpload.d.ts.map +1 -1
  241. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +2 -0
  242. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  243. package/build/types/object/convertWireToOsdkObjects.d.ts +4 -4
  244. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  245. package/build/types/object/fetchPage.d.ts.map +1 -1
  246. package/build/types/object/object.test.d.ts.map +1 -1
  247. package/build/types/objectSet/fetchLinksPage.d.ts +1 -0
  248. package/build/types/objectSet/fetchLinksPage.d.ts.map +1 -0
  249. package/build/types/objectSet/fetchLinksPage.test.d.ts +1 -0
  250. package/build/types/objectSet/fetchLinksPage.test.d.ts.map +1 -0
  251. package/build/types/observable/FunctionPayload.d.ts +10 -0
  252. package/build/types/observable/FunctionPayload.d.ts.map +1 -0
  253. package/build/types/observable/ListPayload.d.ts +3 -2
  254. package/build/types/observable/ListPayload.d.ts.map +1 -1
  255. package/build/types/observable/ObjectPayload.d.ts +2 -2
  256. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  257. package/build/types/observable/ObservableClient.d.ts +61 -7
  258. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  259. package/build/types/observable/internal/Changes.d.ts +5 -3
  260. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  261. package/build/types/observable/internal/KnownCacheKey.d.ts +2 -1
  262. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
  263. package/build/types/observable/internal/Store.d.ts +5 -1
  264. package/build/types/observable/internal/Store.d.ts.map +1 -1
  265. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  266. package/build/types/observable/internal/actions/ActionApplication.d.ts.map +1 -1
  267. package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -1
  268. package/build/types/observable/internal/function/FunctionCacheKey.d.ts +17 -0
  269. package/build/types/observable/internal/function/FunctionCacheKey.d.ts.map +1 -0
  270. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts +16 -0
  271. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts.map +1 -0
  272. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts +1 -0
  273. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts.map +1 -0
  274. package/build/types/observable/internal/function/FunctionQuery.d.ts +40 -0
  275. package/build/types/observable/internal/function/FunctionQuery.d.ts.map +1 -0
  276. package/build/types/observable/internal/function/FunctionQuery.test.d.ts +1 -0
  277. package/build/types/observable/internal/function/FunctionQuery.test.d.ts.map +1 -0
  278. package/build/types/observable/internal/function/FunctionsHelper.d.ts +25 -0
  279. package/build/types/observable/internal/function/FunctionsHelper.d.ts.map +1 -0
  280. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -1
  281. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  282. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
  283. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -1
  284. package/build/types/observable/internal/utils/rdpFieldOperations.test.d.ts +1 -0
  285. package/build/types/observable/internal/utils/rdpFieldOperations.test.d.ts.map +1 -0
  286. package/build/types/public/unstable-do-not-use.d.ts +2 -1
  287. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  288. package/build/types/queries/applyQuery.d.ts.map +1 -1
  289. package/package.json +10 -10
  290. package/build/cjs/chunk-VDAI3GGL.cjs.map +0 -1
  291. package/build/cjs/chunk-WQL7SQ7H.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,143 @@
1
1
  # @osdk/client
2
2
 
3
+ ## 2.7.0-beta.11
4
+
5
+ ### Minor Changes
6
+
7
+ - 6cfe14a: add new useOsdkFunction hook and supporting client infrastructure
8
+ - ec6ad57: guard against empty ontology edits in actions
9
+ - 38d5958: fix order by via key stabilization
10
+ - d5cfc38: Add null option to actions to allow clearing data
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [d5cfc38]
15
+ - @osdk/api@2.7.0-beta.11
16
+ - @osdk/client.unstable@2.7.0-beta.11
17
+ - @osdk/generator-converters@2.7.0-beta.11
18
+
19
+ ## 2.7.0-beta.10
20
+
21
+ ### Minor Changes
22
+
23
+ - db44f6b: Add property security metadata to objects when requested
24
+ - 266b901: Fix queries that return arrays of objects.
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies [db44f6b]
29
+ - Updated dependencies [24a1e29]
30
+ - @osdk/api@2.7.0-beta.10
31
+ - @osdk/client.unstable@2.7.0-beta.10
32
+ - @osdk/generator-converters@2.7.0-beta.10
33
+
34
+ ## 2.7.0-beta.9
35
+
36
+ ### Minor Changes
37
+
38
+ - 6b27d8a: fix sorting strategy initialization for ListQuery and ObjectSetQuery
39
+
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [8381ac2]
43
+ - Updated dependencies [c95f3bc]
44
+ - @osdk/client.unstable@2.7.0-beta.9
45
+ - @osdk/api@2.7.0-beta.9
46
+ - @osdk/generator-converters@2.7.0-beta.9
47
+
48
+ ## 2.7.0-beta.8
49
+
50
+ ### Minor Changes
51
+
52
+ - c6124eb: Add ability to flush edits to transactions
53
+
54
+ ### Patch Changes
55
+
56
+ - @osdk/api@2.7.0-beta.8
57
+ - @osdk/client.unstable@2.7.0-beta.8
58
+ - @osdk/generator-converters@2.7.0-beta.8
59
+
60
+ ## 2.7.0-beta.7
61
+
62
+ ### Minor Changes
63
+
64
+ - adca853: fix fetchMore behavior
65
+ - 0b0be9f: fix object spread related bug by using createOsdkObject
66
+
67
+ ### Patch Changes
68
+
69
+ - @osdk/api@2.7.0-beta.7
70
+ - @osdk/client.unstable@2.7.0-beta.7
71
+ - @osdk/generator-converters@2.7.0-beta.7
72
+
73
+ ## 2.7.0-beta.6
74
+
75
+ ### Minor Changes
76
+
77
+ - c332598: Adds experimental platform API hooks to fetch Foundry users
78
+ - 0b2cd91: fix SimplePropertyDef issue, wire RDPs through, update names
79
+
80
+ ### Patch Changes
81
+
82
+ - Updated dependencies [c9ca08d]
83
+ - @osdk/api@2.7.0-beta.6
84
+ - @osdk/client.unstable@2.7.0-beta.6
85
+ - @osdk/generator-converters@2.7.0-beta.6
86
+
87
+ ## 2.7.0-beta.5
88
+
89
+ ### Minor Changes
90
+
91
+ - dc33f68: Add Transaction ID to Queries
92
+
93
+ ### Patch Changes
94
+
95
+ - Updated dependencies [dc33f68]
96
+ - @osdk/generator-converters@2.7.0-beta.5
97
+ - @osdk/api@2.7.0-beta.5
98
+ - @osdk/client.unstable@2.7.0-beta.5
99
+
100
+ ## 2.7.0-beta.4
101
+
102
+ ### Minor Changes
103
+
104
+ - 1e3c147: Add experimental_asyncIterLinks method on object sets
105
+
106
+ ### Patch Changes
107
+
108
+ - Updated dependencies [1e3c147]
109
+ - @osdk/api@2.7.0-beta.4
110
+ - @osdk/client.unstable@2.7.0-beta.4
111
+ - @osdk/generator-converters@2.7.0-beta.4
112
+
113
+ ## 2.7.0-beta.3
114
+
115
+ ### Minor Changes
116
+
117
+ - a23784c: wire action edit response types through for useOsdkAction
118
+ - f0a57a5: Use new interface property fields to include interface property types in codegen
119
+
120
+ ### Patch Changes
121
+
122
+ - Updated dependencies [448763f]
123
+ - Updated dependencies [f0a57a5]
124
+ - @osdk/api@2.7.0-beta.3
125
+ - @osdk/generator-converters@2.7.0-beta.3
126
+ - @osdk/client.unstable@2.7.0-beta.3
127
+
128
+ ## 2.7.0-beta.2
129
+
130
+ ### Minor Changes
131
+
132
+ - 03db734: Move platform SDK deps to pnpm catalog
133
+ - c8da6b7: fix useLinks sorting strategy initialization
134
+
135
+ ### Patch Changes
136
+
137
+ - @osdk/api@2.7.0-beta.2
138
+ - @osdk/client.unstable@2.7.0-beta.2
139
+ - @osdk/generator-converters@2.7.0-beta.2
140
+
3
141
  ## 2.6.0-beta.13
4
142
 
5
143
  ### Minor Changes
@@ -21,7 +21,7 @@
21
21
  export const additionalContext = Symbol("additionalContext");
22
22
 
23
23
  // BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.
24
- const MaxOsdkVersion = "2.6.0";
24
+ const MaxOsdkVersion = "2.7.0";
25
25
  // END: THIS IS GENERATED CODE. DO NOT EDIT.
26
26
 
27
27
  const ErrorMessage = Symbol("ErrorMessage");
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> = Q extends VersionBound<infer V> ? (\n SatisfiesSemver<V, MaxOsdkVersion> extends true ? Q\n : Q & {\n [ErrorMessage]:\n `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n )\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends (InterfaceDefinition)>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends ActionDefinition<any>>(\n o: Q,\n ): ActionSignatureFromDef<Q>;\n\n <Q extends QueryDefinition<any>>(\n o: Q,\n ): QuerySignatureFromDef<Q>;\n\n <Q extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\"> | Experiment<\"2.2.0\">>(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n fetchMetadata<\n Q extends (\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n ),\n >(o: Q): Promise<\n Q extends ObjectTypeDefinition ? ObjectMetadata\n : Q extends InterfaceDefinition ? InterfaceMetadata\n : Q extends ActionDefinition<any> ? ActionMetadata\n : Q extends QueryDefinition<any> ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.6.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\nexport type MaxOsdkVersion = typeof MaxOsdkVersion;\nconst ErrorMessage: unique symbol = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0BA;;AAsDA;AACA;AACA,OAAO,MAAMA,iBAAgC,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAE3E;AACA,MAAMC,cAAc,GAAG,OAAO;AAC9B;;AAEA,MAAMC,YAA2B,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> = Q extends VersionBound<infer V> ? (\n SatisfiesSemver<V, MaxOsdkVersion> extends true ? Q\n : Q & {\n [ErrorMessage]:\n `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n )\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends (InterfaceDefinition)>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends ActionDefinition<any>>(\n o: Q,\n ): ActionSignatureFromDef<Q>;\n\n <Q extends QueryDefinition<any>>(\n o: Q,\n ): QuerySignatureFromDef<Q>;\n\n <Q extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\"> | Experiment<\"2.2.0\">>(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n fetchMetadata<\n Q extends (\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n ),\n >(o: Q): Promise<\n Q extends ObjectTypeDefinition ? ObjectMetadata\n : Q extends InterfaceDefinition ? InterfaceMetadata\n : Q extends ActionDefinition<any> ? ActionMetadata\n : Q extends QueryDefinition<any> ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.7.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\nexport type MaxOsdkVersion = typeof MaxOsdkVersion;\nconst ErrorMessage: unique symbol = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0BA;;AAsDA;AACA;AACA,OAAO,MAAMA,iBAAgC,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAE3E;AACA,MAAMC,cAAc,GAAG,OAAO;AAC9B;;AAEA,MAAMC,YAA2B,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MinimalClientContext.js","names":[],"sources":["MinimalClientContext.ts"],"sourcesContent":["/*\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 type { Logger } from \"@osdk/api\";\nimport type { SharedClientContext } from \"@osdk/shared.client2\";\nimport type {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\n\ndeclare const tag: unique symbol;\n\nexport type ClientCacheKey = {} & { readonly [tag]: void };\n\nexport type RequestContext = {\n finalMethodCall?: string;\n};\n\nexport interface MinimalClient extends SharedClientContext {\n ontologyRid: string | Promise<string>;\n ontologyProvider: OntologyProvider;\n logger?: Logger;\n transactionId?: string;\n branch?: string;\n /** @internal */\n objectSetFactory: ObjectSetFactory<any, any>;\n /** @internal */\n objectFactory: typeof convertWireToOsdkObjects;\n /** @internal */\n objectFactory2: typeof convertWireToOsdkObjects2;\n\n clientCacheKey: ClientCacheKey;\n requestContext: RequestContext;\n narrowTypeInterfaceOrObjectMapping: Record<string, \"object\" | \"interface\">;\n}\n\nexport type MinimalClientParams = {\n metadata: MinimalClientMetadata;\n provider: OntologyProvider;\n};\n\nexport interface MinimalClientMetadata {\n ontologyRid: string | Promise<string>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"MinimalClientContext.js","names":[],"sources":["MinimalClientContext.ts"],"sourcesContent":["/*\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 type { Logger } from \"@osdk/api\";\nimport type { SharedClientContext } from \"@osdk/shared.client2\";\nimport type {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\n\ndeclare const tag: unique symbol;\n\nexport type ClientCacheKey = {} & { readonly [tag]: void };\n\nexport type RequestContext = {\n finalMethodCall?: string;\n};\n\nexport interface MinimalClient extends SharedClientContext {\n ontologyRid: string | Promise<string>;\n ontologyProvider: OntologyProvider;\n logger?: Logger;\n branch?: string;\n /** @internal */\n objectSetFactory: ObjectSetFactory<any, any>;\n /** @internal */\n objectFactory: typeof convertWireToOsdkObjects;\n /** @internal */\n objectFactory2: typeof convertWireToOsdkObjects2;\n /** @internal */\n\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n\n clientCacheKey: ClientCacheKey;\n requestContext: RequestContext;\n narrowTypeInterfaceOrObjectMapping: Record<string, \"object\" | \"interface\">;\n}\n\nexport type MinimalClientParams = {\n metadata: MinimalClientMetadata;\n provider: OntologyProvider;\n};\n\nexport interface MinimalClientMetadata {\n ontologyRid: string | Promise<string>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -299,6 +299,15 @@ describe.each(["https://stack.palantir.com", "https://stack.palantirCustom.com/f
299
299
  "type": "edits"
300
300
  });
301
301
  });
302
+ it("nullable parameters work with nullish coalescing", () => {
303
+ client(createOffice).applyAction;
304
+ expectTypeOf().toMatchTypeOf();
305
+ const address = {
306
+ officeId: "HQ",
307
+ address: null
308
+ }.address ?? "address";
309
+ expect(address).toBe("address");
310
+ });
302
311
  });
303
312
  describe("ActionResponse remapping", () => {
304
313
  const actionResponse = {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.test.js","names":["$Actions","actionTakesAttachment","actionTakesMedia","addGeoshape","createFooInterface","createOffice","createStructPerson","deleteBarInterface","deleteFooInterface","Employee","moveOffice","LegacyFauxFoundry","MockOntologiesV2","startNodeApiServer","stubData","beforeAll","describe","expect","expectTypeOf","it","vi","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","each","baseUrl","client","apiServer","testSetup","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchObject","undefinedResult","toBeUndefined","batchApplyAction","clientCreateOfficeMock","fn","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","name","city","state","zipcode","boundary","use","Actions","apply","submissionCriteria","parameters","attachment","blob","Blob","JSON","stringify","fileAttachment","Object","assign","result2","media_reference","actionRequestMediaUpload","geoshapeParam","type","coordinates","geohashParam","deletedInterface","$objectType","$primaryKey","createdInterface","apiName","actionResponse","edits","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","toMatchInlineSnapshot","actions","keys","toStrictEqual","wrapper","example","Promise","resolve"],"sources":["actions.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionEditResponse,\n ActionValidationResponse,\n AttachmentUpload,\n MediaReference,\n} from \"@osdk/api\";\nimport {\n $Actions,\n actionTakesAttachment,\n actionTakesMedia,\n addGeoshape,\n createFooInterface,\n createOffice,\n createStructPerson,\n deleteBarInterface,\n deleteFooInterface,\n Employee,\n moveOffice,\n} from \"@osdk/client.test.ontology\";\nimport type {\n BatchApplyActionResponseV2,\n SyncApplyActionResponseV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { SetupServer } from \"@osdk/shared.test\";\nimport {\n LegacyFauxFoundry,\n MockOntologiesV2,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\n\ndescribe.each([\n \"https://stack.palantir.com\",\n \"https://stack.palantirCustom.com/foo/first/someStuff\",\n])(\"actions for %s\", (baseUrl) => {\n let client: Client;\n let apiServer: SetupServer;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(\n new LegacyFauxFoundry(baseUrl),\n createClient,\n );\n ({ client, apiServer } = testSetup);\n\n return () => {\n apiServer.close();\n };\n });\n\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n\n expectTypeOf<typeof result>().toEqualTypeOf<ActionEditResponse>();\n expect(result).toMatchObject(\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinks\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [],\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n },\n );\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n\n expectTypeOf<typeof undefinedResult>().toEqualTypeOf<undefined>();\n expect(undefinedResult).toBeUndefined();\n\n const clientCreateOffice = client(createOffice).batchApplyAction;\n const clientCreateOfficeMock: typeof clientCreateOffice = vi.fn();\n void clientCreateOfficeMock([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n // intentionally using a string to trigger validation errors\n newCapacity: \"40\" as unknown as number,\n }, {\n $validateOnly: true,\n });\n expectTypeOf<typeof result>().toEqualTypeOf<ActionValidationResponse>();\n\n expect(result).toMatchObject(\n {\n \"parameters\": {\n \"newCapacity\": {\n \"evaluatedConstraints\": [],\n \"required\": false,\n \"result\": \"INVALID\",\n },\n },\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n },\n );\n });\n\n it(\"returns validation directly on validateOnly mode, with custom entry point in URL\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n // intentionally using a string to trigger validation failure\n newCapacity: \"40\" as unknown as number,\n }, {\n $validateOnly: true,\n });\n expectTypeOf<typeof result>().toEqualTypeOf<ActionValidationResponse>();\n\n expect(result).toMatchObject(\n {\n \"parameters\": {\n \"newCapacity\": {\n \"evaluatedConstraints\": [],\n \"required\": false,\n \"result\": \"INVALID\",\n },\n },\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n },\n );\n });\n\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n // intentionally using a string to trigger validation failure\n newCapacity: \"40\" as unknown as number,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n } catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect((e as ActionValidationError).validation).toMatchObject(\n {\n \"parameters\": {\n \"newCapacity\": {\n \"evaluatedConstraints\": [],\n \"required\": false,\n \"result\": \"INVALID\",\n },\n },\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n },\n );\n }\n });\n\n it(\"Accepts structs\", async () => {\n const clientBoundActionTakesStruct = client(createStructPerson).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesStruct\n >[0];\n expectTypeOf<\n {\n name: string;\n address: { city: string; state: string; zipcode: number };\n }\n >()\n .toMatchTypeOf<\n InferredParamType\n >();\n\n const result = await client(createStructPerson).applyAction({\n name: \"testMan\",\n address: { city: \"NYC\", state: \"NY\", zipcode: 12345 },\n });\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(\n actionTakesAttachment,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesAttachment\n >[0];\n\n expectTypeOf<{ attachment: string | AttachmentUpload }>().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesAttachment = client(\n actionTakesAttachment,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesAttachment\n >[0];\n\n expectTypeOf<{\n attachment: string | AttachmentUpload;\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n\n await apiServer.boundary(async () => {\n apiServer.use(MockOntologiesV2.Actions.apply(baseUrl, (info) => {\n return {\n validation: {\n result: \"VALID\",\n submissionCriteria: [],\n parameters: {},\n },\n };\n }));\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"ri.some.rid\",\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n })();\n });\n\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(\n actionTakesAttachment,\n ).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesAttachment\n >[0];\n const clientBoundBatchActionTakesAttachment = client(\n actionTakesAttachment,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesAttachment\n >[0];\n\n expectTypeOf<\n {\n attachment:\n | string\n | AttachmentUpload\n | Blob & { readonly name: string };\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n expectTypeOf<\n {\n attachment:\n | string\n | AttachmentUpload\n | Blob & { readonly name: string };\n }[]\n >().toMatchTypeOf<\n InferredBatchParamType\n >();\n\n const blob = new Blob([JSON.stringify({ name: \"Hello World\" }, null, 2)]);\n\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const fileAttachment = Object.assign(blob, { name: \"file1.txt\" });\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result2 = await client(actionTakesAttachment).applyAction({\n attachment: fileAttachment,\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n\n expectTypeOf<typeof result2>().toEqualTypeOf<undefined>();\n expect(result2).toBeUndefined();\n });\n\n it(\"Accepts media reference\", async () => {\n const clientBoundActionTakesMedia = client(\n actionTakesMedia,\n ).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesMedia\n >[0];\n\n expectTypeOf<\n {\n media_reference: MediaReference;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const result = await client(actionTakesMedia).applyAction({\n media_reference:\n stubData.actionRequestMediaUpload.parameters.media_reference,\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n\n it(\"Accepts geoshapes\", async () => {\n const clientBoundActionTakesMedia = client(\n addGeoshape,\n ).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesMedia\n >[0];\n\n expectTypeOf<\n {\n geoshapeParam: GeoJSON.GeoJSON;\n geohashParam: GeoJSON.Point;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const result = await client(addGeoshape).applyAction({\n geoshapeParam: {\n type: \"Polygon\",\n coordinates: [\n [\n [\n -97.86567863752134,\n 38.418052586871624,\n ],\n [\n -97.86567863752134,\n 35.410223767370525,\n ],\n [\n -91.98573135442845,\n 35.410223767370525,\n ],\n [\n -91.98573135442845,\n 38.418052586871624,\n ],\n [\n -97.86567863752134,\n 38.418052586871624,\n ],\n ],\n ],\n },\n geohashParam: {\n type: \"Point\",\n coordinates: [-79.4382042508868, 40.917859676842255],\n },\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n\n it(\"Accepts interfaces\", async () => {\n const clientBoundTakesInterface = client(\n deleteFooInterface,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundTakesInterface\n >[0];\n\n expectTypeOf<\n {\n deletedInterface: {\n $objectType: \"Employee\" | \"Person\";\n $primaryKey: string | number;\n };\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesInterface = client(\n deleteFooInterface,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesInterface\n >[0];\n\n expectTypeOf<{\n deletedInterface: {\n $objectType: \"Employee\" | \"Person\";\n $primaryKey: string | number;\n };\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n\n const result = await client(deleteFooInterface).applyAction({\n deletedInterface: {\n $objectType: \"Employee\",\n $primaryKey: 50030,\n },\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n it(\"Accepts interfaces if implementing object types unknown\", async () => {\n const clientBoundTakesInterface = client(\n deleteBarInterface,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundTakesInterface\n >[0];\n\n expectTypeOf<\n {\n deletedInterface: {\n $objectType: string;\n $primaryKey: string | number;\n };\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesInterface = client(\n deleteBarInterface,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesInterface\n >[0];\n\n expectTypeOf<{\n deletedInterface: {\n $objectType: string;\n $primaryKey: string | number;\n };\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n });\n it(\"Accepts object type refs\", async () => {\n const clientBoundTakesObjectType = client(\n createFooInterface,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundTakesObjectType\n >[0];\n\n expectTypeOf<\n {\n createdInterface: string;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesObjectType = client(\n createFooInterface,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesObjectType\n >[0];\n\n expectTypeOf<{\n createdInterface: string;\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n\n const result = await client(createFooInterface).applyAction({\n createdInterface: Employee.apiName,\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n\n expect(result).toMatchObject(\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinks\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [],\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n },\n );\n });\n});\n\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse: SyncApplyActionResponseV2 = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }, {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"deleteObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"deleteLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 1,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n\n const batchActionResponse: BatchApplyActionResponseV2 = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(\n batchActionResponse,\n );\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedObjectsCount\": 1,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinks\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [],\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesMedia\",\n \"actionTakesObjectSet\",\n \"addGeoshape\",\n \"createFooInterface\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"createStructPerson\",\n \"deleteBarInterface\",\n \"deleteFooInterface\",\n \"editTodo\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n\nfunction wrapper<R>(fn: () => R): typeof fn {\n return () => fn();\n}\n\nasync function example() {\n await wrapper(async () => Promise.resolve(\"hi\"))();\n}\n"],"mappings":"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EAAE,MAAM;UAAE,YAAY,EAAE;QAAW,CAAC;QACjE,MAAM,EAAE;MACV,CAAC,CAAC;MACFC,iBAAiB,EAAE,CAAC;MACpBC,mBAAmB,EAAE,CAAC;MACtBC,gBAAgB,EAAE,CAAC;MACnBC,oBAAoB,EAAE,CAAC;MACvBC,eAAe,EAAE;IACnB;EACF,CAAC;EAEDrE,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACxD,MAAMuE,sBAAsB,GAAGlE,mBAAmB,CAAC0D,cAAc,CAAC;IAClE,MAAMS,2BAA2B,GAAGnE,mBAAmB,CACrDiE,mBACF,CAAC;IACDxE,MAAM,CAACyE,sBAAsB,CAAC,CAACE,qBAAqB,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;IACF3E,MAAM,CAAC0E,2BAA2B,CAAC,CAACC,qBAAqB,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EACFzE,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACvC,MAAM0E,OAAO,GAAGzB,MAAM,CAAC0B,IAAI,CAAC9F,QAAQ,CAAC;IACrCiB,MAAM,CAAC4E,OAAO,CAAC,CAACE,aAAa,CAAC,CAC5B,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,SAASC,OAAOA,CAAIrD,EAAW,EAAa;EAC1C,OAAO,MAAMA,EAAE,CAAC,CAAC;AACnB;AAEA,eAAesD,OAAOA,CAAA,EAAG;EACvB,MAAMD,OAAO,CAAC,YAAYE,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"file":"actions.test.js","names":["$Actions","actionTakesAttachment","actionTakesMedia","addGeoshape","createFooInterface","createOffice","createStructPerson","deleteBarInterface","deleteFooInterface","Employee","moveOffice","LegacyFauxFoundry","MockOntologiesV2","startNodeApiServer","stubData","beforeAll","describe","expect","expectTypeOf","it","vi","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","each","baseUrl","client","apiServer","testSetup","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchObject","undefinedResult","toBeUndefined","batchApplyAction","clientCreateOfficeMock","fn","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","name","city","state","zipcode","boundary","use","Actions","apply","submissionCriteria","parameters","attachment","blob","Blob","JSON","stringify","fileAttachment","Object","assign","result2","media_reference","actionRequestMediaUpload","geoshapeParam","type","coordinates","geohashParam","deletedInterface","$objectType","$primaryKey","createdInterface","apiName","toBe","actionResponse","edits","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","toMatchInlineSnapshot","actions","keys","toStrictEqual","wrapper","example","Promise","resolve"],"sources":["actions.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionEditResponse,\n ActionValidationResponse,\n AttachmentUpload,\n MediaReference,\n} from \"@osdk/api\";\nimport {\n $Actions,\n actionTakesAttachment,\n actionTakesMedia,\n addGeoshape,\n createFooInterface,\n createOffice,\n createStructPerson,\n deleteBarInterface,\n deleteFooInterface,\n Employee,\n moveOffice,\n} from \"@osdk/client.test.ontology\";\nimport type {\n BatchApplyActionResponseV2,\n SyncApplyActionResponseV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { SetupServer } from \"@osdk/shared.test\";\nimport {\n LegacyFauxFoundry,\n MockOntologiesV2,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\n\ndescribe.each([\n \"https://stack.palantir.com\",\n \"https://stack.palantirCustom.com/foo/first/someStuff\",\n])(\"actions for %s\", (baseUrl) => {\n let client: Client;\n let apiServer: SetupServer;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(\n new LegacyFauxFoundry(baseUrl),\n createClient,\n );\n ({ client, apiServer } = testSetup);\n\n return () => {\n apiServer.close();\n };\n });\n\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n\n expectTypeOf<typeof result>().toEqualTypeOf<ActionEditResponse>();\n expect(result).toMatchObject(\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinks\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [],\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n },\n );\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n\n expectTypeOf<typeof undefinedResult>().toEqualTypeOf<undefined>();\n expect(undefinedResult).toBeUndefined();\n\n const clientCreateOffice = client(createOffice).batchApplyAction;\n const clientCreateOfficeMock: typeof clientCreateOffice = vi.fn();\n void clientCreateOfficeMock([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n // intentionally using a string to trigger validation errors\n newCapacity: \"40\" as unknown as number,\n }, {\n $validateOnly: true,\n });\n expectTypeOf<typeof result>().toEqualTypeOf<ActionValidationResponse>();\n\n expect(result).toMatchObject(\n {\n \"parameters\": {\n \"newCapacity\": {\n \"evaluatedConstraints\": [],\n \"required\": false,\n \"result\": \"INVALID\",\n },\n },\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n },\n );\n });\n\n it(\"returns validation directly on validateOnly mode, with custom entry point in URL\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n // intentionally using a string to trigger validation failure\n newCapacity: \"40\" as unknown as number,\n }, {\n $validateOnly: true,\n });\n expectTypeOf<typeof result>().toEqualTypeOf<ActionValidationResponse>();\n\n expect(result).toMatchObject(\n {\n \"parameters\": {\n \"newCapacity\": {\n \"evaluatedConstraints\": [],\n \"required\": false,\n \"result\": \"INVALID\",\n },\n },\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n },\n );\n });\n\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n // intentionally using a string to trigger validation failure\n newCapacity: \"40\" as unknown as number,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n } catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect((e as ActionValidationError).validation).toMatchObject(\n {\n \"parameters\": {\n \"newCapacity\": {\n \"evaluatedConstraints\": [],\n \"required\": false,\n \"result\": \"INVALID\",\n },\n },\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n },\n );\n }\n });\n\n it(\"Accepts structs\", async () => {\n const clientBoundActionTakesStruct = client(createStructPerson).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesStruct\n >[0];\n expectTypeOf<\n {\n name: string;\n address: { city: string; state: string; zipcode: number };\n }\n >()\n .toMatchTypeOf<\n InferredParamType\n >();\n\n const result = await client(createStructPerson).applyAction({\n name: \"testMan\",\n address: { city: \"NYC\", state: \"NY\", zipcode: 12345 },\n });\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(\n actionTakesAttachment,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesAttachment\n >[0];\n\n expectTypeOf<{ attachment: string | AttachmentUpload }>().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesAttachment = client(\n actionTakesAttachment,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesAttachment\n >[0];\n\n expectTypeOf<{\n attachment: string | AttachmentUpload;\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n\n await apiServer.boundary(async () => {\n apiServer.use(MockOntologiesV2.Actions.apply(baseUrl, (info) => {\n return {\n validation: {\n result: \"VALID\",\n submissionCriteria: [],\n parameters: {},\n },\n };\n }));\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"ri.some.rid\",\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n })();\n });\n\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(\n actionTakesAttachment,\n ).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesAttachment\n >[0];\n const clientBoundBatchActionTakesAttachment = client(\n actionTakesAttachment,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesAttachment\n >[0];\n\n expectTypeOf<\n {\n attachment:\n | string\n | AttachmentUpload\n | Blob & { readonly name: string };\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n expectTypeOf<\n {\n attachment:\n | string\n | AttachmentUpload\n | Blob & { readonly name: string };\n }[]\n >().toMatchTypeOf<\n InferredBatchParamType\n >();\n\n const blob = new Blob([JSON.stringify({ name: \"Hello World\" }, null, 2)]);\n\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const fileAttachment = Object.assign(blob, { name: \"file1.txt\" });\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result2 = await client(actionTakesAttachment).applyAction({\n attachment: fileAttachment,\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n\n expectTypeOf<typeof result2>().toEqualTypeOf<undefined>();\n expect(result2).toBeUndefined();\n });\n\n it(\"Accepts media reference\", async () => {\n const clientBoundActionTakesMedia = client(\n actionTakesMedia,\n ).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesMedia\n >[0];\n\n expectTypeOf<\n {\n media_reference: MediaReference;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const result = await client(actionTakesMedia).applyAction({\n media_reference:\n stubData.actionRequestMediaUpload.parameters.media_reference,\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n\n it(\"Accepts geoshapes\", async () => {\n const clientBoundActionTakesMedia = client(\n addGeoshape,\n ).applyAction;\n type InferredParamType = Parameters<\n typeof clientBoundActionTakesMedia\n >[0];\n\n expectTypeOf<\n {\n geoshapeParam: GeoJSON.GeoJSON;\n geohashParam: GeoJSON.Point;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const result = await client(addGeoshape).applyAction({\n geoshapeParam: {\n type: \"Polygon\",\n coordinates: [\n [\n [\n -97.86567863752134,\n 38.418052586871624,\n ],\n [\n -97.86567863752134,\n 35.410223767370525,\n ],\n [\n -91.98573135442845,\n 35.410223767370525,\n ],\n [\n -91.98573135442845,\n 38.418052586871624,\n ],\n [\n -97.86567863752134,\n 38.418052586871624,\n ],\n ],\n ],\n },\n geohashParam: {\n type: \"Point\",\n coordinates: [-79.4382042508868, 40.917859676842255],\n },\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n\n it(\"Accepts interfaces\", async () => {\n const clientBoundTakesInterface = client(\n deleteFooInterface,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundTakesInterface\n >[0];\n\n expectTypeOf<\n {\n deletedInterface: {\n $objectType: \"Employee\" | \"Person\";\n $primaryKey: string | number;\n };\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesInterface = client(\n deleteFooInterface,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesInterface\n >[0];\n\n expectTypeOf<{\n deletedInterface: {\n $objectType: \"Employee\" | \"Person\";\n $primaryKey: string | number;\n };\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n\n const result = await client(deleteFooInterface).applyAction({\n deletedInterface: {\n $objectType: \"Employee\",\n $primaryKey: 50030,\n },\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n it(\"Accepts interfaces if implementing object types unknown\", async () => {\n const clientBoundTakesInterface = client(\n deleteBarInterface,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundTakesInterface\n >[0];\n\n expectTypeOf<\n {\n deletedInterface: {\n $objectType: string;\n $primaryKey: string | number;\n };\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesInterface = client(\n deleteBarInterface,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesInterface\n >[0];\n\n expectTypeOf<{\n deletedInterface: {\n $objectType: string;\n $primaryKey: string | number;\n };\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n });\n it(\"Accepts object type refs\", async () => {\n const clientBoundTakesObjectType = client(\n createFooInterface,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundTakesObjectType\n >[0];\n\n expectTypeOf<\n {\n createdInterface: string;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const clientBoundBatchActionTakesObjectType = client(\n createFooInterface,\n ).batchApplyAction;\n type InferredBatchParamType = Parameters<\n typeof clientBoundBatchActionTakesObjectType\n >[0];\n\n expectTypeOf<{\n createdInterface: string;\n }[]>().toMatchTypeOf<InferredBatchParamType>();\n\n const result = await client(createFooInterface).applyAction({\n createdInterface: Employee.apiName,\n });\n\n expectTypeOf<typeof result>().toEqualTypeOf<undefined>();\n expect(result).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n\n expect(result).toMatchObject(\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinks\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [],\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n },\n );\n });\n\n it(\"nullable parameters work with nullish coalescing\", () => {\n const clientBoundAction = client(\n createOffice,\n ).applyAction;\n\n type InferredParamType = Parameters<\n typeof clientBoundAction\n >[0];\n\n expectTypeOf<\n {\n officeId: string;\n address: string | null;\n capacity: number | null;\n }\n >().toMatchTypeOf<\n InferredParamType\n >();\n\n const params: InferredParamType = { officeId: \"HQ\", address: null };\n\n const address: string = params.address ?? \"address\";\n expect(address).toBe(\"address\");\n });\n});\n\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse: SyncApplyActionResponseV2 = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }, {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"deleteObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"deleteLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 1,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n\n const batchActionResponse: BatchApplyActionResponseV2 = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(\n batchActionResponse,\n );\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedObjectsCount\": 1,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinks\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjects\": [],\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesMedia\",\n \"actionTakesObjectSet\",\n \"addGeoshape\",\n \"createFooInterface\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"createStructPerson\",\n \"deleteBarInterface\",\n \"deleteFooInterface\",\n \"editTodo\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n\nfunction wrapper<R>(fn: () => R): typeof fn {\n return () => fn();\n}\n\nasync function example() {\n await wrapper(async () => Promise.resolve(\"hi\"))();\n}\n"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,7 @@ class QueryInvoker {
51
51
  }
52
52
 
53
53
  /** @internal */
54
- export function createClientInternal(objectSetFactory, transactionRid, baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
54
+ export function createClientInternal(objectSetFactory, transactionRid, flushEdits, baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
55
55
  if (typeof ontologyRid === "string") {
56
56
  if (!ontologyRid.startsWith("ri.")) {
57
57
  throw new Error("Invalid ontology RID");
@@ -71,6 +71,7 @@ export function createClientInternal(objectSetFactory, transactionRid, baseUrl,
71
71
  ...options,
72
72
  logger: options?.logger ?? new MinimalLogger(),
73
73
  transactionId: transactionRid,
74
+ flushEdits,
74
75
  branch: options?.branch
75
76
  }, fetchFn, objectSetFactory);
76
77
  return createClientFromContext(clientCtx);
@@ -145,8 +146,8 @@ export function createClientFromContext(clientCtx) {
145
146
  });
146
147
  return client;
147
148
  }
148
- export const createClient = createClientInternal.bind(undefined, createObjectSet, undefined);
149
- export const createClientWithTransaction = (transactionRid, ...args) => createClientInternal(createObjectSet, transactionRid, ...args);
149
+ export const createClient = createClientInternal.bind(undefined, createObjectSet, undefined, undefined);
150
+ export const createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(createObjectSet, transactionRid, flushEdits, ...args);
150
151
  function createWithRid(rids) {
151
152
  return {
152
153
  type: "static",
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","OntologiesV2","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","branch","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","MediaReferenceProperties","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","value","createClient","createClientWithTransaction"],"sources":["createClient.ts"],"sourcesContent":["/*\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 type {\n ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options: { logger?: Logger; branch?: string } | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n branch: options?.branch,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\">\n ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(\n clientCtx,\n ),\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<Q, L, R, any, S> = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n branch?: string;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionRid: string,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","OntologiesV2","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","flushEdits","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","branch","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","MediaReferenceProperties","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","value","createClient","createClientWithTransaction"],"sources":["createClient.ts"],"sourcesContent":["/*\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 type {\n ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n flushEdits: (() => Promise<void>) | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options: { logger?: Logger; branch?: string } | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits,\n branch: options?.branch,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\">\n ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(\n clientCtx,\n ),\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<Q, L, R, any, S> = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n branch?: string;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionId: string,\n flushEdits: () => Promise<void>,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, flushEdits, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n flushEdits,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -77,7 +77,7 @@ describe(createClient, () => {
77
77
  describe("client created with transactionId forwards to requests", () => {
78
78
  it("forwards transactionId in fetchPage", async () => {
79
79
  const transactionId = "test-transaction-id";
80
- const clientWithTransaction = createClientWithTransaction(transactionId, "https://mock.com", ontologyRid, async () => "Token", {}, fetchFunction);
80
+ const clientWithTransaction = createClientWithTransaction(transactionId, async () => {}, "https://mock.com", ontologyRid, async () => "Token", {}, fetchFunction);
81
81
  mockFetchResponse(fetchFunction, {
82
82
  data: []
83
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.test.js","names":["BarInterface","SharedClientContext","beforeEach","describe","expect","it","vi","metadataCacheClient","createClient","createClientWithTransaction","MakeConjureContext","USER_AGENT","mockFetchResponse","fetch","response","mockResolvedValueOnce","json","Promise","resolve","blob","status","ok","fetchFunction","client","ontologyRid","fn","undefined","data","getUserAgentPartsFromMockedFetch","userAgent","mock","calls","headers","get","parts","split","fetchPage","toHaveBeenCalledTimes","toEqual","osdkMetadata","extraUserAgent","spy","spyOn","toBe","conjureContextSpy","baseUrl","ontologyProvider","getObjectDefinition","results","value","transactionId","clientWithTransaction","url","toBeDefined","parsedUrl","URL","someParam","searchParams"],"sources":["createClient.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BarInterface } from \"@osdk/client.test.ontology\";\nimport * as SharedClientContext from \"@osdk/shared.client.impl\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { metadataCacheClient } from \"./__unstable/ConjureSupport.js\";\nimport type { Client } from \"./Client.js\";\nimport { createClient, createClientWithTransaction } from \"./createClient.js\";\nimport * as MakeConjureContext from \"./ontology/makeConjureContext.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\nexport function mockFetchResponse(\n fetch: MockedFunction<typeof globalThis.fetch>,\n response: any,\n): void {\n fetch.mockResolvedValueOnce({\n json: () => Promise.resolve(response),\n blob: () => Promise.resolve(response),\n status: 200,\n ok: true,\n } as any);\n}\n\ndescribe(createClient, () => {\n const validOlderVersion = \"0.13.0\" as const;\n const validCurrentVersion = \"0.14.0\" as const;\n const invalidFutureVersion = \"100.100.100\" as const;\n\n let fetchFunction: MockedFunction<typeof globalThis.fetch>;\n let client: Client;\n\n const ontologyRid = \"ri.not.important\";\n\n beforeEach(() => {\n fetchFunction = vi.fn();\n\n client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n });\n\n describe(\"user agent passing\", () => {\n function getUserAgentPartsFromMockedFetch() {\n const userAgent = (fetchFunction.mock.calls[0][1]?.headers as Headers)\n .get(\n \"Fetch-User-Agent\",\n );\n const parts = userAgent?.split(\" \") ?? [];\n return parts;\n }\n\n it(\"works for objects\", async () => {\n await client(BarInterface).fetchPage();\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n\n const parts = getUserAgentPartsFromMockedFetch();\n expect(parts).toEqual([\n ...BarInterface.osdkMetadata!\n .extraUserAgent\n .split(\" \"),\n USER_AGENT,\n ]);\n });\n });\n\n describe(\"check url formatting\", () => {\n it(\"urls are correctly formatted\", async () => {\n const spy = vi.spyOn(SharedClientContext, \"createSharedClientContext\");\n const client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[0][0]).toBe(\"https://mock.com/\");\n\n createClient(\n \"https://mock1.com/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[1][0]).toBe(\"https://mock1.com/\");\n\n createClient(\n \"https://mock2.com/stuff/first/foo\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[2][0]).toBe(\"https://mock2.com/stuff/first/foo/\");\n\n createClient(\n \"https://mock3.com/stuff/first/foo/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[3][0]).toBe(\"https://mock3.com/stuff/first/foo/\");\n\n const conjureContextSpy = vi.spyOn(\n MakeConjureContext,\n \"makeConjureContext\",\n );\n\n void metadataCacheClient(\n {\n baseUrl: \"https://mock4.com/\",\n ontologyProvider: { getObjectDefinition: async () => ({}) },\n } as any,\n );\n\n expect(\n conjureContextSpy.mock.results[0].value[\"baseUrl\"]\n + conjureContextSpy.mock.results[0].value[\"servicePath\"],\n ).toBe(\"https://mock4.com/ontology-metadata/api\");\n });\n });\n\n describe(\"client created with transactionId forwards to requests\", () => {\n it(\"forwards transactionId in fetchPage\", async () => {\n const transactionId = \"test-transaction-id\";\n const clientWithTransaction = createClientWithTransaction(\n transactionId,\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n {},\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n\n await clientWithTransaction(BarInterface).fetchPage();\n\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n const url = fetchFunction.mock.calls[0][0];\n expect(url).toBeDefined();\n\n const parsedUrl = new URL(url as string, \"https://mock.com\");\n const someParam = parsedUrl.searchParams.get(\"transactionId\");\n\n // Example: Assert a param\n expect(someParam).toBe(transactionId);\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,4BAA4B;AACzD,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B;AAE/D,SAASC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,mBAAmB,QAAQ,gCAAgC;AAEpE,SAASC,YAAY,EAAEC,2BAA2B,QAAQ,mBAAmB;AAC7E,OAAO,KAAKC,kBAAkB,MAAM,kCAAkC;AACtE,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,OAAO,SAASC,iBAAiBA,CAC/BC,KAA8C,EAC9CC,QAAa,EACP;EACND,KAAK,CAACE,qBAAqB,CAAC;IAC1BC,IAAI,EAAEA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAACJ,QAAQ,CAAC;IACrCK,IAAI,EAAEA,CAAA,KAAMF,OAAO,CAACC,OAAO,CAACJ,QAAQ,CAAC;IACrCM,MAAM,EAAE,GAAG;IACXC,EAAE,EAAE;EACN,CAAQ,CAAC;AACX;AAEAlB,QAAQ,CAACK,YAAY,EAAE,MAAM;EAK3B,IAAIc,aAAsD;EAC1D,IAAIC,MAAc;EAElB,MAAMC,WAAW,GAAG,kBAAkB;EAEtCtB,UAAU,CAAC,MAAM;IACfoB,aAAa,GAAGhB,EAAE,CAACmB,EAAE,CAAC,CAAC;IAEvBF,MAAM,GAAGf,YAAY,CACnB,kBAAkB,EAClBgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;IAEDV,iBAAiB,CAACU,aAAa,EAAE;MAAEK,IAAI,EAAE;IAAG,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFxB,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IACnC,SAASyB,gCAAgCA,CAAA,EAAG;MAC1C,MAAMC,SAAS,GAAG,CAACP,aAAa,CAACQ,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEC,OAAO,EACvDC,GAAG,CACF,kBACF,CAAC;MACH,MAAMC,KAAK,GAAGL,SAAS,EAAEM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;MACzC,OAAOD,KAAK;IACd;IAEA7B,EAAE,CAAC,mBAAmB,EAAE,YAAY;MAClC,MAAMkB,MAAM,CAACvB,YAAY,CAAC,CAACoC,SAAS,CAAC,CAAC;MACtChC,MAAM,CAACkB,aAAa,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;MAE9C,MAAMH,KAAK,GAAGN,gCAAgC,CAAC,CAAC;MAChDxB,MAAM,CAAC8B,KAAK,CAAC,CAACI,OAAO,CAAC,CACpB,GAAGtC,YAAY,CAACuC,YAAY,CACzBC,cAAc,CACdL,KAAK,CAAC,GAAG,CAAC,EACbxB,UAAU,CACX,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFR,QAAQ,CAAC,sBAAsB,EAAE,MAAM;IACrCE,EAAE,CAAC,8BAA8B,EAAE,YAAY;MAC7C,MAAMoC,GAAG,GAAGnC,EAAE,CAACoC,KAAK,CAACzC,mBAAmB,EAAE,2BAA2B,CAAC;MACtE,MAAMsB,MAAM,GAAGf,YAAY,CACzB,kBAAkB,EAClBgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,mBAAmB,CAAC;MAEtDnC,YAAY,CACV,oBAAoB,EACpBgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,oBAAoB,CAAC;MAEvDnC,YAAY,CACV,mCAAmC,EACnCgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,oCAAoC,CAAC;MAEvEnC,YAAY,CACV,oCAAoC,EACpCgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,oCAAoC,CAAC;MAEvE,MAAMC,iBAAiB,GAAGtC,EAAE,CAACoC,KAAK,CAChChC,kBAAkB,EAClB,oBACF,CAAC;MAED,KAAKH,mBAAmB,CACtB;QACEsC,OAAO,EAAE,oBAAoB;QAC7BC,gBAAgB,EAAE;UAAEC,mBAAmB,EAAE,MAAAA,CAAA,MAAa,CAAC,CAAC;QAAE;MAC5D,CACF,CAAC;MAED3C,MAAM,CACJwC,iBAAiB,CAACd,IAAI,CAACkB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,SAAS,CAAC,GAC9CL,iBAAiB,CAACd,IAAI,CAACkB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,aAAa,CAC3D,CAAC,CAACN,IAAI,CAAC,yCAAyC,CAAC;IACnD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFxC,QAAQ,CAAC,wDAAwD,EAAE,MAAM;IACvEE,EAAE,CAAC,qCAAqC,EAAE,YAAY;MACpD,MAAM6C,aAAa,GAAG,qBAAqB;MAC3C,MAAMC,qBAAqB,GAAG1C,2BAA2B,CACvDyC,aAAa,EACb,kBAAkB,EAClB1B,WAAW,EACX,YAAY,OAAO,EACnB,CAAC,CAAC,EACFF,aACF,CAAC;MAEDV,iBAAiB,CAACU,aAAa,EAAE;QAAEK,IAAI,EAAE;MAAG,CAAC,CAAC;MAE9C,MAAMwB,qBAAqB,CAACnD,YAAY,CAAC,CAACoC,SAAS,CAAC,CAAC;MAErDhC,MAAM,CAACkB,aAAa,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;MAC9C,MAAMe,GAAG,GAAG9B,aAAa,CAACQ,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1C3B,MAAM,CAACgD,GAAG,CAAC,CAACC,WAAW,CAAC,CAAC;MAEzB,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAACH,GAAG,EAAY,kBAAkB,CAAC;MAC5D,MAAMI,SAAS,GAAGF,SAAS,CAACG,YAAY,CAACxB,GAAG,CAAC,eAAe,CAAC;;MAE7D;MACA7B,MAAM,CAACoD,SAAS,CAAC,CAACb,IAAI,CAACO,aAAa,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"createClient.test.js","names":["BarInterface","SharedClientContext","beforeEach","describe","expect","it","vi","metadataCacheClient","createClient","createClientWithTransaction","MakeConjureContext","USER_AGENT","mockFetchResponse","fetch","response","mockResolvedValueOnce","json","Promise","resolve","blob","status","ok","fetchFunction","client","ontologyRid","fn","undefined","data","getUserAgentPartsFromMockedFetch","userAgent","mock","calls","headers","get","parts","split","fetchPage","toHaveBeenCalledTimes","toEqual","osdkMetadata","extraUserAgent","spy","spyOn","toBe","conjureContextSpy","baseUrl","ontologyProvider","getObjectDefinition","results","value","transactionId","clientWithTransaction","url","toBeDefined","parsedUrl","URL","someParam","searchParams"],"sources":["createClient.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BarInterface } from \"@osdk/client.test.ontology\";\nimport * as SharedClientContext from \"@osdk/shared.client.impl\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { metadataCacheClient } from \"./__unstable/ConjureSupport.js\";\nimport type { Client } from \"./Client.js\";\nimport { createClient, createClientWithTransaction } from \"./createClient.js\";\nimport * as MakeConjureContext from \"./ontology/makeConjureContext.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\nexport function mockFetchResponse(\n fetch: MockedFunction<typeof globalThis.fetch>,\n response: any,\n): void {\n fetch.mockResolvedValueOnce({\n json: () => Promise.resolve(response),\n blob: () => Promise.resolve(response),\n status: 200,\n ok: true,\n } as any);\n}\n\ndescribe(createClient, () => {\n const validOlderVersion = \"0.13.0\" as const;\n const validCurrentVersion = \"0.14.0\" as const;\n const invalidFutureVersion = \"100.100.100\" as const;\n\n let fetchFunction: MockedFunction<typeof globalThis.fetch>;\n let client: Client;\n\n const ontologyRid = \"ri.not.important\";\n\n beforeEach(() => {\n fetchFunction = vi.fn();\n\n client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n });\n\n describe(\"user agent passing\", () => {\n function getUserAgentPartsFromMockedFetch() {\n const userAgent = (fetchFunction.mock.calls[0][1]?.headers as Headers)\n .get(\n \"Fetch-User-Agent\",\n );\n const parts = userAgent?.split(\" \") ?? [];\n return parts;\n }\n\n it(\"works for objects\", async () => {\n await client(BarInterface).fetchPage();\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n\n const parts = getUserAgentPartsFromMockedFetch();\n expect(parts).toEqual([\n ...BarInterface.osdkMetadata!\n .extraUserAgent\n .split(\" \"),\n USER_AGENT,\n ]);\n });\n });\n\n describe(\"check url formatting\", () => {\n it(\"urls are correctly formatted\", async () => {\n const spy = vi.spyOn(SharedClientContext, \"createSharedClientContext\");\n const client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[0][0]).toBe(\"https://mock.com/\");\n\n createClient(\n \"https://mock1.com/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[1][0]).toBe(\"https://mock1.com/\");\n\n createClient(\n \"https://mock2.com/stuff/first/foo\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[2][0]).toBe(\"https://mock2.com/stuff/first/foo/\");\n\n createClient(\n \"https://mock3.com/stuff/first/foo/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[3][0]).toBe(\"https://mock3.com/stuff/first/foo/\");\n\n const conjureContextSpy = vi.spyOn(\n MakeConjureContext,\n \"makeConjureContext\",\n );\n\n void metadataCacheClient(\n {\n baseUrl: \"https://mock4.com/\",\n ontologyProvider: { getObjectDefinition: async () => ({}) },\n } as any,\n );\n\n expect(\n conjureContextSpy.mock.results[0].value[\"baseUrl\"]\n + conjureContextSpy.mock.results[0].value[\"servicePath\"],\n ).toBe(\"https://mock4.com/ontology-metadata/api\");\n });\n });\n\n describe(\"client created with transactionId forwards to requests\", () => {\n it(\"forwards transactionId in fetchPage\", async () => {\n const transactionId = \"test-transaction-id\";\n const clientWithTransaction = createClientWithTransaction(\n transactionId,\n async () => {},\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n {},\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n\n await clientWithTransaction(BarInterface).fetchPage();\n\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n const url = fetchFunction.mock.calls[0][0];\n expect(url).toBeDefined();\n\n const parsedUrl = new URL(url as string, \"https://mock.com\");\n const someParam = parsedUrl.searchParams.get(\"transactionId\");\n\n // Example: Assert a param\n expect(someParam).toBe(transactionId);\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,4BAA4B;AACzD,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B;AAE/D,SAASC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,mBAAmB,QAAQ,gCAAgC;AAEpE,SAASC,YAAY,EAAEC,2BAA2B,QAAQ,mBAAmB;AAC7E,OAAO,KAAKC,kBAAkB,MAAM,kCAAkC;AACtE,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,OAAO,SAASC,iBAAiBA,CAC/BC,KAA8C,EAC9CC,QAAa,EACP;EACND,KAAK,CAACE,qBAAqB,CAAC;IAC1BC,IAAI,EAAEA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAACJ,QAAQ,CAAC;IACrCK,IAAI,EAAEA,CAAA,KAAMF,OAAO,CAACC,OAAO,CAACJ,QAAQ,CAAC;IACrCM,MAAM,EAAE,GAAG;IACXC,EAAE,EAAE;EACN,CAAQ,CAAC;AACX;AAEAlB,QAAQ,CAACK,YAAY,EAAE,MAAM;EAK3B,IAAIc,aAAsD;EAC1D,IAAIC,MAAc;EAElB,MAAMC,WAAW,GAAG,kBAAkB;EAEtCtB,UAAU,CAAC,MAAM;IACfoB,aAAa,GAAGhB,EAAE,CAACmB,EAAE,CAAC,CAAC;IAEvBF,MAAM,GAAGf,YAAY,CACnB,kBAAkB,EAClBgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;IAEDV,iBAAiB,CAACU,aAAa,EAAE;MAAEK,IAAI,EAAE;IAAG,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFxB,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IACnC,SAASyB,gCAAgCA,CAAA,EAAG;MAC1C,MAAMC,SAAS,GAAG,CAACP,aAAa,CAACQ,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEC,OAAO,EACvDC,GAAG,CACF,kBACF,CAAC;MACH,MAAMC,KAAK,GAAGL,SAAS,EAAEM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;MACzC,OAAOD,KAAK;IACd;IAEA7B,EAAE,CAAC,mBAAmB,EAAE,YAAY;MAClC,MAAMkB,MAAM,CAACvB,YAAY,CAAC,CAACoC,SAAS,CAAC,CAAC;MACtChC,MAAM,CAACkB,aAAa,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;MAE9C,MAAMH,KAAK,GAAGN,gCAAgC,CAAC,CAAC;MAChDxB,MAAM,CAAC8B,KAAK,CAAC,CAACI,OAAO,CAAC,CACpB,GAAGtC,YAAY,CAACuC,YAAY,CACzBC,cAAc,CACdL,KAAK,CAAC,GAAG,CAAC,EACbxB,UAAU,CACX,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFR,QAAQ,CAAC,sBAAsB,EAAE,MAAM;IACrCE,EAAE,CAAC,8BAA8B,EAAE,YAAY;MAC7C,MAAMoC,GAAG,GAAGnC,EAAE,CAACoC,KAAK,CAACzC,mBAAmB,EAAE,2BAA2B,CAAC;MACtE,MAAMsB,MAAM,GAAGf,YAAY,CACzB,kBAAkB,EAClBgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,mBAAmB,CAAC;MAEtDnC,YAAY,CACV,oBAAoB,EACpBgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,oBAAoB,CAAC;MAEvDnC,YAAY,CACV,mCAAmC,EACnCgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,oCAAoC,CAAC;MAEvEnC,YAAY,CACV,oCAAoC,EACpCgB,WAAW,EACX,YAAY,OAAO,EACnBE,SAAS,EACTJ,aACF,CAAC;MACDlB,MAAM,CAACqC,GAAG,CAACX,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACY,IAAI,CAAC,oCAAoC,CAAC;MAEvE,MAAMC,iBAAiB,GAAGtC,EAAE,CAACoC,KAAK,CAChChC,kBAAkB,EAClB,oBACF,CAAC;MAED,KAAKH,mBAAmB,CACtB;QACEsC,OAAO,EAAE,oBAAoB;QAC7BC,gBAAgB,EAAE;UAAEC,mBAAmB,EAAE,MAAAA,CAAA,MAAa,CAAC,CAAC;QAAE;MAC5D,CACF,CAAC;MAED3C,MAAM,CACJwC,iBAAiB,CAACd,IAAI,CAACkB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,SAAS,CAAC,GAC9CL,iBAAiB,CAACd,IAAI,CAACkB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,aAAa,CAC3D,CAAC,CAACN,IAAI,CAAC,yCAAyC,CAAC;IACnD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFxC,QAAQ,CAAC,wDAAwD,EAAE,MAAM;IACvEE,EAAE,CAAC,qCAAqC,EAAE,YAAY;MACpD,MAAM6C,aAAa,GAAG,qBAAqB;MAC3C,MAAMC,qBAAqB,GAAG1C,2BAA2B,CACvDyC,aAAa,EACb,YAAY,CAAC,CAAC,EACd,kBAAkB,EAClB1B,WAAW,EACX,YAAY,OAAO,EACnB,CAAC,CAAC,EACFF,aACF,CAAC;MAEDV,iBAAiB,CAACU,aAAa,EAAE;QAAEK,IAAI,EAAE;MAAG,CAAC,CAAC;MAE9C,MAAMwB,qBAAqB,CAACnD,YAAY,CAAC,CAACoC,SAAS,CAAC,CAAC;MAErDhC,MAAM,CAACkB,aAAa,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;MAC9C,MAAMe,GAAG,GAAG9B,aAAa,CAACQ,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1C3B,MAAM,CAACgD,GAAG,CAAC,CAACC,WAAW,CAAC,CAAC;MAEzB,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAACH,GAAG,EAAY,kBAAkB,CAAC;MAC5D,MAAMI,SAAS,GAAGF,SAAS,CAACG,YAAY,CAACxB,GAAG,CAAC,eAAe,CAAC;;MAE7D;MACA7B,MAAM,CAACoD,SAAS,CAAC,CAACb,IAAI,CAACO,aAAa,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","convertWireToOsdkObjects","convertWireToOsdkObjects2","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","createOntologyProviderFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","processedBaseUrl","pathname","endsWith","minimalClient","toString","objectFactory","objectFactory2","ontologyRid","logger","transactionId","clientCacheKey","requestContext","branch","narrowTypeInterfaceOrObjectMapping","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.ts"],"sourcesContent":["/*\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 type { Logger } from \"@osdk/api\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport type {\n ClientCacheKey,\n MinimalClient,\n MinimalClientParams,\n} from \"./MinimalClientContext.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\nimport {\n createStandardOntologyProviderFactory,\n type OntologyCachingOptions,\n} from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(\n metadata: MinimalClientParams[\"metadata\"],\n baseUrl: string,\n tokenProvider: () => Promise<string>,\n options: OntologyCachingOptions & {\n logger?: Logger;\n transactionId?: string;\n branch?: string;\n } = {},\n fetchFn: (\n input: Request | URL | string,\n init?: RequestInit | undefined,\n ) => Promise<Response> = global.fetch,\n objectSetFactory: ObjectSetFactory<any, any> = createObjectSet,\n createOntologyProviderFactory: (\n a: OntologyCachingOptions & { logger?: Logger },\n ) => (minimalClient: MinimalClient) => OntologyProvider =\n createStandardOntologyProviderFactory,\n) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint =\n !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const processedBaseUrl = new URL(baseUrl);\n processedBaseUrl.pathname += processedBaseUrl.pathname.endsWith(\"/\")\n ? \"\"\n : \"/\";\n const minimalClient: MinimalClient = {\n ...createSharedClientContext(\n processedBaseUrl.toString(),\n tokenProvider,\n USER_AGENT,\n fetchFn,\n ),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n objectFactory2: convertWireToOsdkObjects2,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n clientCacheKey: {} as ClientCacheKey,\n requestContext: {},\n branch: options.branch,\n narrowTypeInterfaceOrObjectMapping: {},\n } satisfies Omit<\n MinimalClient,\n \"ontologyProvider\"\n > as any;\n\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(\n options,\n )(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,yBAAyB,QAAQ,0BAA0B;AAMpE,SACEC,wBAAwB,EACxBC,yBAAyB,QACpB,sCAAsC;AAC7C,SAASC,eAAe,QAAQ,gCAAgC;AAGhE,SACEC,qCAAqC,QAEhC,wCAAwC;AAC/C,SAASC,UAAU,QAAQ,qBAAqB;;AAEhD;AACA,OAAO,SAASC,mBAAmBA,CACjCC,QAAyC,EACzCC,OAAe,EACfC,aAAoC,EACpCC,OAIC,GAAG,CAAC,CAAC,EACNC,OAGsB,GAAGC,MAAM,CAACC,KAAK,EACrCC,gBAA4C,GAAGX,eAAe,EAC9DY,6BAEuD,GACrDX,qCAAqC,EACvC;EACA,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI;MACF,IAAIC,GAAG,CAACX,OAAO,CAAC;IAClB,CAAC,CAAC,OAAOY,CAAC,EAAE;MACV,MAAMC,IAAI,GACR,CAACb,OAAO,CAACc,UAAU,CAAC,SAAS,CAAC,IAAI,CAACd,OAAO,CAACc,UAAU,CAAC,UAAU,CAAC,GAC7D,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBf,OAAO,GAAGa,IAAI,EAAE,CAAC;IACzD;EACF;EACA,MAAMG,gBAAgB,GAAG,IAAIL,GAAG,CAACX,OAAO,CAAC;EACzCgB,gBAAgB,CAACC,QAAQ,IAAID,gBAAgB,CAACC,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,GAChE,EAAE,GACF,GAAG;EACP,MAAMC,aAA4B,GAAG;IACnC,GAAG3B,yBAAyB,CAC1BwB,gBAAgB,CAACI,QAAQ,CAAC,CAAC,EAC3BnB,aAAa,EACbJ,UAAU,EACVM,OACF,CAAC;IACDG,gBAAgB;IAChBe,aAAa,EAAE5B,wBAAwB;IACvC6B,cAAc,EAAE5B,yBAAyB;IACzC6B,WAAW,EAAExB,QAAQ,CAACwB,WAAW;IACjCC,MAAM,EAAEtB,OAAO,CAACsB,MAAM;IACtBC,aAAa,EAAEvB,OAAO,CAACuB,aAAa;IACpCC,cAAc,EAAE,CAAC,CAAmB;IACpCC,cAAc,EAAE,CAAC,CAAC;IAClBC,MAAM,EAAE1B,OAAO,CAAC0B,MAAM;IACtBC,kCAAkC,EAAE,CAAC;EACvC,CAGQ;EAER,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACb,aAAa,EAAE;IAChDc,gBAAgB,EAAE1B,6BAA6B,CAC7CL,OACF,CAAC,CAACiB,aAAa;EACjB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","convertWireToOsdkObjects","convertWireToOsdkObjects2","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","createOntologyProviderFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","processedBaseUrl","pathname","endsWith","minimalClient","toString","objectFactory","objectFactory2","ontologyRid","logger","transactionId","clientCacheKey","requestContext","branch","narrowTypeInterfaceOrObjectMapping","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.ts"],"sourcesContent":["/*\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 type { Logger } from \"@osdk/api\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport type {\n ClientCacheKey,\n MinimalClient,\n MinimalClientParams,\n} from \"./MinimalClientContext.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\nimport {\n createStandardOntologyProviderFactory,\n type OntologyCachingOptions,\n} from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(\n metadata: MinimalClientParams[\"metadata\"],\n baseUrl: string,\n tokenProvider: () => Promise<string>,\n options: OntologyCachingOptions & {\n logger?: Logger;\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n branch?: string;\n } = {},\n fetchFn: (\n input: Request | URL | string,\n init?: RequestInit | undefined,\n ) => Promise<Response> = global.fetch,\n objectSetFactory: ObjectSetFactory<any, any> = createObjectSet,\n createOntologyProviderFactory: (\n a: OntologyCachingOptions & { logger?: Logger },\n ) => (minimalClient: MinimalClient) => OntologyProvider =\n createStandardOntologyProviderFactory,\n) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint =\n !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const processedBaseUrl = new URL(baseUrl);\n processedBaseUrl.pathname += processedBaseUrl.pathname.endsWith(\"/\")\n ? \"\"\n : \"/\";\n const minimalClient: MinimalClient = {\n ...createSharedClientContext(\n processedBaseUrl.toString(),\n tokenProvider,\n USER_AGENT,\n fetchFn,\n ),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n objectFactory2: convertWireToOsdkObjects2,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n clientCacheKey: {} as ClientCacheKey,\n requestContext: {},\n branch: options.branch,\n narrowTypeInterfaceOrObjectMapping: {},\n } satisfies Omit<\n MinimalClient,\n \"ontologyProvider\"\n > as any;\n\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(\n options,\n )(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,yBAAyB,QAAQ,0BAA0B;AAMpE,SACEC,wBAAwB,EACxBC,yBAAyB,QACpB,sCAAsC;AAC7C,SAASC,eAAe,QAAQ,gCAAgC;AAGhE,SACEC,qCAAqC,QAEhC,wCAAwC;AAC/C,SAASC,UAAU,QAAQ,qBAAqB;;AAEhD;AACA,OAAO,SAASC,mBAAmBA,CACjCC,QAAyC,EACzCC,OAAe,EACfC,aAAoC,EACpCC,OAKC,GAAG,CAAC,CAAC,EACNC,OAGsB,GAAGC,MAAM,CAACC,KAAK,EACrCC,gBAA4C,GAAGX,eAAe,EAC9DY,6BAEuD,GACrDX,qCAAqC,EACvC;EACA,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI;MACF,IAAIC,GAAG,CAACX,OAAO,CAAC;IAClB,CAAC,CAAC,OAAOY,CAAC,EAAE;MACV,MAAMC,IAAI,GACR,CAACb,OAAO,CAACc,UAAU,CAAC,SAAS,CAAC,IAAI,CAACd,OAAO,CAACc,UAAU,CAAC,UAAU,CAAC,GAC7D,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBf,OAAO,GAAGa,IAAI,EAAE,CAAC;IACzD;EACF;EACA,MAAMG,gBAAgB,GAAG,IAAIL,GAAG,CAACX,OAAO,CAAC;EACzCgB,gBAAgB,CAACC,QAAQ,IAAID,gBAAgB,CAACC,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,GAChE,EAAE,GACF,GAAG;EACP,MAAMC,aAA4B,GAAG;IACnC,GAAG3B,yBAAyB,CAC1BwB,gBAAgB,CAACI,QAAQ,CAAC,CAAC,EAC3BnB,aAAa,EACbJ,UAAU,EACVM,OACF,CAAC;IACDG,gBAAgB;IAChBe,aAAa,EAAE5B,wBAAwB;IACvC6B,cAAc,EAAE5B,yBAAyB;IACzC6B,WAAW,EAAExB,QAAQ,CAACwB,WAAW;IACjCC,MAAM,EAAEtB,OAAO,CAACsB,MAAM;IACtBC,aAAa,EAAEvB,OAAO,CAACuB,aAAa;IACpCC,cAAc,EAAE,CAAC,CAAmB;IACpCC,cAAc,EAAE,CAAC,CAAC;IAClBC,MAAM,EAAE1B,OAAO,CAAC0B,MAAM;IACtBC,kCAAkC,EAAE,CAAC;EACvC,CAGQ;EAER,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACb,aAAa,EAAE;IAChDc,gBAAgB,EAAE1B,6BAA6B,CAC7CL,OACF,CAAC,CAACiB,aAAa;EACjB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}