@seedprotocol/sdk 0.4.13 → 0.4.15

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 (365) hide show
  1. package/dist/{ArweaveClient-Bot35vMf.js → ArweaveClient-DPeCeRMF.js} +21 -18
  2. package/dist/ArweaveClient-DPeCeRMF.js.map +1 -0
  3. package/dist/{ArweaveClient-C6mBPWwy.js → ArweaveClient-Zz6VwCkj.js} +21 -18
  4. package/dist/ArweaveClient-Zz6VwCkj.js.map +1 -0
  5. package/dist/{Db-DP7ELP9S.js → Db-Cvoi9q3N.js} +8 -5
  6. package/dist/Db-Cvoi9q3N.js.map +1 -0
  7. package/dist/{Db-rlxROH4S.js → Db-DsFElL33.js} +356 -52
  8. package/dist/Db-DsFElL33.js.map +1 -0
  9. package/dist/{EasClient-CHI9lBP8.js → EasClient-B2N8bc3C.js} +6 -5
  10. package/dist/{EasClient-CszJzwqw.js.map → EasClient-B2N8bc3C.js.map} +1 -1
  11. package/dist/{EasClient-CszJzwqw.js → EasClient-D5Nn1WBF.js} +6 -5
  12. package/dist/{EasClient-CHI9lBP8.js.map → EasClient-D5Nn1WBF.js.map} +1 -1
  13. package/dist/{FileManager-C7yOhPvS.js → FileManager-Bk-JeMoA.js} +48 -11
  14. package/dist/FileManager-Bk-JeMoA.js.map +1 -0
  15. package/dist/{FileManager-Dy3BbIxq.js → FileManager-Cqy_Lq46.js} +12 -8
  16. package/dist/FileManager-Cqy_Lq46.js.map +1 -0
  17. package/dist/{ModelProperty--OQb3Dy0.js → ModelProperty-CkQaEsBu.js} +30 -28
  18. package/dist/ModelProperty-CkQaEsBu.js.map +1 -0
  19. package/dist/{PathResolver-BtnV9pXS.js → PathResolver-C3sdR5LL.js} +6 -5
  20. package/dist/{PathResolver-BtnV9pXS.js.map → PathResolver-C3sdR5LL.js.map} +1 -1
  21. package/dist/{PathResolver-D--w4fFE.js → PathResolver-DF1QFI1d.js} +6 -5
  22. package/dist/{PathResolver-D--w4fFE.js.map → PathResolver-DF1QFI1d.js.map} +1 -1
  23. package/dist/{QueryClient-Bia5wKCO.js → QueryClient-CnONLIkA.js} +6 -5
  24. package/dist/{QueryClient-Bia5wKCO.js.map → QueryClient-CnONLIkA.js.map} +1 -1
  25. package/dist/{QueryClient-BdNnK6Es.js → QueryClient-Ctgd0tDn.js} +6 -5
  26. package/dist/{QueryClient-BdNnK6Es.js.map → QueryClient-Ctgd0tDn.js.map} +1 -1
  27. package/dist/{Schema-DF4mLt86.js → Schema-Bnim4hAF.js} +90 -57
  28. package/dist/Schema-Bnim4hAF.js.map +1 -0
  29. package/dist/{SchemaValidationService-D4LwnnIB.js → SchemaValidationService-DXxRk-9Q.js} +138 -38
  30. package/dist/SchemaValidationService-DXxRk-9Q.js.map +1 -0
  31. package/dist/backfillMetadataPropertyIds-dzwzz4dA.js +67 -0
  32. package/dist/backfillMetadataPropertyIds-dzwzz4dA.js.map +1 -0
  33. package/dist/cjs/{ModelProperty-C5BRfISV.js → ModelProperty-C80601ai.js} +23 -21
  34. package/dist/cjs/ModelProperty-C80601ai.js.map +1 -0
  35. package/dist/cjs/{Schema-DVJG8ISB.js → Schema-6BQKp7hO.js} +60 -39
  36. package/dist/cjs/Schema-6BQKp7hO.js.map +1 -0
  37. package/dist/cjs/{SchemaValidationService-_wef0VX6.js → SchemaValidationService-BySF1P0v.js} +138 -38
  38. package/dist/cjs/SchemaValidationService-BySF1P0v.js.map +1 -0
  39. package/dist/cjs/backfillMetadataPropertyIds-D9uzW5bW.js +84 -0
  40. package/dist/cjs/backfillMetadataPropertyIds-D9uzW5bW.js.map +1 -0
  41. package/dist/cjs/{getItem-CUGoglni.js → getItem-Dj49AjWB.js} +5 -4
  42. package/dist/cjs/{getItem-CUGoglni.js.map → getItem-Dj49AjWB.js.map} +1 -1
  43. package/dist/cjs/getPublishPayload-dR9co4rH.js +888 -0
  44. package/dist/cjs/getPublishPayload-dR9co4rH.js.map +1 -0
  45. package/dist/cjs/{getPublishUploads-BA5PdoJ3.js → getPublishUploads-g61mgXaA.js} +111 -35
  46. package/dist/cjs/getPublishUploads-g61mgXaA.js.map +1 -0
  47. package/dist/cjs/getSegmentedItemProperties-NFvOHlAi.js +146 -0
  48. package/dist/cjs/getSegmentedItemProperties-NFvOHlAi.js.map +1 -0
  49. package/dist/cjs/{index-B3K0jG2t.js → index-9O_Ji1kY.js} +3338 -1370
  50. package/dist/cjs/index-9O_Ji1kY.js.map +1 -0
  51. package/dist/cjs/{index-CpBFvNId.js → index-ud9i9fpp.js} +15 -7
  52. package/dist/cjs/index-ud9i9fpp.js.map +1 -0
  53. package/dist/cjs/{ownership-CkgGUliG.js → ownership-CyLRNReQ.js} +24 -7
  54. package/dist/cjs/ownership-CyLRNReQ.js.map +1 -0
  55. package/dist/cjs/property-Hj-RhQVX.js +318 -0
  56. package/dist/cjs/property-Hj-RhQVX.js.map +1 -0
  57. package/dist/db/drizzle/drizzle/0005_bright_lily_hollister.sql +27 -0
  58. package/dist/db/drizzle/drizzle/0006_add_publisher_to_versions_and_metadata.sql +3 -0
  59. package/dist/db/drizzle/drizzle/0007_add_required_to_properties.sql +1 -0
  60. package/dist/db/drizzle/drizzle/0008_add_revoked_at_to_seeds.sql +1 -0
  61. package/dist/db/drizzle/drizzle/0009_happy_namor.sql +14 -0
  62. package/dist/db/drizzle/drizzle/meta/0005_snapshot.json +1031 -0
  63. package/dist/db/drizzle/drizzle/meta/0006_snapshot.json +1045 -0
  64. package/dist/db/drizzle/drizzle/meta/0007_snapshot.json +1052 -0
  65. package/dist/db/drizzle/drizzle/meta/0008_snapshot.json +1059 -0
  66. package/dist/db/drizzle/drizzle/meta/0009_snapshot.json +1080 -0
  67. package/dist/db/drizzle/drizzle/meta/_journal.json +35 -0
  68. package/dist/{getItem-CbGS6wbp.js → getItem-ClK0UZqi.js} +5 -4
  69. package/dist/{getItem-CbGS6wbp.js.map → getItem-ClK0UZqi.js.map} +1 -1
  70. package/dist/getPublishPayload-CdfPTl8l.js +875 -0
  71. package/dist/getPublishPayload-CdfPTl8l.js.map +1 -0
  72. package/dist/{getPublishUploads-BAsUuLSM.js → getPublishUploads-CGBky9q9.js} +109 -15
  73. package/dist/getPublishUploads-CGBky9q9.js.map +1 -0
  74. package/dist/getSegmentedItemProperties-CJWdYH9W.js +144 -0
  75. package/dist/getSegmentedItemProperties-CJWdYH9W.js.map +1 -0
  76. package/dist/{index-CjAALVQh.js → index-C74KrwXN.js} +4 -2
  77. package/dist/index-C74KrwXN.js.map +1 -0
  78. package/dist/index-CgmWq1sF.js +19 -0
  79. package/dist/index-CgmWq1sF.js.map +1 -0
  80. package/dist/{index-BUFvepcD.js → index-uPXtq2cf.js} +3324 -1376
  81. package/dist/index-uPXtq2cf.js.map +1 -0
  82. package/dist/main.cjs +7 -4
  83. package/dist/main.cjs.map +1 -1
  84. package/dist/main.js +138 -2218
  85. package/dist/main.js.map +1 -1
  86. package/dist/node.js +13 -12
  87. package/dist/node.js.map +1 -1
  88. package/dist/{ownership-CeuRaVwP.js → ownership-QK5haR3-.js} +24 -7
  89. package/dist/ownership-QK5haR3-.js.map +1 -0
  90. package/dist/{property-BiZvboSH.js → property-Dt0U3UXJ.js} +26 -6
  91. package/dist/property-Dt0U3UXJ.js.map +1 -0
  92. package/dist/{queries-B2xdenwS.js → queries-BUB-vUBm.js} +2 -2
  93. package/dist/{queries-B2xdenwS.js.map → queries-BUB-vUBm.js.map} +1 -1
  94. package/dist/seedSchema/AppStateSchema.d.ts +82 -0
  95. package/dist/seedSchema/AppStateSchema.d.ts.map +1 -0
  96. package/dist/seedSchema/ConfigSchema.d.ts +101 -0
  97. package/dist/seedSchema/ConfigSchema.d.ts.map +1 -0
  98. package/dist/seedSchema/MetadataSchema.d.ts +422 -0
  99. package/dist/seedSchema/MetadataSchema.d.ts.map +1 -0
  100. package/dist/seedSchema/MetadataSchema.ts +4 -1
  101. package/dist/seedSchema/ModelSchema.d.ts +243 -0
  102. package/dist/seedSchema/ModelSchema.d.ts.map +1 -0
  103. package/dist/seedSchema/ModelSchema.ts +1 -0
  104. package/dist/seedSchema/ModelSchemaSchema.d.ts +61 -0
  105. package/dist/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
  106. package/dist/seedSchema/ModelUidSchema.d.ts +64 -0
  107. package/dist/seedSchema/ModelUidSchema.d.ts.map +1 -0
  108. package/dist/seedSchema/PropertyUidSchema.d.ts +64 -0
  109. package/dist/seedSchema/PropertyUidSchema.d.ts.map +1 -0
  110. package/dist/seedSchema/PropertyUidSchema.ts +2 -2
  111. package/dist/seedSchema/PublishProcessSchema.ts +22 -0
  112. package/dist/seedSchema/SchemaSchema.d.ts +169 -0
  113. package/dist/seedSchema/SchemaSchema.d.ts.map +1 -0
  114. package/dist/seedSchema/SeedSchema.d.ts +192 -0
  115. package/dist/seedSchema/SeedSchema.d.ts.map +1 -0
  116. package/dist/seedSchema/SeedSchema.ts +1 -0
  117. package/dist/seedSchema/UploadProcessSchema.ts +14 -0
  118. package/dist/seedSchema/VersionSchema.d.ts +194 -0
  119. package/dist/seedSchema/VersionSchema.d.ts.map +1 -0
  120. package/dist/seedSchema/VersionSchema.ts +1 -0
  121. package/dist/seedSchema/index.d.ts +11 -0
  122. package/dist/seedSchema/index.d.ts.map +1 -0
  123. package/dist/seedSchema/index.ts +2 -0
  124. package/dist/src/Item/Item.d.ts +5 -1
  125. package/dist/src/Item/Item.d.ts.map +1 -1
  126. package/dist/src/Item/queries.d.ts.map +1 -1
  127. package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +1 -1
  128. package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -1
  129. package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
  130. package/dist/src/ItemProperty/ItemProperty.d.ts +4 -0
  131. package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -1
  132. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
  133. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -1
  134. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
  135. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
  136. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveFile.d.ts.map +1 -1
  137. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveHtml.d.ts.map +1 -1
  138. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -1
  139. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
  140. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
  141. package/dist/src/Model/index.d.ts +1 -0
  142. package/dist/src/Model/index.d.ts.map +1 -1
  143. package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -1
  144. package/dist/src/Model/service/modelMachine.d.ts +2 -2
  145. package/dist/src/ModelProperty/ModelProperty.d.ts +1 -1
  146. package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -1
  147. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +17 -17
  148. package/dist/src/Schema/Schema.d.ts +1 -0
  149. package/dist/src/Schema/Schema.d.ts.map +1 -1
  150. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -1
  151. package/dist/src/Schema/service/addModelsMachine.d.ts +14 -14
  152. package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -1
  153. package/dist/src/Schema/service/schemaMachine.d.ts +87 -87
  154. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +5 -1
  155. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +1 -1
  156. package/dist/src/Schema/validation.d.ts +2 -0
  157. package/dist/src/Schema/validation.d.ts.map +1 -1
  158. package/dist/src/browser/db/Db.d.ts +3 -1
  159. package/dist/src/browser/db/Db.d.ts.map +1 -1
  160. package/dist/src/browser/db/drizzleFiles.d.ts +7 -2
  161. package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -1
  162. package/dist/src/browser/helpers/ArweaveClient.d.ts.map +1 -1
  163. package/dist/src/browser/helpers/FileManager.d.ts +1 -0
  164. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  165. package/dist/src/browser/helpers/index.d.ts.map +1 -1
  166. package/dist/src/browser/index.d.ts +0 -1
  167. package/dist/src/browser/index.d.ts.map +1 -1
  168. package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -1
  169. package/dist/src/browser/workers/imageResize.d.ts.map +1 -1
  170. package/dist/src/client/ClientManager.d.ts +11 -0
  171. package/dist/src/client/ClientManager.d.ts.map +1 -1
  172. package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -1
  173. package/dist/src/client/actors/dbInit.d.ts.map +1 -1
  174. package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -1
  175. package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -1
  176. package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
  177. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  178. package/dist/src/db/backfillMetadataPropertyIds.d.ts +7 -0
  179. package/dist/src/db/backfillMetadataPropertyIds.d.ts.map +1 -0
  180. package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -1
  181. package/dist/src/db/read/getAttesterForSeed.d.ts +13 -0
  182. package/dist/src/db/read/getAttesterForSeed.d.ts.map +1 -0
  183. package/dist/src/db/read/getItemData.d.ts.map +1 -1
  184. package/dist/src/db/read/getItems.d.ts.map +1 -1
  185. package/dist/src/db/read/getMetadataAttestationUidsForSeedUid.d.ts +9 -0
  186. package/dist/src/db/read/getMetadataAttestationUidsForSeedUid.d.ts.map +1 -0
  187. package/dist/src/db/read/getPropertyData.d.ts +1 -1
  188. package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
  189. package/dist/src/db/read/getPublishPayload.d.ts +26 -2
  190. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
  191. package/dist/src/db/read/getPublishUploads.d.ts +1 -0
  192. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  193. package/dist/src/db/read/getRelatedItemsForPublish.d.ts.map +1 -1
  194. package/dist/src/db/read/getVersionsForSeedUid.d.ts +4 -0
  195. package/dist/src/db/read/getVersionsForSeedUid.d.ts.map +1 -0
  196. package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
  197. package/dist/src/db/write/createMetadata.d.ts +15 -1
  198. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  199. package/dist/src/db/write/createNewItem.d.ts.map +1 -1
  200. package/dist/src/db/write/createSeed.d.ts.map +1 -1
  201. package/dist/src/db/write/createVersion.d.ts.map +1 -1
  202. package/dist/src/db/write/updateItemPropertyValue.d.ts +2 -0
  203. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +1 -1
  204. package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
  205. package/dist/src/db/write/updateSeedRevokedAt.d.ts +10 -0
  206. package/dist/src/db/write/updateSeedRevokedAt.d.ts.map +1 -0
  207. package/dist/src/db/write/updateSeedUid.d.ts +6 -1
  208. package/dist/src/db/write/updateSeedUid.d.ts.map +1 -1
  209. package/dist/src/db/write/updateVersionUid.d.ts +13 -0
  210. package/dist/src/db/write/updateVersionUid.d.ts.map +1 -0
  211. package/dist/src/eas.d.ts +5 -2
  212. package/dist/src/eas.d.ts.map +1 -1
  213. package/dist/src/events/item/syncDbWithEas.d.ts +10 -0
  214. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
  215. package/dist/src/graphql/gql/gql.d.ts +2 -7
  216. package/dist/src/graphql/gql/gql.d.ts.map +1 -1
  217. package/dist/src/graphql/gql/graphql.d.ts +2 -16
  218. package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
  219. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +22 -8
  220. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -1
  221. package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
  222. package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts +19 -0
  223. package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts.map +1 -0
  224. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +4 -0
  225. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  226. package/dist/src/helpers/QueryClient/BaseQueryClient.d.ts.map +1 -1
  227. package/dist/src/helpers/constants.d.ts.map +1 -1
  228. package/dist/src/helpers/crypto.d.ts +6 -0
  229. package/dist/src/helpers/crypto.d.ts.map +1 -1
  230. package/dist/src/helpers/db.d.ts +25 -0
  231. package/dist/src/helpers/db.d.ts.map +1 -1
  232. package/dist/src/helpers/easRevokedFilter.d.ts +10 -0
  233. package/dist/src/helpers/easRevokedFilter.d.ts.map +1 -0
  234. package/dist/src/helpers/file/queries.d.ts.map +1 -1
  235. package/dist/src/helpers/getSegmentedItemProperties.d.ts +2 -2
  236. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
  237. package/dist/src/helpers/index.d.ts +3 -0
  238. package/dist/src/helpers/index.d.ts.map +1 -1
  239. package/dist/src/helpers/listPropertyValueFromStorage.d.ts +5 -0
  240. package/dist/src/helpers/listPropertyValueFromStorage.d.ts.map +1 -0
  241. package/dist/src/helpers/metadataPropertyNames.d.ts +50 -0
  242. package/dist/src/helpers/metadataPropertyNames.d.ts.map +1 -0
  243. package/dist/src/helpers/model.d.ts.map +1 -1
  244. package/dist/src/helpers/ownership.d.ts +2 -0
  245. package/dist/src/helpers/ownership.d.ts.map +1 -1
  246. package/dist/src/helpers/property/index.d.ts +24 -12
  247. package/dist/src/helpers/property/index.d.ts.map +1 -1
  248. package/dist/src/helpers/property.d.ts.map +1 -1
  249. package/dist/src/helpers/publishConfig.d.ts +36 -0
  250. package/dist/src/helpers/publishConfig.d.ts.map +1 -1
  251. package/dist/src/helpers/schema.d.ts.map +1 -1
  252. package/dist/src/helpers/updateSchema.d.ts +2 -5
  253. package/dist/src/helpers/updateSchema.d.ts.map +1 -1
  254. package/dist/src/imports/index.d.ts +1 -1
  255. package/dist/src/imports/index.d.ts.map +1 -1
  256. package/dist/src/imports/json.d.ts +16 -1
  257. package/dist/src/imports/json.d.ts.map +1 -1
  258. package/dist/src/index.d.ts +33 -8
  259. package/dist/src/index.d.ts.map +1 -1
  260. package/dist/src/interfaces/IItem.d.ts +5 -1
  261. package/dist/src/interfaces/IItem.d.ts.map +1 -1
  262. package/dist/src/interfaces/IItemProperty.d.ts +3 -0
  263. package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
  264. package/dist/src/node/db/Db.d.ts.map +1 -1
  265. package/dist/src/node/helpers/ArweaveClient.d.ts.map +1 -1
  266. package/dist/src/node/helpers/FileManager.d.ts +1 -0
  267. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  268. package/dist/src/seedSchema/MetadataSchema.d.ts +36 -0
  269. package/dist/src/seedSchema/MetadataSchema.d.ts.map +1 -1
  270. package/dist/src/seedSchema/ModelSchema.d.ts +17 -0
  271. package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
  272. package/dist/src/seedSchema/PublishProcessSchema.d.ts +285 -0
  273. package/dist/src/seedSchema/PublishProcessSchema.d.ts.map +1 -0
  274. package/dist/src/seedSchema/SeedSchema.d.ts +17 -0
  275. package/dist/src/seedSchema/SeedSchema.d.ts.map +1 -1
  276. package/dist/src/seedSchema/UploadProcessSchema.d.ts +135 -0
  277. package/dist/src/seedSchema/UploadProcessSchema.d.ts.map +1 -0
  278. package/dist/src/seedSchema/VersionSchema.d.ts +19 -0
  279. package/dist/src/seedSchema/VersionSchema.d.ts.map +1 -1
  280. package/dist/src/seedSchema/index.d.ts +2 -0
  281. package/dist/src/seedSchema/index.d.ts.map +1 -1
  282. package/dist/src/services/write/writeProcessMachine.d.ts +1 -1
  283. package/dist/src/types/arweave.d.ts +2 -1
  284. package/dist/src/types/arweave.d.ts.map +1 -1
  285. package/dist/src/types/db.d.ts +2 -0
  286. package/dist/src/types/db.d.ts.map +1 -1
  287. package/dist/src/types/import.d.ts +3 -0
  288. package/dist/src/types/import.d.ts.map +1 -1
  289. package/dist/src/types/index.d.ts +9 -0
  290. package/dist/src/types/index.d.ts.map +1 -1
  291. package/dist/src/types/item.d.ts +13 -0
  292. package/dist/src/types/item.d.ts.map +1 -1
  293. package/dist/src/types/machines.d.ts +1 -0
  294. package/dist/src/types/machines.d.ts.map +1 -1
  295. package/dist/src/types/property.d.ts +11 -2
  296. package/dist/src/types/property.d.ts.map +1 -1
  297. package/dist/src/vite/index.d.ts.map +1 -1
  298. package/dist/vite.cjs +3 -0
  299. package/dist/vite.cjs.map +1 -1
  300. package/dist/vite.js +2 -0
  301. package/dist/vite.js.map +1 -1
  302. package/package.json +7 -12
  303. package/dist/ArweaveClient-Bot35vMf.js.map +0 -1
  304. package/dist/ArweaveClient-C6mBPWwy.js.map +0 -1
  305. package/dist/Db-DP7ELP9S.js.map +0 -1
  306. package/dist/Db-rlxROH4S.js.map +0 -1
  307. package/dist/FileManager-C7yOhPvS.js.map +0 -1
  308. package/dist/FileManager-Dy3BbIxq.js.map +0 -1
  309. package/dist/ModelProperty--OQb3Dy0.js.map +0 -1
  310. package/dist/Schema-DF4mLt86.js.map +0 -1
  311. package/dist/SchemaValidationService-D4LwnnIB.js.map +0 -1
  312. package/dist/cjs/ModelProperty-C5BRfISV.js.map +0 -1
  313. package/dist/cjs/Schema-DVJG8ISB.js.map +0 -1
  314. package/dist/cjs/SchemaValidationService-_wef0VX6.js.map +0 -1
  315. package/dist/cjs/getPublishPayload-CGl97AXX.js +0 -520
  316. package/dist/cjs/getPublishPayload-CGl97AXX.js.map +0 -1
  317. package/dist/cjs/getPublishUploads-BA5PdoJ3.js.map +0 -1
  318. package/dist/cjs/getSegmentedItemProperties-D3iBFPeo.js +0 -71
  319. package/dist/cjs/getSegmentedItemProperties-D3iBFPeo.js.map +0 -1
  320. package/dist/cjs/index-B3K0jG2t.js.map +0 -1
  321. package/dist/cjs/index-CpBFvNId.js.map +0 -1
  322. package/dist/cjs/ownership-CkgGUliG.js.map +0 -1
  323. package/dist/getPublishPayload-jUcwhhs1.js +0 -503
  324. package/dist/getPublishPayload-jUcwhhs1.js.map +0 -1
  325. package/dist/getPublishUploads-BAsUuLSM.js.map +0 -1
  326. package/dist/getSegmentedItemProperties-1QklOMkN.js +0 -69
  327. package/dist/getSegmentedItemProperties-1QklOMkN.js.map +0 -1
  328. package/dist/index-BUFvepcD.js.map +0 -1
  329. package/dist/index-BnBV-CWp.js +0 -18
  330. package/dist/index-BnBV-CWp.js.map +0 -1
  331. package/dist/index-CjAALVQh.js.map +0 -1
  332. package/dist/ownership-CeuRaVwP.js.map +0 -1
  333. package/dist/property-BiZvboSH.js.map +0 -1
  334. package/dist/src/browser/react/OPFSImage.d.ts +0 -7
  335. package/dist/src/browser/react/OPFSImage.d.ts.map +0 -1
  336. package/dist/src/browser/react/SeedImage.d.ts +0 -11
  337. package/dist/src/browser/react/SeedImage.d.ts.map +0 -1
  338. package/dist/src/browser/react/SeedProvider.d.ts +0 -30
  339. package/dist/src/browser/react/SeedProvider.d.ts.map +0 -1
  340. package/dist/src/browser/react/client.d.ts +0 -2
  341. package/dist/src/browser/react/client.d.ts.map +0 -1
  342. package/dist/src/browser/react/db.d.ts +0 -4
  343. package/dist/src/browser/react/db.d.ts.map +0 -1
  344. package/dist/src/browser/react/index.d.ts +0 -14
  345. package/dist/src/browser/react/index.d.ts.map +0 -1
  346. package/dist/src/browser/react/item.d.ts +0 -44
  347. package/dist/src/browser/react/item.d.ts.map +0 -1
  348. package/dist/src/browser/react/itemProperty.d.ts +0 -93
  349. package/dist/src/browser/react/itemProperty.d.ts.map +0 -1
  350. package/dist/src/browser/react/liveQuery.d.ts +0 -29
  351. package/dist/src/browser/react/liveQuery.d.ts.map +0 -1
  352. package/dist/src/browser/react/model.d.ts +0 -48
  353. package/dist/src/browser/react/model.d.ts.map +0 -1
  354. package/dist/src/browser/react/modelProperty.d.ts +0 -82
  355. package/dist/src/browser/react/modelProperty.d.ts.map +0 -1
  356. package/dist/src/browser/react/queryClient.d.ts +0 -28
  357. package/dist/src/browser/react/queryClient.d.ts.map +0 -1
  358. package/dist/src/browser/react/schema.d.ts +0 -45
  359. package/dist/src/browser/react/schema.d.ts.map +0 -1
  360. package/dist/src/browser/react/services.d.ts +0 -24
  361. package/dist/src/browser/react/services.d.ts.map +0 -1
  362. package/dist/src/browser/react/trash.d.ts +0 -9
  363. package/dist/src/browser/react/trash.d.ts.map +0 -1
  364. package/dist/src/browser/react/useImageFiles.d.ts +0 -19
  365. package/dist/src/browser/react/useImageFiles.d.ts.map +0 -1
@@ -1,22 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  require('reflect-metadata');
4
- var main_cjs = require('./index-B3K0jG2t.js');
5
- require('pluralize');
6
- require('drizzle-orm');
4
+ var main_cjs = require('./index-9O_Ji1kY.js');
5
+ var property = require('./property-Hj-RhQVX.js');
7
6
  require('immer');
8
7
  require('xstate');
9
8
  require('drizzle-orm/sqlite-core');
9
+ require('drizzle-orm');
10
10
  require('nanoid');
11
11
  require('nanoid-dictionary');
12
12
  require('debug');
13
13
  require('ethers');
14
- require('rxjs');
15
- require('lodash-es');
14
+ require('pluralize');
15
+ require('@sinclair/typebox');
16
16
  require('drizzle-orm/casing');
17
+ require('lodash-es');
18
+ require('rxjs');
17
19
  require('eventemitter3');
18
20
  require('arweave');
19
- require('@sinclair/typebox');
21
+ require('js-sha3');
20
22
  require('fs/promises');
21
23
  require('fs');
22
24
  require('path');
@@ -34,7 +36,9 @@ require('graphql-request');
34
36
 
35
37
 
36
38
  exports.Boolean = main_cjs.Boolean;
39
+ exports.DEFAULT_TEXT_MAX_LENGTH = main_cjs.DEFAULT_TEXT_MAX_LENGTH;
37
40
  exports.Date = main_cjs.Date;
41
+ exports.File = main_cjs.File;
38
42
  exports.Image = main_cjs.Image;
39
43
  exports.Json = main_cjs.Json;
40
44
  exports.List = main_cjs.List;
@@ -48,11 +52,15 @@ exports.Property = main_cjs.Property;
48
52
  exports.PropertyConstructor = main_cjs.PropertyConstructor;
49
53
  exports.PropertyMetadataKey = main_cjs.PropertyMetadataKey;
50
54
  exports.Relation = main_cjs.Relation;
55
+ exports.TModelSchema = main_cjs.TModelSchema;
56
+ exports.TModelValues = main_cjs.TModelValues;
51
57
  exports.TProperty = main_cjs.TProperty;
52
58
  exports.TPropertyConstructor = main_cjs.TPropertyConstructor;
53
59
  exports.TPropertyDataType = main_cjs.TPropertyDataType;
60
+ exports.TPropertyDefs = main_cjs.TPropertyDefs;
54
61
  exports.TStorageType = main_cjs.TStorageType;
55
62
  exports.TValidationRules = main_cjs.TValidationRules;
56
63
  exports.Text = main_cjs.Text;
57
64
  exports.normalizeDataType = main_cjs.normalizeDataType;
58
- //# sourceMappingURL=index-CpBFvNId.js.map
65
+ exports.getPropertySchema = property.getPropertySchema;
66
+ //# sourceMappingURL=index-ud9i9fpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ud9i9fpp.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var main_cjs = require('./index-B3K0jG2t.js');
3
+ var main_cjs = require('./index-9O_Ji1kY.js');
4
4
  var drizzleOrm = require('drizzle-orm');
5
5
  require('immer');
6
6
  require('reflect-metadata');
@@ -11,12 +11,13 @@ require('nanoid-dictionary');
11
11
  require('debug');
12
12
  require('ethers');
13
13
  require('pluralize');
14
- require('rxjs');
15
- require('lodash-es');
14
+ require('@sinclair/typebox');
16
15
  require('drizzle-orm/casing');
16
+ require('lodash-es');
17
+ require('rxjs');
17
18
  require('eventemitter3');
18
19
  require('arweave');
19
- require('@sinclair/typebox');
20
+ require('js-sha3');
20
21
  require('fs/promises');
21
22
  require('fs');
22
23
  require('path');
@@ -73,6 +74,8 @@ function getPublisherFromRow(row) {
73
74
  /**
74
75
  * Checks if the current user owns the item (publisher is in owned addresses).
75
76
  * Locally created items (no publisher, no attestationRaw) are considered owned.
77
+ * Includes getAdditionalSyncAddresses (e.g. modular executor contract) so ownership
78
+ * aligns with EAS sync - items attested by the executor are considered owned.
76
79
  */
77
80
  async function isItemOwned(item) {
78
81
  const row = await getSeedRowForItem(item);
@@ -85,8 +88,22 @@ async function isItemOwned(item) {
85
88
  }
86
89
  return false;
87
90
  }
88
- const ownedAddresses = await main_cjs.getOwnedAddressesFromDb();
89
- return ownedAddresses.includes(publisher);
91
+ let addressesToCheck = await main_cjs.getOwnedAddressesFromDb();
92
+ const additionalGetter = main_cjs.getGetAdditionalSyncAddresses();
93
+ if (additionalGetter) {
94
+ const additional = await additionalGetter();
95
+ if (additional?.length) {
96
+ const seen = new Set(addressesToCheck.map((a) => a.toLowerCase()));
97
+ for (const addr of additional) {
98
+ if (addr && !seen.has(addr.toLowerCase())) {
99
+ seen.add(addr.toLowerCase());
100
+ addressesToCheck = [...addressesToCheck, addr];
101
+ }
102
+ }
103
+ }
104
+ }
105
+ const ownedSet = new Set(addressesToCheck.map((a) => a.toLowerCase()));
106
+ return ownedSet.has(publisher.toLowerCase());
90
107
  }
91
108
  /**
92
109
  * Throws if the item is not owned. Use before write operations (publish, save, destroy).
@@ -100,4 +117,4 @@ async function assertItemOwned(item) {
100
117
 
101
118
  exports.assertItemOwned = assertItemOwned;
102
119
  exports.isItemOwned = isItemOwned;
103
- //# sourceMappingURL=ownership-CkgGUliG.js.map
120
+ //# sourceMappingURL=ownership-CyLRNReQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership-CyLRNReQ.js","sources":["../../../src/helpers/ownership.ts"],"sourcesContent":["import type { IItem } from '@/interfaces/IItem'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { seeds } from '@/seedSchema'\nimport { eq, or } from 'drizzle-orm'\nimport { getOwnedAddressesFromDb } from '@/helpers/db'\nimport { getGetAdditionalSyncAddresses } from '@/helpers/publishConfig'\n\nconst READ_ONLY_ERROR = 'Item is read-only: you do not own this item'\n\ntype ItemLike = { seedLocalId?: string; seedUid?: string }\n\ntype SeedRow = { publisher: string | null; attestationRaw: string | null; uid: string | null }\n\nasync function getSeedRowForItem(item: ItemLike): Promise<SeedRow | null> {\n const appDb = BaseDb.getAppDb()\n if (!appDb) return null\n\n const conditions = []\n if (item.seedLocalId) conditions.push(eq(seeds.localId, item.seedLocalId))\n if (item.seedUid) conditions.push(eq(seeds.uid, item.seedUid))\n if (conditions.length === 0) return null\n\n const seedRows = await appDb\n .select({\n publisher: seeds.publisher,\n attestationRaw: seeds.attestationRaw,\n uid: seeds.uid,\n })\n .from(seeds)\n .where(conditions.length === 1 ? conditions[0] : (or(...conditions) as any))\n .limit(1)\n\n if (!seedRows || seedRows.length === 0) return null\n return seedRows[0]\n}\n\nfunction getPublisherFromRow(row: SeedRow): string | null {\n if (row.publisher) return row.publisher\n if (row.attestationRaw) {\n try {\n const parsed = JSON.parse(row.attestationRaw) as { attester?: string }\n return parsed.attester ?? null\n } catch {\n return null\n }\n }\n return null\n}\n\n/**\n * Checks if the current user owns the item (publisher is in owned addresses).\n * Locally created items (no publisher, no attestationRaw) are considered owned.\n * Includes getAdditionalSyncAddresses (e.g. modular executor contract) so ownership\n * aligns with EAS sync - items attested by the executor are considered owned.\n */\nexport async function isItemOwned(item: ItemLike | IItem<any>): Promise<boolean> {\n const row = await getSeedRowForItem(item)\n if (!row) return false\n\n const publisher = getPublisherFromRow(row)\n if (!publisher) {\n if (!row.uid && !row.attestationRaw) {\n return true\n }\n return false\n }\n\n let addressesToCheck = await getOwnedAddressesFromDb()\n const additionalGetter = getGetAdditionalSyncAddresses()\n if (additionalGetter) {\n const additional = await additionalGetter()\n if (additional?.length) {\n const seen = new Set(addressesToCheck.map((a) => a.toLowerCase()))\n for (const addr of additional) {\n if (addr && !seen.has(addr.toLowerCase())) {\n seen.add(addr.toLowerCase())\n addressesToCheck = [...addressesToCheck, addr]\n }\n }\n }\n }\n\n const ownedSet = new Set(addressesToCheck.map((a) => a.toLowerCase()))\n return ownedSet.has(publisher.toLowerCase())\n}\n\n/**\n * Throws if the item is not owned. Use before write operations (publish, save, destroy).\n */\nexport async function assertItemOwned(item: ItemLike | IItem<any>): Promise<void> {\n const owned = await isItemOwned(item)\n if (!owned) {\n throw new Error(READ_ONLY_ERROR)\n }\n}\n"],"names":["BaseDb","eq","seeds","or","getOwnedAddressesFromDb","getGetAdditionalSyncAddresses"],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ 'use strict';
2
+
3
+ var pluralize = require('pluralize');
4
+ var main_cjs = require('./index-9O_Ji1kY.js');
5
+ var drizzleOrm = require('drizzle-orm');
6
+ require('immer');
7
+ require('reflect-metadata');
8
+ require('xstate');
9
+ require('drizzle-orm/sqlite-core');
10
+ require('nanoid');
11
+ require('nanoid-dictionary');
12
+ require('debug');
13
+ require('ethers');
14
+ require('@sinclair/typebox');
15
+ require('drizzle-orm/casing');
16
+ require('lodash-es');
17
+ require('rxjs');
18
+ require('eventemitter3');
19
+ require('arweave');
20
+ require('js-sha3');
21
+ require('fs/promises');
22
+ require('fs');
23
+ require('path');
24
+ require('@libsql/client');
25
+ require('drizzle-orm/libsql');
26
+ require('drizzle-kit/api');
27
+ require('js-yaml');
28
+ require('ts-import');
29
+ require('glob');
30
+ require('rimraf');
31
+ require('child_process');
32
+ require('url');
33
+ require('graphql-request');
34
+
35
+ // Dynamic import to break circular dependency: Model -> ... -> helpers/property -> Model
36
+ // import { Model } from '@/Model/Model'
37
+ /**
38
+ * Gets the propertyRecordSchema object for a given model and property name.
39
+ *
40
+ * The propertyRecordSchema is the property definition object that contains
41
+ * information about the property's data type, storage configuration, and
42
+ * relationship details (for Relation and List types).
43
+ *
44
+ * This function first checks the database for property definitions (which may
45
+ * have been edited), then falls back to schema files. This ensures that
46
+ * edited properties persist across page reloads.
47
+ *
48
+ * This function handles property names that end with 'Id' or 'Ids' by automatically
49
+ * looking up the base property name in the schema (e.g., 'authorId' -> 'author',
50
+ * 'tagIds' -> 'tags').
51
+ *
52
+ * @param modelName - The name of the model (e.g., 'Article', 'Author')
53
+ * @param propertyName - The name of the property (e.g., 'title', 'author', 'authorId', 'tags', 'tagIds')
54
+ * @returns The propertyRecordSchema object (TProperty with optional _propertyFileId) or undefined if not found
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * const schema = await getPropertySchema('Article', 'title')
59
+ * // Returns: { dataType: 'Text', ... }
60
+ *
61
+ * const relationSchema = await getPropertySchema('Article', 'author')
62
+ * // Returns: { dataType: 'Relation', ref: 'Author', ... }
63
+ *
64
+ * // Also works with Id/Ids suffixes
65
+ * const relationSchemaById = await getPropertySchema('Article', 'authorId')
66
+ * // Returns: { dataType: 'Relation', ref: 'Author', ... }
67
+ * ```
68
+ */
69
+ const getPropertySchema = async (modelName, propertyName) => {
70
+ // Dynamic import to break circular dependency
71
+ const modelMod = await Promise.resolve().then(function () { return require('./index-9O_Ji1kY.js'); }).then(function (n) { return n.Model$1; });
72
+ const { Model } = modelMod;
73
+ const schemaMod = await Promise.resolve().then(function () { return require('./Schema-6BQKp7hO.js'); });
74
+ const { Schema } = schemaMod;
75
+ const model = await Model.getByNameAsync(modelName);
76
+ if (!model) {
77
+ return undefined;
78
+ }
79
+ // Get the original schema from Schema instance context (has ref fields from schema file)
80
+ // This is more reliable than modelPropertiesToObject which depends on ModelProperty instances
81
+ let schema = {};
82
+ try {
83
+ const schemaName = model.schemaName;
84
+ if (schemaName) {
85
+ const schemaInstance = Schema.create(schemaName, {
86
+ waitForReady: false,
87
+ });
88
+ const schemaContext = schemaInstance.getService().getSnapshot().context;
89
+ if (schemaContext.models && schemaContext.models[modelName]) {
90
+ // Get properties from Schema context (original schema file data)
91
+ const modelDef = schemaContext.models[modelName];
92
+ schema = modelDef.properties || {};
93
+ }
94
+ }
95
+ }
96
+ catch (error) {
97
+ // Fall through to modelPropertiesToObject
98
+ }
99
+ // Fallback to modelPropertiesToObject if Schema context doesn't have the data
100
+ if (Object.keys(schema).length === 0) {
101
+ const properties = model.properties || [];
102
+ if (properties.length === 0) {
103
+ return undefined;
104
+ }
105
+ schema = main_cjs.modelPropertiesToObject(properties);
106
+ }
107
+ // Helper to resolve property name (handles Id/Ids suffixes)
108
+ const resolvePropertyName = (propName) => {
109
+ // First, try direct lookup
110
+ if (schema[propName]) {
111
+ return propName;
112
+ }
113
+ // List-of-relation storage name (e.g. authorIdentityIds) -> schema key (authors)
114
+ const listSchemaKey = main_cjs.resolveStorageNameToSchemaName(schema, propName);
115
+ if (listSchemaKey && schema[listSchemaKey]) {
116
+ return listSchemaKey;
117
+ }
118
+ // Handle properties ending with 'Id' or 'Ids'
119
+ let propertyNameWithoutId;
120
+ if (propName.endsWith('Id')) {
121
+ propertyNameWithoutId = propName.slice(0, -2);
122
+ }
123
+ else if (propName.endsWith('Ids')) {
124
+ propertyNameWithoutId = propName.slice(0, -3);
125
+ propertyNameWithoutId = pluralize(propertyNameWithoutId);
126
+ }
127
+ if (propertyNameWithoutId && schema[propertyNameWithoutId]) {
128
+ return propertyNameWithoutId;
129
+ }
130
+ return undefined;
131
+ };
132
+ const resolvedPropertyName = resolvePropertyName(propertyName);
133
+ if (!resolvedPropertyName) {
134
+ return undefined;
135
+ }
136
+ // Try to get property from database first (may have edited values)
137
+ try {
138
+ const db = main_cjs.BaseDb.getAppDb();
139
+ if (db) {
140
+ // Find the model in the database
141
+ const modelRecords = await db
142
+ .select()
143
+ .from(main_cjs.models)
144
+ .where(drizzleOrm.eq(main_cjs.models.name, modelName))
145
+ .limit(1);
146
+ if (modelRecords.length > 0) {
147
+ const modelRecord = modelRecords[0];
148
+ // Find the property in the database by name
149
+ let propertyRecords = await db
150
+ .select()
151
+ .from(main_cjs.properties)
152
+ .where(drizzleOrm.and(drizzleOrm.eq(main_cjs.properties.name, resolvedPropertyName), drizzleOrm.eq(main_cjs.properties.modelId, modelRecord.id)))
153
+ .limit(1);
154
+ // If not found by name, check for renamed properties (orphaned DB properties)
155
+ if (propertyRecords.length === 0) {
156
+ // Get all properties for this model
157
+ const allDbProperties = await db
158
+ .select()
159
+ .from(main_cjs.properties)
160
+ .where(drizzleOrm.eq(main_cjs.properties.modelId, modelRecord.id));
161
+ // Get all schema property names to identify orphaned properties
162
+ const schemaPropertyNames = new Set(Object.keys(schema));
163
+ // Get the schema property definition to match characteristics
164
+ const schemaPropertyDef = schema[resolvedPropertyName];
165
+ if (schemaPropertyDef) {
166
+ // Find orphaned properties (don't match any schema property name) that match characteristics
167
+ const orphanedProperties = allDbProperties.filter((p) => !schemaPropertyNames.has(p.name) && // Doesn't match any schema property name
168
+ p.dataType === schemaPropertyDef.dataType // Same dataType
169
+ );
170
+ // If there's exactly one orphaned property with matching characteristics, it's likely the renamed property
171
+ // We can also match by refModelId if it's a relation
172
+ if (orphanedProperties.length > 0) {
173
+ let matchedProperty = orphanedProperties[0];
174
+ // If it's a relation, try to match by refModelId
175
+ if (schemaPropertyDef.ref) {
176
+ const refModelRecords = await db
177
+ .select()
178
+ .from(main_cjs.models)
179
+ .where(drizzleOrm.eq(main_cjs.models.name, schemaPropertyDef.ref))
180
+ .limit(1);
181
+ if (refModelRecords.length > 0) {
182
+ const expectedRefModelId = refModelRecords[0].id;
183
+ const matchingByRef = orphanedProperties.find((p) => p.refModelId === expectedRefModelId);
184
+ if (matchingByRef) {
185
+ matchedProperty = matchingByRef;
186
+ }
187
+ }
188
+ }
189
+ else {
190
+ // For non-relation properties, prefer ones without refModelId
191
+ const withoutRef = orphanedProperties.find((p) => p.refModelId === null);
192
+ if (withoutRef) {
193
+ matchedProperty = withoutRef;
194
+ }
195
+ }
196
+ propertyRecords = [matchedProperty];
197
+ }
198
+ }
199
+ }
200
+ if (propertyRecords.length > 0) {
201
+ const propertyRecord = propertyRecords[0];
202
+ // Get the base schema from file to merge with database values
203
+ // Use the schema object created earlier, not model.schema (which doesn't exist)
204
+ const schemaFromFile = schema[resolvedPropertyName];
205
+ // Build property schema from database, merging with file schema for fields not in DB
206
+ // Use the schema property name (resolvedPropertyName) even if DB has different name (renamed)
207
+ const propertySchema = {
208
+ ...schemaFromFile, // Start with file schema (has all fields like storageType, etc.)
209
+ id: propertyRecord.schemaFileId || propertyRecord.id?.toString(), // id should be schemaFileId (string), not database ID
210
+ _dbId: propertyRecord.id, // Store database integer ID separately
211
+ name: resolvedPropertyName, // Use schema name, not DB name (for renamed properties)
212
+ dataType: propertyRecord.dataType,
213
+ modelId: propertyRecord.modelId,
214
+ modelName,
215
+ refModelId: propertyRecord.refModelId || undefined,
216
+ refValueType: propertyRecord.refValueType || undefined,
217
+ required: propertyRecord.required ?? undefined,
218
+ // Include schemaFileId from database as _propertyFileId for ModelProperty.create()
219
+ _propertyFileId: propertyRecord.schemaFileId || undefined,
220
+ };
221
+ // If refModelId is set, try to get the refModelName
222
+ if (propertyRecord.refModelId) {
223
+ const refModelRecords = await db
224
+ .select()
225
+ .from(main_cjs.models)
226
+ .where(drizzleOrm.eq(main_cjs.models.id, propertyRecord.refModelId))
227
+ .limit(1);
228
+ if (refModelRecords.length > 0) {
229
+ propertySchema.refModelName = refModelRecords[0].name;
230
+ propertySchema.ref = refModelRecords[0].name;
231
+ }
232
+ }
233
+ else if (schemaFromFile?.ref) {
234
+ // If refModelId is not set but schema file has ref, resolve it from the database
235
+ // This handles cases where the property was just created and refModelId hasn't been set yet
236
+ propertySchema.ref = schemaFromFile.ref;
237
+ propertySchema.refModelName = schemaFromFile.ref;
238
+ // Try to resolve refModelId from the database using the model name
239
+ try {
240
+ const refModelRecords = await db
241
+ .select()
242
+ .from(main_cjs.models)
243
+ .where(drizzleOrm.eq(main_cjs.models.name, schemaFromFile.ref))
244
+ .limit(1);
245
+ if (refModelRecords.length > 0 && refModelRecords[0].id) {
246
+ propertySchema.refModelId = refModelRecords[0].id;
247
+ }
248
+ }
249
+ catch (error) {
250
+ // Ignore errors - model might not exist yet
251
+ }
252
+ }
253
+ return propertySchema;
254
+ }
255
+ }
256
+ }
257
+ }
258
+ catch (error) {
259
+ // Database not available or error - fall through to schema file lookup
260
+ }
261
+ // Fall back to schema file lookup
262
+ const schemaFromFile = schema[resolvedPropertyName];
263
+ if (schemaFromFile) {
264
+ const propertySchema = { ...schemaFromFile, name: resolvedPropertyName };
265
+ // If schema file has id as a string (propertyFileId), set it as _propertyFileId
266
+ // This handles cases where the property hasn't been saved to the database yet
267
+ if (typeof schemaFromFile.id === 'string') {
268
+ propertySchema._propertyFileId = schemaFromFile.id;
269
+ }
270
+ // If the schema file has ref but no refModelId, try to resolve it from the database
271
+ if (schemaFromFile.ref && !propertySchema.refModelId) {
272
+ try {
273
+ const db = main_cjs.BaseDb.getAppDb();
274
+ if (db) {
275
+ const refModelRecords = await db
276
+ .select()
277
+ .from(main_cjs.models)
278
+ .where(drizzleOrm.eq(main_cjs.models.name, schemaFromFile.ref))
279
+ .limit(1);
280
+ if (refModelRecords.length > 0 && refModelRecords[0].id) {
281
+ propertySchema.refModelId = refModelRecords[0].id;
282
+ propertySchema.refModelName = schemaFromFile.ref;
283
+ }
284
+ }
285
+ }
286
+ catch (error) {
287
+ // Ignore errors - model might not exist yet or database not available
288
+ }
289
+ }
290
+ return propertySchema;
291
+ }
292
+ return undefined;
293
+ };
294
+
295
+ exports.Boolean = main_cjs.Boolean;
296
+ exports.Date = main_cjs.Date;
297
+ exports.File = main_cjs.File;
298
+ exports.Image = main_cjs.Image;
299
+ exports.Json = main_cjs.Json;
300
+ exports.List = main_cjs.List;
301
+ Object.defineProperty(exports, "ModelPropertyDataTypes", {
302
+ enumerable: true,
303
+ get: function () { return main_cjs.ModelPropertyDataTypes; }
304
+ });
305
+ exports.Number = main_cjs.Number;
306
+ exports.Property = main_cjs.Property;
307
+ exports.PropertyConstructor = main_cjs.PropertyConstructor;
308
+ exports.PropertyMetadataKey = main_cjs.PropertyMetadataKey;
309
+ exports.Relation = main_cjs.Relation;
310
+ exports.TProperty = main_cjs.TProperty;
311
+ exports.TPropertyConstructor = main_cjs.TPropertyConstructor;
312
+ exports.TPropertyDataType = main_cjs.TPropertyDataType;
313
+ exports.TPropertyDefs = main_cjs.TPropertyDefs;
314
+ exports.TStorageType = main_cjs.TStorageType;
315
+ exports.Text = main_cjs.Text;
316
+ exports.normalizeDataType = main_cjs.normalizeDataType;
317
+ exports.getPropertySchema = getPropertySchema;
318
+ //# sourceMappingURL=property-Hj-RhQVX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-Hj-RhQVX.js","sources":["../../../src/helpers/property.ts"],"sourcesContent":["import { Static } from '@sinclair/typebox'\nimport { TProperty } from '@/Schema'\n// Dynamic import to break circular dependency: Model -> ... -> helpers/property -> Model\n// import { Model } from '@/Model/Model'\nimport pluralize from 'pluralize'\nimport { resolveStorageNameToSchemaName } from '@/helpers/metadataPropertyNames'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { models as modelsTable, properties, PropertyType } from '@/seedSchema'\nimport { eq, and } from 'drizzle-orm'\nimport { modelPropertiesToObject } from '@/helpers/model'\n\n// Re-export everything from property/index.ts to make it available when importing from helpers/property\nexport * from './property/index'\n\n/**\n * Gets the propertyRecordSchema object for a given model and property name.\n * \n * The propertyRecordSchema is the property definition object that contains\n * information about the property's data type, storage configuration, and\n * relationship details (for Relation and List types).\n * \n * This function first checks the database for property definitions (which may\n * have been edited), then falls back to schema files. This ensures that\n * edited properties persist across page reloads.\n * \n * This function handles property names that end with 'Id' or 'Ids' by automatically\n * looking up the base property name in the schema (e.g., 'authorId' -> 'author',\n * 'tagIds' -> 'tags').\n * \n * @param modelName - The name of the model (e.g., 'Article', 'Author')\n * @param propertyName - The name of the property (e.g., 'title', 'author', 'authorId', 'tags', 'tagIds')\n * @returns The propertyRecordSchema object (TProperty with optional _propertyFileId) or undefined if not found\n * \n * @example\n * ```typescript\n * const schema = await getPropertySchema('Article', 'title')\n * // Returns: { dataType: 'Text', ... }\n * \n * const relationSchema = await getPropertySchema('Article', 'author')\n * // Returns: { dataType: 'Relation', ref: 'Author', ... }\n * \n * // Also works with Id/Ids suffixes\n * const relationSchemaById = await getPropertySchema('Article', 'authorId')\n * // Returns: { dataType: 'Relation', ref: 'Author', ... }\n * ```\n */\nexport const getPropertySchema = async (\n modelName: string,\n propertyName: string,\n): Promise<(Static<typeof TProperty> & { _propertyFileId?: string }) | undefined> => {\n // Dynamic import to break circular dependency\n const modelMod = await import('../Model/Model')\n const { Model } = modelMod\n const schemaMod = await import('../Schema/Schema')\n const { Schema } = schemaMod\n const model = await Model.getByNameAsync(modelName)\n\n if (!model) {\n return undefined\n }\n \n // Get the original schema from Schema instance context (has ref fields from schema file)\n // This is more reliable than modelPropertiesToObject which depends on ModelProperty instances\n let schema: { [propertyName: string]: any } = {}\n try {\n const schemaName = model.schemaName\n if (schemaName) {\n const schemaInstance = Schema.create(schemaName, {\n waitForReady: false,\n }) as import('@/Schema/Schema').Schema\n const schemaContext = schemaInstance.getService().getSnapshot().context\n if (schemaContext.models && schemaContext.models[modelName]) {\n // Get properties from Schema context (original schema file data)\n const modelDef = schemaContext.models[modelName]\n schema = modelDef.properties || {}\n }\n }\n } catch (error) {\n // Fall through to modelPropertiesToObject\n }\n \n // Fallback to modelPropertiesToObject if Schema context doesn't have the data\n if (Object.keys(schema).length === 0) {\n const properties = model.properties || []\n if (properties.length === 0) {\n return undefined\n }\n schema = modelPropertiesToObject(properties)\n }\n \n // Helper to resolve property name (handles Id/Ids suffixes)\n const resolvePropertyName = (propName: string): string | undefined => {\n // First, try direct lookup\n if (schema[propName]) {\n return propName\n }\n\n // List-of-relation storage name (e.g. authorIdentityIds) -> schema key (authors)\n const listSchemaKey = resolveStorageNameToSchemaName(schema, propName)\n if (listSchemaKey && schema[listSchemaKey]) {\n return listSchemaKey\n }\n\n // Handle properties ending with 'Id' or 'Ids'\n let propertyNameWithoutId: string | undefined\n \n if (propName.endsWith('Id')) {\n propertyNameWithoutId = propName.slice(0, -2)\n } else if (propName.endsWith('Ids')) {\n propertyNameWithoutId = propName.slice(0, -3)\n propertyNameWithoutId = pluralize(propertyNameWithoutId)\n }\n \n if (propertyNameWithoutId && schema[propertyNameWithoutId]) {\n return propertyNameWithoutId\n }\n \n return undefined\n }\n \n const resolvedPropertyName = resolvePropertyName(propertyName)\n if (!resolvedPropertyName) {\n return undefined\n }\n \n // Try to get property from database first (may have edited values)\n try {\n const db = BaseDb.getAppDb()\n if (db) {\n // Find the model in the database\n const modelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n \n if (modelRecords.length > 0) {\n const modelRecord = modelRecords[0]\n \n // Find the property in the database by name\n let propertyRecords = await db\n .select()\n .from(properties)\n .where(\n and(\n eq(properties.name, resolvedPropertyName),\n eq(properties.modelId, modelRecord.id!),\n ),\n )\n .limit(1)\n \n // If not found by name, check for renamed properties (orphaned DB properties)\n if (propertyRecords.length === 0) {\n // Get all properties for this model\n const allDbProperties = await db\n .select()\n .from(properties)\n .where(eq(properties.modelId, modelRecord.id!))\n \n // Get all schema property names to identify orphaned properties\n const schemaPropertyNames = new Set(Object.keys(schema))\n \n // Get the schema property definition to match characteristics\n const schemaPropertyDef = schema[resolvedPropertyName]\n \n if (schemaPropertyDef) {\n // Find orphaned properties (don't match any schema property name) that match characteristics\n const orphanedProperties = allDbProperties.filter((p: PropertyType) => \n !schemaPropertyNames.has(p.name) && // Doesn't match any schema property name\n p.dataType === schemaPropertyDef.dataType // Same dataType\n )\n \n // If there's exactly one orphaned property with matching characteristics, it's likely the renamed property\n // We can also match by refModelId if it's a relation\n if (orphanedProperties.length > 0) {\n let matchedProperty = orphanedProperties[0]\n \n // If it's a relation, try to match by refModelId\n if (schemaPropertyDef.ref) {\n const refModelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, schemaPropertyDef.ref))\n .limit(1)\n \n if (refModelRecords.length > 0) {\n const expectedRefModelId = refModelRecords[0].id\n const matchingByRef = orphanedProperties.find((p: PropertyType) => p.refModelId === expectedRefModelId)\n if (matchingByRef) {\n matchedProperty = matchingByRef\n }\n }\n } else {\n // For non-relation properties, prefer ones without refModelId\n const withoutRef = orphanedProperties.find((p: PropertyType) => p.refModelId === null)\n if (withoutRef) {\n matchedProperty = withoutRef\n }\n }\n \n propertyRecords = [matchedProperty]\n }\n }\n }\n \n if (propertyRecords.length > 0) {\n const propertyRecord = propertyRecords[0]\n \n // Get the base schema from file to merge with database values\n // Use the schema object created earlier, not model.schema (which doesn't exist)\n const schemaFromFile = schema[resolvedPropertyName]\n \n // Build property schema from database, merging with file schema for fields not in DB\n // Use the schema property name (resolvedPropertyName) even if DB has different name (renamed)\n const propertySchema: Static<typeof TProperty> & { _propertyFileId?: string; _dbId?: number } = {\n ...schemaFromFile, // Start with file schema (has all fields like storageType, etc.)\n id: propertyRecord.schemaFileId || propertyRecord.id?.toString(), // id should be schemaFileId (string), not database ID\n _dbId: propertyRecord.id, // Store database integer ID separately\n name: resolvedPropertyName, // Use schema name, not DB name (for renamed properties)\n dataType: propertyRecord.dataType as any,\n modelId: propertyRecord.modelId,\n modelName,\n refModelId: propertyRecord.refModelId || undefined,\n refValueType: (propertyRecord.refValueType as any) || undefined,\n required: (propertyRecord as { required?: boolean }).required ?? undefined,\n // Include schemaFileId from database as _propertyFileId for ModelProperty.create()\n _propertyFileId: propertyRecord.schemaFileId || undefined,\n }\n \n // If refModelId is set, try to get the refModelName\n if (propertyRecord.refModelId) {\n const refModelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.id, propertyRecord.refModelId))\n .limit(1)\n \n if (refModelRecords.length > 0) {\n propertySchema.refModelName = refModelRecords[0].name\n propertySchema.ref = refModelRecords[0].name\n }\n } else if (schemaFromFile?.ref) {\n // If refModelId is not set but schema file has ref, resolve it from the database\n // This handles cases where the property was just created and refModelId hasn't been set yet\n propertySchema.ref = schemaFromFile.ref\n propertySchema.refModelName = schemaFromFile.ref\n \n // Try to resolve refModelId from the database using the model name\n try {\n const refModelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, schemaFromFile.ref))\n .limit(1)\n \n if (refModelRecords.length > 0 && refModelRecords[0].id) {\n propertySchema.refModelId = refModelRecords[0].id\n }\n } catch (error) {\n // Ignore errors - model might not exist yet\n }\n }\n \n return propertySchema\n }\n }\n }\n } catch (error) {\n // Database not available or error - fall through to schema file lookup\n }\n \n // Fall back to schema file lookup\n const schemaFromFile = schema[resolvedPropertyName]\n if (schemaFromFile) {\n const propertySchema: Static<typeof TProperty> & { _propertyFileId?: string } = { ...schemaFromFile, name: resolvedPropertyName }\n \n // If schema file has id as a string (propertyFileId), set it as _propertyFileId\n // This handles cases where the property hasn't been saved to the database yet\n if (typeof schemaFromFile.id === 'string') {\n propertySchema._propertyFileId = schemaFromFile.id\n }\n \n // If the schema file has ref but no refModelId, try to resolve it from the database\n if (schemaFromFile.ref && !propertySchema.refModelId) {\n try {\n const db = BaseDb.getAppDb()\n if (db) {\n const refModelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, schemaFromFile.ref))\n .limit(1)\n \n if (refModelRecords.length > 0 && refModelRecords[0].id) {\n propertySchema.refModelId = refModelRecords[0].id\n propertySchema.refModelName = schemaFromFile.ref\n }\n }\n } catch (error) {\n // Ignore errors - model might not exist yet or database not available\n }\n }\n \n return propertySchema\n }\n return undefined\n}\n"],"names":["modelPropertiesToObject","resolveStorageNameToSchemaName","BaseDb","modelsTable","eq","properties","and"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ CREATE TABLE `publish_processes` (
2
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
3
+ `seed_local_id` text NOT NULL,
4
+ `model_name` text NOT NULL,
5
+ `schema_id` text,
6
+ `status` text NOT NULL,
7
+ `started_at` integer NOT NULL,
8
+ `completed_at` integer,
9
+ `error_message` text,
10
+ `error_step` text,
11
+ `error_details` text,
12
+ `persisted_snapshot` text NOT NULL,
13
+ `seed_id` text,
14
+ `existing_seed_uid` text,
15
+ `created_at` integer,
16
+ `updated_at` integer
17
+ );
18
+ --> statement-breakpoint
19
+ CREATE TABLE `upload_processes` (
20
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
21
+ `reimbursement_confirmed` integer NOT NULL,
22
+ `reimbursement_transaction_id` text,
23
+ `transaction_keys` text,
24
+ `persisted_snapshot` text NOT NULL,
25
+ `created_at` integer,
26
+ `updated_at` integer
27
+ );
@@ -0,0 +1,3 @@
1
+ ALTER TABLE `versions` ADD `publisher` text;
2
+ --> statement-breakpoint
3
+ ALTER TABLE `metadata` ADD `publisher` text;
@@ -0,0 +1 @@
1
+ ALTER TABLE `properties` ADD `required` integer DEFAULT 0;
@@ -0,0 +1 @@
1
+ ALTER TABLE `seeds` ADD `revoked_at` integer;
@@ -0,0 +1,14 @@
1
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
2
+ CREATE TABLE `__new_property_uids` (
3
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
4
+ `uid` text NOT NULL,
5
+ `property_id` integer NOT NULL,
6
+ FOREIGN KEY (`property_id`) REFERENCES `properties`(`id`) ON UPDATE no action ON DELETE no action
7
+ );
8
+ --> statement-breakpoint
9
+ INSERT INTO `__new_property_uids`("id", "uid", "property_id") SELECT "id", "uid", "property_id" FROM `property_uids`;--> statement-breakpoint
10
+ DROP TABLE `property_uids`;--> statement-breakpoint
11
+ ALTER TABLE `__new_property_uids` RENAME TO `property_uids`;--> statement-breakpoint
12
+ PRAGMA foreign_keys=ON;--> statement-breakpoint
13
+ CREATE UNIQUE INDEX `property_uids_property_id_unique` ON `property_uids` (`property_id`);--> statement-breakpoint
14
+ ALTER TABLE `metadata` ADD `property_id` integer REFERENCES properties(id);