@seedprotocol/sdk 0.3.31 → 0.4.0
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 +460 -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 @@
|
|
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../src/Item/Item.ts"],"sourcesContent":["import { IItem, IItemProperty } from '@/interfaces'\nimport { itemMachineSingle } from '@/Item/service/itemMachineSingle'\nimport { INTERNAL_PROPERTY_NAMES } from '@/helpers/constants'\nimport { VersionsType } from '@/seedSchema'\n// Dynamic import to break circular dependency: Model -> Item -> Model\n// import { Model } from '@/Model/Model'\n\nimport {\n CreatePropertyInstanceProps,\n ItemData,\n ItemFindProps,\n ModelSchema,\n ModelValues,\n NewItemProps,\n PropertyData\n} from '@/types'\n\nimport { BehaviorSubject } from 'rxjs'\nimport { ActorRefFrom, Subscription, createActor } from 'xstate'\nimport pluralize from 'pluralize'\nimport { orderBy, startCase } from 'lodash-es'\nimport { waitForEvent } from '@/events'\nimport { getItemData } from '@/db/read/getItemData'\nimport { getItemsData } from '@/db/read/getItems'\nimport { ItemProperty } from '@/ItemProperty/ItemProperty'\nimport { getItemProperties } from '@/db/read/getItemProperties'\nimport { createNewItem } from '@/db/write/createNewItem'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { properties as propertiesTable, models as modelsTable } from '@/seedSchema'\nimport { eq, and } from 'drizzle-orm'\nimport debug from 'debug'\n\n// Fallback helper for synchronous Model access when modelInstance is not provided\n// This is only used as a fallback - the preferred approach is to pass modelInstance\n// directly to Item constructor (which Model.create() instance method does).\n// Since Model.getByName() is synchronous and just accesses a cache, Model must be loaded\n// when Item constructor runs (because Model imports Item).\nlet ModelClass: typeof import('@/Model/Model').Model | null = null\nlet modelImportPromise: Promise<typeof import('@/Model/Model')> | null = null\n\nconst getModel = (): typeof import('@/Model/Model').Model => {\n if (!ModelClass) {\n // Start loading Model if not already started\n if (!modelImportPromise) {\n modelImportPromise = import('@/Model/Model')\n // Try to get Model synchronously if already loaded\n // This works because Model imports Item, so Model is initialized when Item runs\n modelImportPromise.then(module => {\n ModelClass = module.Model\n }).catch(() => {\n // If import fails, ModelClass remains null\n })\n }\n // For synchronous access, we need Model to already be loaded\n // If it's not loaded yet, this will throw, but in practice Model is always loaded\n // because Model imports Item, creating the initialization order\n if (!ModelClass) {\n // Fallback: try to access Model directly (works if already in module cache)\n try {\n // @ts-ignore - accessing module cache directly\n const modelModule = (globalThis as any).__seedModelModule || \n (typeof window !== 'undefined' && (window as any).__seedModelModule)\n if (modelModule) {\n ModelClass = modelModule.Model\n }\n } catch {\n // If Model isn't available, throw a more helpful error\n throw new Error('Model class not available. This may indicate a circular dependency issue.')\n }\n }\n }\n return ModelClass!\n}\n\n// Define tracked properties for the Proxy\n// These properties will be read from/written to the actor context\nconst TRACKED_PROPERTIES = [\n 'seedLocalId',\n 'seedUid',\n 'modelName',\n 'schemaUid',\n 'latestVersionLocalId',\n 'latestVersionUid',\n 'properties', // Computed from propertyInstances\n] as const\n\n// WeakMap to store mutable state per Item instance\n// This avoids issues with read-only properties when instances are frozen by Immer\nconst itemInstanceState = new WeakMap<Item<any>, {\n liveQuerySubscription: { unsubscribe: () => void } | null // LiveQuery subscription for cross-instance updates\n}>()\n\nexport class Item<T extends ModelValues<ModelSchema>> implements IItem<T> {\n\n protected static instanceCache: Map<string, { instance: Item<any>; refCount: number }> = new Map();\n protected _subscription: Subscription | undefined;\n protected readonly _storageTransactionId: string | undefined;\n protected _propertiesSubject: BehaviorSubject<Record<string, IItemProperty>> = new BehaviorSubject({});\n protected readonly _service: ActorRefFrom<typeof itemMachineSingle>;\n\n constructor(initialValues: NewItemProps<T>) {\n\n const {\n modelName,\n seedUid,\n schemaUid,\n seedLocalId,\n latestVersionLocalId,\n latestVersionUid,\n modelInstance,\n } = initialValues\n\n // Store modelInstance if provided (for backward compatibility)\n // But Item no longer depends on Model being loaded - it loads properties from database directly\n if (initialValues.storageTransactionId) {\n this._storageTransactionId = initialValues.storageTransactionId\n }\n\n this._service = createActor(itemMachineSingle, {\n input: {\n seedLocalId,\n seedUid,\n schemaUid,\n modelName,\n latestVersionLocalId,\n latestVersionUid,\n storageTransactionId: this._storageTransactionId,\n // ModelClass is no longer needed - Item loads properties from database independently\n },\n })\n\n this._subscription = this._service.subscribe((snapshot) => {\n const { context } = snapshot\n\n if (\n !context ||\n !context.propertyInstances ||\n context.propertyInstances.size === 0\n ) {\n return\n }\n\n const propertiesObj: Record<string, IItemProperty> = {}\n\n for (const [key, propertyInstance] of context.propertyInstances) {\n if (typeof key !== 'string' || INTERNAL_PROPERTY_NAMES.includes(key)) {\n propertiesObj[key.toString()] = propertyInstance\n continue\n }\n\n let transformedKey: string = key as string\n\n if (propertyInstance.alias) {\n transformedKey = propertyInstance.alias\n }\n\n if (!propertyInstance.alias && key.endsWith('Ids')) {\n transformedKey = key.slice(0, -3) // Remove 'Ids'\n transformedKey = pluralize(transformedKey)\n }\n\n if (!propertyInstance.alias && key.endsWith('Id')) {\n transformedKey = key.slice(0, -2) // Remove 'Id'\n }\n\n propertiesObj[transformedKey] = propertyInstance\n }\n\n this._propertiesSubject.next(propertiesObj)\n })\n\n this._service.start()\n\n // Initialize instance state in WeakMap\n itemInstanceState.set(this, {\n liveQuerySubscription: null,\n })\n \n // Set up liveQuery subscription for cross-instance updates\n this._setupLiveQuerySubscription()\n\n // Properties are now loaded from database via loadOrCreateItem actor\n // Only create property instances for values provided in initialValues\n // The loadOrCreateItem actor will load all properties from metadata table\n const itemPropertyBase: Partial<CreatePropertyInstanceProps> = {\n seedLocalId,\n seedUid,\n versionLocalId: latestVersionLocalId,\n versionUid: latestVersionUid,\n modelName,\n }\n\n // Create property instances for any values provided in initialValues\n // These will be merged with properties loaded from database\n ; (Object.keys(initialValues) as Array<string & keyof Partial<T>>).forEach(\n (key) => {\n // Skip metadata properties\n if (key === 'modelName' || key === 'schemaName' || key === 'modelInstance' || \n key === 'seedLocalId' || key === 'seedUid' || key === 'schemaUid' ||\n key === 'latestVersionLocalId' || key === 'latestVersionUid') {\n return\n }\n\n this._createPropertyInstance({\n ...itemPropertyBase,\n propertyName: key,\n propertyValue: initialValues[key],\n })\n },\n )\n }\n\n static async create<T extends ModelValues<ModelSchema>>(\n props: Partial<ItemData> & { modelInstance?: import('@/Model/Model').Model },\n ): Promise<Item<any>> {\n if (!props.modelName && props.type) {\n props.modelName = startCase(props.type)\n }\n if (props.seedUid || props.seedLocalId) {\n const seedId = (props.seedUid || props.seedLocalId) as string\n if (this.instanceCache.has(seedId)) {\n const { instance, refCount } = this.instanceCache.get(seedId)!\n this.instanceCache.set(seedId, {\n instance,\n refCount: refCount + 1,\n })\n for (const [propertyName, propertyValue] of Object.entries(props)) {\n const propertyInstances = instance.getService().getSnapshot()\n .context.propertyInstances\n if (!propertyInstances || !propertyInstances.has(propertyName)) {\n continue\n }\n const propertyInstance = propertyInstances.get(propertyName)\n if (!propertyInstance) {\n continue\n }\n propertyInstance.getService().send({\n type: 'updateContext',\n propertyValue,\n })\n }\n return instance\n }\n if (!this.instanceCache.has(seedId)) {\n // Item no longer needs modelInstance - it loads properties from database independently\n const propsWithModel = { ...props }\n const newInstance = new Item(propsWithModel)\n \n // Wrap instance in Proxy for reactive property access\n const proxiedInstance = new Proxy(newInstance, {\n get(target, prop: string | symbol) {\n // Handle special properties\n if (prop === '_service') {\n return Reflect.get(target, prop)\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n // Special handling for properties - compute from propertyInstances Map\n if (prop === 'properties') {\n const snapshot = target._service.getSnapshot()\n const context = snapshot.context\n const propertyInstances = context.propertyInstances as Map<string, IItemProperty> | undefined\n \n if (!propertyInstances || propertyInstances.size === 0) {\n return []\n }\n \n // Get model schema keys for filtering\n const modelSchemaKeys = target._getModelSchemaKeys()\n \n // Convert Map to array, filtering by model schema\n const properties: IItemProperty[] = []\n for (const [key, propertyInstance] of propertyInstances) {\n // Skip internal properties\n if (INTERNAL_PROPERTY_NAMES.includes(key)) {\n continue\n }\n \n // Include if it's a model property\n if (target._isModelProperty(key, modelSchemaKeys)) {\n properties.push(propertyInstance)\n }\n }\n \n // CRITICAL: Always create a new array reference so React detects changes\n return [...properties]\n }\n \n const context = target._getSnapshotContext()\n return (context as any)[prop]\n }\n \n // For methods and other properties, use Reflect\n return Reflect.get(target, prop)\n },\n \n set(target, prop: string | symbol, value: any) {\n // Handle special properties\n if (prop === '_service') {\n return Reflect.set(target, prop, value)\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n if (prop === 'properties') {\n // Properties are read-only computed values from propertyInstances\n // Cannot be set directly - properties are managed via ItemProperty instances\n throw new Error('Cannot set item.properties directly. Properties are computed from ItemProperty instances.')\n } else {\n // Standard property update\n target._service.send({\n type: 'updateContext',\n [prop]: value,\n })\n }\n return true\n }\n \n // For non-tracked properties, use Reflect\n return Reflect.set(target, prop, value)\n },\n \n has(target, prop: string | symbol) {\n // Check tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n const context = target._getSnapshotContext()\n return prop in context\n }\n return Reflect.has(target, prop)\n },\n \n ownKeys(target) {\n // Return keys from target\n return Reflect.ownKeys(target)\n },\n \n getOwnPropertyDescriptor(target, prop: string | symbol) {\n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n const context = target._getSnapshotContext()\n if (prop in context) {\n return {\n enumerable: true,\n configurable: true,\n value: (context as any)[prop],\n writable: true,\n }\n }\n }\n return Reflect.getOwnPropertyDescriptor(target, prop)\n },\n }) as Item<any>\n \n this.instanceCache.set(seedId, {\n instance: proxiedInstance,\n refCount: 1,\n })\n return proxiedInstance\n }\n }\n if (!props.modelName) {\n throw new Error('Model name is required to create an item')\n }\n // Filter out ItemData metadata properties - only pass model schema properties\n // Use schemaName from props if available (passed from Model.create() instance method)\n const schemaName = (props as any).schemaName\n \n // Get property names directly from database to make Item independent from Model\n let propertyNames: string[] = []\n const db = BaseDb.getAppDb()\n if (db && props.modelName) {\n // Query properties table directly by model name\n // First get the model record by name, optionally filtered by schema\n let modelRecords\n \n // If we have a schema name, join with modelSchemas to filter by schema\n if (schemaName) {\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n \n modelRecords = await db\n .select({ id: modelsTable.id })\n .from(modelsTable)\n .innerJoin(modelSchemas, eq(modelsTable.id, modelSchemas.modelId))\n .innerJoin(schemasTable, eq(modelSchemas.schemaId, schemasTable.id))\n .where(\n and(\n eq(modelsTable.name, props.modelName),\n eq(schemasTable.name, schemaName)\n )\n )\n .limit(1)\n } else {\n modelRecords = await db\n .select({ id: modelsTable.id })\n .from(modelsTable)\n .where(eq(modelsTable.name, props.modelName))\n .limit(1)\n }\n \n if (modelRecords.length > 0 && modelRecords[0].id) {\n const propertyRecords = await db\n .select({ name: propertiesTable.name })\n .from(propertiesTable)\n .where(eq(propertiesTable.modelId, modelRecords[0].id))\n \n propertyNames = propertyRecords.map((r: { name: string | null }) => r.name).filter((name: string | null): name is string => Boolean(name))\n }\n }\n \n const modelPropertyData: Partial<ModelValues<ModelSchema>> & { modelName: string } = { modelName: props.modelName }\n \n // Only include properties that are in the model schema\n // Exclude modelInstance, modelName, and schemaName as they're metadata, not item properties\n for (const [key, value] of Object.entries(props)) {\n // Skip metadata properties that aren't part of the item's data\n if (key === 'modelName' || key === 'schemaName' || key === 'modelInstance') {\n continue\n }\n if (propertyNames.length === 0 || propertyNames.includes(key)) {\n // If we couldn't get property names from DB, include all properties\n // Type assertion: we've filtered out modelInstance above, so value should be a valid property value\n modelPropertyData[key] = value as any\n }\n }\n const { seedLocalId, versionLocalId, } = await createNewItem(modelPropertyData)\n props.seedLocalId = seedLocalId\n props.latestVersionLocalId = versionLocalId\n // Item no longer needs modelInstance - it loads properties from database independently\n const propsWithModel = { ...props }\n const newInstance = new Item(propsWithModel)\n \n // Wrap instance in Proxy for reactive property access\n const proxiedInstance = new Proxy(newInstance, {\n get(target, prop: string | symbol) {\n // Handle special properties\n if (prop === '_service') {\n return Reflect.get(target, prop)\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n // Special handling for properties - compute from propertyInstances Map\n if (prop === 'properties') {\n const snapshot = target._service.getSnapshot()\n const context = snapshot.context\n const propertyInstances = context.propertyInstances as Map<string, IItemProperty> | undefined\n \n if (!propertyInstances || propertyInstances.size === 0) {\n return []\n }\n \n // Get model schema keys for filtering\n const modelSchemaKeys = target._getModelSchemaKeys()\n \n // Convert Map to array, filtering by model schema\n const properties: IItemProperty[] = []\n for (const [key, propertyInstance] of propertyInstances) {\n // Skip internal properties\n if (INTERNAL_PROPERTY_NAMES.includes(key)) {\n continue\n }\n \n // Include if it's a model property\n if (target._isModelProperty(key, modelSchemaKeys)) {\n properties.push(propertyInstance)\n }\n }\n \n // CRITICAL: Always create a new array reference so React detects changes\n return [...properties]\n }\n \n const context = target._getSnapshotContext()\n return (context as any)[prop]\n }\n \n // For methods and other properties, use Reflect\n return Reflect.get(target, prop)\n },\n \n set(target, prop: string | symbol, value: any) {\n // Handle special properties\n if (prop === '_service') {\n return Reflect.set(target, prop, value)\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n if (prop === 'properties') {\n // Properties are read-only computed values from propertyInstances\n // Cannot be set directly - properties are managed via ItemProperty instances\n throw new Error('Cannot set item.properties directly. Properties are computed from ItemProperty instances.')\n } else {\n // Standard property update\n target._service.send({\n type: 'updateContext',\n [prop]: value,\n })\n }\n return true\n }\n \n // For non-tracked properties, use Reflect\n return Reflect.set(target, prop, value)\n },\n \n has(target, prop: string | symbol) {\n // Check tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n const context = target._getSnapshotContext()\n return prop in context\n }\n return Reflect.has(target, prop)\n },\n \n ownKeys(target) {\n // Return keys from target\n return Reflect.ownKeys(target)\n },\n \n getOwnPropertyDescriptor(target, prop: string | symbol) {\n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n const context = target._getSnapshotContext()\n if (prop in context) {\n return {\n enumerable: true,\n configurable: true,\n value: (context as any)[prop],\n writable: true,\n }\n }\n }\n return Reflect.getOwnPropertyDescriptor(target, prop)\n },\n }) as Item<any>\n \n this.instanceCache.set((proxiedInstance.seedUid || proxiedInstance.seedLocalId) as string, {\n instance: proxiedInstance,\n refCount: 1,\n })\n return proxiedInstance\n }\n\n static async find({\n modelName,\n seedLocalId,\n seedUid,\n }: ItemFindProps): Promise<IItem<any> | undefined> {\n if (!seedLocalId && !seedUid) {\n return\n }\n const itemData = await getItemData({\n modelName,\n seedLocalId,\n seedUid,\n })\n\n if (!itemData) {\n console.error('No item data found', { modelName, seedLocalId, seedUid })\n return\n }\n\n return Item.create({\n ...itemData,\n modelName,\n })\n }\n\n static async all(\n modelName?: string,\n deleted?: boolean,\n ): Promise<Item<any>[]> {\n const itemsData = await getItemsData({ modelName, deleted })\n const itemInstances: Item<any>[] = []\n for (const itemData of itemsData) {\n itemInstances.push(\n await Item.create({\n ...itemData,\n modelName,\n }),\n )\n }\n\n return orderBy(itemInstances, ['createdAt'], ['desc'])\n }\n\n protected _createPropertyInstance(props: Partial<CreatePropertyInstanceProps>) {\n if (this._storageTransactionId) {\n props.storageTransactionId = this._storageTransactionId\n }\n\n const propertyInstance = ItemProperty.create(props)\n\n if (!propertyInstance || !props.propertyName) {\n return\n }\n\n this._service.send({\n type: 'addPropertyInstance',\n propertyName: props.propertyName,\n propertyInstance,\n })\n\n Object.defineProperty(this, props.propertyName, {\n get: () => propertyInstance.value,\n set: (value) => (propertyInstance.value = value),\n enumerable: true,\n })\n }\n\n\n static async publish(item: IItem<any>): Promise<void> {\n await waitForEvent({\n req: {\n eventLabel: `item.${item.seedLocalId}.publish.request`,\n data: {\n seedLocalId: item.seedLocalId,\n },\n },\n res: {\n eventLabel: `item.${item.seedLocalId}.publish.success`,\n },\n })\n }\n\n subscribe = (callback: (itemProps: any) => void): Subscription => {\n return this._service.subscribe((snapshot) => {\n callback(snapshot.context)\n })\n }\n\n getService = (): ActorRefFrom<typeof itemMachineSingle> => {\n return this._service\n }\n\n getEditedProperties = async (): Promise<PropertyData[]> => {\n return await getItemProperties({\n seedLocalId: this.seedLocalId,\n edited: true,\n })\n }\n\n publish = async (): Promise<void> => {\n await waitForEvent({\n req: {\n eventLabel: `item.publish.request`,\n data: {\n seedLocalId: this.seedLocalId,\n },\n },\n res: {\n eventLabel: `item.${this.seedLocalId}.publish.success`,\n },\n })\n }\n\n getPublishUploads = async () => {\n // Use dynamic import to break circular dependency\n const { getPublishUploads } = await import('@/db/read/getPublishUploads')\n return await getPublishUploads(this)\n }\n\n getPublishPayload = async (uploadedTransactions: any[]) => {\n // Use dynamic import to break circular dependency\n const { getPublishPayload } = await import('@/db/read/getPublishPayload')\n return await getPublishPayload(this, uploadedTransactions)\n }\n\n get serviceContext() {\n const snapshot = this._service.getSnapshot()\n return (snapshot as any).context || {}\n }\n\n /**\n * Get snapshot context from the service\n * Used by the reactive proxy to read tracked properties\n */\n _getSnapshotContext() {\n return this._service.getSnapshot().context\n }\n\n // These getters are now handled by the reactive proxy\n // They read from the service context via the proxy\n // Keeping them for backward compatibility, but they delegate to serviceContext\n get seedLocalId(): string {\n return this.serviceContext.seedLocalId as string\n }\n\n get seedUid(): string | undefined {\n return this.serviceContext.seedUid\n }\n\n get schemaUid(): string | undefined {\n return this.serviceContext.schemaUid\n }\n\n get latestVersionUid(): VersionsType {\n return this.serviceContext.latestVersionUid as VersionsType\n }\n\n get latestVersionLocalId(): string {\n return this.serviceContext.latestVersionLocalId as string\n }\n\n get modelName(): string {\n return this.serviceContext.modelName as string\n }\n\n /**\n * Helper method to get model schema keys for filtering properties\n * Since properties are loaded from metadata (which already corresponds to the model),\n * we can infer schema keys from the property instances themselves\n * This makes Item independent from Model\n */\n protected _getModelSchemaKeys(): string[] {\n const serviceContext = this.serviceContext\n const propertyInstances = serviceContext.propertyInstances as Map<string, IItemProperty> | undefined\n \n if (!propertyInstances || propertyInstances.size === 0) {\n return []\n }\n \n // Extract property names from property instances\n // These are already filtered to model properties since they come from metadata\n const schemaKeys: string[] = []\n for (const [key, propertyInstance] of propertyInstances) {\n // Skip internal properties\n if (INTERNAL_PROPERTY_NAMES.includes(key)) {\n continue\n }\n \n // Get the transformed key (same logic as in properties getter)\n let transformedKey = key\n if (propertyInstance.alias) {\n transformedKey = propertyInstance.alias\n } else if (key.endsWith('Ids')) {\n transformedKey = pluralize(key.slice(0, -3))\n } else if (key.endsWith('Id')) {\n transformedKey = key.slice(0, -2)\n }\n \n if (!schemaKeys.includes(transformedKey)) {\n schemaKeys.push(transformedKey)\n }\n }\n \n return schemaKeys\n }\n\n /**\n * Helper method to determine if a property key is a model-specific property\n * (as opposed to an internal/common property)\n * \n * Since properties are transformed in the subscription to match schema keys\n * (e.g., \"authorId\" -> \"author\", \"tagIds\" -> \"tags\"), the transformed key\n * should match a schema key directly. We also check the property instance's\n * original propertyName to handle edge cases.\n */\n protected _isModelProperty(key: string, modelSchemaKeys: string[]): boolean {\n // Direct match with schema (transformed keys should match schema keys)\n if (modelSchemaKeys.includes(key)) {\n return true\n }\n\n // Check property instances to see if this key corresponds to a model property\n // This handles cases where the transformation might not perfectly match\n const serviceContext = this.serviceContext\n const propertyInstances = serviceContext.propertyInstances as Map<string, IItemProperty> | undefined\n \n if (propertyInstances) {\n for (const [originalKey, propertyInstance] of propertyInstances) {\n // Skip internal properties\n if (INTERNAL_PROPERTY_NAMES.includes(originalKey as string)) {\n continue\n }\n\n // Reconstruct the transformation to see if it matches our key\n let transformedKey = originalKey as string\n \n if (propertyInstance.alias) {\n transformedKey = propertyInstance.alias\n } else if (originalKey.endsWith('Ids')) {\n transformedKey = pluralize(originalKey.slice(0, -3))\n } else if (originalKey.endsWith('Id')) {\n transformedKey = originalKey.slice(0, -2)\n }\n \n // If the transformed key matches, check if it's a model property\n if (transformedKey === key) {\n // Check if the base property name (without Id/Ids) is in the schema\n const baseName = originalKey.endsWith('Id') \n ? originalKey.slice(0, -2)\n : originalKey.endsWith('Ids')\n ? pluralize(originalKey.slice(0, -3))\n : originalKey\n \n // Also check the alias if it exists\n const checkName = propertyInstance.alias || baseName\n return modelSchemaKeys.includes(checkName)\n }\n }\n }\n\n return false\n }\n\n /**\n * Returns only properties that are defined in the Model's schema\n * (excludes internal/common properties)\n */\n get properties(): IItemProperty[] {\n const serviceContext = this.serviceContext\n const propertyInstances = serviceContext.propertyInstances as Map<string, IItemProperty> | undefined\n \n if (!propertyInstances || propertyInstances.size === 0) {\n return []\n }\n \n // Get model schema keys for filtering\n const modelSchemaKeys = this._getModelSchemaKeys()\n \n // Convert Map to array, filtering by model schema\n const properties: IItemProperty[] = []\n for (const [key, propertyInstance] of propertyInstances) {\n // Skip internal properties\n if (INTERNAL_PROPERTY_NAMES.includes(key)) {\n continue\n }\n \n // Include if it's a model property\n if (this._isModelProperty(key, modelSchemaKeys)) {\n properties.push(propertyInstance)\n }\n }\n \n // Always return new array reference for React reactivity\n return [...properties]\n }\n\n /**\n * Returns only internal/common properties that are shared across all Items\n * (e.g., seedLocalId, seedUid, createdAt, etc.)\n */\n get internalProperties(): Record<string, IItemProperty> {\n const allProps = this._propertiesSubject.value\n return Object.fromEntries(\n Object.entries(allProps).filter(([key]) =>\n INTERNAL_PROPERTY_NAMES.includes(key)\n )\n )\n }\n\n /**\n * Returns all properties (both model-specific and internal)\n * Useful for backward compatibility or debugging\n */\n get allProperties(): Record<string, IItemProperty> {\n return this._propertiesSubject.value\n }\n\n get attestationCreatedAt(): number {\n return this.serviceContext.attestationCreatedAt as number\n }\n\n get versionsCount(): number {\n return this.serviceContext.versionsCount as number\n }\n\n get lastVersionPublishedAt(): number {\n return this.serviceContext.lastVersionPublishedAt as number\n }\n\n get createdAt(): number | undefined {\n // Try to get from serviceContext first\n if (this.serviceContext.createdAt !== undefined) {\n return this.serviceContext.createdAt as number\n }\n // Try to get from allProperties if it exists as a property\n const createdAtProp = this.allProperties.createdAt\n if (createdAtProp) {\n return createdAtProp.value as number | undefined\n }\n return undefined\n }\n\n /**\n * Set up liveQuery subscription to watch for item and version changes in the database\n * This enables cross-instance synchronization (e.g., changes in other tabs/windows)\n */\n private _setupLiveQuerySubscription(): void {\n const isBrowser = typeof window !== 'undefined'\n const logger = debug('seedSdk:item:liveQuery')\n \n // Use a closure variable to track setup state per instance\n const setupState = { subscriptionSetUp: false }\n\n const setupLiveQuery = async (seedLocalId: string, seedUid?: string) => {\n if (setupState.subscriptionSetUp) {\n return\n }\n\n setupState.subscriptionSetUp = true\n logger(`[Item._setupLiveQuerySubscription] Setting up liveQuery for seedLocalId: ${seedLocalId}`)\n \n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { seeds, versions, metadata } = await import('@/seedSchema')\n const { eq, and } = await import('drizzle-orm')\n const { getVersionData } = await import('@/db/read/subqueries/versionData')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n logger('[Item._setupLiveQuerySubscription] Database not available')\n return\n }\n\n // Query initial seed and version data\n const versionData = getVersionData()\n const seedRecords = await db\n .with(versionData)\n .select({\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n schemaUid: seeds.schemaUid,\n latestVersionUid: versionData.latestVersionUid,\n latestVersionLocalId: versionData.latestVersionLocalId,\n })\n .from(seeds)\n .leftJoin(versionData, eq(seeds.localId, versionData.seedLocalId))\n .where(\n seedUid ? eq(seeds.uid, seedUid) : eq(seeds.localId, seedLocalId)\n )\n .limit(1)\n\n if (seedRecords.length === 0) {\n logger(`[Item._setupLiveQuerySubscription] Seed not found for seedLocalId: ${seedLocalId}`)\n return\n }\n\n const seedRecord = seedRecords[0]\n const currentVersionLocalId = seedRecord.latestVersionLocalId\n\n if (!currentVersionLocalId) {\n logger(`[Item._setupLiveQuerySubscription] No version found for seedLocalId: ${seedLocalId}`)\n return\n }\n\n // Query initial metadata records for the latest version\n const initialMetadata = await db\n .select()\n .from(metadata)\n .where(\n and(\n eq(metadata.seedLocalId, seedLocalId),\n eq(metadata.versionLocalId, currentVersionLocalId)\n )\n )\n\n const initialMetadataIds = initialMetadata\n .map((row: any) => row.localId || row.uid)\n .filter((id: string | null | undefined): id is string => Boolean(id))\n\n logger(`[Item._setupLiveQuerySubscription] Initial query returned ${initialMetadataIds.length} metadata records`)\n\n // CRITICAL: Create ItemProperty instances BEFORE updating context\n if (initialMetadataIds.length > 0) {\n try {\n const { ItemProperty } = await import('@/ItemProperty/ItemProperty')\n const createPromises = initialMetadata.map(async (metaRow: any) => {\n try {\n const property = await ItemProperty.find({\n propertyName: metaRow.propertyName,\n seedLocalId,\n seedUid,\n })\n if (property) {\n logger(`[Item._setupLiveQuerySubscription] Created/cached ItemProperty instance for propertyName \"${metaRow.propertyName}\"`)\n }\n } catch (error) {\n logger(`[Item._setupLiveQuerySubscription] Error creating ItemProperty instance: ${error}`)\n }\n })\n await Promise.all(createPromises)\n } catch (error) {\n logger(`[Item._setupLiveQuerySubscription] Error importing ItemProperty or creating instances: ${error}`)\n }\n }\n\n // Update context with latest version info\n this._service.send({\n type: 'updateContext',\n latestVersionLocalId: currentVersionLocalId,\n latestVersionUid: seedRecord.latestVersionUid,\n })\n\n // Only set up liveQuery subscription in browser environment\n if (isBrowser) {\n // Set up liveQuery to watch seeds table\n // Use proper SQL parameter binding - ensure values are strings, not objects\n const resolvedSeedUid = seedUid || null\n const resolvedSeedLocalId = seedLocalId || null\n \n const seeds$ = BaseDb.liveQuery<{ localId: string; uid: string | null; schemaUid: string | null }>(\n (sql: any) => {\n if (resolvedSeedUid) {\n return sql`\n SELECT local_id as localId, uid, schema_uid as schemaUid\n FROM seeds\n WHERE uid = ${resolvedSeedUid}\n `\n } else if (resolvedSeedLocalId) {\n return sql`\n SELECT local_id as localId, uid, schema_uid as schemaUid\n FROM seeds\n WHERE local_id = ${resolvedSeedLocalId}\n `\n } else {\n // Fallback - should not happen, but handle gracefully\n return sql`\n SELECT local_id as localId, uid, schema_uid as schemaUid\n FROM seeds\n WHERE 1 = 0\n `\n }\n }\n )\n\n // Set up liveQuery to watch versions table for this seed\n const versions$ = BaseDb.liveQuery<{ localId: string; uid: string | null; seedLocalId: string }>(\n (sql: any) => sql`\n SELECT local_id as localId, uid, seed_local_id as seedLocalId\n FROM versions\n WHERE seed_local_id = ${seedLocalId}\n ORDER BY COALESCE(attestation_created_at, created_at) DESC\n `\n )\n\n const instanceState = itemInstanceState.get(this)\n if (!instanceState) {\n logger('[Item._setupLiveQuerySubscription] Instance state not found')\n return\n }\n\n // Subscribe to seeds updates\n const seedsSubscription = seeds$.subscribe({\n next: async (seedRows) => {\n if (seedRows.length === 0) return\n \n const seedRow = seedRows[0]\n logger(`[Item._setupLiveQuerySubscription] Seed updated in database`)\n \n // Update context with seed data\n this._service.send({\n type: 'updateContext',\n seedLocalId: seedRow.localId,\n seedUid: seedRow.uid || undefined,\n schemaUid: seedRow.schemaUid || undefined,\n })\n },\n error: (error) => {\n logger(`[Item._setupLiveQuerySubscription] Seeds liveQuery error: ${error}`)\n },\n })\n\n // Subscribe to versions updates\n const versionsSubscription = versions$.subscribe({\n next: async (versionRows) => {\n if (versionRows.length === 0) return\n \n // Get the most recent version\n const latestVersion = versionRows[0]\n const latestVersionLocalId = latestVersion.localId\n \n logger(`[Item._setupLiveQuerySubscription] Versions updated, latest version: ${latestVersionLocalId}`)\n \n // Query metadata for the latest version\n const metadataRows = await db\n .select()\n .from(metadata)\n .where(\n and(\n eq(metadata.seedLocalId, seedLocalId),\n eq(metadata.versionLocalId, latestVersionLocalId)\n )\n )\n\n // CRITICAL: Create ItemProperty instances BEFORE updating context\n if (metadataRows.length > 0) {\n try {\n const { ItemProperty } = await import('@/ItemProperty/ItemProperty')\n const createPromises = metadataRows.map(async (metaRow: any) => {\n try {\n const property = await ItemProperty.find({\n propertyName: metaRow.propertyName,\n seedLocalId,\n seedUid,\n })\n if (property) {\n // Add property instance to context\n this._service.send({\n type: 'addPropertyInstance',\n propertyName: metaRow.propertyName,\n propertyInstance: property,\n })\n logger(`[Item._setupLiveQuerySubscription] Created/cached ItemProperty instance for propertyName \"${metaRow.propertyName}\" from liveQuery`)\n }\n } catch (error) {\n logger(`[Item._setupLiveQuerySubscription] Error creating ItemProperty instance: ${error}`)\n }\n })\n await Promise.all(createPromises)\n } catch (error) {\n logger(`[Item._setupLiveQuerySubscription] Error importing ItemProperty or creating instances from liveQuery: ${error}`)\n }\n }\n \n // Update context with latest version info\n this._service.send({\n type: 'updateContext',\n latestVersionLocalId,\n latestVersionUid: latestVersion.uid || undefined,\n })\n },\n error: (error) => {\n logger(`[Item._setupLiveQuerySubscription] Versions liveQuery error: ${error}`)\n },\n })\n\n // Store combined subscription\n instanceState.liveQuerySubscription = {\n unsubscribe: () => {\n seedsSubscription.unsubscribe()\n versionsSubscription.unsubscribe()\n }\n }\n \n logger(`[Item._setupLiveQuerySubscription] LiveQuery subscription set up for seedLocalId: ${seedLocalId}`)\n } else {\n logger(`[Item._setupLiveQuerySubscription] Skipping liveQuery subscription in Node.js environment`)\n }\n } catch (error) {\n logger(`[Item._setupLiveQuerySubscription] Error setting up subscription: ${error}`)\n setupState.subscriptionSetUp = false // Reset on error so we can retry\n }\n }\n\n // Set up liveQuery subscription as soon as we have seedLocalId\n const setupSubscription = this._service.subscribe(async (snapshot) => {\n const seedLocalId = snapshot.context.seedLocalId\n const seedUid = snapshot.context.seedUid\n \n if (!seedLocalId && !seedUid) {\n return // Need seed ID to proceed\n }\n\n // Once we have seed ID, set up the liveQuery subscription (only once)\n if ((seedLocalId || seedUid) && !setupState.subscriptionSetUp) {\n await setupLiveQuery(seedLocalId || '', seedUid)\n if (setupState.subscriptionSetUp) {\n setupSubscription.unsubscribe()\n }\n }\n })\n \n // Also check current state immediately in case seedLocalId is already available\n const currentSnapshot = this._service.getSnapshot()\n if ((currentSnapshot.context.seedLocalId || currentSnapshot.context.seedUid) && !setupState.subscriptionSetUp) {\n setupLiveQuery(currentSnapshot.context.seedLocalId || '', currentSnapshot.context.seedUid).catch((error) => {\n logger(`[Item._setupLiveQuerySubscription] Error in immediate setup: ${error}`)\n })\n }\n }\n\n unload(): void {\n // Clean up liveQuery subscription\n const instanceState = itemInstanceState.get(this)\n if (instanceState?.liveQuerySubscription) {\n instanceState.liveQuerySubscription.unsubscribe()\n instanceState.liveQuerySubscription = null\n }\n \n this._subscription?.unsubscribe()\n this._service.stop()\n }\n}"],"names":["modelsTable","propertiesTable"],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { graphql } from '../graphql/gql/gql.js';
|
|
2
|
+
|
|
3
|
+
const GET_SCHEMAS = graphql(/* GraphQL */ `
|
|
4
|
+
query GetSchemas($where: SchemaWhereInput!) {
|
|
5
|
+
schemas: schemata(where: $where) {
|
|
6
|
+
id
|
|
7
|
+
schema
|
|
8
|
+
schemaNames {
|
|
9
|
+
name
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
`);
|
|
14
|
+
const GET_SCHEMA_BY_NAME = graphql(/* GraphQL */ `
|
|
15
|
+
query GetSchemaByName($where: SchemaWhereInput!) {
|
|
16
|
+
schemas: schemata(where: $where) {
|
|
17
|
+
id
|
|
18
|
+
schema
|
|
19
|
+
schemaNames {
|
|
20
|
+
name
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
`);
|
|
25
|
+
const GET_SEEDS = graphql(/* GraphQL */ `
|
|
26
|
+
query GetSeeds($where: AttestationWhereInput!, $take: Int) {
|
|
27
|
+
itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take) {
|
|
28
|
+
id
|
|
29
|
+
decodedDataJson
|
|
30
|
+
attester
|
|
31
|
+
schema {
|
|
32
|
+
schemaNames {
|
|
33
|
+
name
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
refUID
|
|
37
|
+
revoked
|
|
38
|
+
schemaId
|
|
39
|
+
timeCreated
|
|
40
|
+
isOffchain
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`);
|
|
44
|
+
const GET_VERSIONS = graphql(/* GraphQL */ `
|
|
45
|
+
query GetVersions($where: AttestationWhereInput!) {
|
|
46
|
+
itemVersions: attestations(
|
|
47
|
+
where: $where
|
|
48
|
+
orderBy: [{ timeCreated: desc }]
|
|
49
|
+
) {
|
|
50
|
+
...attestationFields
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
`);
|
|
54
|
+
const GET_PROPERTIES = graphql(/* GraphQL */ `
|
|
55
|
+
query GetProperties($where: AttestationWhereInput!) {
|
|
56
|
+
itemProperties: attestations(
|
|
57
|
+
where: $where
|
|
58
|
+
orderBy: [{ timeCreated: desc }]
|
|
59
|
+
) {
|
|
60
|
+
...attestationFields
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
`);
|
|
64
|
+
|
|
65
|
+
export { GET_PROPERTIES, GET_SCHEMAS, GET_SCHEMA_BY_NAME, GET_SEEDS, GET_VERSIONS };
|
|
66
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sources":["../../../src/Item/queries.ts"],"sourcesContent":["import { graphql } from '@/graphql/gql'\nimport { TypedDocumentNode } from '@graphql-typed-document-node/core'\nimport { Attestation, Schema as EASSchema } from '@/graphql/gql/graphql'\n\nexport const GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($where: SchemaWhereInput!) {\n schemas: schemata(where: $where) {\n id\n schema\n schemaNames {\n name\n }\n }\n }\n`)\n\nexport const GET_SCHEMA_BY_NAME = graphql(/* GraphQL */ `\n query GetSchemaByName($where: SchemaWhereInput!) {\n schemas: schemata(where: $where) {\n id\n schema\n schemaNames {\n name\n }\n }\n }\n`) as TypedDocumentNode<{ schemas: EASSchema[] }>\n\nexport const GET_SEEDS = graphql(/* GraphQL */ `\n query GetSeeds($where: AttestationWhereInput!, $take: Int) {\n itemSeeds: attestations(where: $where, orderBy: [{ timeCreated: desc }], take: $take) {\n id\n decodedDataJson\n attester\n schema {\n schemaNames {\n name\n }\n }\n refUID\n revoked\n schemaId\n timeCreated\n isOffchain\n }\n }\n`) as TypedDocumentNode<{ itemSeeds: Attestation[] }>\n\nexport const GET_SEED_IDS = graphql(/* GraphQL */ `\n query GetSeedIds($where: AttestationWhereInput!) {\n itemSeedIds: attestations(where: $where, orderBy: [{ timeCreated: desc }]) {\n id\n }\n }\n`) as TypedDocumentNode<{ itemSeedIds: Attestation[] }>\n\nexport const GET_STORAGE_TRANSACTION_ID = graphql(/* GraphQL */ `\n query GetStorageTransactionId($where: AttestationWhereInput!) {\n storageTransactionId: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n id\n decodedDataJson\n }\n }\n`) as TypedDocumentNode<{ storageTransactionId: Attestation[] }>\n\nexport const GET_VERSIONS = graphql(/* GraphQL */ `\n query GetVersions($where: AttestationWhereInput!) {\n itemVersions: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ itemVersions: Attestation[] }>\n\nexport const GET_PROPERTIES = graphql(/* GraphQL */ `\n query GetProperties($where: AttestationWhereInput!) {\n itemProperties: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ itemProperties: Attestation[] }>\n\nexport const GET_ALL_PROPERTIES_FOR_ALL_VERSIONS = graphql(/* GraphQL */ `\n query GetAllPropertiesForAllVersions($where: AttestationWhereInput!) {\n allProperties: attestations(\n where: $where\n orderBy: [{ timeCreated: desc }]\n ) {\n ...attestationFields\n }\n }\n`) as TypedDocumentNode<{ allProperties: Attestation[] }>\n"],"names":[],"mappings":";;AAIO,MAAM,WAAW,GAAG,OAAO,eAAe;;;;;;;;;;AAUhD,CAAA;AAEM,MAAM,kBAAkB,GAAG,OAAO,eAAe;;;;;;;;;;AAUvD,CAAA;AAEM,MAAM,SAAS,GAAG,OAAO,eAAe;;;;;;;;;;;;;;;;;;AAkB9C,CAAA;AAsBM,MAAM,YAAY,GAAG,OAAO,eAAe;;;;;;;;;AASjD,CAAA;AAEM,MAAM,cAAc,GAAG,OAAO,eAAe;;;;;;;;;AASnD,CAAA;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import { GET_PROPERTIES } from '../../queries.js';
|
|
3
|
+
import '../../../helpers/index.js';
|
|
4
|
+
import { modelPropertiesToObject } from '../../../helpers/model.js';
|
|
5
|
+
import { BaseQueryClient } from '../../../helpers/QueryClient/BaseQueryClient.js';
|
|
6
|
+
import { BaseEasClient } from '../../../helpers/EasClient/BaseEasClient.js';
|
|
7
|
+
|
|
8
|
+
const fetchDataFromEas = fromCallback(({ sendBack, input: { context } }) => {
|
|
9
|
+
const { ModelClass, modelTableName, versionUid, modelName } = context;
|
|
10
|
+
const _initializeAndFetch = async () => {
|
|
11
|
+
const propertiesMetadata = new Map();
|
|
12
|
+
// Get model schema - prefer ModelClass if available, otherwise look up by modelName
|
|
13
|
+
let modelSchema;
|
|
14
|
+
if (ModelClass && ModelClass.properties) {
|
|
15
|
+
modelSchema = modelPropertiesToObject(ModelClass.properties);
|
|
16
|
+
}
|
|
17
|
+
else if (modelName) {
|
|
18
|
+
// Dynamic import to break circular dependency
|
|
19
|
+
const { Model } = await import('../../../Model/Model.js');
|
|
20
|
+
const model = Model.getByName(modelName);
|
|
21
|
+
modelSchema = model?.properties ? modelPropertiesToObject(model.properties) : undefined;
|
|
22
|
+
}
|
|
23
|
+
// EAS is the final source of truth, so we need to see if our Item is
|
|
24
|
+
// already represented there. Then we need to intelligently sync/merge
|
|
25
|
+
// with whatever new data has been created on the device before the sync.
|
|
26
|
+
if (modelSchema) {
|
|
27
|
+
for (const [propertyName, propertyMetadata] of Object.entries(modelSchema)) {
|
|
28
|
+
if (propertyMetadata) {
|
|
29
|
+
propertiesMetadata.set(propertyName, propertyMetadata);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
sendBack({ type: 'updatePropertiesMetadata', propertiesMetadata });
|
|
34
|
+
if (!versionUid) {
|
|
35
|
+
// In this case this is a local only item, so we don't need to fetch anything
|
|
36
|
+
sendBack({ type: 'fetchDataFromEasSuccess' });
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const _fetchDataFromEas = async () => {
|
|
40
|
+
const queryClient = BaseQueryClient.getQueryClient();
|
|
41
|
+
const easClient = BaseEasClient.getEasClient();
|
|
42
|
+
// Fetch Properties by versionUid
|
|
43
|
+
const { itemProperties } = await queryClient.fetchQuery({
|
|
44
|
+
queryKey: ['getProperties', versionUid],
|
|
45
|
+
queryFn: async () => easClient.request(GET_PROPERTIES, {
|
|
46
|
+
where: {
|
|
47
|
+
refUID: {
|
|
48
|
+
in: [versionUid],
|
|
49
|
+
},
|
|
50
|
+
decodedDataJson: {
|
|
51
|
+
not: {
|
|
52
|
+
// The first of many filters to keep bad data out
|
|
53
|
+
contains: '"value":"0x0000000000000000000000000000000000000000000000000000000000000020"',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
// Filter properties by schemaId
|
|
60
|
+
const selectedPropertiesMap = {};
|
|
61
|
+
itemProperties.forEach((property) => {
|
|
62
|
+
const existingProperties = selectedPropertiesMap[property.schemaId] || [];
|
|
63
|
+
existingProperties.push(property);
|
|
64
|
+
selectedPropertiesMap[property.schemaId] = existingProperties;
|
|
65
|
+
});
|
|
66
|
+
// For each schemaId, sort property Attestations by timeCreated DESC
|
|
67
|
+
Object.keys(selectedPropertiesMap).forEach((schemaId) => {
|
|
68
|
+
const sorted = selectedPropertiesMap[schemaId].sort((a, b) => {
|
|
69
|
+
return a.timeCreated - b.timeCreated;
|
|
70
|
+
});
|
|
71
|
+
selectedPropertiesMap[schemaId] = sorted;
|
|
72
|
+
});
|
|
73
|
+
Object.keys(selectedPropertiesMap).forEach((schemaId) => {
|
|
74
|
+
// TODO: Finish this logic
|
|
75
|
+
// console.log('[singleItemActors] [fetchDataFromEas] schemaId', schemaId)
|
|
76
|
+
// sendBack({ type: 'addPropertyAttestation', schemaId })
|
|
77
|
+
});
|
|
78
|
+
// Attach processed properties to the itemService/itemMachine context
|
|
79
|
+
sendBack({
|
|
80
|
+
type: 'updatedPropertiesBySchemaUid',
|
|
81
|
+
propertiesBySchemaUid: selectedPropertiesMap,
|
|
82
|
+
});
|
|
83
|
+
sendBack({ type: 'fetchDataFromEasSuccess' });
|
|
84
|
+
};
|
|
85
|
+
await _fetchDataFromEas();
|
|
86
|
+
};
|
|
87
|
+
_initializeAndFetch().catch((error) => {
|
|
88
|
+
console.error('[fetchDataFromEas] Error:', error);
|
|
89
|
+
sendBack({ type: 'fetchDataFromEasError', error });
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
export { fetchDataFromEas };
|
|
94
|
+
//# sourceMappingURL=fetchDataFromEas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchDataFromEas.js","sources":["../../../../../src/Item/service/actors/fetchDataFromEas.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_PROPERTIES } from '@/Item/queries'\nimport { itemMachineSingle } from '@/Item/service/itemMachineSingle'\nimport { PropertyType } from '@/seedSchema'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient, BaseQueryClient } from '@/helpers'\n// Dynamic import to break circular dependency: Model -> BaseItem -> ... -> fetchDataFromEas -> Model\n// import { Model } from '@/Model/Model'\nimport { modelPropertiesToObject } from '@/helpers/model'\n\n\nexport const fetchDataFromEas = fromCallback<\n EventObject,\n typeof itemMachineSingle\n>(({ sendBack, input: { context } }) => {\n const { ModelClass, modelTableName, versionUid, modelName } = context\n\n const _initializeAndFetch = async (): Promise<void> => {\n const propertiesMetadata = new Map<string, PropertyType>()\n\n // Get model schema - prefer ModelClass if available, otherwise look up by modelName\n let modelSchema: Record<string, PropertyType> | undefined\n if (ModelClass && ModelClass.properties) {\n modelSchema = modelPropertiesToObject(ModelClass.properties)\n } else if (modelName) {\n // Dynamic import to break circular dependency\n const { Model } = await import('@/Model/Model')\n const model = Model.getByName(modelName)\n modelSchema = model?.properties ? modelPropertiesToObject(model.properties) : undefined\n }\n\n // EAS is the final source of truth, so we need to see if our Item is\n // already represented there. Then we need to intelligently sync/merge\n // with whatever new data has been created on the device before the sync.\n if (modelSchema) {\n for (const [propertyName, propertyMetadata] of Object.entries(modelSchema)) {\n if (propertyMetadata) {\n propertiesMetadata.set(propertyName, propertyMetadata)\n }\n }\n }\n\n sendBack({ type: 'updatePropertiesMetadata', propertiesMetadata })\n\n if (!versionUid) {\n // In this case this is a local only item, so we don't need to fetch anything\n sendBack({ type: 'fetchDataFromEasSuccess' })\n return\n }\n\n const _fetchDataFromEas = async (): Promise<void> => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n // Fetch Properties by versionUid\n const { itemProperties } = await queryClient.fetchQuery({\n queryKey: ['getProperties', versionUid],\n queryFn: async () =>\n easClient.request(GET_PROPERTIES, {\n where: {\n refUID: {\n in: [versionUid],\n },\n decodedDataJson: {\n not: {\n // The first of many filters to keep bad data out\n contains:\n '\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000020\"',\n },\n },\n },\n }),\n })\n\n // Filter properties by schemaId\n const selectedPropertiesMap: {\n [schemaId: string]: Attestation[]\n } = {}\n itemProperties.forEach((property) => {\n const existingProperties = selectedPropertiesMap[property.schemaId] || []\n existingProperties.push(property)\n selectedPropertiesMap[property.schemaId] = existingProperties\n })\n\n // For each schemaId, sort property Attestations by timeCreated DESC\n Object.keys(selectedPropertiesMap).forEach((schemaId) => {\n const sorted = selectedPropertiesMap[schemaId].sort((a, b) => {\n return a.timeCreated - b.timeCreated\n })\n selectedPropertiesMap[schemaId] = sorted\n })\n\n Object.keys(selectedPropertiesMap).forEach((schemaId) => {\n // TODO: Finish this logic\n // console.log('[singleItemActors] [fetchDataFromEas] schemaId', schemaId)\n // sendBack({ type: 'addPropertyAttestation', schemaId })\n })\n\n // Attach processed properties to the itemService/itemMachine context\n sendBack({\n type: 'updatedPropertiesBySchemaUid',\n propertiesBySchemaUid: selectedPropertiesMap,\n })\n \n sendBack({ type: 'fetchDataFromEasSuccess' })\n }\n\n await _fetchDataFromEas()\n }\n\n _initializeAndFetch().catch((error) => {\n console.error('[fetchDataFromEas] Error:', error)\n sendBack({ type: 'fetchDataFromEasError', error })\n })\n})\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import { waitForEvent } from '../../../events/index.js';
|
|
3
|
+
|
|
4
|
+
const hydrateExistingItem = fromCallback(({ sendBack, input: { event, context } }) => {
|
|
5
|
+
const { existingItem } = event;
|
|
6
|
+
const { seedUid, seedLocalId, modelName: contextModelName, ModelClass } = context;
|
|
7
|
+
// Prefer modelName from context, fall back to ModelClass if available
|
|
8
|
+
let modelName = contextModelName;
|
|
9
|
+
if (!modelName && ModelClass) {
|
|
10
|
+
// If ModelClass is a Model instance, use its modelName property
|
|
11
|
+
modelName = ModelClass?.modelName || ModelClass?.originalConstructor?.name;
|
|
12
|
+
}
|
|
13
|
+
if (!modelName) {
|
|
14
|
+
throw new Error('modelName is required in context');
|
|
15
|
+
}
|
|
16
|
+
const _checkForItemOnAllItemsService = async () => {
|
|
17
|
+
if (!existingItem.seedLocalId && !existingItem.seedUid) {
|
|
18
|
+
console.warn('[singleItemActors] [hydrateExistingItem] No seedLocalId or seedUid found on existingItem');
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (!seedUid && !seedLocalId) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
await waitForEvent({
|
|
25
|
+
req: {
|
|
26
|
+
eventLabel: 'item.request',
|
|
27
|
+
data: {
|
|
28
|
+
modelName,
|
|
29
|
+
seedUid,
|
|
30
|
+
seedLocalId,
|
|
31
|
+
source: 'hydrateExistingItem',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
res: {
|
|
35
|
+
eventLabel: `item.${modelName}.${seedLocalId}.response`,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
return true;
|
|
39
|
+
// return new Promise((resolve) => {
|
|
40
|
+
// const timeStart = Date.now()
|
|
41
|
+
//
|
|
42
|
+
// const interval = setInterval(() => {
|
|
43
|
+
// const timeElapsed = Date.now() - timeStart
|
|
44
|
+
// if (timeElapsed > 2000) {
|
|
45
|
+
// eventEmitter.emit('item.request', {
|
|
46
|
+
// modelName,
|
|
47
|
+
// versionUid,
|
|
48
|
+
// versionLocalId,
|
|
49
|
+
// source: 'hydrateExistingItem',
|
|
50
|
+
// })
|
|
51
|
+
// }
|
|
52
|
+
// if (timeElapsed > 30000) {
|
|
53
|
+
// clearInterval(interval)
|
|
54
|
+
// console.error(
|
|
55
|
+
// `[singleItemActors] [hydrateExistingItem] ${timeElapsed / 1000}s elapsed for ${modelName} ${versionLocalId}`,
|
|
56
|
+
// context,
|
|
57
|
+
// )
|
|
58
|
+
// eventEmitter.removeListener(
|
|
59
|
+
// `item.${modelName}.response`,
|
|
60
|
+
// handleItemRequestResponse,
|
|
61
|
+
// )
|
|
62
|
+
// resolve(false)
|
|
63
|
+
// }
|
|
64
|
+
// }, 500)
|
|
65
|
+
// const handleItemRequestResponse = (event) => {
|
|
66
|
+
// if (
|
|
67
|
+
// event.item &&
|
|
68
|
+
// ((event.item.versionLocalId &&
|
|
69
|
+
// event.item.versionLocalId === versionLocalId) ||
|
|
70
|
+
// (event.item.versionUid && event.item.versionUid === versionUid))
|
|
71
|
+
// ) {
|
|
72
|
+
// clearInterval(interval)
|
|
73
|
+
// eventEmitter.removeListener(
|
|
74
|
+
// `item.${modelName}.response`,
|
|
75
|
+
// handleItemRequestResponse,
|
|
76
|
+
// )
|
|
77
|
+
// resolve(true)
|
|
78
|
+
// }
|
|
79
|
+
// }
|
|
80
|
+
//
|
|
81
|
+
// eventEmitter.addListener(
|
|
82
|
+
// `item.${modelName}.response`,
|
|
83
|
+
// handleItemRequestResponse,
|
|
84
|
+
// )
|
|
85
|
+
//
|
|
86
|
+
// eventEmitter.emit('item.request', {
|
|
87
|
+
// modelName,
|
|
88
|
+
// versionUid,
|
|
89
|
+
// versionLocalId,
|
|
90
|
+
// source: 'hydrateExistingItem',
|
|
91
|
+
// })
|
|
92
|
+
// })
|
|
93
|
+
// if (existingItem.versionLocalId && !existingItem.versionLocalId) {
|
|
94
|
+
// console.log(
|
|
95
|
+
// `[singleItemActors] [hydrateExistingItem] versionLocalId: ${existingItem.versionLocalId} versionUid: ${existingItem.versionUid}`,
|
|
96
|
+
// )
|
|
97
|
+
//
|
|
98
|
+
// return true
|
|
99
|
+
// }
|
|
100
|
+
//
|
|
101
|
+
// console.log(
|
|
102
|
+
// `[singleItemActors] [hydrateExistingItem] versionLocalId: ${existingItem.versionLocalId} versionUid: ${existingItem.versionUid}`,
|
|
103
|
+
// )
|
|
104
|
+
// return true
|
|
105
|
+
};
|
|
106
|
+
_checkForItemOnAllItemsService().then((shouldContinue) => {
|
|
107
|
+
if (!shouldContinue) {
|
|
108
|
+
sendBack({ type: 'hydrateExistingItemFailure' });
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// for (const [key, value] of Object.entries(existingItem)) {
|
|
112
|
+
// sendBack({
|
|
113
|
+
// type: 'updateValue',
|
|
114
|
+
// propertyName: key,
|
|
115
|
+
// propertyValue: value,
|
|
116
|
+
// source: 'db',
|
|
117
|
+
// })
|
|
118
|
+
// }
|
|
119
|
+
sendBack({ type: 'hydrateExistingItemSuccess' });
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
export { hydrateExistingItem };
|
|
124
|
+
//# sourceMappingURL=hydrateExistingItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrateExistingItem.js","sources":["../../../../../src/Item/service/actors/hydrateExistingItem.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { waitForEvent } from '@/events'\nimport {\n FromCallbackInput,\n HydrateExistingItemEvent,\n ItemMachineContext,\n} from '@/types'\n\nexport const hydrateExistingItem = fromCallback<\n EventObject,\n FromCallbackInput<ItemMachineContext<any>, HydrateExistingItemEvent>\n>(({ sendBack, input: { event, context } }) => {\n const { existingItem } = event!\n const { seedUid, seedLocalId, modelName: contextModelName, ModelClass } = context\n\n // Prefer modelName from context, fall back to ModelClass if available\n let modelName = contextModelName\n if (!modelName && ModelClass) {\n // If ModelClass is a Model instance, use its modelName property\n modelName = (ModelClass as any)?.modelName || (ModelClass as any)?.originalConstructor?.name\n }\n \n if (!modelName) {\n throw new Error('modelName is required in context')\n }\n\n const _checkForItemOnAllItemsService = async (): Promise<boolean> => {\n if (!existingItem.seedLocalId && !existingItem.seedUid) {\n console.warn(\n '[singleItemActors] [hydrateExistingItem] No seedLocalId or seedUid found on existingItem',\n )\n return false\n }\n\n if (!seedUid && !seedLocalId) {\n return false\n }\n\n const results = await waitForEvent({\n req: {\n eventLabel: 'item.request',\n data: {\n modelName,\n seedUid,\n seedLocalId,\n source: 'hydrateExistingItem',\n },\n },\n res: {\n eventLabel: `item.${modelName}.${seedLocalId}.response`,\n },\n })\n\n return true\n\n // return new Promise((resolve) => {\n // const timeStart = Date.now()\n //\n // const interval = setInterval(() => {\n // const timeElapsed = Date.now() - timeStart\n // if (timeElapsed > 2000) {\n // eventEmitter.emit('item.request', {\n // modelName,\n // versionUid,\n // versionLocalId,\n // source: 'hydrateExistingItem',\n // })\n // }\n // if (timeElapsed > 30000) {\n // clearInterval(interval)\n // console.error(\n // `[singleItemActors] [hydrateExistingItem] ${timeElapsed / 1000}s elapsed for ${modelName} ${versionLocalId}`,\n // context,\n // )\n // eventEmitter.removeListener(\n // `item.${modelName}.response`,\n // handleItemRequestResponse,\n // )\n // resolve(false)\n // }\n // }, 500)\n\n // const handleItemRequestResponse = (event) => {\n // if (\n // event.item &&\n // ((event.item.versionLocalId &&\n // event.item.versionLocalId === versionLocalId) ||\n // (event.item.versionUid && event.item.versionUid === versionUid))\n // ) {\n // clearInterval(interval)\n // eventEmitter.removeListener(\n // `item.${modelName}.response`,\n // handleItemRequestResponse,\n // )\n // resolve(true)\n // }\n // }\n //\n // eventEmitter.addListener(\n // `item.${modelName}.response`,\n // handleItemRequestResponse,\n // )\n //\n // eventEmitter.emit('item.request', {\n // modelName,\n // versionUid,\n // versionLocalId,\n // source: 'hydrateExistingItem',\n // })\n // })\n\n // if (existingItem.versionLocalId && !existingItem.versionLocalId) {\n // console.log(\n // `[singleItemActors] [hydrateExistingItem] versionLocalId: ${existingItem.versionLocalId} versionUid: ${existingItem.versionUid}`,\n // )\n //\n // return true\n // }\n //\n // console.log(\n // `[singleItemActors] [hydrateExistingItem] versionLocalId: ${existingItem.versionLocalId} versionUid: ${existingItem.versionUid}`,\n // )\n // return true\n }\n\n _checkForItemOnAllItemsService().then((shouldContinue) => {\n if (!shouldContinue) {\n sendBack({ type: 'hydrateExistingItemFailure' })\n return\n }\n // for (const [key, value] of Object.entries(existingItem)) {\n // sendBack({\n // type: 'updateValue',\n // propertyName: key,\n // propertyValue: value,\n // source: 'db',\n // })\n // }\n\n sendBack({ type: 'hydrateExistingItemSuccess' })\n })\n})\n"],"names":[],"mappings":";;;AAQO,MAAM,mBAAmB,GAAG,YAAY,CAG7C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAI;AAC5C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,KAAM;AAC/B,IAAA,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO;;IAGjF,IAAI,SAAS,GAAG,gBAAgB;AAChC,IAAA,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;;QAE5B,SAAS,GAAI,UAAkB,EAAE,SAAS,IAAK,UAAkB,EAAE,mBAAmB,EAAE,IAAI;IAC9F;IAEA,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC;IACrD;AAEA,IAAA,MAAM,8BAA8B,GAAG,YAA6B;QAClE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACtD,YAAA,OAAO,CAAC,IAAI,CACV,0FAA0F,CAC3F;AACD,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE;AAC5B,YAAA,OAAO,KAAK;QACd;AAEA,QAAgB,MAAM,YAAY,CAAC;AACjC,YAAA,GAAG,EAAE;AACH,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,IAAI,EAAE;oBACJ,SAAS;oBACT,OAAO;oBACP,WAAW;AACX,oBAAA,MAAM,EAAE,qBAAqB;AAC9B,iBAAA;AACF,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,UAAU,EAAE,CAAA,KAAA,EAAQ,SAAS,CAAA,CAAA,EAAI,WAAW,CAAA,SAAA,CAAW;AACxD,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEb,IAAA,CAAC;AAED,IAAA,8BAA8B,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,KAAI;QACvD,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;YAChD;QACF;;;;;;;;;AAUA,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;AAClD,IAAA,CAAC,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrateNewItem.js","sources":["../../../../../src/Item/service/actors/hydrateNewItem.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { createSeed } from '@/db/write/createSeed'\nimport { FromCallbackInput, ItemMachineContext } from '@/types'\nimport { createVersion } from '@/db/write/createVersion'\n\nexport const hydrateNewItem = fromCallback<\n EventObject,\n FromCallbackInput<ItemMachineContext<any>>\n>(({ sendBack, input: { context } }) => {\n const { seedUid, versionUid, modelName } = context\n\n let newSeedLocalId: string\n\n const _hydrateNewItem = async (): Promise<void> => {\n if (!modelName) {\n throw new Error('modelName is required')\n }\n\n newSeedLocalId = await createSeed({\n type: modelName.toLowerCase(),\n seedUid: seedUid ?? 'NULL',\n })\n\n await createVersion({\n seedLocalId: newSeedLocalId,\n seedType: modelName.toLowerCase(),\n uid: versionUid ?? 'NULL',\n })\n }\n\n _hydrateNewItem().then(() => {\n sendBack({ type: 'hydrateNewItemSuccess' })\n })\n})\n"],"names":[],"mappings":";;;;AAKO,MAAM,cAAc,GAAG,YAAY,CAGxC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;IACrC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO;AAElD,IAAA,IAAI,cAAsB;AAE1B,IAAA,MAAM,eAAe,GAAG,YAA0B;QAChD,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;QAC1C;QAEA,cAAc,GAAG,MAAM,UAAU,CAAC;AAChC,YAAA,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE;YAC7B,OAAO,EAAE,OAAO,IAAI,MAAM;AAC3B,SAAA,CAAC;AAEF,QAAA,MAAM,aAAa,CAAC;AAClB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE;YACjC,GAAG,EAAE,UAAU,IAAI,MAAM;AAC1B,SAAA,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,eAAe,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;AAC7C,IAAA,CAAC,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import pluralize from 'pluralize';
|
|
3
|
+
import { getExistingItem } from '../../../db/read/getExistingItem.js';
|
|
4
|
+
|
|
5
|
+
const initialize = fromCallback(({ sendBack, input: { context } }) => {
|
|
6
|
+
const { seedLocalId, seedUid, modelName: contextModelName, ModelClass } = context;
|
|
7
|
+
// Prefer modelName from context, fall back to ModelClass if available
|
|
8
|
+
let modelName = contextModelName;
|
|
9
|
+
if (!modelName && ModelClass) {
|
|
10
|
+
// If ModelClass is a Model instance, use its modelName property
|
|
11
|
+
modelName = ModelClass?.modelName || ModelClass?.originalConstructor?.name;
|
|
12
|
+
}
|
|
13
|
+
if (!modelName) {
|
|
14
|
+
throw new Error('modelName is required in context');
|
|
15
|
+
}
|
|
16
|
+
const modelNamePlural = pluralize(modelName);
|
|
17
|
+
const modelTableName = modelNamePlural.toLowerCase();
|
|
18
|
+
const _intialize = async () => {
|
|
19
|
+
const existingItem = await getExistingItem({ seedUid: seedUid || undefined, seedLocalId: seedLocalId || undefined });
|
|
20
|
+
if (existingItem) {
|
|
21
|
+
sendBack({
|
|
22
|
+
type: 'hasExistingItem',
|
|
23
|
+
modelName,
|
|
24
|
+
modelTableName,
|
|
25
|
+
modelNamePlural,
|
|
26
|
+
existingItem,
|
|
27
|
+
});
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
sendBack({
|
|
31
|
+
type: 'isNewItem',
|
|
32
|
+
modelName,
|
|
33
|
+
modelTableName,
|
|
34
|
+
modelNamePlural,
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
_intialize()
|
|
38
|
+
.then(() => {
|
|
39
|
+
sendBack({ type: 'initializeSuccess' });
|
|
40
|
+
})
|
|
41
|
+
.catch((error) => {
|
|
42
|
+
sendBack({
|
|
43
|
+
type: 'initializeError',
|
|
44
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export { initialize };
|
|
50
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.js","sources":["../../../../../src/Item/service/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport pluralize from 'pluralize'\nimport { getExistingItem } from '@/db/read/getExistingItem'\nimport { FromCallbackInput, ItemMachineContext } from '@/types'\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<ItemMachineContext<any>>\n>(\n ({ sendBack, input: { context } }) => {\n const { seedLocalId, seedUid, modelName: contextModelName, ModelClass } = context\n\n // Prefer modelName from context, fall back to ModelClass if available\n let modelName = contextModelName\n if (!modelName && ModelClass) {\n // If ModelClass is a Model instance, use its modelName property\n modelName = (ModelClass as any)?.modelName || (ModelClass as any)?.originalConstructor?.name\n }\n \n if (!modelName) {\n throw new Error('modelName is required in context')\n }\n const modelNamePlural = pluralize(modelName)\n const modelTableName = modelNamePlural.toLowerCase()\n\n const _intialize = async (): Promise<void> => {\n const existingItem = await getExistingItem({ seedUid: seedUid || undefined, seedLocalId: seedLocalId || undefined })\n\n if (existingItem) {\n sendBack({\n type: 'hasExistingItem',\n modelName,\n modelTableName,\n modelNamePlural,\n existingItem,\n })\n return\n }\n\n sendBack({\n type: 'isNewItem',\n modelName,\n modelTableName,\n modelNamePlural,\n })\n }\n\n _intialize()\n .then(() => {\n sendBack({ type: 'initializeSuccess' })\n })\n .catch((error) => {\n sendBack({\n type: 'initializeError',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n })\n },\n)\n"],"names":[],"mappings":";;;;AAKO,MAAM,UAAU,GAAG,YAAY,CAIpC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO;;IAGjF,IAAI,SAAS,GAAG,gBAAgB;AAChC,IAAA,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;;QAE5B,SAAS,GAAI,UAAkB,EAAE,SAAS,IAAK,UAAkB,EAAE,mBAAmB,EAAE,IAAI;IAC9F;IAEA,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC;IACrD;AACA,IAAA,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;AAC5C,IAAA,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE;AAEpD,IAAA,MAAM,UAAU,GAAG,YAA0B;AAC3C,QAAA,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,WAAW,EAAE,WAAW,IAAI,SAAS,EAAE,CAAC;QAEpH,IAAI,YAAY,EAAE;AAChB,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,SAAS;gBACT,cAAc;gBACd,eAAe;gBACf,YAAY;AACb,aAAA,CAAC;YACF;QACF;AAEA,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,WAAW;YACjB,SAAS;YACT,cAAc;YACd,eAAe;AAChB,SAAA,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,UAAU;SACP,IAAI,CAAC,MAAK;AACT,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;AACzC,IAAA,CAAC;AACA,SAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AACf,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,SAAA,CAAC;AACJ,IAAA,CAAC,CAAC;AACN,CAAC;;;;"}
|