@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,131 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import { BaseDb } from '../../../db/Db/BaseDb.js';
|
|
3
|
+
import '../../../seedSchema/SeedSchema.js';
|
|
4
|
+
import '../../../seedSchema/VersionSchema.js';
|
|
5
|
+
import '../../../seedSchema/MetadataSchema.js';
|
|
6
|
+
import '../../../seedSchema/AppStateSchema.js';
|
|
7
|
+
import { models, properties } from '../../../seedSchema/ModelSchema.js';
|
|
8
|
+
import '../../../seedSchema/ModelUidSchema.js';
|
|
9
|
+
import '../../../seedSchema/PropertyUidSchema.js';
|
|
10
|
+
import '../../../seedSchema/ConfigSchema.js';
|
|
11
|
+
import '../../../seedSchema/SchemaSchema.js';
|
|
12
|
+
import '../../../seedSchema/ModelSchemaSchema.js';
|
|
13
|
+
import { eq } from 'drizzle-orm';
|
|
14
|
+
import debug from 'debug';
|
|
15
|
+
|
|
16
|
+
const logger = debug('seedSdk:schema:actors:verifyPropertiesInDb');
|
|
17
|
+
/**
|
|
18
|
+
* Verify that property records exist in the database for models with retry logic
|
|
19
|
+
*/
|
|
20
|
+
async function verifyWithRetry(verifyFn, maxRetries = 5, initialDelay = 100) {
|
|
21
|
+
let lastError = null;
|
|
22
|
+
let delay = initialDelay;
|
|
23
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
24
|
+
try {
|
|
25
|
+
return await verifyFn();
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
29
|
+
if (attempt < maxRetries - 1) {
|
|
30
|
+
logger(`Verification attempt ${attempt + 1} failed, retrying in ${delay}ms: ${lastError.message}`);
|
|
31
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
32
|
+
delay *= 2; // Exponential backoff
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw lastError || new Error('Verification failed after retries');
|
|
37
|
+
}
|
|
38
|
+
const verifyPropertiesInDb = fromCallback(({ sendBack, input }) => {
|
|
39
|
+
const _verify = async () => {
|
|
40
|
+
const { modelIds, modelFileIds, expectedPropertyIds } = input;
|
|
41
|
+
// Convert model file IDs to DB IDs if needed
|
|
42
|
+
let dbModelIds = [];
|
|
43
|
+
if (modelIds && modelIds.length > 0) {
|
|
44
|
+
dbModelIds = modelIds;
|
|
45
|
+
}
|
|
46
|
+
else if (modelFileIds && modelFileIds.length > 0) {
|
|
47
|
+
// Convert file IDs to DB IDs
|
|
48
|
+
const db = BaseDb.getAppDb();
|
|
49
|
+
if (!db) {
|
|
50
|
+
throw new Error('Database not available');
|
|
51
|
+
}
|
|
52
|
+
for (const modelFileId of modelFileIds) {
|
|
53
|
+
const modelRecords = await db
|
|
54
|
+
.select({ id: models.id })
|
|
55
|
+
.from(models)
|
|
56
|
+
.where(eq(models.schemaFileId, modelFileId))
|
|
57
|
+
.limit(1);
|
|
58
|
+
if (modelRecords.length > 0 && modelRecords[0].id) {
|
|
59
|
+
dbModelIds.push(modelRecords[0].id);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (dbModelIds.length === 0) {
|
|
64
|
+
// No models means no properties to verify - this is valid
|
|
65
|
+
logger('No models provided, skipping property verification');
|
|
66
|
+
sendBack({
|
|
67
|
+
type: 'propertiesVerified',
|
|
68
|
+
propertyIds: [],
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const result = await verifyWithRetry(async () => {
|
|
74
|
+
const db = BaseDb.getAppDb();
|
|
75
|
+
if (!db) {
|
|
76
|
+
throw new Error('Database not available');
|
|
77
|
+
}
|
|
78
|
+
// Query for properties for all models
|
|
79
|
+
const allProperties = await Promise.all(dbModelIds.map(async (modelId) => {
|
|
80
|
+
const props = await db
|
|
81
|
+
.select({
|
|
82
|
+
propertyFileId: properties.schemaFileId,
|
|
83
|
+
propertyId: properties.id,
|
|
84
|
+
})
|
|
85
|
+
.from(properties)
|
|
86
|
+
.where(eq(properties.modelId, modelId));
|
|
87
|
+
return props;
|
|
88
|
+
}));
|
|
89
|
+
const propertyIds = allProperties
|
|
90
|
+
.flat()
|
|
91
|
+
.map((row) => row.propertyFileId)
|
|
92
|
+
.filter((id) => id !== null && id !== undefined);
|
|
93
|
+
// If expectedPropertyIds provided, verify all are present
|
|
94
|
+
if (expectedPropertyIds && expectedPropertyIds.length > 0) {
|
|
95
|
+
const missingIds = expectedPropertyIds.filter(id => !propertyIds.includes(id));
|
|
96
|
+
if (missingIds.length > 0) {
|
|
97
|
+
throw new Error(`Missing expected property IDs: ${missingIds.join(', ')}. Found: ${propertyIds.join(', ')}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
logger(`Properties verified: found ${propertyIds.length} properties for ${modelIds.length} models`);
|
|
101
|
+
return propertyIds;
|
|
102
|
+
});
|
|
103
|
+
sendBack({
|
|
104
|
+
type: 'propertiesVerified',
|
|
105
|
+
propertyIds: result,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
logger(`Property verification failed after retries: ${error}`);
|
|
110
|
+
sendBack({
|
|
111
|
+
type: 'verificationFailed',
|
|
112
|
+
stage: 'verifyProperties',
|
|
113
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
_verify().catch((error) => {
|
|
118
|
+
logger('Error in verifyPropertiesInDb:', error);
|
|
119
|
+
sendBack({
|
|
120
|
+
type: 'verificationFailed',
|
|
121
|
+
stage: 'verifyProperties',
|
|
122
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
return () => {
|
|
126
|
+
// Cleanup function (optional)
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
export { verifyPropertiesInDb };
|
|
131
|
+
//# sourceMappingURL=verifyPropertiesInDb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyPropertiesInDb.js","sources":["../../../../../src/Schema/service/actors/verifyPropertiesInDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { models as modelsTable, properties as propertiesTable } from '@/seedSchema'\nimport { eq, and } from 'drizzle-orm'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:schema:actors:verifyPropertiesInDb')\n\nexport type VerifyPropertiesInDbInput = {\n modelIds?: number[] // Array of model DB IDs (preferred)\n modelFileIds?: string[] // Array of model file IDs (alternative)\n expectedPropertyIds?: string[] // Optional: verify specific property IDs exist\n}\n\n/**\n * Verify that property records exist in the database for models with retry logic\n */\nasync function verifyWithRetry<T>(\n verifyFn: () => Promise<T>,\n maxRetries: number = 5,\n initialDelay: number = 100\n): Promise<T> {\n let lastError: Error | null = null\n let delay = initialDelay\n \n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n return await verifyFn()\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n if (attempt < maxRetries - 1) {\n logger(`Verification attempt ${attempt + 1} failed, retrying in ${delay}ms: ${lastError.message}`)\n await new Promise(resolve => setTimeout(resolve, delay))\n delay *= 2 // Exponential backoff\n }\n }\n }\n \n throw lastError || new Error('Verification failed after retries')\n}\n\nexport const verifyPropertiesInDb = fromCallback<\n EventObject,\n VerifyPropertiesInDbInput\n>(({ sendBack, input }) => {\n const _verify = async (): Promise<void> => {\n const { modelIds, modelFileIds, expectedPropertyIds } = input\n \n // Convert model file IDs to DB IDs if needed\n let dbModelIds: number[] = []\n \n if (modelIds && modelIds.length > 0) {\n dbModelIds = modelIds\n } else if (modelFileIds && modelFileIds.length > 0) {\n // Convert file IDs to DB IDs\n const db = BaseDb.getAppDb()\n if (!db) {\n throw new Error('Database not available')\n }\n \n for (const modelFileId of modelFileIds) {\n const modelRecords = await db\n .select({ id: modelsTable.id })\n .from(modelsTable)\n .where(eq(modelsTable.schemaFileId, modelFileId))\n .limit(1)\n \n if (modelRecords.length > 0 && modelRecords[0].id) {\n dbModelIds.push(modelRecords[0].id)\n }\n }\n }\n \n if (dbModelIds.length === 0) {\n // No models means no properties to verify - this is valid\n logger('No models provided, skipping property verification')\n sendBack({\n type: 'propertiesVerified',\n propertyIds: [],\n })\n return\n }\n\n try {\n const result = await verifyWithRetry(async () => {\n const db = BaseDb.getAppDb()\n if (!db) {\n throw new Error('Database not available')\n }\n\n // Query for properties for all models\n const allProperties = await Promise.all(\n dbModelIds.map(async (modelId) => {\n const props = await db\n .select({\n propertyFileId: propertiesTable.schemaFileId,\n propertyId: propertiesTable.id,\n })\n .from(propertiesTable)\n .where(eq(propertiesTable.modelId, modelId))\n return props\n })\n )\n\n const propertyIds = allProperties\n .flat()\n .map((row: { propertyFileId: string | null }) => row.propertyFileId)\n .filter((id: string | null | undefined): id is string => id !== null && id !== undefined)\n\n // If expectedPropertyIds provided, verify all are present\n if (expectedPropertyIds && expectedPropertyIds.length > 0) {\n const missingIds = expectedPropertyIds.filter(id => !propertyIds.includes(id))\n if (missingIds.length > 0) {\n throw new Error(\n `Missing expected property IDs: ${missingIds.join(', ')}. Found: ${propertyIds.join(', ')}`\n )\n }\n }\n\n logger(`Properties verified: found ${propertyIds.length} properties for ${modelIds.length} models`)\n return propertyIds\n })\n\n sendBack({\n type: 'propertiesVerified',\n propertyIds: result,\n })\n } catch (error) {\n logger(`Property verification failed after retries: ${error}`)\n sendBack({\n type: 'verificationFailed',\n stage: 'verifyProperties',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n }\n }\n\n _verify().catch((error) => {\n logger('Error in verifyPropertiesInDb:', error)\n sendBack({\n type: 'verificationFailed',\n stage: 'verifyProperties',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n"],"names":["modelsTable","propertiesTable"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import debug from 'debug';
|
|
3
|
+
|
|
4
|
+
const logger = debug('seedSdk:schema:actors:verifyPropertyInstancesInCache');
|
|
5
|
+
/**
|
|
6
|
+
* Verify that ModelProperty instances exist in the static cache with retry logic
|
|
7
|
+
*/
|
|
8
|
+
async function verifyWithRetry(verifyFn, maxRetries = 5, initialDelay = 100) {
|
|
9
|
+
let lastError = null;
|
|
10
|
+
let delay = initialDelay;
|
|
11
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
12
|
+
try {
|
|
13
|
+
return await verifyFn();
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
17
|
+
if (attempt < maxRetries - 1) {
|
|
18
|
+
logger(`Verification attempt ${attempt + 1} failed, retrying in ${delay}ms: ${lastError.message}`);
|
|
19
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
20
|
+
delay *= 2; // Exponential backoff
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
throw lastError || new Error('Verification failed after retries');
|
|
25
|
+
}
|
|
26
|
+
const verifyPropertyInstancesInCache = fromCallback(({ sendBack, input }) => {
|
|
27
|
+
const _verify = async () => {
|
|
28
|
+
const { propertyIds } = input;
|
|
29
|
+
if (propertyIds.length === 0) {
|
|
30
|
+
// No properties means no instances to verify - this is valid
|
|
31
|
+
logger('No property IDs provided, skipping instance verification');
|
|
32
|
+
sendBack({
|
|
33
|
+
type: 'instancesVerified',
|
|
34
|
+
count: 0,
|
|
35
|
+
});
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const result = await verifyWithRetry(async () => {
|
|
40
|
+
const { ModelProperty } = await import('../../../ModelProperty/ModelProperty.js');
|
|
41
|
+
// Check each property ID in the cache
|
|
42
|
+
const verifiedInstances = [];
|
|
43
|
+
const missingIds = [];
|
|
44
|
+
for (const propertyFileId of propertyIds) {
|
|
45
|
+
// Try to get instance from cache
|
|
46
|
+
const instance = ModelProperty.getById(propertyFileId);
|
|
47
|
+
if (instance) {
|
|
48
|
+
verifiedInstances.push(propertyFileId);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
missingIds.push(propertyFileId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (missingIds.length > 0) {
|
|
55
|
+
throw new Error(`Property instances not found in cache: ${missingIds.join(', ')}. Found: ${verifiedInstances.length}/${propertyIds.length}`);
|
|
56
|
+
}
|
|
57
|
+
logger(`Property instances verified: ${verifiedInstances.length} instances in cache`);
|
|
58
|
+
return verifiedInstances.length;
|
|
59
|
+
});
|
|
60
|
+
sendBack({
|
|
61
|
+
type: 'instancesVerified',
|
|
62
|
+
count: result,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
logger(`Property instance verification failed after retries: ${error}`);
|
|
67
|
+
sendBack({
|
|
68
|
+
type: 'verificationFailed',
|
|
69
|
+
stage: 'verifyPropertyInstances',
|
|
70
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
_verify().catch((error) => {
|
|
75
|
+
logger('Error in verifyPropertyInstancesInCache:', error);
|
|
76
|
+
sendBack({
|
|
77
|
+
type: 'verificationFailed',
|
|
78
|
+
stage: 'verifyPropertyInstances',
|
|
79
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
return () => {
|
|
83
|
+
// Cleanup function (optional)
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
export { verifyPropertyInstancesInCache };
|
|
88
|
+
//# sourceMappingURL=verifyPropertyInstancesInCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyPropertyInstancesInCache.js","sources":["../../../../../src/Schema/service/actors/verifyPropertyInstancesInCache.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:schema:actors:verifyPropertyInstancesInCache')\n\nexport type VerifyPropertyInstancesInCacheInput = {\n propertyIds: string[] // Array of property file IDs\n}\n\n/**\n * Verify that ModelProperty instances exist in the static cache with retry logic\n */\nasync function verifyWithRetry<T>(\n verifyFn: () => Promise<T>,\n maxRetries: number = 5,\n initialDelay: number = 100\n): Promise<T> {\n let lastError: Error | null = null\n let delay = initialDelay\n \n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n return await verifyFn()\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n if (attempt < maxRetries - 1) {\n logger(`Verification attempt ${attempt + 1} failed, retrying in ${delay}ms: ${lastError.message}`)\n await new Promise(resolve => setTimeout(resolve, delay))\n delay *= 2 // Exponential backoff\n }\n }\n }\n \n throw lastError || new Error('Verification failed after retries')\n}\n\nexport const verifyPropertyInstancesInCache = fromCallback<\n EventObject,\n VerifyPropertyInstancesInCacheInput\n>(({ sendBack, input }) => {\n const _verify = async (): Promise<void> => {\n const { propertyIds } = input\n \n if (propertyIds.length === 0) {\n // No properties means no instances to verify - this is valid\n logger('No property IDs provided, skipping instance verification')\n sendBack({\n type: 'instancesVerified',\n count: 0,\n })\n return\n }\n\n try {\n const result = await verifyWithRetry(async () => {\n const { ModelProperty } = await import('@/ModelProperty/ModelProperty')\n \n // Check each property ID in the cache\n const verifiedInstances: string[] = []\n const missingIds: string[] = []\n\n for (const propertyFileId of propertyIds) {\n // Try to get instance from cache\n const instance = ModelProperty.getById(propertyFileId)\n if (instance) {\n verifiedInstances.push(propertyFileId)\n } else {\n missingIds.push(propertyFileId)\n }\n }\n\n if (missingIds.length > 0) {\n throw new Error(\n `Property instances not found in cache: ${missingIds.join(', ')}. Found: ${verifiedInstances.length}/${propertyIds.length}`\n )\n }\n\n logger(`Property instances verified: ${verifiedInstances.length} instances in cache`)\n return verifiedInstances.length\n })\n\n sendBack({\n type: 'instancesVerified',\n count: result,\n })\n } catch (error) {\n logger(`Property instance verification failed after retries: ${error}`)\n sendBack({\n type: 'verificationFailed',\n stage: 'verifyPropertyInstances',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n }\n }\n\n _verify().catch((error) => {\n logger('Error in verifyPropertyInstancesInCache:', error)\n sendBack({\n type: 'verificationFailed',\n stage: 'verifyPropertyInstances',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import { BaseDb } from '../../../db/Db/BaseDb.js';
|
|
3
|
+
import { schemas } from '../../../seedSchema/SchemaSchema.js';
|
|
4
|
+
import { eq } from 'drizzle-orm';
|
|
5
|
+
import debug from 'debug';
|
|
6
|
+
|
|
7
|
+
const logger = debug('seedSdk:schema:actors:verifySchemaInDb');
|
|
8
|
+
/**
|
|
9
|
+
* Verify that a schema record exists in the database with retry logic
|
|
10
|
+
* Uses exponential backoff: 100ms, 200ms, 400ms, 800ms, 1600ms
|
|
11
|
+
* Total timeout: ~3.1 seconds
|
|
12
|
+
*/
|
|
13
|
+
async function verifyWithRetry(verifyFn, maxRetries = 5, initialDelay = 100) {
|
|
14
|
+
let lastError = null;
|
|
15
|
+
let delay = initialDelay;
|
|
16
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
17
|
+
try {
|
|
18
|
+
return await verifyFn();
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
22
|
+
if (attempt < maxRetries - 1) {
|
|
23
|
+
logger(`Verification attempt ${attempt + 1} failed, retrying in ${delay}ms: ${lastError.message}`);
|
|
24
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
25
|
+
delay *= 2; // Exponential backoff
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
throw lastError || new Error('Verification failed after retries');
|
|
30
|
+
}
|
|
31
|
+
const verifySchemaInDb = fromCallback(({ sendBack, input }) => {
|
|
32
|
+
const _verify = async () => {
|
|
33
|
+
const { schemaFileId, expectedSchemaId } = input;
|
|
34
|
+
try {
|
|
35
|
+
const result = await verifyWithRetry(async () => {
|
|
36
|
+
const db = BaseDb.getAppDb();
|
|
37
|
+
if (!db) {
|
|
38
|
+
throw new Error('Database not available');
|
|
39
|
+
}
|
|
40
|
+
// Query for schema by schemaFileId
|
|
41
|
+
const schemaRecords = await db
|
|
42
|
+
.select()
|
|
43
|
+
.from(schemas)
|
|
44
|
+
.where(eq(schemas.schemaFileId, schemaFileId))
|
|
45
|
+
.limit(1);
|
|
46
|
+
if (schemaRecords.length === 0) {
|
|
47
|
+
throw new Error(`Schema with schemaFileId "${schemaFileId}" not found in database`);
|
|
48
|
+
}
|
|
49
|
+
const schemaRecord = schemaRecords[0];
|
|
50
|
+
// If expectedSchemaId is provided, verify it matches
|
|
51
|
+
if (expectedSchemaId !== undefined && schemaRecord.id !== expectedSchemaId) {
|
|
52
|
+
throw new Error(`Schema ID mismatch: expected ${expectedSchemaId}, found ${schemaRecord.id}`);
|
|
53
|
+
}
|
|
54
|
+
logger(`Schema verified: schemaFileId="${schemaFileId}", schemaId=${schemaRecord.id}`);
|
|
55
|
+
return schemaRecord.id;
|
|
56
|
+
});
|
|
57
|
+
sendBack({
|
|
58
|
+
type: 'schemaVerified',
|
|
59
|
+
schemaId: result,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
logger(`Schema verification failed after retries: ${error}`);
|
|
64
|
+
sendBack({
|
|
65
|
+
type: 'verificationFailed',
|
|
66
|
+
stage: 'verifySchema',
|
|
67
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
_verify().catch((error) => {
|
|
72
|
+
logger('Error in verifySchemaInDb:', error);
|
|
73
|
+
sendBack({
|
|
74
|
+
type: 'verificationFailed',
|
|
75
|
+
stage: 'verifySchema',
|
|
76
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
return () => {
|
|
80
|
+
// Cleanup function (optional)
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
export { verifySchemaInDb };
|
|
85
|
+
//# sourceMappingURL=verifySchemaInDb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifySchemaInDb.js","sources":["../../../../../src/Schema/service/actors/verifySchemaInDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { schemas } from '@/seedSchema/SchemaSchema'\nimport { eq } from 'drizzle-orm'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:schema:actors:verifySchemaInDb')\n\nexport type VerifySchemaInDbInput = {\n schemaFileId: string\n expectedSchemaId?: number\n}\n\n/**\n * Verify that a schema record exists in the database with retry logic\n * Uses exponential backoff: 100ms, 200ms, 400ms, 800ms, 1600ms\n * Total timeout: ~3.1 seconds\n */\nasync function verifyWithRetry<T>(\n verifyFn: () => Promise<T>,\n maxRetries: number = 5,\n initialDelay: number = 100\n): Promise<T> {\n let lastError: Error | null = null\n let delay = initialDelay\n \n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n return await verifyFn()\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n if (attempt < maxRetries - 1) {\n logger(`Verification attempt ${attempt + 1} failed, retrying in ${delay}ms: ${lastError.message}`)\n await new Promise(resolve => setTimeout(resolve, delay))\n delay *= 2 // Exponential backoff\n }\n }\n }\n \n throw lastError || new Error('Verification failed after retries')\n}\n\nexport const verifySchemaInDb = fromCallback<\n EventObject,\n VerifySchemaInDbInput\n>(({ sendBack, input }) => {\n const _verify = async (): Promise<void> => {\n const { schemaFileId, expectedSchemaId } = input\n \n try {\n const result = await verifyWithRetry(async () => {\n const db = BaseDb.getAppDb()\n if (!db) {\n throw new Error('Database not available')\n }\n\n // Query for schema by schemaFileId\n const schemaRecords = await db\n .select()\n .from(schemas)\n .where(eq(schemas.schemaFileId, schemaFileId))\n .limit(1)\n\n if (schemaRecords.length === 0) {\n throw new Error(`Schema with schemaFileId \"${schemaFileId}\" not found in database`)\n }\n\n const schemaRecord = schemaRecords[0]\n\n // If expectedSchemaId is provided, verify it matches\n if (expectedSchemaId !== undefined && schemaRecord.id !== expectedSchemaId) {\n throw new Error(\n `Schema ID mismatch: expected ${expectedSchemaId}, found ${schemaRecord.id}`\n )\n }\n\n logger(`Schema verified: schemaFileId=\"${schemaFileId}\", schemaId=${schemaRecord.id}`)\n return schemaRecord.id!\n })\n\n sendBack({\n type: 'schemaVerified',\n schemaId: result,\n })\n } catch (error) {\n logger(`Schema verification failed after retries: ${error}`)\n sendBack({\n type: 'verificationFailed',\n stage: 'verifySchema',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n }\n }\n\n _verify().catch((error) => {\n logger('Error in verifySchemaInDb:', error)\n sendBack({\n type: 'verificationFailed',\n stage: 'verifySchema',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import { generateId } from '../../../helpers/index.js';
|
|
3
|
+
import { addModelsToDb } from '../../../helpers/db.js';
|
|
4
|
+
import debug from 'debug';
|
|
5
|
+
|
|
6
|
+
const logger = debug('seedSdk:schema:actors:writeModelsToDb');
|
|
7
|
+
const writeModelsToDb = fromCallback(({ sendBack, input }) => {
|
|
8
|
+
const _write = async () => {
|
|
9
|
+
const { schema, schemaRecord, schemaName } = input;
|
|
10
|
+
try {
|
|
11
|
+
// Check if models already exist in database
|
|
12
|
+
const { BaseDb } = await import('../../../db/Db/BaseDb.js');
|
|
13
|
+
const { modelSchemas } = await import('../../../seedSchema/ModelSchemaSchema.js');
|
|
14
|
+
const { models: modelsTable } = await import('../../../seedSchema/ModelSchema.js');
|
|
15
|
+
const { eq } = await import('drizzle-orm');
|
|
16
|
+
const db = BaseDb.getAppDb();
|
|
17
|
+
if (!db) {
|
|
18
|
+
throw new Error('Database not available');
|
|
19
|
+
}
|
|
20
|
+
// Check if models are linked to the schema
|
|
21
|
+
const modelLinks = await db
|
|
22
|
+
.select({
|
|
23
|
+
modelId: modelSchemas.modelId,
|
|
24
|
+
modelName: modelsTable.name,
|
|
25
|
+
})
|
|
26
|
+
.from(modelSchemas)
|
|
27
|
+
.innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))
|
|
28
|
+
.where(eq(modelSchemas.schemaId, schemaRecord.id));
|
|
29
|
+
// Check if we have all expected models
|
|
30
|
+
const expectedModelNames = Object.keys(schema.models || {});
|
|
31
|
+
const linkedModelNames = modelLinks
|
|
32
|
+
.map((link) => link.modelName)
|
|
33
|
+
.filter((n) => n !== null);
|
|
34
|
+
const missingModels = expectedModelNames.filter(name => !linkedModelNames.includes(name));
|
|
35
|
+
// If all models exist, skip writing
|
|
36
|
+
if (missingModels.length === 0 && modelLinks.length > 0) {
|
|
37
|
+
logger(`All models already exist in database for schema ${schemaName}`);
|
|
38
|
+
// Extract model IDs from database
|
|
39
|
+
const modelFileIds = [];
|
|
40
|
+
for (const link of modelLinks) {
|
|
41
|
+
if (link.modelId) {
|
|
42
|
+
const modelRecord = await db
|
|
43
|
+
.select({ schemaFileId: modelsTable.schemaFileId })
|
|
44
|
+
.from(modelsTable)
|
|
45
|
+
.where(eq(modelsTable.id, link.modelId))
|
|
46
|
+
.limit(1);
|
|
47
|
+
if (modelRecord.length > 0 && modelRecord[0].schemaFileId) {
|
|
48
|
+
modelFileIds.push(modelRecord[0].schemaFileId);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
sendBack({
|
|
53
|
+
type: 'modelsWritten',
|
|
54
|
+
modelIds: modelFileIds,
|
|
55
|
+
});
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Convert SchemaFileFormat to JsonImportSchema format
|
|
59
|
+
const { createModelsFromJson } = await import('../../../imports/json.js');
|
|
60
|
+
// Check if this is Seed Protocol schema (has different format)
|
|
61
|
+
const { isInternalSchema, SEED_PROTOCOL_SCHEMA_NAME } = await import('../../../helpers/constants.js');
|
|
62
|
+
const isInternal = isInternalSchema(schemaName);
|
|
63
|
+
let importData;
|
|
64
|
+
if (isInternal && schemaName === SEED_PROTOCOL_SCHEMA_NAME) {
|
|
65
|
+
// Convert Seed Protocol schema format to JSON import format
|
|
66
|
+
importData = {
|
|
67
|
+
name: schemaName,
|
|
68
|
+
models: Object.fromEntries(Object.entries(schema.models || {}).map(([modelName, model]) => [
|
|
69
|
+
modelName,
|
|
70
|
+
{
|
|
71
|
+
...model,
|
|
72
|
+
id: undefined,
|
|
73
|
+
properties: Object.fromEntries(Object.entries(model.properties || {}).map(([propName, prop]) => {
|
|
74
|
+
const schemaProp = prop;
|
|
75
|
+
const jsonProp = {
|
|
76
|
+
type: schemaProp.dataType || schemaProp.type,
|
|
77
|
+
};
|
|
78
|
+
// Copy other properties
|
|
79
|
+
Object.keys(schemaProp).forEach(key => {
|
|
80
|
+
if (key !== 'id' && key !== 'dataType') {
|
|
81
|
+
jsonProp[key] = schemaProp[key];
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
// Handle Relation type
|
|
85
|
+
if (schemaProp.ref || schemaProp.refModelName) {
|
|
86
|
+
jsonProp.model = schemaProp.refModelName || schemaProp.ref;
|
|
87
|
+
}
|
|
88
|
+
// Handle List type
|
|
89
|
+
if (schemaProp.dataType === 'List' && schemaProp.refValueType) {
|
|
90
|
+
jsonProp.items = {
|
|
91
|
+
type: schemaProp.refValueType,
|
|
92
|
+
model: schemaProp.refModelName || schemaProp.ref,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
// Handle storage configuration
|
|
96
|
+
if (schemaProp.storageType || schemaProp.localStorageDir || schemaProp.filenameSuffix) {
|
|
97
|
+
jsonProp.storage = {
|
|
98
|
+
type: schemaProp.storageType === 'ItemStorage' ? 'ItemStorage' : 'PropertyStorage',
|
|
99
|
+
path: schemaProp.localStorageDir,
|
|
100
|
+
extension: schemaProp.filenameSuffix,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return [propName, jsonProp];
|
|
104
|
+
})),
|
|
105
|
+
},
|
|
106
|
+
])),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Standard schema format
|
|
111
|
+
importData = {
|
|
112
|
+
name: schemaName,
|
|
113
|
+
models: Object.fromEntries(Object.entries(schema.models || {}).map(([modelName, model]) => [
|
|
114
|
+
modelName,
|
|
115
|
+
{
|
|
116
|
+
...model,
|
|
117
|
+
id: undefined,
|
|
118
|
+
properties: model.properties || {},
|
|
119
|
+
},
|
|
120
|
+
])),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
// Generate schemaFileIds from JSON file and generate missing ones BEFORE creating models
|
|
124
|
+
const modelFileIds = new Map();
|
|
125
|
+
const propertyFileIds = new Map();
|
|
126
|
+
for (const [modelName, model] of Object.entries(schema.models || {})) {
|
|
127
|
+
// Generate model ID if missing
|
|
128
|
+
if (!model.id) {
|
|
129
|
+
model.id = generateId();
|
|
130
|
+
logger(`Generated model ID for ${modelName}: ${model.id}`);
|
|
131
|
+
}
|
|
132
|
+
modelFileIds.set(modelName, model.id);
|
|
133
|
+
const propIds = new Map();
|
|
134
|
+
for (const [propName, prop] of Object.entries(model.properties || {})) {
|
|
135
|
+
// Generate property ID if missing
|
|
136
|
+
if (!prop.id) {
|
|
137
|
+
prop.id = generateId();
|
|
138
|
+
logger(`Generated property ID for ${modelName}.${propName}: ${prop.id}`);
|
|
139
|
+
}
|
|
140
|
+
propIds.set(propName, prop.id);
|
|
141
|
+
}
|
|
142
|
+
if (propIds.size > 0) {
|
|
143
|
+
propertyFileIds.set(modelName, propIds);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Convert JSON models to Model classes
|
|
147
|
+
const modelDefinitions = await createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
148
|
+
// Add models to database
|
|
149
|
+
if (Object.keys(modelDefinitions).length > 0) {
|
|
150
|
+
await addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
151
|
+
schemaFileId: schema.id,
|
|
152
|
+
modelFileIds,
|
|
153
|
+
propertyFileIds,
|
|
154
|
+
});
|
|
155
|
+
logger(`Added ${Object.keys(modelDefinitions).length} models and their properties to database`);
|
|
156
|
+
}
|
|
157
|
+
// Extract model IDs that were written
|
|
158
|
+
const writtenModelIds = Array.from(modelFileIds.values());
|
|
159
|
+
sendBack({
|
|
160
|
+
type: 'modelsWritten',
|
|
161
|
+
modelIds: writtenModelIds,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
logger(`Error writing models to database: ${error}`);
|
|
166
|
+
sendBack({
|
|
167
|
+
type: 'writeError',
|
|
168
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
_write().catch((error) => {
|
|
173
|
+
logger('Error in writeModelsToDb:', error);
|
|
174
|
+
sendBack({
|
|
175
|
+
type: 'writeError',
|
|
176
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
return () => {
|
|
180
|
+
// Cleanup function (optional)
|
|
181
|
+
};
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
export { writeModelsToDb };
|
|
185
|
+
//# sourceMappingURL=writeModelsToDb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeModelsToDb.js","sources":["../../../../../src/Schema/service/actors/writeModelsToDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { SchemaFileFormat, type JsonImportSchema } from '@/types/import'\nimport { generateId } from '@/helpers'\nimport { addModelsToDb } from '@/helpers/db'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:schema:actors:writeModelsToDb')\n\nexport type WriteModelsToDbInput = {\n schema: SchemaFileFormat\n schemaRecord: any // Schema database record\n schemaName: string\n}\n\nexport const writeModelsToDb = fromCallback<\n EventObject,\n WriteModelsToDbInput\n>(({ sendBack, input }) => {\n const _write = async (): Promise<void> => {\n const { schema, schemaRecord, schemaName } = input\n \n try {\n // Check if models already exist in database\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { models: modelsTable } = await import('@/seedSchema/ModelSchema')\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n throw new Error('Database not available')\n }\n\n // Check if models are linked to the schema\n const modelLinks = await db\n .select({\n modelId: modelSchemas.modelId,\n modelName: modelsTable.name,\n })\n .from(modelSchemas)\n .innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))\n .where(eq(modelSchemas.schemaId, schemaRecord.id!))\n\n // Check if we have all expected models\n const expectedModelNames = Object.keys(schema.models || {})\n const linkedModelNames = modelLinks\n .map((link: { modelId: number | null; modelName: string | null }) => link.modelName)\n .filter((n: string | null): n is string => n !== null)\n const missingModels = expectedModelNames.filter(name => !linkedModelNames.includes(name))\n\n // If all models exist, skip writing\n if (missingModels.length === 0 && modelLinks.length > 0) {\n logger(`All models already exist in database for schema ${schemaName}`)\n \n // Extract model IDs from database\n const modelFileIds: string[] = []\n for (const link of modelLinks) {\n if (link.modelId) {\n const modelRecord = await db\n .select({ schemaFileId: modelsTable.schemaFileId })\n .from(modelsTable)\n .where(eq(modelsTable.id, link.modelId))\n .limit(1)\n \n if (modelRecord.length > 0 && modelRecord[0].schemaFileId) {\n modelFileIds.push(modelRecord[0].schemaFileId)\n }\n }\n }\n \n sendBack({\n type: 'modelsWritten',\n modelIds: modelFileIds,\n })\n return\n }\n\n // Convert SchemaFileFormat to JsonImportSchema format\n const { createModelsFromJson } = await import('@/imports/json')\n \n // Check if this is Seed Protocol schema (has different format)\n const { isInternalSchema, SEED_PROTOCOL_SCHEMA_NAME } = await import('@/helpers/constants')\n const isInternal = isInternalSchema(schemaName)\n \n let importData: JsonImportSchema\n \n if (isInternal && schemaName === SEED_PROTOCOL_SCHEMA_NAME) {\n // Convert Seed Protocol schema format to JSON import format\n importData = {\n name: schemaName,\n models: Object.fromEntries(\n Object.entries(schema.models || {}).map(([modelName, model]) => [\n modelName,\n {\n ...model,\n id: undefined,\n properties: Object.fromEntries(\n Object.entries(model.properties || {}).map(([propName, prop]) => {\n const schemaProp = prop as any\n const jsonProp: any = {\n type: schemaProp.dataType || schemaProp.type,\n }\n \n // Copy other properties\n Object.keys(schemaProp).forEach(key => {\n if (key !== 'id' && key !== 'dataType') {\n jsonProp[key] = schemaProp[key]\n }\n })\n \n // Handle Relation type\n if (schemaProp.ref || schemaProp.refModelName) {\n jsonProp.model = schemaProp.refModelName || schemaProp.ref\n }\n \n // Handle List type\n if (schemaProp.dataType === 'List' && schemaProp.refValueType) {\n jsonProp.items = {\n type: schemaProp.refValueType,\n model: schemaProp.refModelName || schemaProp.ref,\n }\n }\n \n // Handle storage configuration\n if (schemaProp.storageType || schemaProp.localStorageDir || schemaProp.filenameSuffix) {\n jsonProp.storage = {\n type: schemaProp.storageType === 'ItemStorage' ? 'ItemStorage' : 'PropertyStorage',\n path: schemaProp.localStorageDir,\n extension: schemaProp.filenameSuffix,\n }\n }\n \n return [propName, jsonProp]\n }),\n ),\n },\n ]),\n ) as JsonImportSchema['models'],\n }\n } else {\n // Standard schema format\n importData = {\n name: schemaName,\n models: Object.fromEntries(\n Object.entries(schema.models || {}).map(([modelName, model]) => [\n modelName,\n {\n ...model,\n id: undefined,\n properties: model.properties || {},\n },\n ]),\n ) as JsonImportSchema['models'],\n }\n }\n\n // Generate schemaFileIds from JSON file and generate missing ones BEFORE creating models\n const modelFileIds = new Map<string, string>()\n const propertyFileIds = new Map<string, Map<string, string>>()\n \n for (const [modelName, model] of Object.entries(schema.models || {})) {\n // Generate model ID if missing\n if (!model.id) {\n model.id = generateId()\n logger(`Generated model ID for ${modelName}: ${model.id}`)\n }\n modelFileIds.set(modelName, model.id)\n \n const propIds = new Map<string, string>()\n for (const [propName, prop] of Object.entries(model.properties || {})) {\n // Generate property ID if missing\n if (!prop.id) {\n prop.id = generateId()\n logger(`Generated property ID for ${modelName}.${propName}: ${prop.id}`)\n }\n propIds.set(propName, prop.id)\n }\n if (propIds.size > 0) {\n propertyFileIds.set(modelName, propIds)\n }\n }\n\n // Convert JSON models to Model classes\n const modelDefinitions = await createModelsFromJson(importData, modelFileIds, propertyFileIds)\n \n // Add models to database\n if (Object.keys(modelDefinitions).length > 0) {\n await addModelsToDb(modelDefinitions, schemaRecord, undefined, {\n schemaFileId: schema.id,\n modelFileIds,\n propertyFileIds,\n })\n logger(`Added ${Object.keys(modelDefinitions).length} models and their properties to database`)\n }\n\n // Extract model IDs that were written\n const writtenModelIds = Array.from(modelFileIds.values())\n \n sendBack({\n type: 'modelsWritten',\n modelIds: writtenModelIds,\n })\n } catch (error) {\n logger(`Error writing models to database: ${error}`)\n sendBack({\n type: 'writeError',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n }\n }\n\n _write().catch((error) => {\n logger('Error in writeModelsToDb:', error)\n sendBack({\n type: 'writeError',\n error: error instanceof Error ? error : new Error(String(error)),\n })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import debug from 'debug';
|
|
3
|
+
|
|
4
|
+
const logger = debug('seedSdk:schema:actors:writePropertiesToDb');
|
|
5
|
+
/**
|
|
6
|
+
* Properties are typically written to DB as part of writeModelsToDb
|
|
7
|
+
* This actor verifies that properties exist and extracts their IDs
|
|
8
|
+
*/
|
|
9
|
+
const writePropertiesToDb = fromCallback(({ sendBack, input }) => {
|
|
10
|
+
const _write = async () => {
|
|
11
|
+
const { modelIds } = input;
|
|
12
|
+
try {
|
|
13
|
+
const { BaseDb } = await import('../../../db/Db/BaseDb.js');
|
|
14
|
+
const { models: modelsTable, properties: propertiesTable } = await import('../../../seedSchema/ModelSchema.js');
|
|
15
|
+
const { eq } = await import('drizzle-orm');
|
|
16
|
+
const db = BaseDb.getAppDb();
|
|
17
|
+
if (!db) {
|
|
18
|
+
throw new Error('Database not available');
|
|
19
|
+
}
|
|
20
|
+
// Get property IDs for all models
|
|
21
|
+
const propertyIds = [];
|
|
22
|
+
for (const modelFileId of modelIds) {
|
|
23
|
+
// Get model DB ID from modelFileId
|
|
24
|
+
const modelRecords = await db
|
|
25
|
+
.select({ id: modelsTable.id })
|
|
26
|
+
.from(modelsTable)
|
|
27
|
+
.where(eq(modelsTable.schemaFileId, modelFileId))
|
|
28
|
+
.limit(1);
|
|
29
|
+
if (modelRecords.length > 0 && modelRecords[0].id) {
|
|
30
|
+
// Get properties for this model
|
|
31
|
+
const propertyRecords = await db
|
|
32
|
+
.select({ schemaFileId: propertiesTable.schemaFileId })
|
|
33
|
+
.from(propertiesTable)
|
|
34
|
+
.where(eq(propertiesTable.modelId, modelRecords[0].id));
|
|
35
|
+
for (const prop of propertyRecords) {
|
|
36
|
+
if (prop.schemaFileId) {
|
|
37
|
+
propertyIds.push(prop.schemaFileId);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
logger(`Found ${propertyIds.length} properties for ${modelIds.length} models`);
|
|
43
|
+
sendBack({
|
|
44
|
+
type: 'propertiesWritten',
|
|
45
|
+
propertyIds,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
logger(`Error writing/verifying properties to database: ${error}`);
|
|
50
|
+
sendBack({
|
|
51
|
+
type: 'writeError',
|
|
52
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
_write().catch((error) => {
|
|
57
|
+
logger('Error in writePropertiesToDb:', error);
|
|
58
|
+
sendBack({
|
|
59
|
+
type: 'writeError',
|
|
60
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
return () => {
|
|
64
|
+
// Cleanup function (optional)
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
export { writePropertiesToDb };
|
|
69
|
+
//# sourceMappingURL=writePropertiesToDb.js.map
|