@seedprotocol/sdk 0.3.31 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/dist/Item/Item.js +954 -0
- package/dist/Item/Item.js.map +1 -0
- package/dist/Item/queries.js +66 -0
- package/dist/Item/queries.js.map +1 -0
- package/dist/Item/service/actors/fetchDataFromEas.js +94 -0
- package/dist/Item/service/actors/fetchDataFromEas.js.map +1 -0
- package/dist/Item/service/actors/hydrateExistingItem.js +124 -0
- package/dist/Item/service/actors/hydrateExistingItem.js.map +1 -0
- package/dist/Item/service/actors/hydrateNewItem.js.map +1 -0
- package/dist/Item/service/actors/initialize.js +50 -0
- package/dist/Item/service/actors/initialize.js.map +1 -0
- package/dist/Item/service/actors/loadOrCreateItem.js +210 -0
- package/dist/Item/service/actors/loadOrCreateItem.js.map +1 -0
- package/dist/Item/service/actors/reload.js.map +1 -0
- package/dist/Item/service/actors/waitForDb.js.map +1 -0
- package/dist/Item/service/itemMachineSingle.js +211 -0
- package/dist/Item/service/itemMachineSingle.js.map +1 -0
- package/dist/ItemProperty/ItemProperty.js +613 -0
- package/dist/ItemProperty/ItemProperty.js.map +1 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.js +207 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
- package/dist/ItemProperty/service/actors/initialize.js +74 -0
- package/dist/ItemProperty/service/actors/initialize.js.map +1 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +125 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js +321 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +111 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +121 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +85 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
- package/dist/ItemProperty/service/actors/waitForDb.js.map +1 -0
- package/dist/ItemProperty/service/propertyMachine.js +233 -0
- package/dist/ItemProperty/service/propertyMachine.js.map +1 -0
- package/dist/Model/Model.js +1831 -0
- package/dist/Model/Model.js.map +1 -0
- package/dist/Model/index.js +8 -0
- package/dist/Model/index.js.map +1 -0
- package/dist/Model/service/actors/createModelProperties.js +102 -0
- package/dist/Model/service/actors/createModelProperties.js.map +1 -0
- package/dist/Model/service/actors/loadOrCreateModel.js +397 -0
- package/dist/Model/service/actors/loadOrCreateModel.js.map +1 -0
- package/dist/Model/service/actors/validateModel.js +123 -0
- package/dist/Model/service/actors/validateModel.js.map +1 -0
- package/dist/Model/service/modelMachine.js +385 -0
- package/dist/Model/service/modelMachine.js.map +1 -0
- package/dist/ModelProperty/ModelProperty.js +841 -0
- package/dist/ModelProperty/ModelProperty.js.map +1 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +119 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +1 -0
- package/dist/ModelProperty/service/actors/saveToSchema.js +108 -0
- package/dist/ModelProperty/service/actors/saveToSchema.js.map +1 -0
- package/dist/ModelProperty/service/actors/validateProperty.js +129 -0
- package/dist/ModelProperty/service/actors/validateProperty.js.map +1 -0
- package/dist/ModelProperty/service/modelPropertyMachine.js +275 -0
- package/dist/ModelProperty/service/modelPropertyMachine.js.map +1 -0
- package/dist/Schema/Schema.js +1732 -0
- package/dist/Schema/Schema.js.map +1 -0
- package/dist/Schema/errors.js +14 -0
- package/dist/Schema/errors.js.map +1 -0
- package/dist/Schema/index.js +7 -0
- package/dist/Schema/index.js.map +1 -0
- package/dist/Schema/service/actors/checkExistingSchema.js +454 -0
- package/dist/Schema/service/actors/checkExistingSchema.js.map +1 -0
- package/dist/Schema/service/actors/createModelInstances.js +71 -0
- package/dist/Schema/service/actors/createModelInstances.js.map +1 -0
- package/dist/Schema/service/actors/createPropertyInstances.js +86 -0
- package/dist/Schema/service/actors/createPropertyInstances.js.map +1 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.js +1336 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.js.map +1 -0
- package/dist/Schema/service/actors/validateSchema.js +65 -0
- package/dist/Schema/service/actors/validateSchema.js.map +1 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js +88 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +1 -0
- package/dist/Schema/service/actors/verifyModelsInDb.js +107 -0
- package/dist/Schema/service/actors/verifyModelsInDb.js.map +1 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.js +131 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +1 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +88 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +1 -0
- package/dist/Schema/service/actors/verifySchemaInDb.js +85 -0
- package/dist/Schema/service/actors/verifySchemaInDb.js.map +1 -0
- package/dist/Schema/service/actors/writeModelsToDb.js +185 -0
- package/dist/Schema/service/actors/writeModelsToDb.js.map +1 -0
- package/dist/Schema/service/actors/writePropertiesToDb.js +69 -0
- package/dist/Schema/service/actors/writePropertiesToDb.js.map +1 -0
- package/dist/Schema/service/actors/writeSchemaToDb.js +137 -0
- package/dist/Schema/service/actors/writeSchemaToDb.js.map +1 -0
- package/dist/Schema/service/addModelsMachine.js +545 -0
- package/dist/Schema/service/addModelsMachine.js.map +1 -0
- package/dist/Schema/service/schemaMachine.js +667 -0
- package/dist/Schema/service/schemaMachine.js.map +1 -0
- package/dist/Schema/service/validation/SchemaValidationService.js +565 -0
- package/dist/Schema/service/validation/SchemaValidationService.js.map +1 -0
- package/dist/Schema/validation.js +15 -0
- package/dist/Schema/validation.js.map +1 -0
- package/dist/browser/db/Db.js +484 -0
- package/dist/browser/db/Db.js.map +1 -0
- package/dist/browser/db/drizzleFiles.js +1022 -0
- package/dist/browser/db/drizzleFiles.js.map +1 -0
- package/dist/browser/helpers/ArweaveClient.js +13 -0
- package/dist/browser/helpers/ArweaveClient.js.map +1 -0
- package/dist/browser/helpers/EasClient.js +16 -0
- package/dist/browser/helpers/EasClient.js.map +1 -0
- package/dist/browser/helpers/FileManager.js +415 -0
- package/dist/browser/helpers/FileManager.js.map +1 -0
- package/dist/browser/helpers/PathResolver.js +64 -0
- package/dist/browser/helpers/PathResolver.js.map +1 -0
- package/dist/browser/helpers/QueryClient.js +33 -0
- package/dist/browser/helpers/QueryClient.js.map +1 -0
- package/dist/browser/react/client.js +16 -0
- package/dist/browser/react/client.js.map +1 -0
- package/dist/browser/react/db.js +7 -0
- package/dist/browser/react/db.js.map +1 -0
- package/dist/browser/react/item.js +192 -0
- package/dist/browser/react/item.js.map +1 -0
- package/dist/browser/react/itemProperty.js +545 -0
- package/dist/browser/react/itemProperty.js.map +1 -0
- package/dist/browser/react/liveQuery.js +95 -0
- package/dist/browser/react/liveQuery.js.map +1 -0
- package/dist/browser/react/model.js +276 -0
- package/dist/browser/react/model.js.map +1 -0
- package/dist/browser/react/modelProperty.js +412 -0
- package/dist/browser/react/modelProperty.js.map +1 -0
- package/dist/browser/react/schema.js +387 -0
- package/dist/browser/react/schema.js.map +1 -0
- package/dist/browser/react/services.js +47 -0
- package/dist/browser/react/services.js.map +1 -0
- package/dist/browser/react/trash.js.map +1 -0
- package/dist/browser/workers/FileDownloader.js.map +1 -0
- package/dist/browser/workers/ImageResizer.js.map +1 -0
- package/dist/browser/workers/filesDownload.js.map +1 -0
- package/dist/browser/workers/imageResize.js.map +1 -0
- package/dist/client/ClientManager.js +177 -0
- package/dist/client/ClientManager.js.map +1 -0
- package/dist/client/actors/addModelsToDb.js +150 -0
- package/dist/client/actors/addModelsToDb.js.map +1 -0
- package/dist/client/actors/addModelsToStore.js +28 -0
- package/dist/client/actors/addModelsToStore.js.map +1 -0
- package/dist/client/actors/dbInit.js +38 -0
- package/dist/client/actors/dbInit.js.map +1 -0
- package/dist/client/actors/fileSystemInit.js +43 -0
- package/dist/client/actors/fileSystemInit.js.map +1 -0
- package/dist/client/actors/platformClassesInit.js +175 -0
- package/dist/client/actors/platformClassesInit.js.map +1 -0
- package/dist/client/actors/processSchemaFiles.js +169 -0
- package/dist/client/actors/processSchemaFiles.js.map +1 -0
- package/dist/client/actors/saveAppState.js +80 -0
- package/dist/client/actors/saveAppState.js.map +1 -0
- package/dist/client/actors/saveConfig.js +110 -0
- package/dist/client/actors/saveConfig.js.map +1 -0
- package/dist/client/clientManagerMachine.js +191 -0
- package/dist/client/clientManagerMachine.js.map +1 -0
- package/dist/client/constants.js +80 -0
- package/dist/client/constants.js.map +1 -0
- package/dist/db/Db/BaseDb.js +55 -0
- package/dist/db/Db/BaseDb.js.map +1 -0
- package/dist/db/drizzle/drizzle/0000_married_malice.sql +121 -0
- package/dist/db/drizzle/drizzle/0001_sweet_bruce_banner.sql +2 -0
- package/dist/db/drizzle/drizzle/0002_bitter_proudstar.sql +3 -0
- package/dist/db/drizzle/drizzle/0003_cultured_senator_kelly.sql +3 -0
- package/dist/db/drizzle/drizzle/meta/0000_snapshot.json +792 -0
- package/dist/db/drizzle/drizzle/meta/0001_snapshot.json +806 -0
- package/dist/db/drizzle/drizzle/meta/0002_snapshot.json +829 -0
- package/dist/db/drizzle/drizzle/meta/0003_snapshot.json +850 -0
- package/dist/db/drizzle/drizzle/meta/_journal.json +34 -0
- package/dist/db/read/getExistingItem.js +33 -0
- package/dist/db/read/getExistingItem.js.map +1 -0
- package/dist/db/read/getItem.js +26 -0
- package/dist/db/read/getItem.js.map +1 -0
- package/dist/db/read/getItemData.js +88 -0
- package/dist/db/read/getItemData.js.map +1 -0
- package/dist/db/read/getItemProperties.js +53 -0
- package/dist/db/read/getItemProperties.js.map +1 -0
- package/dist/db/read/getItemProperty.js +34 -0
- package/dist/db/read/getItemProperty.js.map +1 -0
- package/dist/db/read/getItems.js +53 -0
- package/dist/db/read/getItems.js.map +1 -0
- package/dist/db/read/getMetadata.js +36 -0
- package/dist/db/read/getMetadata.js.map +1 -0
- package/dist/db/read/getModelSchemas.js +63 -0
- package/dist/db/read/getModelSchemas.js.map +1 -0
- package/dist/db/read/getPropertyData.js +42 -0
- package/dist/db/read/getPropertyData.js.map +1 -0
- package/dist/db/read/getPublishPayload.js +294 -0
- package/dist/db/read/getPublishPayload.js.map +1 -0
- package/dist/db/read/getPublishUploads.js +166 -0
- package/dist/db/read/getPublishUploads.js.map +1 -0
- package/dist/db/read/getRelationValueData.js +34 -0
- package/dist/db/read/getRelationValueData.js.map +1 -0
- package/dist/db/read/getSchemaUidForModel.js +28 -0
- package/dist/db/read/getSchemaUidForModel.js.map +1 -0
- package/dist/db/read/getSeedData.js +32 -0
- package/dist/db/read/getSeedData.js.map +1 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.js +34 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
- package/dist/db/read/getVersionData.js +37 -0
- package/dist/db/read/getVersionData.js.map +1 -0
- package/dist/db/read/subqueries/metadataLatest.js +39 -0
- package/dist/db/read/subqueries/metadataLatest.js.map +1 -0
- package/dist/db/read/subqueries/versionData.js +31 -0
- package/dist/db/read/subqueries/versionData.js.map +1 -0
- package/dist/db/write/createMetadata.js +94 -0
- package/dist/db/write/createMetadata.js.map +1 -0
- package/dist/db/write/createNewItem.js +43 -0
- package/dist/db/write/createNewItem.js.map +1 -0
- package/dist/db/write/createSeed.js +32 -0
- package/dist/db/write/createSeed.js.map +1 -0
- package/dist/db/write/createSeeds.js +29 -0
- package/dist/db/write/createSeeds.js.map +1 -0
- package/dist/db/write/createVersion.js +29 -0
- package/dist/db/write/createVersion.js.map +1 -0
- package/dist/db/write/deleteItem.js +25 -0
- package/dist/db/write/deleteItem.js.map +1 -0
- package/dist/db/write/saveAppState.js +30 -0
- package/dist/db/write/saveAppState.js.map +1 -0
- package/dist/db/write/saveMetadata.js +26 -0
- package/dist/db/write/saveMetadata.js.map +1 -0
- package/dist/db/write/updateItemPropertyValue.js +165 -0
- package/dist/db/write/updateItemPropertyValue.js.map +1 -0
- package/dist/db/write/updateMetadata.js +38 -0
- package/dist/db/write/updateMetadata.js.map +1 -0
- package/dist/eas.js +176 -0
- package/dist/eas.js.map +1 -0
- package/dist/eventBus.js.map +1 -0
- package/dist/events/files/download.js +191 -0
- package/dist/events/files/download.js.map +1 -0
- package/dist/events/files/index.js +23 -0
- package/dist/events/files/index.js.map +1 -0
- package/dist/events/index.js +28 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/item/index.js.map +1 -0
- package/dist/events/item/publish.js +50 -0
- package/dist/events/item/publish.js.map +1 -0
- package/dist/events/item/syncDbWithEas.js +453 -0
- package/dist/events/item/syncDbWithEas.js.map +1 -0
- package/dist/events/services/allItems.js +10 -0
- package/dist/events/services/allItems.js.map +1 -0
- package/dist/events/services/index.js.map +1 -0
- package/dist/feed.js +534 -0
- package/dist/feed.js.map +1 -0
- package/dist/graphql/gql/gql.js +27 -0
- package/dist/graphql/gql/gql.js.map +1 -0
- package/dist/graphql/gql/graphql.js +129 -0
- package/dist/graphql/gql/graphql.js.map +1 -0
- package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
- package/dist/helpers/ArweaveClient/index.js +61 -0
- package/dist/helpers/ArweaveClient/index.js.map +1 -0
- package/dist/helpers/ArweaveClient/queries.js.map +1 -0
- package/dist/helpers/EasClient/BaseEasClient.js +20 -0
- package/dist/helpers/EasClient/BaseEasClient.js.map +1 -0
- package/dist/helpers/FileManager/BaseFileManager.js +119 -0
- package/dist/helpers/FileManager/BaseFileManager.js.map +1 -0
- package/dist/helpers/PathResolver/BasePathResolver.js +20 -0
- package/dist/helpers/PathResolver/BasePathResolver.js.map +1 -0
- package/dist/helpers/QueryClient/BaseQueryClient.js.map +1 -0
- package/dist/helpers/constants.js +107 -0
- package/dist/helpers/constants.js.map +1 -0
- package/dist/helpers/crypto.js.map +1 -0
- package/dist/helpers/db.js +1335 -0
- package/dist/helpers/db.js.map +1 -0
- package/dist/helpers/environment.js +14 -0
- package/dist/helpers/environment.js.map +1 -0
- package/dist/helpers/file/queries.js +15 -0
- package/dist/helpers/file/queries.js.map +1 -0
- package/dist/helpers/getSchemaForItemProperty.js +65 -0
- package/dist/helpers/getSchemaForItemProperty.js.map +1 -0
- package/dist/helpers/getSegmentedItemProperties.js +71 -0
- package/dist/helpers/getSegmentedItemProperties.js.map +1 -0
- package/dist/helpers/index.js +101 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/model.js +24 -0
- package/dist/helpers/model.js.map +1 -0
- package/dist/helpers/property/index.js +110 -0
- package/dist/helpers/property/index.js.map +1 -0
- package/dist/helpers/property.js +286 -0
- package/dist/helpers/property.js.map +1 -0
- package/dist/helpers/reactiveProxy.js +87 -0
- package/dist/helpers/reactiveProxy.js.map +1 -0
- package/dist/helpers/schema.js +473 -0
- package/dist/helpers/schema.js.map +1 -0
- package/dist/helpers/updateMachineContext.js.map +1 -0
- package/dist/helpers/updateSchema.js +721 -0
- package/dist/helpers/updateSchema.js.map +1 -0
- package/dist/imports/json.js +1129 -0
- package/dist/imports/json.js.map +1 -0
- package/dist/imports/markdown.js +141 -0
- package/dist/imports/markdown.js.map +1 -0
- package/dist/main.cjs +81 -0
- package/dist/main.cjs.map +1 -0
- package/dist/main.js +34 -29
- package/dist/main.js.map +1 -1
- package/dist/node/codegen/drizzle.js +136 -0
- package/dist/node/codegen/drizzle.js.map +1 -0
- package/dist/node/codegen/templates/model.njk +4 -0
- package/dist/node/db/Db.js +332 -0
- package/dist/node/db/Db.js.map +1 -0
- package/dist/node/helpers/ArweaveClient.js +13 -0
- package/dist/node/helpers/ArweaveClient.js.map +1 -0
- package/dist/node/helpers/EasClient.js +16 -0
- package/dist/node/helpers/EasClient.js.map +1 -0
- package/dist/node/helpers/FileManager.js +151 -0
- package/dist/node/helpers/FileManager.js.map +1 -0
- package/dist/node/helpers/PathResolver.js +182 -0
- package/dist/node/helpers/PathResolver.js.map +1 -0
- package/dist/node/helpers/QueryClient.js.map +1 -0
- package/dist/node/helpers/index.js +62 -0
- package/dist/node/helpers/index.js.map +1 -0
- package/dist/node/helpers/scripts.js +121 -0
- package/dist/node/helpers/scripts.js.map +1 -0
- package/dist/node/webpack/index.js.map +1 -0
- package/dist/node.js +40 -0
- package/dist/node.js.map +1 -0
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +31 -0
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +90 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +28 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +7 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +2 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +12 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +7 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +18 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +1 -0
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +3 -0
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +1 -0
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +19 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +6 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +12 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +31 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +55 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +4 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +12 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +33 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +59 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +199 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +8 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +2 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +51 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +22 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +4 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +1 -0
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +33 -0
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +1 -0
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +26 -0
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +1 -0
- package/dist/scripts/build-with-tests.d.ts +3 -0
- package/dist/scripts/build-with-tests.d.ts.map +1 -0
- package/dist/scripts/sync-versions.d.ts +7 -0
- package/dist/scripts/sync-versions.d.ts.map +1 -0
- package/dist/scripts/track-drizzle-changes.d.ts +13 -0
- package/dist/scripts/track-drizzle-changes.d.ts.map +1 -0
- package/dist/scripts/vite.config.d.ts +1 -1
- package/dist/seedSchema/AppStateSchema.js.map +1 -0
- package/dist/seedSchema/ConfigSchema.js.map +1 -0
- package/dist/seedSchema/MetadataSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchema.js +40 -0
- package/dist/seedSchema/ModelSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchema.ts +19 -6
- package/dist/seedSchema/ModelSchemaSchema.js +12 -0
- package/dist/seedSchema/ModelSchemaSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchemaSchema.ts +12 -0
- package/dist/seedSchema/ModelUidSchema.js +18 -0
- package/dist/seedSchema/ModelUidSchema.js.map +1 -0
- package/dist/seedSchema/PropertyUidSchema.js +18 -0
- package/dist/seedSchema/PropertyUidSchema.js.map +1 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json +83 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +94 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +1 -0
- package/dist/seedSchema/SchemaSchema.js +20 -0
- package/dist/seedSchema/SchemaSchema.js.map +1 -0
- package/dist/seedSchema/SchemaSchema.ts +25 -0
- package/dist/seedSchema/SeedSchema.js.map +1 -0
- package/dist/seedSchema/VersionSchema.js.map +1 -0
- package/dist/seedSchema/index.js +11 -0
- package/dist/seedSchema/index.js.map +1 -0
- package/dist/seedSchema/index.ts +2 -0
- package/dist/services/events.js +16 -0
- package/dist/services/events.js.map +1 -0
- package/dist/services/publish/actors/createPublishAttempt.js.map +1 -0
- package/dist/services/publish/actors/preparePublishRequestData.js +76 -0
- package/dist/services/publish/actors/preparePublishRequestData.js.map +1 -0
- package/dist/services/publish/actors/upload.js +61 -0
- package/dist/services/publish/actors/upload.js.map +1 -0
- package/dist/services/publish/actors/validateItemData.js.map +1 -0
- package/dist/services/publish/publishMachine.js +71 -0
- package/dist/services/publish/publishMachine.js.map +1 -0
- package/dist/services/write/actors/validateEntity.js +145 -0
- package/dist/services/write/actors/validateEntity.js.map +1 -0
- package/dist/services/write/actors/writeToDatabase.js +91 -0
- package/dist/services/write/actors/writeToDatabase.js.map +1 -0
- package/dist/services/write/writeProcessMachine.js +233 -0
- package/dist/services/write/writeProcessMachine.js.map +1 -0
- package/dist/src/Item/Item.d.ts +94 -0
- package/dist/src/Item/Item.d.ts.map +1 -0
- package/dist/src/Item/queries.d.ts +2 -2
- package/dist/src/Item/queries.d.ts.map +1 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +1 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +1 -1
- package/dist/src/Item/service/actors/initialize.d.ts.map +1 -1
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts +5 -0
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
- package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -1
- package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +67 -0
- package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -0
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts +5 -0
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/propertyMachine.d.ts +44 -93
- package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
- package/dist/src/Model/Model.d.ts +199 -0
- package/dist/src/Model/Model.d.ts.map +1 -0
- package/dist/src/Model/index.d.ts +26 -0
- package/dist/src/Model/index.d.ts.map +1 -0
- package/dist/src/Model/service/actors/createModelProperties.d.ts +9 -0
- package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -0
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts +5 -0
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
- package/dist/src/Model/service/actors/validateModel.d.ts +5 -0
- package/dist/src/Model/service/actors/validateModel.d.ts.map +1 -0
- package/dist/src/Model/service/modelMachine.d.ts +206 -0
- package/dist/src/Model/service/modelMachine.d.ts.map +1 -0
- package/dist/src/ModelProperty/ModelProperty.d.ts +112 -0
- package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts +5 -0
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts +11 -0
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts +5 -0
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +183 -0
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
- package/dist/src/Schema/Schema.d.ts +143 -0
- package/dist/src/Schema/Schema.d.ts.map +1 -0
- package/dist/src/Schema/errors.d.ts +20 -0
- package/dist/src/Schema/errors.d.ts.map +1 -0
- package/dist/src/Schema/index.d.ts +6 -0
- package/dist/src/Schema/index.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/createModelInstances.d.ts +11 -0
- package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts +12 -0
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/validateSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/validateSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts +6 -0
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts +7 -0
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts +8 -0
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts +6 -0
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts +7 -0
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts +9 -0
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts +10 -0
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts +11 -0
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/addModelsMachine.d.ts +111 -0
- package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -0
- package/dist/src/Schema/service/schemaMachine.d.ts +494 -0
- package/dist/src/Schema/service/schemaMachine.d.ts.map +1 -0
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +76 -0
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
- package/dist/src/Schema/validation.d.ts +40 -0
- package/dist/src/Schema/validation.d.ts.map +1 -0
- package/dist/src/browser/db/Db.d.ts +34 -2
- package/dist/src/browser/db/Db.d.ts.map +1 -1
- package/dist/src/browser/db/drizzleFiles.d.ts +7 -0
- package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -0
- package/dist/src/browser/helpers/EasClient.d.ts +2 -0
- package/dist/src/browser/helpers/EasClient.d.ts.map +1 -1
- package/dist/src/browser/helpers/FileManager.d.ts +15 -2
- package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/browser/helpers/PathResolver.d.ts +40 -0
- package/dist/src/browser/helpers/PathResolver.d.ts.map +1 -0
- package/dist/src/browser/helpers/QueryClient.d.ts +2 -2
- package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
- package/dist/src/browser/index.d.ts +1 -0
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/react/SeedImage.d.ts +2 -2
- package/dist/src/browser/react/SeedImage.d.ts.map +1 -1
- package/dist/src/browser/react/client.d.ts +2 -0
- package/dist/src/browser/react/client.d.ts.map +1 -0
- package/dist/src/browser/react/db.d.ts.map +1 -1
- package/dist/src/browser/react/index.d.ts +5 -2
- package/dist/src/browser/react/index.d.ts.map +1 -1
- package/dist/src/browser/react/item.d.ts +6 -6
- package/dist/src/browser/react/item.d.ts.map +1 -1
- package/dist/src/browser/react/itemProperty.d.ts +57 -0
- package/dist/src/browser/react/itemProperty.d.ts.map +1 -0
- package/dist/src/browser/react/liveQuery.d.ts +29 -0
- package/dist/src/browser/react/liveQuery.d.ts.map +1 -0
- package/dist/src/browser/react/model.d.ts +32 -5
- package/dist/src/browser/react/model.d.ts.map +1 -1
- package/dist/src/browser/react/modelProperty.d.ts +59 -0
- package/dist/src/browser/react/modelProperty.d.ts.map +1 -0
- package/dist/src/browser/react/schema.d.ts +37 -0
- package/dist/src/browser/react/schema.d.ts.map +1 -0
- package/dist/src/browser/react/services.d.ts +3 -2
- package/dist/src/browser/react/services.d.ts.map +1 -1
- package/dist/src/browser/seed.d.ts +0 -1
- package/dist/src/browser/seed.d.ts.map +1 -1
- package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -1
- package/dist/src/browser/workers/content-hash.d.ts.map +1 -1
- package/dist/src/client/ClientManager.d.ts +179 -175
- package/dist/src/client/ClientManager.d.ts.map +1 -1
- package/dist/src/client/actors/addModelsToDb.d.ts +4 -0
- package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -0
- package/dist/src/client/actors/addModelsToStore.d.ts +4 -0
- package/dist/src/client/actors/addModelsToStore.d.ts.map +1 -0
- package/dist/src/client/actors/dbInit.d.ts +4 -0
- package/dist/src/client/actors/dbInit.d.ts.map +1 -0
- package/dist/src/client/actors/fileSystemInit.d.ts +4 -0
- package/dist/src/client/actors/fileSystemInit.d.ts.map +1 -0
- package/dist/src/client/actors/platformClassesInit.d.ts +9 -0
- package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -0
- package/dist/src/client/actors/processSchemaFiles.d.ts +4 -0
- package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -0
- package/dist/src/client/actors/saveAppState.d.ts +6 -3
- package/dist/src/client/actors/saveAppState.d.ts.map +1 -1
- package/dist/src/client/actors/saveConfig.d.ts +4 -0
- package/dist/src/client/actors/saveConfig.d.ts.map +1 -0
- package/dist/src/client/clientManagerMachine.d.ts +57 -89
- package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
- package/dist/src/client/constants.d.ts +79 -0
- package/dist/src/client/constants.d.ts.map +1 -0
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/db/Db/BaseDb.d.ts +30 -0
- package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
- package/dist/src/db/configs/dev.schema.config.d.ts +3 -0
- package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -0
- package/dist/src/db/read/getExistingItem.d.ts.map +1 -1
- package/dist/src/db/read/getModelSchemas.d.ts +8 -3
- package/dist/src/db/read/getModelSchemas.d.ts.map +1 -1
- package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
- package/dist/src/db/read/getPublishPayload.d.ts +2 -2
- package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/getRelationValueData.d.ts.map +1 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts +1 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts.map +1 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -1
- package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
- package/dist/src/db/write/createMetadata.d.ts +3 -1
- package/dist/src/db/write/createMetadata.d.ts.map +1 -1
- package/dist/src/db/write/createNewItem.d.ts.map +1 -1
- package/dist/src/db/write/createSeed.d.ts.map +1 -1
- package/dist/src/db/write/recoverDeletedItem.d.ts.map +1 -1
- package/dist/src/db/write/saveAppState.d.ts.map +1 -1
- package/dist/src/db/write/saveMetadata.d.ts.map +1 -1
- package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
- package/dist/src/eas.d.ts +26 -0
- package/dist/src/eas.d.ts.map +1 -0
- package/dist/src/eslint-rules/align-imports.d.ts +12 -0
- package/dist/src/eslint-rules/align-imports.d.ts.map +1 -0
- package/dist/src/events/files/download.d.ts.map +1 -1
- package/dist/src/events/files/index.d.ts.map +1 -1
- package/dist/src/events/item/create.d.ts.map +1 -1
- package/dist/src/events/item/publish.d.ts.map +1 -1
- package/dist/src/events/item/request.d.ts.map +1 -1
- package/dist/src/events/item/requestAll.d.ts.map +1 -1
- package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
- package/dist/src/events/services/allItems.d.ts.map +1 -1
- package/dist/src/feed.d.ts +2 -0
- package/dist/src/feed.d.ts.map +1 -0
- package/dist/src/graphql/gql/gql.d.ts +29 -58
- package/dist/src/graphql/gql/gql.d.ts.map +1 -1
- package/dist/src/graphql/gql/graphql.d.ts +115 -83
- package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
- package/dist/src/helpers/ArweaveClient/index.d.ts +1 -0
- package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts +3 -0
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +1 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts +7 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts +22 -0
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
- package/dist/src/helpers/constants.d.ts +14 -0
- package/dist/src/helpers/constants.d.ts.map +1 -1
- package/dist/src/helpers/crypto.d.ts.map +1 -1
- package/dist/src/helpers/db.d.ts +109 -1
- package/dist/src/helpers/db.d.ts.map +1 -1
- package/dist/src/helpers/environment.d.ts +16 -0
- package/dist/src/helpers/environment.d.ts.map +1 -1
- package/dist/src/helpers/file/download/actors.d.ts.map +1 -0
- package/dist/src/helpers/file/download/index.d.ts.map +1 -0
- package/dist/src/helpers/file/fetchAll/actors.d.ts.map +1 -0
- package/dist/src/helpers/file/fetchAll/index.d.ts.map +1 -0
- package/dist/src/helpers/file/queries.d.ts.map +1 -0
- package/dist/src/helpers/files.d.ts.map +1 -1
- package/dist/src/helpers/getSchemaForItemProperty.d.ts +7 -3
- package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +1 -1
- package/dist/src/helpers/getSegmentedItemProperties.d.ts +4 -4
- package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
- package/dist/src/helpers/image/queries.d.ts.map +1 -0
- package/dist/src/helpers/index.d.ts +7 -7
- package/dist/src/helpers/index.d.ts.map +1 -1
- package/dist/src/helpers/model.d.ts +9 -0
- package/dist/src/helpers/model.d.ts.map +1 -0
- package/dist/src/helpers/property/index.d.ts +298 -0
- package/dist/src/helpers/property/index.d.ts.map +1 -0
- package/dist/src/helpers/property.d.ts +39 -0
- package/dist/src/helpers/property.d.ts.map +1 -0
- package/dist/src/helpers/reactiveProxy.d.ts +44 -0
- package/dist/src/helpers/reactiveProxy.d.ts.map +1 -0
- package/dist/src/helpers/schema.d.ts +131 -0
- package/dist/src/helpers/schema.d.ts.map +1 -0
- package/dist/src/helpers/updateSchema.d.ts +109 -0
- package/dist/src/helpers/updateSchema.d.ts.map +1 -0
- package/dist/src/imports/index.d.ts +3 -0
- package/dist/src/imports/index.d.ts.map +1 -0
- package/dist/src/imports/json.d.ts +81 -0
- package/dist/src/imports/json.d.ts.map +1 -0
- package/dist/src/imports/markdown.d.ts +38 -0
- package/dist/src/imports/markdown.d.ts.map +1 -0
- package/dist/src/index.d.ts +22 -14
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/interfaces/IItem.d.ts +5 -2
- package/dist/src/interfaces/IItem.d.ts.map +1 -1
- package/dist/src/interfaces/IItemProperty.d.ts +5 -5
- package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
- package/dist/src/node/codegen/drizzle.d.ts +3 -3
- package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
- package/dist/src/node/constants.d.ts +0 -1
- package/dist/src/node/constants.d.ts.map +1 -1
- package/dist/src/node/db/Db.d.ts +36 -2
- package/dist/src/node/db/Db.d.ts.map +1 -1
- package/dist/src/node/db/index.d.ts +4 -4
- package/dist/src/node/db/index.d.ts.map +1 -1
- package/dist/src/node/helpers/EasClient.d.ts.map +1 -1
- package/dist/src/node/helpers/FileManager.d.ts +10 -1
- package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/node/helpers/PathResolver.d.ts +43 -0
- package/dist/src/node/helpers/PathResolver.d.ts.map +1 -0
- package/dist/src/node/helpers/index.d.ts.map +1 -1
- package/dist/src/node/helpers/scripts.d.ts +16 -0
- package/dist/src/node/helpers/scripts.d.ts.map +1 -0
- package/dist/src/node/index.d.ts +25 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/webpack/fs-proxy.d.ts +4 -0
- package/dist/src/node/webpack/fs-proxy.d.ts.map +1 -0
- package/dist/src/node/webpack/index.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchema.d.ts +72 -38
- package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts +61 -0
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/SchemaSchema.d.ts +169 -0
- package/dist/src/seedSchema/SchemaSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/index.d.ts +2 -0
- package/dist/src/seedSchema/index.d.ts.map +1 -1
- package/dist/src/services/events.d.ts.map +1 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +1 -1
- package/dist/src/services/publish/actors/upload.d.ts.map +1 -1
- package/dist/src/services/publish/publishMachine.d.ts +24 -185
- package/dist/src/services/publish/publishMachine.d.ts.map +1 -1
- package/dist/src/services/write/actors/validateEntity.d.ts +12 -0
- package/dist/src/services/write/actors/validateEntity.d.ts.map +1 -0
- package/dist/src/services/write/actors/writeToDatabase.d.ts +9 -0
- package/dist/src/services/write/actors/writeToDatabase.d.ts.map +1 -0
- package/dist/src/services/write/writeProcessMachine.d.ts +84 -0
- package/dist/src/services/write/writeProcessMachine.d.ts.map +1 -0
- package/dist/src/types/import.d.ts +72 -0
- package/dist/src/types/import.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +9 -3
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/item.d.ts +7 -26
- package/dist/src/types/item.d.ts.map +1 -1
- package/dist/src/types/machines.d.ts +16 -27
- package/dist/src/types/machines.d.ts.map +1 -1
- package/dist/src/types/model.d.ts +12 -15
- package/dist/src/types/model.d.ts.map +1 -1
- package/dist/src/types/property.d.ts +1 -1
- package/dist/src/vite/index.d.ts +47 -0
- package/dist/src/vite/index.d.ts.map +1 -0
- package/dist/stores/eas.js +23 -0
- package/dist/stores/eas.js.map +1 -0
- package/dist/vite/index.js +554 -0
- package/dist/vite/index.js.map +1 -0
- package/package.json +106 -74
- package/dist/addModel.js +0 -93
- package/dist/addModel.js.map +0 -1
- package/dist/bin.js +0 -306
- package/dist/bin.js.map +0 -1
- package/dist/db/configs/browser.app.db.config.ts +0 -28
- package/dist/db/configs/node.app.db.config.js +0 -21
- package/dist/db/configs/node.app.db.config.js.map +0 -1
- package/dist/db/configs/node.app.db.config.ts +0 -28
- package/dist/db/configs/seed.schema.config.ts +0 -25
- package/dist/protos/seed.proto +0 -97
- package/dist/rpcServer.js +0 -358
- package/dist/rpcServer.js.map +0 -1
- package/dist/scripts/addModel.d.ts +0 -3
- package/dist/scripts/addModel.d.ts.map +0 -1
- package/dist/scripts/bin.d.ts +0 -8
- package/dist/scripts/bin.d.ts.map +0 -1
- package/dist/seedData.json +0 -23
- package/dist/src/Item/BaseItem.d.ts +0 -54
- package/dist/src/Item/BaseItem.d.ts.map +0 -1
- package/dist/src/Item/BaseItem.js +0 -309
- package/dist/src/Item/BaseItem.js.map +0 -1
- package/dist/src/Item/queries.js +0 -94
- package/dist/src/Item/queries.js.map +0 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.js +0 -74
- package/dist/src/Item/service/actors/fetchDataFromEas.js.map +0 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.js +0 -119
- package/dist/src/Item/service/actors/hydrateExistingItem.js.map +0 -1
- package/dist/src/Item/service/actors/hydrateNewItem.js.map +0 -1
- package/dist/src/Item/service/actors/initialize.js +0 -39
- package/dist/src/Item/service/actors/initialize.js.map +0 -1
- package/dist/src/Item/service/actors/reload.js.map +0 -1
- package/dist/src/Item/service/actors/waitForDb.js.map +0 -1
- package/dist/src/Item/service/itemMachineSingle.js +0 -154
- package/dist/src/Item/service/itemMachineSingle.js.map +0 -1
- package/dist/src/ItemProperty/BaseItemProperty.d.ts +0 -109
- package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +0 -1
- package/dist/src/ItemProperty/BaseItemProperty.js +0 -350
- package/dist/src/ItemProperty/BaseItemProperty.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +0 -208
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/initialize.js +0 -65
- package/dist/src/ItemProperty/service/actors/initialize.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +0 -317
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -100
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -119
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -81
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/waitForDb.js.map +0 -1
- package/dist/src/ItemProperty/service/propertyMachine.js +0 -198
- package/dist/src/ItemProperty/service/propertyMachine.js.map +0 -1
- package/dist/src/browser/Item/Item.d.ts +0 -7
- package/dist/src/browser/Item/Item.d.ts.map +0 -1
- package/dist/src/browser/Item/Item.js +0 -10
- package/dist/src/browser/Item/Item.js.map +0 -1
- package/dist/src/browser/ItemProperty/ItemProperty.d.ts +0 -8
- package/dist/src/browser/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/browser/ItemProperty/ItemProperty.js +0 -10
- package/dist/src/browser/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/src/browser/db/Db.js +0 -243
- package/dist/src/browser/db/Db.js.map +0 -1
- package/dist/src/browser/helpers/ArweaveClient.js +0 -13
- package/dist/src/browser/helpers/ArweaveClient.js.map +0 -1
- package/dist/src/browser/helpers/FileManager.js +0 -323
- package/dist/src/browser/helpers/FileManager.js.map +0 -1
- package/dist/src/browser/helpers/QueryClient.js +0 -19
- package/dist/src/browser/helpers/QueryClient.js.map +0 -1
- package/dist/src/browser/helpers/eas.d.ts +0 -20
- package/dist/src/browser/helpers/eas.d.ts.map +0 -1
- package/dist/src/browser/helpers/eas.js +0 -89
- package/dist/src/browser/helpers/eas.js.map +0 -1
- package/dist/src/browser/react/SeedImage.js +0 -105
- package/dist/src/browser/react/SeedImage.js.map +0 -1
- package/dist/src/browser/react/db.js +0 -6
- package/dist/src/browser/react/db.js.map +0 -1
- package/dist/src/browser/react/item.js +0 -216
- package/dist/src/browser/react/item.js.map +0 -1
- package/dist/src/browser/react/model.js +0 -20
- package/dist/src/browser/react/model.js.map +0 -1
- package/dist/src/browser/react/property.d.ts +0 -20
- package/dist/src/browser/react/property.d.ts.map +0 -1
- package/dist/src/browser/react/property.js +0 -107
- package/dist/src/browser/react/property.js.map +0 -1
- package/dist/src/browser/react/services.js +0 -306
- package/dist/src/browser/react/services.js.map +0 -1
- package/dist/src/browser/react/trash.js.map +0 -1
- package/dist/src/browser/workers/FileDownloader.js.map +0 -1
- package/dist/src/browser/workers/ImageResizer.js.map +0 -1
- package/dist/src/browser/workers/filesDownload.js.map +0 -1
- package/dist/src/browser/workers/imageResize.js.map +0 -1
- package/dist/src/client/ClientManager.js +0 -90
- package/dist/src/client/ClientManager.js.map +0 -1
- package/dist/src/client/actions/setAddresses.js +0 -19
- package/dist/src/client/actions/setAddresses.js.map +0 -1
- package/dist/src/client/actors/initialize.d.ts +0 -4
- package/dist/src/client/actors/initialize.d.ts.map +0 -1
- package/dist/src/client/actors/initialize.js +0 -107
- package/dist/src/client/actors/initialize.js.map +0 -1
- package/dist/src/client/actors/saveAppState.js +0 -46
- package/dist/src/client/actors/saveAppState.js.map +0 -1
- package/dist/src/client/clientManagerMachine.js +0 -63
- package/dist/src/client/clientManagerMachine.js.map +0 -1
- package/dist/src/db/Db/BaseDb.js +0 -25
- package/dist/src/db/Db/BaseDb.js.map +0 -1
- package/dist/src/db/configs/browser.app.db.config.d.ts +0 -3
- package/dist/src/db/configs/browser.app.db.config.d.ts.map +0 -1
- package/dist/src/db/configs/node.app.db.config.d.ts +0 -3
- package/dist/src/db/configs/node.app.db.config.d.ts.map +0 -1
- package/dist/src/db/configs/seed.schema.config.d.ts +0 -19
- package/dist/src/db/configs/seed.schema.config.d.ts.map +0 -1
- package/dist/src/db/configs/seed.schema.config.js +0 -52
- package/dist/src/db/configs/seed.schema.config.js.map +0 -1
- package/dist/src/db/read/getExistingItem.js +0 -31
- package/dist/src/db/read/getExistingItem.js.map +0 -1
- package/dist/src/db/read/getItem.js +0 -26
- package/dist/src/db/read/getItem.js.map +0 -1
- package/dist/src/db/read/getItemData.js +0 -86
- package/dist/src/db/read/getItemData.js.map +0 -1
- package/dist/src/db/read/getItemProperties.js +0 -51
- package/dist/src/db/read/getItemProperties.js.map +0 -1
- package/dist/src/db/read/getItemProperty.js +0 -32
- package/dist/src/db/read/getItemProperty.js.map +0 -1
- package/dist/src/db/read/getItems.js +0 -51
- package/dist/src/db/read/getItems.js.map +0 -1
- package/dist/src/db/read/getMetadata.js +0 -34
- package/dist/src/db/read/getMetadata.js.map +0 -1
- package/dist/src/db/read/getModelSchemas.js +0 -51
- package/dist/src/db/read/getModelSchemas.js.map +0 -1
- package/dist/src/db/read/getModels.js +0 -18
- package/dist/src/db/read/getModels.js.map +0 -1
- package/dist/src/db/read/getPropertyData.js +0 -40
- package/dist/src/db/read/getPropertyData.js.map +0 -1
- package/dist/src/db/read/getPublishPayload.js +0 -265
- package/dist/src/db/read/getPublishPayload.js.map +0 -1
- package/dist/src/db/read/getPublishUploads.js +0 -166
- package/dist/src/db/read/getPublishUploads.js.map +0 -1
- package/dist/src/db/read/getRelationValueData.js +0 -32
- package/dist/src/db/read/getRelationValueData.js.map +0 -1
- package/dist/src/db/read/getSchemaUidForModel.js +0 -28
- package/dist/src/db/read/getSchemaUidForModel.js.map +0 -1
- package/dist/src/db/read/getSeedData.js +0 -30
- package/dist/src/db/read/getSeedData.js.map +0 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +0 -32
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
- package/dist/src/db/read/getVersionData.js +0 -35
- package/dist/src/db/read/getVersionData.js.map +0 -1
- package/dist/src/db/read/subqueries/metadataLatest.js +0 -37
- package/dist/src/db/read/subqueries/metadataLatest.js.map +0 -1
- package/dist/src/db/read/subqueries/versionData.js +0 -29
- package/dist/src/db/read/subqueries/versionData.js.map +0 -1
- package/dist/src/db/write/createMetadata.js +0 -65
- package/dist/src/db/write/createMetadata.js.map +0 -1
- package/dist/src/db/write/createNewItem.js +0 -38
- package/dist/src/db/write/createNewItem.js.map +0 -1
- package/dist/src/db/write/createSeed.js +0 -31
- package/dist/src/db/write/createSeed.js.map +0 -1
- package/dist/src/db/write/createSeeds.js +0 -27
- package/dist/src/db/write/createSeeds.js.map +0 -1
- package/dist/src/db/write/createVersion.js +0 -27
- package/dist/src/db/write/createVersion.js.map +0 -1
- package/dist/src/db/write/deleteItem.js +0 -23
- package/dist/src/db/write/deleteItem.js.map +0 -1
- package/dist/src/db/write/saveAppState.js +0 -28
- package/dist/src/db/write/saveAppState.js.map +0 -1
- package/dist/src/db/write/saveMetadata.js +0 -24
- package/dist/src/db/write/saveMetadata.js.map +0 -1
- package/dist/src/db/write/updateItemPropertyValue.js +0 -163
- package/dist/src/db/write/updateItemPropertyValue.js.map +0 -1
- package/dist/src/db/write/updateMetadata.js +0 -27
- package/dist/src/db/write/updateMetadata.js.map +0 -1
- package/dist/src/eventBus.js.map +0 -1
- package/dist/src/events/files/download.js +0 -162
- package/dist/src/events/files/download.js.map +0 -1
- package/dist/src/events/files/index.js +0 -60
- package/dist/src/events/files/index.js.map +0 -1
- package/dist/src/events/index.js +0 -28
- package/dist/src/events/index.js.map +0 -1
- package/dist/src/events/item/index.js.map +0 -1
- package/dist/src/events/item/publish.js +0 -19
- package/dist/src/events/item/publish.js.map +0 -1
- package/dist/src/events/item/syncDbWithEas.js +0 -411
- package/dist/src/events/item/syncDbWithEas.js.map +0 -1
- package/dist/src/events/services/allItems.js +0 -19
- package/dist/src/events/services/allItems.js.map +0 -1
- package/dist/src/events/services/index.js.map +0 -1
- package/dist/src/graphql/gql/gql.js +0 -38
- package/dist/src/graphql/gql/gql.js.map +0 -1
- package/dist/src/graphql/gql/graphql.js +0 -106
- package/dist/src/graphql/gql/graphql.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/index.js +0 -45
- package/dist/src/helpers/ArweaveClient/index.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/queries.js.map +0 -1
- package/dist/src/helpers/EasClient/BaseEasClient.js +0 -14
- package/dist/src/helpers/EasClient/BaseEasClient.js.map +0 -1
- package/dist/src/helpers/FileManager/BaseFileManager.js +0 -80
- package/dist/src/helpers/FileManager/BaseFileManager.js.map +0 -1
- package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +0 -1
- package/dist/src/helpers/constants.js +0 -85
- package/dist/src/helpers/constants.js.map +0 -1
- package/dist/src/helpers/crypto.js.map +0 -1
- package/dist/src/helpers/db.js +0 -45
- package/dist/src/helpers/db.js.map +0 -1
- package/dist/src/helpers/environment.js +0 -29
- package/dist/src/helpers/environment.js.map +0 -1
- package/dist/src/helpers/getSchemaForItemProperty.js +0 -51
- package/dist/src/helpers/getSchemaForItemProperty.js.map +0 -1
- package/dist/src/helpers/getSegmentedItemProperties.js +0 -54
- package/dist/src/helpers/getSegmentedItemProperties.js.map +0 -1
- package/dist/src/helpers/index.js +0 -113
- package/dist/src/helpers/index.js.map +0 -1
- package/dist/src/helpers/scripts.d.ts +0 -2
- package/dist/src/helpers/scripts.d.ts.map +0 -1
- package/dist/src/helpers/scripts.js +0 -14
- package/dist/src/helpers/scripts.js.map +0 -1
- package/dist/src/helpers/updateMachineContext.js.map +0 -1
- package/dist/src/node/Item/Item.d.ts +0 -7
- package/dist/src/node/Item/Item.d.ts.map +0 -1
- package/dist/src/node/Item/Item.js +0 -11
- package/dist/src/node/Item/Item.js.map +0 -1
- package/dist/src/node/ItemProperty/ItemProperty.d.ts +0 -7
- package/dist/src/node/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/node/ItemProperty/ItemProperty.js +0 -10
- package/dist/src/node/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/src/node/PathResolver.d.ts +0 -45
- package/dist/src/node/PathResolver.d.ts.map +0 -1
- package/dist/src/node/PathResolver.js +0 -170
- package/dist/src/node/PathResolver.js.map +0 -1
- package/dist/src/node/codegen/drizzle.js +0 -108
- package/dist/src/node/codegen/drizzle.js.map +0 -1
- package/dist/src/node/constants.js +0 -6
- package/dist/src/node/constants.js.map +0 -1
- package/dist/src/node/db/Db.js +0 -65
- package/dist/src/node/db/Db.js.map +0 -1
- package/dist/src/node/helpers/ArweaveClient.js +0 -13
- package/dist/src/node/helpers/ArweaveClient.js.map +0 -1
- package/dist/src/node/helpers/EasClient.js +0 -13
- package/dist/src/node/helpers/EasClient.js.map +0 -1
- package/dist/src/node/helpers/FileManager.js +0 -53
- package/dist/src/node/helpers/FileManager.js.map +0 -1
- package/dist/src/node/helpers/QueryClient.js.map +0 -1
- package/dist/src/node/helpers/index.js +0 -38
- package/dist/src/node/helpers/index.js.map +0 -1
- package/dist/src/node/webpack/index.js.map +0 -1
- package/dist/src/schema/file/download/actors.d.ts.map +0 -1
- package/dist/src/schema/file/download/index.d.ts.map +0 -1
- package/dist/src/schema/file/fetchAll/actors.d.ts.map +0 -1
- package/dist/src/schema/file/fetchAll/index.d.ts.map +0 -1
- package/dist/src/schema/file/queries.d.ts.map +0 -1
- package/dist/src/schema/file/queries.js +0 -48
- package/dist/src/schema/file/queries.js.map +0 -1
- package/dist/src/schema/image/model.d.ts +0 -8
- package/dist/src/schema/image/model.d.ts.map +0 -1
- package/dist/src/schema/image/model.js +0 -29
- package/dist/src/schema/image/model.js.map +0 -1
- package/dist/src/schema/image/queries.d.ts.map +0 -1
- package/dist/src/schema/index.d.ts +0 -4
- package/dist/src/schema/index.d.ts.map +0 -1
- package/dist/src/schema/model/index.d.ts +0 -63
- package/dist/src/schema/model/index.d.ts.map +0 -1
- package/dist/src/schema/model/index.js +0 -44
- package/dist/src/schema/model/index.js.map +0 -1
- package/dist/src/schema/property/index.d.ts +0 -151
- package/dist/src/schema/property/index.d.ts.map +0 -1
- package/dist/src/schema/property/index.js +0 -88
- package/dist/src/schema/property/index.js.map +0 -1
- package/dist/src/seedSchema/AppStateSchema.js.map +0 -1
- package/dist/src/seedSchema/ConfigSchema.js.map +0 -1
- package/dist/src/seedSchema/MetadataSchema.js.map +0 -1
- package/dist/src/seedSchema/ModelSchema.js +0 -33
- package/dist/src/seedSchema/ModelSchema.js.map +0 -1
- package/dist/src/seedSchema/ModelUidSchema.js +0 -18
- package/dist/src/seedSchema/ModelUidSchema.js.map +0 -1
- package/dist/src/seedSchema/PropertyUidSchema.js +0 -18
- package/dist/src/seedSchema/PropertyUidSchema.js.map +0 -1
- package/dist/src/seedSchema/SeedSchema.js.map +0 -1
- package/dist/src/seedSchema/VersionSchema.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchDbData.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchDbData.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchDbData.js +0 -13
- package/dist/src/services/allItems/actors/fetchDbData.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.js +0 -139
- package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchSeeds.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchSeeds.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchSeeds.js +0 -31
- package/dist/src/services/allItems/actors/fetchSeeds.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchVersions.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchVersions.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchVersions.js +0 -35
- package/dist/src/services/allItems/actors/fetchVersions.js.map +0 -1
- package/dist/src/services/allItems/actors/initialize.d.ts +0 -4
- package/dist/src/services/allItems/actors/initialize.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/initialize.js +0 -146
- package/dist/src/services/allItems/actors/initialize.js.map +0 -1
- package/dist/src/services/allItems/actors/processItems.d.ts +0 -4
- package/dist/src/services/allItems/actors/processItems.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/processItems.js +0 -55
- package/dist/src/services/allItems/actors/processItems.js.map +0 -1
- package/dist/src/services/allItems/itemMachineAll.d.ts +0 -67
- package/dist/src/services/allItems/itemMachineAll.d.ts.map +0 -1
- package/dist/src/services/allItems/itemMachineAll.js +0 -153
- package/dist/src/services/allItems/itemMachineAll.js.map +0 -1
- package/dist/src/services/db/actors/checkStatus.d.ts +0 -4
- package/dist/src/services/db/actors/checkStatus.d.ts.map +0 -1
- package/dist/src/services/db/actors/checkStatus.js +0 -41
- package/dist/src/services/db/actors/checkStatus.js.map +0 -1
- package/dist/src/services/db/actors/connectToDb.d.ts +0 -4
- package/dist/src/services/db/actors/connectToDb.d.ts.map +0 -1
- package/dist/src/services/db/actors/connectToDb.js +0 -31
- package/dist/src/services/db/actors/connectToDb.js.map +0 -1
- package/dist/src/services/db/actors/migrate.d.ts +0 -4
- package/dist/src/services/db/actors/migrate.d.ts.map +0 -1
- package/dist/src/services/db/actors/migrate.js +0 -40
- package/dist/src/services/db/actors/migrate.js.map +0 -1
- package/dist/src/services/db/actors/validate.d.ts +0 -4
- package/dist/src/services/db/actors/validate.d.ts.map +0 -1
- package/dist/src/services/db/actors/validate.js +0 -40
- package/dist/src/services/db/actors/validate.js.map +0 -1
- package/dist/src/services/db/actors/waitForFiles.d.ts +0 -4
- package/dist/src/services/db/actors/waitForFiles.d.ts.map +0 -1
- package/dist/src/services/db/actors/waitForFiles.js +0 -32
- package/dist/src/services/db/actors/waitForFiles.js.map +0 -1
- package/dist/src/services/db/connectionManager.d.ts +0 -18
- package/dist/src/services/db/connectionManager.d.ts.map +0 -1
- package/dist/src/services/db/dbMachine.d.ts +0 -58
- package/dist/src/services/db/dbMachine.d.ts.map +0 -1
- package/dist/src/services/db/dbMachine.js +0 -156
- package/dist/src/services/db/dbMachine.js.map +0 -1
- package/dist/src/services/db/index.d.ts +0 -2
- package/dist/src/services/db/index.d.ts.map +0 -1
- package/dist/src/services/events.js +0 -15
- package/dist/src/services/events.js.map +0 -1
- package/dist/src/services/global/actors/addModelsToDb.d.ts +0 -4
- package/dist/src/services/global/actors/addModelsToDb.d.ts.map +0 -1
- package/dist/src/services/global/actors/addModelsToDb.js +0 -117
- package/dist/src/services/global/actors/addModelsToDb.js.map +0 -1
- package/dist/src/services/global/actors/getSchemaForModel.d.ts +0 -4
- package/dist/src/services/global/actors/getSchemaForModel.d.ts.map +0 -1
- package/dist/src/services/global/actors/getSchemaForModel.js +0 -26
- package/dist/src/services/global/actors/getSchemaForModel.js.map +0 -1
- package/dist/src/services/global/actors/initialize.d.ts +0 -4
- package/dist/src/services/global/actors/initialize.d.ts.map +0 -1
- package/dist/src/services/global/actors/initialize.js +0 -88
- package/dist/src/services/global/actors/initialize.js.map +0 -1
- package/dist/src/services/global/actors/savePublishService.d.ts +0 -4
- package/dist/src/services/global/actors/savePublishService.d.ts.map +0 -1
- package/dist/src/services/global/actors/savePublishService.js +0 -22
- package/dist/src/services/global/actors/savePublishService.js.map +0 -1
- package/dist/src/services/global/globalMachine.d.ts +0 -662
- package/dist/src/services/global/globalMachine.d.ts.map +0 -1
- package/dist/src/services/global/globalMachine.js +0 -246
- package/dist/src/services/global/globalMachine.js.map +0 -1
- package/dist/src/services/internal/actors/configureFs.d.ts +0 -4
- package/dist/src/services/internal/actors/configureFs.d.ts.map +0 -1
- package/dist/src/services/internal/actors/configureFs.js +0 -70
- package/dist/src/services/internal/actors/configureFs.js.map +0 -1
- package/dist/src/services/internal/actors/loadAppDb.d.ts +0 -4
- package/dist/src/services/internal/actors/loadAppDb.d.ts.map +0 -1
- package/dist/src/services/internal/actors/loadAppDb.js +0 -22
- package/dist/src/services/internal/actors/loadAppDb.js.map +0 -1
- package/dist/src/services/internal/actors/prepareDb.d.ts +0 -5
- package/dist/src/services/internal/actors/prepareDb.d.ts.map +0 -1
- package/dist/src/services/internal/actors/saveConfig.d.ts +0 -4
- package/dist/src/services/internal/actors/saveConfig.d.ts.map +0 -1
- package/dist/src/services/internal/actors/saveConfig.js +0 -76
- package/dist/src/services/internal/actors/saveConfig.js.map +0 -1
- package/dist/src/services/internal/actors/validateInput.d.ts +0 -4
- package/dist/src/services/internal/actors/validateInput.d.ts.map +0 -1
- package/dist/src/services/internal/actors/validateInput.js +0 -34
- package/dist/src/services/internal/actors/validateInput.js.map +0 -1
- package/dist/src/services/internal/actors/waitForFiles.d.ts +0 -4
- package/dist/src/services/internal/actors/waitForFiles.d.ts.map +0 -1
- package/dist/src/services/internal/actors/waitForFiles.js +0 -33
- package/dist/src/services/internal/actors/waitForFiles.js.map +0 -1
- package/dist/src/services/internal/constants.d.ts +0 -75
- package/dist/src/services/internal/constants.d.ts.map +0 -1
- package/dist/src/services/internal/constants.js +0 -85
- package/dist/src/services/internal/constants.js.map +0 -1
- package/dist/src/services/internal/helpers.d.ts +0 -10
- package/dist/src/services/internal/helpers.d.ts.map +0 -1
- package/dist/src/services/internal/helpers.js +0 -171
- package/dist/src/services/internal/helpers.js.map +0 -1
- package/dist/src/services/internal/internalMachine.d.ts +0 -57
- package/dist/src/services/internal/internalMachine.d.ts.map +0 -1
- package/dist/src/services/internal/internalMachine.js +0 -188
- package/dist/src/services/internal/internalMachine.js.map +0 -1
- package/dist/src/services/internal/queries.d.ts +0 -4
- package/dist/src/services/internal/queries.d.ts.map +0 -1
- package/dist/src/services/internal/types.d.ts +0 -12
- package/dist/src/services/internal/types.d.ts.map +0 -1
- package/dist/src/services/publish/actors/createPublishAttempt.js.map +0 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.js +0 -72
- package/dist/src/services/publish/actors/preparePublishRequestData.js.map +0 -1
- package/dist/src/services/publish/actors/upload.js +0 -55
- package/dist/src/services/publish/actors/upload.js.map +0 -1
- package/dist/src/services/publish/actors/validateItemData.js.map +0 -1
- package/dist/src/services/publish/publishMachine.js +0 -71
- package/dist/src/services/publish/publishMachine.js.map +0 -1
- package/dist/src/stores/eas.js +0 -45
- package/dist/src/stores/eas.js.map +0 -1
- package/dist/src/stores/modelClass.d.ts +0 -6
- package/dist/src/stores/modelClass.d.ts.map +0 -1
- package/dist/src/stores/modelClass.js +0 -16
- package/dist/src/stores/modelClass.js.map +0 -1
- /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.js +0 -0
- /package/dist/{src/Item → Item}/service/actors/reload.js +0 -0
- /package/dist/{src/Item → Item}/service/actors/waitForDb.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.js +0 -0
- /package/dist/{src/browser → browser}/react/trash.js +0 -0
- /package/dist/{src/browser → browser}/workers/FileDownloader.js +0 -0
- /package/dist/{src/browser → browser}/workers/ImageResizer.js +0 -0
- /package/dist/{src/browser → browser}/workers/filesDownload.js +0 -0
- /package/dist/{src/browser → browser}/workers/imageResize.js +0 -0
- /package/dist/{src/eventBus.js → eventBus.js} +0 -0
- /package/dist/{src/events → events}/item/index.js +0 -0
- /package/dist/{src/events → events}/services/index.js +0 -0
- /package/dist/{src/helpers → helpers}/ArweaveClient/BaseArweaveClient.js +0 -0
- /package/dist/{src/helpers → helpers}/ArweaveClient/queries.js +0 -0
- /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.js +0 -0
- /package/dist/{src/helpers → helpers}/crypto.js +0 -0
- /package/dist/{src/helpers → helpers}/updateMachineContext.js +0 -0
- /package/dist/{src/node → node}/helpers/QueryClient.js +0 -0
- /package/dist/{src/node → node}/webpack/index.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/SeedSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/VersionSchema.js +0 -0
- /package/dist/{src/services → services}/publish/actors/createPublishAttempt.js +0 -0
- /package/dist/{src/services → services}/publish/actors/validateItemData.js +0 -0
- /package/dist/src/{schema → helpers}/file/download/actors.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/download/index.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/fetchAll/actors.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/fetchAll/index.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/queries.d.ts +0 -0
- /package/dist/src/{schema → helpers}/image/queries.d.ts +0 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import { BaseDb } from '../../../db/Db/BaseDb.js';
|
|
3
|
+
import { models, properties } from '../../../seedSchema/ModelSchema.js';
|
|
4
|
+
import { eq } from 'drizzle-orm';
|
|
5
|
+
import { generateId } from '../../../helpers/index.js';
|
|
6
|
+
import debug from 'debug';
|
|
7
|
+
|
|
8
|
+
const logger = debug('seedSdk:model:actors:loadOrCreateModel');
|
|
9
|
+
/**
|
|
10
|
+
* Create ModelProperty instances for all property IDs to ensure they're cached
|
|
11
|
+
* This ensures that ModelProperty.getById() in Model.properties getter will find the instances
|
|
12
|
+
* @param propertyFileIds - Array of property file IDs to create instances for
|
|
13
|
+
*/
|
|
14
|
+
const createPropertyInstances = async (propertyFileIds) => {
|
|
15
|
+
if (propertyFileIds.length === 0) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const { ModelProperty } = await import('../../../ModelProperty/ModelProperty.js');
|
|
20
|
+
// Create instances for all property IDs in parallel
|
|
21
|
+
// ModelProperty.createById() will check cache first, then query DB and create if needed
|
|
22
|
+
const createPromises = propertyFileIds.map(async (propertyFileId) => {
|
|
23
|
+
try {
|
|
24
|
+
const property = await ModelProperty.createById(propertyFileId);
|
|
25
|
+
if (property) {
|
|
26
|
+
logger(`Created/cached ModelProperty instance for propertyFileId "${propertyFileId}"`);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
logger(`ModelProperty.createById returned undefined for propertyFileId "${propertyFileId}" (may not exist in DB yet)`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
logger(`Error creating ModelProperty instance for propertyFileId "${propertyFileId}": ${error}`);
|
|
34
|
+
// Don't throw - continue with other properties
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
await Promise.all(createPromises);
|
|
38
|
+
logger(`Finished creating/caching ${propertyFileIds.length} ModelProperty instances`);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
logger(`Error in createPropertyInstances: ${error}`);
|
|
42
|
+
// Don't throw - this is best-effort to pre-populate cache
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const loadOrCreateModel = fromCallback(({ sendBack, input: { context } }) => {
|
|
46
|
+
const _loadOrCreateModel = async () => {
|
|
47
|
+
const { modelName, schemaName, id } = context; // id is now the schemaFileId (string)
|
|
48
|
+
console.log('loadOrCreateModel called for', modelName, 'with schemaName', schemaName, 'and id', id);
|
|
49
|
+
if (!modelName || !schemaName) {
|
|
50
|
+
throw new Error('Model name and schema name are required');
|
|
51
|
+
}
|
|
52
|
+
// CRITICAL: Model instances load their data from database, not from Schema context.
|
|
53
|
+
// Schema is read-only with respect to Model instances.
|
|
54
|
+
const db = BaseDb.getAppDb();
|
|
55
|
+
let schemaFileId = id; // id is now the schemaFileId (string)
|
|
56
|
+
let modelRecord = null;
|
|
57
|
+
let foundBySchemaFileId = false; // Track if model was found by schemaFileId
|
|
58
|
+
console.log('has db', !!db);
|
|
59
|
+
// Step 1: Load from database FIRST (primary source of truth)
|
|
60
|
+
if (db) {
|
|
61
|
+
try {
|
|
62
|
+
// Try to find model by schemaFileId if provided
|
|
63
|
+
if (schemaFileId) {
|
|
64
|
+
const dbModels = await db
|
|
65
|
+
.select()
|
|
66
|
+
.from(models)
|
|
67
|
+
.where(eq(models.schemaFileId, schemaFileId))
|
|
68
|
+
.limit(1);
|
|
69
|
+
if (dbModels.length > 0) {
|
|
70
|
+
modelRecord = dbModels[0];
|
|
71
|
+
foundBySchemaFileId = true;
|
|
72
|
+
logger(`Found model "${modelName}" in database by schemaFileId "${schemaFileId}"`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
console.log('modelRecord', modelRecord);
|
|
76
|
+
// If not found by ID, try by name
|
|
77
|
+
// But if we have a schemaFileId and the model found by name has a different schemaFileId,
|
|
78
|
+
// don't use it - we're creating a new model from a schema file with a specific ID
|
|
79
|
+
if (!modelRecord) {
|
|
80
|
+
const dbModels = await db
|
|
81
|
+
.select()
|
|
82
|
+
.from(models)
|
|
83
|
+
.where(eq(models.name, modelName))
|
|
84
|
+
.limit(1);
|
|
85
|
+
console.log('dbModels.length', dbModels.length);
|
|
86
|
+
if (dbModels.length > 0) {
|
|
87
|
+
const foundModel = dbModels[0];
|
|
88
|
+
const dbSchemaFileId = foundModel.schemaFileId;
|
|
89
|
+
// CRITICAL: If we found a model in the database by name, check if there's already a cached instance
|
|
90
|
+
// with that schemaFileId. If so, we should use that instance's schemaFileId for the current instance.
|
|
91
|
+
// This handles the case where Model.create was called with a generated ID, but the model
|
|
92
|
+
// already exists in the database with a different ID. By updating the current instance's
|
|
93
|
+
// schemaFileId to match the database, both will point to the same cached instance.
|
|
94
|
+
if (dbSchemaFileId) {
|
|
95
|
+
try {
|
|
96
|
+
const { Model } = await import('../../Model.js');
|
|
97
|
+
if (Model.instanceCacheById.has(dbSchemaFileId)) {
|
|
98
|
+
logger(`Model "${modelName}" found in database by name with schemaFileId "${dbSchemaFileId}", and a cached instance already exists. Updating current instance to use the same schemaFileId.`);
|
|
99
|
+
// Update the current instance's schemaFileId to match the database
|
|
100
|
+
// This ensures both instances point to the same cached instance
|
|
101
|
+
modelRecord = foundModel;
|
|
102
|
+
schemaFileId = dbSchemaFileId;
|
|
103
|
+
logger(`Using existing cached instance with schemaFileId "${schemaFileId}" for model "${modelName}"`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
logger(`Error checking Model cache for schemaFileId "${dbSchemaFileId}": ${error}`);
|
|
108
|
+
// Fall through to normal processing
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// If we have a schemaFileId and it doesn't match the found model's schemaFileId,
|
|
112
|
+
// this is a new model from a schema file - don't use the existing model
|
|
113
|
+
// UNLESS we found a cached instance above (in which case modelRecord is already set)
|
|
114
|
+
if (!modelRecord && schemaFileId && dbSchemaFileId && schemaFileId !== dbSchemaFileId) {
|
|
115
|
+
logger(`Model "${modelName}" found by name but has different schemaFileId (provided: "${schemaFileId}", db: "${dbSchemaFileId}"). Creating new model.`);
|
|
116
|
+
// Don't set modelRecord - we'll create a new model
|
|
117
|
+
}
|
|
118
|
+
else if (!modelRecord) {
|
|
119
|
+
modelRecord = foundModel;
|
|
120
|
+
// Only use database schemaFileId if no id was explicitly provided
|
|
121
|
+
// If an id was provided, we should use it (it might be creating a new model with a specific ID)
|
|
122
|
+
if (!id && dbSchemaFileId) {
|
|
123
|
+
schemaFileId = dbSchemaFileId;
|
|
124
|
+
logger(`Using database schemaFileId "${schemaFileId}" for model "${modelName}" (no ID was provided)`);
|
|
125
|
+
}
|
|
126
|
+
else if (id) {
|
|
127
|
+
logger(`Preserving provided id (schemaFileId) "${schemaFileId}" for model "${modelName}" (ignoring database schemaFileId "${dbSchemaFileId}")`);
|
|
128
|
+
}
|
|
129
|
+
logger(`Found model "${modelName}" in database by name, schemaFileId: "${schemaFileId}"`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// If we found the model record, load its properties from database
|
|
134
|
+
if (modelRecord && modelRecord.id) {
|
|
135
|
+
const propertyRecords = await db
|
|
136
|
+
.select()
|
|
137
|
+
.from(properties)
|
|
138
|
+
.where(eq(properties.modelId, modelRecord.id));
|
|
139
|
+
console.log('propertyRecords.length', propertyRecords.length);
|
|
140
|
+
// Properties are now loaded via liveQuery, not passed through context
|
|
141
|
+
// The property records are used by liveQuery to populate ModelProperty instances
|
|
142
|
+
// Pre-create ModelProperty instances for all property IDs to ensure they're cached
|
|
143
|
+
// This ensures that ModelProperty.getById() in Model.properties getter will find the instances
|
|
144
|
+
const propertyFileIds = propertyRecords
|
|
145
|
+
.map(record => record.schemaFileId)
|
|
146
|
+
.filter((id) => id !== null);
|
|
147
|
+
if (propertyFileIds.length > 0) {
|
|
148
|
+
await createPropertyInstances(propertyFileIds);
|
|
149
|
+
}
|
|
150
|
+
// Generate schemaFileId if not set
|
|
151
|
+
if (!schemaFileId) {
|
|
152
|
+
schemaFileId = generateId();
|
|
153
|
+
logger(`Generated id (schemaFileId) "${schemaFileId}" for model "${modelName}"`);
|
|
154
|
+
}
|
|
155
|
+
// Include _dbId from database record so properties can be created if needed
|
|
156
|
+
// Even if we found an existing model, we may still need to create properties
|
|
157
|
+
// if _pendingPropertyDefinitions are provided
|
|
158
|
+
// Track conflict detection metadata
|
|
159
|
+
const loadedAt = Date.now();
|
|
160
|
+
// Note: models table doesn't have updatedAt or version, so we use loadedAt for _dbUpdatedAt
|
|
161
|
+
// In the future, if models table gets these fields, we should use them
|
|
162
|
+
const dbUpdatedAt = loadedAt;
|
|
163
|
+
// CRITICAL: Include _liveQueryPropertyIds in loadOrCreateModelSuccess event
|
|
164
|
+
// This ensures the properties getter works immediately, even before _setupLiveQuerySubscription runs
|
|
165
|
+
// We already have the property IDs from the database query, so include them now
|
|
166
|
+
sendBack({
|
|
167
|
+
type: 'loadOrCreateModelSuccess',
|
|
168
|
+
model: {
|
|
169
|
+
id: schemaFileId, // schemaFileId (string) - public ID
|
|
170
|
+
_dbId: modelRecord.id, // Database integer ID - internal only
|
|
171
|
+
_liveQueryPropertyIds: propertyFileIds, // Property IDs from database query
|
|
172
|
+
_propertiesUpdated: Date.now(), // Timestamp for tracking
|
|
173
|
+
_isEdited: modelRecord.isEdited ?? false, // Load isEdited from database
|
|
174
|
+
_loadedAt: loadedAt,
|
|
175
|
+
_dbUpdatedAt: dbUpdatedAt,
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
logger(`Error loading model from database: ${error}`);
|
|
183
|
+
// Fall through to create new model
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Step 2: Fallback to Schema context (only if database doesn't have the model)
|
|
187
|
+
// This handles the case where model exists in schema file but not yet in database
|
|
188
|
+
try {
|
|
189
|
+
const { Schema } = await import('../../../Schema/Schema.js');
|
|
190
|
+
const schema = Schema.create(schemaName);
|
|
191
|
+
const schemaSnapshot = schema.getService().getSnapshot();
|
|
192
|
+
// Wait for schema to load if it's still loading
|
|
193
|
+
if (schemaSnapshot.value === 'loading') {
|
|
194
|
+
await new Promise((resolve, reject) => {
|
|
195
|
+
const subscription = schema.getService().subscribe((snapshot) => {
|
|
196
|
+
if (snapshot.value === 'idle' || snapshot.value === 'error') {
|
|
197
|
+
subscription.unsubscribe();
|
|
198
|
+
if (snapshot.value === 'error') {
|
|
199
|
+
reject(new Error('Schema failed to load'));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
resolve();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
const schemaContext = schema.getService().getSnapshot().context;
|
|
209
|
+
if (schemaContext.models && schemaContext.models[modelName]) {
|
|
210
|
+
const modelData = schemaContext.models[modelName];
|
|
211
|
+
logger(`Found model "${modelName}" in Schema context (database fallback)`);
|
|
212
|
+
// Generate schemaFileId if not set
|
|
213
|
+
if (!schemaFileId) {
|
|
214
|
+
schemaFileId = generateId();
|
|
215
|
+
logger(`Generated id (schemaFileId) "${schemaFileId}" for model "${modelName}"`);
|
|
216
|
+
}
|
|
217
|
+
sendBack({
|
|
218
|
+
type: 'loadOrCreateModelSuccess',
|
|
219
|
+
model: {
|
|
220
|
+
id: schemaFileId, // schemaFileId (string) - public ID
|
|
221
|
+
},
|
|
222
|
+
});
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
logger(`Error loading model from Schema context: ${error}`);
|
|
228
|
+
// Fall through to create new model
|
|
229
|
+
}
|
|
230
|
+
// Step 3: Check for duplicate names in database before creating new model
|
|
231
|
+
// Skip duplicate check only if we found a model record to use (modelRecord is set)
|
|
232
|
+
// OR if the model was found by schemaFileId (preserving original name from schema file)
|
|
233
|
+
// OR if schemaFileId is provided (schema models should preserve original names)
|
|
234
|
+
// Otherwise, check for duplicates when creating a new model
|
|
235
|
+
let finalModelName = modelName;
|
|
236
|
+
if (db) {
|
|
237
|
+
// Only skip duplicate check if:
|
|
238
|
+
// 1. We found a model record to use (modelRecord is set), OR
|
|
239
|
+
// 2. The model was found by schemaFileId (preserving original name from schema file), OR
|
|
240
|
+
// 3. schemaFileId is provided (schema models should preserve original names from schema files)
|
|
241
|
+
const shouldSkipDuplicateCheck = modelRecord !== null || foundBySchemaFileId || !!schemaFileId;
|
|
242
|
+
logger(`Duplicate check: modelRecord=${modelRecord !== null}, foundBySchemaFileId=${foundBySchemaFileId}, schemaFileId=${schemaFileId}, shouldSkip=${shouldSkipDuplicateCheck}`);
|
|
243
|
+
if (!shouldSkipDuplicateCheck) {
|
|
244
|
+
try {
|
|
245
|
+
const lowerModelName = modelName.toLowerCase();
|
|
246
|
+
const existingNumbers = new Set();
|
|
247
|
+
// First, check Model cache for models (includes models from imported schemas that may not be in DB yet)
|
|
248
|
+
try {
|
|
249
|
+
const { Model } = await import('../../Model.js');
|
|
250
|
+
// Check name-based cache for this schema
|
|
251
|
+
logger(`Checking Model cache for duplicates in schema "${schemaName}"`);
|
|
252
|
+
for (const [nameKey, modelFileId] of Model.instanceCacheByName.entries()) {
|
|
253
|
+
const [cachedSchemaName, cachedModelName] = nameKey.split(':', 2);
|
|
254
|
+
if (cachedSchemaName === schemaName && cachedModelName) {
|
|
255
|
+
const lowerCachedName = cachedModelName.toLowerCase();
|
|
256
|
+
if (lowerCachedName === lowerModelName) {
|
|
257
|
+
existingNumbers.add(0); // Base name exists
|
|
258
|
+
logger(`Found duplicate in Model cache: "${cachedModelName}" matches "${modelName}"`);
|
|
259
|
+
}
|
|
260
|
+
else if (lowerCachedName.startsWith(lowerModelName + ' ')) {
|
|
261
|
+
// Check if it's the base name followed by a space and a number
|
|
262
|
+
const suffix = lowerCachedName.slice(lowerModelName.length + 1);
|
|
263
|
+
const number = parseInt(suffix, 10);
|
|
264
|
+
if (!isNaN(number) && suffix === number.toString()) {
|
|
265
|
+
existingNumbers.add(number);
|
|
266
|
+
logger(`Found numbered variant in Model cache: "${cachedModelName}" (number: ${number})`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// Also check legacy cache
|
|
272
|
+
for (const [nameKey] of Model.instanceCache?.keys() || []) {
|
|
273
|
+
const [cachedSchemaName, cachedModelName] = nameKey.split(':', 2);
|
|
274
|
+
if (cachedSchemaName === schemaName && cachedModelName) {
|
|
275
|
+
const lowerCachedName = cachedModelName.toLowerCase();
|
|
276
|
+
if (lowerCachedName === lowerModelName) {
|
|
277
|
+
existingNumbers.add(0); // Base name exists
|
|
278
|
+
logger(`Found duplicate in Model legacy cache: "${cachedModelName}" matches "${modelName}"`);
|
|
279
|
+
}
|
|
280
|
+
else if (lowerCachedName.startsWith(lowerModelName + ' ')) {
|
|
281
|
+
// Check if it's the base name followed by a space and a number
|
|
282
|
+
const suffix = lowerCachedName.slice(lowerModelName.length + 1);
|
|
283
|
+
const number = parseInt(suffix, 10);
|
|
284
|
+
if (!isNaN(number) && suffix === number.toString()) {
|
|
285
|
+
existingNumbers.add(number);
|
|
286
|
+
logger(`Found numbered variant in Model legacy cache: "${cachedModelName}" (number: ${number})`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
logger(`Error checking Model cache for duplicates: ${error}`);
|
|
294
|
+
// Continue with database check
|
|
295
|
+
}
|
|
296
|
+
// Also check database for models (in case they're persisted but not in Schema context)
|
|
297
|
+
if (db) {
|
|
298
|
+
const { modelSchemas } = await import('../../../seedSchema/ModelSchemaSchema.js');
|
|
299
|
+
const { schemas: schemasTable } = await import('../../../seedSchema/SchemaSchema.js');
|
|
300
|
+
// Query all models for this schema to check for duplicates (case-insensitive)
|
|
301
|
+
logger(`Checking database for duplicate model names in schema "${schemaName}"`);
|
|
302
|
+
const allModelsForSchema = await db
|
|
303
|
+
.select({
|
|
304
|
+
name: models.name,
|
|
305
|
+
})
|
|
306
|
+
.from(models)
|
|
307
|
+
.innerJoin(modelSchemas, eq(models.id, modelSchemas.modelId))
|
|
308
|
+
.innerJoin(schemasTable, eq(modelSchemas.schemaId, schemasTable.id))
|
|
309
|
+
.where(eq(schemasTable.name, schemaName));
|
|
310
|
+
logger(`Found ${allModelsForSchema.length} models in database for schema "${schemaName}": ${allModelsForSchema.map(m => m.name).join(', ')}`);
|
|
311
|
+
// Check for exact match (case-insensitive) or matches with number suffix
|
|
312
|
+
for (const dbModel of allModelsForSchema) {
|
|
313
|
+
const lowerDbName = dbModel.name.toLowerCase();
|
|
314
|
+
if (lowerDbName === lowerModelName) {
|
|
315
|
+
existingNumbers.add(0); // Base name exists
|
|
316
|
+
logger(`Found duplicate in database: "${dbModel.name}" matches "${modelName}"`);
|
|
317
|
+
}
|
|
318
|
+
else if (lowerDbName.startsWith(lowerModelName + ' ')) {
|
|
319
|
+
// Check if it's the base name followed by a space and a number
|
|
320
|
+
const suffix = lowerDbName.slice(lowerModelName.length + 1);
|
|
321
|
+
const number = parseInt(suffix, 10);
|
|
322
|
+
if (!isNaN(number) && suffix === number.toString()) {
|
|
323
|
+
existingNumbers.add(number);
|
|
324
|
+
logger(`Found numbered variant in database: "${dbModel.name}" (number: ${number})`);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// If duplicates found, generate unique name
|
|
330
|
+
logger(`Duplicate check results: existingNumbers=${Array.from(existingNumbers).join(', ')}, hasBaseName=${existingNumbers.has(0)}`);
|
|
331
|
+
if (existingNumbers.has(0)) {
|
|
332
|
+
let nextNumber = 1;
|
|
333
|
+
while (existingNumbers.has(nextNumber)) {
|
|
334
|
+
nextNumber++;
|
|
335
|
+
}
|
|
336
|
+
finalModelName = `${modelName} ${nextNumber}`;
|
|
337
|
+
logger(`Found duplicate model name "${modelName}" in schema "${schemaName}", using unique name "${finalModelName}"`);
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
logger(`No duplicate found for model name "${modelName}" in schema "${schemaName}"`);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
logger(`Error checking for duplicate model names: ${error}`);
|
|
345
|
+
// Continue with original name if check fails
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
if (foundBySchemaFileId) {
|
|
350
|
+
logger(`Preserving original model name "${modelName}" for model found by schemaFileId (schemaFileId: ${schemaFileId})`);
|
|
351
|
+
}
|
|
352
|
+
else if (modelRecord) {
|
|
353
|
+
logger(`Using existing model name "${modelName}" from database (modelRecord found)`);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
// Step 4: Create new empty model (not found in database or Schema context)
|
|
358
|
+
logger(`Creating new model "${finalModelName}" in schema "${schemaName}"`);
|
|
359
|
+
// Generate schemaFileId for new model
|
|
360
|
+
if (!schemaFileId) {
|
|
361
|
+
schemaFileId = generateId();
|
|
362
|
+
logger(`Generated id (schemaFileId) "${schemaFileId}" for new model "${finalModelName}"`);
|
|
363
|
+
}
|
|
364
|
+
sendBack({
|
|
365
|
+
type: 'loadOrCreateModelSuccess',
|
|
366
|
+
model: {
|
|
367
|
+
id: schemaFileId, // schemaFileId (string) - public ID
|
|
368
|
+
},
|
|
369
|
+
});
|
|
370
|
+
// Update modelName in context and cache if it was changed (send after success event)
|
|
371
|
+
if (finalModelName !== modelName) {
|
|
372
|
+
logger(`Model name changed from "${modelName}" to "${finalModelName}", updating cache and context`);
|
|
373
|
+
// Update the cache index
|
|
374
|
+
const { Model } = await import('../../Model.js');
|
|
375
|
+
Model.updateNameIndex(modelName, finalModelName, schemaName, schemaFileId);
|
|
376
|
+
// Update the context
|
|
377
|
+
sendBack({
|
|
378
|
+
type: 'updateContext',
|
|
379
|
+
modelName: finalModelName,
|
|
380
|
+
});
|
|
381
|
+
logger(`Sent updateContext event with modelName="${finalModelName}"`);
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
logger(`Model name unchanged: "${modelName}"`);
|
|
385
|
+
}
|
|
386
|
+
};
|
|
387
|
+
_loadOrCreateModel().catch((error) => {
|
|
388
|
+
logger('Error loading or creating model:', error);
|
|
389
|
+
sendBack({ type: 'loadOrCreateModelError', error });
|
|
390
|
+
});
|
|
391
|
+
return () => {
|
|
392
|
+
// Cleanup function (optional)
|
|
393
|
+
};
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
export { loadOrCreateModel };
|
|
397
|
+
//# sourceMappingURL=loadOrCreateModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadOrCreateModel.js","sources":["../../../../../src/Model/service/actors/loadOrCreateModel.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types'\nimport { ModelMachineContext } from '../modelMachine'\n// Dynamic import to break circular dependency: Model.ts -> modelMachine -> loadOrCreateModel -> Schema.ts -> Model.ts\n// import { Schema } from '@/Schema/Schema'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { models as modelsTable, properties as propertiesTable } from '@/seedSchema/ModelSchema'\nimport { eq, and } from 'drizzle-orm'\nimport { generateId } from '@/helpers'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:model:actors:loadOrCreateModel')\n\n/**\n * Create ModelProperty instances for all property IDs to ensure they're cached\n * This ensures that ModelProperty.getById() in Model.properties getter will find the instances\n * @param propertyFileIds - Array of property file IDs to create instances for\n */\nconst createPropertyInstances = async (propertyFileIds: string[]): Promise<void> => {\n if (propertyFileIds.length === 0) {\n return\n }\n\n try {\n const { ModelProperty } = await import('@/ModelProperty/ModelProperty')\n \n // Create instances for all property IDs in parallel\n // ModelProperty.createById() will check cache first, then query DB and create if needed\n const createPromises = propertyFileIds.map(async (propertyFileId) => {\n try {\n const property = await ModelProperty.createById(propertyFileId)\n if (property) {\n logger(`Created/cached ModelProperty instance for propertyFileId \"${propertyFileId}\"`)\n } else {\n logger(`ModelProperty.createById returned undefined for propertyFileId \"${propertyFileId}\" (may not exist in DB yet)`)\n }\n } catch (error) {\n logger(`Error creating ModelProperty instance for propertyFileId \"${propertyFileId}\": ${error}`)\n // Don't throw - continue with other properties\n }\n })\n \n await Promise.all(createPromises)\n logger(`Finished creating/caching ${propertyFileIds.length} ModelProperty instances`)\n } catch (error) {\n logger(`Error in createPropertyInstances: ${error}`)\n // Don't throw - this is best-effort to pre-populate cache\n }\n}\n\nexport const loadOrCreateModel = fromCallback<\n EventObject,\n FromCallbackInput<ModelMachineContext>\n>(({ sendBack, input: { context } }) => {\n const _loadOrCreateModel = async (): Promise<void> => {\n const { modelName, schemaName, id } = context // id is now the schemaFileId (string)\n\n console.log('loadOrCreateModel called for', modelName, 'with schemaName', schemaName, 'and id', id)\n\n if (!modelName || !schemaName) {\n throw new Error('Model name and schema name are required')\n }\n\n // CRITICAL: Model instances load their data from database, not from Schema context.\n // Schema is read-only with respect to Model instances.\n\n const db = BaseDb.getAppDb()\n let schemaFileId = id // id is now the schemaFileId (string)\n let modelRecord: any = null\n let foundBySchemaFileId = false // Track if model was found by schemaFileId\n\n console.log('has db', !!db)\n\n // Step 1: Load from database FIRST (primary source of truth)\n if (db) {\n try {\n // Try to find model by schemaFileId if provided\n if (schemaFileId) {\n const dbModels = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.schemaFileId, schemaFileId))\n .limit(1)\n \n if (dbModels.length > 0) {\n modelRecord = dbModels[0]\n foundBySchemaFileId = true\n logger(`Found model \"${modelName}\" in database by schemaFileId \"${schemaFileId}\"`)\n }\n }\n \n console.log('modelRecord', modelRecord)\n\n // If not found by ID, try by name\n // But if we have a schemaFileId and the model found by name has a different schemaFileId,\n // don't use it - we're creating a new model from a schema file with a specific ID\n if (!modelRecord) {\n const dbModels = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n console.log('dbModels.length', dbModels.length)\n \n if (dbModels.length > 0) {\n const foundModel = dbModels[0]\n const dbSchemaFileId = foundModel.schemaFileId\n \n // CRITICAL: If we found a model in the database by name, check if there's already a cached instance\n // with that schemaFileId. If so, we should use that instance's schemaFileId for the current instance.\n // This handles the case where Model.create was called with a generated ID, but the model\n // already exists in the database with a different ID. By updating the current instance's\n // schemaFileId to match the database, both will point to the same cached instance.\n if (dbSchemaFileId) {\n try {\n const { Model } = await import('@/Model/Model')\n if (Model.instanceCacheById.has(dbSchemaFileId)) {\n logger(`Model \"${modelName}\" found in database by name with schemaFileId \"${dbSchemaFileId}\", and a cached instance already exists. Updating current instance to use the same schemaFileId.`)\n // Update the current instance's schemaFileId to match the database\n // This ensures both instances point to the same cached instance\n modelRecord = foundModel\n schemaFileId = dbSchemaFileId\n logger(`Using existing cached instance with schemaFileId \"${schemaFileId}\" for model \"${modelName}\"`)\n }\n } catch (error) {\n logger(`Error checking Model cache for schemaFileId \"${dbSchemaFileId}\": ${error}`)\n // Fall through to normal processing\n }\n }\n \n // If we have a schemaFileId and it doesn't match the found model's schemaFileId,\n // this is a new model from a schema file - don't use the existing model\n // UNLESS we found a cached instance above (in which case modelRecord is already set)\n if (!modelRecord && schemaFileId && dbSchemaFileId && schemaFileId !== dbSchemaFileId) {\n logger(`Model \"${modelName}\" found by name but has different schemaFileId (provided: \"${schemaFileId}\", db: \"${dbSchemaFileId}\"). Creating new model.`)\n // Don't set modelRecord - we'll create a new model\n } else if (!modelRecord) {\n modelRecord = foundModel\n // Only use database schemaFileId if no id was explicitly provided\n // If an id was provided, we should use it (it might be creating a new model with a specific ID)\n if (!id && dbSchemaFileId) {\n schemaFileId = dbSchemaFileId\n logger(`Using database schemaFileId \"${schemaFileId}\" for model \"${modelName}\" (no ID was provided)`)\n } else if (id) {\n logger(`Preserving provided id (schemaFileId) \"${schemaFileId}\" for model \"${modelName}\" (ignoring database schemaFileId \"${dbSchemaFileId}\")`)\n }\n logger(`Found model \"${modelName}\" in database by name, schemaFileId: \"${schemaFileId}\"`)\n }\n }\n }\n\n // If we found the model record, load its properties from database\n if (modelRecord && modelRecord.id) {\n const propertyRecords = await db\n .select()\n .from(propertiesTable)\n .where(eq(propertiesTable.modelId, modelRecord.id))\n\n console.log('propertyRecords.length', propertyRecords.length)\n\n // Properties are now loaded via liveQuery, not passed through context\n // The property records are used by liveQuery to populate ModelProperty instances\n\n // Pre-create ModelProperty instances for all property IDs to ensure they're cached\n // This ensures that ModelProperty.getById() in Model.properties getter will find the instances\n const propertyFileIds = propertyRecords\n .map(record => record.schemaFileId)\n .filter((id): id is string => id !== null)\n\n if (propertyFileIds.length > 0) {\n await createPropertyInstances(propertyFileIds)\n }\n\n // Generate schemaFileId if not set\n if (!schemaFileId) {\n schemaFileId = generateId()\n logger(`Generated id (schemaFileId) \"${schemaFileId}\" for model \"${modelName}\"`)\n }\n\n // Include _dbId from database record so properties can be created if needed\n // Even if we found an existing model, we may still need to create properties\n // if _pendingPropertyDefinitions are provided\n \n // Track conflict detection metadata\n const loadedAt = Date.now()\n // Note: models table doesn't have updatedAt or version, so we use loadedAt for _dbUpdatedAt\n // In the future, if models table gets these fields, we should use them\n const dbUpdatedAt = loadedAt\n \n // CRITICAL: Include _liveQueryPropertyIds in loadOrCreateModelSuccess event\n // This ensures the properties getter works immediately, even before _setupLiveQuerySubscription runs\n // We already have the property IDs from the database query, so include them now\n sendBack({\n type: 'loadOrCreateModelSuccess',\n model: {\n id: schemaFileId, // schemaFileId (string) - public ID\n _dbId: modelRecord.id, // Database integer ID - internal only\n _liveQueryPropertyIds: propertyFileIds, // Property IDs from database query\n _propertiesUpdated: Date.now(), // Timestamp for tracking\n _isEdited: modelRecord.isEdited ?? false, // Load isEdited from database\n _loadedAt: loadedAt,\n _dbUpdatedAt: dbUpdatedAt,\n },\n })\n return\n }\n } catch (error) {\n logger(`Error loading model from database: ${error}`)\n // Fall through to create new model\n }\n }\n\n // Step 2: Fallback to Schema context (only if database doesn't have the model)\n // This handles the case where model exists in schema file but not yet in database\n try {\n const { Schema } = await import('@/Schema/Schema')\n const schema = Schema.create(schemaName)\n const schemaSnapshot = schema.getService().getSnapshot()\n \n // Wait for schema to load if it's still loading\n if (schemaSnapshot.value === 'loading') {\n await new Promise<void>((resolve, reject) => {\n const subscription = schema.getService().subscribe((snapshot) => {\n if (snapshot.value === 'idle' || snapshot.value === 'error') {\n subscription.unsubscribe()\n if (snapshot.value === 'error') {\n reject(new Error('Schema failed to load'))\n } else {\n resolve()\n }\n }\n })\n })\n }\n\n const schemaContext = schema.getService().getSnapshot().context\n \n if (schemaContext.models && schemaContext.models[modelName]) {\n const modelData = schemaContext.models[modelName]\n logger(`Found model \"${modelName}\" in Schema context (database fallback)`)\n \n // Generate schemaFileId if not set\n if (!schemaFileId) {\n schemaFileId = generateId()\n logger(`Generated id (schemaFileId) \"${schemaFileId}\" for model \"${modelName}\"`)\n }\n \n sendBack({\n type: 'loadOrCreateModelSuccess',\n model: {\n id: schemaFileId, // schemaFileId (string) - public ID\n },\n })\n return\n }\n } catch (error) {\n logger(`Error loading model from Schema context: ${error}`)\n // Fall through to create new model\n }\n\n // Step 3: Check for duplicate names in database before creating new model\n // Skip duplicate check only if we found a model record to use (modelRecord is set)\n // OR if the model was found by schemaFileId (preserving original name from schema file)\n // OR if schemaFileId is provided (schema models should preserve original names)\n // Otherwise, check for duplicates when creating a new model\n let finalModelName = modelName\n if (db) {\n // Only skip duplicate check if:\n // 1. We found a model record to use (modelRecord is set), OR\n // 2. The model was found by schemaFileId (preserving original name from schema file), OR\n // 3. schemaFileId is provided (schema models should preserve original names from schema files)\n const shouldSkipDuplicateCheck = modelRecord !== null || foundBySchemaFileId || !!schemaFileId\n \n logger(`Duplicate check: modelRecord=${modelRecord !== null}, foundBySchemaFileId=${foundBySchemaFileId}, schemaFileId=${schemaFileId}, shouldSkip=${shouldSkipDuplicateCheck}`)\n \n if (!shouldSkipDuplicateCheck) {\n try {\n const lowerModelName = modelName.toLowerCase()\n const existingNumbers = new Set<number>()\n \n // First, check Model cache for models (includes models from imported schemas that may not be in DB yet)\n try {\n const { Model } = await import('@/Model/Model')\n \n // Check name-based cache for this schema\n logger(`Checking Model cache for duplicates in schema \"${schemaName}\"`)\n for (const [nameKey, modelFileId] of Model.instanceCacheByName.entries()) {\n const [cachedSchemaName, cachedModelName] = nameKey.split(':', 2)\n if (cachedSchemaName === schemaName && cachedModelName) {\n const lowerCachedName = cachedModelName.toLowerCase()\n if (lowerCachedName === lowerModelName) {\n existingNumbers.add(0) // Base name exists\n logger(`Found duplicate in Model cache: \"${cachedModelName}\" matches \"${modelName}\"`)\n } else if (lowerCachedName.startsWith(lowerModelName + ' ')) {\n // Check if it's the base name followed by a space and a number\n const suffix = lowerCachedName.slice(lowerModelName.length + 1)\n const number = parseInt(suffix, 10)\n if (!isNaN(number) && suffix === number.toString()) {\n existingNumbers.add(number)\n logger(`Found numbered variant in Model cache: \"${cachedModelName}\" (number: ${number})`)\n }\n }\n }\n }\n \n // Also check legacy cache\n for (const [nameKey] of (Model as any).instanceCache?.keys() || []) {\n const [cachedSchemaName, cachedModelName] = nameKey.split(':', 2)\n if (cachedSchemaName === schemaName && cachedModelName) {\n const lowerCachedName = cachedModelName.toLowerCase()\n if (lowerCachedName === lowerModelName) {\n existingNumbers.add(0) // Base name exists\n logger(`Found duplicate in Model legacy cache: \"${cachedModelName}\" matches \"${modelName}\"`)\n } else if (lowerCachedName.startsWith(lowerModelName + ' ')) {\n // Check if it's the base name followed by a space and a number\n const suffix = lowerCachedName.slice(lowerModelName.length + 1)\n const number = parseInt(suffix, 10)\n if (!isNaN(number) && suffix === number.toString()) {\n existingNumbers.add(number)\n logger(`Found numbered variant in Model legacy cache: \"${cachedModelName}\" (number: ${number})`)\n }\n }\n }\n }\n } catch (error) {\n logger(`Error checking Model cache for duplicates: ${error}`)\n // Continue with database check\n }\n \n // Also check database for models (in case they're persisted but not in Schema context)\n if (db) {\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n \n // Query all models for this schema to check for duplicates (case-insensitive)\n logger(`Checking database for duplicate model names in schema \"${schemaName}\"`)\n const allModelsForSchema = await db\n .select({\n name: modelsTable.name,\n })\n .from(modelsTable)\n .innerJoin(modelSchemas, eq(modelsTable.id, modelSchemas.modelId))\n .innerJoin(schemasTable, eq(modelSchemas.schemaId, schemasTable.id))\n .where(eq(schemasTable.name, schemaName))\n \n logger(`Found ${allModelsForSchema.length} models in database for schema \"${schemaName}\": ${allModelsForSchema.map(m => m.name).join(', ')}`)\n \n // Check for exact match (case-insensitive) or matches with number suffix\n for (const dbModel of allModelsForSchema) {\n const lowerDbName = dbModel.name.toLowerCase()\n if (lowerDbName === lowerModelName) {\n existingNumbers.add(0) // Base name exists\n logger(`Found duplicate in database: \"${dbModel.name}\" matches \"${modelName}\"`)\n } else if (lowerDbName.startsWith(lowerModelName + ' ')) {\n // Check if it's the base name followed by a space and a number\n const suffix = lowerDbName.slice(lowerModelName.length + 1)\n const number = parseInt(suffix, 10)\n if (!isNaN(number) && suffix === number.toString()) {\n existingNumbers.add(number)\n logger(`Found numbered variant in database: \"${dbModel.name}\" (number: ${number})`)\n }\n }\n }\n }\n \n // If duplicates found, generate unique name\n logger(`Duplicate check results: existingNumbers=${Array.from(existingNumbers).join(', ')}, hasBaseName=${existingNumbers.has(0)}`)\n if (existingNumbers.has(0)) {\n let nextNumber = 1\n while (existingNumbers.has(nextNumber)) {\n nextNumber++\n }\n finalModelName = `${modelName} ${nextNumber}`\n logger(`Found duplicate model name \"${modelName}\" in schema \"${schemaName}\", using unique name \"${finalModelName}\"`)\n } else {\n logger(`No duplicate found for model name \"${modelName}\" in schema \"${schemaName}\"`)\n }\n } catch (error) {\n logger(`Error checking for duplicate model names: ${error}`)\n // Continue with original name if check fails\n }\n } else {\n if (foundBySchemaFileId) {\n logger(`Preserving original model name \"${modelName}\" for model found by schemaFileId (schemaFileId: ${schemaFileId})`)\n } else if (modelRecord) {\n logger(`Using existing model name \"${modelName}\" from database (modelRecord found)`)\n }\n }\n }\n \n // Step 4: Create new empty model (not found in database or Schema context)\n logger(`Creating new model \"${finalModelName}\" in schema \"${schemaName}\"`)\n \n // Generate schemaFileId for new model\n if (!schemaFileId) {\n schemaFileId = generateId()\n logger(`Generated id (schemaFileId) \"${schemaFileId}\" for new model \"${finalModelName}\"`)\n }\n \n sendBack({\n type: 'loadOrCreateModelSuccess',\n model: {\n id: schemaFileId, // schemaFileId (string) - public ID\n },\n })\n \n // Update modelName in context and cache if it was changed (send after success event)\n if (finalModelName !== modelName) {\n logger(`Model name changed from \"${modelName}\" to \"${finalModelName}\", updating cache and context`)\n // Update the cache index\n const { Model } = await import('@/Model/Model')\n Model.updateNameIndex(modelName, finalModelName, schemaName, schemaFileId)\n \n // Update the context\n sendBack({\n type: 'updateContext',\n modelName: finalModelName,\n })\n logger(`Sent updateContext event with modelName=\"${finalModelName}\"`)\n } else {\n logger(`Model name unchanged: \"${modelName}\"`)\n }\n }\n\n _loadOrCreateModel().catch((error) => {\n logger('Error loading or creating model:', error)\n sendBack({ type: 'loadOrCreateModelError', error })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n\n"],"names":["modelsTable","propertiesTable"],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { fromCallback } from 'xstate';
|
|
2
|
+
import debug from 'debug';
|
|
3
|
+
|
|
4
|
+
const logger = debug('seedSdk:model:actors:validateModel');
|
|
5
|
+
// Validation timeout in milliseconds (10 seconds)
|
|
6
|
+
const VALIDATION_TIMEOUT_MS = 10000;
|
|
7
|
+
const validateModel = fromCallback(({ sendBack, input: { context } }) => {
|
|
8
|
+
let hasResponded = false;
|
|
9
|
+
// Timeout handler to ensure we always respond
|
|
10
|
+
const timeoutId = setTimeout(() => {
|
|
11
|
+
if (!hasResponded) {
|
|
12
|
+
hasResponded = true;
|
|
13
|
+
sendBack({
|
|
14
|
+
type: 'validationError',
|
|
15
|
+
errors: [{
|
|
16
|
+
field: 'model',
|
|
17
|
+
message: `Model validation timed out after ${VALIDATION_TIMEOUT_MS}ms`,
|
|
18
|
+
code: 'validation_timeout',
|
|
19
|
+
severity: 'error',
|
|
20
|
+
}],
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}, VALIDATION_TIMEOUT_MS);
|
|
24
|
+
const _validateModel = async () => {
|
|
25
|
+
try {
|
|
26
|
+
// Use dynamic imports to break circular dependencies
|
|
27
|
+
const { SchemaValidationService } = await import('../../../Schema/service/validation/SchemaValidationService.js');
|
|
28
|
+
const validationService = new SchemaValidationService();
|
|
29
|
+
const { Schema } = await import('../../../Schema/Schema.js');
|
|
30
|
+
// Validate model structure
|
|
31
|
+
const structureResult = validationService.validateModelStructure(context);
|
|
32
|
+
if (!structureResult.isValid) {
|
|
33
|
+
if (!hasResponded) {
|
|
34
|
+
hasResponded = true;
|
|
35
|
+
clearTimeout(timeoutId);
|
|
36
|
+
sendBack({ type: 'validationError', errors: structureResult.errors });
|
|
37
|
+
}
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// If we have schema name, validate against schema
|
|
41
|
+
// CRITICAL: Use validateModelAgainstSchema which doesn't require the model to be in schema context
|
|
42
|
+
// This allows validation BEFORE registration, preventing update loops
|
|
43
|
+
if (context.schemaName) {
|
|
44
|
+
try {
|
|
45
|
+
const schema = Schema.create(context.schemaName);
|
|
46
|
+
const schemaSnapshot = schema.getService().getSnapshot();
|
|
47
|
+
const schemaStatus = schemaSnapshot.value;
|
|
48
|
+
// Only validate against schema if it's loaded (in idle state)
|
|
49
|
+
if (schemaStatus === 'idle') {
|
|
50
|
+
const schemaContext = schemaSnapshot.context;
|
|
51
|
+
// Use validateModelAgainstSchema which validates the model data directly
|
|
52
|
+
// without requiring it to be in schema.models. This prevents loops because:
|
|
53
|
+
// 1. Model validates against schema (model NOT in schema context yet)
|
|
54
|
+
// 2. If valid, model gets registered with schema
|
|
55
|
+
// 3. No need for manual updates because model is already correct (liveQuery handles updates)
|
|
56
|
+
const schemaResult = validationService.validateModelAgainstSchema(schemaContext, context.modelName, context);
|
|
57
|
+
if (!schemaResult.isValid) {
|
|
58
|
+
if (!hasResponded) {
|
|
59
|
+
hasResponded = true;
|
|
60
|
+
clearTimeout(timeoutId);
|
|
61
|
+
sendBack({ type: 'validationError', errors: schemaResult.errors });
|
|
62
|
+
}
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
logger(`Schema is in ${schemaStatus} state, skipping schema validation`);
|
|
68
|
+
// Continue with structure validation only
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
logger('Error validating model against schema:', error);
|
|
73
|
+
// Continue with structure validation only
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// All validations passed
|
|
77
|
+
if (!hasResponded) {
|
|
78
|
+
hasResponded = true;
|
|
79
|
+
clearTimeout(timeoutId);
|
|
80
|
+
sendBack({ type: 'validationSuccess', errors: [] });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (!hasResponded) {
|
|
85
|
+
hasResponded = true;
|
|
86
|
+
clearTimeout(timeoutId);
|
|
87
|
+
logger('Error in validateModel:', error);
|
|
88
|
+
sendBack({
|
|
89
|
+
type: 'validationError',
|
|
90
|
+
errors: [{
|
|
91
|
+
field: 'model',
|
|
92
|
+
message: error instanceof Error ? error.message : 'Unknown validation error',
|
|
93
|
+
code: 'validation_exception',
|
|
94
|
+
severity: 'error',
|
|
95
|
+
}],
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
_validateModel().catch((error) => {
|
|
101
|
+
if (!hasResponded) {
|
|
102
|
+
hasResponded = true;
|
|
103
|
+
clearTimeout(timeoutId);
|
|
104
|
+
logger('Error in validateModel:', error);
|
|
105
|
+
sendBack({
|
|
106
|
+
type: 'validationError',
|
|
107
|
+
errors: [{
|
|
108
|
+
field: 'model',
|
|
109
|
+
message: error instanceof Error ? error.message : 'Unknown validation error',
|
|
110
|
+
code: 'validation_exception',
|
|
111
|
+
severity: 'error',
|
|
112
|
+
}],
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
return () => {
|
|
117
|
+
// Cleanup function - clear timeout if actor is stopped
|
|
118
|
+
clearTimeout(timeoutId);
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
export { validateModel };
|
|
123
|
+
//# sourceMappingURL=validateModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateModel.js","sources":["../../../../../src/Model/service/actors/validateModel.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types'\nimport { ModelMachineContext } from '../modelMachine'\n// Dynamic imports to break circular dependencies:\n// - schema/index -> ... -> validateModel -> SchemaValidationService -> schema/index\n// - Model.ts -> ... -> validateModel -> Schema.ts -> Model.ts\n// import { SchemaValidationService } from '@/Schema/service/validation/SchemaValidationService'\n// import { Schema } from '@/Schema/Schema'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:model:actors:validateModel')\n\n// Validation timeout in milliseconds (10 seconds)\nconst VALIDATION_TIMEOUT_MS = 10000\n\nexport const validateModel = fromCallback<\n EventObject,\n FromCallbackInput<ModelMachineContext>\n>(({ sendBack, input: { context } }) => {\n let hasResponded = false\n \n // Timeout handler to ensure we always respond\n const timeoutId = setTimeout(() => {\n if (!hasResponded) {\n hasResponded = true\n sendBack({\n type: 'validationError',\n errors: [{\n field: 'model',\n message: `Model validation timed out after ${VALIDATION_TIMEOUT_MS}ms`,\n code: 'validation_timeout',\n severity: 'error' as const,\n }],\n })\n }\n }, VALIDATION_TIMEOUT_MS)\n\n const _validateModel = async (): Promise<void> => {\n try {\n // Use dynamic imports to break circular dependencies\n const { SchemaValidationService } = await import('@/Schema/service/validation/SchemaValidationService')\n const validationService = new SchemaValidationService()\n const { Schema } = await import('@/Schema/Schema')\n \n // Validate model structure\n const structureResult = validationService.validateModelStructure(context)\n \n if (!structureResult.isValid) {\n if (!hasResponded) {\n hasResponded = true\n clearTimeout(timeoutId)\n sendBack({ type: 'validationError', errors: structureResult.errors })\n }\n return\n }\n\n // If we have schema name, validate against schema\n // CRITICAL: Use validateModelAgainstSchema which doesn't require the model to be in schema context\n // This allows validation BEFORE registration, preventing update loops\n if (context.schemaName) {\n try {\n const schema = Schema.create(context.schemaName)\n const schemaSnapshot = schema.getService().getSnapshot()\n const schemaStatus = schemaSnapshot.value\n \n // Only validate against schema if it's loaded (in idle state)\n if (schemaStatus === 'idle') {\n const schemaContext = schemaSnapshot.context\n \n // Use validateModelAgainstSchema which validates the model data directly\n // without requiring it to be in schema.models. This prevents loops because:\n // 1. Model validates against schema (model NOT in schema context yet)\n // 2. If valid, model gets registered with schema\n // 3. No need for manual updates because model is already correct (liveQuery handles updates)\n const schemaResult = validationService.validateModelAgainstSchema(\n schemaContext,\n context.modelName,\n context\n )\n \n if (!schemaResult.isValid) {\n if (!hasResponded) {\n hasResponded = true\n clearTimeout(timeoutId)\n sendBack({ type: 'validationError', errors: schemaResult.errors })\n }\n return\n }\n } else {\n logger(`Schema is in ${schemaStatus} state, skipping schema validation`)\n // Continue with structure validation only\n }\n } catch (error) {\n logger('Error validating model against schema:', error)\n // Continue with structure validation only\n }\n }\n\n // All validations passed\n if (!hasResponded) {\n hasResponded = true\n clearTimeout(timeoutId)\n sendBack({ type: 'validationSuccess', errors: [] })\n }\n } catch (error) {\n if (!hasResponded) {\n hasResponded = true\n clearTimeout(timeoutId)\n logger('Error in validateModel:', error)\n sendBack({\n type: 'validationError',\n errors: [{\n field: 'model',\n message: error instanceof Error ? error.message : 'Unknown validation error',\n code: 'validation_exception',\n severity: 'error' as const,\n }],\n })\n }\n }\n }\n\n _validateModel().catch((error) => {\n if (!hasResponded) {\n hasResponded = true\n clearTimeout(timeoutId)\n logger('Error in validateModel:', error)\n sendBack({\n type: 'validationError',\n errors: [{\n field: 'model',\n message: error instanceof Error ? error.message : 'Unknown validation error',\n code: 'validation_exception',\n severity: 'error' as const,\n }],\n })\n }\n })\n\n return () => {\n // Cleanup function - clear timeout if actor is stopped\n clearTimeout(timeoutId)\n }\n})\n\n"],"names":[],"mappings":"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"}
|