@seedprotocol/sdk 0.3.3 → 0.3.5

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 (392) hide show
  1. package/dist/addModel.js +89 -0
  2. package/dist/addModel.js.map +1 -0
  3. package/dist/bin.js +78 -134
  4. package/dist/bin.js.map +1 -1
  5. package/dist/db/configs/browser.app.db.config.ts +1 -0
  6. package/dist/db/configs/node.app.db.config.ts +1 -0
  7. package/dist/main.js +15 -23
  8. package/dist/main.js.map +1 -1
  9. package/dist/node/codegen/templates/model.njk +14 -0
  10. package/dist/scripts/addModel.d.ts +3 -0
  11. package/dist/scripts/addModel.d.ts.map +1 -0
  12. package/dist/scripts/bin.d.ts.map +1 -1
  13. package/dist/src/Item/BaseItem.js +309 -0
  14. package/dist/src/Item/BaseItem.js.map +1 -0
  15. package/dist/src/Item/index.js +4 -0
  16. package/dist/src/Item/index.js.map +1 -0
  17. package/dist/src/Item/queries.js +94 -0
  18. package/dist/src/Item/queries.js.map +1 -0
  19. package/dist/src/Item/service/actors/fetchDataFromEas.js +74 -0
  20. package/dist/src/Item/service/actors/fetchDataFromEas.js.map +1 -0
  21. package/dist/src/Item/service/actors/hydrateExistingItem.js +119 -0
  22. package/dist/src/Item/service/actors/hydrateExistingItem.js.map +1 -0
  23. package/dist/src/Item/service/actors/hydrateNewItem.js +28 -0
  24. package/dist/src/Item/service/actors/hydrateNewItem.js.map +1 -0
  25. package/dist/src/Item/service/actors/initialize.js +39 -0
  26. package/dist/src/Item/service/actors/initialize.js.map +1 -0
  27. package/dist/src/Item/service/actors/reload.js +26 -0
  28. package/dist/src/Item/service/actors/reload.js.map +1 -0
  29. package/dist/src/Item/service/actors/waitForDb.js +22 -0
  30. package/dist/src/Item/service/actors/waitForDb.js.map +1 -0
  31. package/dist/src/Item/service/itemMachineSingle.js +154 -0
  32. package/dist/src/Item/service/itemMachineSingle.js.map +1 -0
  33. package/dist/src/ItemProperty/BaseItemProperty.js +306 -0
  34. package/dist/src/ItemProperty/BaseItemProperty.js.map +1 -0
  35. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +196 -0
  36. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
  37. package/dist/src/ItemProperty/service/actors/initialize.js +60 -0
  38. package/dist/src/ItemProperty/service/actors/initialize.js.map +1 -0
  39. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +317 -0
  40. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
  41. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js +62 -0
  42. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
  43. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +100 -0
  44. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
  45. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js +178 -0
  46. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js.map +1 -0
  47. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +117 -0
  48. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
  49. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +81 -0
  50. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
  51. package/dist/src/ItemProperty/service/actors/waitForDb.js +22 -0
  52. package/dist/src/ItemProperty/service/actors/waitForDb.js.map +1 -0
  53. package/dist/src/ItemProperty/service/propertyMachine.js +198 -0
  54. package/dist/src/ItemProperty/service/propertyMachine.js.map +1 -0
  55. package/dist/src/browser/Item/Item.js +11 -0
  56. package/dist/src/browser/Item/Item.js.map +1 -0
  57. package/dist/src/browser/Item/index.js +2 -0
  58. package/dist/src/browser/Item/index.js.map +1 -0
  59. package/dist/src/browser/ItemProperty/ItemProperty.js +11 -0
  60. package/dist/src/browser/ItemProperty/ItemProperty.js.map +1 -0
  61. package/dist/src/browser/db/Db.d.ts +10 -5
  62. package/dist/src/browser/db/Db.d.ts.map +1 -1
  63. package/dist/src/browser/db/Db.js +218 -0
  64. package/dist/src/browser/db/Db.js.map +1 -0
  65. package/dist/src/browser/db/sqlWasmClient.d.ts +0 -12
  66. package/dist/src/browser/db/sqlWasmClient.d.ts.map +1 -1
  67. package/dist/{ArweaveClient-2RMCxfNZ.js → src/browser/helpers/ArweaveClient.js} +3 -3
  68. package/dist/{ArweaveClient-COlwyYTF.js.map → src/browser/helpers/ArweaveClient.js.map} +1 -1
  69. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  70. package/dist/src/browser/helpers/FileManager.js +308 -0
  71. package/dist/src/browser/helpers/FileManager.js.map +1 -0
  72. package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
  73. package/dist/{QueryClient-W4slRa7O.js → src/browser/helpers/QueryClient.js} +2 -5
  74. package/dist/src/browser/helpers/QueryClient.js.map +1 -0
  75. package/dist/src/browser/index.d.ts +2 -1
  76. package/dist/src/browser/index.d.ts.map +1 -1
  77. package/dist/src/browser/react/db.js +6 -0
  78. package/dist/src/browser/react/db.js.map +1 -0
  79. package/dist/src/browser/react/item.js +260 -0
  80. package/dist/src/browser/react/item.js.map +1 -0
  81. package/dist/src/browser/react/property.js +107 -0
  82. package/dist/src/browser/react/property.js.map +1 -0
  83. package/dist/src/browser/react/services.d.ts.map +1 -1
  84. package/dist/src/browser/react/services.js +299 -0
  85. package/dist/src/browser/react/services.js.map +1 -0
  86. package/dist/src/browser/react/trash.js +25 -0
  87. package/dist/src/browser/react/trash.js.map +1 -0
  88. package/dist/src/browser/workers/FileDownloader.js +49 -0
  89. package/dist/src/browser/workers/FileDownloader.js.map +1 -0
  90. package/dist/src/browser/workers/ImageResizer.js +62 -0
  91. package/dist/src/browser/workers/ImageResizer.js.map +1 -0
  92. package/dist/src/browser/workers/dbWorker.d.ts +1 -0
  93. package/dist/src/browser/workers/dbWorker.d.ts.map +1 -0
  94. package/dist/src/browser/workers/filesDownload.js +241 -0
  95. package/dist/src/browser/workers/filesDownload.js.map +1 -0
  96. package/dist/src/browser/workers/imageResize.js +379 -0
  97. package/dist/src/browser/workers/imageResize.js.map +1 -0
  98. package/dist/src/client/ClientManager.d.ts +18 -2
  99. package/dist/src/client/ClientManager.d.ts.map +1 -1
  100. package/dist/src/client/ClientManager.js +59 -0
  101. package/dist/src/client/ClientManager.js.map +1 -0
  102. package/dist/src/client/actions/setAddresses.js +19 -0
  103. package/dist/src/client/actions/setAddresses.js.map +1 -0
  104. package/dist/src/client/actors/initialize.d.ts.map +1 -1
  105. package/dist/src/client/actors/initialize.js +84 -0
  106. package/dist/src/client/actors/initialize.js.map +1 -0
  107. package/dist/src/client/actors/saveAppState.js +44 -0
  108. package/dist/src/client/actors/saveAppState.js.map +1 -0
  109. package/dist/src/client/clientManagerMachine.js +61 -0
  110. package/dist/src/client/clientManagerMachine.js.map +1 -0
  111. package/dist/src/db/Db/BaseDb.d.ts +1 -2
  112. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  113. package/dist/src/db/Db/BaseDb.js +22 -0
  114. package/dist/src/db/Db/BaseDb.js.map +1 -0
  115. package/dist/src/db/configs/browser.app.db.config.d.ts.map +1 -1
  116. package/dist/src/db/configs/node.app.db.config.d.ts.map +1 -1
  117. package/dist/{seed.schema.config-DmTl3a9U.js → src/db/configs/seed.schema.config.js} +3 -24
  118. package/dist/src/db/configs/seed.schema.config.js.map +1 -0
  119. package/dist/src/db/read/getExistingItem.js +29 -0
  120. package/dist/src/db/read/getExistingItem.js.map +1 -0
  121. package/dist/src/db/read/getItem.js +26 -0
  122. package/dist/src/db/read/getItem.js.map +1 -0
  123. package/dist/src/db/read/getItemData.js +84 -0
  124. package/dist/src/db/read/getItemData.js.map +1 -0
  125. package/dist/src/db/read/getItemProperties.js +49 -0
  126. package/dist/src/db/read/getItemProperties.js.map +1 -0
  127. package/dist/src/db/read/getItemProperty.js +30 -0
  128. package/dist/src/db/read/getItemProperty.js.map +1 -0
  129. package/dist/src/db/read/getItems.js +49 -0
  130. package/dist/src/db/read/getItems.js.map +1 -0
  131. package/dist/src/db/read/getMetadata.js +32 -0
  132. package/dist/src/db/read/getMetadata.js.map +1 -0
  133. package/dist/src/db/read/getModelSchemas.js +69 -0
  134. package/dist/src/db/read/getModelSchemas.js.map +1 -0
  135. package/dist/src/db/read/getPropertyData.js +38 -0
  136. package/dist/src/db/read/getPropertyData.js.map +1 -0
  137. package/dist/src/db/read/getPublishPayload.js +213 -0
  138. package/dist/src/db/read/getPublishPayload.js.map +1 -0
  139. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  140. package/dist/src/db/read/getPublishUploads.js +134 -0
  141. package/dist/src/db/read/getPublishUploads.js.map +1 -0
  142. package/dist/src/db/read/getRelationValueData.js +30 -0
  143. package/dist/src/db/read/getRelationValueData.js.map +1 -0
  144. package/dist/src/db/read/getSchemaUidForModel.js +28 -0
  145. package/dist/src/db/read/getSchemaUidForModel.js.map +1 -0
  146. package/dist/src/db/read/getSeedData.js +28 -0
  147. package/dist/src/db/read/getSeedData.js.map +1 -0
  148. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +30 -0
  149. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
  150. package/dist/src/db/read/getVersionData.js +33 -0
  151. package/dist/src/db/read/getVersionData.js.map +1 -0
  152. package/dist/src/db/read/subqueries/metadataLatest.js +35 -0
  153. package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -0
  154. package/dist/src/db/read/subqueries/versionData.js +27 -0
  155. package/dist/src/db/read/subqueries/versionData.js.map +1 -0
  156. package/dist/src/db/write/createMetadata.js +63 -0
  157. package/dist/src/db/write/createMetadata.js.map +1 -0
  158. package/dist/src/db/write/createNewItem.js +38 -0
  159. package/dist/src/db/write/createNewItem.js.map +1 -0
  160. package/dist/src/db/write/createSeed.js +29 -0
  161. package/dist/src/db/write/createSeed.js.map +1 -0
  162. package/dist/src/db/write/createSeeds.js +25 -0
  163. package/dist/src/db/write/createSeeds.js.map +1 -0
  164. package/dist/src/db/write/createVersion.js +25 -0
  165. package/dist/src/db/write/createVersion.js.map +1 -0
  166. package/dist/src/db/write/deleteItem.js +21 -0
  167. package/dist/src/db/write/deleteItem.js.map +1 -0
  168. package/dist/src/db/write/saveAppState.js +26 -0
  169. package/dist/src/db/write/saveAppState.js.map +1 -0
  170. package/dist/src/db/write/saveMetadata.js +22 -0
  171. package/dist/src/db/write/saveMetadata.js.map +1 -0
  172. package/dist/src/db/write/updateItemPropertyValue.js +161 -0
  173. package/dist/src/db/write/updateItemPropertyValue.js.map +1 -0
  174. package/dist/src/db/write/updateMetadata.js +25 -0
  175. package/dist/src/db/write/updateMetadata.js.map +1 -0
  176. package/dist/src/eventBus.js +6 -0
  177. package/dist/src/eventBus.js.map +1 -0
  178. package/dist/src/events/files/download.js +161 -0
  179. package/dist/src/events/files/download.js.map +1 -0
  180. package/dist/src/events/files/index.d.ts.map +1 -1
  181. package/dist/src/events/files/index.js +61 -0
  182. package/dist/src/events/files/index.js.map +1 -0
  183. package/dist/src/events/index.js +28 -0
  184. package/dist/src/events/index.js.map +1 -0
  185. package/dist/src/events/item/index.js +28 -0
  186. package/dist/src/events/item/index.js.map +1 -0
  187. package/dist/src/events/item/publish.js +19 -0
  188. package/dist/src/events/item/publish.js.map +1 -0
  189. package/dist/src/events/item/syncDbWithEas.js +428 -0
  190. package/dist/src/events/item/syncDbWithEas.js.map +1 -0
  191. package/dist/src/events/services/allItems.js +20 -0
  192. package/dist/src/events/services/allItems.js.map +1 -0
  193. package/dist/src/events/services/index.js +9 -0
  194. package/dist/src/events/services/index.js.map +1 -0
  195. package/dist/src/graphql/gql/gql.js +38 -0
  196. package/dist/src/graphql/gql/gql.js.map +1 -0
  197. package/dist/src/graphql/gql/graphql.js +106 -0
  198. package/dist/src/graphql/gql/graphql.js.map +1 -0
  199. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js +11 -0
  200. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
  201. package/dist/src/helpers/ArweaveClient/index.js +45 -0
  202. package/dist/src/helpers/ArweaveClient/index.js.map +1 -0
  203. package/dist/src/helpers/ArweaveClient/queries.js +16 -0
  204. package/dist/src/helpers/ArweaveClient/queries.js.map +1 -0
  205. package/dist/src/helpers/EasClient/BaseEasClient.js +14 -0
  206. package/dist/src/helpers/EasClient/BaseEasClient.js.map +1 -0
  207. package/dist/src/helpers/FileManager/BaseFileManager.js +55 -0
  208. package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -0
  209. package/dist/src/helpers/QueryClient/BaseQueryClient.js +11 -0
  210. package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +1 -0
  211. package/dist/src/helpers/constants.d.ts +1 -0
  212. package/dist/src/helpers/constants.d.ts.map +1 -1
  213. package/dist/src/helpers/constants.js +74 -0
  214. package/dist/src/helpers/constants.js.map +1 -0
  215. package/dist/src/helpers/db.js +43 -0
  216. package/dist/src/helpers/db.js.map +1 -0
  217. package/dist/src/helpers/environment.js +24 -0
  218. package/dist/src/helpers/environment.js.map +1 -0
  219. package/dist/src/helpers/getSchemaForItemProperty.js +51 -0
  220. package/dist/src/helpers/getSchemaForItemProperty.js.map +1 -0
  221. package/dist/src/helpers/getSegmentedItemProperties.js +50 -0
  222. package/dist/src/helpers/getSegmentedItemProperties.js.map +1 -0
  223. package/dist/src/helpers/index.js +101 -0
  224. package/dist/src/helpers/index.js.map +1 -0
  225. package/dist/src/helpers/updateMachineContext.js +20 -0
  226. package/dist/src/helpers/updateMachineContext.js.map +1 -0
  227. package/dist/src/index.d.ts +1 -1
  228. package/dist/src/index.d.ts.map +1 -1
  229. package/dist/src/interfaces/IDb.d.ts.map +1 -1
  230. package/dist/src/node/codegen/drizzle.d.ts +4 -1
  231. package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
  232. package/dist/src/node/codegen/drizzle.js +86 -0
  233. package/dist/src/node/codegen/drizzle.js.map +1 -0
  234. package/dist/src/node/constants.d.ts.map +1 -1
  235. package/dist/src/node/constants.js +37 -0
  236. package/dist/src/node/constants.js.map +1 -0
  237. package/dist/src/node/db/Db.d.ts +5 -6
  238. package/dist/src/node/db/Db.d.ts.map +1 -1
  239. package/dist/{ArweaveClient-COlwyYTF.js → src/node/helpers/ArweaveClient.js} +3 -3
  240. package/dist/{ArweaveClient-2RMCxfNZ.js.map → src/node/helpers/ArweaveClient.js.map} +1 -1
  241. package/dist/{EasClient-CFnb5g-r.js → src/node/helpers/EasClient.js} +3 -3
  242. package/dist/{EasClient-CFnb5g-r.js.map → src/node/helpers/EasClient.js.map} +1 -1
  243. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  244. package/dist/{QueryClient-ZUsZ1Qxq.js → src/node/helpers/QueryClient.js} +2 -4
  245. package/dist/{QueryClient-ZUsZ1Qxq.js.map → src/node/helpers/QueryClient.js.map} +1 -1
  246. package/dist/src/node/helpers/index.d.ts.map +1 -1
  247. package/dist/src/node/helpers/index.js +39 -0
  248. package/dist/src/node/helpers/index.js.map +1 -0
  249. package/dist/src/node/seed.d.ts +0 -6
  250. package/dist/src/node/seed.d.ts.map +1 -1
  251. package/dist/src/node/webpack/index.d.ts.map +1 -1
  252. package/dist/src/node/webpack/index.js +96 -0
  253. package/dist/src/node/webpack/index.js.map +1 -0
  254. package/dist/src/schema/file/queries.js +48 -0
  255. package/dist/src/schema/file/queries.js.map +1 -0
  256. package/dist/src/schema/index.d.ts.map +1 -1
  257. package/dist/src/schema/model/index.d.ts +8 -8
  258. package/dist/src/schema/model/index.js +44 -0
  259. package/dist/src/schema/model/index.js.map +1 -0
  260. package/dist/src/schema/property/index.d.ts +58 -32
  261. package/dist/src/schema/property/index.d.ts.map +1 -1
  262. package/dist/src/schema/property/index.js +89 -0
  263. package/dist/src/schema/property/index.js.map +1 -0
  264. package/dist/src/seedSchema/AppStateSchema.js +11 -0
  265. package/dist/src/seedSchema/AppStateSchema.js.map +1 -0
  266. package/dist/src/seedSchema/MetadataSchema.js +29 -0
  267. package/dist/src/seedSchema/MetadataSchema.js.map +1 -0
  268. package/dist/src/seedSchema/ModelSchema.js +33 -0
  269. package/dist/src/seedSchema/ModelSchema.js.map +1 -0
  270. package/dist/src/seedSchema/ModelUidSchema.js +18 -0
  271. package/dist/src/seedSchema/ModelUidSchema.js.map +1 -0
  272. package/dist/src/seedSchema/SeedSchema.js +16 -0
  273. package/dist/src/seedSchema/SeedSchema.js.map +1 -0
  274. package/dist/src/seedSchema/VersionSchema.js +17 -0
  275. package/dist/src/seedSchema/VersionSchema.js.map +1 -0
  276. package/dist/src/services/allItems/actors/fetchDbData.js +13 -0
  277. package/dist/src/services/allItems/actors/fetchDbData.js.map +1 -0
  278. package/dist/src/services/allItems/actors/fetchRelatedItems.js +137 -0
  279. package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -0
  280. package/dist/src/services/allItems/actors/fetchSeeds.js +31 -0
  281. package/dist/src/services/allItems/actors/fetchSeeds.js.map +1 -0
  282. package/dist/src/services/allItems/actors/fetchVersions.js +35 -0
  283. package/dist/src/services/allItems/actors/fetchVersions.js.map +1 -0
  284. package/dist/src/services/allItems/actors/initialize.js +144 -0
  285. package/dist/src/services/allItems/actors/initialize.js.map +1 -0
  286. package/dist/src/services/allItems/actors/processItems.js +55 -0
  287. package/dist/src/services/allItems/actors/processItems.js.map +1 -0
  288. package/dist/src/services/allItems/itemMachineAll.js +153 -0
  289. package/dist/src/services/allItems/itemMachineAll.js.map +1 -0
  290. package/dist/src/services/db/actors/checkStatus.d.ts.map +1 -1
  291. package/dist/src/services/db/actors/checkStatus.js +41 -0
  292. package/dist/src/services/db/actors/checkStatus.js.map +1 -0
  293. package/dist/src/services/db/actors/connectToDb.d.ts.map +1 -1
  294. package/dist/src/services/db/actors/connectToDb.js +31 -0
  295. package/dist/src/services/db/actors/connectToDb.js.map +1 -0
  296. package/dist/src/services/db/actors/migrate.js +40 -0
  297. package/dist/src/services/db/actors/migrate.js.map +1 -0
  298. package/dist/src/services/db/actors/validate.d.ts.map +1 -1
  299. package/dist/src/services/db/actors/validate.js +40 -0
  300. package/dist/src/services/db/actors/validate.js.map +1 -0
  301. package/dist/src/services/db/actors/waitForFiles.js +32 -0
  302. package/dist/src/services/db/actors/waitForFiles.js.map +1 -0
  303. package/dist/src/services/db/dbMachine.d.ts.map +1 -1
  304. package/dist/src/services/db/dbMachine.js +156 -0
  305. package/dist/src/services/db/dbMachine.js.map +1 -0
  306. package/dist/src/services/events.js +15 -0
  307. package/dist/src/services/events.js.map +1 -0
  308. package/dist/src/services/global/actors/addModelsToDb.js +115 -0
  309. package/dist/src/services/global/actors/addModelsToDb.js.map +1 -0
  310. package/dist/src/services/global/actors/getSchemaForModel.js +26 -0
  311. package/dist/src/services/global/actors/getSchemaForModel.js.map +1 -0
  312. package/dist/src/services/global/actors/initialize.d.ts.map +1 -1
  313. package/dist/src/services/global/actors/initialize.js +86 -0
  314. package/dist/src/services/global/actors/initialize.js.map +1 -0
  315. package/dist/src/services/global/actors/savePublishService.js +22 -0
  316. package/dist/src/services/global/actors/savePublishService.js.map +1 -0
  317. package/dist/src/services/global/globalMachine.d.ts +90 -90
  318. package/dist/src/services/global/globalMachine.d.ts.map +1 -1
  319. package/dist/src/services/global/globalMachine.js +246 -0
  320. package/dist/src/services/global/globalMachine.js.map +1 -0
  321. package/dist/src/services/internal/actors/configureFs.js +70 -0
  322. package/dist/src/services/internal/actors/configureFs.js.map +1 -0
  323. package/dist/src/services/internal/actors/loadAppDb.d.ts.map +1 -1
  324. package/dist/src/services/internal/actors/loadAppDb.js +22 -0
  325. package/dist/src/services/internal/actors/loadAppDb.js.map +1 -0
  326. package/dist/src/services/internal/actors/prepareDb.d.ts.map +1 -1
  327. package/dist/src/services/internal/actors/saveConfig.js +88 -0
  328. package/dist/src/services/internal/actors/saveConfig.js.map +1 -0
  329. package/dist/src/services/internal/actors/validateInput.js +34 -0
  330. package/dist/src/services/internal/actors/validateInput.js.map +1 -0
  331. package/dist/src/services/internal/actors/waitForFiles.js +33 -0
  332. package/dist/src/services/internal/actors/waitForFiles.js.map +1 -0
  333. package/dist/src/services/internal/constants.js +85 -0
  334. package/dist/src/services/internal/constants.js.map +1 -0
  335. package/dist/src/services/internal/helpers.js +171 -0
  336. package/dist/src/services/internal/helpers.js.map +1 -0
  337. package/dist/src/services/internal/internalMachine.d.ts +0 -10
  338. package/dist/src/services/internal/internalMachine.d.ts.map +1 -1
  339. package/dist/src/services/internal/internalMachine.js +188 -0
  340. package/dist/src/services/internal/internalMachine.js.map +1 -0
  341. package/dist/src/services/publish/actors/createPublishAttempt.js +14 -0
  342. package/dist/src/services/publish/actors/createPublishAttempt.js.map +1 -0
  343. package/dist/src/services/publish/actors/preparePublishRequestData.js +70 -0
  344. package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -0
  345. package/dist/src/services/publish/actors/upload.js +55 -0
  346. package/dist/src/services/publish/actors/upload.js.map +1 -0
  347. package/dist/src/services/publish/actors/validateItemData.js +18 -0
  348. package/dist/src/services/publish/actors/validateItemData.js.map +1 -0
  349. package/dist/src/services/publish/publishMachine.js +71 -0
  350. package/dist/src/services/publish/publishMachine.js.map +1 -0
  351. package/dist/src/stores/eas.js +40 -0
  352. package/dist/src/stores/eas.js.map +1 -0
  353. package/dist/src/stores/modelClass.js +16 -0
  354. package/dist/src/stores/modelClass.js.map +1 -0
  355. package/dist/src/types/index.d.ts.map +1 -1
  356. package/package.json +9 -7
  357. package/dist/Db-CRWMiKY9.js +0 -384
  358. package/dist/Db-CRWMiKY9.js.map +0 -1
  359. package/dist/Db-G5dIgZv-.js +0 -81
  360. package/dist/Db-G5dIgZv-.js.map +0 -1
  361. package/dist/EasClient-CO5puCWa.js +0 -10
  362. package/dist/EasClient-CO5puCWa.js.map +0 -1
  363. package/dist/FileManager-BOixZyex.js +0 -50
  364. package/dist/FileManager-BOixZyex.js.map +0 -1
  365. package/dist/FileManager-gKGTTa4s.js +0 -1045
  366. package/dist/FileManager-gKGTTa4s.js.map +0 -1
  367. package/dist/Item-BD2_tuda.js +0 -34
  368. package/dist/Item-BD2_tuda.js.map +0 -1
  369. package/dist/ItemProperty-CjcrzEmg.js +0 -33
  370. package/dist/ItemProperty-CjcrzEmg.js.map +0 -1
  371. package/dist/QueryClient-W4slRa7O.js.map +0 -1
  372. package/dist/constants-C-6Pg8FW.js +0 -235
  373. package/dist/constants-C-6Pg8FW.js.map +0 -1
  374. package/dist/index-BxAVepOO.js +0 -25
  375. package/dist/index-BxAVepOO.js.map +0 -1
  376. package/dist/index-D-O-gmXo.js +0 -7930
  377. package/dist/index-D-O-gmXo.js.map +0 -1
  378. package/dist/seed.schema.config-DmTl3a9U.js.map +0 -1
  379. package/dist/src/browser/db/index.d.ts +0 -2
  380. package/dist/src/browser/db/index.d.ts.map +0 -1
  381. package/dist/src/db/Db/index.d.ts +0 -5
  382. package/dist/src/db/Db/index.d.ts.map +0 -1
  383. package/dist/src/helpers/EasClient/index.d.ts +0 -5
  384. package/dist/src/helpers/EasClient/index.d.ts.map +0 -1
  385. package/dist/src/helpers/FileManager/index.d.ts +0 -5
  386. package/dist/src/helpers/FileManager/index.d.ts.map +0 -1
  387. package/dist/src/helpers/QueryClient/index.d.ts +0 -5
  388. package/dist/src/helpers/QueryClient/index.d.ts.map +0 -1
  389. package/dist/src/node/index.d.ts +0 -2
  390. package/dist/src/node/index.d.ts.map +0 -1
  391. package/dist/src/services/global/index.d.ts +0 -2
  392. package/dist/src/services/global/index.d.ts.map +0 -1
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'fs';
3
+ import { generateModelCode } from './src/node/codegen/drizzle.js';
4
+
5
+ // Parse command line arguments
6
+ const args = process.argv.slice(2);
7
+ const sourceSchemaFilePath = args[0];
8
+ const outputFilePath = args[1];
9
+ const jsonString = args[2];
10
+ if (!sourceSchemaFilePath || !outputFilePath || !jsonString) {
11
+ console.error('Usage: npx tsx bin/addModel.ts <source-schema-file-path> <output-file-path> <json-string>');
12
+ process.exit(1);
13
+ }
14
+ // Read the contents of the file
15
+ let fileContents;
16
+ try {
17
+ fileContents = fs.readFileSync(sourceSchemaFilePath, 'utf-8');
18
+ }
19
+ catch (error) {
20
+ console.error(`Error reading file at ${sourceSchemaFilePath}:`, error);
21
+ process.exit(1);
22
+ }
23
+ // Parse the JSON string
24
+ let jsonModel;
25
+ try {
26
+ jsonModel = JSON.parse(jsonString);
27
+ }
28
+ catch (error) {
29
+ console.error('Invalid JSON string:', error);
30
+ process.exit(1);
31
+ }
32
+ /**
33
+ * Simple function to inject a new model after the last model class and update the models object
34
+ * @param {string} schemaContent - The content of the schema file
35
+ * @param {string} newModelCode - The code for the new model to inject
36
+ * @returns {string} The updated schema content
37
+ */
38
+ const injectModel = (schemaContent, newModelCode) => {
39
+ // Extract the model name from the new code
40
+ const modelNameMatch = newModelCode.match(/class\s+(\w+)/);
41
+ if (!modelNameMatch) {
42
+ throw new Error("Could not extract model name from provided code");
43
+ }
44
+ const modelName = modelNameMatch[1];
45
+ // Find the 'const models' position
46
+ const modelsPos = schemaContent.indexOf('const models');
47
+ if (modelsPos === -1) {
48
+ throw new Error("Could not find 'const models' in the schema");
49
+ }
50
+ // Find the position of the last model class before 'const models'
51
+ const lastClassPos = schemaContent.lastIndexOf('@Model', modelsPos);
52
+ if (lastClassPos === -1) {
53
+ throw new Error("Could not find any model declarations in the schema");
54
+ }
55
+ // Find the end of the last class
56
+ const classEndPos = schemaContent.indexOf('}', lastClassPos);
57
+ if (classEndPos === -1) {
58
+ throw new Error("Could not find closing brace of the last model class");
59
+ }
60
+ // Find the position after the last class's closing brace
61
+ const insertModelPos = schemaContent.indexOf('\n', classEndPos) + 1;
62
+ // Insert the new model
63
+ let updatedSchema = schemaContent.slice(0, insertModelPos) +
64
+ "\n" + newModelCode + "\n\n" +
65
+ schemaContent.slice(insertModelPos);
66
+ // Find the closing brace of the models object
67
+ const modelsClosingBracePos = updatedSchema.indexOf('}', updatedSchema.indexOf('const models'));
68
+ // Add the new model to the models object
69
+ updatedSchema =
70
+ updatedSchema.slice(0, modelsClosingBracePos) +
71
+ ` ${modelName},\n` +
72
+ updatedSchema.slice(modelsClosingBracePos);
73
+ return updatedSchema;
74
+ };
75
+ const newModelCode = generateModelCode({
76
+ modelName: jsonModel.name,
77
+ properties: jsonModel.properties,
78
+ });
79
+ const updatedSchema = injectModel(fileContents, newModelCode);
80
+ // Write the new table file
81
+ try {
82
+ fs.writeFileSync(outputFilePath, updatedSchema, 'utf-8');
83
+ console.log(`Wrote updated schema file to ${outputFilePath}`);
84
+ }
85
+ catch (error) {
86
+ console.error('Error writing Drizzle table file:', error);
87
+ process.exit(1);
88
+ }
89
+ //# sourceMappingURL=addModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addModel.js","sources":["../../scripts/addModel.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport fs from 'fs';\nimport { createDrizzleSchemaFilesFromConfig, generateModelCode } from '../src/node/codegen/drizzle';\n\n// Parse command line arguments\nconst args = process.argv.slice(2);\nconst sourceSchemaFilePath = args[0];\nconst outputFilePath = args[1];\nconst jsonString = args[2];\n\nif (!sourceSchemaFilePath || !outputFilePath || !jsonString) {\n console.error('Usage: npx tsx bin/addModel.ts <source-schema-file-path> <output-file-path> <json-string>');\n process.exit(1);\n}\n\n// Read the contents of the file\nlet fileContents;\ntry {\n fileContents = fs.readFileSync(sourceSchemaFilePath, 'utf-8');\n} catch (error) {\n console.error(`Error reading file at ${sourceSchemaFilePath}:`, error);\n process.exit(1);\n}\n\n// Parse the JSON string\nlet jsonModel;\ntry {\n jsonModel = JSON.parse(jsonString);\n} catch (error) {\n console.error('Invalid JSON string:', error);\n process.exit(1);\n}\n\n/**\n * Simple function to inject a new model after the last model class and update the models object\n * @param {string} schemaContent - The content of the schema file\n * @param {string} newModelCode - The code for the new model to inject\n * @returns {string} The updated schema content\n */\nconst injectModel = (schemaContent: string, newModelCode: string) => {\n // Extract the model name from the new code\n const modelNameMatch = newModelCode.match(/class\\s+(\\w+)/);\n if (!modelNameMatch) {\n throw new Error(\"Could not extract model name from provided code\");\n }\n const modelName = modelNameMatch[1];\n\n // Find the 'const models' position\n const modelsPos = schemaContent.indexOf('const models');\n if (modelsPos === -1) {\n throw new Error(\"Could not find 'const models' in the schema\");\n }\n\n // Find the position of the last model class before 'const models'\n const lastClassPos = schemaContent.lastIndexOf('@Model', modelsPos);\n if (lastClassPos === -1) {\n throw new Error(\"Could not find any model declarations in the schema\");\n }\n\n // Find the end of the last class\n const classEndPos = schemaContent.indexOf('}', lastClassPos);\n if (classEndPos === -1) {\n throw new Error(\"Could not find closing brace of the last model class\");\n }\n\n // Find the position after the last class's closing brace\n const insertModelPos = schemaContent.indexOf('\\n', classEndPos) + 1;\n \n // Insert the new model\n let updatedSchema = \n schemaContent.slice(0, insertModelPos) + \n \"\\n\" + newModelCode + \"\\n\\n\" + \n schemaContent.slice(insertModelPos);\n \n // Find the closing brace of the models object\n const modelsClosingBracePos = updatedSchema.indexOf('}', updatedSchema.indexOf('const models'));\n \n // Add the new model to the models object\n updatedSchema = \n updatedSchema.slice(0, modelsClosingBracePos) + \n ` ${modelName},\\n` + \n updatedSchema.slice(modelsClosingBracePos);\n \n return updatedSchema;\n}\n\nconst newModelCode = generateModelCode({\n modelName: jsonModel.name,\n properties: jsonModel.properties,\n});\n\nconst updatedSchema = injectModel(fileContents, newModelCode);\n\n// Write the new table file\ntry {\n fs.writeFileSync(outputFilePath, updatedSchema, 'utf-8');\n console.log(`Wrote updated schema file to ${outputFilePath}`);\n} catch (error) {\n console.error('Error writing Drizzle table file:', error);\n process.exit(1);\n} \n"],"names":[],"mappings":"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"}
package/dist/bin.js CHANGED
@@ -1,128 +1,69 @@
1
1
  #!/usr/bin/env node
2
2
  import path from 'path';
3
3
  import fs from 'fs';
4
- import { exec, execSync } from 'child_process';
5
- import { promisify } from 'util';
4
+ import { execSync } from 'child_process';
6
5
  import { pathToFileURL } from 'url';
7
- import process$1 from 'node:process';
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
- import 'dotenv/config';
14
- import pluralize from 'pluralize';
15
- import { camelCase, snakeCase } from 'lodash-es';
16
- import * as nunjucks from 'nunjucks';
17
- import * as tsImport from 'ts-import';
18
- import { LoadMode } from 'ts-import';
19
- import 'glob';
20
- import { rimrafSync } from 'rimraf';
21
- import debug from 'debug';
22
- import 'graphql-request';
23
- import '@ethereum-attestation-service/eas-sdk';
6
+ import process from 'node:process';
7
+ import './src/node/helpers/EasClient.js';
8
+ import './src/node/helpers/QueryClient.js';
24
9
  import 'fs/promises';
10
+ import './src/helpers/FileManager/BaseFileManager.js';
11
+ import './src/node/helpers/ArweaveClient.js';
12
+ import { SCHEMA_TS, INIT_SCRIPT_SUCCESS_MESSAGE } from './src/helpers/constants.js';
13
+ import { rootWithNodeModules, dotSeedDir, sdkRootDir, drizzleKitPath, appSchemaDir, appMetaDir, drizzleDbConfigPath } from './src/node/constants.js';
14
+ import { createDrizzleSchemaFilesFromConfig } from './src/node/codegen/drizzle.js';
15
+ import { rimrafSync } from 'rimraf';
16
+ import { getTsImport } from './src/node/helpers/index.js';
25
17
 
26
- const NODE_APP_DB_CONFIG = 'node.app.db.config.ts';
27
- const currentDir = path.dirname(new URL(import.meta.url).pathname);
28
- const parentToCheck = path.join(currentDir, '..');
29
- let rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..');
30
- if (process.env.IS_SEED_DEV) {
31
- rootWithNodeModules = path.join(parentToCheck, '..');
32
- }
33
- let sdkRootDir = path.join(rootWithNodeModules, 'node_modules', '@seedprotocol', 'sdk', 'dist');
34
- if (process.env.IS_SEED_DEV) {
35
- sdkRootDir = path.join(rootWithNodeModules, 'src');
36
- }
37
- let dotSeedDir = path.join(rootWithNodeModules, '.seed');
38
- if (process.env.IS_SEED_DEV) {
39
- dotSeedDir = path.join(process.cwd(), '__tests__', '__mocks__', 'project', '.seed');
40
- }
41
- const drizzleKitPath = path.join(rootWithNodeModules, 'node_modules', 'drizzle-kit', 'bin.cjs');
42
- // App file paths. These are the single source of truth for the SDK user's data model
43
- const appSchemaDir = path.join(dotSeedDir, 'schema');
44
- const appDbDir = path.join(dotSeedDir, 'db');
45
- const appMetaDir = path.join(appDbDir, 'meta');
46
- const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema');
47
- const drizzleDbConfigPath = path.join(sdkRootDir, 'node', 'db', NODE_APP_DB_CONFIG);
48
- const templatePath = path.join(sdkRootDir, 'node', 'codegen', 'templates');
49
-
50
- // import { customAlphabet } from 'nanoid'
51
- // import { alphanumeric } from 'nanoid-dictionary'
52
- const logger = debug('seedSdk:helpers');
53
- const getTsImport = async (filePath) => {
54
- // Check if the config file exists
55
- if (!fs.existsSync(filePath)) {
56
- logger(`Typescript file not found at ${filePath}`);
57
- throw new Error(`Typescript file not found at ${filePath}`);
18
+ let a;
19
+ a = process.argv.splice(2);
20
+ /**
21
+ * Copy a directory and all its contents recursively
22
+ * @param {string} sourceDir - Path to the source directory
23
+ * @param {string} targetDir - Path to the target directory
24
+ */
25
+ function copyDirectoryRecursively(sourceDir, targetDir) {
26
+ // Create the target directory if it doesn't exist
27
+ if (!fs.existsSync(targetDir)) {
28
+ fs.mkdirSync(targetDir, { recursive: true });
58
29
  }
59
- return await tsImport.load(filePath, {
60
- mode: LoadMode.Compile,
61
- compileOptions: {
62
- compilerOptions: {
63
- experimentalDecorators: true,
64
- emitDecoratorMetadata: true,
65
- },
66
- },
67
- });
68
- };
69
-
70
- const TemplateLoader = {
71
- getSource: (name) => {
72
- let templateFilePath;
73
- if (name.includes(templatePath)) {
74
- templateFilePath = name;
30
+ // Read all entries in the source directory
31
+ const entries = fs.readdirSync(sourceDir);
32
+ // Process each entry
33
+ for (const entry of entries) {
34
+ const sourcePath = path.join(sourceDir, entry);
35
+ const targetPath = path.join(targetDir, entry);
36
+ // Check if the entry is a file or directory
37
+ const stats = fs.statSync(sourcePath);
38
+ if (stats.isFile()) {
39
+ // Copy the file directly
40
+ fs.copyFileSync(sourcePath, targetPath);
41
+ console.log(`Copied file: ${sourcePath} → ${targetPath}`);
75
42
  }
76
- else {
77
- templateFilePath = path.join(templatePath, path.basename(name));
78
- }
79
- const src = fs.readFileSync(templateFilePath, 'utf-8');
80
- return {
81
- path: name,
82
- src,
83
- noCache: false,
84
- };
85
- },
86
- };
87
- // Configure Nunjucks
88
- const env = new nunjucks.Environment(TemplateLoader);
89
- env.addFilter('camelCase', camelCase);
90
- env.addFilter('snakeCase', snakeCase);
91
- env.addFilter('pluralize', pluralize);
92
- const generateDrizzleSchemaCode = (modelName, modelClass) => {
93
- const listProperties = Object.entries(modelClass.schema).filter(([key, propertyDef]) => propertyDef?.dataType === 'List');
94
- const filePath = path.join(templatePath, SCHEMA_NJK);
95
- const schemaCode = env.render(filePath, {
96
- modelName,
97
- modelClass,
98
- listProperties,
99
- });
100
- return schemaCode;
101
- };
102
- const createDrizzleSchemaFilesFromConfig = async () => {
103
- const schemaFilePath = path.join(dotSeedDir, 'schema.ts'); // Developer created file with model definitions
104
- const { models } = await getTsImport(schemaFilePath);
105
- const fs = await BaseFileManager.getFs();
106
- for (const [modelName, modelClass] of Object.entries(models)) {
107
- const code = generateDrizzleSchemaCode(modelName, modelClass);
108
- if (!fs.existsSync(appGeneratedSchemaDir)) {
109
- fs.mkdirSync(appGeneratedSchemaDir);
43
+ else if (stats.isDirectory()) {
44
+ // Recursively copy the subdirectory
45
+ copyDirectoryRecursively(sourcePath, targetPath);
110
46
  }
111
- const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`);
112
- await fs.promises.writeFile(filePath, code).catch((e) => console.error(e));
113
47
  }
114
- };
115
-
116
- promisify(exec);
117
- let a;
118
- a = process$1.argv.splice(2);
48
+ }
119
49
  const init = (args) => {
120
50
  console.log('args:', args);
121
51
  if (args && args.length && args[0] === 'init') {
122
52
  console.log('[Seed Protocol] Running init script');
123
53
  let appFilesDirPath = args[2] || undefined;
124
- let schemaFileDir = args[1] || rootWithNodeModules;
125
- const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS);
54
+ console.log('appFilesDirPath', appFilesDirPath);
55
+ console.log('rootWithNodeModules', rootWithNodeModules);
56
+ console.log('process.cwd()', process.cwd());
57
+ let schemaFileDir = args[1];
58
+ console.log('args[1]', args[1]);
59
+ if (!schemaFileDir && process.env.IS_PORTAL && !process.cwd().includes('seed-protocol-sdk')) {
60
+ schemaFileDir = process.cwd();
61
+ }
62
+ if (process.env.NODE_ENV === 'test') {
63
+ schemaFileDir = path.join(process.cwd(), '__tests__', '__mocks__', 'node', 'project');
64
+ }
65
+ console.log('schemaFileDir2', schemaFileDir);
66
+ const schemaFilePath = path.join(schemaFileDir || process.cwd(), SCHEMA_TS);
126
67
  // Remove dotSeedDir to start fresh each time
127
68
  if (fs.existsSync(dotSeedDir)) {
128
69
  fs.rmSync(dotSeedDir, { recursive: true, force: true });
@@ -165,38 +106,39 @@ const init = (args) => {
165
106
  console.error(`Error processing directory: ${dirPath}`, error);
166
107
  }
167
108
  };
168
- const copyFiles = (srcDir, destDir) => {
169
- if (!fs.existsSync(destDir)) {
170
- fs.mkdirSync(destDir, { recursive: true });
171
- }
172
- const srcFiles = fs.readdirSync(srcDir);
173
- srcFiles.forEach((file) => {
174
- console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`);
175
- fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file));
176
- });
177
- };
109
+ // const copyFiles = (srcDir: string, destDir: string) => {
110
+ // if (!fs.existsSync(destDir)) {
111
+ // fs.mkdirSync(destDir, { recursive: true })
112
+ // }
113
+ // const srcFiles = fs.readdirSync(srcDir)
114
+ // srcFiles.forEach((file) => {
115
+ // if (f)
116
+ // console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)
117
+ // fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))
118
+ // })
119
+ // }
178
120
  const copyDotSeedFilesToAppFiles = async (_appFilesDirPath) => {
179
121
  console.log('[Seed Protocol] Copying dot seed files to app files');
180
- const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false);
122
+ const { endpoints } = await getTsImport(schemaFilePath);
123
+ const outputDirPath = endpoints.localOutputDir || _appFilesDirPath;
124
+ const exists = await fs.promises.access(outputDirPath).then(() => true).catch(() => false);
181
125
  if (exists) {
182
- await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true });
126
+ await fs.promises.rm(outputDirPath, { recursive: true, force: true });
183
127
  }
184
128
  console.log(`[Seed Protocol] Removed old app files`);
185
- console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`);
186
- fs.mkdirSync(_appFilesDirPath, { recursive: true });
129
+ console.log(`[Seed Protocol] making dir at ${outputDirPath}`);
130
+ fs.mkdirSync(outputDirPath, { recursive: true });
187
131
  console.log('[Seed Protocol] copying app files');
188
- fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true });
132
+ fs.cpSync(dotSeedDir, outputDirPath, { recursive: true });
189
133
  console.log('[Seed Protocol] removing sqlite3 files and index.ts files');
190
- rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {
134
+ rimrafSync(`${outputDirPath}/**/*.sqlite3`, {
191
135
  glob: true,
192
136
  });
193
- rimrafSync(`${_appFilesDirPath}/**/index.ts`, {
137
+ rimrafSync(`${outputDirPath}/**/index.ts`, {
194
138
  glob: true,
195
139
  });
196
140
  };
197
141
  const updateSchema = async (pathToConfig, pathToMeta) => {
198
- console.log('pathToMeta:', pathToMeta);
199
- console.log('pathToConfig:', pathToConfig);
200
142
  if (!fs.existsSync(pathToMeta)) {
201
143
  console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`);
202
144
  execSync(`${drizzleKitCommand} generate --config=${pathToConfig}`);
@@ -204,11 +146,13 @@ const init = (args) => {
204
146
  execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`);
205
147
  };
206
148
  const runCommands = async () => {
207
- await createDrizzleSchemaFilesFromConfig();
149
+ await createDrizzleSchemaFilesFromConfig(schemaFilePath);
208
150
  ensureIndexExports(appSchemaDir);
209
151
  await updateSchema(drizzleDbConfigPath, appMetaDir);
210
152
  };
211
- copyFiles(path.join(sdkRootDir, 'seedSchema'), path.join(dotSeedDir, 'schema'));
153
+ copyDirectoryRecursively(path.join(sdkRootDir, 'seedSchema'), path.join(dotSeedDir, 'schema'));
154
+ copyDirectoryRecursively(path.join(sdkRootDir, 'node', 'codegen'), path.join(dotSeedDir, 'codegen'));
155
+ console.log('copying', schemaFilePath, path.join(dotSeedDir, 'schema.ts'));
212
156
  fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'));
213
157
  runCommands()
214
158
  .then(() => {
@@ -220,12 +164,12 @@ const init = (args) => {
220
164
  }
221
165
  })
222
166
  .then(() => {
223
- console.log('[Seed Protocol] Finished running init script');
167
+ console.log(INIT_SCRIPT_SUCCESS_MESSAGE);
224
168
  });
225
169
  }
226
170
  };
227
- const calledFrom = pathToFileURL(process$1.argv[1]).href;
228
- console.log('calledFrom:', calledFrom);
171
+ const calledFrom = pathToFileURL(process.argv[1]).href;
172
+ console.log('calledFrom', calledFrom);
229
173
  if (calledFrom.endsWith('node_modules/.bin/seed') ||
230
174
  import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||
231
175
  import.meta.url.endsWith('scripts/bin.ts')) {
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('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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"}
1
+ {"version":3,"file":"bin.js","sources":["../../scripts/bin.ts"],"sourcesContent":["#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { execSync, } from 'child_process'\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 { INIT_SCRIPT_SUCCESS_MESSAGE, 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'\nimport { getTsImport } from '@/node/helpers'\nimport { ModelClassType } from '@/types/model'\n\nlet a\n\na = process.argv.splice(2)\n\n/**\n * Copy a directory and all its contents recursively\n * @param {string} sourceDir - Path to the source directory\n * @param {string} targetDir - Path to the target directory\n */\nfunction copyDirectoryRecursively(sourceDir: string, targetDir: string) {\n // Create the target directory if it doesn't exist\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n\n // Read all entries in the source directory\n const entries = fs.readdirSync(sourceDir);\n\n // Process each entry\n for (const entry of entries) {\n const sourcePath = path.join(sourceDir, entry);\n const targetPath = path.join(targetDir, entry);\n \n // Check if the entry is a file or directory\n const stats = fs.statSync(sourcePath);\n \n if (stats.isFile()) {\n // Copy the file directly\n fs.copyFileSync(sourcePath, targetPath);\n console.log(`Copied file: ${sourcePath} → ${targetPath}`);\n } \n else if (stats.isDirectory()) {\n // Recursively copy the subdirectory\n copyDirectoryRecursively(sourcePath, targetPath);\n }\n }\n}\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 console.log('appFilesDirPath', appFilesDirPath)\n\n console.log('rootWithNodeModules', rootWithNodeModules)\n\n console.log('process.cwd()', process.cwd())\n \n let schemaFileDir = args[1]\n\n console.log('args[1]', args[1])\n\n if (!schemaFileDir && process.env.IS_PORTAL && !process.cwd().includes('seed-protocol-sdk')) {\n schemaFileDir = process.cwd()\n }\n if (process.env.NODE_ENV === 'test') {\n schemaFileDir = path.join(process.cwd(), '__tests__', '__mocks__', 'node', 'project')\n }\n console.log('schemaFileDir2', schemaFileDir)\n const schemaFilePath = path.join(schemaFileDir || process.cwd(), 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: string, destDir: string) => {\n // if (!fs.existsSync(destDir)) {\n // fs.mkdirSync(destDir, { recursive: true })\n // }\n // const srcFiles = fs.readdirSync(srcDir)\n // srcFiles.forEach((file) => {\n // if (f)\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 { endpoints } = await getTsImport<{\n models: Record<string, ModelClassType>, endpoints: Record<string, string>\n }>(schemaFilePath)\n\n const outputDirPath = endpoints.localOutputDir || _appFilesDirPath\n\n const exists = await fs.promises.access(outputDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(outputDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${outputDirPath}`)\n fs.mkdirSync(outputDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, outputDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${outputDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${outputDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\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(schemaFilePath, undefined)\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyDirectoryRecursively(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n copyDirectoryRecursively(\n path.join(sdkRootDir, 'node', 'codegen',),\n path.join(dotSeedDir, 'codegen',),\n )\n\n console.log('copying', schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\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(INIT_SCRIPT_SUCCESS_MESSAGE)\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":[],"mappings":"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"}
@@ -12,6 +12,7 @@ if (process.env.IS_SEED_DEV) {
12
12
  process.cwd(),
13
13
  '__tests__',
14
14
  '__mocks__',
15
+ 'browser',
15
16
  'project',
16
17
  '.seed',
17
18
  )
@@ -12,6 +12,7 @@ if (process.env.IS_SEED_DEV) {
12
12
  process.cwd(),
13
13
  '__tests__',
14
14
  '__mocks__',
15
+ 'browser',
15
16
  'project',
16
17
  '.seed',
17
18
  )
package/dist/main.js CHANGED
@@ -1,25 +1,17 @@
1
- import 'immer';
1
+ import { enableMapSet } from 'immer';
2
2
  import 'reflect-metadata';
3
- export { d as ImageSrc, e as Item, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, C as client, r as eventEmitter, q as getCorrectId, h as useCreateItem, k as useDeleteItem, l as useGlobalServiceStatus, f as useItem, g as useItemProperties, j as useItemProperty, u as useItems, n as usePersistedSnapshots, m as usePublishItem, p as useService, o as useServices, w as withSeed } from './index-D-O-gmXo.js';
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';
3
+ export { Model } from './src/schema/model/index.js';
4
+ export { Boolean, Date, Image, Json, List, Number, Property, Relation, Text } from './src/schema/property/index.js';
5
+ export { Item } from './src/Item/index.js';
6
+ export { useCreateItem, useItem, useItems, usePublishItem } from './src/browser/react/item.js';
7
+ export { useItemProperties, useItemProperty } from './src/browser/react/property.js';
8
+ export { useGlobalServiceStatus, usePersistedSnapshots, useService, useServices } from './src/browser/react/services.js';
9
+ import './src/browser/react/db.js';
10
+ export { useDeleteItem } from './src/browser/react/trash.js';
11
+ export { getCorrectId } from './src/helpers/index.js';
12
+ export { eventEmitter } from './src/eventBus.js';
13
+ export { withSeed } from './src/node/webpack/index.js';
14
+ export { ClientManager as client } from './src/client/ClientManager.js';
15
+
16
+ enableMapSet();
25
17
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"main.js","sources":["../../src/index.ts"],"sourcesContent":["import { enableMapSet } from 'immer'\n\nexport {\n Model,\n Property,\n Image,\n List,\n Text,\n Json,\n Relation,\n Boolean,\n Number,\n Date,\n} from './schema'\n\n// export { type IItem, type IItemProperty } from './interfaces'\nexport { Item } from './Item'\n// export { ItemProperty } from './ItemProperty'\n// export { Db } from './db/Db'\n\nexport {\n useItems,\n useItem,\n useItemProperties,\n useCreateItem,\n useItemProperty,\n useDeleteItem,\n useGlobalServiceStatus,\n usePublishItem,\n usePersistedSnapshots,\n useServices,\n useService,\n} from './browser/react'\n\n// export { getCorrectId, BaseArweaveClient, BaseEasClient, BaseFileManager, BaseQueryClient, } from './helpers'\nexport { getCorrectId, } from './helpers'\n\n// export { getGlobalService } from './services/global/globalMachine'\n\nexport {\n eventEmitter,\n} from './eventBus'\n\nenableMapSet()\n\nexport { withSeed } from './node/webpack'\n\n\nexport { client } from './client'\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA2CA,YAAY,EAAE"}
@@ -0,0 +1,14 @@
1
+ @Model
2
+ class {{ modelName }} {
3
+ {% for property in properties -%}
4
+ {% if property.type == 'Relation' -%}
5
+ @Relation('{{ property.targetModel }}') {{ property.name }}!: {{ property.type | seedTypeToJsType }}
6
+ {% elif property.type == 'List' -%}
7
+ @List('{{ property.targetModel or property.ref }}') {{ property.name }}!: {{ property.type | seedTypeToJsType }}
8
+ {% elif property.type == 'File' -%}
9
+ @File('{{ property.storageType }}', '{{ property.storagePath }}') {{ property.name }}!: {{ property.type | seedTypeToJsType }}
10
+ {% else -%}
11
+ @{{ property.type }}() {{ property.name }}!: {{ property.type | seedTypeToJsType }}
12
+ {% endif -%}
13
+ {% endfor -%}
14
+ }
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=addModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addModel.d.ts","sourceRoot":"","sources":["../../scripts/addModel.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../scripts/bin.ts"],"names":[],"mappings":";AAOA,OAAO,+BAA+B,CAAA;AACtC,OAAO,iCAAiC,CAAA;AACxC,OAAO,iCAAiC,CAAA;AACxC,OAAO,mCAAmC,CAAA;AAoB1C,QAAA,MAAM,IAAI,SAAU,MAAM,EAAE,SA2I3B,CAAA;AAeD,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../scripts/bin.ts"],"names":[],"mappings":";AAMA,OAAO,+BAA+B,CAAA;AACtC,OAAO,iCAAiC,CAAA;AACxC,OAAO,iCAAiC,CAAA;AACxC,OAAO,mCAAmC,CAAA;AAsD1C,QAAA,MAAM,IAAI,SAAU,MAAM,EAAE,SAuK3B,CAAA;AAeD,OAAO,EAAE,IAAI,EAAE,CAAA"}