@itwin/core-backend 5.0.0-dev.99 → 5.1.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/BackendHubAccess.js.map +1 -1
  3. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  4. package/lib/cjs/BisCoreSchema.js.map +1 -1
  5. package/lib/cjs/BlobContainerService.js.map +1 -1
  6. package/lib/cjs/BriefcaseManager.js.map +1 -1
  7. package/lib/cjs/CatalogDb.d.ts +103 -0
  8. package/lib/cjs/CatalogDb.d.ts.map +1 -0
  9. package/lib/cjs/CatalogDb.js +271 -0
  10. package/lib/cjs/CatalogDb.js.map +1 -0
  11. package/lib/cjs/Category.js.map +1 -1
  12. package/lib/cjs/ChangeSummaryManager.js +2 -2
  13. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  14. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  15. package/lib/cjs/ChangesetECAdaptor.js +242 -242
  16. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  17. package/lib/cjs/ChannelControl.js.map +1 -1
  18. package/lib/cjs/CheckpointManager.d.ts +12 -10
  19. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  20. package/lib/cjs/CheckpointManager.js +17 -41
  21. package/lib/cjs/CheckpointManager.js.map +1 -1
  22. package/lib/cjs/ClassRegistry.js +5 -5
  23. package/lib/cjs/ClassRegistry.js.map +1 -1
  24. package/lib/cjs/CloudSqlite.d.ts +104 -20
  25. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  26. package/lib/cjs/CloudSqlite.js +157 -46
  27. package/lib/cjs/CloudSqlite.js.map +1 -1
  28. package/lib/cjs/CodeService.js.map +1 -1
  29. package/lib/cjs/CodeSpecs.js.map +1 -1
  30. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  31. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  32. package/lib/cjs/DevTools.js.map +1 -1
  33. package/lib/cjs/DisplayStyle.js.map +1 -1
  34. package/lib/cjs/ECDb.js.map +1 -1
  35. package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
  36. package/lib/cjs/ECSchemaXmlContext.js +1 -1
  37. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  38. package/lib/cjs/ECSqlStatement.js.map +1 -1
  39. package/lib/cjs/Element.js.map +1 -1
  40. package/lib/cjs/ElementAspect.js.map +1 -1
  41. package/lib/cjs/ElementGraphics.js.map +1 -1
  42. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  43. package/lib/cjs/Entity.d.ts +8 -4
  44. package/lib/cjs/Entity.d.ts.map +1 -1
  45. package/lib/cjs/Entity.js +3 -3
  46. package/lib/cjs/Entity.js.map +1 -1
  47. package/lib/cjs/EntityReferences.js.map +1 -1
  48. package/lib/cjs/ExportGraphics.js.map +1 -1
  49. package/lib/cjs/ExternalSource.js.map +1 -1
  50. package/lib/cjs/FontFile.js.map +1 -1
  51. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  52. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  53. package/lib/cjs/GeometrySummary.js +47 -47
  54. package/lib/cjs/GeometrySummary.js.map +1 -1
  55. package/lib/cjs/IModelDb.d.ts +6 -1
  56. package/lib/cjs/IModelDb.d.ts.map +1 -1
  57. package/lib/cjs/IModelDb.js +22 -15
  58. package/lib/cjs/IModelDb.js.map +1 -1
  59. package/lib/cjs/IModelDbFonts.js.map +1 -1
  60. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  61. package/lib/cjs/IModelHost.d.ts +1 -1
  62. package/lib/cjs/IModelHost.js +1 -1
  63. package/lib/cjs/IModelHost.js.map +1 -1
  64. package/lib/cjs/IModelJsFs.js.map +1 -1
  65. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  66. package/lib/cjs/IpcHost.js.map +1 -1
  67. package/lib/cjs/LineStyle.js.map +1 -1
  68. package/lib/cjs/LocalHub.js +1 -1
  69. package/lib/cjs/LocalHub.js.map +1 -1
  70. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  71. package/lib/cjs/LockControl.js.map +1 -1
  72. package/lib/cjs/Material.js.map +1 -1
  73. package/lib/cjs/Model.js.map +1 -1
  74. package/lib/cjs/NativeAppStorage.js.map +1 -1
  75. package/lib/cjs/NativeHost.d.ts.map +1 -1
  76. package/lib/cjs/NativeHost.js +4 -1
  77. package/lib/cjs/NativeHost.js.map +1 -1
  78. package/lib/cjs/NavigationRelationship.js.map +1 -1
  79. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  80. package/lib/cjs/PropertyStore.js.map +1 -1
  81. package/lib/cjs/Relationship.js.map +1 -1
  82. package/lib/cjs/RpcBackend.js.map +1 -1
  83. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  84. package/lib/cjs/SQLiteDb.js +5 -4
  85. package/lib/cjs/SQLiteDb.js.map +1 -1
  86. package/lib/cjs/Schema.js.map +1 -1
  87. package/lib/cjs/SchemaSync.js.map +1 -1
  88. package/lib/cjs/SchemaUtils.js.map +1 -1
  89. package/lib/cjs/SheetIndex.js.map +1 -1
  90. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  91. package/lib/cjs/SqliteStatement.js.map +1 -1
  92. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  93. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  94. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  95. package/lib/cjs/Texture.js.map +1 -1
  96. package/lib/cjs/TileStorage.js.map +1 -1
  97. package/lib/cjs/TxnManager.js.map +1 -1
  98. package/lib/cjs/ViewDefinition.js.map +1 -1
  99. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  100. package/lib/cjs/ViewStore.d.ts.map +1 -1
  101. package/lib/cjs/ViewStore.js +27 -27
  102. package/lib/cjs/ViewStore.js.map +1 -1
  103. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  104. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  105. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  106. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  107. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  108. package/lib/cjs/core-backend.d.ts +1 -1
  109. package/lib/cjs/core-backend.d.ts.map +1 -1
  110. package/lib/cjs/core-backend.js +1 -1
  111. package/lib/cjs/core-backend.js.map +1 -1
  112. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  113. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  114. package/lib/cjs/domains/GenericElements.js.map +1 -1
  115. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  116. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  117. package/lib/cjs/internal/ChannelAdmin.js +4 -4
  118. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  119. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  120. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +4 -5
  121. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  122. package/lib/cjs/{HubMock.js → internal/HubMock.js} +22 -11
  123. package/lib/cjs/internal/HubMock.js.map +1 -0
  124. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  125. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  126. package/lib/cjs/internal/NoLocks.js.map +1 -1
  127. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  128. package/lib/cjs/internal/Symbols.d.ts +1 -2
  129. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  130. package/lib/cjs/internal/Symbols.js +2 -3
  131. package/lib/cjs/internal/Symbols.js.map +1 -1
  132. package/lib/cjs/internal/cross-package.js.map +1 -1
  133. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  134. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  135. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
  136. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  137. package/lib/cjs/internal/workspace/WorkspaceImpl.js +35 -104
  138. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  139. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  140. package/lib/cjs/rpc/multipart.js.map +1 -1
  141. package/lib/cjs/rpc/tracing.js.map +1 -1
  142. package/lib/cjs/rpc/web/logging.js.map +1 -1
  143. package/lib/cjs/rpc/web/request.js.map +1 -1
  144. package/lib/cjs/rpc/web/response.js.map +1 -1
  145. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  146. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  147. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  148. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  149. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  150. package/lib/cjs/workspace/Settings.js.map +1 -1
  151. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  152. package/lib/cjs/workspace/Workspace.d.ts +6 -13
  153. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  154. package/lib/cjs/workspace/Workspace.js.map +1 -1
  155. package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
  156. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  157. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  158. package/lib/esm/BackendHubAccess.js.map +1 -1
  159. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  160. package/lib/esm/BisCoreSchema.js.map +1 -1
  161. package/lib/esm/BlobContainerService.js.map +1 -1
  162. package/lib/esm/BriefcaseManager.js.map +1 -1
  163. package/lib/esm/CatalogDb.d.ts +103 -0
  164. package/lib/esm/CatalogDb.d.ts.map +1 -0
  165. package/lib/esm/CatalogDb.js +267 -0
  166. package/lib/esm/CatalogDb.js.map +1 -0
  167. package/lib/esm/Category.js.map +1 -1
  168. package/lib/esm/ChangeSummaryManager.js +2 -2
  169. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  170. package/lib/esm/ChangedElementsDb.js.map +1 -1
  171. package/lib/esm/ChangesetECAdaptor.js +242 -242
  172. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  173. package/lib/esm/ChannelControl.js.map +1 -1
  174. package/lib/esm/CheckpointManager.d.ts +12 -10
  175. package/lib/esm/CheckpointManager.d.ts.map +1 -1
  176. package/lib/esm/CheckpointManager.js +18 -42
  177. package/lib/esm/CheckpointManager.js.map +1 -1
  178. package/lib/esm/ClassRegistry.js +5 -5
  179. package/lib/esm/ClassRegistry.js.map +1 -1
  180. package/lib/esm/CloudSqlite.d.ts +104 -20
  181. package/lib/esm/CloudSqlite.d.ts.map +1 -1
  182. package/lib/esm/CloudSqlite.js +157 -46
  183. package/lib/esm/CloudSqlite.js.map +1 -1
  184. package/lib/esm/CodeService.js.map +1 -1
  185. package/lib/esm/CodeSpecs.js.map +1 -1
  186. package/lib/esm/ConcurrentQuery.js.map +1 -1
  187. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  188. package/lib/esm/DevTools.js.map +1 -1
  189. package/lib/esm/DisplayStyle.js.map +1 -1
  190. package/lib/esm/ECDb.js.map +1 -1
  191. package/lib/esm/ECSchemaXmlContext.d.ts +1 -1
  192. package/lib/esm/ECSchemaXmlContext.js +1 -1
  193. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  194. package/lib/esm/ECSqlStatement.js.map +1 -1
  195. package/lib/esm/Element.js.map +1 -1
  196. package/lib/esm/ElementAspect.js.map +1 -1
  197. package/lib/esm/ElementGraphics.js.map +1 -1
  198. package/lib/esm/ElementTreeWalker.js.map +1 -1
  199. package/lib/esm/Entity.d.ts +8 -4
  200. package/lib/esm/Entity.d.ts.map +1 -1
  201. package/lib/esm/Entity.js +3 -3
  202. package/lib/esm/Entity.js.map +1 -1
  203. package/lib/esm/EntityReferences.js.map +1 -1
  204. package/lib/esm/ExportGraphics.js.map +1 -1
  205. package/lib/esm/ExternalSource.js.map +1 -1
  206. package/lib/esm/FontFile.js.map +1 -1
  207. package/lib/esm/GeoCoordConfig.js.map +1 -1
  208. package/lib/esm/GeographicCRSServices.js.map +1 -1
  209. package/lib/esm/GeometrySummary.js +47 -47
  210. package/lib/esm/GeometrySummary.js.map +1 -1
  211. package/lib/esm/IModelDb.d.ts +6 -1
  212. package/lib/esm/IModelDb.d.ts.map +1 -1
  213. package/lib/esm/IModelDb.js +22 -15
  214. package/lib/esm/IModelDb.js.map +1 -1
  215. package/lib/esm/IModelDbFonts.js.map +1 -1
  216. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  217. package/lib/esm/IModelHost.d.ts +1 -1
  218. package/lib/esm/IModelHost.js +1 -1
  219. package/lib/esm/IModelHost.js.map +1 -1
  220. package/lib/esm/IModelJsFs.js.map +1 -1
  221. package/lib/esm/ImageSourceConversion.js.map +1 -1
  222. package/lib/esm/IpcHost.js.map +1 -1
  223. package/lib/esm/LineStyle.js.map +1 -1
  224. package/lib/esm/LocalHub.js +1 -1
  225. package/lib/esm/LocalHub.js.map +1 -1
  226. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  227. package/lib/esm/LockControl.js.map +1 -1
  228. package/lib/esm/Material.js.map +1 -1
  229. package/lib/esm/Model.js.map +1 -1
  230. package/lib/esm/NativeAppStorage.js.map +1 -1
  231. package/lib/esm/NativeHost.d.ts.map +1 -1
  232. package/lib/esm/NativeHost.js +4 -1
  233. package/lib/esm/NativeHost.js.map +1 -1
  234. package/lib/esm/NavigationRelationship.js.map +1 -1
  235. package/lib/esm/PromiseMemoizer.js.map +1 -1
  236. package/lib/esm/PropertyStore.js.map +1 -1
  237. package/lib/esm/Relationship.js.map +1 -1
  238. package/lib/esm/RpcBackend.js.map +1 -1
  239. package/lib/esm/SQLiteDb.d.ts.map +1 -1
  240. package/lib/esm/SQLiteDb.js +5 -4
  241. package/lib/esm/SQLiteDb.js.map +1 -1
  242. package/lib/esm/Schema.js.map +1 -1
  243. package/lib/esm/SchemaSync.js.map +1 -1
  244. package/lib/esm/SchemaUtils.js.map +1 -1
  245. package/lib/esm/SheetIndex.js.map +1 -1
  246. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  247. package/lib/esm/SqliteStatement.js.map +1 -1
  248. package/lib/esm/TextAnnotationElement.js.map +1 -1
  249. package/lib/esm/TextAnnotationGeometry.js.map +1 -1
  250. package/lib/esm/TextAnnotationLayout.js.map +1 -1
  251. package/lib/esm/Texture.js.map +1 -1
  252. package/lib/esm/TileStorage.js.map +1 -1
  253. package/lib/esm/TxnManager.js.map +1 -1
  254. package/lib/esm/ViewDefinition.js.map +1 -1
  255. package/lib/esm/ViewStateHydrator.js.map +1 -1
  256. package/lib/esm/ViewStore.d.ts.map +1 -1
  257. package/lib/esm/ViewStore.js +28 -28
  258. package/lib/esm/ViewStore.js.map +1 -1
  259. package/lib/esm/core-backend.d.ts +1 -1
  260. package/lib/esm/core-backend.d.ts.map +1 -1
  261. package/lib/esm/core-backend.js +1 -1
  262. package/lib/esm/core-backend.js.map +1 -1
  263. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  264. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  265. package/lib/esm/domains/GenericElements.js.map +1 -1
  266. package/lib/esm/domains/GenericSchema.js.map +1 -1
  267. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  268. package/lib/esm/internal/ChannelAdmin.js +5 -5
  269. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  270. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  271. package/lib/esm/{HubMock.d.ts → internal/HubMock.d.ts} +4 -5
  272. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  273. package/lib/esm/{HubMock.js → internal/HubMock.js} +22 -11
  274. package/lib/esm/internal/HubMock.js.map +1 -0
  275. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  276. package/lib/esm/internal/NativePlatform.js.map +1 -1
  277. package/lib/esm/internal/NoLocks.js.map +1 -1
  278. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  279. package/lib/esm/internal/Symbols.d.ts +1 -2
  280. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  281. package/lib/esm/internal/Symbols.js +1 -2
  282. package/lib/esm/internal/Symbols.js.map +1 -1
  283. package/lib/esm/internal/cross-package.js.map +1 -1
  284. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  285. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  286. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +2 -16
  287. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  288. package/lib/esm/internal/workspace/WorkspaceImpl.js +36 -100
  289. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  290. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  291. package/lib/esm/rpc/multipart.js.map +1 -1
  292. package/lib/esm/rpc/tracing.js.map +1 -1
  293. package/lib/esm/rpc/web/logging.js.map +1 -1
  294. package/lib/esm/rpc/web/request.js.map +1 -1
  295. package/lib/esm/rpc/web/response.js.map +1 -1
  296. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  297. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  298. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  299. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  300. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  301. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  302. package/lib/esm/test/AttachDb.test.js +11 -11
  303. package/lib/esm/test/AttachDb.test.js.map +1 -1
  304. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  305. package/lib/esm/test/IModelHost.test.js.map +1 -1
  306. package/lib/esm/test/IModelTestUtils.d.ts +6 -2
  307. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  308. package/lib/esm/test/IModelTestUtils.js +27 -6
  309. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  310. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  311. package/lib/esm/test/IpcHost.test.js.map +1 -1
  312. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  313. package/lib/esm/test/PrintElementTree.js.map +1 -1
  314. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  315. package/lib/esm/test/RevisionUtility.js.map +1 -1
  316. package/lib/esm/test/SchemaUtils.test.js +25 -25
  317. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  318. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  319. package/lib/esm/test/TestChangeSetUtility.js +1 -1
  320. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  321. package/lib/esm/test/TestUtils.js.map +1 -1
  322. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  323. package/lib/esm/test/categories/Category.test.js.map +1 -1
  324. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  325. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  326. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  327. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  328. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  329. package/lib/esm/test/ecdb/ECDb.test.js +57 -57
  330. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  331. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  332. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +4 -4
  333. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  334. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  335. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  336. package/lib/esm/test/ecdb/ECSqlQuery.test.js +7 -7
  337. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  338. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  339. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  340. package/lib/esm/test/ecdb/ECSqlStatement.test.js +292 -292
  341. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  342. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  343. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  344. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  345. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  346. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  347. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  348. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  349. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  350. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  351. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  352. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  353. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  354. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  355. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  356. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  357. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  358. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  359. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  360. package/lib/esm/test/font/IModelDbFonts.test.js +1 -1
  361. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  362. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +1 -1
  363. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  364. package/lib/esm/test/hubaccess/CheckpointManager.test.js +4 -3
  365. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  366. package/lib/esm/test/imageData.js.map +1 -1
  367. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  368. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  369. package/lib/esm/test/imodel/IModel.test.js +1 -1
  370. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  371. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  372. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  373. package/lib/esm/test/index.js.map +1 -1
  374. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  375. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  376. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  377. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  378. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  379. package/lib/esm/test/rpc/response.test.js.map +1 -1
  380. package/lib/esm/test/schema/ClassRegistry.test.js +71 -71
  381. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  382. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  383. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  384. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  385. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  386. package/lib/esm/test/standalone/ChangeMerge.test.js +1 -1
  387. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  388. package/lib/esm/test/standalone/ChangesetReader.test.js +29 -29
  389. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  390. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  391. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  392. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  393. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  394. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  395. package/lib/esm/test/standalone/ExportGraphics.test.js +19 -54
  396. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  397. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  398. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  399. package/lib/esm/test/standalone/HubMock.test.js +1 -1
  400. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  401. package/lib/esm/test/standalone/IModelWrite.test.js +28 -28
  402. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  403. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  404. package/lib/esm/test/standalone/MergeConflict.test.js +1 -1
  405. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  406. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  407. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  408. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  409. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  410. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  411. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  412. package/lib/esm/test/standalone/ServerBasedLocks.test.js +1 -1
  413. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  414. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  415. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  416. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  417. package/lib/esm/test/standalone/SnapshotDb.test.js +5 -4
  418. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  419. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  420. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  421. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  422. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  423. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  424. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  425. package/lib/esm/test/standalone/Workspace.test.js +4 -3
  426. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  427. package/lib/esm/workspace/Settings.js.map +1 -1
  428. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  429. package/lib/esm/workspace/Workspace.d.ts +6 -13
  430. package/lib/esm/workspace/Workspace.d.ts.map +1 -1
  431. package/lib/esm/workspace/Workspace.js.map +1 -1
  432. package/lib/esm/workspace/WorkspaceEditor.d.ts +2 -7
  433. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
  434. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  435. package/package.json +13 -13
  436. package/lib/cjs/HubMock.d.ts.map +0 -1
  437. package/lib/cjs/HubMock.js.map +0 -1
  438. package/lib/esm/HubMock.d.ts.map +0 -1
  439. package/lib/esm/HubMock.js.map +0 -1
  440. package/lib/esm/test/CloudSqliteMock.d.ts +0 -37
  441. package/lib/esm/test/CloudSqliteMock.d.ts.map +0 -1
  442. package/lib/esm/test/CloudSqliteMock.js +0 -117
  443. package/lib/esm/test/CloudSqliteMock.js.map +0 -1
@@ -8,15 +8,17 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.CloudSqlite = void 0;
11
+ const semver = require("semver");
11
12
  const fs_1 = require("fs");
12
13
  const path_1 = require("path");
13
14
  const imodeljs_native_1 = require("@bentley/imodeljs-native");
14
15
  const core_bentley_1 = require("@itwin/core-bentley");
16
+ const core_common_1 = require("@itwin/core-common");
15
17
  const BlobContainerService_1 = require("./BlobContainerService");
16
18
  const IModelHost_1 = require("./IModelHost");
17
19
  const IModelJsFs_1 = require("./IModelJsFs");
18
20
  const tracing_1 = require("./rpc/tracing");
19
- // spell:ignore logmsg httpcode daemonless cachefile cacheslots ddthh
21
+ // spell:ignore logmsg httpcode daemonless cachefile cacheslots ddthh cloudsqlite premajor preminor prepatch
20
22
  /**
21
23
  * Types for accessing SQLite databases stored in cloud containers.
22
24
  * @beta
@@ -25,6 +27,24 @@ var CloudSqlite;
25
27
  (function (CloudSqlite) {
26
28
  const logInfo = (msg) => core_bentley_1.Logger.logInfo("CloudSqlite", msg);
27
29
  const logError = (msg) => core_bentley_1.Logger.logError("CloudSqlite", msg);
30
+ /** Add (or replace) a property to an object that is not enumerable.
31
+ * This is important so this member will be skipped when the object is the target of
32
+ * [structuredClone](https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
33
+ * (e.g. when the object is part of an exception that is marshalled across process boundaries.)
34
+ */
35
+ function addHiddenProperty(o, p, value) {
36
+ return Object.defineProperty(o, p, { enumerable: false, writable: true, value });
37
+ }
38
+ CloudSqlite.addHiddenProperty = addHiddenProperty;
39
+ function verifyService(serviceName, service) {
40
+ if (undefined === service)
41
+ core_common_1.CloudSqliteError.throwError("service-not-available", { message: `${serviceName} service is not available` });
42
+ return service;
43
+ }
44
+ function getBlobService() {
45
+ return verifyService("BlobContainer", BlobContainerService_1.BlobContainer.service);
46
+ }
47
+ CloudSqlite.getBlobService = getBlobService;
28
48
  /**
29
49
  * Request a new AccessToken for a cloud container using the [[BlobContainer]] service.
30
50
  * If the service is unavailable or returns an error, an empty token is returned.
@@ -34,13 +54,21 @@ var CloudSqlite;
34
54
  let userToken = args.userToken ? args.userToken : await IModelHost_1.IModelHost.getAccessToken();
35
55
  if (userToken === "")
36
56
  userToken = tracing_1.RpcTrace.currentActivity?.accessToken ?? "";
37
- if (BlobContainerService_1.BlobContainer.service === undefined) {
38
- throw new Error(`BlobContainer.service is not defined`);
39
- }
40
- const response = await BlobContainerService_1.BlobContainer.service.requestToken({ ...args, userToken });
57
+ const response = await getBlobService().requestToken({ ...args, userToken });
41
58
  return response?.token ?? "";
42
59
  }
43
60
  CloudSqlite.requestToken = requestToken;
61
+ function noLeadingOrTrailingSpaces(name, msg) {
62
+ if (name.trim() !== name)
63
+ core_common_1.CloudSqliteError.throwError("invalid-name", { message: `${msg} [${name}] may not have leading or trailing spaces` });
64
+ }
65
+ CloudSqlite.noLeadingOrTrailingSpaces = noLeadingOrTrailingSpaces;
66
+ function validateDbName(dbName) {
67
+ if (dbName === "" || dbName.length > 255 || /[#\.<>:"/\\"`'|?*\u0000-\u001F]/g.test(dbName) || /^(con|prn|aux|nul|com\d|lpt\d)$/i.test(dbName))
68
+ core_common_1.CloudSqliteError.throwError("invalid-name", { message: "invalid dbName", dbName });
69
+ noLeadingOrTrailingSpaces(dbName, "dbName");
70
+ }
71
+ CloudSqlite.validateDbName = validateDbName;
44
72
  /**
45
73
  * Create a new CloudContainer from a ContainerAccessProps. For non-public containers, a valid accessToken must be provided before the container
46
74
  * can be used (e.g. via [[CloudSqlite.requestToken]]).
@@ -49,6 +77,10 @@ var CloudSqlite;
49
77
  */
50
78
  function createCloudContainer(args) {
51
79
  const container = new imodeljs_native_1.NativeLibrary.nativeLib.CloudContainer(args);
80
+ // we're going to add these fields to the newly created object. They should *not* be enumerable so they are not copied
81
+ // when the object is cloned (e.g. when included in an exception across processes).
82
+ addHiddenProperty(container, "timer");
83
+ addHiddenProperty(container, "refreshPromise");
52
84
  const refreshSeconds = (undefined !== args.tokenRefreshSeconds) ? args.tokenRefreshSeconds : 60 * 60; // default is 1 hour
53
85
  container.lockExpireSeconds = args.lockExpireSeconds ?? 60 * 60; // default is 1 hour
54
86
  // don't refresh tokens for public containers or if refreshSeconds<=0
@@ -74,13 +106,13 @@ var CloudSqlite;
74
106
  tokenRefreshFn(); // schedule next refresh
75
107
  }, refreshSeconds * 1000);
76
108
  };
77
- container.onConnected = tokenRefreshFn; // schedule the first refresh when the container is connected
78
- container.onDisconnect = () => {
109
+ addHiddenProperty(container, "onConnected", tokenRefreshFn); // schedule the first refresh when the container is connected
110
+ addHiddenProperty(container, "onDisconnect", () => {
79
111
  if (container.timer !== undefined) {
80
112
  clearTimeout(container.timer);
81
113
  container.timer = undefined;
82
114
  }
83
- };
115
+ });
84
116
  }
85
117
  return container;
86
118
  }
@@ -90,6 +122,7 @@ var CloudSqlite;
90
122
  return new imodeljs_native_1.NativeLibrary.nativeLib.CloudPrefetch(container, dbName, args);
91
123
  }
92
124
  CloudSqlite.startCloudPrefetch = startCloudPrefetch;
125
+ ;
93
126
  /** Logging categories for `CloudCache.setLogMask` */
94
127
  let LoggingMask;
95
128
  (function (LoggingMask) {
@@ -212,50 +245,60 @@ var CloudSqlite;
212
245
  const container = args.container;
213
246
  while (true) {
214
247
  try {
215
- if (container.hasWriteLock) {
216
- if (container.writeLockHeldBy === args.user) {
217
- return container.acquireWriteLock(args.user); // refresh the write lock's expiry time.
218
- }
219
- const err = new Error(); // lock held by another user within this process
220
- err.errorNumber = 5;
221
- err.lockedBy = container.writeLockHeldBy;
222
- err.expires = container.writeLockExpires;
223
- throw err;
224
- }
225
- return container.acquireWriteLock(args.user);
248
+ // if the write is already held:
249
+ // - by the same user, just update the write lock expiry (by calling acquireWriteLock).
250
+ // - by another user, throw an error
251
+ if (container.hasWriteLock && container.writeLockHeldBy !== args.user)
252
+ core_common_1.CloudSqliteError.throwError("write-lock-held", {
253
+ message: "lock in use", errorNumber: 5,
254
+ lockedBy: container.writeLockHeldBy ?? "",
255
+ expires: container.writeLockExpires
256
+ });
257
+ container.acquireWriteLock(args.user);
258
+ container.writeLockHeldBy = args.user;
259
+ return;
226
260
  }
227
261
  catch (e) {
228
262
  if (e.errorNumber === 5 && args.busyHandler && "stop" !== await args.busyHandler(e.lockedBy, e.expires)) // 5 === BE_SQLITE_BUSY
229
263
  continue; // busy handler wants to try again
230
- throw e;
264
+ core_common_1.CloudSqliteError.throwError("write-lock-held", { message: e.message, ...e });
231
265
  }
232
266
  }
233
267
  }
234
268
  CloudSqlite.acquireWriteLock = acquireWriteLock;
269
+ function getWriteLockHeldBy(container) {
270
+ return container.writeLockHeldBy;
271
+ }
272
+ CloudSqlite.getWriteLockHeldBy = getWriteLockHeldBy;
273
+ /** release the write lock on a container. */
274
+ function releaseWriteLock(container) {
275
+ container.releaseWriteLock();
276
+ container.writeLockHeldBy = undefined;
277
+ }
278
+ CloudSqlite.releaseWriteLock = releaseWriteLock;
235
279
  /**
236
- * Perform an asynchronous write operation on a CloudContainer with the write lock held.
237
- * 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
238
- * 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
239
- * 3. perform the operation
240
- * 3.a if the operation throws, abandon all changes and re-throw
241
- * 4. release the write lock.
242
- * 5. return value from operation
243
- * @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
244
- * @param container the CloudContainer for which the lock is to be acquired
245
- * @param operation an asynchronous operation performed with the write lock held.
246
- * @param busyHandler if present, function called when the write lock is currently held by another user.
247
- * @returns a Promise with the result of `operation`
248
- */
280
+ * Perform an asynchronous write operation on a CloudContainer with the write lock held.
281
+ * 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
282
+ * 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
283
+ * 3. perform the operation
284
+ * 3.a if the operation throws, abandon all changes and re-throw
285
+ * 4. release the write lock.
286
+ * 5. return value from operation
287
+ * @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
288
+ * @param container the CloudContainer for which the lock is to be acquired
289
+ * @param operation an asynchronous operation performed with the write lock held.
290
+ * @param busyHandler if present, function called when the write lock is currently held by another user.
291
+ * @returns a Promise with the result of `operation`
292
+ */
249
293
  async function withWriteLock(args, operation) {
250
- await acquireWriteLock(args);
251
294
  const containerInternal = args.container;
295
+ const wasLockedBy = containerInternal.writeLockHeldBy;
296
+ await acquireWriteLock(args);
252
297
  try {
253
- if (containerInternal.writeLockHeldBy === args.user) // If the user already had the write lock, then don't release it.
298
+ if (wasLockedBy === args.user) // If the user already had the write lock, then don't release it.
254
299
  return await operation();
255
- containerInternal.writeLockHeldBy = args.user;
256
300
  const val = await operation(); // wait for work to finish or fail
257
- containerInternal.releaseWriteLock();
258
- containerInternal.writeLockHeldBy = undefined;
301
+ releaseWriteLock(containerInternal);
259
302
  return val;
260
303
  }
261
304
  catch (e) {
@@ -265,6 +308,79 @@ var CloudSqlite;
265
308
  }
266
309
  }
267
310
  CloudSqlite.withWriteLock = withWriteLock;
311
+ /**
312
+ * Parse the name of a Db stored in a CloudContainer into the dbName and version number. A single CloudContainer may hold
313
+ * many versions of the same Db. The name of the Db in the CloudContainer is in the format "name:version". This
314
+ * function splits them into separate strings.
315
+ */
316
+ function parseDbFileName(dbFileName) {
317
+ const parts = dbFileName.split(":");
318
+ return { dbName: parts[0], version: parts[1] ?? "" };
319
+ }
320
+ CloudSqlite.parseDbFileName = parseDbFileName;
321
+ function validateDbVersion(version) {
322
+ version = version ?? "0.0.0";
323
+ const opts = { loose: true, includePrerelease: true };
324
+ // clean allows prerelease, so try it first. If that fails attempt to coerce it (coerce strips prerelease even if you say not to.)
325
+ const semVersion = semver.clean(version, opts) ?? semver.coerce(version, opts)?.version;
326
+ if (!semVersion)
327
+ core_common_1.CloudSqliteError.throwError("invalid-name", { message: "invalid version specification" });
328
+ version = semVersion;
329
+ return version;
330
+ }
331
+ CloudSqlite.validateDbVersion = validateDbVersion;
332
+ function isSemverPrerelease(version) {
333
+ return semver.major(version) === 0 || semver.prerelease(version);
334
+ }
335
+ CloudSqlite.isSemverPrerelease = isSemverPrerelease;
336
+ function isSemverEditable(dbFullName, container) {
337
+ return isSemverPrerelease(parseDbFileName(dbFullName).version) || container.queryDatabase(dbFullName)?.state === "copied";
338
+ }
339
+ CloudSqlite.isSemverEditable = isSemverEditable;
340
+ /** Create a dbName for a database from its base name and version. This will be in the format "name:version" */
341
+ function makeSemverName(dbName, version) {
342
+ return `${dbName}:${validateDbVersion(version)}`;
343
+ }
344
+ CloudSqlite.makeSemverName = makeSemverName;
345
+ /** query the databases in the supplied container for the highest SemVer match according to the version range. Throws if no version available for the range. */
346
+ function querySemverMatch(props) {
347
+ const dbName = props.dbName;
348
+ const dbs = props.container.queryDatabases(`${dbName}*`); // get all databases that start with dbName
349
+ const versions = [];
350
+ for (const db of dbs) {
351
+ const thisDb = parseDbFileName(db);
352
+ if (thisDb.dbName === dbName && "string" === typeof thisDb.version && thisDb.version.length > 0)
353
+ versions.push(thisDb.version);
354
+ }
355
+ if (versions.length === 0)
356
+ versions[0] = "0.0.0";
357
+ const range = props.version ?? "*";
358
+ try {
359
+ const version = semver.maxSatisfying(versions, range, { loose: true, includePrerelease: props.includePrerelease });
360
+ if (version)
361
+ return `${dbName}:${version}`;
362
+ }
363
+ catch { }
364
+ core_common_1.CloudSqliteError.throwError("no-version-available", { message: `No version of '${dbName}' available for "${range}"`, ...props });
365
+ }
366
+ CloudSqlite.querySemverMatch = querySemverMatch;
367
+ async function createNewDbVersion(container, args) {
368
+ const oldFullName = CloudSqlite.querySemverMatch({ container, ...args.fromDb });
369
+ const oldDb = CloudSqlite.parseDbFileName(oldFullName);
370
+ const newVersion = semver.inc(oldDb.version, args.versionType, args.identifier);
371
+ if (!newVersion)
372
+ core_common_1.CloudSqliteError.throwError("invalid-name", { message: `cannot create new version for ${oldFullName}`, dbName: oldFullName, ...args });
373
+ const newName = makeSemverName(oldDb.dbName, newVersion);
374
+ try {
375
+ await container.copyDatabase(oldFullName, newName);
376
+ }
377
+ catch (e) {
378
+ core_common_1.CloudSqliteError.throwError("copy-error", { message: `Error attempting to create new version ${newName} from ${oldFullName}`, ...args, cause: e });
379
+ }
380
+ // return the old and new db names and versions
381
+ return { oldDb, newDb: { dbName: oldDb.dbName, version: newVersion } };
382
+ }
383
+ CloudSqlite.createNewDbVersion = createNewDbVersion;
268
384
  /** The collection of currently extant `CloudCache`s, by name. */
269
385
  class CloudCaches {
270
386
  static cloudCaches = new Map();
@@ -395,14 +511,9 @@ var CloudSqlite;
395
511
  * @note the current user must have administrator rights to create containers.
396
512
  */
397
513
  static async createBlobContainer(args) {
398
- const service = BlobContainerService_1.BlobContainer.service;
399
- if (undefined === service)
400
- throw new Error("no BlobContainer service available");
401
- const auth = IModelHost_1.IModelHost.authorizationClient;
402
- if (undefined === auth)
403
- throw new Error("no authorization client available");
514
+ const auth = verifyService("Authorization Client", IModelHost_1.IModelHost.authorizationClient);
404
515
  const userToken = await auth.getAccessToken();
405
- const cloudContainer = await service.create({ scope: args.scope, metadata: args.metadata, userToken });
516
+ const cloudContainer = await getBlobService().create({ scope: args.scope, metadata: args.metadata, userToken });
406
517
  return { baseUri: cloudContainer.baseUri, containerId: cloudContainer.containerId, storageType: cloudContainer.provider };
407
518
  }
408
519
  /**
@@ -472,7 +583,7 @@ var CloudSqlite;
472
583
  getDbMethod(methodName) {
473
584
  const fn = this._cloudDb[methodName];
474
585
  if (typeof fn !== "function")
475
- throw new Error(`illegal method name ${methodName}`);
586
+ core_common_1.CloudSqliteError.throwError("not-a-function", { message: `illegal method name ${methodName}`, dbName: this.dbName });
476
587
  return fn;
477
588
  }
478
589
  /**