@seedprotocol/sdk 0.4.2 → 0.4.3
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/dist/ArweaveClient-BvJ1FhQ5.js +202 -0
- package/dist/ArweaveClient-BvJ1FhQ5.js.map +1 -0
- package/dist/ArweaveClient-CleX_4Gw.js +202 -0
- package/dist/ArweaveClient-CleX_4Gw.js.map +1 -0
- package/dist/Db-BPnO1-_p.js +343 -0
- package/dist/Db-BPnO1-_p.js.map +1 -0
- package/dist/Db-DX08SxS9.js +1521 -0
- package/dist/Db-DX08SxS9.js.map +1 -0
- package/dist/EasClient-BwhUcPjY.js +29 -0
- package/dist/EasClient-BwhUcPjY.js.map +1 -0
- package/dist/EasClient-CJSs38Db.js +29 -0
- package/dist/EasClient-CJSs38Db.js.map +1 -0
- package/dist/FileManager-B1tdLMsX.js +1152 -0
- package/dist/FileManager-B1tdLMsX.js.map +1 -0
- package/dist/FileManager-Ct91ZhOE.js +165 -0
- package/dist/FileManager-Ct91ZhOE.js.map +1 -0
- package/dist/Item/Item.d.ts +113 -0
- package/dist/Item/Item.d.ts.map +1 -0
- package/dist/Item/queries.d.ts.map +1 -0
- package/dist/Item/service/actors/fetchDataFromEas.d.ts +4 -0
- package/dist/Item/service/actors/fetchDataFromEas.d.ts.map +1 -0
- package/dist/Item/service/actors/hydrateExistingItem.d.ts.map +1 -0
- package/dist/Item/service/actors/hydrateNewItem.d.ts.map +1 -0
- package/dist/Item/service/actors/initialize.d.ts.map +1 -0
- package/dist/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
- package/dist/Item/service/actors/reload.d.ts.map +1 -0
- package/dist/Item/service/actors/saveDataToDb.d.ts +4 -0
- package/dist/Item/service/actors/saveDataToDb.d.ts.map +1 -0
- package/dist/Item/service/actors/waitForDb.d.ts.map +1 -0
- package/dist/Item/service/itemMachineSingle.d.ts +48 -0
- package/dist/Item/service/itemMachineSingle.d.ts.map +1 -0
- package/dist/ItemProperty/ItemProperty.d.ts +93 -0
- package/dist/ItemProperty/ItemProperty.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/initialize.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -0
- package/dist/ItemProperty/service/actors/waitForDb.d.ts.map +1 -0
- package/dist/ItemProperty/service/propertyMachine.d.ts +68 -0
- package/dist/ItemProperty/service/propertyMachine.d.ts.map +1 -0
- package/dist/Model/Model.d.ts +218 -0
- package/dist/Model/Model.d.ts.map +1 -0
- package/dist/Model/index.d.ts +26 -0
- package/dist/Model/index.d.ts.map +1 -0
- package/dist/Model/service/actors/createModelProperties.d.ts.map +1 -0
- package/dist/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
- package/dist/Model/service/actors/validateModel.d.ts.map +1 -0
- package/dist/Model/service/modelMachine.d.ts +207 -0
- package/dist/Model/service/modelMachine.d.ts.map +1 -0
- package/dist/ModelProperty/ModelProperty.d.ts +123 -0
- package/dist/ModelProperty/ModelProperty.d.ts.map +1 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
- package/dist/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
- package/dist/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
- package/dist/ModelProperty/service/modelPropertyMachine.d.ts +183 -0
- package/dist/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
- package/dist/ModelProperty-Cr3BmgkC.js +2218 -0
- package/dist/ModelProperty-Cr3BmgkC.js.map +1 -0
- package/dist/PathResolver-BErmcZqP.js +191 -0
- package/dist/PathResolver-BErmcZqP.js.map +1 -0
- package/dist/PathResolver-DJdxE_OK.js +78 -0
- package/dist/PathResolver-DJdxE_OK.js.map +1 -0
- package/dist/QueryClient-D2mv63gP.js +34 -0
- package/dist/QueryClient-D2mv63gP.js.map +1 -0
- package/dist/QueryClient-DIu9c-w6.js +47 -0
- package/dist/QueryClient-DIu9c-w6.js.map +1 -0
- package/dist/Schema/Schema.d.ts +165 -0
- package/dist/Schema/Schema.d.ts.map +1 -0
- package/dist/Schema/errors.d.ts.map +1 -0
- package/dist/Schema/index.d.ts.map +1 -0
- package/dist/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
- package/dist/Schema/service/actors/createModelInstances.d.ts.map +1 -0
- package/dist/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
- package/dist/Schema/service/actors/validateSchema.d.ts.map +1 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
- package/dist/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
- package/dist/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
- package/dist/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
- package/dist/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
- package/dist/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
- package/dist/Schema/service/addModelsMachine.d.ts +123 -0
- package/dist/Schema/service/addModelsMachine.d.ts.map +1 -0
- package/dist/Schema/service/schemaMachine.d.ts +512 -0
- package/dist/Schema/service/schemaMachine.d.ts.map +1 -0
- package/dist/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
- package/dist/Schema/validation.d.ts.map +1 -0
- package/dist/Schema-DeKabJ0T.js +5745 -0
- package/dist/Schema-DeKabJ0T.js.map +1 -0
- package/dist/SchemaValidationService-cTlURuDt.js +563 -0
- package/dist/SchemaValidationService-cTlURuDt.js.map +1 -0
- package/dist/browser/db/Db.d.ts.map +1 -0
- package/dist/browser/db/drizzleFiles.d.ts.map +1 -0
- package/dist/browser/db/sqlWasmClient.d.ts.map +1 -0
- package/dist/browser/helpers/ArweaveClient.d.ts +31 -0
- package/dist/browser/helpers/ArweaveClient.d.ts.map +1 -0
- package/dist/browser/helpers/EasClient.d.ts.map +1 -0
- package/dist/browser/helpers/FileManager.d.ts.map +1 -0
- package/dist/browser/helpers/PathResolver.d.ts.map +1 -0
- package/dist/browser/helpers/QueryClient.d.ts.map +1 -0
- package/dist/browser/helpers/index.d.ts +4 -0
- package/dist/browser/helpers/index.d.ts.map +1 -0
- package/dist/browser/index.d.ts +4 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/react/OPFSImage.d.ts.map +1 -0
- package/dist/browser/react/SeedImage.d.ts.map +1 -0
- package/dist/browser/react/client.d.ts.map +1 -0
- package/dist/browser/react/db.d.ts.map +1 -0
- package/dist/browser/react/index.d.ts.map +1 -0
- package/dist/browser/react/item.d.ts +38 -0
- package/dist/browser/react/item.d.ts.map +1 -0
- package/dist/browser/react/itemProperty.d.ts.map +1 -0
- package/dist/browser/react/liveQuery.d.ts.map +1 -0
- package/dist/browser/react/model.d.ts.map +1 -0
- package/dist/browser/react/modelProperty.d.ts.map +1 -0
- package/dist/browser/react/schema.d.ts.map +1 -0
- package/dist/browser/react/services.d.ts.map +1 -0
- package/dist/browser/react/trash.d.ts +6 -0
- package/dist/browser/react/trash.d.ts.map +1 -0
- package/dist/browser/seed.d.ts +21 -0
- package/dist/browser/seed.d.ts.map +1 -0
- package/dist/browser/workers/FileDownloader.d.ts.map +1 -0
- package/dist/browser/workers/ImageResizer.d.ts.map +1 -0
- package/dist/browser/workers/content-hash.d.ts.map +1 -0
- package/dist/browser/workers/dbWorker.d.ts.map +1 -0
- package/dist/browser/workers/filesDownload.d.ts.map +1 -0
- package/dist/browser/workers/imageResize.d.ts.map +1 -0
- package/dist/cjs/ModelProperty-MkN5Rmx7.js +1866 -0
- package/dist/cjs/ModelProperty-MkN5Rmx7.js.map +1 -0
- package/dist/cjs/Schema-B5cr_JVK.js +5762 -0
- package/dist/cjs/Schema-B5cr_JVK.js.map +1 -0
- package/dist/cjs/SchemaValidationService-BgIzc3-r.js +579 -0
- package/dist/cjs/SchemaValidationService-BgIzc3-r.js.map +1 -0
- package/dist/cjs/getItem-CVJJPky2.js +55 -0
- package/dist/cjs/getItem-CVJJPky2.js.map +1 -0
- package/dist/cjs/getPublishPayload-DbOc3WA-.js +323 -0
- package/dist/cjs/getPublishPayload-DbOc3WA-.js.map +1 -0
- package/dist/cjs/getPublishUploads-NzioLz-3.js +229 -0
- package/dist/cjs/getPublishUploads-NzioLz-3.js.map +1 -0
- package/dist/cjs/getSegmentedItemProperties-BsaklLwI.js +61 -0
- package/dist/cjs/getSegmentedItemProperties-BsaklLwI.js.map +1 -0
- package/dist/cjs/index-BmIVfqGN.js +16231 -0
- package/dist/cjs/index-BmIVfqGN.js.map +1 -0
- package/dist/cjs/index-C_0angRB.js +57 -0
- package/dist/cjs/index-C_0angRB.js.map +1 -0
- package/dist/client/BaseClientManager.d.ts.map +1 -0
- package/dist/client/ClientManager.d.ts.map +1 -0
- package/dist/client/actions/setAddresses.d.ts.map +1 -0
- package/dist/client/actors/addModelsToDb.d.ts.map +1 -0
- package/dist/client/actors/addModelsToStore.d.ts.map +1 -0
- package/dist/client/actors/dbInit.d.ts.map +1 -0
- package/dist/client/actors/fileSystemInit.d.ts.map +1 -0
- package/dist/client/actors/platformClassesInit.d.ts.map +1 -0
- package/dist/client/actors/processSchemaFiles.d.ts.map +1 -0
- package/dist/client/actors/saveAppState.d.ts.map +1 -0
- package/dist/client/actors/saveConfig.d.ts.map +1 -0
- package/dist/client/clientManagerMachine.d.ts.map +1 -0
- package/dist/client/constants.d.ts +89 -0
- package/dist/client/constants.d.ts.map +1 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/db/Db/BaseDb.d.ts +42 -0
- package/dist/db/Db/BaseDb.d.ts.map +1 -0
- package/dist/db/configs/dev.schema.config.d.ts.map +1 -0
- package/dist/db/read/getExistingItem.d.ts +12 -0
- package/dist/db/read/getExistingItem.d.ts.map +1 -0
- package/dist/db/read/getItem.d.ts.map +1 -0
- package/dist/db/read/getItemData.d.ts.map +1 -0
- package/dist/db/read/getItemProperties.d.ts.map +1 -0
- package/dist/db/read/getItemProperty.d.ts.map +1 -0
- package/dist/db/read/getItems.d.ts.map +1 -0
- package/dist/db/read/getMetadata.d.ts.map +1 -0
- package/dist/db/read/getModelSchemas.d.ts.map +1 -0
- package/dist/db/read/getModels.d.ts.map +1 -0
- package/dist/db/read/getPropertyData.d.ts.map +1 -0
- package/dist/db/read/getPublishPayload.d.ts.map +1 -0
- package/dist/db/read/getPublishUploads.d.ts +16 -0
- package/dist/db/read/getPublishUploads.d.ts.map +1 -0
- package/dist/db/read/getRelationValueData.d.ts.map +1 -0
- package/dist/db/read/getSchemaUidForModel.d.ts.map +1 -0
- package/dist/db/read/getSeedData.d.ts.map +1 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -0
- package/dist/db/read/getVersionData.d.ts.map +1 -0
- package/dist/db/read/getVersionsForVersionUids.d.ts.map +1 -0
- package/dist/db/read/subqueries/metadataLatest.d.ts.map +1 -0
- package/dist/db/read/subqueries/versionData.d.ts.map +1 -0
- package/dist/db/write/createMetadata.d.ts.map +1 -0
- package/dist/db/write/createNewItem.d.ts.map +1 -0
- package/dist/db/write/createSeed.d.ts.map +1 -0
- package/dist/db/write/createSeeds.d.ts.map +1 -0
- package/dist/db/write/createVersion.d.ts.map +1 -0
- package/dist/db/write/deleteItem.d.ts.map +1 -0
- package/dist/db/write/recoverDeletedItem.d.ts.map +1 -0
- package/dist/db/write/saveAppState.d.ts.map +1 -0
- package/dist/db/write/saveMetadata.d.ts.map +1 -0
- package/dist/db/write/updateItemPropertyValue.d.ts +13 -0
- package/dist/db/write/updateItemPropertyValue.d.ts.map +1 -0
- package/dist/db/write/updateMetadata.d.ts.map +1 -0
- package/dist/eas.d.ts.map +1 -0
- package/dist/eslint-rules/align-imports.d.ts.map +1 -0
- package/dist/eventBus.d.ts.map +1 -0
- package/dist/events/files/download.d.ts +9 -0
- package/dist/events/files/download.d.ts.map +1 -0
- package/dist/events/files/index.d.ts.map +1 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/item/index.d.ts +2 -0
- package/dist/events/item/index.d.ts.map +1 -0
- package/dist/events/item/publish.d.ts.map +1 -0
- package/dist/events/item/syncDbWithEas.d.ts.map +1 -0
- package/dist/events/services/allItems.d.ts.map +1 -0
- package/dist/events/services/index.d.ts.map +1 -0
- package/dist/feed.d.ts.map +1 -0
- package/dist/getItem-CcttmUY_.js +38 -0
- package/dist/getItem-CcttmUY_.js.map +1 -0
- package/dist/getPublishPayload-NFpqbd_H.js +307 -0
- package/dist/getPublishPayload-NFpqbd_H.js.map +1 -0
- package/dist/getPublishUploads-Cpb9vgwE.js +193 -0
- package/dist/getPublishUploads-Cpb9vgwE.js.map +1 -0
- package/dist/getSegmentedItemProperties-DiyQPMgI.js +59 -0
- package/dist/getSegmentedItemProperties-DiyQPMgI.js.map +1 -0
- package/dist/graphql/fragments/Attestation.d.ts.map +1 -0
- package/dist/graphql/fragments/Schema.d.ts.map +1 -0
- package/dist/graphql/fragments/index.d.ts.map +1 -0
- package/dist/graphql/gql/fragment-masking.d.ts.map +1 -0
- package/dist/graphql/gql/gql.d.ts.map +1 -0
- package/dist/graphql/gql/graphql.d.ts.map +1 -0
- package/dist/graphql/gql/index.d.ts.map +1 -0
- package/dist/helpers/ArweaveClient/BaseArweaveClient.d.ts +71 -0
- package/dist/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -0
- package/dist/helpers/ArweaveClient/index.d.ts +30 -0
- package/dist/helpers/ArweaveClient/index.d.ts.map +1 -0
- package/dist/helpers/ArweaveClient/queries.d.ts +13 -0
- package/dist/helpers/ArweaveClient/queries.d.ts.map +1 -0
- package/dist/helpers/EasClient/BaseEasClient.d.ts +10 -0
- package/dist/helpers/EasClient/BaseEasClient.d.ts.map +1 -0
- package/dist/helpers/FileManager/BaseFileManager.d.ts.map +1 -0
- package/dist/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
- package/dist/helpers/QueryClient/BaseQueryClient.d.ts.map +1 -0
- package/dist/helpers/constants.d.ts +67 -0
- package/dist/helpers/constants.d.ts.map +1 -0
- package/dist/helpers/crypto.d.ts.map +1 -0
- package/dist/helpers/db.d.ts.map +1 -0
- package/dist/helpers/entity/entityCache.d.ts +49 -0
- package/dist/helpers/entity/entityCache.d.ts.map +1 -0
- package/dist/helpers/entity/entityCommon.d.ts +23 -0
- package/dist/helpers/entity/entityCommon.d.ts.map +1 -0
- package/dist/helpers/entity/entityFind.d.ts +52 -0
- package/dist/helpers/entity/entityFind.d.ts.map +1 -0
- package/dist/helpers/entity/entityLiveQuery.d.ts +68 -0
- package/dist/helpers/entity/entityLiveQuery.d.ts.map +1 -0
- package/dist/helpers/entity/entityUnload.d.ts +50 -0
- package/dist/helpers/entity/entityUnload.d.ts.map +1 -0
- package/dist/helpers/entity/index.d.ts +10 -0
- package/dist/helpers/entity/index.d.ts.map +1 -0
- package/dist/helpers/environment.d.ts.map +1 -0
- package/dist/helpers/file/download/actors.d.ts +17 -0
- package/dist/helpers/file/download/actors.d.ts.map +1 -0
- package/dist/helpers/file/download/index.d.ts +70 -0
- package/dist/helpers/file/download/index.d.ts.map +1 -0
- package/dist/helpers/file/fetchAll/actors.d.ts +16 -0
- package/dist/helpers/file/fetchAll/actors.d.ts.map +1 -0
- package/dist/helpers/file/fetchAll/index.d.ts +58 -0
- package/dist/helpers/file/fetchAll/index.d.ts.map +1 -0
- package/dist/helpers/file/queries.d.ts.map +1 -0
- package/dist/helpers/files.d.ts.map +1 -0
- package/dist/helpers/getSchemaForItemProperty.d.ts.map +1 -0
- package/dist/helpers/getSegmentedItemProperties.d.ts +10 -0
- package/dist/helpers/getSegmentedItemProperties.d.ts.map +1 -0
- package/dist/helpers/image/queries.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +28 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/model.d.ts.map +1 -0
- package/dist/helpers/property/index.d.ts.map +1 -0
- package/dist/helpers/property.d.ts.map +1 -0
- package/dist/helpers/reactiveProxy.d.ts.map +1 -0
- package/dist/helpers/schema.d.ts.map +1 -0
- package/dist/helpers/updateMachineContext.d.ts.map +1 -0
- package/dist/helpers/updateSchema.d.ts.map +1 -0
- package/dist/helpers/waitForEntityIdle.d.ts +16 -0
- package/dist/helpers/waitForEntityIdle.d.ts.map +1 -0
- package/dist/imports/index.d.ts +4 -0
- package/dist/imports/index.d.ts.map +1 -0
- package/dist/imports/json.d.ts.map +1 -0
- package/dist/imports/markdown.d.ts.map +1 -0
- package/dist/index-CRuq6HVi.js +18 -0
- package/dist/index-CRuq6HVi.js.map +1 -0
- package/dist/index-r45w9hEq.js +23 -0
- package/dist/index-r45w9hEq.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/interfaces/IDb.d.ts.map +1 -0
- package/dist/interfaces/IEasClient.d.ts.map +1 -0
- package/dist/interfaces/IItem.d.ts.map +1 -0
- package/dist/interfaces/IItemProperty.d.ts +35 -0
- package/dist/interfaces/IItemProperty.d.ts.map +1 -0
- package/dist/interfaces/IQueryClient.d.ts.map +1 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/json-I3vJhXo8.js +14851 -0
- package/dist/json-I3vJhXo8.js.map +1 -0
- package/dist/main.cjs +75 -78
- package/dist/main.cjs.map +1 -1
- package/dist/main.js +2715 -32
- package/dist/main.js.map +1 -1
- package/dist/node/codegen/drizzle.d.ts.map +1 -0
- package/dist/node/codegen/index.d.ts.map +1 -0
- package/dist/node/codegen/ts-to-proto.d.ts.map +1 -0
- package/dist/node/constants.d.ts.map +1 -0
- package/dist/node/db/Db.d.ts.map +1 -0
- package/dist/node/db/index.d.ts.map +1 -0
- package/dist/node/db/node.app.db.config.d.ts.map +1 -0
- package/dist/node/helpers/ArweaveClient.d.ts +31 -0
- package/dist/node/helpers/ArweaveClient.d.ts.map +1 -0
- package/dist/node/helpers/EasClient.d.ts.map +1 -0
- package/dist/node/helpers/FileManager.d.ts.map +1 -0
- package/dist/node/helpers/PathResolver.d.ts.map +1 -0
- package/dist/node/helpers/QueryClient.d.ts.map +1 -0
- package/dist/node/helpers/index.d.ts.map +1 -0
- package/dist/node/helpers/scripts.d.ts.map +1 -0
- package/dist/node/index.d.ts +24 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/seed.d.ts.map +1 -0
- package/dist/node/webpack/fs-proxy.d.ts.map +1 -0
- package/dist/node/webpack/index.d.ts.map +1 -0
- package/dist/node.js +524 -34
- package/dist/node.js.map +1 -1
- package/dist/property-Dy09KTxg.js +274 -0
- package/dist/property-Dy09KTxg.js.map +1 -0
- package/dist/queries-LZYSuhtz.js +16 -0
- package/dist/queries-LZYSuhtz.js.map +1 -0
- package/dist/seedSchema/AppStateSchema.d.ts.map +1 -0
- package/dist/seedSchema/ConfigSchema.d.ts.map +1 -0
- package/dist/seedSchema/MetadataSchema.d.ts.map +1 -0
- package/dist/seedSchema/ModelSchema.d.ts.map +1 -0
- package/dist/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
- package/dist/seedSchema/ModelSchemaSchema.ts +2 -2
- package/dist/seedSchema/ModelUidSchema.d.ts.map +1 -0
- package/dist/seedSchema/ModelUidSchema.ts +2 -2
- package/dist/seedSchema/PropertyUidSchema.d.ts.map +1 -0
- package/dist/seedSchema/PropertyUidSchema.ts +1 -1
- package/dist/seedSchema/SchemaSchema.d.ts.map +1 -0
- package/dist/seedSchema/SeedSchema.d.ts.map +1 -0
- package/dist/seedSchema/VersionSchema.d.ts.map +1 -0
- package/dist/seedSchema/index.d.ts +11 -0
- package/dist/seedSchema/index.d.ts.map +1 -0
- package/dist/seedSchema/index.ts +10 -10
- package/dist/services/events.d.ts.map +1 -0
- package/dist/services/publish/actors/createPublishAttempt.d.ts.map +1 -0
- package/dist/services/publish/actors/preparePublishRequestData.d.ts.map +1 -0
- package/dist/services/publish/actors/upload.d.ts.map +1 -0
- package/dist/services/publish/actors/validateItemData.d.ts.map +1 -0
- package/dist/services/publish/publishMachine.d.ts.map +1 -0
- package/dist/services/write/actors/validateEntity.d.ts +6 -0
- package/dist/services/write/actors/validateEntity.d.ts.map +1 -0
- package/dist/services/write/actors/writeToDatabase.d.ts.map +1 -0
- package/dist/services/write/writeProcessMachine.d.ts +83 -0
- package/dist/services/write/writeProcessMachine.d.ts.map +1 -0
- package/dist/stores/eas.d.ts.map +1 -0
- package/dist/types/arweave.d.ts +56 -0
- package/dist/types/arweave.d.ts.map +1 -0
- package/dist/types/browser.d.ts.map +1 -0
- package/dist/types/db.d.ts.map +1 -0
- package/dist/types/fileManager.d.ts.map +1 -0
- package/dist/types/helpers.d.ts.map +1 -0
- package/dist/types/import.d.ts.map +1 -0
- package/dist/types/index.d.ts +45 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/item.d.ts +72 -0
- package/dist/types/item.d.ts.map +1 -0
- package/dist/types/machines.d.ts.map +1 -0
- package/dist/types/model.d.ts.map +1 -0
- package/dist/types/property.d.ts.map +1 -0
- package/dist/types/seedProtocol.d.ts.map +1 -0
- package/dist/types/services.d.ts.map +1 -0
- package/dist/vite/easFix.d.ts +2 -0
- package/dist/vite/easFix.d.ts.map +1 -0
- package/dist/vite/index.d.ts +48 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite.cjs +217 -0
- package/dist/vite.cjs.map +1 -0
- package/dist/vite.js +215 -0
- package/dist/vite.js.map +1 -0
- package/package.json +22 -9
- package/dist/Item/Item.js +0 -954
- package/dist/Item/Item.js.map +0 -1
- package/dist/Item/queries.js +0 -66
- package/dist/Item/queries.js.map +0 -1
- package/dist/Item/service/actors/fetchDataFromEas.js +0 -94
- package/dist/Item/service/actors/fetchDataFromEas.js.map +0 -1
- package/dist/Item/service/actors/hydrateExistingItem.js +0 -124
- package/dist/Item/service/actors/hydrateExistingItem.js.map +0 -1
- package/dist/Item/service/actors/hydrateNewItem.js +0 -28
- package/dist/Item/service/actors/hydrateNewItem.js.map +0 -1
- package/dist/Item/service/actors/initialize.js +0 -50
- package/dist/Item/service/actors/initialize.js.map +0 -1
- package/dist/Item/service/actors/loadOrCreateItem.js +0 -210
- package/dist/Item/service/actors/loadOrCreateItem.js.map +0 -1
- package/dist/Item/service/actors/reload.js +0 -26
- package/dist/Item/service/actors/reload.js.map +0 -1
- package/dist/Item/service/actors/waitForDb.js +0 -22
- package/dist/Item/service/actors/waitForDb.js.map +0 -1
- package/dist/Item/service/itemMachineSingle.js +0 -211
- package/dist/Item/service/itemMachineSingle.js.map +0 -1
- package/dist/ItemProperty/ItemProperty.js +0 -613
- package/dist/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/ItemProperty/service/actors/hydrateFromDb.js +0 -207
- package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
- package/dist/ItemProperty/service/actors/initialize.js +0 -74
- package/dist/ItemProperty/service/actors/initialize.js.map +0 -1
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +0 -125
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +0 -1
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js +0 -321
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
- package/dist/ItemProperty/service/actors/resolveRemoteStorage.js +0 -62
- package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -111
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
- package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js +0 -178
- package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -121
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -85
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
- package/dist/ItemProperty/service/actors/waitForDb.js +0 -22
- package/dist/ItemProperty/service/actors/waitForDb.js.map +0 -1
- package/dist/ItemProperty/service/propertyMachine.js +0 -233
- package/dist/ItemProperty/service/propertyMachine.js.map +0 -1
- package/dist/Model/Model.js +0 -1831
- package/dist/Model/Model.js.map +0 -1
- package/dist/Model/index.js +0 -8
- package/dist/Model/index.js.map +0 -1
- package/dist/Model/service/actors/createModelProperties.js +0 -102
- package/dist/Model/service/actors/createModelProperties.js.map +0 -1
- package/dist/Model/service/actors/loadOrCreateModel.js +0 -397
- package/dist/Model/service/actors/loadOrCreateModel.js.map +0 -1
- package/dist/Model/service/actors/validateModel.js +0 -123
- package/dist/Model/service/actors/validateModel.js.map +0 -1
- package/dist/Model/service/modelMachine.js +0 -385
- package/dist/Model/service/modelMachine.js.map +0 -1
- package/dist/ModelProperty/ModelProperty.js +0 -841
- package/dist/ModelProperty/ModelProperty.js.map +0 -1
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +0 -119
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +0 -1
- package/dist/ModelProperty/service/actors/saveToSchema.js +0 -108
- package/dist/ModelProperty/service/actors/saveToSchema.js.map +0 -1
- package/dist/ModelProperty/service/actors/validateProperty.js +0 -129
- package/dist/ModelProperty/service/actors/validateProperty.js.map +0 -1
- package/dist/ModelProperty/service/modelPropertyMachine.js +0 -275
- package/dist/ModelProperty/service/modelPropertyMachine.js.map +0 -1
- package/dist/Schema/Schema.js +0 -1732
- package/dist/Schema/Schema.js.map +0 -1
- package/dist/Schema/errors.js +0 -14
- package/dist/Schema/errors.js.map +0 -1
- package/dist/Schema/index.js +0 -7
- package/dist/Schema/index.js.map +0 -1
- package/dist/Schema/service/actors/checkExistingSchema.js +0 -454
- package/dist/Schema/service/actors/checkExistingSchema.js.map +0 -1
- package/dist/Schema/service/actors/createModelInstances.js +0 -71
- package/dist/Schema/service/actors/createModelInstances.js.map +0 -1
- package/dist/Schema/service/actors/createPropertyInstances.js +0 -86
- package/dist/Schema/service/actors/createPropertyInstances.js.map +0 -1
- package/dist/Schema/service/actors/loadOrCreateSchema.js +0 -1336
- package/dist/Schema/service/actors/loadOrCreateSchema.js.map +0 -1
- package/dist/Schema/service/actors/validateSchema.js +0 -65
- package/dist/Schema/service/actors/validateSchema.js.map +0 -1
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js +0 -88
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +0 -1
- package/dist/Schema/service/actors/verifyModelsInDb.js +0 -107
- package/dist/Schema/service/actors/verifyModelsInDb.js.map +0 -1
- package/dist/Schema/service/actors/verifyPropertiesInDb.js +0 -131
- package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +0 -1
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +0 -88
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +0 -1
- package/dist/Schema/service/actors/verifySchemaInDb.js +0 -85
- package/dist/Schema/service/actors/verifySchemaInDb.js.map +0 -1
- package/dist/Schema/service/actors/writeModelsToDb.js +0 -185
- package/dist/Schema/service/actors/writeModelsToDb.js.map +0 -1
- package/dist/Schema/service/actors/writePropertiesToDb.js +0 -69
- package/dist/Schema/service/actors/writePropertiesToDb.js.map +0 -1
- package/dist/Schema/service/actors/writeSchemaToDb.js +0 -137
- package/dist/Schema/service/actors/writeSchemaToDb.js.map +0 -1
- package/dist/Schema/service/addModelsMachine.js +0 -545
- package/dist/Schema/service/addModelsMachine.js.map +0 -1
- package/dist/Schema/service/schemaMachine.js +0 -667
- package/dist/Schema/service/schemaMachine.js.map +0 -1
- package/dist/Schema/service/validation/SchemaValidationService.js +0 -565
- package/dist/Schema/service/validation/SchemaValidationService.js.map +0 -1
- package/dist/Schema/validation.js +0 -15
- package/dist/Schema/validation.js.map +0 -1
- package/dist/browser/db/Db.js +0 -484
- package/dist/browser/db/Db.js.map +0 -1
- package/dist/browser/db/drizzleFiles.js +0 -1022
- package/dist/browser/db/drizzleFiles.js.map +0 -1
- package/dist/browser/helpers/ArweaveClient.js +0 -13
- package/dist/browser/helpers/ArweaveClient.js.map +0 -1
- package/dist/browser/helpers/EasClient.js +0 -16
- package/dist/browser/helpers/EasClient.js.map +0 -1
- package/dist/browser/helpers/FileManager.js +0 -415
- package/dist/browser/helpers/FileManager.js.map +0 -1
- package/dist/browser/helpers/PathResolver.js +0 -64
- package/dist/browser/helpers/PathResolver.js.map +0 -1
- package/dist/browser/helpers/QueryClient.js +0 -33
- package/dist/browser/helpers/QueryClient.js.map +0 -1
- package/dist/browser/react/client.js +0 -16
- package/dist/browser/react/client.js.map +0 -1
- package/dist/browser/react/db.js +0 -7
- package/dist/browser/react/db.js.map +0 -1
- package/dist/browser/react/item.js +0 -192
- package/dist/browser/react/item.js.map +0 -1
- package/dist/browser/react/itemProperty.js +0 -545
- package/dist/browser/react/itemProperty.js.map +0 -1
- package/dist/browser/react/liveQuery.js +0 -95
- package/dist/browser/react/liveQuery.js.map +0 -1
- package/dist/browser/react/model.js +0 -276
- package/dist/browser/react/model.js.map +0 -1
- package/dist/browser/react/modelProperty.js +0 -412
- package/dist/browser/react/modelProperty.js.map +0 -1
- package/dist/browser/react/schema.js +0 -387
- package/dist/browser/react/schema.js.map +0 -1
- package/dist/browser/react/services.js +0 -47
- package/dist/browser/react/services.js.map +0 -1
- package/dist/browser/react/trash.js +0 -25
- package/dist/browser/react/trash.js.map +0 -1
- package/dist/browser/workers/FileDownloader.js +0 -52
- package/dist/browser/workers/FileDownloader.js.map +0 -1
- package/dist/browser/workers/ImageResizer.js +0 -63
- package/dist/browser/workers/ImageResizer.js.map +0 -1
- package/dist/browser/workers/filesDownload.js +0 -245
- package/dist/browser/workers/filesDownload.js.map +0 -1
- package/dist/browser/workers/imageResize.js +0 -382
- package/dist/browser/workers/imageResize.js.map +0 -1
- package/dist/client/ClientManager.js +0 -177
- package/dist/client/ClientManager.js.map +0 -1
- package/dist/client/actors/addModelsToDb.js +0 -150
- package/dist/client/actors/addModelsToDb.js.map +0 -1
- package/dist/client/actors/addModelsToStore.js +0 -28
- package/dist/client/actors/addModelsToStore.js.map +0 -1
- package/dist/client/actors/dbInit.js +0 -38
- package/dist/client/actors/dbInit.js.map +0 -1
- package/dist/client/actors/fileSystemInit.js +0 -43
- package/dist/client/actors/fileSystemInit.js.map +0 -1
- package/dist/client/actors/platformClassesInit.js +0 -175
- package/dist/client/actors/platformClassesInit.js.map +0 -1
- package/dist/client/actors/processSchemaFiles.js +0 -169
- package/dist/client/actors/processSchemaFiles.js.map +0 -1
- package/dist/client/actors/saveAppState.js +0 -80
- package/dist/client/actors/saveAppState.js.map +0 -1
- package/dist/client/actors/saveConfig.js +0 -110
- package/dist/client/actors/saveConfig.js.map +0 -1
- package/dist/client/clientManagerMachine.js +0 -191
- package/dist/client/clientManagerMachine.js.map +0 -1
- package/dist/client/constants.js +0 -80
- package/dist/client/constants.js.map +0 -1
- package/dist/db/Db/BaseDb.js +0 -55
- package/dist/db/Db/BaseDb.js.map +0 -1
- package/dist/db/read/getExistingItem.js +0 -33
- package/dist/db/read/getExistingItem.js.map +0 -1
- package/dist/db/read/getItem.js +0 -26
- package/dist/db/read/getItem.js.map +0 -1
- package/dist/db/read/getItemData.js +0 -88
- package/dist/db/read/getItemData.js.map +0 -1
- package/dist/db/read/getItemProperties.js +0 -53
- package/dist/db/read/getItemProperties.js.map +0 -1
- package/dist/db/read/getItemProperty.js +0 -34
- package/dist/db/read/getItemProperty.js.map +0 -1
- package/dist/db/read/getItems.js +0 -53
- package/dist/db/read/getItems.js.map +0 -1
- package/dist/db/read/getMetadata.js +0 -36
- package/dist/db/read/getMetadata.js.map +0 -1
- package/dist/db/read/getModelSchemas.js +0 -63
- package/dist/db/read/getModelSchemas.js.map +0 -1
- package/dist/db/read/getPropertyData.js +0 -42
- package/dist/db/read/getPropertyData.js.map +0 -1
- package/dist/db/read/getPublishPayload.js +0 -294
- package/dist/db/read/getPublishPayload.js.map +0 -1
- package/dist/db/read/getPublishUploads.js +0 -166
- package/dist/db/read/getPublishUploads.js.map +0 -1
- package/dist/db/read/getRelationValueData.js +0 -34
- package/dist/db/read/getRelationValueData.js.map +0 -1
- package/dist/db/read/getSchemaUidForModel.js +0 -28
- package/dist/db/read/getSchemaUidForModel.js.map +0 -1
- package/dist/db/read/getSeedData.js +0 -32
- package/dist/db/read/getSeedData.js.map +0 -1
- package/dist/db/read/getStorageTransactionIdForSeedUid.js +0 -34
- package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
- package/dist/db/read/getVersionData.js +0 -37
- package/dist/db/read/getVersionData.js.map +0 -1
- package/dist/db/read/subqueries/metadataLatest.js +0 -39
- package/dist/db/read/subqueries/metadataLatest.js.map +0 -1
- package/dist/db/read/subqueries/versionData.js +0 -31
- package/dist/db/read/subqueries/versionData.js.map +0 -1
- package/dist/db/write/createMetadata.js +0 -94
- package/dist/db/write/createMetadata.js.map +0 -1
- package/dist/db/write/createNewItem.js +0 -43
- package/dist/db/write/createNewItem.js.map +0 -1
- package/dist/db/write/createSeed.js +0 -32
- package/dist/db/write/createSeed.js.map +0 -1
- package/dist/db/write/createSeeds.js +0 -29
- package/dist/db/write/createSeeds.js.map +0 -1
- package/dist/db/write/createVersion.js +0 -29
- package/dist/db/write/createVersion.js.map +0 -1
- package/dist/db/write/deleteItem.js +0 -25
- package/dist/db/write/deleteItem.js.map +0 -1
- package/dist/db/write/saveAppState.js +0 -30
- package/dist/db/write/saveAppState.js.map +0 -1
- package/dist/db/write/saveMetadata.js +0 -26
- package/dist/db/write/saveMetadata.js.map +0 -1
- package/dist/db/write/updateItemPropertyValue.js +0 -165
- package/dist/db/write/updateItemPropertyValue.js.map +0 -1
- package/dist/db/write/updateMetadata.js +0 -38
- package/dist/db/write/updateMetadata.js.map +0 -1
- package/dist/eas.js +0 -176
- package/dist/eas.js.map +0 -1
- package/dist/eventBus.js +0 -6
- package/dist/eventBus.js.map +0 -1
- package/dist/events/files/download.js +0 -191
- package/dist/events/files/download.js.map +0 -1
- package/dist/events/files/index.js +0 -23
- package/dist/events/files/index.js.map +0 -1
- package/dist/events/index.js +0 -28
- package/dist/events/index.js.map +0 -1
- package/dist/events/item/index.js +0 -28
- package/dist/events/item/index.js.map +0 -1
- package/dist/events/item/publish.js +0 -50
- package/dist/events/item/publish.js.map +0 -1
- package/dist/events/item/syncDbWithEas.js +0 -453
- package/dist/events/item/syncDbWithEas.js.map +0 -1
- package/dist/events/services/allItems.js +0 -10
- package/dist/events/services/allItems.js.map +0 -1
- package/dist/events/services/index.js +0 -9
- package/dist/events/services/index.js.map +0 -1
- package/dist/feed.js +0 -534
- package/dist/feed.js.map +0 -1
- package/dist/graphql/gql/gql.js +0 -27
- package/dist/graphql/gql/gql.js.map +0 -1
- package/dist/graphql/gql/graphql.js +0 -129
- package/dist/graphql/gql/graphql.js.map +0 -1
- package/dist/helpers/ArweaveClient/BaseArweaveClient.js +0 -11
- package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
- package/dist/helpers/ArweaveClient/index.js +0 -61
- package/dist/helpers/ArweaveClient/index.js.map +0 -1
- package/dist/helpers/ArweaveClient/queries.js +0 -16
- package/dist/helpers/ArweaveClient/queries.js.map +0 -1
- package/dist/helpers/EasClient/BaseEasClient.js +0 -20
- package/dist/helpers/EasClient/BaseEasClient.js.map +0 -1
- package/dist/helpers/FileManager/BaseFileManager.js +0 -119
- package/dist/helpers/FileManager/BaseFileManager.js.map +0 -1
- package/dist/helpers/PathResolver/BasePathResolver.js +0 -20
- package/dist/helpers/PathResolver/BasePathResolver.js.map +0 -1
- package/dist/helpers/QueryClient/BaseQueryClient.js +0 -11
- package/dist/helpers/QueryClient/BaseQueryClient.js.map +0 -1
- package/dist/helpers/constants.js +0 -107
- package/dist/helpers/constants.js.map +0 -1
- package/dist/helpers/crypto.js +0 -9
- package/dist/helpers/crypto.js.map +0 -1
- package/dist/helpers/db.js +0 -1335
- package/dist/helpers/db.js.map +0 -1
- package/dist/helpers/environment.js +0 -14
- package/dist/helpers/environment.js.map +0 -1
- package/dist/helpers/file/queries.js +0 -15
- package/dist/helpers/file/queries.js.map +0 -1
- package/dist/helpers/getSchemaForItemProperty.js +0 -65
- package/dist/helpers/getSchemaForItemProperty.js.map +0 -1
- package/dist/helpers/getSegmentedItemProperties.js +0 -71
- package/dist/helpers/getSegmentedItemProperties.js.map +0 -1
- package/dist/helpers/index.js +0 -101
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/model.js +0 -24
- package/dist/helpers/model.js.map +0 -1
- package/dist/helpers/property/index.js +0 -110
- package/dist/helpers/property/index.js.map +0 -1
- package/dist/helpers/property.js +0 -286
- package/dist/helpers/property.js.map +0 -1
- package/dist/helpers/reactiveProxy.js +0 -87
- package/dist/helpers/reactiveProxy.js.map +0 -1
- package/dist/helpers/schema.js +0 -473
- package/dist/helpers/schema.js.map +0 -1
- package/dist/helpers/updateMachineContext.js +0 -20
- package/dist/helpers/updateMachineContext.js.map +0 -1
- package/dist/helpers/updateSchema.js +0 -721
- package/dist/helpers/updateSchema.js.map +0 -1
- package/dist/imports/json.js +0 -1129
- package/dist/imports/json.js.map +0 -1
- package/dist/imports/markdown.js +0 -141
- package/dist/imports/markdown.js.map +0 -1
- package/dist/node/codegen/drizzle.js +0 -136
- package/dist/node/codegen/drizzle.js.map +0 -1
- package/dist/node/codegen/templates/header.njk +0 -10
- package/dist/node/codegen/templates/index.njk +0 -27
- package/dist/node/codegen/templates/model.njk +0 -18
- package/dist/node/codegen/templates/relations.njk +0 -13
- package/dist/node/codegen/templates/schema.njk +0 -11
- package/dist/node/codegen/templates/table.njk +0 -43
- package/dist/node/db/Db.js +0 -332
- package/dist/node/db/Db.js.map +0 -1
- package/dist/node/helpers/ArweaveClient.js +0 -13
- package/dist/node/helpers/ArweaveClient.js.map +0 -1
- package/dist/node/helpers/EasClient.js +0 -16
- package/dist/node/helpers/EasClient.js.map +0 -1
- package/dist/node/helpers/FileManager.js +0 -151
- package/dist/node/helpers/FileManager.js.map +0 -1
- package/dist/node/helpers/PathResolver.js +0 -182
- package/dist/node/helpers/PathResolver.js.map +0 -1
- package/dist/node/helpers/QueryClient.js +0 -20
- package/dist/node/helpers/QueryClient.js.map +0 -1
- package/dist/node/helpers/index.js +0 -62
- package/dist/node/helpers/index.js.map +0 -1
- package/dist/node/helpers/scripts.js +0 -121
- package/dist/node/helpers/scripts.js.map +0 -1
- package/dist/node/webpack/index.js +0 -96
- package/dist/node/webpack/index.js.map +0 -1
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +0 -31
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +0 -90
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +0 -28
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +0 -7
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +0 -2
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +0 -12
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +0 -3
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +0 -3
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +0 -3
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +0 -3
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +0 -7
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +0 -3
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +0 -4
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +0 -1
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +0 -18
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +0 -1
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +0 -3
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +0 -1
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +0 -1
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +0 -19
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +0 -6
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +0 -12
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +0 -7
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +0 -7
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +0 -31
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +0 -7
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +0 -55
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +0 -4
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +0 -12
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +0 -33
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +0 -59
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +0 -199
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +0 -8
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +0 -2
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +0 -51
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +0 -22
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +0 -4
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +0 -1
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +0 -3
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +0 -1
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +0 -33
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +0 -1
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +0 -26
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +0 -1
- package/dist/scripts/build-with-tests.d.ts +0 -3
- package/dist/scripts/build-with-tests.d.ts.map +0 -1
- package/dist/scripts/rpcServer.cursor.d.ts +0 -2
- package/dist/scripts/rpcServer.cursor.d.ts.map +0 -1
- package/dist/scripts/rpcServer.d.ts +0 -3
- package/dist/scripts/rpcServer.d.ts.map +0 -1
- package/dist/scripts/sync-versions.d.ts +0 -7
- package/dist/scripts/sync-versions.d.ts.map +0 -1
- package/dist/scripts/track-drizzle-changes.d.ts +0 -13
- package/dist/scripts/track-drizzle-changes.d.ts.map +0 -1
- package/dist/scripts/vite.config.d.ts +0 -3
- package/dist/scripts/vite.config.d.ts.map +0 -1
- package/dist/seedSchema/AppStateSchema.js +0 -11
- package/dist/seedSchema/AppStateSchema.js.map +0 -1
- package/dist/seedSchema/ConfigSchema.js +0 -12
- package/dist/seedSchema/ConfigSchema.js.map +0 -1
- package/dist/seedSchema/MetadataSchema.js +0 -29
- package/dist/seedSchema/MetadataSchema.js.map +0 -1
- package/dist/seedSchema/ModelSchema.js +0 -40
- package/dist/seedSchema/ModelSchema.js.map +0 -1
- package/dist/seedSchema/ModelSchemaSchema.js +0 -12
- package/dist/seedSchema/ModelSchemaSchema.js.map +0 -1
- package/dist/seedSchema/ModelUidSchema.js +0 -18
- package/dist/seedSchema/ModelUidSchema.js.map +0 -1
- package/dist/seedSchema/PropertyUidSchema.js +0 -18
- package/dist/seedSchema/PropertyUidSchema.js.map +0 -1
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +0 -94
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +0 -1
- package/dist/seedSchema/SchemaSchema.js +0 -20
- package/dist/seedSchema/SchemaSchema.js.map +0 -1
- package/dist/seedSchema/SeedSchema.js +0 -16
- package/dist/seedSchema/SeedSchema.js.map +0 -1
- package/dist/seedSchema/VersionSchema.js +0 -17
- package/dist/seedSchema/VersionSchema.js.map +0 -1
- package/dist/seedSchema/index.js +0 -11
- package/dist/seedSchema/index.js.map +0 -1
- package/dist/services/events.js +0 -16
- package/dist/services/events.js.map +0 -1
- package/dist/services/publish/actors/createPublishAttempt.js +0 -14
- package/dist/services/publish/actors/createPublishAttempt.js.map +0 -1
- package/dist/services/publish/actors/preparePublishRequestData.js +0 -76
- package/dist/services/publish/actors/preparePublishRequestData.js.map +0 -1
- package/dist/services/publish/actors/upload.js +0 -61
- package/dist/services/publish/actors/upload.js.map +0 -1
- package/dist/services/publish/actors/validateItemData.js +0 -18
- package/dist/services/publish/actors/validateItemData.js.map +0 -1
- package/dist/services/publish/publishMachine.js +0 -71
- package/dist/services/publish/publishMachine.js.map +0 -1
- package/dist/services/write/actors/validateEntity.js +0 -145
- package/dist/services/write/actors/validateEntity.js.map +0 -1
- package/dist/services/write/actors/writeToDatabase.js +0 -91
- package/dist/services/write/actors/writeToDatabase.js.map +0 -1
- package/dist/services/write/writeProcessMachine.js +0 -233
- package/dist/services/write/writeProcessMachine.js.map +0 -1
- package/dist/src/Item/Item.d.ts +0 -94
- package/dist/src/Item/Item.d.ts.map +0 -1
- package/dist/src/Item/queries.d.ts.map +0 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.d.ts +0 -2
- package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +0 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +0 -1
- package/dist/src/Item/service/actors/hydrateNewItem.d.ts.map +0 -1
- package/dist/src/Item/service/actors/initialize.d.ts.map +0 -1
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +0 -1
- package/dist/src/Item/service/actors/reload.d.ts.map +0 -1
- package/dist/src/Item/service/actors/saveDataToDb.d.ts +0 -3
- package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +0 -1
- package/dist/src/Item/service/actors/waitForDb.d.ts.map +0 -1
- package/dist/src/Item/service/itemMachineSingle.d.ts +0 -2
- package/dist/src/Item/service/itemMachineSingle.d.ts.map +0 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +0 -67
- package/dist/src/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/actors/waitForDb.d.ts.map +0 -1
- package/dist/src/ItemProperty/service/propertyMachine.d.ts +0 -48
- package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +0 -1
- package/dist/src/Model/Model.d.ts +0 -199
- package/dist/src/Model/Model.d.ts.map +0 -1
- package/dist/src/Model/index.d.ts +0 -26
- package/dist/src/Model/index.d.ts.map +0 -1
- package/dist/src/Model/service/actors/createModelProperties.d.ts.map +0 -1
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +0 -1
- package/dist/src/Model/service/actors/validateModel.d.ts.map +0 -1
- package/dist/src/Model/service/modelMachine.d.ts +0 -206
- package/dist/src/Model/service/modelMachine.d.ts.map +0 -1
- package/dist/src/ModelProperty/ModelProperty.d.ts +0 -112
- package/dist/src/ModelProperty/ModelProperty.d.ts.map +0 -1
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +0 -1
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +0 -1
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +0 -1
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +0 -183
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +0 -1
- package/dist/src/Schema/Schema.d.ts +0 -143
- package/dist/src/Schema/Schema.d.ts.map +0 -1
- package/dist/src/Schema/errors.d.ts.map +0 -1
- package/dist/src/Schema/index.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/validateSchema.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +0 -1
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +0 -1
- package/dist/src/Schema/service/addModelsMachine.d.ts +0 -111
- package/dist/src/Schema/service/addModelsMachine.d.ts.map +0 -1
- package/dist/src/Schema/service/schemaMachine.d.ts +0 -494
- package/dist/src/Schema/service/schemaMachine.d.ts.map +0 -1
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +0 -1
- package/dist/src/Schema/validation.d.ts.map +0 -1
- package/dist/src/browser/db/Db.d.ts.map +0 -1
- package/dist/src/browser/db/drizzleFiles.d.ts.map +0 -1
- package/dist/src/browser/db/sqlWasmClient.d.ts.map +0 -1
- package/dist/src/browser/helpers/ArweaveClient.d.ts +0 -7
- package/dist/src/browser/helpers/ArweaveClient.d.ts.map +0 -1
- package/dist/src/browser/helpers/EasClient.d.ts.map +0 -1
- package/dist/src/browser/helpers/FileManager.d.ts.map +0 -1
- package/dist/src/browser/helpers/PathResolver.d.ts.map +0 -1
- package/dist/src/browser/helpers/QueryClient.d.ts.map +0 -1
- package/dist/src/browser/helpers/index.d.ts +0 -2
- package/dist/src/browser/helpers/index.d.ts.map +0 -1
- package/dist/src/browser/index.d.ts +0 -6
- package/dist/src/browser/index.d.ts.map +0 -1
- package/dist/src/browser/react/OPFSImage.d.ts.map +0 -1
- package/dist/src/browser/react/SeedImage.d.ts.map +0 -1
- package/dist/src/browser/react/client.d.ts.map +0 -1
- package/dist/src/browser/react/db.d.ts.map +0 -1
- package/dist/src/browser/react/index.d.ts.map +0 -1
- package/dist/src/browser/react/item.d.ts +0 -41
- package/dist/src/browser/react/item.d.ts.map +0 -1
- package/dist/src/browser/react/itemProperty.d.ts.map +0 -1
- package/dist/src/browser/react/liveQuery.d.ts.map +0 -1
- package/dist/src/browser/react/model.d.ts.map +0 -1
- package/dist/src/browser/react/modelProperty.d.ts.map +0 -1
- package/dist/src/browser/react/schema.d.ts.map +0 -1
- package/dist/src/browser/react/services.d.ts.map +0 -1
- package/dist/src/browser/react/trash.d.ts +0 -6
- package/dist/src/browser/react/trash.d.ts.map +0 -1
- package/dist/src/browser/seed.d.ts +0 -10
- package/dist/src/browser/seed.d.ts.map +0 -1
- package/dist/src/browser/workers/FileDownloader.d.ts.map +0 -1
- package/dist/src/browser/workers/ImageResizer.d.ts.map +0 -1
- package/dist/src/browser/workers/content-hash.d.ts.map +0 -1
- package/dist/src/browser/workers/dbWorker.d.ts.map +0 -1
- package/dist/src/browser/workers/filesDownload.d.ts.map +0 -1
- package/dist/src/browser/workers/imageResize.d.ts.map +0 -1
- package/dist/src/client/BaseClientManager.d.ts.map +0 -1
- package/dist/src/client/ClientManager.d.ts.map +0 -1
- package/dist/src/client/actions/setAddresses.d.ts.map +0 -1
- package/dist/src/client/actors/addModelsToDb.d.ts.map +0 -1
- package/dist/src/client/actors/addModelsToStore.d.ts.map +0 -1
- package/dist/src/client/actors/dbInit.d.ts.map +0 -1
- package/dist/src/client/actors/fileSystemInit.d.ts.map +0 -1
- package/dist/src/client/actors/platformClassesInit.d.ts.map +0 -1
- package/dist/src/client/actors/processSchemaFiles.d.ts.map +0 -1
- package/dist/src/client/actors/saveAppState.d.ts.map +0 -1
- package/dist/src/client/actors/saveConfig.d.ts.map +0 -1
- package/dist/src/client/clientManagerMachine.d.ts.map +0 -1
- package/dist/src/client/constants.d.ts +0 -79
- package/dist/src/client/constants.d.ts.map +0 -1
- package/dist/src/client/index.d.ts.map +0 -1
- package/dist/src/db/Db/BaseDb.d.ts +0 -43
- package/dist/src/db/Db/BaseDb.d.ts.map +0 -1
- package/dist/src/db/configs/dev.schema.config.d.ts.map +0 -1
- package/dist/src/db/read/getExistingItem.d.ts +0 -12
- package/dist/src/db/read/getExistingItem.d.ts.map +0 -1
- package/dist/src/db/read/getItem.d.ts.map +0 -1
- package/dist/src/db/read/getItemData.d.ts.map +0 -1
- package/dist/src/db/read/getItemProperties.d.ts.map +0 -1
- package/dist/src/db/read/getItemProperty.d.ts.map +0 -1
- package/dist/src/db/read/getItems.d.ts.map +0 -1
- package/dist/src/db/read/getMetadata.d.ts.map +0 -1
- package/dist/src/db/read/getModelSchemas.d.ts.map +0 -1
- package/dist/src/db/read/getModels.d.ts.map +0 -1
- package/dist/src/db/read/getPropertyData.d.ts.map +0 -1
- package/dist/src/db/read/getPublishPayload.d.ts.map +0 -1
- package/dist/src/db/read/getPublishUploads.d.ts +0 -16
- package/dist/src/db/read/getPublishUploads.d.ts.map +0 -1
- package/dist/src/db/read/getRelationValueData.d.ts.map +0 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts.map +0 -1
- package/dist/src/db/read/getSeedData.d.ts.map +0 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +0 -1
- package/dist/src/db/read/getVersionData.d.ts.map +0 -1
- package/dist/src/db/read/getVersionsForVersionUids.d.ts.map +0 -1
- package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +0 -1
- package/dist/src/db/read/subqueries/versionData.d.ts.map +0 -1
- package/dist/src/db/write/createMetadata.d.ts.map +0 -1
- package/dist/src/db/write/createNewItem.d.ts.map +0 -1
- package/dist/src/db/write/createSeed.d.ts.map +0 -1
- package/dist/src/db/write/createSeeds.d.ts.map +0 -1
- package/dist/src/db/write/createVersion.d.ts.map +0 -1
- package/dist/src/db/write/deleteItem.d.ts.map +0 -1
- package/dist/src/db/write/recoverDeletedItem.d.ts.map +0 -1
- package/dist/src/db/write/saveAppState.d.ts.map +0 -1
- package/dist/src/db/write/saveMetadata.d.ts.map +0 -1
- package/dist/src/db/write/updateItemPropertyValue.d.ts +0 -9
- package/dist/src/db/write/updateItemPropertyValue.d.ts.map +0 -1
- package/dist/src/db/write/updateMetadata.d.ts.map +0 -1
- package/dist/src/eas.d.ts.map +0 -1
- package/dist/src/eslint-rules/align-imports.d.ts.map +0 -1
- package/dist/src/eventBus.d.ts.map +0 -1
- package/dist/src/events/files/download.d.ts +0 -6
- package/dist/src/events/files/download.d.ts.map +0 -1
- package/dist/src/events/files/index.d.ts.map +0 -1
- package/dist/src/events/index.d.ts.map +0 -1
- package/dist/src/events/item/create.d.ts +0 -2
- package/dist/src/events/item/create.d.ts.map +0 -1
- package/dist/src/events/item/index.d.ts +0 -3
- package/dist/src/events/item/index.d.ts.map +0 -1
- package/dist/src/events/item/publish.d.ts.map +0 -1
- package/dist/src/events/item/request.d.ts +0 -2
- package/dist/src/events/item/request.d.ts.map +0 -1
- package/dist/src/events/item/requestAll.d.ts +0 -9
- package/dist/src/events/item/requestAll.d.ts.map +0 -1
- package/dist/src/events/item/syncDbWithEas.d.ts.map +0 -1
- package/dist/src/events/services/allItems.d.ts.map +0 -1
- package/dist/src/events/services/index.d.ts.map +0 -1
- package/dist/src/feed.d.ts.map +0 -1
- package/dist/src/graphql/fragments/Attestation.d.ts.map +0 -1
- package/dist/src/graphql/fragments/Schema.d.ts.map +0 -1
- package/dist/src/graphql/fragments/index.d.ts.map +0 -1
- package/dist/src/graphql/gql/fragment-masking.d.ts.map +0 -1
- package/dist/src/graphql/gql/gql.d.ts.map +0 -1
- package/dist/src/graphql/gql/graphql.d.ts.map +0 -1
- package/dist/src/graphql/gql/index.d.ts.map +0 -1
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +0 -7
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +0 -1
- package/dist/src/helpers/ArweaveClient/index.d.ts +0 -9
- package/dist/src/helpers/ArweaveClient/index.d.ts.map +0 -1
- package/dist/src/helpers/ArweaveClient/queries.d.ts +0 -6
- package/dist/src/helpers/ArweaveClient/queries.d.ts.map +0 -1
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts +0 -10
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +0 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +0 -1
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +0 -1
- package/dist/src/helpers/QueryClient/BaseQueryClient.d.ts.map +0 -1
- package/dist/src/helpers/constants.d.ts +0 -58
- package/dist/src/helpers/constants.d.ts.map +0 -1
- package/dist/src/helpers/crypto.d.ts.map +0 -1
- package/dist/src/helpers/db.d.ts.map +0 -1
- package/dist/src/helpers/environment.d.ts.map +0 -1
- package/dist/src/helpers/file/download/actors.d.ts +0 -3
- package/dist/src/helpers/file/download/actors.d.ts.map +0 -1
- package/dist/src/helpers/file/download/index.d.ts +0 -2
- package/dist/src/helpers/file/download/index.d.ts.map +0 -1
- package/dist/src/helpers/file/fetchAll/actors.d.ts +0 -3
- package/dist/src/helpers/file/fetchAll/actors.d.ts.map +0 -1
- package/dist/src/helpers/file/fetchAll/index.d.ts +0 -2
- package/dist/src/helpers/file/fetchAll/index.d.ts.map +0 -1
- package/dist/src/helpers/file/queries.d.ts.map +0 -1
- package/dist/src/helpers/files.d.ts.map +0 -1
- package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +0 -1
- package/dist/src/helpers/getSegmentedItemProperties.d.ts +0 -10
- package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +0 -1
- package/dist/src/helpers/image/queries.d.ts.map +0 -1
- package/dist/src/helpers/index.d.ts +0 -27
- package/dist/src/helpers/index.d.ts.map +0 -1
- package/dist/src/helpers/model.d.ts.map +0 -1
- package/dist/src/helpers/property/index.d.ts.map +0 -1
- package/dist/src/helpers/property.d.ts.map +0 -1
- package/dist/src/helpers/reactiveProxy.d.ts.map +0 -1
- package/dist/src/helpers/schema.d.ts.map +0 -1
- package/dist/src/helpers/updateMachineContext.d.ts.map +0 -1
- package/dist/src/helpers/updateSchema.d.ts.map +0 -1
- package/dist/src/imports/index.d.ts +0 -3
- package/dist/src/imports/index.d.ts.map +0 -1
- package/dist/src/imports/json.d.ts.map +0 -1
- package/dist/src/imports/markdown.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -25
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/interfaces/IDb.d.ts.map +0 -1
- package/dist/src/interfaces/IEasClient.d.ts.map +0 -1
- package/dist/src/interfaces/IItem.d.ts.map +0 -1
- package/dist/src/interfaces/IItemProperty.d.ts +0 -32
- package/dist/src/interfaces/IItemProperty.d.ts.map +0 -1
- package/dist/src/interfaces/IQueryClient.d.ts.map +0 -1
- package/dist/src/interfaces/index.d.ts.map +0 -1
- package/dist/src/node/codegen/drizzle.d.ts.map +0 -1
- package/dist/src/node/codegen/index.d.ts.map +0 -1
- package/dist/src/node/codegen/ts-to-proto.d.ts.map +0 -1
- package/dist/src/node/constants.d.ts.map +0 -1
- package/dist/src/node/db/Db.d.ts.map +0 -1
- package/dist/src/node/db/index.d.ts.map +0 -1
- package/dist/src/node/db/node.app.db.config.d.ts.map +0 -1
- package/dist/src/node/helpers/ArweaveClient.d.ts +0 -7
- package/dist/src/node/helpers/ArweaveClient.d.ts.map +0 -1
- package/dist/src/node/helpers/EasClient.d.ts.map +0 -1
- package/dist/src/node/helpers/FileManager.d.ts.map +0 -1
- package/dist/src/node/helpers/PathResolver.d.ts.map +0 -1
- package/dist/src/node/helpers/QueryClient.d.ts.map +0 -1
- package/dist/src/node/helpers/index.d.ts.map +0 -1
- package/dist/src/node/helpers/scripts.d.ts.map +0 -1
- package/dist/src/node/index.d.ts +0 -25
- package/dist/src/node/index.d.ts.map +0 -1
- package/dist/src/node/seed.d.ts.map +0 -1
- package/dist/src/node/webpack/fs-proxy.d.ts.map +0 -1
- package/dist/src/node/webpack/index.d.ts.map +0 -1
- package/dist/src/seedSchema/AppStateSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/ConfigSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/MetadataSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/ModelSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/ModelUidSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/PropertyUidSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/SchemaSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/SeedSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/VersionSchema.d.ts.map +0 -1
- package/dist/src/seedSchema/index.d.ts +0 -11
- package/dist/src/seedSchema/index.d.ts.map +0 -1
- package/dist/src/services/events.d.ts.map +0 -1
- package/dist/src/services/publish/actors/createPublishAttempt.d.ts.map +0 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +0 -1
- package/dist/src/services/publish/actors/upload.d.ts.map +0 -1
- package/dist/src/services/publish/actors/validateItemData.d.ts.map +0 -1
- package/dist/src/services/publish/publishMachine.d.ts.map +0 -1
- package/dist/src/services/write/actors/validateEntity.d.ts +0 -12
- package/dist/src/services/write/actors/validateEntity.d.ts.map +0 -1
- package/dist/src/services/write/actors/writeToDatabase.d.ts.map +0 -1
- package/dist/src/services/write/writeProcessMachine.d.ts +0 -84
- package/dist/src/services/write/writeProcessMachine.d.ts.map +0 -1
- package/dist/src/stores/eas.d.ts.map +0 -1
- package/dist/src/types/browser.d.ts.map +0 -1
- package/dist/src/types/db.d.ts.map +0 -1
- package/dist/src/types/fileManager.d.ts.map +0 -1
- package/dist/src/types/helpers.d.ts.map +0 -1
- package/dist/src/types/import.d.ts.map +0 -1
- package/dist/src/types/index.d.ts +0 -43
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/item.d.ts +0 -68
- package/dist/src/types/item.d.ts.map +0 -1
- package/dist/src/types/machines.d.ts.map +0 -1
- package/dist/src/types/model.d.ts.map +0 -1
- package/dist/src/types/property.d.ts.map +0 -1
- package/dist/src/types/seedProtocol.d.ts.map +0 -1
- package/dist/src/types/services.d.ts.map +0 -1
- package/dist/src/vite/index.d.ts +0 -47
- package/dist/src/vite/index.d.ts.map +0 -1
- package/dist/stores/eas.js +0 -23
- package/dist/stores/eas.js.map +0 -1
- package/dist/vite/index.js +0 -568
- package/dist/vite/index.js.map +0 -1
- /package/dist/{src/Item → Item}/queries.d.ts +0 -0
- /package/dist/{src/Item → Item}/service/actors/hydrateExistingItem.d.ts +0 -0
- /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.d.ts +0 -0
- /package/dist/{src/Item → Item}/service/actors/initialize.d.ts +0 -0
- /package/dist/{src/Item → Item}/service/actors/loadOrCreateItem.d.ts +0 -0
- /package/dist/{src/Item → Item}/service/actors/reload.d.ts +0 -0
- /package/dist/{src/Item → Item}/service/actors/waitForDb.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/hydrateFromDb.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/initialize.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/loadOrCreateProperty.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRelatedValue.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/analyzeInput.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/index.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveItemStorage.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveRelation.d.ts +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.d.ts +0 -0
- /package/dist/{src/Model → Model}/service/actors/createModelProperties.d.ts +0 -0
- /package/dist/{src/Model → Model}/service/actors/loadOrCreateModel.d.ts +0 -0
- /package/dist/{src/Model → Model}/service/actors/validateModel.d.ts +0 -0
- /package/dist/{src/ModelProperty → ModelProperty}/service/actors/compareAndMarkDraft.d.ts +0 -0
- /package/dist/{src/ModelProperty → ModelProperty}/service/actors/saveToSchema.d.ts +0 -0
- /package/dist/{src/ModelProperty → ModelProperty}/service/actors/validateProperty.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/errors.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/index.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/checkExistingSchema.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/createModelInstances.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/createPropertyInstances.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/loadOrCreateSchema.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/validateSchema.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/verifyModelInstancesInCache.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/verifyModelsInDb.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/verifyPropertiesInDb.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/verifyPropertyInstancesInCache.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/verifySchemaInDb.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/writeModelsToDb.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/writePropertiesToDb.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/actors/writeSchemaToDb.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/service/validation/SchemaValidationService.d.ts +0 -0
- /package/dist/{src/Schema → Schema}/validation.d.ts +0 -0
- /package/dist/{src/browser → browser}/db/Db.d.ts +0 -0
- /package/dist/{src/browser → browser}/db/drizzleFiles.d.ts +0 -0
- /package/dist/{src/browser → browser}/db/sqlWasmClient.d.ts +0 -0
- /package/dist/{src/browser → browser}/helpers/EasClient.d.ts +0 -0
- /package/dist/{src/browser → browser}/helpers/FileManager.d.ts +0 -0
- /package/dist/{src/browser → browser}/helpers/PathResolver.d.ts +0 -0
- /package/dist/{src/browser → browser}/helpers/QueryClient.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/OPFSImage.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/SeedImage.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/client.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/db.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/index.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/itemProperty.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/liveQuery.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/model.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/modelProperty.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/schema.d.ts +0 -0
- /package/dist/{src/browser → browser}/react/services.d.ts +0 -0
- /package/dist/{src/browser → browser}/workers/FileDownloader.d.ts +0 -0
- /package/dist/{src/browser → browser}/workers/ImageResizer.d.ts +0 -0
- /package/dist/{src/browser → browser}/workers/content-hash.d.ts +0 -0
- /package/dist/{src/browser → browser}/workers/dbWorker.d.ts +0 -0
- /package/dist/{src/browser → browser}/workers/filesDownload.d.ts +0 -0
- /package/dist/{src/browser → browser}/workers/imageResize.d.ts +0 -0
- /package/dist/{src/client → client}/BaseClientManager.d.ts +0 -0
- /package/dist/{src/client → client}/ClientManager.d.ts +0 -0
- /package/dist/{src/client → client}/actions/setAddresses.d.ts +0 -0
- /package/dist/{src/client → client}/actors/addModelsToDb.d.ts +0 -0
- /package/dist/{src/client → client}/actors/addModelsToStore.d.ts +0 -0
- /package/dist/{src/client → client}/actors/dbInit.d.ts +0 -0
- /package/dist/{src/client → client}/actors/fileSystemInit.d.ts +0 -0
- /package/dist/{src/client → client}/actors/platformClassesInit.d.ts +0 -0
- /package/dist/{src/client → client}/actors/processSchemaFiles.d.ts +0 -0
- /package/dist/{src/client → client}/actors/saveAppState.d.ts +0 -0
- /package/dist/{src/client → client}/actors/saveConfig.d.ts +0 -0
- /package/dist/{src/client → client}/clientManagerMachine.d.ts +0 -0
- /package/dist/{src/client → client}/index.d.ts +0 -0
- /package/dist/{src/db → db}/configs/dev.schema.config.d.ts +0 -0
- /package/dist/{src/db → db}/read/getItem.d.ts +0 -0
- /package/dist/{src/db → db}/read/getItemData.d.ts +0 -0
- /package/dist/{src/db → db}/read/getItemProperties.d.ts +0 -0
- /package/dist/{src/db → db}/read/getItemProperty.d.ts +0 -0
- /package/dist/{src/db → db}/read/getItems.d.ts +0 -0
- /package/dist/{src/db → db}/read/getMetadata.d.ts +0 -0
- /package/dist/{src/db → db}/read/getModelSchemas.d.ts +0 -0
- /package/dist/{src/db → db}/read/getModels.d.ts +0 -0
- /package/dist/{src/db → db}/read/getPropertyData.d.ts +0 -0
- /package/dist/{src/db → db}/read/getPublishPayload.d.ts +0 -0
- /package/dist/{src/db → db}/read/getRelationValueData.d.ts +0 -0
- /package/dist/{src/db → db}/read/getSchemaUidForModel.d.ts +0 -0
- /package/dist/{src/db → db}/read/getSeedData.d.ts +0 -0
- /package/dist/{src/db → db}/read/getStorageTransactionIdForSeedUid.d.ts +0 -0
- /package/dist/{src/db → db}/read/getVersionData.d.ts +0 -0
- /package/dist/{src/db → db}/read/getVersionsForVersionUids.d.ts +0 -0
- /package/dist/{src/db → db}/read/subqueries/metadataLatest.d.ts +0 -0
- /package/dist/{src/db → db}/read/subqueries/versionData.d.ts +0 -0
- /package/dist/{src/db → db}/write/createMetadata.d.ts +0 -0
- /package/dist/{src/db → db}/write/createNewItem.d.ts +0 -0
- /package/dist/{src/db → db}/write/createSeed.d.ts +0 -0
- /package/dist/{src/db → db}/write/createSeeds.d.ts +0 -0
- /package/dist/{src/db → db}/write/createVersion.d.ts +0 -0
- /package/dist/{src/db → db}/write/deleteItem.d.ts +0 -0
- /package/dist/{src/db → db}/write/recoverDeletedItem.d.ts +0 -0
- /package/dist/{src/db → db}/write/saveAppState.d.ts +0 -0
- /package/dist/{src/db → db}/write/saveMetadata.d.ts +0 -0
- /package/dist/{src/db → db}/write/updateMetadata.d.ts +0 -0
- /package/dist/{src/eas.d.ts → eas.d.ts} +0 -0
- /package/dist/{src/eslint-rules → eslint-rules}/align-imports.d.ts +0 -0
- /package/dist/{src/eventBus.d.ts → eventBus.d.ts} +0 -0
- /package/dist/{src/events → events}/files/index.d.ts +0 -0
- /package/dist/{src/events → events}/index.d.ts +0 -0
- /package/dist/{src/events → events}/item/publish.d.ts +0 -0
- /package/dist/{src/events → events}/item/syncDbWithEas.d.ts +0 -0
- /package/dist/{src/events → events}/services/allItems.d.ts +0 -0
- /package/dist/{src/events → events}/services/index.d.ts +0 -0
- /package/dist/{src/feed.d.ts → feed.d.ts} +0 -0
- /package/dist/{src/graphql → graphql}/fragments/Attestation.d.ts +0 -0
- /package/dist/{src/graphql → graphql}/fragments/Schema.d.ts +0 -0
- /package/dist/{src/graphql → graphql}/fragments/index.d.ts +0 -0
- /package/dist/{src/graphql → graphql}/gql/fragment-masking.d.ts +0 -0
- /package/dist/{src/graphql → graphql}/gql/gql.d.ts +0 -0
- /package/dist/{src/graphql → graphql}/gql/graphql.d.ts +0 -0
- /package/dist/{src/graphql → graphql}/gql/index.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/FileManager/BaseFileManager.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/PathResolver/BasePathResolver.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/crypto.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/db.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/environment.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/file/queries.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/files.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/getSchemaForItemProperty.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/image/queries.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/model.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/property/index.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/property.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/reactiveProxy.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/schema.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/updateMachineContext.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/updateSchema.d.ts +0 -0
- /package/dist/{src/imports → imports}/json.d.ts +0 -0
- /package/dist/{src/imports → imports}/markdown.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/IDb.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/IEasClient.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/IItem.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/IQueryClient.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/index.d.ts +0 -0
- /package/dist/{src/node → node}/codegen/drizzle.d.ts +0 -0
- /package/dist/{src/node → node}/codegen/index.d.ts +0 -0
- /package/dist/{src/node → node}/codegen/ts-to-proto.d.ts +0 -0
- /package/dist/{src/node → node}/constants.d.ts +0 -0
- /package/dist/{src/node → node}/db/Db.d.ts +0 -0
- /package/dist/{src/node → node}/db/index.d.ts +0 -0
- /package/dist/{src/node → node}/db/node.app.db.config.d.ts +0 -0
- /package/dist/{src/node → node}/helpers/EasClient.d.ts +0 -0
- /package/dist/{src/node → node}/helpers/FileManager.d.ts +0 -0
- /package/dist/{src/node → node}/helpers/PathResolver.d.ts +0 -0
- /package/dist/{src/node → node}/helpers/QueryClient.d.ts +0 -0
- /package/dist/{src/node → node}/helpers/index.d.ts +0 -0
- /package/dist/{src/node → node}/helpers/scripts.d.ts +0 -0
- /package/dist/{src/node → node}/seed.d.ts +0 -0
- /package/dist/{src/node → node}/webpack/fs-proxy.d.ts +0 -0
- /package/dist/{src/node → node}/webpack/index.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ModelSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ModelSchemaSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ModelUidSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/PropertyUidSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/SchemaSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/SeedSchema.d.ts +0 -0
- /package/dist/{src/seedSchema → seedSchema}/VersionSchema.d.ts +0 -0
- /package/dist/{src/services → services}/events.d.ts +0 -0
- /package/dist/{src/services → services}/publish/actors/createPublishAttempt.d.ts +0 -0
- /package/dist/{src/services → services}/publish/actors/preparePublishRequestData.d.ts +0 -0
- /package/dist/{src/services → services}/publish/actors/upload.d.ts +0 -0
- /package/dist/{src/services → services}/publish/actors/validateItemData.d.ts +0 -0
- /package/dist/{src/services → services}/publish/publishMachine.d.ts +0 -0
- /package/dist/{src/services → services}/write/actors/writeToDatabase.d.ts +0 -0
- /package/dist/{src/stores → stores}/eas.d.ts +0 -0
- /package/dist/{src/types → types}/browser.d.ts +0 -0
- /package/dist/{src/types → types}/db.d.ts +0 -0
- /package/dist/{src/types → types}/fileManager.d.ts +0 -0
- /package/dist/{src/types → types}/helpers.d.ts +0 -0
- /package/dist/{src/types → types}/import.d.ts +0 -0
- /package/dist/{src/types → types}/machines.d.ts +0 -0
- /package/dist/{src/types → types}/model.d.ts +0 -0
- /package/dist/{src/types → types}/property.d.ts +0 -0
- /package/dist/{src/types → types}/seedProtocol.d.ts +0 -0
- /package/dist/{src/types → types}/services.d.ts +0 -0
package/dist/Model/Model.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Model.js","sources":["../../../src/Model/Model.ts"],"sourcesContent":["import { ActorRefFrom, createActor, SnapshotFrom } from 'xstate'\nimport { modelMachine, ModelMachineContext } from './service/modelMachine'\nimport { createReactiveProxy } from '@/helpers/reactiveProxy'\nimport { Item } from '@/Item/Item'\nimport { ModelValues } from '@/types'\nimport { ItemData } from '@/types/item'\nimport { generateId } from '@/helpers'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { ConflictError, ConflictResult } from '@/Schema/errors'\nimport { renameModelInDb } from '@/helpers/db'\nimport { models as modelsTable } from '@/seedSchema/ModelSchema'\nimport { eq } from 'drizzle-orm'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:model:Model')\nconst saveDraftLogger = debug('seedSdk:model:saveDraftToDb')\n\ntype ModelService = ActorRefFrom<typeof modelMachine>\ntype ModelSnapshot = SnapshotFrom<typeof modelMachine>\n\n// Lazy import cache for ModelProperty to avoid circular dependency\n// Eagerly start loading to minimize delay on first access\nlet ModelPropertyClass: any = null\nconst modelPropertyImportPromise = import('@/ModelProperty/ModelProperty')\n .then(module => {\n ModelPropertyClass = module.ModelProperty\n return ModelPropertyClass\n })\n .catch(() => {\n // If import fails, ModelPropertyClass remains null\n return null\n })\n\nfunction getModelProperty(): any {\n // Return cached class if available (synchronous access)\n // Note: On first access before import completes, this will return null\n // and the getter will return empty array, which matches the original behavior\n return ModelPropertyClass\n}\n\n// Lazy import cache for Schema to avoid circular dependency\nlet SchemaClass: any = null\nconst schemaImportPromise = import('@/Schema/Schema')\n .then(module => {\n SchemaClass = module.Schema\n return SchemaClass\n })\n .catch(() => {\n // If import fails, SchemaClass remains null\n return null\n })\n\n// WeakMap to store mutable state per Model instance\n// This avoids issues with read-only properties when instances are frozen by Immer\nconst modelInstanceState = new WeakMap<Model, {\n liveQuerySubscription: { unsubscribe: () => void } | null // LiveQuery subscription for cross-instance property updates\n}>()\n\n// Define tracked properties for the Proxy\n// These properties will be read from/written to the actor context\nconst TRACKED_PROPERTIES = [\n 'id', // schemaFileId (string) - public ID\n 'modelName',\n 'schemaName',\n 'properties',\n] as const\n\nexport class Model {\n // Primary cache: ID-based (never changes on rename)\n protected static instanceCacheById: Map<\n string, // modelFileId\n { instance: Model; refCount: number }\n > = new Map()\n \n // Secondary index: name lookup (updated on rename)\n protected static instanceCacheByName: Map<\n string, // \"schemaName:modelName\"\n string // modelFileId\n > = new Map()\n \n // Legacy cache: kept temporarily for backward compatibility during migration\n protected static instanceCache: Map<\n string,\n { instance: Model; refCount: number }\n > = new Map()\n \n // Static tracking for pending writes\n private static pendingWrites = new Map<string, {\n modelFileId: string\n schemaId: number\n status: 'pending' | 'writing' | 'success' | 'error'\n timestamp: number\n }>()\n \n // Track which models are currently being saved to prevent concurrent saves\n protected static savingModels: Set<string> = new Set()\n \n // Cache client initialization state globally to avoid repeated checks\n private static cachedClientInitialized: boolean | null = null\n private static clientCheckTime: number = 0\n private static readonly CLIENT_CHECK_CACHE_MS = 50 // Cache for 50ms to avoid excessive checks\n \n static trackPendingWrite(modelFileId: string, schemaId: number): void {\n this.pendingWrites.set(modelFileId, {\n modelFileId,\n schemaId,\n status: 'pending',\n timestamp: Date.now(),\n })\n }\n \n static getPendingModelIds(schemaId: number): string[] {\n return Array.from(this.pendingWrites.entries())\n .filter(([_, write]) => write.schemaId === schemaId && write.status !== 'error')\n .map(([modelFileId]) => modelFileId)\n }\n \n protected readonly _service: ModelService\n\n modelName?: string\n schemaName?: string\n properties?: any[] // Array of ModelProperty instances (like Schema.models)\n // 'name' is available as an alias for 'modelName' via the proxy\n\n constructor(\n modelName: string, \n schemaName: string, \n id?: string, // schemaFileId (string) - public ID\n initialContext?: Pick<ModelMachineContext, '_pendingPropertyDefinitions'>\n ) {\n const serviceInput: Pick<ModelMachineContext, 'modelName' | 'schemaName' | 'id' | '_pendingPropertyDefinitions'> = {\n modelName,\n schemaName,\n ...(id ? { id } : {}),\n ...(initialContext?._pendingPropertyDefinitions ? { _pendingPropertyDefinitions: initialContext._pendingPropertyDefinitions } : {}),\n }\n\n this._service = createActor(modelMachine as any, {\n input: serviceInput,\n }) as ModelService\n\n this._service.start()\n\n // Initialize instance state in WeakMap\n modelInstanceState.set(this, {\n liveQuerySubscription: null,\n })\n \n // Set up liveQuery subscription for cross-instance property updates\n this._setupLiveQuerySubscription()\n \n // Subscribe to refresh properties after they're created (for Node.js where liveQuery isn't available)\n let previousState: string | undefined\n this._service.subscribe((snapshot) => {\n // Check if we just transitioned to idle from creatingProperties state\n if (snapshot.value === 'idle' && previousState === 'creatingProperties') {\n console.log('[Model constructor] Transitioned to idle after creating properties, refreshing properties from DB')\n // Small delay to ensure properties are written to DB\n setTimeout(() => {\n this._refreshPropertiesFromDb().catch((error) => {\n logger(`[Model constructor] Error refreshing properties: ${error}`)\n })\n }, 200)\n }\n previousState = snapshot.value as string\n })\n\n // Note: Property getters/setters are now handled by the Proxy in create()\n }\n\n /**\n * Find a unique model name by checking for duplicates (case-insensitive) in the cache\n * If duplicates are found, appends an incrementing number to make it unique\n * \n * @param modelName - The desired model name\n * @param schemaName - The schema name\n * @param skipAllChecks - If true, skip all duplicate checks and return original name (used when creating schema models to preserve original names)\n * @returns A unique model name\n */\n static findUniqueModelName(modelName: string, schemaName: string, skipAllChecks: boolean = false): string {\n // If skipAllChecks is true (schema models), preserve original name\n if (skipAllChecks) {\n return modelName\n }\n \n const lowerModelName = modelName.toLowerCase()\n \n // Check all cached models for this schema\n const existingNames = new Set<string>()\n const existingNumbers = new Set<number>()\n \n // Check name-based cache\n for (const [nameKey, modelFileId] of this.instanceCacheByName.entries()) {\n const [cachedSchemaName, cachedModelName] = nameKey.split(':', 2)\n if (cachedSchemaName === schemaName && cachedModelName) {\n const lowerCachedName = cachedModelName.toLowerCase()\n existingNames.add(lowerCachedName)\n \n // If it matches the base name (case-insensitive), check if it has a number suffix\n if (lowerCachedName === lowerModelName) {\n existingNumbers.add(0) // Base name exists\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 }\n }\n }\n }\n \n // Check legacy cache\n for (const [nameKey] of this.instanceCache.keys()) {\n const [cachedSchemaName, cachedModelName] = nameKey.split(':', 2)\n if (cachedSchemaName === schemaName && cachedModelName) {\n const lowerCachedName = cachedModelName.toLowerCase()\n existingNames.add(lowerCachedName)\n \n // If it matches the base name (case-insensitive), check if it has a number suffix\n if (lowerCachedName === lowerModelName) {\n existingNumbers.add(0) // Base name exists\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 }\n }\n }\n }\n \n // Also check schema context models (case-insensitive)\n // This ensures runtime-created models are renamed if they conflict with schema-defined models\n try {\n // Use lazy-loaded Schema class to avoid circular dependency\n if (SchemaClass) {\n const schema = SchemaClass.create(schemaName)\n const schemaContext = schema.getService().getSnapshot().context\n \n if (schemaContext.models) {\n for (const schemaModelName of Object.keys(schemaContext.models)) {\n const lowerSchemaModelName = schemaModelName.toLowerCase()\n \n // If it matches the base name (case-insensitive), check if it has a number suffix\n if (lowerSchemaModelName === lowerModelName) {\n existingNumbers.add(0) // Base name exists in schema\n } else if (lowerSchemaModelName.startsWith(lowerModelName + ' ')) {\n // Check if it's the base name followed by a space and a number\n const suffix = lowerSchemaModelName.slice(lowerModelName.length + 1)\n const number = parseInt(suffix, 10)\n if (!isNaN(number) && suffix === number.toString()) {\n existingNumbers.add(number)\n }\n }\n }\n }\n }\n } catch (error) {\n // If schema check fails, continue with cache-only check\n // This is a best-effort check and shouldn't block model creation\n }\n \n // If no duplicates found (no base name match and no numbered variants), return original name\n if (existingNumbers.size === 0) {\n return modelName\n }\n \n // Find the next available number\n // Start from 1 if base name exists, otherwise check if we can use 1\n let nextNumber = existingNumbers.has(0) ? 1 : 1\n while (existingNumbers.has(nextNumber)) {\n nextNumber++\n }\n \n // Return the name with the number appended\n return `${modelName} ${nextNumber}`\n }\n\n /**\n * Create a new Model instance or return existing cached instance\n * \n * @param modelName - The name of the model\n * @param schemaNameOrSchema - The schema name (string) or Schema instance\n * @param options - Optional configuration (can be omitted to create model with empty properties):\n * - modelFileId: Pre-existing model file ID\n * - properties: Model properties definition (defaults to empty object if not provided)\n * - registerWithSchema: Whether to automatically register this model with its schema (default: true if schema instance provided)\n * \n * @example\n * // Create model with empty properties\n * const model = Model.create('MyModel', schema)\n * \n * @example\n * // Create model with properties\n * const model = Model.create('MyModel', schema, {\n * properties: { title: { dataType: 'String' } }\n * })\n */\n static create(\n modelName: string,\n schemaNameOrSchema: string | any, // Schema type - using any to avoid circular dependency\n options?: {\n id?: string // schemaFileId (string) - public ID (deprecated, use modelFileId)\n modelFileId?: string // Pre-existing model file ID (preferred)\n properties?: { [propertyName: string]: any }\n registerWithSchema?: boolean\n }\n ): Model {\n if (!modelName) {\n throw new Error('Model name is required')\n }\n\n // Extract schema name and instance\n let schemaName: string\n let schemaInstance: any | undefined // Using any to avoid circular dependency with Schema\n if (typeof schemaNameOrSchema === 'string') {\n schemaName = schemaNameOrSchema\n } else {\n schemaInstance = schemaNameOrSchema\n schemaName = schemaInstance.schemaName\n }\n\n if (!schemaName) {\n throw new Error('Schema name is required')\n }\n\n // Support both modelFileId (documented) and id (backward compatibility)\n const id = options?.modelFileId || options?.id // schemaFileId (string) - public ID\n const registerWithSchema = options?.registerWithSchema !== false && schemaInstance !== undefined\n\n // Step 1: Check ID-based cache first (if ID provided)\n if (id && this.instanceCacheById.has(id)) {\n const { instance, refCount } = this.instanceCacheById.get(id)!\n this.instanceCacheById.set(id, {\n instance,\n refCount: refCount + 1,\n })\n logger(`Model.create: Found instance in ID cache for \"${modelName}\" (ID: ${id})`)\n return instance\n }\n\n // Step 2: Check for duplicate names and generate unique name if needed (before checking cache)\n // This allows us to create new models with renamed versions when duplicates exist\n // Skip all duplicate checks if modelFileId is provided (schema models should preserve original names)\n const skipAllChecks = !!id // If id (modelFileId) is provided, this is a schema model - skip schema check to preserve name\n const uniqueModelName = this.findUniqueModelName(modelName, schemaName, skipAllChecks)\n \n // Step 3: Check name-based index with ORIGINAL name first (before using unique name)\n // Only return existing instance if the unique name matches the original (no rename needed)\n // If a rename is needed, we'll create a new model with the unique name\n let resolvedId = id\n if (!resolvedId && uniqueModelName === modelName) {\n // No rename needed - check if instance exists with original name\n const originalNameKey = `${schemaName}:${modelName}`\n resolvedId = this.instanceCacheByName.get(originalNameKey)\n if (resolvedId && this.instanceCacheById.has(resolvedId)) {\n const { instance, refCount } = this.instanceCacheById.get(resolvedId)!\n this.instanceCacheById.set(resolvedId, {\n instance,\n refCount: refCount + 1,\n })\n logger(`Model.create: Found instance via name index for \"${modelName}\" (ID: ${resolvedId})`)\n return instance\n }\n }\n\n // Step 4: Check legacy cache with original name (only if no rename needed)\n if (uniqueModelName === modelName) {\n const originalNameKey = `${schemaName}:${modelName}`\n if (this.instanceCache.has(originalNameKey)) {\n const { instance, refCount } = this.instanceCache.get(originalNameKey)!\n this.instanceCache.set(originalNameKey, {\n instance,\n refCount: refCount + 1,\n })\n logger(`Model.create: Found instance in legacy cache for \"${modelName}\"`)\n \n // Migrate to new cache structure\n const context = instance._getSnapshotContext()\n const existingId = context.id // id is now the schemaFileId (string)\n if (existingId) {\n this.instanceCacheById.set(existingId, { instance, refCount: refCount + 1 })\n this.instanceCacheByName.set(originalNameKey, existingId)\n }\n \n return instance\n }\n }\n \n // Step 5: Log if rename is needed\n if (uniqueModelName !== modelName) {\n logger(`Model.create: Found duplicate name \"${modelName}\" in schema \"${schemaName}\", using unique name \"${uniqueModelName}\"`)\n \n // CRITICAL: When a rename is detected, check all cached instances to see if any match the original name\n // This handles the case where a model was created, saved to DB, then renamed in cache\n // We need to find the existing instance by checking all cached instances for this schema\n for (const [cachedId, { instance }] of this.instanceCacheById.entries()) {\n const context = instance._getSnapshotContext()\n // Check if this instance belongs to the same schema and has the original name\n // Note: We check the context's modelName which reflects the current name (may be renamed)\n // But we also need to check if it was originally created with the requested name\n // Since we can't query DB synchronously, we check if the instance's current name matches\n // the original name OR if it's in the same schema and might be the model we're looking for\n if (context.schemaName === schemaName) {\n // If the instance's current name matches the original name, return it\n // This handles the case where the model wasn't actually renamed yet\n if (context.modelName === modelName) {\n const { refCount } = this.instanceCacheById.get(cachedId)!\n this.instanceCacheById.set(cachedId, {\n instance,\n refCount: refCount + 1,\n })\n // Update name index to include original name if not already there\n const originalNameKey = `${schemaName}:${modelName}`\n if (!this.instanceCacheByName.has(originalNameKey)) {\n this.instanceCacheByName.set(originalNameKey, cachedId)\n }\n logger(`Model.create: Found existing instance with original name \"${modelName}\" (ID: ${cachedId}) despite rename detection`)\n return instance\n }\n }\n }\n }\n\n // Create name-based cache key using the unique name (for new instances)\n const nameKey = `${schemaName}:${uniqueModelName}`\n\n // Step 6: Check legacy cache with unique name (backward compatibility during migration)\n // This is a fallback in case an instance was cached with a unique name\n if (this.instanceCache.has(nameKey)) {\n const { instance, refCount } = this.instanceCache.get(nameKey)!\n this.instanceCache.set(nameKey, {\n instance,\n refCount: refCount + 1,\n })\n logger(`Model.create: Found instance in legacy cache for \"${modelName}\"`)\n \n // Migrate to new cache structure\n const context = instance._getSnapshotContext()\n const existingId = context.id // id is now the schemaFileId (string)\n if (existingId) {\n this.instanceCacheById.set(existingId, { instance, refCount: refCount + 1 })\n this.instanceCacheByName.set(nameKey, existingId)\n }\n \n return instance\n }\n\n // Step 7: Generate ID if not provided (before creating instance)\n if (!resolvedId) {\n resolvedId = generateId()\n logger(`Model.create: Generated new id (schemaFileId) \"${resolvedId}\" for model \"${modelName}\"`)\n }\n \n // Step 7: Create new instance with id in initial context\n // This ensures loadOrCreateModel sees the ID immediately\n // Pass _pendingPropertyDefinitions in initial context to avoid race condition with loadOrCreateModel\n // This is the proper XState way - include it in the initial input so it's available from the start\n const initialContext = options?.properties \n ? { _pendingPropertyDefinitions: JSON.parse(JSON.stringify(options.properties)) } as Pick<ModelMachineContext, '_pendingPropertyDefinitions'>\n : undefined\n \n // Use the unique model name for the instance\n const newInstance = new this(uniqueModelName, schemaName, resolvedId, initialContext)\n \n if (options?.properties) {\n logger(`[Model.create] Created instance with _pendingPropertyDefinitions in initial context (${Object.keys(options.properties).length} properties) for model \"${uniqueModelName}\"`)\n }\n\n console.log('newInstance created for', uniqueModelName, 'with id', resolvedId)\n \n // Step 7: Set initial model data if provided\n // Note: description is not supported - JSON files can have it but we ignore it at runtime\n if (options) {\n const updates: any = {}\n \n if (Object.keys(updates).length > 0) {\n newInstance._service.send({\n type: 'updateContext',\n ...updates,\n })\n \n // Initialize original values\n // Note: properties are not stored in context, they're computed from ModelProperty instances\n newInstance._service.send({\n type: 'initializeOriginalValues',\n originalValues: {},\n isEdited: false,\n })\n }\n }\n \n // Wrap instance in Proxy for reactive property access\n // Create a custom proxy that handles 'name' as an alias for 'modelName'\n const proxiedInstance = new Proxy(newInstance, {\n get(target, prop: string | symbol) {\n // Handle special properties\n if (prop === '_service') {\n return Reflect.get(target, prop)\n }\n \n // Handle 'name' as an alias for 'modelName'\n if (prop === 'name') {\n const context = target._getSnapshotContext()\n return context.modelName\n }\n \n // Handle 'id' property - returns the schemaFileId (string)\n if (prop === 'id') {\n const context = target._getSnapshotContext()\n return context.id // id is now the schemaFileId (string)\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n // Special handling for properties - compute from liveQuery + ModelProperty static cache\n if (prop === 'properties') {\n const snapshot = target._service.getSnapshot()\n const context = snapshot.context\n \n // Get property IDs from liveQuery (stored in context, not instanceState)\n const liveQueryIds = context._liveQueryPropertyIds || []\n console.log(`[Model.properties getter] Model \"${context.modelName}\" (state: ${snapshot.value}) - liveQueryIds:`, Array.isArray(liveQueryIds) ? `[${liveQueryIds.length} items: ${liveQueryIds.join(', ')}]` : liveQueryIds)\n // Get _dbId from context for pending writes lookup\n const dbId: number | undefined = context._dbId // _dbId is the database integer ID\n console.log('_dbId', dbId)\n // Get pending property IDs (synchronous - uses static Map)\n // Lazy import ModelProperty to avoid circular dependency\n const ModelProperty = getModelProperty()\n if (!ModelProperty) {\n // If ModelProperty is not yet loaded, return empty array\n // It will be available on subsequent accesses after the async import completes\n return []\n }\n const pendingIds = dbId ? ModelProperty.getPendingPropertyIds(dbId) : []\n\n console.log(`[Model.properties getter] Model \"${context.modelName}\" (state: ${snapshot.value}) - pendingIds:`, pendingIds)\n \n // Combine and deduplicate\n const allPropertyIds = [...new Set([...liveQueryIds, ...pendingIds])]\n\n console.log('[Model.properties getter] allPropertyIds', allPropertyIds)\n \n // Get ModelProperty instances from static cache (synchronous)\n const propertyInstances: any[] = []\n for (const propertyFileId of allPropertyIds) {\n console.log('[Model.properties getter] propertyFileId', propertyFileId)\n const property = ModelProperty.getById(propertyFileId)\n console.log('[Model.properties getter] property', property)\n if (property) {\n propertyInstances.push(property)\n }\n // Note: Cannot create properties asynchronously in this synchronous getter\n // Properties will be created elsewhere when needed\n }\n \n // CRITICAL: Always create a new array reference so React detects changes\n console.log('[Model.properties getter] propertyInstances', propertyInstances.map(p => p.name))\n return [...propertyInstances]\n }\n \n const context = target._getSnapshotContext()\n return (context as any)[prop]\n }\n \n // For methods and other properties, use Reflect\n return Reflect.get(target, prop)\n },\n \n set(target, prop: string | symbol, value: any) {\n // Handle special properties\n if (prop === '_service') {\n return Reflect.set(target, prop, value)\n }\n \n // Handle 'name' as an alias for 'modelName'\n if (prop === 'name') {\n prop = 'modelName'\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n // Use the sendUpdate logic\n if (prop === 'modelName') {\n // Model name change - need to update Schema and database\n const context = target._getSnapshotContext()\n const oldName = context.modelName\n const newName = value as string\n \n if (oldName === newName) {\n logger(`Model name unchanged: \"${oldName}\"`)\n return true\n }\n \n logger(`Updating model name from \"${oldName}\" to \"${newName}\"`)\n \n // Update Model instance cache using new ID-based structure\n const modelFileId = context.id // id is now the schemaFileId (string)\n if (modelFileId) {\n Model.updateNameIndex(oldName, newName, context.schemaName, modelFileId)\n } else {\n // Fallback to legacy cache if no ID (shouldn't happen, but safety)\n const oldCacheKey = `${context.schemaName}:${oldName}`\n const newCacheKey = `${context.schemaName}:${newName}`\n if (Model.instanceCache.has(oldCacheKey)) {\n const entry = Model.instanceCache.get(oldCacheKey)!\n Model.instanceCache.delete(oldCacheKey)\n Model.instanceCache.set(newCacheKey, entry)\n }\n }\n \n // Update Model context\n target._service.send({\n type: 'updateContext',\n modelName: newName,\n })\n \n // Mark model as draft\n target._service.send({\n type: 'markAsDraft',\n propertyKey: 'modelName',\n })\n \n // Save draft to database immediately so changes persist\n target._saveDraftToDb(oldName, newName).catch((error) => {\n logger(`Failed to save draft to database: ${error instanceof Error ? error.message : String(error)}`)\n })\n \n // NOTE: Schema is not notified of model name changes during edits.\n // Schema will read from Model instances when persisting/saving.\n } else if (prop === 'properties') {\n // Properties are read-only computed values from ModelProperty instances\n // Cannot be set directly - properties are managed via ModelProperty instances\n throw new Error('Cannot set model.properties directly. Properties are computed from ModelProperty instances.')\n } else if (prop === 'description') {\n // Description is not supported - JSON files can have it but we ignore it at runtime\n throw new Error('Cannot set model.description. Description is not supported in runtime Model instances.')\n } else {\n // Standard property update\n target._service.send({\n type: 'updateContext',\n [prop]: value,\n })\n }\n return true\n }\n \n // For non-tracked properties, use Reflect\n return Reflect.set(target, prop, value)\n },\n \n has(target, prop: string | symbol) {\n // Handle 'name' as an alias for 'modelName'\n if (prop === 'name') {\n return true\n }\n \n // Handle 'id' property\n if (prop === 'id') {\n return true\n }\n \n // Check tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n const context = target._getSnapshotContext()\n return prop in context\n }\n return Reflect.has(target, prop)\n },\n \n ownKeys(target) {\n // Include 'name' and 'id' in ownKeys\n const keys = Reflect.ownKeys(target)\n const additionalKeys: (string | symbol)[] = []\n if (!keys.includes('name')) {\n additionalKeys.push('name')\n }\n if (!keys.includes('id')) {\n additionalKeys.push('id')\n }\n return additionalKeys.length > 0 ? [...keys, ...additionalKeys] : keys\n },\n \n getOwnPropertyDescriptor(target, prop: string | symbol) {\n // Handle 'name' as an alias for 'modelName'\n if (prop === 'name') {\n const context = target._getSnapshotContext()\n return {\n enumerable: true,\n configurable: true,\n value: context.modelName,\n writable: true,\n }\n }\n \n // Handle 'id' property - returns the modelFileId\n if (prop === 'id') {\n const context = target._getSnapshotContext()\n return {\n enumerable: true,\n configurable: true,\n value: context.id, // id is now the schemaFileId (string)\n writable: false, // id is read-only\n }\n }\n \n // Handle tracked properties\n if (typeof prop === 'string' && TRACKED_PROPERTIES.includes(prop as any)) {\n const context = target._getSnapshotContext()\n if (prop in context) {\n return {\n enumerable: true,\n configurable: true,\n value: (context as any)[prop],\n writable: true,\n }\n }\n }\n return Reflect.getOwnPropertyDescriptor(target, prop)\n },\n }) as Model\n \n // Step 8: Store in new ID-based cache\n // resolvedId is guaranteed to be defined at this point (generated if not provided)\n this.instanceCacheById.set(resolvedId!, {\n instance: proxiedInstance,\n refCount: 1,\n })\n \n // Step 9: Store in name-based index\n this.instanceCacheByName.set(nameKey, resolvedId!)\n \n // Step 10: Also store in legacy cache (for backward compatibility during migration)\n this.instanceCache.set(nameKey, {\n instance: proxiedInstance,\n refCount: 1,\n })\n \n logger(`Model.create: Created new instance for \"${uniqueModelName}\" (ID: ${id})`)\n \n // Model instance is now cached and accessible via Model.getById() and Model.getByName()\n // No wrapper or store registration needed\n \n // Step 11: Register with schema if requested, OR trigger write if properties are provided\n // If properties are provided, we need to write the model to get modelId for property creation\n // If schema provided, trigger write process instead of registration\n const shouldTriggerWrite = (registerWithSchema && schemaInstance) || (options?.properties && Object.keys(options.properties).length > 0)\n if (shouldTriggerWrite) {\n queueMicrotask(async () => {\n try {\n // Wait for model to reach idle state (validation complete)\n await new Promise<void>((resolve) => {\n const subscription = proxiedInstance._service.subscribe((snapshot) => {\n // Wait for idle state (validation complete) or error state\n if (snapshot.value === 'idle' || snapshot.value === 'error') {\n subscription.unsubscribe()\n resolve()\n }\n })\n // Timeout after 10 seconds\n setTimeout(() => {\n subscription.unsubscribe()\n resolve()\n }, 10000)\n })\n \n // Only write if validation passed (model is in idle state, not error)\n const finalSnapshot = proxiedInstance._service.getSnapshot()\n if (finalSnapshot.value === 'idle' && (!finalSnapshot.context._validationErrors || finalSnapshot.context._validationErrors.length === 0)) {\n logger(`Model validation passed, triggering write process`)\n \n // Get schema ID from schema instance or look it up by schema name\n let schemaId: number | undefined\n \n if (schemaInstance) {\n const schemaContext = (schemaInstance as any)._getSnapshotContext()\n const schemaFileId = schemaContext.id // id is the schemaFileId (string) in SchemaMachineContext\n \n if (schemaFileId) {\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n const { eq } = await import('drizzle-orm')\n const db = BaseDb.getAppDb()\n \n if (db) {\n const schemaRecords = await db\n .select()\n .from(schemasTable)\n .where(eq(schemasTable.schemaFileId, schemaFileId))\n .limit(1)\n \n if (schemaRecords.length > 0) {\n schemaId = schemaRecords[0].id\n }\n }\n } catch (error) {\n logger(`Error looking up schemaId: ${error}`)\n }\n }\n } else if (schemaName) {\n // If no schema instance but we have schema name, look it up by name\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n const { eq } = await import('drizzle-orm')\n const db = BaseDb.getAppDb()\n \n if (db) {\n const schemaRecords = await db\n .select()\n .from(schemasTable)\n .where(eq(schemasTable.name, schemaName))\n .limit(1)\n \n if (schemaRecords.length > 0) {\n schemaId = schemaRecords[0].id\n }\n }\n } catch (error) {\n logger(`Error looking up schemaId by name: ${error}`)\n }\n }\n \n if (schemaId && finalSnapshot.context.id) {\n // Track pending write\n Model.trackPendingWrite(finalSnapshot.context.id, schemaId) // id is now the schemaFileId (string)\n \n // Wait for writeProcess to be spawned (it's spawned in idle state entry action)\n // Retry a few times if writeProcess isn't available yet\n let retries = 0\n const maxRetries = 10\n const checkAndSend = async () => {\n const currentSnapshot = proxiedInstance._service.getSnapshot()\n if (currentSnapshot.context.writeProcess) {\n logger(`Triggering write process for model \"${finalSnapshot.context.modelName}\" (schemaId: ${schemaId})`)\n \n // Use pending property definitions if available, otherwise convert from ModelProperty instances\n let propertiesObject: { [name: string]: any } = {}\n if (currentSnapshot.context._pendingPropertyDefinitions) {\n // Use the original property definitions for the write\n // Convert dataType to type for validation compatibility\n propertiesObject = JSON.parse(JSON.stringify(currentSnapshot.context._pendingPropertyDefinitions))\n for (const [propName, propData] of Object.entries(propertiesObject)) {\n if (propData.dataType && !propData.type) {\n propertiesObject[propName] = {\n ...propData,\n type: propData.dataType,\n }\n }\n }\n } else {\n // Fallback: convert ModelProperty instances to object format\n const { modelPropertiesToObject } = await import('@/helpers/model')\n const properties = proxiedInstance.properties || []\n propertiesObject = modelPropertiesToObject(properties)\n }\n \n // Set up subscription to writeProcess to detect write success BEFORE sending request\n const writeProcess = currentSnapshot.context.writeProcess\n \n // Check current state - if already in success, handle immediately\n const currentWriteState = writeProcess.getSnapshot()\n if (currentWriteState.value === 'success') {\n proxiedInstance._service.send({\n type: 'writeSuccess',\n output: currentWriteState.context.entityData,\n })\n } else {\n // Set up subscription to catch future state changes\n const writeSubscription = writeProcess.subscribe((writeSnapshot) => {\n if (writeSnapshot.value === 'success') {\n writeSubscription.unsubscribe()\n const currentContext = proxiedInstance._service.getSnapshot().context\n logger(`[writeProcess subscription] Write succeeded, sending writeSuccess event. Has _pendingPropertyDefinitions: ${!!(currentContext._pendingPropertyDefinitions && Object.keys(currentContext._pendingPropertyDefinitions).length > 0)}`)\n // Send writeSuccess event to model machine\n proxiedInstance._service.send({\n type: 'writeSuccess',\n output: writeSnapshot.context.entityData,\n })\n } else if (writeSnapshot.value === 'error') {\n writeSubscription.unsubscribe()\n const errorContext = writeSnapshot.context\n logger(`Write process failed for model \"${finalSnapshot.context.modelName}\": ${errorContext.error?.message || 'Unknown error'}`)\n logger(`Write process error details:`, errorContext.error)\n logger(`Validation errors:`, errorContext.validationErrors)\n }\n })\n }\n \n proxiedInstance._service.send({\n type: 'requestWrite',\n data: {\n modelFileId: finalSnapshot.context.id, // id is now the schemaFileId (string)\n modelName: finalSnapshot.context.modelName,\n schemaName: finalSnapshot.context.schemaName,\n schemaId,\n properties: propertiesObject,\n },\n })\n } else if (retries < maxRetries) {\n retries++\n setTimeout(checkAndSend, 50) // Retry after 50ms\n } else {\n logger(`ERROR: writeProcess not available after ${maxRetries} retries for model \"${finalSnapshot.context.modelName}\"`)\n }\n }\n \n // Start checking immediately, but also allow time for entry action to complete\n setTimeout(checkAndSend, 0)\n } else {\n logger(`Cannot trigger write process: missing schemaId (${schemaId}) or id (${finalSnapshot.context.id})`)\n }\n } else {\n logger(`Model validation failed or model in error state, skipping write process`)\n }\n } catch (error) {\n logger(`Failed to trigger write process: ${error instanceof Error ? error.message : String(error)}`)\n }\n })\n }\n \n return proxiedInstance\n }\n\n /**\n * Get Model instance by modelFileId (O(1) lookup)\n */\n static getById(modelFileId: string): Model | undefined {\n const entry = this.instanceCacheById.get(modelFileId)\n if (entry) {\n // Increment ref count\n this.instanceCacheById.set(modelFileId, {\n instance: entry.instance,\n refCount: entry.refCount + 1,\n })\n return entry.instance\n }\n return undefined\n }\n\n /**\n * Get Model instance by name (O(1) lookup via name→ID mapping)\n * \n * @param modelName - The name of the model\n * @param schemaName - The schema name (optional, will query DB if not provided)\n * @returns The Model instance if found, undefined otherwise\n */\n static getByName(modelName: string, schemaName?: string): Model | undefined {\n if (schemaName) {\n const nameKey = `${schemaName}:${modelName}`\n const id = this.instanceCacheByName.get(nameKey)\n if (!id) {\n return undefined\n }\n return this.getById(id)\n }\n // If schemaName not provided, try to find in cache by searching all name keys\n for (const [nameKey, id] of this.instanceCacheByName.entries()) {\n const [, cachedModelName] = nameKey.split(':')\n if (cachedModelName === modelName) {\n return this.getById(id)\n }\n }\n return undefined\n }\n\n /**\n * Get Model instance by name, querying database if not in cache\n * This is an async version that can query the database when schemaName is not provided\n * \n * @param modelName - The name of the model\n * @param schemaName - Optional schema name (will query DB if not provided)\n * @returns The Model instance if found, undefined otherwise\n */\n static async getByNameAsync(modelName: string, schemaName?: string): Promise<Model | undefined> {\n // First try cache\n const cached = this.getByName(modelName, schemaName)\n if (cached) {\n return cached\n }\n\n // If not in cache and schemaName not provided, query database\n if (!schemaName) {\n const db = BaseDb.getAppDb()\n if (!db) {\n return undefined\n }\n\n try {\n const { models: modelsTable } = await import('@/seedSchema/ModelSchema')\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n const { eq } = await import('drizzle-orm')\n\n // Query model by name\n const modelRecords = await db\n .select({\n modelFileId: modelsTable.schemaFileId,\n modelName: modelsTable.name,\n schemaName: schemasTable.name,\n })\n .from(modelsTable)\n .innerJoin(modelSchemas, eq(modelsTable.id, modelSchemas.modelId))\n .innerJoin(schemasTable, eq(modelSchemas.schemaId, schemasTable.id))\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n if (modelRecords.length === 0) {\n return undefined\n }\n\n const record = modelRecords[0]\n if (!record.modelName || !record.schemaName || !record.modelFileId) {\n return undefined\n }\n\n // Create model instance (will be cached)\n return this.create(record.modelName, record.schemaName, {\n id: record.modelFileId, // id is now the schemaFileId (string)\n })\n } catch (error) {\n logger(`Model.getByNameAsync: Error looking up model by name \"${modelName}\": ${error instanceof Error ? error.message : String(error)}`)\n return undefined\n }\n }\n\n return undefined\n }\n\n /**\n * Create or get Model instance by modelFileId\n * Checks cache first, then database if not found\n * \n * @param modelFileId - The model file ID to look up\n * @returns The Model instance if found, undefined otherwise\n */\n static async createById(modelFileId: string): Promise<Model | undefined> {\n if (!modelFileId) {\n return undefined\n }\n\n // Step 1: Check cache first (fast path)\n const cached = this.getById(modelFileId)\n if (cached) {\n logger(`Model.createById: Found instance in cache for ID \"${modelFileId}\"`)\n return cached\n }\n\n // Step 2: Query database to get modelName and schemaName\n const db = BaseDb.getAppDb()\n if (!db) {\n logger(`Model.createById: Database not available for ID \"${modelFileId}\"`)\n return undefined\n }\n\n try {\n const { models: modelsTable } = await import('@/seedSchema/ModelSchema')\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n const { eq } = await import('drizzle-orm')\n\n // Query model by schemaFileId and join to get schema name\n const modelRecords = await db\n .select({\n modelId: modelsTable.id,\n modelName: modelsTable.name,\n schemaName: schemasTable.name,\n })\n .from(modelsTable)\n .innerJoin(modelSchemas, eq(modelsTable.id, modelSchemas.modelId))\n .innerJoin(schemasTable, eq(modelSchemas.schemaId, schemasTable.id))\n .where(eq(modelsTable.schemaFileId, modelFileId))\n .limit(1)\n\n if (modelRecords.length === 0) {\n logger(`Model.createById: Model not found in database for ID \"${modelFileId}\"`)\n return undefined\n }\n\n const { modelName, schemaName } = modelRecords[0]\n if (!modelName || !schemaName) {\n logger(`Model.createById: Missing modelName or schemaName for ID \"${modelFileId}\"`)\n return undefined\n }\n\n // Step 3: Create model using existing create method (which will handle caching)\n logger(`Model.createById: Creating model \"${modelName}\" in schema \"${schemaName}\" from ID \"${modelFileId}\"`)\n return this.create(modelName, schemaName, {\n id: modelFileId, // id is now the schemaFileId (string)\n })\n } catch (error) {\n logger(`Model.createById: Error looking up model by ID \"${modelFileId}\": ${error instanceof Error ? error.message : String(error)}`)\n return undefined\n }\n }\n\n /**\n * Get all Model instances for a schema by schemaFileId or schemaName\n * Queries database for all models with the given schemaId/schemaName and returns Model instances\n * \n * @param schemaIdentifier - The schema file ID or schema name to get models for\n * @returns Array of Model instances for the schema\n */\n static async createBySchemaId(schemaIdentifier: string): Promise<Model[]> {\n if (!schemaIdentifier) {\n return []\n }\n\n const db = BaseDb.getAppDb()\n if (!db) {\n logger(`Model.createBySchemaId: Database not available for schema \"${schemaIdentifier}\"`)\n return []\n }\n\n try {\n const { models: modelsTable } = await import('@/seedSchema/ModelSchema')\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { schemas: schemasTable } = await import('@/seedSchema/SchemaSchema')\n const { eq, or } = await import('drizzle-orm')\n\n // Query all models for this schema - support both schemaFileId and schema name\n const modelRecords = await db\n .select({\n modelFileId: modelsTable.schemaFileId,\n modelName: modelsTable.name,\n schemaName: schemasTable.name,\n })\n .from(schemasTable)\n .innerJoin(modelSchemas, eq(schemasTable.id, modelSchemas.schemaId))\n .innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))\n .where(\n or(\n eq(schemasTable.schemaFileId, schemaIdentifier),\n eq(schemasTable.name, schemaIdentifier)\n )\n )\n\n if (modelRecords.length === 0) {\n logger(`Model.createBySchemaId: No models found in database for schema \"${schemaIdentifier}\"`)\n return []\n }\n\n // Create Model instances for each model (create() handles caching)\n const modelInstances: Model[] = []\n for (const record of modelRecords) {\n if (!record.modelName || !record.schemaName || !record.modelFileId) {\n continue\n }\n\n // Check cache first\n const cached = this.getById(record.modelFileId)\n if (cached) {\n modelInstances.push(cached)\n } else {\n // Create model instance (will be cached)\n const model = this.create(record.modelName, record.schemaName, {\n id: record.modelFileId, // id is now the schemaFileId (string)\n })\n modelInstances.push(model)\n }\n }\n\n logger(`Model.createBySchemaId: Found ${modelInstances.length} models for schema \"${schemaIdentifier}\"`)\n return modelInstances\n } catch (error) {\n logger(`Model.createBySchemaId: Error looking up models for schema \"${schemaIdentifier}\": ${error instanceof Error ? error.message : String(error)}`)\n return []\n }\n }\n\n /**\n * Get all Model instances currently in cache\n * \n * @returns Array of all cached Model instances\n */\n static getAll(): Model[] {\n const instances: Model[] = []\n const seen = new Set<string>()\n \n // Collect from ID cache (primary source)\n for (const [id, entry] of this.instanceCacheById.entries()) {\n if (!seen.has(id)) {\n instances.push(entry.instance)\n seen.add(id)\n }\n }\n \n // Also check legacy cache for any not in ID cache\n for (const [nameKey, entry] of this.instanceCache.entries()) {\n const context = entry.instance._getSnapshotContext()\n const id = context.id // id is now the schemaFileId (string)\n if (id && !seen.has(id)) {\n instances.push(entry.instance)\n seen.add(id)\n }\n }\n \n return instances\n }\n\n /**\n * Get all Model instances for a specific schema from cache\n * For database-backed lookup, use createBySchemaId() instead\n * \n * @param schemaName - The schema name to filter by\n * @returns Array of Model instances for the schema\n */\n static getAllBySchema(schemaName: string): Model[] {\n const instances: Model[] = []\n const seen = new Set<string>()\n \n // Collect from name cache (filtered by schema)\n for (const [nameKey, id] of this.instanceCacheByName.entries()) {\n const [cachedSchemaName] = nameKey.split(':')\n if (cachedSchemaName === schemaName) {\n const instance = this.getById(id)\n if (instance && !seen.has(id)) {\n instances.push(instance)\n seen.add(id)\n }\n }\n }\n \n // Also check legacy cache\n for (const [nameKey, entry] of this.instanceCache.entries()) {\n const [cachedSchemaName] = nameKey.split(':')\n if (cachedSchemaName === schemaName) {\n const context = entry.instance._getSnapshotContext()\n const id = context.id // id is now the schemaFileId (string)\n if (id && !seen.has(id)) {\n instances.push(entry.instance)\n seen.add(id)\n }\n }\n }\n \n return instances\n }\n\n /**\n * Update name index when model name changes\n */\n static updateNameIndex(oldName: string, newName: string, schemaName: string, modelFileId: string): void {\n const oldKey = `${schemaName}:${oldName}`\n const newKey = `${schemaName}:${newName}`\n \n // Update name index\n if (this.instanceCacheByName.has(oldKey)) {\n this.instanceCacheByName.delete(oldKey)\n }\n this.instanceCacheByName.set(newKey, modelFileId)\n \n // Also update legacy cache if it exists\n if (this.instanceCache.has(oldKey)) {\n const entry = this.instanceCache.get(oldKey)!\n this.instanceCache.delete(oldKey)\n this.instanceCache.set(newKey, entry)\n }\n \n logger(`Model.updateNameIndex: Updated name mapping from \"${oldName}\" to \"${newName}\" (ID: ${modelFileId})`)\n }\n\n getService(): ModelService {\n return this._service\n }\n\n private _getSnapshot(): ModelSnapshot {\n return this._service.getSnapshot() as ModelSnapshot\n }\n\n private _getSnapshotContext(): ModelMachineContext {\n return this._getSnapshot().context\n }\n\n /**\n * Check for conflicts between actor context and database\n * @returns ConflictResult indicating if a conflict exists\n */\n private async _checkForConflicts(): Promise<ConflictResult> {\n const context = this._getSnapshotContext()\n \n // If we don't have load metadata, can't check for conflicts\n if (!context._dbUpdatedAt || !context.id) {\n return { hasConflict: false }\n }\n \n try {\n const db = BaseDb.getAppDb()\n if (!db) {\n return { hasConflict: false } // Can't check without DB\n }\n \n // Get current DB record by id (schemaFileId) - most reliable lookup\n const dbModels = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.schemaFileId, context.id)) // id is now the schemaFileId (string)\n .limit(1)\n \n if (dbModels.length === 0) {\n return { hasConflict: false } // No DB record, no conflict\n }\n \n const dbRecord = dbModels[0]\n \n // Check if DB was updated after we loaded\n // Note: models table doesn't have updatedAt, so we can't do timestamp comparison\n // For now, we'll just check if the record exists and matches\n // In the future, if models table gets updatedAt, we can compare timestamps\n return { hasConflict: false }\n } catch (error) {\n logger(`Error checking for conflicts: ${error instanceof Error ? error.message : String(error)}`)\n return { hasConflict: false } // On error, assume no conflict to allow save\n }\n }\n\n /**\n * Saves model name changes to the database immediately (draft save)\n * This is called when modelName is changed to persist the change immediately\n * @param oldName - The old model name (if name changed)\n * @param newName - The new model name\n */\n private async _saveDraftToDb(oldName?: string, newName?: string): Promise<void> {\n saveDraftLogger(`_saveDraftToDb called for model (oldName: \"${oldName}\", newName: \"${newName}\")`)\n \n // Don't save during initialization - models are being loaded from files, not created as drafts\n // Check this FIRST before doing any expensive work like _getSnapshotContext()\n if (typeof window !== 'undefined') {\n const now = Date.now()\n // Use cached check to avoid expensive operations\n // Always check if cache is stale or if we previously got false (to allow recovery)\n const cacheIsStale = Model.cachedClientInitialized === null || (now - Model.clientCheckTime) > Model.CLIENT_CHECK_CACHE_MS\n const shouldRecheck = cacheIsStale || Model.cachedClientInitialized === false\n \n saveDraftLogger(`Client check: cacheIsStale=${cacheIsStale}, shouldRecheck=${shouldRecheck}, cachedValue=${Model.cachedClientInitialized}, timeSinceCheck=${now - Model.clientCheckTime}ms`)\n \n if (shouldRecheck) {\n try {\n // Use dynamic import for browser compatibility (require() doesn't work in browsers)\n const { getClient } = await import('@/client/ClientManager')\n const { ClientManagerState } = await import('@/client/constants')\n const client = getClient()\n const clientSnapshot = client.getService().getSnapshot()\n // Check if state is IDLE (primary check) - isInitialized is set in entry action so should be true\n // But we check it as a secondary safeguard\n const isIdle = clientSnapshot.value === ClientManagerState.IDLE\n const isInitialized = clientSnapshot.context.isInitialized\n // If state is IDLE, trust it even if isInitialized isn't set yet (entry action should set it)\n // This aligns with useIsClientReady which only checks the state value\n Model.cachedClientInitialized = isIdle && (isInitialized !== false)\n Model.clientCheckTime = now\n saveDraftLogger(`Client state checked: state=${clientSnapshot.value}, isIdle=${isIdle}, isInitialized=${isInitialized}, result=${Model.cachedClientInitialized}`)\n } catch (error) {\n // If we can't check client state, assume not initialized to be safe\n // But only cache for a short time to allow recovery\n Model.cachedClientInitialized = false\n Model.clientCheckTime = now\n saveDraftLogger(`Error checking client state: ${error instanceof Error ? error.message : String(error)}, setting cachedClientInitialized=false`)\n }\n } else {\n saveDraftLogger(`Using cached client state: cachedClientInitialized=${Model.cachedClientInitialized}`)\n }\n \n if (!Model.cachedClientInitialized) {\n saveDraftLogger(`Client not initialized, skipping save (oldName: \"${oldName}\", newName: \"${newName}\")`)\n // Skip silently during initialization to avoid log spam and reduce overhead\n return\n }\n }\n \n saveDraftLogger(`Client is initialized, proceeding with save (oldName: \"${oldName}\", newName: \"${newName}\")`)\n \n // Check for conflicts before saving\n const conflictCheck = await this._checkForConflicts()\n if (conflictCheck.hasConflict) {\n const errorMessage = conflictCheck.message || 'Database was updated externally. Please reload the model and try again.'\n saveDraftLogger(`CONFLICT DETECTED: ${errorMessage}`)\n throw new ConflictError(errorMessage, conflictCheck)\n }\n \n const context = this._getSnapshotContext()\n const modelFileId = context.id || '' // id is now the schemaFileId (string)\n const modelName = newName || context.modelName || oldName || ''\n \n // Use modelFileId as the key if available, otherwise use schemaName:modelName\n const saveKey = modelFileId || `${context.schemaName}:${modelName}`\n \n // Prevent concurrent saves for the same model\n if (Model.savingModels.has(saveKey)) {\n saveDraftLogger(`Model ${modelName} (key: ${saveKey}) is already being saved, skipping concurrent save`)\n return\n }\n \n Model.savingModels.add(saveKey)\n saveDraftLogger(`Starting save for model ${modelName} (key: ${saveKey}, id: ${modelFileId})`)\n \n try {\n const db = BaseDb.getAppDb()\n if (!db) {\n throw new Error('Database not found')\n }\n\n // If name changed, use renameModelInDb\n if (oldName && newName && oldName !== newName) {\n saveDraftLogger(`Renaming model from \"${oldName}\" to \"${newName}\"`)\n await renameModelInDb(oldName, newName)\n saveDraftLogger(`Successfully renamed model from \"${oldName}\" to \"${newName}\"`)\n } else {\n // For other tracked properties, we would save here\n // Currently only modelName is saved immediately, so this is a no-op\n saveDraftLogger(`No name change detected, skipping save (modelName: \"${modelName}\")`)\n }\n \n // Update conflict detection metadata after successful save\n // Note: models table doesn't have updatedAt, so we use current timestamp\n const now = Date.now()\n this._service.send({\n type: 'updateContext',\n _dbUpdatedAt: now,\n })\n \n } catch (error) {\n logger(`Failed to save draft to database: ${error instanceof Error ? error.message : String(error)}`)\n // Don't throw - allow operation to continue\n } finally {\n // Always remove from saving set\n Model.savingModels.delete(saveKey)\n saveDraftLogger(`Finished save for model ${modelName} (key: ${saveKey})`)\n }\n }\n\n get status() {\n return this._getSnapshot().value\n }\n\n get validationErrors() {\n return this._getSnapshotContext()._validationErrors || []\n }\n\n get isValid() {\n const errors = this.validationErrors\n return errors.length === 0\n }\n\n get isEdited() {\n const context = this._getSnapshotContext()\n // First check in-memory state\n if (context._isEdited !== undefined) {\n return context._isEdited\n }\n // Fall back to reading from database if we have _dbId\n if (context._dbId) {\n // Load from database asynchronously (fire-and-forget for now)\n // For synchronous getter, we'll need to cache it or make it async\n // For now, return false if not in context\n return false\n }\n return false\n }\n\n get id() {\n return this._getSnapshotContext().id // id is now the schemaFileId (string)\n }\n\n get name() {\n return this._getSnapshotContext().modelName\n }\n\n /**\n * Validate the model\n * @returns Validation result\n */\n async validate(): Promise<{ isValid: boolean; errors: any[] }> {\n return new Promise((resolve) => {\n let resolved = false\n const subscription = this._service.subscribe((snapshot) => {\n if (snapshot.value === 'idle' || snapshot.value === 'error') {\n if (!resolved) {\n resolved = true\n subscription.unsubscribe()\n const errors = snapshot.context._validationErrors || []\n resolve({\n isValid: errors.length === 0,\n errors,\n })\n }\n }\n })\n\n this._service.send({ type: 'validateModel' })\n \n // Timeout fallback to ensure we always resolve (15 seconds - longer than actor timeout)\n setTimeout(() => {\n if (!resolved) {\n resolved = true\n subscription.unsubscribe()\n const errors = this._getSnapshotContext()._validationErrors || []\n resolve({\n isValid: errors.length === 0,\n errors,\n })\n }\n }, 15000)\n })\n }\n\n /**\n * Create a new item instance from this model\n * Automatically injects the model name, so you don't need to pass it explicitly.\n * \n * @example\n * const Post = Model.create('Post', schema)\n * const post = await Post.create({ title: 'My Post', content: '...' })\n * \n * @param values - Item property values (modelName is automatically injected)\n * @returns The created item instance\n */\n async create(values: Partial<ItemData> & Record<string, any>): Promise<Item<any>> {\n if (!this.modelName) {\n throw new Error('Cannot create item: model name is not set on this Model instance')\n }\n \n const item = await Item.create({\n modelName: this.modelName,\n schemaName: this.schemaName,\n modelInstance: this,\n ...values,\n } as Partial<ItemData> & { modelName: string; schemaName?: string; modelInstance?: Model } & Record<string, any>)\n return item\n }\n\n\n /**\n * Reload model from database\n * This refreshes the actor context with the latest data from the database\n */\n async reload(): Promise<void> {\n logger(`Reloading model ${this.modelName} from database`)\n \n // Send reload event to machine (which will trigger loadOrCreateModel)\n this._service.send({ type: 'reloadFromDb' })\n \n // Wait for reload to complete\n return new Promise((resolve, reject) => {\n const subscription = this._service.subscribe((snapshot) => {\n if (snapshot.value === 'idle') {\n subscription.unsubscribe()\n resolve()\n } else if (snapshot.value === 'error') {\n subscription.unsubscribe()\n reject(new Error('Failed to reload model from database'))\n }\n })\n \n // Timeout after 10 seconds\n setTimeout(() => {\n subscription.unsubscribe()\n reject(new Error('Timeout waiting for model reload'))\n }, 10000)\n })\n }\n\n /**\n * Unload the model instance and clean up resources\n */\n unload(): void {\n const context = this._getSnapshotContext()\n const modelFileId = context.id // id is now the schemaFileId (string)\n const nameKey = `${context.schemaName}:${context.modelName}`\n \n // Remove from ID-based cache\n if (modelFileId && Model.instanceCacheById.has(modelFileId)) {\n const entry = Model.instanceCacheById.get(modelFileId)!\n entry.refCount -= 1\n if (entry.refCount <= 0) {\n Model.instanceCacheById.delete(modelFileId)\n // Also remove from name index\n Model.instanceCacheByName.delete(nameKey)\n logger(`Model.unload: Removed instance from caches (ID: ${modelFileId})`)\n } else {\n Model.instanceCacheById.set(modelFileId, entry)\n }\n }\n \n // Also handle legacy cache\n if (Model.instanceCache.has(nameKey)) {\n const entry = Model.instanceCache.get(nameKey)!\n entry.refCount -= 1\n if (entry.refCount <= 0) {\n Model.instanceCache.delete(nameKey)\n } else {\n Model.instanceCache.set(nameKey, entry)\n }\n }\n \n this._service.stop()\n }\n\n /**\n * Destroy the model instance completely\n * - Removes instance from all caches (regardless of refCount)\n * - Deletes model records from database (models, properties, model_schemas tables)\n * - Removes model from Schema's models property and instance caches\n * - Cleans up registered ModelProperty instances\n * - Stops the model service\n */\n async destroy(): Promise<void> {\n const context = this._getSnapshotContext()\n const modelFileId = context.id // id is now the schemaFileId (string)\n const modelName = context.modelName\n const schemaName = context.schemaName\n const nameKey = `${schemaName}:${modelName}`\n \n if (!modelFileId || !modelName || !schemaName) {\n logger(`Model.destroy: Missing required context data (modelFileId: ${modelFileId}, modelName: ${modelName}, schemaName: ${schemaName})`)\n // Still try to clean up what we can\n }\n \n logger(`Model.destroy: Destroying model \"${modelName}\" (ID: ${modelFileId}) from schema \"${schemaName}\"`)\n \n // Get instanceState once at the top for reuse throughout the method\n const instanceState = modelInstanceState.get(this)\n \n // Step 1: Clean up liveQuery subscription\n if (instanceState && instanceState.liveQuerySubscription) {\n try {\n instanceState.liveQuerySubscription.unsubscribe()\n logger(`Model.destroy: Unsubscribed from liveQuery`)\n } catch (error) {\n logger(`Model.destroy: Error unsubscribing from liveQuery: ${error instanceof Error ? error.message : String(error)}`)\n }\n instanceState.liveQuerySubscription = null\n }\n \n // Step 2: Remove from Model caches (force removal regardless of refCount)\n if (modelFileId) {\n Model.instanceCacheById.delete(modelFileId)\n logger(`Model.destroy: Removed from instanceCacheById (ID: ${modelFileId})`)\n }\n Model.instanceCacheByName.delete(nameKey)\n logger(`Model.destroy: Removed from instanceCacheByName (key: ${nameKey})`)\n Model.instanceCache.delete(nameKey)\n logger(`Model.destroy: Removed from legacy instanceCache (key: ${nameKey})`)\n \n // Step 3: Delete from database\n try {\n const db = BaseDb.getAppDb()\n if (db && modelFileId) {\n const { models: modelsTable } = await import('@/seedSchema/ModelSchema')\n const { properties: propertiesTable } = await import('@/seedSchema/ModelSchema')\n const { modelSchemas } = await import('@/seedSchema/ModelSchemaSchema')\n const { eq } = await import('drizzle-orm')\n \n // First, find the model record by schemaFileId\n const modelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.schemaFileId, modelFileId))\n .limit(1)\n \n if (modelRecords.length > 0) {\n const modelRecord = modelRecords[0]\n const modelId = modelRecord.id\n \n logger(`Model.destroy: Found model record in database (modelId: ${modelId})`)\n \n // Delete from model_schemas join table\n await db\n .delete(modelSchemas)\n .where(eq(modelSchemas.modelId, modelId))\n logger(`Model.destroy: Deleted from model_schemas table`)\n \n // Delete all properties for this model\n await db\n .delete(propertiesTable)\n .where(eq(propertiesTable.modelId, modelId))\n logger(`Model.destroy: Deleted properties from database`)\n \n // Finally, delete the model record itself\n await db\n .delete(modelsTable)\n .where(eq(modelsTable.id, modelId))\n logger(`Model.destroy: Deleted model record from database`)\n } else {\n logger(`Model.destroy: Model record not found in database (modelFileId: ${modelFileId})`)\n }\n } else {\n logger(`Model.destroy: Database not available`)\n }\n } catch (error) {\n logger(`Model.destroy: Error deleting from database: ${error instanceof Error ? error.message : String(error)}`)\n // Continue with cleanup even if database deletion fails\n }\n \n // Step 4: Remove from Schema's models property and instance caches\n try {\n const { Schema } = await import('@/Schema/Schema')\n const schema = Schema.create(schemaName)\n const schemaSnapshot = schema.getService().getSnapshot()\n const schemaContext = schemaSnapshot.context\n \n // Remove from Schema's models object in context\n if (schemaContext.models && schemaContext.models[modelName!]) {\n const updatedModels = { ...schemaContext.models }\n delete updatedModels[modelName!]\n \n // Update Schema context - this will trigger liveQuery update which will\n // automatically clean up the model from Schema's instance caches\n schema.getService().send({\n type: 'updateContext',\n models: updatedModels,\n })\n \n // Mark schema as draft\n schema.getService().send({\n type: 'markAsDraft',\n propertyKey: `model:${modelName}`,\n })\n \n logger(`Model.destroy: Removed model from Schema's models property`)\n \n // Wait a moment for liveQuery to process the change\n // This ensures the Schema's instance caches are cleaned up\n await new Promise(resolve => setTimeout(resolve, 100))\n } else {\n logger(`Model.destroy: Model \"${modelName}\" not found in Schema's models property`)\n }\n \n logger(`Model.destroy: Updated Schema context to remove model`)\n } catch (error) {\n logger(`Model.destroy: Error removing from Schema: ${error instanceof Error ? error.message : String(error)}`)\n // Continue with cleanup even if Schema update fails\n }\n \n // Step 5: Stop the model service\n try {\n this._service.stop()\n logger(`Model.destroy: Stopped model service`)\n } catch (error) {\n logger(`Model.destroy: Error stopping service: ${error instanceof Error ? error.message : String(error)}`)\n }\n \n // Clean up liveQuery subscription\n if (instanceState?.liveQuerySubscription) {\n instanceState.liveQuerySubscription.unsubscribe()\n instanceState.liveQuerySubscription = null\n }\n \n logger(`Model.destroy: Successfully destroyed model \"${modelName}\" (ID: ${modelFileId})`)\n }\n\n /**\n * Set up liveQuery subscription to watch for property changes in the database\n * This enables cross-instance synchronization (e.g., changes in other tabs/windows)\n */\n private _setupLiveQuerySubscription(): void {\n const isBrowser = typeof window !== 'undefined'\n console.log(`[Model._setupLiveQuerySubscription] Starting setup for model (browser: ${isBrowser})`)\n\n // Track if we've already set up the subscription to avoid duplicate subscriptions\n let subscriptionSetUp = false\n\n const setupLiveQuery = async (modelId: number, modelName: string) => {\n console.log('[Model._setupLiveQuerySubscription] setupLiveQuery called with modelId:', modelId, 'modelName:', modelName, 'subscriptionSetUp:', subscriptionSetUp)\n if (subscriptionSetUp) {\n console.log('[Model._setupLiveQuerySubscription] Subscription already set up, skipping')\n return\n }\n\n subscriptionSetUp = true\n console.log('[Model._setupLiveQuerySubscription] Setting up property query...')\n \n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable } = await import('@/seedSchema')\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n logger('[Model._setupLiveQuerySubscription] Database not available')\n return\n }\n\n // Query initial properties immediately and update context\n // This works in both browser and Node.js environments\n const initialProperties = await db\n .select({ schemaFileId: propertiesTable.schemaFileId })\n .from(propertiesTable)\n .where(eq(propertiesTable.modelId, modelId))\n\n const initialPropertyIds = initialProperties\n .map((row: { schemaFileId: string | null }) => row.schemaFileId)\n .filter((id: string | null): id is string => id !== null && id !== undefined)\n\n console.log(`[Model._setupLiveQuerySubscription] Initial query for model \"${modelName}\" (id: ${modelId}) returned ${initialPropertyIds.length} properties:`, initialPropertyIds)\n\n // CRITICAL: Create ModelProperty instances BEFORE updating context\n // This ensures they're in the cache when the properties getter is called\n if (initialPropertyIds.length > 0) {\n try {\n const { ModelProperty } = await import('@/ModelProperty/ModelProperty')\n const createPromises = initialPropertyIds.map(async (propertyFileId: string) => {\n try {\n const property = await ModelProperty.createById(propertyFileId)\n if (property) {\n logger(`[Model._setupLiveQuerySubscription] Created/cached ModelProperty instance for propertyFileId \"${propertyFileId}\"`)\n } else {\n logger(`[Model._setupLiveQuerySubscription] ModelProperty.createById returned undefined for propertyFileId \"${propertyFileId}\"`)\n }\n } catch (error) {\n logger(`[Model._setupLiveQuerySubscription] Error creating ModelProperty instance for propertyFileId \"${propertyFileId}\": ${error}`)\n }\n })\n await Promise.all(createPromises)\n console.log(`[Model._setupLiveQuerySubscription] Created ${initialPropertyIds.length} ModelProperty instances before updating context`)\n } catch (error) {\n logger(`[Model._setupLiveQuerySubscription] Error importing ModelProperty or creating instances: ${error}`)\n }\n }\n\n // Update context with initial property IDs AFTER creating instances\n console.log(`[Model._setupLiveQuerySubscription] Sending updateContext with _liveQueryPropertyIds:`, initialPropertyIds)\n \n // Subscribe to verify the context update is applied\n let contextUpdated = false\n const updateSubscription = this._service.subscribe((snapshot) => {\n if (snapshot.context._liveQueryPropertyIds && snapshot.context._liveQueryPropertyIds.length > 0) {\n console.log(`[Model._setupLiveQuerySubscription] Context updated via subscription! _liveQueryPropertyIds:`, snapshot.context._liveQueryPropertyIds)\n contextUpdated = true\n updateSubscription.unsubscribe()\n }\n })\n \n this._service.send({\n type: 'updateContext',\n _liveQueryPropertyIds: initialPropertyIds,\n })\n \n // Wait for the context update to be applied (with timeout)\n let attempts = 0\n while (!contextUpdated && attempts < 50) {\n await new Promise(resolve => setTimeout(resolve, 10))\n attempts++\n const snapshot = this._service.getSnapshot()\n if (snapshot.context._liveQueryPropertyIds && snapshot.context._liveQueryPropertyIds.length > 0) {\n console.log(`[Model._setupLiveQuerySubscription] Context updated after ${attempts * 10}ms - _liveQueryPropertyIds:`, snapshot.context._liveQueryPropertyIds)\n contextUpdated = true\n break\n }\n }\n \n updateSubscription.unsubscribe()\n \n // Final verification\n const snapshot = this._service.getSnapshot()\n console.log(`[Model._setupLiveQuerySubscription] Final context check - _liveQueryPropertyIds:`, snapshot.context._liveQueryPropertyIds, 'length:', snapshot.context._liveQueryPropertyIds?.length || 0)\n\n // Only set up liveQuery subscription in browser environment\n if (isBrowser) {\n // Set up liveQuery to watch properties table for this model\n const properties$ = BaseDb.liveQuery<{ id: number; name: string; dataType: string; modelId: number; refModelId: number | null; refValueType: string | null; schemaFileId: string | null }>(\n (sql: any) => sql`\n SELECT id, name, data_type as dataType, model_id as modelId, ref_model_id as refModelId, ref_value_type as refValueType, schema_file_id as schemaFileId\n FROM properties\n WHERE model_id = ${modelId}\n `\n )\n\n const instanceState = modelInstanceState.get(this)\n if (!instanceState) {\n logger('[Model._setupLiveQuerySubscription] Instance state not found')\n return\n }\n\n // Subscribe to liveQuery updates\n const subscription = properties$.subscribe({\n next: async (propertyRows) => {\n logger(`[Model._setupLiveQuerySubscription] Properties updated in database: ${propertyRows.length} properties`)\n console.log(`[Model._setupLiveQuerySubscription] Properties updated in database: ${propertyRows.length} properties`, propertyRows.map(r => r.schemaFileId))\n \n // Store property file IDs from liveQuery\n const propertyFileIds = propertyRows\n .map(row => row.schemaFileId)\n .filter((id): id is string => id !== null && id !== undefined)\n \n console.log(`[Model._setupLiveQuerySubscription] Extracted property IDs:`, propertyFileIds)\n \n // CRITICAL: Create ModelProperty instances BEFORE updating context\n // This ensures they're in the cache when the properties getter is called\n if (propertyFileIds.length > 0) {\n try {\n const { ModelProperty } = await import('@/ModelProperty/ModelProperty')\n const createPromises = propertyFileIds.map(async (propertyFileId: string) => {\n try {\n const property = await ModelProperty.createById(propertyFileId)\n if (property) {\n logger(`[Model._setupLiveQuerySubscription] Created/cached ModelProperty instance for propertyFileId \"${propertyFileId}\" from liveQuery`)\n } else {\n logger(`[Model._setupLiveQuerySubscription] ModelProperty.createById returned undefined for propertyFileId \"${propertyFileId}\"`)\n }\n } catch (error) {\n logger(`[Model._setupLiveQuerySubscription] Error creating ModelProperty instance for propertyFileId \"${propertyFileId}\": ${error}`)\n }\n })\n await Promise.all(createPromises)\n console.log(`[Model._setupLiveQuerySubscription] Created ${propertyFileIds.length} ModelProperty instances from liveQuery before updating context`)\n } catch (error) {\n logger(`[Model._setupLiveQuerySubscription] Error importing ModelProperty or creating instances from liveQuery: ${error}`)\n }\n }\n \n // Update context with property IDs AFTER creating instances (like Schema does with model IDs)\n this._service.send({\n type: 'updateContext',\n _liveQueryPropertyIds: propertyFileIds, // Store in service context for reactivity\n _propertiesUpdated: Date.now(), // Internal field for tracking\n })\n },\n error: (error) => {\n logger(`[Model._setupLiveQuerySubscription] LiveQuery error: ${error}`)\n },\n })\n\n instanceState.liveQuerySubscription = subscription\n logger(`[Model._setupLiveQuerySubscription] LiveQuery subscription set up for model \"${modelName}\" (id: ${modelId})`)\n console.log(`[Model._setupLiveQuerySubscription] LiveQuery subscription set up for model \"${modelName}\" (id: ${modelId})`)\n } else {\n console.log(`[Model._setupLiveQuerySubscription] Skipping liveQuery subscription in Node.js environment (properties already loaded from database)`)\n }\n } catch (error) {\n logger(`[Model._setupLiveQuerySubscription] Error setting up subscription: ${error}`)\n subscriptionSetUp = false // Reset on error so we can retry\n }\n }\n\n // Set up liveQuery subscription as soon as we have a modelId\n // The liveQuery will automatically detect when properties are added to the database\n const setupSubscription = this._service.subscribe(async (snapshot) => {\n // Check if we have a _dbId (either from context or can be found in DB)\n let dbId = snapshot.context._dbId // _dbId is the database integer ID\n const modelName = snapshot.context.modelName\n \n if (!modelName) {\n return // Need modelName to proceed\n }\n \n // If we don't have _dbId yet, try to find it in the database\n if (!dbId) {\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { models: modelsTable } = await import('@/seedSchema')\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n return\n }\n\n const modelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n if (modelRecords.length === 0 || !modelRecords[0].id) {\n // Model not in database yet, will retry on next snapshot update\n return\n }\n\n dbId = modelRecords[0].id\n\n // Update context with _dbId\n this._service.send({\n type: 'updateContext',\n _dbId: dbId,\n })\n } catch (error) {\n logger(`[Model._setupLiveQuerySubscription] Error finding model: ${error}`)\n return\n }\n }\n\n // Once we have _dbId, set up the liveQuery subscription (only once)\n if (dbId && !subscriptionSetUp) {\n console.log('[Model._setupLiveQuerySubscription] Setting up liveQuery with _dbId:', dbId, 'modelName:', modelName)\n await setupLiveQuery(dbId, modelName)\n if (subscriptionSetUp) {\n setupSubscription.unsubscribe()\n }\n }\n })\n \n // Also check current state immediately in case _dbId is already available\n const currentSnapshot = this._service.getSnapshot()\n if (currentSnapshot.context._dbId && !subscriptionSetUp) {\n console.log('[Model._setupLiveQuerySubscription] Setting up liveQuery immediately with existing _dbId:', currentSnapshot.context._dbId)\n setupLiveQuery(currentSnapshot.context._dbId, currentSnapshot.context.modelName).catch((error) => {\n logger(`[Model._setupLiveQuerySubscription] Error in immediate setup: ${error}`)\n console.error('[Model._setupLiveQuerySubscription] Error in immediate setup:', error)\n })\n }\n }\n\n /**\n * Refresh property IDs from database (useful in Node.js where liveQuery isn't available)\n */\n private async _refreshPropertiesFromDb(): Promise<void> {\n const snapshot = this._service.getSnapshot()\n const dbId = snapshot.context._dbId // _dbId is the database integer ID\n const modelName = snapshot.context.modelName\n\n if (!dbId || !modelName) {\n return\n }\n\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable } = await import('@/seedSchema')\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n return\n }\n\n const propertyRows = await db\n .select({ schemaFileId: propertiesTable.schemaFileId })\n .from(propertiesTable)\n .where(eq(propertiesTable.modelId, dbId)) // Use _dbId (database integer ID)\n\n const propertyIds = propertyRows\n .map((row: { schemaFileId: string | null }) => row.schemaFileId)\n .filter((id: string | null): id is string => id !== null && id !== undefined)\n\n console.log(`[Model._refreshPropertiesFromDb] Refreshed properties for model \"${modelName}\" (id: ${dbId}): ${propertyIds.length} properties`, propertyIds)\n\n // CRITICAL: Create ModelProperty instances BEFORE updating context\n // This ensures they're in the cache when the properties getter is called\n if (propertyIds.length > 0) {\n try {\n const { ModelProperty } = await import('@/ModelProperty/ModelProperty')\n const createPromises = propertyIds.map(async (propertyFileId: string) => {\n try {\n const property = await ModelProperty.createById(propertyFileId)\n if (property) {\n logger(`[Model._refreshPropertiesFromDb] Created/cached ModelProperty instance for propertyFileId \"${propertyFileId}\"`)\n } else {\n logger(`[Model._refreshPropertiesFromDb] ModelProperty.createById returned undefined for propertyFileId \"${propertyFileId}\"`)\n }\n } catch (error) {\n logger(`[Model._refreshPropertiesFromDb] Error creating ModelProperty instance for propertyFileId \"${propertyFileId}\": ${error}`)\n }\n })\n await Promise.all(createPromises)\n console.log(`[Model._refreshPropertiesFromDb] Created ${propertyIds.length} ModelProperty instances before updating context`)\n } catch (error) {\n logger(`[Model._refreshPropertiesFromDb] Error importing ModelProperty or creating instances: ${error}`)\n }\n }\n\n // Update context with refreshed property IDs AFTER creating instances\n this._service.send({\n type: 'updateContext',\n _liveQueryPropertyIds: propertyIds,\n _propertiesUpdated: Date.now(),\n })\n } catch (error) {\n logger(`[Model._refreshPropertiesFromDb] Error refreshing properties: ${error}`)\n }\n }\n\n /**\n * Public method to refresh properties from database\n */\n async refreshProperties(): Promise<void> {\n await this._refreshPropertiesFromDb()\n }\n\n}\n\n"],"names":["modelsTable"],"mappings":"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"}
|
package/dist/Model/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { Model } from './Model.js';
|
|
2
|
-
import { Type } from '@sinclair/typebox';
|
|
3
|
-
import { TProperty } from '../helpers/property/index.js';
|
|
4
|
-
|
|
5
|
-
// Export the Model class
|
|
6
|
-
Type.Record(Type.String(), Type.Any());
|
|
7
|
-
Type.Record(Type.String(), TProperty);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/Model/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/Model/index.ts"],"sourcesContent":["// Export the Model class\nexport { Model } from './Model'\nexport type { ModelMachineContext } from './service/modelMachine'\n\n// Export types (for schema validation)\nimport { Type } from '@sinclair/typebox'\nimport { TProperty } from '../helpers/property/index'\n\nexport const TModelValues = Type.Record(Type.String(), Type.Any())\nexport const TModelSchema = Type.Record(Type.String(), TProperty)\n"],"names":[],"mappings":";;;;AAAA;AAQ4B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;AACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { fromCallback } from 'xstate';
|
|
2
|
-
import debug from 'debug';
|
|
3
|
-
|
|
4
|
-
const logger = debug('seedSdk:model:actors:createModelProperties');
|
|
5
|
-
const createModelProperties = fromCallback(({ sendBack, input }) => {
|
|
6
|
-
const _createProperties = async () => {
|
|
7
|
-
const { context, propertyDefinitions } = input;
|
|
8
|
-
const { id, _dbId, modelName } = context;
|
|
9
|
-
console.log('createModelProperties called for', modelName, 'with id (schemaFileId)', id, 'and _dbId', _dbId);
|
|
10
|
-
console.log('propertyDefinitions', propertyDefinitions);
|
|
11
|
-
if (!id || !_dbId || !modelName) {
|
|
12
|
-
throw new Error('Model ID, file ID, and name are required to create properties');
|
|
13
|
-
}
|
|
14
|
-
if (!propertyDefinitions || Object.keys(propertyDefinitions).length === 0) {
|
|
15
|
-
logger('No property definitions provided, skipping property creation');
|
|
16
|
-
sendBack({ type: 'createModelPropertiesSuccess' });
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
logger(`Creating ${Object.keys(propertyDefinitions).length} properties for model "${modelName}" (id: ${_dbId})`);
|
|
20
|
-
const { ModelProperty } = await import('../../../ModelProperty/ModelProperty.js');
|
|
21
|
-
const { BaseDb } = await import('../../../db/Db/BaseDb.js');
|
|
22
|
-
const { properties: propertiesTable } = await import('../../../seedSchema/index.js');
|
|
23
|
-
const { eq } = await import('drizzle-orm');
|
|
24
|
-
const db = BaseDb.getAppDb();
|
|
25
|
-
for (const [propName, propData] of Object.entries(propertyDefinitions)) {
|
|
26
|
-
// Use provided ID or generate a random one
|
|
27
|
-
// IDs should be generated in the import process before creating properties
|
|
28
|
-
const { generateId } = await import('../../../helpers/index.js');
|
|
29
|
-
const propertyFileId = propData.id || generateId();
|
|
30
|
-
logger(`Creating property "${propName}" with fileId "${propertyFileId}"`);
|
|
31
|
-
// Query database to get refModelId if the property has ref/refModelName
|
|
32
|
-
// The property should already be in DB from addModelsToDb
|
|
33
|
-
let refModelId = propData.refModelId;
|
|
34
|
-
if (!refModelId && (propData.ref || propData.refModelName) && db) {
|
|
35
|
-
try {
|
|
36
|
-
const refModelName = propData.refModelName || propData.ref;
|
|
37
|
-
// First try to get refModelId from the property record in the database
|
|
38
|
-
const propertyRecords = await db
|
|
39
|
-
.select()
|
|
40
|
-
.from(propertiesTable)
|
|
41
|
-
.where(eq(propertiesTable.schemaFileId, propertyFileId))
|
|
42
|
-
.limit(1);
|
|
43
|
-
if (propertyRecords.length > 0 && propertyRecords[0].refModelId) {
|
|
44
|
-
refModelId = propertyRecords[0].refModelId;
|
|
45
|
-
logger(`Found refModelId ${refModelId} from database for property "${propName}"`);
|
|
46
|
-
}
|
|
47
|
-
else if (refModelName) {
|
|
48
|
-
// Fallback: query models table directly by name
|
|
49
|
-
const { models: modelsTable } = await import('../../../seedSchema/index.js');
|
|
50
|
-
const refModelRecords = await db
|
|
51
|
-
.select()
|
|
52
|
-
.from(modelsTable)
|
|
53
|
-
.where(eq(modelsTable.name, refModelName))
|
|
54
|
-
.limit(1);
|
|
55
|
-
if (refModelRecords.length > 0 && refModelRecords[0].id) {
|
|
56
|
-
refModelId = refModelRecords[0].id;
|
|
57
|
-
logger(`Resolved refModelId ${refModelId} from model name "${refModelName}" for property "${propName}"`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
logger(`Error fetching refModelId for property "${propName}":`, error);
|
|
63
|
-
// Continue without refModelId - it will be resolved later in _initializeOriginalValues
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
// Create ModelProperty instance
|
|
67
|
-
// This will load from DB if it exists, or create new instance
|
|
68
|
-
// The property should already be in DB from writeModelToDb
|
|
69
|
-
// Note: propertyFileId is the schemaFileId (string), not the database ID (number)
|
|
70
|
-
// We pass it as _propertyFileId so getById() can find the instance
|
|
71
|
-
await ModelProperty.create({
|
|
72
|
-
name: propName,
|
|
73
|
-
modelName,
|
|
74
|
-
modelId: _dbId,
|
|
75
|
-
dataType: propData.dataType,
|
|
76
|
-
ref: propData.ref,
|
|
77
|
-
refModelName: propData.refModelName,
|
|
78
|
-
refModelId,
|
|
79
|
-
refValueType: propData.refValueType,
|
|
80
|
-
storageType: propData.storageType,
|
|
81
|
-
localStorageDir: propData.localStorageDir,
|
|
82
|
-
filenameSuffix: propData.filenameSuffix,
|
|
83
|
-
_propertyFileId: propertyFileId, // Store schemaFileId for getById() lookups
|
|
84
|
-
}); // Use 'as any' because _propertyFileId is not in TProperty type
|
|
85
|
-
}
|
|
86
|
-
logger(`Successfully created all properties for model "${modelName}"`);
|
|
87
|
-
sendBack({ type: 'createModelPropertiesSuccess' });
|
|
88
|
-
};
|
|
89
|
-
_createProperties().catch((error) => {
|
|
90
|
-
logger(`Error creating model properties: ${error}`);
|
|
91
|
-
sendBack({
|
|
92
|
-
type: 'createModelPropertiesError',
|
|
93
|
-
error: error instanceof Error ? error : new Error(String(error))
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
return () => {
|
|
97
|
-
// Cleanup function (optional)
|
|
98
|
-
};
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
export { createModelProperties };
|
|
102
|
-
//# sourceMappingURL=createModelProperties.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createModelProperties.js","sources":["../../../../../src/Model/service/actors/createModelProperties.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types'\nimport { ModelMachineContext } from '../modelMachine'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:model:actors:createModelProperties')\n\nexport const createModelProperties = fromCallback<\n EventObject,\n FromCallbackInput<ModelMachineContext> & { propertyDefinitions: { [name: string]: any } }\n>(({ sendBack, input }) => {\n const _createProperties = async (): Promise<void> => {\n const { context, propertyDefinitions } = input\n const { id, _dbId, modelName } = context\n\n console.log('createModelProperties called for', modelName, 'with id (schemaFileId)', id, 'and _dbId', _dbId)\n console.log('propertyDefinitions', propertyDefinitions)\n \n if (!id || !_dbId || !modelName) {\n throw new Error('Model ID, file ID, and name are required to create properties')\n }\n \n if (!propertyDefinitions || Object.keys(propertyDefinitions).length === 0) {\n logger('No property definitions provided, skipping property creation')\n sendBack({ type: 'createModelPropertiesSuccess' })\n return\n }\n \n logger(`Creating ${Object.keys(propertyDefinitions).length} properties for model \"${modelName}\" (id: ${_dbId})`)\n \n const { ModelProperty } = await import('@/ModelProperty/ModelProperty')\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable } = await import('@/seedSchema')\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n \n for (const [propName, propData] of Object.entries(propertyDefinitions)) {\n // Use provided ID or generate a random one\n // IDs should be generated in the import process before creating properties\n const { generateId } = await import('@/helpers')\n const propertyFileId = propData.id || generateId()\n \n logger(`Creating property \"${propName}\" with fileId \"${propertyFileId}\"`)\n \n // Query database to get refModelId if the property has ref/refModelName\n // The property should already be in DB from addModelsToDb\n let refModelId: number | undefined = propData.refModelId\n if (!refModelId && (propData.ref || propData.refModelName) && db) {\n try {\n const refModelName = propData.refModelName || propData.ref\n // First try to get refModelId from the property record in the database\n const propertyRecords = await db\n .select()\n .from(propertiesTable)\n .where(eq(propertiesTable.schemaFileId, propertyFileId))\n .limit(1)\n \n if (propertyRecords.length > 0 && propertyRecords[0].refModelId) {\n refModelId = propertyRecords[0].refModelId\n logger(`Found refModelId ${refModelId} from database for property \"${propName}\"`)\n } else if (refModelName) {\n // Fallback: query models table directly by name\n const { models: modelsTable } = await import('@/seedSchema')\n const refModelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, refModelName))\n .limit(1)\n \n if (refModelRecords.length > 0 && refModelRecords[0].id) {\n refModelId = refModelRecords[0].id\n logger(`Resolved refModelId ${refModelId} from model name \"${refModelName}\" for property \"${propName}\"`)\n }\n }\n } catch (error) {\n logger(`Error fetching refModelId for property \"${propName}\":`, error)\n // Continue without refModelId - it will be resolved later in _initializeOriginalValues\n }\n }\n \n // Create ModelProperty instance\n // This will load from DB if it exists, or create new instance\n // The property should already be in DB from writeModelToDb\n // Note: propertyFileId is the schemaFileId (string), not the database ID (number)\n // We pass it as _propertyFileId so getById() can find the instance\n await ModelProperty.create({\n name: propName,\n modelName,\n modelId: _dbId,\n dataType: propData.dataType,\n ref: propData.ref,\n refModelName: propData.refModelName,\n refModelId,\n refValueType: propData.refValueType,\n storageType: propData.storageType,\n localStorageDir: propData.localStorageDir,\n filenameSuffix: propData.filenameSuffix,\n _propertyFileId: propertyFileId, // Store schemaFileId for getById() lookups\n } as any) // Use 'as any' because _propertyFileId is not in TProperty type\n }\n \n logger(`Successfully created all properties for model \"${modelName}\"`)\n sendBack({ type: 'createModelPropertiesSuccess' })\n }\n \n _createProperties().catch((error) => {\n logger(`Error creating model properties: ${error}`)\n sendBack({ \n type: 'createModelPropertiesError', \n error: error instanceof Error ? error : new Error(String(error))\n })\n })\n \n return () => {\n // Cleanup function (optional)\n }\n})\n\n"],"names":[],"mappings":"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"}
|