@seedprotocol/sdk 0.3.1 → 0.3.3

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 (894) hide show
  1. package/dist/ArweaveClient-2RMCxfNZ.js +13 -0
  2. package/dist/ArweaveClient-2RMCxfNZ.js.map +1 -0
  3. package/dist/ArweaveClient-COlwyYTF.js +13 -0
  4. package/dist/ArweaveClient-COlwyYTF.js.map +1 -0
  5. package/dist/Db-CRWMiKY9.js +384 -0
  6. package/dist/Db-CRWMiKY9.js.map +1 -0
  7. package/dist/Db-G5dIgZv-.js +81 -0
  8. package/dist/Db-G5dIgZv-.js.map +1 -0
  9. package/dist/EasClient-CFnb5g-r.js +13 -0
  10. package/dist/EasClient-CFnb5g-r.js.map +1 -0
  11. package/dist/EasClient-CO5puCWa.js +10 -0
  12. package/dist/EasClient-CO5puCWa.js.map +1 -0
  13. package/dist/FileManager-BOixZyex.js +50 -0
  14. package/dist/FileManager-BOixZyex.js.map +1 -0
  15. package/dist/FileManager-gKGTTa4s.js +1045 -0
  16. package/dist/FileManager-gKGTTa4s.js.map +1 -0
  17. package/dist/Item-BD2_tuda.js +34 -0
  18. package/dist/Item-BD2_tuda.js.map +1 -0
  19. package/dist/ItemProperty-CjcrzEmg.js +33 -0
  20. package/dist/ItemProperty-CjcrzEmg.js.map +1 -0
  21. package/dist/QueryClient-W4slRa7O.js +22 -0
  22. package/dist/QueryClient-W4slRa7O.js.map +1 -0
  23. package/dist/QueryClient-ZUsZ1Qxq.js +22 -0
  24. package/dist/QueryClient-ZUsZ1Qxq.js.map +1 -0
  25. package/dist/bin.js +7 -6
  26. package/dist/bin.js.map +1 -1
  27. package/dist/constants-C-6Pg8FW.js +235 -0
  28. package/dist/constants-C-6Pg8FW.js.map +1 -0
  29. package/dist/index-BxAVepOO.js +25 -0
  30. package/dist/index-BxAVepOO.js.map +1 -0
  31. package/dist/index-D-O-gmXo.js +7930 -0
  32. package/dist/index-D-O-gmXo.js.map +1 -0
  33. package/dist/main.js +4 -5
  34. package/dist/main.js.map +1 -1
  35. package/dist/scripts/bin.d.ts.map +1 -0
  36. package/dist/seed.schema.config-DmTl3a9U.js +73 -0
  37. package/dist/seed.schema.config-DmTl3a9U.js.map +1 -0
  38. package/dist/src/Item/BaseItem.d.ts.map +1 -0
  39. package/dist/src/Item/index.d.ts.map +1 -0
  40. package/dist/src/Item/queries.d.ts.map +1 -0
  41. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +1 -0
  42. package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +1 -0
  43. package/dist/src/Item/service/actors/hydrateNewItem.d.ts.map +1 -0
  44. package/dist/src/Item/service/actors/initialize.d.ts.map +1 -0
  45. package/dist/src/Item/service/actors/reload.d.ts.map +1 -0
  46. package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -0
  47. package/dist/src/Item/service/actors/waitForDb.d.ts.map +1 -0
  48. package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -0
  49. package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +1 -0
  50. package/dist/src/ItemProperty/index.d.ts.map +1 -0
  51. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -0
  52. package/dist/src/ItemProperty/service/actors/index.d.ts.map +1 -0
  53. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -0
  54. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -0
  55. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -0
  56. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -0
  57. package/dist/src/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +1 -0
  58. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.d.ts.map +1 -0
  59. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -0
  60. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -0
  61. package/dist/src/ItemProperty/service/actors/waitForDb.d.ts.map +1 -0
  62. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -0
  63. package/dist/src/browser/Item/Item.d.ts.map +1 -0
  64. package/dist/src/browser/Item/index.d.ts.map +1 -0
  65. package/dist/src/browser/ItemProperty/ItemProperty.d.ts.map +1 -0
  66. package/dist/src/browser/ItemProperty/index.d.ts.map +1 -0
  67. package/dist/src/browser/db/Db.d.ts.map +1 -0
  68. package/dist/src/browser/db/index.d.ts.map +1 -0
  69. package/dist/src/browser/db/sqlWasmClient.d.ts.map +1 -0
  70. package/dist/src/browser/helpers/ArweaveClient.d.ts.map +1 -0
  71. package/dist/src/browser/helpers/EasClient.d.ts.map +1 -0
  72. package/dist/src/browser/helpers/FileManager.d.ts +25 -0
  73. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -0
  74. package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -0
  75. package/dist/src/browser/helpers/index.d.ts.map +1 -0
  76. package/dist/src/browser/index.d.ts.map +1 -0
  77. package/dist/src/browser/react/OPFSImage.d.ts +7 -0
  78. package/dist/src/browser/react/OPFSImage.d.ts.map +1 -0
  79. package/dist/src/browser/react/db.d.ts.map +1 -0
  80. package/dist/src/browser/react/index.d.ts.map +1 -0
  81. package/dist/src/browser/react/item.d.ts.map +1 -0
  82. package/dist/src/browser/react/property.d.ts.map +1 -0
  83. package/dist/src/browser/react/services.d.ts.map +1 -0
  84. package/dist/src/browser/react/trash.d.ts.map +1 -0
  85. package/dist/src/browser/seed.d.ts.map +1 -0
  86. package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -0
  87. package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -0
  88. package/dist/src/browser/workers/content-hash.d.ts.map +1 -0
  89. package/dist/src/browser/workers/filesDownload.d.ts.map +1 -0
  90. package/dist/src/browser/workers/imageResize.d.ts.map +1 -0
  91. package/dist/src/client/BaseClientManager.d.ts.map +1 -0
  92. package/dist/src/client/ClientManager.d.ts +27 -0
  93. package/dist/src/client/ClientManager.d.ts.map +1 -0
  94. package/dist/src/client/actions/setAddresses.d.ts.map +1 -0
  95. package/dist/src/client/actors/initialize.d.ts.map +1 -0
  96. package/dist/src/client/actors/saveAppState.d.ts.map +1 -0
  97. package/dist/src/client/clientManagerMachine.d.ts.map +1 -0
  98. package/dist/src/client/index.d.ts.map +1 -0
  99. package/dist/src/db/Db/BaseDb.d.ts.map +1 -0
  100. package/dist/src/db/Db/index.d.ts.map +1 -0
  101. package/dist/src/db/configs/browser.app.db.config.d.ts.map +1 -0
  102. package/dist/src/db/configs/node.app.db.config.d.ts.map +1 -0
  103. package/dist/src/db/configs/seed.schema.config.d.ts.map +1 -0
  104. package/dist/src/db/read/getExistingItem.d.ts.map +1 -0
  105. package/dist/src/db/read/getItem.d.ts.map +1 -0
  106. package/dist/src/db/read/getItemData.d.ts.map +1 -0
  107. package/dist/src/db/read/getItemProperties.d.ts.map +1 -0
  108. package/dist/src/db/read/getItemProperty.d.ts.map +1 -0
  109. package/dist/src/db/read/getItems.d.ts.map +1 -0
  110. package/dist/src/db/read/getMetadata.d.ts.map +1 -0
  111. package/dist/src/db/read/getModelSchemas.d.ts.map +1 -0
  112. package/dist/src/db/read/getPropertyData.d.ts.map +1 -0
  113. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -0
  114. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -0
  115. package/dist/src/db/read/getRelationValueData.d.ts.map +1 -0
  116. package/dist/src/db/read/getSchemaUidForModel.d.ts.map +1 -0
  117. package/dist/src/db/read/getSeedData.d.ts.map +1 -0
  118. package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -0
  119. package/dist/src/db/read/getVersionData.d.ts.map +1 -0
  120. package/dist/src/db/read/getVersionsForVersionUids.d.ts.map +1 -0
  121. package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -0
  122. package/dist/src/db/read/subqueries/versionData.d.ts.map +1 -0
  123. package/dist/src/db/write/createMetadata.d.ts.map +1 -0
  124. package/dist/src/db/write/createNewItem.d.ts.map +1 -0
  125. package/dist/src/db/write/createSeed.d.ts.map +1 -0
  126. package/dist/src/db/write/createSeeds.d.ts.map +1 -0
  127. package/dist/src/db/write/createVersion.d.ts.map +1 -0
  128. package/dist/src/db/write/deleteItem.d.ts.map +1 -0
  129. package/dist/src/db/write/recoverDeletedItem.d.ts.map +1 -0
  130. package/dist/src/db/write/saveAppState.d.ts.map +1 -0
  131. package/dist/src/db/write/saveMetadata.d.ts.map +1 -0
  132. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +1 -0
  133. package/dist/src/db/write/updateMetadata.d.ts.map +1 -0
  134. package/dist/src/eventBus.d.ts.map +1 -0
  135. package/dist/src/events/files/download.d.ts.map +1 -0
  136. package/dist/src/events/files/index.d.ts.map +1 -0
  137. package/dist/src/events/index.d.ts.map +1 -0
  138. package/dist/src/events/item/create.d.ts.map +1 -0
  139. package/dist/src/events/item/index.d.ts.map +1 -0
  140. package/dist/src/events/item/publish.d.ts.map +1 -0
  141. package/dist/src/events/item/request.d.ts.map +1 -0
  142. package/dist/src/events/item/requestAll.d.ts.map +1 -0
  143. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -0
  144. package/dist/src/events/services/allItems.d.ts.map +1 -0
  145. package/dist/src/events/services/index.d.ts.map +1 -0
  146. package/dist/src/graphql/fragments/Attestation.d.ts.map +1 -0
  147. package/dist/src/graphql/fragments/Schema.d.ts.map +1 -0
  148. package/dist/src/graphql/fragments/index.d.ts.map +1 -0
  149. package/dist/src/graphql/gql/fragment-masking.d.ts.map +1 -0
  150. package/dist/src/graphql/gql/gql.d.ts.map +1 -0
  151. package/dist/src/graphql/gql/graphql.d.ts.map +1 -0
  152. package/dist/src/graphql/gql/index.d.ts.map +1 -0
  153. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -0
  154. package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -0
  155. package/dist/src/helpers/ArweaveClient/queries.d.ts.map +1 -0
  156. package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +1 -0
  157. package/dist/src/helpers/EasClient/index.d.ts.map +1 -0
  158. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +20 -0
  159. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -0
  160. package/dist/src/helpers/FileManager/index.d.ts.map +1 -0
  161. package/dist/src/helpers/QueryClient/BaseQueryClient.d.ts.map +1 -0
  162. package/dist/src/helpers/QueryClient/index.d.ts.map +1 -0
  163. package/dist/src/helpers/constants.d.ts.map +1 -0
  164. package/dist/src/helpers/db.d.ts.map +1 -0
  165. package/dist/src/helpers/environment.d.ts.map +1 -0
  166. package/dist/src/helpers/files.d.ts.map +1 -0
  167. package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +1 -0
  168. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -0
  169. package/dist/src/helpers/index.d.ts.map +1 -0
  170. package/dist/src/helpers/updateMachineContext.d.ts.map +1 -0
  171. package/dist/src/index.d.ts +8 -5
  172. package/dist/src/index.d.ts.map +1 -0
  173. package/dist/src/interfaces/IDb.d.ts.map +1 -0
  174. package/dist/src/interfaces/IEasClient.d.ts.map +1 -0
  175. package/dist/src/interfaces/IItem.d.ts.map +1 -0
  176. package/dist/src/interfaces/IItemProperty.d.ts.map +1 -0
  177. package/dist/src/interfaces/IQueryClient.d.ts.map +1 -0
  178. package/dist/src/interfaces/index.d.ts.map +1 -0
  179. package/dist/src/node/Item/Item.d.ts.map +1 -0
  180. package/dist/src/node/ItemProperty/ItemProperty.d.ts.map +1 -0
  181. package/dist/src/node/codegen/drizzle.d.ts.map +1 -0
  182. package/dist/src/node/codegen/index.d.ts.map +1 -0
  183. package/dist/src/node/codegen/ts-to-proto.d.ts.map +1 -0
  184. package/dist/src/node/constants.d.ts.map +1 -0
  185. package/dist/src/node/db/Db.d.ts.map +1 -0
  186. package/dist/src/node/db/index.d.ts.map +1 -0
  187. package/dist/src/node/db/node.app.db.config.d.ts.map +1 -0
  188. package/dist/src/node/helpers/ArweaveClient.d.ts.map +1 -0
  189. package/dist/src/node/helpers/EasClient.d.ts.map +1 -0
  190. package/dist/src/node/helpers/FileManager.d.ts.map +1 -0
  191. package/dist/src/node/helpers/QueryClient.d.ts.map +1 -0
  192. package/dist/src/node/helpers/index.d.ts.map +1 -0
  193. package/dist/src/node/index.d.ts.map +1 -0
  194. package/dist/src/node/seed.d.ts.map +1 -0
  195. package/dist/src/node/webpack/index.d.ts.map +1 -0
  196. package/dist/src/schema/file/download/actors.d.ts.map +1 -0
  197. package/dist/src/schema/file/download/index.d.ts.map +1 -0
  198. package/dist/src/schema/file/fetchAll/actors.d.ts.map +1 -0
  199. package/dist/src/schema/file/fetchAll/index.d.ts.map +1 -0
  200. package/dist/src/schema/file/queries.d.ts.map +1 -0
  201. package/dist/src/schema/image/queries.d.ts.map +1 -0
  202. package/dist/src/schema/index.d.ts.map +1 -0
  203. package/dist/src/schema/model/index.d.ts.map +1 -0
  204. package/dist/src/schema/property/index.d.ts.map +1 -0
  205. package/dist/src/seedSchema/AppStateSchema.d.ts.map +1 -0
  206. package/dist/src/seedSchema/ConfigSchema.d.ts.map +1 -0
  207. package/dist/src/seedSchema/MetadataSchema.d.ts.map +1 -0
  208. package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -0
  209. package/dist/src/seedSchema/ModelUidSchema.d.ts.map +1 -0
  210. package/dist/src/seedSchema/PropertyUidSchema.d.ts.map +1 -0
  211. package/dist/src/seedSchema/SeedSchema.d.ts.map +1 -0
  212. package/dist/src/seedSchema/VersionSchema.d.ts.map +1 -0
  213. package/dist/src/seedSchema/index.d.ts.map +1 -0
  214. package/dist/src/services/allItems/actors/fetchDbData.d.ts.map +1 -0
  215. package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts.map +1 -0
  216. package/dist/src/services/allItems/actors/fetchSeeds.d.ts.map +1 -0
  217. package/dist/src/services/allItems/actors/fetchVersions.d.ts.map +1 -0
  218. package/dist/src/services/allItems/actors/initialize.d.ts.map +1 -0
  219. package/dist/src/services/allItems/actors/processItems.d.ts.map +1 -0
  220. package/dist/src/services/allItems/itemMachineAll.d.ts.map +1 -0
  221. package/dist/src/services/db/actors/checkStatus.d.ts.map +1 -0
  222. package/dist/src/services/db/actors/connectToDb.d.ts.map +1 -0
  223. package/dist/src/services/db/actors/migrate.d.ts.map +1 -0
  224. package/dist/src/services/db/actors/validate.d.ts.map +1 -0
  225. package/dist/src/services/db/actors/waitForFiles.d.ts.map +1 -0
  226. package/dist/src/services/db/connectionManager.d.ts.map +1 -0
  227. package/dist/src/services/db/dbMachine.d.ts.map +1 -0
  228. package/dist/src/services/db/index.d.ts.map +1 -0
  229. package/dist/src/services/events.d.ts.map +1 -0
  230. package/dist/src/services/global/actors/addModelsToDb.d.ts.map +1 -0
  231. package/dist/src/services/global/actors/getSchemaForModel.d.ts.map +1 -0
  232. package/dist/src/services/global/actors/initialize.d.ts.map +1 -0
  233. package/dist/src/services/global/actors/savePublishService.d.ts.map +1 -0
  234. package/dist/src/services/global/globalMachine.d.ts.map +1 -0
  235. package/dist/src/services/global/index.d.ts.map +1 -0
  236. package/dist/src/services/internal/actors/configureFs.d.ts.map +1 -0
  237. package/dist/src/services/internal/actors/loadAppDb.d.ts.map +1 -0
  238. package/dist/src/services/internal/actors/prepareDb.d.ts.map +1 -0
  239. package/dist/src/services/internal/actors/saveConfig.d.ts.map +1 -0
  240. package/dist/src/services/internal/actors/validateInput.d.ts.map +1 -0
  241. package/dist/src/services/internal/actors/waitForFiles.d.ts.map +1 -0
  242. package/dist/src/services/internal/constants.d.ts.map +1 -0
  243. package/dist/src/services/internal/helpers.d.ts.map +1 -0
  244. package/dist/src/services/internal/internalMachine.d.ts.map +1 -0
  245. package/dist/src/services/internal/queries.d.ts.map +1 -0
  246. package/dist/src/services/internal/types.d.ts.map +1 -0
  247. package/dist/src/services/publish/actors/createPublishAttempt.d.ts.map +1 -0
  248. package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +1 -0
  249. package/dist/src/services/publish/actors/upload.d.ts.map +1 -0
  250. package/dist/src/services/publish/actors/validateItemData.d.ts.map +1 -0
  251. package/dist/src/services/publish/publishMachine.d.ts.map +1 -0
  252. package/dist/src/stores/eas.d.ts.map +1 -0
  253. package/dist/src/stores/modelClass.d.ts.map +1 -0
  254. package/dist/src/types/browser.d.ts.map +1 -0
  255. package/dist/src/types/db.d.ts.map +1 -0
  256. package/dist/src/types/fileManager.d.ts.map +1 -0
  257. package/dist/src/types/helpers.d.ts.map +1 -0
  258. package/dist/src/types/index.d.ts.map +1 -0
  259. package/dist/src/types/item.d.ts.map +1 -0
  260. package/dist/src/types/machines.d.ts.map +1 -0
  261. package/dist/src/types/model.d.ts.map +1 -0
  262. package/dist/src/types/property.d.ts.map +1 -0
  263. package/dist/src/types/seedProtocol.d.ts.map +1 -0
  264. package/dist/src/types/services.d.ts.map +1 -0
  265. package/package.json +7 -15
  266. package/dist/ArweaveClient-C0g0es2v.js +0 -13
  267. package/dist/ArweaveClient-C0g0es2v.js.map +0 -1
  268. package/dist/ArweaveClient-CzkBgiZY.js +0 -13
  269. package/dist/ArweaveClient-CzkBgiZY.js.map +0 -1
  270. package/dist/Db-C4oog-0n.js +0 -385
  271. package/dist/Db-C4oog-0n.js.map +0 -1
  272. package/dist/Db-VPouegkr.js +0 -82
  273. package/dist/Db-VPouegkr.js.map +0 -1
  274. package/dist/EasClient-B9a3NsTi.js +0 -10
  275. package/dist/EasClient-B9a3NsTi.js.map +0 -1
  276. package/dist/EasClient-DQ93i2ci.js +0 -13
  277. package/dist/EasClient-DQ93i2ci.js.map +0 -1
  278. package/dist/FileManager-_ErxVuwb.js +0 -50
  279. package/dist/FileManager-_ErxVuwb.js.map +0 -1
  280. package/dist/Item-D9HFPxsK.js +0 -35
  281. package/dist/Item-D9HFPxsK.js.map +0 -1
  282. package/dist/ItemProperty-BdtvKrEy.js +0 -34
  283. package/dist/ItemProperty-BdtvKrEy.js.map +0 -1
  284. package/dist/QueryClient-Bmnv_moN.js +0 -22
  285. package/dist/QueryClient-Bmnv_moN.js.map +0 -1
  286. package/dist/QueryClient-hzOtFe99.js +0 -22
  287. package/dist/QueryClient-hzOtFe99.js.map +0 -1
  288. package/dist/constants-Bhl5dZpN.js +0 -227
  289. package/dist/constants-Bhl5dZpN.js.map +0 -1
  290. package/dist/index-BAtjd9W-.js +0 -26
  291. package/dist/index-BAtjd9W-.js.map +0 -1
  292. package/dist/index-BSR5hv7Q.js +0 -8940
  293. package/dist/index-BSR5hv7Q.js.map +0 -1
  294. package/dist/seed.schema.config-BxJYabim.js +0 -74
  295. package/dist/seed.schema.config-BxJYabim.js.map +0 -1
  296. package/dist/src/AppStateSchema.ts +0 -10
  297. package/dist/src/ArweaveClient.ts +0 -13
  298. package/dist/src/Attestation.ts +0 -21
  299. package/dist/src/BaseArweaveClient.ts +0 -13
  300. package/dist/src/BaseClientManager.ts +0 -35
  301. package/dist/src/BaseDb.ts +0 -35
  302. package/dist/src/BaseEasClient.ts +0 -14
  303. package/dist/src/BaseFileManager.ts +0 -60
  304. package/dist/src/BaseItem.ts +0 -413
  305. package/dist/src/BaseItemProperty.ts +0 -416
  306. package/dist/src/BaseQueryClient.ts +0 -13
  307. package/dist/src/ClientManager.ts +0 -63
  308. package/dist/src/ConfigSchema.ts +0 -15
  309. package/dist/src/Db.ts +0 -82
  310. package/dist/src/EasClient.ts +0 -13
  311. package/dist/src/FileDownloader.ts +0 -63
  312. package/dist/src/FileManager.ts +0 -59
  313. package/dist/src/IDb.ts +0 -7
  314. package/dist/src/IEasClient.ts +0 -2
  315. package/dist/src/IItem.ts +0 -26
  316. package/dist/src/IItemProperty.ts +0 -28
  317. package/dist/src/IQueryClient.ts +0 -11
  318. package/dist/src/ImageResizer.ts +0 -81
  319. package/dist/src/Item.ts +0 -12
  320. package/dist/src/ItemProperty.ts +0 -9
  321. package/dist/src/MetadataSchema.ts +0 -28
  322. package/dist/src/ModelSchema.ts +0 -46
  323. package/dist/src/ModelUidSchema.ts +0 -16
  324. package/dist/src/PropertyUidSchema.ts +0 -16
  325. package/dist/src/QueryClient.ts +0 -26
  326. package/dist/src/Schema.ts +0 -17
  327. package/dist/src/SeedProtocolSdk.d.ts +0 -19
  328. package/dist/src/SeedSchema.ts +0 -29
  329. package/dist/src/VersionSchema.ts +0 -16
  330. package/dist/src/actors.ts +0 -295
  331. package/dist/src/addModelsToDb.ts +0 -152
  332. package/dist/src/allItems.ts +0 -31
  333. package/dist/src/analyzeInput.ts +0 -144
  334. package/dist/src/browser.app.db.config.ts +0 -27
  335. package/dist/src/browser.ts +0 -30
  336. package/dist/src/checkStatus.ts +0 -57
  337. package/dist/src/clientManagerMachine.ts +0 -59
  338. package/dist/src/configureFs.ts +0 -98
  339. package/dist/src/connectToDb.ts +0 -41
  340. package/dist/src/connectionManager.ts +0 -67
  341. package/dist/src/constants.ts +0 -125
  342. package/dist/src/content-hash.ts +0 -30
  343. package/dist/src/create.ts +0 -39
  344. package/dist/src/createMetadata.ts +0 -77
  345. package/dist/src/createNewItem.ts +0 -61
  346. package/dist/src/createPublishAttempt.ts +0 -16
  347. package/dist/src/createSeed.ts +0 -31
  348. package/dist/src/createSeeds.ts +0 -24
  349. package/dist/src/createVersion.ts +0 -33
  350. package/dist/src/dbMachine.ts +0 -182
  351. package/dist/src/deleteItem.ts +0 -19
  352. package/dist/src/download.ts +0 -208
  353. package/dist/src/drizzle.ts +0 -78
  354. package/dist/src/eas.ts +0 -40
  355. package/dist/src/environment.ts +0 -35
  356. package/dist/src/eventBus.ts +0 -5
  357. package/dist/src/events.ts +0 -14
  358. package/dist/src/fetchDataFromEas.ts +0 -94
  359. package/dist/src/fetchDbData.ts +0 -19
  360. package/dist/src/fetchRelatedItems.ts +0 -184
  361. package/dist/src/fetchSeeds.ts +0 -45
  362. package/dist/src/fetchVersions.ts +0 -49
  363. package/dist/src/files.ts +0 -81
  364. package/dist/src/filesDownload.ts +0 -326
  365. package/dist/src/fragment-masking.ts +0 -87
  366. package/dist/src/getExistingItem.ts +0 -60
  367. package/dist/src/getItem.ts +0 -32
  368. package/dist/src/getItemData.ts +0 -99
  369. package/dist/src/getItemProperties.ts +0 -56
  370. package/dist/src/getItemProperty.ts +0 -34
  371. package/dist/src/getItems.ts +0 -70
  372. package/dist/src/getMetadata.ts +0 -40
  373. package/dist/src/getModelSchemas.ts +0 -89
  374. package/dist/src/getPropertyData.ts +0 -50
  375. package/dist/src/getPublishPayload.ts +0 -355
  376. package/dist/src/getPublishUploads.ts +0 -207
  377. package/dist/src/getRelationValueData.ts +0 -27
  378. package/dist/src/getSchemaForItemProperty.ts +0 -68
  379. package/dist/src/getSchemaForModel.ts +0 -42
  380. package/dist/src/getSchemaUidForModel.ts +0 -32
  381. package/dist/src/getSeedData.ts +0 -34
  382. package/dist/src/getSegmentedItemProperties.ts +0 -65
  383. package/dist/src/getStorageTransactionIdForSeedUid.ts +0 -38
  384. package/dist/src/getVersionData.ts +0 -46
  385. package/dist/src/getVersionsForVersionUids.ts +0 -39
  386. package/dist/src/globalMachine.ts +0 -280
  387. package/dist/src/gql.ts +0 -118
  388. package/dist/src/graphql.ts +0 -3209
  389. package/dist/src/helpers.ts +0 -273
  390. package/dist/src/hydrateExistingItem.ts +0 -137
  391. package/dist/src/hydrateFromDb.ts +0 -270
  392. package/dist/src/hydrateNewItem.ts +0 -34
  393. package/dist/src/imageResize.ts +0 -507
  394. package/dist/src/index.ts +0 -4
  395. package/dist/src/initialize.ts +0 -124
  396. package/dist/src/internalMachine.ts +0 -241
  397. package/dist/src/itemMachineAll.ts +0 -157
  398. package/dist/src/itemMachineSingle.ts +0 -158
  399. package/dist/src/loadAppDb.ts +0 -44
  400. package/dist/src/machines.ts +0 -66
  401. package/dist/src/metadataLatest.ts +0 -34
  402. package/dist/src/migrate.ts +0 -57
  403. package/dist/src/model.ts +0 -72
  404. package/dist/src/modelClass.ts +0 -19
  405. package/dist/src/node.app.db.config.ts +0 -41
  406. package/dist/src/prepareDb.ts +0 -29
  407. package/dist/src/preparePublishRequestData.ts +0 -81
  408. package/dist/src/processItems.ts +0 -74
  409. package/dist/src/property.ts +0 -156
  410. package/dist/src/propertyMachine.ts +0 -202
  411. package/dist/src/publish.ts +0 -28
  412. package/dist/src/publishMachine.ts +0 -77
  413. package/dist/src/queries.ts +0 -13
  414. package/dist/src/recoverDeletedItem.ts +0 -14
  415. package/dist/src/reload.ts +0 -33
  416. package/dist/src/request.ts +0 -45
  417. package/dist/src/requestAll.ts +0 -157
  418. package/dist/src/resolveRelatedValue.ts +0 -367
  419. package/dist/src/resolveRemoteStorage.ts +0 -88
  420. package/dist/src/saveAppState.ts +0 -50
  421. package/dist/src/saveConfig.ts +0 -106
  422. package/dist/src/saveDataToDb.ts +0 -145
  423. package/dist/src/saveImageSrc.ts +0 -242
  424. package/dist/src/saveItemStorage.ts +0 -156
  425. package/dist/src/saveMetadata.ts +0 -18
  426. package/dist/src/savePublishService.ts +0 -30
  427. package/dist/src/saveRelation.ts +0 -112
  428. package/dist/src/seed.schema.config.ts +0 -25
  429. package/dist/src/seed.ts +0 -10
  430. package/dist/src/seedProtocol.ts +0 -17
  431. package/dist/src/services.ts +0 -365
  432. package/dist/src/setAddresses.ts +0 -16
  433. package/dist/src/sqlWasmClient.ts +0 -88
  434. package/dist/src/syncDbWithEas.ts +0 -628
  435. package/dist/src/trash.ts +0 -29
  436. package/dist/src/ts-to-proto.ts +0 -101
  437. package/dist/src/types.ts +0 -12
  438. package/dist/src/updateItemPropertyValue.ts +0 -243
  439. package/dist/src/updateMachineContext.ts +0 -21
  440. package/dist/src/updateMetadata.ts +0 -59
  441. package/dist/src/upload.ts +0 -86
  442. package/dist/src/validate.ts +0 -45
  443. package/dist/src/validateInput.ts +0 -43
  444. package/dist/src/validateItemData.ts +0 -20
  445. package/dist/src/versionData.ts +0 -24
  446. package/dist/src/waitForDb.ts +0 -25
  447. package/dist/src/waitForFiles.ts +0 -41
  448. package/dist/src/wasm.d.ts +0 -8300
  449. package/dist/types/scripts/bin.d.ts.map +0 -1
  450. package/dist/types/src/Item/BaseItem.d.ts.map +0 -1
  451. package/dist/types/src/Item/index.d.ts.map +0 -1
  452. package/dist/types/src/Item/queries.d.ts.map +0 -1
  453. package/dist/types/src/Item/service/actors/fetchDataFromEas.d.ts.map +0 -1
  454. package/dist/types/src/Item/service/actors/hydrateExistingItem.d.ts.map +0 -1
  455. package/dist/types/src/Item/service/actors/hydrateNewItem.d.ts.map +0 -1
  456. package/dist/types/src/Item/service/actors/initialize.d.ts.map +0 -1
  457. package/dist/types/src/Item/service/actors/reload.d.ts.map +0 -1
  458. package/dist/types/src/Item/service/actors/saveDataToDb.d.ts.map +0 -1
  459. package/dist/types/src/Item/service/actors/waitForDb.d.ts.map +0 -1
  460. package/dist/types/src/Item/service/itemMachineSingle.d.ts.map +0 -1
  461. package/dist/types/src/ItemProperty/BaseItemProperty.d.ts.map +0 -1
  462. package/dist/types/src/ItemProperty/index.d.ts.map +0 -1
  463. package/dist/types/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +0 -1
  464. package/dist/types/src/ItemProperty/service/actors/index.d.ts.map +0 -1
  465. package/dist/types/src/ItemProperty/service/actors/initialize.d.ts.map +0 -1
  466. package/dist/types/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +0 -1
  467. package/dist/types/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +0 -1
  468. package/dist/types/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +0 -1
  469. package/dist/types/src/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +0 -1
  470. package/dist/types/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.d.ts.map +0 -1
  471. package/dist/types/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +0 -1
  472. package/dist/types/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +0 -1
  473. package/dist/types/src/ItemProperty/service/actors/waitForDb.d.ts.map +0 -1
  474. package/dist/types/src/ItemProperty/service/propertyMachine.d.ts.map +0 -1
  475. package/dist/types/src/browser/Item/Item.d.ts.map +0 -1
  476. package/dist/types/src/browser/Item/index.d.ts.map +0 -1
  477. package/dist/types/src/browser/ItemProperty/ItemProperty.d.ts.map +0 -1
  478. package/dist/types/src/browser/ItemProperty/index.d.ts.map +0 -1
  479. package/dist/types/src/browser/db/Db.d.ts.map +0 -1
  480. package/dist/types/src/browser/db/index.d.ts.map +0 -1
  481. package/dist/types/src/browser/db/sqlWasmClient.d.ts.map +0 -1
  482. package/dist/types/src/browser/helpers/ArweaveClient.d.ts.map +0 -1
  483. package/dist/types/src/browser/helpers/EasClient.d.ts.map +0 -1
  484. package/dist/types/src/browser/helpers/FileManager.d.ts +0 -23
  485. package/dist/types/src/browser/helpers/FileManager.d.ts.map +0 -1
  486. package/dist/types/src/browser/helpers/QueryClient.d.ts.map +0 -1
  487. package/dist/types/src/browser/helpers/index.d.ts.map +0 -1
  488. package/dist/types/src/browser/index.d.ts.map +0 -1
  489. package/dist/types/src/browser/react/db.d.ts.map +0 -1
  490. package/dist/types/src/browser/react/index.d.ts.map +0 -1
  491. package/dist/types/src/browser/react/item.d.ts.map +0 -1
  492. package/dist/types/src/browser/react/property.d.ts.map +0 -1
  493. package/dist/types/src/browser/react/services.d.ts.map +0 -1
  494. package/dist/types/src/browser/react/trash.d.ts.map +0 -1
  495. package/dist/types/src/browser/seed.d.ts.map +0 -1
  496. package/dist/types/src/browser/workers/FileDownloader.d.ts.map +0 -1
  497. package/dist/types/src/browser/workers/ImageResizer.d.ts.map +0 -1
  498. package/dist/types/src/browser/workers/content-hash.d.ts.map +0 -1
  499. package/dist/types/src/browser/workers/filesDownload.d.ts.map +0 -1
  500. package/dist/types/src/browser/workers/imageResize.d.ts.map +0 -1
  501. package/dist/types/src/client/BaseClientManager.d.ts.map +0 -1
  502. package/dist/types/src/client/ClientManager.d.ts +0 -44
  503. package/dist/types/src/client/ClientManager.d.ts.map +0 -1
  504. package/dist/types/src/client/actions/setAddresses.d.ts.map +0 -1
  505. package/dist/types/src/client/actors/initialize.d.ts.map +0 -1
  506. package/dist/types/src/client/actors/saveAppState.d.ts.map +0 -1
  507. package/dist/types/src/client/clientManagerMachine.d.ts.map +0 -1
  508. package/dist/types/src/client/index.d.ts.map +0 -1
  509. package/dist/types/src/db/Db/BaseDb.d.ts.map +0 -1
  510. package/dist/types/src/db/Db/index.d.ts.map +0 -1
  511. package/dist/types/src/db/configs/browser.app.db.config.d.ts.map +0 -1
  512. package/dist/types/src/db/configs/node.app.db.config.d.ts.map +0 -1
  513. package/dist/types/src/db/configs/seed.schema.config.d.ts.map +0 -1
  514. package/dist/types/src/db/read/getExistingItem.d.ts.map +0 -1
  515. package/dist/types/src/db/read/getItem.d.ts.map +0 -1
  516. package/dist/types/src/db/read/getItemData.d.ts.map +0 -1
  517. package/dist/types/src/db/read/getItemProperties.d.ts.map +0 -1
  518. package/dist/types/src/db/read/getItemProperty.d.ts.map +0 -1
  519. package/dist/types/src/db/read/getItems.d.ts.map +0 -1
  520. package/dist/types/src/db/read/getMetadata.d.ts.map +0 -1
  521. package/dist/types/src/db/read/getModelSchemas.d.ts.map +0 -1
  522. package/dist/types/src/db/read/getPropertyData.d.ts.map +0 -1
  523. package/dist/types/src/db/read/getPublishPayload.d.ts.map +0 -1
  524. package/dist/types/src/db/read/getPublishUploads.d.ts.map +0 -1
  525. package/dist/types/src/db/read/getRelationValueData.d.ts.map +0 -1
  526. package/dist/types/src/db/read/getSchemaUidForModel.d.ts.map +0 -1
  527. package/dist/types/src/db/read/getSeedData.d.ts.map +0 -1
  528. package/dist/types/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +0 -1
  529. package/dist/types/src/db/read/getVersionData.d.ts.map +0 -1
  530. package/dist/types/src/db/read/getVersionsForVersionUids.d.ts.map +0 -1
  531. package/dist/types/src/db/read/subqueries/metadataLatest.d.ts.map +0 -1
  532. package/dist/types/src/db/read/subqueries/versionData.d.ts.map +0 -1
  533. package/dist/types/src/db/write/createMetadata.d.ts.map +0 -1
  534. package/dist/types/src/db/write/createNewItem.d.ts.map +0 -1
  535. package/dist/types/src/db/write/createSeed.d.ts.map +0 -1
  536. package/dist/types/src/db/write/createSeeds.d.ts.map +0 -1
  537. package/dist/types/src/db/write/createVersion.d.ts.map +0 -1
  538. package/dist/types/src/db/write/deleteItem.d.ts.map +0 -1
  539. package/dist/types/src/db/write/recoverDeletedItem.d.ts.map +0 -1
  540. package/dist/types/src/db/write/saveAppState.d.ts.map +0 -1
  541. package/dist/types/src/db/write/saveMetadata.d.ts.map +0 -1
  542. package/dist/types/src/db/write/updateItemPropertyValue.d.ts.map +0 -1
  543. package/dist/types/src/db/write/updateMetadata.d.ts.map +0 -1
  544. package/dist/types/src/eventBus.d.ts.map +0 -1
  545. package/dist/types/src/events/files/download.d.ts.map +0 -1
  546. package/dist/types/src/events/files/index.d.ts.map +0 -1
  547. package/dist/types/src/events/index.d.ts.map +0 -1
  548. package/dist/types/src/events/item/create.d.ts.map +0 -1
  549. package/dist/types/src/events/item/index.d.ts.map +0 -1
  550. package/dist/types/src/events/item/publish.d.ts.map +0 -1
  551. package/dist/types/src/events/item/request.d.ts.map +0 -1
  552. package/dist/types/src/events/item/requestAll.d.ts.map +0 -1
  553. package/dist/types/src/events/item/syncDbWithEas.d.ts.map +0 -1
  554. package/dist/types/src/events/services/allItems.d.ts.map +0 -1
  555. package/dist/types/src/events/services/index.d.ts.map +0 -1
  556. package/dist/types/src/graphql/fragments/Attestation.d.ts.map +0 -1
  557. package/dist/types/src/graphql/fragments/Schema.d.ts.map +0 -1
  558. package/dist/types/src/graphql/fragments/index.d.ts.map +0 -1
  559. package/dist/types/src/graphql/gql/fragment-masking.d.ts.map +0 -1
  560. package/dist/types/src/graphql/gql/gql.d.ts.map +0 -1
  561. package/dist/types/src/graphql/gql/graphql.d.ts.map +0 -1
  562. package/dist/types/src/graphql/gql/index.d.ts.map +0 -1
  563. package/dist/types/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +0 -1
  564. package/dist/types/src/helpers/ArweaveClient/index.d.ts.map +0 -1
  565. package/dist/types/src/helpers/ArweaveClient/queries.d.ts.map +0 -1
  566. package/dist/types/src/helpers/EasClient/BaseEasClient.d.ts.map +0 -1
  567. package/dist/types/src/helpers/EasClient/index.d.ts.map +0 -1
  568. package/dist/types/src/helpers/FileManager/BaseFileManager.d.ts +0 -17
  569. package/dist/types/src/helpers/FileManager/BaseFileManager.d.ts.map +0 -1
  570. package/dist/types/src/helpers/FileManager/index.d.ts.map +0 -1
  571. package/dist/types/src/helpers/QueryClient/BaseQueryClient.d.ts.map +0 -1
  572. package/dist/types/src/helpers/QueryClient/index.d.ts.map +0 -1
  573. package/dist/types/src/helpers/constants.d.ts.map +0 -1
  574. package/dist/types/src/helpers/db.d.ts.map +0 -1
  575. package/dist/types/src/helpers/environment.d.ts.map +0 -1
  576. package/dist/types/src/helpers/files.d.ts.map +0 -1
  577. package/dist/types/src/helpers/getSchemaForItemProperty.d.ts.map +0 -1
  578. package/dist/types/src/helpers/getSegmentedItemProperties.d.ts.map +0 -1
  579. package/dist/types/src/helpers/index.d.ts.map +0 -1
  580. package/dist/types/src/helpers/updateMachineContext.d.ts.map +0 -1
  581. package/dist/types/src/index.d.ts +0 -12
  582. package/dist/types/src/index.d.ts.map +0 -1
  583. package/dist/types/src/interfaces/IDb.d.ts.map +0 -1
  584. package/dist/types/src/interfaces/IEasClient.d.ts.map +0 -1
  585. package/dist/types/src/interfaces/IItem.d.ts.map +0 -1
  586. package/dist/types/src/interfaces/IItemProperty.d.ts.map +0 -1
  587. package/dist/types/src/interfaces/IQueryClient.d.ts.map +0 -1
  588. package/dist/types/src/interfaces/index.d.ts.map +0 -1
  589. package/dist/types/src/node/Item/Item.d.ts.map +0 -1
  590. package/dist/types/src/node/ItemProperty/ItemProperty.d.ts.map +0 -1
  591. package/dist/types/src/node/codegen/drizzle.d.ts.map +0 -1
  592. package/dist/types/src/node/codegen/index.d.ts.map +0 -1
  593. package/dist/types/src/node/codegen/ts-to-proto.d.ts.map +0 -1
  594. package/dist/types/src/node/constants.d.ts.map +0 -1
  595. package/dist/types/src/node/db/Db.d.ts.map +0 -1
  596. package/dist/types/src/node/db/index.d.ts.map +0 -1
  597. package/dist/types/src/node/db/node.app.db.config.d.ts.map +0 -1
  598. package/dist/types/src/node/helpers/ArweaveClient.d.ts.map +0 -1
  599. package/dist/types/src/node/helpers/EasClient.d.ts.map +0 -1
  600. package/dist/types/src/node/helpers/FileManager.d.ts.map +0 -1
  601. package/dist/types/src/node/helpers/QueryClient.d.ts.map +0 -1
  602. package/dist/types/src/node/helpers/index.d.ts.map +0 -1
  603. package/dist/types/src/node/index.d.ts.map +0 -1
  604. package/dist/types/src/node/seed.d.ts.map +0 -1
  605. package/dist/types/src/node/webpack/index.d.ts.map +0 -1
  606. package/dist/types/src/schema/file/download/actors.d.ts.map +0 -1
  607. package/dist/types/src/schema/file/download/index.d.ts.map +0 -1
  608. package/dist/types/src/schema/file/fetchAll/actors.d.ts.map +0 -1
  609. package/dist/types/src/schema/file/fetchAll/index.d.ts.map +0 -1
  610. package/dist/types/src/schema/file/queries.d.ts.map +0 -1
  611. package/dist/types/src/schema/image/queries.d.ts.map +0 -1
  612. package/dist/types/src/schema/index.d.ts.map +0 -1
  613. package/dist/types/src/schema/model/index.d.ts.map +0 -1
  614. package/dist/types/src/schema/property/index.d.ts.map +0 -1
  615. package/dist/types/src/seedSchema/AppStateSchema.d.ts.map +0 -1
  616. package/dist/types/src/seedSchema/ConfigSchema.d.ts.map +0 -1
  617. package/dist/types/src/seedSchema/MetadataSchema.d.ts.map +0 -1
  618. package/dist/types/src/seedSchema/ModelSchema.d.ts.map +0 -1
  619. package/dist/types/src/seedSchema/ModelUidSchema.d.ts.map +0 -1
  620. package/dist/types/src/seedSchema/PropertyUidSchema.d.ts.map +0 -1
  621. package/dist/types/src/seedSchema/SeedSchema.d.ts.map +0 -1
  622. package/dist/types/src/seedSchema/VersionSchema.d.ts.map +0 -1
  623. package/dist/types/src/seedSchema/index.d.ts.map +0 -1
  624. package/dist/types/src/services/allItems/actors/fetchDbData.d.ts.map +0 -1
  625. package/dist/types/src/services/allItems/actors/fetchRelatedItems.d.ts.map +0 -1
  626. package/dist/types/src/services/allItems/actors/fetchSeeds.d.ts.map +0 -1
  627. package/dist/types/src/services/allItems/actors/fetchVersions.d.ts.map +0 -1
  628. package/dist/types/src/services/allItems/actors/initialize.d.ts.map +0 -1
  629. package/dist/types/src/services/allItems/actors/processItems.d.ts.map +0 -1
  630. package/dist/types/src/services/allItems/itemMachineAll.d.ts.map +0 -1
  631. package/dist/types/src/services/db/actors/checkStatus.d.ts.map +0 -1
  632. package/dist/types/src/services/db/actors/connectToDb.d.ts.map +0 -1
  633. package/dist/types/src/services/db/actors/migrate.d.ts.map +0 -1
  634. package/dist/types/src/services/db/actors/validate.d.ts.map +0 -1
  635. package/dist/types/src/services/db/actors/waitForFiles.d.ts.map +0 -1
  636. package/dist/types/src/services/db/connectionManager.d.ts.map +0 -1
  637. package/dist/types/src/services/db/dbMachine.d.ts.map +0 -1
  638. package/dist/types/src/services/db/index.d.ts.map +0 -1
  639. package/dist/types/src/services/events.d.ts.map +0 -1
  640. package/dist/types/src/services/global/actors/addModelsToDb.d.ts.map +0 -1
  641. package/dist/types/src/services/global/actors/getSchemaForModel.d.ts.map +0 -1
  642. package/dist/types/src/services/global/actors/initialize.d.ts.map +0 -1
  643. package/dist/types/src/services/global/actors/savePublishService.d.ts.map +0 -1
  644. package/dist/types/src/services/global/globalMachine.d.ts.map +0 -1
  645. package/dist/types/src/services/global/index.d.ts.map +0 -1
  646. package/dist/types/src/services/index.d.ts +0 -2
  647. package/dist/types/src/services/index.d.ts.map +0 -1
  648. package/dist/types/src/services/internal/actors/configureFs.d.ts.map +0 -1
  649. package/dist/types/src/services/internal/actors/loadAppDb.d.ts.map +0 -1
  650. package/dist/types/src/services/internal/actors/prepareDb.d.ts.map +0 -1
  651. package/dist/types/src/services/internal/actors/saveConfig.d.ts.map +0 -1
  652. package/dist/types/src/services/internal/actors/validateInput.d.ts.map +0 -1
  653. package/dist/types/src/services/internal/actors/waitForFiles.d.ts.map +0 -1
  654. package/dist/types/src/services/internal/constants.d.ts.map +0 -1
  655. package/dist/types/src/services/internal/helpers.d.ts.map +0 -1
  656. package/dist/types/src/services/internal/internalMachine.d.ts.map +0 -1
  657. package/dist/types/src/services/internal/queries.d.ts.map +0 -1
  658. package/dist/types/src/services/internal/types.d.ts.map +0 -1
  659. package/dist/types/src/services/publish/actors/createPublishAttempt.d.ts.map +0 -1
  660. package/dist/types/src/services/publish/actors/preparePublishRequestData.d.ts.map +0 -1
  661. package/dist/types/src/services/publish/actors/upload.d.ts.map +0 -1
  662. package/dist/types/src/services/publish/actors/validateItemData.d.ts.map +0 -1
  663. package/dist/types/src/services/publish/publishMachine.d.ts.map +0 -1
  664. package/dist/types/src/stores/eas.d.ts.map +0 -1
  665. package/dist/types/src/stores/modelClass.d.ts.map +0 -1
  666. package/dist/types/src/types/browser.d.ts.map +0 -1
  667. package/dist/types/src/types/db.d.ts.map +0 -1
  668. package/dist/types/src/types/fileManager.d.ts.map +0 -1
  669. package/dist/types/src/types/helpers.d.ts.map +0 -1
  670. package/dist/types/src/types/index.d.ts.map +0 -1
  671. package/dist/types/src/types/item.d.ts.map +0 -1
  672. package/dist/types/src/types/machines.d.ts.map +0 -1
  673. package/dist/types/src/types/model.d.ts.map +0 -1
  674. package/dist/types/src/types/property.d.ts.map +0 -1
  675. package/dist/types/src/types/seedProtocol.d.ts.map +0 -1
  676. package/dist/types/src/types/services.d.ts.map +0 -1
  677. /package/dist/{types/scripts → scripts}/bin.d.ts +0 -0
  678. /package/dist/{types/src → src}/Item/BaseItem.d.ts +0 -0
  679. /package/dist/{types/src → src}/Item/index.d.ts +0 -0
  680. /package/dist/{types/src → src}/Item/queries.d.ts +0 -0
  681. /package/dist/{types/src → src}/Item/service/actors/fetchDataFromEas.d.ts +0 -0
  682. /package/dist/{types/src → src}/Item/service/actors/hydrateExistingItem.d.ts +0 -0
  683. /package/dist/{types/src → src}/Item/service/actors/hydrateNewItem.d.ts +0 -0
  684. /package/dist/{types/src → src}/Item/service/actors/initialize.d.ts +0 -0
  685. /package/dist/{types/src → src}/Item/service/actors/reload.d.ts +0 -0
  686. /package/dist/{types/src → src}/Item/service/actors/saveDataToDb.d.ts +0 -0
  687. /package/dist/{types/src → src}/Item/service/actors/waitForDb.d.ts +0 -0
  688. /package/dist/{types/src → src}/Item/service/itemMachineSingle.d.ts +0 -0
  689. /package/dist/{types/src → src}/ItemProperty/BaseItemProperty.d.ts +0 -0
  690. /package/dist/{types/src → src}/ItemProperty/index.d.ts +0 -0
  691. /package/dist/{types/src → src}/ItemProperty/service/actors/hydrateFromDb.d.ts +0 -0
  692. /package/dist/{types/src → src}/ItemProperty/service/actors/index.d.ts +0 -0
  693. /package/dist/{types/src → src}/ItemProperty/service/actors/initialize.d.ts +0 -0
  694. /package/dist/{types/src → src}/ItemProperty/service/actors/resolveRelatedValue.d.ts +0 -0
  695. /package/dist/{types/src → src}/ItemProperty/service/actors/resolveRemoteStorage.d.ts +0 -0
  696. /package/dist/{types/src → src}/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts +0 -0
  697. /package/dist/{types/src → src}/ItemProperty/service/actors/saveValueToDb/index.d.ts +0 -0
  698. /package/dist/{types/src → src}/ItemProperty/service/actors/saveValueToDb/saveImageSrc.d.ts +0 -0
  699. /package/dist/{types/src → src}/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts +0 -0
  700. /package/dist/{types/src → src}/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts +0 -0
  701. /package/dist/{types/src → src}/ItemProperty/service/actors/waitForDb.d.ts +0 -0
  702. /package/dist/{types/src → src}/ItemProperty/service/propertyMachine.d.ts +0 -0
  703. /package/dist/{types/src → src}/browser/Item/Item.d.ts +0 -0
  704. /package/dist/{types/src → src}/browser/Item/index.d.ts +0 -0
  705. /package/dist/{types/src → src}/browser/ItemProperty/ItemProperty.d.ts +0 -0
  706. /package/dist/{types/src → src}/browser/ItemProperty/index.d.ts +0 -0
  707. /package/dist/{types/src → src}/browser/db/Db.d.ts +0 -0
  708. /package/dist/{types/src → src}/browser/db/index.d.ts +0 -0
  709. /package/dist/{types/src → src}/browser/db/sqlWasmClient.d.ts +0 -0
  710. /package/dist/{types/src → src}/browser/helpers/ArweaveClient.d.ts +0 -0
  711. /package/dist/{types/src → src}/browser/helpers/EasClient.d.ts +0 -0
  712. /package/dist/{types/src → src}/browser/helpers/QueryClient.d.ts +0 -0
  713. /package/dist/{types/src → src}/browser/helpers/index.d.ts +0 -0
  714. /package/dist/{types/src → src}/browser/index.d.ts +0 -0
  715. /package/dist/{types/src → src}/browser/react/db.d.ts +0 -0
  716. /package/dist/{types/src → src}/browser/react/index.d.ts +0 -0
  717. /package/dist/{types/src → src}/browser/react/item.d.ts +0 -0
  718. /package/dist/{types/src → src}/browser/react/property.d.ts +0 -0
  719. /package/dist/{types/src → src}/browser/react/services.d.ts +0 -0
  720. /package/dist/{types/src → src}/browser/react/trash.d.ts +0 -0
  721. /package/dist/{types/src → src}/browser/seed.d.ts +0 -0
  722. /package/dist/{types/src → src}/browser/workers/FileDownloader.d.ts +0 -0
  723. /package/dist/{types/src → src}/browser/workers/ImageResizer.d.ts +0 -0
  724. /package/dist/{types/src → src}/browser/workers/content-hash.d.ts +0 -0
  725. /package/dist/{types/src → src}/browser/workers/filesDownload.d.ts +0 -0
  726. /package/dist/{types/src → src}/browser/workers/imageResize.d.ts +0 -0
  727. /package/dist/{types/src → src}/client/BaseClientManager.d.ts +0 -0
  728. /package/dist/{types/src → src}/client/actions/setAddresses.d.ts +0 -0
  729. /package/dist/{types/src → src}/client/actors/initialize.d.ts +0 -0
  730. /package/dist/{types/src → src}/client/actors/saveAppState.d.ts +0 -0
  731. /package/dist/{types/src → src}/client/clientManagerMachine.d.ts +0 -0
  732. /package/dist/{types/src → src}/client/index.d.ts +0 -0
  733. /package/dist/{types/src → src}/db/Db/BaseDb.d.ts +0 -0
  734. /package/dist/{types/src → src}/db/Db/index.d.ts +0 -0
  735. /package/dist/{types/src → src}/db/configs/browser.app.db.config.d.ts +0 -0
  736. /package/dist/{types/src → src}/db/configs/node.app.db.config.d.ts +0 -0
  737. /package/dist/{types/src → src}/db/configs/seed.schema.config.d.ts +0 -0
  738. /package/dist/{types/src → src}/db/read/getExistingItem.d.ts +0 -0
  739. /package/dist/{types/src → src}/db/read/getItem.d.ts +0 -0
  740. /package/dist/{types/src → src}/db/read/getItemData.d.ts +0 -0
  741. /package/dist/{types/src → src}/db/read/getItemProperties.d.ts +0 -0
  742. /package/dist/{types/src → src}/db/read/getItemProperty.d.ts +0 -0
  743. /package/dist/{types/src → src}/db/read/getItems.d.ts +0 -0
  744. /package/dist/{types/src → src}/db/read/getMetadata.d.ts +0 -0
  745. /package/dist/{types/src → src}/db/read/getModelSchemas.d.ts +0 -0
  746. /package/dist/{types/src → src}/db/read/getPropertyData.d.ts +0 -0
  747. /package/dist/{types/src → src}/db/read/getPublishPayload.d.ts +0 -0
  748. /package/dist/{types/src → src}/db/read/getPublishUploads.d.ts +0 -0
  749. /package/dist/{types/src → src}/db/read/getRelationValueData.d.ts +0 -0
  750. /package/dist/{types/src → src}/db/read/getSchemaUidForModel.d.ts +0 -0
  751. /package/dist/{types/src → src}/db/read/getSeedData.d.ts +0 -0
  752. /package/dist/{types/src → src}/db/read/getStorageTransactionIdForSeedUid.d.ts +0 -0
  753. /package/dist/{types/src → src}/db/read/getVersionData.d.ts +0 -0
  754. /package/dist/{types/src → src}/db/read/getVersionsForVersionUids.d.ts +0 -0
  755. /package/dist/{types/src → src}/db/read/subqueries/metadataLatest.d.ts +0 -0
  756. /package/dist/{types/src → src}/db/read/subqueries/versionData.d.ts +0 -0
  757. /package/dist/{types/src → src}/db/write/createMetadata.d.ts +0 -0
  758. /package/dist/{types/src → src}/db/write/createNewItem.d.ts +0 -0
  759. /package/dist/{types/src → src}/db/write/createSeed.d.ts +0 -0
  760. /package/dist/{types/src → src}/db/write/createSeeds.d.ts +0 -0
  761. /package/dist/{types/src → src}/db/write/createVersion.d.ts +0 -0
  762. /package/dist/{types/src → src}/db/write/deleteItem.d.ts +0 -0
  763. /package/dist/{types/src → src}/db/write/recoverDeletedItem.d.ts +0 -0
  764. /package/dist/{types/src → src}/db/write/saveAppState.d.ts +0 -0
  765. /package/dist/{types/src → src}/db/write/saveMetadata.d.ts +0 -0
  766. /package/dist/{types/src → src}/db/write/updateItemPropertyValue.d.ts +0 -0
  767. /package/dist/{types/src → src}/db/write/updateMetadata.d.ts +0 -0
  768. /package/dist/{types/src → src}/eventBus.d.ts +0 -0
  769. /package/dist/{types/src → src}/events/files/download.d.ts +0 -0
  770. /package/dist/{types/src → src}/events/files/index.d.ts +0 -0
  771. /package/dist/{types/src → src}/events/index.d.ts +0 -0
  772. /package/dist/{types/src → src}/events/item/create.d.ts +0 -0
  773. /package/dist/{types/src → src}/events/item/index.d.ts +0 -0
  774. /package/dist/{types/src → src}/events/item/publish.d.ts +0 -0
  775. /package/dist/{types/src → src}/events/item/request.d.ts +0 -0
  776. /package/dist/{types/src → src}/events/item/requestAll.d.ts +0 -0
  777. /package/dist/{types/src → src}/events/item/syncDbWithEas.d.ts +0 -0
  778. /package/dist/{types/src → src}/events/services/allItems.d.ts +0 -0
  779. /package/dist/{types/src → src}/events/services/index.d.ts +0 -0
  780. /package/dist/{types/src → src}/graphql/fragments/Attestation.d.ts +0 -0
  781. /package/dist/{types/src → src}/graphql/fragments/Schema.d.ts +0 -0
  782. /package/dist/{types/src → src}/graphql/fragments/index.d.ts +0 -0
  783. /package/dist/{types/src → src}/graphql/gql/fragment-masking.d.ts +0 -0
  784. /package/dist/{types/src → src}/graphql/gql/gql.d.ts +0 -0
  785. /package/dist/{types/src → src}/graphql/gql/graphql.d.ts +0 -0
  786. /package/dist/{types/src → src}/graphql/gql/index.d.ts +0 -0
  787. /package/dist/{types/src → src}/helpers/ArweaveClient/BaseArweaveClient.d.ts +0 -0
  788. /package/dist/{types/src → src}/helpers/ArweaveClient/index.d.ts +0 -0
  789. /package/dist/{types/src → src}/helpers/ArweaveClient/queries.d.ts +0 -0
  790. /package/dist/{types/src → src}/helpers/EasClient/BaseEasClient.d.ts +0 -0
  791. /package/dist/{types/src → src}/helpers/EasClient/index.d.ts +0 -0
  792. /package/dist/{types/src → src}/helpers/FileManager/index.d.ts +0 -0
  793. /package/dist/{types/src → src}/helpers/QueryClient/BaseQueryClient.d.ts +0 -0
  794. /package/dist/{types/src → src}/helpers/QueryClient/index.d.ts +0 -0
  795. /package/dist/{types/src → src}/helpers/constants.d.ts +0 -0
  796. /package/dist/{types/src → src}/helpers/db.d.ts +0 -0
  797. /package/dist/{types/src → src}/helpers/environment.d.ts +0 -0
  798. /package/dist/{types/src → src}/helpers/files.d.ts +0 -0
  799. /package/dist/{types/src → src}/helpers/getSchemaForItemProperty.d.ts +0 -0
  800. /package/dist/{types/src → src}/helpers/getSegmentedItemProperties.d.ts +0 -0
  801. /package/dist/{types/src → src}/helpers/index.d.ts +0 -0
  802. /package/dist/{types/src → src}/helpers/updateMachineContext.d.ts +0 -0
  803. /package/dist/{types/src → src}/interfaces/IDb.d.ts +0 -0
  804. /package/dist/{types/src → src}/interfaces/IEasClient.d.ts +0 -0
  805. /package/dist/{types/src → src}/interfaces/IItem.d.ts +0 -0
  806. /package/dist/{types/src → src}/interfaces/IItemProperty.d.ts +0 -0
  807. /package/dist/{types/src → src}/interfaces/IQueryClient.d.ts +0 -0
  808. /package/dist/{types/src → src}/interfaces/index.d.ts +0 -0
  809. /package/dist/{types/src → src}/node/Item/Item.d.ts +0 -0
  810. /package/dist/{types/src → src}/node/ItemProperty/ItemProperty.d.ts +0 -0
  811. /package/dist/{types/src → src}/node/codegen/drizzle.d.ts +0 -0
  812. /package/dist/{types/src → src}/node/codegen/index.d.ts +0 -0
  813. /package/dist/{types/src → src}/node/codegen/ts-to-proto.d.ts +0 -0
  814. /package/dist/{types/src → src}/node/constants.d.ts +0 -0
  815. /package/dist/{types/src → src}/node/db/Db.d.ts +0 -0
  816. /package/dist/{types/src → src}/node/db/index.d.ts +0 -0
  817. /package/dist/{types/src → src}/node/db/node.app.db.config.d.ts +0 -0
  818. /package/dist/{types/src → src}/node/helpers/ArweaveClient.d.ts +0 -0
  819. /package/dist/{types/src → src}/node/helpers/EasClient.d.ts +0 -0
  820. /package/dist/{types/src → src}/node/helpers/FileManager.d.ts +0 -0
  821. /package/dist/{types/src → src}/node/helpers/QueryClient.d.ts +0 -0
  822. /package/dist/{types/src → src}/node/helpers/index.d.ts +0 -0
  823. /package/dist/{types/src → src}/node/index.d.ts +0 -0
  824. /package/dist/{types/src → src}/node/seed.d.ts +0 -0
  825. /package/dist/{types/src → src}/node/webpack/index.d.ts +0 -0
  826. /package/dist/{types/src → src}/schema/file/download/actors.d.ts +0 -0
  827. /package/dist/{types/src → src}/schema/file/download/index.d.ts +0 -0
  828. /package/dist/{types/src → src}/schema/file/fetchAll/actors.d.ts +0 -0
  829. /package/dist/{types/src → src}/schema/file/fetchAll/index.d.ts +0 -0
  830. /package/dist/{types/src → src}/schema/file/queries.d.ts +0 -0
  831. /package/dist/{types/src → src}/schema/image/queries.d.ts +0 -0
  832. /package/dist/{types/src → src}/schema/index.d.ts +0 -0
  833. /package/dist/{types/src → src}/schema/model/index.d.ts +0 -0
  834. /package/dist/{types/src → src}/schema/property/index.d.ts +0 -0
  835. /package/dist/{types/src → src}/seedSchema/AppStateSchema.d.ts +0 -0
  836. /package/dist/{types/src → src}/seedSchema/ConfigSchema.d.ts +0 -0
  837. /package/dist/{types/src → src}/seedSchema/MetadataSchema.d.ts +0 -0
  838. /package/dist/{types/src → src}/seedSchema/ModelSchema.d.ts +0 -0
  839. /package/dist/{types/src → src}/seedSchema/ModelUidSchema.d.ts +0 -0
  840. /package/dist/{types/src → src}/seedSchema/PropertyUidSchema.d.ts +0 -0
  841. /package/dist/{types/src → src}/seedSchema/SeedSchema.d.ts +0 -0
  842. /package/dist/{types/src → src}/seedSchema/VersionSchema.d.ts +0 -0
  843. /package/dist/{types/src → src}/seedSchema/index.d.ts +0 -0
  844. /package/dist/{types/src → src}/services/allItems/actors/fetchDbData.d.ts +0 -0
  845. /package/dist/{types/src → src}/services/allItems/actors/fetchRelatedItems.d.ts +0 -0
  846. /package/dist/{types/src → src}/services/allItems/actors/fetchSeeds.d.ts +0 -0
  847. /package/dist/{types/src → src}/services/allItems/actors/fetchVersions.d.ts +0 -0
  848. /package/dist/{types/src → src}/services/allItems/actors/initialize.d.ts +0 -0
  849. /package/dist/{types/src → src}/services/allItems/actors/processItems.d.ts +0 -0
  850. /package/dist/{types/src → src}/services/allItems/itemMachineAll.d.ts +0 -0
  851. /package/dist/{types/src → src}/services/db/actors/checkStatus.d.ts +0 -0
  852. /package/dist/{types/src → src}/services/db/actors/connectToDb.d.ts +0 -0
  853. /package/dist/{types/src → src}/services/db/actors/migrate.d.ts +0 -0
  854. /package/dist/{types/src → src}/services/db/actors/validate.d.ts +0 -0
  855. /package/dist/{types/src → src}/services/db/actors/waitForFiles.d.ts +0 -0
  856. /package/dist/{types/src → src}/services/db/connectionManager.d.ts +0 -0
  857. /package/dist/{types/src → src}/services/db/dbMachine.d.ts +0 -0
  858. /package/dist/{types/src → src}/services/db/index.d.ts +0 -0
  859. /package/dist/{types/src → src}/services/events.d.ts +0 -0
  860. /package/dist/{types/src → src}/services/global/actors/addModelsToDb.d.ts +0 -0
  861. /package/dist/{types/src → src}/services/global/actors/getSchemaForModel.d.ts +0 -0
  862. /package/dist/{types/src → src}/services/global/actors/initialize.d.ts +0 -0
  863. /package/dist/{types/src → src}/services/global/actors/savePublishService.d.ts +0 -0
  864. /package/dist/{types/src → src}/services/global/globalMachine.d.ts +0 -0
  865. /package/dist/{types/src → src}/services/global/index.d.ts +0 -0
  866. /package/dist/{types/src → src}/services/internal/actors/configureFs.d.ts +0 -0
  867. /package/dist/{types/src → src}/services/internal/actors/loadAppDb.d.ts +0 -0
  868. /package/dist/{types/src → src}/services/internal/actors/prepareDb.d.ts +0 -0
  869. /package/dist/{types/src → src}/services/internal/actors/saveConfig.d.ts +0 -0
  870. /package/dist/{types/src → src}/services/internal/actors/validateInput.d.ts +0 -0
  871. /package/dist/{types/src → src}/services/internal/actors/waitForFiles.d.ts +0 -0
  872. /package/dist/{types/src → src}/services/internal/constants.d.ts +0 -0
  873. /package/dist/{types/src → src}/services/internal/helpers.d.ts +0 -0
  874. /package/dist/{types/src → src}/services/internal/internalMachine.d.ts +0 -0
  875. /package/dist/{types/src → src}/services/internal/queries.d.ts +0 -0
  876. /package/dist/{types/src → src}/services/internal/types.d.ts +0 -0
  877. /package/dist/{types/src → src}/services/publish/actors/createPublishAttempt.d.ts +0 -0
  878. /package/dist/{types/src → src}/services/publish/actors/preparePublishRequestData.d.ts +0 -0
  879. /package/dist/{types/src → src}/services/publish/actors/upload.d.ts +0 -0
  880. /package/dist/{types/src → src}/services/publish/actors/validateItemData.d.ts +0 -0
  881. /package/dist/{types/src → src}/services/publish/publishMachine.d.ts +0 -0
  882. /package/dist/{types/src → src}/stores/eas.d.ts +0 -0
  883. /package/dist/{types/src → src}/stores/modelClass.d.ts +0 -0
  884. /package/dist/{types/src → src}/types/browser.d.ts +0 -0
  885. /package/dist/{types/src → src}/types/db.d.ts +0 -0
  886. /package/dist/{types/src → src}/types/fileManager.d.ts +0 -0
  887. /package/dist/{types/src → src}/types/helpers.d.ts +0 -0
  888. /package/dist/{types/src → src}/types/index.d.ts +0 -0
  889. /package/dist/{types/src → src}/types/item.d.ts +0 -0
  890. /package/dist/{types/src → src}/types/machines.d.ts +0 -0
  891. /package/dist/{types/src → src}/types/model.d.ts +0 -0
  892. /package/dist/{types/src → src}/types/property.d.ts +0 -0
  893. /package/dist/{types/src → src}/types/seedProtocol.d.ts +0 -0
  894. /package/dist/{types/src → src}/types/services.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileManager-gKGTTa4s.js","sources":["../../src/browser/workers/filesDownload.ts","../../src/browser/workers/FileDownloader.ts","../../src/browser/workers/imageResize.ts","../../src/browser/workers/ImageResizer.ts","../../src/browser/helpers/FileManager.ts"],"sourcesContent":["\nexport default `(\n ${\n function () {\n\nconst identifyString = (str: string) => {\n try {\n JSON.parse(str)\n return 'json'\n } catch (e) {\n // Not JSON\n }\n\n if (!str) {\n return\n }\n\n if (str.trim().startsWith('<') && str.trim().endsWith('>')) {\n return 'html'\n }\n\n // Simple markdown checks (very naive)\n if (/^#{1,6}\\s|^-{3,}|\\*{3,}|^-{1,2}\\s|\\*\\s/.test(str)) {\n return 'markdown'\n }\n\n if (/^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/.test(str)) {\n return 'base64'\n }\n\n // Default to plain text if unsure\n return 'text'\n}\n\nconst getMimeType = (base64: string) => {\n if (!base64) {\n return null\n }\n const result = base64.match(/^data:([a-zA-Z0-9]+\\/[a-zA-Z0-9-.+]+).*,/)\n\n if (result && result.length > 1) {\n return result[1]\n } else {\n return null // MIME type could not be determined\n }\n}\n\nconst getDataTypeFromString = (\n data: string,\n): 'imageBase64' | 'base64' | 'url' | null => {\n const nonImageBase64Regex =\n /^(?!data:image\\/(?:jpeg|png|gif|bmp|webp);base64,)[A-Za-z0-9+/=]+$/\n\n if (nonImageBase64Regex.test(data)) {\n return 'base64'\n }\n\n // Regular expression for base64 (simple version, checking for base64 format)\n const imageBase64Regex = /^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/\n\n if (imageBase64Regex.test(data)) {\n return 'imageBase64'\n }\n\n // Regular expression for URL (simple version, checking for common URL format)\n const urlRegex =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n if (urlRegex.test(data)) {\n return 'url'\n }\n\n return null\n}\n\nconst isBinary = (arrayBuffer: ArrayBuffer): boolean => {\n const view = new Uint8Array(arrayBuffer);\n\n let nonTextCount = 0;\n const threshold = 0.2; // Adjust as needed (e.g., 20% non-text implies binary)\n\n for (let i = 0; i < view.length; i++) {\n const byte = view[i];\n\n // ASCII printable characters (32-126) and common whitespace (9, 10, 13)\n if (\n (byte >= 32 && byte <= 126) || // Printable ASCII\n byte === 9 || byte === 10 || byte === 13 // Tab, LF, CR\n ) {\n continue;\n }\n\n nonTextCount++;\n if (nonTextCount / view.length > threshold) {\n return true; // More than threshold are non-text bytes\n }\n }\n\n return false; // Fewer than threshold are non-text bytes\n}\n\nconst saveBufferToOPFS = async (filePath: string, buffer: Uint8Array): Promise<void> => {\n // Access the OPFS root directory\n const rootHandle = await navigator.storage.getDirectory();\n\n // Split the filePath into directory segments and file name\n const segments = filePath.split('/').filter(Boolean);\n const fileName = segments.pop(); // Extract the file name\n if (!fileName) {\n throw new Error('Invalid file path: No file name provided.');\n }\n\n // Traverse or create directories as needed\n let currentDirHandle = rootHandle;\n for (const segment of segments) {\n currentDirHandle = await currentDirHandle.getDirectoryHandle(segment, { create: true });\n }\n\n // Create or open the file in OPFS\n const fileHandleAsync = await currentDirHandle.getFileHandle(fileName, { create: true });\n const fileHandle = await fileHandleAsync.createSyncAccessHandle();\n // Write the buffer to the file\n fileHandle.write(buffer);\n fileHandle.flush();\n fileHandle.close();\n}\n\nconst downloadFiles = async ({\n transactionIds,\n arweaveHost,\n}: {\n transactionIds: string[],\n arweaveHost: string,\n}) => {\n\n let arrayBuffer: ArrayBuffer | undefined\n\n for (const transactionId of transactionIds) {\n try {\n const response = await fetch(`https://${arweaveHost}/raw/${transactionId}`);\n\n arrayBuffer = await response.arrayBuffer();\n } catch(error) {\n console.log(`[filesDownload] transaction ${transactionId} data not found`, error)\n globalThis.postMessage({\n message: 'excludeTransaction',\n transactionId,\n })\n continue\n }\n\n let dataString\n const isBinaryData = isBinary(arrayBuffer)\n\n if (!isBinaryData) {\n const decoder = new TextDecoder('utf-8')\n const text = decoder.decode(arrayBuffer)\n dataString = text\n }\n\n if (!dataString && !arrayBuffer) {\n console.log(\n `[filesDownload] transaction ${transactionId} data not found`,\n )\n }\n\n if (dataString && dataString.startsWith('===FILE_SEPARATOR===')) {\n const dataStringParts = dataString\n .split('===FILE_SEPARATOR===')\n .slice(1)\n\n if (dataStringParts.length % 2 !== 0) {\n throw new Error('Input array must have an even number of elements.')\n }\n\n for (let i = 0; i < dataStringParts.length; i += 2) {\n const contentType = dataStringParts[i]\n const content = dataStringParts[i + 1]\n const encoder = new TextEncoder()\n if (contentType === 'html') {\n const fileName = `${transactionId}.html`\n const buffer = encoder.encode(content)\n saveBufferToOPFS(`/files/html/${fileName}`, buffer)\n }\n if (contentType === 'json') {\n const fileName = `${transactionId}.json`\n const buffer = encoder.encode(content)\n saveBufferToOPFS(`/files/json/${fileName}`, buffer)\n }\n }\n\n continue\n }\n\n if (!dataString && arrayBuffer) {\n saveBufferToOPFS(\n `/files/images/${transactionId}`,\n new Uint8Array(arrayBuffer),\n )\n continue\n }\n\n if (!dataString) {\n continue\n }\n\n let contentType = identifyString(dataString)\n\n if (\n contentType !== 'json' &&\n contentType !== 'base64' &&\n contentType !== 'html'\n ) {\n const possibleImageType = getDataTypeFromString(dataString)\n if (!possibleImageType) {\n console.log(\n `[filesDownload] transaction ${transactionId} data not in expected format: ${possibleImageType}`,\n )\n continue\n }\n\n contentType = possibleImageType\n }\n\n if (contentType === 'url') {\n const url = dataString as string\n\n let buffer: ArrayBuffer | undefined\n\n try {\n const response = await fetch(url)\n \n buffer = await response.arrayBuffer()\n\n } catch(error) {\n console.log(`[filesDownload] transaction ${transactionId} value was url: ${dataString} but failed to fetch`, error)\n globalThis.postMessage({\n message: 'excludeTransaction',\n transactionId,\n })\n continue\n }\n\n const bufferUint8Array = new Uint8Array(buffer)\n\n // Extract the file extension from the URL\n const extensionMatch = url.match(/\\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i)\n if (!extensionMatch) {\n throw new Error(\n 'Unable to determine the file extension from the URL.',\n )\n }\n const fileExtension = extensionMatch[0] // e.g., \".jpg\"\n\n // Set the file name (you can customize this)\n // const fileNameFromUrl = `${transactionId}${fileExtension}`\n\n await saveBufferToOPFS(\n `/files/images/${transactionId}`,\n bufferUint8Array,\n )\n\n continue\n }\n\n const mimeType = getMimeType(dataString as string)\n let fileExtension = mimeType\n\n if (fileExtension && fileExtension?.startsWith('image')) {\n fileExtension = fileExtension.replace('image/', '')\n }\n\n let fileName = transactionId\n\n if (contentType === 'base64') {\n if (fileExtension) {\n fileName += `.${fileExtension}`\n }\n\n // Remove the Base64 header if it exists (e.g., \"data:image/png;base64,\")\n const base64Data = dataString.split(',').pop() || ''\n\n // Decode the Base64 string to binary\n const binaryString = atob(base64Data)\n const length = binaryString.length\n const binaryData = new Uint8Array(length)\n\n for (let i = 0; i < length; i++) {\n binaryData[i] = binaryString.charCodeAt(i)\n }\n\n await saveBufferToOPFS(`/files/images/${fileName}`, binaryData)\n\n }\n\n if (contentType === 'html') {\n fileName += '.html'\n const encoder = new TextEncoder()\n const buffer = encoder.encode(dataString)\n await saveBufferToOPFS(`/files/html/${fileName}`, buffer)\n }\n\n if (contentType === 'json') {\n fileName += '.json'\n const encoder = new TextEncoder()\n const buffer = encoder.encode(dataString)\n await saveBufferToOPFS(`/files/json/${fileName}`, buffer)\n }\n }\n}\n\nonmessage = async (e) => {\n console.log({\n message: 'filesDownload onmessage',\n data: e.data,\n })\n await downloadFiles(e.data);\n globalThis.postMessage({\n message: 'filesDownload onmessage done',\n done: true,\n })\n \n}\n}.toString()\n}\n)()`","import { saveAppState } from '@/db/write/saveAppState.js';\nimport filesDownload from './filesDownload.js'\n\n\n\nexport class FileDownloader {\n private cores: number\n private workersArchive: Worker[] = []\n private workerBlobUrl: string\n\n constructor() {\n this.cores = Math.min(navigator.hardwareConcurrency || 4, 4);\n\n this.workerBlobUrl = globalThis.URL.createObjectURL(\n new Blob([filesDownload], { type: 'application/javascript' })\n )\n }\n\n public downloadAll = async ({transactionIds, arweaveHost, excludedTransactions}: DownloadAllFilesParams): Promise<void> => {\n\n if (this.workersArchive.length > 0) {\n for (let i = 0; i < this.workersArchive.length; i++) {\n this.workersArchive[i].terminate()\n delete this.workersArchive[i]\n }\n this.workersArchive = []\n }\n\n const worker = new Worker(this.workerBlobUrl);\n\n this.workersArchive.push(worker)\n\n const localExcludedTransactions = new Set(excludedTransactions)\n\n return new Promise((resolve, reject) => {\n worker.onmessage = (e) => {\n console.log('filesDownload main thread onmessage', e.data);\n\n if (e.data.message === 'excludeTransaction') {\n localExcludedTransactions.add(e.data.transactionId)\n }\n\n if (e.data.done) {\n saveAppState('excludedTransactions', JSON.stringify(Array.from(localExcludedTransactions)))\n .then(() => {\n resolve(e.data)\n })\n .catch((error) => {\n reject(error)\n })\n }\n if (e.data.error) {\n reject(e.data.error)\n }\n }\n \n worker.postMessage({\n transactionIds,\n arweaveHost,\n });\n })\n }\n}\n","import path from \"path\";\n\ntype BrowserImageResizerConfigBase = {\n\t/**\n\t * Algorithm used for downscaling\n\t * \n\t * * `null`: Just resize with `drawImage()`. The best quality and fastest.\n\t * * `bilinear`: Better quality, slower. Comes from upstream (ericnogralesbrowser-image-resizer).\n\t * * `hermite`: Worse quality, faster. Comes from [viliusle/Hermite-resize](https://github.com/viliusle/Hermite-resize). Will dispatch workers for better performance.\n\t * * `hermite_single`: Worse quality, faster. Single-threaded.\n\t * \n\t * default: null\n\t */\n\talgorithm: 'bilinear' | 'hermite' | 'hermite_single' | 'null' | null;\n\n\t/**\n\t * Whether to process downscaling by `drawImage(source, 0, 0, source.width / 2, source.height / 2)`\n\t * until the size is smaller than twice the target size.\n\t *\n\t * There seems to be no situation where it is necessary to change to false.\n\t * \n\t * default: true\n\t */\n\tprocessByHalf: boolean;\n\n\tmaxWidth: number;\n\tmaxHeight: number;\n\tmaxSize?: number; // ???\n\n\t/**\n\t * Scale ratio. Strictly limited to maxWidth.\n\t */\n\tscaleRatio?: number;\n\n\t/**\n\t * Output logs to console\n\t */\n\tdebug: boolean;\n}\n\n\ntype BrowserImageResizerConfigWithConvertedOutput = BrowserImageResizerConfigBase & {\n\tquality: number;\n\tmimeType: string;\n};\n\ntype BrowserImageResizerConfigWithOffscreenCanvasOutput = BrowserImageResizerConfigBase & {\n\tmimeType: null;\n}\n\ntype BrowserImageResizerConfig = BrowserImageResizerConfigWithConvertedOutput | BrowserImageResizerConfigWithOffscreenCanvasOutput;\n\ntype WorkerSouceData = {\n source: ImageData;\n startY: number;\n height: number;\n}\n\nexport default `(\n ${\n function () {\n\nasync function listFilesInDirectory(directoryHandle: FileSystemDirectoryHandle) {\n const entries: { name: string; kind: FileSystemHandleKind }[] = [];\n\n for await (const [name, handle] of directoryHandle.entries()) {\n entries.push({\n name,\n kind: handle.kind,\n })\n }\n\n return entries;\n}\n\nconst getFileHandle = async (path: string, rootHandle: FileSystemDirectoryHandle | null = null): Promise<FileSystemFileHandle> => {\n // Split the path into segments\n const segments = path.split('/').filter(Boolean);\n\n // Start from the root directory if not provided\n if (!rootHandle) {\n rootHandle = await navigator.storage.getDirectory();\n }\n\n let currentHandle = rootHandle;\n\n // Traverse the path segments\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const isLastSegment = i === segments.length - 1;\n\n try {\n\n for await (const [name, handle] of currentHandle.entries()) {\n if (name !== segment) {\n continue\n }\n\n if (isLastSegment) {\n if (handle.kind === 'file') {\n return handle as FileSystemFileHandle; // Return the file handle if found\n } else {\n throw new Error(`Path '${path}' refers to a directory, not a file.`);\n }\n } else if (handle.kind === 'directory') {\n currentHandle = handle as FileSystemDirectoryHandle; // Traverse into the directory\n } else {\n throw new Error(`Invalid path segment '${segment}'`);\n }\n }\n } catch (err) {\n if (err instanceof Error && err.name === 'NotFoundError') {\n throw new Error(`Path '${path}' does not exist.`);\n } else {\n throw err;\n }\n }\n }\n\n throw new Error(`Path '${path}' could not be resolved.`);\n}\n\nasync function getFileFromOPFS(path: string): Promise<File> {\n\n const fileHandleAsync = await getFileHandle(path);\n const file = await fileHandleAsync.getFile();\n return file;\n\n}\n\nconst DEFAULT_CONFIG = {\n\targorithm: 'null',\n\tprocessByHalf: true,\n\tquality: 0.5,\n\tmaxWidth: 800,\n\tmaxHeight: 600,\n\tdebug: false,\n\tmimeType: 'image/jpeg',\n} as const;\n\nfunction isIos() {\n\tif (typeof navigator === 'undefined') return false;\n\tif (!navigator.userAgent) return false;\n\treturn /iPad|iPhone|iPod/.test(navigator.userAgent);\n}\n\nconst getTargetHeight = (srcHeight: number, scale: number, config: BrowserImageResizerConfig) => {\n\treturn Math.min(Math.floor(srcHeight * scale), config.maxHeight);\n}\n\nconst findMaxWidth = (config: BrowserImageResizerConfig, canvas: { width: number; height: number }) => {\n\t//Let's find the max available width for scaled image\n\tconst ratio = canvas.width / canvas.height;\n\tlet mWidth = Math.min(\n\t\tcanvas.width,\n\t\tconfig.maxWidth,\n\t\tratio * config.maxHeight\n\t);\n\tif (\n\t\tconfig.maxSize &&\n\t\tconfig.maxSize > 0 &&\n\t\tconfig.maxSize < (canvas.width * canvas.height) / 1000\n\t)\n\t\tmWidth = Math.min(\n\t\t\tmWidth,\n\t\t\tMath.floor((config.maxSize * 1000) / canvas.height)\n\t\t);\n\tif (!!config.scaleRatio)\n\t\tmWidth = Math.min(mWidth, Math.floor(config.scaleRatio * canvas.width));\n\n\tconst rHeight = getTargetHeight(canvas.height, mWidth / canvas.width, config);\n\n // console.log(\n // 'browser-image-resizer: original image size = ' +\n // canvas.width +\n // ' px (width) X ' +\n // canvas.height +\n // ' px (height)'\n // );\n // console.log(\n // 'browser-image-resizer: scaled image size = ' +\n // mWidth +\n // ' px (width) X ' +\n // rHeight +\n // ' px (height)'\n // );\n\tif (mWidth <= 0) {\n\t\tmWidth = 1;\n\t\tconsole.warn(\"browser-image-resizer: image size is too small\");\n\t}\n\n\tif (isIos() && mWidth * rHeight > 167777216) {\n\t\tconsole.error(\"browser-image-resizer: image size is too large for iOS WebKit.\", mWidth, rHeight);\n\t\tthrow new Error(\"browser-image-resizer: image size is too large for iOS WebKit.\");\n\t}\n\n\treturn mWidth;\n}\n\n /**\n * Hermite resize, multicore version - fast image resize/resample using Hermite filter.\n */\n const resample = (srcCanvas: OffscreenCanvas, destCanvas: OffscreenCanvas, config: { debug?: boolean }) => {\n return new Promise<void>((resolve, reject) => {\n\n const ratio_h = srcCanvas.height / destCanvas.height;\n const cores = Math.min(navigator.hardwareConcurrency || 4, 4)\n\n //prepare source and target data for workers\n const ctx = srcCanvas.getContext('2d');\n if (!ctx) return reject('Canvas is empty (resample)');\n\n const data_part: WorkerSouceData[] = [];\n const block_height = Math.ceil(srcCanvas.height / cores / 2) * 2;\n let end_y = -1;\n for (let c = 0; c < cores; c++) {\n //source\n const offset_y = end_y + 1;\n if (offset_y >= srcCanvas.height) {\n //size too small, nothing left for this core\n continue;\n }\n\n end_y = Math.min(offset_y + block_height - 1, srcCanvas.height - 1);\n\n const current_block_height = Math.min(block_height, srcCanvas.height - offset_y);\n\n console.log('browser-image-resizer: source split: ', '#' + c, offset_y, end_y, 'height: ' + current_block_height);\n\n data_part.push({\n source: ctx.getImageData(0, offset_y, srcCanvas.width, block_height),\n startY: Math.ceil(offset_y / ratio_h),\n height: current_block_height\n });\n }\n\n //start\n const destCtx = destCanvas.getContext('2d');\n if (!destCtx) return reject('Canvas is empty (resample dest)');\n let workers_in_use = data_part.length;\n for (let c = 0; c < data_part.length; c++) {\n\n //draw\n const height_part = Math.ceil(data_part[c].height / ratio_h);\n const target = destCtx.createImageData(destCanvas.width, height_part);\n // target.data.set(event.data.target);\n destCtx.putImageData(target, 0, data_part[c].startY);\n\n }\n });\n};\n\n /**\n * Hermite resize - fast image resize/resample using Hermite filter. 1 cpu version!\n */\n const resampleSingle = (srcCanvasData: ImageData, destCanvasData: ImageData,) => {\n const ratio_w = srcCanvasData.width / destCanvasData.width;\n const ratio_h = srcCanvasData.height / destCanvasData.height;\n const ratio_w_half = Math.ceil(ratio_w / 2);\n const ratio_h_half = Math.ceil(ratio_h / 2);\n\n const data = srcCanvasData.data;\n const data2 = destCanvasData.data;\n\n for (let j = 0; j < destCanvasData.height; j++) {\n for (let i = 0; i < destCanvasData.width; i++) {\n const x2 = (i + j * destCanvasData.width) * 4;\n let weight = 0;\n let weights = 0;\n let weights_alpha = 0;\n let gx_r = 0;\n let gx_g = 0;\n let gx_b = 0;\n let gx_a = 0;\n const center_y = j * ratio_h;\n\n const xx_start = Math.floor(i * ratio_w);\n const xx_stop = Math.min(Math.ceil((i + 1) * ratio_w), srcCanvasData.width);\n const yy_start = Math.floor(j * ratio_h);\n const yy_stop = Math.min(Math.ceil((j + 1) * ratio_h), srcCanvasData.height);\n\n for (let yy = yy_start; yy < yy_stop; yy++) {\n let dy = Math.abs(center_y - yy) / ratio_h_half;\n let center_x = i * ratio_w;\n let w0 = dy * dy; //pre-calc part of w\n for (let xx = xx_start; xx < xx_stop; xx++) {\n let dx = Math.abs(center_x - xx) / ratio_w_half;\n let w = Math.sqrt(w0 + dx * dx);\n if (w >= 1) {\n //pixel too far\n continue;\n }\n //hermite filter\n weight = 2 * w * w * w - 3 * w * w + 1;\n let pos_x = 4 * (xx + yy * srcCanvasData.width);\n //alpha\n gx_a += weight * data[pos_x + 3];\n weights_alpha += weight;\n //colors\n if (data[pos_x + 3] < 255)\n weight = weight * data[pos_x + 3] / 250;\n gx_r += weight * data[pos_x];\n gx_g += weight * data[pos_x + 1];\n gx_b += weight * data[pos_x + 2];\n weights += weight;\n }\n }\n data2[x2] = gx_r / weights;\n data2[x2 + 1] = gx_g / weights;\n data2[x2 + 2] = gx_b / weights;\n data2[x2 + 3] = gx_a / weights_alpha;\n }\n }\n};\n\n /**\n * Hermite resize. Detect cpu count and use best option for user.\n */\n const resampleAuto = (srcCanvas: OffscreenCanvas, destCanvas: OffscreenCanvas, config: { debug?: boolean, argorithm?: string }) => {\n if (!!globalThis.Worker && navigator.hardwareConcurrency > 1 && config?.argorithm !== 'hermite_single') {\n //workers supported and we have at least 2 cpu cores - using multithreading\n return resample(srcCanvas, destCanvas, config);\n } else {\n //1 cpu version\n const { srcImgData, destImgData } = getImageData(srcCanvas, destCanvas);\n resampleSingle(srcImgData, destImgData, config);\n destCanvas.getContext('2d')!.putImageData(destImgData, 0, 0);\n return;\n }\n};\n\n\nasync function scaleCanvasWithAlgorithm(canvas: OffscreenCanvas, config: BrowserImageResizerConfig & { outputWidth: number }) {\n\tconst scale = config.outputWidth / canvas.width;\n\n\tconst scaled = new OffscreenCanvas(Math.floor(config.outputWidth), getTargetHeight(canvas.height, scale, config));\n\n\tswitch (config.algorithm) {\n\t\tcase 'hermite': {\n\t\t\tawait resampleAuto(canvas, scaled, config as BrowserImageResizerConfig & { algorithm: 'hermite' | 'hermite_single' });\n\t\t\tbreak;\n\t\t} case 'hermite_single': {\n\t\t\tconst { srcImgData, destImgData } = getImageData(canvas, scaled);\n\t\t\tresampleSingle(srcImgData, destImgData,);\n\t\t\tscaled?.getContext('2d')?.putImageData(destImgData, 0, 0);\n\t\t\tbreak;\n\t\t} case 'bilinear': {\n\t\t\t// const { srcImgData, destImgData } = getImageData(canvas, scaled);\n\t\t\t// bilinear(srcImgData, destImgData, scale);\n\t\t\t// scaled?.getContext('2d')?.putImageData(destImgData, 0, 0);\n\t\t\tbreak;\n\t\t} default: {\n\t\t\tscaled.getContext('2d')?.drawImage(canvas, 0, 0, scaled.width, scaled.height);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn scaled;\n}\n\nconst getHalfScaleCanvas = (src: OffscreenCanvas | HTMLCanvasElement) => {\n\tconst half = new OffscreenCanvas(src.width / 2, src.height / 2);\n\n\thalf\n\t\t?.getContext('2d')\n\t\t?.drawImage(src, 0, 0, half.width, half.height);\n\n\treturn half;\n}\n\nconst getImageData = (canvas: OffscreenCanvas, scaled: OffscreenCanvas) => {\n\tconst srcImgData = canvas\n\t\t?.getContext('2d')\n\t\t?.getImageData(0, 0, canvas.width, canvas.height);\n\tconst destImgData = scaled\n\t\t?.getContext('2d')\n\t\t?.createImageData(scaled.width, scaled.height);\n\n\tif (!srcImgData || !destImgData) throw Error('Canvas is empty (scaleCanvasWithAlgorithm). You should run this script after the document is ready.');\n\n\treturn { srcImgData, destImgData };\n}\n\nasync function saveBlobToOPFS(filePath: string, blob: Blob): Promise<void> {\n // Access the OPFS root directory\n const rootHandle = await navigator.storage.getDirectory();\n\n // Split the filePath into directory segments and file name\n const segments = filePath.split('/').filter(Boolean);\n const fileName = segments.pop(); // Extract the file name\n if (!fileName) {\n throw new Error('Invalid file path: No file name provided.');\n }\n\n // Traverse or create directories as needed\n let currentDirHandle = rootHandle;\n for (const segment of segments) {\n currentDirHandle = await currentDirHandle.getDirectoryHandle(segment, { create: true });\n }\n\n // Create or open the file in OPFS\n const fileHandle = await currentDirHandle.getFileHandle(fileName, { create: true });\n\n // Write the Blob to the file\n const writableStream = await fileHandle.createWritable();\n await writableStream.write(blob);\n await writableStream.close();\n}\n\n\nconst imageResize = async (filePath: string, width: number, height: number) => {\n\n console.log({filePath, width, height})\n\n const config = {\n ...DEFAULT_CONFIG,\n algorithm: 'hermite_single',\n mimeType: 'image/webp',\n maxWidth: width,\n maxHeight: height,\n }\n\n const rootHandle = await navigator.storage.getDirectory();\n\n // List files in the root directory\n const files = await listFilesInDirectory(rootHandle);\n console.log({\n message: 'listFilesInDirectory',\n files\n });\n\n const file = await getFileFromOPFS(filePath);\n\n const imageBitmap = await createImageBitmap(file);\n\n let converting: OffscreenCanvas\n\n if (isIos() && imageBitmap.width * imageBitmap.height > 16777216) {\n const scale = Math.sqrt(16777216 / (imageBitmap.width * imageBitmap.height));\n console.log(`browser-image-resizer: scale: Image is too large in iOS WebKit`);\n converting = new OffscreenCanvas(Math.floor(imageBitmap.width * scale), Math.floor(imageBitmap.height * scale));\n converting.getContext('2d')?.drawImage(imageBitmap, 0, 0, converting.width, converting.height);\n } else {\n converting = new OffscreenCanvas(imageBitmap.width, imageBitmap.height);\n converting.getContext('2d')?.drawImage(imageBitmap, 0, 0);\n }\n\n if (!converting?.getContext('2d')) {\n console.log('browser-image-resizer: Canvas Context is empty.')\n }\n\n const maxWidth = findMaxWidth(config, converting);\n\n\tif (!maxWidth){ \n throw Error(`browser-image-resizer: maxWidth is ${maxWidth}!!`)\n };\n\n\twhile (config.processByHalf && converting.width >= 2 * maxWidth) {\n\t\tif (config.debug) console.log(`browser-image-resizer: scale: Scaling canvas by half from ${converting.width}`);\n\t\tconverting = getHalfScaleCanvas(converting);\n\t}\n\n\tif (converting.width > maxWidth) {\n\t\tif (config.debug) console.log(`browser-image-resizer: scale: Scaling canvas by ${config.argorithm} from ${converting.width} to ${maxWidth}`);\n\t\tconverting = await scaleCanvasWithAlgorithm(\n\t\t\tconverting,\n\t\t\tObject.assign(config, { outputWidth: maxWidth }),\n\t\t);\n\t}\n\n\tif (config.mimeType === null) {\n\t\treturn converting;\n\t}\n\tconst resizedBlob = await converting.convertToBlob({ type: config.mimeType, quality: config.quality });\n\n const pathSegments = filePath.split('/');\n const fileName = pathSegments.pop();\n if (!fileName) {\n throw Error('Invalid file path: No file name provided.');\n }\n const newSegments = [\n ...pathSegments,\n width,\n ]\n const fileNameParts = fileName.split('.')\n const newFileName = `${fileNameParts[0]}.webp`\n const newDirPath = newSegments.join('/');\n const newFilePath = `${newDirPath}/${newFileName}`;\n\n // Save resized image to OPFS with new name\n await saveBlobToOPFS(newFilePath, resizedBlob)\n globalThis.postMessage({\n done: true,\n filePath: newFilePath,\n })\n\n}\n\nonmessage = async (e) => {\n console.log('[imageResize] onmessage', e.data)\n const { filePath, width, height } = e.data\n await imageResize(filePath, width, height)\n console.log(`[imageResize] Done`, filePath)\n}\n}.toString()\n}\n)()`\n","import imageResize from './imageResize'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager';\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:browser:workers:ImageResizer')\n\n\nexport class ImageResizer {\n private cores: number\n private workersArchive: Map<string, Worker> = new Map()\n private workerBlobUrl: string\n\n constructor() {\n this.cores = Math.min(navigator.hardwareConcurrency || 4, 4);\n\n this.workerBlobUrl = globalThis.URL.createObjectURL(\n new Blob([imageResize], { type: 'application/javascript' })\n )\n }\n\n public async resize({filePath, width, height}: ResizeImageParams) {\n \n if (this.workersArchive.has(filePath)) {\n const savedWorker = this.workersArchive.get(filePath)\n savedWorker?.terminate()\n logger('[ImageResizer.resize] Terminated worker for filePath due to incoming request', filePath)\n this.workersArchive.delete(filePath)\n }\n\n const worker = new Worker(this.workerBlobUrl);\n\n this.workersArchive.set(filePath, worker)\n\n return new Promise((resolve, reject) => {\n worker.onmessage = (e) => {\n logger('[ImageResizer.resize] main thread onmessage', e.data);\n if (e.data.done) {\n const savedWorker = this.workersArchive.get(filePath)\n savedWorker?.terminate()\n logger('[ImageResizer.resize] Terminated worker for filePath due to done', filePath)\n this.workersArchive.delete(filePath)\n resolve(e.data)\n }\n\n if (e.data.error) {\n reject(e.data.error)\n }\n }\n \n worker.postMessage({\n filePath,\n width,\n height,\n });\n })\n }\n\n public async resizeAll({width, height}: ResizeAllImagesParams) {\n\n const fs = await BaseFileManager.getFs()\n\n const imageDir = '/files/images'\n let imageFilesStats = await fs.promises.readdir(imageDir, {\n withFileTypes: true\n })\n\n imageFilesStats = imageFilesStats.filter(file => file.isFile())\n\n const imageFiles = imageFilesStats.map(file => file.path)\n\n const widthDir = `${imageDir}/${width}`\n\n await BaseFileManager.createDirIfNotExists(widthDir)\n\n for (const imageFile of imageFiles) {\n const resizedImageExists = await BaseFileManager.pathExists(`${widthDir}/${imageFile}`)\n if (!resizedImageExists) {\n await this.resize({filePath: `${imageDir}/${imageFile}`, width, height})\n }\n }\n\n \n }\n}\n","import { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nimport { FileDownloader } from '../workers/FileDownloader'\nimport { ImageResizer } from '../workers/ImageResizer'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:browser:helpers:FileManager')\n\nclass FileManager extends BaseFileManager {\n\n static async getFs() {\n const fs = await import('@zenfs/core')\n return fs\n }\n\n static async getContentUrlFromPath( path: string ): Promise<string | undefined> {\n\n const fileExists = await this.pathExists(path)\n if ( fileExists ) {\n const file = await this.readFile(path)\n return URL.createObjectURL(file)\n }\n }\n\n static async initializeFileSystem(): Promise<void> {\n\n const fs = await this.getFs()\n const {WebAccess} = await import('@zenfs/dom')\n const {configureSingle} = fs\n\n const handle = await navigator.storage.getDirectory()\n // await configure({\n // mounts: {\n // '/': {\n // backend: WebAccess,\n // handle,\n // },\n // },\n // disableUpdateOnRead: true,\n // onlySyncOnClose: true,\n // })\n await configureSingle({\n backend: WebAccess,\n handle,\n })\n }\n\n static async downloadAllFiles( {\n transactionIds,\n arweaveHost,\n excludedTransactions,\n }: DownloadAllFilesParams ): Promise<void> {\n const fileDownloader = new FileDownloader()\n await fileDownloader.downloadAll({ transactionIds, arweaveHost, excludedTransactions })\n }\n\n static async resizeImage( { filePath, width, height }: ResizeImageParams ): Promise<void> {\n const imageResizer = new ImageResizer()\n await imageResizer.resize({ filePath, width, height })\n }\n\n static async resizeAllImages( { width, height }: ResizeAllImagesParams ): Promise<void> {\n const imageResizer = new ImageResizer()\n await imageResizer.resizeAll({ width, height })\n }\n\n static async pathExists(filePath: string): Promise<boolean> {\n try {\n // Access the root directory of OPFS\n const root = await navigator.storage.getDirectory();\n \n // Split the path into segments\n const parts = filePath.split('/').filter(Boolean);\n let currentDir = root;\n\n // Traverse each part of the path\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n try {\n const handle = await currentDir.getDirectoryHandle(part, { create: false });\n currentDir = handle; // Move into the directory\n } catch (error) {\n try {\n // If it's not a directory, check if it's a file\n await currentDir.getFileHandle(part, { create: false });\n // If we successfully got a file handle and it's the last part, return true\n return i === parts.length - 1;\n } catch {\n // Neither a directory nor a file exists\n return false;\n }\n }\n }\n\n return true; // Directory exists\n } catch (error) {\n return false; // Any error means the path does not exist\n }\n }\n\n static async createDirIfNotExists(filePath: string): Promise<void> {\n if (!(await this.pathExists(filePath))) {\n try {\n const fs = await this.getFs()\n await fs.promises.mkdir(filePath)\n } catch (error) {\n // This is a no-op. We tried to create a directory that already exists.\n logger('Attempted to create a directory that already exists')\n }\n }\n }\n\n /**\n * Waits for a file to exist at the specified path.\n * @param {string} filePath - The path of the file to check.\n * @param {number} interval - The interval in milliseconds between checks (default: 500ms).\n * @param {number} timeout - The timeout in milliseconds to wait for the file to exist (default: 10s).\n * @returns {Promise<boolean>} - Resolves to true if the file exists within the timeout period, otherwise false.\n */\n static async waitForFile(filePath: string, interval: number = 1000, timeout: number = 60000): Promise<boolean> {\n\n const fs = await this.getFs()\n const fsNode = await import('node:fs')\n\n return new Promise((resolve, reject) => {\n const startTime = Date.now()\n \n let isBusy = false\n\n const cancelableInterval = new CancelableInterval(async (stop) => {\n logger('waitForFile', filePath)\n if (isBusy) {\n return\n }\n isBusy = true\n // TODO: Needs to read from OPFS\n if (fs.existsSync(filePath) && fsNode.existsSync(filePath)) {\n stop()\n resolve(true)\n }\n\n const pathExists = await this.pathExists(filePath)\n if (pathExists) {\n stop()\n resolve(true)\n }\n\n if (Date.now() - startTime >= timeout) {\n stop()\n reject(new Error('Timeout exceeded while waiting for file'))\n }\n isBusy = false\n }, interval)\n\n cancelableInterval.start()\n \n // const _interval = setInterval(async () => {\n // logger('waitForFile', filePath)\n // if (isBusy) {\n // return\n // }\n // isBusy = true\n // // TODO: Needs to read from OPFS\n // if (fs.existsSync(filePath) && fsNode.existsSync(filePath)) {\n // clearInterval(_interval)\n // resolve(true)\n // }\n\n // const pathExists = await this.pathExists(filePath)\n // if (pathExists) {\n // clearInterval(_interval)\n // resolve(true)\n // }\n\n // if (Date.now() - startTime >= timeout) {\n // clearInterval(_interval)\n // reject(new Error('Timeout exceeded while waiting for file'))\n // }\n // isBusy = false\n // }, interval)\n \n // retry(\n // {\n // times: Math.ceil(timeout / interval),\n // interval: interval,\n // },\n // (callback: Function) => {\n // if (fs.existsSync(filePath) && fsNode.existsSync(filePath)) {\n // return callback(null, true) // File exists, finish with success\n // }\n // if (Date.now() - startTime >= timeout) {\n // return callback(new Error('Timeout exceeded while waiting for file'))\n // }\n // callback(new Error('File does not exist yet')) // Retry with this error\n // },\n // (err: Error, result: boolean) => {\n // if (err) {\n // return resolve(false) // Resolve as false if timeout or error occurs\n // }\n // resolve(result) // Resolve as true if file exists\n // },\n // )\n })\n }\n\n static async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n try {\n // Get a handle to the OPFS root directory\n const root = await navigator.storage.getDirectory();\n \n // Split the file path into directory and file name\n const pathParts = filePath.split('/');\n const fileName = pathParts.pop();\n if (!fileName) throw new Error('Invalid file path');\n\n // Traverse directories and create them if they don't exist\n let currentDir = root;\n for (const part of pathParts) {\n if (part !== '') {\n currentDir = await currentDir.getDirectoryHandle(part, { create: true });\n }\n }\n\n // Get the file handle and create the file if it doesn't exist\n const fileHandle = await currentDir.getFileHandle(fileName, { create: true });\n\n // Create a writable stream and write the content\n const writable = await fileHandle.createWritable();\n \n if (typeof content === 'string' || content instanceof Uint8Array) {\n await writable.write(content);\n } else if (content instanceof Blob) {\n await writable.write(content);\n } else if (content instanceof ArrayBuffer) {\n await writable.write(new Blob([content]));\n } else {\n throw new Error('Unsupported content type');\n }\n\n await writable.close();\n logger(`File written successfully: ${filePath}`);\n } catch (error) {\n console.error(`Error writing to OPFS: ${error.message}`);\n }\n }\n\n static async readFile(filePath: string): Promise<File> {\n try {\n // Get a handle to the OPFS root directory\n const root = await navigator.storage.getDirectory();\n \n // Split the file path into directory and file name\n const pathParts = filePath.split('/');\n const fileName = pathParts.pop();\n if (!fileName) throw new Error('Invalid file path');\n \n // Traverse directories to reach the target file\n let currentDir = root;\n for (const part of pathParts) {\n if (part !== '') {\n currentDir = await currentDir.getDirectoryHandle(part, { create: false });\n }\n }\n \n // Get the file handle\n const fileHandle = await currentDir.getFileHandle(fileName, { create: false });\n \n // Get the file and read it as an ArrayBuffer\n return await fileHandle.getFile();\n } catch (error) {\n console.error(`Error reading from OPFS: ${error.message}`);\n throw error;\n }\n }\n\n static async readFileAsBuffer(filePath: string): Promise<Buffer> {\n try {\n\n // Get the file and read it as an ArrayBuffer\n const file = await this.readFile(filePath)\n const arrayBuffer = await file.arrayBuffer();\n\n // Convert ArrayBuffer to Buffer\n return Buffer.from(arrayBuffer);\n } catch (error) {\n console.error(`Error reading from OPFS: ${error.message}`);\n throw error;\n }\n }\n\n static async readFileAsString(filePath: string): Promise<string> {\n const buffer = await this.readFileAsBuffer(filePath)\n return buffer.toString('utf-8')\n }\n}\n\nBaseFileManager.setPlatformClass(FileManager)\n\ntype AsyncTask = (stop: () => void) => Promise<void>\n\n\nclass CancelableInterval {\n private intervalId: number | null = null;\n private currentTaskAbortController: AbortController | null = null;\n\n constructor(private task: AsyncTask, private interval: number) {}\n\n start() {\n this.intervalId = window.setInterval(async () => {\n if (this.currentTaskAbortController) {\n // Cancel the previous running task\n this.currentTaskAbortController.abort();\n }\n\n // Create a new abort controller for the current task\n this.currentTaskAbortController = new AbortController();\n const signal = this.currentTaskAbortController.signal;\n\n try {\n await this.taskWithCancellation(signal);\n } catch (error) {\n if (error instanceof DOMException && error.name === 'AbortError') {\n console.log('Previous task was canceled.');\n } else {\n console.error('Task error:', error);\n }\n this.stop()\n }\n }, this.interval);\n }\n\n private async taskWithCancellation(signal: AbortSignal) {\n await this.task(() => this.stop())\n if (signal.aborted) {\n throw new DOMException('Task was aborted', 'AbortError');\n }\n }\n\n stop() {\n if (this.intervalId !== null) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n if (this.currentTaskAbortController) {\n this.currentTaskAbortController.abort();\n }\n }\n}\n\n\nexport { FileManager }\n"],"names":["logger"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { B as BaseItem } from './index-D-O-gmXo.js';
2
+ import 'immer';
3
+ import 'reflect-metadata';
4
+ import '@sinclair/typebox';
5
+ import 'xstate';
6
+ import './constants-C-6Pg8FW.js';
7
+ import 'graphql-request';
8
+ import '@ethereum-attestation-service/eas-sdk';
9
+ import 'debug';
10
+ import 'pluralize';
11
+ import 'drizzle-orm/sqlite-core';
12
+ import 'drizzle-orm';
13
+ import 'eventemitter3';
14
+ import 'nanoid';
15
+ import 'nanoid-dictionary';
16
+ import 'lodash-es';
17
+ import '@statelyai/inspect';
18
+ import 'path';
19
+ import 'arweave';
20
+ import 'rxjs';
21
+ import 'drizzle-orm/casing';
22
+ import 'react';
23
+ import 'use-immer';
24
+ import '@xstate/react';
25
+
26
+ class Item extends BaseItem {
27
+ constructor(initialValues) {
28
+ super(initialValues);
29
+ }
30
+ }
31
+ BaseItem.setPlatformClass(Item);
32
+
33
+ export { Item };
34
+ //# sourceMappingURL=Item-BD2_tuda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item-BD2_tuda.js","sources":["../../src/node/Item/Item.ts"],"sourcesContent":["import { IItem } from '@/interfaces';\nimport { BaseItem } from '@/Item/BaseItem';\nimport { ModelSchema, ModelValues, NewItemProps } from '@/types';\n\nexport class Item<T extends ModelValues<ModelSchema>> extends BaseItem<T> implements IItem<T> {\n constructor(initialValues: NewItemProps<T>) {\n super(initialValues);\n }\n\n}\n\nBaseItem.setPlatformClass(Item)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,IAAyC,SAAQ,QAAW,CAAA;AACvE,IAAA,WAAA,CAAY,aAA8B,EAAA;QACxC,KAAK,CAAC,aAAa,CAAC;;AAGvB;AAED,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;;"}
@@ -0,0 +1,33 @@
1
+ import { c as BaseItemProperty } from './index-D-O-gmXo.js';
2
+ import 'immer';
3
+ import 'reflect-metadata';
4
+ import '@sinclair/typebox';
5
+ import 'xstate';
6
+ import './constants-C-6Pg8FW.js';
7
+ import 'graphql-request';
8
+ import '@ethereum-attestation-service/eas-sdk';
9
+ import 'debug';
10
+ import 'pluralize';
11
+ import 'drizzle-orm/sqlite-core';
12
+ import 'drizzle-orm';
13
+ import 'eventemitter3';
14
+ import 'nanoid';
15
+ import 'nanoid-dictionary';
16
+ import 'lodash-es';
17
+ import '@statelyai/inspect';
18
+ import 'path';
19
+ import 'arweave';
20
+ import 'rxjs';
21
+ import 'drizzle-orm/casing';
22
+ import 'react';
23
+ import 'use-immer';
24
+ import '@xstate/react';
25
+
26
+ class ItemProperty extends BaseItemProperty {
27
+ constructor(initialValues) {
28
+ super(initialValues);
29
+ }
30
+ }
31
+
32
+ export { ItemProperty };
33
+ //# sourceMappingURL=ItemProperty-CjcrzEmg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemProperty-CjcrzEmg.js","sources":["../../src/node/ItemProperty/ItemProperty.ts"],"sourcesContent":["import { IItemProperty } from '@/interfaces'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\nimport { CreatePropertyInstanceProps, ModelSchema, ModelValues, } from '@/types'\n\nexport class ItemProperty<PropertyType> extends BaseItemProperty<PropertyType> implements IItemProperty<PropertyType> {\n constructor(initialValues: Partial<CreatePropertyInstanceProps>) {\n super(initialValues)\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,YAA2B,SAAQ,gBAA8B,CAAA;AAC5E,IAAA,WAAA,CAAY,aAAmD,EAAA;QAC7D,KAAK,CAAC,aAAa,CAAC;;AAEvB;;;;"}
@@ -0,0 +1,22 @@
1
+ import { b as BaseQueryClient } from './constants-C-6Pg8FW.js';
2
+ import { QueryClient as QueryClient$1 } from '@tanstack/react-query';
3
+ import 'graphql-request';
4
+ import '@ethereum-attestation-service/eas-sdk';
5
+
6
+ class QueryClient extends BaseQueryClient {
7
+ static getQueryClient() {
8
+ // Implement the browser-specific logic here
9
+ return new QueryClient$1({
10
+ defaultOptions: {
11
+ queries: {
12
+ networkMode: 'offlineFirst',
13
+ gcTime: 1000 * 60 * 60 * 24, // 24 hours
14
+ },
15
+ },
16
+ });
17
+ }
18
+ }
19
+ BaseQueryClient.setPlatformClass(QueryClient);
20
+
21
+ export { QueryClient };
22
+ //# sourceMappingURL=QueryClient-W4slRa7O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryClient-W4slRa7O.js","sources":["../../src/browser/helpers/QueryClient.ts"],"sourcesContent":["import { BaseQueryClient } from \"@/helpers/QueryClient/BaseQueryClient\";\nimport { ARWEAVE_ENDPOINT } from \"@/services/internal/constants\";\nimport { QueryClient as ReactQueryClient, } from \"@tanstack/react-query\";\n\nclass QueryClient extends BaseQueryClient {\n static getQueryClient() {\n // Implement the browser-specific logic here\n return new ReactQueryClient({\n defaultOptions: {\n queries: {\n networkMode: 'offlineFirst',\n gcTime: 1000 * 60 * 60 * 24, // 24 hours\n },\n },\n })\n }\n}\n\nBaseQueryClient.setPlatformClass(QueryClient);\n\nexport { QueryClient };\n"],"names":["ReactQueryClient"],"mappings":";;;;;AAIA,MAAM,WAAY,SAAQ,eAAe,CAAA;AACvC,IAAA,OAAO,cAAc,GAAA;;QAEnB,OAAO,IAAIA,aAAgB,CAAC;AAC1B,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5B,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;;AAEL;AAED,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
@@ -0,0 +1,22 @@
1
+ import { b as BaseQueryClient } from './constants-C-6Pg8FW.js';
2
+ import 'graphql-request';
3
+ import '@ethereum-attestation-service/eas-sdk';
4
+
5
+ class QueryClient extends BaseQueryClient {
6
+ }
7
+ QueryClient.getQueryClient = () => {
8
+ return {
9
+ fetchQuery: async ({ queryKey, queryFn, }) => {
10
+ return await queryFn();
11
+ },
12
+ getQueryData: () => {
13
+ return new Promise((resolve, reject) => {
14
+ reject(new Error('Not implemented'));
15
+ });
16
+ },
17
+ };
18
+ };
19
+ BaseQueryClient.setPlatformClass(QueryClient);
20
+
21
+ export { QueryClient };
22
+ //# sourceMappingURL=QueryClient-ZUsZ1Qxq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryClient-ZUsZ1Qxq.js","sources":["../../src/node/helpers/QueryClient.ts"],"sourcesContent":["import { BaseQueryClient } from \"@/helpers/QueryClient/BaseQueryClient\"\nimport { IQueryClient } from '@/interfaces/IQueryClient'\n\n\n\nclass QueryClient extends BaseQueryClient {\n static getQueryClient = (): IQueryClient=> {\n return {\n fetchQuery: async <T>({\n queryKey,\n queryFn,\n }): Promise<T> => {\n return await queryFn()\n },\n getQueryData: () => {\n return new Promise((resolve, reject) => {\n reject(new Error('Not implemented'))\n })\n },\n }\n }\n}\n\nBaseQueryClient.setPlatformClass(QueryClient)\n\nexport { QueryClient }\n"],"names":[],"mappings":";;;;AAKA,MAAM,WAAY,SAAQ,eAAe,CAAA;;AAChC,WAAc,CAAA,cAAA,GAAG,MAAkB;IACxC,OAAO;QACL,UAAU,EAAE,OAAU,EACpB,QAAQ,EACR,OAAO,GACP,KAAgB;YAChB,OAAO,MAAM,OAAO,EAAE;SACvB;QACD,YAAY,EAAE,MAAK;YACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,aAAC,CAAC;SACH;KACF;AACH,CAAC;AAGH,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
package/dist/bin.js CHANGED
@@ -5,11 +5,11 @@ import { exec, execSync } from 'child_process';
5
5
  import { promisify } from 'util';
6
6
  import { pathToFileURL } from 'url';
7
7
  import process$1 from 'node:process';
8
- import './EasClient-DQ93i2ci.js';
9
- import './QueryClient-Bmnv_moN.js';
10
- import './FileManager-_ErxVuwb.js';
11
- import './ArweaveClient-CzkBgiZY.js';
12
- import { S as SCHEMA_NJK, e as SCHEMA_TS } from './constants-Bhl5dZpN.js';
8
+ import './EasClient-CFnb5g-r.js';
9
+ import './QueryClient-ZUsZ1Qxq.js';
10
+ import './FileManager-BOixZyex.js';
11
+ import './ArweaveClient-2RMCxfNZ.js';
12
+ import { c as BaseFileManager, S as SCHEMA_NJK, e as SCHEMA_TS } from './constants-C-6Pg8FW.js';
13
13
  import 'dotenv/config';
14
14
  import pluralize from 'pluralize';
15
15
  import { camelCase, snakeCase } from 'lodash-es';
@@ -49,7 +49,7 @@ const templatePath = path.join(sdkRootDir, 'node', 'codegen', 'templates');
49
49
 
50
50
  // import { customAlphabet } from 'nanoid'
51
51
  // import { alphanumeric } from 'nanoid-dictionary'
52
- const logger = debug('app:helpers');
52
+ const logger = debug('seedSdk:helpers');
53
53
  const getTsImport = async (filePath) => {
54
54
  // Check if the config file exists
55
55
  if (!fs.existsSync(filePath)) {
@@ -102,6 +102,7 @@ const generateDrizzleSchemaCode = (modelName, modelClass) => {
102
102
  const createDrizzleSchemaFilesFromConfig = async () => {
103
103
  const schemaFilePath = path.join(dotSeedDir, 'schema.ts'); // Developer created file with model definitions
104
104
  const { models } = await getTsImport(schemaFilePath);
105
+ const fs = await BaseFileManager.getFs();
105
106
  for (const [modelName, modelClass] of Object.entries(models)) {
106
107
  const code = generateDrizzleSchemaCode(modelName, modelClass);
107
108
  if (!fs.existsSync(appGeneratedSchemaDir)) {
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sources":["../../src/node/constants.ts","../../src/node/helpers/index.ts","../../src/node/codegen/drizzle.ts","../../scripts/bin.ts"],"sourcesContent":["import path from 'path'\nimport 'dotenv/config'\n\nexport const NODE_APP_DB_CONFIG = 'node.app.db.config.ts'\n\nconst currentDir = path.dirname(new URL(import.meta.url).pathname)\n\nconst parentToCheck = path.join(currentDir, '..')\n\nlet rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..')\n\nif (process.env.IS_SEED_DEV) {\n rootWithNodeModules = path.join(parentToCheck, '..')\n}\n\nlet sdkRootDir = path.join(\n rootWithNodeModules,\n 'node_modules',\n '@seedprotocol',\n 'sdk',\n 'dist',\n)\n\nif (process.env.IS_SEED_DEV) {\n sdkRootDir = path.join(rootWithNodeModules, 'src')\n}\n\nlet dotSeedDir = path.join(rootWithNodeModules, '.seed')\n\nif (process.env.IS_SEED_DEV) {\n dotSeedDir = path.join(\n process.cwd(),\n '__tests__',\n '__mocks__',\n 'project',\n '.seed',\n )\n}\n\nexport const drizzleKitPath = path.join(\n rootWithNodeModules,\n 'node_modules',\n 'drizzle-kit',\n 'bin.cjs',\n)\n\n// App file paths. These are the single source of truth for the SDK user's data model\nexport const appSchemaDir = path.join(dotSeedDir, 'schema')\nexport const appDbDir = path.join(dotSeedDir, 'db')\nexport const appMetaDir = path.join(appDbDir, 'meta')\nexport const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema')\n\nexport const drizzleDbConfigPath = path.join(\n sdkRootDir,\n 'node',\n 'db',\n NODE_APP_DB_CONFIG,\n)\n\nexport const templatePath = path.join(\n sdkRootDir,\n 'node',\n 'codegen',\n 'templates',\n)\n\nexport { rootWithNodeModules, sdkRootDir, dotSeedDir }\n","// import { customAlphabet } from 'nanoid'\n// import { alphanumeric } from 'nanoid-dictionary'\nimport fs from 'fs'\nimport * as tsImport from 'ts-import'\nimport { LoadMode } from 'ts-import'\nimport path from 'path'\nimport { glob } from 'glob'\nimport { rimraf } from 'rimraf'\nimport debug from 'debug'\n\nconst logger = debug('app:helpers')\n\nexport const getTsImport = async <T>(filePath: string): Promise<T> => {\n // Check if the config file exists\n if (!fs.existsSync(filePath)) {\n logger(`Typescript file not found at ${filePath}`)\n throw new Error(`Typescript file not found at ${filePath}`)\n }\n\n return await tsImport.load(filePath, {\n mode: LoadMode.Compile,\n compileOptions: {\n compilerOptions: {\n experimentalDecorators: true,\n emitDecoratorMetadata: true,\n },\n },\n })\n}\n\nexport const deleteFilesWithExtension = async (\n dir: string,\n extension: string,\n) => {\n const pattern = path.join(dir, `**/*${extension}`)\n glob(pattern, (err, files) => {\n if (err) {\n logger('Error finding files:', err)\n return\n }\n\n for (const file of files) {\n // TODO: Change this whole thing to be async?\n rimraf(file, (err) => {\n if (err) {\n logger('Error deleting file:', err)\n } else {\n logger(`Deleted: ${file}`)\n }\n })\n }\n })\n}\n","import path from 'path'\nimport fs from 'fs'\nimport pluralize from 'pluralize'\nimport { camelCase, snakeCase } from 'lodash-es'\nimport * as nunjucks from 'nunjucks'\nimport { ILoader } from 'nunjucks'\nimport { ModelClassType } from '@/types'\nimport { SCHEMA_NJK } from '@/helpers/constants'\nimport {\n appGeneratedSchemaDir,\n dotSeedDir,\n templatePath,\n} from '@/node/constants'\nimport { getTsImport } from '@/node/helpers'\n\nconst TemplateLoader: ILoader = {\n getSource: (name: string) => {\n let templateFilePath\n if (name.includes(templatePath)) {\n templateFilePath = name\n } else {\n templateFilePath = path.join(templatePath, path.basename(name))\n }\n const src = fs.readFileSync(templateFilePath, 'utf-8')\n\n return {\n path: name,\n src,\n noCache: false,\n }\n },\n}\n\n// Configure Nunjucks\nconst env = new nunjucks.Environment(TemplateLoader)\n\nenv.addFilter('camelCase', camelCase)\nenv.addFilter('snakeCase', snakeCase)\nenv.addFilter('pluralize', pluralize)\n\nconst generateDrizzleSchemaCode = (\n modelName: string,\n modelClass: ModelClassType,\n): string => {\n const listProperties = Object.entries(modelClass.schema).filter(\n ([key, propertyDef]) => propertyDef?.dataType === 'List',\n )\n\n const filePath = path.join(templatePath, SCHEMA_NJK)\n\n const schemaCode = env.render(filePath, {\n modelName,\n modelClass,\n listProperties,\n })\n\n return schemaCode\n}\n\nexport const createDrizzleSchemaFilesFromConfig = async () => {\n const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions\n\n const { models } = await getTsImport<{\n models: Record<string, ModelClassType>\n }>(schemaFilePath)\n\n for (const [modelName, modelClass] of Object.entries(models)) {\n const code = generateDrizzleSchemaCode(modelName, modelClass)\n\n if (!fs.existsSync(appGeneratedSchemaDir)) {\n fs.mkdirSync(appGeneratedSchemaDir)\n }\n\n const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`)\n\n await fs.promises.writeFile(filePath, code).catch((e) => console.error(e))\n }\n}\n","#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { exec as execCallback, execSync, } from 'child_process'\nimport { promisify } from 'util'\nimport { pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '../src/node/helpers/EasClient'\nimport '../src/node/helpers/QueryClient'\nimport '../src/node/helpers/FileManager'\nimport '../src/node/helpers/ArweaveClient'\nimport { SCHEMA_TS } from '../src/helpers/constants'\nimport {\n appMetaDir,\n appSchemaDir,\n dotSeedDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n rootWithNodeModules,\n sdkRootDir,\n} from '../src/node/constants'\nimport { createDrizzleSchemaFilesFromConfig } from '../src/node/codegen'\nimport { rimrafSync } from 'rimraf'\n\nconst exec = promisify(execCallback)\n\nlet a\n\na = process.argv.splice(2)\n\nconst init = (args: string[]) => {\n console.log('args:', args)\n\n if (args && args.length && args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n\n let schemaFileDir = args[1] || rootWithNodeModules\n const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS)\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n console.log('[Seed Protocol] sdkRootDir', sdkRootDir)\n\n const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`\n\n const ensureIndexExports = (dirPath: string): void => {\n try {\n // Get all file names in the directory\n const files = fs.readdirSync(dirPath)\n\n // Filter for .ts files excluding index.ts\n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && file !== 'index.ts',\n )\n\n // Check if index.ts exists\n const indexFilePath = path.join(dirPath, 'index.ts')\n try {\n fs.accessSync(indexFilePath)\n } catch (error) {\n console.error(`index.ts not found in the directory: ${dirPath}`)\n return\n }\n\n // Read the content of index.ts\n const indexContent = fs.readFileSync(indexFilePath, 'utf8')\n\n // Create export statements for each .ts file\n const exportStatements = tsFiles.map(\n (file) => `export * from './${path.basename(file, '.ts')}';`,\n )\n\n // Check if each export statement is already present in index.ts\n const missingExports = exportStatements.filter(\n (statement) => !indexContent.includes(statement),\n )\n\n if (missingExports.length > 0) {\n // Append missing export statements to index.ts\n const newContent =\n indexContent + '\\n' + missingExports.join('\\n') + '\\n'\n fs.writeFileSync(indexFilePath, newContent, 'utf8')\n console.log(\n `Updated index.ts with missing exports:\\n${missingExports.join('\\n')}`,\n )\n } else {\n console.log('All exports are already present in index.ts')\n }\n } catch (error) {\n console.error(`Error processing directory: ${dirPath}`, error)\n }\n }\n\n const copyFiles = (srcDir, destDir) => {\n if (!fs.existsSync(destDir)) {\n fs.mkdirSync(destDir, { recursive: true })\n }\n const srcFiles = fs.readdirSync(srcDir)\n srcFiles.forEach((file) => {\n console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)\n fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))\n })\n }\n\n const copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`)\n fs.mkdirSync(_appFilesDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${_appFilesDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n console.log('pathToMeta:', pathToMeta)\n console.log('pathToConfig:', pathToConfig)\n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`)\n execSync(\n `${drizzleKitCommand} generate --config=${pathToConfig}`,\n )\n }\n execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`)\n }\n\n const runCommands = async () => {\n await createDrizzleSchemaFilesFromConfig()\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyFiles(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\n\n runCommands()\n .then(() => {\n if (!appFilesDirPath) {\n console.log('[Seed Protocol] Finished running init script')\n } else {\n return copyDotSeedFilesToAppFiles(appFilesDirPath)\n }\n })\n .then(() => {\n console.log('[Seed Protocol] Finished running init script')\n })\n }\n}\n\nconst calledFrom = pathToFileURL(process.argv[1]).href\n\nconsole.log('calledFrom:', calledFrom)\n\nif (\n calledFrom.endsWith('node_modules/.bin/seed') ||\n import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||\n import.meta.url.endsWith('scripts/bin.ts')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":["execCallback","process"],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sources":["../../src/node/constants.ts","../../src/node/helpers/index.ts","../../src/node/codegen/drizzle.ts","../../scripts/bin.ts"],"sourcesContent":["import path from 'path'\nimport 'dotenv/config'\n\nexport const NODE_APP_DB_CONFIG = 'node.app.db.config.ts'\n\nconst currentDir = path.dirname(new URL(import.meta.url).pathname)\n\nconst parentToCheck = path.join(currentDir, '..')\n\nlet rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..')\n\nif (process.env.IS_SEED_DEV) {\n rootWithNodeModules = path.join(parentToCheck, '..')\n}\n\nlet sdkRootDir = path.join(\n rootWithNodeModules,\n 'node_modules',\n '@seedprotocol',\n 'sdk',\n 'dist',\n)\n\nif (process.env.IS_SEED_DEV) {\n sdkRootDir = path.join(rootWithNodeModules, 'src')\n}\n\nlet dotSeedDir = path.join(rootWithNodeModules, '.seed')\n\nif (process.env.IS_SEED_DEV) {\n dotSeedDir = path.join(\n process.cwd(),\n '__tests__',\n '__mocks__',\n 'project',\n '.seed',\n )\n}\n\nexport const drizzleKitPath = path.join(\n rootWithNodeModules,\n 'node_modules',\n 'drizzle-kit',\n 'bin.cjs',\n)\n\n// App file paths. These are the single source of truth for the SDK user's data model\nexport const appSchemaDir = path.join(dotSeedDir, 'schema')\nexport const appDbDir = path.join(dotSeedDir, 'db')\nexport const appMetaDir = path.join(appDbDir, 'meta')\nexport const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema')\n\nexport const drizzleDbConfigPath = path.join(\n sdkRootDir,\n 'node',\n 'db',\n NODE_APP_DB_CONFIG,\n)\n\nexport const templatePath = path.join(\n sdkRootDir,\n 'node',\n 'codegen',\n 'templates',\n)\n\nexport { rootWithNodeModules, sdkRootDir, dotSeedDir }\n","// import { customAlphabet } from 'nanoid'\n// import { alphanumeric } from 'nanoid-dictionary'\nimport fs from 'fs'\nimport * as tsImport from 'ts-import'\nimport { LoadMode } from 'ts-import'\nimport path from 'path'\nimport { glob } from 'glob'\nimport { rimraf } from 'rimraf'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:helpers')\n\nexport const getTsImport = async <T>(filePath: string): Promise<T> => {\n // Check if the config file exists\n if (!fs.existsSync(filePath)) {\n logger(`Typescript file not found at ${filePath}`)\n throw new Error(`Typescript file not found at ${filePath}`)\n }\n\n return await tsImport.load(filePath, {\n mode: LoadMode.Compile,\n compileOptions: {\n compilerOptions: {\n experimentalDecorators: true,\n emitDecoratorMetadata: true,\n },\n },\n })\n}\n\nexport const deleteFilesWithExtension = async (\n dir: string,\n extension: string,\n) => {\n const pattern = path.join(dir, `**/*${extension}`)\n glob(pattern, (err, files) => {\n if (err) {\n logger('Error finding files:', err)\n return\n }\n\n for (const file of files) {\n // TODO: Change this whole thing to be async?\n rimraf(file, (err) => {\n if (err) {\n logger('Error deleting file:', err)\n } else {\n logger(`Deleted: ${file}`)\n }\n })\n }\n })\n}\n","import path from 'path'\nimport pluralize from 'pluralize'\nimport { camelCase, snakeCase } from 'lodash-es'\nimport * as nunjucks from 'nunjucks'\nimport { ILoader } from 'nunjucks'\nimport { ModelClassType } from '@/types'\nimport { SCHEMA_NJK } from '@/helpers/constants'\nimport {\n appGeneratedSchemaDir,\n dotSeedDir,\n templatePath,\n} from '@/node/constants'\nimport { getTsImport } from '@/node/helpers'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nimport fs from 'fs'\n\nconst TemplateLoader: ILoader = {\n getSource: (name: string) => {\n let templateFilePath\n if (name.includes(templatePath)) {\n templateFilePath = name\n } else {\n templateFilePath = path.join(templatePath, path.basename(name))\n }\n const src = fs.readFileSync(templateFilePath, 'utf-8')\n\n return {\n path: name,\n src,\n noCache: false,\n }\n },\n}\n\n// Configure Nunjucks\nconst env = new nunjucks.Environment(TemplateLoader)\n\nenv.addFilter('camelCase', camelCase)\nenv.addFilter('snakeCase', snakeCase)\nenv.addFilter('pluralize', pluralize)\n\nconst generateDrizzleSchemaCode = (\n modelName: string,\n modelClass: ModelClassType,\n): string => {\n const listProperties = Object.entries(modelClass.schema).filter(\n ([key, propertyDef]) => propertyDef?.dataType === 'List',\n )\n\n const filePath = path.join(templatePath, SCHEMA_NJK)\n\n const schemaCode = env.render(filePath, {\n modelName,\n modelClass,\n listProperties,\n })\n\n return schemaCode\n}\n\nexport const createDrizzleSchemaFilesFromConfig = async () => {\n const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions\n\n const { models } = await getTsImport<{\n models: Record<string, ModelClassType>\n }>(schemaFilePath)\n\n const fs = await BaseFileManager.getFs()\n\n for (const [modelName, modelClass] of Object.entries(models)) {\n const code = generateDrizzleSchemaCode(modelName, modelClass)\n\n if (!fs.existsSync(appGeneratedSchemaDir)) {\n fs.mkdirSync(appGeneratedSchemaDir)\n }\n\n const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`)\n\n await fs.promises.writeFile(filePath, code).catch((e) => console.error(e))\n }\n}\n","#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { exec as execCallback, execSync, } from 'child_process'\nimport { promisify } from 'util'\nimport { pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '../src/node/helpers/EasClient'\nimport '../src/node/helpers/QueryClient'\nimport '../src/node/helpers/FileManager'\nimport '../src/node/helpers/ArweaveClient'\nimport { SCHEMA_TS } from '../src/helpers/constants'\nimport {\n appMetaDir,\n appSchemaDir,\n dotSeedDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n rootWithNodeModules,\n sdkRootDir,\n} from '../src/node/constants'\nimport { createDrizzleSchemaFilesFromConfig } from '../src/node/codegen'\nimport { rimrafSync } from 'rimraf'\n\nconst exec = promisify(execCallback)\n\nlet a\n\na = process.argv.splice(2)\n\nconst init = (args: string[]) => {\n console.log('args:', args)\n\n if (args && args.length && args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n\n let schemaFileDir = args[1] || rootWithNodeModules\n const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS)\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n console.log('[Seed Protocol] sdkRootDir', sdkRootDir)\n\n const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`\n\n const ensureIndexExports = (dirPath: string): void => {\n try {\n // Get all file names in the directory\n const files = fs.readdirSync(dirPath)\n\n // Filter for .ts files excluding index.ts\n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && file !== 'index.ts',\n )\n\n // Check if index.ts exists\n const indexFilePath = path.join(dirPath, 'index.ts')\n try {\n fs.accessSync(indexFilePath)\n } catch (error) {\n console.error(`index.ts not found in the directory: ${dirPath}`)\n return\n }\n\n // Read the content of index.ts\n const indexContent = fs.readFileSync(indexFilePath, 'utf8')\n\n // Create export statements for each .ts file\n const exportStatements = tsFiles.map(\n (file) => `export * from './${path.basename(file, '.ts')}';`,\n )\n\n // Check if each export statement is already present in index.ts\n const missingExports = exportStatements.filter(\n (statement) => !indexContent.includes(statement),\n )\n\n if (missingExports.length > 0) {\n // Append missing export statements to index.ts\n const newContent =\n indexContent + '\\n' + missingExports.join('\\n') + '\\n'\n fs.writeFileSync(indexFilePath, newContent, 'utf8')\n console.log(\n `Updated index.ts with missing exports:\\n${missingExports.join('\\n')}`,\n )\n } else {\n console.log('All exports are already present in index.ts')\n }\n } catch (error) {\n console.error(`Error processing directory: ${dirPath}`, error)\n }\n }\n\n const copyFiles = (srcDir, destDir) => {\n if (!fs.existsSync(destDir)) {\n fs.mkdirSync(destDir, { recursive: true })\n }\n const srcFiles = fs.readdirSync(srcDir)\n srcFiles.forEach((file) => {\n console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)\n fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))\n })\n }\n\n const copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`)\n fs.mkdirSync(_appFilesDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${_appFilesDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n console.log('pathToMeta:', pathToMeta)\n console.log('pathToConfig:', pathToConfig)\n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`)\n execSync(\n `${drizzleKitCommand} generate --config=${pathToConfig}`,\n )\n }\n execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`)\n }\n\n const runCommands = async () => {\n await createDrizzleSchemaFilesFromConfig()\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyFiles(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\n\n runCommands()\n .then(() => {\n if (!appFilesDirPath) {\n console.log('[Seed Protocol] Finished running init script')\n } else {\n return copyDotSeedFilesToAppFiles(appFilesDirPath)\n }\n })\n .then(() => {\n console.log('[Seed Protocol] Finished running init script')\n })\n }\n}\n\nconst calledFrom = pathToFileURL(process.argv[1]).href\n\nconsole.log('calledFrom:', calledFrom)\n\nif (\n calledFrom.endsWith('node_modules/.bin/seed') ||\n import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||\n import.meta.url.endsWith('scripts/bin.ts')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":["execCallback","process"],"mappings":"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"}