@seedprotocol/sdk 0.3.31 → 0.4.1
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.
- package/README.md +15 -2
- package/dist/Item/Item.js +954 -0
- package/dist/Item/Item.js.map +1 -0
- package/dist/Item/queries.js +66 -0
- package/dist/Item/queries.js.map +1 -0
- package/dist/Item/service/actors/fetchDataFromEas.js +94 -0
- package/dist/Item/service/actors/fetchDataFromEas.js.map +1 -0
- package/dist/Item/service/actors/hydrateExistingItem.js +124 -0
- package/dist/Item/service/actors/hydrateExistingItem.js.map +1 -0
- package/dist/Item/service/actors/hydrateNewItem.js.map +1 -0
- package/dist/Item/service/actors/initialize.js +50 -0
- package/dist/Item/service/actors/initialize.js.map +1 -0
- package/dist/Item/service/actors/loadOrCreateItem.js +210 -0
- package/dist/Item/service/actors/loadOrCreateItem.js.map +1 -0
- package/dist/Item/service/actors/reload.js.map +1 -0
- package/dist/Item/service/actors/waitForDb.js.map +1 -0
- package/dist/Item/service/itemMachineSingle.js +211 -0
- package/dist/Item/service/itemMachineSingle.js.map +1 -0
- package/dist/ItemProperty/ItemProperty.js +613 -0
- package/dist/ItemProperty/ItemProperty.js.map +1 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.js +207 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
- package/dist/ItemProperty/service/actors/initialize.js +74 -0
- package/dist/ItemProperty/service/actors/initialize.js.map +1 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +125 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js +321 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +111 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +121 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +85 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
- package/dist/ItemProperty/service/actors/waitForDb.js.map +1 -0
- package/dist/ItemProperty/service/propertyMachine.js +233 -0
- package/dist/ItemProperty/service/propertyMachine.js.map +1 -0
- package/dist/Model/Model.js +1831 -0
- package/dist/Model/Model.js.map +1 -0
- package/dist/Model/index.js +8 -0
- package/dist/Model/index.js.map +1 -0
- package/dist/Model/service/actors/createModelProperties.js +102 -0
- package/dist/Model/service/actors/createModelProperties.js.map +1 -0
- package/dist/Model/service/actors/loadOrCreateModel.js +397 -0
- package/dist/Model/service/actors/loadOrCreateModel.js.map +1 -0
- package/dist/Model/service/actors/validateModel.js +123 -0
- package/dist/Model/service/actors/validateModel.js.map +1 -0
- package/dist/Model/service/modelMachine.js +385 -0
- package/dist/Model/service/modelMachine.js.map +1 -0
- package/dist/ModelProperty/ModelProperty.js +841 -0
- package/dist/ModelProperty/ModelProperty.js.map +1 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +119 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +1 -0
- package/dist/ModelProperty/service/actors/saveToSchema.js +108 -0
- package/dist/ModelProperty/service/actors/saveToSchema.js.map +1 -0
- package/dist/ModelProperty/service/actors/validateProperty.js +129 -0
- package/dist/ModelProperty/service/actors/validateProperty.js.map +1 -0
- package/dist/ModelProperty/service/modelPropertyMachine.js +275 -0
- package/dist/ModelProperty/service/modelPropertyMachine.js.map +1 -0
- package/dist/Schema/Schema.js +1732 -0
- package/dist/Schema/Schema.js.map +1 -0
- package/dist/Schema/errors.js +14 -0
- package/dist/Schema/errors.js.map +1 -0
- package/dist/Schema/index.js +7 -0
- package/dist/Schema/index.js.map +1 -0
- package/dist/Schema/service/actors/checkExistingSchema.js +454 -0
- package/dist/Schema/service/actors/checkExistingSchema.js.map +1 -0
- package/dist/Schema/service/actors/createModelInstances.js +71 -0
- package/dist/Schema/service/actors/createModelInstances.js.map +1 -0
- package/dist/Schema/service/actors/createPropertyInstances.js +86 -0
- package/dist/Schema/service/actors/createPropertyInstances.js.map +1 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.js +1336 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.js.map +1 -0
- package/dist/Schema/service/actors/validateSchema.js +65 -0
- package/dist/Schema/service/actors/validateSchema.js.map +1 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js +88 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +1 -0
- package/dist/Schema/service/actors/verifyModelsInDb.js +107 -0
- package/dist/Schema/service/actors/verifyModelsInDb.js.map +1 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.js +131 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +1 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +88 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +1 -0
- package/dist/Schema/service/actors/verifySchemaInDb.js +85 -0
- package/dist/Schema/service/actors/verifySchemaInDb.js.map +1 -0
- package/dist/Schema/service/actors/writeModelsToDb.js +185 -0
- package/dist/Schema/service/actors/writeModelsToDb.js.map +1 -0
- package/dist/Schema/service/actors/writePropertiesToDb.js +69 -0
- package/dist/Schema/service/actors/writePropertiesToDb.js.map +1 -0
- package/dist/Schema/service/actors/writeSchemaToDb.js +137 -0
- package/dist/Schema/service/actors/writeSchemaToDb.js.map +1 -0
- package/dist/Schema/service/addModelsMachine.js +545 -0
- package/dist/Schema/service/addModelsMachine.js.map +1 -0
- package/dist/Schema/service/schemaMachine.js +667 -0
- package/dist/Schema/service/schemaMachine.js.map +1 -0
- package/dist/Schema/service/validation/SchemaValidationService.js +565 -0
- package/dist/Schema/service/validation/SchemaValidationService.js.map +1 -0
- package/dist/Schema/validation.js +15 -0
- package/dist/Schema/validation.js.map +1 -0
- package/dist/browser/db/Db.js +484 -0
- package/dist/browser/db/Db.js.map +1 -0
- package/dist/browser/db/drizzleFiles.js +1022 -0
- package/dist/browser/db/drizzleFiles.js.map +1 -0
- package/dist/browser/helpers/ArweaveClient.js +13 -0
- package/dist/browser/helpers/ArweaveClient.js.map +1 -0
- package/dist/browser/helpers/EasClient.js +16 -0
- package/dist/browser/helpers/EasClient.js.map +1 -0
- package/dist/browser/helpers/FileManager.js +415 -0
- package/dist/browser/helpers/FileManager.js.map +1 -0
- package/dist/browser/helpers/PathResolver.js +64 -0
- package/dist/browser/helpers/PathResolver.js.map +1 -0
- package/dist/browser/helpers/QueryClient.js +33 -0
- package/dist/browser/helpers/QueryClient.js.map +1 -0
- package/dist/browser/react/client.js +16 -0
- package/dist/browser/react/client.js.map +1 -0
- package/dist/browser/react/db.js +7 -0
- package/dist/browser/react/db.js.map +1 -0
- package/dist/browser/react/item.js +192 -0
- package/dist/browser/react/item.js.map +1 -0
- package/dist/browser/react/itemProperty.js +545 -0
- package/dist/browser/react/itemProperty.js.map +1 -0
- package/dist/browser/react/liveQuery.js +95 -0
- package/dist/browser/react/liveQuery.js.map +1 -0
- package/dist/browser/react/model.js +276 -0
- package/dist/browser/react/model.js.map +1 -0
- package/dist/browser/react/modelProperty.js +412 -0
- package/dist/browser/react/modelProperty.js.map +1 -0
- package/dist/browser/react/schema.js +387 -0
- package/dist/browser/react/schema.js.map +1 -0
- package/dist/browser/react/services.js +47 -0
- package/dist/browser/react/services.js.map +1 -0
- package/dist/browser/react/trash.js.map +1 -0
- package/dist/browser/workers/FileDownloader.js.map +1 -0
- package/dist/browser/workers/ImageResizer.js.map +1 -0
- package/dist/browser/workers/filesDownload.js.map +1 -0
- package/dist/browser/workers/imageResize.js.map +1 -0
- package/dist/client/ClientManager.js +177 -0
- package/dist/client/ClientManager.js.map +1 -0
- package/dist/client/actors/addModelsToDb.js +150 -0
- package/dist/client/actors/addModelsToDb.js.map +1 -0
- package/dist/client/actors/addModelsToStore.js +28 -0
- package/dist/client/actors/addModelsToStore.js.map +1 -0
- package/dist/client/actors/dbInit.js +38 -0
- package/dist/client/actors/dbInit.js.map +1 -0
- package/dist/client/actors/fileSystemInit.js +43 -0
- package/dist/client/actors/fileSystemInit.js.map +1 -0
- package/dist/client/actors/platformClassesInit.js +175 -0
- package/dist/client/actors/platformClassesInit.js.map +1 -0
- package/dist/client/actors/processSchemaFiles.js +169 -0
- package/dist/client/actors/processSchemaFiles.js.map +1 -0
- package/dist/client/actors/saveAppState.js +80 -0
- package/dist/client/actors/saveAppState.js.map +1 -0
- package/dist/client/actors/saveConfig.js +110 -0
- package/dist/client/actors/saveConfig.js.map +1 -0
- package/dist/client/clientManagerMachine.js +191 -0
- package/dist/client/clientManagerMachine.js.map +1 -0
- package/dist/client/constants.js +80 -0
- package/dist/client/constants.js.map +1 -0
- package/dist/db/Db/BaseDb.js +55 -0
- package/dist/db/Db/BaseDb.js.map +1 -0
- package/dist/db/drizzle/drizzle/0000_married_malice.sql +121 -0
- package/dist/db/drizzle/drizzle/0001_sweet_bruce_banner.sql +2 -0
- package/dist/db/drizzle/drizzle/0002_bitter_proudstar.sql +3 -0
- package/dist/db/drizzle/drizzle/0003_cultured_senator_kelly.sql +3 -0
- package/dist/db/drizzle/drizzle/meta/0000_snapshot.json +792 -0
- package/dist/db/drizzle/drizzle/meta/0001_snapshot.json +806 -0
- package/dist/db/drizzle/drizzle/meta/0002_snapshot.json +829 -0
- package/dist/db/drizzle/drizzle/meta/0003_snapshot.json +850 -0
- package/dist/db/drizzle/drizzle/meta/_journal.json +34 -0
- package/dist/db/read/getExistingItem.js +33 -0
- package/dist/db/read/getExistingItem.js.map +1 -0
- package/dist/db/read/getItem.js +26 -0
- package/dist/db/read/getItem.js.map +1 -0
- package/dist/db/read/getItemData.js +88 -0
- package/dist/db/read/getItemData.js.map +1 -0
- package/dist/db/read/getItemProperties.js +53 -0
- package/dist/db/read/getItemProperties.js.map +1 -0
- package/dist/db/read/getItemProperty.js +34 -0
- package/dist/db/read/getItemProperty.js.map +1 -0
- package/dist/db/read/getItems.js +53 -0
- package/dist/db/read/getItems.js.map +1 -0
- package/dist/db/read/getMetadata.js +36 -0
- package/dist/db/read/getMetadata.js.map +1 -0
- package/dist/db/read/getModelSchemas.js +63 -0
- package/dist/db/read/getModelSchemas.js.map +1 -0
- package/dist/db/read/getPropertyData.js +42 -0
- package/dist/db/read/getPropertyData.js.map +1 -0
- package/dist/db/read/getPublishPayload.js +294 -0
- package/dist/db/read/getPublishPayload.js.map +1 -0
- package/dist/db/read/getPublishUploads.js +166 -0
- package/dist/db/read/getPublishUploads.js.map +1 -0
- package/dist/db/read/getRelationValueData.js +34 -0
- package/dist/db/read/getRelationValueData.js.map +1 -0
- package/dist/db/read/getSchemaUidForModel.js +28 -0
- package/dist/db/read/getSchemaUidForModel.js.map +1 -0
- package/dist/db/read/getSeedData.js +32 -0
- package/dist/db/read/getSeedData.js.map +1 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.js +34 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
- package/dist/db/read/getVersionData.js +37 -0
- package/dist/db/read/getVersionData.js.map +1 -0
- package/dist/db/read/subqueries/metadataLatest.js +39 -0
- package/dist/db/read/subqueries/metadataLatest.js.map +1 -0
- package/dist/db/read/subqueries/versionData.js +31 -0
- package/dist/db/read/subqueries/versionData.js.map +1 -0
- package/dist/db/write/createMetadata.js +94 -0
- package/dist/db/write/createMetadata.js.map +1 -0
- package/dist/db/write/createNewItem.js +43 -0
- package/dist/db/write/createNewItem.js.map +1 -0
- package/dist/db/write/createSeed.js +32 -0
- package/dist/db/write/createSeed.js.map +1 -0
- package/dist/db/write/createSeeds.js +29 -0
- package/dist/db/write/createSeeds.js.map +1 -0
- package/dist/db/write/createVersion.js +29 -0
- package/dist/db/write/createVersion.js.map +1 -0
- package/dist/db/write/deleteItem.js +25 -0
- package/dist/db/write/deleteItem.js.map +1 -0
- package/dist/db/write/saveAppState.js +30 -0
- package/dist/db/write/saveAppState.js.map +1 -0
- package/dist/db/write/saveMetadata.js +26 -0
- package/dist/db/write/saveMetadata.js.map +1 -0
- package/dist/db/write/updateItemPropertyValue.js +165 -0
- package/dist/db/write/updateItemPropertyValue.js.map +1 -0
- package/dist/db/write/updateMetadata.js +38 -0
- package/dist/db/write/updateMetadata.js.map +1 -0
- package/dist/eas.js +176 -0
- package/dist/eas.js.map +1 -0
- package/dist/eventBus.js.map +1 -0
- package/dist/events/files/download.js +191 -0
- package/dist/events/files/download.js.map +1 -0
- package/dist/events/files/index.js +23 -0
- package/dist/events/files/index.js.map +1 -0
- package/dist/events/index.js +28 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/item/index.js.map +1 -0
- package/dist/events/item/publish.js +50 -0
- package/dist/events/item/publish.js.map +1 -0
- package/dist/events/item/syncDbWithEas.js +453 -0
- package/dist/events/item/syncDbWithEas.js.map +1 -0
- package/dist/events/services/allItems.js +10 -0
- package/dist/events/services/allItems.js.map +1 -0
- package/dist/events/services/index.js.map +1 -0
- package/dist/feed.js +534 -0
- package/dist/feed.js.map +1 -0
- package/dist/graphql/gql/gql.js +27 -0
- package/dist/graphql/gql/gql.js.map +1 -0
- package/dist/graphql/gql/graphql.js +129 -0
- package/dist/graphql/gql/graphql.js.map +1 -0
- package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
- package/dist/helpers/ArweaveClient/index.js +61 -0
- package/dist/helpers/ArweaveClient/index.js.map +1 -0
- package/dist/helpers/ArweaveClient/queries.js.map +1 -0
- package/dist/helpers/EasClient/BaseEasClient.js +20 -0
- package/dist/helpers/EasClient/BaseEasClient.js.map +1 -0
- package/dist/helpers/FileManager/BaseFileManager.js +119 -0
- package/dist/helpers/FileManager/BaseFileManager.js.map +1 -0
- package/dist/helpers/PathResolver/BasePathResolver.js +20 -0
- package/dist/helpers/PathResolver/BasePathResolver.js.map +1 -0
- package/dist/helpers/QueryClient/BaseQueryClient.js.map +1 -0
- package/dist/helpers/constants.js +107 -0
- package/dist/helpers/constants.js.map +1 -0
- package/dist/helpers/crypto.js.map +1 -0
- package/dist/helpers/db.js +1335 -0
- package/dist/helpers/db.js.map +1 -0
- package/dist/helpers/environment.js +14 -0
- package/dist/helpers/environment.js.map +1 -0
- package/dist/helpers/file/queries.js +15 -0
- package/dist/helpers/file/queries.js.map +1 -0
- package/dist/helpers/getSchemaForItemProperty.js +65 -0
- package/dist/helpers/getSchemaForItemProperty.js.map +1 -0
- package/dist/helpers/getSegmentedItemProperties.js +71 -0
- package/dist/helpers/getSegmentedItemProperties.js.map +1 -0
- package/dist/helpers/index.js +101 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/model.js +24 -0
- package/dist/helpers/model.js.map +1 -0
- package/dist/helpers/property/index.js +110 -0
- package/dist/helpers/property/index.js.map +1 -0
- package/dist/helpers/property.js +286 -0
- package/dist/helpers/property.js.map +1 -0
- package/dist/helpers/reactiveProxy.js +87 -0
- package/dist/helpers/reactiveProxy.js.map +1 -0
- package/dist/helpers/schema.js +473 -0
- package/dist/helpers/schema.js.map +1 -0
- package/dist/helpers/updateMachineContext.js.map +1 -0
- package/dist/helpers/updateSchema.js +721 -0
- package/dist/helpers/updateSchema.js.map +1 -0
- package/dist/imports/json.js +1129 -0
- package/dist/imports/json.js.map +1 -0
- package/dist/imports/markdown.js +141 -0
- package/dist/imports/markdown.js.map +1 -0
- package/dist/main.cjs +81 -0
- package/dist/main.cjs.map +1 -0
- package/dist/main.js +34 -29
- package/dist/main.js.map +1 -1
- package/dist/node/codegen/drizzle.js +136 -0
- package/dist/node/codegen/drizzle.js.map +1 -0
- package/dist/node/codegen/templates/model.njk +4 -0
- package/dist/node/db/Db.js +332 -0
- package/dist/node/db/Db.js.map +1 -0
- package/dist/node/helpers/ArweaveClient.js +13 -0
- package/dist/node/helpers/ArweaveClient.js.map +1 -0
- package/dist/node/helpers/EasClient.js +16 -0
- package/dist/node/helpers/EasClient.js.map +1 -0
- package/dist/node/helpers/FileManager.js +151 -0
- package/dist/node/helpers/FileManager.js.map +1 -0
- package/dist/node/helpers/PathResolver.js +182 -0
- package/dist/node/helpers/PathResolver.js.map +1 -0
- package/dist/node/helpers/QueryClient.js.map +1 -0
- package/dist/node/helpers/index.js +62 -0
- package/dist/node/helpers/index.js.map +1 -0
- package/dist/node/helpers/scripts.js +121 -0
- package/dist/node/helpers/scripts.js.map +1 -0
- package/dist/node/webpack/index.js.map +1 -0
- package/dist/node.js +40 -0
- package/dist/node.js.map +1 -0
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +31 -0
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +90 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +28 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +7 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +2 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +12 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +7 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +18 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +1 -0
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +3 -0
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +1 -0
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +19 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +6 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +12 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +31 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +55 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +4 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +12 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +33 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +59 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +199 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +8 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +2 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +51 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +22 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +4 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +1 -0
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +33 -0
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +1 -0
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +26 -0
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +1 -0
- package/dist/scripts/build-with-tests.d.ts +3 -0
- package/dist/scripts/build-with-tests.d.ts.map +1 -0
- package/dist/scripts/sync-versions.d.ts +7 -0
- package/dist/scripts/sync-versions.d.ts.map +1 -0
- package/dist/scripts/track-drizzle-changes.d.ts +13 -0
- package/dist/scripts/track-drizzle-changes.d.ts.map +1 -0
- package/dist/scripts/vite.config.d.ts +1 -1
- package/dist/seedSchema/AppStateSchema.js.map +1 -0
- package/dist/seedSchema/ConfigSchema.js.map +1 -0
- package/dist/seedSchema/MetadataSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchema.js +40 -0
- package/dist/seedSchema/ModelSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchema.ts +19 -6
- package/dist/seedSchema/ModelSchemaSchema.js +12 -0
- package/dist/seedSchema/ModelSchemaSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchemaSchema.ts +12 -0
- package/dist/seedSchema/ModelUidSchema.js +18 -0
- package/dist/seedSchema/ModelUidSchema.js.map +1 -0
- package/dist/seedSchema/PropertyUidSchema.js +18 -0
- package/dist/seedSchema/PropertyUidSchema.js.map +1 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json +83 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +94 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +1 -0
- package/dist/seedSchema/SchemaSchema.js +20 -0
- package/dist/seedSchema/SchemaSchema.js.map +1 -0
- package/dist/seedSchema/SchemaSchema.ts +25 -0
- package/dist/seedSchema/SeedSchema.js.map +1 -0
- package/dist/seedSchema/VersionSchema.js.map +1 -0
- package/dist/seedSchema/index.js +11 -0
- package/dist/seedSchema/index.js.map +1 -0
- package/dist/seedSchema/index.ts +2 -0
- package/dist/services/events.js +16 -0
- package/dist/services/events.js.map +1 -0
- package/dist/services/publish/actors/createPublishAttempt.js.map +1 -0
- package/dist/services/publish/actors/preparePublishRequestData.js +76 -0
- package/dist/services/publish/actors/preparePublishRequestData.js.map +1 -0
- package/dist/services/publish/actors/upload.js +61 -0
- package/dist/services/publish/actors/upload.js.map +1 -0
- package/dist/services/publish/actors/validateItemData.js.map +1 -0
- package/dist/services/publish/publishMachine.js +71 -0
- package/dist/services/publish/publishMachine.js.map +1 -0
- package/dist/services/write/actors/validateEntity.js +145 -0
- package/dist/services/write/actors/validateEntity.js.map +1 -0
- package/dist/services/write/actors/writeToDatabase.js +91 -0
- package/dist/services/write/actors/writeToDatabase.js.map +1 -0
- package/dist/services/write/writeProcessMachine.js +233 -0
- package/dist/services/write/writeProcessMachine.js.map +1 -0
- package/dist/src/Item/Item.d.ts +94 -0
- package/dist/src/Item/Item.d.ts.map +1 -0
- package/dist/src/Item/queries.d.ts +2 -2
- package/dist/src/Item/queries.d.ts.map +1 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +1 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +1 -1
- package/dist/src/Item/service/actors/initialize.d.ts.map +1 -1
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts +5 -0
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
- package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -1
- package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +67 -0
- package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -0
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts +5 -0
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/propertyMachine.d.ts +44 -93
- package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
- package/dist/src/Model/Model.d.ts +199 -0
- package/dist/src/Model/Model.d.ts.map +1 -0
- package/dist/src/Model/index.d.ts +26 -0
- package/dist/src/Model/index.d.ts.map +1 -0
- package/dist/src/Model/service/actors/createModelProperties.d.ts +9 -0
- package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -0
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts +5 -0
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
- package/dist/src/Model/service/actors/validateModel.d.ts +5 -0
- package/dist/src/Model/service/actors/validateModel.d.ts.map +1 -0
- package/dist/src/Model/service/modelMachine.d.ts +206 -0
- package/dist/src/Model/service/modelMachine.d.ts.map +1 -0
- package/dist/src/ModelProperty/ModelProperty.d.ts +112 -0
- package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts +5 -0
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts +11 -0
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts +5 -0
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +183 -0
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
- package/dist/src/Schema/Schema.d.ts +143 -0
- package/dist/src/Schema/Schema.d.ts.map +1 -0
- package/dist/src/Schema/errors.d.ts +20 -0
- package/dist/src/Schema/errors.d.ts.map +1 -0
- package/dist/src/Schema/index.d.ts +6 -0
- package/dist/src/Schema/index.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/createModelInstances.d.ts +11 -0
- package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts +12 -0
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/validateSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/validateSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts +6 -0
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts +7 -0
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts +8 -0
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts +6 -0
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts +7 -0
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts +9 -0
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts +10 -0
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts +11 -0
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/addModelsMachine.d.ts +111 -0
- package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -0
- package/dist/src/Schema/service/schemaMachine.d.ts +494 -0
- package/dist/src/Schema/service/schemaMachine.d.ts.map +1 -0
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +76 -0
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
- package/dist/src/Schema/validation.d.ts +40 -0
- package/dist/src/Schema/validation.d.ts.map +1 -0
- package/dist/src/browser/db/Db.d.ts +34 -2
- package/dist/src/browser/db/Db.d.ts.map +1 -1
- package/dist/src/browser/db/drizzleFiles.d.ts +7 -0
- package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -0
- package/dist/src/browser/helpers/EasClient.d.ts +2 -0
- package/dist/src/browser/helpers/EasClient.d.ts.map +1 -1
- package/dist/src/browser/helpers/FileManager.d.ts +15 -2
- package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/browser/helpers/PathResolver.d.ts +40 -0
- package/dist/src/browser/helpers/PathResolver.d.ts.map +1 -0
- package/dist/src/browser/helpers/QueryClient.d.ts +2 -2
- package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
- package/dist/src/browser/index.d.ts +1 -0
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/react/SeedImage.d.ts +2 -2
- package/dist/src/browser/react/SeedImage.d.ts.map +1 -1
- package/dist/src/browser/react/client.d.ts +2 -0
- package/dist/src/browser/react/client.d.ts.map +1 -0
- package/dist/src/browser/react/db.d.ts.map +1 -1
- package/dist/src/browser/react/index.d.ts +5 -2
- package/dist/src/browser/react/index.d.ts.map +1 -1
- package/dist/src/browser/react/item.d.ts +6 -6
- package/dist/src/browser/react/item.d.ts.map +1 -1
- package/dist/src/browser/react/itemProperty.d.ts +57 -0
- package/dist/src/browser/react/itemProperty.d.ts.map +1 -0
- package/dist/src/browser/react/liveQuery.d.ts +29 -0
- package/dist/src/browser/react/liveQuery.d.ts.map +1 -0
- package/dist/src/browser/react/model.d.ts +32 -5
- package/dist/src/browser/react/model.d.ts.map +1 -1
- package/dist/src/browser/react/modelProperty.d.ts +59 -0
- package/dist/src/browser/react/modelProperty.d.ts.map +1 -0
- package/dist/src/browser/react/schema.d.ts +37 -0
- package/dist/src/browser/react/schema.d.ts.map +1 -0
- package/dist/src/browser/react/services.d.ts +3 -2
- package/dist/src/browser/react/services.d.ts.map +1 -1
- package/dist/src/browser/seed.d.ts +0 -1
- package/dist/src/browser/seed.d.ts.map +1 -1
- package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -1
- package/dist/src/browser/workers/content-hash.d.ts.map +1 -1
- package/dist/src/client/ClientManager.d.ts +179 -175
- package/dist/src/client/ClientManager.d.ts.map +1 -1
- package/dist/src/client/actors/addModelsToDb.d.ts +4 -0
- package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -0
- package/dist/src/client/actors/addModelsToStore.d.ts +4 -0
- package/dist/src/client/actors/addModelsToStore.d.ts.map +1 -0
- package/dist/src/client/actors/dbInit.d.ts +4 -0
- package/dist/src/client/actors/dbInit.d.ts.map +1 -0
- package/dist/src/client/actors/fileSystemInit.d.ts +4 -0
- package/dist/src/client/actors/fileSystemInit.d.ts.map +1 -0
- package/dist/src/client/actors/platformClassesInit.d.ts +9 -0
- package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -0
- package/dist/src/client/actors/processSchemaFiles.d.ts +4 -0
- package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -0
- package/dist/src/client/actors/saveAppState.d.ts +6 -3
- package/dist/src/client/actors/saveAppState.d.ts.map +1 -1
- package/dist/src/client/actors/saveConfig.d.ts +4 -0
- package/dist/src/client/actors/saveConfig.d.ts.map +1 -0
- package/dist/src/client/clientManagerMachine.d.ts +57 -89
- package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
- package/dist/src/client/constants.d.ts +79 -0
- package/dist/src/client/constants.d.ts.map +1 -0
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/db/Db/BaseDb.d.ts +30 -0
- package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
- package/dist/src/db/configs/dev.schema.config.d.ts +3 -0
- package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -0
- package/dist/src/db/read/getExistingItem.d.ts.map +1 -1
- package/dist/src/db/read/getModelSchemas.d.ts +8 -3
- package/dist/src/db/read/getModelSchemas.d.ts.map +1 -1
- package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
- package/dist/src/db/read/getPublishPayload.d.ts +2 -2
- package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/getRelationValueData.d.ts.map +1 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts +1 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts.map +1 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -1
- package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
- package/dist/src/db/write/createMetadata.d.ts +3 -1
- package/dist/src/db/write/createMetadata.d.ts.map +1 -1
- package/dist/src/db/write/createNewItem.d.ts.map +1 -1
- package/dist/src/db/write/createSeed.d.ts.map +1 -1
- package/dist/src/db/write/recoverDeletedItem.d.ts.map +1 -1
- package/dist/src/db/write/saveAppState.d.ts.map +1 -1
- package/dist/src/db/write/saveMetadata.d.ts.map +1 -1
- package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
- package/dist/src/eas.d.ts +26 -0
- package/dist/src/eas.d.ts.map +1 -0
- package/dist/src/eslint-rules/align-imports.d.ts +12 -0
- package/dist/src/eslint-rules/align-imports.d.ts.map +1 -0
- package/dist/src/events/files/download.d.ts.map +1 -1
- package/dist/src/events/files/index.d.ts.map +1 -1
- package/dist/src/events/item/create.d.ts.map +1 -1
- package/dist/src/events/item/publish.d.ts.map +1 -1
- package/dist/src/events/item/request.d.ts.map +1 -1
- package/dist/src/events/item/requestAll.d.ts.map +1 -1
- package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
- package/dist/src/events/services/allItems.d.ts.map +1 -1
- package/dist/src/feed.d.ts +2 -0
- package/dist/src/feed.d.ts.map +1 -0
- package/dist/src/graphql/gql/gql.d.ts +29 -58
- package/dist/src/graphql/gql/gql.d.ts.map +1 -1
- package/dist/src/graphql/gql/graphql.d.ts +115 -83
- package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
- package/dist/src/helpers/ArweaveClient/index.d.ts +1 -0
- package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts +3 -0
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +1 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts +7 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts +22 -0
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
- package/dist/src/helpers/constants.d.ts +14 -0
- package/dist/src/helpers/constants.d.ts.map +1 -1
- package/dist/src/helpers/crypto.d.ts.map +1 -1
- package/dist/src/helpers/db.d.ts +109 -1
- package/dist/src/helpers/db.d.ts.map +1 -1
- package/dist/src/helpers/environment.d.ts +16 -0
- package/dist/src/helpers/environment.d.ts.map +1 -1
- package/dist/src/helpers/file/download/actors.d.ts.map +1 -0
- package/dist/src/helpers/file/download/index.d.ts.map +1 -0
- package/dist/src/helpers/file/fetchAll/actors.d.ts.map +1 -0
- package/dist/src/helpers/file/fetchAll/index.d.ts.map +1 -0
- package/dist/src/helpers/file/queries.d.ts.map +1 -0
- package/dist/src/helpers/files.d.ts.map +1 -1
- package/dist/src/helpers/getSchemaForItemProperty.d.ts +7 -3
- package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +1 -1
- package/dist/src/helpers/getSegmentedItemProperties.d.ts +4 -4
- package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
- package/dist/src/helpers/image/queries.d.ts.map +1 -0
- package/dist/src/helpers/index.d.ts +7 -7
- package/dist/src/helpers/index.d.ts.map +1 -1
- package/dist/src/helpers/model.d.ts +9 -0
- package/dist/src/helpers/model.d.ts.map +1 -0
- package/dist/src/helpers/property/index.d.ts +298 -0
- package/dist/src/helpers/property/index.d.ts.map +1 -0
- package/dist/src/helpers/property.d.ts +39 -0
- package/dist/src/helpers/property.d.ts.map +1 -0
- package/dist/src/helpers/reactiveProxy.d.ts +44 -0
- package/dist/src/helpers/reactiveProxy.d.ts.map +1 -0
- package/dist/src/helpers/schema.d.ts +131 -0
- package/dist/src/helpers/schema.d.ts.map +1 -0
- package/dist/src/helpers/updateSchema.d.ts +109 -0
- package/dist/src/helpers/updateSchema.d.ts.map +1 -0
- package/dist/src/imports/index.d.ts +3 -0
- package/dist/src/imports/index.d.ts.map +1 -0
- package/dist/src/imports/json.d.ts +81 -0
- package/dist/src/imports/json.d.ts.map +1 -0
- package/dist/src/imports/markdown.d.ts +38 -0
- package/dist/src/imports/markdown.d.ts.map +1 -0
- package/dist/src/index.d.ts +22 -14
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/interfaces/IItem.d.ts +5 -2
- package/dist/src/interfaces/IItem.d.ts.map +1 -1
- package/dist/src/interfaces/IItemProperty.d.ts +5 -5
- package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
- package/dist/src/node/codegen/drizzle.d.ts +3 -3
- package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
- package/dist/src/node/constants.d.ts +0 -1
- package/dist/src/node/constants.d.ts.map +1 -1
- package/dist/src/node/db/Db.d.ts +36 -2
- package/dist/src/node/db/Db.d.ts.map +1 -1
- package/dist/src/node/db/index.d.ts +4 -4
- package/dist/src/node/db/index.d.ts.map +1 -1
- package/dist/src/node/helpers/EasClient.d.ts.map +1 -1
- package/dist/src/node/helpers/FileManager.d.ts +10 -1
- package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/node/helpers/PathResolver.d.ts +43 -0
- package/dist/src/node/helpers/PathResolver.d.ts.map +1 -0
- package/dist/src/node/helpers/index.d.ts.map +1 -1
- package/dist/src/node/helpers/scripts.d.ts +16 -0
- package/dist/src/node/helpers/scripts.d.ts.map +1 -0
- package/dist/src/node/index.d.ts +25 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/webpack/fs-proxy.d.ts +4 -0
- package/dist/src/node/webpack/fs-proxy.d.ts.map +1 -0
- package/dist/src/node/webpack/index.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchema.d.ts +72 -38
- package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts +61 -0
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/SchemaSchema.d.ts +169 -0
- package/dist/src/seedSchema/SchemaSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/index.d.ts +2 -0
- package/dist/src/seedSchema/index.d.ts.map +1 -1
- package/dist/src/services/events.d.ts.map +1 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +1 -1
- package/dist/src/services/publish/actors/upload.d.ts.map +1 -1
- package/dist/src/services/publish/publishMachine.d.ts +24 -185
- package/dist/src/services/publish/publishMachine.d.ts.map +1 -1
- package/dist/src/services/write/actors/validateEntity.d.ts +12 -0
- package/dist/src/services/write/actors/validateEntity.d.ts.map +1 -0
- package/dist/src/services/write/actors/writeToDatabase.d.ts +9 -0
- package/dist/src/services/write/actors/writeToDatabase.d.ts.map +1 -0
- package/dist/src/services/write/writeProcessMachine.d.ts +84 -0
- package/dist/src/services/write/writeProcessMachine.d.ts.map +1 -0
- package/dist/src/types/import.d.ts +72 -0
- package/dist/src/types/import.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +9 -3
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/item.d.ts +7 -26
- package/dist/src/types/item.d.ts.map +1 -1
- package/dist/src/types/machines.d.ts +16 -27
- package/dist/src/types/machines.d.ts.map +1 -1
- package/dist/src/types/model.d.ts +12 -15
- package/dist/src/types/model.d.ts.map +1 -1
- package/dist/src/types/property.d.ts +1 -1
- package/dist/src/vite/index.d.ts +47 -0
- package/dist/src/vite/index.d.ts.map +1 -0
- package/dist/stores/eas.js +23 -0
- package/dist/stores/eas.js.map +1 -0
- package/dist/vite/index.js +554 -0
- package/dist/vite/index.js.map +1 -0
- package/package.json +106 -74
- package/dist/addModel.js +0 -93
- package/dist/addModel.js.map +0 -1
- package/dist/bin.js +0 -306
- package/dist/bin.js.map +0 -1
- package/dist/db/configs/browser.app.db.config.ts +0 -28
- package/dist/db/configs/node.app.db.config.js +0 -21
- package/dist/db/configs/node.app.db.config.js.map +0 -1
- package/dist/db/configs/node.app.db.config.ts +0 -28
- package/dist/db/configs/seed.schema.config.ts +0 -25
- package/dist/protos/seed.proto +0 -97
- package/dist/rpcServer.js +0 -358
- package/dist/rpcServer.js.map +0 -1
- package/dist/scripts/addModel.d.ts +0 -3
- package/dist/scripts/addModel.d.ts.map +0 -1
- package/dist/scripts/bin.d.ts +0 -8
- package/dist/scripts/bin.d.ts.map +0 -1
- package/dist/seedData.json +0 -23
- package/dist/src/Item/BaseItem.d.ts +0 -54
- package/dist/src/Item/BaseItem.d.ts.map +0 -1
- package/dist/src/Item/BaseItem.js +0 -309
- package/dist/src/Item/BaseItem.js.map +0 -1
- package/dist/src/Item/queries.js +0 -94
- package/dist/src/Item/queries.js.map +0 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.js +0 -74
- package/dist/src/Item/service/actors/fetchDataFromEas.js.map +0 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.js +0 -119
- package/dist/src/Item/service/actors/hydrateExistingItem.js.map +0 -1
- package/dist/src/Item/service/actors/hydrateNewItem.js.map +0 -1
- package/dist/src/Item/service/actors/initialize.js +0 -39
- package/dist/src/Item/service/actors/initialize.js.map +0 -1
- package/dist/src/Item/service/actors/reload.js.map +0 -1
- package/dist/src/Item/service/actors/waitForDb.js.map +0 -1
- package/dist/src/Item/service/itemMachineSingle.js +0 -154
- package/dist/src/Item/service/itemMachineSingle.js.map +0 -1
- package/dist/src/ItemProperty/BaseItemProperty.d.ts +0 -109
- package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +0 -1
- package/dist/src/ItemProperty/BaseItemProperty.js +0 -350
- package/dist/src/ItemProperty/BaseItemProperty.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +0 -208
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/initialize.js +0 -65
- package/dist/src/ItemProperty/service/actors/initialize.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +0 -317
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -100
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -119
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -81
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/waitForDb.js.map +0 -1
- package/dist/src/ItemProperty/service/propertyMachine.js +0 -198
- package/dist/src/ItemProperty/service/propertyMachine.js.map +0 -1
- package/dist/src/browser/Item/Item.d.ts +0 -7
- package/dist/src/browser/Item/Item.d.ts.map +0 -1
- package/dist/src/browser/Item/Item.js +0 -10
- package/dist/src/browser/Item/Item.js.map +0 -1
- package/dist/src/browser/ItemProperty/ItemProperty.d.ts +0 -8
- package/dist/src/browser/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/browser/ItemProperty/ItemProperty.js +0 -10
- package/dist/src/browser/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/src/browser/db/Db.js +0 -243
- package/dist/src/browser/db/Db.js.map +0 -1
- package/dist/src/browser/helpers/ArweaveClient.js +0 -13
- package/dist/src/browser/helpers/ArweaveClient.js.map +0 -1
- package/dist/src/browser/helpers/FileManager.js +0 -323
- package/dist/src/browser/helpers/FileManager.js.map +0 -1
- package/dist/src/browser/helpers/QueryClient.js +0 -19
- package/dist/src/browser/helpers/QueryClient.js.map +0 -1
- package/dist/src/browser/helpers/eas.d.ts +0 -20
- package/dist/src/browser/helpers/eas.d.ts.map +0 -1
- package/dist/src/browser/helpers/eas.js +0 -89
- package/dist/src/browser/helpers/eas.js.map +0 -1
- package/dist/src/browser/react/SeedImage.js +0 -105
- package/dist/src/browser/react/SeedImage.js.map +0 -1
- package/dist/src/browser/react/db.js +0 -6
- package/dist/src/browser/react/db.js.map +0 -1
- package/dist/src/browser/react/item.js +0 -216
- package/dist/src/browser/react/item.js.map +0 -1
- package/dist/src/browser/react/model.js +0 -20
- package/dist/src/browser/react/model.js.map +0 -1
- package/dist/src/browser/react/property.d.ts +0 -20
- package/dist/src/browser/react/property.d.ts.map +0 -1
- package/dist/src/browser/react/property.js +0 -107
- package/dist/src/browser/react/property.js.map +0 -1
- package/dist/src/browser/react/services.js +0 -306
- package/dist/src/browser/react/services.js.map +0 -1
- package/dist/src/browser/react/trash.js.map +0 -1
- package/dist/src/browser/workers/FileDownloader.js.map +0 -1
- package/dist/src/browser/workers/ImageResizer.js.map +0 -1
- package/dist/src/browser/workers/filesDownload.js.map +0 -1
- package/dist/src/browser/workers/imageResize.js.map +0 -1
- package/dist/src/client/ClientManager.js +0 -90
- package/dist/src/client/ClientManager.js.map +0 -1
- package/dist/src/client/actions/setAddresses.js +0 -19
- package/dist/src/client/actions/setAddresses.js.map +0 -1
- package/dist/src/client/actors/initialize.d.ts +0 -4
- package/dist/src/client/actors/initialize.d.ts.map +0 -1
- package/dist/src/client/actors/initialize.js +0 -107
- package/dist/src/client/actors/initialize.js.map +0 -1
- package/dist/src/client/actors/saveAppState.js +0 -46
- package/dist/src/client/actors/saveAppState.js.map +0 -1
- package/dist/src/client/clientManagerMachine.js +0 -63
- package/dist/src/client/clientManagerMachine.js.map +0 -1
- package/dist/src/db/Db/BaseDb.js +0 -25
- package/dist/src/db/Db/BaseDb.js.map +0 -1
- package/dist/src/db/configs/browser.app.db.config.d.ts +0 -3
- package/dist/src/db/configs/browser.app.db.config.d.ts.map +0 -1
- package/dist/src/db/configs/node.app.db.config.d.ts +0 -3
- package/dist/src/db/configs/node.app.db.config.d.ts.map +0 -1
- package/dist/src/db/configs/seed.schema.config.d.ts +0 -19
- package/dist/src/db/configs/seed.schema.config.d.ts.map +0 -1
- package/dist/src/db/configs/seed.schema.config.js +0 -52
- package/dist/src/db/configs/seed.schema.config.js.map +0 -1
- package/dist/src/db/read/getExistingItem.js +0 -31
- package/dist/src/db/read/getExistingItem.js.map +0 -1
- package/dist/src/db/read/getItem.js +0 -26
- package/dist/src/db/read/getItem.js.map +0 -1
- package/dist/src/db/read/getItemData.js +0 -86
- package/dist/src/db/read/getItemData.js.map +0 -1
- package/dist/src/db/read/getItemProperties.js +0 -51
- package/dist/src/db/read/getItemProperties.js.map +0 -1
- package/dist/src/db/read/getItemProperty.js +0 -32
- package/dist/src/db/read/getItemProperty.js.map +0 -1
- package/dist/src/db/read/getItems.js +0 -51
- package/dist/src/db/read/getItems.js.map +0 -1
- package/dist/src/db/read/getMetadata.js +0 -34
- package/dist/src/db/read/getMetadata.js.map +0 -1
- package/dist/src/db/read/getModelSchemas.js +0 -51
- package/dist/src/db/read/getModelSchemas.js.map +0 -1
- package/dist/src/db/read/getModels.js +0 -18
- package/dist/src/db/read/getModels.js.map +0 -1
- package/dist/src/db/read/getPropertyData.js +0 -40
- package/dist/src/db/read/getPropertyData.js.map +0 -1
- package/dist/src/db/read/getPublishPayload.js +0 -265
- package/dist/src/db/read/getPublishPayload.js.map +0 -1
- package/dist/src/db/read/getPublishUploads.js +0 -166
- package/dist/src/db/read/getPublishUploads.js.map +0 -1
- package/dist/src/db/read/getRelationValueData.js +0 -32
- package/dist/src/db/read/getRelationValueData.js.map +0 -1
- package/dist/src/db/read/getSchemaUidForModel.js +0 -28
- package/dist/src/db/read/getSchemaUidForModel.js.map +0 -1
- package/dist/src/db/read/getSeedData.js +0 -30
- package/dist/src/db/read/getSeedData.js.map +0 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +0 -32
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
- package/dist/src/db/read/getVersionData.js +0 -35
- package/dist/src/db/read/getVersionData.js.map +0 -1
- package/dist/src/db/read/subqueries/metadataLatest.js +0 -37
- package/dist/src/db/read/subqueries/metadataLatest.js.map +0 -1
- package/dist/src/db/read/subqueries/versionData.js +0 -29
- package/dist/src/db/read/subqueries/versionData.js.map +0 -1
- package/dist/src/db/write/createMetadata.js +0 -65
- package/dist/src/db/write/createMetadata.js.map +0 -1
- package/dist/src/db/write/createNewItem.js +0 -38
- package/dist/src/db/write/createNewItem.js.map +0 -1
- package/dist/src/db/write/createSeed.js +0 -31
- package/dist/src/db/write/createSeed.js.map +0 -1
- package/dist/src/db/write/createSeeds.js +0 -27
- package/dist/src/db/write/createSeeds.js.map +0 -1
- package/dist/src/db/write/createVersion.js +0 -27
- package/dist/src/db/write/createVersion.js.map +0 -1
- package/dist/src/db/write/deleteItem.js +0 -23
- package/dist/src/db/write/deleteItem.js.map +0 -1
- package/dist/src/db/write/saveAppState.js +0 -28
- package/dist/src/db/write/saveAppState.js.map +0 -1
- package/dist/src/db/write/saveMetadata.js +0 -24
- package/dist/src/db/write/saveMetadata.js.map +0 -1
- package/dist/src/db/write/updateItemPropertyValue.js +0 -163
- package/dist/src/db/write/updateItemPropertyValue.js.map +0 -1
- package/dist/src/db/write/updateMetadata.js +0 -27
- package/dist/src/db/write/updateMetadata.js.map +0 -1
- package/dist/src/eventBus.js.map +0 -1
- package/dist/src/events/files/download.js +0 -162
- package/dist/src/events/files/download.js.map +0 -1
- package/dist/src/events/files/index.js +0 -60
- package/dist/src/events/files/index.js.map +0 -1
- package/dist/src/events/index.js +0 -28
- package/dist/src/events/index.js.map +0 -1
- package/dist/src/events/item/index.js.map +0 -1
- package/dist/src/events/item/publish.js +0 -19
- package/dist/src/events/item/publish.js.map +0 -1
- package/dist/src/events/item/syncDbWithEas.js +0 -411
- package/dist/src/events/item/syncDbWithEas.js.map +0 -1
- package/dist/src/events/services/allItems.js +0 -19
- package/dist/src/events/services/allItems.js.map +0 -1
- package/dist/src/events/services/index.js.map +0 -1
- package/dist/src/graphql/gql/gql.js +0 -38
- package/dist/src/graphql/gql/gql.js.map +0 -1
- package/dist/src/graphql/gql/graphql.js +0 -106
- package/dist/src/graphql/gql/graphql.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/index.js +0 -45
- package/dist/src/helpers/ArweaveClient/index.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/queries.js.map +0 -1
- package/dist/src/helpers/EasClient/BaseEasClient.js +0 -14
- package/dist/src/helpers/EasClient/BaseEasClient.js.map +0 -1
- package/dist/src/helpers/FileManager/BaseFileManager.js +0 -80
- package/dist/src/helpers/FileManager/BaseFileManager.js.map +0 -1
- package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +0 -1
- package/dist/src/helpers/constants.js +0 -85
- package/dist/src/helpers/constants.js.map +0 -1
- package/dist/src/helpers/crypto.js.map +0 -1
- package/dist/src/helpers/db.js +0 -45
- package/dist/src/helpers/db.js.map +0 -1
- package/dist/src/helpers/environment.js +0 -29
- package/dist/src/helpers/environment.js.map +0 -1
- package/dist/src/helpers/getSchemaForItemProperty.js +0 -51
- package/dist/src/helpers/getSchemaForItemProperty.js.map +0 -1
- package/dist/src/helpers/getSegmentedItemProperties.js +0 -54
- package/dist/src/helpers/getSegmentedItemProperties.js.map +0 -1
- package/dist/src/helpers/index.js +0 -113
- package/dist/src/helpers/index.js.map +0 -1
- package/dist/src/helpers/scripts.d.ts +0 -2
- package/dist/src/helpers/scripts.d.ts.map +0 -1
- package/dist/src/helpers/scripts.js +0 -14
- package/dist/src/helpers/scripts.js.map +0 -1
- package/dist/src/helpers/updateMachineContext.js.map +0 -1
- package/dist/src/node/Item/Item.d.ts +0 -7
- package/dist/src/node/Item/Item.d.ts.map +0 -1
- package/dist/src/node/Item/Item.js +0 -11
- package/dist/src/node/Item/Item.js.map +0 -1
- package/dist/src/node/ItemProperty/ItemProperty.d.ts +0 -7
- package/dist/src/node/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/node/ItemProperty/ItemProperty.js +0 -10
- package/dist/src/node/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/src/node/PathResolver.d.ts +0 -45
- package/dist/src/node/PathResolver.d.ts.map +0 -1
- package/dist/src/node/PathResolver.js +0 -170
- package/dist/src/node/PathResolver.js.map +0 -1
- package/dist/src/node/codegen/drizzle.js +0 -108
- package/dist/src/node/codegen/drizzle.js.map +0 -1
- package/dist/src/node/constants.js +0 -6
- package/dist/src/node/constants.js.map +0 -1
- package/dist/src/node/db/Db.js +0 -65
- package/dist/src/node/db/Db.js.map +0 -1
- package/dist/src/node/helpers/ArweaveClient.js +0 -13
- package/dist/src/node/helpers/ArweaveClient.js.map +0 -1
- package/dist/src/node/helpers/EasClient.js +0 -13
- package/dist/src/node/helpers/EasClient.js.map +0 -1
- package/dist/src/node/helpers/FileManager.js +0 -53
- package/dist/src/node/helpers/FileManager.js.map +0 -1
- package/dist/src/node/helpers/QueryClient.js.map +0 -1
- package/dist/src/node/helpers/index.js +0 -38
- package/dist/src/node/helpers/index.js.map +0 -1
- package/dist/src/node/webpack/index.js.map +0 -1
- package/dist/src/schema/file/download/actors.d.ts.map +0 -1
- package/dist/src/schema/file/download/index.d.ts.map +0 -1
- package/dist/src/schema/file/fetchAll/actors.d.ts.map +0 -1
- package/dist/src/schema/file/fetchAll/index.d.ts.map +0 -1
- package/dist/src/schema/file/queries.d.ts.map +0 -1
- package/dist/src/schema/file/queries.js +0 -48
- package/dist/src/schema/file/queries.js.map +0 -1
- package/dist/src/schema/image/model.d.ts +0 -8
- package/dist/src/schema/image/model.d.ts.map +0 -1
- package/dist/src/schema/image/model.js +0 -29
- package/dist/src/schema/image/model.js.map +0 -1
- package/dist/src/schema/image/queries.d.ts.map +0 -1
- package/dist/src/schema/index.d.ts +0 -4
- package/dist/src/schema/index.d.ts.map +0 -1
- package/dist/src/schema/model/index.d.ts +0 -63
- package/dist/src/schema/model/index.d.ts.map +0 -1
- package/dist/src/schema/model/index.js +0 -44
- package/dist/src/schema/model/index.js.map +0 -1
- package/dist/src/schema/property/index.d.ts +0 -151
- package/dist/src/schema/property/index.d.ts.map +0 -1
- package/dist/src/schema/property/index.js +0 -88
- package/dist/src/schema/property/index.js.map +0 -1
- package/dist/src/seedSchema/AppStateSchema.js.map +0 -1
- package/dist/src/seedSchema/ConfigSchema.js.map +0 -1
- package/dist/src/seedSchema/MetadataSchema.js.map +0 -1
- package/dist/src/seedSchema/ModelSchema.js +0 -33
- package/dist/src/seedSchema/ModelSchema.js.map +0 -1
- package/dist/src/seedSchema/ModelUidSchema.js +0 -18
- package/dist/src/seedSchema/ModelUidSchema.js.map +0 -1
- package/dist/src/seedSchema/PropertyUidSchema.js +0 -18
- package/dist/src/seedSchema/PropertyUidSchema.js.map +0 -1
- package/dist/src/seedSchema/SeedSchema.js.map +0 -1
- package/dist/src/seedSchema/VersionSchema.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchDbData.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchDbData.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchDbData.js +0 -13
- package/dist/src/services/allItems/actors/fetchDbData.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.js +0 -139
- package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchSeeds.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchSeeds.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchSeeds.js +0 -31
- package/dist/src/services/allItems/actors/fetchSeeds.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchVersions.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchVersions.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchVersions.js +0 -35
- package/dist/src/services/allItems/actors/fetchVersions.js.map +0 -1
- package/dist/src/services/allItems/actors/initialize.d.ts +0 -4
- package/dist/src/services/allItems/actors/initialize.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/initialize.js +0 -146
- package/dist/src/services/allItems/actors/initialize.js.map +0 -1
- package/dist/src/services/allItems/actors/processItems.d.ts +0 -4
- package/dist/src/services/allItems/actors/processItems.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/processItems.js +0 -55
- package/dist/src/services/allItems/actors/processItems.js.map +0 -1
- package/dist/src/services/allItems/itemMachineAll.d.ts +0 -67
- package/dist/src/services/allItems/itemMachineAll.d.ts.map +0 -1
- package/dist/src/services/allItems/itemMachineAll.js +0 -153
- package/dist/src/services/allItems/itemMachineAll.js.map +0 -1
- package/dist/src/services/db/actors/checkStatus.d.ts +0 -4
- package/dist/src/services/db/actors/checkStatus.d.ts.map +0 -1
- package/dist/src/services/db/actors/checkStatus.js +0 -41
- package/dist/src/services/db/actors/checkStatus.js.map +0 -1
- package/dist/src/services/db/actors/connectToDb.d.ts +0 -4
- package/dist/src/services/db/actors/connectToDb.d.ts.map +0 -1
- package/dist/src/services/db/actors/connectToDb.js +0 -31
- package/dist/src/services/db/actors/connectToDb.js.map +0 -1
- package/dist/src/services/db/actors/migrate.d.ts +0 -4
- package/dist/src/services/db/actors/migrate.d.ts.map +0 -1
- package/dist/src/services/db/actors/migrate.js +0 -40
- package/dist/src/services/db/actors/migrate.js.map +0 -1
- package/dist/src/services/db/actors/validate.d.ts +0 -4
- package/dist/src/services/db/actors/validate.d.ts.map +0 -1
- package/dist/src/services/db/actors/validate.js +0 -40
- package/dist/src/services/db/actors/validate.js.map +0 -1
- package/dist/src/services/db/actors/waitForFiles.d.ts +0 -4
- package/dist/src/services/db/actors/waitForFiles.d.ts.map +0 -1
- package/dist/src/services/db/actors/waitForFiles.js +0 -32
- package/dist/src/services/db/actors/waitForFiles.js.map +0 -1
- package/dist/src/services/db/connectionManager.d.ts +0 -18
- package/dist/src/services/db/connectionManager.d.ts.map +0 -1
- package/dist/src/services/db/dbMachine.d.ts +0 -58
- package/dist/src/services/db/dbMachine.d.ts.map +0 -1
- package/dist/src/services/db/dbMachine.js +0 -156
- package/dist/src/services/db/dbMachine.js.map +0 -1
- package/dist/src/services/db/index.d.ts +0 -2
- package/dist/src/services/db/index.d.ts.map +0 -1
- package/dist/src/services/events.js +0 -15
- package/dist/src/services/events.js.map +0 -1
- package/dist/src/services/global/actors/addModelsToDb.d.ts +0 -4
- package/dist/src/services/global/actors/addModelsToDb.d.ts.map +0 -1
- package/dist/src/services/global/actors/addModelsToDb.js +0 -117
- package/dist/src/services/global/actors/addModelsToDb.js.map +0 -1
- package/dist/src/services/global/actors/getSchemaForModel.d.ts +0 -4
- package/dist/src/services/global/actors/getSchemaForModel.d.ts.map +0 -1
- package/dist/src/services/global/actors/getSchemaForModel.js +0 -26
- package/dist/src/services/global/actors/getSchemaForModel.js.map +0 -1
- package/dist/src/services/global/actors/initialize.d.ts +0 -4
- package/dist/src/services/global/actors/initialize.d.ts.map +0 -1
- package/dist/src/services/global/actors/initialize.js +0 -88
- package/dist/src/services/global/actors/initialize.js.map +0 -1
- package/dist/src/services/global/actors/savePublishService.d.ts +0 -4
- package/dist/src/services/global/actors/savePublishService.d.ts.map +0 -1
- package/dist/src/services/global/actors/savePublishService.js +0 -22
- package/dist/src/services/global/actors/savePublishService.js.map +0 -1
- package/dist/src/services/global/globalMachine.d.ts +0 -662
- package/dist/src/services/global/globalMachine.d.ts.map +0 -1
- package/dist/src/services/global/globalMachine.js +0 -246
- package/dist/src/services/global/globalMachine.js.map +0 -1
- package/dist/src/services/internal/actors/configureFs.d.ts +0 -4
- package/dist/src/services/internal/actors/configureFs.d.ts.map +0 -1
- package/dist/src/services/internal/actors/configureFs.js +0 -70
- package/dist/src/services/internal/actors/configureFs.js.map +0 -1
- package/dist/src/services/internal/actors/loadAppDb.d.ts +0 -4
- package/dist/src/services/internal/actors/loadAppDb.d.ts.map +0 -1
- package/dist/src/services/internal/actors/loadAppDb.js +0 -22
- package/dist/src/services/internal/actors/loadAppDb.js.map +0 -1
- package/dist/src/services/internal/actors/prepareDb.d.ts +0 -5
- package/dist/src/services/internal/actors/prepareDb.d.ts.map +0 -1
- package/dist/src/services/internal/actors/saveConfig.d.ts +0 -4
- package/dist/src/services/internal/actors/saveConfig.d.ts.map +0 -1
- package/dist/src/services/internal/actors/saveConfig.js +0 -76
- package/dist/src/services/internal/actors/saveConfig.js.map +0 -1
- package/dist/src/services/internal/actors/validateInput.d.ts +0 -4
- package/dist/src/services/internal/actors/validateInput.d.ts.map +0 -1
- package/dist/src/services/internal/actors/validateInput.js +0 -34
- package/dist/src/services/internal/actors/validateInput.js.map +0 -1
- package/dist/src/services/internal/actors/waitForFiles.d.ts +0 -4
- package/dist/src/services/internal/actors/waitForFiles.d.ts.map +0 -1
- package/dist/src/services/internal/actors/waitForFiles.js +0 -33
- package/dist/src/services/internal/actors/waitForFiles.js.map +0 -1
- package/dist/src/services/internal/constants.d.ts +0 -75
- package/dist/src/services/internal/constants.d.ts.map +0 -1
- package/dist/src/services/internal/constants.js +0 -85
- package/dist/src/services/internal/constants.js.map +0 -1
- package/dist/src/services/internal/helpers.d.ts +0 -10
- package/dist/src/services/internal/helpers.d.ts.map +0 -1
- package/dist/src/services/internal/helpers.js +0 -171
- package/dist/src/services/internal/helpers.js.map +0 -1
- package/dist/src/services/internal/internalMachine.d.ts +0 -57
- package/dist/src/services/internal/internalMachine.d.ts.map +0 -1
- package/dist/src/services/internal/internalMachine.js +0 -188
- package/dist/src/services/internal/internalMachine.js.map +0 -1
- package/dist/src/services/internal/queries.d.ts +0 -4
- package/dist/src/services/internal/queries.d.ts.map +0 -1
- package/dist/src/services/internal/types.d.ts +0 -12
- package/dist/src/services/internal/types.d.ts.map +0 -1
- package/dist/src/services/publish/actors/createPublishAttempt.js.map +0 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.js +0 -72
- package/dist/src/services/publish/actors/preparePublishRequestData.js.map +0 -1
- package/dist/src/services/publish/actors/upload.js +0 -55
- package/dist/src/services/publish/actors/upload.js.map +0 -1
- package/dist/src/services/publish/actors/validateItemData.js.map +0 -1
- package/dist/src/services/publish/publishMachine.js +0 -71
- package/dist/src/services/publish/publishMachine.js.map +0 -1
- package/dist/src/stores/eas.js +0 -45
- package/dist/src/stores/eas.js.map +0 -1
- package/dist/src/stores/modelClass.d.ts +0 -6
- package/dist/src/stores/modelClass.d.ts.map +0 -1
- package/dist/src/stores/modelClass.js +0 -16
- package/dist/src/stores/modelClass.js.map +0 -1
- /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.js +0 -0
- /package/dist/{src/Item → Item}/service/actors/reload.js +0 -0
- /package/dist/{src/Item → Item}/service/actors/waitForDb.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.js +0 -0
- /package/dist/{src/browser → browser}/react/trash.js +0 -0
- /package/dist/{src/browser → browser}/workers/FileDownloader.js +0 -0
- /package/dist/{src/browser → browser}/workers/ImageResizer.js +0 -0
- /package/dist/{src/browser → browser}/workers/filesDownload.js +0 -0
- /package/dist/{src/browser → browser}/workers/imageResize.js +0 -0
- /package/dist/{src/eventBus.js → eventBus.js} +0 -0
- /package/dist/{src/events → events}/item/index.js +0 -0
- /package/dist/{src/events → events}/services/index.js +0 -0
- /package/dist/{src/helpers → helpers}/ArweaveClient/BaseArweaveClient.js +0 -0
- /package/dist/{src/helpers → helpers}/ArweaveClient/queries.js +0 -0
- /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.js +0 -0
- /package/dist/{src/helpers → helpers}/crypto.js +0 -0
- /package/dist/{src/helpers → helpers}/updateMachineContext.js +0 -0
- /package/dist/{src/node → node}/helpers/QueryClient.js +0 -0
- /package/dist/{src/node → node}/webpack/index.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/SeedSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/VersionSchema.js +0 -0
- /package/dist/{src/services → services}/publish/actors/createPublishAttempt.js +0 -0
- /package/dist/{src/services → services}/publish/actors/validateItemData.js +0 -0
- /package/dist/src/{schema → helpers}/file/download/actors.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/download/index.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/fetchAll/actors.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/fetchAll/index.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/queries.d.ts +0 -0
- /package/dist/src/{schema → helpers}/image/queries.d.ts +0 -0
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
import { useState, useRef, useMemo, useEffect, useCallback } from 'react';
|
|
2
|
+
import debug from 'debug';
|
|
3
|
+
import { ItemProperty } from '../../ItemProperty/ItemProperty.js';
|
|
4
|
+
import { useIsClientReady } from './client.js';
|
|
5
|
+
import { useLiveQuery } from './liveQuery.js';
|
|
6
|
+
import { BaseDb } from '../../db/Db/BaseDb.js';
|
|
7
|
+
import { metadata } from '../../seedSchema/MetadataSchema.js';
|
|
8
|
+
import { and, eq, isNotNull } from 'drizzle-orm';
|
|
9
|
+
|
|
10
|
+
const logger = debug('seedSdk:react:property');
|
|
11
|
+
const propertiesLogger = debug('seedSdk:react:itemProperties');
|
|
12
|
+
function useItemProperty(arg1, arg2) {
|
|
13
|
+
const isClientReady = useIsClientReady();
|
|
14
|
+
const [property, setProperty] = useState(undefined);
|
|
15
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
16
|
+
const [error, setError] = useState(null);
|
|
17
|
+
const subscriptionRef = useRef(undefined);
|
|
18
|
+
const [, setVersion] = useState(0); // Version counter to force re-renders
|
|
19
|
+
// Determine which lookup mode we're in based on arguments
|
|
20
|
+
const lookupMode = useMemo(() => {
|
|
21
|
+
if (typeof arg1 === 'string' && arg2 !== undefined) {
|
|
22
|
+
// Two arguments: itemId, propertyName
|
|
23
|
+
return { type: 'itemId', itemId: arg1, propertyName: arg2 };
|
|
24
|
+
}
|
|
25
|
+
else if (typeof arg1 === 'object') {
|
|
26
|
+
// Object argument: { seedLocalId/seedUid, propertyName }
|
|
27
|
+
return {
|
|
28
|
+
type: 'identifiers',
|
|
29
|
+
seedLocalId: arg1.seedLocalId,
|
|
30
|
+
seedUid: arg1.seedUid,
|
|
31
|
+
propertyName: arg1.propertyName,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}, [arg1, arg2]);
|
|
38
|
+
// Determine initial loading state
|
|
39
|
+
useMemo(() => {
|
|
40
|
+
if (!lookupMode)
|
|
41
|
+
return false;
|
|
42
|
+
if (lookupMode.type === 'itemId') {
|
|
43
|
+
return !!(lookupMode.itemId && lookupMode.propertyName);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return !!((lookupMode.seedLocalId || lookupMode.seedUid) &&
|
|
47
|
+
lookupMode.propertyName);
|
|
48
|
+
}
|
|
49
|
+
}, [lookupMode]);
|
|
50
|
+
// Determine if we should be loading based on parameters
|
|
51
|
+
const shouldLoad = useMemo(() => {
|
|
52
|
+
if (!isClientReady)
|
|
53
|
+
return false;
|
|
54
|
+
if (!lookupMode)
|
|
55
|
+
return false;
|
|
56
|
+
if (lookupMode.type === 'itemId') {
|
|
57
|
+
return !!(lookupMode.itemId && lookupMode.propertyName);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return !!((lookupMode.seedLocalId || lookupMode.seedUid) &&
|
|
61
|
+
lookupMode.propertyName);
|
|
62
|
+
}
|
|
63
|
+
}, [isClientReady, lookupMode]);
|
|
64
|
+
const updateItemProperty = useCallback(async () => {
|
|
65
|
+
if (!isClientReady || !lookupMode) {
|
|
66
|
+
setProperty(undefined);
|
|
67
|
+
setIsLoading(false);
|
|
68
|
+
setError(null);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
setIsLoading(true);
|
|
73
|
+
setError(null);
|
|
74
|
+
let seedLocalId;
|
|
75
|
+
let seedUid;
|
|
76
|
+
if (lookupMode.type === 'itemId') {
|
|
77
|
+
// Resolve itemId to seedLocalId/seedUid
|
|
78
|
+
// For now, assume itemId is seedLocalId (could be enhanced to support seedUid)
|
|
79
|
+
seedLocalId = lookupMode.itemId;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
seedLocalId = lookupMode.seedLocalId;
|
|
83
|
+
seedUid = lookupMode.seedUid;
|
|
84
|
+
}
|
|
85
|
+
if (!seedLocalId && !seedUid) {
|
|
86
|
+
setProperty(undefined);
|
|
87
|
+
setIsLoading(false);
|
|
88
|
+
setError(null);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const foundProperty = await ItemProperty.find({
|
|
92
|
+
propertyName: lookupMode.propertyName,
|
|
93
|
+
seedLocalId,
|
|
94
|
+
seedUid,
|
|
95
|
+
});
|
|
96
|
+
if (!foundProperty) {
|
|
97
|
+
logger(`[useItemProperty] [updateItemProperty] no property found for Item.${seedLocalId || seedUid}.${lookupMode.propertyName}`);
|
|
98
|
+
setProperty(undefined);
|
|
99
|
+
setIsLoading(false);
|
|
100
|
+
setError(null);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
// Check if property is in 'waitingForDb' state and trigger load
|
|
104
|
+
const snapshot = foundProperty.getService().getSnapshot();
|
|
105
|
+
if (snapshot.value === 'waitingForDb') {
|
|
106
|
+
foundProperty.getService().send({ type: 'waitForDbSuccess' });
|
|
107
|
+
}
|
|
108
|
+
setProperty(foundProperty);
|
|
109
|
+
// Set loading state based on service state
|
|
110
|
+
// Use type guard to check if snapshot has 'value' property
|
|
111
|
+
if (snapshot && typeof snapshot === 'object' && 'value' in snapshot) {
|
|
112
|
+
const isIdle = snapshot.value === 'idle';
|
|
113
|
+
setIsLoading(!isIdle);
|
|
114
|
+
setError(null);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
setIsLoading(false);
|
|
118
|
+
setError(null);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
logger('[useItemProperty] Error updating item property:', error);
|
|
123
|
+
setProperty(undefined);
|
|
124
|
+
setIsLoading(false);
|
|
125
|
+
setError(error);
|
|
126
|
+
}
|
|
127
|
+
}, [isClientReady, lookupMode]);
|
|
128
|
+
// Fetch/refetch when lookup parameters change or client becomes ready
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
if (!shouldLoad) {
|
|
131
|
+
setProperty(undefined);
|
|
132
|
+
setIsLoading(false);
|
|
133
|
+
setError(null);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
updateItemProperty();
|
|
137
|
+
}, [shouldLoad, updateItemProperty]);
|
|
138
|
+
// Subscribe to service changes when property is available
|
|
139
|
+
useEffect(() => {
|
|
140
|
+
if (!property) {
|
|
141
|
+
// Clean up subscription if property is not available
|
|
142
|
+
subscriptionRef.current?.unsubscribe();
|
|
143
|
+
subscriptionRef.current = undefined;
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
// Clean up previous subscription
|
|
147
|
+
subscriptionRef.current?.unsubscribe();
|
|
148
|
+
// Subscribe to service changes
|
|
149
|
+
const subscription = property.getService().subscribe((snapshot) => {
|
|
150
|
+
// Update loading state based on service state
|
|
151
|
+
// Use type guard to check if snapshot has 'value' property
|
|
152
|
+
if (snapshot && typeof snapshot === 'object' && 'value' in snapshot) {
|
|
153
|
+
const isIdle = snapshot.value === 'idle';
|
|
154
|
+
setIsLoading(!isIdle);
|
|
155
|
+
// Clear error if service is in idle state
|
|
156
|
+
if (isIdle) {
|
|
157
|
+
setError(null);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Force re-render by incrementing version counter
|
|
161
|
+
setVersion(prev => prev + 1);
|
|
162
|
+
});
|
|
163
|
+
subscriptionRef.current = subscription;
|
|
164
|
+
return () => {
|
|
165
|
+
subscriptionRef.current?.unsubscribe();
|
|
166
|
+
subscriptionRef.current = undefined;
|
|
167
|
+
};
|
|
168
|
+
}, [property]);
|
|
169
|
+
return {
|
|
170
|
+
property,
|
|
171
|
+
isLoading,
|
|
172
|
+
error,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
function useItemProperties(arg1) {
|
|
176
|
+
const [properties, setProperties] = useState([]);
|
|
177
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
178
|
+
const [error, setError] = useState(null);
|
|
179
|
+
const isClientReady = useIsClientReady();
|
|
180
|
+
const subscriptionsRef = useRef(new Map());
|
|
181
|
+
const loadingPropertiesRef = useRef(new Set());
|
|
182
|
+
const previousTableDataRef = useRef(undefined);
|
|
183
|
+
// Determine which lookup mode we're in based on arguments
|
|
184
|
+
const lookupMode = useMemo(() => {
|
|
185
|
+
if (typeof arg1 === 'string') {
|
|
186
|
+
// String argument: itemId (assumed to be seedLocalId)
|
|
187
|
+
return { type: 'itemId', itemId: arg1 };
|
|
188
|
+
}
|
|
189
|
+
else if (typeof arg1 === 'object') {
|
|
190
|
+
// Object argument: { seedLocalId/seedUid }
|
|
191
|
+
return {
|
|
192
|
+
type: 'identifiers',
|
|
193
|
+
seedLocalId: arg1.seedLocalId,
|
|
194
|
+
seedUid: arg1.seedUid,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
}, [arg1]);
|
|
201
|
+
// Determine seedLocalId and seedUid for query
|
|
202
|
+
const seedLocalId = useMemo(() => {
|
|
203
|
+
if (!lookupMode)
|
|
204
|
+
return undefined;
|
|
205
|
+
if (lookupMode.type === 'itemId') {
|
|
206
|
+
return lookupMode.itemId;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
return lookupMode.seedLocalId;
|
|
210
|
+
}
|
|
211
|
+
}, [lookupMode]);
|
|
212
|
+
const seedUid = useMemo(() => {
|
|
213
|
+
if (!lookupMode || lookupMode.type === 'itemId')
|
|
214
|
+
return undefined;
|
|
215
|
+
return lookupMode.seedUid;
|
|
216
|
+
}, [lookupMode]);
|
|
217
|
+
// Watch the metadata table for changes
|
|
218
|
+
// Query metadata table directly and filter for latest records in JavaScript
|
|
219
|
+
// This is simpler and works better with useLiveQuery than CTEs
|
|
220
|
+
// Get db inside useMemo to avoid recreating query on each render
|
|
221
|
+
// Drizzle query builders are new objects each time, but useMemo will only recreate
|
|
222
|
+
// when dependencies change, which is what we want for reactive queries
|
|
223
|
+
const propertiesQuery = useMemo(() => {
|
|
224
|
+
if (!isClientReady || (!seedLocalId && !seedUid)) {
|
|
225
|
+
propertiesLogger('[useItemProperties] Query: returning null (not ready or no identifiers)');
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
const db = BaseDb.getAppDb();
|
|
229
|
+
if (!db) {
|
|
230
|
+
propertiesLogger('[useItemProperties] Query: returning null (no db)');
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
propertiesLogger(`[useItemProperties] Query: creating query for seedLocalId=${seedLocalId}, seedUid=${seedUid}`);
|
|
234
|
+
// Query metadata table directly - we'll filter for latest records in JavaScript
|
|
235
|
+
const query = seedUid
|
|
236
|
+
? db
|
|
237
|
+
.select({
|
|
238
|
+
propertyName: metadata.propertyName,
|
|
239
|
+
propertyValue: metadata.propertyValue,
|
|
240
|
+
seedLocalId: metadata.seedLocalId,
|
|
241
|
+
seedUid: metadata.seedUid,
|
|
242
|
+
modelType: metadata.modelType,
|
|
243
|
+
schemaUid: metadata.schemaUid,
|
|
244
|
+
createdAt: metadata.createdAt,
|
|
245
|
+
attestationCreatedAt: metadata.attestationCreatedAt,
|
|
246
|
+
})
|
|
247
|
+
.from(metadata)
|
|
248
|
+
.where(and(eq(metadata.seedUid, seedUid), isNotNull(metadata.propertyName)))
|
|
249
|
+
: db
|
|
250
|
+
.select({
|
|
251
|
+
propertyName: metadata.propertyName,
|
|
252
|
+
propertyValue: metadata.propertyValue,
|
|
253
|
+
seedLocalId: metadata.seedLocalId,
|
|
254
|
+
seedUid: metadata.seedUid,
|
|
255
|
+
modelType: metadata.modelType,
|
|
256
|
+
schemaUid: metadata.schemaUid,
|
|
257
|
+
createdAt: metadata.createdAt,
|
|
258
|
+
attestationCreatedAt: metadata.attestationCreatedAt,
|
|
259
|
+
})
|
|
260
|
+
.from(metadata)
|
|
261
|
+
.where(and(eq(metadata.seedLocalId, seedLocalId), isNotNull(metadata.propertyName)));
|
|
262
|
+
propertiesLogger(`[useItemProperties] Query: created query object`, { queryType: seedUid ? 'seedUid' : 'seedLocalId' });
|
|
263
|
+
return query;
|
|
264
|
+
}, [isClientReady, seedLocalId, seedUid]);
|
|
265
|
+
const rawPropertiesTableData = useLiveQuery(propertiesQuery);
|
|
266
|
+
// Debug logging for rawPropertiesTableData
|
|
267
|
+
useEffect(() => {
|
|
268
|
+
if (rawPropertiesTableData !== undefined) {
|
|
269
|
+
propertiesLogger(`[useItemProperties] rawPropertiesTableData updated:`, {
|
|
270
|
+
length: rawPropertiesTableData?.length || 0,
|
|
271
|
+
isUndefined: rawPropertiesTableData === undefined,
|
|
272
|
+
isArray: Array.isArray(rawPropertiesTableData),
|
|
273
|
+
firstRecord: rawPropertiesTableData?.[0] || null,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
propertiesLogger('[useItemProperties] rawPropertiesTableData is undefined (query not executed yet)');
|
|
278
|
+
}
|
|
279
|
+
}, [rawPropertiesTableData]);
|
|
280
|
+
// Filter for latest records (one per propertyName) in JavaScript
|
|
281
|
+
const propertiesTableData = useMemo(() => {
|
|
282
|
+
if (!rawPropertiesTableData || rawPropertiesTableData.length === 0) {
|
|
283
|
+
return [];
|
|
284
|
+
}
|
|
285
|
+
// Group by propertyName and keep only the latest record for each
|
|
286
|
+
const latestByProperty = new Map();
|
|
287
|
+
for (const record of rawPropertiesTableData) {
|
|
288
|
+
if (!record.propertyName)
|
|
289
|
+
continue;
|
|
290
|
+
const existing = latestByProperty.get(record.propertyName);
|
|
291
|
+
if (!existing) {
|
|
292
|
+
latestByProperty.set(record.propertyName, record);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
// Compare timestamps to find the latest
|
|
296
|
+
const existingTime = existing.attestationCreatedAt || existing.createdAt || 0;
|
|
297
|
+
const currentTime = record.attestationCreatedAt || record.createdAt || 0;
|
|
298
|
+
if (currentTime > existingTime) {
|
|
299
|
+
latestByProperty.set(record.propertyName, record);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return Array.from(latestByProperty.values());
|
|
304
|
+
}, [rawPropertiesTableData]);
|
|
305
|
+
const fetchItemProperties = useCallback(async () => {
|
|
306
|
+
if (!seedLocalId && !seedUid) {
|
|
307
|
+
propertiesLogger('[useItemProperties] fetchItemProperties: no identifiers, clearing properties');
|
|
308
|
+
setProperties([]);
|
|
309
|
+
setIsLoading(false);
|
|
310
|
+
setError(null);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
// Don't fetch if propertiesTableData is not available yet
|
|
314
|
+
if (propertiesTableData === undefined) {
|
|
315
|
+
propertiesLogger('[useItemProperties] fetchItemProperties: propertiesTableData is undefined, skipping');
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
propertiesLogger(`[useItemProperties] fetchItemProperties: starting with ${propertiesTableData.length} records from table`);
|
|
319
|
+
try {
|
|
320
|
+
setIsLoading(true);
|
|
321
|
+
setError(null);
|
|
322
|
+
// Use propertiesTableData (database state) as the source of truth
|
|
323
|
+
// If empty, set properties to empty (liveQuery will update when data arrives)
|
|
324
|
+
if (!propertiesTableData || propertiesTableData.length === 0) {
|
|
325
|
+
propertiesLogger('[useItemProperties] fetchItemProperties: propertiesTableData is empty, setting properties to []');
|
|
326
|
+
setProperties([]);
|
|
327
|
+
setError(null);
|
|
328
|
+
setIsLoading(false);
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
propertiesLogger(`[useItemProperties] fetchItemProperties: processing ${propertiesTableData.length} properties`);
|
|
332
|
+
const _itemProperties = [];
|
|
333
|
+
// Iterate over propertiesTableData and create ItemProperty instances
|
|
334
|
+
for (const dbProperty of propertiesTableData) {
|
|
335
|
+
if (!dbProperty.propertyName) {
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
try {
|
|
339
|
+
const itemProperty = await ItemProperty.find({
|
|
340
|
+
propertyName: dbProperty.propertyName,
|
|
341
|
+
seedLocalId: dbProperty.seedLocalId || undefined,
|
|
342
|
+
seedUid: dbProperty.seedUid || undefined,
|
|
343
|
+
});
|
|
344
|
+
if (itemProperty) {
|
|
345
|
+
_itemProperties.push(itemProperty);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
logger(`[useItemProperties] Error creating ItemProperty for ${dbProperty.propertyName}:`, error);
|
|
350
|
+
// Continue with other properties even if one fails
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
// Filter out properties that are ready (idle state) vs still loading
|
|
354
|
+
const readyProperties = [];
|
|
355
|
+
const loadingPropertiesList = [];
|
|
356
|
+
// Clear previous loading set
|
|
357
|
+
loadingPropertiesRef.current.clear();
|
|
358
|
+
for (const property of _itemProperties) {
|
|
359
|
+
const snapshot = property.getService().getSnapshot();
|
|
360
|
+
// Use type guard to check if snapshot has 'value' property
|
|
361
|
+
const isIdle = snapshot && typeof snapshot === 'object' && 'value' in snapshot && snapshot.value === 'idle';
|
|
362
|
+
if (isIdle) {
|
|
363
|
+
// Property is ready
|
|
364
|
+
readyProperties.push(property);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
// Property is still loading - subscribe to state changes
|
|
368
|
+
loadingPropertiesList.push(property);
|
|
369
|
+
loadingPropertiesRef.current.add(property);
|
|
370
|
+
// Clean up any existing subscription for this property
|
|
371
|
+
const existingSub = subscriptionsRef.current.get(property);
|
|
372
|
+
if (existingSub) {
|
|
373
|
+
existingSub.unsubscribe();
|
|
374
|
+
}
|
|
375
|
+
// Subscribe to state changes
|
|
376
|
+
const subscription = property.getService().subscribe((snapshot) => {
|
|
377
|
+
// Use type guard to check if snapshot has 'value' property
|
|
378
|
+
if (snapshot && typeof snapshot === 'object' && 'value' in snapshot) {
|
|
379
|
+
const isIdle = snapshot.value === 'idle';
|
|
380
|
+
if (isIdle) {
|
|
381
|
+
// Property is now ready - update state
|
|
382
|
+
setProperties(prev => {
|
|
383
|
+
// Check if property is already in the list (by propertyName and seedLocalId/seedUid)
|
|
384
|
+
const exists = prev.some(p => p.propertyName === property.propertyName &&
|
|
385
|
+
(p.seedLocalId === property.seedLocalId || p.seedUid === property.seedUid));
|
|
386
|
+
if (exists) {
|
|
387
|
+
return prev;
|
|
388
|
+
}
|
|
389
|
+
// Add the newly ready property
|
|
390
|
+
return [...prev, property];
|
|
391
|
+
});
|
|
392
|
+
// Remove from loading set and clean up subscription
|
|
393
|
+
loadingPropertiesRef.current.delete(property);
|
|
394
|
+
subscription.unsubscribe();
|
|
395
|
+
subscriptionsRef.current.delete(property);
|
|
396
|
+
// Update loading state based on remaining loading properties
|
|
397
|
+
setIsLoading(loadingPropertiesRef.current.size > 0);
|
|
398
|
+
}
|
|
399
|
+
else if (snapshot.value === 'error') {
|
|
400
|
+
// Property failed to load - clean up subscription
|
|
401
|
+
loadingPropertiesRef.current.delete(property);
|
|
402
|
+
subscription.unsubscribe();
|
|
403
|
+
subscriptionsRef.current.delete(property);
|
|
404
|
+
// Update loading state based on remaining loading properties
|
|
405
|
+
setIsLoading(loadingPropertiesRef.current.size > 0);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
subscriptionsRef.current.set(property, subscription);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
// Set initial ready properties
|
|
413
|
+
setProperties(readyProperties);
|
|
414
|
+
setError(null);
|
|
415
|
+
setIsLoading(loadingPropertiesList.length > 0); // Still loading if any properties are loading
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
setError(error);
|
|
419
|
+
setIsLoading(false);
|
|
420
|
+
}
|
|
421
|
+
}, [seedLocalId, seedUid, propertiesTableData]);
|
|
422
|
+
// Reset previous table data ref when identifiers change
|
|
423
|
+
useEffect(() => {
|
|
424
|
+
previousTableDataRef.current = undefined;
|
|
425
|
+
}, [seedLocalId, seedUid]);
|
|
426
|
+
// Fetch item properties when dbModelId becomes available
|
|
427
|
+
useEffect(() => {
|
|
428
|
+
if (!isClientReady) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
if (!seedLocalId && !seedUid) {
|
|
432
|
+
setProperties([]);
|
|
433
|
+
setIsLoading(false);
|
|
434
|
+
setError(null);
|
|
435
|
+
previousTableDataRef.current = undefined;
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
// Wait for propertiesTableData to be available before initial fetch
|
|
439
|
+
// (it may be undefined initially while the query is starting)
|
|
440
|
+
if (propertiesTableData === undefined) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
// Initial fetch when client is ready and propertiesTableData is available
|
|
444
|
+
fetchItemProperties();
|
|
445
|
+
}, [isClientReady, seedLocalId, seedUid, fetchItemProperties, propertiesTableData]);
|
|
446
|
+
// Refetch item properties when table data actually changes (not just reference)
|
|
447
|
+
useEffect(() => {
|
|
448
|
+
if (!isClientReady || (!seedLocalId && !seedUid)) {
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
// If propertiesTableData is undefined, the query hasn't started yet - wait for it
|
|
452
|
+
if (propertiesTableData === undefined) {
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
// Create a stable string representation of the table data for comparison
|
|
456
|
+
const tableDataString = JSON.stringify(propertiesTableData.map(p => ({
|
|
457
|
+
propertyName: p.propertyName,
|
|
458
|
+
seedLocalId: p.seedLocalId,
|
|
459
|
+
seedUid: p.seedUid,
|
|
460
|
+
})).sort((a, b) => (a.propertyName || '').localeCompare(b.propertyName || '')));
|
|
461
|
+
// Skip if table data hasn't actually changed
|
|
462
|
+
if (previousTableDataRef.current === tableDataString) {
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
previousTableDataRef.current = tableDataString;
|
|
466
|
+
// Extract identifying information from current properties in state
|
|
467
|
+
const currentPropertiesSet = new Set();
|
|
468
|
+
for (const prop of properties) {
|
|
469
|
+
const key = `${prop.propertyName}:${prop.seedLocalId || prop.seedUid}`;
|
|
470
|
+
currentPropertiesSet.add(key);
|
|
471
|
+
}
|
|
472
|
+
// Extract identifying information from propertiesTableData
|
|
473
|
+
const tableDataPropertiesSet = new Set();
|
|
474
|
+
for (const dbProperty of propertiesTableData) {
|
|
475
|
+
if (dbProperty.propertyName) {
|
|
476
|
+
const key = `${dbProperty.propertyName}:${dbProperty.seedLocalId || dbProperty.seedUid}`;
|
|
477
|
+
tableDataPropertiesSet.add(key);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
// Compare sets to detect changes
|
|
481
|
+
// If tableDataPropertiesSet is empty but we have properties, or vice versa, that's a change
|
|
482
|
+
// If both are empty, skip (no data yet) - UNLESS this is the first time we're seeing empty data
|
|
483
|
+
// If both have data and match, skip
|
|
484
|
+
const setsAreEqual = currentPropertiesSet.size === tableDataPropertiesSet.size &&
|
|
485
|
+
currentPropertiesSet.size > 0 &&
|
|
486
|
+
[...currentPropertiesSet].every(id => tableDataPropertiesSet.has(id));
|
|
487
|
+
if (setsAreEqual) {
|
|
488
|
+
// Properties in state match table data, skip refetch
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
// Always refetch if table data has properties (even if we don't have any yet)
|
|
492
|
+
// This handles the case where propertiesTableData changes from empty to having data
|
|
493
|
+
if (tableDataPropertiesSet.size > 0) {
|
|
494
|
+
// Properties have changed or data has arrived, fetch updated properties
|
|
495
|
+
fetchItemProperties();
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
// If table data is empty but we have properties, that's also a change (properties were removed)
|
|
499
|
+
if (currentPropertiesSet.size > 0 && tableDataPropertiesSet.size === 0) {
|
|
500
|
+
fetchItemProperties();
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
// If both are empty, we've already tried to fetch (in the first useEffect)
|
|
504
|
+
// and got empty results, so skip refetching until data arrives
|
|
505
|
+
// (the change detection above will handle when data arrives)
|
|
506
|
+
}, [isClientReady, propertiesTableData, properties, fetchItemProperties, seedLocalId, seedUid]);
|
|
507
|
+
// Cleanup subscriptions for properties that are no longer in the list
|
|
508
|
+
useEffect(() => {
|
|
509
|
+
const currentPropertyKeys = new Set();
|
|
510
|
+
for (const prop of properties) {
|
|
511
|
+
const key = `${prop.propertyName}:${prop.seedLocalId || prop.seedUid}`;
|
|
512
|
+
currentPropertyKeys.add(key);
|
|
513
|
+
}
|
|
514
|
+
// Clean up subscriptions for properties that are no longer in the list
|
|
515
|
+
for (const [property, subscription] of subscriptionsRef.current.entries()) {
|
|
516
|
+
const key = `${property.propertyName}:${property.seedLocalId || property.seedUid}`;
|
|
517
|
+
if (!currentPropertyKeys.has(key)) {
|
|
518
|
+
// Property is no longer in the list, clean up subscription
|
|
519
|
+
subscription.unsubscribe();
|
|
520
|
+
subscriptionsRef.current.delete(property);
|
|
521
|
+
loadingPropertiesRef.current.delete(property);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
// Update loading state based on remaining loading properties
|
|
525
|
+
if (loadingPropertiesRef.current.size === 0 && isLoading) {
|
|
526
|
+
setIsLoading(false);
|
|
527
|
+
}
|
|
528
|
+
}, [properties, isLoading]);
|
|
529
|
+
// Cleanup all subscriptions on unmount
|
|
530
|
+
useEffect(() => {
|
|
531
|
+
return () => {
|
|
532
|
+
subscriptionsRef.current.forEach(sub => sub.unsubscribe());
|
|
533
|
+
subscriptionsRef.current.clear();
|
|
534
|
+
loadingPropertiesRef.current.clear();
|
|
535
|
+
};
|
|
536
|
+
}, []);
|
|
537
|
+
return {
|
|
538
|
+
properties,
|
|
539
|
+
isLoading,
|
|
540
|
+
error,
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
export { useItemProperties, useItemProperty };
|
|
545
|
+
//# sourceMappingURL=itemProperty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itemProperty.js","sources":["../../../../src/browser/react/itemProperty.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { Subscription, SnapshotFrom } from 'xstate'\nimport debug from 'debug'\nimport { ItemProperty } from '@/ItemProperty/ItemProperty'\nimport { useIsClientReady } from './client'\nimport { IItemProperty } from '@/interfaces'\nimport { useLiveQuery } from './liveQuery'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { metadata } from '@/seedSchema/MetadataSchema'\nimport { and, eq, isNotNull } from 'drizzle-orm'\nimport { getMetadataLatest } from '@/db/read/subqueries/metadataLatest'\nimport { propertyMachine } from '@/ItemProperty/service/propertyMachine'\n\nconst logger = debug('seedSdk:react:property')\nconst propertiesLogger = debug('seedSdk:react:itemProperties')\n\ntype ItemPropertySnapshot = SnapshotFrom<typeof propertyMachine>\n\ntype UseItemPropertyReturn = {\n property: IItemProperty | undefined\n isLoading: boolean\n error: Error | null\n}\n\n/**\n * Hook to get a specific ItemProperty instance\n * Can be called in multiple ways:\n * 1. With seedLocalId/seedUid and propertyName: useItemProperty({ seedLocalId, propertyName }) or useItemProperty({ seedUid, propertyName })\n * 2. With itemId and propertyName: useItemProperty(itemId, propertyName)\n * \n * @overload\n * @param props - Object with seedLocalId or seedUid, and propertyName\n * @returns Object with property, isLoading, and error\n * \n * @overload\n * @param itemId - The item ID (seedLocalId or seedUid)\n * @param propertyName - The name of the property\n * @returns Object with property, isLoading, and error\n */\nexport function useItemProperty(props: {\n seedLocalId?: string\n seedUid?: string\n propertyName: string\n}): UseItemPropertyReturn\nexport function useItemProperty(\n itemId: string,\n propertyName: string\n): UseItemPropertyReturn\nexport function useItemProperty(\n arg1: { seedLocalId?: string; seedUid?: string; propertyName: string } | string,\n arg2?: string\n) {\n const isClientReady = useIsClientReady()\n const [property, setProperty] = useState<IItemProperty | undefined>(undefined)\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState<Error | null>(null)\n const subscriptionRef = useRef<Subscription | undefined>(undefined)\n const [, setVersion] = useState(0) // Version counter to force re-renders\n\n // Determine which lookup mode we're in based on arguments\n const lookupMode = useMemo(() => {\n if (typeof arg1 === 'string' && arg2 !== undefined) {\n // Two arguments: itemId, propertyName\n return { type: 'itemId' as const, itemId: arg1, propertyName: arg2 }\n } else if (typeof arg1 === 'object') {\n // Object argument: { seedLocalId/seedUid, propertyName }\n return {\n type: 'identifiers' as const,\n seedLocalId: arg1.seedLocalId,\n seedUid: arg1.seedUid,\n propertyName: arg1.propertyName,\n }\n } else {\n return null\n }\n }, [arg1, arg2])\n\n // Determine initial loading state\n const initialLoadingState = useMemo(() => {\n if (!lookupMode) return false\n if (lookupMode.type === 'itemId') {\n return !!(lookupMode.itemId && lookupMode.propertyName)\n } else {\n return !!(\n (lookupMode.seedLocalId || lookupMode.seedUid) &&\n lookupMode.propertyName\n )\n }\n }, [lookupMode])\n\n // Determine if we should be loading based on parameters\n const shouldLoad = useMemo(() => {\n if (!isClientReady) return false\n if (!lookupMode) return false\n if (lookupMode.type === 'itemId') {\n return !!(lookupMode.itemId && lookupMode.propertyName)\n } else {\n return !!(\n (lookupMode.seedLocalId || lookupMode.seedUid) &&\n lookupMode.propertyName\n )\n }\n }, [isClientReady, lookupMode])\n\n const updateItemProperty = useCallback(async () => {\n if (!isClientReady || !lookupMode) {\n setProperty(undefined)\n setIsLoading(false)\n setError(null)\n return\n }\n\n try {\n setIsLoading(true)\n setError(null)\n\n let seedLocalId: string | undefined\n let seedUid: string | undefined\n\n if (lookupMode.type === 'itemId') {\n // Resolve itemId to seedLocalId/seedUid\n // For now, assume itemId is seedLocalId (could be enhanced to support seedUid)\n seedLocalId = lookupMode.itemId\n } else {\n seedLocalId = lookupMode.seedLocalId\n seedUid = lookupMode.seedUid\n }\n\n if (!seedLocalId && !seedUid) {\n setProperty(undefined)\n setIsLoading(false)\n setError(null)\n return\n }\n\n const foundProperty = await ItemProperty.find({\n propertyName: lookupMode.propertyName,\n seedLocalId,\n seedUid,\n })\n\n if (!foundProperty) {\n logger(\n `[useItemProperty] [updateItemProperty] no property found for Item.${seedLocalId || seedUid}.${lookupMode.propertyName}`,\n )\n setProperty(undefined)\n setIsLoading(false)\n setError(null)\n return\n }\n\n // Check if property is in 'waitingForDb' state and trigger load\n const snapshot = foundProperty.getService().getSnapshot()\n if (snapshot.value === 'waitingForDb') {\n foundProperty.getService().send({ type: 'waitForDbSuccess' })\n }\n\n setProperty(foundProperty)\n \n // Set loading state based on service state\n // Use type guard to check if snapshot has 'value' property\n if (snapshot && typeof snapshot === 'object' && 'value' in snapshot) {\n const isIdle = snapshot.value === 'idle'\n setIsLoading(!isIdle)\n setError(null)\n } else {\n setIsLoading(false)\n setError(null)\n }\n } catch (error) {\n logger('[useItemProperty] Error updating item property:', error)\n setProperty(undefined)\n setIsLoading(false)\n setError(error as Error)\n }\n }, [isClientReady, lookupMode])\n\n // Fetch/refetch when lookup parameters change or client becomes ready\n useEffect(() => {\n if (!shouldLoad) {\n setProperty(undefined)\n setIsLoading(false)\n setError(null)\n return\n }\n updateItemProperty()\n }, [shouldLoad, updateItemProperty])\n\n // Subscribe to service changes when property is available\n useEffect(() => {\n if (!property) {\n // Clean up subscription if property is not available\n subscriptionRef.current?.unsubscribe()\n subscriptionRef.current = undefined\n return\n }\n\n // Clean up previous subscription\n subscriptionRef.current?.unsubscribe()\n\n // Subscribe to service changes\n const subscription = property.getService().subscribe((snapshot: any) => {\n // Update loading state based on service state\n // Use type guard to check if snapshot has 'value' property\n if (snapshot && typeof snapshot === 'object' && 'value' in snapshot) {\n const isIdle = snapshot.value === 'idle'\n setIsLoading(!isIdle)\n \n // Clear error if service is in idle state\n if (isIdle) {\n setError(null)\n }\n }\n \n // Force re-render by incrementing version counter\n setVersion(prev => prev + 1)\n })\n \n subscriptionRef.current = subscription\n\n return () => {\n subscriptionRef.current?.unsubscribe()\n subscriptionRef.current = undefined\n }\n }, [property])\n\n return {\n property,\n isLoading,\n error,\n }\n}\ntype UseItemPropertiesReturn = {\n properties: IItemProperty[]\n isLoading: boolean\n error: Error | null\n}\n\n/**\n * Hook to get all ItemProperty instances for a specific item\n * Can be called in multiple ways:\n * 1. With seedLocalId: useItemProperties({ seedLocalId })\n * 2. With seedUid: useItemProperties({ seedUid })\n * 3. With itemId: useItemProperties(itemId)\n * \n * Uses useLiveQuery to watch for changes in the metadata table and automatically\n * updates the returned ItemProperty instances when changes occur.\n * \n * @overload\n * @param props - Object with seedLocalId or seedUid\n * @returns Object with properties array, isLoading, and error\n * \n * @overload\n * @param itemId - The item ID (seedLocalId or seedUid)\n * @returns Object with properties array, isLoading, and error\n */\nexport function useItemProperties(props: {\n seedLocalId?: string\n seedUid?: string\n}): UseItemPropertiesReturn\nexport function useItemProperties(itemId: string): UseItemPropertiesReturn\nexport function useItemProperties(\n arg1: { seedLocalId?: string; seedUid?: string } | string\n): UseItemPropertiesReturn {\n\n const [properties, setProperties] = useState<IItemProperty[]>([])\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState<Error | null>(null)\n const isClientReady = useIsClientReady()\n const subscriptionsRef = useRef<Map<IItemProperty, Subscription>>(new Map())\n const loadingPropertiesRef = useRef<Set<IItemProperty>>(new Set())\n const previousTableDataRef = useRef<string | undefined>(undefined)\n\n // Determine which lookup mode we're in based on arguments\n const lookupMode = useMemo(() => {\n if (typeof arg1 === 'string') {\n // String argument: itemId (assumed to be seedLocalId)\n return { type: 'itemId' as const, itemId: arg1 }\n } else if (typeof arg1 === 'object') {\n // Object argument: { seedLocalId/seedUid }\n return {\n type: 'identifiers' as const,\n seedLocalId: arg1.seedLocalId,\n seedUid: arg1.seedUid,\n }\n } else {\n return null\n }\n }, [arg1])\n\n // Determine seedLocalId and seedUid for query\n const seedLocalId = useMemo(() => {\n if (!lookupMode) return undefined\n if (lookupMode.type === 'itemId') {\n return lookupMode.itemId\n } else {\n return lookupMode.seedLocalId\n }\n }, [lookupMode])\n\n const seedUid = useMemo(() => {\n if (!lookupMode || lookupMode.type === 'itemId') return undefined\n return lookupMode.seedUid\n }, [lookupMode])\n\n // Watch the metadata table for changes\n // Query metadata table directly and filter for latest records in JavaScript\n // This is simpler and works better with useLiveQuery than CTEs\n // Get db inside useMemo to avoid recreating query on each render\n // Drizzle query builders are new objects each time, but useMemo will only recreate\n // when dependencies change, which is what we want for reactive queries\n const propertiesQuery = useMemo(() => {\n if (!isClientReady || (!seedLocalId && !seedUid)) {\n propertiesLogger('[useItemProperties] Query: returning null (not ready or no identifiers)')\n return null\n }\n \n const db = BaseDb.getAppDb()\n if (!db) {\n propertiesLogger('[useItemProperties] Query: returning null (no db)')\n return null\n }\n \n propertiesLogger(`[useItemProperties] Query: creating query for seedLocalId=${seedLocalId}, seedUid=${seedUid}`)\n \n // Query metadata table directly - we'll filter for latest records in JavaScript\n const query = seedUid\n ? db\n .select({\n propertyName: metadata.propertyName,\n propertyValue: metadata.propertyValue,\n seedLocalId: metadata.seedLocalId,\n seedUid: metadata.seedUid,\n modelType: metadata.modelType,\n schemaUid: metadata.schemaUid,\n createdAt: metadata.createdAt,\n attestationCreatedAt: metadata.attestationCreatedAt,\n })\n .from(metadata)\n .where(\n and(\n eq(metadata.seedUid, seedUid),\n isNotNull(metadata.propertyName)\n )\n )\n : db\n .select({\n propertyName: metadata.propertyName,\n propertyValue: metadata.propertyValue,\n seedLocalId: metadata.seedLocalId,\n seedUid: metadata.seedUid,\n modelType: metadata.modelType,\n schemaUid: metadata.schemaUid,\n createdAt: metadata.createdAt,\n attestationCreatedAt: metadata.attestationCreatedAt,\n })\n .from(metadata)\n .where(\n and(\n eq(metadata.seedLocalId, seedLocalId),\n isNotNull(metadata.propertyName)\n )\n )\n \n propertiesLogger(`[useItemProperties] Query: created query object`, { queryType: seedUid ? 'seedUid' : 'seedLocalId' })\n return query\n }, [isClientReady, seedLocalId, seedUid])\n \n const rawPropertiesTableData = useLiveQuery<{\n propertyName: string | null\n propertyValue: string | null\n seedLocalId: string | null\n seedUid: string | null\n modelType: string | null\n schemaUid: string | null\n createdAt: number | null\n attestationCreatedAt: number | null\n }>(propertiesQuery)\n \n // Debug logging for rawPropertiesTableData\n useEffect(() => {\n if (rawPropertiesTableData !== undefined) {\n propertiesLogger(`[useItemProperties] rawPropertiesTableData updated:`, {\n length: rawPropertiesTableData?.length || 0,\n isUndefined: rawPropertiesTableData === undefined,\n isArray: Array.isArray(rawPropertiesTableData),\n firstRecord: rawPropertiesTableData?.[0] || null,\n })\n } else {\n propertiesLogger('[useItemProperties] rawPropertiesTableData is undefined (query not executed yet)')\n }\n }, [rawPropertiesTableData])\n\n // Filter for latest records (one per propertyName) in JavaScript\n const propertiesTableData = useMemo(() => {\n if (!rawPropertiesTableData || rawPropertiesTableData.length === 0) {\n return []\n }\n\n // Group by propertyName and keep only the latest record for each\n const latestByProperty = new Map<string, typeof rawPropertiesTableData[0]>()\n \n for (const record of rawPropertiesTableData) {\n if (!record.propertyName) continue\n \n const existing = latestByProperty.get(record.propertyName)\n if (!existing) {\n latestByProperty.set(record.propertyName, record)\n } else {\n // Compare timestamps to find the latest\n const existingTime = existing.attestationCreatedAt || existing.createdAt || 0\n const currentTime = record.attestationCreatedAt || record.createdAt || 0\n if (currentTime > existingTime) {\n latestByProperty.set(record.propertyName, record)\n }\n }\n }\n\n return Array.from(latestByProperty.values())\n }, [rawPropertiesTableData])\n\n const fetchItemProperties = useCallback(async () => {\n if (!seedLocalId && !seedUid) {\n propertiesLogger('[useItemProperties] fetchItemProperties: no identifiers, clearing properties')\n setProperties([])\n setIsLoading(false)\n setError(null)\n return\n }\n\n // Don't fetch if propertiesTableData is not available yet\n if (propertiesTableData === undefined) {\n propertiesLogger('[useItemProperties] fetchItemProperties: propertiesTableData is undefined, skipping')\n return\n }\n\n propertiesLogger(`[useItemProperties] fetchItemProperties: starting with ${propertiesTableData.length} records from table`)\n\n try {\n setIsLoading(true)\n setError(null)\n\n // Use propertiesTableData (database state) as the source of truth\n // If empty, set properties to empty (liveQuery will update when data arrives)\n if (!propertiesTableData || propertiesTableData.length === 0) {\n propertiesLogger('[useItemProperties] fetchItemProperties: propertiesTableData is empty, setting properties to []')\n setProperties([])\n setError(null)\n setIsLoading(false)\n return\n }\n \n propertiesLogger(`[useItemProperties] fetchItemProperties: processing ${propertiesTableData.length} properties`)\n\n const _itemProperties: IItemProperty[] = []\n\n // Iterate over propertiesTableData and create ItemProperty instances\n for (const dbProperty of propertiesTableData) {\n if (!dbProperty.propertyName) {\n continue\n }\n\n try {\n const itemProperty = await ItemProperty.find({\n propertyName: dbProperty.propertyName,\n seedLocalId: dbProperty.seedLocalId || undefined,\n seedUid: dbProperty.seedUid || undefined,\n })\n\n if (itemProperty) {\n _itemProperties.push(itemProperty)\n }\n } catch (error) {\n logger(`[useItemProperties] Error creating ItemProperty for ${dbProperty.propertyName}:`, error)\n // Continue with other properties even if one fails\n }\n }\n\n // Filter out properties that are ready (idle state) vs still loading\n const readyProperties: IItemProperty[] = []\n const loadingPropertiesList: IItemProperty[] = []\n\n // Clear previous loading set\n loadingPropertiesRef.current.clear()\n\n for (const property of _itemProperties) {\n const snapshot = property.getService().getSnapshot()\n // Use type guard to check if snapshot has 'value' property\n const isIdle = snapshot && typeof snapshot === 'object' && 'value' in snapshot && snapshot.value === 'idle'\n\n if (isIdle) {\n // Property is ready\n readyProperties.push(property)\n } else {\n // Property is still loading - subscribe to state changes\n loadingPropertiesList.push(property)\n loadingPropertiesRef.current.add(property)\n\n // Clean up any existing subscription for this property\n const existingSub = subscriptionsRef.current.get(property)\n if (existingSub) {\n existingSub.unsubscribe()\n }\n\n // Subscribe to state changes\n const subscription = property.getService().subscribe((snapshot: any) => {\n // Use type guard to check if snapshot has 'value' property\n if (snapshot && typeof snapshot === 'object' && 'value' in snapshot) {\n const isIdle = snapshot.value === 'idle'\n\n if (isIdle) {\n // Property is now ready - update state\n setProperties(prev => {\n // Check if property is already in the list (by propertyName and seedLocalId/seedUid)\n const exists = prev.some(p => \n p.propertyName === property.propertyName &&\n (p.seedLocalId === property.seedLocalId || p.seedUid === property.seedUid)\n )\n if (exists) {\n return prev\n }\n // Add the newly ready property\n return [...prev, property]\n })\n\n // Remove from loading set and clean up subscription\n loadingPropertiesRef.current.delete(property)\n subscription.unsubscribe()\n subscriptionsRef.current.delete(property)\n\n // Update loading state based on remaining loading properties\n setIsLoading(loadingPropertiesRef.current.size > 0)\n } else if (snapshot.value === 'error') {\n // Property failed to load - clean up subscription\n loadingPropertiesRef.current.delete(property)\n subscription.unsubscribe()\n subscriptionsRef.current.delete(property)\n\n // Update loading state based on remaining loading properties\n setIsLoading(loadingPropertiesRef.current.size > 0)\n }\n }\n })\n\n subscriptionsRef.current.set(property, subscription)\n }\n }\n\n // Set initial ready properties\n setProperties(readyProperties)\n setError(null)\n setIsLoading(loadingPropertiesList.length > 0) // Still loading if any properties are loading\n } catch (error) {\n setError(error as Error)\n setIsLoading(false)\n }\n }, [seedLocalId, seedUid, propertiesTableData])\n\n // Reset previous table data ref when identifiers change\n useEffect(() => {\n previousTableDataRef.current = undefined\n }, [seedLocalId, seedUid])\n\n // Fetch item properties when dbModelId becomes available\n useEffect(() => {\n if (!isClientReady) {\n return\n }\n \n if (!seedLocalId && !seedUid) {\n setProperties([])\n setIsLoading(false)\n setError(null)\n previousTableDataRef.current = undefined\n return\n }\n \n // Wait for propertiesTableData to be available before initial fetch\n // (it may be undefined initially while the query is starting)\n if (propertiesTableData === undefined) {\n return\n }\n // Initial fetch when client is ready and propertiesTableData is available\n fetchItemProperties()\n }, [isClientReady, seedLocalId, seedUid, fetchItemProperties, propertiesTableData])\n\n // Refetch item properties when table data actually changes (not just reference)\n useEffect(() => {\n if (!isClientReady || (!seedLocalId && !seedUid)) {\n return\n }\n\n // If propertiesTableData is undefined, the query hasn't started yet - wait for it\n if (propertiesTableData === undefined) {\n return\n }\n\n // Create a stable string representation of the table data for comparison\n const tableDataString = JSON.stringify(\n propertiesTableData.map(p => ({\n propertyName: p.propertyName,\n seedLocalId: p.seedLocalId,\n seedUid: p.seedUid,\n })).sort((a, b) => (a.propertyName || '').localeCompare(b.propertyName || ''))\n )\n\n // Skip if table data hasn't actually changed\n if (previousTableDataRef.current === tableDataString) {\n return\n }\n\n previousTableDataRef.current = tableDataString\n\n // Extract identifying information from current properties in state\n const currentPropertiesSet = new Set<string>()\n for (const prop of properties) {\n const key = `${prop.propertyName}:${prop.seedLocalId || prop.seedUid}`\n currentPropertiesSet.add(key)\n }\n\n // Extract identifying information from propertiesTableData\n const tableDataPropertiesSet = new Set<string>()\n for (const dbProperty of propertiesTableData) {\n if (dbProperty.propertyName) {\n const key = `${dbProperty.propertyName}:${dbProperty.seedLocalId || dbProperty.seedUid}`\n tableDataPropertiesSet.add(key)\n }\n }\n\n // Compare sets to detect changes\n // If tableDataPropertiesSet is empty but we have properties, or vice versa, that's a change\n // If both are empty, skip (no data yet) - UNLESS this is the first time we're seeing empty data\n // If both have data and match, skip\n const setsAreEqual =\n currentPropertiesSet.size === tableDataPropertiesSet.size &&\n currentPropertiesSet.size > 0 &&\n [...currentPropertiesSet].every(id => tableDataPropertiesSet.has(id))\n\n if (setsAreEqual) {\n // Properties in state match table data, skip refetch\n return\n }\n\n // Always refetch if table data has properties (even if we don't have any yet)\n // This handles the case where propertiesTableData changes from empty to having data\n if (tableDataPropertiesSet.size > 0) {\n // Properties have changed or data has arrived, fetch updated properties\n fetchItemProperties()\n return\n }\n\n // If table data is empty but we have properties, that's also a change (properties were removed)\n if (currentPropertiesSet.size > 0 && tableDataPropertiesSet.size === 0) {\n fetchItemProperties()\n return\n }\n\n // If both are empty, we've already tried to fetch (in the first useEffect)\n // and got empty results, so skip refetching until data arrives\n // (the change detection above will handle when data arrives)\n }, [isClientReady, propertiesTableData, properties, fetchItemProperties, seedLocalId, seedUid])\n\n // Cleanup subscriptions for properties that are no longer in the list\n useEffect(() => {\n const currentPropertyKeys = new Set<string>()\n for (const prop of properties) {\n const key = `${prop.propertyName}:${prop.seedLocalId || prop.seedUid}`\n currentPropertyKeys.add(key)\n }\n\n // Clean up subscriptions for properties that are no longer in the list\n for (const [property, subscription] of subscriptionsRef.current.entries()) {\n const key = `${property.propertyName}:${property.seedLocalId || property.seedUid}`\n if (!currentPropertyKeys.has(key)) {\n // Property is no longer in the list, clean up subscription\n subscription.unsubscribe()\n subscriptionsRef.current.delete(property)\n loadingPropertiesRef.current.delete(property)\n }\n }\n\n // Update loading state based on remaining loading properties\n if (loadingPropertiesRef.current.size === 0 && isLoading) {\n setIsLoading(false)\n }\n }, [properties, isLoading])\n\n // Cleanup all subscriptions on unmount\n useEffect(() => {\n return () => {\n subscriptionsRef.current.forEach(sub => sub.unsubscribe())\n subscriptionsRef.current.clear()\n loadingPropertiesRef.current.clear()\n }\n }, [])\n\n return {\n properties,\n isLoading,\n error,\n }\n}\n"],"names":[],"mappings":"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"}
|