@seedprotocol/sdk 0.4.14 → 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 (363) hide show
  1. package/dist/{ArweaveClient-D6E8xe3J.js → ArweaveClient-DPeCeRMF.js} +21 -18
  2. package/dist/ArweaveClient-DPeCeRMF.js.map +1 -0
  3. package/dist/{ArweaveClient-DElJwN08.js → ArweaveClient-Zz6VwCkj.js} +21 -18
  4. package/dist/ArweaveClient-Zz6VwCkj.js.map +1 -0
  5. package/dist/{Db-De4o7jww.js → Db-Cvoi9q3N.js} +8 -5
  6. package/dist/Db-Cvoi9q3N.js.map +1 -0
  7. package/dist/{Db-DW1Un2jz.js → Db-DsFElL33.js} +356 -52
  8. package/dist/Db-DsFElL33.js.map +1 -0
  9. package/dist/{EasClient-BpGDIkmb.js → EasClient-B2N8bc3C.js} +6 -5
  10. package/dist/{EasClient-DGY_mkrd.js.map → EasClient-B2N8bc3C.js.map} +1 -1
  11. package/dist/{EasClient-DGY_mkrd.js → EasClient-D5Nn1WBF.js} +6 -5
  12. package/dist/{EasClient-BpGDIkmb.js.map → EasClient-D5Nn1WBF.js.map} +1 -1
  13. package/dist/{FileManager-DrHQbmYj.js → FileManager-Bk-JeMoA.js} +48 -11
  14. package/dist/FileManager-Bk-JeMoA.js.map +1 -0
  15. package/dist/{FileManager-Cw8mOIqZ.js → FileManager-Cqy_Lq46.js} +12 -8
  16. package/dist/FileManager-Cqy_Lq46.js.map +1 -0
  17. package/dist/{ModelProperty-D8d25NtC.js → ModelProperty-CkQaEsBu.js} +30 -28
  18. package/dist/ModelProperty-CkQaEsBu.js.map +1 -0
  19. package/dist/{PathResolver-D1k3dZg5.js → PathResolver-C3sdR5LL.js} +6 -5
  20. package/dist/{PathResolver-D1k3dZg5.js.map → PathResolver-C3sdR5LL.js.map} +1 -1
  21. package/dist/{PathResolver-BHj0UZTj.js → PathResolver-DF1QFI1d.js} +6 -5
  22. package/dist/{PathResolver-BHj0UZTj.js.map → PathResolver-DF1QFI1d.js.map} +1 -1
  23. package/dist/{QueryClient-BCVom0BA.js → QueryClient-CnONLIkA.js} +6 -5
  24. package/dist/{QueryClient-BCVom0BA.js.map → QueryClient-CnONLIkA.js.map} +1 -1
  25. package/dist/{QueryClient-D4974vvo.js → QueryClient-Ctgd0tDn.js} +6 -5
  26. package/dist/{QueryClient-D4974vvo.js.map → QueryClient-Ctgd0tDn.js.map} +1 -1
  27. package/dist/{Schema-CLlE7onI.js → Schema-Bnim4hAF.js} +90 -57
  28. package/dist/Schema-Bnim4hAF.js.map +1 -0
  29. package/dist/{SchemaValidationService-CwKY3QlY.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-CgQ3zR-u.js → ModelProperty-C80601ai.js} +23 -21
  34. package/dist/cjs/ModelProperty-C80601ai.js.map +1 -0
  35. package/dist/cjs/{Schema-B0D7LgYb.js → Schema-6BQKp7hO.js} +60 -39
  36. package/dist/cjs/Schema-6BQKp7hO.js.map +1 -0
  37. package/dist/cjs/{SchemaValidationService-DUIOUvC_.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-BP4BYB4Z.js → getItem-Dj49AjWB.js} +5 -4
  42. package/dist/cjs/{getItem-BP4BYB4Z.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-D4DMfuOm.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-CUd7xS2i.js → index-9O_Ji1kY.js} +3332 -1367
  50. package/dist/cjs/index-9O_Ji1kY.js.map +1 -0
  51. package/dist/cjs/{index-BM8CSlnN.js → index-ud9i9fpp.js} +15 -7
  52. package/dist/cjs/index-ud9i9fpp.js.map +1 -0
  53. package/dist/cjs/{ownership-D3npAPnx.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-B_IP-uNX.js → getItem-ClK0UZqi.js} +5 -4
  69. package/dist/{getItem-B_IP-uNX.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-DPk5RcAG.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-DbmqfO-Q.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-Dh_gxItx.js → index-uPXtq2cf.js} +3321 -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-CEv7BhIh.js → ownership-QK5haR3-.js} +24 -7
  89. package/dist/ownership-QK5haR3-.js.map +1 -0
  90. package/dist/{property-CppuVi-i.js → property-Dt0U3UXJ.js} +26 -6
  91. package/dist/property-Dt0U3UXJ.js.map +1 -0
  92. package/dist/{queries-B1vaglQW.js → queries-BUB-vUBm.js} +2 -2
  93. package/dist/{queries-B1vaglQW.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/index.d.ts +0 -1
  166. package/dist/src/browser/index.d.ts.map +1 -1
  167. package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -1
  168. package/dist/src/browser/workers/imageResize.d.ts.map +1 -1
  169. package/dist/src/client/ClientManager.d.ts +11 -0
  170. package/dist/src/client/ClientManager.d.ts.map +1 -1
  171. package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -1
  172. package/dist/src/client/actors/dbInit.d.ts.map +1 -1
  173. package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -1
  174. package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -1
  175. package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
  176. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  177. package/dist/src/db/backfillMetadataPropertyIds.d.ts +7 -0
  178. package/dist/src/db/backfillMetadataPropertyIds.d.ts.map +1 -0
  179. package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -1
  180. package/dist/src/db/read/getAttesterForSeed.d.ts +13 -0
  181. package/dist/src/db/read/getAttesterForSeed.d.ts.map +1 -0
  182. package/dist/src/db/read/getItemData.d.ts.map +1 -1
  183. package/dist/src/db/read/getItems.d.ts.map +1 -1
  184. package/dist/src/db/read/getMetadataAttestationUidsForSeedUid.d.ts +9 -0
  185. package/dist/src/db/read/getMetadataAttestationUidsForSeedUid.d.ts.map +1 -0
  186. package/dist/src/db/read/getPropertyData.d.ts +1 -1
  187. package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
  188. package/dist/src/db/read/getPublishPayload.d.ts +26 -2
  189. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
  190. package/dist/src/db/read/getPublishUploads.d.ts +1 -0
  191. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  192. package/dist/src/db/read/getRelatedItemsForPublish.d.ts.map +1 -1
  193. package/dist/src/db/read/getVersionsForSeedUid.d.ts +4 -0
  194. package/dist/src/db/read/getVersionsForSeedUid.d.ts.map +1 -0
  195. package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
  196. package/dist/src/db/write/createMetadata.d.ts +15 -1
  197. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  198. package/dist/src/db/write/createNewItem.d.ts.map +1 -1
  199. package/dist/src/db/write/createSeed.d.ts.map +1 -1
  200. package/dist/src/db/write/createVersion.d.ts.map +1 -1
  201. package/dist/src/db/write/updateItemPropertyValue.d.ts +2 -0
  202. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +1 -1
  203. package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
  204. package/dist/src/db/write/updateSeedRevokedAt.d.ts +10 -0
  205. package/dist/src/db/write/updateSeedRevokedAt.d.ts.map +1 -0
  206. package/dist/src/db/write/updateSeedUid.d.ts +6 -1
  207. package/dist/src/db/write/updateSeedUid.d.ts.map +1 -1
  208. package/dist/src/db/write/updateVersionUid.d.ts +13 -0
  209. package/dist/src/db/write/updateVersionUid.d.ts.map +1 -0
  210. package/dist/src/eas.d.ts +5 -2
  211. package/dist/src/eas.d.ts.map +1 -1
  212. package/dist/src/events/item/syncDbWithEas.d.ts +10 -0
  213. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
  214. package/dist/src/graphql/gql/gql.d.ts +2 -7
  215. package/dist/src/graphql/gql/gql.d.ts.map +1 -1
  216. package/dist/src/graphql/gql/graphql.d.ts +2 -16
  217. package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
  218. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +22 -8
  219. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -1
  220. package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
  221. package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts +19 -0
  222. package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts.map +1 -0
  223. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +4 -0
  224. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  225. package/dist/src/helpers/constants.d.ts.map +1 -1
  226. package/dist/src/helpers/crypto.d.ts +6 -0
  227. package/dist/src/helpers/crypto.d.ts.map +1 -1
  228. package/dist/src/helpers/db.d.ts +25 -0
  229. package/dist/src/helpers/db.d.ts.map +1 -1
  230. package/dist/src/helpers/easRevokedFilter.d.ts +10 -0
  231. package/dist/src/helpers/easRevokedFilter.d.ts.map +1 -0
  232. package/dist/src/helpers/file/queries.d.ts.map +1 -1
  233. package/dist/src/helpers/getSegmentedItemProperties.d.ts +2 -2
  234. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
  235. package/dist/src/helpers/index.d.ts +3 -0
  236. package/dist/src/helpers/index.d.ts.map +1 -1
  237. package/dist/src/helpers/listPropertyValueFromStorage.d.ts +5 -0
  238. package/dist/src/helpers/listPropertyValueFromStorage.d.ts.map +1 -0
  239. package/dist/src/helpers/metadataPropertyNames.d.ts +50 -0
  240. package/dist/src/helpers/metadataPropertyNames.d.ts.map +1 -0
  241. package/dist/src/helpers/model.d.ts.map +1 -1
  242. package/dist/src/helpers/ownership.d.ts +2 -0
  243. package/dist/src/helpers/ownership.d.ts.map +1 -1
  244. package/dist/src/helpers/property/index.d.ts +24 -12
  245. package/dist/src/helpers/property/index.d.ts.map +1 -1
  246. package/dist/src/helpers/property.d.ts.map +1 -1
  247. package/dist/src/helpers/publishConfig.d.ts +36 -0
  248. package/dist/src/helpers/publishConfig.d.ts.map +1 -1
  249. package/dist/src/helpers/schema.d.ts.map +1 -1
  250. package/dist/src/helpers/updateSchema.d.ts +2 -5
  251. package/dist/src/helpers/updateSchema.d.ts.map +1 -1
  252. package/dist/src/imports/index.d.ts +1 -1
  253. package/dist/src/imports/index.d.ts.map +1 -1
  254. package/dist/src/imports/json.d.ts +16 -1
  255. package/dist/src/imports/json.d.ts.map +1 -1
  256. package/dist/src/index.d.ts +33 -8
  257. package/dist/src/index.d.ts.map +1 -1
  258. package/dist/src/interfaces/IItem.d.ts +5 -1
  259. package/dist/src/interfaces/IItem.d.ts.map +1 -1
  260. package/dist/src/interfaces/IItemProperty.d.ts +3 -0
  261. package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
  262. package/dist/src/node/db/Db.d.ts.map +1 -1
  263. package/dist/src/node/helpers/ArweaveClient.d.ts.map +1 -1
  264. package/dist/src/node/helpers/FileManager.d.ts +1 -0
  265. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  266. package/dist/src/seedSchema/MetadataSchema.d.ts +36 -0
  267. package/dist/src/seedSchema/MetadataSchema.d.ts.map +1 -1
  268. package/dist/src/seedSchema/ModelSchema.d.ts +17 -0
  269. package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
  270. package/dist/src/seedSchema/PublishProcessSchema.d.ts +285 -0
  271. package/dist/src/seedSchema/PublishProcessSchema.d.ts.map +1 -0
  272. package/dist/src/seedSchema/SeedSchema.d.ts +17 -0
  273. package/dist/src/seedSchema/SeedSchema.d.ts.map +1 -1
  274. package/dist/src/seedSchema/UploadProcessSchema.d.ts +135 -0
  275. package/dist/src/seedSchema/UploadProcessSchema.d.ts.map +1 -0
  276. package/dist/src/seedSchema/VersionSchema.d.ts +19 -0
  277. package/dist/src/seedSchema/VersionSchema.d.ts.map +1 -1
  278. package/dist/src/seedSchema/index.d.ts +2 -0
  279. package/dist/src/seedSchema/index.d.ts.map +1 -1
  280. package/dist/src/services/write/writeProcessMachine.d.ts +1 -1
  281. package/dist/src/types/arweave.d.ts +2 -1
  282. package/dist/src/types/arweave.d.ts.map +1 -1
  283. package/dist/src/types/db.d.ts +2 -0
  284. package/dist/src/types/db.d.ts.map +1 -1
  285. package/dist/src/types/import.d.ts +3 -0
  286. package/dist/src/types/import.d.ts.map +1 -1
  287. package/dist/src/types/index.d.ts +9 -0
  288. package/dist/src/types/index.d.ts.map +1 -1
  289. package/dist/src/types/item.d.ts +13 -0
  290. package/dist/src/types/item.d.ts.map +1 -1
  291. package/dist/src/types/machines.d.ts +1 -0
  292. package/dist/src/types/machines.d.ts.map +1 -1
  293. package/dist/src/types/property.d.ts +11 -2
  294. package/dist/src/types/property.d.ts.map +1 -1
  295. package/dist/src/vite/index.d.ts.map +1 -1
  296. package/dist/vite.cjs +2 -127
  297. package/dist/vite.cjs.map +1 -1
  298. package/dist/vite.js +2 -127
  299. package/dist/vite.js.map +1 -1
  300. package/package.json +4 -11
  301. package/dist/ArweaveClient-D6E8xe3J.js.map +0 -1
  302. package/dist/ArweaveClient-DElJwN08.js.map +0 -1
  303. package/dist/Db-DW1Un2jz.js.map +0 -1
  304. package/dist/Db-De4o7jww.js.map +0 -1
  305. package/dist/FileManager-Cw8mOIqZ.js.map +0 -1
  306. package/dist/FileManager-DrHQbmYj.js.map +0 -1
  307. package/dist/ModelProperty-D8d25NtC.js.map +0 -1
  308. package/dist/Schema-CLlE7onI.js.map +0 -1
  309. package/dist/SchemaValidationService-CwKY3QlY.js.map +0 -1
  310. package/dist/cjs/ModelProperty-CgQ3zR-u.js.map +0 -1
  311. package/dist/cjs/Schema-B0D7LgYb.js.map +0 -1
  312. package/dist/cjs/SchemaValidationService-DUIOUvC_.js.map +0 -1
  313. package/dist/cjs/getPublishPayload-B90BFd8m.js +0 -520
  314. package/dist/cjs/getPublishPayload-B90BFd8m.js.map +0 -1
  315. package/dist/cjs/getPublishUploads-D4DMfuOm.js.map +0 -1
  316. package/dist/cjs/getSegmentedItemProperties-KdudlzXm.js +0 -71
  317. package/dist/cjs/getSegmentedItemProperties-KdudlzXm.js.map +0 -1
  318. package/dist/cjs/index-BM8CSlnN.js.map +0 -1
  319. package/dist/cjs/index-CUd7xS2i.js.map +0 -1
  320. package/dist/cjs/ownership-D3npAPnx.js.map +0 -1
  321. package/dist/getPublishPayload-BekDN5Ti.js +0 -503
  322. package/dist/getPublishPayload-BekDN5Ti.js.map +0 -1
  323. package/dist/getPublishUploads-DPk5RcAG.js.map +0 -1
  324. package/dist/getSegmentedItemProperties-DfQNbOpb.js +0 -69
  325. package/dist/getSegmentedItemProperties-DfQNbOpb.js.map +0 -1
  326. package/dist/index-DbmqfO-Q.js.map +0 -1
  327. package/dist/index-Dh_gxItx.js.map +0 -1
  328. package/dist/index-XBnjc_SF.js +0 -18
  329. package/dist/index-XBnjc_SF.js.map +0 -1
  330. package/dist/ownership-CEv7BhIh.js.map +0 -1
  331. package/dist/property-CppuVi-i.js.map +0 -1
  332. package/dist/src/browser/react/OPFSImage.d.ts +0 -7
  333. package/dist/src/browser/react/OPFSImage.d.ts.map +0 -1
  334. package/dist/src/browser/react/SeedImage.d.ts +0 -11
  335. package/dist/src/browser/react/SeedImage.d.ts.map +0 -1
  336. package/dist/src/browser/react/SeedProvider.d.ts +0 -30
  337. package/dist/src/browser/react/SeedProvider.d.ts.map +0 -1
  338. package/dist/src/browser/react/client.d.ts +0 -2
  339. package/dist/src/browser/react/client.d.ts.map +0 -1
  340. package/dist/src/browser/react/db.d.ts +0 -4
  341. package/dist/src/browser/react/db.d.ts.map +0 -1
  342. package/dist/src/browser/react/index.d.ts +0 -14
  343. package/dist/src/browser/react/index.d.ts.map +0 -1
  344. package/dist/src/browser/react/item.d.ts +0 -44
  345. package/dist/src/browser/react/item.d.ts.map +0 -1
  346. package/dist/src/browser/react/itemProperty.d.ts +0 -93
  347. package/dist/src/browser/react/itemProperty.d.ts.map +0 -1
  348. package/dist/src/browser/react/liveQuery.d.ts +0 -29
  349. package/dist/src/browser/react/liveQuery.d.ts.map +0 -1
  350. package/dist/src/browser/react/model.d.ts +0 -48
  351. package/dist/src/browser/react/model.d.ts.map +0 -1
  352. package/dist/src/browser/react/modelProperty.d.ts +0 -82
  353. package/dist/src/browser/react/modelProperty.d.ts.map +0 -1
  354. package/dist/src/browser/react/queryClient.d.ts +0 -28
  355. package/dist/src/browser/react/queryClient.d.ts.map +0 -1
  356. package/dist/src/browser/react/schema.d.ts +0 -45
  357. package/dist/src/browser/react/schema.d.ts.map +0 -1
  358. package/dist/src/browser/react/services.d.ts +0 -24
  359. package/dist/src/browser/react/services.d.ts.map +0 -1
  360. package/dist/src/browser/react/trash.d.ts +0 -9
  361. package/dist/src/browser/react/trash.d.ts.map +0 -1
  362. package/dist/src/browser/react/useImageFiles.d.ts +0 -19
  363. package/dist/src/browser/react/useImageFiles.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaValidationService-DUIOUvC_.js","sources":["../../../src/Schema/service/validation/SchemaValidationService.ts"],"sourcesContent":["import { Value } from '@sinclair/typebox/value'\nimport { TProperty } from '@/Schema'\nimport { ModelPropertyDataTypes, TPropertyDataType } from '@/helpers/property'\nimport { ValidationResult, ValidationError, ValidationRules } from '@/Schema/validation'\nimport { SchemaMachineContext } from '../schemaMachine'\nimport { ModelPropertyMachineContext } from '@/ModelProperty/service/modelPropertyMachine'\nimport { ModelMachineContext } from '@/Model/service/modelMachine'\nimport { Type, TSchema, TUnion, TLiteral } from '@sinclair/typebox'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:schema:validation')\n\n/**\n * Service for validating schemas, models, and properties using TypeBox\n */\nexport class SchemaValidationService {\n /**\n * Enhance TypeBox error message with expected values for union/literal types\n */\n private enhanceErrorMessage(\n error: any,\n schema: TSchema,\n fieldPath: string\n ): string {\n const originalMessage = error.message || 'Validation failed'\n \n // Handle Union type errors (like TPropertyDataType)\n if (error.type === 'Union' || originalMessage.includes('union')) {\n const expectedValues = this.extractExpectedValues(schema, fieldPath)\n if (expectedValues.length > 0) {\n return `Expected one of: ${expectedValues.join(', ')}. Received: ${JSON.stringify(error.value)}`\n }\n }\n \n // Handle Literal type errors\n if (error.type === 'Literal') {\n const expectedValue = this.extractLiteralValue(schema, fieldPath)\n if (expectedValue !== undefined) {\n return `Expected: ${JSON.stringify(expectedValue)}. Received: ${JSON.stringify(error.value)}`\n }\n }\n \n // Return enhanced message with value info if available\n if (error.value !== undefined) {\n return `${originalMessage}. Received: ${JSON.stringify(error.value)}`\n }\n \n return originalMessage\n }\n\n /**\n * Extract expected values from a schema for a given field path\n */\n private extractExpectedValues(schema: TSchema | null, fieldPath: string): string[] {\n try {\n // Handle TProperty schema - check if this is the dataType field\n if (fieldPath === '/dataType' || fieldPath.endsWith('/dataType')) {\n // Return all ModelPropertyDataTypes enum values\n return Object.values(ModelPropertyDataTypes) as string[]\n }\n \n // Handle TStorageType\n if (fieldPath === '/storageType' || fieldPath.endsWith('/storageType')) {\n return ['ItemStorage', 'PropertyStorage']\n }\n \n // If we have a schema, try to extract from it\n if (!schema) {\n return []\n }\n \n // Try to extract from TypeBox Union type using the schema directly\n const schemaObj = schema as any\n const kind = schemaObj[Symbol.for('TypeBox.Kind')]\n \n if (kind === 'Union') {\n const union = schemaObj as TUnion<any>\n const anyOf = union.anyOf || []\n const values: string[] = []\n \n for (const item of anyOf) {\n const itemKind = item?.[Symbol.for('TypeBox.Kind')]\n if (itemKind === 'Literal') {\n const literal = item as TLiteral<any>\n if (literal.const !== undefined) {\n values.push(String(literal.const))\n }\n }\n }\n \n if (values.length > 0) {\n return values\n }\n }\n \n // Fallback: try to extract from JSON schema format\n if (typeof schema === 'object' && 'anyOf' in schema) {\n const union = schema as any\n if (Array.isArray(union.anyOf)) {\n return union.anyOf\n .map((item: any) => {\n if (item.const !== undefined) return String(item.const)\n if (item.enum && Array.isArray(item.enum)) return item.enum.map(String)\n return null\n })\n .filter((val: any) => val !== null)\n .flat()\n .map(String)\n }\n }\n } catch (error) {\n logger('Error extracting expected values:', error)\n }\n \n return []\n }\n\n /**\n * Extract literal value from a schema\n */\n private extractLiteralValue(schema: TSchema, fieldPath: string): any {\n try {\n if (schema && typeof schema === 'object') {\n const schemaObj = schema as any\n if (schemaObj[Symbol.for('TypeBox.Kind')] === 'Literal') {\n return (schemaObj as TLiteral<any>).const\n }\n if (schemaObj.const !== undefined) {\n return schemaObj.const\n }\n }\n } catch (error) {\n logger('Error extracting literal value:', error)\n }\n \n return undefined\n }\n\n /**\n * Get the schema for a specific field path\n */\n private getSchemaForField(schema: TSchema, fieldPath: string): TSchema | null {\n try {\n if (!schema || typeof schema !== 'object') return null\n \n // Remove leading slash\n const path = fieldPath.replace(/^\\//, '')\n if (!path) return schema\n \n const schemaObj = schema as any\n const kind = schemaObj[Symbol.for('TypeBox.Kind')]\n \n // For TProperty (Object type), check properties\n if (kind === 'Object') {\n const properties = schemaObj.properties\n if (properties && properties[path]) {\n return properties[path]\n }\n }\n \n // Special handling for known fields - return the actual schema\n if (path === 'dataType') {\n return TPropertyDataType as TSchema\n }\n \n // Fallback: check if schema has the property\n if (path in schemaObj) {\n return schemaObj[path]\n }\n } catch (error) {\n logger('Error getting schema for field:', error)\n }\n \n return null\n }\n\n /**\n * Validate a property structure against TProperty schema\n */\n validatePropertyStructure(\n property: ModelPropertyMachineContext\n ): ValidationResult {\n try {\n const isValid = Value.Check(TProperty, property)\n \n const errors: ValidationError[] = []\n \n if (!isValid) {\n const typeBoxErrors = [...Value.Errors(TProperty, property)]\n errors.push(...typeBoxErrors.map(err => {\n const fieldPath = err.path || 'unknown'\n const fieldSchema = this.getSchemaForField(TProperty, fieldPath)\n const enhancedMessage = this.enhanceErrorMessage(err, fieldSchema || TProperty, fieldPath)\n \n return {\n field: fieldPath,\n message: enhancedMessage,\n code: String(err.type || 'validation_error'),\n severity: 'error' as const,\n }\n }))\n }\n \n // Non-List types: refValueType is only valid for Relation+Image (related entity type). Reject otherwise.\n const nonListTypes = [\n ModelPropertyDataTypes.Text,\n ModelPropertyDataTypes.Number,\n ModelPropertyDataTypes.Boolean,\n ModelPropertyDataTypes.Date,\n ModelPropertyDataTypes.Json,\n ModelPropertyDataTypes.Image,\n ModelPropertyDataTypes.File,\n ModelPropertyDataTypes.Html,\n ModelPropertyDataTypes.Relation,\n ]\n if (nonListTypes.includes(property.dataType as ModelPropertyDataTypes)) {\n const hasRefValueType = property.refValueType != null && String(property.refValueType).trim() !== ''\n if (hasRefValueType) {\n // Relation may keep refValueType only for Image (relation to Image entity)\n if (property.dataType === ModelPropertyDataTypes.Relation && property.refValueType === ModelPropertyDataTypes.Image) {\n // Allowed: Relation to Image\n } else {\n errors.push({\n field: 'refValueType',\n message: `refValueType is only valid for List properties. Use dataType 'List' with refValueType '${property.refValueType}' for lists of ${property.refValueType}.`,\n code: 'invalid_ref_value_type',\n severity: 'error' as const,\n })\n }\n }\n }\n\n // List: refValueType is required\n if (property.dataType === ModelPropertyDataTypes.List) {\n const hasRefValueType = property.refValueType != null && String(property.refValueType).trim() !== ''\n if (!hasRefValueType) {\n errors.push({\n field: 'refValueType',\n message: `List properties require refValueType (e.g. 'Text', 'Number', 'Relation') to specify the element type.`,\n code: 'missing_ref_value_type',\n severity: 'error' as const,\n })\n }\n // List of relations: ref is required\n if (hasRefValueType && property.refValueType === ModelPropertyDataTypes.Relation) {\n const hasRef = property.ref && property.ref.trim() !== ''\n const hasRefModelName = property.refModelName && property.refModelName.trim() !== ''\n const hasRefModelId = property.refModelId !== undefined && property.refModelId !== null\n if (!hasRef && !hasRefModelName && !hasRefModelId) {\n errors.push({\n field: 'ref',\n message: `List properties with refValueType 'Relation' require either a \"ref\", \"refModelName\", or \"refModelId\" field to be defined`,\n code: 'missing_ref',\n severity: 'error' as const,\n })\n }\n }\n }\n\n // Relation (single): ref is required\n if (property.dataType === ModelPropertyDataTypes.Relation) {\n const hasRef = property.ref && property.ref.trim() !== ''\n const hasRefModelName = property.refModelName && property.refModelName.trim() !== ''\n const hasRefModelId = property.refModelId !== undefined && property.refModelId !== null\n if (!hasRef && !hasRefModelName && !hasRefModelId) {\n errors.push({\n field: 'ref',\n message: `Property with dataType \"Relation\" requires either a \"ref\", \"refModelName\", or \"refModelId\" field to be defined`,\n code: 'missing_ref',\n severity: 'error' as const,\n })\n }\n if ((hasRef || hasRefModelName) && !hasRefModelId) {\n logger(`Property \"${property.name}\" has ref/refModelName but no refModelId - will be resolved asynchronously`)\n }\n }\n \n return {\n isValid: errors.length === 0,\n errors,\n }\n } catch (error) {\n logger('Error validating property structure:', error)\n return {\n isValid: false,\n errors: [{\n field: 'property',\n message: error instanceof Error ? error.message : 'Unknown validation error',\n code: 'validation_exception',\n severity: 'error' as const,\n }],\n }\n }\n }\n\n /**\n * Validate a property value against its validation rules\n */\n validatePropertyValue(\n value: any,\n dataType: ModelPropertyDataTypes,\n validationRules?: ValidationRules\n ): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationError[] = []\n\n try {\n // Array values are only allowed for List properties\n if (dataType !== ModelPropertyDataTypes.List && Array.isArray(value)) {\n errors.push({\n field: 'value',\n message: 'Array values are only allowed for List properties. Use dataType \"List\" with refValueType to store multiple values.',\n code: 'array_not_allowed',\n severity: 'error' as const,\n })\n }\n\n // Build base TypeBox schema from dataType\n let schema: TSchema = this.getBaseSchemaForDataType(dataType)\n\n // Apply validation rules\n if (validationRules) {\n schema = this.applyValidationRules(schema, dataType, validationRules)\n }\n\n // Validate using TypeBox\n const isValid = Value.Check(schema, value)\n \n if (!isValid) {\n const typeBoxErrors = [...Value.Errors(schema, value)]\n errors.push(...typeBoxErrors.map(err => {\n const fieldPath = err.path || 'value'\n const enhancedMessage = this.enhanceErrorMessage(err, schema, fieldPath)\n \n return {\n field: fieldPath,\n message: enhancedMessage,\n code: String(err.type || 'value_validation_error'),\n severity: 'error' as const,\n }\n }))\n }\n\n // Additional custom validations\n if (validationRules) {\n const customErrors = this.validateCustomRules(value, validationRules)\n errors.push(...customErrors)\n }\n\n return {\n isValid: errors.length === 0,\n errors,\n warnings: warnings.length > 0 ? warnings : undefined,\n }\n } catch (error) {\n logger('Error validating property value:', error)\n return {\n isValid: false,\n errors: [{\n field: 'value',\n message: error instanceof Error ? error.message : 'Unknown validation error',\n code: 'validation_exception',\n severity: 'error' as const,\n }],\n }\n }\n }\n\n /**\n * Validate a specific property within a schema\n */\n validateProperty(\n schema: SchemaMachineContext,\n modelName: string,\n propertyName: string,\n propertyData?: ModelPropertyMachineContext\n ): ValidationResult {\n const errors: ValidationError[] = []\n\n // Check if model exists\n if (!schema.models || !schema.models[modelName]) {\n errors.push({\n field: 'model',\n message: `Model \"${modelName}\" not found in schema`,\n code: 'model_not_found',\n severity: 'error' as const,\n })\n return { isValid: false, errors }\n }\n\n const model = schema.models[modelName]\n\n // Check if property exists in model\n // If the property name has changed (renamed), check if the original name exists\n let propertyDefinition = model.properties?.[propertyName]\n let actualPropertyName = propertyName\n \n if (!propertyDefinition && propertyData?._originalValues?.name) {\n const originalName = propertyData._originalValues.name\n // If the current name differs from the original, check if original exists\n if (originalName !== propertyName && model.properties?.[originalName]) {\n propertyDefinition = model.properties[originalName]\n actualPropertyName = originalName\n // Property is being renamed, which is allowed - continue validation\n }\n }\n \n if (!propertyDefinition) {\n errors.push({\n field: 'property',\n message: `Property \"${propertyName}\" not found in model \"${modelName}\"`,\n code: 'property_not_found',\n severity: 'error' as const,\n })\n return { isValid: false, errors }\n }\n\n // If propertyData is provided, validate its structure\n if (propertyData) {\n const structureResult = this.validatePropertyStructure(propertyData)\n errors.push(...structureResult.errors)\n }\n\n // Validate property definition structure\n if (!propertyDefinition.type) {\n errors.push({\n field: 'property.type',\n message: 'Property type is required',\n code: 'missing_type',\n severity: 'error' as const,\n })\n }\n\n // Validate Relation: requires model\n if (propertyDefinition.type === 'Relation') {\n if (!propertyDefinition.model || propertyDefinition.model.trim() === '') {\n errors.push({\n field: 'property.model',\n message: `Property with type \"Relation\" requires a \"model\" field to be defined`,\n code: 'missing_ref',\n severity: 'error' as const,\n })\n } else if (!schema.models[propertyDefinition.model]) {\n errors.push({\n field: 'property.model',\n message: `Referenced model \"${propertyDefinition.model}\" not found in schema`,\n code: 'invalid_reference',\n severity: 'error' as const,\n })\n }\n }\n\n // Validate List: requires items with type; model required only when items.type === 'Relation'\n if (propertyDefinition.type === 'List') {\n const items = (propertyDefinition as any).items\n if (!items || !items.type) {\n errors.push({\n field: 'property.items',\n message: 'List properties require \"items\" with \"type\" (e.g. items: { type: \"Text\" } or items: { type: \"Relation\", model: \"Tag\" })',\n code: 'missing_items',\n severity: 'error' as const,\n })\n } else if (items.type === 'Relation' || items.type === 'RelationProperty') {\n const model = items.model || propertyDefinition.model\n if (!model || String(model).trim() === '') {\n errors.push({\n field: 'property.items.model',\n message: 'List of relations requires \"items.model\" to specify the related model',\n code: 'missing_ref',\n severity: 'error' as const,\n })\n } else if (schema.models && !schema.models[model]) {\n errors.push({\n field: 'property.items.model',\n message: `Referenced model \"${model}\" not found in schema`,\n code: 'invalid_reference',\n severity: 'error' as const,\n })\n }\n }\n }\n\n return {\n isValid: errors.length === 0,\n errors,\n }\n }\n\n /**\n * Validate model structure (basic structure checks)\n */\n validateModelStructure(\n model: ModelMachineContext & { properties?: { [key: string]: any } }\n ): ValidationResult {\n const errors: ValidationError[] = []\n\n // Validate model name\n if (!model.modelName || model.modelName.trim() === '') {\n errors.push({\n field: 'modelName',\n message: 'Model name is required',\n code: 'missing_model_name',\n severity: 'error' as const,\n })\n }\n\n // Validate schema name\n if (!model.schemaName || model.schemaName.trim() === '') {\n errors.push({\n field: 'schemaName',\n message: 'Schema name is required',\n code: 'missing_schema_name',\n severity: 'error' as const,\n })\n }\n\n // Validate properties is an object\n if (model.properties && typeof model.properties !== 'object') {\n errors.push({\n field: 'properties',\n message: 'Properties must be an object',\n code: 'invalid_properties',\n severity: 'error' as const,\n })\n }\n\n return {\n isValid: errors.length === 0,\n errors,\n }\n }\n\n /**\n * Validate a model against a schema WITHOUT requiring it to be in the schema's context\n * This allows validation before registration, preventing update loops\n */\n validateModelAgainstSchema(\n schema: SchemaMachineContext,\n modelName: string,\n modelData: ModelMachineContext & { properties?: { [key: string]: any } }\n ): ValidationResult {\n const errors: ValidationError[] = []\n\n // Create a temporary schema context that includes this model for validation purposes\n // This allows validateProperty to work without actually adding the model to the real schema\n const tempSchemaContext: SchemaMachineContext = {\n ...schema,\n models: {\n ...schema.models,\n [modelName]: {\n properties: modelData.properties || {},\n },\n },\n }\n\n // Use validateModel which now works because the model is in the temp context\n return this.validateModel(tempSchemaContext, modelName, modelData)\n }\n\n /**\n * Validate a model within a schema (requires model to already be in schema context)\n */\n validateModel(\n schema: SchemaMachineContext,\n modelName: string,\n modelData?: ModelMachineContext\n ): ValidationResult {\n const errors: ValidationError[] = []\n\n if (!schema.models || !schema.models[modelName]) {\n errors.push({\n field: 'model',\n message: `Model \"${modelName}\" not found in schema`,\n code: 'model_not_found',\n severity: 'error' as const,\n })\n return { isValid: false, errors }\n }\n\n const model = schema.models[modelName]\n\n // Validate all properties in the model\n if (model.properties) {\n for (const [propertyName, propertyDef] of Object.entries(model.properties)) {\n const propertyResult = this.validateProperty(schema, modelName, propertyName)\n if (!propertyResult.isValid) {\n errors.push(...propertyResult.errors.map(err => ({\n ...err,\n field: `${modelName}.${propertyName}.${err.field}`,\n })))\n }\n }\n }\n\n return {\n isValid: errors.length === 0,\n errors,\n }\n }\n\n /**\n * Validate entire schema\n */\n validateSchema(schema: SchemaMachineContext): ValidationResult {\n const errors: ValidationError[] = []\n\n // Validate schema name\n if (!schema.schemaName || schema.schemaName.trim() === '') {\n errors.push({\n field: 'schemaName',\n message: 'Schema name is required',\n code: 'missing_schema_name',\n severity: 'error' as const,\n })\n }\n\n // Validate metadata\n if (!schema.metadata) {\n errors.push({\n field: 'metadata',\n message: 'Schema metadata is required',\n code: 'missing_metadata',\n severity: 'error' as const,\n })\n } else {\n if (!schema.metadata.name || schema.metadata.name.trim() === '') {\n errors.push({\n field: 'metadata.name',\n message: 'Schema metadata name is required',\n code: 'missing_metadata_name',\n severity: 'error' as const,\n })\n }\n }\n\n // Validate models if they exist\n if (schema.models && Object.keys(schema.models).length > 0) {\n // Validate each model\n for (const modelName of Object.keys(schema.models)) {\n const modelResult = this.validateModel(schema, modelName)\n if (!modelResult.isValid) {\n errors.push(...modelResult.errors)\n }\n }\n }\n\n return {\n isValid: errors.length === 0,\n errors,\n }\n }\n\n /**\n * Get base TypeBox schema for a data type\n */\n private getBaseSchemaForDataType(dataType: ModelPropertyDataTypes): TSchema {\n switch (dataType) {\n case ModelPropertyDataTypes.Text:\n case ModelPropertyDataTypes.Html:\n return Type.String()\n case ModelPropertyDataTypes.Number:\n return Type.Number()\n case ModelPropertyDataTypes.Boolean:\n return Type.Boolean()\n case ModelPropertyDataTypes.Date:\n return Type.String({ format: 'date-time' })\n case ModelPropertyDataTypes.Json:\n return Type.Any()\n case ModelPropertyDataTypes.List:\n return Type.Array(Type.Any())\n case ModelPropertyDataTypes.Relation:\n case ModelPropertyDataTypes.Image:\n case ModelPropertyDataTypes.File:\n return Type.Union([Type.String(), Type.Null()])\n default:\n return Type.Any()\n }\n }\n\n /**\n * Apply validation rules to a TypeBox schema\n */\n private applyValidationRules(\n schema: TSchema,\n dataType: ModelPropertyDataTypes,\n rules: ValidationRules\n ): TSchema {\n let result = schema\n\n // Apply pattern (regex) for strings\n if (rules.pattern && (dataType === ModelPropertyDataTypes.Text || dataType === ModelPropertyDataTypes.Html)) {\n try {\n const regex = new RegExp(rules.pattern)\n result = Type.RegExp(regex)\n } catch (error) {\n logger('Invalid regex pattern:', rules.pattern, error)\n }\n }\n\n // Apply minLength/maxLength for strings\n if (dataType === ModelPropertyDataTypes.Text || dataType === ModelPropertyDataTypes.Html) {\n const stringSchema = Type.String()\n if (rules.minLength !== undefined) {\n result = Type.String({ minLength: rules.minLength })\n }\n if (rules.maxLength !== undefined) {\n if (rules.minLength !== undefined) {\n result = Type.String({ minLength: rules.minLength, maxLength: rules.maxLength })\n } else {\n result = Type.String({ maxLength: rules.maxLength })\n }\n }\n }\n\n // Apply enum\n if (rules.enum && Array.isArray(rules.enum) && rules.enum.length > 0) {\n result = Type.Union(rules.enum.map(val => Type.Literal(val)))\n }\n\n return result\n }\n\n /**\n * Validate custom validation rules\n */\n private validateCustomRules(\n value: any,\n rules: ValidationRules\n ): ValidationError[] {\n const errors: ValidationError[] = []\n\n // Custom validator reference (would need to be implemented based on your needs)\n if (rules.custom) {\n // TODO: Implement custom validator lookup and execution\n logger('Custom validator not yet implemented:', rules.custom)\n }\n\n return errors\n }\n}\n\n"],"names":["ModelPropertyDataTypes","TPropertyDataType","Value","TProperty","value","Type"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,MAAM,GAAG,KAAK,CAAC,2BAA2B,CAAC;AAEjD;;AAEG;MACU,uBAAuB,CAAA;AAClC;;AAEG;AACK,IAAA,mBAAmB,CACzB,KAAU,EACV,MAAe,EACf,SAAiB,EAAA;AAEjB,QAAA,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,IAAI,mBAAmB;;AAG5D,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC;AACpE,YAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,gBAAA,OAAO,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAClG;QACF;;AAGA,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC;AACjE,YAAA,IAAI,aAAa,KAAK,SAAS,EAAE;AAC/B,gBAAA,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/F;QACF;;AAGA,QAAA,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;AAC7B,YAAA,OAAO,CAAA,EAAG,eAAe,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,CAAE;QACvE;AAEA,QAAA,OAAO,eAAe;IACxB;AAEA;;AAEG;IACK,qBAAqB,CAAC,MAAsB,EAAE,SAAiB,EAAA;AACrE,QAAA,IAAI;;YAEF,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;;AAEhE,gBAAA,OAAO,MAAM,CAAC,MAAM,CAACA,+BAAsB,CAAa;YAC1D;;YAGA,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AACtE,gBAAA,OAAO,CAAC,aAAa,EAAE,iBAAiB,CAAC;YAC3C;;YAGA,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,OAAO,EAAE;YACX;;YAGA,MAAM,SAAS,GAAG,MAAa;YAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAElD,YAAA,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,MAAM,KAAK,GAAG,SAAwB;AACtC,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,MAAM,GAAa,EAAE;AAE3B,gBAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,oBAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACnD,oBAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;wBAC1B,MAAM,OAAO,GAAG,IAAqB;AACrC,wBAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;4BAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACpC;oBACF;gBACF;AAEA,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,oBAAA,OAAO,MAAM;gBACf;YACF;;YAGA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE;gBACnD,MAAM,KAAK,GAAG,MAAa;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC9B,OAAO,KAAK,CAAC;AACV,yBAAA,GAAG,CAAC,CAAC,IAAS,KAAI;AACjB,wBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;AAAE,4BAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;wBACvD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;4BAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACvE,wBAAA,OAAO,IAAI;AACb,oBAAA,CAAC;yBACA,MAAM,CAAC,CAAC,GAAQ,KAAK,GAAG,KAAK,IAAI;AACjC,yBAAA,IAAI;yBACJ,GAAG,CAAC,MAAM,CAAC;gBAChB;YACF;QACF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,mCAAmC,EAAE,KAAK,CAAC;QACpD;AAEA,QAAA,OAAO,EAAE;IACX;AAEA;;AAEG;IACK,mBAAmB,CAAC,MAAe,EAAE,SAAiB,EAAA;AAC5D,QAAA,IAAI;AACF,YAAA,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBACxC,MAAM,SAAS,GAAG,MAAa;AAC/B,gBAAA,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,SAAS,EAAE;oBACvD,OAAQ,SAA2B,CAAC,KAAK;gBAC3C;AACA,gBAAA,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE;oBACjC,OAAO,SAAS,CAAC,KAAK;gBACxB;YACF;QACF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,iCAAiC,EAAE,KAAK,CAAC;QAClD;AAEA,QAAA,OAAO,SAAS;IAClB;AAEA;;AAEG;IACK,iBAAiB,CAAC,MAAe,EAAE,SAAiB,EAAA;AAC1D,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;AAAE,gBAAA,OAAO,IAAI;;YAGtD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACzC,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,MAAM;YAExB,MAAM,SAAS,GAAG,MAAa;YAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;;AAGlD,YAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACrB,gBAAA,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU;AACvC,gBAAA,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAClC,oBAAA,OAAO,UAAU,CAAC,IAAI,CAAC;gBACzB;YACF;;AAGA,YAAA,IAAI,IAAI,KAAK,UAAU,EAAE;AACvB,gBAAA,OAAOC,0BAA4B;YACrC;;AAGA,YAAA,IAAI,IAAI,IAAI,SAAS,EAAE;AACrB,gBAAA,OAAO,SAAS,CAAC,IAAI,CAAC;YACxB;QACF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,iCAAiC,EAAE,KAAK,CAAC;QAClD;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACH,IAAA,yBAAyB,CACvB,QAAqC,EAAA;AAErC,QAAA,IAAI;YACF,MAAM,OAAO,GAAGC,WAAK,CAAC,KAAK,CAACC,kBAAS,EAAE,QAAQ,CAAC;YAEhD,MAAM,MAAM,GAAsB,EAAE;YAEpC,IAAI,CAAC,OAAO,EAAE;AACZ,gBAAA,MAAM,aAAa,GAAG,CAAC,GAAGD,WAAK,CAAC,MAAM,CAACC,kBAAS,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;AACrC,oBAAA,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS;oBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAACA,kBAAS,EAAE,SAAS,CAAC;AAChE,oBAAA,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,WAAW,IAAIA,kBAAS,EAAE,SAAS,CAAC;oBAE1F,OAAO;AACL,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,OAAO,EAAE,eAAe;wBACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,kBAAkB,CAAC;AAC5C,wBAAA,QAAQ,EAAE,OAAgB;qBAC3B;gBACH,CAAC,CAAC,CAAC;YACL;;AAGA,YAAA,MAAM,YAAY,GAAG;AACnB,gBAAAH,+BAAsB,CAAC,IAAI;AAC3B,gBAAAA,+BAAsB,CAAC,MAAM;AAC7B,gBAAAA,+BAAsB,CAAC,OAAO;AAC9B,gBAAAA,+BAAsB,CAAC,IAAI;AAC3B,gBAAAA,+BAAsB,CAAC,IAAI;AAC3B,gBAAAA,+BAAsB,CAAC,KAAK;AAC5B,gBAAAA,+BAAsB,CAAC,IAAI;AAC3B,gBAAAA,+BAAsB,CAAC,IAAI;AAC3B,gBAAAA,+BAAsB,CAAC,QAAQ;aAChC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAkC,CAAC,EAAE;AACtE,gBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBACpG,IAAI,eAAe,EAAE;;AAEnB,oBAAA,IAAI,QAAQ,CAAC,QAAQ,KAAKA,+BAAsB,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAKA,+BAAsB,CAAC,KAAK,EAAE;;oBAErH;yBAAO;wBACL,MAAM,CAAC,IAAI,CAAC;AACV,4BAAA,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,0FAA0F,QAAQ,CAAC,YAAY,CAAA,eAAA,EAAkB,QAAQ,CAAC,YAAY,CAAA,CAAA,CAAG;AAClK,4BAAA,IAAI,EAAE,wBAAwB;AAC9B,4BAAA,QAAQ,EAAE,OAAgB;AAC3B,yBAAA,CAAC;oBACJ;gBACF;YACF;;YAGA,IAAI,QAAQ,CAAC,QAAQ,KAAKA,+BAAsB,CAAC,IAAI,EAAE;AACrD,gBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBACpG,IAAI,CAAC,eAAe,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC;AACV,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,OAAO,EAAE,CAAA,qGAAA,CAAuG;AAChH,wBAAA,IAAI,EAAE,wBAAwB;AAC9B,wBAAA,QAAQ,EAAE,OAAgB;AAC3B,qBAAA,CAAC;gBACJ;;gBAEA,IAAI,eAAe,IAAI,QAAQ,CAAC,YAAY,KAAKA,+BAAsB,CAAC,QAAQ,EAAE;AAChF,oBAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;AACzD,oBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;AACpF,oBAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI;oBACvF,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE;wBACjD,MAAM,CAAC,IAAI,CAAC;AACV,4BAAA,KAAK,EAAE,KAAK;AACZ,4BAAA,OAAO,EAAE,CAAA,wHAAA,CAA0H;AACnI,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,QAAQ,EAAE,OAAgB;AAC3B,yBAAA,CAAC;oBACJ;gBACF;YACF;;YAGA,IAAI,QAAQ,CAAC,QAAQ,KAAKA,+BAAsB,CAAC,QAAQ,EAAE;AACzD,gBAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;AACzD,gBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;AACpF,gBAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI;gBACvF,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE;oBACjD,MAAM,CAAC,IAAI,CAAC;AACV,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,OAAO,EAAE,CAAA,8GAAA,CAAgH;AACzH,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,QAAQ,EAAE,OAAgB;AAC3B,qBAAA,CAAC;gBACJ;gBACA,IAAI,CAAC,MAAM,IAAI,eAAe,KAAK,CAAC,aAAa,EAAE;AACjD,oBAAA,MAAM,CAAC,CAAA,UAAA,EAAa,QAAQ,CAAC,IAAI,CAAA,0EAAA,CAA4E,CAAC;gBAChH;YACF;YAEA,OAAO;AACL,gBAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC5B,MAAM;aACP;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,sCAAsC,EAAE,KAAK,CAAC;YACrD,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,MAAM,EAAE,CAAC;AACP,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,0BAA0B;AAC5E,wBAAA,IAAI,EAAE,sBAAsB;AAC5B,wBAAA,QAAQ,EAAE,OAAgB;qBAC3B,CAAC;aACH;QACH;IACF;AAEA;;AAEG;AACH,IAAA,qBAAqB,CACnBI,OAAU,EACV,QAAgC,EAChC,eAAiC,EAAA;QAEjC,MAAM,MAAM,GAAsB,EAAE;QACpC,MAAM,QAAQ,GAAsB,EAAE;AAEtC,QAAA,IAAI;;AAEF,YAAA,IAAI,QAAQ,KAAKJ,+BAAsB,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAACI,OAAK,CAAC,EAAE;gBACpE,MAAM,CAAC,IAAI,CAAC;AACV,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,OAAO,EAAE,oHAAoH;AAC7H,oBAAA,IAAI,EAAE,mBAAmB;AACzB,oBAAA,QAAQ,EAAE,OAAgB;AAC3B,iBAAA,CAAC;YACJ;;YAGA,IAAI,MAAM,GAAY,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;;YAG7D,IAAI,eAAe,EAAE;gBACnB,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC;YACvE;;YAGA,MAAM,OAAO,GAAGF,WAAK,CAAC,KAAK,CAAC,MAAM,EAAEE,OAAK,CAAC;YAE1C,IAAI,CAAC,OAAO,EAAE;AACZ,gBAAA,MAAM,aAAa,GAAG,CAAC,GAAGF,WAAK,CAAC,MAAM,CAAC,MAAM,EAAEE,OAAK,CAAC,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;AACrC,oBAAA,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO;AACrC,oBAAA,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;oBAExE,OAAO;AACL,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,OAAO,EAAE,eAAe;wBACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC;AAClD,wBAAA,QAAQ,EAAE,OAAgB;qBAC3B;gBACH,CAAC,CAAC,CAAC;YACL;;YAGA,IAAI,eAAe,EAAE;gBACnB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAACA,OAAK,EAAE,eAAe,CAAC;AACrE,gBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;YAC9B;YAEA,OAAO;AACL,gBAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC5B,MAAM;AACN,gBAAA,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS;aACrD;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,kCAAkC,EAAE,KAAK,CAAC;YACjD,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,MAAM,EAAE,CAAC;AACP,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,0BAA0B;AAC5E,wBAAA,IAAI,EAAE,sBAAsB;AAC5B,wBAAA,QAAQ,EAAE,OAAgB;qBAC3B,CAAC;aACH;QACH;IACF;AAEA;;AAEG;AACH,IAAA,gBAAgB,CACd,MAA4B,EAC5B,SAAiB,EACjB,YAAoB,EACpB,YAA0C,EAAA;QAE1C,MAAM,MAAM,GAAsB,EAAE;;AAGpC,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC/C,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,CAAA,OAAA,EAAU,SAAS,CAAA,qBAAA,CAAuB;AACnD,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC;QAEA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;;QAItC,IAAI,kBAAkB,GAAG,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC;QAGzD,IAAI,CAAC,kBAAkB,IAAI,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE;AAC9D,YAAA,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI;;AAEtD,YAAA,IAAI,YAAY,KAAK,YAAY,IAAI,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE;AACrE,gBAAA,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;;YAGrD;QACF;QAEA,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,OAAO,EAAE,CAAA,UAAA,EAAa,YAAY,CAAA,sBAAA,EAAyB,SAAS,CAAA,CAAA,CAAG;AACvE,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC;;QAGA,IAAI,YAAY,EAAE;YAChB,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;QACxC;;AAGA,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,eAAe;AACtB,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;QACJ;;AAGA,QAAA,IAAI,kBAAkB,CAAC,IAAI,KAAK,UAAU,EAAE;AAC1C,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,CAAC,IAAI,CAAC;AACV,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,OAAO,EAAE,CAAA,oEAAA,CAAsE;AAC/E,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,QAAQ,EAAE,OAAgB;AAC3B,iBAAA,CAAC;YACJ;iBAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBACnD,MAAM,CAAC,IAAI,CAAC;AACV,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,OAAO,EAAE,CAAA,kBAAA,EAAqB,kBAAkB,CAAC,KAAK,CAAA,qBAAA,CAAuB;AAC7E,oBAAA,IAAI,EAAE,mBAAmB;AACzB,oBAAA,QAAQ,EAAE,OAAgB;AAC3B,iBAAA,CAAC;YACJ;QACF;;AAGA,QAAA,IAAI,kBAAkB,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,YAAA,MAAM,KAAK,GAAI,kBAA0B,CAAC,KAAK;YAC/C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACzB,MAAM,CAAC,IAAI,CAAC;AACV,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,OAAO,EAAE,yHAAyH;AAClI,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,QAAQ,EAAE,OAAgB;AAC3B,iBAAA,CAAC;YACJ;AAAO,iBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;gBACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK;AACrD,gBAAA,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACzC,MAAM,CAAC,IAAI,CAAC;AACV,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,OAAO,EAAE,uEAAuE;AAChF,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,QAAQ,EAAE,OAAgB;AAC3B,qBAAA,CAAC;gBACJ;AAAO,qBAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACjD,MAAM,CAAC,IAAI,CAAC;AACV,wBAAA,KAAK,EAAE,sBAAsB;wBAC7B,OAAO,EAAE,CAAA,kBAAA,EAAqB,KAAK,CAAA,qBAAA,CAAuB;AAC1D,wBAAA,IAAI,EAAE,mBAAmB;AACzB,wBAAA,QAAQ,EAAE,OAAgB;AAC3B,qBAAA,CAAC;gBACJ;YACF;QACF;QAEA,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;SACP;IACH;AAEA;;AAEG;AACH,IAAA,sBAAsB,CACpB,KAAoE,EAAA;QAEpE,MAAM,MAAM,GAAsB,EAAE;;AAGpC,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,OAAO,EAAE,wBAAwB;AACjC,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;QACJ;;AAGA,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,YAAY;AACnB,gBAAA,OAAO,EAAE,yBAAyB;AAClC,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;QACJ;;QAGA,IAAI,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC5D,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,YAAY;AACnB,gBAAA,OAAO,EAAE,8BAA8B;AACvC,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;QACJ;QAEA,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;SACP;IACH;AAEA;;;AAGG;AACH,IAAA,0BAA0B,CACxB,MAA4B,EAC5B,SAAiB,EACjB,SAAwE,EAAA;;;AAMxE,QAAA,MAAM,iBAAiB,GAAyB;AAC9C,YAAA,GAAG,MAAM;AACT,YAAA,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,CAAC,SAAS,GAAG;AACX,oBAAA,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;AACvC,iBAAA;AACF,aAAA;SACF;;QAGD,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;IACpE;AAEA;;AAEG;AACH,IAAA,aAAa,CACX,MAA4B,EAC5B,SAAiB,EACjB,SAA+B,EAAA;QAE/B,MAAM,MAAM,GAAsB,EAAE;AAEpC,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC/C,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,CAAA,OAAA,EAAU,SAAS,CAAA,qBAAA,CAAuB;AACnD,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC;QAEA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;AAGtC,QAAA,IAAI,KAAK,CAAC,UAAU,EAAE;AACpB,YAAA,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AAC1E,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC;AAC7E,gBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;AAC3B,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;AAC/C,wBAAA,GAAG,GAAG;wBACN,KAAK,EAAE,GAAG,SAAS,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA,EAAI,GAAG,CAAC,KAAK,CAAA,CAAE;qBACnD,CAAC,CAAC,CAAC;gBACN;YACF;QACF;QAEA,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;SACP;IACH;AAEA;;AAEG;AACH,IAAA,cAAc,CAAC,MAA4B,EAAA;QACzC,MAAM,MAAM,GAAsB,EAAE;;AAGpC,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzD,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,YAAY;AACnB,gBAAA,OAAO,EAAE,yBAAyB;AAClC,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;QACJ;;AAGA,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,QAAQ,EAAE,OAAgB;AAC3B,aAAA,CAAC;QACJ;aAAO;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC/D,MAAM,CAAC,IAAI,CAAC;AACV,oBAAA,KAAK,EAAE,eAAe;AACtB,oBAAA,OAAO,EAAE,kCAAkC;AAC3C,oBAAA,IAAI,EAAE,uBAAuB;AAC7B,oBAAA,QAAQ,EAAE,OAAgB;AAC3B,iBAAA,CAAC;YACJ;QACF;;AAGA,QAAA,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE1D,YAAA,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAClD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AACzD,gBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;gBACpC;YACF;QACF;QAEA,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;SACP;IACH;AAEA;;AAEG;AACK,IAAA,wBAAwB,CAAC,QAAgC,EAAA;QAC/D,QAAQ,QAAQ;YACd,KAAKJ,+BAAsB,CAAC,IAAI;YAChC,KAAKA,+BAAsB,CAAC,IAAI;AAC9B,gBAAA,OAAOK,YAAI,CAAC,MAAM,EAAE;YACtB,KAAKL,+BAAsB,CAAC,MAAM;AAChC,gBAAA,OAAOK,YAAI,CAAC,MAAM,EAAE;YACtB,KAAKL,+BAAsB,CAAC,OAAO;AACjC,gBAAA,OAAOK,YAAI,CAAC,OAAO,EAAE;YACvB,KAAKL,+BAAsB,CAAC,IAAI;gBAC9B,OAAOK,YAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAC7C,KAAKL,+BAAsB,CAAC,IAAI;AAC9B,gBAAA,OAAOK,YAAI,CAAC,GAAG,EAAE;YACnB,KAAKL,+BAAsB,CAAC,IAAI;gBAC9B,OAAOK,YAAI,CAAC,KAAK,CAACA,YAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAKL,+BAAsB,CAAC,QAAQ;YACpC,KAAKA,+BAAsB,CAAC,KAAK;YACjC,KAAKA,+BAAsB,CAAC,IAAI;AAC9B,gBAAA,OAAOK,YAAI,CAAC,KAAK,CAAC,CAACA,YAAI,CAAC,MAAM,EAAE,EAAEA,YAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,YAAA;AACE,gBAAA,OAAOA,YAAI,CAAC,GAAG,EAAE;;IAEvB;AAEA;;AAEG;AACK,IAAA,oBAAoB,CAC1B,MAAe,EACf,QAAgC,EAChC,KAAsB,EAAA;QAEtB,IAAI,MAAM,GAAG,MAAM;;AAGnB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,KAAKL,+BAAsB,CAAC,IAAI,IAAI,QAAQ,KAAKA,+BAAsB,CAAC,IAAI,CAAC,EAAE;AAC3G,YAAA,IAAI;gBACF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;AACvC,gBAAA,MAAM,GAAGK,YAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7B;YAAE,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;YACxD;QACF;;AAGA,QAAA,IAAI,QAAQ,KAAKL,+BAAsB,CAAC,IAAI,IAAI,QAAQ,KAAKA,+BAAsB,CAAC,IAAI,EAAE;AACxF,YAAqBK,YAAI,CAAC,MAAM;AAChC,YAAA,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;AACjC,gBAAA,MAAM,GAAGA,YAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACtD;AACA,YAAA,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;AACjC,gBAAA,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;AACjC,oBAAA,MAAM,GAAGA,YAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClF;qBAAO;AACL,oBAAA,MAAM,GAAGA,YAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACtD;YACF;QACF;;QAGA,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,MAAM,GAAGA,YAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAIA,YAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D;AAEA,QAAA,OAAO,MAAM;IACf;AAEA;;AAEG;IACK,mBAAmB,CACzB,KAAU,EACV,KAAsB,EAAA;QAEtB,MAAM,MAAM,GAAsB,EAAE;;AAGpC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;;AAEhB,YAAA,MAAM,CAAC,uCAAuC,EAAE,KAAK,CAAC,MAAM,CAAC;QAC/D;AAEA,QAAA,OAAO,MAAM;IACf;AACD;;;;"}
@@ -1,520 +0,0 @@
1
- 'use strict';
2
-
3
- var main_cjs = require('./index-CUd7xS2i.js');
4
- var pluralize = require('pluralize');
5
- var getSegmentedItemProperties = require('./getSegmentedItemProperties-KdudlzXm.js');
6
- var debug = require('debug');
7
- var ethers = require('ethers');
8
- require('reflect-metadata');
9
- require('drizzle-orm');
10
- require('immer');
11
- require('xstate');
12
- require('drizzle-orm/sqlite-core');
13
- require('nanoid');
14
- require('nanoid-dictionary');
15
- require('rxjs');
16
- require('lodash-es');
17
- require('drizzle-orm/casing');
18
- require('eventemitter3');
19
- require('arweave');
20
- require('@sinclair/typebox');
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 with getItem -> BaseItem
36
- // import { getItem } from '@/db/read/getItem'
37
- debug('seedSdk:db:getPublishPayload');
38
- const getVersionUid = (item) => {
39
- const latestVersion = item.latestVersionUid;
40
- if (latestVersion && typeof latestVersion === 'object' && latestVersion.uid) {
41
- return latestVersion.uid;
42
- }
43
- if (latestVersion && typeof latestVersion === 'string') {
44
- return latestVersion;
45
- }
46
- return main_cjs.ZERO_BYTES32;
47
- };
48
- const getPropertyData = async (itemProperty) => {
49
- const easDataType = main_cjs.INTERNAL_DATA_TYPES[itemProperty.propertyDef.dataType].eas;
50
- let schemaUid = itemProperty.schemaUid;
51
- const propertyNameForSchema = main_cjs.toSnakeCase(itemProperty.propertyName);
52
- const schemaDef = `${easDataType} ${propertyNameForSchema}`;
53
- if (!schemaUid) {
54
- schemaUid = await main_cjs.getEasSchemaUidForSchemaDefinition({ schemaText: schemaDef });
55
- if (!schemaUid) {
56
- const schema = await main_cjs.getEasSchemaForItemProperty({
57
- propertyName: 'version',
58
- easDataType: 'bytes32',
59
- });
60
- if (schema) {
61
- schemaUid = schema.id;
62
- }
63
- }
64
- }
65
- return {
66
- schemaUid,
67
- easDataType,
68
- schemaDef,
69
- propertyNameForSchema,
70
- };
71
- };
72
- // Lazy import SchemaEncoder to avoid module resolution issues with ts-import
73
- let SchemaEncoderClass = null;
74
- const getSchemaEncoder = async () => {
75
- if (!SchemaEncoderClass) {
76
- const easSdk = await import('@ethereum-attestation-service/eas-sdk');
77
- SchemaEncoderClass = easSdk.SchemaEncoder;
78
- }
79
- return SchemaEncoderClass;
80
- };
81
- const processBasicProperties = async (itemBasicProperties, itemPublishData) => {
82
- for (const basicProperty of itemBasicProperties) {
83
- const snapshot = basicProperty.getService().getSnapshot();
84
- const context = 'context' in snapshot ? snapshot.context : null;
85
- if (!context) {
86
- continue;
87
- }
88
- let value = context.propertyValue;
89
- if (!value || basicProperty.uid) {
90
- continue;
91
- }
92
- const { schemaUid, easDataType, schemaDef } = await getPropertyData(basicProperty);
93
- const propertyNameForSchema = main_cjs.toSnakeCase(basicProperty.propertyName);
94
- if (schemaDef.startsWith('bytes32[]') && !Array.isArray(value)) {
95
- throw new Error(`Invalid value for property: ${basicProperty.propertyName}. Expected an array of bytes32, got ${value}.`);
96
- }
97
- if (schemaDef.startsWith('bytes32[]')) {
98
- const newValues = [];
99
- for (const seedId of value) {
100
- if (seedId.length !== 66 && !seedId.startsWith('0x')) {
101
- newValues.push(ethers.ethers.encodeBytes32String(seedId));
102
- continue;
103
- }
104
- newValues.push(seedId);
105
- }
106
- value = newValues;
107
- }
108
- // uint256 (Date) must be numeric/BigInt; normalize ISO strings to Unix seconds
109
- if (easDataType === 'uint256' && (typeof value === 'string' || value instanceof Date)) {
110
- const ms = value instanceof Date ? value.getTime() : new Date(value).getTime();
111
- value = BigInt(Math.floor(ms / 1000));
112
- }
113
- let data = [
114
- {
115
- name: propertyNameForSchema,
116
- type: easDataType,
117
- value,
118
- },
119
- ];
120
- const SchemaEncoder = await getSchemaEncoder();
121
- const dataEncoder = new SchemaEncoder(schemaDef);
122
- const encodedData = dataEncoder.encodeData(data);
123
- // For storageTransactionId, set refUID to versionUid so it references the Version attestation (contract may use when supported)
124
- const refUid = basicProperty.propertyName === 'storageTransactionId'
125
- ? itemPublishData.versionUid
126
- : main_cjs.defaultAttestationData.refUID;
127
- const attestationEntry = {
128
- schema: schemaUid,
129
- data: [
130
- {
131
- ...main_cjs.defaultAttestationData,
132
- refUID: refUid,
133
- data: encodedData,
134
- },
135
- ],
136
- };
137
- // For relation/image properties with seedLocalId, store resolution hints for resolvePublishPayloadValues
138
- if (typeof value === 'string' &&
139
- value.length === 10 &&
140
- (easDataType === 'bytes32' || easDataType === 'string')) {
141
- attestationEntry._propertyName = basicProperty.propertyName;
142
- attestationEntry._schemaDef = schemaDef;
143
- attestationEntry._unresolvedValue = value;
144
- attestationEntry._easDataType = easDataType;
145
- }
146
- itemPublishData.listOfAttestations.push(attestationEntry);
147
- }
148
- return itemPublishData;
149
- };
150
- const processRelationOrImageProperty = async (relationOrImageProperty, multiPublishPayload, uploadedTransactions, originalSeedLocalId) => {
151
- let relationOrImageSchemaUid = relationOrImageProperty.schemaUid;
152
- if (!relationOrImageSchemaUid && relationOrImageProperty.propertyDef) {
153
- const propertyData = await getPropertyData(relationOrImageProperty);
154
- relationOrImageSchemaUid = propertyData.schemaUid;
155
- }
156
- if (!relationOrImageSchemaUid) {
157
- throw new Error(`Schema uid not found for relation or image property: ${relationOrImageProperty.propertyName}`);
158
- }
159
- const snapshot = relationOrImageProperty.getService().getSnapshot();
160
- const context = 'context' in snapshot ? snapshot.context : null;
161
- if (!context) {
162
- return multiPublishPayload;
163
- }
164
- const value = context.propertyValue;
165
- if (!value || relationOrImageProperty.uid) {
166
- return multiPublishPayload;
167
- }
168
- const { localId: seedLocalId, uid: seedUid } = main_cjs.getCorrectId(value);
169
- // Value is not a valid seed reference (10-char localId or 66-char uid); skip (e.g. Html with inline content)
170
- if (!seedLocalId && !seedUid) {
171
- return multiPublishPayload;
172
- }
173
- // Use dynamic import to break circular dependency
174
- const getItemMod = await Promise.resolve().then(function () { return require('./getItem-BP4BYB4Z.js'); });
175
- const { getItem } = getItemMod;
176
- const relatedItem = await getItem({
177
- seedLocalId,
178
- seedUid,
179
- });
180
- if (!relatedItem) {
181
- throw new Error(`No related item found for relation or image property: ${relationOrImageProperty.propertyName}`);
182
- }
183
- // When Image/Relation already has seedUid (published), skip creating its payload—only add the property to parent
184
- if (relatedItem.seedUid) {
185
- return multiPublishPayload;
186
- }
187
- const versionUid = getVersionUid(relatedItem);
188
- let modelName;
189
- if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image) {
190
- modelName = 'Image';
191
- }
192
- if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File) {
193
- modelName = 'File';
194
- }
195
- if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html) {
196
- modelName = 'Html';
197
- }
198
- if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Relation) {
199
- const def = relationOrImageProperty.propertyDef;
200
- modelName = def.ref ?? def.refModelName;
201
- }
202
- if (!modelName) {
203
- throw new Error(`Model name not found for relation or image property: ${relationOrImageProperty.propertyName}`);
204
- }
205
- const seedSchemaUid = await main_cjs.getEasSchemaUidForModel(modelName);
206
- if (!seedSchemaUid) {
207
- throw new Error(`Schema UID not found for model: ${modelName}`);
208
- }
209
- let publishPayload = {
210
- localId: relatedItem.seedLocalId,
211
- seedIsRevocable: true,
212
- versionSchemaUid: main_cjs.VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
213
- seedUid: seedUid || main_cjs.ZERO_BYTES32,
214
- seedSchemaUid,
215
- versionUid,
216
- listOfAttestations: [],
217
- propertiesToUpdate: [
218
- {
219
- publishLocalId: originalSeedLocalId,
220
- propertySchemaUid: relationOrImageSchemaUid,
221
- },
222
- ],
223
- };
224
- const { itemBasicProperties, itemUploadProperties } = getSegmentedItemProperties.getSegmentedItemProperties(relatedItem);
225
- if (itemUploadProperties.length === 1) {
226
- const uploadProperty = itemUploadProperties[0];
227
- const itemProperty = uploadProperty.itemProperty;
228
- const transactionData = uploadedTransactions.find((transaction) => transaction.seedLocalId === relatedItem.seedLocalId);
229
- if (transactionData) {
230
- itemProperty.value = transactionData.txId;
231
- await itemProperty.save();
232
- itemBasicProperties.push(itemProperty);
233
- }
234
- }
235
- publishPayload = await processBasicProperties(itemBasicProperties, publishPayload);
236
- multiPublishPayload.push(publishPayload);
237
- return multiPublishPayload;
238
- };
239
- const processListProperty = async (listProperty, multiPublishPayload, originalSeedLocalId) => {
240
- // processListProperty only handles list-of-relations; list-of-primitives go to itemBasicProperties
241
- if (!listProperty.propertyDef?.ref) {
242
- throw new Error(`processListProperty requires ref (list of relations). List property "${listProperty.propertyName}" has no ref. List-of-primitives should be in itemBasicProperties.`);
243
- }
244
- let listPropertySchemaUid = listProperty.schemaUid;
245
- if (!listPropertySchemaUid && listProperty.propertyDef) {
246
- const propertyData = await getPropertyData(listProperty);
247
- listPropertySchemaUid = propertyData.schemaUid;
248
- }
249
- if (!listPropertySchemaUid) {
250
- throw new Error(`Schema uid not found for list property: ${listProperty.propertyName}`);
251
- }
252
- const snapshot = listProperty.getService().getSnapshot();
253
- const context = 'context' in snapshot ? snapshot.context : null;
254
- if (!context) {
255
- return multiPublishPayload;
256
- }
257
- let value = context.propertyValue;
258
- if (!value || listProperty.uid) {
259
- return multiPublishPayload;
260
- }
261
- const singularPropertyName = pluralize.singular(listProperty.propertyName);
262
- `${singularPropertyName}${listProperty.propertyDef.ref}Ids`;
263
- if (typeof value === 'string' && value.length === 66) {
264
- value = [value];
265
- }
266
- if (typeof value === 'string' && value.length > 66) {
267
- try {
268
- value = JSON.parse(value);
269
- }
270
- catch (error) {
271
- value = value.split(',');
272
- }
273
- }
274
- for (const seedId of value) {
275
- const { localId: seedLocalId, uid: seedUid } = main_cjs.getCorrectId(seedId);
276
- // Use dynamic import to break circular dependency
277
- const getItemMod = await Promise.resolve().then(function () { return require('./getItem-BP4BYB4Z.js'); });
278
- const { getItem } = getItemMod;
279
- const relatedItem = await getItem({
280
- seedLocalId,
281
- seedUid,
282
- });
283
- if (!relatedItem) {
284
- console.error(`No related item found for list property: ${listProperty.propertyName}`);
285
- continue;
286
- }
287
- if (relatedItem.seedUid) {
288
- return multiPublishPayload;
289
- }
290
- const versionUid = getVersionUid(relatedItem);
291
- let modelName;
292
- if (listProperty.propertyDef?.ref || listProperty.propertyDef.refModelName) {
293
- const def = listProperty.propertyDef;
294
- modelName = def.ref ?? def.refModelName;
295
- }
296
- if (listProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image) {
297
- modelName = 'Image';
298
- }
299
- if (listProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File) {
300
- modelName = 'File';
301
- }
302
- if (listProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html) {
303
- modelName = 'Html';
304
- }
305
- if (!modelName) {
306
- throw new Error(`Model name not found for list property: ${listProperty.propertyName}`);
307
- }
308
- const seedSchemaUid = await main_cjs.getEasSchemaUidForModel(modelName);
309
- if (!seedSchemaUid) {
310
- throw new Error(`Schema UID not found for model: ${modelName}`);
311
- }
312
- let publishPayload = {
313
- localId: relatedItem.seedLocalId,
314
- seedIsRevocable: true,
315
- versionSchemaUid: main_cjs.VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
316
- seedUid: seedUid || main_cjs.ZERO_BYTES32,
317
- seedSchemaUid,
318
- versionUid,
319
- listOfAttestations: [],
320
- propertiesToUpdate: [
321
- {
322
- publishLocalId: originalSeedLocalId,
323
- propertySchemaUid: listPropertySchemaUid,
324
- },
325
- ],
326
- };
327
- const { itemBasicProperties } = getSegmentedItemProperties.getSegmentedItemProperties(relatedItem);
328
- publishPayload = await processBasicProperties(itemBasicProperties, publishPayload);
329
- multiPublishPayload.push(publishPayload);
330
- }
331
- return multiPublishPayload;
332
- };
333
- const getPublishPayload = async (item, uploadedTransactions) => {
334
- let multiPublishPayload = [];
335
- // Each PublishPayload is generated from a Seed that needs publishing
336
- // First we need to determine all Seeds to publish
337
- // That means the Seed of the Item, plus any Seeds pointed to by Relations
338
- // Check if the item has a schema UID
339
- let itemSchemaUid = item.schemaUid;
340
- if (!itemSchemaUid) {
341
- const schemaUid = await main_cjs.getEasSchemaUidForModel(item.modelName);
342
- if (!schemaUid) {
343
- throw new Error(`Schema UID not found for model: ${item.modelName}`);
344
- }
345
- itemSchemaUid = schemaUid;
346
- }
347
- let itemPublishData = {
348
- localId: item.seedLocalId,
349
- seedUid: item.seedUid || main_cjs.ZERO_BYTES32,
350
- seedIsRevocable: true,
351
- seedSchemaUid: itemSchemaUid,
352
- versionSchemaUid: main_cjs.VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
353
- versionUid: getVersionUid(item),
354
- listOfAttestations: [],
355
- propertiesToUpdate: [],
356
- };
357
- const { itemBasicProperties, itemListProperties, itemUploadProperties, itemImageProperties, itemRelationProperties, } = getSegmentedItemProperties.getSegmentedItemProperties(item);
358
- const relationAndImageProperties = [...itemRelationProperties, ...itemImageProperties];
359
- if (itemUploadProperties.length === 1) {
360
- const uploadProperty = itemUploadProperties[0];
361
- const itemProperty = uploadProperty.itemProperty;
362
- const transactionData = uploadedTransactions.find((transaction) => transaction.seedLocalId === item.seedLocalId);
363
- if (transactionData) {
364
- itemProperty.value = transactionData.txId;
365
- await itemProperty.save();
366
- itemBasicProperties.push(itemProperty);
367
- }
368
- }
369
- for (const relationProperty of relationAndImageProperties) {
370
- multiPublishPayload = await processRelationOrImageProperty(relationProperty, multiPublishPayload, uploadedTransactions, item.seedLocalId);
371
- itemBasicProperties.push(relationProperty);
372
- }
373
- for (const listProperty of itemListProperties) {
374
- multiPublishPayload = await processListProperty(listProperty, multiPublishPayload, item.seedLocalId);
375
- itemBasicProperties.push(listProperty);
376
- }
377
- itemPublishData = await processBasicProperties(itemBasicProperties, itemPublishData);
378
- multiPublishPayload.push(itemPublishData);
379
- // Ensure requests are ordered so that when A has propertiesToUpdate pointing to B (publishLocalId),
380
- // A (the updater) is published before B (the updatee). The contract injects A's seedUid into B's
381
- // attestation before B is sent to EAS.
382
- multiPublishPayload = orderPayloadByDependencies(multiPublishPayload);
383
- // Ensure attestations referenced in propertiesToUpdate have at least one data element.
384
- // The contract writes the seed UID into data[0].data; empty data causes Panic 50.
385
- multiPublishPayload = ensurePropertiesToUpdateAttestationsHaveData(multiPublishPayload);
386
- return multiPublishPayload;
387
- };
388
- /**
389
- * Normalize a schema UID to 0x-prefixed 64-char hex for comparison.
390
- */
391
- function normalizeSchemaUid(v) {
392
- if (v == null || v === '')
393
- return '';
394
- const raw = v.startsWith('0x') ? v.slice(2) : v;
395
- const hex = raw.replace(/[^0-9a-fA-F]/g, '0').padStart(64, '0').slice(-64);
396
- return ('0x' + hex).toLowerCase();
397
- }
398
- /**
399
- * Ensure that when request A has propertiesToUpdate with (publishLocalId: B, propertySchemaUid: X),
400
- * request B has an attestation for schema X with at least one data element. The contract writes
401
- * the seed UID into data[0].data; empty data causes Panic 50.
402
- */
403
- function ensurePropertiesToUpdateAttestationsHaveData(payload) {
404
- const byLocalId = new Map();
405
- for (const p of payload) {
406
- byLocalId.set(p.localId, p);
407
- }
408
- const placeholderData = {
409
- ...main_cjs.defaultAttestationData,
410
- data: main_cjs.ZERO_BYTES32,
411
- };
412
- for (const req of payload) {
413
- for (const pu of req.propertiesToUpdate ?? []) {
414
- const targetId = pu.publishLocalId;
415
- const schemaUid = pu.propertySchemaUid;
416
- if (!targetId || !schemaUid)
417
- continue;
418
- const targetReq = byLocalId.get(targetId);
419
- if (!targetReq?.listOfAttestations)
420
- continue;
421
- const wantSchema = normalizeSchemaUid(schemaUid);
422
- const att = targetReq.listOfAttestations.find((a) => normalizeSchemaUid(a?.schema) === wantSchema);
423
- if (!att)
424
- continue;
425
- if (!Array.isArray(att.data) || att.data.length === 0) {
426
- att.data = [placeholderData];
427
- }
428
- }
429
- }
430
- return payload;
431
- }
432
- /**
433
- * Topological sort: when request A has propertiesToUpdate with publishLocalId B,
434
- * A (the updater) must appear before B (the updatee). The contract injects A's seedUid
435
- * into B's attestation before B is sent to EAS; if B is processed first, B's attestation
436
- * goes out with wrong data (string instead of bytes32).
437
- */
438
- function orderPayloadByDependencies(payload) {
439
- const byLocalId = new Map();
440
- for (const p of payload) {
441
- byLocalId.set(p.localId, p);
442
- }
443
- const visited = new Set();
444
- const result = [];
445
- const visit = (localId) => {
446
- if (visited.has(localId))
447
- return;
448
- visited.add(localId);
449
- const p = byLocalId.get(localId);
450
- if (!p)
451
- return;
452
- result.push(p);
453
- for (const u of p.propertiesToUpdate ?? []) {
454
- const targetId = u.publishLocalId;
455
- if (targetId && targetId !== localId)
456
- visit(targetId);
457
- }
458
- };
459
- for (const p of payload) {
460
- visit(p.localId);
461
- }
462
- return result;
463
- }
464
- /**
465
- * Resolves relation/image property values (seedLocalId) to attestation uids after dependent seeds are published.
466
- * Call after each payload is published, passing the returned attestation uid for that seed's localId.
467
- * Returns an updated multiPayload with re-encoded attestations where resolution was applied.
468
- */
469
- const resolvePublishPayloadValues = async (multiPayload, resolvedUids) => {
470
- if (Object.keys(resolvedUids).length === 0) {
471
- return multiPayload;
472
- }
473
- const SchemaEncoder = await getSchemaEncoder();
474
- const result = [];
475
- for (const payload of multiPayload) {
476
- const updatedAttestations = [];
477
- for (const attestation of payload.listOfAttestations) {
478
- const entry = attestation;
479
- const resolvedUid = entry._unresolvedValue && resolvedUids[entry._unresolvedValue];
480
- if (resolvedUid && entry._schemaDef && entry._propertyName) {
481
- const propertyNameForSchema = main_cjs.toSnakeCase(entry._propertyName);
482
- const dataEncoder = new SchemaEncoder(entry._schemaDef);
483
- const encodedData = dataEncoder.encodeData([
484
- {
485
- name: propertyNameForSchema,
486
- type: entry._easDataType || 'bytes32',
487
- value: resolvedUid,
488
- },
489
- ]);
490
- const baseData = Array.isArray(entry.data) ? entry.data[0] : entry.data;
491
- updatedAttestations.push({
492
- ...entry,
493
- data: [
494
- {
495
- ...baseData,
496
- data: encodedData,
497
- },
498
- ],
499
- _unresolvedValue: undefined,
500
- });
501
- }
502
- else {
503
- const normalizedEntry = {
504
- ...entry,
505
- data: Array.isArray(entry.data) ? entry.data : [entry.data],
506
- };
507
- updatedAttestations.push(normalizedEntry);
508
- }
509
- }
510
- result.push({
511
- ...payload,
512
- listOfAttestations: updatedAttestations,
513
- });
514
- }
515
- return result;
516
- };
517
-
518
- exports.getPublishPayload = getPublishPayload;
519
- exports.resolvePublishPayloadValues = resolvePublishPayloadValues;
520
- //# sourceMappingURL=getPublishPayload-B90BFd8m.js.map