@seedprotocol/sdk 0.7.7 → 0.7.8-next.1066.gac32194

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 (302) hide show
  1. package/dist/{ClientManager-2GtDWHq6.js → ClientManager-Dcju5x4k.js} +835 -80
  2. package/dist/ClientManager-Dcju5x4k.js.map +1 -0
  3. package/dist/{Item-D6j0IvBP.js → Item-DZfNz7xl.js} +2145 -1354
  4. package/dist/Item-DZfNz7xl.js.map +1 -0
  5. package/dist/{ModelProperty-B52C3CQ2.js → ModelProperty-sMGL-_LK.js} +51 -52
  6. package/dist/ModelProperty-sMGL-_LK.js.map +1 -0
  7. package/dist/{Schema-O1QLoXv6.js → Schema-D-TczaIj.js} +106 -91
  8. package/dist/Schema-D-TczaIj.js.map +1 -0
  9. package/dist/{SchemaValidationService-BxCbfDaI.js → SchemaValidationService-NYTtSCxd.js} +6 -6
  10. package/dist/{SchemaValidationService-BxCbfDaI.js.map → SchemaValidationService-NYTtSCxd.js.map} +1 -1
  11. package/dist/{backfillMetadataPropertyIds-CzSbuucw.js → backfillMetadataPropertyIds-DEvD0OAT.js} +3 -3
  12. package/dist/{backfillMetadataPropertyIds-CzSbuucw.js.map → backfillMetadataPropertyIds-DEvD0OAT.js.map} +1 -1
  13. package/dist/{configurePlatform-Bbpw_R4y.js → configurePlatform-CtA7fydC.js} +2 -2
  14. package/dist/{configurePlatform-Bbpw_R4y.js.map → configurePlatform-CtA7fydC.js.map} +1 -1
  15. package/dist/db/drizzle/0020_add_pending_writes.sql +24 -0
  16. package/dist/db/drizzle/0021_add_pending_write_error_name.sql +1 -0
  17. package/dist/db/drizzle/meta/0020_snapshot.json +1542 -0
  18. package/dist/db/drizzle/meta/0021_snapshot.json +1549 -0
  19. package/dist/db/drizzle/meta/_journal.json +14 -0
  20. package/dist/{detachRowsBeforeDelete-D1TyEMco.js → detachRowsBeforeDelete-CLbBbpX4.js} +2 -2
  21. package/dist/{detachRowsBeforeDelete-D1TyEMco.js.map → detachRowsBeforeDelete-CLbBbpX4.js.map} +1 -1
  22. package/dist/dist/{ClientManager-2GtDWHq6.d.ts → ClientManager-Dcju5x4k.d.ts} +393 -292
  23. package/dist/dist/ClientManager-Dcju5x4k.d.ts.map +1 -0
  24. package/dist/dist/{Item-D6j0IvBP.d.ts → Item-DZfNz7xl.d.ts} +456 -266
  25. package/dist/dist/Item-DZfNz7xl.d.ts.map +1 -0
  26. package/dist/dist/{ModelProperty-B52C3CQ2.d.ts → ModelProperty-sMGL-_LK.d.ts} +1 -1
  27. package/dist/dist/{ModelProperty-B52C3CQ2.d.ts.map → ModelProperty-sMGL-_LK.d.ts.map} +1 -1
  28. package/dist/dist/{Schema-O1QLoXv6.d.ts → Schema-D-TczaIj.d.ts} +11 -4
  29. package/dist/dist/Schema-D-TczaIj.d.ts.map +1 -0
  30. package/dist/dist/{SchemaValidationService-BxCbfDaI.d.ts → SchemaValidationService-NYTtSCxd.d.ts} +1 -1
  31. package/dist/dist/{SchemaValidationService-BxCbfDaI.d.ts.map → SchemaValidationService-NYTtSCxd.d.ts.map} +1 -1
  32. package/dist/dist/{backfillMetadataPropertyIds-CzSbuucw.d.ts → backfillMetadataPropertyIds-DEvD0OAT.d.ts} +1 -1
  33. package/dist/dist/backfillMetadataPropertyIds-DEvD0OAT.d.ts.map +1 -0
  34. package/dist/dist/{configurePlatform-Bbpw_R4y.d.ts → configurePlatform-CtA7fydC.d.ts} +1 -1
  35. package/dist/dist/configurePlatform-CtA7fydC.d.ts.map +1 -0
  36. package/dist/dist/{detachRowsBeforeDelete-D1TyEMco.d.ts → detachRowsBeforeDelete-CLbBbpX4.d.ts} +1 -1
  37. package/dist/dist/detachRowsBeforeDelete-CLbBbpX4.d.ts.map +1 -0
  38. package/dist/dist/{eas-DOdj-EMK.d.ts → eas-CcpQiXum.d.ts} +1 -1
  39. package/dist/dist/eas-CcpQiXum.d.ts.map +1 -0
  40. package/dist/dist/{errors-KM-yq2MD.d.ts → errors-BGk_IJO5.d.ts} +39 -24
  41. package/dist/dist/errors-BGk_IJO5.d.ts.map +1 -0
  42. package/dist/dist/{getItem-Bh0zv-o1.d.ts → getItem-CHSX3aMm.d.ts} +1 -1
  43. package/dist/dist/getItem-CHSX3aMm.d.ts.map +1 -0
  44. package/dist/dist/{getPublishPayload-oH8wJhnH.d.ts → getPublishPayload-DMd4oLir.d.ts} +1 -1
  45. package/dist/dist/getPublishPayload-DMd4oLir.d.ts.map +1 -0
  46. package/dist/dist/{getPublishUploads-Cex-NBe6.d.ts → getPublishUploads-C9FnRG9c.d.ts} +1 -1
  47. package/dist/dist/{getPublishUploads-Cex-NBe6.d.ts.map → getPublishUploads-C9FnRG9c.d.ts.map} +1 -1
  48. package/dist/dist/{index-BbFwftAv.d.ts → index-C--KAWoe.d.ts} +378 -1
  49. package/dist/dist/{index-BbFwftAv.d.ts.map → index-C--KAWoe.d.ts.map} +1 -1
  50. package/dist/dist/{index-DpgQMIRq.d.ts → index-CI0NFf4B.d.ts} +836 -426
  51. package/dist/dist/index-CI0NFf4B.d.ts.map +1 -0
  52. package/dist/dist/{index-BAao3_Po.d.ts → index-Ccmd9_KY.d.ts} +5 -5
  53. package/dist/dist/index-Ccmd9_KY.d.ts.map +1 -0
  54. package/dist/dist/index-l3b6p1Ih.d.ts +14 -0
  55. package/dist/dist/index-l3b6p1Ih.d.ts.map +1 -0
  56. package/dist/dist/{index.browser-nndbVM7z.d.ts → index.browser-kY8M-xUA.d.ts} +2892 -1754
  57. package/dist/dist/{index.browser-nndbVM7z.d.ts.map → index.browser-kY8M-xUA.d.ts.map} +1 -1
  58. package/dist/dist/{index.node-BUfx-JaP.d.ts → index.node-Ba2KbmOq.d.ts} +4125 -2613
  59. package/dist/dist/{index.node-BUfx-JaP.d.ts.map → index.node-Ba2KbmOq.d.ts.map} +1 -1
  60. package/dist/dist/platform.browser.d.ts +2 -2
  61. package/dist/dist/platform.node.d.ts +2 -2
  62. package/dist/dist/{property-BDBvImLs.d.ts → property-CO7pKTWK.d.ts} +3 -3
  63. package/dist/dist/property-CO7pKTWK.d.ts.map +1 -0
  64. package/dist/dist/{propertyValidationRules-BlfLn4rP.d.ts → propertyValidationRules-D5HZy0Bq.d.ts} +1 -1
  65. package/dist/dist/propertyValidationRules-D5HZy0Bq.d.ts.map +1 -0
  66. package/dist/dist/{publishDraftGraph-CLO85LLz.d.ts → publishDraftGraph-B5KPqtbg.d.ts} +1 -1
  67. package/dist/dist/{publishDraftGraph-CLO85LLz.d.ts.map → publishDraftGraph-B5KPqtbg.d.ts.map} +1 -1
  68. package/dist/dist/{resetAmbiguousLegacyItemData-Cy8ik7xk.d.ts → resetAmbiguousLegacyItemData-77CZ8HT7.d.ts} +1 -1
  69. package/dist/dist/resetAmbiguousLegacyItemData-77CZ8HT7.d.ts.map +1 -0
  70. package/dist/dist/{resolveModelForSyncedSeed-DFr4COc4.d.ts → resolveModelForSyncedSeed-DHOq_FGs.d.ts} +1 -1
  71. package/dist/dist/resolveModelForSyncedSeed-DHOq_FGs.d.ts.map +1 -0
  72. package/dist/dist/{syncDbWithEas-CAOlw3i-.d.ts → syncDbWithEas-BZ6AI-IC.d.ts} +1 -1
  73. package/dist/dist/syncDbWithEas-BZ6AI-IC.d.ts.map +1 -0
  74. package/dist/dist/{tabEvents-DksXwk3X.d.ts → tabEvents-CIlzHSKZ.d.ts} +35 -18
  75. package/dist/dist/tabEvents-CIlzHSKZ.d.ts.map +1 -0
  76. package/dist/dist/{tolerantWebAccess-CEIjFGf0.d.ts → tolerantWebAccess-BwJ8bElF.d.ts} +1 -1
  77. package/dist/dist/{tolerantWebAccess-CEIjFGf0.d.ts.map → tolerantWebAccess-BwJ8bElF.d.ts.map} +1 -1
  78. package/dist/dist/{updateSeedRevokedAt-Cjr35YjE.d.ts → updateSeedRevokedAt-ClxMSXcB.d.ts} +1 -1
  79. package/dist/dist/updateSeedRevokedAt-ClxMSXcB.d.ts.map +1 -0
  80. package/dist/{eas-DOdj-EMK.js → eas-CcpQiXum.js} +4 -4
  81. package/dist/{eas-DOdj-EMK.js.map → eas-CcpQiXum.js.map} +1 -1
  82. package/dist/{errors-KM-yq2MD.js → errors-BGk_IJO5.js} +222 -275
  83. package/dist/errors-BGk_IJO5.js.map +1 -0
  84. package/dist/{getItem-Bh0zv-o1.js → getItem-CHSX3aMm.js} +5 -5
  85. package/dist/{getItem-Bh0zv-o1.js.map → getItem-CHSX3aMm.js.map} +1 -1
  86. package/dist/{getPublishPayload-oH8wJhnH.js → getPublishPayload-DMd4oLir.js} +18 -15
  87. package/dist/getPublishPayload-DMd4oLir.js.map +1 -0
  88. package/dist/{getPublishUploads-Cex-NBe6.js → getPublishUploads-C9FnRG9c.js} +9 -6
  89. package/dist/getPublishUploads-C9FnRG9c.js.map +1 -0
  90. package/dist/{index-BbFwftAv.js → index-C--KAWoe.js} +3 -2
  91. package/dist/index-C--KAWoe.js.map +1 -0
  92. package/dist/{index-DpgQMIRq.js → index-CI0NFf4B.js} +132 -9
  93. package/dist/index-CI0NFf4B.js.map +1 -0
  94. package/dist/{index-BAao3_Po.js → index-Ccmd9_KY.js} +8 -8
  95. package/dist/index-Ccmd9_KY.js.map +1 -0
  96. package/dist/index-l3b6p1Ih.js +28 -0
  97. package/dist/index-l3b6p1Ih.js.map +1 -0
  98. package/dist/{index.browser-nndbVM7z.js → index.browser-kY8M-xUA.js} +284 -73
  99. package/dist/index.browser-kY8M-xUA.js.map +1 -0
  100. package/dist/{index.node-BUfx-JaP.js → index.node-Ba2KbmOq.js} +93 -6
  101. package/dist/index.node-Ba2KbmOq.js.map +1 -0
  102. package/dist/main.js +84 -26
  103. package/dist/main.js.map +1 -1
  104. package/dist/node.js +11 -11
  105. package/dist/platform.browser.js +5 -5
  106. package/dist/platform.node.js +4 -4
  107. package/dist/{property-BDBvImLs.js → property-CO7pKTWK.js} +9 -11
  108. package/dist/property-CO7pKTWK.js.map +1 -0
  109. package/dist/{propertyValidationRules-BlfLn4rP.js → propertyValidationRules-D5HZy0Bq.js} +10 -10
  110. package/dist/{propertyValidationRules-BlfLn4rP.js.map → propertyValidationRules-D5HZy0Bq.js.map} +1 -1
  111. package/dist/{publishDraftGraph-CLO85LLz.js → publishDraftGraph-B5KPqtbg.js} +6 -6
  112. package/dist/{publishDraftGraph-CLO85LLz.js.map → publishDraftGraph-B5KPqtbg.js.map} +1 -1
  113. package/dist/{resetAmbiguousLegacyItemData-Cy8ik7xk.js → resetAmbiguousLegacyItemData-77CZ8HT7.js} +2 -2
  114. package/dist/{resetAmbiguousLegacyItemData-Cy8ik7xk.js.map → resetAmbiguousLegacyItemData-77CZ8HT7.js.map} +1 -1
  115. package/dist/{resolveModelForSyncedSeed-DFr4COc4.js → resolveModelForSyncedSeed-DHOq_FGs.js} +2 -2
  116. package/dist/{resolveModelForSyncedSeed-DFr4COc4.js.map → resolveModelForSyncedSeed-DHOq_FGs.js.map} +1 -1
  117. package/dist/seedSchema/PendingWriteSchema.ts +57 -0
  118. package/dist/seedSchema/index.ts +1 -0
  119. package/dist/src/Item/Item.d.ts +38 -7
  120. package/dist/src/Item/Item.d.ts.map +1 -1
  121. package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
  122. package/dist/src/ItemProperty/ItemProperty.d.ts +66 -9
  123. package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -1
  124. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
  125. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -1
  126. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
  127. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveFile.d.ts.map +1 -1
  128. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveHtml.d.ts.map +1 -1
  129. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -1
  130. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts +5 -0
  131. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
  132. package/dist/src/ItemProperty/service/actors/saveValueToDb/storageValue.d.ts +22 -0
  133. package/dist/src/ItemProperty/service/actors/saveValueToDb/storageValue.d.ts.map +1 -0
  134. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
  135. package/dist/src/Model/Model.d.ts +50 -9
  136. package/dist/src/Model/Model.d.ts.map +1 -1
  137. package/dist/src/Model/service/actors/validateModel.d.ts.map +1 -1
  138. package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -1
  139. package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -1
  140. package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +1 -1
  141. package/dist/src/Schema/Schema.d.ts +22 -3
  142. package/dist/src/Schema/Schema.d.ts.map +1 -1
  143. package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +1 -1
  144. package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +1 -1
  145. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -1
  146. package/dist/src/browser/db/Db.d.ts +7 -0
  147. package/dist/src/browser/db/Db.d.ts.map +1 -1
  148. package/dist/src/browser/db/drizzleFiles.d.ts +4 -2
  149. package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -1
  150. package/dist/src/browser/db/sqliteBusyRetry.d.ts.map +1 -1
  151. package/dist/src/browser/helpers/EasClient.d.ts +1 -1
  152. package/dist/src/browser/helpers/EasClient.d.ts.map +1 -1
  153. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  154. package/dist/src/client/ClientManager.d.ts +13 -0
  155. package/dist/src/client/ClientManager.d.ts.map +1 -1
  156. package/dist/src/client/actors/saveConfig.d.ts.map +1 -1
  157. package/dist/src/client/addressesPersisted.d.ts +10 -0
  158. package/dist/src/client/addressesPersisted.d.ts.map +1 -0
  159. package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
  160. package/dist/src/db/Db/BaseDb.d.ts +10 -0
  161. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  162. package/dist/src/db/read/getItemProperties.d.ts.map +1 -1
  163. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
  164. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  165. package/dist/src/db/read/getSeedData.d.ts +4 -1
  166. package/dist/src/db/read/getSeedData.d.ts.map +1 -1
  167. package/dist/src/db/read/getSeedPublisher.d.ts +4 -1
  168. package/dist/src/db/read/getSeedPublisher.d.ts.map +1 -1
  169. package/dist/src/db/read/getVersionData.d.ts +4 -1
  170. package/dist/src/db/read/getVersionData.d.ts.map +1 -1
  171. package/dist/src/db/write/claimUnpublishedDrafts.d.ts +6 -0
  172. package/dist/src/db/write/claimUnpublishedDrafts.d.ts.map +1 -1
  173. package/dist/src/db/write/createMetadata.d.ts +13 -0
  174. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  175. package/dist/src/db/write/createNewItem.d.ts +5 -0
  176. package/dist/src/db/write/createNewItem.d.ts.map +1 -1
  177. package/dist/src/db/write/createSeed.d.ts +20 -1
  178. package/dist/src/db/write/createSeed.d.ts.map +1 -1
  179. package/dist/src/db/write/createVersion.d.ts +5 -1
  180. package/dist/src/db/write/createVersion.d.ts.map +1 -1
  181. package/dist/src/db/write/removeLocalCopiesForAddresses.d.ts +9 -2
  182. package/dist/src/db/write/removeLocalCopiesForAddresses.d.ts.map +1 -1
  183. package/dist/src/db/write/updateItemPropertyValue.d.ts +9 -1
  184. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +1 -1
  185. package/dist/src/db/write/updateMetadata.d.ts +8 -1
  186. package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
  187. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
  188. package/dist/src/helpers/db.d.ts +4 -2
  189. package/dist/src/helpers/db.d.ts.map +1 -1
  190. package/dist/src/helpers/entity/entityCache.d.ts +2 -42
  191. package/dist/src/helpers/entity/entityCache.d.ts.map +1 -1
  192. package/dist/src/helpers/entity/entityCommon.d.ts +9 -0
  193. package/dist/src/helpers/entity/entityCommon.d.ts.map +1 -1
  194. package/dist/src/helpers/entity/entityDestroy.d.ts +13 -7
  195. package/dist/src/helpers/entity/entityDestroy.d.ts.map +1 -1
  196. package/dist/src/helpers/entity/entityLiveQuery.d.ts +3 -2
  197. package/dist/src/helpers/entity/entityLiveQuery.d.ts.map +1 -1
  198. package/dist/src/helpers/entity/entityState.d.ts +28 -0
  199. package/dist/src/helpers/entity/entityState.d.ts.map +1 -0
  200. package/dist/src/helpers/entity/entityUnload.d.ts +3 -2
  201. package/dist/src/helpers/entity/entityUnload.d.ts.map +1 -1
  202. package/dist/src/helpers/entity/index.d.ts +1 -0
  203. package/dist/src/helpers/entity/index.d.ts.map +1 -1
  204. package/dist/src/helpers/itemStorageFile.d.ts +7 -0
  205. package/dist/src/helpers/itemStorageFile.d.ts.map +1 -1
  206. package/dist/src/helpers/metadataPropertyNames.d.ts +6 -0
  207. package/dist/src/helpers/metadataPropertyNames.d.ts.map +1 -1
  208. package/dist/src/helpers/property.d.ts.map +1 -1
  209. package/dist/src/helpers/propertySchemaUid.d.ts +13 -0
  210. package/dist/src/helpers/propertySchemaUid.d.ts.map +1 -0
  211. package/dist/src/helpers/propertyWriteTickets.d.ts +11 -0
  212. package/dist/src/helpers/propertyWriteTickets.d.ts.map +1 -0
  213. package/dist/src/helpers/reactiveProxy.d.ts +18 -0
  214. package/dist/src/helpers/reactiveProxy.d.ts.map +1 -1
  215. package/dist/src/helpers/sessionObjectUrls.d.ts +4 -0
  216. package/dist/src/helpers/sessionObjectUrls.d.ts.map +1 -0
  217. package/dist/src/helpers/tabCoordinator.d.ts +9 -0
  218. package/dist/src/helpers/tabCoordinator.d.ts.map +1 -1
  219. package/dist/src/helpers/tabLocks.d.ts +11 -0
  220. package/dist/src/helpers/tabLocks.d.ts.map +1 -1
  221. package/dist/src/helpers/timing.d.ts +10 -0
  222. package/dist/src/helpers/timing.d.ts.map +1 -0
  223. package/dist/src/imports/json.d.ts.map +1 -1
  224. package/dist/src/index.d.ts +1 -0
  225. package/dist/src/index.d.ts.map +1 -1
  226. package/dist/src/interfaces/IDb.d.ts +2 -0
  227. package/dist/src/interfaces/IDb.d.ts.map +1 -1
  228. package/dist/src/interfaces/IItem.d.ts +1 -0
  229. package/dist/src/interfaces/IItem.d.ts.map +1 -1
  230. package/dist/src/interfaces/IItemProperty.d.ts +5 -0
  231. package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
  232. package/dist/src/node/db/Db.d.ts +3 -0
  233. package/dist/src/node/db/Db.d.ts.map +1 -1
  234. package/dist/src/node/db/singleConnectionTransactions.d.ts +22 -0
  235. package/dist/src/node/db/singleConnectionTransactions.d.ts.map +1 -0
  236. package/dist/src/outbox/conflicts.d.ts +60 -0
  237. package/dist/src/outbox/conflicts.d.ts.map +1 -0
  238. package/dist/src/outbox/index.d.ts +9 -0
  239. package/dist/src/outbox/index.d.ts.map +1 -0
  240. package/dist/src/outbox/itemAppliers.d.ts +153 -0
  241. package/dist/src/outbox/itemAppliers.d.ts.map +1 -0
  242. package/dist/src/outbox/outbox.d.ts +143 -0
  243. package/dist/src/outbox/outbox.d.ts.map +1 -0
  244. package/dist/src/outbox/pendingValues.d.ts +27 -0
  245. package/dist/src/outbox/pendingValues.d.ts.map +1 -0
  246. package/dist/src/seedSchema/PendingWriteSchema.d.ts +385 -0
  247. package/dist/src/seedSchema/PendingWriteSchema.d.ts.map +1 -0
  248. package/dist/src/seedSchema/index.d.ts +1 -0
  249. package/dist/src/seedSchema/index.d.ts.map +1 -1
  250. package/dist/src/types/property.d.ts +5 -0
  251. package/dist/src/types/property.d.ts.map +1 -1
  252. package/dist/{syncDbWithEas-CAOlw3i-.js → syncDbWithEas-BZ6AI-IC.js} +25 -20
  253. package/dist/syncDbWithEas-BZ6AI-IC.js.map +1 -0
  254. package/dist/{tabEvents-DksXwk3X.js → tabEvents-CIlzHSKZ.js} +56 -25
  255. package/dist/tabEvents-CIlzHSKZ.js.map +1 -0
  256. package/dist/{tolerantWebAccess-CEIjFGf0.js → tolerantWebAccess-BwJ8bElF.js} +6 -6
  257. package/dist/{tolerantWebAccess-CEIjFGf0.js.map → tolerantWebAccess-BwJ8bElF.js.map} +1 -1
  258. package/dist/{updateSeedRevokedAt-Cjr35YjE.js → updateSeedRevokedAt-ClxMSXcB.js} +3 -3
  259. package/dist/{updateSeedRevokedAt-Cjr35YjE.js.map → updateSeedRevokedAt-ClxMSXcB.js.map} +1 -1
  260. package/package.json +7 -7
  261. package/dist/ClientManager-2GtDWHq6.js.map +0 -1
  262. package/dist/Item-D6j0IvBP.js.map +0 -1
  263. package/dist/ModelProperty-B52C3CQ2.js.map +0 -1
  264. package/dist/Schema-O1QLoXv6.js.map +0 -1
  265. package/dist/discardNewDraft-hiVaUVjV.js +0 -78
  266. package/dist/discardNewDraft-hiVaUVjV.js.map +0 -1
  267. package/dist/dist/ClientManager-2GtDWHq6.d.ts.map +0 -1
  268. package/dist/dist/Item-D6j0IvBP.d.ts.map +0 -1
  269. package/dist/dist/Schema-O1QLoXv6.d.ts.map +0 -1
  270. package/dist/dist/backfillMetadataPropertyIds-CzSbuucw.d.ts.map +0 -1
  271. package/dist/dist/configurePlatform-Bbpw_R4y.d.ts.map +0 -1
  272. package/dist/dist/detachRowsBeforeDelete-D1TyEMco.d.ts.map +0 -1
  273. package/dist/dist/discardNewDraft-hiVaUVjV.d.ts +0 -8
  274. package/dist/dist/discardNewDraft-hiVaUVjV.d.ts.map +0 -1
  275. package/dist/dist/eas-DOdj-EMK.d.ts.map +0 -1
  276. package/dist/dist/errors-KM-yq2MD.d.ts.map +0 -1
  277. package/dist/dist/getItem-Bh0zv-o1.d.ts.map +0 -1
  278. package/dist/dist/getPublishPayload-oH8wJhnH.d.ts.map +0 -1
  279. package/dist/dist/index-BAao3_Po.d.ts.map +0 -1
  280. package/dist/dist/index-DpgQMIRq.d.ts.map +0 -1
  281. package/dist/dist/property-BDBvImLs.d.ts.map +0 -1
  282. package/dist/dist/propertyValidationRules-BlfLn4rP.d.ts.map +0 -1
  283. package/dist/dist/resetAmbiguousLegacyItemData-Cy8ik7xk.d.ts.map +0 -1
  284. package/dist/dist/resolveModelForSyncedSeed-DFr4COc4.d.ts.map +0 -1
  285. package/dist/dist/syncDbWithEas-CAOlw3i-.d.ts.map +0 -1
  286. package/dist/dist/tabEvents-DksXwk3X.d.ts.map +0 -1
  287. package/dist/dist/updateSeedRevokedAt-Cjr35YjE.d.ts.map +0 -1
  288. package/dist/errors-KM-yq2MD.js.map +0 -1
  289. package/dist/getPublishPayload-oH8wJhnH.js.map +0 -1
  290. package/dist/getPublishUploads-Cex-NBe6.js.map +0 -1
  291. package/dist/index-BAao3_Po.js.map +0 -1
  292. package/dist/index-BbFwftAv.js.map +0 -1
  293. package/dist/index-DpgQMIRq.js.map +0 -1
  294. package/dist/index.browser-nndbVM7z.js.map +0 -1
  295. package/dist/index.node-BUfx-JaP.js.map +0 -1
  296. package/dist/property-BDBvImLs.js.map +0 -1
  297. package/dist/src/db/write/discardNewDraft.d.ts +0 -8
  298. package/dist/src/db/write/discardNewDraft.d.ts.map +0 -1
  299. package/dist/src/helpers/propertyWriteQueue.d.ts +0 -15
  300. package/dist/src/helpers/propertyWriteQueue.d.ts.map +0 -1
  301. package/dist/syncDbWithEas-CAOlw3i-.js.map +0 -1
  302. package/dist/tabEvents-DksXwk3X.js.map +0 -1
@@ -1,19 +1,19 @@
1
- export { M as Model, T as TModelSchema, a as TModelValues } from './errors-KM-yq2MD.js';
2
- import { M as ModelPropertyDataTypes } from './index-DpgQMIRq.js';
3
- export { D as DEFAULT_TEXT_MAX_LENGTH, P as Property, T as THtmlEmbeddedDataUriPolicy, a as TProperty, b as TPropertyConstructor, c as TPropertyDataType, d as TPropertyDefs, e as TStorageType, f as TValidationRules, i as isDataType, n as normalizeDataType, g as normalizePropertyRecordSchema } from './index-DpgQMIRq.js';
4
- export { getPropertySchema } from './property-BDBvImLs.js';
1
+ export { M as Model, T as TModelSchema, a as TModelValues } from './errors-BGk_IJO5.js';
2
+ import { M as ModelPropertyDataTypes } from './index-CI0NFf4B.js';
3
+ export { D as DEFAULT_TEXT_MAX_LENGTH, P as Property, T as THtmlEmbeddedDataUriPolicy, a as TProperty, b as TPropertyConstructor, c as TPropertyDataType, d as TPropertyDefs, e as TStorageType, f as TValidationRules, i as isDataType, n as normalizeDataType, g as normalizePropertyRecordSchema } from './index-CI0NFf4B.js';
4
+ export { getPropertySchema } from './property-CO7pKTWK.js';
5
5
  import 'xstate';
6
6
  import 'drizzle-orm';
7
7
  import 'debug';
8
- import './Item-D6j0IvBP.js';
8
+ import './Item-DZfNz7xl.js';
9
9
  import 'pluralize';
10
10
  import 'rxjs';
11
11
  import 'lodash-es';
12
12
  import '@seedprotocol/eas';
13
+ import './tabEvents-CIlzHSKZ.js';
13
14
  import '@seedprotocol/arweave';
14
- import './tabEvents-DksXwk3X.js';
15
15
  import './model-oHA3YhOd.js';
16
- import './ClientManager-2GtDWHq6.js';
16
+ import './ClientManager-Dcju5x4k.js';
17
17
  import '@noble/hashes/sha3';
18
18
  import '@noble/hashes/utils';
19
19
  import '@seedprotocol/query';
@@ -26,4 +26,4 @@ import '@noble/hashes/sha256';
26
26
 
27
27
 
28
28
  export { ModelPropertyDataTypes };
29
- //# sourceMappingURL=index-BAao3_Po.js.map
29
+ //# sourceMappingURL=index-Ccmd9_KY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Ccmd9_KY.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ import { a as appendOutboxOpAndWait, w as waitForPendingOutboxOps, b as waitForOutboxOp, c as appendOutboxOp, g as getOutboxOps, o as outboxOpResult } from './Item-DZfNz7xl.js';
2
+ export { O as OUTBOX_DEFER_MS, d as OUTBOX_MAX_ATTEMPTS, e as OUTBOX_PRUNE_AFTER_MS, f as OUTBOX_PRUNE_FAILED_AFTER_MS, h as OUTBOX_RETRY_DELAYS_MS, i as OutboxOpDeferredError, j as OutboxOpFailedError, k as OutboxOpRejectedError, l as OutboxOpRetryableError, m as appendOutboxOps, n as drainOutbox, p as getPendingSetValue, q as outboxOpValue, r as pruneOutbox, s as registerOutboxApplier, t as startOutbox } from './Item-DZfNz7xl.js';
3
+ import { d as deleteFiles, s as startItemOutbox, t as throwItemWriteError, m as markPropertyConflictsResolved } from './ClientManager-Dcju5x4k.js';
4
+ export { R as RelationTargetError, a as applyCreateItem, b as applyDelete, c as applyItemStorageValue, e as applyStorageValue, g as getItemConflicts, f as getPropertyConflict } from './ClientManager-Dcju5x4k.js';
5
+ import 'debug';
6
+ import 'xstate';
7
+ import './index-CI0NFf4B.js';
8
+ import '@seedprotocol/arweave';
9
+ import '@seedprotocol/eas';
10
+ import 'pluralize';
11
+ import '@sinclair/typebox';
12
+ import 'drizzle-orm/sqlite-core';
13
+ import 'drizzle-orm';
14
+ import 'nanoid';
15
+ import 'nanoid-dictionary';
16
+ import '@seedprotocol/query';
17
+ import '@noble/hashes/sha256';
18
+ import '@noble/hashes/sha3';
19
+ import '@noble/hashes/utils';
20
+ import 'lodash-es';
21
+ import 'rxjs';
22
+ import './tabEvents-CIlzHSKZ.js';
23
+ import './model-oHA3YhOd.js';
24
+
25
+
26
+
27
+ export { appendOutboxOp, appendOutboxOpAndWait, deleteFiles, getOutboxOps, markPropertyConflictsResolved, outboxOpResult, startItemOutbox, throwItemWriteError, waitForOutboxOp, waitForPendingOutboxOps };
28
+ //# sourceMappingURL=index-l3b6p1Ih.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-l3b6p1Ih.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,20 +1,20 @@
1
- import { B as BasePathResolver } from './configurePlatform-Bbpw_R4y.js';
2
- import { B as BaseDb, j as appState, aA as contentSha256TagMatches, h as BaseFileManager } from './index-DpgQMIRq.js';
1
+ import { B as BasePathResolver } from './configurePlatform-CtA7fydC.js';
2
+ import { a as withDbTabLock, n as notifyFilesWrittenOutsideCache, c as createSessionObjectUrl, b as withSeedDbLock } from './tabEvents-CIlzHSKZ.js';
3
+ import { F as BaseDb, h as appState, aC as contentSha256TagMatches, N as BaseFileManager, aq as withSqliteBusyRetry } from './index-CI0NFf4B.js';
3
4
  import { eq, sql } from 'drizzle-orm';
4
- import { a as withDbTabLock, n as notifyFilesWrittenOutsideCache, b as withSeedDbLock } from './tabEvents-DksXwk3X.js';
5
5
  import { M as MIME_TO_EXTENSION } from './mimeTypes-C9r76DCH.js';
6
6
  import debug from 'debug';
7
7
  import { F as FileSystemLockedError, D as DatabaseNotPersistentError } from './errors-Do7v6RKu.js';
8
8
  import { drizzle } from 'drizzle-orm/sqlite-proxy';
9
9
  import { sha256 } from '@noble/hashes/sha256';
10
10
  import { bytesToHex, utf8ToBytes } from '@noble/hashes/utils';
11
- import { s as schema } from './index-BbFwftAv.js';
11
+ import { s as schema } from './index-C--KAWoe.js';
12
12
  import { SQLocalDrizzle } from 'sqlocal/drizzle';
13
13
  import { Observable, distinctUntilChanged } from 'rxjs';
14
14
  import { BaseArweaveClient, fetchTransactionStatusAcrossGateways, getPreferredArweaveReadBaseUrls, fetchArweaveRawFromBaseUrl, GET_TRANSACTION_TAGS } from '@seedprotocol/arweave';
15
15
  import { GraphQLClient } from 'graphql-request';
16
16
  import Arweave from 'arweave';
17
- import { getEasEndpoint, BaseEasClient, BaseQueryClient } from '@seedprotocol/eas';
17
+ import { getEasEndpoint, createEasGraphQLClient, BaseEasClient, BaseQueryClient } from '@seedprotocol/eas';
18
18
  import { QueryClient } from '@tanstack/query-core';
19
19
 
20
20
  class BrowserPathResolver {
@@ -659,7 +659,7 @@ var filesDownload = `const SEED_MIME_TO_EXTENSION = ${JSON.stringify(MIME_TO_EXT
659
659
  }.toString()}
660
660
  )()`;
661
661
 
662
- const logger$6 = debug('seedSdk:browser:workers:FileDownloader');
662
+ const logger$5 = debug('seedSdk:browser:workers:FileDownloader');
663
663
  /**
664
664
  * Longest the worker may go without posting anything before the download is failed. The worker
665
665
  * posts after every transaction and each gateway request times out after 60s, so this only fires
@@ -730,7 +730,7 @@ class FileDownloader {
730
730
  return;
731
731
  settled = true;
732
732
  cleanup();
733
- logger$6('file download failed', error);
733
+ logger$5('file download failed', error);
734
734
  // Files the worker already wrote are on disk: refresh caches for them anyway.
735
735
  if (savedPaths.length) {
736
736
  void notifyFilesWrittenOutsideCache(savedPaths).catch(() => { });
@@ -761,7 +761,7 @@ class FileDownloader {
761
761
  worker.onmessage = (e) => {
762
762
  armWatchdog();
763
763
  const data = e.data ?? {};
764
- logger$6('filesDownload main thread onmessage', data);
764
+ logger$5('filesDownload main thread onmessage', data);
765
765
  if (data.message === 'excludeTransaction') {
766
766
  localExcludedTransactions.add(data.transactionId);
767
767
  }
@@ -775,14 +775,14 @@ class FileDownloader {
775
775
  ok = contentSha256TagMatches(new Uint8Array(data.bytes), String(data.expected ?? ''));
776
776
  }
777
777
  catch (error) {
778
- logger$6('content verification failed', error);
778
+ logger$5('content verification failed', error);
779
779
  }
780
780
  worker.postMessage({ message: 'verifyContentResult', requestId: data.requestId, ok });
781
781
  return;
782
782
  }
783
783
  if (data.message === 'compositeChildUnrouted') {
784
784
  // No local ItemStorage property for this child (e.g. its item is not synced yet).
785
- logger$6(`composite ${data.transactionId}: no local path for child "${data.name}"; not saved`);
785
+ logger$5(`composite ${data.transactionId}: no local path for child "${data.name}"; not saved`);
786
786
  }
787
787
  if (data.message === 'contentVerified') {
788
788
  verified.add(data.transactionId);
@@ -821,7 +821,7 @@ class FileDownloader {
821
821
  arweaveBaseUrls,
822
822
  expectedContentHashes,
823
823
  compositeChildPaths,
824
- debug: logger$6.enabled,
824
+ debug: logger$5.enabled,
825
825
  filesRoot: BaseFileManager.getWorkingDir(),
826
826
  });
827
827
  }
@@ -1222,7 +1222,7 @@ var imageResize = `(
1222
1222
  }.toString()}
1223
1223
  )()`;
1224
1224
 
1225
- const logger$5 = debug('seedSdk:browser:workers:ImageResizer');
1225
+ const logger$4 = debug('seedSdk:browser:workers:ImageResizer');
1226
1226
  class ImageResizer {
1227
1227
  constructor() {
1228
1228
  this.workersArchive = new Map();
@@ -1233,18 +1233,18 @@ class ImageResizer {
1233
1233
  if (this.workersArchive.has(filePath)) {
1234
1234
  const savedWorker = this.workersArchive.get(filePath);
1235
1235
  savedWorker?.terminate();
1236
- logger$5('[ImageResizer.resize] Terminated worker for filePath due to incoming request', filePath);
1236
+ logger$4('[ImageResizer.resize] Terminated worker for filePath due to incoming request', filePath);
1237
1237
  this.workersArchive.delete(filePath);
1238
1238
  }
1239
1239
  const worker = new Worker(this.workerBlobUrl);
1240
1240
  this.workersArchive.set(filePath, worker);
1241
1241
  return new Promise((resolve, reject) => {
1242
1242
  worker.onmessage = (e) => {
1243
- logger$5('[ImageResizer.resize] main thread onmessage', e.data);
1243
+ logger$4('[ImageResizer.resize] main thread onmessage', e.data);
1244
1244
  if (e.data.done) {
1245
1245
  const savedWorker = this.workersArchive.get(filePath);
1246
1246
  savedWorker?.terminate();
1247
- logger$5('[ImageResizer.resize] Terminated worker for filePath due to done', filePath);
1247
+ logger$4('[ImageResizer.resize] Terminated worker for filePath due to done', filePath);
1248
1248
  this.workersArchive.delete(filePath);
1249
1249
  // The worker wrote the variant to OPFS directly; refresh caches here and in other tabs.
1250
1250
  notifyFilesWrittenOutsideCache([e.data.filePath]).then(() => resolve(e.data), () => resolve(e.data));
@@ -1260,7 +1260,7 @@ class ImageResizer {
1260
1260
  filePath,
1261
1261
  width,
1262
1262
  height,
1263
- debug: logger$5.enabled,
1263
+ debug: logger$4.enabled,
1264
1264
  });
1265
1265
  });
1266
1266
  }
@@ -1298,7 +1298,7 @@ function isSkippableOpfsEntryError(error) {
1298
1298
  return error instanceof DOMException && SKIPPABLE_ENTRY_ERRORS.has(error.name);
1299
1299
  }
1300
1300
 
1301
- const logger$4 = debug('seedSdk:browser:helpers:FileManager');
1301
+ const logger$3 = debug('seedSdk:browser:helpers:FileManager');
1302
1302
  /**
1303
1303
  * Browser-safe path helpers for SDK virtual file paths.
1304
1304
  * We intentionally avoid Node/CJS path polyfills here to keep browser bundles ESM-safe.
@@ -1443,14 +1443,14 @@ class BrowserFileManager {
1443
1443
  const fileExists = await this.pathExists(path);
1444
1444
  if (fileExists) {
1445
1445
  const file = await this.readFile(path);
1446
- return URL.createObjectURL(file);
1446
+ return createSessionObjectUrl(file);
1447
1447
  }
1448
1448
  }
1449
1449
  async initializeFileSystem(_workingDir) {
1450
1450
  const zenfs = await this.getFs();
1451
- const { TolerantWebAccess, TolerantWebAccessFS } = await import('./tolerantWebAccess-CEIjFGf0.js');
1452
- const _mod_0 = await import('./tabEvents-DksXwk3X.js');
1453
- const _ns_0 = _mod_0.t;
1451
+ const { TolerantWebAccess, TolerantWebAccessFS } = await import('./tolerantWebAccess-BwJ8bElF.js');
1452
+ const _mod_0 = await import('./tabEvents-CIlzHSKZ.js');
1453
+ const _ns_0 = _mod_0.k;
1454
1454
  const { queueFilesChangedNotice } = _ns_0;
1455
1455
  const { configureSingle } = zenfs;
1456
1456
  const configureRoot = async () => {
@@ -1481,7 +1481,7 @@ class BrowserFileManager {
1481
1481
  if (attempt === MOUNT_RETRY_DELAYS_MS.length) {
1482
1482
  throw new FileSystemLockedError(error);
1483
1483
  }
1484
- logger$4(`OPFS mount attempt ${attempt + 1} failed (${error?.name}); retrying`);
1484
+ logger$3(`OPFS mount attempt ${attempt + 1} failed (${error?.name}); retrying`);
1485
1485
  await sleep(MOUNT_RETRY_DELAYS_MS[attempt]);
1486
1486
  }
1487
1487
  }
@@ -1518,7 +1518,7 @@ class BrowserFileManager {
1518
1518
  }
1519
1519
  async invalidateNow(filePaths) {
1520
1520
  const { mounts } = await this.getFs();
1521
- const { TolerantWebAccessFS } = await import('./tolerantWebAccess-CEIjFGf0.js');
1521
+ const { TolerantWebAccessFS } = await import('./tolerantWebAccess-BwJ8bElF.js');
1522
1522
  const mounted = mounts.get('/');
1523
1523
  if (!(mounted instanceof TolerantWebAccessFS))
1524
1524
  return;
@@ -1528,7 +1528,7 @@ class BrowserFileManager {
1528
1528
  await mounted.invalidate(absolute);
1529
1529
  }
1530
1530
  catch (error) {
1531
- logger$4(`could not refresh cached ${absolute}`, error);
1531
+ logger$3(`could not refresh cached ${absolute}`, error);
1532
1532
  }
1533
1533
  }
1534
1534
  }
@@ -1565,7 +1565,7 @@ class BrowserFileManager {
1565
1565
  }
1566
1566
  catch {
1567
1567
  // This is a no-op. We tried to create a directory that already exists.
1568
- logger$4('Attempted to create a directory that already exists');
1568
+ logger$3('Attempted to create a directory that already exists');
1569
1569
  }
1570
1570
  }
1571
1571
  }
@@ -1587,7 +1587,7 @@ class BrowserFileManager {
1587
1587
  const startTime = Date.now();
1588
1588
  let isBusy = false;
1589
1589
  const cancelableInterval = new CancelableInterval(async (stop) => {
1590
- logger$4('waitForFile', filePath);
1590
+ logger$3('waitForFile', filePath);
1591
1591
  if (isBusy) {
1592
1592
  return;
1593
1593
  }
@@ -1680,7 +1680,7 @@ class BrowserFileManager {
1680
1680
  const startTime = Date.now();
1681
1681
  let isBusy = false;
1682
1682
  const cancelableInterval = new CancelableInterval(async (stop) => {
1683
- logger$4('waitForFileWithContent', filePath);
1683
+ logger$3('waitForFileWithContent', filePath);
1684
1684
  if (isBusy) {
1685
1685
  return;
1686
1686
  }
@@ -1892,7 +1892,7 @@ class CancelableInterval {
1892
1892
  }
1893
1893
  catch (error) {
1894
1894
  if (error instanceof DOMException && error.name === 'AbortError') {
1895
- logger$4('Previous task was canceled.');
1895
+ logger$3('Previous task was canceled.');
1896
1896
  }
1897
1897
  else {
1898
1898
  console.error('Task error:', error);
@@ -2261,6 +2261,31 @@ WHERE \`uid\` IS NULL
2261
2261
  AND \`source\`.\`property_value\` = \`metadata\`.\`property_value\`
2262
2262
  );
2263
2263
  `;
2264
+ const migrationSql_0020_add_pending_writes = `CREATE TABLE \`pending_writes\` (
2265
+ \`id\` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
2266
+ \`op_id\` text NOT NULL,
2267
+ \`group_id\` text,
2268
+ \`seed_local_id\` text NOT NULL,
2269
+ \`property_name\` text,
2270
+ \`kind\` text NOT NULL,
2271
+ \`value\` text,
2272
+ \`value_ref\` text,
2273
+ \`base_row_id\` text,
2274
+ \`base_uid\` text,
2275
+ \`created_at\` integer NOT NULL,
2276
+ \`tab_id\` text,
2277
+ \`status\` text NOT NULL,
2278
+ \`error\` text,
2279
+ \`attempts\` integer DEFAULT 0 NOT NULL,
2280
+ \`applied_at\` integer,
2281
+ \`result\` text,
2282
+ \`conflict\` text,
2283
+ \`conflict_resolved_at\` integer
2284
+ );
2285
+ --> statement-breakpoint
2286
+ CREATE UNIQUE INDEX \`pending_writes_op_id_unique\` ON \`pending_writes\` (\`op_id\`);--> statement-breakpoint
2287
+ CREATE INDEX \`pending_writes_drain_order\` ON \`pending_writes\` (\`status\`,\`seed_local_id\`,\`property_name\`,\`created_at\`);`;
2288
+ const migrationSql_0021_add_pending_write_error_name = `ALTER TABLE \`pending_writes\` ADD \`error_name\` text;`;
2264
2289
  // Journal JSON file
2265
2290
  const journalJson = `{
2266
2291
  "version": "7",
@@ -2405,6 +2430,20 @@ const journalJson = `{
2405
2430
  "when": 1774900000000,
2406
2431
  "tag": "0019_add_derived_from_uid_to_metadata",
2407
2432
  "breakpoints": true
2433
+ },
2434
+ {
2435
+ "idx": 20,
2436
+ "version": "6",
2437
+ "when": 1792354539632,
2438
+ "tag": "0020_add_pending_writes",
2439
+ "breakpoints": true
2440
+ },
2441
+ {
2442
+ "idx": 21,
2443
+ "version": "6",
2444
+ "when": 1792414753260,
2445
+ "tag": "0021_add_pending_write_error_name",
2446
+ "breakpoints": true
2408
2447
  }
2409
2448
  ]
2410
2449
  }`;
@@ -2413,8 +2452,8 @@ const journalJson = `{
2413
2452
  const snapshotJson = `{
2414
2453
  "version": "6",
2415
2454
  "dialect": "sqlite",
2416
- "id": "dd5a777b-e1a9-4b35-82c6-b0c2c7a8ef4d",
2417
- "prevId": "ab739b16-741c-4ac4-b3bc-a894ef2582a1",
2455
+ "id": "c33040d2-3fd4-4a1a-a55b-2cd5fc622377",
2456
+ "prevId": "3cf4e0c7-569e-4f14-bb99-56cef0694448",
2418
2457
  "tables": {
2419
2458
  "appState": {
2420
2459
  "name": "appState",
@@ -3259,6 +3298,175 @@ const snapshotJson = `{
3259
3298
  "uniqueConstraints": {},
3260
3299
  "checkConstraints": {}
3261
3300
  },
3301
+ "pending_writes": {
3302
+ "name": "pending_writes",
3303
+ "columns": {
3304
+ "id": {
3305
+ "name": "id",
3306
+ "type": "integer",
3307
+ "primaryKey": true,
3308
+ "notNull": true,
3309
+ "autoincrement": true
3310
+ },
3311
+ "op_id": {
3312
+ "name": "op_id",
3313
+ "type": "text",
3314
+ "primaryKey": false,
3315
+ "notNull": true,
3316
+ "autoincrement": false
3317
+ },
3318
+ "group_id": {
3319
+ "name": "group_id",
3320
+ "type": "text",
3321
+ "primaryKey": false,
3322
+ "notNull": false,
3323
+ "autoincrement": false
3324
+ },
3325
+ "seed_local_id": {
3326
+ "name": "seed_local_id",
3327
+ "type": "text",
3328
+ "primaryKey": false,
3329
+ "notNull": true,
3330
+ "autoincrement": false
3331
+ },
3332
+ "property_name": {
3333
+ "name": "property_name",
3334
+ "type": "text",
3335
+ "primaryKey": false,
3336
+ "notNull": false,
3337
+ "autoincrement": false
3338
+ },
3339
+ "kind": {
3340
+ "name": "kind",
3341
+ "type": "text",
3342
+ "primaryKey": false,
3343
+ "notNull": true,
3344
+ "autoincrement": false
3345
+ },
3346
+ "value": {
3347
+ "name": "value",
3348
+ "type": "text",
3349
+ "primaryKey": false,
3350
+ "notNull": false,
3351
+ "autoincrement": false
3352
+ },
3353
+ "value_ref": {
3354
+ "name": "value_ref",
3355
+ "type": "text",
3356
+ "primaryKey": false,
3357
+ "notNull": false,
3358
+ "autoincrement": false
3359
+ },
3360
+ "base_row_id": {
3361
+ "name": "base_row_id",
3362
+ "type": "text",
3363
+ "primaryKey": false,
3364
+ "notNull": false,
3365
+ "autoincrement": false
3366
+ },
3367
+ "base_uid": {
3368
+ "name": "base_uid",
3369
+ "type": "text",
3370
+ "primaryKey": false,
3371
+ "notNull": false,
3372
+ "autoincrement": false
3373
+ },
3374
+ "created_at": {
3375
+ "name": "created_at",
3376
+ "type": "integer",
3377
+ "primaryKey": false,
3378
+ "notNull": true,
3379
+ "autoincrement": false
3380
+ },
3381
+ "tab_id": {
3382
+ "name": "tab_id",
3383
+ "type": "text",
3384
+ "primaryKey": false,
3385
+ "notNull": false,
3386
+ "autoincrement": false
3387
+ },
3388
+ "status": {
3389
+ "name": "status",
3390
+ "type": "text",
3391
+ "primaryKey": false,
3392
+ "notNull": true,
3393
+ "autoincrement": false
3394
+ },
3395
+ "error": {
3396
+ "name": "error",
3397
+ "type": "text",
3398
+ "primaryKey": false,
3399
+ "notNull": false,
3400
+ "autoincrement": false
3401
+ },
3402
+ "error_name": {
3403
+ "name": "error_name",
3404
+ "type": "text",
3405
+ "primaryKey": false,
3406
+ "notNull": false,
3407
+ "autoincrement": false
3408
+ },
3409
+ "attempts": {
3410
+ "name": "attempts",
3411
+ "type": "integer",
3412
+ "primaryKey": false,
3413
+ "notNull": true,
3414
+ "autoincrement": false,
3415
+ "default": 0
3416
+ },
3417
+ "applied_at": {
3418
+ "name": "applied_at",
3419
+ "type": "integer",
3420
+ "primaryKey": false,
3421
+ "notNull": false,
3422
+ "autoincrement": false
3423
+ },
3424
+ "result": {
3425
+ "name": "result",
3426
+ "type": "text",
3427
+ "primaryKey": false,
3428
+ "notNull": false,
3429
+ "autoincrement": false
3430
+ },
3431
+ "conflict": {
3432
+ "name": "conflict",
3433
+ "type": "text",
3434
+ "primaryKey": false,
3435
+ "notNull": false,
3436
+ "autoincrement": false
3437
+ },
3438
+ "conflict_resolved_at": {
3439
+ "name": "conflict_resolved_at",
3440
+ "type": "integer",
3441
+ "primaryKey": false,
3442
+ "notNull": false,
3443
+ "autoincrement": false
3444
+ }
3445
+ },
3446
+ "indexes": {
3447
+ "pending_writes_op_id_unique": {
3448
+ "name": "pending_writes_op_id_unique",
3449
+ "columns": [
3450
+ "op_id"
3451
+ ],
3452
+ "isUnique": true
3453
+ },
3454
+ "pending_writes_drain_order": {
3455
+ "name": "pending_writes_drain_order",
3456
+ "columns": [
3457
+ "status",
3458
+ "seed_local_id",
3459
+ "property_name",
3460
+ "created_at"
3461
+ ],
3462
+ "isUnique": false
3463
+ }
3464
+ },
3465
+ "foreignKeys": {},
3466
+ "compositePrimaryKeys": {},
3467
+ "uniqueConstraints": {},
3468
+ "checkConstraints": {}
3469
+ },
3262
3470
  "property_uids": {
3263
3471
  "name": "property_uids",
3264
3472
  "columns": {
@@ -3814,6 +4022,8 @@ var drizzleFiles = /*#__PURE__*/Object.freeze({
3814
4022
  migrationSql_0017_add_revoked_at_to_versions: migrationSql_0017_add_revoked_at_to_versions,
3815
4023
  migrationSql_0018_add_storage_settings_to_properties: migrationSql_0018_add_storage_settings_to_properties,
3816
4024
  migrationSql_0019_add_derived_from_uid_to_metadata: migrationSql_0019_add_derived_from_uid_to_metadata,
4025
+ migrationSql_0020_add_pending_writes: migrationSql_0020_add_pending_writes,
4026
+ migrationSql_0021_add_pending_write_error_name: migrationSql_0021_add_pending_write_error_name,
3817
4027
  snapshotJson: snapshotJson
3818
4028
  });
3819
4029
 
@@ -3874,38 +4084,6 @@ async function applyEmbeddedMigrations(db, migrations, migrationsTable = '__driz
3874
4084
  }
3875
4085
  }
3876
4086
 
3877
- const logger$3 = debug('seedSdk:browser:db:sqliteBusyRetry');
3878
- /** Waits between attempts; about 1 s in total. */
3879
- const SQLITE_BUSY_RETRY_DELAYS_MS = [25, 75, 150, 300, 450];
3880
- /**
3881
- * Another connection (usually another tab) holds the database lock. SQLite reports this as
3882
- * SQLITE_BUSY ("database is locked") or SQLITE_LOCKED ("database table is locked").
3883
- */
3884
- function isSqliteBusyError(error) {
3885
- const message = error instanceof Error ? error.message : String(error);
3886
- return /SQLITE_BUSY|SQLITE_LOCKED|database (table )?is locked/i.test(message);
3887
- }
3888
- /**
3889
- * Retries a statement another tab's lock rejected. Safe for the SDK's writes because each is a
3890
- * single autocommit statement: one that failed with SQLITE_BUSY didn't apply. Don't use this for
3891
- * statements inside a transaction, where a retry would replay part of it.
3892
- */
3893
- function withSqliteBusyRetry(driver, delaysMs = SQLITE_BUSY_RETRY_DELAYS_MS) {
3894
- return async (...args) => {
3895
- for (let attempt = 0;; attempt++) {
3896
- try {
3897
- return await driver(...args);
3898
- }
3899
- catch (error) {
3900
- if (!isSqliteBusyError(error) || attempt >= delaysMs.length)
3901
- throw error;
3902
- logger$3(`database busy (attempt ${attempt + 1}); retrying`);
3903
- await new Promise((resolve) => setTimeout(resolve, delaysMs[attempt]));
3904
- }
3905
- }
3906
- };
3907
- }
3908
-
3909
4087
  const logger$2 = debug('seedSdk:browser:db:createSqlocalDrizzle');
3910
4088
  /** First sqlocal work can include sqlite-wasm fetch; keep this long to avoid false positives. */
3911
4089
  const SQLOCAL_FIRST_QUERY_TIMEOUT_MS = 90000;
@@ -4069,10 +4247,10 @@ class BrowserDb {
4069
4247
  }
4070
4248
  await this.runMigrations(db);
4071
4249
  this.appDb = db;
4072
- const { backfillMetadataPropertyIds } = await import('./backfillMetadataPropertyIds-CzSbuucw.js');
4250
+ const { backfillMetadataPropertyIds } = await import('./backfillMetadataPropertyIds-DEvD0OAT.js');
4073
4251
  await backfillMetadataPropertyIds();
4074
4252
  // One-time: clear item data whose model can't be determined (seeds.model_file_id, migration 0015)
4075
- const { resetAmbiguousLegacyItemData } = await import('./resetAmbiguousLegacyItemData-Cy8ik7xk.js');
4253
+ const { resetAmbiguousLegacyItemData } = await import('./resetAmbiguousLegacyItemData-77CZ8HT7.js');
4076
4254
  await resetAmbiguousLegacyItemData();
4077
4255
  })(), workerFailed);
4078
4256
  return this.appDb;
@@ -4222,6 +4400,30 @@ class BrowserDb {
4222
4400
  }
4223
4401
  });
4224
4402
  }
4403
+ /**
4404
+ * One SQLocal transaction (Drizzle's own `transaction()` isn't isolated over the SQLocal
4405
+ * driver). `fn` gets a Drizzle database whose statements SQLocal runs in the transaction: each
4406
+ * is handed to the transaction's `query` shaped as a Drizzle statement, so SQLocal tags it with
4407
+ * the transaction and runs it through its driver, and the raw result goes back to Drizzle.
4408
+ */
4409
+ async transaction(fn) {
4410
+ const sqlocal = this.sqlocalInstance;
4411
+ if (!sqlocal || !this.appDb)
4412
+ throw new Error('Database not prepared');
4413
+ return sqlocal.transaction(async (handle) => {
4414
+ const txDriver = async (sqlText, params, method) => {
4415
+ const statement = {
4416
+ getSQL: () => undefined,
4417
+ toSQL: () => ({ sql: sqlText, params }),
4418
+ // Called synchronously by `query` right after it queues the transaction's key, which
4419
+ // the driver takes before its first await.
4420
+ all: () => sqlocal.driver(sqlText, params, method),
4421
+ };
4422
+ return (await handle.query(statement));
4423
+ };
4424
+ return fn(drizzle(txDriver, { schema }));
4425
+ });
4426
+ }
4225
4427
  async migrate(pathToDbDir, _dbName, _dbId) {
4226
4428
  const targetDb = this.appDb;
4227
4429
  if (!targetDb) {
@@ -4264,13 +4466,22 @@ class BrowserDb {
4264
4466
  throw new Error('Reactive queries not enabled. Initialize SQLocalDrizzle with reactive: true.');
4265
4467
  }
4266
4468
  const baseObservable = new Observable((subscriber) => {
4267
- const reactiveQueryResult = this.sqlocalInstance.reactiveQuery(query);
4268
- const subscription = reactiveQueryResult.subscribe((data) => {
4269
- subscriber.next(data);
4270
- }, (err) => {
4271
- console.error('[BaseDb.liveQuery] SQLocal reactiveQuery error:', err);
4272
- subscriber.error(err);
4273
- });
4469
+ // Setup errors (bad SQL, a closed database) go to the subscriber like query errors, so
4470
+ // callers see them as an error notification rather than only in the console.
4471
+ let subscription;
4472
+ try {
4473
+ subscription = this.sqlocalInstance.reactiveQuery(query).subscribe((data) => {
4474
+ subscriber.next(data);
4475
+ }, (err) => {
4476
+ logger$1('[BaseDb.liveQuery] SQLocal reactiveQuery error:', err);
4477
+ subscriber.error(err);
4478
+ });
4479
+ }
4480
+ catch (error) {
4481
+ logger$1('[BaseDb.liveQuery] SQLocal reactiveQuery setup failed:', error);
4482
+ subscriber.error(error);
4483
+ return;
4484
+ }
4274
4485
  return () => {
4275
4486
  subscription.unsubscribe();
4276
4487
  };
@@ -4447,7 +4658,7 @@ class BrowserEasClient {
4447
4658
  getEasClient() {
4448
4659
  const url = getEasEndpoint();
4449
4660
  if (this.easClient?.url !== url) {
4450
- this.easClient = { url, client: new GraphQLClient(url) };
4661
+ this.easClient = { url, client: createEasGraphQLClient(url) };
4451
4662
  }
4452
4663
  return this.easClient.client;
4453
4664
  }
@@ -4513,4 +4724,4 @@ function resolveFilesDir(filesDir) {
4513
4724
  }
4514
4725
 
4515
4726
  export { createPlatformServices as c, isSkippableOpfsEntryError as i, resolveFilesDir as r };
4516
- //# sourceMappingURL=index.browser-nndbVM7z.js.map
4727
+ //# sourceMappingURL=index.browser-kY8M-xUA.js.map