@seedprotocol/sdk 0.4.18 → 0.4.19

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 (115) hide show
  1. package/dist/{ArweaveClient-CpShI0B0.js → ArweaveClient-CAdWVQnJ.js} +3 -3
  2. package/dist/{ArweaveClient-CpShI0B0.js.map → ArweaveClient-CAdWVQnJ.js.map} +1 -1
  3. package/dist/{ArweaveClient-WfxkMgxb.js → ArweaveClient-V62RJhsZ.js} +3 -3
  4. package/dist/{ArweaveClient-WfxkMgxb.js.map → ArweaveClient-V62RJhsZ.js.map} +1 -1
  5. package/dist/{Db-29bu0gJx.js → Db-8N3-le9a.js} +4 -4
  6. package/dist/{Db-29bu0gJx.js.map → Db-8N3-le9a.js.map} +1 -1
  7. package/dist/{Db-DWvxJG22.js → Db-DS2GBY6h.js} +133 -6
  8. package/dist/Db-DS2GBY6h.js.map +1 -0
  9. package/dist/{EasClient-BwBg9Kkd.js → EasClient-D1eibg8b.js} +2 -2
  10. package/dist/{EasClient-CtLqK_qz.js.map → EasClient-D1eibg8b.js.map} +1 -1
  11. package/dist/{EasClient-CtLqK_qz.js → EasClient-nOmY5meW.js} +2 -2
  12. package/dist/{EasClient-BwBg9Kkd.js.map → EasClient-nOmY5meW.js.map} +1 -1
  13. package/dist/{FileManager-DgraLHZS.js → FileManager-Cze8qmS1.js} +2 -2
  14. package/dist/{FileManager-DgraLHZS.js.map → FileManager-Cze8qmS1.js.map} +1 -1
  15. package/dist/{FileManager-DSihj6Sj.js → FileManager-DSTAwkqw.js} +2 -2
  16. package/dist/{FileManager-DSihj6Sj.js.map → FileManager-DSTAwkqw.js.map} +1 -1
  17. package/dist/{ModelProperty-Bz3V3LoI.js → ModelProperty-ChevZoUy.js} +24 -24
  18. package/dist/{ModelProperty-Bz3V3LoI.js.map → ModelProperty-ChevZoUy.js.map} +1 -1
  19. package/dist/{PathResolver-DOu-0k75.js → PathResolver-3TuYA9yv.js} +2 -2
  20. package/dist/{PathResolver-DOu-0k75.js.map → PathResolver-3TuYA9yv.js.map} +1 -1
  21. package/dist/{PathResolver-DQ5hyu8X.js → PathResolver-C5gj9EU2.js} +2 -2
  22. package/dist/{PathResolver-DQ5hyu8X.js.map → PathResolver-C5gj9EU2.js.map} +1 -1
  23. package/dist/{QueryClient-DYaqIx7e.js → QueryClient-BGv6JOls.js} +2 -2
  24. package/dist/{QueryClient-DYaqIx7e.js.map → QueryClient-BGv6JOls.js.map} +1 -1
  25. package/dist/{QueryClient-CJV1m2rc.js → QueryClient-By2vdhIz.js} +2 -2
  26. package/dist/{QueryClient-CJV1m2rc.js.map → QueryClient-By2vdhIz.js.map} +1 -1
  27. package/dist/{Schema-CFMbnImW.js → Schema-BQ5W3aOW.js} +38 -38
  28. package/dist/{Schema-CFMbnImW.js.map → Schema-BQ5W3aOW.js.map} +1 -1
  29. package/dist/{SchemaValidationService-D4ZVetLE.js → SchemaValidationService-DQx83Cte.js} +2 -2
  30. package/dist/{SchemaValidationService-D4ZVetLE.js.map → SchemaValidationService-DQx83Cte.js.map} +1 -1
  31. package/dist/{backfillMetadataPropertyIds-DptGKVzG.js → backfillMetadataPropertyIds-CMsU83q9.js} +2 -2
  32. package/dist/{backfillMetadataPropertyIds-DptGKVzG.js.map → backfillMetadataPropertyIds-CMsU83q9.js.map} +1 -1
  33. package/dist/cjs/{ModelProperty-TPey_B4m.js → ModelProperty-Cuj839nX.js} +17 -17
  34. package/dist/cjs/{ModelProperty-TPey_B4m.js.map → ModelProperty-Cuj839nX.js.map} +1 -1
  35. package/dist/cjs/{Schema-B-IQEtpX.js → Schema-TFe24NNG.js} +20 -20
  36. package/dist/cjs/{Schema-B-IQEtpX.js.map → Schema-TFe24NNG.js.map} +1 -1
  37. package/dist/cjs/{SchemaValidationService-IQ0Gc9HM.js → SchemaValidationService-DVQrRpse.js} +2 -2
  38. package/dist/cjs/{SchemaValidationService-IQ0Gc9HM.js.map → SchemaValidationService-DVQrRpse.js.map} +1 -1
  39. package/dist/cjs/{backfillMetadataPropertyIds-BBPgBc2W.js → backfillMetadataPropertyIds-BiXK4hT1.js} +2 -2
  40. package/dist/cjs/{backfillMetadataPropertyIds-BBPgBc2W.js.map → backfillMetadataPropertyIds-BiXK4hT1.js.map} +1 -1
  41. package/dist/cjs/{getItem-CWf0OO0F.js → getItem-FgLv9abh.js} +2 -2
  42. package/dist/cjs/{getItem-CWf0OO0F.js.map → getItem-FgLv9abh.js.map} +1 -1
  43. package/dist/cjs/{getPublishPayload-muuS1j0F.js → getPublishPayload-h_Rz8nVX.js} +18 -10
  44. package/dist/cjs/getPublishPayload-h_Rz8nVX.js.map +1 -0
  45. package/dist/cjs/{getPublishUploads-CONYV9QQ.js → getPublishUploads-DdSwst2x.js} +4 -4
  46. package/dist/cjs/{getPublishUploads-CONYV9QQ.js.map → getPublishUploads-DdSwst2x.js.map} +1 -1
  47. package/dist/cjs/{getSegmentedItemProperties-Dl3J_uCe.js → getSegmentedItemProperties-Bu4P_MG8.js} +3 -3
  48. package/dist/cjs/{getSegmentedItemProperties-Dl3J_uCe.js.map → getSegmentedItemProperties-Bu4P_MG8.js.map} +1 -1
  49. package/dist/cjs/{index-D7a8oFJP.js → index-CKJeh6ic.js} +3 -3
  50. package/dist/cjs/index-CKJeh6ic.js.map +1 -0
  51. package/dist/cjs/{index-Bte-I6OD.js → index-pyKmk9hA.js} +161 -38
  52. package/dist/cjs/index-pyKmk9hA.js.map +1 -0
  53. package/dist/cjs/{ownership-Bxv6CUrH.js → ownership-gfm5thj7.js} +2 -2
  54. package/dist/cjs/{ownership-Bxv6CUrH.js.map → ownership-gfm5thj7.js.map} +1 -1
  55. package/dist/cjs/{property-xOF5k4ka.js → property-Dw0b_Sf8.js} +4 -4
  56. package/dist/cjs/{property-xOF5k4ka.js.map → property-Dw0b_Sf8.js.map} +1 -1
  57. package/dist/db/drizzle/drizzle/0010_add_arweave_l1_finalize_jobs.sql +16 -0
  58. package/dist/db/drizzle/drizzle/meta/0010_snapshot.json +1182 -0
  59. package/dist/db/drizzle/drizzle/meta/_journal.json +7 -0
  60. package/dist/{getItem-Hubs_yxu.js → getItem-Bd9U9Yih.js} +2 -2
  61. package/dist/{getItem-Hubs_yxu.js.map → getItem-Bd9U9Yih.js.map} +1 -1
  62. package/dist/{getPublishPayload-CqUCIlu1.js → getPublishPayload-eJL7ktes.js} +21 -13
  63. package/dist/getPublishPayload-eJL7ktes.js.map +1 -0
  64. package/dist/{getPublishUploads-QgfPyhcs.js → getPublishUploads-CKm5dsL6.js} +4 -4
  65. package/dist/{getPublishUploads-QgfPyhcs.js.map → getPublishUploads-CKm5dsL6.js.map} +1 -1
  66. package/dist/{getSegmentedItemProperties-Dzscmm_m.js → getSegmentedItemProperties-B74LN_bz.js} +3 -3
  67. package/dist/{getSegmentedItemProperties-Dzscmm_m.js.map → getSegmentedItemProperties-B74LN_bz.js.map} +1 -1
  68. package/dist/{index-QSl4EYun.js → index-BQv2k74p.js} +3 -2
  69. package/dist/index-BQv2k74p.js.map +1 -0
  70. package/dist/{index-CtzvJMAE.js → index-BvZCYMxA.js} +188 -53
  71. package/dist/index-BvZCYMxA.js.map +1 -0
  72. package/dist/{index-VmIdPfTW.js → index-BxfqPvtu.js} +3 -3
  73. package/dist/index-BxfqPvtu.js.map +1 -0
  74. package/dist/main.cjs +1 -1
  75. package/dist/main.js +55 -14
  76. package/dist/main.js.map +1 -1
  77. package/dist/node.js +10 -10
  78. package/dist/{ownership-loPNh3_a.js → ownership-tVhYQomL.js} +2 -2
  79. package/dist/{ownership-loPNh3_a.js.map → ownership-tVhYQomL.js.map} +1 -1
  80. package/dist/{property-D8HimAKw.js → property-BOdk-wW1.js} +6 -6
  81. package/dist/{property-D8HimAKw.js.map → property-BOdk-wW1.js.map} +1 -1
  82. package/dist/{queries-DPADHnwy.js → queries-DBqVwEdv.js} +2 -2
  83. package/dist/{queries-DPADHnwy.js.map → queries-DBqVwEdv.js.map} +1 -1
  84. package/dist/seedSchema/ArweaveL1FinalizeSchema.ts +28 -0
  85. package/dist/seedSchema/index.d.ts +3 -0
  86. package/dist/seedSchema/index.ts +1 -0
  87. package/dist/src/browser/db/drizzleFiles.d.ts +3 -2
  88. package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -1
  89. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
  90. package/dist/src/db/write/applyArweaveL1TransactionIdLocal.d.ts +12 -0
  91. package/dist/src/db/write/applyArweaveL1TransactionIdLocal.d.ts.map +1 -0
  92. package/dist/src/eas.d.ts +6 -0
  93. package/dist/src/eas.d.ts.map +1 -1
  94. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
  95. package/dist/src/helpers/ArweaveClient/arweaveL1UploadApi.d.ts +46 -0
  96. package/dist/src/helpers/ArweaveClient/arweaveL1UploadApi.d.ts.map +1 -0
  97. package/dist/src/helpers/constants.d.ts +2 -0
  98. package/dist/src/helpers/constants.d.ts.map +1 -1
  99. package/dist/src/helpers/index.d.ts +1 -0
  100. package/dist/src/helpers/index.d.ts.map +1 -1
  101. package/dist/src/index.d.ts +6 -4
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/seedSchema/ArweaveL1FinalizeSchema.d.ts +233 -0
  104. package/dist/src/seedSchema/ArweaveL1FinalizeSchema.d.ts.map +1 -0
  105. package/dist/src/seedSchema/index.d.ts +1 -0
  106. package/dist/src/seedSchema/index.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/dist/Db-DWvxJG22.js.map +0 -1
  109. package/dist/cjs/getPublishPayload-muuS1j0F.js.map +0 -1
  110. package/dist/cjs/index-Bte-I6OD.js.map +0 -1
  111. package/dist/cjs/index-D7a8oFJP.js.map +0 -1
  112. package/dist/getPublishPayload-CqUCIlu1.js.map +0 -1
  113. package/dist/index-CtzvJMAE.js.map +0 -1
  114. package/dist/index-QSl4EYun.js.map +0 -1
  115. package/dist/index-VmIdPfTW.js.map +0 -1
@@ -71,6 +71,13 @@
71
71
  "when": 1773924021107,
72
72
  "tag": "0009_happy_namor",
73
73
  "breakpoints": true
74
+ },
75
+ {
76
+ "idx": 10,
77
+ "version": "6",
78
+ "when": 1774000000000,
79
+ "tag": "0010_add_arweave_l1_finalize_jobs",
80
+ "breakpoints": true
74
81
  }
75
82
  ]
76
83
  }
@@ -1,4 +1,4 @@
1
- import { W as getItemData, t as Item } from './index-CtzvJMAE.js';
1
+ import { W as getItemData, t as Item } from './index-BvZCYMxA.js';
2
2
  import { startCase } from 'lodash-es';
3
3
  import 'xstate';
4
4
  import 'drizzle-orm/sqlite-core';
@@ -36,4 +36,4 @@ const getItem = async ({ modelName, seedLocalId, seedUid }) => {
36
36
  };
37
37
 
38
38
  export { getItem };
39
- //# sourceMappingURL=getItem-Hubs_yxu.js.map
39
+ //# sourceMappingURL=getItem-Bd9U9Yih.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getItem-Hubs_yxu.js","sources":["../../src/db/read/getItem.ts"],"sourcesContent":["import { getItemData } from './getItemData'\nimport { GetItem } from '@/types'\nimport { Item } from '@/Item/Item'\nimport { startCase } from 'lodash-es'\n\nexport const getItem: GetItem = async ({ modelName, seedLocalId, seedUid }) => {\n const itemInitObj = await getItemData({\n modelName,\n seedLocalId,\n seedUid,\n })\n\n if (!itemInitObj) {\n console.error(\n `[db/queries] [getItem] no itemInitObj modelName: ${modelName} seedLocalId: ${seedLocalId} seedUid: ${seedUid}`,\n )\n return\n }\n\n if (!itemInitObj.seedLocalId) {\n console.error(\n `[db/queries] [getItem] no itemInitObj.seedLocalId modelName: ${modelName} seedLocalId: ${seedLocalId} seedUid: ${seedUid}`,\n )\n return\n }\n\n if (!itemInitObj.modelName && itemInitObj.type) {\n itemInitObj.modelName = startCase(itemInitObj.type)\n }\n\n return Item.create(itemInitObj)\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKO,MAAM,OAAO,GAAY,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,KAAI;AAC5E,IAAA,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC;QACpC,SAAS;QACT,WAAW;QACX,OAAO;AACR,KAAA,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,CAAC,KAAK,CACX,CAAA,iDAAA,EAAoD,SAAS,CAAA,cAAA,EAAiB,WAAW,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAChH;QACD;IACF;AAEA,IAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;QAC5B,OAAO,CAAC,KAAK,CACX,CAAA,6DAAA,EAAgE,SAAS,CAAA,cAAA,EAAiB,WAAW,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAC5H;QACD;IACF;IAEA,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE;QAC9C,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD;AAEA,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AACjC;;;;"}
1
+ {"version":3,"file":"getItem-Bd9U9Yih.js","sources":["../../src/db/read/getItem.ts"],"sourcesContent":["import { getItemData } from './getItemData'\nimport { GetItem } from '@/types'\nimport { Item } from '@/Item/Item'\nimport { startCase } from 'lodash-es'\n\nexport const getItem: GetItem = async ({ modelName, seedLocalId, seedUid }) => {\n const itemInitObj = await getItemData({\n modelName,\n seedLocalId,\n seedUid,\n })\n\n if (!itemInitObj) {\n console.error(\n `[db/queries] [getItem] no itemInitObj modelName: ${modelName} seedLocalId: ${seedLocalId} seedUid: ${seedUid}`,\n )\n return\n }\n\n if (!itemInitObj.seedLocalId) {\n console.error(\n `[db/queries] [getItem] no itemInitObj.seedLocalId modelName: ${modelName} seedLocalId: ${seedLocalId} seedUid: ${seedUid}`,\n )\n return\n }\n\n if (!itemInitObj.modelName && itemInitObj.type) {\n itemInitObj.modelName = startCase(itemInitObj.type)\n }\n\n return Item.create(itemInitObj)\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKO,MAAM,OAAO,GAAY,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,KAAI;AAC5E,IAAA,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC;QACpC,SAAS;QACT,WAAW;QACX,OAAO;AACR,KAAA,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,CAAC,KAAK,CACX,CAAA,iDAAA,EAAoD,SAAS,CAAA,cAAA,EAAiB,WAAW,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAChH;QACD;IACF;AAEA,IAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;QAC5B,OAAO,CAAC,KAAK,CACX,CAAA,6DAAA,EAAgE,SAAS,CAAA,cAAA,EAAiB,WAAW,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAC5H;QACD;IACF;IAEA,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE;QAC9C,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD;AAEA,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AACjC;;;;"}
@@ -1,8 +1,8 @@
1
- import { Z as ZERO_BYTES32, x as getEasSchemaUidForModel, o as BaseDb, y as models, z as properties, V as VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA, A as versions, C as modelPropertiesToObject, b as ModelPropertyDataTypes, r as resolveSeedIdsFromRefString, q as normalizeRelationPropertyValue, E as parseListPropertyValueFromStorage, G as getCorrectId, H as INTERNAL_PROPERTY_NAMES, K as defaultAttestationData, O as INTERNAL_DATA_TYPES, Q as toSnakeCase$1, S as getEasSchemaUidForSchemaDefinition, U as getEasSchemaForItemProperty } from './index-CtzvJMAE.js';
1
+ import { Z as ZERO_BYTES32, x as getEasSchemaUidForModel, o as BaseDb, y as models, z as properties, V as VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA, A as versions, C as modelPropertiesToObject, b as ModelPropertyDataTypes, r as resolveSeedIdsFromRefString, q as normalizeRelationPropertyValue, E as parseListPropertyValueFromStorage, G as getCorrectId, H as INTERNAL_PROPERTY_NAMES, K as defaultAttestationData, O as INTERNAL_DATA_TYPES, Q as toSnakeCase$1, S as getEasSchemaUidForSchemaDefinition, U as getEasSchemaForItemProperty } from './index-BvZCYMxA.js';
2
2
  import { toSnakeCase } from 'drizzle-orm/casing';
3
3
  import pluralize from 'pluralize';
4
- import { g as getSegmentedItemProperties } from './getSegmentedItemProperties-Dzscmm_m.js';
5
- import { getPropertySchema } from './property-D8HimAKw.js';
4
+ import { g as getSegmentedItemProperties } from './getSegmentedItemProperties-B74LN_bz.js';
5
+ import { getPropertySchema } from './property-BOdk-wW1.js';
6
6
  import { upperFirst, camelCase } from 'lodash-es';
7
7
  import { eq, and, desc } from 'drizzle-orm';
8
8
  import debug from 'debug';
@@ -101,8 +101,8 @@ async function resolveVersionUid(seedLocalId, seedUid) {
101
101
  return uid;
102
102
  }
103
103
  try {
104
- const _mod_0 = await import('./index-CtzvJMAE.js');
105
- const _ns_0 = _mod_0.bu;
104
+ const _mod_0 = await import('./index-BvZCYMxA.js');
105
+ const _ns_0 = _mod_0.bB;
106
106
  const { getItemVersionsFromEas } = _ns_0;
107
107
  const attestations = await getItemVersionsFromEas({ seedUids: [seedUid] });
108
108
  const latest = attestations?.[0];
@@ -173,8 +173,8 @@ const ensurePropertyDefs = async (targetItem) => {
173
173
  schema = await getPropertySchema(targetItem.modelName, itemProperty.propertyName);
174
174
  if (!schema) {
175
175
  try {
176
- const _mod_1 = await import('./index-CtzvJMAE.js');
177
- const _ns_1 = _mod_1.by;
176
+ const _mod_1 = await import('./index-BvZCYMxA.js');
177
+ const _ns_1 = _mod_1.bF;
178
178
  const { Model } = _ns_1;
179
179
  const normalizedModelName = upperFirst(camelCase(targetItem.modelName));
180
180
  let model = Model.getByName(normalizedModelName);
@@ -341,7 +341,7 @@ const processBasicProperties = async (itemBasicProperties, itemPublishData, ctx,
341
341
  }
342
342
  // Validate against property validation rules (enum, pattern, minLength, maxLength) before encoding
343
343
  if (propertyDef?.validation) {
344
- const { SchemaValidationService } = await import('./SchemaValidationService-D4ZVetLE.js');
344
+ const { SchemaValidationService } = await import('./SchemaValidationService-DQx83Cte.js');
345
345
  const validationService = new SchemaValidationService();
346
346
  const validationResult = validationService.validatePropertyValue(value, propertyDef.dataType, propertyDef.validation, propertyDef.refValueType);
347
347
  if (!validationResult.isValid && validationResult.errors.length > 0) {
@@ -478,8 +478,8 @@ const processRelationOrImageProperty = async (relationOrImageProperty, multiPubl
478
478
  relationOrImageProperty.propertyDef?.refValueType === ModelPropertyDataTypes.Html ||
479
479
  relationOrImageProperty.propertyDef?.refValueType === ModelPropertyDataTypes.Json));
480
480
  if (isStorageSeed && (context.seedLocalId || context.seedUid)) {
481
- const _mod_2 = await import('./index-CtzvJMAE.js');
482
- const _ns_2 = _mod_2.bv;
481
+ const _mod_2 = await import('./index-BvZCYMxA.js');
482
+ const _ns_2 = _mod_2.bC;
483
483
  const { getPropertyData: getPropertyDataFromDb } = _ns_2;
484
484
  const metaRow = await getPropertyDataFromDb({
485
485
  propertyName: relationOrImageProperty.propertyName,
@@ -566,7 +566,7 @@ const processRelationOrImageProperty = async (relationOrImageProperty, multiPubl
566
566
  return multiPublishPayload;
567
567
  }
568
568
  // Use dynamic import to break circular dependency
569
- const getItemMod = await import('./getItem-Hubs_yxu.js');
569
+ const getItemMod = await import('./getItem-Bd9U9Yih.js');
570
570
  const { getItem } = getItemMod;
571
571
  const relatedItem = await getItem({
572
572
  seedLocalId,
@@ -713,7 +713,7 @@ const processListProperty = async (listProperty, multiPublishPayload, originalSe
713
713
  if (!seedLocalId && !seedUid)
714
714
  continue;
715
715
  // Use dynamic import to break circular dependency
716
- const getItemMod = await import('./getItem-Hubs_yxu.js');
716
+ const getItemMod = await import('./getItem-Bd9U9Yih.js');
717
717
  const { getItem } = getItemMod;
718
718
  const relatedItem = await getItem({
719
719
  seedLocalId,
@@ -1030,6 +1030,14 @@ const getPublishPayload = async (item, uploadedTransactions, options) => {
1030
1030
  // The contract writes the seed UID into data[0].data; empty data causes Panic 50.
1031
1031
  multiPublishPayload = ensurePropertiesToUpdateAttestationsHaveData(multiPublishPayload);
1032
1032
  multiPublishPayload = dedupeListOfAttestationsInEachPayload(multiPublishPayload);
1033
+ if (publishMode === 'new_version') {
1034
+ const rootPayload = multiPublishPayload.find((p) => p.localId === item.seedLocalId);
1035
+ const listLen = rootPayload?.listOfAttestations?.length ?? 0;
1036
+ if (!rootPayload || listLen === 0) {
1037
+ addValidationError(validationCtx, 'Publishing as a new version requires at least one property attestation for the item. ' +
1038
+ 'Ensure required fields have values and that publishable properties are present.', 'listOfAttestations', 'publish_new_version_empty_snapshot');
1039
+ }
1040
+ }
1033
1041
  if (validationCtx.errors.length > 0) {
1034
1042
  const combinedMessage = validationCtx.errors.map((e) => e.message).join('\n');
1035
1043
  throw new PublishValidationFailedError(`Validation failed (${validationCtx.errors.length} error${validationCtx.errors.length === 1 ? '' : 's'}):\n${combinedMessage}`, validationCtx.errors);
@@ -1312,4 +1320,4 @@ const resolvePublishPayloadValues = async (multiPayload, resolvedUids) => {
1312
1320
  };
1313
1321
 
1314
1322
  export { PublishValidationFailedError, getPublishPayload, resolvePublishPayloadValues, validateItemForPublish };
1315
- //# sourceMappingURL=getPublishPayload-CqUCIlu1.js.map
1323
+ //# sourceMappingURL=getPublishPayload-eJL7ktes.js.map