@osdk/client 2.1.0-beta.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1167) hide show
  1. package/CHANGELOG.md +529 -0
  2. package/build/browser/Client.js +7 -0
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/Definitions.test.js +1 -0
  5. package/build/browser/Definitions.test.js.map +1 -1
  6. package/build/browser/Logger.js +0 -15
  7. package/build/browser/Logger.js.map +1 -1
  8. package/build/browser/MinimalClientContext.js +0 -15
  9. package/build/browser/MinimalClientContext.js.map +1 -1
  10. package/build/browser/ResultOrError.js +1 -0
  11. package/build/browser/ResultOrError.js.map +1 -1
  12. package/build/browser/SatisfiesSemver.js +0 -15
  13. package/build/browser/SatisfiesSemver.js.map +1 -1
  14. package/build/browser/SatisfiesSemver.test.js +1 -0
  15. package/build/browser/SatisfiesSemver.test.js.map +1 -1
  16. package/build/browser/__unstable/ConjureSupport.js +8 -2
  17. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  18. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  19. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  20. package/build/browser/actions/ActionValidationError.js +1 -1
  21. package/build/browser/actions/ActionValidationError.js.map +1 -1
  22. package/build/browser/actions/actions.test.js +85 -4
  23. package/build/browser/actions/actions.test.js.map +1 -1
  24. package/build/browser/actions/applyAction.js +2 -1
  25. package/build/browser/actions/applyAction.js.map +1 -1
  26. package/build/browser/createClient.js +37 -26
  27. package/build/browser/createClient.js.map +1 -1
  28. package/build/browser/createClient.test.js +25 -0
  29. package/build/browser/createClient.test.js.map +1 -1
  30. package/build/browser/createGeotimeSeriesProperty.js +5 -3
  31. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  32. package/build/browser/createMediaReferenceProperty.js +47 -0
  33. package/build/browser/createMediaReferenceProperty.js.map +1 -0
  34. package/build/browser/createMinimalClient.js +8 -1
  35. package/build/browser/createMinimalClient.js.map +1 -1
  36. package/build/browser/createPlatformClient.js +1 -0
  37. package/build/browser/createPlatformClient.js.map +1 -1
  38. package/build/browser/createTimeseriesProperty.js +2 -1
  39. package/build/browser/createTimeseriesProperty.js.map +1 -1
  40. package/build/browser/definitions/LinkDefinitions.test.js +4 -0
  41. package/build/browser/definitions/LinkDefinitions.test.js.map +1 -1
  42. package/build/browser/fetchMetadata.js +2 -0
  43. package/build/browser/fetchMetadata.js.map +1 -1
  44. package/build/browser/fetchMetadata.test.js +19 -0
  45. package/build/browser/fetchMetadata.test.js.map +1 -1
  46. package/build/browser/index.js +2 -0
  47. package/build/browser/index.js.map +1 -1
  48. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  49. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  50. package/build/browser/intellisense.test.js +4 -1
  51. package/build/browser/intellisense.test.js.map +1 -1
  52. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  53. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  54. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  55. package/build/browser/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  56. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  57. package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  58. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +67 -18
  59. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  60. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  61. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  62. package/build/browser/object/AttachmentUpload.js +6 -13
  63. package/build/browser/object/AttachmentUpload.js.map +1 -1
  64. package/build/browser/object/Cache.js +27 -0
  65. package/build/browser/object/Cache.js.map +1 -1
  66. package/build/browser/object/Cache.test.js +10 -3
  67. package/build/browser/object/Cache.test.js.map +1 -1
  68. package/build/browser/object/SimpleCache.js +20 -0
  69. package/build/browser/object/SimpleCache.js.map +1 -1
  70. package/build/browser/object/aggregate.js +7 -9
  71. package/build/browser/object/aggregate.js.map +1 -1
  72. package/build/browser/object/aggregate.test.js +11 -9
  73. package/build/browser/object/aggregate.test.js.map +1 -1
  74. package/build/browser/object/attachment.test.js +1 -0
  75. package/build/browser/object/attachment.test.js.map +1 -1
  76. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  77. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  78. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  79. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  80. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  81. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  82. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  83. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  84. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  85. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  86. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  87. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  88. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  89. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  90. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  91. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  92. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  93. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  94. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  95. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  96. package/build/browser/object/convertWireToOsdkObjects.js +51 -4
  97. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  98. package/build/browser/object/convertWireToOsdkObjects.test.js +197 -44
  99. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  100. package/build/browser/object/fetchPage.js +42 -24
  101. package/build/browser/object/fetchPage.js.map +1 -1
  102. package/build/browser/object/fetchPage.test.js +80 -1
  103. package/build/browser/object/fetchPage.test.js.map +1 -1
  104. package/build/browser/object/fetchSingle.js +3 -0
  105. package/build/browser/object/fetchSingle.js.map +1 -1
  106. package/build/browser/object/geotimeseriesreference.test.js +2 -0
  107. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  108. package/build/browser/object/media.test.js +55 -0
  109. package/build/browser/object/media.test.js.map +1 -0
  110. package/build/browser/object/mediaUpload.js +20 -0
  111. package/build/browser/object/mediaUpload.js.map +1 -0
  112. package/build/browser/object/object.test.js +203 -10
  113. package/build/browser/object/object.test.js.map +1 -1
  114. package/build/browser/object/timeseries.test.js +11 -0
  115. package/build/browser/object/timeseries.test.js.map +1 -1
  116. package/build/browser/objectSet/InterfaceObjectSet.test.js +65 -0
  117. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  118. package/build/browser/objectSet/ObjectSet.test.js +140 -28
  119. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  120. package/build/browser/objectSet/ObjectSetFactory.js +0 -15
  121. package/build/browser/objectSet/ObjectSetFactory.js.map +1 -1
  122. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +117 -37
  123. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  124. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  125. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  126. package/build/browser/objectSet/conjureUnionType.js +1 -0
  127. package/build/browser/objectSet/conjureUnionType.js.map +1 -1
  128. package/build/browser/objectSet/createObjectSet.js +9 -6
  129. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  130. package/build/browser/observable/DebugFlags.js +19 -0
  131. package/build/browser/observable/DebugFlags.js.map +1 -0
  132. package/build/browser/observable/ListPayload.js +2 -0
  133. package/build/browser/observable/ListPayload.js.map +1 -0
  134. package/build/browser/observable/ObjectPayload.js +2 -0
  135. package/build/browser/observable/ObjectPayload.js.map +1 -0
  136. package/build/browser/observable/ObservableClient.js +23 -0
  137. package/build/browser/observable/ObservableClient.js.map +1 -0
  138. package/build/browser/observable/OptimisticBuilder.js +2 -0
  139. package/build/browser/observable/OptimisticBuilder.js.map +1 -0
  140. package/build/browser/observable/internal/CacheKey.js +2 -0
  141. package/build/browser/observable/internal/CacheKey.js.map +1 -0
  142. package/build/browser/observable/internal/CacheKeys.js +60 -0
  143. package/build/browser/observable/internal/CacheKeys.js.map +1 -0
  144. package/build/browser/observable/internal/Canonical.js +2 -0
  145. package/build/browser/observable/internal/Canonical.js.map +1 -0
  146. package/build/browser/observable/internal/ChangedObjects.js +24 -0
  147. package/build/browser/observable/internal/ChangedObjects.js.map +1 -0
  148. package/build/browser/observable/internal/Layer.js +76 -0
  149. package/build/browser/observable/internal/Layer.js.map +1 -0
  150. package/build/browser/observable/internal/ListQuery.js +250 -0
  151. package/build/browser/observable/internal/ListQuery.js.map +1 -0
  152. package/build/browser/observable/internal/ObjectQuery.js +71 -0
  153. package/build/browser/observable/internal/ObjectQuery.js.map +1 -0
  154. package/build/browser/observable/internal/ObservableClientImpl.js +38 -0
  155. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -0
  156. package/build/browser/observable/internal/OptimisticId.js +30 -0
  157. package/build/browser/observable/internal/OptimisticId.js.map +1 -0
  158. package/build/browser/observable/internal/OptimisticJob.js +91 -0
  159. package/build/browser/observable/internal/OptimisticJob.js.map +1 -0
  160. package/build/browser/observable/internal/Query.js +70 -0
  161. package/build/browser/observable/internal/Query.js.map +1 -0
  162. package/build/browser/observable/internal/RefCounts.js +77 -0
  163. package/build/browser/observable/internal/RefCounts.js.map +1 -0
  164. package/build/browser/observable/internal/Store.js +464 -0
  165. package/build/browser/observable/internal/Store.js.map +1 -0
  166. package/build/browser/observable/internal/Store.test.js +765 -0
  167. package/build/browser/observable/internal/Store.test.js.map +1 -0
  168. package/build/browser/observable/internal/WeakMapWithEntries.js +124 -0
  169. package/build/browser/observable/internal/WeakMapWithEntries.js.map +1 -0
  170. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +83 -0
  171. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  172. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  173. package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  174. package/build/browser/observable/internal/objectMatchesWhereClause.js +112 -0
  175. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -0
  176. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +121 -0
  177. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  178. package/build/browser/observable/internal/testUtils.js +178 -0
  179. package/build/browser/observable/internal/testUtils.js.map +1 -0
  180. package/build/browser/observable/types.js +2 -0
  181. package/build/browser/observable/types.js.map +1 -0
  182. package/build/browser/ontology/OntologyProvider.js +1 -0
  183. package/build/browser/ontology/OntologyProvider.js.map +1 -1
  184. package/build/browser/ontology/StandardOntologyProvider.js +2 -0
  185. package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
  186. package/build/browser/ontology/StandardOntologyProvider.test.js +2 -0
  187. package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
  188. package/build/browser/ontology/loadActionMetadata.js +2 -1
  189. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  190. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  191. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  192. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  193. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  194. package/build/browser/ontology/loadQueryMetadata.js +2 -1
  195. package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
  196. package/build/browser/ontology/makeConjureContext.js +1 -0
  197. package/build/browser/ontology/makeConjureContext.js.map +1 -1
  198. package/build/browser/pageRequestAsAsyncIter.js +1 -0
  199. package/build/browser/pageRequestAsAsyncIter.js.map +1 -1
  200. package/build/browser/public/internal.js +20 -0
  201. package/build/browser/public/internal.js.map +1 -0
  202. package/build/browser/public/unstable-do-not-use.js +5 -0
  203. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  204. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  205. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  206. package/build/browser/public-utils/hydrateAttachmentFromRid.js +45 -0
  207. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  208. package/build/browser/public-utils/hydrateObjectSetFromRid.js +39 -0
  209. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  210. package/build/browser/queries/applyQuery.js +5 -5
  211. package/build/browser/queries/applyQuery.js.map +1 -1
  212. package/build/browser/queries/queries.test.js +9 -0
  213. package/build/browser/queries/queries.test.js.map +1 -1
  214. package/build/browser/queries/types.js +0 -15
  215. package/build/browser/queries/types.js.map +1 -1
  216. package/build/browser/tsserver.js +1 -0
  217. package/build/browser/tsserver.js.map +1 -1
  218. package/build/browser/util/ArrayElement.js +0 -15
  219. package/build/browser/util/ArrayElement.js.map +1 -1
  220. package/build/browser/util/NOOP.js +0 -15
  221. package/build/browser/util/NOOP.js.map +1 -1
  222. package/build/browser/util/NullableProps.js +0 -15
  223. package/build/browser/util/NullableProps.js.map +1 -1
  224. package/build/browser/util/UserAgent.js +2 -1
  225. package/build/browser/util/UserAgent.js.map +1 -1
  226. package/build/browser/util/WireObjectSet.js +2 -0
  227. package/build/browser/util/WireObjectSet.js.map +1 -1
  228. package/build/browser/util/addUserAgentAndRequestContextHeaders.js +1 -0
  229. package/build/browser/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  230. package/build/browser/util/augmentRequestContext.js +1 -0
  231. package/build/browser/util/augmentRequestContext.js.map +1 -1
  232. package/build/browser/util/datetimeConverters.js +60 -0
  233. package/build/browser/util/datetimeConverters.js.map +1 -0
  234. package/build/browser/util/datetimeConverters.test.js +76 -0
  235. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  236. package/build/browser/util/interfaceUtils.js +21 -0
  237. package/build/browser/util/interfaceUtils.js.map +1 -0
  238. package/build/browser/util/isOntologyObjectV2.js +1 -0
  239. package/build/browser/util/isOntologyObjectV2.js.map +1 -1
  240. package/build/browser/util/isOsdkBaseObject.js +1 -0
  241. package/build/browser/util/isOsdkBaseObject.js.map +1 -1
  242. package/build/browser/util/isOsdkObject.js +1 -0
  243. package/build/browser/util/isOsdkObject.js.map +1 -1
  244. package/build/browser/util/objectSetUtils.js +26 -0
  245. package/build/browser/util/objectSetUtils.js.map +1 -0
  246. package/build/browser/util/partialBy.js +0 -15
  247. package/build/browser/util/partialBy.js.map +1 -1
  248. package/build/browser/util/streamutils.js +7 -0
  249. package/build/browser/util/streamutils.js.map +1 -1
  250. package/build/browser/util/timeseriesUtils.js +2 -1
  251. package/build/browser/util/timeseriesUtils.js.map +1 -1
  252. package/build/browser/util/toDataValue.js +28 -2
  253. package/build/browser/util/toDataValue.js.map +1 -1
  254. package/build/browser/util/toDataValue.test.js +14 -1
  255. package/build/browser/util/toDataValue.test.js.map +1 -1
  256. package/build/browser/util/toDataValueQueries.js +10 -1
  257. package/build/browser/util/toDataValueQueries.js.map +1 -1
  258. package/build/cjs/Client-C8K3E1vH.d.cts +67 -0
  259. package/build/cjs/chunk-65QQ6SME.cjs +922 -0
  260. package/build/cjs/chunk-65QQ6SME.cjs.map +1 -0
  261. package/build/cjs/chunk-FEUFIE6T.cjs +465 -0
  262. package/build/cjs/chunk-FEUFIE6T.cjs.map +1 -0
  263. package/build/cjs/chunk-Q7SFCCGT.cjs +11 -0
  264. package/build/cjs/chunk-Q7SFCCGT.cjs.map +1 -0
  265. package/build/cjs/graphql-JJX5MZPQ.cjs +10491 -0
  266. package/build/cjs/graphql-JJX5MZPQ.cjs.map +1 -0
  267. package/build/cjs/index.cjs +1665 -0
  268. package/build/cjs/index.cjs.map +1 -0
  269. package/build/cjs/index.d.cts +85 -0
  270. package/build/cjs/public/internal.cjs +36 -0
  271. package/build/cjs/public/internal.cjs.map +1 -0
  272. package/build/cjs/public/internal.d.cts +33 -0
  273. package/build/cjs/public/unstable-do-not-use.cjs +1248 -0
  274. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -0
  275. package/build/cjs/public/unstable-do-not-use.d.cts +62 -0
  276. package/build/esm/Client.js +7 -0
  277. package/build/esm/Client.js.map +1 -1
  278. package/build/esm/Definitions.test.js +1 -0
  279. package/build/esm/Definitions.test.js.map +1 -1
  280. package/build/esm/Logger.js +0 -15
  281. package/build/esm/Logger.js.map +1 -1
  282. package/build/esm/MinimalClientContext.js +0 -15
  283. package/build/esm/MinimalClientContext.js.map +1 -1
  284. package/build/esm/ResultOrError.js +1 -0
  285. package/build/esm/ResultOrError.js.map +1 -1
  286. package/build/esm/SatisfiesSemver.js +0 -15
  287. package/build/esm/SatisfiesSemver.js.map +1 -1
  288. package/build/esm/SatisfiesSemver.test.js +1 -0
  289. package/build/esm/SatisfiesSemver.test.js.map +1 -1
  290. package/build/esm/__unstable/ConjureSupport.js +8 -2
  291. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  292. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
  293. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  294. package/build/esm/actions/ActionValidationError.js +1 -1
  295. package/build/esm/actions/ActionValidationError.js.map +1 -1
  296. package/build/esm/actions/actions.test.js +85 -4
  297. package/build/esm/actions/actions.test.js.map +1 -1
  298. package/build/esm/actions/applyAction.js +2 -1
  299. package/build/esm/actions/applyAction.js.map +1 -1
  300. package/build/esm/createClient.js +37 -26
  301. package/build/esm/createClient.js.map +1 -1
  302. package/build/esm/createClient.test.js +25 -0
  303. package/build/esm/createClient.test.js.map +1 -1
  304. package/build/esm/createGeotimeSeriesProperty.js +5 -3
  305. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  306. package/build/esm/createMediaReferenceProperty.js +47 -0
  307. package/build/esm/createMediaReferenceProperty.js.map +1 -0
  308. package/build/esm/createMinimalClient.js +8 -1
  309. package/build/esm/createMinimalClient.js.map +1 -1
  310. package/build/esm/createPlatformClient.js +1 -0
  311. package/build/esm/createPlatformClient.js.map +1 -1
  312. package/build/esm/createTimeseriesProperty.js +2 -1
  313. package/build/esm/createTimeseriesProperty.js.map +1 -1
  314. package/build/esm/definitions/LinkDefinitions.test.js +4 -0
  315. package/build/esm/definitions/LinkDefinitions.test.js.map +1 -1
  316. package/build/esm/fetchMetadata.js +2 -0
  317. package/build/esm/fetchMetadata.js.map +1 -1
  318. package/build/esm/fetchMetadata.test.js +19 -0
  319. package/build/esm/fetchMetadata.test.js.map +1 -1
  320. package/build/esm/index.js +2 -0
  321. package/build/esm/index.js.map +1 -1
  322. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
  323. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  324. package/build/esm/intellisense.test.js +4 -1
  325. package/build/esm/intellisense.test.js.map +1 -1
  326. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
  327. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  328. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js +2 -0
  329. package/build/esm/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
  330. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +1 -0
  331. package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
  332. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +67 -18
  333. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  334. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
  335. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  336. package/build/esm/object/AttachmentUpload.js +6 -13
  337. package/build/esm/object/AttachmentUpload.js.map +1 -1
  338. package/build/esm/object/Cache.js +27 -0
  339. package/build/esm/object/Cache.js.map +1 -1
  340. package/build/esm/object/Cache.test.js +10 -3
  341. package/build/esm/object/Cache.test.js.map +1 -1
  342. package/build/esm/object/SimpleCache.js +20 -0
  343. package/build/esm/object/SimpleCache.js.map +1 -1
  344. package/build/esm/object/aggregate.js +7 -9
  345. package/build/esm/object/aggregate.js.map +1 -1
  346. package/build/esm/object/aggregate.test.js +11 -9
  347. package/build/esm/object/aggregate.test.js.map +1 -1
  348. package/build/esm/object/attachment.test.js +1 -0
  349. package/build/esm/object/attachment.test.js.map +1 -1
  350. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
  351. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  352. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
  353. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  354. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
  355. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
  356. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
  357. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  358. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
  359. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
  360. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
  361. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  362. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
  363. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  364. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
  365. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  366. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
  367. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  368. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
  369. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  370. package/build/esm/object/convertWireToOsdkObjects.js +51 -4
  371. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  372. package/build/esm/object/convertWireToOsdkObjects.test.js +197 -44
  373. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  374. package/build/esm/object/fetchPage.js +42 -24
  375. package/build/esm/object/fetchPage.js.map +1 -1
  376. package/build/esm/object/fetchPage.test.js +80 -1
  377. package/build/esm/object/fetchPage.test.js.map +1 -1
  378. package/build/esm/object/fetchSingle.js +3 -0
  379. package/build/esm/object/fetchSingle.js.map +1 -1
  380. package/build/esm/object/geotimeseriesreference.test.js +2 -0
  381. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  382. package/build/esm/object/media.test.js +55 -0
  383. package/build/esm/object/media.test.js.map +1 -0
  384. package/build/esm/object/mediaUpload.js +20 -0
  385. package/build/esm/object/mediaUpload.js.map +1 -0
  386. package/build/esm/object/object.test.js +203 -10
  387. package/build/esm/object/object.test.js.map +1 -1
  388. package/build/esm/object/timeseries.test.js +11 -0
  389. package/build/esm/object/timeseries.test.js.map +1 -1
  390. package/build/esm/objectSet/InterfaceObjectSet.test.js +65 -0
  391. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  392. package/build/esm/objectSet/ObjectSet.test.js +140 -28
  393. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  394. package/build/esm/objectSet/ObjectSetFactory.js +0 -15
  395. package/build/esm/objectSet/ObjectSetFactory.js.map +1 -1
  396. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +117 -40
  397. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  398. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
  399. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  400. package/build/esm/objectSet/conjureUnionType.js +1 -0
  401. package/build/esm/objectSet/conjureUnionType.js.map +1 -1
  402. package/build/esm/objectSet/createObjectSet.js +9 -6
  403. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  404. package/build/esm/observable/DebugFlags.js +19 -0
  405. package/build/esm/observable/DebugFlags.js.map +1 -0
  406. package/build/esm/observable/ListPayload.js +2 -0
  407. package/build/esm/observable/ListPayload.js.map +1 -0
  408. package/build/esm/observable/ObjectPayload.js +2 -0
  409. package/build/esm/observable/ObjectPayload.js.map +1 -0
  410. package/build/esm/observable/ObservableClient.js +23 -0
  411. package/build/esm/observable/ObservableClient.js.map +1 -0
  412. package/build/esm/observable/OptimisticBuilder.js +2 -0
  413. package/build/esm/observable/OptimisticBuilder.js.map +1 -0
  414. package/build/esm/observable/internal/CacheKey.js +2 -0
  415. package/build/esm/observable/internal/CacheKey.js.map +1 -0
  416. package/build/esm/observable/internal/CacheKeys.js +60 -0
  417. package/build/esm/observable/internal/CacheKeys.js.map +1 -0
  418. package/build/esm/observable/internal/Canonical.js +2 -0
  419. package/build/esm/observable/internal/Canonical.js.map +1 -0
  420. package/build/esm/observable/internal/ChangedObjects.js +24 -0
  421. package/build/esm/observable/internal/ChangedObjects.js.map +1 -0
  422. package/build/esm/observable/internal/Layer.js +76 -0
  423. package/build/esm/observable/internal/Layer.js.map +1 -0
  424. package/build/esm/observable/internal/ListQuery.js +250 -0
  425. package/build/esm/observable/internal/ListQuery.js.map +1 -0
  426. package/build/esm/observable/internal/ObjectQuery.js +71 -0
  427. package/build/esm/observable/internal/ObjectQuery.js.map +1 -0
  428. package/build/esm/observable/internal/ObservableClientImpl.js +38 -0
  429. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -0
  430. package/build/esm/observable/internal/OptimisticId.js +30 -0
  431. package/build/esm/observable/internal/OptimisticId.js.map +1 -0
  432. package/build/esm/observable/internal/OptimisticJob.js +91 -0
  433. package/build/esm/observable/internal/OptimisticJob.js.map +1 -0
  434. package/build/esm/observable/internal/Query.js +70 -0
  435. package/build/esm/observable/internal/Query.js.map +1 -0
  436. package/build/esm/observable/internal/RefCounts.js +77 -0
  437. package/build/esm/observable/internal/RefCounts.js.map +1 -0
  438. package/build/esm/observable/internal/Store.js +464 -0
  439. package/build/esm/observable/internal/Store.js.map +1 -0
  440. package/build/esm/observable/internal/Store.test.js +765 -0
  441. package/build/esm/observable/internal/Store.test.js.map +1 -0
  442. package/build/esm/observable/internal/WeakMapWithEntries.js +124 -0
  443. package/build/esm/observable/internal/WeakMapWithEntries.js.map +1 -0
  444. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +83 -0
  445. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
  446. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
  447. package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
  448. package/build/esm/observable/internal/objectMatchesWhereClause.js +112 -0
  449. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -0
  450. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +121 -0
  451. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
  452. package/build/esm/observable/internal/testUtils.js +178 -0
  453. package/build/esm/observable/internal/testUtils.js.map +1 -0
  454. package/build/esm/observable/types.js +2 -0
  455. package/build/esm/observable/types.js.map +1 -0
  456. package/build/esm/ontology/OntologyProvider.js +1 -0
  457. package/build/esm/ontology/OntologyProvider.js.map +1 -1
  458. package/build/esm/ontology/StandardOntologyProvider.js +2 -0
  459. package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
  460. package/build/esm/ontology/StandardOntologyProvider.test.js +2 -0
  461. package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
  462. package/build/esm/ontology/loadActionMetadata.js +2 -1
  463. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  464. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  465. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  466. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  467. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  468. package/build/esm/ontology/loadQueryMetadata.js +2 -1
  469. package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
  470. package/build/esm/ontology/makeConjureContext.js +1 -0
  471. package/build/esm/ontology/makeConjureContext.js.map +1 -1
  472. package/build/esm/pageRequestAsAsyncIter.js +1 -0
  473. package/build/esm/pageRequestAsAsyncIter.js.map +1 -1
  474. package/build/esm/public/internal.js +20 -0
  475. package/build/esm/public/internal.js.map +1 -0
  476. package/build/esm/public/unstable-do-not-use.js +5 -0
  477. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  478. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +34 -0
  479. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  480. package/build/esm/public-utils/hydrateAttachmentFromRid.js +45 -0
  481. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  482. package/build/esm/public-utils/hydrateObjectSetFromRid.js +39 -0
  483. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  484. package/build/esm/queries/applyQuery.js +5 -5
  485. package/build/esm/queries/applyQuery.js.map +1 -1
  486. package/build/esm/queries/queries.test.js +9 -0
  487. package/build/esm/queries/queries.test.js.map +1 -1
  488. package/build/esm/queries/types.js +0 -15
  489. package/build/esm/queries/types.js.map +1 -1
  490. package/build/esm/tsserver.js +1 -0
  491. package/build/esm/tsserver.js.map +1 -1
  492. package/build/esm/util/ArrayElement.js +0 -15
  493. package/build/esm/util/ArrayElement.js.map +1 -1
  494. package/build/esm/util/NOOP.js +0 -15
  495. package/build/esm/util/NOOP.js.map +1 -1
  496. package/build/esm/util/NullableProps.js +0 -15
  497. package/build/esm/util/NullableProps.js.map +1 -1
  498. package/build/esm/util/UserAgent.js +2 -1
  499. package/build/esm/util/UserAgent.js.map +1 -1
  500. package/build/esm/util/WireObjectSet.js +2 -0
  501. package/build/esm/util/WireObjectSet.js.map +1 -1
  502. package/build/esm/util/addUserAgentAndRequestContextHeaders.js +1 -0
  503. package/build/esm/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
  504. package/build/esm/util/augmentRequestContext.js +1 -0
  505. package/build/esm/util/augmentRequestContext.js.map +1 -1
  506. package/build/esm/util/datetimeConverters.js +60 -0
  507. package/build/esm/util/datetimeConverters.js.map +1 -0
  508. package/build/esm/util/datetimeConverters.test.js +76 -0
  509. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  510. package/build/esm/util/interfaceUtils.js +21 -0
  511. package/build/esm/util/interfaceUtils.js.map +1 -0
  512. package/build/esm/util/isOntologyObjectV2.js +1 -0
  513. package/build/esm/util/isOntologyObjectV2.js.map +1 -1
  514. package/build/esm/util/isOsdkBaseObject.js +1 -0
  515. package/build/esm/util/isOsdkBaseObject.js.map +1 -1
  516. package/build/esm/util/isOsdkObject.js +1 -0
  517. package/build/esm/util/isOsdkObject.js.map +1 -1
  518. package/build/esm/util/objectSetUtils.js +26 -0
  519. package/build/esm/util/objectSetUtils.js.map +1 -0
  520. package/build/esm/util/partialBy.js +0 -15
  521. package/build/esm/util/partialBy.js.map +1 -1
  522. package/build/esm/util/streamutils.js +7 -0
  523. package/build/esm/util/streamutils.js.map +1 -1
  524. package/build/esm/util/timeseriesUtils.js +2 -1
  525. package/build/esm/util/timeseriesUtils.js.map +1 -1
  526. package/build/esm/util/toDataValue.js +28 -2
  527. package/build/esm/util/toDataValue.js.map +1 -1
  528. package/build/esm/util/toDataValue.test.js +14 -1
  529. package/build/esm/util/toDataValue.test.js.map +1 -1
  530. package/build/esm/util/toDataValueQueries.js +10 -1
  531. package/build/esm/util/toDataValueQueries.js.map +1 -1
  532. package/build/types/Client.d.ts +22 -0
  533. package/build/types/Client.d.ts.map +1 -0
  534. package/build/types/Definitions.test.d.ts +1 -0
  535. package/build/types/Definitions.test.d.ts.map +1 -0
  536. package/build/types/Logger.d.ts +18 -0
  537. package/build/types/Logger.d.ts.map +1 -0
  538. package/build/types/MinimalClientContext.d.ts +25 -0
  539. package/build/types/MinimalClientContext.d.ts.map +1 -0
  540. package/build/types/ResultOrError.d.ts +11 -0
  541. package/build/types/ResultOrError.d.ts.map +1 -0
  542. package/build/types/SatisfiesSemver.d.ts +10 -0
  543. package/build/types/SatisfiesSemver.d.ts.map +1 -0
  544. package/build/types/SatisfiesSemver.test.d.ts +1 -0
  545. package/build/types/SatisfiesSemver.test.d.ts.map +1 -0
  546. package/build/types/__unstable/ConjureSupport.d.ts +37 -0
  547. package/build/types/__unstable/ConjureSupport.d.ts.map +1 -0
  548. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts +4 -0
  549. package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -0
  550. package/build/types/actions/ActionValidationError.d.ts +5 -0
  551. package/build/types/actions/ActionValidationError.d.ts.map +1 -0
  552. package/build/types/actions/actions.test.d.ts +1 -0
  553. package/build/types/actions/actions.test.d.ts.map +1 -0
  554. package/build/types/actions/applyAction.d.ts +31 -0
  555. package/build/types/actions/applyAction.d.ts.map +1 -0
  556. package/build/types/createClient.d.ts +5 -0
  557. package/build/types/createClient.d.ts.map +1 -0
  558. package/build/types/createClient.test.d.ts +1 -0
  559. package/build/types/createClient.test.d.ts.map +1 -0
  560. package/build/types/createGeotimeSeriesProperty.d.ts +13 -0
  561. package/build/types/createGeotimeSeriesProperty.d.ts.map +1 -0
  562. package/build/types/createMediaReferenceProperty.d.ts +13 -0
  563. package/build/types/createMediaReferenceProperty.d.ts.map +1 -0
  564. package/build/types/createMinimalClient.d.ts +1 -0
  565. package/build/types/createMinimalClient.d.ts.map +1 -0
  566. package/build/types/createPlatformClient.d.ts +15 -0
  567. package/build/types/createPlatformClient.d.ts.map +1 -0
  568. package/build/types/createTimeseriesProperty.d.ts +13 -0
  569. package/build/types/createTimeseriesProperty.d.ts.map +1 -0
  570. package/build/types/definitions/LinkDefinitions.test.d.ts +1 -0
  571. package/build/types/definitions/LinkDefinitions.test.d.ts.map +1 -0
  572. package/build/types/fetchMetadata.d.ts +1 -0
  573. package/build/types/fetchMetadata.d.ts.map +1 -0
  574. package/build/types/fetchMetadata.test.d.ts +1 -0
  575. package/build/types/fetchMetadata.test.d.ts.map +1 -0
  576. package/build/types/index.d.ts +12 -0
  577. package/build/types/index.d.ts.map +1 -0
  578. package/build/types/intellisense.test.d.ts +1 -0
  579. package/build/types/intellisense.test.d.ts.map +1 -0
  580. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +1 -0
  581. package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +1 -0
  582. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts +1 -0
  583. package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +1 -0
  584. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts +1 -0
  585. package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts.map +1 -0
  586. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts +1 -0
  587. package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts.map +1 -0
  588. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -0
  589. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -0
  590. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
  591. package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +1 -0
  592. package/build/types/object/AttachmentUpload.d.ts +3 -0
  593. package/build/types/object/AttachmentUpload.d.ts.map +1 -0
  594. package/build/types/object/Cache.d.ts +17 -0
  595. package/build/types/object/Cache.d.ts.map +1 -0
  596. package/build/types/object/Cache.test.d.ts +1 -0
  597. package/build/types/object/Cache.test.d.ts.map +1 -0
  598. package/build/types/object/SimpleCache.d.ts +52 -0
  599. package/build/types/object/SimpleCache.d.ts.map +1 -0
  600. package/build/types/object/aggregate.d.ts +1 -0
  601. package/build/types/object/aggregate.d.ts.map +1 -0
  602. package/build/types/object/aggregate.test.d.ts +1 -0
  603. package/build/types/object/aggregate.test.d.ts.map +1 -0
  604. package/build/types/object/attachment.test.d.ts +1 -0
  605. package/build/types/object/attachment.test.d.ts.map +1 -0
  606. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -0
  607. package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -0
  608. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +6 -0
  609. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -0
  610. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts +1 -0
  611. package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +1 -0
  612. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -0
  613. package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -0
  614. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +5 -0
  615. package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +1 -0
  616. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +1 -0
  617. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +1 -0
  618. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +1 -0
  619. package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +1 -0
  620. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts +1 -0
  621. package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +1 -0
  622. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts +2 -0
  623. package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -0
  624. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts +1 -0
  625. package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +1 -0
  626. package/build/types/object/convertWireToOsdkObjects.d.ts +1 -0
  627. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -0
  628. package/build/types/object/convertWireToOsdkObjects.test.d.ts +1 -0
  629. package/build/types/object/convertWireToOsdkObjects.test.d.ts.map +1 -0
  630. package/build/types/object/fetchPage.d.ts +5 -0
  631. package/build/types/object/fetchPage.d.ts.map +1 -0
  632. package/build/types/object/fetchPage.test.d.ts +1 -0
  633. package/build/types/object/fetchPage.test.d.ts.map +1 -0
  634. package/build/types/object/fetchSingle.d.ts +1 -0
  635. package/build/types/object/fetchSingle.d.ts.map +1 -0
  636. package/build/types/object/geotimeseriesreference.test.d.ts +1 -0
  637. package/build/types/object/geotimeseriesreference.test.d.ts.map +1 -0
  638. package/build/types/object/media.test.d.ts +1 -0
  639. package/build/types/object/media.test.d.ts.map +1 -0
  640. package/build/types/object/mediaUpload.d.ts +2 -0
  641. package/build/types/object/mediaUpload.d.ts.map +1 -0
  642. package/build/types/object/object.test.d.ts +11 -0
  643. package/build/types/object/object.test.d.ts.map +1 -0
  644. package/build/types/object/timeseries.test.d.ts +1 -0
  645. package/build/types/object/timeseries.test.d.ts.map +1 -0
  646. package/build/types/objectSet/InterfaceObjectSet.test.d.ts +1 -0
  647. package/build/types/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  648. package/build/types/objectSet/ObjectSet.test.d.ts +7 -0
  649. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -0
  650. package/build/types/objectSet/ObjectSetFactory.d.ts +1 -0
  651. package/build/types/objectSet/ObjectSetFactory.d.ts.map +1 -0
  652. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts +1 -0
  653. package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -0
  654. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts +1 -0
  655. package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +1 -0
  656. package/build/types/objectSet/conjureUnionType.d.ts +13 -0
  657. package/build/types/objectSet/conjureUnionType.d.ts.map +1 -0
  658. package/build/types/objectSet/createObjectSet.d.ts +1 -0
  659. package/build/types/objectSet/createObjectSet.d.ts.map +1 -0
  660. package/build/types/observable/DebugFlags.d.ts +2 -0
  661. package/build/types/observable/DebugFlags.d.ts.map +1 -0
  662. package/build/types/observable/ListPayload.d.ts +10 -0
  663. package/build/types/observable/ListPayload.d.ts.map +1 -0
  664. package/build/types/observable/ObjectPayload.d.ts +8 -0
  665. package/build/types/observable/ObjectPayload.d.ts.map +1 -0
  666. package/build/types/observable/ObservableClient.d.ts +36 -0
  667. package/build/types/observable/ObservableClient.d.ts.map +1 -0
  668. package/build/types/observable/OptimisticBuilder.d.ts +5 -0
  669. package/build/types/observable/OptimisticBuilder.d.ts.map +1 -0
  670. package/build/types/observable/internal/CacheKey.d.ts +15 -0
  671. package/build/types/observable/internal/CacheKey.d.ts.map +1 -0
  672. package/build/types/observable/internal/CacheKeys.d.ts +8 -0
  673. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -0
  674. package/build/types/observable/internal/Canonical.d.ts +3 -0
  675. package/build/types/observable/internal/Canonical.d.ts.map +1 -0
  676. package/build/types/observable/internal/ChangedObjects.d.ts +7 -0
  677. package/build/types/observable/internal/ChangedObjects.d.ts.map +1 -0
  678. package/build/types/observable/internal/Layer.d.ts +19 -0
  679. package/build/types/observable/internal/Layer.d.ts.map +1 -0
  680. package/build/types/observable/internal/ListQuery.d.ts +42 -0
  681. package/build/types/observable/internal/ListQuery.d.ts.map +1 -0
  682. package/build/types/observable/internal/ObjectQuery.d.ts +19 -0
  683. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -0
  684. package/build/types/observable/internal/ObservableClientImpl.d.ts +1 -0
  685. package/build/types/observable/internal/ObservableClientImpl.d.ts.map +1 -0
  686. package/build/types/observable/internal/OptimisticId.d.ts +4 -0
  687. package/build/types/observable/internal/OptimisticId.d.ts.map +1 -0
  688. package/build/types/observable/internal/OptimisticJob.d.ts +11 -0
  689. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -0
  690. package/build/types/observable/internal/Query.d.ts +29 -0
  691. package/build/types/observable/internal/Query.d.ts.map +1 -0
  692. package/build/types/observable/internal/RefCounts.d.ts +12 -0
  693. package/build/types/observable/internal/RefCounts.d.ts.map +1 -0
  694. package/build/types/observable/internal/Store.d.ts +73 -0
  695. package/build/types/observable/internal/Store.d.ts.map +1 -0
  696. package/build/types/observable/internal/Store.test.d.ts +1 -0
  697. package/build/types/observable/internal/Store.test.d.ts.map +1 -0
  698. package/build/types/observable/internal/WeakMapWithEntries.d.ts +50 -0
  699. package/build/types/observable/internal/WeakMapWithEntries.d.ts.map +1 -0
  700. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +6 -0
  701. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -0
  702. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts +1 -0
  703. package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts.map +1 -0
  704. package/build/types/observable/internal/objectMatchesWhereClause.d.ts +2 -0
  705. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -0
  706. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts +1 -0
  707. package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts.map +1 -0
  708. package/build/types/observable/internal/testUtils.d.ts +40 -0
  709. package/build/types/observable/internal/testUtils.d.ts.map +1 -0
  710. package/build/types/observable/types.d.ts +1 -0
  711. package/build/types/observable/types.d.ts.map +1 -0
  712. package/build/types/ontology/OntologyProvider.d.ts +31 -0
  713. package/build/types/ontology/OntologyProvider.d.ts.map +1 -0
  714. package/build/types/ontology/StandardOntologyProvider.d.ts +3 -0
  715. package/build/types/ontology/StandardOntologyProvider.d.ts.map +1 -0
  716. package/build/types/ontology/StandardOntologyProvider.test.d.ts +1 -0
  717. package/build/types/ontology/StandardOntologyProvider.test.d.ts.map +1 -0
  718. package/build/types/ontology/loadActionMetadata.d.ts +3 -0
  719. package/build/types/ontology/loadActionMetadata.d.ts.map +1 -0
  720. package/build/types/ontology/loadFullObjectMetadata.d.ts +5 -0
  721. package/build/types/ontology/loadFullObjectMetadata.d.ts.map +1 -0
  722. package/build/types/ontology/loadInterfaceMetadata.d.ts +3 -0
  723. package/build/types/ontology/loadInterfaceMetadata.d.ts.map +1 -0
  724. package/build/types/ontology/loadQueryMetadata.d.ts +3 -0
  725. package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -0
  726. package/build/types/ontology/makeConjureContext.d.ts +3 -0
  727. package/build/types/ontology/makeConjureContext.d.ts.map +1 -0
  728. package/build/types/pageRequestAsAsyncIter.d.ts +16 -0
  729. package/build/types/pageRequestAsAsyncIter.d.ts.map +1 -0
  730. package/build/types/public/internal.d.ts +3 -0
  731. package/build/types/public/internal.d.ts.map +1 -0
  732. package/build/types/public/unstable-do-not-use.d.ts +7 -0
  733. package/build/types/public/unstable-do-not-use.d.ts.map +1 -0
  734. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts +10 -0
  735. package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  736. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts +9 -0
  737. package/build/types/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  738. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts +10 -0
  739. package/build/types/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  740. package/build/types/queries/applyQuery.d.ts +8 -0
  741. package/build/types/queries/applyQuery.d.ts.map +1 -0
  742. package/build/types/queries/queries.test.d.ts +1 -0
  743. package/build/types/queries/queries.test.d.ts.map +1 -0
  744. package/build/types/queries/types.d.ts +15 -0
  745. package/build/types/queries/types.d.ts.map +1 -0
  746. package/build/types/tsserver.d.ts +34 -0
  747. package/build/types/tsserver.d.ts.map +1 -0
  748. package/build/types/util/ArrayElement.d.ts +1 -0
  749. package/build/types/util/ArrayElement.d.ts.map +1 -0
  750. package/build/types/util/NOOP.d.ts +1 -0
  751. package/build/types/util/NOOP.d.ts.map +1 -0
  752. package/build/types/util/NullableProps.d.ts +3 -0
  753. package/build/types/util/NullableProps.d.ts.map +1 -0
  754. package/build/types/util/UserAgent.d.ts +1 -0
  755. package/build/types/util/UserAgent.d.ts.map +1 -0
  756. package/build/types/util/WireObjectSet.d.ts +1 -0
  757. package/build/types/util/WireObjectSet.d.ts.map +1 -0
  758. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts +3 -0
  759. package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts.map +1 -0
  760. package/build/types/util/augmentRequestContext.d.ts +31 -0
  761. package/build/types/util/augmentRequestContext.d.ts.map +1 -0
  762. package/build/types/util/datetimeConverters.d.ts +21 -0
  763. package/build/types/util/datetimeConverters.d.ts.map +1 -0
  764. package/build/types/util/datetimeConverters.test.d.ts +1 -0
  765. package/build/types/util/datetimeConverters.test.d.ts.map +1 -0
  766. package/build/types/util/interfaceUtils.d.ts +1 -0
  767. package/build/types/util/interfaceUtils.d.ts.map +1 -0
  768. package/build/types/util/isOntologyObjectV2.d.ts +1 -0
  769. package/build/types/util/isOntologyObjectV2.d.ts.map +1 -0
  770. package/build/types/util/isOsdkBaseObject.d.ts +2 -0
  771. package/build/types/util/isOsdkBaseObject.d.ts.map +1 -0
  772. package/build/types/util/isOsdkObject.d.ts +2 -0
  773. package/build/types/util/isOsdkObject.d.ts.map +1 -0
  774. package/build/types/util/objectSetUtils.d.ts +3 -0
  775. package/build/types/util/objectSetUtils.d.ts.map +1 -0
  776. package/build/types/util/partialBy.d.ts +8 -0
  777. package/build/types/util/partialBy.d.ts.map +1 -0
  778. package/build/types/util/streamutils.d.ts +2 -0
  779. package/build/types/util/streamutils.d.ts.map +1 -0
  780. package/build/types/util/timeseriesUtils.d.ts +7 -0
  781. package/build/types/util/timeseriesUtils.d.ts.map +1 -0
  782. package/build/types/util/toDataValue.d.ts +1 -0
  783. package/build/types/util/toDataValue.d.ts.map +1 -0
  784. package/build/types/util/toDataValue.test.d.ts +1 -0
  785. package/build/types/util/toDataValue.test.d.ts.map +1 -0
  786. package/build/types/util/toDataValueQueries.d.ts +1 -0
  787. package/build/types/util/toDataValueQueries.d.ts.map +1 -0
  788. package/index.d.ts +17 -0
  789. package/internal.d.ts +17 -0
  790. package/package.json +57 -23
  791. package/unstable-do-not-use.d.ts +1 -1
  792. package/build/browser/Client.d.ts +0 -26
  793. package/build/browser/Client.d.ts.map +0 -1
  794. package/build/browser/Definitions.test.d.ts +0 -2
  795. package/build/browser/Definitions.test.d.ts.map +0 -1
  796. package/build/browser/Logger.d.ts +0 -19
  797. package/build/browser/Logger.d.ts.map +0 -1
  798. package/build/browser/MinimalClientContext.d.ts +0 -26
  799. package/build/browser/MinimalClientContext.d.ts.map +0 -1
  800. package/build/browser/ResultOrError.d.ts +0 -12
  801. package/build/browser/ResultOrError.d.ts.map +0 -1
  802. package/build/browser/SatisfiesSemver.d.ts +0 -4
  803. package/build/browser/SatisfiesSemver.d.ts.map +0 -1
  804. package/build/browser/SatisfiesSemver.test.d.ts +0 -2
  805. package/build/browser/SatisfiesSemver.test.d.ts.map +0 -1
  806. package/build/browser/__unstable/ConjureSupport.d.ts +0 -55
  807. package/build/browser/__unstable/ConjureSupport.d.ts.map +0 -1
  808. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  809. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  810. package/build/browser/actions/ActionValidationError.d.ts +0 -6
  811. package/build/browser/actions/ActionValidationError.d.ts.map +0 -1
  812. package/build/browser/actions/actions.test.d.ts +0 -2
  813. package/build/browser/actions/actions.test.d.ts.map +0 -1
  814. package/build/browser/actions/applyAction.d.ts +0 -30
  815. package/build/browser/actions/applyAction.d.ts.map +0 -1
  816. package/build/browser/createAttachmentFromRid.d.ts +0 -10
  817. package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
  818. package/build/browser/createAttachmentFromRid.js +0 -38
  819. package/build/browser/createAttachmentFromRid.js.map +0 -1
  820. package/build/browser/createClient.d.ts +0 -6
  821. package/build/browser/createClient.d.ts.map +0 -1
  822. package/build/browser/createClient.test.d.ts +0 -2
  823. package/build/browser/createClient.test.d.ts.map +0 -1
  824. package/build/browser/createGeotimeSeriesProperty.d.ts +0 -14
  825. package/build/browser/createGeotimeSeriesProperty.d.ts.map +0 -1
  826. package/build/browser/createMinimalClient.d.ts +0 -2
  827. package/build/browser/createMinimalClient.d.ts.map +0 -1
  828. package/build/browser/createPlatformClient.d.ts +0 -17
  829. package/build/browser/createPlatformClient.d.ts.map +0 -1
  830. package/build/browser/createTimeseriesProperty.d.ts +0 -14
  831. package/build/browser/createTimeseriesProperty.d.ts.map +0 -1
  832. package/build/browser/definitions/LinkDefinitions.test.d.ts +0 -2
  833. package/build/browser/definitions/LinkDefinitions.test.d.ts.map +0 -1
  834. package/build/browser/fetchMetadata.d.ts +0 -2
  835. package/build/browser/fetchMetadata.d.ts.map +0 -1
  836. package/build/browser/fetchMetadata.test.d.ts +0 -2
  837. package/build/browser/fetchMetadata.test.d.ts.map +0 -1
  838. package/build/browser/index.d.ts +0 -12
  839. package/build/browser/index.d.ts.map +0 -1
  840. package/build/browser/intellisense.test.d.ts +0 -2
  841. package/build/browser/intellisense.test.d.ts.map +0 -1
  842. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  843. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  844. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  845. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  846. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  847. package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  848. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  849. package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  850. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  851. package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  852. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  853. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  854. package/build/browser/object/AttachmentUpload.d.ts +0 -4
  855. package/build/browser/object/AttachmentUpload.d.ts.map +0 -1
  856. package/build/browser/object/Cache.d.ts +0 -2
  857. package/build/browser/object/Cache.d.ts.map +0 -1
  858. package/build/browser/object/Cache.test.d.ts +0 -11
  859. package/build/browser/object/Cache.test.d.ts.map +0 -1
  860. package/build/browser/object/SimpleCache.d.ts +0 -38
  861. package/build/browser/object/SimpleCache.d.ts.map +0 -1
  862. package/build/browser/object/aggregate.d.ts +0 -2
  863. package/build/browser/object/aggregate.d.ts.map +0 -1
  864. package/build/browser/object/aggregate.test.d.ts +0 -2
  865. package/build/browser/object/aggregate.test.d.ts.map +0 -1
  866. package/build/browser/object/attachment.test.d.ts +0 -2
  867. package/build/browser/object/attachment.test.d.ts.map +0 -1
  868. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  869. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  870. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  871. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  872. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  873. package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  874. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  875. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  876. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  877. package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  878. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  879. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  880. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  881. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  882. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  883. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  884. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  885. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  886. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  887. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  888. package/build/browser/object/convertWireToOsdkObjects.d.ts +0 -2
  889. package/build/browser/object/convertWireToOsdkObjects.d.ts.map +0 -1
  890. package/build/browser/object/convertWireToOsdkObjects.test.d.ts +0 -2
  891. package/build/browser/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  892. package/build/browser/object/fetchPage.d.ts +0 -3
  893. package/build/browser/object/fetchPage.d.ts.map +0 -1
  894. package/build/browser/object/fetchPage.test.d.ts +0 -2
  895. package/build/browser/object/fetchPage.test.d.ts.map +0 -1
  896. package/build/browser/object/fetchSingle.d.ts +0 -2
  897. package/build/browser/object/fetchSingle.d.ts.map +0 -1
  898. package/build/browser/object/geotimeseriesreference.test.d.ts +0 -2
  899. package/build/browser/object/geotimeseriesreference.test.d.ts.map +0 -1
  900. package/build/browser/object/object.test.d.ts +0 -12
  901. package/build/browser/object/object.test.d.ts.map +0 -1
  902. package/build/browser/object/timeseries.test.d.ts +0 -2
  903. package/build/browser/object/timeseries.test.d.ts.map +0 -1
  904. package/build/browser/objectSet/ObjectSet.test.d.ts +0 -2
  905. package/build/browser/objectSet/ObjectSet.test.d.ts.map +0 -1
  906. package/build/browser/objectSet/ObjectSetFactory.d.ts +0 -2
  907. package/build/browser/objectSet/ObjectSetFactory.d.ts.map +0 -1
  908. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  909. package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  910. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  911. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  912. package/build/browser/objectSet/conjureUnionType.d.ts +0 -13
  913. package/build/browser/objectSet/conjureUnionType.d.ts.map +0 -1
  914. package/build/browser/objectSet/createObjectSet.d.ts +0 -2
  915. package/build/browser/objectSet/createObjectSet.d.ts.map +0 -1
  916. package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
  917. package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
  918. package/build/browser/objectSet/toConjureObjectSet.js +0 -165
  919. package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
  920. package/build/browser/ontology/OntologyProvider.d.ts +0 -32
  921. package/build/browser/ontology/OntologyProvider.d.ts.map +0 -1
  922. package/build/browser/ontology/StandardOntologyProvider.d.ts +0 -5
  923. package/build/browser/ontology/StandardOntologyProvider.d.ts.map +0 -1
  924. package/build/browser/ontology/StandardOntologyProvider.test.d.ts +0 -2
  925. package/build/browser/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  926. package/build/browser/ontology/loadActionMetadata.d.ts +0 -4
  927. package/build/browser/ontology/loadActionMetadata.d.ts.map +0 -1
  928. package/build/browser/ontology/loadFullObjectMetadata.d.ts +0 -6
  929. package/build/browser/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  930. package/build/browser/ontology/loadInterfaceMetadata.d.ts +0 -4
  931. package/build/browser/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  932. package/build/browser/ontology/loadQueryMetadata.d.ts +0 -4
  933. package/build/browser/ontology/loadQueryMetadata.d.ts.map +0 -1
  934. package/build/browser/ontology/makeConjureContext.d.ts +0 -4
  935. package/build/browser/ontology/makeConjureContext.d.ts.map +0 -1
  936. package/build/browser/pageRequestAsAsyncIter.d.ts +0 -10
  937. package/build/browser/pageRequestAsAsyncIter.d.ts.map +0 -1
  938. package/build/browser/public/unstable-do-not-use.d.ts +0 -2
  939. package/build/browser/public/unstable-do-not-use.d.ts.map +0 -1
  940. package/build/browser/queries/applyQuery.d.ts +0 -6
  941. package/build/browser/queries/applyQuery.d.ts.map +0 -1
  942. package/build/browser/queries/queries.test.d.ts +0 -2
  943. package/build/browser/queries/queries.test.d.ts.map +0 -1
  944. package/build/browser/queries/types.d.ts +0 -20
  945. package/build/browser/queries/types.d.ts.map +0 -1
  946. package/build/browser/tsserver.d.ts +0 -34
  947. package/build/browser/tsserver.d.ts.map +0 -1
  948. package/build/browser/util/ArrayElement.d.ts +0 -2
  949. package/build/browser/util/ArrayElement.d.ts.map +0 -1
  950. package/build/browser/util/NOOP.d.ts +0 -4
  951. package/build/browser/util/NOOP.d.ts.map +0 -1
  952. package/build/browser/util/NullableProps.d.ts +0 -6
  953. package/build/browser/util/NullableProps.d.ts.map +0 -1
  954. package/build/browser/util/UserAgent.d.ts +0 -2
  955. package/build/browser/util/UserAgent.d.ts.map +0 -1
  956. package/build/browser/util/WireObjectSet.d.ts +0 -2
  957. package/build/browser/util/WireObjectSet.d.ts.map +0 -1
  958. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  959. package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  960. package/build/browser/util/augmentRequestContext.d.ts +0 -32
  961. package/build/browser/util/augmentRequestContext.d.ts.map +0 -1
  962. package/build/browser/util/isOntologyObjectV2.d.ts +0 -2
  963. package/build/browser/util/isOntologyObjectV2.d.ts.map +0 -1
  964. package/build/browser/util/isOsdkBaseObject.d.ts +0 -3
  965. package/build/browser/util/isOsdkBaseObject.d.ts.map +0 -1
  966. package/build/browser/util/isOsdkObject.d.ts +0 -3
  967. package/build/browser/util/isOsdkObject.d.ts.map +0 -1
  968. package/build/browser/util/partialBy.d.ts +0 -3
  969. package/build/browser/util/partialBy.d.ts.map +0 -1
  970. package/build/browser/util/streamutils.d.ts +0 -3
  971. package/build/browser/util/streamutils.d.ts.map +0 -1
  972. package/build/browser/util/timeseriesUtils.d.ts +0 -8
  973. package/build/browser/util/timeseriesUtils.d.ts.map +0 -1
  974. package/build/browser/util/toDataValue.d.ts +0 -2
  975. package/build/browser/util/toDataValue.d.ts.map +0 -1
  976. package/build/browser/util/toDataValue.test.d.ts +0 -2
  977. package/build/browser/util/toDataValue.test.d.ts.map +0 -1
  978. package/build/browser/util/toDataValueQueries.d.ts +0 -2
  979. package/build/browser/util/toDataValueQueries.d.ts.map +0 -1
  980. package/build/esm/Client.d.ts +0 -26
  981. package/build/esm/Client.d.ts.map +0 -1
  982. package/build/esm/Definitions.test.d.ts +0 -2
  983. package/build/esm/Definitions.test.d.ts.map +0 -1
  984. package/build/esm/Logger.d.ts +0 -19
  985. package/build/esm/Logger.d.ts.map +0 -1
  986. package/build/esm/MinimalClientContext.d.ts +0 -26
  987. package/build/esm/MinimalClientContext.d.ts.map +0 -1
  988. package/build/esm/ResultOrError.d.ts +0 -12
  989. package/build/esm/ResultOrError.d.ts.map +0 -1
  990. package/build/esm/SatisfiesSemver.d.ts +0 -4
  991. package/build/esm/SatisfiesSemver.d.ts.map +0 -1
  992. package/build/esm/SatisfiesSemver.test.d.ts +0 -2
  993. package/build/esm/SatisfiesSemver.test.d.ts.map +0 -1
  994. package/build/esm/__unstable/ConjureSupport.d.ts +0 -55
  995. package/build/esm/__unstable/ConjureSupport.d.ts.map +0 -1
  996. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
  997. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
  998. package/build/esm/actions/ActionValidationError.d.ts +0 -6
  999. package/build/esm/actions/ActionValidationError.d.ts.map +0 -1
  1000. package/build/esm/actions/actions.test.d.ts +0 -2
  1001. package/build/esm/actions/actions.test.d.ts.map +0 -1
  1002. package/build/esm/actions/applyAction.d.ts +0 -30
  1003. package/build/esm/actions/applyAction.d.ts.map +0 -1
  1004. package/build/esm/createAttachmentFromRid.d.ts +0 -10
  1005. package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
  1006. package/build/esm/createAttachmentFromRid.js +0 -38
  1007. package/build/esm/createAttachmentFromRid.js.map +0 -1
  1008. package/build/esm/createClient.d.ts +0 -6
  1009. package/build/esm/createClient.d.ts.map +0 -1
  1010. package/build/esm/createClient.test.d.ts +0 -2
  1011. package/build/esm/createClient.test.d.ts.map +0 -1
  1012. package/build/esm/createGeotimeSeriesProperty.d.ts +0 -14
  1013. package/build/esm/createGeotimeSeriesProperty.d.ts.map +0 -1
  1014. package/build/esm/createMinimalClient.d.ts +0 -2
  1015. package/build/esm/createMinimalClient.d.ts.map +0 -1
  1016. package/build/esm/createPlatformClient.d.ts +0 -17
  1017. package/build/esm/createPlatformClient.d.ts.map +0 -1
  1018. package/build/esm/createTimeseriesProperty.d.ts +0 -14
  1019. package/build/esm/createTimeseriesProperty.d.ts.map +0 -1
  1020. package/build/esm/definitions/LinkDefinitions.test.d.ts +0 -2
  1021. package/build/esm/definitions/LinkDefinitions.test.d.ts.map +0 -1
  1022. package/build/esm/fetchMetadata.d.ts +0 -2
  1023. package/build/esm/fetchMetadata.d.ts.map +0 -1
  1024. package/build/esm/fetchMetadata.test.d.ts +0 -2
  1025. package/build/esm/fetchMetadata.test.d.ts.map +0 -1
  1026. package/build/esm/index.d.ts +0 -12
  1027. package/build/esm/index.d.ts.map +0 -1
  1028. package/build/esm/intellisense.test.d.ts +0 -2
  1029. package/build/esm/intellisense.test.d.ts.map +0 -1
  1030. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
  1031. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
  1032. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
  1033. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
  1034. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
  1035. package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
  1036. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
  1037. package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
  1038. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
  1039. package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
  1040. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
  1041. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
  1042. package/build/esm/object/AttachmentUpload.d.ts +0 -4
  1043. package/build/esm/object/AttachmentUpload.d.ts.map +0 -1
  1044. package/build/esm/object/Cache.d.ts +0 -2
  1045. package/build/esm/object/Cache.d.ts.map +0 -1
  1046. package/build/esm/object/Cache.test.d.ts +0 -11
  1047. package/build/esm/object/Cache.test.d.ts.map +0 -1
  1048. package/build/esm/object/SimpleCache.d.ts +0 -38
  1049. package/build/esm/object/SimpleCache.d.ts.map +0 -1
  1050. package/build/esm/object/aggregate.d.ts +0 -2
  1051. package/build/esm/object/aggregate.d.ts.map +0 -1
  1052. package/build/esm/object/aggregate.test.d.ts +0 -2
  1053. package/build/esm/object/aggregate.test.d.ts.map +0 -1
  1054. package/build/esm/object/attachment.test.d.ts +0 -2
  1055. package/build/esm/object/attachment.test.d.ts.map +0 -1
  1056. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
  1057. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
  1058. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  1059. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
  1060. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
  1061. package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
  1062. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
  1063. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
  1064. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
  1065. package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
  1066. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
  1067. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
  1068. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
  1069. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
  1070. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
  1071. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
  1072. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
  1073. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
  1074. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
  1075. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
  1076. package/build/esm/object/convertWireToOsdkObjects.d.ts +0 -2
  1077. package/build/esm/object/convertWireToOsdkObjects.d.ts.map +0 -1
  1078. package/build/esm/object/convertWireToOsdkObjects.test.d.ts +0 -2
  1079. package/build/esm/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
  1080. package/build/esm/object/fetchPage.d.ts +0 -3
  1081. package/build/esm/object/fetchPage.d.ts.map +0 -1
  1082. package/build/esm/object/fetchPage.test.d.ts +0 -2
  1083. package/build/esm/object/fetchPage.test.d.ts.map +0 -1
  1084. package/build/esm/object/fetchSingle.d.ts +0 -2
  1085. package/build/esm/object/fetchSingle.d.ts.map +0 -1
  1086. package/build/esm/object/geotimeseriesreference.test.d.ts +0 -2
  1087. package/build/esm/object/geotimeseriesreference.test.d.ts.map +0 -1
  1088. package/build/esm/object/object.test.d.ts +0 -12
  1089. package/build/esm/object/object.test.d.ts.map +0 -1
  1090. package/build/esm/object/timeseries.test.d.ts +0 -2
  1091. package/build/esm/object/timeseries.test.d.ts.map +0 -1
  1092. package/build/esm/objectSet/ObjectSet.test.d.ts +0 -2
  1093. package/build/esm/objectSet/ObjectSet.test.d.ts.map +0 -1
  1094. package/build/esm/objectSet/ObjectSetFactory.d.ts +0 -2
  1095. package/build/esm/objectSet/ObjectSetFactory.d.ts.map +0 -1
  1096. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
  1097. package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
  1098. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
  1099. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
  1100. package/build/esm/objectSet/conjureUnionType.d.ts +0 -13
  1101. package/build/esm/objectSet/conjureUnionType.d.ts.map +0 -1
  1102. package/build/esm/objectSet/createObjectSet.d.ts +0 -2
  1103. package/build/esm/objectSet/createObjectSet.d.ts.map +0 -1
  1104. package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
  1105. package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
  1106. package/build/esm/objectSet/toConjureObjectSet.js +0 -165
  1107. package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
  1108. package/build/esm/ontology/OntologyProvider.d.ts +0 -32
  1109. package/build/esm/ontology/OntologyProvider.d.ts.map +0 -1
  1110. package/build/esm/ontology/StandardOntologyProvider.d.ts +0 -5
  1111. package/build/esm/ontology/StandardOntologyProvider.d.ts.map +0 -1
  1112. package/build/esm/ontology/StandardOntologyProvider.test.d.ts +0 -2
  1113. package/build/esm/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
  1114. package/build/esm/ontology/loadActionMetadata.d.ts +0 -4
  1115. package/build/esm/ontology/loadActionMetadata.d.ts.map +0 -1
  1116. package/build/esm/ontology/loadFullObjectMetadata.d.ts +0 -6
  1117. package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +0 -1
  1118. package/build/esm/ontology/loadInterfaceMetadata.d.ts +0 -4
  1119. package/build/esm/ontology/loadInterfaceMetadata.d.ts.map +0 -1
  1120. package/build/esm/ontology/loadQueryMetadata.d.ts +0 -4
  1121. package/build/esm/ontology/loadQueryMetadata.d.ts.map +0 -1
  1122. package/build/esm/ontology/makeConjureContext.d.ts +0 -4
  1123. package/build/esm/ontology/makeConjureContext.d.ts.map +0 -1
  1124. package/build/esm/pageRequestAsAsyncIter.d.ts +0 -10
  1125. package/build/esm/pageRequestAsAsyncIter.d.ts.map +0 -1
  1126. package/build/esm/public/unstable-do-not-use.d.ts +0 -2
  1127. package/build/esm/public/unstable-do-not-use.d.ts.map +0 -1
  1128. package/build/esm/queries/applyQuery.d.ts +0 -6
  1129. package/build/esm/queries/applyQuery.d.ts.map +0 -1
  1130. package/build/esm/queries/queries.test.d.ts +0 -2
  1131. package/build/esm/queries/queries.test.d.ts.map +0 -1
  1132. package/build/esm/queries/types.d.ts +0 -20
  1133. package/build/esm/queries/types.d.ts.map +0 -1
  1134. package/build/esm/tsserver.d.ts +0 -34
  1135. package/build/esm/tsserver.d.ts.map +0 -1
  1136. package/build/esm/util/ArrayElement.d.ts +0 -2
  1137. package/build/esm/util/ArrayElement.d.ts.map +0 -1
  1138. package/build/esm/util/NOOP.d.ts +0 -4
  1139. package/build/esm/util/NOOP.d.ts.map +0 -1
  1140. package/build/esm/util/NullableProps.d.ts +0 -6
  1141. package/build/esm/util/NullableProps.d.ts.map +0 -1
  1142. package/build/esm/util/UserAgent.d.ts +0 -2
  1143. package/build/esm/util/UserAgent.d.ts.map +0 -1
  1144. package/build/esm/util/WireObjectSet.d.ts +0 -2
  1145. package/build/esm/util/WireObjectSet.d.ts.map +0 -1
  1146. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
  1147. package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
  1148. package/build/esm/util/augmentRequestContext.d.ts +0 -32
  1149. package/build/esm/util/augmentRequestContext.d.ts.map +0 -1
  1150. package/build/esm/util/isOntologyObjectV2.d.ts +0 -2
  1151. package/build/esm/util/isOntologyObjectV2.d.ts.map +0 -1
  1152. package/build/esm/util/isOsdkBaseObject.d.ts +0 -3
  1153. package/build/esm/util/isOsdkBaseObject.d.ts.map +0 -1
  1154. package/build/esm/util/isOsdkObject.d.ts +0 -3
  1155. package/build/esm/util/isOsdkObject.d.ts.map +0 -1
  1156. package/build/esm/util/partialBy.d.ts +0 -3
  1157. package/build/esm/util/partialBy.d.ts.map +0 -1
  1158. package/build/esm/util/streamutils.d.ts +0 -3
  1159. package/build/esm/util/streamutils.d.ts.map +0 -1
  1160. package/build/esm/util/timeseriesUtils.d.ts +0 -8
  1161. package/build/esm/util/timeseriesUtils.d.ts.map +0 -1
  1162. package/build/esm/util/toDataValue.d.ts +0 -2
  1163. package/build/esm/util/toDataValue.d.ts.map +0 -1
  1164. package/build/esm/util/toDataValue.test.d.ts +0 -2
  1165. package/build/esm/util/toDataValue.test.d.ts.map +0 -1
  1166. package/build/esm/util/toDataValueQueries.d.ts +0 -2
  1167. package/build/esm/util/toDataValueQueries.d.ts.map +0 -1
@@ -0,0 +1,464 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { delay } from "msw";
18
+ import { BehaviorSubject } from "rxjs";
19
+ import invariant from "tiny-invariant";
20
+ import { DEBUG_REFCOUNTS } from "../DebugFlags.js";
21
+ import { CacheKeys } from "./CacheKeys.js";
22
+ import { createChangedObjects } from "./ChangedObjects.js";
23
+ import { Layer } from "./Layer.js";
24
+ import { isListCacheKey, ListQuery } from "./ListQuery.js";
25
+ import { ObjectQuery } from "./ObjectQuery.js";
26
+ import { runOptimisticJob } from "./OptimisticJob.js";
27
+ import { RefCounts } from "./RefCounts.js";
28
+ import { WhereClauseCanonicalizer } from "./WhereClauseCanonicalizer.js";
29
+ const ACTION_DELAY = process.env.NODE_ENV === "production" ? 0 : 1000;
30
+
31
+ /*
32
+ Work still to do:
33
+ - [x] testing for optimistic writes
34
+ - [x] automatic invalidation of actions
35
+ - [x] automatic optimistic list updates
36
+ - [x] useOsdkObjects
37
+ - [x] imply offline for objects passed directly
38
+ - [ ] websocket subscriptions
39
+ - [ ] links
40
+ - [ ] add pagination
41
+ - [ ] sub-selection support
42
+ - [ ] interfaces
43
+ - [ ] setup defaults
44
+ - [ ] reduce updates in react
45
+ */
46
+
47
+ function createInitEntry(cacheKey) {
48
+ return {
49
+ cacheKey,
50
+ status: "init",
51
+ value: undefined,
52
+ lastUpdated: 0
53
+ };
54
+ }
55
+
56
+ /*
57
+ Notes:
58
+ - Subjects are one per type per store (by cache key)
59
+ - Data is one per layer per cache key
60
+ */
61
+
62
+ export class Store {
63
+ whereCanonicalizer = new WhereClauseCanonicalizer();
64
+ #truthLayer = new Layer(undefined, undefined);
65
+ #topLayer;
66
+ #queries = new WeakMap();
67
+ #cacheKeyToSubject = new WeakMap();
68
+ #cacheKeys;
69
+ #refCounts = new RefCounts(DEBUG_REFCOUNTS ? 15_000 : 60_000, k => this.#cleanupCacheKey(k));
70
+ #finalizationRegistry;
71
+ constructor(client) {
72
+ this.client = client;
73
+ this.#topLayer = this.#truthLayer;
74
+ this.#cacheKeys = new CacheKeys(this.whereCanonicalizer, k => {
75
+ if (DEBUG_REFCOUNTS) {
76
+ const cacheKeyType = k.type;
77
+ const otherKeys = k.otherKeys;
78
+ // eslint-disable-next-line no-console
79
+ console.log(`CacheKeys.onCreate(${cacheKeyType}, ${JSON.stringify(otherKeys)})`);
80
+ this.#finalizationRegistry.register(k, () => {
81
+ // eslint-disable-next-line no-console
82
+ console.log(`CacheKey Finalization(${cacheKeyType}, ${JSON.stringify(otherKeys)})`);
83
+ });
84
+ }
85
+ this.#refCounts.register(k);
86
+ });
87
+ setInterval(() => {
88
+ this.#refCounts.gc();
89
+ }, 1000);
90
+ this.#finalizationRegistry = new FinalizationRegistry(cleanupCallback => {
91
+ try {
92
+ cleanupCallback();
93
+ } catch (e) {
94
+ // eslint-disable-next-line no-console
95
+ console.error("Caught an error while running a finalization callback", e);
96
+ }
97
+ });
98
+ }
99
+
100
+ /**
101
+ * Called after a key is no longer retained and the timeout has elapsed
102
+ * @param key
103
+ */
104
+ #cleanupCacheKey = key => {
105
+ const subject = this.peekSubject(key);
106
+ if (DEBUG_REFCOUNTS) {
107
+ // eslint-disable-next-line no-console
108
+ console.log(`CacheKey cleaning up (${JSON.stringify({
109
+ closed: subject?.closed,
110
+ observed: subject?.observed
111
+ })})`, JSON.stringify([key.type, ...key.otherKeys], null, 2));
112
+ }
113
+ this.#cacheKeys.remove(key);
114
+ if (process.env.NODE_ENV !== "production") {
115
+ !subject ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
116
+ }
117
+ if (subject) {
118
+ subject.complete();
119
+ this.#cacheKeyToSubject.delete(key);
120
+ }
121
+ this.#queries.get(key)?.dispose();
122
+ this.#queries.delete(key);
123
+ };
124
+ applyAction = (action, args, opts) => {
125
+ return new ActionApplication(this).applyAction(action, args, opts);
126
+ };
127
+ removeLayer(layerId) {
128
+ !(layerId != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "undefined is the reserved layerId for the truth layer") : invariant(false) : void 0;
129
+ // 1. collect all cache keys for a given layerId
130
+ let currentLayer = this.#topLayer;
131
+ const cacheKeys = new Map();
132
+ while (currentLayer != null && currentLayer.parentLayer != null) {
133
+ if (currentLayer.layerId === layerId) {
134
+ for (const [k, v] of currentLayer.entries()) {
135
+ if (cacheKeys.has(k)) continue;
136
+ cacheKeys.set(k, v);
137
+ }
138
+ }
139
+ currentLayer = currentLayer.parentLayer;
140
+ }
141
+
142
+ // 2. remove the layers from the chain
143
+ this.#topLayer = this.#topLayer.removeLayer(layerId);
144
+
145
+ // 3. check each cache key to see if it is different in the new chain
146
+ for (const [k, oldEntry] of cacheKeys) {
147
+ const currentEntry = this.#topLayer.get(k);
148
+
149
+ // 4. if different, update the subject
150
+ if (oldEntry !== currentEntry) {
151
+ currentEntry ?? createInitEntry(k); // We are going to be pretty lazy here and just re-emit the value.
152
+ // In the future it may benefit us to deep equal check her but I think
153
+ // the subjects are effectively doing this anyway.
154
+ this.peekSubject(k)?.next({
155
+ // eslint-disable-next-line @typescript-eslint/no-misused-spread
156
+ ...(currentEntry ?? createInitEntry(k)),
157
+ isOptimistic: currentEntry?.value !== this.#truthLayer.get(k)?.value
158
+ });
159
+ }
160
+ }
161
+ }
162
+ getCacheKey(type, ...args) {
163
+ return this.#refCounts.register(this.#cacheKeys.get(type, ...args));
164
+ }
165
+ peekSubject = cacheKey => {
166
+ return this.#cacheKeyToSubject.get(cacheKey);
167
+ };
168
+ getSubject = cacheKey => {
169
+ let subject = this.#cacheKeyToSubject.get(cacheKey);
170
+ if (!subject) {
171
+ const initialValue = this.#topLayer.get(cacheKey) ?? createInitEntry(cacheKey);
172
+ subject = new BehaviorSubject({
173
+ // eslint-disable-next-line @typescript-eslint/no-misused-spread
174
+ ...initialValue,
175
+ isOptimistic: initialValue.value !== this.#truthLayer.get(cacheKey)?.value
176
+ });
177
+ this.#cacheKeyToSubject.set(cacheKey, subject);
178
+ }
179
+ return subject;
180
+ };
181
+ observeObject(apiName, pk, options, subFn) {
182
+ if (typeof apiName !== "string") {
183
+ apiName = apiName.apiName;
184
+ }
185
+ const query = this.getObjectQuery(apiName, pk);
186
+ this.#refCounts.retain(query.cacheKey);
187
+ if (options.mode !== "offline") {
188
+ void query.revalidate(options.mode === "force");
189
+ }
190
+ const sub = query.subscribe({
191
+ next: subFn
192
+ });
193
+ return {
194
+ unsubscribe: () => {
195
+ sub.unsubscribe();
196
+ this.#refCounts.release(query.cacheKey);
197
+ }
198
+ };
199
+ }
200
+ observeList(apiName, where, options, subFn) {
201
+ if (typeof apiName !== "string") {
202
+ apiName = apiName.apiName;
203
+ }
204
+ const query = this.getListQuery(apiName, where, options);
205
+ this.#refCounts.retain(query.cacheKey);
206
+ if (options.mode !== "offline") {
207
+ void query.revalidate(options.mode === "force");
208
+ }
209
+ const sub = query.subscribe({
210
+ next: subFn
211
+ });
212
+ return {
213
+ unsubscribe: () => {
214
+ sub.unsubscribe();
215
+ this.#refCounts.release(query.cacheKey);
216
+ }
217
+ };
218
+ }
219
+ #peekQuery(cacheKey) {
220
+ return this.#queries.get(cacheKey);
221
+ }
222
+ #getQuery(cacheKey, createQuery) {
223
+ let query = this.#peekQuery(cacheKey);
224
+ if (!query) {
225
+ query = createQuery();
226
+ this.#queries.set(cacheKey, query);
227
+ }
228
+ return query;
229
+ }
230
+ getListQuery(apiName, where, opts, peek = false) {
231
+ if (typeof apiName !== "string") {
232
+ apiName = apiName.apiName;
233
+ }
234
+ const canonWhere = this.whereCanonicalizer.canonicalize(where);
235
+ const listCacheKey = this.getCacheKey("list", apiName, canonWhere);
236
+ return this.#getQuery(listCacheKey, () => {
237
+ return new ListQuery(this, this.getSubject(listCacheKey), apiName, canonWhere, listCacheKey, opts);
238
+ });
239
+ }
240
+ getObjectQuery(apiName, pk) {
241
+ if (typeof apiName !== "string") {
242
+ apiName = apiName.apiName;
243
+ }
244
+ const objectCacheKey = this.getCacheKey("object", apiName, pk);
245
+ return this.#getQuery(objectCacheKey, () => new ObjectQuery(this, this.getSubject(objectCacheKey), apiName, pk, objectCacheKey, {
246
+ dedupeInterval: 0
247
+ }));
248
+ }
249
+ getObject(apiName, pk) {
250
+ if (typeof apiName !== "string") {
251
+ apiName = apiName.apiName;
252
+ }
253
+ const objectCacheKey = this.getCacheKey("object", apiName, pk);
254
+ const objEntry = this.#topLayer.get(objectCacheKey);
255
+ return objEntry?.value;
256
+ }
257
+ batch = ({
258
+ optimisticId
259
+ }, batchFn) => {
260
+ !(optimisticId === undefined || !!optimisticId) ? process.env.NODE_ENV !== "production" ? invariant(false, "optimistic must be undefined or not falsy") : invariant(false) : void 0;
261
+ let needsLayer = optimisticId !== undefined;
262
+ const batchContext = {
263
+ addedObjects: new Set(),
264
+ modifiedObjects: new Set(),
265
+ modifiedLists: new Set(),
266
+ createLayerIfNeeded: () => {
267
+ if (needsLayer) {
268
+ this.#topLayer = this.#topLayer.addLayer(optimisticId);
269
+ needsLayer = false;
270
+ }
271
+ },
272
+ optimisticWrite: !!optimisticId,
273
+ write: (cacheKey, value, status) => {
274
+ const oldTopValue = this.#topLayer.get(cacheKey);
275
+ if (optimisticId) batchContext.createLayerIfNeeded();
276
+ const writeLayer = optimisticId ? this.#topLayer : this.#truthLayer;
277
+ const newValue = {
278
+ cacheKey,
279
+ value,
280
+ lastUpdated: Date.now(),
281
+ status
282
+ };
283
+ writeLayer.set(cacheKey, newValue);
284
+ const newTopValue = this.#topLayer.get(cacheKey);
285
+ if (oldTopValue !== newTopValue) {
286
+ this.#cacheKeyToSubject.get(cacheKey)?.next({
287
+ ...newValue,
288
+ isOptimistic: newTopValue?.value !== this.#truthLayer.get(cacheKey)?.value
289
+ });
290
+ }
291
+ return newValue;
292
+ },
293
+ read: cacheKey => {
294
+ return optimisticId ? this.#topLayer.get(cacheKey) : this.#truthLayer.get(cacheKey);
295
+ }
296
+ };
297
+ const retVal = batchFn(batchContext);
298
+ return {
299
+ batchResult: batchContext,
300
+ retVal: retVal
301
+ };
302
+ };
303
+ invalidateObject(apiName, pk) {
304
+ if (typeof apiName !== "string") {
305
+ apiName = apiName.apiName;
306
+ }
307
+
308
+ // inevitably we will want an internal version of this and a "public" one
309
+ // so we can avoid extra requests
310
+
311
+ const query = this.getObjectQuery(apiName, pk);
312
+ return query.revalidate(true);
313
+
314
+ // potentially trigger updates of the lists that included this object?
315
+ // TODO
316
+ // could we detect that a list WOULD include it?
317
+ }
318
+ maybeRevalidateLists(changes) {
319
+ for (const [cacheKey, v] of this.#truthLayer.entries()) {
320
+ if (isListCacheKey(cacheKey)) {
321
+ // fixme promise
322
+ void this.#peekQuery(cacheKey)?.maybeRevalidate(changes);
323
+ }
324
+ }
325
+ }
326
+ maybeUpdateLists(changes, optimisticId) {
327
+ for (const [cacheKey, v] of this.#truthLayer.entries()) {
328
+ if (isListCacheKey(cacheKey)) {
329
+ // fixme promise
330
+ void this.#peekQuery(cacheKey)?.maybeUpdate(changes, optimisticId);
331
+ }
332
+ }
333
+ }
334
+ invalidateObjectType(apiName) {
335
+ if (typeof apiName !== "string") {
336
+ apiName = apiName.apiName;
337
+ }
338
+ for (const [cacheKey, v] of this.#truthLayer.entries()) {
339
+ if (isListCacheKey(cacheKey, apiName)) {
340
+ void this.#peekQuery(cacheKey)?.revalidate(true);
341
+ }
342
+ }
343
+ }
344
+ invalidateList(apiName, where) {
345
+ if (typeof apiName !== "string") {
346
+ apiName = apiName.apiName;
347
+ }
348
+ const cacheKey = this.getCacheKey("list", apiName, where);
349
+ void this.#peekQuery(cacheKey)?.revalidate(true);
350
+ }
351
+ updateObject(apiName, value, {
352
+ optimisticId
353
+ } = {}) {
354
+ if (typeof apiName !== "string") {
355
+ apiName = apiName.apiName;
356
+ }
357
+ const query = this.getObjectQuery(apiName, value.$primaryKey);
358
+ return this.batch({
359
+ optimisticId
360
+ }, batch => {
361
+ return query.writeToStore(value, "loaded", batch);
362
+ }).retVal.value;
363
+ }
364
+ updateList(apiName, where, values, {
365
+ optimisticId
366
+ } = {}, opts = {
367
+ dedupeInterval: 0
368
+ }) {
369
+ if (typeof apiName !== "string") {
370
+ apiName = apiName.apiName;
371
+ }
372
+ const query = this.getListQuery(apiName, where, opts);
373
+ this.batch({
374
+ optimisticId
375
+ }, b => {
376
+ query.updateList(values, false, "loaded", b);
377
+ });
378
+ }
379
+ retain(cacheKey) {
380
+ this.#refCounts.retain(cacheKey);
381
+ }
382
+ release(cacheKey) {
383
+ this.#refCounts.release(cacheKey);
384
+ }
385
+ }
386
+ class ActionApplication {
387
+ constructor(store) {
388
+ this.store = store;
389
+ }
390
+ applyAction = (action, args, {
391
+ optimisticUpdate
392
+ } = {}) => {
393
+ const removeOptimisticResult = runOptimisticJob(this.store, optimisticUpdate);
394
+ return (async () => {
395
+ try {
396
+ // The types for client get confused when we dynamically applyAction so we
397
+ // have to deal with the `any` here and force cast it to what it should be.
398
+ // TODO: Update the types so this doesn't happen!
399
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
400
+ const actionResults = await this.store.client(action).applyAction(args, {
401
+ $returnEdits: true
402
+ });
403
+ if (ACTION_DELAY > 0) {
404
+ // eslint-disable-next-line no-console
405
+ console.log("action done, pausing");
406
+ await delay(ACTION_DELAY);
407
+ // eslint-disable-next-line no-console
408
+ console.log("action done, pausing done");
409
+ }
410
+ await this.#invalidateActionEditResponse(actionResults);
411
+ return actionResults;
412
+ } finally {
413
+ // make sure this happens even if the action fails
414
+ await removeOptimisticResult();
415
+ }
416
+ })();
417
+ };
418
+ #invalidateActionEditResponse = value => {
419
+ const typesToInvalidate = new Set();
420
+ let promisesToWait = [];
421
+ if (value.type === "edits") {
422
+ // TODO we need an backend update for deletes
423
+ for (const obj of value.modifiedObjects) {
424
+ promisesToWait.push(this.store.invalidateObject(obj.objectType, obj.primaryKey));
425
+ }
426
+ for (const obj of value.addedObjects) {
427
+ promisesToWait.push(this.store.invalidateObject(obj.objectType, obj.primaryKey));
428
+ typesToInvalidate.add(obj.objectType);
429
+ }
430
+ promisesToWait = [Promise.allSettled(promisesToWait).then(() => {
431
+ const changes2 = this.#changesFromActionEditResponse(value);
432
+ this.store.maybeRevalidateLists(changes2);
433
+ })];
434
+ } else {
435
+ for (const apiName of value.editedObjectTypes) {
436
+ typesToInvalidate.add(apiName.toString());
437
+ }
438
+ }
439
+ return Promise.allSettled(promisesToWait).then(() => {
440
+ // after the single object invalidations are done we can decide if we need to updates any lists
441
+ for (const objectType of typesToInvalidate) {
442
+ // TODO make sure this covers individual object loads too
443
+ this.store.invalidateObjectType(objectType);
444
+ }
445
+ return value;
446
+ });
447
+ };
448
+ #changesFromActionEditResponse = value => {
449
+ const changes = createChangedObjects();
450
+ for (const changeType of ["addedObjects", "modifiedObjects"]) {
451
+ for (const {
452
+ objectType,
453
+ primaryKey
454
+ } of value[changeType] ?? []) {
455
+ const obj = this.store.getObject(objectType, primaryKey);
456
+ if (obj) {
457
+ changes[changeType].set(objectType, obj);
458
+ }
459
+ }
460
+ }
461
+ return changes;
462
+ };
463
+ }
464
+ //# sourceMappingURL=Store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Store.js","names":["delay","BehaviorSubject","invariant","DEBUG_REFCOUNTS","CacheKeys","createChangedObjects","Layer","isListCacheKey","ListQuery","ObjectQuery","runOptimisticJob","RefCounts","WhereClauseCanonicalizer","ACTION_DELAY","process","env","NODE_ENV","createInitEntry","cacheKey","status","value","undefined","lastUpdated","Store","whereCanonicalizer","truthLayer","topLayer","queries","WeakMap","cacheKeyToSubject","cacheKeys","refCounts","k","cleanupCacheKey","finalizationRegistry","constructor","client","cacheKeyType","type","otherKeys","console","log","JSON","stringify","register","setInterval","gc","FinalizationRegistry","cleanupCallback","e","error","key","subject","peekSubject","closed","observed","remove","complete","delete","get","dispose","applyAction","action","args","opts","ActionApplication","removeLayer","layerId","currentLayer","Map","parentLayer","v","entries","has","set","oldEntry","currentEntry","next","isOptimistic","getCacheKey","getSubject","initialValue","observeObject","apiName","pk","options","subFn","query","getObjectQuery","retain","mode","revalidate","sub","subscribe","unsubscribe","release","observeList","where","getListQuery","peekQuery","#peekQuery","getQuery","#getQuery","createQuery","peek","canonWhere","canonicalize","listCacheKey","objectCacheKey","dedupeInterval","getObject","objEntry","batch","optimisticId","batchFn","needsLayer","batchContext","addedObjects","Set","modifiedObjects","modifiedLists","createLayerIfNeeded","addLayer","optimisticWrite","write","oldTopValue","writeLayer","newValue","Date","now","newTopValue","read","retVal","batchResult","invalidateObject","maybeRevalidateLists","changes","maybeRevalidate","maybeUpdateLists","maybeUpdate","invalidateObjectType","invalidateList","updateObject","$primaryKey","writeToStore","updateList","values","b","store","optimisticUpdate","removeOptimisticResult","actionResults","$returnEdits","invalidateActionEditResponse","typesToInvalidate","promisesToWait","obj","push","objectType","primaryKey","add","Promise","allSettled","then","changes2","changesFromActionEditResponse","editedObjectTypes","toString","changeType"],"sources":["Store.ts"],"sourcesContent":["/*\n * Copyright 2025 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 ActionEditResponse,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n WhereClause,\n} from \"@osdk/api\";\nimport { delay } from \"msw\";\nimport { BehaviorSubject } from \"rxjs\";\nimport invariant from \"tiny-invariant\";\nimport type { ActionSignatureFromDef } from \"../../actions/applyAction.js\";\nimport type { Client } from \"../../Client.js\";\nimport { DEBUG_REFCOUNTS } from \"../DebugFlags.js\";\nimport type { ListPayload } from \"../ListPayload.js\";\nimport type { ObjectPayload } from \"../ObjectPayload.js\";\nimport type {\n ObserveObjectOptions,\n Unsubscribable,\n} from \"../ObservableClient.js\";\nimport type { OptimisticBuilder } from \"../OptimisticBuilder.js\";\nimport type { SubFn } from \"../types.js\";\nimport type { CacheKey } from \"./CacheKey.js\";\nimport { CacheKeys } from \"./CacheKeys.js\";\nimport { type ChangedObjects, createChangedObjects } from \"./ChangedObjects.js\";\nimport type { Entry } from \"./Layer.js\";\nimport { Layer } from \"./Layer.js\";\nimport type { ListCacheKey, ListQueryOptions } from \"./ListQuery.js\";\nimport { isListCacheKey, ListQuery } from \"./ListQuery.js\";\nimport type { ObjectCacheKey } from \"./ObjectQuery.js\";\nimport { ObjectQuery } from \"./ObjectQuery.js\";\nimport { type OptimisticId } from \"./OptimisticId.js\";\nimport { runOptimisticJob } from \"./OptimisticJob.js\";\nimport type { Query } from \"./Query.js\";\nimport { RefCounts } from \"./RefCounts.js\";\nimport { WhereClauseCanonicalizer } from \"./WhereClauseCanonicalizer.js\";\n\nconst ACTION_DELAY = process.env.NODE_ENV === \"production\" ? 0 : 1000;\n\n/*\n Work still to do:\n - [x] testing for optimistic writes\n - [x] automatic invalidation of actions\n - [x] automatic optimistic list updates\n - [x] useOsdkObjects\n - [x] imply offline for objects passed directly\n - [ ] websocket subscriptions\n - [ ] links\n - [ ] add pagination\n - [ ] sub-selection support\n - [ ] interfaces\n - [ ] setup defaults\n - [ ] reduce updates in react\n*/\n\nexport interface SubjectPayload<KEY extends CacheKey> extends Entry<KEY> {\n isOptimistic: boolean;\n}\n\nexport interface BatchContext {\n addedObjects: Set<ObjectCacheKey>;\n modifiedObjects: Set<ObjectCacheKey>;\n modifiedLists: Set<ListCacheKey>;\n createLayerIfNeeded: () => void;\n optimisticWrite: boolean;\n\n write: <K extends CacheKey<string, any, any>>(\n k: K,\n v: Entry<K>[\"value\"],\n status: Entry<K>[\"status\"],\n ) => Entry<K>;\n\n read: <K extends CacheKey<string, any, any>>(\n k: K,\n ) => Entry<K> | undefined;\n}\n\ninterface ObserveOptions {\n mode?: \"offline\" | \"force\";\n}\n\ninterface UpdateOptions {\n optimisticId?: OptimisticId;\n}\n\nexport namespace Store {\n export interface ApplyActionOptions {\n optimisticUpdate?: (ctx: OptimisticBuilder) => void;\n }\n}\n\nfunction createInitEntry(cacheKey: CacheKey): Entry<any> {\n return {\n cacheKey,\n status: \"init\",\n value: undefined,\n lastUpdated: 0,\n };\n}\n\n/*\n Notes:\n - Subjects are one per type per store (by cache key)\n - Data is one per layer per cache key\n*/\n\nexport class Store {\n whereCanonicalizer: WhereClauseCanonicalizer = new WhereClauseCanonicalizer();\n #truthLayer: Layer = new Layer(undefined, undefined);\n #topLayer: Layer;\n client: Client;\n\n #queries: WeakMap<CacheKey<string, any, any>, Query<any, any, any>> =\n new WeakMap();\n\n #cacheKeyToSubject = new WeakMap<\n CacheKey<string, any, any>,\n BehaviorSubject<SubjectPayload<any>>\n >();\n #cacheKeys: CacheKeys;\n\n #refCounts = new RefCounts<CacheKey>(\n DEBUG_REFCOUNTS ? 15_000 : 60_000,\n (k) => this.#cleanupCacheKey(k),\n );\n\n #finalizationRegistry: FinalizationRegistry<() => void>;\n\n constructor(client: Client) {\n this.client = client;\n this.#topLayer = this.#truthLayer;\n this.#cacheKeys = new CacheKeys(this.whereCanonicalizer, (k) => {\n if (DEBUG_REFCOUNTS) {\n const cacheKeyType = k.type;\n const otherKeys = k.otherKeys;\n // eslint-disable-next-line no-console\n console.log(\n `CacheKeys.onCreate(${cacheKeyType}, ${JSON.stringify(otherKeys)})`,\n );\n\n this.#finalizationRegistry.register(k, () => {\n // eslint-disable-next-line no-console\n console.log(\n `CacheKey Finalization(${cacheKeyType}, ${\n JSON.stringify(otherKeys)\n })`,\n );\n });\n }\n\n this.#refCounts.register(k);\n });\n\n setInterval(() => {\n this.#refCounts.gc();\n }, 1000);\n\n this.#finalizationRegistry = new FinalizationRegistry<() => void>(\n (cleanupCallback) => {\n try {\n cleanupCallback();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\n \"Caught an error while running a finalization callback\",\n e,\n );\n }\n },\n );\n }\n\n /**\n * Called after a key is no longer retained and the timeout has elapsed\n * @param key\n */\n #cleanupCacheKey = (key: CacheKey<string, any, any>) => {\n const subject = this.peekSubject(key);\n\n if (DEBUG_REFCOUNTS) {\n // eslint-disable-next-line no-console\n console.log(\n `CacheKey cleaning up (${\n JSON.stringify({\n closed: subject?.closed,\n observed: subject?.observed,\n })\n })`,\n JSON.stringify([key.type, ...key.otherKeys], null, 2),\n );\n }\n this.#cacheKeys.remove(key);\n if (process.env.NODE_ENV !== \"production\") {\n invariant(subject);\n }\n\n if (subject) {\n subject.complete();\n this.#cacheKeyToSubject.delete(key);\n }\n\n this.#queries.get(key)?.dispose();\n this.#queries.delete(key);\n };\n\n applyAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0],\n opts?: Store.ApplyActionOptions,\n ) => Promise<unknown> = (action, args, opts) => {\n return new ActionApplication(this).applyAction(action, args, opts);\n };\n\n removeLayer(layerId: OptimisticId): void {\n invariant(\n layerId != null,\n \"undefined is the reserved layerId for the truth layer\",\n );\n // 1. collect all cache keys for a given layerId\n let currentLayer: Layer | undefined = this.#topLayer;\n const cacheKeys = new Map<CacheKey<string, any, any>, Entry<any>>();\n while (currentLayer != null && currentLayer.parentLayer != null) {\n if (currentLayer.layerId === layerId) {\n for (const [k, v] of currentLayer.entries()) {\n if (cacheKeys.has(k)) continue;\n cacheKeys.set(k, v);\n }\n }\n\n currentLayer = currentLayer.parentLayer;\n }\n\n // 2. remove the layers from the chain\n this.#topLayer = this.#topLayer.removeLayer(layerId);\n\n // 3. check each cache key to see if it is different in the new chain\n for (const [k, oldEntry] of cacheKeys) {\n const currentEntry = this.#topLayer.get(k);\n\n // 4. if different, update the subject\n if (oldEntry !== currentEntry) {\n const x = currentEntry ?? createInitEntry(k);\n // We are going to be pretty lazy here and just re-emit the value.\n // In the future it may benefit us to deep equal check her but I think\n // the subjects are effectively doing this anyway.\n this.peekSubject(k)?.next(\n {\n // eslint-disable-next-line @typescript-eslint/no-misused-spread\n ...(currentEntry ?? createInitEntry(k)),\n isOptimistic:\n currentEntry?.value !== this.#truthLayer.get(k)?.value,\n },\n );\n }\n }\n }\n\n getCacheKey<K extends CacheKey<string, any, any>>(\n type: K[\"type\"],\n ...args: K[\"__cacheKey\"][\"args\"]\n ): K {\n return this.#refCounts.register(this.#cacheKeys.get(type, ...args));\n }\n\n peekSubject = <KEY extends CacheKey<string, any, any>>(\n cacheKey: KEY,\n ):\n | BehaviorSubject<SubjectPayload<KEY>>\n | undefined =>\n {\n return this.#cacheKeyToSubject.get(cacheKey);\n };\n\n getSubject = <KEY extends CacheKey<string, any, any>>(\n cacheKey: KEY,\n ): BehaviorSubject<SubjectPayload<KEY>> => {\n let subject = this.#cacheKeyToSubject.get(cacheKey);\n if (!subject) {\n const initialValue: Entry<KEY> = this.#topLayer.get(cacheKey)\n ?? createInitEntry(cacheKey);\n\n subject = new BehaviorSubject({\n // eslint-disable-next-line @typescript-eslint/no-misused-spread\n ...initialValue,\n isOptimistic:\n initialValue.value !== this.#truthLayer.get(cacheKey)?.value,\n });\n this.#cacheKeyToSubject.set(cacheKey, subject);\n }\n\n return subject;\n };\n\n public observeObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n options: ObserveObjectOptions<T>,\n subFn: SubFn<ObjectPayload>,\n ): Unsubscribable {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getObjectQuery(apiName, pk);\n this.#refCounts.retain(query.cacheKey);\n\n if (options.mode !== \"offline\") {\n void query.revalidate(options.mode === \"force\");\n }\n const sub = query.subscribe({ next: subFn });\n\n return {\n unsubscribe: () => {\n sub.unsubscribe();\n this.#refCounts.release(query.cacheKey);\n },\n };\n }\n\n public observeList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n options: ObserveOptions & ListQueryOptions,\n subFn: SubFn<ListPayload>,\n ): Unsubscribable {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getListQuery(apiName, where, options);\n this.#refCounts.retain(query.cacheKey);\n\n if (options.mode !== \"offline\") {\n void query.revalidate(options.mode === \"force\");\n }\n const sub = query.subscribe({ next: subFn });\n\n return {\n unsubscribe: () => {\n sub.unsubscribe();\n this.#refCounts.release(query.cacheKey);\n },\n };\n }\n\n #peekQuery<K extends CacheKey<string, any, any>>(\n cacheKey: K,\n ): K[\"__cacheKey\"][\"query\"] | undefined {\n return this.#queries.get(cacheKey) as K[\"__cacheKey\"][\"query\"] | undefined;\n }\n\n #getQuery<K extends CacheKey>(\n cacheKey: K,\n createQuery: () => K[\"__cacheKey\"][\"query\"],\n ): K[\"__cacheKey\"][\"query\"] {\n let query = this.#peekQuery(cacheKey);\n if (!query) {\n query = createQuery();\n this.#queries.set(cacheKey, query);\n }\n return query;\n }\n\n public getListQuery<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n opts: ListQueryOptions,\n peek = false,\n ): ListQuery {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const canonWhere = this.whereCanonicalizer.canonicalize(where);\n const listCacheKey = this.getCacheKey<ListCacheKey>(\n \"list\",\n apiName,\n canonWhere,\n );\n\n return this.#getQuery(listCacheKey, () => {\n return new ListQuery(\n this,\n this.getSubject(listCacheKey),\n apiName,\n canonWhere,\n listCacheKey,\n opts,\n );\n });\n }\n\n public getObjectQuery<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n ): ObjectQuery {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const objectCacheKey = this.getCacheKey<ObjectCacheKey>(\n \"object\",\n apiName,\n pk,\n );\n\n return this.#getQuery(objectCacheKey, () =>\n new ObjectQuery(\n this,\n this.getSubject(objectCacheKey),\n apiName,\n pk,\n objectCacheKey,\n { dedupeInterval: 0 },\n ));\n }\n\n public getObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: string | number,\n ): Osdk.Instance<T> | undefined {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const objectCacheKey = this.getCacheKey<ObjectCacheKey>(\n \"object\",\n apiName,\n pk,\n );\n const objEntry = this.#topLayer.get(objectCacheKey);\n return objEntry?.value as Osdk.Instance<T> | undefined;\n }\n\n batch = <X>(\n { optimisticId }: { optimisticId?: OptimisticId },\n batchFn: (batchContext: BatchContext) => X,\n ): {\n batchResult: BatchContext;\n retVal: X;\n } => {\n invariant(\n optimisticId === undefined || !!optimisticId,\n \"optimistic must be undefined or not falsy\",\n );\n\n let needsLayer = optimisticId !== undefined;\n const batchContext: BatchContext = {\n addedObjects: new Set(),\n modifiedObjects: new Set(),\n modifiedLists: new Set(),\n createLayerIfNeeded: () => {\n if (needsLayer) {\n this.#topLayer = this.#topLayer.addLayer(optimisticId);\n needsLayer = false;\n }\n },\n optimisticWrite: !!optimisticId,\n write: (cacheKey, value, status) => {\n const oldTopValue = this.#topLayer.get(cacheKey);\n\n if (optimisticId) batchContext.createLayerIfNeeded();\n\n const writeLayer = optimisticId\n ? this.#topLayer\n : this.#truthLayer;\n const newValue = {\n cacheKey,\n value,\n lastUpdated: Date.now(),\n status,\n };\n\n writeLayer.set(cacheKey, newValue);\n\n const newTopValue = this.#topLayer.get(cacheKey);\n\n if (oldTopValue !== newTopValue) {\n this.#cacheKeyToSubject.get(cacheKey)?.next({\n ...newValue,\n isOptimistic:\n newTopValue?.value !== this.#truthLayer.get(cacheKey)?.value,\n });\n }\n\n return newValue;\n },\n read: (cacheKey) => {\n return optimisticId\n ? this.#topLayer.get(cacheKey)\n : this.#truthLayer.get(cacheKey);\n },\n };\n\n const retVal = batchFn(batchContext);\n\n return { batchResult: batchContext, retVal: retVal };\n };\n\n public invalidateObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n ): Promise<unknown> {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n // inevitably we will want an internal version of this and a \"public\" one\n // so we can avoid extra requests\n\n const query = this.getObjectQuery(apiName, pk);\n\n return query.revalidate(true);\n\n // potentially trigger updates of the lists that included this object?\n // TODO\n // could we detect that a list WOULD include it?\n }\n\n public maybeRevalidateLists(\n changes: ChangedObjects,\n ): void {\n for (const [cacheKey, v] of this.#truthLayer.entries()) {\n if (isListCacheKey(cacheKey)) {\n // fixme promise\n void this.#peekQuery(cacheKey)?.maybeRevalidate(changes);\n }\n }\n }\n\n public maybeUpdateLists(\n changes: ChangedObjects,\n optimisticId: OptimisticId,\n ): void {\n for (const [cacheKey, v] of this.#truthLayer.entries()) {\n if (isListCacheKey(cacheKey)) {\n // fixme promise\n void this.#peekQuery(cacheKey)?.maybeUpdate(changes, optimisticId);\n }\n }\n }\n\n public invalidateObjectType<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n ): void {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n for (const [cacheKey, v] of this.#truthLayer.entries()) {\n if (isListCacheKey(cacheKey, apiName)) {\n void this.#peekQuery(cacheKey)?.revalidate(true);\n }\n }\n }\n\n public invalidateList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n ): void {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const cacheKey = this.getCacheKey<ListCacheKey>(\n \"list\",\n apiName,\n where,\n );\n\n void this.#peekQuery(cacheKey)?.revalidate(true);\n }\n\n public updateObject(\n apiName: string | ObjectTypeDefinition,\n value: Osdk.Instance<ObjectTypeDefinition>,\n { optimisticId }: UpdateOptions = {},\n ): Osdk.Instance<ObjectTypeDefinition> {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getObjectQuery(apiName, value.$primaryKey);\n\n return this.batch({ optimisticId }, (batch) => {\n return query.writeToStore(value, \"loaded\", batch);\n }).retVal.value!;\n }\n\n public updateList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n values: Osdk.Instance<T>[],\n { optimisticId }: UpdateOptions = {},\n opts: ListQueryOptions = { dedupeInterval: 0 },\n ): void {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getListQuery(apiName, where, opts);\n\n this.batch({ optimisticId }, (b) => {\n query.updateList(values, false, \"loaded\", b);\n });\n }\n\n retain(cacheKey: CacheKey<string, any, any>): void {\n this.#refCounts.retain(cacheKey);\n }\n\n release(cacheKey: CacheKey<string, any, any>): void {\n this.#refCounts.release(cacheKey);\n }\n}\n\nclass ActionApplication {\n constructor(private store: Store) {}\n\n applyAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0],\n opts?: Store.ApplyActionOptions,\n ) => Promise<unknown> = (action, args, { optimisticUpdate } = {}) => {\n const removeOptimisticResult = runOptimisticJob(\n this.store,\n optimisticUpdate,\n );\n return (async () => {\n try {\n // The types for client get confused when we dynamically applyAction so we\n // have to deal with the `any` here and force cast it to what it should be.\n // TODO: Update the types so this doesn't happen!\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const actionResults: ActionEditResponse = await this.store.client(\n action,\n ).applyAction(args as any, { $returnEdits: true });\n\n if (ACTION_DELAY > 0) {\n // eslint-disable-next-line no-console\n console.log(\"action done, pausing\");\n await delay(ACTION_DELAY);\n // eslint-disable-next-line no-console\n console.log(\"action done, pausing done\");\n }\n await this.#invalidateActionEditResponse(actionResults);\n return actionResults;\n } finally {\n // make sure this happens even if the action fails\n await removeOptimisticResult();\n }\n })();\n };\n\n #invalidateActionEditResponse = (value: ActionEditResponse) => {\n const typesToInvalidate = new Set<string>();\n let promisesToWait: Promise<any>[] = [];\n if (value.type === \"edits\") {\n // TODO we need an backend update for deletes\n for (const obj of value.modifiedObjects) {\n promisesToWait.push(\n this.store.invalidateObject(obj.objectType, obj.primaryKey),\n );\n }\n\n for (const obj of value.addedObjects) {\n promisesToWait.push(\n this.store.invalidateObject(obj.objectType, obj.primaryKey),\n );\n\n typesToInvalidate.add(obj.objectType);\n }\n\n promisesToWait = [\n Promise.allSettled(promisesToWait).then(() => {\n const changes2 = this.#changesFromActionEditResponse(value);\n this.store.maybeRevalidateLists(changes2);\n }),\n ];\n } else {\n for (const apiName of value.editedObjectTypes) {\n typesToInvalidate.add(apiName.toString());\n }\n }\n\n return Promise.allSettled(promisesToWait).then(() => {\n // after the single object invalidations are done we can decide if we need to updates any lists\n for (const objectType of typesToInvalidate) {\n // TODO make sure this covers individual object loads too\n this.store.invalidateObjectType(objectType);\n }\n\n return value;\n });\n };\n\n #changesFromActionEditResponse = (value: ActionEditResponse) => {\n const changes = createChangedObjects();\n for (const changeType of [\"addedObjects\", \"modifiedObjects\"] as const) {\n for (const { objectType, primaryKey } of (value[changeType] ?? [])) {\n const obj = this.store.getObject(objectType, primaryKey);\n if (obj) {\n changes[changeType].set(objectType, obj);\n }\n }\n }\n return changes;\n };\n}\n"],"mappings":"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","ignoreList":[]}