@osdk/faux 0.1.0-beta.1

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 (401) hide show
  1. package/CHANGELOG.md +1047 -0
  2. package/build/browser/BaseError.js +21 -0
  3. package/build/browser/BaseError.js.map +1 -0
  4. package/build/browser/FauxFoundry/BaseOsdkObjectType.js +2 -0
  5. package/build/browser/FauxFoundry/BaseOsdkObjectType.js.map +1 -0
  6. package/build/browser/FauxFoundry/BaseServerObject.js +30 -0
  7. package/build/browser/FauxFoundry/BaseServerObject.js.map +1 -0
  8. package/build/browser/FauxFoundry/FauxActionImpl.js +2 -0
  9. package/build/browser/FauxFoundry/FauxActionImpl.js.map +1 -0
  10. package/build/browser/FauxFoundry/FauxAttachmentStore.js +60 -0
  11. package/build/browser/FauxFoundry/FauxAttachmentStore.js.map +1 -0
  12. package/build/browser/FauxFoundry/FauxDataStore.js +470 -0
  13. package/build/browser/FauxFoundry/FauxDataStore.js.map +1 -0
  14. package/build/browser/FauxFoundry/FauxDataStore.test.js +190 -0
  15. package/build/browser/FauxFoundry/FauxDataStore.test.js.map +1 -0
  16. package/build/browser/FauxFoundry/FauxDataStoreBatch.js +125 -0
  17. package/build/browser/FauxFoundry/FauxDataStoreBatch.js.map +1 -0
  18. package/build/browser/FauxFoundry/FauxFoundry.js +87 -0
  19. package/build/browser/FauxFoundry/FauxFoundry.js.map +1 -0
  20. package/build/browser/FauxFoundry/FauxOntology.js +228 -0
  21. package/build/browser/FauxFoundry/FauxOntology.js.map +1 -0
  22. package/build/browser/FauxFoundry/FauxQueryImpl.js +2 -0
  23. package/build/browser/FauxFoundry/FauxQueryImpl.js.map +1 -0
  24. package/build/browser/FauxFoundry/ObjectLocator.js +29 -0
  25. package/build/browser/FauxFoundry/ObjectLocator.js.map +1 -0
  26. package/build/browser/FauxFoundry/filterObjects.js +122 -0
  27. package/build/browser/FauxFoundry/filterObjects.js.map +1 -0
  28. package/build/browser/FauxFoundry/filterTimeSeriesData.js +70 -0
  29. package/build/browser/FauxFoundry/filterTimeSeriesData.js.map +1 -0
  30. package/build/browser/FauxFoundry/filterTimeSeriesData.test.js +116 -0
  31. package/build/browser/FauxFoundry/filterTimeSeriesData.test.js.map +1 -0
  32. package/build/browser/FauxFoundry/getObjectsFromSet.js +217 -0
  33. package/build/browser/FauxFoundry/getObjectsFromSet.js.map +1 -0
  34. package/build/browser/FauxFoundry/typeHelpers/ActionTypeBuilder.js +64 -0
  35. package/build/browser/FauxFoundry/typeHelpers/ActionTypeBuilder.js.map +1 -0
  36. package/build/browser/FauxFoundry/typeHelpers/JustProps.js +2 -0
  37. package/build/browser/FauxFoundry/typeHelpers/JustProps.js.map +1 -0
  38. package/build/browser/FauxFoundry/typeHelpers/TH_ActionDefinition.js +2 -0
  39. package/build/browser/FauxFoundry/typeHelpers/TH_ActionDefinition.js.map +1 -0
  40. package/build/browser/FauxFoundry/typeHelpers/TH_ActionParameterV2.js +25 -0
  41. package/build/browser/FauxFoundry/typeHelpers/TH_ActionParameterV2.js.map +1 -0
  42. package/build/browser/FauxFoundry/typeHelpers/TH_ActionTypeV2.js +35 -0
  43. package/build/browser/FauxFoundry/typeHelpers/TH_ActionTypeV2.js.map +1 -0
  44. package/build/browser/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js +2 -0
  45. package/build/browser/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js.map +1 -0
  46. package/build/browser/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js +2 -0
  47. package/build/browser/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js.map +1 -0
  48. package/build/browser/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js +2 -0
  49. package/build/browser/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js.map +1 -0
  50. package/build/browser/FauxFoundry/typeHelpers/index.js +20 -0
  51. package/build/browser/FauxFoundry/typeHelpers/index.js.map +1 -0
  52. package/build/browser/FauxFoundry/validateAction.js +245 -0
  53. package/build/browser/FauxFoundry/validateAction.js.map +1 -0
  54. package/build/browser/defaultOntologyForConjure.js +25 -0
  55. package/build/browser/defaultOntologyForConjure.js.map +1 -0
  56. package/build/browser/defaultOntologyMetadata.js +23 -0
  57. package/build/browser/defaultOntologyMetadata.js.map +1 -0
  58. package/build/browser/errors.js +134 -0
  59. package/build/browser/errors.js.map +1 -0
  60. package/build/browser/filterObjects.js +86 -0
  61. package/build/browser/filterObjects.js.map +1 -0
  62. package/build/browser/handlers/authHandlerMiddleware.js +41 -0
  63. package/build/browser/handlers/authHandlerMiddleware.js.map +1 -0
  64. package/build/browser/handlers/createActionHandlers.js +49 -0
  65. package/build/browser/handlers/createActionHandlers.js.map +1 -0
  66. package/build/browser/handlers/createAttachmentHandlers.js +88 -0
  67. package/build/browser/handlers/createAttachmentHandlers.js.map +1 -0
  68. package/build/browser/handlers/createFauxFoundryHandlers.js +29 -0
  69. package/build/browser/handlers/createFauxFoundryHandlers.js.map +1 -0
  70. package/build/browser/handlers/createLoadObjectsHandlers.js +91 -0
  71. package/build/browser/handlers/createLoadObjectsHandlers.js.map +1 -0
  72. package/build/browser/handlers/createMediaRefHandlers.js +70 -0
  73. package/build/browser/handlers/createMediaRefHandlers.js.map +1 -0
  74. package/build/browser/handlers/createMultipassServerHandlers.js +67 -0
  75. package/build/browser/handlers/createMultipassServerHandlers.js.map +1 -0
  76. package/build/browser/handlers/createObjectSetHandlers.js +50 -0
  77. package/build/browser/handlers/createObjectSetHandlers.js.map +1 -0
  78. package/build/browser/handlers/createOntologyHandlers.js +122 -0
  79. package/build/browser/handlers/createOntologyHandlers.js.map +1 -0
  80. package/build/browser/handlers/createQueryHandlers.js +38 -0
  81. package/build/browser/handlers/createQueryHandlers.js.map +1 -0
  82. package/build/browser/handlers/createTimeseriesAndGeotimeHandlers.js +95 -0
  83. package/build/browser/handlers/createTimeseriesAndGeotimeHandlers.js.map +1 -0
  84. package/build/browser/handlers/util/getPaginationParams.js +33 -0
  85. package/build/browser/handlers/util/getPaginationParams.js.map +1 -0
  86. package/build/browser/handlers/util/handleOpenApiCall.js +85 -0
  87. package/build/browser/handlers/util/handleOpenApiCall.js.map +1 -0
  88. package/build/browser/handlers/util/loadAll.js +24 -0
  89. package/build/browser/handlers/util/loadAll.js.map +1 -0
  90. package/build/browser/handlers/util/pageThroughResponseSearchParams.js +39 -0
  91. package/build/browser/handlers/util/pageThroughResponseSearchParams.js.map +1 -0
  92. package/build/browser/handlers/util/requireParam.js +29 -0
  93. package/build/browser/handlers/util/requireParam.js.map +1 -0
  94. package/build/browser/handlers/util/requireSearchParams.js +29 -0
  95. package/build/browser/handlers/util/requireSearchParams.js.map +1 -0
  96. package/build/browser/index.js +29 -0
  97. package/build/browser/index.js.map +1 -0
  98. package/build/browser/mock/OntologiesV2/ActionTypesV2.js +21 -0
  99. package/build/browser/mock/OntologiesV2/ActionTypesV2.js.map +1 -0
  100. package/build/browser/mock/OntologiesV2/Actions.js +21 -0
  101. package/build/browser/mock/OntologiesV2/Actions.js.map +1 -0
  102. package/build/browser/mock/OntologiesV2/AttachmentPropertiesV2.js +21 -0
  103. package/build/browser/mock/OntologiesV2/AttachmentPropertiesV2.js.map +1 -0
  104. package/build/browser/mock/OntologiesV2/Attachments.js +22 -0
  105. package/build/browser/mock/OntologiesV2/Attachments.js.map +1 -0
  106. package/build/browser/mock/OntologiesV2/LinkedObjectsV2.js +21 -0
  107. package/build/browser/mock/OntologiesV2/LinkedObjectsV2.js.map +1 -0
  108. package/build/browser/mock/OntologiesV2/MediaReferenceProperties.js +22 -0
  109. package/build/browser/mock/OntologiesV2/MediaReferenceProperties.js.map +1 -0
  110. package/build/browser/mock/OntologiesV2/ObjectTypesV2.js +24 -0
  111. package/build/browser/mock/OntologiesV2/ObjectTypesV2.js.map +1 -0
  112. package/build/browser/mock/OntologiesV2/OntologiesV2.js +27 -0
  113. package/build/browser/mock/OntologiesV2/OntologiesV2.js.map +1 -0
  114. package/build/browser/mock/OntologiesV2/OntologyInterfaces.js +21 -0
  115. package/build/browser/mock/OntologiesV2/OntologyInterfaces.js.map +1 -0
  116. package/build/browser/mock/OntologiesV2/OntologyObjectSets.js +22 -0
  117. package/build/browser/mock/OntologiesV2/OntologyObjectSets.js.map +1 -0
  118. package/build/browser/mock/OntologiesV2/OntologyObjectsV2.js +21 -0
  119. package/build/browser/mock/OntologiesV2/OntologyObjectsV2.js.map +1 -0
  120. package/build/browser/mock/OntologiesV2/Queries.js +20 -0
  121. package/build/browser/mock/OntologiesV2/Queries.js.map +1 -0
  122. package/build/browser/mock/OntologiesV2/QueryTypes.js +21 -0
  123. package/build/browser/mock/OntologiesV2/QueryTypes.js.map +1 -0
  124. package/build/browser/mock/OntologiesV2/TimeSeriesPropertiesV2.js +22 -0
  125. package/build/browser/mock/OntologiesV2/TimeSeriesPropertiesV2.js.map +1 -0
  126. package/build/browser/mock/OntologiesV2/TimeSeriesValueBankProperties.js +21 -0
  127. package/build/browser/mock/OntologiesV2/TimeSeriesValueBankProperties.js.map +1 -0
  128. package/build/browser/mock/OntologiesV2/index.js +32 -0
  129. package/build/browser/mock/OntologiesV2/index.js.map +1 -0
  130. package/build/browser/mock/index.js +18 -0
  131. package/build/browser/mock/index.js.map +1 -0
  132. package/build/browser/withoutRid.js +24 -0
  133. package/build/browser/withoutRid.js.map +1 -0
  134. package/build/cjs/index.cjs +2983 -0
  135. package/build/cjs/index.cjs.map +1 -0
  136. package/build/cjs/index.d.cts +562 -0
  137. package/build/esm/BaseError.js +21 -0
  138. package/build/esm/BaseError.js.map +1 -0
  139. package/build/esm/FauxFoundry/BaseOsdkObjectType.js +2 -0
  140. package/build/esm/FauxFoundry/BaseOsdkObjectType.js.map +1 -0
  141. package/build/esm/FauxFoundry/BaseServerObject.js +30 -0
  142. package/build/esm/FauxFoundry/BaseServerObject.js.map +1 -0
  143. package/build/esm/FauxFoundry/FauxActionImpl.js +2 -0
  144. package/build/esm/FauxFoundry/FauxActionImpl.js.map +1 -0
  145. package/build/esm/FauxFoundry/FauxAttachmentStore.js +60 -0
  146. package/build/esm/FauxFoundry/FauxAttachmentStore.js.map +1 -0
  147. package/build/esm/FauxFoundry/FauxDataStore.js +470 -0
  148. package/build/esm/FauxFoundry/FauxDataStore.js.map +1 -0
  149. package/build/esm/FauxFoundry/FauxDataStore.test.js +190 -0
  150. package/build/esm/FauxFoundry/FauxDataStore.test.js.map +1 -0
  151. package/build/esm/FauxFoundry/FauxDataStoreBatch.js +125 -0
  152. package/build/esm/FauxFoundry/FauxDataStoreBatch.js.map +1 -0
  153. package/build/esm/FauxFoundry/FauxFoundry.js +87 -0
  154. package/build/esm/FauxFoundry/FauxFoundry.js.map +1 -0
  155. package/build/esm/FauxFoundry/FauxOntology.js +228 -0
  156. package/build/esm/FauxFoundry/FauxOntology.js.map +1 -0
  157. package/build/esm/FauxFoundry/FauxQueryImpl.js +2 -0
  158. package/build/esm/FauxFoundry/FauxQueryImpl.js.map +1 -0
  159. package/build/esm/FauxFoundry/ObjectLocator.js +29 -0
  160. package/build/esm/FauxFoundry/ObjectLocator.js.map +1 -0
  161. package/build/esm/FauxFoundry/filterObjects.js +122 -0
  162. package/build/esm/FauxFoundry/filterObjects.js.map +1 -0
  163. package/build/esm/FauxFoundry/filterTimeSeriesData.js +70 -0
  164. package/build/esm/FauxFoundry/filterTimeSeriesData.js.map +1 -0
  165. package/build/esm/FauxFoundry/filterTimeSeriesData.test.js +116 -0
  166. package/build/esm/FauxFoundry/filterTimeSeriesData.test.js.map +1 -0
  167. package/build/esm/FauxFoundry/getObjectsFromSet.js +217 -0
  168. package/build/esm/FauxFoundry/getObjectsFromSet.js.map +1 -0
  169. package/build/esm/FauxFoundry/typeHelpers/ActionTypeBuilder.js +64 -0
  170. package/build/esm/FauxFoundry/typeHelpers/ActionTypeBuilder.js.map +1 -0
  171. package/build/esm/FauxFoundry/typeHelpers/JustProps.js +2 -0
  172. package/build/esm/FauxFoundry/typeHelpers/JustProps.js.map +1 -0
  173. package/build/esm/FauxFoundry/typeHelpers/TH_ActionDefinition.js +2 -0
  174. package/build/esm/FauxFoundry/typeHelpers/TH_ActionDefinition.js.map +1 -0
  175. package/build/esm/FauxFoundry/typeHelpers/TH_ActionParameterV2.js +25 -0
  176. package/build/esm/FauxFoundry/typeHelpers/TH_ActionParameterV2.js.map +1 -0
  177. package/build/esm/FauxFoundry/typeHelpers/TH_ActionTypeV2.js +35 -0
  178. package/build/esm/FauxFoundry/typeHelpers/TH_ActionTypeV2.js.map +1 -0
  179. package/build/esm/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js +2 -0
  180. package/build/esm/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js.map +1 -0
  181. package/build/esm/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js +2 -0
  182. package/build/esm/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js.map +1 -0
  183. package/build/esm/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js +2 -0
  184. package/build/esm/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js.map +1 -0
  185. package/build/esm/FauxFoundry/typeHelpers/index.js +20 -0
  186. package/build/esm/FauxFoundry/typeHelpers/index.js.map +1 -0
  187. package/build/esm/FauxFoundry/validateAction.js +245 -0
  188. package/build/esm/FauxFoundry/validateAction.js.map +1 -0
  189. package/build/esm/defaultOntologyForConjure.js +25 -0
  190. package/build/esm/defaultOntologyForConjure.js.map +1 -0
  191. package/build/esm/defaultOntologyMetadata.js +23 -0
  192. package/build/esm/defaultOntologyMetadata.js.map +1 -0
  193. package/build/esm/errors.js +134 -0
  194. package/build/esm/errors.js.map +1 -0
  195. package/build/esm/filterObjects.js +86 -0
  196. package/build/esm/filterObjects.js.map +1 -0
  197. package/build/esm/handlers/authHandlerMiddleware.js +41 -0
  198. package/build/esm/handlers/authHandlerMiddleware.js.map +1 -0
  199. package/build/esm/handlers/createActionHandlers.js +49 -0
  200. package/build/esm/handlers/createActionHandlers.js.map +1 -0
  201. package/build/esm/handlers/createAttachmentHandlers.js +88 -0
  202. package/build/esm/handlers/createAttachmentHandlers.js.map +1 -0
  203. package/build/esm/handlers/createFauxFoundryHandlers.js +29 -0
  204. package/build/esm/handlers/createFauxFoundryHandlers.js.map +1 -0
  205. package/build/esm/handlers/createLoadObjectsHandlers.js +91 -0
  206. package/build/esm/handlers/createLoadObjectsHandlers.js.map +1 -0
  207. package/build/esm/handlers/createMediaRefHandlers.js +70 -0
  208. package/build/esm/handlers/createMediaRefHandlers.js.map +1 -0
  209. package/build/esm/handlers/createMultipassServerHandlers.js +67 -0
  210. package/build/esm/handlers/createMultipassServerHandlers.js.map +1 -0
  211. package/build/esm/handlers/createObjectSetHandlers.js +50 -0
  212. package/build/esm/handlers/createObjectSetHandlers.js.map +1 -0
  213. package/build/esm/handlers/createOntologyHandlers.js +122 -0
  214. package/build/esm/handlers/createOntologyHandlers.js.map +1 -0
  215. package/build/esm/handlers/createQueryHandlers.js +38 -0
  216. package/build/esm/handlers/createQueryHandlers.js.map +1 -0
  217. package/build/esm/handlers/createTimeseriesAndGeotimeHandlers.js +95 -0
  218. package/build/esm/handlers/createTimeseriesAndGeotimeHandlers.js.map +1 -0
  219. package/build/esm/handlers/util/getPaginationParams.js +33 -0
  220. package/build/esm/handlers/util/getPaginationParams.js.map +1 -0
  221. package/build/esm/handlers/util/handleOpenApiCall.js +85 -0
  222. package/build/esm/handlers/util/handleOpenApiCall.js.map +1 -0
  223. package/build/esm/handlers/util/loadAll.js +24 -0
  224. package/build/esm/handlers/util/loadAll.js.map +1 -0
  225. package/build/esm/handlers/util/pageThroughResponseSearchParams.js +39 -0
  226. package/build/esm/handlers/util/pageThroughResponseSearchParams.js.map +1 -0
  227. package/build/esm/handlers/util/requireParam.js +29 -0
  228. package/build/esm/handlers/util/requireParam.js.map +1 -0
  229. package/build/esm/handlers/util/requireSearchParams.js +29 -0
  230. package/build/esm/handlers/util/requireSearchParams.js.map +1 -0
  231. package/build/esm/index.js +29 -0
  232. package/build/esm/index.js.map +1 -0
  233. package/build/esm/mock/OntologiesV2/ActionTypesV2.js +21 -0
  234. package/build/esm/mock/OntologiesV2/ActionTypesV2.js.map +1 -0
  235. package/build/esm/mock/OntologiesV2/Actions.js +21 -0
  236. package/build/esm/mock/OntologiesV2/Actions.js.map +1 -0
  237. package/build/esm/mock/OntologiesV2/AttachmentPropertiesV2.js +21 -0
  238. package/build/esm/mock/OntologiesV2/AttachmentPropertiesV2.js.map +1 -0
  239. package/build/esm/mock/OntologiesV2/Attachments.js +22 -0
  240. package/build/esm/mock/OntologiesV2/Attachments.js.map +1 -0
  241. package/build/esm/mock/OntologiesV2/LinkedObjectsV2.js +21 -0
  242. package/build/esm/mock/OntologiesV2/LinkedObjectsV2.js.map +1 -0
  243. package/build/esm/mock/OntologiesV2/MediaReferenceProperties.js +22 -0
  244. package/build/esm/mock/OntologiesV2/MediaReferenceProperties.js.map +1 -0
  245. package/build/esm/mock/OntologiesV2/ObjectTypesV2.js +24 -0
  246. package/build/esm/mock/OntologiesV2/ObjectTypesV2.js.map +1 -0
  247. package/build/esm/mock/OntologiesV2/OntologiesV2.js +27 -0
  248. package/build/esm/mock/OntologiesV2/OntologiesV2.js.map +1 -0
  249. package/build/esm/mock/OntologiesV2/OntologyInterfaces.js +21 -0
  250. package/build/esm/mock/OntologiesV2/OntologyInterfaces.js.map +1 -0
  251. package/build/esm/mock/OntologiesV2/OntologyObjectSets.js +22 -0
  252. package/build/esm/mock/OntologiesV2/OntologyObjectSets.js.map +1 -0
  253. package/build/esm/mock/OntologiesV2/OntologyObjectsV2.js +21 -0
  254. package/build/esm/mock/OntologiesV2/OntologyObjectsV2.js.map +1 -0
  255. package/build/esm/mock/OntologiesV2/Queries.js +20 -0
  256. package/build/esm/mock/OntologiesV2/Queries.js.map +1 -0
  257. package/build/esm/mock/OntologiesV2/QueryTypes.js +21 -0
  258. package/build/esm/mock/OntologiesV2/QueryTypes.js.map +1 -0
  259. package/build/esm/mock/OntologiesV2/TimeSeriesPropertiesV2.js +22 -0
  260. package/build/esm/mock/OntologiesV2/TimeSeriesPropertiesV2.js.map +1 -0
  261. package/build/esm/mock/OntologiesV2/TimeSeriesValueBankProperties.js +21 -0
  262. package/build/esm/mock/OntologiesV2/TimeSeriesValueBankProperties.js.map +1 -0
  263. package/build/esm/mock/OntologiesV2/index.js +32 -0
  264. package/build/esm/mock/OntologiesV2/index.js.map +1 -0
  265. package/build/esm/mock/index.js +18 -0
  266. package/build/esm/mock/index.js.map +1 -0
  267. package/build/esm/withoutRid.js +24 -0
  268. package/build/esm/withoutRid.js.map +1 -0
  269. package/build/types/BaseError.d.ts +7 -0
  270. package/build/types/BaseError.d.ts.map +1 -0
  271. package/build/types/FauxFoundry/BaseOsdkObjectType.d.ts +5 -0
  272. package/build/types/FauxFoundry/BaseOsdkObjectType.d.ts.map +1 -0
  273. package/build/types/FauxFoundry/BaseServerObject.d.ts +18 -0
  274. package/build/types/FauxFoundry/BaseServerObject.d.ts.map +1 -0
  275. package/build/types/FauxFoundry/FauxActionImpl.d.ts +8 -0
  276. package/build/types/FauxFoundry/FauxActionImpl.d.ts.map +1 -0
  277. package/build/types/FauxFoundry/FauxAttachmentStore.d.ts +10 -0
  278. package/build/types/FauxFoundry/FauxAttachmentStore.d.ts.map +1 -0
  279. package/build/types/FauxFoundry/FauxDataStore.d.ts +70 -0
  280. package/build/types/FauxFoundry/FauxDataStore.d.ts.map +1 -0
  281. package/build/types/FauxFoundry/FauxDataStore.test.d.ts +1 -0
  282. package/build/types/FauxFoundry/FauxDataStore.test.d.ts.map +1 -0
  283. package/build/types/FauxFoundry/FauxDataStoreBatch.d.ts +22 -0
  284. package/build/types/FauxFoundry/FauxDataStoreBatch.d.ts.map +1 -0
  285. package/build/types/FauxFoundry/FauxFoundry.d.ts +25 -0
  286. package/build/types/FauxFoundry/FauxFoundry.d.ts.map +1 -0
  287. package/build/types/FauxFoundry/FauxOntology.d.ts +39 -0
  288. package/build/types/FauxFoundry/FauxOntology.d.ts.map +1 -0
  289. package/build/types/FauxFoundry/FauxQueryImpl.d.ts +5 -0
  290. package/build/types/FauxFoundry/FauxQueryImpl.d.ts.map +1 -0
  291. package/build/types/FauxFoundry/ObjectLocator.d.ts +11 -0
  292. package/build/types/FauxFoundry/ObjectLocator.d.ts.map +1 -0
  293. package/build/types/FauxFoundry/filterObjects.d.ts +3 -0
  294. package/build/types/FauxFoundry/filterObjects.d.ts.map +1 -0
  295. package/build/types/FauxFoundry/filterTimeSeriesData.d.ts +2 -0
  296. package/build/types/FauxFoundry/filterTimeSeriesData.d.ts.map +1 -0
  297. package/build/types/FauxFoundry/filterTimeSeriesData.test.d.ts +1 -0
  298. package/build/types/FauxFoundry/filterTimeSeriesData.test.d.ts.map +1 -0
  299. package/build/types/FauxFoundry/getObjectsFromSet.d.ts +6 -0
  300. package/build/types/FauxFoundry/getObjectsFromSet.d.ts.map +1 -0
  301. package/build/types/FauxFoundry/typeHelpers/ActionTypeBuilder.d.ts +27 -0
  302. package/build/types/FauxFoundry/typeHelpers/ActionTypeBuilder.d.ts.map +1 -0
  303. package/build/types/FauxFoundry/typeHelpers/JustProps.d.ts +4 -0
  304. package/build/types/FauxFoundry/typeHelpers/JustProps.d.ts.map +1 -0
  305. package/build/types/FauxFoundry/typeHelpers/TH_ActionDefinition.d.ts +43 -0
  306. package/build/types/FauxFoundry/typeHelpers/TH_ActionDefinition.d.ts.map +1 -0
  307. package/build/types/FauxFoundry/typeHelpers/TH_ActionParameterV2.d.ts +15 -0
  308. package/build/types/FauxFoundry/typeHelpers/TH_ActionParameterV2.d.ts.map +1 -0
  309. package/build/types/FauxFoundry/typeHelpers/TH_ActionTypeV2.d.ts +8 -0
  310. package/build/types/FauxFoundry/typeHelpers/TH_ActionTypeV2.d.ts.map +1 -0
  311. package/build/types/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.d.ts +24 -0
  312. package/build/types/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.d.ts.map +1 -0
  313. package/build/types/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.d.ts +18 -0
  314. package/build/types/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.d.ts.map +1 -0
  315. package/build/types/FauxFoundry/typeHelpers/ToObjectTypeDefinition.d.ts +12 -0
  316. package/build/types/FauxFoundry/typeHelpers/ToObjectTypeDefinition.d.ts.map +1 -0
  317. package/build/types/FauxFoundry/typeHelpers/index.d.ts +10 -0
  318. package/build/types/FauxFoundry/typeHelpers/index.d.ts.map +1 -0
  319. package/build/types/FauxFoundry/validateAction.d.ts +9 -0
  320. package/build/types/FauxFoundry/validateAction.d.ts.map +1 -0
  321. package/build/types/defaultOntologyForConjure.d.ts +7 -0
  322. package/build/types/defaultOntologyForConjure.d.ts.map +1 -0
  323. package/build/types/defaultOntologyMetadata.d.ts +2 -0
  324. package/build/types/defaultOntologyMetadata.d.ts.map +1 -0
  325. package/build/types/errors.d.ts +14 -0
  326. package/build/types/errors.d.ts.map +1 -0
  327. package/build/types/filterObjects.d.ts +8 -0
  328. package/build/types/filterObjects.d.ts.map +1 -0
  329. package/build/types/handlers/authHandlerMiddleware.d.ts +5 -0
  330. package/build/types/handlers/authHandlerMiddleware.d.ts.map +1 -0
  331. package/build/types/handlers/createActionHandlers.d.ts +3 -0
  332. package/build/types/handlers/createActionHandlers.d.ts.map +1 -0
  333. package/build/types/handlers/createAttachmentHandlers.d.ts +2 -0
  334. package/build/types/handlers/createAttachmentHandlers.d.ts.map +1 -0
  335. package/build/types/handlers/createFauxFoundryHandlers.d.ts +4 -0
  336. package/build/types/handlers/createFauxFoundryHandlers.d.ts.map +1 -0
  337. package/build/types/handlers/createLoadObjectsHandlers.d.ts +2 -0
  338. package/build/types/handlers/createLoadObjectsHandlers.d.ts.map +1 -0
  339. package/build/types/handlers/createMediaRefHandlers.d.ts +2 -0
  340. package/build/types/handlers/createMediaRefHandlers.d.ts.map +1 -0
  341. package/build/types/handlers/createMultipassServerHandlers.d.ts +2 -0
  342. package/build/types/handlers/createMultipassServerHandlers.d.ts.map +1 -0
  343. package/build/types/handlers/createObjectSetHandlers.d.ts +3 -0
  344. package/build/types/handlers/createObjectSetHandlers.d.ts.map +1 -0
  345. package/build/types/handlers/createOntologyHandlers.d.ts +4 -0
  346. package/build/types/handlers/createOntologyHandlers.d.ts.map +1 -0
  347. package/build/types/handlers/createQueryHandlers.d.ts +2 -0
  348. package/build/types/handlers/createQueryHandlers.d.ts.map +1 -0
  349. package/build/types/handlers/createTimeseriesAndGeotimeHandlers.d.ts +2 -0
  350. package/build/types/handlers/createTimeseriesAndGeotimeHandlers.d.ts.map +1 -0
  351. package/build/types/handlers/util/getPaginationParams.d.ts +11 -0
  352. package/build/types/handlers/util/getPaginationParams.d.ts.map +1 -0
  353. package/build/types/handlers/util/handleOpenApiCall.d.ts +49 -0
  354. package/build/types/handlers/util/handleOpenApiCall.d.ts.map +1 -0
  355. package/build/types/handlers/util/loadAll.d.ts +1 -0
  356. package/build/types/handlers/util/loadAll.d.ts.map +1 -0
  357. package/build/types/handlers/util/pageThroughResponseSearchParams.d.ts +20 -0
  358. package/build/types/handlers/util/pageThroughResponseSearchParams.d.ts.map +1 -0
  359. package/build/types/handlers/util/requireParam.d.ts +8 -0
  360. package/build/types/handlers/util/requireParam.d.ts.map +1 -0
  361. package/build/types/handlers/util/requireSearchParams.d.ts +2 -0
  362. package/build/types/handlers/util/requireSearchParams.d.ts.map +1 -0
  363. package/build/types/index.d.ts +14 -0
  364. package/build/types/index.d.ts.map +1 -0
  365. package/build/types/mock/OntologiesV2/ActionTypesV2.d.ts +4 -0
  366. package/build/types/mock/OntologiesV2/ActionTypesV2.d.ts.map +1 -0
  367. package/build/types/mock/OntologiesV2/Actions.d.ts +4 -0
  368. package/build/types/mock/OntologiesV2/Actions.d.ts.map +1 -0
  369. package/build/types/mock/OntologiesV2/AttachmentPropertiesV2.d.ts +4 -0
  370. package/build/types/mock/OntologiesV2/AttachmentPropertiesV2.d.ts.map +1 -0
  371. package/build/types/mock/OntologiesV2/Attachments.d.ts +5 -0
  372. package/build/types/mock/OntologiesV2/Attachments.d.ts.map +1 -0
  373. package/build/types/mock/OntologiesV2/LinkedObjectsV2.d.ts +4 -0
  374. package/build/types/mock/OntologiesV2/LinkedObjectsV2.d.ts.map +1 -0
  375. package/build/types/mock/OntologiesV2/MediaReferenceProperties.d.ts +5 -0
  376. package/build/types/mock/OntologiesV2/MediaReferenceProperties.d.ts.map +1 -0
  377. package/build/types/mock/OntologiesV2/ObjectTypesV2.d.ts +7 -0
  378. package/build/types/mock/OntologiesV2/ObjectTypesV2.d.ts.map +1 -0
  379. package/build/types/mock/OntologiesV2/OntologiesV2.d.ts +9 -0
  380. package/build/types/mock/OntologiesV2/OntologiesV2.d.ts.map +1 -0
  381. package/build/types/mock/OntologiesV2/OntologyInterfaces.d.ts +4 -0
  382. package/build/types/mock/OntologiesV2/OntologyInterfaces.d.ts.map +1 -0
  383. package/build/types/mock/OntologiesV2/OntologyObjectSets.d.ts +5 -0
  384. package/build/types/mock/OntologiesV2/OntologyObjectSets.d.ts.map +1 -0
  385. package/build/types/mock/OntologiesV2/OntologyObjectsV2.d.ts +4 -0
  386. package/build/types/mock/OntologiesV2/OntologyObjectsV2.d.ts.map +1 -0
  387. package/build/types/mock/OntologiesV2/Queries.d.ts +3 -0
  388. package/build/types/mock/OntologiesV2/Queries.d.ts.map +1 -0
  389. package/build/types/mock/OntologiesV2/QueryTypes.d.ts +4 -0
  390. package/build/types/mock/OntologiesV2/QueryTypes.d.ts.map +1 -0
  391. package/build/types/mock/OntologiesV2/TimeSeriesPropertiesV2.d.ts +5 -0
  392. package/build/types/mock/OntologiesV2/TimeSeriesPropertiesV2.d.ts.map +1 -0
  393. package/build/types/mock/OntologiesV2/TimeSeriesValueBankProperties.d.ts +4 -0
  394. package/build/types/mock/OntologiesV2/TimeSeriesValueBankProperties.d.ts.map +1 -0
  395. package/build/types/mock/OntologiesV2/index.d.ts +15 -0
  396. package/build/types/mock/OntologiesV2/index.d.ts.map +1 -0
  397. package/build/types/mock/index.d.ts +1 -0
  398. package/build/types/mock/index.d.ts.map +1 -0
  399. package/build/types/withoutRid.d.ts +3 -0
  400. package/build/types/withoutRid.d.ts.map +1 -0
  401. package/package.json +88 -0
@@ -0,0 +1,2983 @@
1
+ 'use strict';
2
+
3
+ var generatorConverters = require('@osdk/generator-converters');
4
+ var crypto = require('crypto');
5
+ var mnemonist = require('mnemonist');
6
+ var invariant4 = require('tiny-invariant');
7
+ var msw = require('msw');
8
+ var deepEqual = require('fast-deep-equal');
9
+ var dateFns = require('date-fns');
10
+ var semver = require('semver');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ function _interopNamespace(e) {
15
+ if (e && e.__esModule) return e;
16
+ var n = Object.create(null);
17
+ if (e) {
18
+ Object.keys(e).forEach(function (k) {
19
+ if (k !== 'default') {
20
+ var d = Object.getOwnPropertyDescriptor(e, k);
21
+ Object.defineProperty(n, k, d.get ? d : {
22
+ enumerable: true,
23
+ get: function () { return e[k]; }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ n.default = e;
29
+ return Object.freeze(n);
30
+ }
31
+
32
+ var crypto__namespace = /*#__PURE__*/_interopNamespace(crypto);
33
+ var invariant4__default = /*#__PURE__*/_interopDefault(invariant4);
34
+ var msw__namespace = /*#__PURE__*/_interopNamespace(msw);
35
+ var deepEqual__default = /*#__PURE__*/_interopDefault(deepEqual);
36
+ var semver__default = /*#__PURE__*/_interopDefault(semver);
37
+
38
+ var __defProp = Object.defineProperty;
39
+ var __export = (target, all) => {
40
+ for (var name in all)
41
+ __defProp(target, name, { get: all[name], enumerable: true });
42
+ };
43
+
44
+ // src/FauxFoundry/typeHelpers/index.ts
45
+ var typeHelpers_exports = {};
46
+ __export(typeHelpers_exports, {
47
+ actionTypeBuilder: () => actionTypeBuilder,
48
+ createActionParameterV2: () => createActionParameterV2,
49
+ createActionRid: () => createActionRid,
50
+ createActionType: () => createAction
51
+ });
52
+
53
+ // src/FauxFoundry/typeHelpers/TH_ActionParameterV2.ts
54
+ function createActionParameterV2(type, required) {
55
+ return {
56
+ dataType: {
57
+ type
58
+ },
59
+ required
60
+ };
61
+ }
62
+
63
+ // src/FauxFoundry/typeHelpers/TH_ActionTypeV2.ts
64
+ function createAction({
65
+ apiName,
66
+ parameters,
67
+ rid = createActionRid(),
68
+ operations = [],
69
+ status = "ACTIVE",
70
+ description
71
+ }) {
72
+ return {
73
+ apiName,
74
+ parameters,
75
+ rid,
76
+ operations,
77
+ status,
78
+ description: description ?? `Action ${apiName}`
79
+ };
80
+ }
81
+
82
+ // src/FauxFoundry/typeHelpers/ActionTypeBuilder.ts
83
+ function actionTypeBuilder(action) {
84
+ return new ActionTypeBuilder(action);
85
+ }
86
+ function createActionRid() {
87
+ return `ri.ontology.main.action-type.${crypto__namespace.randomUUID()}`;
88
+ }
89
+ var ActionTypeBuilder = class _ActionTypeBuilder {
90
+ constructor(action) {
91
+ if (typeof action === "string") {
92
+ this.action = createAction({
93
+ apiName: action,
94
+ parameters: {}
95
+ });
96
+ } else {
97
+ this.action = action;
98
+ }
99
+ }
100
+ addParameter(paramId, parameter, required = false) {
101
+ const v = typeof parameter === "string" ? createActionParameterV2(parameter, required) : parameter;
102
+ return new _ActionTypeBuilder({
103
+ ...this.action,
104
+ parameters: {
105
+ ...this.action.parameters,
106
+ [paramId]: v
107
+ }
108
+ });
109
+ }
110
+ build() {
111
+ const actionTypeV2 = this.action;
112
+ const actionMetadata = generatorConverters.wireActionTypeV2ToSdkActionMetadata(
113
+ actionTypeV2
114
+ // cast below is needed because the compile time type also needs `signatures`
115
+ // which we don't create in the conversion.
116
+ );
117
+ return {
118
+ actionTypeV2: this.action,
119
+ actionDefinition: {
120
+ __DefinitionMetadata: actionMetadata,
121
+ apiName: actionMetadata.apiName,
122
+ type: "action"
123
+ }
124
+ };
125
+ }
126
+ };
127
+
128
+ // src/BaseError.ts
129
+ function isBaseApiError(error) {
130
+ return error && typeof error === "object" && "errorCode" in error && "errorName" in error && "errorInstanceId" in error;
131
+ }
132
+
133
+ // src/errors.ts
134
+ var errors_exports = {};
135
+ __export(errors_exports, {
136
+ ActionNotFoundError: () => ActionNotFoundError,
137
+ ApplyActionFailedError: () => ApplyActionFailedError,
138
+ AttachmentNotFoundError: () => AttachmentNotFoundError,
139
+ AttachmentSizeExceededLimitError: () => AttachmentSizeExceededLimitError,
140
+ ExecuteQueryFailedError: () => ExecuteQueryFailedError,
141
+ InvalidContentTypeError: () => InvalidContentTypeError,
142
+ InvalidRequest: () => InvalidRequest,
143
+ LinkTypeNotFound: () => LinkTypeNotFound,
144
+ ObjectNotFoundError: () => ObjectNotFoundError,
145
+ ObjectTypeDoesNotExistError: () => ObjectTypeDoesNotExistError,
146
+ OntologyNotFoundError: () => OntologyNotFoundError,
147
+ QueryNotFoundError: () => QueryNotFoundError
148
+ });
149
+ var errorInstanceId = "errorInstanceId";
150
+ var objectTypeRid = "ri.foundry.main.objectType.1";
151
+ function ObjectTypeDoesNotExistError(objectType) {
152
+ return {
153
+ errorCode: "NOT_FOUND",
154
+ errorName: "ObjectTypeNotFound",
155
+ errorInstanceId,
156
+ parameters: {
157
+ objectType,
158
+ objectTypeRid
159
+ }
160
+ };
161
+ }
162
+ function LinkTypeNotFound(objectType, linkType) {
163
+ return {
164
+ errorCode: "NOT_FOUND",
165
+ errorName: "LinkTypeNotFound",
166
+ errorInstanceId,
167
+ parameters: {
168
+ objectType,
169
+ linkType
170
+ }
171
+ };
172
+ }
173
+ function OntologyNotFoundError(ontology) {
174
+ return {
175
+ errorCode: "NOT_FOUND",
176
+ errorName: "OntologyNotFound",
177
+ errorInstanceId,
178
+ parameters: {
179
+ ontologyRid: ontology,
180
+ apiName: ontology
181
+ }
182
+ };
183
+ }
184
+ function ObjectNotFoundError(objectType, primaryKey) {
185
+ return {
186
+ errorCode: "NOT_FOUND",
187
+ errorName: "ObjectNotFound",
188
+ errorInstanceId,
189
+ parameters: {
190
+ objectType,
191
+ primaryKey: {
192
+ employeeId: primaryKey
193
+ }
194
+ }
195
+ };
196
+ }
197
+ function QueryNotFoundError(queryApiName) {
198
+ return {
199
+ errorCode: "NOT_FOUND",
200
+ errorName: "QueryNotFound",
201
+ errorInstanceId,
202
+ parameters: {
203
+ query: queryApiName
204
+ }
205
+ };
206
+ }
207
+ function ActionNotFoundError() {
208
+ return {
209
+ errorCode: "NOT_FOUND",
210
+ errorName: "ActionNotFound",
211
+ errorInstanceId,
212
+ parameters: {
213
+ actionRid: ""
214
+ }
215
+ };
216
+ }
217
+ function InvalidRequest(errorName) {
218
+ return {
219
+ errorCode: "INVALID_REQUEST",
220
+ errorName,
221
+ errorInstanceId,
222
+ parameters: {}
223
+ };
224
+ }
225
+ var ApplyActionFailedError = {
226
+ errorCode: "INVALID_ARGUMENT",
227
+ errorName: "ApplyActionFailed",
228
+ errorInstanceId,
229
+ parameters: {}
230
+ };
231
+ var ExecuteQueryFailedError = {
232
+ errorCode: "CONFLICT",
233
+ errorName: "QueryEncounteredUserFacingError",
234
+ errorInstanceId,
235
+ parameters: {
236
+ functionRid: "ri.function-registry.main.function.9b55870a-63c7-4d48-8f06-9627c0805968",
237
+ functionVersion: "0.11.0",
238
+ message: "test failed"
239
+ }
240
+ };
241
+ var InvalidContentTypeError = {
242
+ errorCode: "INVALID_ARGUMENT",
243
+ errorName: "InvalidContentType",
244
+ errorInstanceId,
245
+ parameters: {}
246
+ };
247
+ var AttachmentSizeExceededLimitError = {
248
+ errorCode: "INVALID_ARGUMENT",
249
+ errorName: "AttachmentSizeExceededLimit",
250
+ errorInstanceId,
251
+ parameters: {
252
+ fileSizeBytes: "230000",
253
+ fileLimitBytes: "200000"
254
+ }
255
+ };
256
+ var AttachmentNotFoundError = {
257
+ errorCode: "NOT_FOUND",
258
+ errorName: "AttachmentNotFound",
259
+ errorInstanceId,
260
+ parameters: {
261
+ attachmentRid: "ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a80"
262
+ }
263
+ };
264
+
265
+ // src/filterObjects.ts
266
+ function subSelectPropertiesUrl(object, url) {
267
+ const properties = new Set(url.searchParams.getAll("select"));
268
+ if (properties.size === 0) {
269
+ return object;
270
+ }
271
+ const result = Object.entries(object).reduce((acc, [key, value]) => {
272
+ if (properties.has(key)) {
273
+ acc[key] = value;
274
+ } else if (key === "__primaryKey") {
275
+ acc.__primaryKey = value;
276
+ } else if (key === "__apiName") {
277
+ acc.__apiName = value;
278
+ }
279
+ return acc;
280
+ }, {});
281
+ return result;
282
+ }
283
+ function subSelectProperties(objects, urlOrProperties, includeCount, excludeRid) {
284
+ let properties;
285
+ if (Array.isArray(urlOrProperties)) {
286
+ properties = new Set(urlOrProperties);
287
+ } else {
288
+ properties = new Set(urlOrProperties.searchParams.getAll("select"));
289
+ }
290
+ const result = objects.data.map((object) => {
291
+ if (object.$propsToReturn) {
292
+ return {
293
+ __apiName: object.__apiName,
294
+ __primaryKey: object.__primaryKey,
295
+ __title: object.__title,
296
+ ...object.$propsToReturn,
297
+ ...excludeRid ? {} : {
298
+ __rid: object.__rid
299
+ }
300
+ };
301
+ }
302
+ if (properties.size === 0) {
303
+ return excludeRid ? removeRid(object) : object;
304
+ }
305
+ properties.add("__primaryKey");
306
+ properties.add("__apiName");
307
+ properties.add("__title");
308
+ if (!excludeRid) properties.add("__rid");
309
+ return Object.entries(object).reduce((acc, [key, value]) => {
310
+ if (properties.has(key)) {
311
+ acc[key] = value;
312
+ }
313
+ return acc;
314
+ }, {});
315
+ });
316
+ const ret = {
317
+ nextPageToken: objects.nextPageToken,
318
+ data: result,
319
+ totalCount: objects.totalCount
320
+ };
321
+ return ret;
322
+ }
323
+ function removeRid(object) {
324
+ const {
325
+ __rid,
326
+ ...rest2
327
+ } = object;
328
+ return rest2;
329
+ }
330
+
331
+ // src/handlers/util/getPaginationParams.ts
332
+ function getPaginationParamsFromUrl(request) {
333
+ const url = new URL(request.url);
334
+ return {
335
+ pageSize: url.searchParams.get("pageSize") == null ? void 0 : Number(url.searchParams.get("pageSize")),
336
+ pageToken: url.searchParams.get("pageToken") == null ? void 0 : url.searchParams.get("pageToken")
337
+ };
338
+ }
339
+ function getPaginationParamsFromRequest({
340
+ pageSize,
341
+ pageToken
342
+ }) {
343
+ return {
344
+ pageSize,
345
+ pageToken
346
+ };
347
+ }
348
+ function authHandlerMiddleware(handler) {
349
+ return async (info) => {
350
+ const authHeader = info.request.headers.get("authorization");
351
+ if (!authHeader || authHeader !== `Bearer myAccessToken`) {
352
+ return msw.HttpResponse.json({
353
+ message: "Missing Authorization header"
354
+ }, {
355
+ status: 401
356
+ });
357
+ }
358
+ try {
359
+ return await handler(info);
360
+ } catch (e) {
361
+ if (e instanceof OpenApiCallError) {
362
+ return msw.HttpResponse.json(e.json, {
363
+ status: e.status
364
+ });
365
+ }
366
+ throw e;
367
+ }
368
+ };
369
+ }
370
+
371
+ // src/handlers/util/handleOpenApiCall.ts
372
+ var OpenApiCallError = class extends Error {
373
+ constructor(status, json) {
374
+ super(`${json.errorCode} ${json.errorName ?? "Unknown error"} ${JSON.stringify(json.parameters)}`);
375
+ this.status = status;
376
+ this.json = json;
377
+ }
378
+ };
379
+ function handleOpenApiCall(openApiCall, names) {
380
+ return (baseUrl, restImpl, options) => {
381
+ let captured = {};
382
+ const capture = {
383
+ fetch: (url, req) => {
384
+ const u = new URL(url);
385
+ u.search = "";
386
+ captured = {
387
+ method: req.method,
388
+ endPoint: u.toString().replace(/%3A/g, ":")
389
+ };
390
+ return {
391
+ ok: true,
392
+ json: () => Promise.resolve({}),
393
+ blob: () => new Blob()
394
+ };
395
+ },
396
+ baseUrl
397
+ };
398
+ void openApiCall(
399
+ capture,
400
+ ...names.map((n) => `:${n}`),
401
+ // add a simulated blob in here in case of an upload
402
+ {
403
+ type: "",
404
+ size: 5
405
+ }
406
+ );
407
+ return msw.http[captured.method.toLowerCase()](captured.endPoint, authHandlerMiddleware(async (info) => {
408
+ try {
409
+ const result = await restImpl(info);
410
+ if (result instanceof Response) {
411
+ return new msw.HttpResponse(result.body);
412
+ }
413
+ return msw.HttpResponse.json(result);
414
+ } catch (e) {
415
+ if (e instanceof OpenApiCallError) {
416
+ return msw.HttpResponse.json({
417
+ ...e.json,
418
+ stack: e.stack
419
+ }, {
420
+ status: e.status,
421
+ statusText: e.message
422
+ });
423
+ }
424
+ throw e;
425
+ }
426
+ }), options);
427
+ };
428
+ }
429
+
430
+ // src/handlers/util/pageThroughResponseSearchParams.ts
431
+ function pageThroughResponseSearchParams(iter, {
432
+ pageSize = 1e3,
433
+ pageToken
434
+ }, includeCount) {
435
+ const data = Array.from(iter);
436
+ const pageCount = Math.ceil(data.length / pageSize);
437
+ const currentPage = pageToken ? Number(pageToken) : 0;
438
+ if (currentPage < 0 || currentPage >= pageCount) {
439
+ return void 0;
440
+ }
441
+ const startIndex = currentPage * pageSize;
442
+ const endIndex = Math.min(startIndex + pageSize, data.length);
443
+ const nextPageToken = currentPage + 1 < pageCount ? (currentPage + 1).toString() : void 0;
444
+ const ret = {
445
+ nextPageToken,
446
+ data: data.slice(startIndex, endIndex),
447
+ ...includeCount ? {
448
+ totalCount: String(data.length)
449
+ } : {}
450
+ };
451
+ return ret;
452
+ }
453
+
454
+ // src/FauxFoundry/BaseServerObject.ts
455
+ function isBaseServerObject(obj) {
456
+ return typeof obj === "object" && obj != null && "__primaryKey" in obj && "__apiName" in obj && !("$apiName" in obj) && !("$primaryKey" in obj);
457
+ }
458
+ var FauxDataStoreBatch = class {
459
+ #fauxDataStore;
460
+ objectEdits = {
461
+ addedLinksCount: 0,
462
+ addedObjectCount: 0,
463
+ deletedLinksCount: 0,
464
+ deletedObjectsCount: 0,
465
+ modifiedObjectsCount: 0,
466
+ edits: []
467
+ };
468
+ constructor(fauxDataStore) {
469
+ this.#fauxDataStore = fauxDataStore;
470
+ }
471
+ getObject = (objectType, primaryKey) => {
472
+ return this.#fauxDataStore.getObjectOrThrow(objectType, primaryKey);
473
+ };
474
+ addObject(objectType, primaryKey, object) {
475
+ const existingObject = this.#fauxDataStore.getObject(objectType, primaryKey);
476
+ if (existingObject) {
477
+ throw new OpenApiCallError(500, {
478
+ errorCode: "CONFLICT",
479
+ errorName: "ObjectAlreadyExists",
480
+ errorInstanceId: "",
481
+ parameters: {
482
+ objectType,
483
+ primaryKey
484
+ }
485
+ });
486
+ }
487
+ const fullMetadata = this.#fauxDataStore.ontology.getObjectTypeFullMetadataOrThrow(objectType);
488
+ this.#fauxDataStore.registerObject({
489
+ ...object,
490
+ __apiName: objectType,
491
+ __primaryKey: primaryKey,
492
+ [fullMetadata.objectType.primaryKey]: primaryKey
493
+ });
494
+ this.objectEdits.edits.push({
495
+ type: "addObject",
496
+ primaryKey,
497
+ objectType
498
+ });
499
+ this.objectEdits.addedObjectCount += 1;
500
+ }
501
+ modifyObject(objectType, primaryKey, update) {
502
+ const origObj = this.#fauxDataStore.getObjectOrThrow(objectType, primaryKey);
503
+ const newObj = {
504
+ ...origObj,
505
+ ...update
506
+ };
507
+ if (!deepEqual__default.default(origObj, newObj)) {
508
+ this.#fauxDataStore.replaceObjectOrThrow(newObj);
509
+ this.objectEdits.edits.push({
510
+ type: "modifyObject",
511
+ primaryKey,
512
+ objectType
513
+ });
514
+ this.objectEdits.modifiedObjectsCount += 1;
515
+ }
516
+ }
517
+ deleteObject = (objectType, primaryKey) => {
518
+ this.#fauxDataStore.unregisterObjectOrThrow(objectType, primaryKey);
519
+ this.objectEdits.edits.push({
520
+ type: "deleteObject",
521
+ objectType,
522
+ primaryKey
523
+ });
524
+ };
525
+ addLink = (leftObjectType, leftPrimaryKey, leftLinkName, rightObjectType, rightPrimaryKey) => {
526
+ const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology.getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType);
527
+ this.#fauxDataStore.registerLink({
528
+ __apiName: leftObjectType,
529
+ __primaryKey: leftPrimaryKey
530
+ }, leftTypeSideV2.apiName, {
531
+ __apiName: rightObjectType,
532
+ __primaryKey: rightPrimaryKey
533
+ }, rightTypeSideV2.apiName);
534
+ this.objectEdits.edits.push({
535
+ type: "addLink",
536
+ aSideObject: {
537
+ objectType: leftObjectType,
538
+ primaryKey: leftPrimaryKey
539
+ },
540
+ bSideObject: {
541
+ objectType: rightObjectType,
542
+ primaryKey: rightPrimaryKey
543
+ },
544
+ linkTypeApiNameAtoB: leftLinkName,
545
+ linkTypeApiNameBtoA: rightTypeSideV2.apiName
546
+ });
547
+ this.objectEdits.addedLinksCount += 1;
548
+ };
549
+ removeLink = (leftObjectType, leftPrimaryKey, leftLinkName, rightObjectType, rightPrimaryKey) => {
550
+ const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology.getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType);
551
+ this.#fauxDataStore.unregisterLink({
552
+ __apiName: leftObjectType,
553
+ __primaryKey: leftPrimaryKey
554
+ }, leftTypeSideV2.apiName, {
555
+ __apiName: rightObjectType,
556
+ __primaryKey: rightPrimaryKey
557
+ }, rightTypeSideV2.apiName);
558
+ };
559
+ };
560
+ var toDuration = {
561
+ "DAYS": (v) => ({
562
+ days: v
563
+ }),
564
+ "HOURS": (v) => ({
565
+ hours: v
566
+ }),
567
+ "MILLISECONDS": (v) => ({
568
+ seconds: v / 1e3
569
+ }),
570
+ "MINUTES": (v) => ({
571
+ minutes: v
572
+ }),
573
+ "MONTHS": (v) => ({
574
+ months: v
575
+ }),
576
+ "SECONDS": (v) => ({
577
+ seconds: v
578
+ }),
579
+ "WEEKS": (v) => ({
580
+ weeks: v
581
+ }),
582
+ "YEARS": (v) => ({
583
+ years: v
584
+ })
585
+ };
586
+ function filterTimeSeriesData(data, {
587
+ range
588
+ }, now = dateFns.constructNow(Date.now())) {
589
+ if (!range) {
590
+ return data;
591
+ }
592
+ const start = extractDate(range, "startTime", now);
593
+ const end = extractDate(range, "endTime", now);
594
+ const ret = data.filter((point) => {
595
+ if (range.type === "relative") {
596
+ return (!end || dateFns.isBefore(point.time, end)) && (!start || dateFns.isAfter(point.time, start));
597
+ } else {
598
+ return (!end || dateFns.isBefore(point.time, end)) && (!start || dateFns.isAfter(point.time, start));
599
+ }
600
+ });
601
+ return ret;
602
+ }
603
+ function extractDate(range, key, now) {
604
+ if (range.type === "absolute") {
605
+ return range[key];
606
+ }
607
+ const x = range[key];
608
+ if (!x) return void 0;
609
+ const method = x.when === "BEFORE" ? dateFns.sub : dateFns.add;
610
+ return method(now, toDuration[x.unit](x.value));
611
+ }
612
+ function filterObjects(objects, where) {
613
+ switch (where.type) {
614
+ case "eq": {
615
+ const {
616
+ propertyIdentifier,
617
+ field
618
+ } = where;
619
+ if (propertyIdentifier) {
620
+ console.error("propertyIdentifier not supported", where);
621
+ throw new Error("propertyIdentifier not supported");
622
+ }
623
+ !field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
624
+ const ret = objects.filter((obj) => {
625
+ return obj[field] === where.value;
626
+ });
627
+ return ret;
628
+ }
629
+ case "gt": {
630
+ const {
631
+ propertyIdentifier,
632
+ field
633
+ } = where;
634
+ if (propertyIdentifier) {
635
+ console.error("propertyIdentifier not supported", where);
636
+ throw new Error("propertyIdentifier not supported");
637
+ }
638
+ !field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
639
+ return objects.filter((obj) => {
640
+ return obj[field] > where.value;
641
+ });
642
+ }
643
+ case "lt": {
644
+ const {
645
+ propertyIdentifier,
646
+ field
647
+ } = where;
648
+ if (propertyIdentifier) {
649
+ console.error("propertyIdentifier not supported", where);
650
+ throw new Error("propertyIdentifier not supported");
651
+ }
652
+ !field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
653
+ return objects.filter((obj) => {
654
+ return obj[field] < where.value;
655
+ });
656
+ }
657
+ case "in": {
658
+ const {
659
+ propertyIdentifier,
660
+ field
661
+ } = where;
662
+ if (propertyIdentifier) {
663
+ console.error("propertyIdentifier not supported", where);
664
+ throw new Error("propertyIdentifier not supported");
665
+ }
666
+ !field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
667
+ return objects.filter((obj) => {
668
+ return where.value.includes(obj[field]);
669
+ });
670
+ }
671
+ case "and": {
672
+ const {
673
+ value
674
+ } = where;
675
+ for (const subWhere of value) {
676
+ objects = filterObjects(objects, subWhere);
677
+ }
678
+ return objects;
679
+ }
680
+ case "not": {
681
+ const {
682
+ value
683
+ } = where;
684
+ return objects.filter((obj) => {
685
+ return !filterObjects([obj], value).length;
686
+ });
687
+ }
688
+ case "isNull": {
689
+ const {
690
+ propertyIdentifier,
691
+ field,
692
+ value
693
+ } = where;
694
+ if (propertyIdentifier) {
695
+ console.error("propertyIdentifier not supported", where);
696
+ throw new Error("propertyIdentifier not supported");
697
+ }
698
+ !field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
699
+ return objects.filter((obj) => {
700
+ return value ? obj[field] == null : obj[field] != null;
701
+ });
702
+ }
703
+ }
704
+ console.error(`-=-=-=-=-=-= Unhandled where type:
705
+ Unhandled where type: ${where.type} in ${JSON.stringify(where)}`);
706
+ throw new Error(`Unhandled where type: ${where.type} in ${JSON.stringify(where)}`);
707
+ }
708
+
709
+ // src/FauxFoundry/getObjectsFromSet.ts
710
+ function getObjectsFromSet(ds, objectSet, methodInput) {
711
+ switch (objectSet.type) {
712
+ case "base":
713
+ const ret = Array.from(ds.getObjectsOfType(objectSet.objectType));
714
+ return ret;
715
+ case "filter": {
716
+ const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
717
+ return filterObjects(base, objectSet.where);
718
+ }
719
+ case "union": {
720
+ const set = /* @__PURE__ */ new Set();
721
+ for (const objSet of objectSet.objectSets) {
722
+ const objects = getObjectsFromSet(ds, objSet, methodInput);
723
+ for (const obj of objects) {
724
+ set.add(obj);
725
+ }
726
+ }
727
+ return Array.from(set);
728
+ }
729
+ case "subtract": {
730
+ const set = new Set(getObjectsFromSet(ds, objectSet.objectSets[0], methodInput));
731
+ for (let i = 1; i < objectSet.objectSets.length; i++) {
732
+ const toSubtract = getObjectsFromSet(ds, objectSet.objectSets[i], methodInput);
733
+ for (const obj of toSubtract) {
734
+ set.delete(obj);
735
+ }
736
+ }
737
+ return Array.from(set);
738
+ }
739
+ case "intersect": {
740
+ const set = new Set(getObjectsFromSet(ds, objectSet.objectSets[0], methodInput));
741
+ for (let i = 1; i < objectSet.objectSets.length; i++) {
742
+ const toIntersect = getObjectsFromSet(ds, objectSet.objectSets[i], methodInput);
743
+ for (const obj of set) {
744
+ const match = toIntersect.find((x) => x.__apiName === obj.__apiName && x.__primaryKey === obj.__primaryKey);
745
+ if (!match) {
746
+ set.delete(obj);
747
+ } else if (obj["$propsToReturn"] || match["$propsToReturn"]) {
748
+ obj["$propsToReturn"] = {
749
+ ...obj["$propsToReturn"],
750
+ ...match["$propsToReturn"]
751
+ };
752
+ }
753
+ }
754
+ }
755
+ return Array.from(set);
756
+ }
757
+ case "searchAround": {
758
+ const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
759
+ return base.flatMap((o) => {
760
+ const ret2 = ds.getLinksOrThrow(o.__apiName, o.__primaryKey, objectSet.link);
761
+ return ret2;
762
+ });
763
+ }
764
+ case "static": {
765
+ return objectSet.objects.map((x) => ds.getObjectByRid(x)).filter((x) => x != null);
766
+ }
767
+ case "withProperties": {
768
+ const {
769
+ derivedProperties
770
+ } = objectSet;
771
+ const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
772
+ return base.map((obj) => {
773
+ const extra = Object.fromEntries(Object.entries(derivedProperties).map(([k, v]) => {
774
+ return [k, getDerivedPropertyValue(ds, obj, v)];
775
+ }));
776
+ return {
777
+ ...obj,
778
+ ...extra
779
+ };
780
+ });
781
+ }
782
+ case "methodInput":
783
+ !methodInput ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "expected a methodInput") : invariant4__default.default(false) : void 0;
784
+ return [methodInput];
785
+ case "asBaseObjectTypes":
786
+ throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
787
+ case "asType":
788
+ throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
789
+ case "interfaceBase":
790
+ const relevantObjectTypes = ds.ontology.getAllObjectTypes().filter((x) => objectSet.interfaceType in x.implementsInterfaces2);
791
+ return relevantObjectTypes.flatMap((x) => Array.from(ds.getObjectsOfType(x.objectType.apiName))).map((obj) => {
792
+ const objDef = ds.ontology.getObjectTypeFullMetadataOrThrow(obj.__apiName);
793
+ const ifaceMap = objDef.implementsInterfaces2[objectSet.interfaceType];
794
+ const $propsToReturn = objectSet.includeAllBaseObjectProperties ? obj : Object.fromEntries(Object.values(ifaceMap.properties).map((propApiName) => [propApiName, obj[propApiName]]));
795
+ return {
796
+ ...objToInterface(ds, obj, objectSet.interfaceType),
797
+ $propsToReturn
798
+ };
799
+ });
800
+ case "nearestNeighbors":
801
+ throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
802
+ case "reference":
803
+ throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
804
+ }
805
+ throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
806
+ }
807
+ function objToInterface(ds, o, iface) {
808
+ ds.ontology.getInterfaceType(iface);
809
+ const propMap = ds.ontology.getObjectTypeFullMetadataOrThrow(o.__apiName).implementsInterfaces2[iface].properties;
810
+ const {
811
+ __apiName,
812
+ __primaryKey,
813
+ __rid,
814
+ __title
815
+ } = o;
816
+ const ret = {
817
+ __apiName,
818
+ __primaryKey,
819
+ __rid,
820
+ __title
821
+ };
822
+ for (const [sptApiName, propApiName] of Object.entries(propMap)) {
823
+ ret[sptApiName] = o[propApiName];
824
+ }
825
+ return ret;
826
+ }
827
+ function getDerivedPropertyValue(ds, obj, def) {
828
+ switch (def.type) {
829
+ case "selection": {
830
+ return getDerivedPropertySelection(ds, obj, def);
831
+ }
832
+ }
833
+ throw new Error(`Unhandled derived property type ${def.type} in ${JSON.stringify(def)}`);
834
+ }
835
+ function getDerivedPropertySelection(ds, obj, {
836
+ operation,
837
+ objectSet
838
+ }) {
839
+ switch (operation.type) {
840
+ case "get": {
841
+ const objs = getObjectsFromSet(ds, objectSet, obj);
842
+ if (objs.length > 1) {
843
+ throw new Error("Cannot get more than one object from a set");
844
+ }
845
+ return objs[0]?.[operation.selectedPropertyApiName];
846
+ }
847
+ case "collectList": {
848
+ const objs = getObjectsFromSet(ds, objectSet, obj);
849
+ return objs.map((o) => o[operation.selectedPropertyApiName]);
850
+ }
851
+ case "collectSet": {
852
+ const objs = getObjectsFromSet(ds, objectSet, obj);
853
+ return Array.from(new Set(objs.map((o) => o[operation.selectedPropertyApiName])));
854
+ }
855
+ case "count": {
856
+ const objs = getObjectsFromSet(ds, objectSet, obj);
857
+ return objs.length.toString();
858
+ }
859
+ }
860
+ }
861
+ function createOrderBySortFn(orderBy) {
862
+ const fns = orderBy.fields.map(({
863
+ field,
864
+ direction
865
+ }) => {
866
+ return (a, b) => {
867
+ const aValue = a?.[field];
868
+ const bValue = b?.[field];
869
+ if (aValue == null && bValue == null) {
870
+ return 0;
871
+ }
872
+ if (aValue == null) {
873
+ return 1;
874
+ }
875
+ if (bValue == null) {
876
+ return -1;
877
+ }
878
+ const m = direction === "asc" ? -1 : 1;
879
+ return aValue < bValue ? m : aValue > bValue ? -m : 0;
880
+ };
881
+ });
882
+ return (a, b) => {
883
+ for (const sortFn of fns) {
884
+ const ret = sortFn(a, b);
885
+ if (ret !== 0) {
886
+ return ret;
887
+ }
888
+ }
889
+ return 0;
890
+ };
891
+ }
892
+ function objectLocator(obj) {
893
+ return `${obj.__apiName}:${obj.__primaryKey}`;
894
+ }
895
+ function parseLocator(locator) {
896
+ const [objectType, primaryKey] = locator?.split(":") ?? [];
897
+ !(objectType && primaryKey) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Invalid locator format: ${locator}`) : invariant4__default.default(false) : void 0;
898
+ return {
899
+ objectType,
900
+ primaryKey
901
+ };
902
+ }
903
+
904
+ // src/FauxFoundry/validateAction.ts
905
+ function validateAction(payload, def, dataStore) {
906
+ const ret = {
907
+ parameters: {},
908
+ submissionCriteria: [],
909
+ result: "VALID"
910
+ };
911
+ for (const [k, v] of Object.entries(def.parameters)) {
912
+ const value = payload.parameters[k];
913
+ validateActionParameterType(v.dataType, v, value, ret, k, dataStore);
914
+ }
915
+ return ret;
916
+ }
917
+ function validateActionParameterType(dataType, paramDef, value, ret, paramKey, dataStore) {
918
+ if (paramDef.required && value == null) {
919
+ ret.result = "INVALID";
920
+ ret.parameters[paramKey] = {
921
+ result: "INVALID",
922
+ evaluatedConstraints: [],
923
+ required: true
924
+ };
925
+ return;
926
+ }
927
+ if (!paramDef.required && value == null) {
928
+ return;
929
+ }
930
+ const baseParam = {
931
+ result: "INVALID",
932
+ evaluatedConstraints: [],
933
+ required: paramDef.required
934
+ };
935
+ switch (dataType.type) {
936
+ case "array": {
937
+ if (!Array.isArray(value)) {
938
+ ret.result = "INVALID";
939
+ ret.parameters[paramKey] = {
940
+ ...baseParam
941
+ };
942
+ return;
943
+ }
944
+ for (const item of value) {
945
+ validateActionParameterType(dataType.subType, paramDef, item, ret, paramKey, dataStore);
946
+ }
947
+ return;
948
+ }
949
+ case "attachment": {
950
+ if (typeof value !== "string") {
951
+ ret.result = "INVALID";
952
+ ret.parameters[paramKey] = {
953
+ ...baseParam
954
+ };
955
+ }
956
+ return;
957
+ }
958
+ case "boolean":
959
+ case "date":
960
+ case "long":
961
+ case "double":
962
+ case "integer":
963
+ case "marking":
964
+ case "objectSet":
965
+ case "timestamp":
966
+ case "object":
967
+ case "string":
968
+ if (!matchesOntologyDataType(dataType, value)) {
969
+ ret.result = "INVALID";
970
+ ret.parameters[paramKey] = {
971
+ ...baseParam
972
+ };
973
+ }
974
+ return;
975
+ case "geohash":
976
+ if (!(typeof value === "string")) {
977
+ ret.result = "INVALID";
978
+ ret.parameters[paramKey] = {
979
+ ...baseParam
980
+ };
981
+ }
982
+ return;
983
+ case "geoshape":
984
+ if (!(typeof value === "object" && ("coordinates" in value || "geometries" in value || "features" in value))) {
985
+ ret.result = "INVALID";
986
+ ret.parameters[paramKey] = {
987
+ ...baseParam
988
+ };
989
+ }
990
+ return;
991
+ case "interfaceObject": {
992
+ if (!isInterfaceActionParam(value)) {
993
+ ret.result = "INVALID";
994
+ ret.parameters[paramKey] = {
995
+ ...baseParam
996
+ };
997
+ } else if (dataStore.getObject(value.objectTypeApiName, value.primaryKeyValue) == null) {
998
+ ret.result = "INVALID";
999
+ ret.parameters[paramKey] = {
1000
+ ...baseParam,
1001
+ evaluatedConstraints: [{
1002
+ type: "objectPropertyValue"
1003
+ }]
1004
+ };
1005
+ }
1006
+ return;
1007
+ }
1008
+ case "mediaReference": {
1009
+ if (!isMediaReference(value)) {
1010
+ ret.result = "INVALID";
1011
+ ret.parameters[paramKey] = {
1012
+ ...baseParam
1013
+ };
1014
+ }
1015
+ return;
1016
+ }
1017
+ case "vector": {
1018
+ ret.result = "INVALID";
1019
+ ret.parameters[paramKey] = {
1020
+ ...baseParam
1021
+ };
1022
+ return;
1023
+ }
1024
+ case "struct": {
1025
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
1026
+ ret.result = "INVALID";
1027
+ ret.parameters[paramKey] = {
1028
+ ...baseParam
1029
+ };
1030
+ return;
1031
+ }
1032
+ for (const {
1033
+ name,
1034
+ fieldType,
1035
+ required
1036
+ } of dataType.fields) {
1037
+ const fieldValue = value[name];
1038
+ if (required && fieldValue == null || !matchesOntologyDataType(fieldType, fieldValue)) {
1039
+ ret.result = "INVALID";
1040
+ ret.parameters[paramKey] = {
1041
+ ...baseParam
1042
+ };
1043
+ return;
1044
+ }
1045
+ }
1046
+ return;
1047
+ }
1048
+ case "objectType": {
1049
+ if (typeof value !== "string" || !dataStore.ontology.getObjectTypeFullMetadata(value)) {
1050
+ ret.result = "INVALID";
1051
+ ret.parameters[paramKey] = {
1052
+ ...baseParam
1053
+ };
1054
+ return;
1055
+ }
1056
+ return;
1057
+ }
1058
+ default: {
1059
+ throw new Error(`validateDataType: unknown type`);
1060
+ }
1061
+ }
1062
+ }
1063
+ function matchesOntologyDataType(odt, value) {
1064
+ switch (odt.type) {
1065
+ case "any":
1066
+ return true;
1067
+ case "array":
1068
+ return Array.isArray(value) && value.every((v) => matchesOntologyDataType(odt.itemType, v));
1069
+ case "binary":
1070
+ throw new Error(`validateDataType: ${odt.type} not implemented yet.`);
1071
+ case "boolean":
1072
+ return typeof value === "boolean";
1073
+ case "byte":
1074
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1075
+ case "cipherText":
1076
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1077
+ case "date":
1078
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1079
+ case "decimal":
1080
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1081
+ case "double":
1082
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1083
+ case "float":
1084
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1085
+ case "integer":
1086
+ return typeof value === "number" && Number.isInteger(value);
1087
+ case "long":
1088
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1089
+ case "map":
1090
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1091
+ case "marking":
1092
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1093
+ case "object":
1094
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1095
+ case "objectSet":
1096
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1097
+ case "set":
1098
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1099
+ case "short":
1100
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1101
+ case "string":
1102
+ return typeof value === "string";
1103
+ case "struct":
1104
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1105
+ case "timestamp":
1106
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1107
+ case "unsupported":
1108
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1109
+ default:
1110
+ throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
1111
+ }
1112
+ }
1113
+ function isMediaReference(o) {
1114
+ return typeof o === `object` && typeof o.mimeType === "string" && "reference" in o && typeof o.reference === "object" && o.reference.type === "mediaSetViewItem" && "mediaSetViewItem" in o.reference && typeof o.reference.mediaSetViewItem === "object" && typeof o.reference.mediaSetViewItem.mediaSetRid === "string" && typeof o.reference.mediaSetViewItem.mediaSetViewRid === "string" && typeof o.reference.mediaSetViewItem.mediaItemRid === "string";
1115
+ }
1116
+ function isInterfaceActionParam(value) {
1117
+ return typeof value === "object" && "objectTypeApiName" in value && typeof value.objectTypeApiName === "string" && "primaryKeyValue" in value && (typeof value.primaryKeyValue === "string" || typeof value.primaryKeyValue === "number" || typeof value.primaryKeyValue === "boolean");
1118
+ }
1119
+
1120
+ // src/FauxFoundry/FauxDataStore.ts
1121
+ var FauxDataStore = class {
1122
+ #objects = new mnemonist.DefaultMap((key) => /* @__PURE__ */ new Map());
1123
+ #singleLinks = new mnemonist.DefaultMap((_objectLocator) => /* @__PURE__ */ new Map());
1124
+ #manyLinks = new mnemonist.DefaultMap((_objectLocator) => new mnemonist.MultiMap(Set));
1125
+ #fauxOntology;
1126
+ #attachments;
1127
+ #timeSeriesData = new mnemonist.DefaultMap((_objectType) => new mnemonist.DefaultMap((_pk) => new mnemonist.DefaultMap((_property) => [])));
1128
+ #media = new mnemonist.DefaultMap((_objectType) => new mnemonist.DefaultMap((_propName) => {
1129
+ return /* @__PURE__ */ new Map();
1130
+ }));
1131
+ constructor(fauxOntology, attachments) {
1132
+ this.#fauxOntology = fauxOntology;
1133
+ this.#attachments = attachments;
1134
+ }
1135
+ /**
1136
+ * Removes all data that is associated with a namespace/ontology.
1137
+ *
1138
+ * Note: does not clear `attachments` nor does it clear the ontology itself.
1139
+ */
1140
+ clear() {
1141
+ this.#media.clear();
1142
+ this.#timeSeriesData.clear();
1143
+ this.#manyLinks.clear();
1144
+ this.#singleLinks.clear();
1145
+ this.#objects.clear();
1146
+ }
1147
+ get ontology() {
1148
+ return this.#fauxOntology;
1149
+ }
1150
+ #assertObjectExists(objectType, primaryKey) {
1151
+ if (!this.getObject(objectType, primaryKey)) {
1152
+ throw new OpenApiCallError(404, ObjectNotFoundError(objectType, String(primaryKey)));
1153
+ }
1154
+ }
1155
+ #assertObjectDoesNotExist(objectType, primaryKey) {
1156
+ if (this.getObject(objectType, primaryKey)) {
1157
+ throw new OpenApiCallError(500, {
1158
+ errorCode: "CONFLICT",
1159
+ errorName: "ObjectAlreadyExists",
1160
+ errorInstanceId: "faux-foundry",
1161
+ parameters: {
1162
+ objectType,
1163
+ primaryKey: String(primaryKey)
1164
+ }
1165
+ });
1166
+ }
1167
+ }
1168
+ /**
1169
+ * Version for use in places like @osdk/client.
1170
+ *
1171
+ * @param obj An `Osdk.Instance` like object for the ObjectType in the generics
1172
+ */
1173
+ /**
1174
+ * Version of register object generally used in shared.test
1175
+ * @param obj A raw server side representation of an object
1176
+ *
1177
+ * Don't use, its too easy to end up with an any.
1178
+ */
1179
+ registerObject(objectType, anyObj) {
1180
+ let bso;
1181
+ if (isBaseServerObject(objectType)) {
1182
+ !(anyObj == null) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Internal overload should only pass one argument") : invariant4__default.default(false) : void 0;
1183
+ !!Object.keys(objectType).some((s) => s.startsWith("$")) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should not have any keys starting with $ if it has __apiName") : invariant4__default.default(false) : void 0;
1184
+ bso = objectType;
1185
+ } else if (anyObj == null) {
1186
+ process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "should not be possible due to overloads") : invariant4__default.default(false) ;
1187
+ } else if (isBaseServerObject(anyObj)) {
1188
+ !!Object.keys(anyObj).some((s) => s.startsWith("$")) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should not have any keys starting with $ if it has __apiName") : invariant4__default.default(false) : void 0;
1189
+ bso = anyObj;
1190
+ } else {
1191
+ bso = this.#osdkCreatableToBso(objectType, anyObj);
1192
+ }
1193
+ const apiName = bso.__apiName || bso.$apiName;
1194
+ !apiName ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should have an __apiName or $apiName") : invariant4__default.default(false) : void 0;
1195
+ this.#assertObjectDoesNotExist(apiName, bso.__primaryKey);
1196
+ if (!("__apiName" in bso && "__primaryKey" in bso)) {
1197
+ !("$apiName" in bso && "$primaryKey" in bso) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should have (__apiName and __primaryKey) or ($apiName and $primaryKey)") : invariant4__default.default(false) : void 0;
1198
+ const {
1199
+ $apiName,
1200
+ $primaryKey,
1201
+ ...others
1202
+ } = bso;
1203
+ bso = {
1204
+ __apiName: $apiName,
1205
+ __primaryKey: $primaryKey,
1206
+ ...others
1207
+ };
1208
+ }
1209
+ this.#assertObjectDoesNotExist(bso.__apiName, bso.__primaryKey);
1210
+ this.#objects.get(bso.__apiName).set(String(bso.__primaryKey), Object.freeze({
1211
+ ...bso
1212
+ }));
1213
+ }
1214
+ #osdkCreatableToBso(objectType, anyObj) {
1215
+ objectType = typeof objectType === "string" ? objectType : objectType.apiName;
1216
+ if ("$apiName" in anyObj) {
1217
+ !(anyObj.$apiName === objectType) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
1218
+ }
1219
+ const {
1220
+ $apiName,
1221
+ $primaryKey,
1222
+ ...others
1223
+ } = anyObj;
1224
+ const meta = this.ontology.getObjectTypeFullMetadataOrThrow(objectType);
1225
+ const realPrimaryKey = anyObj[meta.objectType.primaryKey];
1226
+ const maybeTitle = anyObj[meta.objectType.titleProperty];
1227
+ const rid = anyObj.$rid ?? `ri.phonograph2-objects.main.object.${crypto__namespace.randomUUID()}`;
1228
+ !(realPrimaryKey != null) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Object should have a primary key. ${JSON.stringify(anyObj)}`) : invariant4__default.default(false) : void 0;
1229
+ !($primaryKey == null || $primaryKey === realPrimaryKey) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Primary key mismatch") : invariant4__default.default(false) : void 0;
1230
+ return {
1231
+ __apiName: objectType,
1232
+ __primaryKey: realPrimaryKey,
1233
+ __title: maybeTitle ? String(maybeTitle) : void 0,
1234
+ __rid: rid,
1235
+ ...others
1236
+ };
1237
+ }
1238
+ replaceObjectOrThrow(x) {
1239
+ this.#assertObjectExists(x.__apiName, x.__primaryKey);
1240
+ this.#objects.get(x.__apiName).set(String(x.__primaryKey), x);
1241
+ }
1242
+ /** Throws if the object does not already exist */
1243
+ unregisterObjectOrThrow(objectType, primaryKey) {
1244
+ this.#assertObjectExists(objectType, primaryKey);
1245
+ this.#objects.get(objectType).delete(String(primaryKey));
1246
+ }
1247
+ registerLink(src, srcLinkName, dst, destLinkName) {
1248
+ const srcLocator = objectLocator(src);
1249
+ const dstLocator = objectLocator(dst);
1250
+ const [srcSide, dstSide] = this.#fauxOntology.getBothLinkTypeSides(src.__apiName, srcLinkName, dst.__apiName);
1251
+ !(srcSide.linkTypeRid === dstSide.linkTypeRid) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Expected both sides of the link to have the same rid, but got ${srcSide.linkTypeRid} and ${dstSide.linkTypeRid}`) : invariant4__default.default(false) : void 0;
1252
+ !(dstSide.apiName === destLinkName) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Link name mismatch on dst side. Expected ${destLinkName} but found ${dstSide.apiName}`) : invariant4__default.default(false) : void 0;
1253
+ this.#updateSingleLinkSide(srcSide, srcLocator, dstSide, dstLocator);
1254
+ this.#updateSingleLinkSide(dstSide, dstLocator, srcSide, srcLocator);
1255
+ }
1256
+ unregisterLink(src, srcLinkName, dst, dstLinkName) {
1257
+ const srcLocator = objectLocator(src);
1258
+ const dstLocator = objectLocator(dst);
1259
+ const [srcSide, dstSide] = this.#fauxOntology.getBothLinkTypeSides(src.__apiName, srcLinkName, dst.__apiName);
1260
+ !(dstSide.apiName === dstLinkName) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Link name mismatch on dst side. Expected ${dstLinkName} but found ${dstSide.apiName}`) : invariant4__default.default(false) : void 0;
1261
+ this.#removeSingleSideOfLink(srcLocator, srcSide, dstLocator);
1262
+ this.#removeSingleSideOfLink(dstLocator, dstSide, srcLocator);
1263
+ }
1264
+ registerTimeSeriesData(objectType, primaryKey, property, data) {
1265
+ this.getObjectOrThrow(objectType, primaryKey);
1266
+ const def = this.ontology.getObjectTypeFullMetadataOrThrow(objectType);
1267
+ !(def.objectType.properties[property].dataType.type === "timeseries" || def.objectType.properties[property].dataType.type === "geotimeSeriesReference") ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
1268
+ this.#timeSeriesData.get(objectType).get(String(primaryKey)).set(property, data);
1269
+ }
1270
+ getTimeSeriesData(objectType, primaryKey, property, filter) {
1271
+ this.getObjectOrThrow(objectType, primaryKey);
1272
+ const allData = this.#timeSeriesData.get(objectType).get(String(primaryKey)).get(property);
1273
+ if (!filter) return allData;
1274
+ return filterTimeSeriesData(allData, filter);
1275
+ }
1276
+ #updateSingleLinkSide(srcSide, srcLocator, dstSide, dstLocator) {
1277
+ const srcLinkName = srcSide.apiName;
1278
+ if (srcSide.cardinality === "ONE") {
1279
+ const linkNameToObj = this.#singleLinks.get(srcLocator);
1280
+ const oldLocator = linkNameToObj.get(srcLinkName);
1281
+ if (oldLocator && oldLocator !== dstLocator) {
1282
+ this.#removeSingleSideOfLink(oldLocator, dstSide, srcLocator);
1283
+ }
1284
+ linkNameToObj.set(srcLinkName, dstLocator);
1285
+ } else if (srcSide.cardinality === "MANY") {
1286
+ const linkNameToObj = this.#manyLinks.get(srcLocator);
1287
+ linkNameToObj.set(srcLinkName, dstLocator);
1288
+ } else {
1289
+ throw new Error("unexpected cardinality: " + srcSide.cardinality);
1290
+ }
1291
+ }
1292
+ registerMedia(objectType, property, content, mediaType, path, mediaItemRid = `ri.mio.main.media-item.${crypto.randomUUID()}`) {
1293
+ const mediaRef = Object.freeze({
1294
+ mimeType: mediaType,
1295
+ reference: Object.freeze({
1296
+ type: "mediaSetViewItem",
1297
+ mediaSetViewItem: Object.freeze({
1298
+ mediaItemRid,
1299
+ mediaSetRid: "ri.unimplemented.in.shared.test",
1300
+ mediaSetViewRid: "ri.unimplemented.in.shared.test"
1301
+ })
1302
+ })
1303
+ });
1304
+ this.#media.get(objectType).get(property).set(mediaItemRid, Object.freeze({
1305
+ content,
1306
+ mediaRef,
1307
+ metaData: Object.freeze({
1308
+ mediaType,
1309
+ path,
1310
+ sizeBytes: String(content.byteLength)
1311
+ })
1312
+ }));
1313
+ return mediaRef;
1314
+ }
1315
+ getMediaOrThrow(objectType, primaryKey, property) {
1316
+ const obj = this.getObjectOrThrow(objectType, primaryKey);
1317
+ const propertyDef = this.ontology.getObjectTypeFullMetadataOrThrow(objectType).objectType.properties[property];
1318
+ if (!propertyDef) {
1319
+ throw new OpenApiCallError(400, {
1320
+ errorCode: "NOT_FOUND",
1321
+ errorName: "PropertiesNotFound",
1322
+ errorInstanceId: "faux-foundry",
1323
+ parameters: {
1324
+ objectType,
1325
+ properties: [property]
1326
+ }
1327
+ });
1328
+ }
1329
+ if (propertyDef.dataType.type !== "mediaReference") {
1330
+ throw new OpenApiCallError(400, {
1331
+ errorCode: "INVALID_ARGUMENT",
1332
+ errorName: "InvalidPropertyType",
1333
+ errorInstanceId: "faux-foundry",
1334
+ parameters: {
1335
+ property,
1336
+ propertyBaseType: propertyDef.dataType.type
1337
+ }
1338
+ });
1339
+ }
1340
+ const rid = obj[property].reference.mediaSetViewItem.mediaItemRid;
1341
+ if (!rid || !rid.startsWith("ri.")) {
1342
+ throw new OpenApiCallError(400, {
1343
+ errorCode: "INVALID_ARGUMENT",
1344
+ errorName: "InvalidPropertyValue",
1345
+ errorInstanceId: "faux-foundry",
1346
+ parameters: {
1347
+ property,
1348
+ propertyBaseType: propertyDef.dataType.type,
1349
+ propertyValue: rid
1350
+ }
1351
+ });
1352
+ }
1353
+ const ret = this.#media.get(objectType).get(property).get(rid);
1354
+ if (!ret) {
1355
+ throw new OpenApiCallError(400, InvalidRequest("Invalid parameters"));
1356
+ }
1357
+ return ret;
1358
+ }
1359
+ #removeSingleSideOfLink(locator, linkSide, expectedPriorValue) {
1360
+ const destLinkName = linkSide.apiName;
1361
+ if (linkSide.cardinality === "ONE") {
1362
+ const links = this.#singleLinks.get(locator);
1363
+ !(links.get(destLinkName) === expectedPriorValue) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
1364
+ links.delete(destLinkName);
1365
+ } else {
1366
+ const links = this.#manyLinks.get(locator);
1367
+ !links.get(destLinkName)?.has(expectedPriorValue) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
1368
+ links.remove(destLinkName, expectedPriorValue);
1369
+ }
1370
+ }
1371
+ getObject(apiName, primaryKey) {
1372
+ return this.#objects.get(apiName).get(String(primaryKey));
1373
+ }
1374
+ getObjectOrThrow(apiName, primaryKey) {
1375
+ const object = this.getObject(apiName, primaryKey);
1376
+ if (!object) {
1377
+ throw new OpenApiCallError(404, ObjectNotFoundError(apiName, String(primaryKey)));
1378
+ }
1379
+ return object;
1380
+ }
1381
+ getObjectByRid(rid) {
1382
+ for (const [, pkToObjects] of this.#objects) {
1383
+ for (const [, obj] of pkToObjects) {
1384
+ if (obj.__rid === rid) {
1385
+ return obj;
1386
+ }
1387
+ }
1388
+ }
1389
+ }
1390
+ getLinksOrThrow(apiName, primaryKey, linkApiName) {
1391
+ const object = this.getObjectOrThrow(apiName, primaryKey);
1392
+ const linkTypeSide = this.#fauxOntology.getLinkTypeSideV2(apiName, linkApiName);
1393
+ if (linkTypeSide.cardinality === "ONE") {
1394
+ const locator = this.#singleLinks.get(objectLocator(object)).get(linkApiName);
1395
+ if (locator === void 0) {
1396
+ return [];
1397
+ }
1398
+ const {
1399
+ objectType,
1400
+ primaryKey: primaryKey2
1401
+ } = parseLocator(locator);
1402
+ return [this.getObjectOrThrow(objectType, primaryKey2)];
1403
+ } else {
1404
+ const locators = this.#manyLinks.get(objectLocator(object)).get(linkApiName);
1405
+ return Array.from(locators ?? []).map((a) => {
1406
+ const [objectType, primaryKey2] = a.split(":") ?? [];
1407
+ !(objectType && primaryKey2) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Invalid locator format") : invariant4__default.default(false) : void 0;
1408
+ return this.getObjectOrThrow(objectType, primaryKey2);
1409
+ });
1410
+ }
1411
+ }
1412
+ getLinkOrThrow(objectType, primaryKey, linkType, targetPrimaryKey) {
1413
+ const allLinks = this.getLinksOrThrow(objectType, primaryKey, linkType);
1414
+ const object = allLinks.filter((l) => String(l.__primaryKey) === targetPrimaryKey)[0];
1415
+ if (!object) {
1416
+ throw new OpenApiCallError(404, ObjectNotFoundError(`${objectType} -> ${linkType}`, String(targetPrimaryKey)));
1417
+ }
1418
+ return object;
1419
+ }
1420
+ getObjectsOfType(apiName) {
1421
+ return this.#objects.get(apiName).values();
1422
+ }
1423
+ getObjectsFromObjectSet(parsedBody) {
1424
+ const selected = parsedBody.select;
1425
+ let objects = getObjectsFromSet(this, parsedBody.objectSet, void 0);
1426
+ if (!objects) {
1427
+ return {
1428
+ data: [],
1429
+ totalCount: "0",
1430
+ nextPageToken: void 0
1431
+ };
1432
+ }
1433
+ if (parsedBody.orderBy) {
1434
+ objects = objects.sort(createOrderBySortFn(parsedBody.orderBy));
1435
+ }
1436
+ const page = pageThroughResponseSearchParams(objects, getPaginationParamsFromRequest(parsedBody), false);
1437
+ if (!page) {
1438
+ throw new OpenApiCallError(404, InvalidRequest(`No objects found for ${JSON.stringify(parsedBody)}`));
1439
+ }
1440
+ const ret = subSelectProperties(page, [...selected], true, parsedBody.excludeRid);
1441
+ return ret;
1442
+ }
1443
+ getAttachmentMetadata(objectType, primaryKey, propertyName) {
1444
+ const rid = this.getObjectOrThrow(objectType, primaryKey)[propertyName];
1445
+ return this.#attachments.getAttachmentMetadataByRid(rid);
1446
+ }
1447
+ getAttachmentBuffer(objectType, primaryKey, propertyName) {
1448
+ const rid = this.getObjectOrThrow(objectType, primaryKey)[propertyName];
1449
+ return this.#attachments.getAttachmentBuffer(rid);
1450
+ }
1451
+ applyAction(actionTypeApiName, req) {
1452
+ const actionDef = this.#fauxOntology.getActionDef(actionTypeApiName);
1453
+ const actionImpl = this.#fauxOntology.getActionImpl(actionTypeApiName);
1454
+ const validation = validateAction(req, actionDef, this);
1455
+ if (validation.result === "INVALID") {
1456
+ return {
1457
+ validation
1458
+ };
1459
+ }
1460
+ const batch = new FauxDataStoreBatch(this);
1461
+ const r = actionImpl(batch, req, {
1462
+ def: actionDef,
1463
+ attachments: this.#attachments
1464
+ });
1465
+ if (r) return r;
1466
+ return {
1467
+ validation: {
1468
+ parameters: {},
1469
+ result: "VALID",
1470
+ submissionCriteria: []
1471
+ },
1472
+ edits: req.options?.mode === "VALIDATE_AND_EXECUTE" && (req.options.returnEdits === "ALL" || req.options.returnEdits === "ALL_V2_WITH_DELETIONS") ? {
1473
+ type: "edits",
1474
+ ...batch.objectEdits
1475
+ } : void 0
1476
+ };
1477
+ }
1478
+ batchApplyAction(actionTypeApiName, batchReq) {
1479
+ const actionDef = this.#fauxOntology.getActionDef(actionTypeApiName);
1480
+ const actionImpl = this.#fauxOntology.getActionImpl(actionTypeApiName);
1481
+ for (const req of batchReq.requests) {
1482
+ const result = validateAction(req, actionDef, this);
1483
+ if (result.result === "INVALID") {
1484
+ throw new OpenApiCallError(500, {
1485
+ errorCode: "INVALID_ARGUMENT",
1486
+ errorName: "ActionValidationFailed",
1487
+ errorInstanceId: "faux-foundry",
1488
+ parameters: {
1489
+ actionType: actionTypeApiName
1490
+ }
1491
+ });
1492
+ }
1493
+ }
1494
+ const batch = new FauxDataStoreBatch(this);
1495
+ for (const item of batchReq.requests) {
1496
+ actionImpl(batch, {
1497
+ ...item,
1498
+ options: {
1499
+ mode: "VALIDATE_AND_EXECUTE",
1500
+ returnEdits: batchReq.options?.returnEdits
1501
+ }
1502
+ }, {
1503
+ def: actionDef,
1504
+ attachments: this.#attachments
1505
+ });
1506
+ }
1507
+ if (batchReq.options?.returnEdits === "NONE") {
1508
+ return {};
1509
+ }
1510
+ return {
1511
+ edits: {
1512
+ type: "edits",
1513
+ ...batch.objectEdits,
1514
+ edits: batch.objectEdits.edits.filter((x) => x.type !== "deleteObject" && x.type !== "deleteLink")
1515
+ }
1516
+ };
1517
+ }
1518
+ };
1519
+
1520
+ // src/mock/OntologiesV2/index.ts
1521
+ var OntologiesV2_exports2 = {};
1522
+ __export(OntologiesV2_exports2, {
1523
+ ActionTypesV2: () => ActionTypesV2_exports,
1524
+ Actions: () => Actions_exports,
1525
+ AttachmentPropertiesV2: () => AttachmentPropertiesV2_exports,
1526
+ Attachments: () => Attachments_exports,
1527
+ LinkedObjectsV2: () => LinkedObjectsV2_exports,
1528
+ MediaReferenceProperties: () => MediaReferenceProperties_exports,
1529
+ ObjectTypesV2: () => ObjectTypesV2_exports,
1530
+ OntologiesV2: () => OntologiesV2_exports,
1531
+ OntologyInterfaces: () => OntologyInterfaces_exports,
1532
+ OntologyObjectSets: () => OntologyObjectSets_exports,
1533
+ OntologyObjectsV2: () => OntologyObjectsV2_exports,
1534
+ Queries: () => Queries_exports,
1535
+ QueryTypes: () => QueryTypes_exports,
1536
+ TimeSeriesPropertiesV2: () => TimeSeriesPropertiesV2_exports,
1537
+ TimeSeriesValueBankProperties: () => TimeSeriesValueBankProperties_exports
1538
+ });
1539
+
1540
+ // src/mock/OntologiesV2/Actions.ts
1541
+ var Actions_exports = {};
1542
+ __export(Actions_exports, {
1543
+ apply: () => apply2,
1544
+ applyBatch: () => applyBatch2
1545
+ });
1546
+
1547
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
1548
+ var Action_exports = {};
1549
+ __export(Action_exports, {
1550
+ apply: () => apply,
1551
+ applyAsync: () => applyAsync,
1552
+ applyBatch: () => applyBatch
1553
+ });
1554
+
1555
+ // ../../node_modules/.pnpm/@osdk+shared.client@1.0.1/node_modules/@osdk/shared.client/index.js
1556
+ var symbolClientContext = Symbol("ClientContext");
1557
+
1558
+ // ../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js
1559
+ var symbolClientContext2 = "__osdkClientContext";
1560
+
1561
+ // ../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js
1562
+ var PalantirApiError = class extends Error {
1563
+ message;
1564
+ errorName;
1565
+ errorCode;
1566
+ statusCode;
1567
+ errorInstanceId;
1568
+ parameters;
1569
+ constructor(message, errorName, errorCode, statusCode, errorInstanceId2, parameters) {
1570
+ super(message);
1571
+ this.message = message;
1572
+ this.errorName = errorName;
1573
+ this.errorCode = errorCode;
1574
+ this.statusCode = statusCode;
1575
+ this.errorInstanceId = errorInstanceId2;
1576
+ this.parameters = parameters;
1577
+ }
1578
+ };
1579
+
1580
+ // ../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js
1581
+ var UnknownError = class extends PalantirApiError {
1582
+ originalError;
1583
+ constructor(message, errorType, originalError) {
1584
+ super(message, errorType);
1585
+ this.originalError = originalError;
1586
+ }
1587
+ };
1588
+
1589
+ // ../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.3.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js
1590
+ async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {
1591
+ const path = origPath.replace(/\{([^}]+)\}/g, () => encodeURIComponent(args.shift()));
1592
+ const body = flags & 1 ? args.shift() : void 0;
1593
+ const queryArgs = flags & 2 ? args.shift() : void 0;
1594
+ const headerArgs = flags & 4 ? args.shift() : void 0;
1595
+ const method = ["GET", "POST", "PUT", "DELETE", "PATCH"][httpMethodNum];
1596
+ return await apiFetch(client[symbolClientContext2] ?? client[symbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);
1597
+ }
1598
+ async function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {
1599
+ const url = parseUrl(clientCtx.baseUrl, endpointPath);
1600
+ for (const [key, value] of Object.entries(queryArguments || {})) {
1601
+ if (value == null) {
1602
+ continue;
1603
+ }
1604
+ if (Array.isArray(value)) {
1605
+ for (const item of value) {
1606
+ url.searchParams.append(key, item);
1607
+ }
1608
+ } else {
1609
+ url.searchParams.append(key, value);
1610
+ }
1611
+ }
1612
+ const headersInit = new Headers();
1613
+ headersInit.set("Content-Type", requestMediaType ?? "application/json");
1614
+ headersInit.set("Accept", responseMediaType ?? "application/json");
1615
+ Object.entries(headers || {}).forEach(([key, value]) => {
1616
+ if (value != null) {
1617
+ headersInit.append(key, value.toString());
1618
+ }
1619
+ });
1620
+ const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);
1621
+ const response = await clientCtx.fetch(url.toString(), {
1622
+ body,
1623
+ method,
1624
+ headers: headersInit
1625
+ });
1626
+ if (!response.ok) {
1627
+ try {
1628
+ const convertedError = await response.json();
1629
+ return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);
1630
+ } catch (e) {
1631
+ if (e instanceof Error) {
1632
+ return new UnknownError(e.message, "UNKNOWN");
1633
+ }
1634
+ return new UnknownError("Unable to parse error response", "UNKNOWN");
1635
+ }
1636
+ }
1637
+ if (response.status === 204) {
1638
+ return;
1639
+ }
1640
+ if (responseMediaType == null || responseMediaType === "application/json") {
1641
+ return await response.json();
1642
+ }
1643
+ return response;
1644
+ }
1645
+ function parseUrl(baseUrl, endpointPath) {
1646
+ baseUrl += baseUrl.endsWith("/") ? "" : "/";
1647
+ return new URL(`api${endpointPath}`, baseUrl);
1648
+ }
1649
+
1650
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
1651
+ var _apply = [1, "/v2/ontologies/{0}/actions/{1}/apply", 3];
1652
+ function apply($ctx, ...args) {
1653
+ return foundryPlatformFetch($ctx, _apply, ...args);
1654
+ }
1655
+ var _applyAsync = [1, "/v2/ontologies/{0}/actions/{1}/applyAsync", 3];
1656
+ function applyAsync($ctx, ...args) {
1657
+ return foundryPlatformFetch($ctx, _applyAsync, ...args);
1658
+ }
1659
+ var _applyBatch = [1, "/v2/ontologies/{0}/actions/{1}/applyBatch", 3];
1660
+ function applyBatch($ctx, ...args) {
1661
+ return foundryPlatformFetch($ctx, _applyBatch, ...args);
1662
+ }
1663
+
1664
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ActionTypeV2.js
1665
+ var ActionTypeV2_exports = {};
1666
+ __export(ActionTypeV2_exports, {
1667
+ get: () => get,
1668
+ getByRid: () => getByRid,
1669
+ list: () => list
1670
+ });
1671
+ var _list = [0, "/v2/ontologies/{0}/actionTypes", 2];
1672
+ function list($ctx, ...args) {
1673
+ return foundryPlatformFetch($ctx, _list, ...args);
1674
+ }
1675
+ var _get = [0, "/v2/ontologies/{0}/actionTypes/{1}"];
1676
+ function get($ctx, ...args) {
1677
+ return foundryPlatformFetch($ctx, _get, ...args);
1678
+ }
1679
+ var _getByRid = [0, "/v2/ontologies/{0}/actionTypes/byRid/{1}"];
1680
+ function getByRid($ctx, ...args) {
1681
+ return foundryPlatformFetch($ctx, _getByRid, ...args);
1682
+ }
1683
+
1684
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Attachment.js
1685
+ var Attachment_exports = {};
1686
+ __export(Attachment_exports, {
1687
+ get: () => get2,
1688
+ read: () => read,
1689
+ upload: () => upload
1690
+ });
1691
+ var _upload = [1, "/v2/ontologies/attachments/upload", 7, "*/*"];
1692
+ function upload($ctx, ...args) {
1693
+ const headerParams = {
1694
+ ...args[2],
1695
+ "Content-Type": args[2]?.["Content-Type"] ?? args[0].type,
1696
+ "Content-Length": args[0].size.toString()
1697
+ };
1698
+ return foundryPlatformFetch($ctx, _upload, args[0], args[1], headerParams);
1699
+ }
1700
+ var _read = [0, "/v2/ontologies/attachments/{0}/content", , , "*/*"];
1701
+ function read($ctx, ...args) {
1702
+ return foundryPlatformFetch($ctx, _read, ...args);
1703
+ }
1704
+ var _get2 = [0, "/v2/ontologies/attachments/{0}"];
1705
+ function get2($ctx, ...args) {
1706
+ return foundryPlatformFetch($ctx, _get2, ...args);
1707
+ }
1708
+
1709
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/AttachmentPropertyV2.js
1710
+ var AttachmentPropertyV2_exports = {};
1711
+ __export(AttachmentPropertyV2_exports, {
1712
+ getAttachment: () => getAttachment,
1713
+ getAttachmentByRid: () => getAttachmentByRid,
1714
+ readAttachment: () => readAttachment,
1715
+ readAttachmentByRid: () => readAttachmentByRid
1716
+ });
1717
+ var _getAttachment = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}", 2];
1718
+ function getAttachment($ctx, ...args) {
1719
+ return foundryPlatformFetch($ctx, _getAttachment, ...args);
1720
+ }
1721
+ var _getAttachmentByRid = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/{4}", 2];
1722
+ function getAttachmentByRid($ctx, ...args) {
1723
+ return foundryPlatformFetch($ctx, _getAttachmentByRid, ...args);
1724
+ }
1725
+ var _readAttachment = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/content", 2, , "*/*"];
1726
+ function readAttachment($ctx, ...args) {
1727
+ return foundryPlatformFetch($ctx, _readAttachment, ...args);
1728
+ }
1729
+ var _readAttachmentByRid = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/{4}/content", 2, , "*/*"];
1730
+ function readAttachmentByRid($ctx, ...args) {
1731
+ return foundryPlatformFetch($ctx, _readAttachmentByRid, ...args);
1732
+ }
1733
+
1734
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/LinkedObjectV2.js
1735
+ var LinkedObjectV2_exports = {};
1736
+ __export(LinkedObjectV2_exports, {
1737
+ getLinkedObject: () => getLinkedObject,
1738
+ listLinkedObjects: () => listLinkedObjects
1739
+ });
1740
+ var _listLinkedObjects = [0, "/v2/ontologies/{0}/objects/{1}/{2}/links/{3}", 2];
1741
+ function listLinkedObjects($ctx, ...args) {
1742
+ return foundryPlatformFetch($ctx, _listLinkedObjects, ...args);
1743
+ }
1744
+ var _getLinkedObject = [0, "/v2/ontologies/{0}/objects/{1}/{2}/links/{3}/{4}", 2];
1745
+ function getLinkedObject($ctx, ...args) {
1746
+ return foundryPlatformFetch($ctx, _getLinkedObject, ...args);
1747
+ }
1748
+
1749
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/MediaReferenceProperty.js
1750
+ var MediaReferenceProperty_exports = {};
1751
+ __export(MediaReferenceProperty_exports, {
1752
+ getMediaContent: () => getMediaContent,
1753
+ getMediaMetadata: () => getMediaMetadata,
1754
+ upload: () => upload2
1755
+ });
1756
+ var _getMediaContent = [0, "/v2/ontologies/{0}/objects/{1}/{2}/media/{3}/content", 2, , "*/*"];
1757
+ function getMediaContent($ctx, ...args) {
1758
+ return foundryPlatformFetch($ctx, _getMediaContent, ...args);
1759
+ }
1760
+ var _getMediaMetadata = [0, "/v2/ontologies/{0}/objects/{1}/{2}/media/{3}/metadata", 2];
1761
+ function getMediaMetadata($ctx, ...args) {
1762
+ return foundryPlatformFetch($ctx, _getMediaMetadata, ...args);
1763
+ }
1764
+ var _upload2 = [1, "/v2/ontologies/{0}/objectTypes/{1}/media/{2}/upload", 3, "*/*"];
1765
+ function upload2($ctx, ...args) {
1766
+ return foundryPlatformFetch($ctx, _upload2, ...args);
1767
+ }
1768
+
1769
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ObjectTypeV2.js
1770
+ var ObjectTypeV2_exports = {};
1771
+ __export(ObjectTypeV2_exports, {
1772
+ get: () => get3,
1773
+ getFullMetadata: () => getFullMetadata,
1774
+ getOutgoingLinkType: () => getOutgoingLinkType,
1775
+ list: () => list2,
1776
+ listOutgoingLinkTypes: () => listOutgoingLinkTypes
1777
+ });
1778
+ var _list2 = [0, "/v2/ontologies/{0}/objectTypes", 2];
1779
+ function list2($ctx, ...args) {
1780
+ return foundryPlatformFetch($ctx, _list2, ...args);
1781
+ }
1782
+ var _get3 = [0, "/v2/ontologies/{0}/objectTypes/{1}"];
1783
+ function get3($ctx, ...args) {
1784
+ return foundryPlatformFetch($ctx, _get3, ...args);
1785
+ }
1786
+ var _getFullMetadata = [0, "/v2/ontologies/{0}/objectTypes/{1}/fullMetadata", 2];
1787
+ function getFullMetadata($ctx, ...args) {
1788
+ return foundryPlatformFetch($ctx, _getFullMetadata, ...args);
1789
+ }
1790
+ var _listOutgoingLinkTypes = [0, "/v2/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes", 2];
1791
+ function listOutgoingLinkTypes($ctx, ...args) {
1792
+ return foundryPlatformFetch($ctx, _listOutgoingLinkTypes, ...args);
1793
+ }
1794
+ var _getOutgoingLinkType = [0, "/v2/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes/{2}"];
1795
+ function getOutgoingLinkType($ctx, ...args) {
1796
+ return foundryPlatformFetch($ctx, _getOutgoingLinkType, ...args);
1797
+ }
1798
+
1799
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyInterface.js
1800
+ var OntologyInterface_exports = {};
1801
+ __export(OntologyInterface_exports, {
1802
+ aggregate: () => aggregate,
1803
+ get: () => get4,
1804
+ list: () => list3,
1805
+ search: () => search
1806
+ });
1807
+ var _list3 = [0, "/v2/ontologies/{0}/interfaceTypes", 2];
1808
+ function list3($ctx, ...args) {
1809
+ return foundryPlatformFetch($ctx, _list3, ...args);
1810
+ }
1811
+ var _get4 = [0, "/v2/ontologies/{0}/interfaceTypes/{1}", 2];
1812
+ function get4($ctx, ...args) {
1813
+ return foundryPlatformFetch($ctx, _get4, ...args);
1814
+ }
1815
+ var _search = [1, "/v2/ontologies/{0}/interfaces/{1}/search", 3];
1816
+ function search($ctx, ...args) {
1817
+ return foundryPlatformFetch($ctx, _search, ...args);
1818
+ }
1819
+ var _aggregate = [1, "/v2/ontologies/{0}/interfaces/{1}/aggregate", 3];
1820
+ function aggregate($ctx, ...args) {
1821
+ return foundryPlatformFetch($ctx, _aggregate, ...args);
1822
+ }
1823
+
1824
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectSet.js
1825
+ var OntologyObjectSet_exports = {};
1826
+ __export(OntologyObjectSet_exports, {
1827
+ aggregate: () => aggregate2,
1828
+ createTemporary: () => createTemporary,
1829
+ get: () => get5,
1830
+ load: () => load,
1831
+ loadMultipleObjectTypes: () => loadMultipleObjectTypes,
1832
+ loadObjectsOrInterfaces: () => loadObjectsOrInterfaces
1833
+ });
1834
+ var _createTemporary = [1, "/v2/ontologies/{0}/objectSets/createTemporary", 1];
1835
+ function createTemporary($ctx, ...args) {
1836
+ return foundryPlatformFetch($ctx, _createTemporary, ...args);
1837
+ }
1838
+ var _get5 = [0, "/v2/ontologies/{0}/objectSets/{1}"];
1839
+ function get5($ctx, ...args) {
1840
+ return foundryPlatformFetch($ctx, _get5, ...args);
1841
+ }
1842
+ var _load = [1, "/v2/ontologies/{0}/objectSets/loadObjects", 3];
1843
+ function load($ctx, ...args) {
1844
+ return foundryPlatformFetch($ctx, _load, ...args);
1845
+ }
1846
+ var _loadMultipleObjectTypes = [1, "/v2/ontologies/{0}/objectSets/loadObjectsMultipleObjectTypes", 3];
1847
+ function loadMultipleObjectTypes($ctx, ...args) {
1848
+ return foundryPlatformFetch($ctx, _loadMultipleObjectTypes, ...args);
1849
+ }
1850
+ var _loadObjectsOrInterfaces = [1, "/v2/ontologies/{0}/objectSets/loadObjectsOrInterfaces", 3];
1851
+ function loadObjectsOrInterfaces($ctx, ...args) {
1852
+ return foundryPlatformFetch($ctx, _loadObjectsOrInterfaces, ...args);
1853
+ }
1854
+ var _aggregate2 = [1, "/v2/ontologies/{0}/objectSets/aggregate", 3];
1855
+ function aggregate2($ctx, ...args) {
1856
+ return foundryPlatformFetch($ctx, _aggregate2, ...args);
1857
+ }
1858
+
1859
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectV2.js
1860
+ var OntologyObjectV2_exports = {};
1861
+ __export(OntologyObjectV2_exports, {
1862
+ aggregate: () => aggregate3,
1863
+ count: () => count,
1864
+ get: () => get6,
1865
+ list: () => list4,
1866
+ search: () => search2
1867
+ });
1868
+ var _list4 = [0, "/v2/ontologies/{0}/objects/{1}", 2];
1869
+ function list4($ctx, ...args) {
1870
+ return foundryPlatformFetch($ctx, _list4, ...args);
1871
+ }
1872
+ var _get6 = [0, "/v2/ontologies/{0}/objects/{1}/{2}", 2];
1873
+ function get6($ctx, ...args) {
1874
+ return foundryPlatformFetch($ctx, _get6, ...args);
1875
+ }
1876
+ var _count = [1, "/v2/ontologies/{0}/objects/{1}/count", 2];
1877
+ function count($ctx, ...args) {
1878
+ return foundryPlatformFetch($ctx, _count, ...args);
1879
+ }
1880
+ var _search2 = [1, "/v2/ontologies/{0}/objects/{1}/search", 3];
1881
+ function search2($ctx, ...args) {
1882
+ return foundryPlatformFetch($ctx, _search2, ...args);
1883
+ }
1884
+ var _aggregate3 = [1, "/v2/ontologies/{0}/objects/{1}/aggregate", 3];
1885
+ function aggregate3($ctx, ...args) {
1886
+ return foundryPlatformFetch($ctx, _aggregate3, ...args);
1887
+ }
1888
+
1889
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyV2.js
1890
+ var OntologyV2_exports = {};
1891
+ __export(OntologyV2_exports, {
1892
+ get: () => get7,
1893
+ getFullMetadata: () => getFullMetadata2,
1894
+ list: () => list5,
1895
+ loadMetadata: () => loadMetadata
1896
+ });
1897
+ var _list5 = [0, "/v2/ontologies"];
1898
+ function list5($ctx, ...args) {
1899
+ return foundryPlatformFetch($ctx, _list5, ...args);
1900
+ }
1901
+ var _get7 = [0, "/v2/ontologies/{0}"];
1902
+ function get7($ctx, ...args) {
1903
+ return foundryPlatformFetch($ctx, _get7, ...args);
1904
+ }
1905
+ var _getFullMetadata2 = [0, "/v2/ontologies/{0}/fullMetadata"];
1906
+ function getFullMetadata2($ctx, ...args) {
1907
+ return foundryPlatformFetch($ctx, _getFullMetadata2, ...args);
1908
+ }
1909
+ var _loadMetadata = [1, "/v2/ontologies/{0}/metadata", 3];
1910
+ function loadMetadata($ctx, ...args) {
1911
+ return foundryPlatformFetch($ctx, _loadMetadata, ...args);
1912
+ }
1913
+
1914
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Query.js
1915
+ var Query_exports = {};
1916
+ __export(Query_exports, {
1917
+ execute: () => execute
1918
+ });
1919
+ var _execute = [1, "/v2/ontologies/{0}/queries/{1}/execute", 3];
1920
+ function execute($ctx, ...args) {
1921
+ return foundryPlatformFetch($ctx, _execute, ...args);
1922
+ }
1923
+
1924
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/QueryType.js
1925
+ var QueryType_exports = {};
1926
+ __export(QueryType_exports, {
1927
+ get: () => get8,
1928
+ list: () => list6
1929
+ });
1930
+ var _list6 = [0, "/v2/ontologies/{0}/queryTypes", 2];
1931
+ function list6($ctx, ...args) {
1932
+ return foundryPlatformFetch($ctx, _list6, ...args);
1933
+ }
1934
+ var _get8 = [0, "/v2/ontologies/{0}/queryTypes/{1}", 2];
1935
+ function get8($ctx, ...args) {
1936
+ return foundryPlatformFetch($ctx, _get8, ...args);
1937
+ }
1938
+
1939
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesPropertyV2.js
1940
+ var TimeSeriesPropertyV2_exports = {};
1941
+ __export(TimeSeriesPropertyV2_exports, {
1942
+ getFirstPoint: () => getFirstPoint,
1943
+ getLastPoint: () => getLastPoint,
1944
+ streamPoints: () => streamPoints
1945
+ });
1946
+ var _getFirstPoint = [0, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/firstPoint", 2];
1947
+ function getFirstPoint($ctx, ...args) {
1948
+ return foundryPlatformFetch($ctx, _getFirstPoint, ...args);
1949
+ }
1950
+ var _getLastPoint = [0, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/lastPoint", 2];
1951
+ function getLastPoint($ctx, ...args) {
1952
+ return foundryPlatformFetch($ctx, _getLastPoint, ...args);
1953
+ }
1954
+ var _streamPoints = [1, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/streamPoints", 3, , "*/*"];
1955
+ function streamPoints($ctx, ...args) {
1956
+ return foundryPlatformFetch($ctx, _streamPoints, ...args);
1957
+ }
1958
+
1959
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesValueBankProperty.js
1960
+ var TimeSeriesValueBankProperty_exports = {};
1961
+ __export(TimeSeriesValueBankProperty_exports, {
1962
+ getLatestValue: () => getLatestValue,
1963
+ streamValues: () => streamValues
1964
+ });
1965
+ var _getLatestValue = [0, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/latestValue", 2];
1966
+ function getLatestValue($ctx, ...args) {
1967
+ return foundryPlatformFetch($ctx, _getLatestValue, ...args);
1968
+ }
1969
+ var _streamValues = [1, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/streamValues", 3, , "*/*"];
1970
+ function streamValues($ctx, ...args) {
1971
+ return foundryPlatformFetch($ctx, _streamValues, ...args);
1972
+ }
1973
+
1974
+ // src/mock/OntologiesV2/Actions.ts
1975
+ var applyBatch2 = handleOpenApiCall(Action_exports.applyBatch, ["ontologyApiName", "actionType"]);
1976
+ var apply2 = handleOpenApiCall(Action_exports.apply, ["ontologyApiName", "actionType"]);
1977
+
1978
+ // src/mock/OntologiesV2/ActionTypesV2.ts
1979
+ var ActionTypesV2_exports = {};
1980
+ __export(ActionTypesV2_exports, {
1981
+ get: () => get9,
1982
+ list: () => list7
1983
+ });
1984
+ var list7 = handleOpenApiCall(ActionTypeV2_exports.list, ["ontologyApiName"]);
1985
+ var get9 = handleOpenApiCall(ActionTypeV2_exports.get, ["ontologyApiName", "actionTypeApiName"]);
1986
+
1987
+ // src/mock/OntologiesV2/AttachmentPropertiesV2.ts
1988
+ var AttachmentPropertiesV2_exports = {};
1989
+ __export(AttachmentPropertiesV2_exports, {
1990
+ getAttachment: () => getAttachment2,
1991
+ readAttachment: () => readAttachment2
1992
+ });
1993
+ var getAttachment2 = handleOpenApiCall(AttachmentPropertyV2_exports.getAttachment, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
1994
+ var readAttachment2 = handleOpenApiCall(AttachmentPropertyV2_exports.readAttachment, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
1995
+
1996
+ // src/mock/OntologiesV2/Attachments.ts
1997
+ var Attachments_exports = {};
1998
+ __export(Attachments_exports, {
1999
+ get: () => get10,
2000
+ read: () => read2,
2001
+ upload: () => upload3
2002
+ });
2003
+ var upload3 = handleOpenApiCall(Attachment_exports.upload, []);
2004
+ var get10 = handleOpenApiCall(Attachment_exports.get, ["attachmentRid"]);
2005
+ var read2 = handleOpenApiCall(Attachment_exports.read, ["attachmentRid"]);
2006
+
2007
+ // src/mock/OntologiesV2/LinkedObjectsV2.ts
2008
+ var LinkedObjectsV2_exports = {};
2009
+ __export(LinkedObjectsV2_exports, {
2010
+ getLinkedObject: () => getLinkedObject2,
2011
+ listLinkedObjects: () => listLinkedObjects2
2012
+ });
2013
+ var listLinkedObjects2 = handleOpenApiCall(LinkedObjectV2_exports.listLinkedObjects, ["ontologyApiName", "objectType", "primaryKey", "linkType"]);
2014
+ var getLinkedObject2 = handleOpenApiCall(LinkedObjectV2_exports.getLinkedObject, ["ontologyApiName", "objectType", "primaryKey", "linkType", "targetPrimaryKey"]);
2015
+
2016
+ // src/mock/OntologiesV2/MediaReferenceProperties.ts
2017
+ var MediaReferenceProperties_exports = {};
2018
+ __export(MediaReferenceProperties_exports, {
2019
+ getMediaContent: () => getMediaContent2,
2020
+ getMediaMetadata: () => getMediaMetadata2,
2021
+ upload: () => upload4
2022
+ });
2023
+ var getMediaMetadata2 = handleOpenApiCall(MediaReferenceProperty_exports.getMediaMetadata, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2024
+ var getMediaContent2 = handleOpenApiCall(MediaReferenceProperty_exports.getMediaContent, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2025
+ var upload4 = handleOpenApiCall(MediaReferenceProperty_exports.upload, ["ontologyApiName", "objectType", "propertyName"]);
2026
+
2027
+ // src/mock/OntologiesV2/ObjectTypesV2.ts
2028
+ var ObjectTypesV2_exports = {};
2029
+ __export(ObjectTypesV2_exports, {
2030
+ get: () => get11,
2031
+ getFullMetadata: () => getFullMetadata3,
2032
+ getOutgoingLinkType: () => getOutgoingLinkType2,
2033
+ list: () => list8,
2034
+ listOutgoingLinkTypes: () => listOutgoingLinkTypes2
2035
+ });
2036
+ var get11 = handleOpenApiCall(ObjectTypeV2_exports.get, ["ontologyApiName", "objectTypeApiName"]);
2037
+ var getFullMetadata3 = handleOpenApiCall(ObjectTypeV2_exports.getFullMetadata, ["ontologyApiName", "objectTypeApiName"]);
2038
+ var getOutgoingLinkType2 = handleOpenApiCall(ObjectTypeV2_exports.getOutgoingLinkType, ["ontology", "objectType", "linkType"]);
2039
+ var listOutgoingLinkTypes2 = handleOpenApiCall(ObjectTypeV2_exports.listOutgoingLinkTypes, ["ontology", "objectType"]);
2040
+ var list8 = handleOpenApiCall(ObjectTypeV2_exports.list, ["ontologyApiName"]);
2041
+
2042
+ // src/mock/OntologiesV2/OntologiesV2.ts
2043
+ var OntologiesV2_exports = {};
2044
+ __export(OntologiesV2_exports, {
2045
+ get: () => get12,
2046
+ getFullMetadata: () => getFullMetadata4,
2047
+ list: () => list9,
2048
+ loadMetadata: () => loadMetadata2
2049
+ });
2050
+ var getFullMetadata4 = handleOpenApiCall(OntologyV2_exports.getFullMetadata, ["ontologyApiName"]);
2051
+ var loadMetadata2 = handleOpenApiCall(OntologyV2_exports.loadMetadata, ["ontologyApiName"]);
2052
+ var list9 = handleOpenApiCall(OntologyV2_exports.list, []);
2053
+ var get12 = handleOpenApiCall(OntologyV2_exports.get, ["ontologyRid"]);
2054
+
2055
+ // src/mock/OntologiesV2/OntologyInterfaces.ts
2056
+ var OntologyInterfaces_exports = {};
2057
+ __export(OntologyInterfaces_exports, {
2058
+ get: () => get13,
2059
+ list: () => list10
2060
+ });
2061
+ var list10 = handleOpenApiCall(OntologyInterface_exports.list, ["ontologyApiName"]);
2062
+ var get13 = handleOpenApiCall(OntologyInterface_exports.get, ["ontologyApiName", "interfaceType"]);
2063
+
2064
+ // src/mock/OntologiesV2/OntologyObjectSets.ts
2065
+ var OntologyObjectSets_exports = {};
2066
+ __export(OntologyObjectSets_exports, {
2067
+ aggregate: () => aggregate4,
2068
+ load: () => load2,
2069
+ loadMultipleObjectTypes: () => loadMultipleObjectTypes2
2070
+ });
2071
+ var load2 = handleOpenApiCall(OntologyObjectSet_exports.load, ["ontologyApiName"]);
2072
+ var aggregate4 = handleOpenApiCall(OntologyObjectSet_exports.aggregate, ["ontologyApiName"]);
2073
+ var loadMultipleObjectTypes2 = handleOpenApiCall(OntologyObjectSet_exports.loadMultipleObjectTypes, ["ontologyApiName"]);
2074
+
2075
+ // src/mock/OntologiesV2/OntologyObjectsV2.ts
2076
+ var OntologyObjectsV2_exports = {};
2077
+ __export(OntologyObjectsV2_exports, {
2078
+ get: () => get14,
2079
+ list: () => list11
2080
+ });
2081
+ var get14 = handleOpenApiCall(OntologyObjectV2_exports.get, ["ontologyApiName", "objectType", "primaryKey"]);
2082
+ var list11 = handleOpenApiCall(OntologyObjectV2_exports.list, ["ontologyApiName", "objectType"]);
2083
+
2084
+ // src/mock/OntologiesV2/Queries.ts
2085
+ var Queries_exports = {};
2086
+ __export(Queries_exports, {
2087
+ execute: () => execute2
2088
+ });
2089
+ var execute2 = handleOpenApiCall(Query_exports.execute, ["ontologyApiName", "queryApiName"]);
2090
+
2091
+ // src/mock/OntologiesV2/QueryTypes.ts
2092
+ var QueryTypes_exports = {};
2093
+ __export(QueryTypes_exports, {
2094
+ get: () => get15,
2095
+ list: () => list12
2096
+ });
2097
+ var get15 = handleOpenApiCall(QueryType_exports.get, ["ontologyApiName", "queryTypeApiName"]);
2098
+ var list12 = handleOpenApiCall(QueryType_exports.list, ["ontologyApiName"]);
2099
+
2100
+ // src/mock/OntologiesV2/TimeSeriesPropertiesV2.ts
2101
+ var TimeSeriesPropertiesV2_exports = {};
2102
+ __export(TimeSeriesPropertiesV2_exports, {
2103
+ getFirstPoint: () => getFirstPoint2,
2104
+ getLastPoint: () => getLastPoint2,
2105
+ streamPoints: () => streamPoints2
2106
+ });
2107
+ var getFirstPoint2 = handleOpenApiCall(TimeSeriesPropertyV2_exports.getFirstPoint, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2108
+ var getLastPoint2 = handleOpenApiCall(TimeSeriesPropertyV2_exports.getLastPoint, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2109
+ var streamPoints2 = handleOpenApiCall(TimeSeriesPropertyV2_exports.streamPoints, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2110
+
2111
+ // src/mock/OntologiesV2/TimeSeriesValueBankProperties.ts
2112
+ var TimeSeriesValueBankProperties_exports = {};
2113
+ __export(TimeSeriesValueBankProperties_exports, {
2114
+ getLatestValue: () => getLatestValue2,
2115
+ streamValues: () => streamValues2
2116
+ });
2117
+ var getLatestValue2 = handleOpenApiCall(TimeSeriesValueBankProperty_exports.getLatestValue, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2118
+ var streamValues2 = handleOpenApiCall(TimeSeriesValueBankProperty_exports.streamValues, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
2119
+
2120
+ // src/handlers/createActionHandlers.ts
2121
+ var createActionHandlers = (baseUrl, fauxFoundry) => [
2122
+ /**
2123
+ * Apply an Action
2124
+ */
2125
+ OntologiesV2_exports2.Actions.apply(baseUrl, async ({
2126
+ params: {
2127
+ ontologyApiName,
2128
+ actionType
2129
+ },
2130
+ request
2131
+ }) => {
2132
+ const response = fauxFoundry.getDataStore(ontologyApiName).applyAction(actionType, await request.json());
2133
+ if (!response) {
2134
+ throw new OpenApiCallError(400, ApplyActionFailedError);
2135
+ }
2136
+ return response;
2137
+ }),
2138
+ OntologiesV2_exports2.Actions.applyBatch(baseUrl, async ({
2139
+ params: {
2140
+ ontologyApiName,
2141
+ actionType
2142
+ },
2143
+ request
2144
+ }) => {
2145
+ return fauxFoundry.getDataStore(ontologyApiName).batchApplyAction(actionType, await request.json());
2146
+ })
2147
+ ];
2148
+
2149
+ // src/handlers/util/requireSearchParams.ts
2150
+ function requireSearchParams(names, req) {
2151
+ const url = new URL(req.url);
2152
+ return Object.fromEntries(names.map((name) => {
2153
+ const value = url.searchParams.get(name);
2154
+ if (value == null) {
2155
+ throw new OpenApiCallError(400, InvalidRequest("Invalid parameters"));
2156
+ }
2157
+ return [name, value];
2158
+ }));
2159
+ }
2160
+
2161
+ // src/handlers/createAttachmentHandlers.ts
2162
+ var createAttachmentHandlers = (baseUrl, fauxFoundry) => [
2163
+ /**
2164
+ * Upload attachment
2165
+ */
2166
+ OntologiesV2_exports2.Attachments.upload(baseUrl, async ({
2167
+ request
2168
+ }) => {
2169
+ const {
2170
+ filename
2171
+ } = requireSearchParams(["filename"], request);
2172
+ return fauxFoundry.attachments.registerAttachment({
2173
+ buffer: await request.arrayBuffer(),
2174
+ filename,
2175
+ mediaType: request.headers.get("Content-Type") ?? "application/octet-stream",
2176
+ rid: `ri.attachments.main.attachment.${crypto.randomUUID()}`
2177
+ });
2178
+ }),
2179
+ /**
2180
+ * Get attachment metadata V1
2181
+ */
2182
+ OntologiesV2_exports2.Attachments.get(baseUrl, async ({
2183
+ params
2184
+ }) => {
2185
+ return fauxFoundry.attachments.getAttachmentMetadataByRid(params.attachmentRid);
2186
+ }),
2187
+ /**
2188
+ * Get attachment metadata V2
2189
+ */
2190
+ OntologiesV2_exports2.AttachmentPropertiesV2.getAttachment(baseUrl, async ({
2191
+ params: {
2192
+ ontologyApiName,
2193
+ primaryKey,
2194
+ objectType,
2195
+ propertyName
2196
+ }
2197
+ }) => {
2198
+ return {
2199
+ ...fauxFoundry.getDataStore(ontologyApiName).getAttachmentMetadata(objectType, primaryKey, propertyName),
2200
+ type: "single"
2201
+ };
2202
+ }),
2203
+ /**
2204
+ * Read attachment content V1
2205
+ */
2206
+ OntologiesV2_exports2.Attachments.read(baseUrl, async ({
2207
+ params
2208
+ }) => {
2209
+ return new Response(fauxFoundry.attachments.getAttachmentBuffer(params.attachmentRid));
2210
+ }),
2211
+ /**
2212
+ * Read attachment content V2
2213
+ */
2214
+ OntologiesV2_exports2.AttachmentPropertiesV2.readAttachment(baseUrl, async ({
2215
+ params: {
2216
+ ontologyApiName,
2217
+ primaryKey,
2218
+ objectType,
2219
+ propertyName
2220
+ }
2221
+ }) => {
2222
+ return new Response(fauxFoundry.getDataStore(ontologyApiName).getAttachmentBuffer(objectType, primaryKey, propertyName));
2223
+ })
2224
+ ];
2225
+
2226
+ // src/handlers/createLoadObjectsHandlers.ts
2227
+ var createLoadObjectsHandlers = (baseUrl, fauxFoundry) => [
2228
+ /**
2229
+ * Load object
2230
+ */
2231
+ OntologiesV2_exports2.OntologyObjectsV2.get(baseUrl, async ({
2232
+ request,
2233
+ params: {
2234
+ ontologyApiName,
2235
+ objectType,
2236
+ primaryKey
2237
+ }
2238
+ }) => {
2239
+ return subSelectPropertiesUrl(fauxFoundry.getDataStore(ontologyApiName).getObjectOrThrow(objectType, primaryKey), new URL(request.url));
2240
+ }),
2241
+ /**
2242
+ * Load all objects
2243
+ */
2244
+ OntologiesV2_exports2.OntologyObjectsV2.list(baseUrl, async ({
2245
+ request,
2246
+ params: {
2247
+ ontologyApiName,
2248
+ objectType
2249
+ }
2250
+ }) => {
2251
+ const loadObjects = pageThroughResponseSearchParams(fauxFoundry.getDataStore(ontologyApiName).getObjectsOfType(objectType), getPaginationParamsFromUrl(request), true);
2252
+ if (loadObjects) {
2253
+ return subSelectProperties(loadObjects, new URL(request.url));
2254
+ }
2255
+ throw new OpenApiCallError(400, InvalidRequest("Invalid Request"));
2256
+ }),
2257
+ /**
2258
+ * List Linked Objects
2259
+ */
2260
+ OntologiesV2_exports2.LinkedObjectsV2.listLinkedObjects(baseUrl, async ({
2261
+ request,
2262
+ params: {
2263
+ primaryKey,
2264
+ linkType,
2265
+ objectType,
2266
+ ontologyApiName
2267
+ }
2268
+ }) => {
2269
+ const linkResults = fauxFoundry.getDataStore(ontologyApiName).getLinksOrThrow(objectType, primaryKey, linkType);
2270
+ const objects = pageThroughResponseSearchParams(linkResults, getPaginationParamsFromUrl(request), true);
2271
+ if (objects) {
2272
+ return subSelectProperties(objects, new URL(request.url));
2273
+ }
2274
+ throw new OpenApiCallError(400, InvalidRequest("Invalid Request"));
2275
+ }),
2276
+ /**
2277
+ * Get specific Linked Object
2278
+ */
2279
+ OntologiesV2_exports2.LinkedObjectsV2.getLinkedObject(baseUrl, async ({
2280
+ request,
2281
+ params: {
2282
+ ontologyApiName,
2283
+ objectType,
2284
+ primaryKey,
2285
+ linkType,
2286
+ targetPrimaryKey
2287
+ }
2288
+ }) => {
2289
+ const object = fauxFoundry.getDataStore(ontologyApiName).getLinkOrThrow(objectType, primaryKey, linkType, targetPrimaryKey);
2290
+ return subSelectPropertiesUrl(object, new URL(request.url));
2291
+ })
2292
+ ];
2293
+
2294
+ // src/handlers/createMediaRefHandlers.ts
2295
+ var createMediaRefHandlers = (baseUrl, fauxFoundry) => [
2296
+ /**
2297
+ * Load media metadata
2298
+ */
2299
+ OntologiesV2_exports2.MediaReferenceProperties.getMediaMetadata(baseUrl, async ({
2300
+ params: {
2301
+ ontologyApiName,
2302
+ objectType,
2303
+ primaryKey,
2304
+ propertyName
2305
+ }
2306
+ }) => {
2307
+ return fauxFoundry.getDataStore(ontologyApiName).getMediaOrThrow(objectType, primaryKey, propertyName).metaData;
2308
+ }),
2309
+ /**
2310
+ * Read media content
2311
+ */
2312
+ OntologiesV2_exports2.MediaReferenceProperties.getMediaContent(baseUrl, async ({
2313
+ params: {
2314
+ ontologyApiName,
2315
+ objectType,
2316
+ primaryKey,
2317
+ propertyName
2318
+ }
2319
+ }) => {
2320
+ const {
2321
+ content,
2322
+ metaData: {
2323
+ mediaType
2324
+ }
2325
+ } = fauxFoundry.getDataStore(ontologyApiName).getMediaOrThrow(objectType, primaryKey, propertyName);
2326
+ return new Response(content, {
2327
+ headers: {
2328
+ "Content-Type": mediaType
2329
+ }
2330
+ });
2331
+ }),
2332
+ OntologiesV2_exports2.MediaReferenceProperties.upload(baseUrl, async ({
2333
+ params: {
2334
+ ontologyApiName,
2335
+ objectType,
2336
+ propertyName
2337
+ },
2338
+ request
2339
+ }) => {
2340
+ const {
2341
+ mediaItemPath
2342
+ } = requireSearchParams(["mediaItemPath"], request);
2343
+ return fauxFoundry.getDataStore(ontologyApiName).registerMedia(objectType, propertyName, await request.arrayBuffer(), request.headers.get("Content-Type") ?? "application/octet-stream", mediaItemPath);
2344
+ })
2345
+ ];
2346
+ var createMultipassServerHandlers = (baseUrl, fauxFoundry) => [msw.http.post(`${baseUrl}/multipass/api/oauth2/token`, async (req) => {
2347
+ const body = await req.request.text();
2348
+ const parsedBody = new URLSearchParams(body);
2349
+ const parsedBodyArray = Array.from(parsedBody.entries());
2350
+ if (parsedBody.get("grant_type") === "client_credentials" && parsedBody.get("client_id") === "myClientId" && parsedBody.get("client_secret") === "myClientSecret" && parsedBody.get("scopes")?.includes("offline_access") && parsedBodyArray.length === 4) {
2351
+ return msw.HttpResponse.json({
2352
+ access_token: "myAccessToken",
2353
+ token_type: "bearer",
2354
+ refresh_token: "myRefreshToken",
2355
+ expires_in: 3600
2356
+ });
2357
+ }
2358
+ if (parsedBody.get("client_id") === "myClientId" && parsedBody.get("grant_type") === "authorization_code" && parsedBody.get("code") === "callBackCode" && parsedBody.get("redirect_uri") === "localhost" && parsedBody.get("code_verifier") === "01020304" && parsedBodyArray.length === 5) {
2359
+ return msw.HttpResponse.json({
2360
+ access_token: "myAccessToken",
2361
+ token_type: "bearer",
2362
+ refresh_token: "myRefreshToken",
2363
+ expires_in: 3600
2364
+ });
2365
+ }
2366
+ if (parsedBody.get("client_id") === "myClientId" && parsedBody.get("grant_type") === "refresh_token" && parsedBody.get("refresh_token") === "myRefreshToken" && parsedBodyArray.length === 3) {
2367
+ return msw.HttpResponse.json({
2368
+ access_token: "refreshedAccessToken",
2369
+ token_type: "bearer",
2370
+ refresh_token: "refreshedRefreshToken",
2371
+ expires_in: 3600
2372
+ });
2373
+ }
2374
+ return msw.HttpResponse.json({
2375
+ message: "Invalid request body"
2376
+ }, {
2377
+ status: 400
2378
+ });
2379
+ }), msw.http.post("https://stack.palantir.com/multipass/api/oauth2/revoke_token", async (req) => {
2380
+ const body = await req.request.text();
2381
+ const parsedBody = new URLSearchParams(body);
2382
+ const parsedBodyArray = Array.from(parsedBody.entries());
2383
+ if (parsedBodyArray.length === 3 && parsedBody.get("client_id") === "myClientId" && parsedBody.get("client_secret") === "myClientSecret" && parsedBody.get("token") === "myAccessToken") {
2384
+ return msw.HttpResponse.json({});
2385
+ }
2386
+ if (parsedBodyArray.length === 2 && parsedBody.get("client_id") === "myClientId" && parsedBody.get("token") === "myAccessToken") {
2387
+ return msw.HttpResponse.json({});
2388
+ }
2389
+ return msw.HttpResponse.json({
2390
+ message: "Invalid request body"
2391
+ }, {
2392
+ status: 400
2393
+ });
2394
+ })];
2395
+
2396
+ // src/handlers/createObjectSetHandlers.ts
2397
+ var createObjectSetHandlers = (baseUrl, fauxFoundry) => [
2398
+ /**
2399
+ * Load ObjectSet Objects
2400
+ */
2401
+ OntologiesV2_exports2.OntologyObjectSets.load(baseUrl, async ({
2402
+ request,
2403
+ params
2404
+ }) => {
2405
+ return fauxFoundry.getDataStore(params.ontologyApiName).getObjectsFromObjectSet(await request.json());
2406
+ }),
2407
+ /**
2408
+ * Aggregate Objects in ObjectSet
2409
+ */
2410
+ OntologiesV2_exports2.OntologyObjectSets.aggregate(baseUrl, async ({
2411
+ request
2412
+ }) => {
2413
+ throw new Error("Not implemented");
2414
+ }),
2415
+ /**
2416
+ * Load interface objectset Objects
2417
+ */
2418
+ OntologiesV2_exports2.OntologyObjectSets.loadMultipleObjectTypes(baseUrl, async ({
2419
+ params,
2420
+ request
2421
+ }) => {
2422
+ const pagedResponse = fauxFoundry.getDataStore(params.ontologyApiName).getObjectsFromObjectSet(await request.json());
2423
+ const objectApiNames = new Set(pagedResponse.data.map((o) => o.__apiName));
2424
+ return {
2425
+ interfaceToObjectTypeMappings: fauxFoundry.getOntology(params.ontologyApiName).getInterfaceToObjectTypeMappings(objectApiNames),
2426
+ ...pagedResponse
2427
+ };
2428
+ })
2429
+ ];
2430
+
2431
+ // src/defaultOntologyMetadata.ts
2432
+ var defaultOntologyMetadata = {
2433
+ apiName: "default-ontology",
2434
+ displayName: "Ontology",
2435
+ description: "The default ontology",
2436
+ rid: "ri.ontology.main.ontology.698267cc-6b48-4d98-beff-29beb24e9361"
2437
+ };
2438
+
2439
+ // src/defaultOntologyForConjure.ts
2440
+ var defaultOntologyForConjure = {
2441
+ apiName: defaultOntologyMetadata.apiName,
2442
+ displayName: defaultOntologyMetadata.displayName,
2443
+ description: defaultOntologyMetadata.description,
2444
+ currentOntologyVersion: "0000000c-aaaa-bbbb-cccc-ddddeeeeffff",
2445
+ defaultBranchRid: "ri.ontology.main.branch.99999999-8888-7777-6666-555555555555"
2446
+ };
2447
+
2448
+ // src/handlers/createOntologyHandlers.ts
2449
+ var createOntologyHandlers = (baseUrl, fauxFoundry) => [
2450
+ /**
2451
+ * Load full Ontology metadata
2452
+ */
2453
+ OntologiesV2_exports2.OntologiesV2.getFullMetadata(baseUrl, async (req) => {
2454
+ return fauxFoundry.getOntology(req.params.ontologyApiName).getOntologyFullMetadata();
2455
+ }),
2456
+ /**
2457
+ * Load ontology metadata for the requested object, link, action, query, and interface types.
2458
+ */
2459
+ OntologiesV2_exports2.OntologiesV2.loadMetadata(baseUrl, async ({
2460
+ params,
2461
+ request
2462
+ }) => {
2463
+ return fauxFoundry.getOntology(params.ontologyApiName).getFilteredOntologyMetadata(await request.json());
2464
+ }),
2465
+ OntologiesV2_exports2.ObjectTypesV2.get(baseUrl, async (req) => {
2466
+ return fauxFoundry.getOntology(req.params.ontologyApiName).getObjectTypeFullMetadataOrThrow(req.params.objectTypeApiName).objectType;
2467
+ }),
2468
+ OntologiesV2_exports2.ObjectTypesV2.getFullMetadata(baseUrl, async (req) => {
2469
+ return fauxFoundry.getOntology(req.params.ontologyApiName).getObjectTypeFullMetadataOrThrow(req.params.objectTypeApiName);
2470
+ }),
2471
+ /**
2472
+ * List ActionTypes
2473
+ */
2474
+ OntologiesV2_exports2.ActionTypesV2.list(baseUrl, async ({
2475
+ params
2476
+ }) => {
2477
+ return {
2478
+ data: fauxFoundry.getOntology(params.ontologyApiName).getAllActionTypes()
2479
+ };
2480
+ }),
2481
+ OntologiesV2_exports2.ActionTypesV2.get(baseUrl, async (req) => {
2482
+ return fauxFoundry.getOntology(req.params.ontologyApiName).getActionDef(req.params.actionTypeApiName);
2483
+ }),
2484
+ OntologiesV2_exports2.QueryTypes.get(baseUrl, async (req) => {
2485
+ const queryParams = Object.fromEntries(new URL(req.request.url).searchParams.entries());
2486
+ const version = queryParams["version"];
2487
+ return fauxFoundry.getOntology(req.params.ontologyApiName).getQueryDef(version ? `${req.params.queryTypeApiName}:${version}` : req.params.queryTypeApiName);
2488
+ }),
2489
+ OntologiesV2_exports2.ObjectTypesV2.getOutgoingLinkType(baseUrl, async ({
2490
+ params
2491
+ }) => {
2492
+ return fauxFoundry.getOntology(params.ontology).getLinkTypeSideV2(params.objectType, params.linkType);
2493
+ }),
2494
+ OntologiesV2_exports2.ObjectTypesV2.listOutgoingLinkTypes(baseUrl, async ({
2495
+ params
2496
+ }) => {
2497
+ return {
2498
+ data: fauxFoundry.getOntology(params.ontology).getObjectTypeFullMetadataOrThrow(params.objectType).linkTypes
2499
+ };
2500
+ }),
2501
+ OntologiesV2_exports2.OntologyInterfaces.list(baseUrl, async (req) => {
2502
+ return {
2503
+ data: fauxFoundry.getOntology(req.params.ontologyApiName).getAllInterfaceTypes()
2504
+ };
2505
+ }),
2506
+ OntologiesV2_exports2.OntologyInterfaces.get(baseUrl, ({
2507
+ params
2508
+ }) => {
2509
+ return fauxFoundry.getOntology(params.ontologyApiName).getInterfaceType(params.interfaceType);
2510
+ }),
2511
+ /**
2512
+ * List ontologies
2513
+ */
2514
+ OntologiesV2_exports2.OntologiesV2.list(baseUrl, async () => {
2515
+ return {
2516
+ data: fauxFoundry.getEveryOntology().map((x) => x.getOntologyFullMetadata().ontology)
2517
+ };
2518
+ }),
2519
+ /**
2520
+ * Get specified Ontology
2521
+ */
2522
+ OntologiesV2_exports2.OntologiesV2.get(baseUrl, async (req) => {
2523
+ return fauxFoundry.getOntology(req.params.ontologyRid).getOntologyFullMetadata().ontology;
2524
+ }),
2525
+ /**
2526
+ * List objectTypes V2
2527
+ */
2528
+ OntologiesV2_exports2.ObjectTypesV2.list(baseUrl, async (req) => {
2529
+ return {
2530
+ data: fauxFoundry.getOntology(req.params.ontologyApiName).getAllObjectTypes().map((x) => x.objectType)
2531
+ };
2532
+ }),
2533
+ /**
2534
+ * List Queries
2535
+ */
2536
+ OntologiesV2_exports2.QueryTypes.list(baseUrl, async (req) => {
2537
+ return {
2538
+ data: fauxFoundry.getOntology(req.params.ontologyApiName).getAllQueryTypes()
2539
+ };
2540
+ })
2541
+ ];
2542
+ [msw.http.post(`https://stack.palantir.com/ontology-metadata/api/ontology/ontology/ontologies/load/all`, authHandlerMiddleware(async () => {
2543
+ return msw.HttpResponse.json({
2544
+ ontologies: {
2545
+ "ri.ontology.main.ontology.f34bca54-eb0f-41ad-84f0-d562d9f2763a": {
2546
+ apiName: "ontology-migration-source",
2547
+ displayName: "Ontology Migration Test Source",
2548
+ description: "",
2549
+ currentOntologyVersion: "0000000c-040d-f49d-b7e8-79fa53caacf5",
2550
+ defaultBranchRid: "ri.ontology.main.branch.122438ac-a6b7-46e9-825f-6c911ffff857"
2551
+ },
2552
+ [defaultOntologyMetadata.rid]: defaultOntologyForConjure
2553
+ }
2554
+ });
2555
+ }))];
2556
+ var createQueryHandlers = (baseUrl, fauxFoundry) => [
2557
+ /**
2558
+ * Execute Queries
2559
+ */
2560
+ OntologiesV2_exports2.Queries.execute(baseUrl, async ({
2561
+ request,
2562
+ params: {
2563
+ ontologyApiName,
2564
+ queryApiName
2565
+ }
2566
+ }) => {
2567
+ const queryParams = Object.fromEntries(new URL(request.url).searchParams.entries());
2568
+ const version = queryParams["version"];
2569
+ if (!semver.valid(version)) {
2570
+ throw new Error(`Invalid version "${version}" for query "${queryApiName}" in ontology "${ontologyApiName}: not semver compatible".`);
2571
+ }
2572
+ const queryImpl = fauxFoundry.getOntology(ontologyApiName).getQueryImpl(queryApiName, version);
2573
+ return queryImpl(await request.json(), fauxFoundry.getDataStore(ontologyApiName));
2574
+ })
2575
+ ];
2576
+
2577
+ // src/handlers/createTimeseriesAndGeotimeHandlers.ts
2578
+ var createTimeseriesAndGeotimeHandlers = (baseUrl, fauxFoundry) => [
2579
+ /**
2580
+ * Load firstPoint
2581
+ */
2582
+ OntologiesV2_exports2.TimeSeriesPropertiesV2.getFirstPoint(baseUrl, async ({
2583
+ params: {
2584
+ objectType,
2585
+ ontologyApiName,
2586
+ primaryKey,
2587
+ propertyName
2588
+ }
2589
+ }) => {
2590
+ return fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName).at(0);
2591
+ }),
2592
+ /**
2593
+ * Load lastPoint
2594
+ */
2595
+ OntologiesV2_exports2.TimeSeriesPropertiesV2.getLastPoint(baseUrl, async ({
2596
+ params: {
2597
+ objectType,
2598
+ ontologyApiName,
2599
+ primaryKey,
2600
+ propertyName
2601
+ }
2602
+ }) => {
2603
+ return fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName).at(-1);
2604
+ }),
2605
+ /**
2606
+ * stream points
2607
+ */
2608
+ OntologiesV2_exports2.TimeSeriesPropertiesV2.streamPoints(baseUrl, async ({
2609
+ request,
2610
+ params: {
2611
+ objectType,
2612
+ ontologyApiName,
2613
+ primaryKey,
2614
+ propertyName
2615
+ }
2616
+ }) => {
2617
+ return Response.json(fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName, await request.json()));
2618
+ }),
2619
+ /**
2620
+ * Load latestValue
2621
+ */
2622
+ OntologiesV2_exports2.TimeSeriesValueBankProperties.getLatestValue(baseUrl, async ({
2623
+ params: {
2624
+ objectType,
2625
+ ontologyApiName,
2626
+ primaryKey,
2627
+ propertyName
2628
+ }
2629
+ }) => {
2630
+ const ret = fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName).at(-1);
2631
+ if (!ret) {
2632
+ throw new OpenApiCallError(400, InvalidRequest("Invalid request"));
2633
+ }
2634
+ return ret;
2635
+ }),
2636
+ /**
2637
+ * stream values
2638
+ */
2639
+ OntologiesV2_exports2.TimeSeriesValueBankProperties.streamValues(baseUrl, async ({
2640
+ request,
2641
+ params: {
2642
+ objectType,
2643
+ ontologyApiName,
2644
+ primaryKey,
2645
+ propertyName
2646
+ }
2647
+ }) => {
2648
+ return Response.json(fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName, await request.json()));
2649
+ })
2650
+ ];
2651
+
2652
+ // src/handlers/createFauxFoundryHandlers.ts
2653
+ function createFauxFoundryHandlers(baseUrl, fauxFoundry) {
2654
+ return [createMultipassServerHandlers, createActionHandlers, createObjectSetHandlers, createOntologyHandlers, createQueryHandlers, createLoadObjectsHandlers, createTimeseriesAndGeotimeHandlers, createAttachmentHandlers, createMediaRefHandlers].flatMap((x) => x(baseUrl, fauxFoundry));
2655
+ }
2656
+
2657
+ // src/FauxFoundry/FauxAttachmentStore.ts
2658
+ var FauxAttachmentStore = class {
2659
+ #attachments = /* @__PURE__ */ new Map();
2660
+ registerAttachment(attachment) {
2661
+ this.#attachments.set(attachment.rid, attachment);
2662
+ return this.getAttachmentMetadataByRid(attachment.rid);
2663
+ }
2664
+ getAttachmentMetadataByRid(attachmentRid) {
2665
+ const attachment = this.#attachments.get(attachmentRid);
2666
+ if (!attachment) {
2667
+ throw new OpenApiCallError(404, {
2668
+ errorCode: "NOT_FOUND",
2669
+ errorName: "AttachmentNotFound",
2670
+ errorInstanceId: "internal",
2671
+ parameters: {
2672
+ attachmentRid
2673
+ }
2674
+ });
2675
+ }
2676
+ const {
2677
+ buffer,
2678
+ ...metadata
2679
+ } = attachment;
2680
+ return {
2681
+ ...metadata,
2682
+ sizeBytes: String(buffer.byteLength)
2683
+ };
2684
+ }
2685
+ getAttachmentBuffer(attachmentRid) {
2686
+ const attachment = this.#attachments.get(attachmentRid);
2687
+ if (!attachment) {
2688
+ throw new OpenApiCallError(404, {
2689
+ errorCode: "NOT_FOUND",
2690
+ errorName: "AttachmentNotFound",
2691
+ errorInstanceId: "internal",
2692
+ parameters: {
2693
+ attachmentRid
2694
+ }
2695
+ });
2696
+ }
2697
+ return attachment.buffer;
2698
+ }
2699
+ };
2700
+ var FauxOntology = class {
2701
+ #ontology;
2702
+ #actionImpl = /* @__PURE__ */ new Map();
2703
+ #queryImpl = /* @__PURE__ */ new Map();
2704
+ constructor(ontology) {
2705
+ this.#ontology = {
2706
+ actionTypes: {},
2707
+ interfaceTypes: {},
2708
+ objectTypes: {},
2709
+ ontology,
2710
+ queryTypes: {},
2711
+ sharedPropertyTypes: {}
2712
+ };
2713
+ }
2714
+ get apiName() {
2715
+ return this.#ontology.ontology.apiName;
2716
+ }
2717
+ getOntologyFullMetadata() {
2718
+ return this.#ontology;
2719
+ }
2720
+ getFilteredOntologyMetadata(request) {
2721
+ return {
2722
+ ontology: this.#ontology.ontology,
2723
+ objectTypes: Object.fromEntries(Object.entries(this.#ontology.objectTypes).filter(([objectType]) => request.objectTypes.includes(objectType)).map(([objectTypeApiName, objectTypeDefinition]) => [objectTypeApiName, {
2724
+ ...objectTypeDefinition,
2725
+ linkTypes: objectTypeDefinition.linkTypes.filter((linkType) => request.linkTypes.includes(linkType.apiName))
2726
+ }])),
2727
+ actionTypes: filterRecord(this.#ontology.actionTypes, request.actionTypes),
2728
+ queryTypes: this.#getFilteredQueryTypes(request),
2729
+ interfaceTypes: filterRecord(this.#ontology.interfaceTypes, request.interfaceTypes),
2730
+ sharedPropertyTypes: {}
2731
+ };
2732
+ }
2733
+ getAllInterfaceTypes() {
2734
+ return Object.values(this.#ontology.interfaceTypes);
2735
+ }
2736
+ getAllObjectTypes() {
2737
+ return Object.values(this.#ontology.objectTypes);
2738
+ }
2739
+ getAllActionTypes() {
2740
+ return Object.values(this.#ontology.actionTypes);
2741
+ }
2742
+ getAllQueryTypes() {
2743
+ return Object.values(this.#ontology.queryTypes);
2744
+ }
2745
+ getInterfaceType(interfaceType) {
2746
+ const ret = this.#ontology.interfaceTypes[interfaceType];
2747
+ if (ret === void 0) {
2748
+ throw new OpenApiCallError(404, ObjectNotFoundError(interfaceType, ""));
2749
+ }
2750
+ return this.#ontology.interfaceTypes[interfaceType];
2751
+ }
2752
+ getObjectTypeFullMetadata(objectTypeApiName) {
2753
+ return this.#ontology.objectTypes[objectTypeApiName];
2754
+ }
2755
+ getObjectTypeFullMetadataOrThrow(objectTypeApiName) {
2756
+ const objectType = this.#ontology.objectTypes[objectTypeApiName];
2757
+ if (objectType === void 0) {
2758
+ throw new OpenApiCallError(404, ObjectTypeDoesNotExistError(objectTypeApiName));
2759
+ }
2760
+ return objectType;
2761
+ }
2762
+ getActionDef(actionTypeApiName) {
2763
+ const actionType = this.#ontology.actionTypes[actionTypeApiName];
2764
+ if (actionType === void 0) {
2765
+ throw new OpenApiCallError(404, ActionNotFoundError());
2766
+ }
2767
+ return actionType;
2768
+ }
2769
+ getActionImpl(actionTypeApiName) {
2770
+ const impl = this.#actionImpl.get(actionTypeApiName);
2771
+ !impl ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Action implementation not found for " + actionTypeApiName) : invariant4__default.default(false) : void 0;
2772
+ return impl;
2773
+ }
2774
+ getQueryDef(queryTypeApiNameAndVersion) {
2775
+ const queryType = this.#ontology.queryTypes[this.#convertToVersionedApiName(queryTypeApiNameAndVersion)];
2776
+ if (queryType === void 0) {
2777
+ throw new OpenApiCallError(404, QueryNotFoundError(queryTypeApiNameAndVersion));
2778
+ }
2779
+ return queryType;
2780
+ }
2781
+ getQueryImpl(queryTypeApiName, version) {
2782
+ const versionMap = this.#queryImpl.get(queryTypeApiName);
2783
+ const impl = version !== void 0 ? versionMap?.get(version) : versionMap?.get(semver__default.default.rsort(Array.from(versionMap.keys() ?? []))[0]);
2784
+ if (!impl) {
2785
+ throw new OpenApiCallError(404, QueryNotFoundError(queryTypeApiName));
2786
+ }
2787
+ !impl ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Query implementation not found for " + queryTypeApiName) : invariant4__default.default(false) : void 0;
2788
+ return impl;
2789
+ }
2790
+ getInterfaceToObjectTypeMappings(objectApiNames) {
2791
+ const objectDefs = Array.from(objectApiNames).map((apiName) => this.getObjectTypeFullMetadataOrThrow(apiName));
2792
+ const ifaceToObjMap = {};
2793
+ for (const objDef of objectDefs) {
2794
+ for (const [ifaceApiName, {
2795
+ properties
2796
+ }] of Object.entries(objDef.implementsInterfaces2)) {
2797
+ if (ifaceToObjMap[ifaceApiName] === void 0) {
2798
+ ifaceToObjMap[ifaceApiName] = {};
2799
+ }
2800
+ ifaceToObjMap[ifaceApiName][objDef.objectType.apiName] = properties;
2801
+ }
2802
+ }
2803
+ return ifaceToObjMap;
2804
+ }
2805
+ getLinkTypeSideV2(objectTypeApiName, linkTypeName) {
2806
+ const objectType = this.getObjectTypeFullMetadataOrThrow(objectTypeApiName);
2807
+ const linkType = objectType.linkTypes.find((a) => a.apiName === linkTypeName);
2808
+ if (linkType === void 0) {
2809
+ throw new OpenApiCallError(404, LinkTypeNotFound(objectTypeApiName, linkTypeName));
2810
+ }
2811
+ return linkType;
2812
+ }
2813
+ getOtherLinkTypeSideV2OrThrow(objectTypeApiName, linkTypeName) {
2814
+ const thisSideLink = this.getLinkTypeSideV2(objectTypeApiName, linkTypeName);
2815
+ const otherObj = this.getObjectTypeFullMetadataOrThrow(thisSideLink.objectTypeApiName);
2816
+ const candidates = otherObj.linkTypes.filter((l) => l.linkTypeRid === thisSideLink.linkTypeRid);
2817
+ if (otherObj.objectType.apiName !== objectTypeApiName) {
2818
+ !(candidates.length === 1) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Expected only one candidate link type") : invariant4__default.default(false) : void 0;
2819
+ return candidates[0];
2820
+ }
2821
+ if (candidates.length === 1) {
2822
+ return candidates[0];
2823
+ }
2824
+ !(candidates.length === 2) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Expected only two candidate link types") : invariant4__default.default(false) : void 0;
2825
+ const candidate = candidates.find((l) => l.apiName !== thisSideLink.apiName);
2826
+ !candidate ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Expected to find a candidate link type that is not the same as the one passed in") : invariant4__default.default(false) : void 0;
2827
+ return candidate;
2828
+ }
2829
+ getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType) {
2830
+ const leftTypeSideV2 = this.getLinkTypeSideV2(leftObjectType, leftLinkName);
2831
+ !(rightObjectType === leftTypeSideV2.objectTypeApiName) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
2832
+ const rightTypeSideV2 = this.getOtherLinkTypeSideV2OrThrow(leftObjectType, leftLinkName);
2833
+ return [leftTypeSideV2, rightTypeSideV2];
2834
+ }
2835
+ registerObjectType(def) {
2836
+ if (def.objectType.apiName in this.#ontology.objectTypes) {
2837
+ throw new Error(`ObjectType ${def.objectType.apiName} already registered`);
2838
+ }
2839
+ this.#ontology.objectTypes[def.objectType.apiName] = def;
2840
+ }
2841
+ registerActionType(def, implementation) {
2842
+ if (def.apiName in this.#ontology.actionTypes) {
2843
+ throw new Error(`ActionType ${def.apiName} already registered`);
2844
+ }
2845
+ this.#ontology.actionTypes[def.apiName] = def;
2846
+ if (implementation) {
2847
+ this.#actionImpl.set(def.apiName, implementation);
2848
+ }
2849
+ }
2850
+ registerQueryType(def, implementation) {
2851
+ if (`${def.apiName}:${def.version}` in this.#ontology.queryTypes) {
2852
+ throw new Error(`QueryType ${def.apiName} already registered`);
2853
+ }
2854
+ this.#ontology.queryTypes[`${def.apiName}:${def.version}`] = def;
2855
+ if (implementation) {
2856
+ if (!this.#queryImpl.has(def.apiName)) {
2857
+ this.#queryImpl.set(def.apiName, /* @__PURE__ */ new Map());
2858
+ }
2859
+ if (!semver.valid(def.version)) {
2860
+ throw new Error(`QueryType ${def.apiName} version ${def.version} is not semver valid`);
2861
+ }
2862
+ this.#queryImpl.get(def.apiName)?.set(def.version, implementation);
2863
+ }
2864
+ }
2865
+ registerInterfaceType(def) {
2866
+ if (def.apiName in this.#ontology.interfaceTypes) {
2867
+ throw new Error(`InterfaceType ${def.apiName} already registered`);
2868
+ }
2869
+ this.#ontology.interfaceTypes[def.apiName] = def;
2870
+ }
2871
+ registerSharedPropertyType(def) {
2872
+ if (def.apiName in this.#ontology.sharedPropertyTypes) {
2873
+ throw new Error(`SharedPropertyType ${def.apiName} already registered`);
2874
+ }
2875
+ this.#ontology.sharedPropertyTypes[def.apiName] = def;
2876
+ }
2877
+ #getFilteredQueryTypes(request) {
2878
+ const remappedQueryTypes = request.queryTypes.map((x) => this.#convertToVersionedApiName(x));
2879
+ return Object.fromEntries(Object.entries(this.#ontology.queryTypes).filter(([queryTypeApiName]) => remappedQueryTypes.includes(queryTypeApiName)).map(([queryTypeApiName, queryTypeDefinition]) => [request.queryTypes[remappedQueryTypes.indexOf(queryTypeApiName)], queryTypeDefinition]));
2880
+ }
2881
+ #convertToVersionedApiName(apiName) {
2882
+ if (extractVersion(apiName) !== void 0) {
2883
+ return apiName;
2884
+ }
2885
+ const version = semver__default.default.rsort(Object.keys(this.#ontology.queryTypes).filter((queryTypeApiName) => queryTypeApiName.startsWith(apiName)).map((x) => extractVersion(x)))[0];
2886
+ return `${apiName}:${version}`;
2887
+ }
2888
+ };
2889
+ function filterRecord(record, keys) {
2890
+ return Object.fromEntries(Object.entries(record).filter(([key]) => keys.includes(key)));
2891
+ }
2892
+ function extractVersion(apiName) {
2893
+ return apiName.split(":")[1];
2894
+ }
2895
+
2896
+ // src/FauxFoundry/FauxFoundry.ts
2897
+ var FauxFoundry = class {
2898
+ #ontologiesByRid = /* @__PURE__ */ new Map();
2899
+ #ontologiesByApiName = /* @__PURE__ */ new Map();
2900
+ #dataStoresByOntologyApiName = /* @__PURE__ */ new Map();
2901
+ #handlers;
2902
+ attachments = new FauxAttachmentStore();
2903
+ constructor(baseUrl, defaultOntology = {
2904
+ apiName: "default-ontology",
2905
+ displayName: "Ontology",
2906
+ description: "The default ontology",
2907
+ rid: `ri.ontology.main.ontology.${crypto__namespace.randomUUID()}`
2908
+ }, {
2909
+ logger
2910
+ } = {}) {
2911
+ this.baseUrl = baseUrl;
2912
+ this.#handlers = createFauxFoundryHandlers(baseUrl, this);
2913
+ this.createOntology(defaultOntology);
2914
+ this.defaultOntologyRid = defaultOntology.rid;
2915
+ this.logger = logger;
2916
+ }
2917
+ get handlers() {
2918
+ return this.#handlers;
2919
+ }
2920
+ getDefaultOntology() {
2921
+ return this.getOntology(this.defaultOntologyRid);
2922
+ }
2923
+ getDefaultDataStore() {
2924
+ return this.getDataStore(this.defaultOntologyRid);
2925
+ }
2926
+ createOntology(metadata) {
2927
+ const ret = new FauxOntology(metadata);
2928
+ this.registerOntology(ret);
2929
+ return ret;
2930
+ }
2931
+ registerOntology(ontology) {
2932
+ this.#ontologiesByApiName.set(ontology.getOntologyFullMetadata().ontology.apiName, ontology);
2933
+ this.#ontologiesByRid.set(ontology.getOntologyFullMetadata().ontology.rid, ontology);
2934
+ }
2935
+ getOntology(ontologyApiNameOrRid) {
2936
+ const ontology = this.#ontologiesByApiName.get(ontologyApiNameOrRid) ?? this.#ontologiesByRid.get(ontologyApiNameOrRid);
2937
+ if (!ontology) {
2938
+ throw new OpenApiCallError(404, OntologyNotFoundError(ontologyApiNameOrRid));
2939
+ }
2940
+ return ontology;
2941
+ }
2942
+ setDataStore(ontologyApiNameOrRid, fauxDataStore) {
2943
+ const ontology = this.getOntology(ontologyApiNameOrRid);
2944
+ this.#dataStoresByOntologyApiName.set(ontology.apiName, fauxDataStore);
2945
+ }
2946
+ getDataStore(ontologyApiNameOrRid) {
2947
+ const ontology = this.getOntology(ontologyApiNameOrRid);
2948
+ const dataStore = this.#dataStoresByOntologyApiName.get(ontology.apiName);
2949
+ if (!dataStore) {
2950
+ const ret = new FauxDataStore(ontology, this.attachments);
2951
+ this.setDataStore(ontologyApiNameOrRid, ret);
2952
+ return ret;
2953
+ }
2954
+ return dataStore;
2955
+ }
2956
+ getEveryOntology() {
2957
+ return Object.values(this.#ontologiesByApiName);
2958
+ }
2959
+ };
2960
+
2961
+ // src/withoutRid.ts
2962
+ function withoutRid(o) {
2963
+ const {
2964
+ __rid,
2965
+ ...r
2966
+ } = o;
2967
+ return r;
2968
+ }
2969
+
2970
+ exports.msw = msw__namespace;
2971
+ exports.Errors = errors_exports;
2972
+ exports.FauxDataStore = FauxDataStore;
2973
+ exports.FauxDataStoreBatch = FauxDataStoreBatch;
2974
+ exports.FauxFoundry = FauxFoundry;
2975
+ exports.FauxOntology = FauxOntology;
2976
+ exports.MockOntologiesV2 = OntologiesV2_exports2;
2977
+ exports.OpenApiCallError = OpenApiCallError;
2978
+ exports.TypeHelpers = typeHelpers_exports;
2979
+ exports.authHandlerMiddleware = authHandlerMiddleware;
2980
+ exports.isBaseApiError = isBaseApiError;
2981
+ exports.withoutRid = withoutRid;
2982
+ //# sourceMappingURL=index.cjs.map
2983
+ //# sourceMappingURL=index.cjs.map