@seedprotocol/sdk 0.7.10 → 0.7.11-next.1396.g883ef47

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 (174) hide show
  1. package/README.md +1 -1
  2. package/dist/{BaseFileManager-DLou1TZS.js → BaseFileManager-D-pLXQAp.js} +2 -14
  3. package/dist/BaseFileManager-D-pLXQAp.js.map +1 -0
  4. package/dist/{Item-oPnmIehk.js → Item-BU9wIT7l.js} +2053 -412
  5. package/dist/Item-BU9wIT7l.js.map +1 -0
  6. package/dist/{ModelProperty-D2vJozmW.js → ModelProperty-Bv7KzP97.js} +40 -38
  7. package/dist/ModelProperty-Bv7KzP97.js.map +1 -0
  8. package/dist/{Schema-BMXRF4j9.js → Schema-C_4wv0RP.js} +22 -22
  9. package/dist/{Schema-BMXRF4j9.js.map → Schema-C_4wv0RP.js.map} +1 -1
  10. package/dist/{SchemaValidationService-CieGrj5c.js → SchemaValidationService-Dc-lpFQX.js} +9 -7
  11. package/dist/{SchemaValidationService-CieGrj5c.js.map → SchemaValidationService-Dc-lpFQX.js.map} +1 -1
  12. package/dist/arweaveContentTags-iW_HcWJA.js +1456 -0
  13. package/dist/arweaveContentTags-iW_HcWJA.js.map +1 -0
  14. package/dist/{configurePlatform-WkmvqeTO.js → configurePlatform-BH1YOZpg.js} +2 -2
  15. package/dist/{configurePlatform-WkmvqeTO.js.map → configurePlatform-BH1YOZpg.js.map} +1 -1
  16. package/dist/db/drizzle/0030_drop_property_uids.sql +1 -0
  17. package/dist/db/drizzle/meta/0030_snapshot.json +1638 -0
  18. package/dist/db/drizzle/meta/_journal.json +8 -1
  19. package/dist/{detachRowsBeforeDelete-BZr_0iZU.js → detachRowsBeforeDelete-Cie55SoG.js} +4 -6
  20. package/dist/detachRowsBeforeDelete-Cie55SoG.js.map +1 -0
  21. package/dist/dist/{BaseFileManager-DLou1TZS.d.ts → BaseFileManager-D-pLXQAp.d.ts} +432 -495
  22. package/dist/dist/BaseFileManager-D-pLXQAp.d.ts.map +1 -0
  23. package/dist/dist/{configurePlatform-WkmvqeTO.d.ts → configurePlatform-BH1YOZpg.d.ts} +1 -1
  24. package/dist/dist/configurePlatform-BH1YOZpg.d.ts.map +1 -0
  25. package/dist/dist/{index-BjWk0x4-.d.ts → index-2PaIhvOU.d.ts} +1 -64
  26. package/dist/dist/{index-BjWk0x4-.d.ts.map → index-2PaIhvOU.d.ts.map} +1 -1
  27. package/dist/dist/{index.node-BfiBriEq.d.ts → index.node-C3rI1upv.d.ts} +25 -281
  28. package/dist/dist/{index.node-BfiBriEq.d.ts.map → index.node-C3rI1upv.d.ts.map} +1 -1
  29. package/dist/dist/minimumUpgradeVersion-Dg2MguFf.d.ts +20 -0
  30. package/dist/dist/minimumUpgradeVersion-Dg2MguFf.d.ts.map +1 -0
  31. package/dist/dist/platform.node.d.ts +2 -2
  32. package/dist/download-DHWUPLlK.js +393 -0
  33. package/dist/download-DHWUPLlK.js.map +1 -0
  34. package/dist/{eas-FZPPqxqe.js → eas-MXEdKKVc.js} +12 -10
  35. package/dist/{eas-FZPPqxqe.js.map → eas-MXEdKKVc.js.map} +1 -1
  36. package/dist/ensureImageLocal-B6suz6FC.js +175 -0
  37. package/dist/ensureImageLocal-B6suz6FC.js.map +1 -0
  38. package/dist/{getPublishPayload-DKuEaq96.js → getPublishPayload-Dd3HCYeI.js} +8 -49
  39. package/dist/getPublishPayload-Dd3HCYeI.js.map +1 -0
  40. package/dist/{getPublishPendingDiff-CH5xLMjU.js → getPublishPendingDiff-kcTP52Kj.js} +13 -12
  41. package/dist/{getPublishPendingDiff-CH5xLMjU.js.map → getPublishPendingDiff-kcTP52Kj.js.map} +1 -1
  42. package/dist/{index-BjWk0x4-.js → index-2PaIhvOU.js} +2 -4
  43. package/dist/index-2PaIhvOU.js.map +1 -0
  44. package/dist/index-BXTyvnKb.js +28 -0
  45. package/dist/index-BXTyvnKb.js.map +1 -0
  46. package/dist/{index-DXRhFg1N.js → index-CmNqUKQN.js} +10 -8
  47. package/dist/index-CmNqUKQN.js.map +1 -0
  48. package/dist/{index-Gh42_47r.js → index-Xs_EDi-_.js} +18 -401
  49. package/dist/index-Xs_EDi-_.js.map +1 -0
  50. package/dist/{index.browser-DQstVvRV.js → index.browser-BkcOQGhw.js} +59 -102
  51. package/dist/index.browser-BkcOQGhw.js.map +1 -0
  52. package/dist/{index.node-BfiBriEq.js → index.node-C3rI1upv.js} +14 -36
  53. package/dist/index.node-C3rI1upv.js.map +1 -0
  54. package/dist/main.js +19 -19
  55. package/dist/{minimumUpgradeVersion-BDhHvHtr.js → minimumUpgradeVersion-Dg2MguFf.js} +38 -9
  56. package/dist/minimumUpgradeVersion-Dg2MguFf.js.map +1 -0
  57. package/dist/{modelPropertyRecordSchemas-DEe-lYhn.js → modelPropertyRecordSchemas-CEac3FB8.js} +10 -10
  58. package/dist/{modelPropertyRecordSchemas-DEe-lYhn.js.map → modelPropertyRecordSchemas-CEac3FB8.js.map} +1 -1
  59. package/dist/node.js +14 -12
  60. package/dist/node.js.map +1 -1
  61. package/dist/platform.browser.js +10 -12
  62. package/dist/platform.browser.js.map +1 -1
  63. package/dist/platform.node.js +5 -5
  64. package/dist/{property-iNW1N3vm.js → property-4jSqHieb.js} +9 -9
  65. package/dist/{property-iNW1N3vm.js.map → property-4jSqHieb.js.map} +1 -1
  66. package/dist/{errors-CnT0fSMK.js → publishErrors-DZXDX3B6.js} +1830 -245
  67. package/dist/publishErrors-DZXDX3B6.js.map +1 -0
  68. package/dist/{readHtmlBodyForStorageSeed-B7HgPmq6.js → readHtmlBodyForStorageSeed-Cva1DPzE.js} +10 -12
  69. package/dist/{readHtmlBodyForStorageSeed-B7HgPmq6.js.map → readHtmlBodyForStorageSeed-Cva1DPzE.js.map} +1 -1
  70. package/dist/seedSchema/index.ts +0 -1
  71. package/dist/src/Item/Item.d.ts.map +1 -1
  72. package/dist/src/ItemProperty/ItemProperty.d.ts +1 -0
  73. package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -1
  74. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
  75. package/dist/src/Model/index.d.ts +0 -2
  76. package/dist/src/Model/index.d.ts.map +1 -1
  77. package/dist/src/browser/db/Db.d.ts.map +1 -1
  78. package/dist/src/browser/db/drizzleFiles.d.ts +3 -2
  79. package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -1
  80. package/dist/src/browser/helpers/FileManager.d.ts +1 -3
  81. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  82. package/dist/src/browser/workers/FileDownloader.d.ts +1 -0
  83. package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -1
  84. package/dist/src/browser/workers/ImageResizer.d.ts +1 -0
  85. package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -1
  86. package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -1
  87. package/dist/src/client/actors/saveAppState.d.ts.map +1 -1
  88. package/dist/src/client/actors/saveConfig.d.ts.map +1 -1
  89. package/dist/src/db/minimumUpgradeVersion.d.ts +20 -5
  90. package/dist/src/db/minimumUpgradeVersion.d.ts.map +1 -1
  91. package/dist/src/db/read/metadataProperty.d.ts +1 -1
  92. package/dist/src/db/read/metadataProperty.d.ts.map +1 -1
  93. package/dist/src/db/read/resolveModelRecord.d.ts +0 -20
  94. package/dist/src/db/read/resolveModelRecord.d.ts.map +1 -1
  95. package/dist/src/db/write/createMetadata.d.ts +1 -8
  96. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  97. package/dist/src/db/write/removeLocalCopiesForAddresses.d.ts +0 -5
  98. package/dist/src/db/write/removeLocalCopiesForAddresses.d.ts.map +1 -1
  99. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +1 -1
  100. package/dist/src/events/files/download.d.ts.map +1 -1
  101. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
  102. package/dist/src/helpers/easPropertyCanonical.d.ts +1 -1
  103. package/dist/src/helpers/easPropertyCanonical.d.ts.map +1 -1
  104. package/dist/src/helpers/entity/detachRowsBeforeDelete.d.ts +2 -3
  105. package/dist/src/helpers/entity/detachRowsBeforeDelete.d.ts.map +1 -1
  106. package/dist/src/helpers/entity/entityLifecycle.d.ts +0 -2
  107. package/dist/src/helpers/entity/entityLifecycle.d.ts.map +1 -1
  108. package/dist/src/helpers/environment.d.ts +0 -13
  109. package/dist/src/helpers/environment.d.ts.map +1 -1
  110. package/dist/src/helpers/index.d.ts +0 -4
  111. package/dist/src/helpers/index.d.ts.map +1 -1
  112. package/dist/src/helpers/itemStorageFile.d.ts +0 -11
  113. package/dist/src/helpers/itemStorageFile.d.ts.map +1 -1
  114. package/dist/src/helpers/propertySchemaUid.d.ts +7 -5
  115. package/dist/src/helpers/propertySchemaUid.d.ts.map +1 -1
  116. package/dist/src/helpers/storageDir.d.ts +0 -2
  117. package/dist/src/helpers/storageDir.d.ts.map +1 -1
  118. package/dist/src/index.d.ts +4 -1
  119. package/dist/src/index.d.ts.map +1 -1
  120. package/dist/src/node/db/Db.d.ts +0 -2
  121. package/dist/src/node/db/Db.d.ts.map +1 -1
  122. package/dist/src/node/helpers/FileManager.d.ts +0 -2
  123. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  124. package/dist/src/node/index.d.ts +11 -3
  125. package/dist/src/node/index.d.ts.map +1 -1
  126. package/dist/src/outbox/index.d.ts +5 -5
  127. package/dist/src/outbox/index.d.ts.map +1 -1
  128. package/dist/src/seedSchema/index.d.ts +0 -1
  129. package/dist/src/seedSchema/index.d.ts.map +1 -1
  130. package/dist/{syncDbWithEas-FuyqoEKk.js → syncDbWithEas-V_9gIyHp.js} +25 -23
  131. package/dist/syncDbWithEas-V_9gIyHp.js.map +1 -0
  132. package/dist/{tolerantWebAccess-zEseJ2zT.js → tolerantWebAccess-D6hFxREe.js} +11 -13
  133. package/dist/{tolerantWebAccess-zEseJ2zT.js.map → tolerantWebAccess-D6hFxREe.js.map} +1 -1
  134. package/dist/{updateSeedRevokedAt-B9JRwr5T.js → updateSeedRevokedAt-CsAoUEEt.js} +4 -3
  135. package/dist/{updateSeedRevokedAt-B9JRwr5T.js.map → updateSeedRevokedAt-CsAoUEEt.js.map} +1 -1
  136. package/package.json +7 -12
  137. package/dist/BaseFileManager-DLou1TZS.js.map +0 -1
  138. package/dist/Item-oPnmIehk.js.map +0 -1
  139. package/dist/ModelProperty-D2vJozmW.js.map +0 -1
  140. package/dist/detachRowsBeforeDelete-BZr_0iZU.js.map +0 -1
  141. package/dist/dist/BaseFileManager-DLou1TZS.d.ts.map +0 -1
  142. package/dist/dist/configurePlatform-WkmvqeTO.d.ts.map +0 -1
  143. package/dist/dist/minimumUpgradeVersion-BDhHvHtr.d.ts +0 -9
  144. package/dist/dist/minimumUpgradeVersion-BDhHvHtr.d.ts.map +0 -1
  145. package/dist/errors-CnT0fSMK.js.map +0 -1
  146. package/dist/getPublishPayload-DKuEaq96.js.map +0 -1
  147. package/dist/getPublishUploads-DivYpgNw.js +0 -783
  148. package/dist/getPublishUploads-DivYpgNw.js.map +0 -1
  149. package/dist/index-BjWk0x4-.js.map +0 -1
  150. package/dist/index-CZMWKXLM.js +0 -27
  151. package/dist/index-CZMWKXLM.js.map +0 -1
  152. package/dist/index-DXRhFg1N.js.map +0 -1
  153. package/dist/index-Gh42_47r.js.map +0 -1
  154. package/dist/index.browser-DQstVvRV.js.map +0 -1
  155. package/dist/index.node-BfiBriEq.js.map +0 -1
  156. package/dist/minimumUpgradeVersion-BDhHvHtr.js.map +0 -1
  157. package/dist/publishGraph-CRn_N3NT.js +0 -311
  158. package/dist/publishGraph-CRn_N3NT.js.map +0 -1
  159. package/dist/seedSchema/PropertyUidSchema.ts +0 -16
  160. package/dist/src/db/read/getItemProperty.d.ts +0 -6
  161. package/dist/src/db/read/getItemProperty.d.ts.map +0 -1
  162. package/dist/src/db/read/isSeedRevoked.d.ts +0 -7
  163. package/dist/src/db/read/isSeedRevoked.d.ts.map +0 -1
  164. package/dist/src/db/write/saveMetadata.d.ts +0 -3
  165. package/dist/src/db/write/saveMetadata.d.ts.map +0 -1
  166. package/dist/src/db/write/updateMetadata.d.ts +0 -13
  167. package/dist/src/db/write/updateMetadata.d.ts.map +0 -1
  168. package/dist/src/seedSchema/PropertyUidSchema.d.ts +0 -64
  169. package/dist/src/seedSchema/PropertyUidSchema.d.ts.map +0 -1
  170. package/dist/src/types/fileManager.d.ts +0 -13
  171. package/dist/src/types/fileManager.d.ts.map +0 -1
  172. package/dist/syncDbWithEas-FuyqoEKk.js.map +0 -1
  173. package/dist/tabEvents-DT5ez6io.js +0 -3830
  174. package/dist/tabEvents-DT5ez6io.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"property-iNW1N3vm.js","sources":["../../src/helpers/property.ts"],"sourcesContent":["import { Static } from '@sinclair/typebox'\nimport { TProperty } from '@/Schema'\nimport pluralize from 'pluralize'\nimport { propertyKeyFromStoredName } from '@/helpers/metadataPropertyNames'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport type { ModelScope } from '@/db/read/resolveModelRecord'\nimport type { PropertyDefinition } from '@/helpers/propertyDefinition'\n\n// Re-export everything from property/index.ts to make it available when importing from helpers/property\nexport * from './property/index'\n\n/**\n * The key in `defs` a property name refers to: the key itself, a stored metadata name\n * (`authorId` → `author`, `authorIdentityIds` → `authors`), or the name minus `Id` / `Ids`\n * (pluralized).\n */\nexport function resolvePropertyKey(defs: Record<string, any>, propertyName: string): string | undefined {\n if (defs[propertyName]) return propertyName\n const storedKey = propertyKeyFromStoredName(defs, propertyName)\n if (storedKey && defs[storedKey]) return storedKey\n const base = propertyName.endsWith('Ids')\n ? pluralize(propertyName.slice(0, -3))\n : propertyName.endsWith('Id')\n ? propertyName.slice(0, -2)\n : undefined\n return base && defs[base] ? base : undefined\n}\n\n/**\n * Every property definition of one model ({@link getPropertyDefinitions}), with the model row\n * resolved from its name and scope. Empty when the model has no row. Throws AmbiguousModelError\n * for a bare name two schemas define.\n */\nexport async function getModelPropertyDefinitions(\n modelName: string | undefined,\n scope: ModelScope = {},\n db = BaseDb.getAppDb(),\n): Promise<Map<string, PropertyDefinition>> {\n if (!db) return new Map()\n const { resolveModelRecord } = await import('../db/read/resolveModelRecord')\n const modelRecord = await resolveModelRecord(modelName, scope, db)\n if (!modelRecord?.id) return new Map()\n const { getPropertyDefinitions } = await import('./propertyDefinition')\n return getPropertyDefinitions(modelRecord.id, db)\n}\n\n/**\n * A property's definition, from its row ({@link getPropertyDefinition}), by model name and\n * property name. The name may be a stored metadata name (`authorId`, `tagIds`); the result's\n * `name` is the property's key. Undefined when the model or the property has no row.\n *\n * @example\n * ```typescript\n * const schema = await getPropertySchema('Article', 'title')\n * // { dataType: 'Text', name: 'title', id: '<schema file id>', validation: ..., ... }\n * const relation = await getPropertySchema('Article', 'authorId')\n * // { dataType: 'Relation', ref: 'Author', name: 'author', ... }\n * ```\n */\nexport const getPropertySchema = async (\n modelName: string,\n propertyName: string,\n /** Which model is meant when several schemas define one named modelName (Model.id and/or schema). */\n scope: { modelFileId?: string | null; schemaName?: string | null } = {},\n): Promise<(Static<typeof TProperty> & PropertyDefinition & { _propertyFileId?: string }) | undefined> => {\n const definitions = await getModelPropertyDefinitions(modelName, scope)\n const defs = Object.fromEntries(definitions)\n const key = resolvePropertyKey(defs, propertyName)\n if (!key) return undefined\n const definition = definitions.get(key)!\n return {\n ...definition,\n modelName,\n _propertyFileId: definition.id,\n } as Static<typeof TProperty> & PropertyDefinition & { _propertyFileId?: string }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-4jSqHieb.js","sources":["../../src/helpers/property.ts"],"sourcesContent":["import { Static } from '@sinclair/typebox'\nimport { TProperty } from '@/Schema'\nimport pluralize from 'pluralize'\nimport { propertyKeyFromStoredName } from '@/helpers/metadataPropertyNames'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport type { ModelScope } from '@/db/read/resolveModelRecord'\nimport type { PropertyDefinition } from '@/helpers/propertyDefinition'\n\n// Re-export everything from property/index.ts to make it available when importing from helpers/property\nexport * from './property/index'\n\n/**\n * The key in `defs` a property name refers to: the key itself, a stored metadata name\n * (`authorId` → `author`, `authorIdentityIds` → `authors`), or the name minus `Id` / `Ids`\n * (pluralized).\n */\nexport function resolvePropertyKey(defs: Record<string, any>, propertyName: string): string | undefined {\n if (defs[propertyName]) return propertyName\n const storedKey = propertyKeyFromStoredName(defs, propertyName)\n if (storedKey && defs[storedKey]) return storedKey\n const base = propertyName.endsWith('Ids')\n ? pluralize(propertyName.slice(0, -3))\n : propertyName.endsWith('Id')\n ? propertyName.slice(0, -2)\n : undefined\n return base && defs[base] ? base : undefined\n}\n\n/**\n * Every property definition of one model ({@link getPropertyDefinitions}), with the model row\n * resolved from its name and scope. Empty when the model has no row. Throws AmbiguousModelError\n * for a bare name two schemas define.\n */\nexport async function getModelPropertyDefinitions(\n modelName: string | undefined,\n scope: ModelScope = {},\n db = BaseDb.getAppDb(),\n): Promise<Map<string, PropertyDefinition>> {\n if (!db) return new Map()\n const { resolveModelRecord } = await import('../db/read/resolveModelRecord')\n const modelRecord = await resolveModelRecord(modelName, scope, db)\n if (!modelRecord?.id) return new Map()\n const { getPropertyDefinitions } = await import('./propertyDefinition')\n return getPropertyDefinitions(modelRecord.id, db)\n}\n\n/**\n * A property's definition, from its row ({@link getPropertyDefinition}), by model name and\n * property name. The name may be a stored metadata name (`authorId`, `tagIds`); the result's\n * `name` is the property's key. Undefined when the model or the property has no row.\n *\n * @example\n * ```typescript\n * const schema = await getPropertySchema('Article', 'title')\n * // { dataType: 'Text', name: 'title', id: '<schema file id>', validation: ..., ... }\n * const relation = await getPropertySchema('Article', 'authorId')\n * // { dataType: 'Relation', ref: 'Author', name: 'author', ... }\n * ```\n */\nexport const getPropertySchema = async (\n modelName: string,\n propertyName: string,\n /** Which model is meant when several schemas define one named modelName (Model.id and/or schema). */\n scope: { modelFileId?: string | null; schemaName?: string | null } = {},\n): Promise<(Static<typeof TProperty> & PropertyDefinition & { _propertyFileId?: string }) | undefined> => {\n const definitions = await getModelPropertyDefinitions(modelName, scope)\n const defs = Object.fromEntries(definitions)\n const key = resolvePropertyKey(defs, propertyName)\n if (!key) return undefined\n const definition = definitions.get(key)!\n return {\n ...definition,\n modelName,\n _propertyFileId: definition.id,\n } as Static<typeof TProperty> & PropertyDefinition & { _propertyFileId?: string }\n}\n"],"names":[],"mappings":"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"}