@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
@@ -0,0 +1,888 @@
1
+ 'use strict';
2
+
3
+ var main_cjs = require('./index-9O_Ji1kY.js');
4
+ var casing = require('drizzle-orm/casing');
5
+ var pluralize = require('pluralize');
6
+ var getSegmentedItemProperties = require('./getSegmentedItemProperties-NFvOHlAi.js');
7
+ var property = require('./property-Hj-RhQVX.js');
8
+ var lodashEs = require('lodash-es');
9
+ var drizzleOrm = require('drizzle-orm');
10
+ var debug = require('debug');
11
+ var ethers = require('ethers');
12
+ require('reflect-metadata');
13
+ require('immer');
14
+ require('xstate');
15
+ require('drizzle-orm/sqlite-core');
16
+ require('nanoid');
17
+ require('nanoid-dictionary');
18
+ require('@sinclair/typebox');
19
+ require('rxjs');
20
+ require('eventemitter3');
21
+ require('arweave');
22
+ require('js-sha3');
23
+ require('fs/promises');
24
+ require('fs');
25
+ require('path');
26
+ require('@libsql/client');
27
+ require('drizzle-orm/libsql');
28
+ require('drizzle-kit/api');
29
+ require('js-yaml');
30
+ require('ts-import');
31
+ require('glob');
32
+ require('rimraf');
33
+ require('child_process');
34
+ require('url');
35
+ require('graphql-request');
36
+
37
+ // Dynamic import to break circular dependency with getItem -> BaseItem
38
+ // import { getItem } from '@/db/read/getItem'
39
+ debug('seedSdk:db:getPublishPayload');
40
+ function addValidationError(ctx, message, field, code = 'publish_validation') {
41
+ ctx.errors.push({ field: field ?? '', message, code });
42
+ }
43
+ const getVersionUid = (item) => {
44
+ const latestVersion = item.latestVersionUid;
45
+ if (latestVersion && typeof latestVersion === 'object' && latestVersion.uid) {
46
+ return latestVersion.uid;
47
+ }
48
+ if (latestVersion && typeof latestVersion === 'string') {
49
+ return latestVersion;
50
+ }
51
+ return main_cjs.ZERO_BYTES32;
52
+ };
53
+ /**
54
+ * Resolve versionUid when item.latestVersionUid is empty but item has been published (has seedUid).
55
+ * Tries DB first, then EAS. The contract path never calls updateVersionUid, so the versions table
56
+ * may have uid=NULL. EAS fallback queries attestations where refUID=seedUid (Version attestations).
57
+ */
58
+ async function resolveVersionUid(seedLocalId, seedUid) {
59
+ if (!seedLocalId || !seedUid || seedUid === main_cjs.ZERO_BYTES32)
60
+ return main_cjs.ZERO_BYTES32;
61
+ const appDb = main_cjs.BaseDb.getAppDb();
62
+ if (appDb) {
63
+ const rows = await appDb
64
+ .select({ uid: main_cjs.versions.uid })
65
+ .from(main_cjs.versions)
66
+ .where(drizzleOrm.eq(main_cjs.versions.seedLocalId, seedLocalId))
67
+ .orderBy(drizzleOrm.desc(main_cjs.versions.createdAt))
68
+ .limit(1);
69
+ const uid = rows[0]?.uid;
70
+ if (uid && uid !== '' && uid !== 'NULL')
71
+ return uid;
72
+ }
73
+ try {
74
+ const { getItemVersionsFromEas } = await Promise.resolve().then(function () { return require('./index-9O_Ji1kY.js'); }).then(function (n) { return n.eas; });
75
+ const attestations = await getItemVersionsFromEas({ seedUids: [seedUid] });
76
+ const latest = attestations?.[0];
77
+ if (latest?.id)
78
+ return latest.id;
79
+ }
80
+ catch {
81
+ // EAS client may not be initialized or network error
82
+ }
83
+ return main_cjs.ZERO_BYTES32;
84
+ }
85
+ const getPropertyData = async (itemProperty, ctx) => {
86
+ const dataType = itemProperty.propertyDef?.dataType;
87
+ const entry = dataType != null ? main_cjs.INTERNAL_DATA_TYPES[dataType] : undefined;
88
+ const easDataType = entry?.eas;
89
+ if (!easDataType) {
90
+ if (ctx) {
91
+ addValidationError(ctx, `Unknown or unsupported property data type "${dataType ?? 'undefined'}" for property: ${itemProperty.propertyName}. Supported types: ${Object.keys(main_cjs.INTERNAL_DATA_TYPES).join(', ')}.`, itemProperty.propertyName);
92
+ }
93
+ return null;
94
+ }
95
+ let schemaUid = itemProperty.schemaUid;
96
+ const ip = itemProperty;
97
+ const nameForEas = ip.storagePropertyName && ip.storagePropertyName.length > 0
98
+ ? ip.storagePropertyName
99
+ : itemProperty.propertyName;
100
+ const propertyNameForSchema = main_cjs.toSnakeCase(nameForEas);
101
+ const schemaDef = `${easDataType} ${propertyNameForSchema}`;
102
+ if (!schemaUid) {
103
+ schemaUid = await main_cjs.getEasSchemaUidForSchemaDefinition({ schemaText: schemaDef });
104
+ if (!schemaUid) {
105
+ const schema = await main_cjs.getEasSchemaForItemProperty({
106
+ propertyName: 'version',
107
+ easDataType: 'bytes32',
108
+ });
109
+ if (schema) {
110
+ schemaUid = schema.id;
111
+ }
112
+ }
113
+ }
114
+ return {
115
+ schemaUid,
116
+ easDataType,
117
+ schemaDef,
118
+ propertyNameForSchema,
119
+ };
120
+ };
121
+ /** Resolve propertyDef from Model for properties that lack it (e.g. cached instances
122
+ * created before loadOrCreateProperty was fixed). Ensures both new and existing items get property attestations.
123
+ * Also ensures Relation/Image properties have required from schema when missing (for publish validation). */
124
+ const ensurePropertyDefs = async (targetItem) => {
125
+ targetItem.properties.filter((p) => targetItem.modelName &&
126
+ (!p.propertyDef || (p.propertyDef?.dataType === 'Relation' && p.propertyDef?.required === undefined)));
127
+ let schema;
128
+ for (const itemProperty of targetItem.properties) {
129
+ if (!itemProperty.propertyDef && targetItem.modelName) {
130
+ schema = await property.getPropertySchema(targetItem.modelName, itemProperty.propertyName);
131
+ if (!schema) {
132
+ try {
133
+ const { Model } = await Promise.resolve().then(function () { return require('./index-9O_Ji1kY.js'); }).then(function (n) { return n.Model$1; });
134
+ const normalizedModelName = lodashEs.upperFirst(lodashEs.camelCase(targetItem.modelName));
135
+ let model = Model.getByName(normalizedModelName);
136
+ if (!model?.properties?.length) {
137
+ model = Model.findByModelType(casing.toSnakeCase(targetItem.modelName));
138
+ }
139
+ const modelFound = !!model;
140
+ const propsCount = model?.properties?.length ?? 0;
141
+ const schemaKeys = [];
142
+ if (model?.properties?.length) {
143
+ const schemas = main_cjs.modelPropertiesToObject(model.properties);
144
+ schemaKeys.push(...Object.keys(schemas));
145
+ schema = schemas[itemProperty.propertyName];
146
+ }
147
+ }
148
+ catch (err) {
149
+ schema = undefined;
150
+ }
151
+ }
152
+ if (!schema) {
153
+ const db = main_cjs.BaseDb.getAppDb();
154
+ if (db) {
155
+ try {
156
+ const normalizedModelName = lodashEs.upperFirst(lodashEs.camelCase(targetItem.modelName));
157
+ const modelRecords = await db
158
+ .select({ id: main_cjs.models.id })
159
+ .from(main_cjs.models)
160
+ .where(drizzleOrm.eq(main_cjs.models.name, normalizedModelName))
161
+ .limit(1);
162
+ if (modelRecords.length > 0 && modelRecords[0].id) {
163
+ const propertyRecords = await db
164
+ .select()
165
+ .from(main_cjs.properties)
166
+ .where(drizzleOrm.and(drizzleOrm.eq(main_cjs.properties.modelId, modelRecords[0].id), drizzleOrm.eq(main_cjs.properties.name, itemProperty.propertyName)))
167
+ .limit(1);
168
+ if (propertyRecords.length > 0) {
169
+ const propRecord = propertyRecords[0];
170
+ let refModelName;
171
+ if (propRecord.refModelId != null) {
172
+ const refModelRows = await db
173
+ .select({ name: main_cjs.models.name })
174
+ .from(main_cjs.models)
175
+ .where(drizzleOrm.eq(main_cjs.models.id, propRecord.refModelId))
176
+ .limit(1);
177
+ refModelName = refModelRows[0]?.name ?? undefined;
178
+ }
179
+ schema = {
180
+ dataType: propRecord.dataType,
181
+ ref: refModelName ?? undefined,
182
+ refValueType: propRecord.refValueType || undefined,
183
+ storageType: propRecord.storageType || undefined,
184
+ localStorageDir: propRecord.localStorageDir || undefined,
185
+ filenameSuffix: propRecord.filenameSuffix || undefined,
186
+ required: propRecord.required ?? undefined,
187
+ };
188
+ }
189
+ }
190
+ }
191
+ catch {
192
+ schema = undefined;
193
+ }
194
+ }
195
+ }
196
+ if (schema) {
197
+ itemProperty.getService().send({
198
+ type: 'updateContext',
199
+ propertyRecordSchema: schema,
200
+ });
201
+ }
202
+ }
203
+ }
204
+ };
205
+ // Lazy import SchemaEncoder to avoid module resolution issues with ts-import
206
+ let SchemaEncoderClass = null;
207
+ const getSchemaEncoder = async () => {
208
+ if (!SchemaEncoderClass) {
209
+ const easSdk = await import('@ethereum-attestation-service/eas-sdk');
210
+ SchemaEncoderClass = easSdk.SchemaEncoder;
211
+ }
212
+ return SchemaEncoderClass;
213
+ };
214
+ const processBasicProperties = async (itemBasicProperties, itemPublishData, ctx) => {
215
+ for (const basicProperty of itemBasicProperties) {
216
+ // Skip SDK-internal properties (e.g. publisher) - never attest to EAS
217
+ if (main_cjs.INTERNAL_PROPERTY_NAMES.includes(basicProperty.propertyName)) {
218
+ continue;
219
+ }
220
+ const snapshot = basicProperty.getService().getSnapshot();
221
+ const context = 'context' in snapshot ? snapshot.context : null;
222
+ const propertyDef = basicProperty.propertyDef ?? (context ? context.propertyRecordSchema : undefined);
223
+ const isFileImageHtml = propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File ||
224
+ propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image ||
225
+ propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html;
226
+ // File/Image/Html must use propertyValue (seed ID), not basicProperty.value which returns
227
+ // renderValue (file content) for File—bytes32 can only hold 31 bytes.
228
+ let value = isFileImageHtml && context
229
+ ? context.propertyValue
230
+ : (basicProperty.value ??
231
+ (context ? context.propertyValue : undefined));
232
+ !!basicProperty.uid;
233
+ if (!context) {
234
+ continue;
235
+ }
236
+ if (!value || basicProperty.uid) {
237
+ continue;
238
+ }
239
+ const propertyData = await getPropertyData(basicProperty, ctx);
240
+ if (!propertyData)
241
+ continue;
242
+ const { schemaUid, easDataType, schemaDef, propertyNameForSchema } = propertyData;
243
+ if (!schemaDef)
244
+ continue;
245
+ // Normalize value: string that parses to array (e.g. from browser storage) -> array
246
+ if (schemaDef.startsWith('bytes32[]') && typeof value === 'string' && value.trim().startsWith('[')) {
247
+ try {
248
+ value = JSON.parse(value);
249
+ }
250
+ catch {
251
+ // fall through to array check
252
+ }
253
+ }
254
+ // Legacy comma-separated ids (pre-JSON List storage)
255
+ if (schemaDef.startsWith('bytes32[]') &&
256
+ typeof value === 'string' &&
257
+ !value.trim().startsWith('[') &&
258
+ value.includes(',')) {
259
+ value = value
260
+ .split(',')
261
+ .map((s) => s.trim())
262
+ .filter(Boolean);
263
+ }
264
+ if (schemaDef.startsWith('bytes32[]') && !Array.isArray(value)) {
265
+ addValidationError(ctx, `Invalid value for property: ${basicProperty.propertyName}. Expected an array of bytes32, got ${value}.`, basicProperty.propertyName);
266
+ continue;
267
+ }
268
+ // Validate against property validation rules (enum, pattern, minLength, maxLength) before encoding
269
+ if (propertyDef?.validation) {
270
+ const { SchemaValidationService } = await Promise.resolve().then(function () { return require('./SchemaValidationService-BySF1P0v.js'); });
271
+ const validationService = new SchemaValidationService();
272
+ const validationResult = validationService.validatePropertyValue(value, propertyDef.dataType, propertyDef.validation, propertyDef.refValueType);
273
+ if (!validationResult.isValid && validationResult.errors.length > 0) {
274
+ const firstError = validationResult.errors[0];
275
+ addValidationError(ctx, firstError.message, basicProperty.propertyName, firstError.code ?? 'publish_validation');
276
+ continue;
277
+ }
278
+ }
279
+ if (schemaDef.startsWith('bytes32[]')) {
280
+ const newValues = [];
281
+ const iterableValue = Array.isArray(value) ? value
282
+ : value != null && typeof value[Symbol.iterator] === 'function' ? value
283
+ : [];
284
+ for (const seedId of iterableValue) {
285
+ if (seedId.length !== 66 && !seedId.startsWith('0x')) {
286
+ newValues.push(ethers.ethers.encodeBytes32String(seedId));
287
+ continue;
288
+ }
289
+ newValues.push(seedId);
290
+ }
291
+ value = newValues;
292
+ }
293
+ // uint256 (Date) must be numeric/BigInt; normalize ISO strings to Unix seconds
294
+ if (easDataType === 'uint256' && (typeof value === 'string' || value instanceof Date)) {
295
+ const ms = value instanceof Date ? value.getTime() : new Date(value).getTime();
296
+ value = BigInt(Math.floor(ms / 1000));
297
+ }
298
+ let data = [
299
+ {
300
+ name: propertyNameForSchema,
301
+ type: easDataType,
302
+ value,
303
+ },
304
+ ];
305
+ let encodedData;
306
+ try {
307
+ const SchemaEncoder = await getSchemaEncoder();
308
+ const dataEncoder = new SchemaEncoder(schemaDef);
309
+ encodedData = dataEncoder.encodeData(data);
310
+ }
311
+ catch (encodeErr) {
312
+ addValidationError(ctx, `Failed to encode property ${basicProperty.propertyName}: ${encodeErr instanceof Error ? encodeErr.message : String(encodeErr)}`, basicProperty.propertyName);
313
+ continue;
314
+ }
315
+ // For storageTransactionId, set refUID to versionUid so it references the Version attestation (contract may use when supported)
316
+ const refUid = basicProperty.propertyName === 'storageTransactionId'
317
+ ? itemPublishData.versionUid
318
+ : main_cjs.defaultAttestationData.refUID;
319
+ const attestationEntry = {
320
+ schema: schemaUid,
321
+ data: [
322
+ {
323
+ ...main_cjs.defaultAttestationData,
324
+ refUID: refUid,
325
+ data: encodedData,
326
+ },
327
+ ],
328
+ };
329
+ // For relation/image properties with seedLocalId, store resolution hints for resolvePublishPayloadValues
330
+ if (typeof value === 'string' &&
331
+ value.length === 10 &&
332
+ (easDataType === 'bytes32' || easDataType === 'string')) {
333
+ attestationEntry._propertyName = basicProperty.propertyName;
334
+ attestationEntry._schemaDef = schemaDef;
335
+ attestationEntry._unresolvedValue = value;
336
+ attestationEntry._easDataType = easDataType;
337
+ }
338
+ itemPublishData.listOfAttestations.push(attestationEntry);
339
+ }
340
+ return itemPublishData;
341
+ };
342
+ const processRelationOrImageProperty = async (relationOrImageProperty, multiPublishPayload, uploadedTransactions, originalSeedLocalId, ctx) => {
343
+ let relationOrImageSchemaUid = relationOrImageProperty.schemaUid;
344
+ if (!relationOrImageSchemaUid && relationOrImageProperty.propertyDef) {
345
+ const propertyData = await getPropertyData(relationOrImageProperty, ctx);
346
+ if (!propertyData)
347
+ return multiPublishPayload;
348
+ relationOrImageSchemaUid = propertyData.schemaUid;
349
+ }
350
+ if (!relationOrImageSchemaUid) {
351
+ addValidationError(ctx, `Schema uid not found for relation or image property: ${relationOrImageProperty.propertyName}`, relationOrImageProperty.propertyName);
352
+ return multiPublishPayload;
353
+ }
354
+ const snapshot = relationOrImageProperty.getService().getSnapshot();
355
+ const context = 'context' in snapshot ? snapshot.context : null;
356
+ if (!context) {
357
+ return multiPublishPayload;
358
+ }
359
+ let value = context.propertyValue;
360
+ // File/Image/Html/Json metadata is stored with Id suffix (e.g. "textId"); context may not have propertyValue
361
+ // if the property was created from schema before metadata loaded. Fallback to metadata lookup.
362
+ const isStorageSeed = relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File ||
363
+ relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image ||
364
+ relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html ||
365
+ relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Json ||
366
+ (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Relation &&
367
+ (relationOrImageProperty.propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.File ||
368
+ relationOrImageProperty.propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.Image ||
369
+ relationOrImageProperty.propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.Html ||
370
+ relationOrImageProperty.propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.Json));
371
+ if (!value && isStorageSeed && (context.seedLocalId || context.seedUid)) {
372
+ const { getPropertyData: getPropertyDataFromDb } = await Promise.resolve().then(function () { return require('./index-9O_Ji1kY.js'); }).then(function (n) { return n.getPropertyData; });
373
+ const metaRow = await getPropertyDataFromDb({
374
+ propertyName: relationOrImageProperty.propertyName,
375
+ seedLocalId: context.seedLocalId,
376
+ seedUid: context.seedUid,
377
+ });
378
+ const fromMeta = metaRow?.propertyValue;
379
+ if (fromMeta && typeof fromMeta === 'string' && fromMeta.trim() !== '') {
380
+ value = fromMeta;
381
+ }
382
+ }
383
+ const propertyDef = relationOrImageProperty.propertyDef;
384
+ let isRequired = propertyDef?.required === true;
385
+ // Resolve required from schema/DB when propertyDef lacks it
386
+ if (!isRequired && relationOrImageProperty.modelName) {
387
+ let schema = await property.getPropertySchema(relationOrImageProperty.modelName, relationOrImageProperty.propertyName);
388
+ if (!schema && main_cjs.BaseDb.getAppDb()) {
389
+ const normalizedModelName = lodashEs.upperFirst(lodashEs.camelCase(relationOrImageProperty.modelName));
390
+ const modelRecords = await main_cjs.BaseDb.getAppDb()
391
+ .select({ id: main_cjs.models.id })
392
+ .from(main_cjs.models)
393
+ .where(drizzleOrm.eq(main_cjs.models.name, normalizedModelName))
394
+ .limit(1);
395
+ if (modelRecords.length > 0 && modelRecords[0].id) {
396
+ const propertyRecords = await main_cjs.BaseDb.getAppDb()
397
+ .select()
398
+ .from(main_cjs.properties)
399
+ .where(drizzleOrm.and(drizzleOrm.eq(main_cjs.properties.modelId, modelRecords[0].id), drizzleOrm.eq(main_cjs.properties.name, relationOrImageProperty.propertyName)))
400
+ .limit(1);
401
+ if (propertyRecords.length > 0) {
402
+ schema = {
403
+ dataType: propertyRecords[0].dataType,
404
+ ref: undefined,
405
+ required: propertyRecords[0].required ?? undefined,
406
+ };
407
+ }
408
+ }
409
+ }
410
+ if (schema?.required === true || schema?.required === 1) {
411
+ isRequired = true;
412
+ }
413
+ }
414
+ // Required relation/image/file/html/json with no value: cannot publish
415
+ if (isRequired && !value) {
416
+ const typeLabel = propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File ||
417
+ propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.File
418
+ ? 'file'
419
+ : propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image ||
420
+ propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.Image
421
+ ? 'image'
422
+ : propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html ||
423
+ propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.Html
424
+ ? 'html'
425
+ : propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Json ||
426
+ propertyDef?.refValueType === main_cjs.ModelPropertyDataTypes.Json
427
+ ? 'json'
428
+ : 'relation';
429
+ const refLabel = propertyDef?.ref ?? propertyDef?.refModelName ?? 'related';
430
+ addValidationError(ctx, `Required ${typeLabel} ${relationOrImageProperty.propertyName} has no value. ` +
431
+ `A value pointing to a valid ${refLabel} item is required to publish.`, relationOrImageProperty.propertyName);
432
+ return multiPublishPayload;
433
+ }
434
+ if (!value || relationOrImageProperty.uid) {
435
+ return multiPublishPayload;
436
+ }
437
+ const { localId: seedLocalId, uid: seedUid } = main_cjs.getCorrectId(value);
438
+ // Value is not a valid seed reference (10-char localId or 66-char uid)
439
+ if (!seedLocalId && !seedUid) {
440
+ if (isRequired) {
441
+ addValidationError(ctx, `Required relation ${relationOrImageProperty.propertyName} has invalid value: ${JSON.stringify(value)}. ` +
442
+ `Value must be a valid seed reference (localId or uid) pointing to a ${propertyDef?.ref ?? propertyDef?.refModelName ?? 'related'} item.`, relationOrImageProperty.propertyName);
443
+ }
444
+ return multiPublishPayload;
445
+ }
446
+ // Use dynamic import to break circular dependency
447
+ const getItemMod = await Promise.resolve().then(function () { return require('./getItem-Dj49AjWB.js'); });
448
+ const { getItem } = getItemMod;
449
+ const relatedItem = await getItem({
450
+ seedLocalId,
451
+ seedUid,
452
+ });
453
+ // When related item not found (e.g. different DB, not yet created)
454
+ if (!relatedItem) {
455
+ if (isRequired) {
456
+ addValidationError(ctx, `No related item found for required relation: ${relationOrImageProperty.propertyName}. ` +
457
+ `Value: ${JSON.stringify(value)} (seedLocalId/seedUid). ` +
458
+ `The related item may be missing, in a different database, or the reference may be broken.`, relationOrImageProperty.propertyName);
459
+ }
460
+ return multiPublishPayload;
461
+ }
462
+ // When Image/Relation already has seedUid (published), skip creating its payload—only add the property to parent
463
+ if (relatedItem.seedUid) {
464
+ return multiPublishPayload;
465
+ }
466
+ const versionUid = getVersionUid(relatedItem);
467
+ let modelName;
468
+ if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image) {
469
+ modelName = 'Image';
470
+ }
471
+ if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File) {
472
+ modelName = 'File';
473
+ }
474
+ if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html) {
475
+ modelName = 'Html';
476
+ }
477
+ if (relationOrImageProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Relation) {
478
+ const def = relationOrImageProperty.propertyDef;
479
+ modelName = def.ref ?? def.refModelName;
480
+ }
481
+ if (!modelName) {
482
+ addValidationError(ctx, `Model name not found for relation or image property: ${relationOrImageProperty.propertyName}`, relationOrImageProperty.propertyName);
483
+ return multiPublishPayload;
484
+ }
485
+ const seedSchemaUid = await main_cjs.getEasSchemaUidForModel(modelName);
486
+ if (!seedSchemaUid) {
487
+ addValidationError(ctx, `Schema UID not found for model: ${modelName}`, relationOrImageProperty.propertyName);
488
+ return multiPublishPayload;
489
+ }
490
+ let publishPayload = {
491
+ localId: relatedItem.seedLocalId,
492
+ seedIsRevocable: true,
493
+ versionSchemaUid: main_cjs.VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
494
+ seedUid: seedUid || main_cjs.ZERO_BYTES32,
495
+ seedSchemaUid,
496
+ versionUid,
497
+ listOfAttestations: [],
498
+ propertiesToUpdate: [
499
+ {
500
+ publishLocalId: originalSeedLocalId,
501
+ propertySchemaUid: relationOrImageSchemaUid,
502
+ },
503
+ ],
504
+ };
505
+ await ensurePropertyDefs(relatedItem);
506
+ const { itemBasicProperties, itemUploadProperties } = await getSegmentedItemProperties.getSegmentedItemProperties(relatedItem);
507
+ if (itemUploadProperties.length === 1) {
508
+ const uploadProperty = itemUploadProperties[0];
509
+ const itemProperty = uploadProperty.itemProperty;
510
+ const transactionData = uploadedTransactions.find((transaction) => transaction.seedLocalId === relatedItem.seedLocalId);
511
+ if (transactionData) {
512
+ itemProperty.value = transactionData.txId;
513
+ await itemProperty.save();
514
+ itemBasicProperties.push(itemProperty);
515
+ }
516
+ }
517
+ publishPayload = await processBasicProperties(itemBasicProperties, publishPayload, ctx);
518
+ multiPublishPayload.push(publishPayload);
519
+ return multiPublishPayload;
520
+ };
521
+ const processListProperty = async (listProperty, multiPublishPayload, originalSeedLocalId, ctx) => {
522
+ // processListProperty only handles list-of-relations; list-of-primitives go to itemBasicProperties
523
+ if (!listProperty.propertyDef?.ref) {
524
+ addValidationError(ctx, `processListProperty requires ref (list of relations). List property "${listProperty.propertyName}" has no ref. List-of-primitives should be in itemBasicProperties.`, listProperty.propertyName);
525
+ return multiPublishPayload;
526
+ }
527
+ let listPropertySchemaUid = listProperty.schemaUid;
528
+ if (!listPropertySchemaUid && listProperty.propertyDef) {
529
+ const propertyData = await getPropertyData(listProperty, ctx);
530
+ if (!propertyData)
531
+ return multiPublishPayload;
532
+ listPropertySchemaUid = propertyData.schemaUid;
533
+ }
534
+ if (!listPropertySchemaUid) {
535
+ addValidationError(ctx, `Schema uid not found for list property: ${listProperty.propertyName}`, listProperty.propertyName);
536
+ return multiPublishPayload;
537
+ }
538
+ const snapshot = listProperty.getService().getSnapshot();
539
+ const context = 'context' in snapshot ? snapshot.context : null;
540
+ if (!context) {
541
+ return multiPublishPayload;
542
+ }
543
+ let value = context.propertyValue;
544
+ if (!value || listProperty.uid) {
545
+ return multiPublishPayload;
546
+ }
547
+ const singularPropertyName = pluralize.singular(listProperty.propertyName);
548
+ `${singularPropertyName}${listProperty.propertyDef.ref}Ids`;
549
+ if (typeof value === 'string') {
550
+ value = main_cjs.parseListPropertyValueFromStorage(value);
551
+ }
552
+ const iterableValue = Array.isArray(value)
553
+ ? value
554
+ : value != null
555
+ ? [value]
556
+ : [];
557
+ for (const seedId of iterableValue) {
558
+ const idStr = typeof seedId === 'string'
559
+ ? seedId
560
+ : seedId &&
561
+ typeof seedId === 'object' &&
562
+ (seedId.seedLocalId ?? seedId.seedUid ?? seedId.localId ?? seedId.uid);
563
+ if (!idStr)
564
+ continue;
565
+ const { localId: seedLocalId, uid: seedUid } = main_cjs.getCorrectId(idStr);
566
+ if (!seedLocalId && !seedUid)
567
+ continue;
568
+ // Use dynamic import to break circular dependency
569
+ const getItemMod = await Promise.resolve().then(function () { return require('./getItem-Dj49AjWB.js'); });
570
+ const { getItem } = getItemMod;
571
+ const relatedItem = await getItem({
572
+ seedLocalId,
573
+ seedUid,
574
+ });
575
+ if (!relatedItem) {
576
+ console.error(`No related item found for list property: ${listProperty.propertyName}`);
577
+ continue;
578
+ }
579
+ if (relatedItem.seedUid) {
580
+ continue;
581
+ }
582
+ const versionUid = getVersionUid(relatedItem);
583
+ let modelName;
584
+ if (listProperty.propertyDef?.ref || listProperty.propertyDef.refModelName) {
585
+ const def = listProperty.propertyDef;
586
+ modelName = def.ref ?? def.refModelName;
587
+ }
588
+ if (listProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Image) {
589
+ modelName = 'Image';
590
+ }
591
+ if (listProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.File) {
592
+ modelName = 'File';
593
+ }
594
+ if (listProperty.propertyDef?.dataType === main_cjs.ModelPropertyDataTypes.Html) {
595
+ modelName = 'Html';
596
+ }
597
+ if (!modelName) {
598
+ addValidationError(ctx, `Model name not found for list property: ${listProperty.propertyName}`, listProperty.propertyName);
599
+ continue;
600
+ }
601
+ const seedSchemaUid = await main_cjs.getEasSchemaUidForModel(modelName);
602
+ if (!seedSchemaUid) {
603
+ addValidationError(ctx, `Schema UID not found for model: ${modelName}`, listProperty.propertyName);
604
+ continue;
605
+ }
606
+ let publishPayload = {
607
+ localId: relatedItem.seedLocalId,
608
+ seedIsRevocable: true,
609
+ versionSchemaUid: main_cjs.VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
610
+ seedUid: seedUid || main_cjs.ZERO_BYTES32,
611
+ seedSchemaUid,
612
+ versionUid,
613
+ listOfAttestations: [],
614
+ propertiesToUpdate: [
615
+ {
616
+ publishLocalId: originalSeedLocalId,
617
+ propertySchemaUid: listPropertySchemaUid,
618
+ },
619
+ ],
620
+ };
621
+ await ensurePropertyDefs(relatedItem);
622
+ const { itemBasicProperties } = await getSegmentedItemProperties.getSegmentedItemProperties(relatedItem);
623
+ publishPayload = await processBasicProperties(itemBasicProperties, publishPayload, ctx);
624
+ multiPublishPayload.push(publishPayload);
625
+ }
626
+ return multiPublishPayload;
627
+ };
628
+ /** Error thrown when publish validation fails. Includes all validation errors for user to fix. */
629
+ class PublishValidationFailedError extends Error {
630
+ constructor(message, validationErrors) {
631
+ super(message);
632
+ this.validationErrors = validationErrors;
633
+ this.name = 'PublishValidationFailedError';
634
+ }
635
+ }
636
+ const getPublishPayload = async (item, uploadedTransactions) => {
637
+ const validationCtx = { errors: [] };
638
+ let multiPublishPayload = [];
639
+ // Each PublishPayload is generated from a Seed that needs publishing
640
+ // First we need to determine all Seeds to publish
641
+ // That means the Seed of the Item, plus any Seeds pointed to by Relations
642
+ // Check if the item has a schema UID
643
+ let itemSchemaUid = item.schemaUid;
644
+ if (!itemSchemaUid) {
645
+ const schemaUid = await main_cjs.getEasSchemaUidForModel(item.modelName);
646
+ if (!schemaUid) {
647
+ addValidationError(validationCtx, `Schema UID not found for model: ${item.modelName}`);
648
+ itemSchemaUid = main_cjs.ZERO_BYTES32; // placeholder so we can continue collecting errors
649
+ }
650
+ else {
651
+ itemSchemaUid = schemaUid;
652
+ }
653
+ }
654
+ let versionUid = getVersionUid(item);
655
+ if (versionUid === main_cjs.ZERO_BYTES32 && item.seedUid && item.seedUid !== main_cjs.ZERO_BYTES32) {
656
+ versionUid = await resolveVersionUid(item.seedLocalId, item.seedUid);
657
+ }
658
+ let itemPublishData = {
659
+ localId: item.seedLocalId,
660
+ seedUid: item.seedUid || main_cjs.ZERO_BYTES32,
661
+ seedIsRevocable: true,
662
+ seedSchemaUid: itemSchemaUid,
663
+ versionSchemaUid: main_cjs.VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
664
+ versionUid,
665
+ listOfAttestations: [],
666
+ propertiesToUpdate: [],
667
+ };
668
+ await ensurePropertyDefs(item);
669
+ const { itemBasicProperties, itemListProperties, itemUploadProperties, itemImageProperties, itemRelationProperties, } = await getSegmentedItemProperties.getSegmentedItemProperties(item);
670
+ const relationAndImageProperties = [...itemRelationProperties, ...itemImageProperties];
671
+ // Validate required relations have values before processing
672
+ for (const relProp of itemRelationProperties) {
673
+ const snapshot = relProp.getService().getSnapshot();
674
+ const ctx = 'context' in snapshot ? snapshot.context : null;
675
+ const val = ctx ? ctx.renderValue ?? ctx.propertyValue : undefined;
676
+ if (val != null && typeof val === 'string' && val.trim() !== '')
677
+ continue;
678
+ // No value - check if required from propertyDef or DB
679
+ let isRequired = relProp.propertyDef?.required === true;
680
+ if (!isRequired && main_cjs.BaseDb.getAppDb() && item.modelName) {
681
+ const normalizedModelName = lodashEs.upperFirst(lodashEs.camelCase(item.modelName));
682
+ const modelRows = await main_cjs.BaseDb.getAppDb()
683
+ .select({ id: main_cjs.models.id })
684
+ .from(main_cjs.models)
685
+ .where(drizzleOrm.eq(main_cjs.models.name, normalizedModelName))
686
+ .limit(1);
687
+ if (modelRows.length > 0) {
688
+ const propRows = await main_cjs.BaseDb.getAppDb()
689
+ .select({ required: main_cjs.properties.required, refModelId: main_cjs.properties.refModelId })
690
+ .from(main_cjs.properties)
691
+ .where(drizzleOrm.and(drizzleOrm.eq(main_cjs.properties.modelId, modelRows[0].id), drizzleOrm.eq(main_cjs.properties.name, relProp.propertyName), drizzleOrm.eq(main_cjs.properties.dataType, 'Relation')))
692
+ .limit(1);
693
+ if (propRows.length > 0 && (propRows[0].required === true || propRows[0].required === 1)) {
694
+ isRequired = true;
695
+ }
696
+ }
697
+ }
698
+ if (isRequired) {
699
+ const refModel = relProp.propertyDef?.ref ?? relProp.propertyDef?.refModelName ?? 'related';
700
+ addValidationError(validationCtx, `Required relation ${relProp.propertyName} has no value. ` +
701
+ `A value pointing to a valid ${refModel} item is required to publish.`, relProp.propertyName);
702
+ }
703
+ }
704
+ if (itemUploadProperties.length === 1) {
705
+ const uploadProperty = itemUploadProperties[0];
706
+ const itemProperty = uploadProperty.itemProperty;
707
+ const transactionData = uploadedTransactions.find((transaction) => transaction.seedLocalId === item.seedLocalId);
708
+ if (transactionData) {
709
+ itemProperty.value = transactionData.txId;
710
+ await itemProperty.save();
711
+ itemBasicProperties.push(itemProperty);
712
+ }
713
+ }
714
+ for (const relationProperty of relationAndImageProperties) {
715
+ multiPublishPayload = await processRelationOrImageProperty(relationProperty, multiPublishPayload, uploadedTransactions, item.seedLocalId, validationCtx);
716
+ itemBasicProperties.push(relationProperty);
717
+ }
718
+ for (const listProperty of itemListProperties) {
719
+ multiPublishPayload = await processListProperty(listProperty, multiPublishPayload, item.seedLocalId, validationCtx);
720
+ itemBasicProperties.push(listProperty);
721
+ }
722
+ itemPublishData = await processBasicProperties(itemBasicProperties, itemPublishData, validationCtx);
723
+ multiPublishPayload.push(itemPublishData);
724
+ // Ensure requests are ordered so that when A has propertiesToUpdate pointing to B (publishLocalId),
725
+ // A (the updater) is published before B (the updatee). The contract injects A's seedUid into B's
726
+ // attestation before B is sent to EAS.
727
+ multiPublishPayload = orderPayloadByDependencies(multiPublishPayload);
728
+ // Ensure attestations referenced in propertiesToUpdate have at least one data element.
729
+ // The contract writes the seed UID into data[0].data; empty data causes Panic 50.
730
+ multiPublishPayload = ensurePropertiesToUpdateAttestationsHaveData(multiPublishPayload);
731
+ if (validationCtx.errors.length > 0) {
732
+ const combinedMessage = validationCtx.errors.map((e) => e.message).join('\n');
733
+ throw new PublishValidationFailedError(`Validation failed (${validationCtx.errors.length} error${validationCtx.errors.length === 1 ? '' : 's'}):\n${combinedMessage}`, validationCtx.errors);
734
+ }
735
+ return multiPublishPayload;
736
+ };
737
+ /**
738
+ * Validates an item for publishing without performing Arweave or EAS work.
739
+ * Use in the checking step to fail fast before creating transactions.
740
+ * Pass empty array for uploadedTransactions when validating before Arweave upload.
741
+ */
742
+ const validateItemForPublish = async (item, uploadedTransactions = []) => {
743
+ try {
744
+ await getPublishPayload(item, uploadedTransactions);
745
+ return { isValid: true, errors: [] };
746
+ }
747
+ catch (err) {
748
+ if (err instanceof PublishValidationFailedError) {
749
+ return { isValid: false, errors: err.validationErrors };
750
+ }
751
+ throw err;
752
+ }
753
+ };
754
+ /**
755
+ * Normalize a schema UID to 0x-prefixed 64-char hex for comparison.
756
+ */
757
+ function normalizeSchemaUid(v) {
758
+ if (v == null || v === '')
759
+ return '';
760
+ const raw = v.startsWith('0x') ? v.slice(2) : v;
761
+ const hex = raw.replace(/[^0-9a-fA-F]/g, '0').padStart(64, '0').slice(-64);
762
+ return ('0x' + hex).toLowerCase();
763
+ }
764
+ /**
765
+ * Ensure that when request A has propertiesToUpdate with (publishLocalId: B, propertySchemaUid: X),
766
+ * request B has an attestation for schema X with at least one data element. The contract writes
767
+ * the seed UID into data[0].data; empty data causes Panic 50.
768
+ */
769
+ function ensurePropertiesToUpdateAttestationsHaveData(payload) {
770
+ const byLocalId = new Map();
771
+ for (const p of payload) {
772
+ byLocalId.set(p.localId, p);
773
+ }
774
+ const placeholderData = {
775
+ ...main_cjs.defaultAttestationData,
776
+ data: main_cjs.ZERO_BYTES32,
777
+ };
778
+ for (const req of payload) {
779
+ for (const pu of req.propertiesToUpdate ?? []) {
780
+ const targetId = pu.publishLocalId;
781
+ const schemaUid = pu.propertySchemaUid;
782
+ if (!targetId || !schemaUid)
783
+ continue;
784
+ const targetReq = byLocalId.get(targetId);
785
+ if (!targetReq?.listOfAttestations)
786
+ continue;
787
+ const wantSchema = normalizeSchemaUid(schemaUid);
788
+ const att = targetReq.listOfAttestations.find((a) => normalizeSchemaUid(a?.schema) === wantSchema);
789
+ if (!att)
790
+ continue;
791
+ if (!Array.isArray(att.data) || att.data.length === 0) {
792
+ att.data = [placeholderData];
793
+ }
794
+ }
795
+ }
796
+ return payload;
797
+ }
798
+ /**
799
+ * Topological sort: when request A has propertiesToUpdate with publishLocalId B,
800
+ * A (the updater) must appear before B (the updatee). The contract injects A's seedUid
801
+ * into B's attestation before B is sent to EAS; if B is processed first, B's attestation
802
+ * goes out with wrong data (string instead of bytes32).
803
+ */
804
+ function orderPayloadByDependencies(payload) {
805
+ const byLocalId = new Map();
806
+ for (const p of payload) {
807
+ byLocalId.set(p.localId, p);
808
+ }
809
+ const visited = new Set();
810
+ const result = [];
811
+ const visit = (localId) => {
812
+ if (visited.has(localId))
813
+ return;
814
+ visited.add(localId);
815
+ const p = byLocalId.get(localId);
816
+ if (!p)
817
+ return;
818
+ result.push(p);
819
+ for (const u of p.propertiesToUpdate ?? []) {
820
+ const targetId = u.publishLocalId;
821
+ if (targetId && targetId !== localId)
822
+ visit(targetId);
823
+ }
824
+ };
825
+ for (const p of payload) {
826
+ visit(p.localId);
827
+ }
828
+ return result;
829
+ }
830
+ /**
831
+ * Resolves relation/image property values (seedLocalId) to attestation uids after dependent seeds are published.
832
+ * Call after each payload is published, passing the returned attestation uid for that seed's localId.
833
+ * Returns an updated multiPayload with re-encoded attestations where resolution was applied.
834
+ */
835
+ const resolvePublishPayloadValues = async (multiPayload, resolvedUids) => {
836
+ if (Object.keys(resolvedUids).length === 0) {
837
+ return multiPayload;
838
+ }
839
+ const SchemaEncoder = await getSchemaEncoder();
840
+ const result = [];
841
+ for (const payload of multiPayload) {
842
+ const updatedAttestations = [];
843
+ for (const attestation of payload.listOfAttestations) {
844
+ const entry = attestation;
845
+ const resolvedUid = entry._unresolvedValue && resolvedUids[entry._unresolvedValue];
846
+ if (resolvedUid && entry._schemaDef && entry._propertyName) {
847
+ const propertyNameForSchema = main_cjs.toSnakeCase(entry._propertyName);
848
+ const dataEncoder = new SchemaEncoder(entry._schemaDef);
849
+ const encodedData = dataEncoder.encodeData([
850
+ {
851
+ name: propertyNameForSchema,
852
+ type: entry._easDataType || 'bytes32',
853
+ value: resolvedUid,
854
+ },
855
+ ]);
856
+ const baseData = Array.isArray(entry.data) ? entry.data[0] : entry.data;
857
+ updatedAttestations.push({
858
+ ...entry,
859
+ data: [
860
+ {
861
+ ...baseData,
862
+ data: encodedData,
863
+ },
864
+ ],
865
+ _unresolvedValue: undefined,
866
+ });
867
+ }
868
+ else {
869
+ const normalizedEntry = {
870
+ ...entry,
871
+ data: Array.isArray(entry.data) ? entry.data : [entry.data],
872
+ };
873
+ updatedAttestations.push(normalizedEntry);
874
+ }
875
+ }
876
+ result.push({
877
+ ...payload,
878
+ listOfAttestations: updatedAttestations,
879
+ });
880
+ }
881
+ return result;
882
+ };
883
+
884
+ exports.PublishValidationFailedError = PublishValidationFailedError;
885
+ exports.getPublishPayload = getPublishPayload;
886
+ exports.resolvePublishPayloadValues = resolvePublishPayloadValues;
887
+ exports.validateItemForPublish = validateItemForPublish;
888
+ //# sourceMappingURL=getPublishPayload-dR9co4rH.js.map