@seedprotocol/sdk 0.4.16 → 0.4.18

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 (237) hide show
  1. package/dist/{ArweaveClient-Zz6VwCkj.js → ArweaveClient-CpShI0B0.js} +3 -3
  2. package/dist/{ArweaveClient-Zz6VwCkj.js.map → ArweaveClient-CpShI0B0.js.map} +1 -1
  3. package/dist/{ArweaveClient-DPeCeRMF.js → ArweaveClient-WfxkMgxb.js} +3 -3
  4. package/dist/{ArweaveClient-DPeCeRMF.js.map → ArweaveClient-WfxkMgxb.js.map} +1 -1
  5. package/dist/{Db-Cvoi9q3N.js → Db-29bu0gJx.js} +4 -4
  6. package/dist/{Db-Cvoi9q3N.js.map → Db-29bu0gJx.js.map} +1 -1
  7. package/dist/{Db-DsFElL33.js → Db-DWvxJG22.js} +4 -4
  8. package/dist/{Db-DsFElL33.js.map → Db-DWvxJG22.js.map} +1 -1
  9. package/dist/{EasClient-B2N8bc3C.js → EasClient-BwBg9Kkd.js} +2 -2
  10. package/dist/{EasClient-D5Nn1WBF.js.map → EasClient-BwBg9Kkd.js.map} +1 -1
  11. package/dist/{EasClient-D5Nn1WBF.js → EasClient-CtLqK_qz.js} +2 -2
  12. package/dist/{EasClient-B2N8bc3C.js.map → EasClient-CtLqK_qz.js.map} +1 -1
  13. package/dist/{FileManager-Cqy_Lq46.js → FileManager-DSihj6Sj.js} +2 -2
  14. package/dist/{FileManager-Cqy_Lq46.js.map → FileManager-DSihj6Sj.js.map} +1 -1
  15. package/dist/{FileManager-Bk-JeMoA.js → FileManager-DgraLHZS.js} +2 -2
  16. package/dist/{FileManager-Bk-JeMoA.js.map → FileManager-DgraLHZS.js.map} +1 -1
  17. package/dist/{ModelProperty-CkQaEsBu.js → ModelProperty-Bz3V3LoI.js} +24 -24
  18. package/dist/{ModelProperty-CkQaEsBu.js.map → ModelProperty-Bz3V3LoI.js.map} +1 -1
  19. package/dist/{PathResolver-DF1QFI1d.js → PathResolver-DOu-0k75.js} +2 -2
  20. package/dist/{PathResolver-DF1QFI1d.js.map → PathResolver-DOu-0k75.js.map} +1 -1
  21. package/dist/{PathResolver-C3sdR5LL.js → PathResolver-DQ5hyu8X.js} +2 -2
  22. package/dist/{PathResolver-C3sdR5LL.js.map → PathResolver-DQ5hyu8X.js.map} +1 -1
  23. package/dist/{QueryClient-CnONLIkA.js → QueryClient-CJV1m2rc.js} +2 -2
  24. package/dist/{QueryClient-CnONLIkA.js.map → QueryClient-CJV1m2rc.js.map} +1 -1
  25. package/dist/{QueryClient-Ctgd0tDn.js → QueryClient-DYaqIx7e.js} +2 -2
  26. package/dist/{QueryClient-Ctgd0tDn.js.map → QueryClient-DYaqIx7e.js.map} +1 -1
  27. package/dist/{Schema-Bnim4hAF.js → Schema-CFMbnImW.js} +38 -38
  28. package/dist/{Schema-Bnim4hAF.js.map → Schema-CFMbnImW.js.map} +1 -1
  29. package/dist/{SchemaValidationService-DXxRk-9Q.js → SchemaValidationService-D4ZVetLE.js} +2 -2
  30. package/dist/{SchemaValidationService-DXxRk-9Q.js.map → SchemaValidationService-D4ZVetLE.js.map} +1 -1
  31. package/dist/{backfillMetadataPropertyIds-dzwzz4dA.js → backfillMetadataPropertyIds-DptGKVzG.js} +2 -2
  32. package/dist/{backfillMetadataPropertyIds-dzwzz4dA.js.map → backfillMetadataPropertyIds-DptGKVzG.js.map} +1 -1
  33. package/dist/cjs/{ModelProperty-C80601ai.js → ModelProperty-TPey_B4m.js} +17 -17
  34. package/dist/cjs/{ModelProperty-C80601ai.js.map → ModelProperty-TPey_B4m.js.map} +1 -1
  35. package/dist/cjs/{Schema-6BQKp7hO.js → Schema-B-IQEtpX.js} +20 -20
  36. package/dist/cjs/{Schema-6BQKp7hO.js.map → Schema-B-IQEtpX.js.map} +1 -1
  37. package/dist/cjs/{SchemaValidationService-BySF1P0v.js → SchemaValidationService-IQ0Gc9HM.js} +2 -2
  38. package/dist/cjs/{SchemaValidationService-BySF1P0v.js.map → SchemaValidationService-IQ0Gc9HM.js.map} +1 -1
  39. package/dist/cjs/{backfillMetadataPropertyIds-D9uzW5bW.js → backfillMetadataPropertyIds-BBPgBc2W.js} +2 -2
  40. package/dist/cjs/{backfillMetadataPropertyIds-D9uzW5bW.js.map → backfillMetadataPropertyIds-BBPgBc2W.js.map} +1 -1
  41. package/dist/cjs/{getItem-Dj49AjWB.js → getItem-CWf0OO0F.js} +2 -2
  42. package/dist/cjs/{getItem-Dj49AjWB.js.map → getItem-CWf0OO0F.js.map} +1 -1
  43. package/dist/cjs/{getPublishPayload-dR9co4rH.js → getPublishPayload-muuS1j0F.js} +519 -79
  44. package/dist/cjs/getPublishPayload-muuS1j0F.js.map +1 -0
  45. package/dist/cjs/{getPublishUploads-g61mgXaA.js → getPublishUploads-CONYV9QQ.js} +14 -8
  46. package/dist/cjs/getPublishUploads-CONYV9QQ.js.map +1 -0
  47. package/dist/cjs/{getSegmentedItemProperties-NFvOHlAi.js → getSegmentedItemProperties-Dl3J_uCe.js} +5 -4
  48. package/dist/cjs/getSegmentedItemProperties-Dl3J_uCe.js.map +1 -0
  49. package/dist/cjs/{index-9O_Ji1kY.js → index-Bte-I6OD.js} +119 -59
  50. package/dist/cjs/index-Bte-I6OD.js.map +1 -0
  51. package/dist/cjs/{index-ud9i9fpp.js → index-D7a8oFJP.js} +3 -3
  52. package/dist/cjs/index-D7a8oFJP.js.map +1 -0
  53. package/dist/cjs/{ownership-CyLRNReQ.js → ownership-Bxv6CUrH.js} +2 -2
  54. package/dist/cjs/{ownership-CyLRNReQ.js.map → ownership-Bxv6CUrH.js.map} +1 -1
  55. package/dist/cjs/{property-Hj-RhQVX.js → property-xOF5k4ka.js} +4 -4
  56. package/dist/cjs/{property-Hj-RhQVX.js.map → property-xOF5k4ka.js.map} +1 -1
  57. package/dist/{getItem-ClK0UZqi.js → getItem-Hubs_yxu.js} +2 -2
  58. package/dist/{getItem-ClK0UZqi.js.map → getItem-Hubs_yxu.js.map} +1 -1
  59. package/dist/{getPublishPayload-CdfPTl8l.js → getPublishPayload-CqUCIlu1.js} +522 -82
  60. package/dist/getPublishPayload-CqUCIlu1.js.map +1 -0
  61. package/dist/{getPublishUploads-CGBky9q9.js → getPublishUploads-QgfPyhcs.js} +14 -8
  62. package/dist/getPublishUploads-QgfPyhcs.js.map +1 -0
  63. package/dist/{getSegmentedItemProperties-CJWdYH9W.js → getSegmentedItemProperties-Dzscmm_m.js} +5 -4
  64. package/dist/getSegmentedItemProperties-Dzscmm_m.js.map +1 -0
  65. package/dist/{index-uPXtq2cf.js → index-CtzvJMAE.js} +131 -73
  66. package/dist/index-CtzvJMAE.js.map +1 -0
  67. package/dist/{index-C74KrwXN.js → index-QSl4EYun.js} +2 -2
  68. package/dist/index-QSl4EYun.js.map +1 -0
  69. package/dist/{index-CgmWq1sF.js → index-VmIdPfTW.js} +3 -3
  70. package/dist/index-VmIdPfTW.js.map +1 -0
  71. package/dist/main.cjs +1 -1
  72. package/dist/main.js +114 -18
  73. package/dist/main.js.map +1 -1
  74. package/dist/node.js +10 -10
  75. package/dist/{ownership-QK5haR3-.js → ownership-loPNh3_a.js} +2 -2
  76. package/dist/{ownership-QK5haR3-.js.map → ownership-loPNh3_a.js.map} +1 -1
  77. package/dist/{property-Dt0U3UXJ.js → property-D8HimAKw.js} +6 -6
  78. package/dist/{property-Dt0U3UXJ.js.map → property-D8HimAKw.js.map} +1 -1
  79. package/dist/{queries-BUB-vUBm.js → queries-DPADHnwy.js} +2 -2
  80. package/dist/{queries-BUB-vUBm.js.map → queries-DPADHnwy.js.map} +1 -1
  81. package/dist/src/Item/Item.d.ts +12 -9
  82. package/dist/src/Item/Item.d.ts.map +1 -1
  83. package/dist/src/Item/queries.d.ts +3 -3
  84. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts +1 -1
  85. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +1 -1
  86. package/dist/src/Item/service/actors/hydrateExistingItem.d.ts +1 -1
  87. package/dist/src/Item/service/actors/hydrateNewItem.d.ts +1 -1
  88. package/dist/src/Item/service/actors/initialize.d.ts +1 -1
  89. package/dist/src/Item/service/actors/loadOrCreateItem.d.ts +2 -2
  90. package/dist/src/Item/service/actors/reload.d.ts +2 -2
  91. package/dist/src/Item/service/actors/runPublish.d.ts +2 -2
  92. package/dist/src/Item/service/actors/saveDataToDb.d.ts +1 -1
  93. package/dist/src/Item/service/actors/waitForDb.d.ts +1 -1
  94. package/dist/src/Item/service/itemMachineSingle.d.ts +11 -11
  95. package/dist/src/ItemProperty/ItemProperty.d.ts +5 -5
  96. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts +2 -2
  97. package/dist/src/ItemProperty/service/actors/initialize.d.ts +2 -2
  98. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts +2 -2
  99. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts +2 -2
  100. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts +2 -2
  101. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts +2 -2
  102. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveFile.d.ts +2 -2
  103. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveHtml.d.ts +2 -2
  104. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts +2 -2
  105. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts +2 -2
  106. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts +2 -2
  107. package/dist/src/ItemProperty/service/actors/waitForDb.d.ts +1 -1
  108. package/dist/src/ItemProperty/service/propertyMachine.d.ts +14 -14
  109. package/dist/src/Model/Model.d.ts +2 -2
  110. package/dist/src/Model/service/actors/createModelProperties.d.ts +1 -1
  111. package/dist/src/Model/service/actors/loadOrCreateModel.d.ts +1 -1
  112. package/dist/src/Model/service/actors/validateModel.d.ts +1 -1
  113. package/dist/src/Model/service/modelMachine.d.ts +6 -6
  114. package/dist/src/ModelProperty/ModelProperty.d.ts +3 -3
  115. package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts +1 -1
  116. package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts +1 -1
  117. package/dist/src/ModelProperty/service/actors/validateProperty.d.ts +1 -1
  118. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +7 -7
  119. package/dist/src/Schema/Schema.d.ts +1 -1
  120. package/dist/src/Schema/service/actors/checkExistingSchema.d.ts +1 -1
  121. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts +1 -1
  122. package/dist/src/Schema/service/actors/validateSchema.d.ts +1 -1
  123. package/dist/src/Schema/service/actors/writeModelsToDb.d.ts +1 -1
  124. package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts +1 -1
  125. package/dist/src/Schema/service/addModelsMachine.d.ts +1 -1
  126. package/dist/src/Schema/service/schemaMachine.d.ts +7 -7
  127. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +4 -4
  128. package/dist/src/browser/db/Db.d.ts +2 -2
  129. package/dist/src/browser/helpers/ArweaveClient.d.ts +2 -2
  130. package/dist/src/browser/helpers/EasClient.d.ts +1 -1
  131. package/dist/src/browser/helpers/FileManager.d.ts +1 -1
  132. package/dist/src/browser/helpers/PathResolver.d.ts +1 -1
  133. package/dist/src/browser/helpers/QueryClient.d.ts +2 -2
  134. package/dist/src/browser/seed.d.ts +1 -1
  135. package/dist/src/client/BaseClientManager.d.ts +1 -1
  136. package/dist/src/client/ClientManager.d.ts +41 -41
  137. package/dist/src/client/actors/addModelsToDb.d.ts +1 -1
  138. package/dist/src/client/actors/addModelsToStore.d.ts +1 -1
  139. package/dist/src/client/actors/dbInit.d.ts +1 -1
  140. package/dist/src/client/actors/fileSystemInit.d.ts +1 -1
  141. package/dist/src/client/actors/platformClassesInit.d.ts +1 -1
  142. package/dist/src/client/actors/processSchemaFiles.d.ts +1 -1
  143. package/dist/src/client/actors/saveConfig.d.ts +1 -1
  144. package/dist/src/client/clientManagerMachine.d.ts +11 -11
  145. package/dist/src/client/constants.d.ts +2 -2
  146. package/dist/src/db/Db/BaseDb.d.ts +1 -1
  147. package/dist/src/db/read/getItem.d.ts +1 -1
  148. package/dist/src/db/read/getItemData.d.ts +1 -1
  149. package/dist/src/db/read/getItemProperties.d.ts +1 -1
  150. package/dist/src/db/read/getItemProperty.d.ts +1 -1
  151. package/dist/src/db/read/getItems.d.ts +1 -1
  152. package/dist/src/db/read/getMetadata.d.ts +1 -1
  153. package/dist/src/db/read/getModels.d.ts +1 -1
  154. package/dist/src/db/read/getPropertyData.d.ts +2 -2
  155. package/dist/src/db/read/getPublishPayload.d.ts +12 -4
  156. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
  157. package/dist/src/db/read/getPublishPendingDiff.d.ts +25 -0
  158. package/dist/src/db/read/getPublishPendingDiff.d.ts.map +1 -0
  159. package/dist/src/db/read/getPublishUploads.d.ts +3 -3
  160. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  161. package/dist/src/db/read/getRelatedItemsForPublish.d.ts +1 -1
  162. package/dist/src/db/read/getRelatedItemsForPublish.d.ts.map +1 -1
  163. package/dist/src/db/read/getRelationValueData.d.ts +1 -1
  164. package/dist/src/db/read/getSeedData.d.ts +1 -1
  165. package/dist/src/db/read/getVersionData.d.ts +1 -1
  166. package/dist/src/db/write/createMetadata.d.ts +2 -2
  167. package/dist/src/db/write/createNewItem.d.ts +1 -1
  168. package/dist/src/db/write/createSeeds.d.ts +1 -1
  169. package/dist/src/db/write/saveMetadata.d.ts +1 -1
  170. package/dist/src/db/write/updateItemPropertyValue.d.ts +1 -1
  171. package/dist/src/db/write/updateMetadata.d.ts +2 -2
  172. package/dist/src/eas.d.ts +6 -1
  173. package/dist/src/eas.d.ts.map +1 -1
  174. package/dist/src/events/files/download.d.ts +1 -1
  175. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +1 -1
  176. package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts +1 -1
  177. package/dist/src/helpers/EasClient/BaseEasClient.d.ts +1 -1
  178. package/dist/src/helpers/QueryClient/BaseQueryClient.d.ts +1 -1
  179. package/dist/src/helpers/addresses.d.ts +1 -1
  180. package/dist/src/helpers/db.d.ts +4 -4
  181. package/dist/src/helpers/easPropertyCanonical.d.ts +15 -0
  182. package/dist/src/helpers/easPropertyCanonical.d.ts.map +1 -0
  183. package/dist/src/helpers/file/fetchAll/index.d.ts +1 -1
  184. package/dist/src/helpers/getSchemaForItemProperty.d.ts +1 -1
  185. package/dist/src/helpers/getSegmentedItemProperties.d.ts +6 -6
  186. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
  187. package/dist/src/helpers/index.d.ts +3 -1
  188. package/dist/src/helpers/index.d.ts.map +1 -1
  189. package/dist/src/helpers/model.d.ts +1 -1
  190. package/dist/src/helpers/ownership.d.ts +1 -1
  191. package/dist/src/helpers/property/index.d.ts +1 -1
  192. package/dist/src/helpers/property.d.ts +1 -1
  193. package/dist/src/helpers/publishConfig.d.ts +1 -1
  194. package/dist/src/helpers/relationSeedRef.d.ts +8 -0
  195. package/dist/src/helpers/relationSeedRef.d.ts.map +1 -0
  196. package/dist/src/helpers/schema.d.ts +2 -2
  197. package/dist/src/helpers/updateSchema.d.ts +2 -2
  198. package/dist/src/imports/json.d.ts +1 -1
  199. package/dist/src/imports/markdown.d.ts +1 -1
  200. package/dist/src/index.d.ts +5 -0
  201. package/dist/src/index.d.ts.map +1 -1
  202. package/dist/src/interfaces/IItem.d.ts +5 -3
  203. package/dist/src/interfaces/IItem.d.ts.map +1 -1
  204. package/dist/src/interfaces/IItemProperty.d.ts +3 -3
  205. package/dist/src/node/codegen/drizzle.d.ts +1 -1
  206. package/dist/src/node/db/Db.d.ts +3 -3
  207. package/dist/src/node/helpers/ArweaveClient.d.ts +2 -2
  208. package/dist/src/node/helpers/EasClient.d.ts +1 -1
  209. package/dist/src/node/helpers/FileManager.d.ts +1 -1
  210. package/dist/src/node/helpers/PathResolver.d.ts +1 -1
  211. package/dist/src/node/helpers/QueryClient.d.ts +2 -2
  212. package/dist/src/services/publish/actors/createPublishAttempt.d.ts +1 -1
  213. package/dist/src/services/publish/actors/preparePublishRequestData.d.ts +1 -1
  214. package/dist/src/services/publish/actors/upload.d.ts +1 -1
  215. package/dist/src/services/publish/actors/validateItemData.d.ts +1 -1
  216. package/dist/src/services/publish/publishMachine.d.ts +7 -7
  217. package/dist/src/services/write/writeProcessMachine.d.ts +1 -1
  218. package/dist/src/types/db.d.ts +1 -1
  219. package/dist/src/types/index.d.ts +1 -1
  220. package/dist/src/types/item.d.ts +6 -6
  221. package/dist/src/types/machines.d.ts +2 -2
  222. package/dist/src/types/model.d.ts +3 -3
  223. package/dist/src/types/property.d.ts +3 -3
  224. package/dist/src/types/publish.d.ts +1 -1
  225. package/dist/src/types/seedProtocol.d.ts +1 -1
  226. package/package.json +2 -2
  227. package/dist/cjs/getPublishPayload-dR9co4rH.js.map +0 -1
  228. package/dist/cjs/getPublishUploads-g61mgXaA.js.map +0 -1
  229. package/dist/cjs/getSegmentedItemProperties-NFvOHlAi.js.map +0 -1
  230. package/dist/cjs/index-9O_Ji1kY.js.map +0 -1
  231. package/dist/cjs/index-ud9i9fpp.js.map +0 -1
  232. package/dist/getPublishPayload-CdfPTl8l.js.map +0 -1
  233. package/dist/getPublishUploads-CGBky9q9.js.map +0 -1
  234. package/dist/getSegmentedItemProperties-CJWdYH9W.js.map +0 -1
  235. package/dist/index-C74KrwXN.js.map +0 -1
  236. package/dist/index-CgmWq1sF.js.map +0 -1
  237. package/dist/index-uPXtq2cf.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { q as getCorrectId, r as Item, t as BaseFileManager, u as getContentHash, v as BaseArweaveClient } from './index-uPXtq2cf.js';
2
- import { g as getSegmentedItemProperties } from './getSegmentedItemProperties-CJWdYH9W.js';
1
+ import { r as resolveSeedIdsFromRefString, q as normalizeRelationPropertyValue, t as Item, u as BaseFileManager, v as getContentHash, w as BaseArweaveClient } from './index-CtzvJMAE.js';
2
+ import { g as getSegmentedItemProperties } from './getSegmentedItemProperties-Dzscmm_m.js';
3
3
  import debug from 'debug';
4
4
  import 'xstate';
5
5
  import 'drizzle-orm/sqlite-core';
@@ -16,7 +16,7 @@ import 'eventemitter3';
16
16
  import 'arweave';
17
17
  import 'js-sha3';
18
18
  import 'reflect-metadata';
19
- import './property-Dt0U3UXJ.js';
19
+ import './property-D8HimAKw.js';
20
20
 
21
21
  const logger = debug('seedSdk:item:getPublishUploads');
22
22
  const EXTENSION_TO_MIME = {
@@ -84,7 +84,7 @@ const getStorageSeedUploads = async (itemStorageSeedProperties) => {
84
84
  continue;
85
85
  }
86
86
  // propertyValue is the storage seed's seedLocalId; use it for the upload so processRelationOrImageProperty can match
87
- const { localId: seedLocalId } = getCorrectId(propertyValue);
87
+ const { seedLocalId } = resolveSeedIdsFromRefString(normalizeRelationPropertyValue(propertyValue) ?? '');
88
88
  if (!seedLocalId) {
89
89
  continue;
90
90
  }
@@ -129,7 +129,7 @@ async function storageSeedHasUploadCandidates(itemStorageSeedProperties) {
129
129
  if (!refResolvedValue) {
130
130
  continue;
131
131
  }
132
- const { localId: seedLocalId } = getCorrectId(propertyValue);
132
+ const { seedLocalId } = resolveSeedIdsFromRefString(normalizeRelationPropertyValue(propertyValue) ?? '');
133
133
  if (!seedLocalId) {
134
134
  continue;
135
135
  }
@@ -192,7 +192,10 @@ async function itemHasPublishUploadCandidates(item, relatedItemProperty) {
192
192
  if (!propertyValue || relationProperty.uid) {
193
193
  continue;
194
194
  }
195
- const { localId: seedLocalId, uid: seedUid } = getCorrectId(propertyValue);
195
+ const { seedLocalId, seedUid } = resolveSeedIdsFromRefString(normalizeRelationPropertyValue(propertyValue) ?? '');
196
+ if (!seedLocalId && !seedUid) {
197
+ throw new Error(`Invalid relation value for ${relationProperty.propertyName}: expected local seed id or 0x uid`);
198
+ }
196
199
  const relatedItem = await Item.find({
197
200
  seedLocalId,
198
201
  seedUid,
@@ -323,7 +326,10 @@ const getPublishUploads = async (item, uploads = [], relatedItemProperty) => {
323
326
  if (!propertyValue || relationProperty.uid) {
324
327
  continue;
325
328
  }
326
- const { localId: seedLocalId, uid: seedUid } = getCorrectId(propertyValue);
329
+ const { seedLocalId, seedUid } = resolveSeedIdsFromRefString(normalizeRelationPropertyValue(propertyValue) ?? '');
330
+ if (!seedLocalId && !seedUid) {
331
+ throw new Error(`Invalid relation value for ${relationProperty.propertyName}: expected local seed id or 0x uid`);
332
+ }
327
333
  const relatedItem = await Item.find({
328
334
  seedLocalId,
329
335
  seedUid,
@@ -337,4 +343,4 @@ const getPublishUploads = async (item, uploads = [], relatedItemProperty) => {
337
343
  };
338
344
 
339
345
  export { getPublishUploads, itemHasPublishUploadCandidates, prepareArweaveTransaction };
340
- //# sourceMappingURL=getPublishUploads-CGBky9q9.js.map
346
+ //# sourceMappingURL=getPublishUploads-QgfPyhcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPublishUploads-QgfPyhcs.js","sources":["../../src/db/read/getPublishUploads.ts"],"sourcesContent":["import { BaseFileManager } from '@/helpers'\nimport {\n normalizeRelationPropertyValue,\n resolveSeedIdsFromRefString,\n} from '@/helpers/relationSeedRef'\nimport { BaseArweaveClient } from '@/helpers/ArweaveClient/BaseArweaveClient'\nimport { getSegmentedItemProperties } from '@/helpers/getSegmentedItemProperties'\nimport debug from 'debug'\nimport { IItem, IItemProperty } from '@/interfaces'\nimport { getContentHash } from '@/helpers/crypto'\nimport { Item } from '@/Item/Item'\nimport type { ArweaveTransaction } from '@/types/arweave'\nimport { PublishUpload } from '@/types/publish'\n\nconst logger = debug('seedSdk:item:getPublishUploads')\n\nconst EXTENSION_TO_MIME: Record<string, string> = {\n png: 'image/png',\n jpg: 'image/jpeg',\n jpeg: 'image/jpeg',\n gif: 'image/gif',\n webp: 'image/webp',\n svg: 'image/svg+xml',\n html: 'text/html',\n htm: 'text/html',\n json: 'application/json',\n txt: 'text/plain',\n}\n\nconst getMimeTypeFromPath = (filePathOrName: string): string | undefined => {\n const ext = filePathOrName.split('.').pop()?.toLowerCase()\n return ext ? EXTENSION_TO_MIME[ext] : undefined\n}\n\nconst toUint8Array = async (data: Buffer | Blob): Promise<Uint8Array> => {\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return new Uint8Array(await data.arrayBuffer())\n }\n return new Uint8Array(data as Buffer)\n}\n\nexport const prepareArweaveTransaction = async (\n data: string | Uint8Array,\n contentHash: string | undefined,\n contentType?: string,\n): Promise<ArweaveTransaction> => {\n const tags: { name: string; value: string }[] = []\n if (contentHash) {\n tags.push({ name: 'Content-SHA-256', value: contentHash })\n logger('contentHash', contentHash)\n logger('adding content hash tag')\n }\n if (contentType) {\n tags.push({ name: 'Content-Type', value: contentType })\n }\n\n const tx = await BaseArweaveClient.createTransaction(data, {\n tags: tags.length ? tags : undefined,\n })\n\n return tx\n}\n\n\nconst getStorageDirForDataType = (dataType: string): string => {\n switch (dataType) {\n case 'Image':\n return BaseFileManager.getFilesPath('images')\n case 'File':\n return BaseFileManager.getFilesPath('files')\n case 'Html':\n return BaseFileManager.getFilesPath('html')\n case 'Json':\n return BaseFileManager.getFilesPath('json')\n default:\n return BaseFileManager.getFilesPath('images')\n }\n}\n\nconst getStorageSeedUploads = async (\n itemStorageSeedProperties: IItemProperty<any>[],\n) => {\n const uploads: PublishUpload[] = []\n\n for (const itemProperty of itemStorageSeedProperties) {\n const snapshot = itemProperty.getService().getSnapshot()\n const context = 'context' in snapshot ? snapshot.context : null\n if (!context) {\n continue\n }\n const propertyValue = (context as any).propertyValue\n const refResolvedValue = (context as any).refResolvedValue\n if (!refResolvedValue) {\n continue\n }\n\n // propertyValue is the storage seed's seedLocalId; use it for the upload so processRelationOrImageProperty can match\n const { seedLocalId } = resolveSeedIdsFromRefString(\n normalizeRelationPropertyValue(propertyValue) ?? '',\n )\n if (!seedLocalId) {\n continue\n }\n\n const dataType =\n itemProperty.propertyDef?.refValueType ??\n itemProperty.propertyDef?.dataType ??\n 'Image'\n const baseDir = getStorageDirForDataType(dataType)\n const filePath = `${baseDir}/${refResolvedValue}`\n\n const exists = await BaseFileManager.pathExists(filePath)\n if (!exists) {\n continue\n }\n\n const fileBuffer = await BaseFileManager.readFileAsBuffer(filePath)\n const fileContents = await toUint8Array(fileBuffer)\n\n const contentHash = await getContentHash(fileContents)\n const contentType = getMimeTypeFromPath(refResolvedValue)\n\n const transaction = await prepareArweaveTransaction(\n fileContents,\n contentHash,\n contentType,\n )\n\n uploads.push({\n itemPropertyName: itemProperty.propertyName,\n itemPropertyLocalId: itemProperty.localId,\n seedLocalId,\n versionLocalId: itemProperty.versionLocalId!,\n transactionToSign: transaction,\n })\n }\n\n return uploads\n}\n\nexport type UploadProperty = {\n itemProperty: IItemProperty<any>\n childProperties: IItemProperty<any>[]\n}\ntype ChildUploadData = {\n propertyName: string\n localStoragePath: string\n}\n\n/**\n * True if publish would include at least one Arweave upload (local file / storage seed present).\n * Does not create Arweave transactions or hit the network — use for routing (e.g. skip EAS-only)\n * when {@link getPublishUploads} would fail early (e.g. gateway unreachable during tx creation).\n */\nasync function storageSeedHasUploadCandidates(\n itemStorageSeedProperties: IItemProperty<any>[],\n): Promise<boolean> {\n for (const itemProperty of itemStorageSeedProperties) {\n const snapshot = itemProperty.getService().getSnapshot()\n const context = 'context' in snapshot ? snapshot.context : null\n if (!context) {\n continue\n }\n const propertyValue = (context as any).propertyValue\n const refResolvedValue = (context as any).refResolvedValue\n if (!refResolvedValue) {\n continue\n }\n\n const { seedLocalId } = resolveSeedIdsFromRefString(\n normalizeRelationPropertyValue(propertyValue) ?? '',\n )\n if (!seedLocalId) {\n continue\n }\n\n const dataType =\n itemProperty.propertyDef?.refValueType ??\n itemProperty.propertyDef?.dataType ??\n 'Image'\n const baseDir = getStorageDirForDataType(dataType)\n const filePath = `${baseDir}/${refResolvedValue}`\n\n if (await BaseFileManager.pathExists(filePath)) {\n return true\n }\n }\n\n return false\n}\n\nasync function uploadPropertyWouldUpload(\n uploadProperty: UploadProperty,\n relatedItemProperty?: IItemProperty<any>,\n): Promise<boolean> {\n const childUploads: ChildUploadData[] = []\n\n for (const childProperty of uploadProperty.childProperties) {\n const filePath = childProperty.localStoragePath\n\n if (!filePath || filePath.endsWith('undefined')) {\n continue\n }\n\n const exists = await BaseFileManager.pathExists(filePath)\n if (!exists) {\n continue\n }\n\n childUploads.push({\n propertyName: childProperty.propertyName,\n localStoragePath: filePath,\n })\n }\n\n if (childUploads.length > 0) {\n return true\n }\n\n if (relatedItemProperty && relatedItemProperty.localStoragePath) {\n const filePath = relatedItemProperty.localStoragePath\n\n if (!filePath || filePath.endsWith('undefined')) {\n return false\n }\n\n return await BaseFileManager.pathExists(filePath)\n }\n\n return false\n}\n\nexport async function itemHasPublishUploadCandidates(\n item: IItem<any>,\n relatedItemProperty?: IItemProperty<any>,\n): Promise<boolean> {\n const { itemUploadProperties, itemRelationProperties, itemImageProperties } =\n await getSegmentedItemProperties(item)\n\n for (const uploadProperty of itemUploadProperties) {\n if (await uploadPropertyWouldUpload(uploadProperty, relatedItemProperty)) {\n return true\n }\n }\n\n if (await storageSeedHasUploadCandidates(itemImageProperties)) {\n return true\n }\n\n for (const relationProperty of itemRelationProperties) {\n const snapshot = relationProperty.getService().getSnapshot()\n const context = 'context' in snapshot ? snapshot.context : null\n if (!context) {\n continue\n }\n const propertyValue = (context as any).propertyValue\n\n if (!propertyValue || relationProperty.uid) {\n continue\n }\n\n const { seedLocalId, seedUid } = resolveSeedIdsFromRefString(\n normalizeRelationPropertyValue(propertyValue) ?? '',\n )\n if (!seedLocalId && !seedUid) {\n throw new Error(\n `Invalid relation value for ${relationProperty.propertyName}: expected local seed id or 0x uid`,\n )\n }\n\n const relatedItem = await Item.find({\n seedLocalId,\n seedUid,\n })\n\n if (!relatedItem) {\n throw new Error(\n `No relatedItem found for ${relationProperty.propertyName}`,\n )\n }\n\n if (await itemHasPublishUploadCandidates(relatedItem, relationProperty)) {\n return true\n }\n }\n\n return false\n}\n\nconst processUploadProperty = async (\n uploadProperty: UploadProperty,\n uploads: PublishUpload[],\n relatedItemProperty?: IItemProperty<any>,\n): Promise<PublishUpload[]> => {\n const itemProperty = uploadProperty.itemProperty\n\n const childUploads: ChildUploadData[] = []\n\n for (const childProperty of uploadProperty.childProperties) {\n const filePath = childProperty.localStoragePath\n\n if (!filePath || filePath.endsWith('undefined')) {\n continue\n }\n\n const exists = await BaseFileManager.pathExists(filePath)\n if (!exists) {\n continue\n }\n\n childUploads.push({\n propertyName: childProperty.propertyName,\n localStoragePath: filePath,\n })\n }\n\n let fileContents\n let transaction: ArweaveTransaction\n\n if (!childUploads || childUploads.length === 0) {\n if (relatedItemProperty && relatedItemProperty.localStoragePath) {\n const filePath = relatedItemProperty.localStoragePath\n\n if (!filePath || filePath.endsWith('undefined')) {\n return uploads\n }\n\n const exists = await BaseFileManager.pathExists(filePath)\n if (!exists) {\n return uploads\n }\n\n try {\n const fileBuffer = await BaseFileManager.readFileAsBuffer(filePath)\n fileContents = await toUint8Array(fileBuffer)\n } catch (e) {\n const fs = await BaseFileManager.getFs()\n fileContents = await toUint8Array(fs.readFileSync(filePath))\n }\n }\n if (!fileContents) {\n return uploads\n }\n }\n\n if (childUploads.length > 0) {\n const separator = '===FILE_SEPARATOR==='\n // let compositeFileContents = `${itemProperty.propertyName}${separator}${mainFileContents}`\n let compositeFileContents = ''\n\n for (const childUpload of childUploads) {\n let childUploadContents\n\n const fs = await BaseFileManager.getFs()\n\n try {\n childUploadContents = await fs.promises.readFile(\n childUpload.localStoragePath,\n )\n } catch (e) {\n childUploadContents = fs.readFileSync(childUpload.localStoragePath)\n }\n\n compositeFileContents += `${separator}${childUpload.propertyName}${separator}${childUploadContents}`\n }\n\n if (typeof document !== 'undefined') {\n fileContents = new TextEncoder().encode(compositeFileContents)\n } else {\n fileContents = Buffer.from(compositeFileContents)\n }\n }\n\n if (!fileContents) {\n throw new Error(`No file contents found for ${itemProperty.propertyName}`)\n }\n\n const uint8Array = new Uint8Array(fileContents)\n\n const contentHash = await getContentHash(uint8Array)\n\n let contentType: string | undefined\n if (childUploads.length === 0 && relatedItemProperty?.localStoragePath) {\n contentType = getMimeTypeFromPath(relatedItemProperty.localStoragePath)\n } else if (childUploads.length > 0) {\n contentType = 'application/octet-stream'\n }\n\n transaction = await prepareArweaveTransaction(\n uint8Array,\n contentHash,\n contentType,\n )\n\n let itemPropertyLocalId = relatedItemProperty\n ? relatedItemProperty.localId\n : itemProperty.localId\n let itemPropertyName = relatedItemProperty\n ? relatedItemProperty.propertyName\n : itemProperty.propertyName\n\n uploads.push({\n itemPropertyName,\n itemPropertyLocalId,\n seedLocalId: itemProperty.seedLocalId!,\n versionLocalId: itemProperty.versionLocalId!,\n transactionToSign: transaction,\n })\n\n return uploads\n}\n\nexport const getPublishUploads = async (\n item: IItem<any>,\n uploads: PublishUpload[] = [],\n relatedItemProperty?: IItemProperty<any>,\n) => {\n // if (item.modelName === 'Post') {\n // if (!item.authors) {\n // item.authors = [\n // 'Sr0bIx9Fwj',\n // '0xc2879650e9503a303ceb46f966e55baab480b267dc20cede23ef503622eee6d7',\n // ]\n // }\n // }\n\n const { itemUploadProperties, itemRelationProperties, itemImageProperties } =\n await getSegmentedItemProperties(item)\n\n for (const uploadProperty of itemUploadProperties) {\n uploads = await processUploadProperty(\n uploadProperty,\n uploads,\n relatedItemProperty,\n )\n }\n\n const storageSeedUploads = await getStorageSeedUploads(itemImageProperties)\n uploads.push(...storageSeedUploads)\n\n for (const relationProperty of itemRelationProperties) {\n const snapshot = relationProperty.getService().getSnapshot()\n const context = 'context' in snapshot ? snapshot.context : null\n if (!context) {\n continue\n }\n const propertyValue = (context as any).propertyValue\n\n if (!propertyValue || relationProperty.uid) {\n continue\n }\n\n const { seedLocalId, seedUid } = resolveSeedIdsFromRefString(\n normalizeRelationPropertyValue(propertyValue) ?? '',\n )\n if (!seedLocalId && !seedUid) {\n throw new Error(\n `Invalid relation value for ${relationProperty.propertyName}: expected local seed id or 0x uid`,\n )\n }\n\n const relatedItem = await Item.find({\n seedLocalId,\n seedUid,\n })\n\n if (!relatedItem) {\n throw new Error(\n `No relatedItem found for ${relationProperty.propertyName}`,\n )\n }\n\n uploads = await getPublishUploads(relatedItem, uploads, relationProperty)\n }\n\n return uploads\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import 'reflect-metadata';
2
- import { b as ModelPropertyDataTypes, o as BaseDb, x as models, y as properties } from './index-uPXtq2cf.js';
3
- import { getPropertySchema } from './property-Dt0U3UXJ.js';
2
+ import { b as ModelPropertyDataTypes, o as BaseDb, y as models, z as properties } from './index-CtzvJMAE.js';
3
+ import { getPropertySchema } from './property-D8HimAKw.js';
4
4
  import { eq, and } from 'drizzle-orm';
5
5
  import { upperFirst, camelCase } from 'lodash-es';
6
6
 
@@ -82,7 +82,8 @@ const getSegmentedItemProperties = async (item) => {
82
82
  }
83
83
  const isItemStorage = propertyDef.storageType &&
84
84
  propertyDef.storageType === 'ItemStorage';
85
- const isStorageTransaction = itemProperty.propertyName === 'storageTransactionId';
85
+ const isStorageTransaction = itemProperty.propertyName === 'storageTransactionId' ||
86
+ itemProperty.propertyName === 'storage_transaction_id';
86
87
  const isStorageSeedType = propertyDef.dataType === ModelPropertyDataTypes.Image ||
87
88
  propertyDef.dataType === ModelPropertyDataTypes.File ||
88
89
  propertyDef.dataType === ModelPropertyDataTypes.Html ||
@@ -141,4 +142,4 @@ const getSegmentedItemProperties = async (item) => {
141
142
  };
142
143
 
143
144
  export { getSegmentedItemProperties as g };
144
- //# sourceMappingURL=getSegmentedItemProperties-CJWdYH9W.js.map
145
+ //# sourceMappingURL=getSegmentedItemProperties-Dzscmm_m.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSegmentedItemProperties-Dzscmm_m.js","sources":["../../src/helpers/getSegmentedItemProperties.ts"],"sourcesContent":["import { UploadProperty } from '@/db/read/getPublishUploads'\nimport { IItem } from '@/interfaces'\nimport { ModelPropertyDataTypes } from '@/Schema'\nimport { getPropertySchema, TProperty } from '@/helpers/property'\nimport type { Static } from '@sinclair/typebox'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { models, properties } from '@/seedSchema'\nimport { eq, and } from 'drizzle-orm'\nimport { camelCase, upperFirst } from 'lodash-es'\nasync function resolvePropertyDef(\n modelName: string,\n propertyName: string,\n): Promise<{ dataType?: string; ref?: string; refValueType?: string; storageType?: string; localStorageDir?: string; filenameSuffix?: string; required?: boolean } | undefined> {\n let schema = await getPropertySchema(modelName, propertyName)\n if (schema) return schema\n const db = BaseDb.getAppDb()\n if (!db) return undefined\n try {\n const normalizedModelName = upperFirst(camelCase(modelName))\n const modelRecords = await db\n .select({ id: models.id })\n .from(models)\n .where(eq(models.name, normalizedModelName))\n .limit(1)\n if (modelRecords.length === 0 || !modelRecords[0].id) return undefined\n const propertyRecords = await db\n .select()\n .from(properties)\n .where(\n and(\n eq(properties.modelId, modelRecords[0].id),\n eq(properties.name, propertyName),\n ),\n )\n .limit(1)\n if (propertyRecords.length === 0) return undefined\n const propRecord = propertyRecords[0]\n let refModelName: string | undefined\n if (propRecord.refModelId != null) {\n const refModelRows = await db\n .select({ name: models.name })\n .from(models)\n .where(eq(models.id, propRecord.refModelId))\n .limit(1)\n refModelName = refModelRows[0]?.name ?? undefined\n }\n return {\n dataType: propRecord.dataType,\n ref: refModelName ?? undefined,\n refValueType: propRecord.refValueType || undefined,\n storageType: propRecord.storageType || undefined,\n localStorageDir: propRecord.localStorageDir || undefined,\n filenameSuffix: propRecord.filenameSuffix || undefined,\n required: propRecord.required ?? undefined,\n }\n } catch {\n return undefined\n }\n}\n\nexport const getSegmentedItemProperties = async (item: IItem<any>) => {\n const itemBasicProperties = []\n const itemRelationProperties = []\n const itemListProperties = []\n const itemUploadProperties: UploadProperty[] = []\n const itemImageProperties = []\n const itemStorageProperties = []\n let itemStorageTransactionProperty: UploadProperty | undefined\n\n for (const itemProperty of item.properties) {\n let propertyDef = itemProperty.propertyDef\n // When propertyDef is missing (e.g. external app, Model not registered), resolve inline\n // so properties are not skipped and metadata attestations can be created\n if (!propertyDef && item.modelName) {\n const resolved = await resolvePropertyDef(item.modelName, itemProperty.propertyName)\n if (resolved) {\n itemProperty.getService().send({ type: 'updateContext', propertyRecordSchema: resolved })\n propertyDef = resolved as Static<typeof TProperty>\n } else {\n // Last resort: Model and DB don't have schema. Use Text so property routes to\n // itemBasicProperties and can be attested (covers title, description, etc.)\n const fallbackDef = { dataType: 'Text' as const }\n itemProperty.getService().send({ type: 'updateContext', propertyRecordSchema: fallbackDef })\n propertyDef = fallbackDef as Static<typeof TProperty>\n }\n }\n if (!propertyDef) {\n continue\n }\n\n const isItemStorage =\n propertyDef.storageType &&\n propertyDef.storageType === 'ItemStorage'\n\n\n const isStorageTransaction =\n itemProperty.propertyName === 'storageTransactionId' ||\n itemProperty.propertyName === 'storage_transaction_id'\n\n const isStorageSeedType =\n propertyDef.dataType === ModelPropertyDataTypes.Image ||\n propertyDef.dataType === ModelPropertyDataTypes.File ||\n propertyDef.dataType === ModelPropertyDataTypes.Html ||\n propertyDef.dataType === ModelPropertyDataTypes.Json ||\n (propertyDef.dataType === ModelPropertyDataTypes.Relation &&\n (propertyDef.refValueType === ModelPropertyDataTypes.Image ||\n propertyDef.refValueType === ModelPropertyDataTypes.File ||\n propertyDef.refValueType === ModelPropertyDataTypes.Html ||\n propertyDef.refValueType === ModelPropertyDataTypes.Json))\n\n if (isStorageSeedType) {\n itemImageProperties.push(itemProperty)\n if (propertyDef.dataType === ModelPropertyDataTypes.Relation) {\n itemRelationProperties.push(itemProperty)\n }\n continue\n }\n\n if (propertyDef.dataType === ModelPropertyDataTypes.Relation) {\n itemRelationProperties.push(itemProperty)\n continue\n }\n\n if (propertyDef.dataType === ModelPropertyDataTypes.List) {\n // List-of-relations: ref present, goes to processListProperty\n // List-of-primitives: ref absent, treat as basic property\n const listRef =\n propertyDef.ref || (propertyDef as { refModelName?: string }).refModelName\n if (listRef) {\n itemListProperties.push(itemProperty)\n } else {\n itemBasicProperties.push(itemProperty)\n }\n continue\n }\n\n if (isItemStorage) {\n itemStorageProperties.push(itemProperty)\n continue\n }\n\n if (isStorageTransaction) {\n itemStorageTransactionProperty = { itemProperty, childProperties: [] }\n continue\n }\n\n itemBasicProperties.push(itemProperty)\n }\n\n if (itemStorageTransactionProperty && itemStorageProperties.length > 0) {\n itemStorageTransactionProperty.childProperties = itemStorageProperties\n }\n\n if (itemStorageTransactionProperty) {\n itemUploadProperties.push(itemStorageTransactionProperty)\n }\n\n return {\n itemBasicProperties,\n itemRelationProperties,\n itemListProperties,\n itemUploadProperties,\n itemImageProperties,\n }\n}\n"],"names":[],"mappings":"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"}