@seedprotocol/sdk 0.3.31 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/dist/Item/Item.js +954 -0
- package/dist/Item/Item.js.map +1 -0
- package/dist/Item/queries.js +66 -0
- package/dist/Item/queries.js.map +1 -0
- package/dist/Item/service/actors/fetchDataFromEas.js +94 -0
- package/dist/Item/service/actors/fetchDataFromEas.js.map +1 -0
- package/dist/Item/service/actors/hydrateExistingItem.js +124 -0
- package/dist/Item/service/actors/hydrateExistingItem.js.map +1 -0
- package/dist/Item/service/actors/hydrateNewItem.js.map +1 -0
- package/dist/Item/service/actors/initialize.js +50 -0
- package/dist/Item/service/actors/initialize.js.map +1 -0
- package/dist/Item/service/actors/loadOrCreateItem.js +210 -0
- package/dist/Item/service/actors/loadOrCreateItem.js.map +1 -0
- package/dist/Item/service/actors/reload.js.map +1 -0
- package/dist/Item/service/actors/waitForDb.js.map +1 -0
- package/dist/Item/service/itemMachineSingle.js +211 -0
- package/dist/Item/service/itemMachineSingle.js.map +1 -0
- package/dist/ItemProperty/ItemProperty.js +613 -0
- package/dist/ItemProperty/ItemProperty.js.map +1 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.js +207 -0
- package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
- package/dist/ItemProperty/service/actors/initialize.js +74 -0
- package/dist/ItemProperty/service/actors/initialize.js.map +1 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +125 -0
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js +321 -0
- package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
- package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +111 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +121 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +85 -0
- package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
- package/dist/ItemProperty/service/actors/waitForDb.js.map +1 -0
- package/dist/ItemProperty/service/propertyMachine.js +233 -0
- package/dist/ItemProperty/service/propertyMachine.js.map +1 -0
- package/dist/Model/Model.js +1831 -0
- package/dist/Model/Model.js.map +1 -0
- package/dist/Model/index.js +8 -0
- package/dist/Model/index.js.map +1 -0
- package/dist/Model/service/actors/createModelProperties.js +102 -0
- package/dist/Model/service/actors/createModelProperties.js.map +1 -0
- package/dist/Model/service/actors/loadOrCreateModel.js +397 -0
- package/dist/Model/service/actors/loadOrCreateModel.js.map +1 -0
- package/dist/Model/service/actors/validateModel.js +123 -0
- package/dist/Model/service/actors/validateModel.js.map +1 -0
- package/dist/Model/service/modelMachine.js +385 -0
- package/dist/Model/service/modelMachine.js.map +1 -0
- package/dist/ModelProperty/ModelProperty.js +841 -0
- package/dist/ModelProperty/ModelProperty.js.map +1 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +119 -0
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +1 -0
- package/dist/ModelProperty/service/actors/saveToSchema.js +108 -0
- package/dist/ModelProperty/service/actors/saveToSchema.js.map +1 -0
- package/dist/ModelProperty/service/actors/validateProperty.js +129 -0
- package/dist/ModelProperty/service/actors/validateProperty.js.map +1 -0
- package/dist/ModelProperty/service/modelPropertyMachine.js +275 -0
- package/dist/ModelProperty/service/modelPropertyMachine.js.map +1 -0
- package/dist/Schema/Schema.js +1732 -0
- package/dist/Schema/Schema.js.map +1 -0
- package/dist/Schema/errors.js +14 -0
- package/dist/Schema/errors.js.map +1 -0
- package/dist/Schema/index.js +7 -0
- package/dist/Schema/index.js.map +1 -0
- package/dist/Schema/service/actors/checkExistingSchema.js +454 -0
- package/dist/Schema/service/actors/checkExistingSchema.js.map +1 -0
- package/dist/Schema/service/actors/createModelInstances.js +71 -0
- package/dist/Schema/service/actors/createModelInstances.js.map +1 -0
- package/dist/Schema/service/actors/createPropertyInstances.js +86 -0
- package/dist/Schema/service/actors/createPropertyInstances.js.map +1 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.js +1336 -0
- package/dist/Schema/service/actors/loadOrCreateSchema.js.map +1 -0
- package/dist/Schema/service/actors/validateSchema.js +65 -0
- package/dist/Schema/service/actors/validateSchema.js.map +1 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js +88 -0
- package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +1 -0
- package/dist/Schema/service/actors/verifyModelsInDb.js +107 -0
- package/dist/Schema/service/actors/verifyModelsInDb.js.map +1 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.js +131 -0
- package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +1 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +88 -0
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +1 -0
- package/dist/Schema/service/actors/verifySchemaInDb.js +85 -0
- package/dist/Schema/service/actors/verifySchemaInDb.js.map +1 -0
- package/dist/Schema/service/actors/writeModelsToDb.js +185 -0
- package/dist/Schema/service/actors/writeModelsToDb.js.map +1 -0
- package/dist/Schema/service/actors/writePropertiesToDb.js +69 -0
- package/dist/Schema/service/actors/writePropertiesToDb.js.map +1 -0
- package/dist/Schema/service/actors/writeSchemaToDb.js +137 -0
- package/dist/Schema/service/actors/writeSchemaToDb.js.map +1 -0
- package/dist/Schema/service/addModelsMachine.js +545 -0
- package/dist/Schema/service/addModelsMachine.js.map +1 -0
- package/dist/Schema/service/schemaMachine.js +667 -0
- package/dist/Schema/service/schemaMachine.js.map +1 -0
- package/dist/Schema/service/validation/SchemaValidationService.js +565 -0
- package/dist/Schema/service/validation/SchemaValidationService.js.map +1 -0
- package/dist/Schema/validation.js +15 -0
- package/dist/Schema/validation.js.map +1 -0
- package/dist/browser/db/Db.js +484 -0
- package/dist/browser/db/Db.js.map +1 -0
- package/dist/browser/db/drizzleFiles.js +1022 -0
- package/dist/browser/db/drizzleFiles.js.map +1 -0
- package/dist/browser/helpers/ArweaveClient.js +13 -0
- package/dist/browser/helpers/ArweaveClient.js.map +1 -0
- package/dist/browser/helpers/EasClient.js +16 -0
- package/dist/browser/helpers/EasClient.js.map +1 -0
- package/dist/browser/helpers/FileManager.js +415 -0
- package/dist/browser/helpers/FileManager.js.map +1 -0
- package/dist/browser/helpers/PathResolver.js +64 -0
- package/dist/browser/helpers/PathResolver.js.map +1 -0
- package/dist/browser/helpers/QueryClient.js +33 -0
- package/dist/browser/helpers/QueryClient.js.map +1 -0
- package/dist/browser/react/client.js +16 -0
- package/dist/browser/react/client.js.map +1 -0
- package/dist/browser/react/db.js +7 -0
- package/dist/browser/react/db.js.map +1 -0
- package/dist/browser/react/item.js +192 -0
- package/dist/browser/react/item.js.map +1 -0
- package/dist/browser/react/itemProperty.js +545 -0
- package/dist/browser/react/itemProperty.js.map +1 -0
- package/dist/browser/react/liveQuery.js +95 -0
- package/dist/browser/react/liveQuery.js.map +1 -0
- package/dist/browser/react/model.js +276 -0
- package/dist/browser/react/model.js.map +1 -0
- package/dist/browser/react/modelProperty.js +412 -0
- package/dist/browser/react/modelProperty.js.map +1 -0
- package/dist/browser/react/schema.js +387 -0
- package/dist/browser/react/schema.js.map +1 -0
- package/dist/browser/react/services.js +47 -0
- package/dist/browser/react/services.js.map +1 -0
- package/dist/browser/react/trash.js.map +1 -0
- package/dist/browser/workers/FileDownloader.js.map +1 -0
- package/dist/browser/workers/ImageResizer.js.map +1 -0
- package/dist/browser/workers/filesDownload.js.map +1 -0
- package/dist/browser/workers/imageResize.js.map +1 -0
- package/dist/client/ClientManager.js +177 -0
- package/dist/client/ClientManager.js.map +1 -0
- package/dist/client/actors/addModelsToDb.js +150 -0
- package/dist/client/actors/addModelsToDb.js.map +1 -0
- package/dist/client/actors/addModelsToStore.js +28 -0
- package/dist/client/actors/addModelsToStore.js.map +1 -0
- package/dist/client/actors/dbInit.js +38 -0
- package/dist/client/actors/dbInit.js.map +1 -0
- package/dist/client/actors/fileSystemInit.js +43 -0
- package/dist/client/actors/fileSystemInit.js.map +1 -0
- package/dist/client/actors/platformClassesInit.js +175 -0
- package/dist/client/actors/platformClassesInit.js.map +1 -0
- package/dist/client/actors/processSchemaFiles.js +169 -0
- package/dist/client/actors/processSchemaFiles.js.map +1 -0
- package/dist/client/actors/saveAppState.js +80 -0
- package/dist/client/actors/saveAppState.js.map +1 -0
- package/dist/client/actors/saveConfig.js +110 -0
- package/dist/client/actors/saveConfig.js.map +1 -0
- package/dist/client/clientManagerMachine.js +191 -0
- package/dist/client/clientManagerMachine.js.map +1 -0
- package/dist/client/constants.js +80 -0
- package/dist/client/constants.js.map +1 -0
- package/dist/db/Db/BaseDb.js +55 -0
- package/dist/db/Db/BaseDb.js.map +1 -0
- package/dist/db/drizzle/drizzle/0000_married_malice.sql +121 -0
- package/dist/db/drizzle/drizzle/0001_sweet_bruce_banner.sql +2 -0
- package/dist/db/drizzle/drizzle/0002_bitter_proudstar.sql +3 -0
- package/dist/db/drizzle/drizzle/0003_cultured_senator_kelly.sql +3 -0
- package/dist/db/drizzle/drizzle/meta/0000_snapshot.json +792 -0
- package/dist/db/drizzle/drizzle/meta/0001_snapshot.json +806 -0
- package/dist/db/drizzle/drizzle/meta/0002_snapshot.json +829 -0
- package/dist/db/drizzle/drizzle/meta/0003_snapshot.json +850 -0
- package/dist/db/drizzle/drizzle/meta/_journal.json +34 -0
- package/dist/db/read/getExistingItem.js +33 -0
- package/dist/db/read/getExistingItem.js.map +1 -0
- package/dist/db/read/getItem.js +26 -0
- package/dist/db/read/getItem.js.map +1 -0
- package/dist/db/read/getItemData.js +88 -0
- package/dist/db/read/getItemData.js.map +1 -0
- package/dist/db/read/getItemProperties.js +53 -0
- package/dist/db/read/getItemProperties.js.map +1 -0
- package/dist/db/read/getItemProperty.js +34 -0
- package/dist/db/read/getItemProperty.js.map +1 -0
- package/dist/db/read/getItems.js +53 -0
- package/dist/db/read/getItems.js.map +1 -0
- package/dist/db/read/getMetadata.js +36 -0
- package/dist/db/read/getMetadata.js.map +1 -0
- package/dist/db/read/getModelSchemas.js +63 -0
- package/dist/db/read/getModelSchemas.js.map +1 -0
- package/dist/db/read/getPropertyData.js +42 -0
- package/dist/db/read/getPropertyData.js.map +1 -0
- package/dist/db/read/getPublishPayload.js +294 -0
- package/dist/db/read/getPublishPayload.js.map +1 -0
- package/dist/db/read/getPublishUploads.js +166 -0
- package/dist/db/read/getPublishUploads.js.map +1 -0
- package/dist/db/read/getRelationValueData.js +34 -0
- package/dist/db/read/getRelationValueData.js.map +1 -0
- package/dist/db/read/getSchemaUidForModel.js +28 -0
- package/dist/db/read/getSchemaUidForModel.js.map +1 -0
- package/dist/db/read/getSeedData.js +32 -0
- package/dist/db/read/getSeedData.js.map +1 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.js +34 -0
- package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
- package/dist/db/read/getVersionData.js +37 -0
- package/dist/db/read/getVersionData.js.map +1 -0
- package/dist/db/read/subqueries/metadataLatest.js +39 -0
- package/dist/db/read/subqueries/metadataLatest.js.map +1 -0
- package/dist/db/read/subqueries/versionData.js +31 -0
- package/dist/db/read/subqueries/versionData.js.map +1 -0
- package/dist/db/write/createMetadata.js +94 -0
- package/dist/db/write/createMetadata.js.map +1 -0
- package/dist/db/write/createNewItem.js +43 -0
- package/dist/db/write/createNewItem.js.map +1 -0
- package/dist/db/write/createSeed.js +32 -0
- package/dist/db/write/createSeed.js.map +1 -0
- package/dist/db/write/createSeeds.js +29 -0
- package/dist/db/write/createSeeds.js.map +1 -0
- package/dist/db/write/createVersion.js +29 -0
- package/dist/db/write/createVersion.js.map +1 -0
- package/dist/db/write/deleteItem.js +25 -0
- package/dist/db/write/deleteItem.js.map +1 -0
- package/dist/db/write/saveAppState.js +30 -0
- package/dist/db/write/saveAppState.js.map +1 -0
- package/dist/db/write/saveMetadata.js +26 -0
- package/dist/db/write/saveMetadata.js.map +1 -0
- package/dist/db/write/updateItemPropertyValue.js +165 -0
- package/dist/db/write/updateItemPropertyValue.js.map +1 -0
- package/dist/db/write/updateMetadata.js +38 -0
- package/dist/db/write/updateMetadata.js.map +1 -0
- package/dist/eas.js +176 -0
- package/dist/eas.js.map +1 -0
- package/dist/eventBus.js.map +1 -0
- package/dist/events/files/download.js +191 -0
- package/dist/events/files/download.js.map +1 -0
- package/dist/events/files/index.js +23 -0
- package/dist/events/files/index.js.map +1 -0
- package/dist/events/index.js +28 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/item/index.js.map +1 -0
- package/dist/events/item/publish.js +50 -0
- package/dist/events/item/publish.js.map +1 -0
- package/dist/events/item/syncDbWithEas.js +453 -0
- package/dist/events/item/syncDbWithEas.js.map +1 -0
- package/dist/events/services/allItems.js +10 -0
- package/dist/events/services/allItems.js.map +1 -0
- package/dist/events/services/index.js.map +1 -0
- package/dist/feed.js +534 -0
- package/dist/feed.js.map +1 -0
- package/dist/graphql/gql/gql.js +27 -0
- package/dist/graphql/gql/gql.js.map +1 -0
- package/dist/graphql/gql/graphql.js +129 -0
- package/dist/graphql/gql/graphql.js.map +1 -0
- package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
- package/dist/helpers/ArweaveClient/index.js +61 -0
- package/dist/helpers/ArweaveClient/index.js.map +1 -0
- package/dist/helpers/ArweaveClient/queries.js.map +1 -0
- package/dist/helpers/EasClient/BaseEasClient.js +20 -0
- package/dist/helpers/EasClient/BaseEasClient.js.map +1 -0
- package/dist/helpers/FileManager/BaseFileManager.js +119 -0
- package/dist/helpers/FileManager/BaseFileManager.js.map +1 -0
- package/dist/helpers/PathResolver/BasePathResolver.js +20 -0
- package/dist/helpers/PathResolver/BasePathResolver.js.map +1 -0
- package/dist/helpers/QueryClient/BaseQueryClient.js.map +1 -0
- package/dist/helpers/constants.js +107 -0
- package/dist/helpers/constants.js.map +1 -0
- package/dist/helpers/crypto.js.map +1 -0
- package/dist/helpers/db.js +1335 -0
- package/dist/helpers/db.js.map +1 -0
- package/dist/helpers/environment.js +14 -0
- package/dist/helpers/environment.js.map +1 -0
- package/dist/helpers/file/queries.js +15 -0
- package/dist/helpers/file/queries.js.map +1 -0
- package/dist/helpers/getSchemaForItemProperty.js +65 -0
- package/dist/helpers/getSchemaForItemProperty.js.map +1 -0
- package/dist/helpers/getSegmentedItemProperties.js +71 -0
- package/dist/helpers/getSegmentedItemProperties.js.map +1 -0
- package/dist/helpers/index.js +101 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/model.js +24 -0
- package/dist/helpers/model.js.map +1 -0
- package/dist/helpers/property/index.js +110 -0
- package/dist/helpers/property/index.js.map +1 -0
- package/dist/helpers/property.js +286 -0
- package/dist/helpers/property.js.map +1 -0
- package/dist/helpers/reactiveProxy.js +87 -0
- package/dist/helpers/reactiveProxy.js.map +1 -0
- package/dist/helpers/schema.js +473 -0
- package/dist/helpers/schema.js.map +1 -0
- package/dist/helpers/updateMachineContext.js.map +1 -0
- package/dist/helpers/updateSchema.js +721 -0
- package/dist/helpers/updateSchema.js.map +1 -0
- package/dist/imports/json.js +1129 -0
- package/dist/imports/json.js.map +1 -0
- package/dist/imports/markdown.js +141 -0
- package/dist/imports/markdown.js.map +1 -0
- package/dist/main.cjs +81 -0
- package/dist/main.cjs.map +1 -0
- package/dist/main.js +34 -29
- package/dist/main.js.map +1 -1
- package/dist/node/codegen/drizzle.js +136 -0
- package/dist/node/codegen/drizzle.js.map +1 -0
- package/dist/node/codegen/templates/model.njk +4 -0
- package/dist/node/db/Db.js +332 -0
- package/dist/node/db/Db.js.map +1 -0
- package/dist/node/helpers/ArweaveClient.js +13 -0
- package/dist/node/helpers/ArweaveClient.js.map +1 -0
- package/dist/node/helpers/EasClient.js +16 -0
- package/dist/node/helpers/EasClient.js.map +1 -0
- package/dist/node/helpers/FileManager.js +151 -0
- package/dist/node/helpers/FileManager.js.map +1 -0
- package/dist/node/helpers/PathResolver.js +182 -0
- package/dist/node/helpers/PathResolver.js.map +1 -0
- package/dist/node/helpers/QueryClient.js.map +1 -0
- package/dist/node/helpers/index.js +62 -0
- package/dist/node/helpers/index.js.map +1 -0
- package/dist/node/helpers/scripts.js +121 -0
- package/dist/node/helpers/scripts.js.map +1 -0
- package/dist/node/webpack/index.js.map +1 -0
- package/dist/node.js +40 -0
- package/dist/node.js.map +1 -0
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +31 -0
- package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +90 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +28 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +7 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +2 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +12 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +7 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +3 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +4 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +1 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +18 -0
- package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +1 -0
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +3 -0
- package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +1 -0
- package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +19 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +6 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +12 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +31 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +7 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +55 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +4 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +12 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +33 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +59 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +199 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +8 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +2 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +51 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +22 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +4 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +1 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +3 -0
- package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +1 -0
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +33 -0
- package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +1 -0
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +26 -0
- package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +1 -0
- package/dist/scripts/build-with-tests.d.ts +3 -0
- package/dist/scripts/build-with-tests.d.ts.map +1 -0
- package/dist/scripts/sync-versions.d.ts +7 -0
- package/dist/scripts/sync-versions.d.ts.map +1 -0
- package/dist/scripts/track-drizzle-changes.d.ts +13 -0
- package/dist/scripts/track-drizzle-changes.d.ts.map +1 -0
- package/dist/scripts/vite.config.d.ts +1 -1
- package/dist/seedSchema/AppStateSchema.js.map +1 -0
- package/dist/seedSchema/ConfigSchema.js.map +1 -0
- package/dist/seedSchema/MetadataSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchema.js +40 -0
- package/dist/seedSchema/ModelSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchema.ts +19 -6
- package/dist/seedSchema/ModelSchemaSchema.js +12 -0
- package/dist/seedSchema/ModelSchemaSchema.js.map +1 -0
- package/dist/seedSchema/ModelSchemaSchema.ts +12 -0
- package/dist/seedSchema/ModelUidSchema.js +18 -0
- package/dist/seedSchema/ModelUidSchema.js.map +1 -0
- package/dist/seedSchema/PropertyUidSchema.js +18 -0
- package/dist/seedSchema/PropertyUidSchema.js.map +1 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json +83 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +94 -0
- package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +1 -0
- package/dist/seedSchema/SchemaSchema.js +20 -0
- package/dist/seedSchema/SchemaSchema.js.map +1 -0
- package/dist/seedSchema/SchemaSchema.ts +25 -0
- package/dist/seedSchema/SeedSchema.js.map +1 -0
- package/dist/seedSchema/VersionSchema.js.map +1 -0
- package/dist/seedSchema/index.js +11 -0
- package/dist/seedSchema/index.js.map +1 -0
- package/dist/seedSchema/index.ts +2 -0
- package/dist/services/events.js +16 -0
- package/dist/services/events.js.map +1 -0
- package/dist/services/publish/actors/createPublishAttempt.js.map +1 -0
- package/dist/services/publish/actors/preparePublishRequestData.js +76 -0
- package/dist/services/publish/actors/preparePublishRequestData.js.map +1 -0
- package/dist/services/publish/actors/upload.js +61 -0
- package/dist/services/publish/actors/upload.js.map +1 -0
- package/dist/services/publish/actors/validateItemData.js.map +1 -0
- package/dist/services/publish/publishMachine.js +71 -0
- package/dist/services/publish/publishMachine.js.map +1 -0
- package/dist/services/write/actors/validateEntity.js +145 -0
- package/dist/services/write/actors/validateEntity.js.map +1 -0
- package/dist/services/write/actors/writeToDatabase.js +91 -0
- package/dist/services/write/actors/writeToDatabase.js.map +1 -0
- package/dist/services/write/writeProcessMachine.js +233 -0
- package/dist/services/write/writeProcessMachine.js.map +1 -0
- package/dist/src/Item/Item.d.ts +94 -0
- package/dist/src/Item/Item.d.ts.map +1 -0
- package/dist/src/Item/queries.d.ts +2 -2
- package/dist/src/Item/queries.d.ts.map +1 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +1 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +1 -1
- package/dist/src/Item/service/actors/initialize.d.ts.map +1 -1
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts +5 -0
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
- package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -1
- package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +67 -0
- package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -0
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts +5 -0
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/propertyMachine.d.ts +44 -93
- package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
- package/dist/src/Model/Model.d.ts +199 -0
- package/dist/src/Model/Model.d.ts.map +1 -0
- package/dist/src/Model/index.d.ts +26 -0
- package/dist/src/Model/index.d.ts.map +1 -0
- package/dist/src/Model/service/actors/createModelProperties.d.ts +9 -0
- package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -0
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts +5 -0
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
- package/dist/src/Model/service/actors/validateModel.d.ts +5 -0
- package/dist/src/Model/service/actors/validateModel.d.ts.map +1 -0
- package/dist/src/Model/service/modelMachine.d.ts +206 -0
- package/dist/src/Model/service/modelMachine.d.ts.map +1 -0
- package/dist/src/ModelProperty/ModelProperty.d.ts +112 -0
- package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts +5 -0
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts +11 -0
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts +5 -0
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +183 -0
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
- package/dist/src/Schema/Schema.d.ts +143 -0
- package/dist/src/Schema/Schema.d.ts.map +1 -0
- package/dist/src/Schema/errors.d.ts +20 -0
- package/dist/src/Schema/errors.d.ts.map +1 -0
- package/dist/src/Schema/index.d.ts +6 -0
- package/dist/src/Schema/index.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/createModelInstances.d.ts +11 -0
- package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts +12 -0
- package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/validateSchema.d.ts +5 -0
- package/dist/src/Schema/service/actors/validateSchema.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts +6 -0
- package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts +7 -0
- package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts +8 -0
- package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts +6 -0
- package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts +7 -0
- package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts +9 -0
- package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts +10 -0
- package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts +11 -0
- package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
- package/dist/src/Schema/service/addModelsMachine.d.ts +111 -0
- package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -0
- package/dist/src/Schema/service/schemaMachine.d.ts +494 -0
- package/dist/src/Schema/service/schemaMachine.d.ts.map +1 -0
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +76 -0
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
- package/dist/src/Schema/validation.d.ts +40 -0
- package/dist/src/Schema/validation.d.ts.map +1 -0
- package/dist/src/browser/db/Db.d.ts +34 -2
- package/dist/src/browser/db/Db.d.ts.map +1 -1
- package/dist/src/browser/db/drizzleFiles.d.ts +7 -0
- package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -0
- package/dist/src/browser/helpers/EasClient.d.ts +2 -0
- package/dist/src/browser/helpers/EasClient.d.ts.map +1 -1
- package/dist/src/browser/helpers/FileManager.d.ts +15 -2
- package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/browser/helpers/PathResolver.d.ts +40 -0
- package/dist/src/browser/helpers/PathResolver.d.ts.map +1 -0
- package/dist/src/browser/helpers/QueryClient.d.ts +2 -2
- package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
- package/dist/src/browser/index.d.ts +1 -0
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/react/SeedImage.d.ts +2 -2
- package/dist/src/browser/react/SeedImage.d.ts.map +1 -1
- package/dist/src/browser/react/client.d.ts +2 -0
- package/dist/src/browser/react/client.d.ts.map +1 -0
- package/dist/src/browser/react/db.d.ts.map +1 -1
- package/dist/src/browser/react/index.d.ts +5 -2
- package/dist/src/browser/react/index.d.ts.map +1 -1
- package/dist/src/browser/react/item.d.ts +6 -6
- package/dist/src/browser/react/item.d.ts.map +1 -1
- package/dist/src/browser/react/itemProperty.d.ts +57 -0
- package/dist/src/browser/react/itemProperty.d.ts.map +1 -0
- package/dist/src/browser/react/liveQuery.d.ts +29 -0
- package/dist/src/browser/react/liveQuery.d.ts.map +1 -0
- package/dist/src/browser/react/model.d.ts +32 -5
- package/dist/src/browser/react/model.d.ts.map +1 -1
- package/dist/src/browser/react/modelProperty.d.ts +59 -0
- package/dist/src/browser/react/modelProperty.d.ts.map +1 -0
- package/dist/src/browser/react/schema.d.ts +37 -0
- package/dist/src/browser/react/schema.d.ts.map +1 -0
- package/dist/src/browser/react/services.d.ts +3 -2
- package/dist/src/browser/react/services.d.ts.map +1 -1
- package/dist/src/browser/seed.d.ts +0 -1
- package/dist/src/browser/seed.d.ts.map +1 -1
- package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -1
- package/dist/src/browser/workers/content-hash.d.ts.map +1 -1
- package/dist/src/client/ClientManager.d.ts +179 -175
- package/dist/src/client/ClientManager.d.ts.map +1 -1
- package/dist/src/client/actors/addModelsToDb.d.ts +4 -0
- package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -0
- package/dist/src/client/actors/addModelsToStore.d.ts +4 -0
- package/dist/src/client/actors/addModelsToStore.d.ts.map +1 -0
- package/dist/src/client/actors/dbInit.d.ts +4 -0
- package/dist/src/client/actors/dbInit.d.ts.map +1 -0
- package/dist/src/client/actors/fileSystemInit.d.ts +4 -0
- package/dist/src/client/actors/fileSystemInit.d.ts.map +1 -0
- package/dist/src/client/actors/platformClassesInit.d.ts +9 -0
- package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -0
- package/dist/src/client/actors/processSchemaFiles.d.ts +4 -0
- package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -0
- package/dist/src/client/actors/saveAppState.d.ts +6 -3
- package/dist/src/client/actors/saveAppState.d.ts.map +1 -1
- package/dist/src/client/actors/saveConfig.d.ts +4 -0
- package/dist/src/client/actors/saveConfig.d.ts.map +1 -0
- package/dist/src/client/clientManagerMachine.d.ts +57 -89
- package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
- package/dist/src/client/constants.d.ts +79 -0
- package/dist/src/client/constants.d.ts.map +1 -0
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/db/Db/BaseDb.d.ts +30 -0
- package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
- package/dist/src/db/configs/dev.schema.config.d.ts +3 -0
- package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -0
- package/dist/src/db/read/getExistingItem.d.ts.map +1 -1
- package/dist/src/db/read/getModelSchemas.d.ts +8 -3
- package/dist/src/db/read/getModelSchemas.d.ts.map +1 -1
- package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
- package/dist/src/db/read/getPublishPayload.d.ts +2 -2
- package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/getRelationValueData.d.ts.map +1 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts +1 -1
- package/dist/src/db/read/getSchemaUidForModel.d.ts.map +1 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -1
- package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
- package/dist/src/db/write/createMetadata.d.ts +3 -1
- package/dist/src/db/write/createMetadata.d.ts.map +1 -1
- package/dist/src/db/write/createNewItem.d.ts.map +1 -1
- package/dist/src/db/write/createSeed.d.ts.map +1 -1
- package/dist/src/db/write/recoverDeletedItem.d.ts.map +1 -1
- package/dist/src/db/write/saveAppState.d.ts.map +1 -1
- package/dist/src/db/write/saveMetadata.d.ts.map +1 -1
- package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
- package/dist/src/eas.d.ts +26 -0
- package/dist/src/eas.d.ts.map +1 -0
- package/dist/src/eslint-rules/align-imports.d.ts +12 -0
- package/dist/src/eslint-rules/align-imports.d.ts.map +1 -0
- package/dist/src/events/files/download.d.ts.map +1 -1
- package/dist/src/events/files/index.d.ts.map +1 -1
- package/dist/src/events/item/create.d.ts.map +1 -1
- package/dist/src/events/item/publish.d.ts.map +1 -1
- package/dist/src/events/item/request.d.ts.map +1 -1
- package/dist/src/events/item/requestAll.d.ts.map +1 -1
- package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
- package/dist/src/events/services/allItems.d.ts.map +1 -1
- package/dist/src/feed.d.ts +2 -0
- package/dist/src/feed.d.ts.map +1 -0
- package/dist/src/graphql/gql/gql.d.ts +29 -58
- package/dist/src/graphql/gql/gql.d.ts.map +1 -1
- package/dist/src/graphql/gql/graphql.d.ts +115 -83
- package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
- package/dist/src/helpers/ArweaveClient/index.d.ts +1 -0
- package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts +3 -0
- package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +1 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts +7 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts +22 -0
- package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
- package/dist/src/helpers/constants.d.ts +14 -0
- package/dist/src/helpers/constants.d.ts.map +1 -1
- package/dist/src/helpers/crypto.d.ts.map +1 -1
- package/dist/src/helpers/db.d.ts +109 -1
- package/dist/src/helpers/db.d.ts.map +1 -1
- package/dist/src/helpers/environment.d.ts +16 -0
- package/dist/src/helpers/environment.d.ts.map +1 -1
- package/dist/src/helpers/file/download/actors.d.ts.map +1 -0
- package/dist/src/helpers/file/download/index.d.ts.map +1 -0
- package/dist/src/helpers/file/fetchAll/actors.d.ts.map +1 -0
- package/dist/src/helpers/file/fetchAll/index.d.ts.map +1 -0
- package/dist/src/helpers/file/queries.d.ts.map +1 -0
- package/dist/src/helpers/files.d.ts.map +1 -1
- package/dist/src/helpers/getSchemaForItemProperty.d.ts +7 -3
- package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +1 -1
- package/dist/src/helpers/getSegmentedItemProperties.d.ts +4 -4
- package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
- package/dist/src/helpers/image/queries.d.ts.map +1 -0
- package/dist/src/helpers/index.d.ts +7 -7
- package/dist/src/helpers/index.d.ts.map +1 -1
- package/dist/src/helpers/model.d.ts +9 -0
- package/dist/src/helpers/model.d.ts.map +1 -0
- package/dist/src/helpers/property/index.d.ts +298 -0
- package/dist/src/helpers/property/index.d.ts.map +1 -0
- package/dist/src/helpers/property.d.ts +39 -0
- package/dist/src/helpers/property.d.ts.map +1 -0
- package/dist/src/helpers/reactiveProxy.d.ts +44 -0
- package/dist/src/helpers/reactiveProxy.d.ts.map +1 -0
- package/dist/src/helpers/schema.d.ts +131 -0
- package/dist/src/helpers/schema.d.ts.map +1 -0
- package/dist/src/helpers/updateSchema.d.ts +109 -0
- package/dist/src/helpers/updateSchema.d.ts.map +1 -0
- package/dist/src/imports/index.d.ts +3 -0
- package/dist/src/imports/index.d.ts.map +1 -0
- package/dist/src/imports/json.d.ts +81 -0
- package/dist/src/imports/json.d.ts.map +1 -0
- package/dist/src/imports/markdown.d.ts +38 -0
- package/dist/src/imports/markdown.d.ts.map +1 -0
- package/dist/src/index.d.ts +22 -14
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/interfaces/IItem.d.ts +5 -2
- package/dist/src/interfaces/IItem.d.ts.map +1 -1
- package/dist/src/interfaces/IItemProperty.d.ts +5 -5
- package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
- package/dist/src/node/codegen/drizzle.d.ts +3 -3
- package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
- package/dist/src/node/constants.d.ts +0 -1
- package/dist/src/node/constants.d.ts.map +1 -1
- package/dist/src/node/db/Db.d.ts +36 -2
- package/dist/src/node/db/Db.d.ts.map +1 -1
- package/dist/src/node/db/index.d.ts +4 -4
- package/dist/src/node/db/index.d.ts.map +1 -1
- package/dist/src/node/helpers/EasClient.d.ts.map +1 -1
- package/dist/src/node/helpers/FileManager.d.ts +10 -1
- package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/node/helpers/PathResolver.d.ts +43 -0
- package/dist/src/node/helpers/PathResolver.d.ts.map +1 -0
- package/dist/src/node/helpers/index.d.ts.map +1 -1
- package/dist/src/node/helpers/scripts.d.ts +16 -0
- package/dist/src/node/helpers/scripts.d.ts.map +1 -0
- package/dist/src/node/index.d.ts +25 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/webpack/fs-proxy.d.ts +4 -0
- package/dist/src/node/webpack/fs-proxy.d.ts.map +1 -0
- package/dist/src/node/webpack/index.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchema.d.ts +72 -38
- package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts +61 -0
- package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/SchemaSchema.d.ts +169 -0
- package/dist/src/seedSchema/SchemaSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/index.d.ts +2 -0
- package/dist/src/seedSchema/index.d.ts.map +1 -1
- package/dist/src/services/events.d.ts.map +1 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +1 -1
- package/dist/src/services/publish/actors/upload.d.ts.map +1 -1
- package/dist/src/services/publish/publishMachine.d.ts +24 -185
- package/dist/src/services/publish/publishMachine.d.ts.map +1 -1
- package/dist/src/services/write/actors/validateEntity.d.ts +12 -0
- package/dist/src/services/write/actors/validateEntity.d.ts.map +1 -0
- package/dist/src/services/write/actors/writeToDatabase.d.ts +9 -0
- package/dist/src/services/write/actors/writeToDatabase.d.ts.map +1 -0
- package/dist/src/services/write/writeProcessMachine.d.ts +84 -0
- package/dist/src/services/write/writeProcessMachine.d.ts.map +1 -0
- package/dist/src/types/import.d.ts +72 -0
- package/dist/src/types/import.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +9 -3
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/item.d.ts +7 -26
- package/dist/src/types/item.d.ts.map +1 -1
- package/dist/src/types/machines.d.ts +16 -27
- package/dist/src/types/machines.d.ts.map +1 -1
- package/dist/src/types/model.d.ts +12 -15
- package/dist/src/types/model.d.ts.map +1 -1
- package/dist/src/types/property.d.ts +1 -1
- package/dist/src/vite/index.d.ts +47 -0
- package/dist/src/vite/index.d.ts.map +1 -0
- package/dist/stores/eas.js +23 -0
- package/dist/stores/eas.js.map +1 -0
- package/dist/vite/index.js +554 -0
- package/dist/vite/index.js.map +1 -0
- package/package.json +106 -74
- package/dist/addModel.js +0 -93
- package/dist/addModel.js.map +0 -1
- package/dist/bin.js +0 -306
- package/dist/bin.js.map +0 -1
- package/dist/db/configs/browser.app.db.config.ts +0 -28
- package/dist/db/configs/node.app.db.config.js +0 -21
- package/dist/db/configs/node.app.db.config.js.map +0 -1
- package/dist/db/configs/node.app.db.config.ts +0 -28
- package/dist/db/configs/seed.schema.config.ts +0 -25
- package/dist/protos/seed.proto +0 -97
- package/dist/rpcServer.js +0 -358
- package/dist/rpcServer.js.map +0 -1
- package/dist/scripts/addModel.d.ts +0 -3
- package/dist/scripts/addModel.d.ts.map +0 -1
- package/dist/scripts/bin.d.ts +0 -8
- package/dist/scripts/bin.d.ts.map +0 -1
- package/dist/seedData.json +0 -23
- package/dist/src/Item/BaseItem.d.ts +0 -54
- package/dist/src/Item/BaseItem.d.ts.map +0 -1
- package/dist/src/Item/BaseItem.js +0 -309
- package/dist/src/Item/BaseItem.js.map +0 -1
- package/dist/src/Item/queries.js +0 -94
- package/dist/src/Item/queries.js.map +0 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.js +0 -74
- package/dist/src/Item/service/actors/fetchDataFromEas.js.map +0 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.js +0 -119
- package/dist/src/Item/service/actors/hydrateExistingItem.js.map +0 -1
- package/dist/src/Item/service/actors/hydrateNewItem.js.map +0 -1
- package/dist/src/Item/service/actors/initialize.js +0 -39
- package/dist/src/Item/service/actors/initialize.js.map +0 -1
- package/dist/src/Item/service/actors/reload.js.map +0 -1
- package/dist/src/Item/service/actors/waitForDb.js.map +0 -1
- package/dist/src/Item/service/itemMachineSingle.js +0 -154
- package/dist/src/Item/service/itemMachineSingle.js.map +0 -1
- package/dist/src/ItemProperty/BaseItemProperty.d.ts +0 -109
- package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +0 -1
- package/dist/src/ItemProperty/BaseItemProperty.js +0 -350
- package/dist/src/ItemProperty/BaseItemProperty.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +0 -208
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/initialize.js +0 -65
- package/dist/src/ItemProperty/service/actors/initialize.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +0 -317
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -100
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -119
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -81
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
- package/dist/src/ItemProperty/service/actors/waitForDb.js.map +0 -1
- package/dist/src/ItemProperty/service/propertyMachine.js +0 -198
- package/dist/src/ItemProperty/service/propertyMachine.js.map +0 -1
- package/dist/src/browser/Item/Item.d.ts +0 -7
- package/dist/src/browser/Item/Item.d.ts.map +0 -1
- package/dist/src/browser/Item/Item.js +0 -10
- package/dist/src/browser/Item/Item.js.map +0 -1
- package/dist/src/browser/ItemProperty/ItemProperty.d.ts +0 -8
- package/dist/src/browser/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/browser/ItemProperty/ItemProperty.js +0 -10
- package/dist/src/browser/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/src/browser/db/Db.js +0 -243
- package/dist/src/browser/db/Db.js.map +0 -1
- package/dist/src/browser/helpers/ArweaveClient.js +0 -13
- package/dist/src/browser/helpers/ArweaveClient.js.map +0 -1
- package/dist/src/browser/helpers/FileManager.js +0 -323
- package/dist/src/browser/helpers/FileManager.js.map +0 -1
- package/dist/src/browser/helpers/QueryClient.js +0 -19
- package/dist/src/browser/helpers/QueryClient.js.map +0 -1
- package/dist/src/browser/helpers/eas.d.ts +0 -20
- package/dist/src/browser/helpers/eas.d.ts.map +0 -1
- package/dist/src/browser/helpers/eas.js +0 -89
- package/dist/src/browser/helpers/eas.js.map +0 -1
- package/dist/src/browser/react/SeedImage.js +0 -105
- package/dist/src/browser/react/SeedImage.js.map +0 -1
- package/dist/src/browser/react/db.js +0 -6
- package/dist/src/browser/react/db.js.map +0 -1
- package/dist/src/browser/react/item.js +0 -216
- package/dist/src/browser/react/item.js.map +0 -1
- package/dist/src/browser/react/model.js +0 -20
- package/dist/src/browser/react/model.js.map +0 -1
- package/dist/src/browser/react/property.d.ts +0 -20
- package/dist/src/browser/react/property.d.ts.map +0 -1
- package/dist/src/browser/react/property.js +0 -107
- package/dist/src/browser/react/property.js.map +0 -1
- package/dist/src/browser/react/services.js +0 -306
- package/dist/src/browser/react/services.js.map +0 -1
- package/dist/src/browser/react/trash.js.map +0 -1
- package/dist/src/browser/workers/FileDownloader.js.map +0 -1
- package/dist/src/browser/workers/ImageResizer.js.map +0 -1
- package/dist/src/browser/workers/filesDownload.js.map +0 -1
- package/dist/src/browser/workers/imageResize.js.map +0 -1
- package/dist/src/client/ClientManager.js +0 -90
- package/dist/src/client/ClientManager.js.map +0 -1
- package/dist/src/client/actions/setAddresses.js +0 -19
- package/dist/src/client/actions/setAddresses.js.map +0 -1
- package/dist/src/client/actors/initialize.d.ts +0 -4
- package/dist/src/client/actors/initialize.d.ts.map +0 -1
- package/dist/src/client/actors/initialize.js +0 -107
- package/dist/src/client/actors/initialize.js.map +0 -1
- package/dist/src/client/actors/saveAppState.js +0 -46
- package/dist/src/client/actors/saveAppState.js.map +0 -1
- package/dist/src/client/clientManagerMachine.js +0 -63
- package/dist/src/client/clientManagerMachine.js.map +0 -1
- package/dist/src/db/Db/BaseDb.js +0 -25
- package/dist/src/db/Db/BaseDb.js.map +0 -1
- package/dist/src/db/configs/browser.app.db.config.d.ts +0 -3
- package/dist/src/db/configs/browser.app.db.config.d.ts.map +0 -1
- package/dist/src/db/configs/node.app.db.config.d.ts +0 -3
- package/dist/src/db/configs/node.app.db.config.d.ts.map +0 -1
- package/dist/src/db/configs/seed.schema.config.d.ts +0 -19
- package/dist/src/db/configs/seed.schema.config.d.ts.map +0 -1
- package/dist/src/db/configs/seed.schema.config.js +0 -52
- package/dist/src/db/configs/seed.schema.config.js.map +0 -1
- package/dist/src/db/read/getExistingItem.js +0 -31
- package/dist/src/db/read/getExistingItem.js.map +0 -1
- package/dist/src/db/read/getItem.js +0 -26
- package/dist/src/db/read/getItem.js.map +0 -1
- package/dist/src/db/read/getItemData.js +0 -86
- package/dist/src/db/read/getItemData.js.map +0 -1
- package/dist/src/db/read/getItemProperties.js +0 -51
- package/dist/src/db/read/getItemProperties.js.map +0 -1
- package/dist/src/db/read/getItemProperty.js +0 -32
- package/dist/src/db/read/getItemProperty.js.map +0 -1
- package/dist/src/db/read/getItems.js +0 -51
- package/dist/src/db/read/getItems.js.map +0 -1
- package/dist/src/db/read/getMetadata.js +0 -34
- package/dist/src/db/read/getMetadata.js.map +0 -1
- package/dist/src/db/read/getModelSchemas.js +0 -51
- package/dist/src/db/read/getModelSchemas.js.map +0 -1
- package/dist/src/db/read/getModels.js +0 -18
- package/dist/src/db/read/getModels.js.map +0 -1
- package/dist/src/db/read/getPropertyData.js +0 -40
- package/dist/src/db/read/getPropertyData.js.map +0 -1
- package/dist/src/db/read/getPublishPayload.js +0 -265
- package/dist/src/db/read/getPublishPayload.js.map +0 -1
- package/dist/src/db/read/getPublishUploads.js +0 -166
- package/dist/src/db/read/getPublishUploads.js.map +0 -1
- package/dist/src/db/read/getRelationValueData.js +0 -32
- package/dist/src/db/read/getRelationValueData.js.map +0 -1
- package/dist/src/db/read/getSchemaUidForModel.js +0 -28
- package/dist/src/db/read/getSchemaUidForModel.js.map +0 -1
- package/dist/src/db/read/getSeedData.js +0 -30
- package/dist/src/db/read/getSeedData.js.map +0 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +0 -32
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
- package/dist/src/db/read/getVersionData.js +0 -35
- package/dist/src/db/read/getVersionData.js.map +0 -1
- package/dist/src/db/read/subqueries/metadataLatest.js +0 -37
- package/dist/src/db/read/subqueries/metadataLatest.js.map +0 -1
- package/dist/src/db/read/subqueries/versionData.js +0 -29
- package/dist/src/db/read/subqueries/versionData.js.map +0 -1
- package/dist/src/db/write/createMetadata.js +0 -65
- package/dist/src/db/write/createMetadata.js.map +0 -1
- package/dist/src/db/write/createNewItem.js +0 -38
- package/dist/src/db/write/createNewItem.js.map +0 -1
- package/dist/src/db/write/createSeed.js +0 -31
- package/dist/src/db/write/createSeed.js.map +0 -1
- package/dist/src/db/write/createSeeds.js +0 -27
- package/dist/src/db/write/createSeeds.js.map +0 -1
- package/dist/src/db/write/createVersion.js +0 -27
- package/dist/src/db/write/createVersion.js.map +0 -1
- package/dist/src/db/write/deleteItem.js +0 -23
- package/dist/src/db/write/deleteItem.js.map +0 -1
- package/dist/src/db/write/saveAppState.js +0 -28
- package/dist/src/db/write/saveAppState.js.map +0 -1
- package/dist/src/db/write/saveMetadata.js +0 -24
- package/dist/src/db/write/saveMetadata.js.map +0 -1
- package/dist/src/db/write/updateItemPropertyValue.js +0 -163
- package/dist/src/db/write/updateItemPropertyValue.js.map +0 -1
- package/dist/src/db/write/updateMetadata.js +0 -27
- package/dist/src/db/write/updateMetadata.js.map +0 -1
- package/dist/src/eventBus.js.map +0 -1
- package/dist/src/events/files/download.js +0 -162
- package/dist/src/events/files/download.js.map +0 -1
- package/dist/src/events/files/index.js +0 -60
- package/dist/src/events/files/index.js.map +0 -1
- package/dist/src/events/index.js +0 -28
- package/dist/src/events/index.js.map +0 -1
- package/dist/src/events/item/index.js.map +0 -1
- package/dist/src/events/item/publish.js +0 -19
- package/dist/src/events/item/publish.js.map +0 -1
- package/dist/src/events/item/syncDbWithEas.js +0 -411
- package/dist/src/events/item/syncDbWithEas.js.map +0 -1
- package/dist/src/events/services/allItems.js +0 -19
- package/dist/src/events/services/allItems.js.map +0 -1
- package/dist/src/events/services/index.js.map +0 -1
- package/dist/src/graphql/gql/gql.js +0 -38
- package/dist/src/graphql/gql/gql.js.map +0 -1
- package/dist/src/graphql/gql/graphql.js +0 -106
- package/dist/src/graphql/gql/graphql.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/index.js +0 -45
- package/dist/src/helpers/ArweaveClient/index.js.map +0 -1
- package/dist/src/helpers/ArweaveClient/queries.js.map +0 -1
- package/dist/src/helpers/EasClient/BaseEasClient.js +0 -14
- package/dist/src/helpers/EasClient/BaseEasClient.js.map +0 -1
- package/dist/src/helpers/FileManager/BaseFileManager.js +0 -80
- package/dist/src/helpers/FileManager/BaseFileManager.js.map +0 -1
- package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +0 -1
- package/dist/src/helpers/constants.js +0 -85
- package/dist/src/helpers/constants.js.map +0 -1
- package/dist/src/helpers/crypto.js.map +0 -1
- package/dist/src/helpers/db.js +0 -45
- package/dist/src/helpers/db.js.map +0 -1
- package/dist/src/helpers/environment.js +0 -29
- package/dist/src/helpers/environment.js.map +0 -1
- package/dist/src/helpers/getSchemaForItemProperty.js +0 -51
- package/dist/src/helpers/getSchemaForItemProperty.js.map +0 -1
- package/dist/src/helpers/getSegmentedItemProperties.js +0 -54
- package/dist/src/helpers/getSegmentedItemProperties.js.map +0 -1
- package/dist/src/helpers/index.js +0 -113
- package/dist/src/helpers/index.js.map +0 -1
- package/dist/src/helpers/scripts.d.ts +0 -2
- package/dist/src/helpers/scripts.d.ts.map +0 -1
- package/dist/src/helpers/scripts.js +0 -14
- package/dist/src/helpers/scripts.js.map +0 -1
- package/dist/src/helpers/updateMachineContext.js.map +0 -1
- package/dist/src/node/Item/Item.d.ts +0 -7
- package/dist/src/node/Item/Item.d.ts.map +0 -1
- package/dist/src/node/Item/Item.js +0 -11
- package/dist/src/node/Item/Item.js.map +0 -1
- package/dist/src/node/ItemProperty/ItemProperty.d.ts +0 -7
- package/dist/src/node/ItemProperty/ItemProperty.d.ts.map +0 -1
- package/dist/src/node/ItemProperty/ItemProperty.js +0 -10
- package/dist/src/node/ItemProperty/ItemProperty.js.map +0 -1
- package/dist/src/node/PathResolver.d.ts +0 -45
- package/dist/src/node/PathResolver.d.ts.map +0 -1
- package/dist/src/node/PathResolver.js +0 -170
- package/dist/src/node/PathResolver.js.map +0 -1
- package/dist/src/node/codegen/drizzle.js +0 -108
- package/dist/src/node/codegen/drizzle.js.map +0 -1
- package/dist/src/node/constants.js +0 -6
- package/dist/src/node/constants.js.map +0 -1
- package/dist/src/node/db/Db.js +0 -65
- package/dist/src/node/db/Db.js.map +0 -1
- package/dist/src/node/helpers/ArweaveClient.js +0 -13
- package/dist/src/node/helpers/ArweaveClient.js.map +0 -1
- package/dist/src/node/helpers/EasClient.js +0 -13
- package/dist/src/node/helpers/EasClient.js.map +0 -1
- package/dist/src/node/helpers/FileManager.js +0 -53
- package/dist/src/node/helpers/FileManager.js.map +0 -1
- package/dist/src/node/helpers/QueryClient.js.map +0 -1
- package/dist/src/node/helpers/index.js +0 -38
- package/dist/src/node/helpers/index.js.map +0 -1
- package/dist/src/node/webpack/index.js.map +0 -1
- package/dist/src/schema/file/download/actors.d.ts.map +0 -1
- package/dist/src/schema/file/download/index.d.ts.map +0 -1
- package/dist/src/schema/file/fetchAll/actors.d.ts.map +0 -1
- package/dist/src/schema/file/fetchAll/index.d.ts.map +0 -1
- package/dist/src/schema/file/queries.d.ts.map +0 -1
- package/dist/src/schema/file/queries.js +0 -48
- package/dist/src/schema/file/queries.js.map +0 -1
- package/dist/src/schema/image/model.d.ts +0 -8
- package/dist/src/schema/image/model.d.ts.map +0 -1
- package/dist/src/schema/image/model.js +0 -29
- package/dist/src/schema/image/model.js.map +0 -1
- package/dist/src/schema/image/queries.d.ts.map +0 -1
- package/dist/src/schema/index.d.ts +0 -4
- package/dist/src/schema/index.d.ts.map +0 -1
- package/dist/src/schema/model/index.d.ts +0 -63
- package/dist/src/schema/model/index.d.ts.map +0 -1
- package/dist/src/schema/model/index.js +0 -44
- package/dist/src/schema/model/index.js.map +0 -1
- package/dist/src/schema/property/index.d.ts +0 -151
- package/dist/src/schema/property/index.d.ts.map +0 -1
- package/dist/src/schema/property/index.js +0 -88
- package/dist/src/schema/property/index.js.map +0 -1
- package/dist/src/seedSchema/AppStateSchema.js.map +0 -1
- package/dist/src/seedSchema/ConfigSchema.js.map +0 -1
- package/dist/src/seedSchema/MetadataSchema.js.map +0 -1
- package/dist/src/seedSchema/ModelSchema.js +0 -33
- package/dist/src/seedSchema/ModelSchema.js.map +0 -1
- package/dist/src/seedSchema/ModelUidSchema.js +0 -18
- package/dist/src/seedSchema/ModelUidSchema.js.map +0 -1
- package/dist/src/seedSchema/PropertyUidSchema.js +0 -18
- package/dist/src/seedSchema/PropertyUidSchema.js.map +0 -1
- package/dist/src/seedSchema/SeedSchema.js.map +0 -1
- package/dist/src/seedSchema/VersionSchema.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchDbData.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchDbData.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchDbData.js +0 -13
- package/dist/src/services/allItems/actors/fetchDbData.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.js +0 -139
- package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchSeeds.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchSeeds.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchSeeds.js +0 -31
- package/dist/src/services/allItems/actors/fetchSeeds.js.map +0 -1
- package/dist/src/services/allItems/actors/fetchVersions.d.ts +0 -4
- package/dist/src/services/allItems/actors/fetchVersions.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/fetchVersions.js +0 -35
- package/dist/src/services/allItems/actors/fetchVersions.js.map +0 -1
- package/dist/src/services/allItems/actors/initialize.d.ts +0 -4
- package/dist/src/services/allItems/actors/initialize.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/initialize.js +0 -146
- package/dist/src/services/allItems/actors/initialize.js.map +0 -1
- package/dist/src/services/allItems/actors/processItems.d.ts +0 -4
- package/dist/src/services/allItems/actors/processItems.d.ts.map +0 -1
- package/dist/src/services/allItems/actors/processItems.js +0 -55
- package/dist/src/services/allItems/actors/processItems.js.map +0 -1
- package/dist/src/services/allItems/itemMachineAll.d.ts +0 -67
- package/dist/src/services/allItems/itemMachineAll.d.ts.map +0 -1
- package/dist/src/services/allItems/itemMachineAll.js +0 -153
- package/dist/src/services/allItems/itemMachineAll.js.map +0 -1
- package/dist/src/services/db/actors/checkStatus.d.ts +0 -4
- package/dist/src/services/db/actors/checkStatus.d.ts.map +0 -1
- package/dist/src/services/db/actors/checkStatus.js +0 -41
- package/dist/src/services/db/actors/checkStatus.js.map +0 -1
- package/dist/src/services/db/actors/connectToDb.d.ts +0 -4
- package/dist/src/services/db/actors/connectToDb.d.ts.map +0 -1
- package/dist/src/services/db/actors/connectToDb.js +0 -31
- package/dist/src/services/db/actors/connectToDb.js.map +0 -1
- package/dist/src/services/db/actors/migrate.d.ts +0 -4
- package/dist/src/services/db/actors/migrate.d.ts.map +0 -1
- package/dist/src/services/db/actors/migrate.js +0 -40
- package/dist/src/services/db/actors/migrate.js.map +0 -1
- package/dist/src/services/db/actors/validate.d.ts +0 -4
- package/dist/src/services/db/actors/validate.d.ts.map +0 -1
- package/dist/src/services/db/actors/validate.js +0 -40
- package/dist/src/services/db/actors/validate.js.map +0 -1
- package/dist/src/services/db/actors/waitForFiles.d.ts +0 -4
- package/dist/src/services/db/actors/waitForFiles.d.ts.map +0 -1
- package/dist/src/services/db/actors/waitForFiles.js +0 -32
- package/dist/src/services/db/actors/waitForFiles.js.map +0 -1
- package/dist/src/services/db/connectionManager.d.ts +0 -18
- package/dist/src/services/db/connectionManager.d.ts.map +0 -1
- package/dist/src/services/db/dbMachine.d.ts +0 -58
- package/dist/src/services/db/dbMachine.d.ts.map +0 -1
- package/dist/src/services/db/dbMachine.js +0 -156
- package/dist/src/services/db/dbMachine.js.map +0 -1
- package/dist/src/services/db/index.d.ts +0 -2
- package/dist/src/services/db/index.d.ts.map +0 -1
- package/dist/src/services/events.js +0 -15
- package/dist/src/services/events.js.map +0 -1
- package/dist/src/services/global/actors/addModelsToDb.d.ts +0 -4
- package/dist/src/services/global/actors/addModelsToDb.d.ts.map +0 -1
- package/dist/src/services/global/actors/addModelsToDb.js +0 -117
- package/dist/src/services/global/actors/addModelsToDb.js.map +0 -1
- package/dist/src/services/global/actors/getSchemaForModel.d.ts +0 -4
- package/dist/src/services/global/actors/getSchemaForModel.d.ts.map +0 -1
- package/dist/src/services/global/actors/getSchemaForModel.js +0 -26
- package/dist/src/services/global/actors/getSchemaForModel.js.map +0 -1
- package/dist/src/services/global/actors/initialize.d.ts +0 -4
- package/dist/src/services/global/actors/initialize.d.ts.map +0 -1
- package/dist/src/services/global/actors/initialize.js +0 -88
- package/dist/src/services/global/actors/initialize.js.map +0 -1
- package/dist/src/services/global/actors/savePublishService.d.ts +0 -4
- package/dist/src/services/global/actors/savePublishService.d.ts.map +0 -1
- package/dist/src/services/global/actors/savePublishService.js +0 -22
- package/dist/src/services/global/actors/savePublishService.js.map +0 -1
- package/dist/src/services/global/globalMachine.d.ts +0 -662
- package/dist/src/services/global/globalMachine.d.ts.map +0 -1
- package/dist/src/services/global/globalMachine.js +0 -246
- package/dist/src/services/global/globalMachine.js.map +0 -1
- package/dist/src/services/internal/actors/configureFs.d.ts +0 -4
- package/dist/src/services/internal/actors/configureFs.d.ts.map +0 -1
- package/dist/src/services/internal/actors/configureFs.js +0 -70
- package/dist/src/services/internal/actors/configureFs.js.map +0 -1
- package/dist/src/services/internal/actors/loadAppDb.d.ts +0 -4
- package/dist/src/services/internal/actors/loadAppDb.d.ts.map +0 -1
- package/dist/src/services/internal/actors/loadAppDb.js +0 -22
- package/dist/src/services/internal/actors/loadAppDb.js.map +0 -1
- package/dist/src/services/internal/actors/prepareDb.d.ts +0 -5
- package/dist/src/services/internal/actors/prepareDb.d.ts.map +0 -1
- package/dist/src/services/internal/actors/saveConfig.d.ts +0 -4
- package/dist/src/services/internal/actors/saveConfig.d.ts.map +0 -1
- package/dist/src/services/internal/actors/saveConfig.js +0 -76
- package/dist/src/services/internal/actors/saveConfig.js.map +0 -1
- package/dist/src/services/internal/actors/validateInput.d.ts +0 -4
- package/dist/src/services/internal/actors/validateInput.d.ts.map +0 -1
- package/dist/src/services/internal/actors/validateInput.js +0 -34
- package/dist/src/services/internal/actors/validateInput.js.map +0 -1
- package/dist/src/services/internal/actors/waitForFiles.d.ts +0 -4
- package/dist/src/services/internal/actors/waitForFiles.d.ts.map +0 -1
- package/dist/src/services/internal/actors/waitForFiles.js +0 -33
- package/dist/src/services/internal/actors/waitForFiles.js.map +0 -1
- package/dist/src/services/internal/constants.d.ts +0 -75
- package/dist/src/services/internal/constants.d.ts.map +0 -1
- package/dist/src/services/internal/constants.js +0 -85
- package/dist/src/services/internal/constants.js.map +0 -1
- package/dist/src/services/internal/helpers.d.ts +0 -10
- package/dist/src/services/internal/helpers.d.ts.map +0 -1
- package/dist/src/services/internal/helpers.js +0 -171
- package/dist/src/services/internal/helpers.js.map +0 -1
- package/dist/src/services/internal/internalMachine.d.ts +0 -57
- package/dist/src/services/internal/internalMachine.d.ts.map +0 -1
- package/dist/src/services/internal/internalMachine.js +0 -188
- package/dist/src/services/internal/internalMachine.js.map +0 -1
- package/dist/src/services/internal/queries.d.ts +0 -4
- package/dist/src/services/internal/queries.d.ts.map +0 -1
- package/dist/src/services/internal/types.d.ts +0 -12
- package/dist/src/services/internal/types.d.ts.map +0 -1
- package/dist/src/services/publish/actors/createPublishAttempt.js.map +0 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.js +0 -72
- package/dist/src/services/publish/actors/preparePublishRequestData.js.map +0 -1
- package/dist/src/services/publish/actors/upload.js +0 -55
- package/dist/src/services/publish/actors/upload.js.map +0 -1
- package/dist/src/services/publish/actors/validateItemData.js.map +0 -1
- package/dist/src/services/publish/publishMachine.js +0 -71
- package/dist/src/services/publish/publishMachine.js.map +0 -1
- package/dist/src/stores/eas.js +0 -45
- package/dist/src/stores/eas.js.map +0 -1
- package/dist/src/stores/modelClass.d.ts +0 -6
- package/dist/src/stores/modelClass.d.ts.map +0 -1
- package/dist/src/stores/modelClass.js +0 -16
- package/dist/src/stores/modelClass.js.map +0 -1
- /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.js +0 -0
- /package/dist/{src/Item → Item}/service/actors/reload.js +0 -0
- /package/dist/{src/Item → Item}/service/actors/waitForDb.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.js +0 -0
- /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.js +0 -0
- /package/dist/{src/browser → browser}/react/trash.js +0 -0
- /package/dist/{src/browser → browser}/workers/FileDownloader.js +0 -0
- /package/dist/{src/browser → browser}/workers/ImageResizer.js +0 -0
- /package/dist/{src/browser → browser}/workers/filesDownload.js +0 -0
- /package/dist/{src/browser → browser}/workers/imageResize.js +0 -0
- /package/dist/{src/eventBus.js → eventBus.js} +0 -0
- /package/dist/{src/events → events}/item/index.js +0 -0
- /package/dist/{src/events → events}/services/index.js +0 -0
- /package/dist/{src/helpers → helpers}/ArweaveClient/BaseArweaveClient.js +0 -0
- /package/dist/{src/helpers → helpers}/ArweaveClient/queries.js +0 -0
- /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.js +0 -0
- /package/dist/{src/helpers → helpers}/crypto.js +0 -0
- /package/dist/{src/helpers → helpers}/updateMachineContext.js +0 -0
- /package/dist/{src/node → node}/helpers/QueryClient.js +0 -0
- /package/dist/{src/node → node}/webpack/index.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/SeedSchema.js +0 -0
- /package/dist/{src/seedSchema → seedSchema}/VersionSchema.js +0 -0
- /package/dist/{src/services → services}/publish/actors/createPublishAttempt.js +0 -0
- /package/dist/{src/services → services}/publish/actors/validateItemData.js +0 -0
- /package/dist/src/{schema → helpers}/file/download/actors.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/download/index.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/fetchAll/actors.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/fetchAll/index.d.ts +0 -0
- /package/dist/src/{schema → helpers}/file/queries.d.ts +0 -0
- /package/dist/src/{schema → helpers}/image/queries.d.ts +0 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
import { loadAllSchemasFromDb } from '../../helpers/schema.js';
|
|
2
|
+
import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
|
|
3
|
+
import debug from 'debug';
|
|
4
|
+
import { useIsClientReady } from './client.js';
|
|
5
|
+
import { Schema } from '../../Schema/Schema.js';
|
|
6
|
+
import '../../helpers/constants.js';
|
|
7
|
+
import { useLiveQuery } from './liveQuery.js';
|
|
8
|
+
import { BaseDb } from '../../db/Db/BaseDb.js';
|
|
9
|
+
import { schemas } from '../../seedSchema/SchemaSchema.js';
|
|
10
|
+
import { desc } from 'drizzle-orm';
|
|
11
|
+
|
|
12
|
+
const logger = debug('seedSdk:react:schema');
|
|
13
|
+
/**
|
|
14
|
+
* Hook to get a Schema class instance (with setters) that is reactive
|
|
15
|
+
* This allows you to edit schema properties directly like: schema.name = 'New name'
|
|
16
|
+
* The schema instance uses a Proxy to ensure React re-renders when properties change
|
|
17
|
+
* @param schemaIdentifier - The name of the schema or the schema file ID
|
|
18
|
+
* - If a name is provided, retrieves the latest version with that name
|
|
19
|
+
* - If an ID is provided, retrieves the specific schema by ID
|
|
20
|
+
* @returns Object with schema instance
|
|
21
|
+
*/
|
|
22
|
+
const useSchema = (schemaIdentifier) => {
|
|
23
|
+
const [schema, setSchema] = useState(null);
|
|
24
|
+
const [isLoading, setIsLoading] = useState(schemaIdentifier ? true : false);
|
|
25
|
+
const [error, setError] = useState(null);
|
|
26
|
+
const subscriptionRef = useRef(null);
|
|
27
|
+
const isClientReady = useIsClientReady();
|
|
28
|
+
const loadSchema = useCallback((identifier) => {
|
|
29
|
+
setIsLoading(true);
|
|
30
|
+
setError(null);
|
|
31
|
+
try {
|
|
32
|
+
const schemaInstance = Schema.create(identifier);
|
|
33
|
+
setSchema(schemaInstance);
|
|
34
|
+
const service = schemaInstance.getService();
|
|
35
|
+
const initialSnapshot = service.getSnapshot();
|
|
36
|
+
// Set initial loading state based on whether status is 'idle'
|
|
37
|
+
const isIdle = initialSnapshot.value === 'idle';
|
|
38
|
+
setIsLoading(!isIdle);
|
|
39
|
+
if (isIdle) {
|
|
40
|
+
setError(null);
|
|
41
|
+
}
|
|
42
|
+
// Subscribe to all status changes and update isLoading based on whether status is 'idle'
|
|
43
|
+
subscriptionRef.current = service.subscribe((snapshot) => {
|
|
44
|
+
const isIdle = snapshot.value === 'idle';
|
|
45
|
+
setIsLoading(!isIdle);
|
|
46
|
+
if (isIdle) {
|
|
47
|
+
setError(null);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
logger('[useSchema] Error creating schema:', error);
|
|
53
|
+
setError(error);
|
|
54
|
+
setSchema(null);
|
|
55
|
+
setIsLoading(false);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}, []);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
// Clean up previous subscription before starting a new load
|
|
61
|
+
if (subscriptionRef.current) {
|
|
62
|
+
subscriptionRef.current.unsubscribe();
|
|
63
|
+
subscriptionRef.current = null;
|
|
64
|
+
}
|
|
65
|
+
if (!isClientReady) {
|
|
66
|
+
setSchema(null);
|
|
67
|
+
setError(null);
|
|
68
|
+
setIsLoading(false);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (!schemaIdentifier) {
|
|
72
|
+
setSchema(null);
|
|
73
|
+
setError(null);
|
|
74
|
+
setIsLoading(false);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
loadSchema(schemaIdentifier);
|
|
78
|
+
// Cleanup function to unsubscribe when effect re-runs or component unmounts
|
|
79
|
+
return () => {
|
|
80
|
+
if (subscriptionRef.current) {
|
|
81
|
+
subscriptionRef.current.unsubscribe();
|
|
82
|
+
subscriptionRef.current = null;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}, [schemaIdentifier, isClientReady, loadSchema]);
|
|
86
|
+
return {
|
|
87
|
+
schema,
|
|
88
|
+
isLoading,
|
|
89
|
+
error,
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
const useSchemas = () => {
|
|
93
|
+
const [schemas$1, setSchemas] = useState([]);
|
|
94
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
95
|
+
const [error, setError] = useState(null);
|
|
96
|
+
const isClientReady = useIsClientReady();
|
|
97
|
+
const subscriptionsRef = useRef(new Map());
|
|
98
|
+
const loadingSchemasRef = useRef(new Set());
|
|
99
|
+
const previousSchemasTableDataRef = useRef(undefined);
|
|
100
|
+
const schemasRef = useRef([]); // Track schemas for comparison without triggering effects
|
|
101
|
+
// Watch the schemas table for changes
|
|
102
|
+
// Memoize the query so it's stable across renders - this is critical for distinctUntilChanged to work
|
|
103
|
+
const db = isClientReady ? BaseDb.getAppDb() : null;
|
|
104
|
+
const schemasQuery = useMemo(() => {
|
|
105
|
+
if (!db)
|
|
106
|
+
return null;
|
|
107
|
+
return db.select().from(schemas).orderBy(schemas.name, desc(schemas.version));
|
|
108
|
+
}, [db, isClientReady]);
|
|
109
|
+
const schemasTableData = useLiveQuery(schemasQuery);
|
|
110
|
+
const fetchSchemas = useCallback(async () => {
|
|
111
|
+
try {
|
|
112
|
+
setIsLoading(true);
|
|
113
|
+
const timestamp = Date.now();
|
|
114
|
+
// Also check what's in the database directly before calling Schema.all()
|
|
115
|
+
const db = BaseDb.getAppDb();
|
|
116
|
+
if (db) {
|
|
117
|
+
const directCheck = await db.select().from(schemas).orderBy(schemas.name, desc(schemas.version));
|
|
118
|
+
}
|
|
119
|
+
const allSchemas = await Schema.all();
|
|
120
|
+
// Filter out schemas without an id and subscribe to state changes
|
|
121
|
+
const readySchemas = [];
|
|
122
|
+
const loadingSchemasList = [];
|
|
123
|
+
// Clear previous loading set
|
|
124
|
+
loadingSchemasRef.current.clear();
|
|
125
|
+
for (const schema of allSchemas) {
|
|
126
|
+
const snapshot = schema.getService().getSnapshot();
|
|
127
|
+
const hasId = !!schema.id;
|
|
128
|
+
const isIdle = snapshot.value === 'idle';
|
|
129
|
+
if (hasId && isIdle) {
|
|
130
|
+
// Schema is ready
|
|
131
|
+
readySchemas.push(schema);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// Schema is still loading - subscribe to state changes
|
|
135
|
+
loadingSchemasList.push(schema);
|
|
136
|
+
loadingSchemasRef.current.add(schema);
|
|
137
|
+
// Clean up any existing subscription for this schema
|
|
138
|
+
const existingSub = subscriptionsRef.current.get(schema);
|
|
139
|
+
if (existingSub) {
|
|
140
|
+
existingSub.unsubscribe();
|
|
141
|
+
}
|
|
142
|
+
// Subscribe to state changes
|
|
143
|
+
const subscription = schema.getService().subscribe((snapshot) => {
|
|
144
|
+
const hasId = !!schema.id;
|
|
145
|
+
const isIdle = snapshot.value === 'idle';
|
|
146
|
+
if (hasId && isIdle) {
|
|
147
|
+
// Schema is now ready - update state
|
|
148
|
+
setSchemas(prev => {
|
|
149
|
+
// Check if schema is already in the list (by id)
|
|
150
|
+
if (schema.id && prev.some(s => s.id === schema.id)) {
|
|
151
|
+
return prev;
|
|
152
|
+
}
|
|
153
|
+
// Add the newly ready schema
|
|
154
|
+
const updated = [...prev, schema].sort((a, b) => {
|
|
155
|
+
// Sort by name for consistency
|
|
156
|
+
const nameA = a.metadata?.name || '';
|
|
157
|
+
const nameB = b.metadata?.name || '';
|
|
158
|
+
return nameA.localeCompare(nameB);
|
|
159
|
+
});
|
|
160
|
+
schemasRef.current = updated; // Update ref for comparison
|
|
161
|
+
return updated;
|
|
162
|
+
});
|
|
163
|
+
// Remove from loading set and clean up subscription
|
|
164
|
+
loadingSchemasRef.current.delete(schema);
|
|
165
|
+
subscription.unsubscribe();
|
|
166
|
+
subscriptionsRef.current.delete(schema);
|
|
167
|
+
// Update loading state based on remaining loading schemas
|
|
168
|
+
setIsLoading(loadingSchemasRef.current.size > 0);
|
|
169
|
+
}
|
|
170
|
+
else if (snapshot.value === 'error') {
|
|
171
|
+
// Schema failed to load - clean up subscription
|
|
172
|
+
loadingSchemasRef.current.delete(schema);
|
|
173
|
+
subscription.unsubscribe();
|
|
174
|
+
subscriptionsRef.current.delete(schema);
|
|
175
|
+
// Update loading state based on remaining loading schemas
|
|
176
|
+
setIsLoading(loadingSchemasRef.current.size > 0);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
subscriptionsRef.current.set(schema, subscription);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Set initial ready schemas
|
|
183
|
+
setSchemas(readySchemas);
|
|
184
|
+
schemasRef.current = readySchemas; // Update ref for comparison
|
|
185
|
+
setError(null);
|
|
186
|
+
setIsLoading(loadingSchemasList.length > 0); // Still loading if any schemas are loading
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
setError(error);
|
|
190
|
+
setIsLoading(false);
|
|
191
|
+
}
|
|
192
|
+
}, []); // Remove schemasTableData dependency - we'll call fetchSchemas explicitly when table data changes
|
|
193
|
+
// Cleanup subscriptions for schemas that are no longer in the list
|
|
194
|
+
useEffect(() => {
|
|
195
|
+
const currentSchemaIds = new Set(schemas$1.map(s => s.id).filter(Boolean));
|
|
196
|
+
// Clean up subscriptions for schemas that are no longer in the list
|
|
197
|
+
for (const [schema, subscription] of subscriptionsRef.current.entries()) {
|
|
198
|
+
if (schema.id && !currentSchemaIds.has(schema.id)) {
|
|
199
|
+
// Schema is no longer in the list, clean up subscription
|
|
200
|
+
subscription.unsubscribe();
|
|
201
|
+
subscriptionsRef.current.delete(schema);
|
|
202
|
+
loadingSchemasRef.current.delete(schema);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Update loading state based on remaining loading schemas
|
|
206
|
+
if (loadingSchemasRef.current.size === 0 && isLoading) {
|
|
207
|
+
setIsLoading(false);
|
|
208
|
+
}
|
|
209
|
+
}, [schemas$1, isLoading]);
|
|
210
|
+
// Fetch schemas on initial mount when client is ready
|
|
211
|
+
useEffect(() => {
|
|
212
|
+
if (!isClientReady) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
// Initial fetch when client becomes ready
|
|
216
|
+
fetchSchemas();
|
|
217
|
+
}, [isClientReady, fetchSchemas]);
|
|
218
|
+
// Refetch schemas when table data actually changes (not just reference)
|
|
219
|
+
useEffect(() => {
|
|
220
|
+
if (!isClientReady || !schemasTableData) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
// Check if schemasTableData actually changed by comparing with previous value
|
|
224
|
+
const prevData = previousSchemasTableDataRef.current;
|
|
225
|
+
const prevDataJson = prevData ? JSON.stringify(prevData) : 'undefined';
|
|
226
|
+
const currDataJson = schemasTableData ? JSON.stringify(schemasTableData) : 'undefined';
|
|
227
|
+
if (prevDataJson === currDataJson && prevData !== undefined) {
|
|
228
|
+
// Data hasn't actually changed, skip refetch
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
// Update ref with current data
|
|
232
|
+
previousSchemasTableDataRef.current = schemasTableData;
|
|
233
|
+
// Extract identifying information from current schemas in state (using ref to avoid dependency)
|
|
234
|
+
// Use schemaFileId if available, otherwise fall back to name+version
|
|
235
|
+
const currentSchemasSet = new Set();
|
|
236
|
+
for (const schema of schemasRef.current) {
|
|
237
|
+
const schemaFileId = schema.id || schema.schemaFileId;
|
|
238
|
+
if (schemaFileId) {
|
|
239
|
+
currentSchemasSet.add(schemaFileId);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// Fallback to name+version if schemaFileId not available
|
|
243
|
+
const name = schema.metadata?.name;
|
|
244
|
+
const version = schema.version;
|
|
245
|
+
if (name && version !== undefined) {
|
|
246
|
+
currentSchemasSet.add(`${name}:${version}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// Extract identifying information from schemasTableData
|
|
251
|
+
const tableDataSchemasSet = new Set();
|
|
252
|
+
for (const dbSchema of schemasTableData) {
|
|
253
|
+
// Skip internal Seed Protocol schema for comparison (it's filtered out by Schema.all())
|
|
254
|
+
if (dbSchema.name === 'Seed Protocol') {
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
if (dbSchema.schemaFileId) {
|
|
258
|
+
tableDataSchemasSet.add(dbSchema.schemaFileId);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
// Fallback to name+version if schemaFileId not available
|
|
262
|
+
if (dbSchema.name && dbSchema.version !== undefined) {
|
|
263
|
+
tableDataSchemasSet.add(`${dbSchema.name}:${dbSchema.version}`);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// Compare sets to detect changes
|
|
268
|
+
const setsAreEqual = currentSchemasSet.size === tableDataSchemasSet.size &&
|
|
269
|
+
[...currentSchemasSet].every(id => tableDataSchemasSet.has(id));
|
|
270
|
+
if (setsAreEqual) {
|
|
271
|
+
// Schemas in state match table data, skip refetch
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
// Schemas have changed, fetch updated schemas
|
|
275
|
+
fetchSchemas();
|
|
276
|
+
}, [isClientReady, schemasTableData, fetchSchemas]); // Removed 'schemas' from dependencies to break the loop
|
|
277
|
+
// Cleanup all subscriptions on unmount
|
|
278
|
+
useEffect(() => {
|
|
279
|
+
return () => {
|
|
280
|
+
subscriptionsRef.current.forEach(sub => sub.unsubscribe());
|
|
281
|
+
subscriptionsRef.current.clear();
|
|
282
|
+
loadingSchemasRef.current.clear();
|
|
283
|
+
};
|
|
284
|
+
}, []);
|
|
285
|
+
return {
|
|
286
|
+
schemas: schemas$1,
|
|
287
|
+
isLoading,
|
|
288
|
+
error,
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
const useCreateSchema = () => {
|
|
292
|
+
const errorRef = useRef(null);
|
|
293
|
+
const subscriptionRef = useRef(null);
|
|
294
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
295
|
+
const [error, setError] = useState(null);
|
|
296
|
+
const createSchema = useCallback((schemaName) => {
|
|
297
|
+
setIsLoading(true);
|
|
298
|
+
const schema = Schema.create(schemaName);
|
|
299
|
+
const subscription = schema.getService().subscribe((snapshot) => {
|
|
300
|
+
if (snapshot.value === 'error') {
|
|
301
|
+
errorRef.current = new Error('Failed to create schema');
|
|
302
|
+
}
|
|
303
|
+
if (snapshot.value === 'idle') {
|
|
304
|
+
setIsLoading(false);
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
subscriptionRef.current = subscription;
|
|
308
|
+
return schema;
|
|
309
|
+
}, [setIsLoading]);
|
|
310
|
+
useEffect(() => {
|
|
311
|
+
setError(errorRef.current);
|
|
312
|
+
}, [errorRef.current]);
|
|
313
|
+
return {
|
|
314
|
+
createSchema,
|
|
315
|
+
isLoading,
|
|
316
|
+
error,
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
const useAllSchemaVersions = () => {
|
|
320
|
+
const [schemaInstances, setSchemaInstances] = useState();
|
|
321
|
+
const schemaInstancesRef = useRef(new Map());
|
|
322
|
+
const isClientReady = useIsClientReady();
|
|
323
|
+
const fetchSchemas = useCallback(async () => {
|
|
324
|
+
if (!isClientReady) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
try {
|
|
328
|
+
// Use DB-first approach: load all schemas from database
|
|
329
|
+
// This will also import any missing schemas from files
|
|
330
|
+
const allSchemasData = await loadAllSchemasFromDb();
|
|
331
|
+
// Extract unique schema names
|
|
332
|
+
const schemaNames = new Set();
|
|
333
|
+
for (const schemaData of allSchemasData) {
|
|
334
|
+
const schemaName = schemaData.schema.metadata?.name;
|
|
335
|
+
if (schemaName) {
|
|
336
|
+
schemaNames.add(schemaName);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
// Create/update Schema instances
|
|
340
|
+
const currentInstances = new Map();
|
|
341
|
+
for (const schemaName of schemaNames) {
|
|
342
|
+
// Reuse existing instance if it exists
|
|
343
|
+
if (schemaInstancesRef.current.has(schemaName)) {
|
|
344
|
+
const existingInstance = schemaInstancesRef.current.get(schemaName);
|
|
345
|
+
currentInstances.set(schemaName, existingInstance);
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
// Create new instance
|
|
349
|
+
const schema = Schema.create(schemaName);
|
|
350
|
+
currentInstances.set(schemaName, schema);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
// Cleanup instances that are no longer needed
|
|
354
|
+
for (const [name, instance] of schemaInstancesRef.current.entries()) {
|
|
355
|
+
if (!schemaNames.has(name)) {
|
|
356
|
+
instance.unload();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
// Update ref and state
|
|
360
|
+
schemaInstancesRef.current = currentInstances;
|
|
361
|
+
setSchemaInstances(Array.from(currentInstances.values()));
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
logger('Error fetching all schema versions from database:', error);
|
|
365
|
+
setSchemaInstances(null);
|
|
366
|
+
}
|
|
367
|
+
}, [isClientReady]);
|
|
368
|
+
useEffect(() => {
|
|
369
|
+
if (!isClientReady) {
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
fetchSchemas();
|
|
373
|
+
}, [isClientReady, fetchSchemas]);
|
|
374
|
+
// Cleanup on unmount
|
|
375
|
+
useEffect(() => {
|
|
376
|
+
return () => {
|
|
377
|
+
schemaInstancesRef.current.forEach((instance) => {
|
|
378
|
+
instance.unload();
|
|
379
|
+
});
|
|
380
|
+
schemaInstancesRef.current.clear();
|
|
381
|
+
};
|
|
382
|
+
}, []);
|
|
383
|
+
return schemaInstances;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
export { useAllSchemaVersions, useCreateSchema, useSchema, useSchemas };
|
|
387
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sources":["../../../../src/browser/react/schema.ts"],"sourcesContent":["import { loadAllSchemasFromDb, } from \"@/helpers/schema\"\nimport { useCallback, useEffect, useRef, useState, useMemo } from \"react\"\nimport debug from \"debug\"\nimport { useIsClientReady } from \"./client\"\nimport { Schema } from \"@/Schema/Schema\"\nimport { SnapshotFrom, Subscription } from \"xstate\"\nimport { schemaMachine } from \"@/Schema/service/schemaMachine\"\nimport { SEED_PROTOCOL_SCHEMA_NAME } from \"@/helpers/constants\"\nimport { useLiveQuery } from \"./liveQuery\"\nimport { BaseDb } from \"@/db/Db/BaseDb\"\nimport { schemas as schemasTable } from \"@/seedSchema/SchemaSchema\"\nimport { desc } from \"drizzle-orm\"\nimport type { SchemaType as DbSchemaType } from \"@/seedSchema/SchemaSchema\"\n\nconst logger = debug('seedSdk:react:schema')\n\n/**\n * Hook to get a Schema class instance (with setters) that is reactive\n * This allows you to edit schema properties directly like: schema.name = 'New name'\n * The schema instance uses a Proxy to ensure React re-renders when properties change\n * @param schemaIdentifier - The name of the schema or the schema file ID\n * - If a name is provided, retrieves the latest version with that name\n * - If an ID is provided, retrieves the specific schema by ID\n * @returns Object with schema instance\n */\nexport const useSchema = (schemaIdentifier: string | null | undefined) => {\n const [schema, setSchema] = useState<Schema | null>(null)\n const [isLoading, setIsLoading] = useState(schemaIdentifier ? true : false)\n const [error, setError] = useState<Error | null>(null)\n const subscriptionRef = useRef<Subscription | null>(null)\n\n const isClientReady = useIsClientReady()\n\n const loadSchema = useCallback((identifier: string) => {\n setIsLoading(true)\n setError(null)\n try {\n const schemaInstance = Schema.create(identifier)\n setSchema(schemaInstance)\n\n const service = schemaInstance.getService()\n const initialSnapshot = service.getSnapshot()\n\n // Set initial loading state based on whether status is 'idle'\n const isIdle = initialSnapshot.value === 'idle'\n setIsLoading(!isIdle)\n if (isIdle) {\n setError(null)\n }\n\n // Subscribe to all status changes and update isLoading based on whether status is 'idle'\n subscriptionRef.current = service.subscribe((snapshot: SchemaSnapshot) => {\n const isIdle = snapshot.value === 'idle'\n setIsLoading(!isIdle)\n if (isIdle) {\n setError(null)\n }\n })\n\n } catch (error) {\n logger('[useSchema] Error creating schema:', error)\n setError(error as Error)\n setSchema(null)\n setIsLoading(false)\n return null\n }\n }, [])\n\n useEffect(() => {\n // Clean up previous subscription before starting a new load\n if (subscriptionRef.current) {\n subscriptionRef.current.unsubscribe()\n subscriptionRef.current = null\n }\n \n if (!isClientReady) {\n setSchema(null)\n setError(null)\n setIsLoading(false)\n return\n }\n if (!schemaIdentifier) {\n setSchema(null)\n setError(null)\n setIsLoading(false)\n return\n }\n\n loadSchema(schemaIdentifier)\n \n // Cleanup function to unsubscribe when effect re-runs or component unmounts\n return () => {\n if (subscriptionRef.current) {\n subscriptionRef.current.unsubscribe()\n subscriptionRef.current = null\n }\n }\n }, [schemaIdentifier, isClientReady, loadSchema])\n \n return {\n schema,\n isLoading,\n error,\n }\n\n}\n\nexport const useSchemas = () => {\n const [schemas, setSchemas] = useState<Schema[]>([])\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState<Error | null>(null)\n const isClientReady = useIsClientReady()\n const subscriptionsRef = useRef<Map<Schema, Subscription>>(new Map())\n const loadingSchemasRef = useRef<Set<Schema>>(new Set())\n const previousSchemasTableDataRef = useRef<DbSchemaType[] | undefined>(undefined)\n const schemasRef = useRef<Schema[]>([]) // Track schemas for comparison without triggering effects\n\n // Watch the schemas table for changes\n // Memoize the query so it's stable across renders - this is critical for distinctUntilChanged to work\n const db = isClientReady ? BaseDb.getAppDb() : null\n const schemasQuery = useMemo(() => {\n if (!db) return null\n return db.select().from(schemasTable).orderBy(schemasTable.name, desc(schemasTable.version))\n }, [db, isClientReady])\n const schemasTableData = useLiveQuery<DbSchemaType>(schemasQuery)\n\n const fetchSchemas = useCallback(async () => {\n try {\n setIsLoading(true)\n const timestamp = Date.now()\n \n // Also check what's in the database directly before calling Schema.all()\n const db = BaseDb.getAppDb()\n if (db) {\n const directCheck = await db.select().from(schemasTable).orderBy(schemasTable.name, desc(schemasTable.version))\n }\n \n const allSchemas = await Schema.all()\n \n // Filter out schemas without an id and subscribe to state changes\n const readySchemas: Schema[] = []\n const loadingSchemasList: Schema[] = []\n \n // Clear previous loading set\n loadingSchemasRef.current.clear()\n \n for (const schema of allSchemas) {\n const snapshot = schema.getService().getSnapshot()\n const hasId = !!schema.id\n const isIdle = snapshot.value === 'idle'\n \n if (hasId && isIdle) {\n // Schema is ready\n readySchemas.push(schema)\n } else {\n // Schema is still loading - subscribe to state changes\n loadingSchemasList.push(schema)\n loadingSchemasRef.current.add(schema)\n \n // Clean up any existing subscription for this schema\n const existingSub = subscriptionsRef.current.get(schema)\n if (existingSub) {\n existingSub.unsubscribe()\n }\n \n // Subscribe to state changes\n const subscription = schema.getService().subscribe((snapshot: SchemaSnapshot) => {\n const hasId = !!schema.id\n const isIdle = snapshot.value === 'idle'\n \n if (hasId && isIdle) {\n // Schema is now ready - update state\n setSchemas(prev => {\n // Check if schema is already in the list (by id)\n if (schema.id && prev.some(s => s.id === schema.id)) {\n return prev\n }\n // Add the newly ready schema\n const updated = [...prev, schema].sort((a, b) => {\n // Sort by name for consistency\n const nameA = a.metadata?.name || ''\n const nameB = b.metadata?.name || ''\n return nameA.localeCompare(nameB)\n })\n schemasRef.current = updated // Update ref for comparison\n return updated\n })\n \n // Remove from loading set and clean up subscription\n loadingSchemasRef.current.delete(schema)\n subscription.unsubscribe()\n subscriptionsRef.current.delete(schema)\n \n // Update loading state based on remaining loading schemas\n setIsLoading(loadingSchemasRef.current.size > 0)\n } else if (snapshot.value === 'error') {\n // Schema failed to load - clean up subscription\n loadingSchemasRef.current.delete(schema)\n subscription.unsubscribe()\n subscriptionsRef.current.delete(schema)\n \n // Update loading state based on remaining loading schemas\n setIsLoading(loadingSchemasRef.current.size > 0)\n }\n })\n \n subscriptionsRef.current.set(schema, subscription)\n }\n }\n \n // Set initial ready schemas\n setSchemas(readySchemas)\n schemasRef.current = readySchemas // Update ref for comparison\n setError(null)\n setIsLoading(loadingSchemasList.length > 0) // Still loading if any schemas are loading\n \n } catch (error) {\n setError(error as Error)\n setIsLoading(false)\n }\n }, []) // Remove schemasTableData dependency - we'll call fetchSchemas explicitly when table data changes\n\n // Cleanup subscriptions for schemas that are no longer in the list\n useEffect(() => {\n const currentSchemaIds = new Set(schemas.map(s => s.id).filter(Boolean))\n \n // Clean up subscriptions for schemas that are no longer in the list\n for (const [schema, subscription] of subscriptionsRef.current.entries()) {\n if (schema.id && !currentSchemaIds.has(schema.id)) {\n // Schema is no longer in the list, clean up subscription\n subscription.unsubscribe()\n subscriptionsRef.current.delete(schema)\n loadingSchemasRef.current.delete(schema)\n }\n }\n \n // Update loading state based on remaining loading schemas\n if (loadingSchemasRef.current.size === 0 && isLoading) {\n setIsLoading(false)\n }\n }, [schemas, isLoading])\n\n // Fetch schemas on initial mount when client is ready\n useEffect(() => {\n if (!isClientReady) {\n return\n }\n // Initial fetch when client becomes ready\n fetchSchemas()\n }, [isClientReady, fetchSchemas])\n\n // Refetch schemas when table data actually changes (not just reference)\n useEffect(() => {\n if (!isClientReady || !schemasTableData) {\n return\n }\n\n // Check if schemasTableData actually changed by comparing with previous value\n const prevData = previousSchemasTableDataRef.current\n const prevDataJson = prevData ? JSON.stringify(prevData) : 'undefined'\n const currDataJson = schemasTableData ? JSON.stringify(schemasTableData) : 'undefined'\n \n if (prevDataJson === currDataJson && prevData !== undefined) {\n // Data hasn't actually changed, skip refetch\n return\n }\n \n // Update ref with current data\n previousSchemasTableDataRef.current = schemasTableData\n\n // Extract identifying information from current schemas in state (using ref to avoid dependency)\n // Use schemaFileId if available, otherwise fall back to name+version\n const currentSchemasSet = new Set<string>()\n for (const schema of schemasRef.current) {\n const schemaFileId = schema.id || schema.schemaFileId\n if (schemaFileId) {\n currentSchemasSet.add(schemaFileId)\n } else {\n // Fallback to name+version if schemaFileId not available\n const name = schema.metadata?.name\n const version = schema.version\n if (name && version !== undefined) {\n currentSchemasSet.add(`${name}:${version}`)\n }\n }\n }\n\n // Extract identifying information from schemasTableData\n const tableDataSchemasSet = new Set<string>()\n for (const dbSchema of schemasTableData) {\n // Skip internal Seed Protocol schema for comparison (it's filtered out by Schema.all())\n if (dbSchema.name === 'Seed Protocol') {\n continue\n }\n if (dbSchema.schemaFileId) {\n tableDataSchemasSet.add(dbSchema.schemaFileId)\n } else {\n // Fallback to name+version if schemaFileId not available\n if (dbSchema.name && dbSchema.version !== undefined) {\n tableDataSchemasSet.add(`${dbSchema.name}:${dbSchema.version}`)\n }\n }\n }\n\n // Compare sets to detect changes\n const setsAreEqual = \n currentSchemasSet.size === tableDataSchemasSet.size &&\n [...currentSchemasSet].every(id => tableDataSchemasSet.has(id))\n\n if (setsAreEqual) {\n // Schemas in state match table data, skip refetch\n return\n }\n\n // Schemas have changed, fetch updated schemas\n fetchSchemas()\n }, [isClientReady, schemasTableData, fetchSchemas]) // Removed 'schemas' from dependencies to break the loop\n\n // Cleanup all subscriptions on unmount\n useEffect(() => {\n return () => {\n subscriptionsRef.current.forEach(sub => sub.unsubscribe())\n subscriptionsRef.current.clear()\n loadingSchemasRef.current.clear()\n }\n }, [])\n\n return {\n schemas,\n isLoading,\n error,\n }\n\n}\n\nexport const useCreateSchema = () => {\n const errorRef = useRef<Error | null>(null)\n const subscriptionRef = useRef<{ unsubscribe: () => void } | null>(null)\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState<Error | null>(null)\n\n const createSchema = useCallback((schemaName: string) => {\n setIsLoading(true)\n const schema = Schema.create(schemaName)\n const subscription = schema.getService().subscribe((snapshot: SchemaSnapshot) => {\n if (snapshot.value === 'error') {\n errorRef.current = new Error('Failed to create schema')\n }\n if (snapshot.value === 'idle') {\n setIsLoading(false)\n }\n })\n subscriptionRef.current = subscription\n return schema\n }, [setIsLoading])\n\n useEffect(() => {\n setError(errorRef.current)\n }, [errorRef.current])\n\n return {\n createSchema,\n isLoading,\n error,\n }\n}\n\nexport const useAllSchemaVersions = () => {\n const [schemaInstances, setSchemaInstances] = useState<Schema[] | undefined | null>()\n const schemaInstancesRef = useRef<Map<string, Schema>>(new Map())\n const isClientReady = useIsClientReady()\n\n const fetchSchemas = useCallback(async () => {\n if (!isClientReady) {\n return\n }\n\n try {\n // Use DB-first approach: load all schemas from database\n // This will also import any missing schemas from files\n const allSchemasData = await loadAllSchemasFromDb()\n\n // Extract unique schema names\n const schemaNames = new Set<string>()\n for (const schemaData of allSchemasData) {\n const schemaName = schemaData.schema.metadata?.name\n if (schemaName) {\n schemaNames.add(schemaName)\n }\n }\n\n // Create/update Schema instances\n const currentInstances = new Map<string, Schema>()\n \n for (const schemaName of schemaNames) {\n // Reuse existing instance if it exists\n if (schemaInstancesRef.current.has(schemaName)) {\n const existingInstance = schemaInstancesRef.current.get(schemaName)!\n currentInstances.set(schemaName, existingInstance)\n } else {\n // Create new instance\n const schema = Schema.create(schemaName)\n currentInstances.set(schemaName, schema)\n }\n }\n\n // Cleanup instances that are no longer needed\n for (const [name, instance] of schemaInstancesRef.current.entries()) {\n if (!schemaNames.has(name)) {\n instance.unload()\n }\n }\n\n // Update ref and state\n schemaInstancesRef.current = currentInstances\n setSchemaInstances(Array.from(currentInstances.values()))\n } catch (error) {\n logger('Error fetching all schema versions from database:', error)\n setSchemaInstances(null)\n }\n }, [isClientReady])\n\n useEffect(() => {\n if (!isClientReady) {\n return\n }\n fetchSchemas()\n }, [isClientReady, fetchSchemas])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n schemaInstancesRef.current.forEach((instance) => {\n instance.unload()\n })\n schemaInstancesRef.current.clear()\n }\n }, [])\n\n return schemaInstances\n}\n\ntype SchemaSnapshot = SnapshotFrom<typeof schemaMachine>\n\n\n/**\n * Hook to get the internal Seed Protocol schema (SDK-only schema)\n * This schema is managed by the SDK and should not be edited by app developers\n * @returns Object with schema instance and schemaData (version, metadata, etc.)\n */\nexport const useSeedProtocolSchema = () => {\n return useSchema(SEED_PROTOCOL_SCHEMA_NAME)\n}"],"names":["schemas","schemasTable"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import 'react';
|
|
2
|
+
import 'pluralize';
|
|
3
|
+
import { useSelector } from '@xstate/react';
|
|
4
|
+
import debug from 'debug';
|
|
5
|
+
import '../../seedSchema/SeedSchema.js';
|
|
6
|
+
import '../../seedSchema/VersionSchema.js';
|
|
7
|
+
import '../../seedSchema/MetadataSchema.js';
|
|
8
|
+
import '../../seedSchema/AppStateSchema.js';
|
|
9
|
+
import '../../seedSchema/ModelSchema.js';
|
|
10
|
+
import '../../seedSchema/ModelUidSchema.js';
|
|
11
|
+
import '../../seedSchema/PropertyUidSchema.js';
|
|
12
|
+
import '../../seedSchema/ConfigSchema.js';
|
|
13
|
+
import '../../seedSchema/SchemaSchema.js';
|
|
14
|
+
import '../../seedSchema/ModelSchemaSchema.js';
|
|
15
|
+
import 'drizzle-orm';
|
|
16
|
+
import { ClientManagerState } from '../../client/constants.js';
|
|
17
|
+
import { getClient } from '../../client/ClientManager.js';
|
|
18
|
+
|
|
19
|
+
debug('seedSdk:react:services');
|
|
20
|
+
const useGlobalServiceStatus = () => {
|
|
21
|
+
const clientManager = getClient();
|
|
22
|
+
const clientService = clientManager.getService();
|
|
23
|
+
const status = useSelector(clientService, (snapshot) => {
|
|
24
|
+
return snapshot.value;
|
|
25
|
+
});
|
|
26
|
+
// Internal service functionality is now part of ClientManager
|
|
27
|
+
// DB is ready when ClientManager reaches DB_INIT or later states
|
|
28
|
+
const internalStatus = useSelector(clientService, (snapshot) => {
|
|
29
|
+
const state = snapshot.value;
|
|
30
|
+
if (state === ClientManagerState.DB_INIT ||
|
|
31
|
+
state === ClientManagerState.SAVE_CONFIG ||
|
|
32
|
+
state === ClientManagerState.PROCESS_SCHEMA_FILES ||
|
|
33
|
+
state === ClientManagerState.ADD_MODELS_TO_STORE ||
|
|
34
|
+
state === ClientManagerState.ADD_MODELS_TO_DB ||
|
|
35
|
+
state === ClientManagerState.IDLE) {
|
|
36
|
+
return 'ready';
|
|
37
|
+
}
|
|
38
|
+
return state;
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
status,
|
|
42
|
+
internalStatus,
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { useGlobalServiceStatus };
|
|
47
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sources":["../../../../src/browser/react/services.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { ActorRef, InspectedEventEvent } from 'xstate'\nimport { orderBy } from 'lodash-es'\nimport { produce } from 'immer'\nimport { eventEmitter } from '@/eventBus'\nimport pluralize from 'pluralize'\nimport { useSelector } from '@xstate/react'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\nimport { like } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { MachineIds, ClientManagerState } from '@/client/constants'\nimport { getClient } from '@/client/ClientManager'\n\nconst logger = debug('seedSdk:react:services')\n\nconst finalStrings = ['idle', 'ready', 'done', 'success', 'initialized']\n\nexport const getServiceName = (service: ActorRef<any, any>) => {\n let name = 'actor'\n if (service && service.uniqueKey) {\n name = service.uniqueKey\n }\n if (service && !service.uniqueKey && service.logic && service.logic.config) {\n name = getServiceUniqueKey(service)\n }\n return name\n}\n\nexport const getServiceValue = (\n service: ActorRef<any, any>,\n): string | undefined => {\n let value\n if (service && service.getSnapshot() && service.getSnapshot().value) {\n value = service.getSnapshot().value\n }\n if (getServiceName(service) === 'global') {\n if (\n value &&\n typeof value === 'object' &&\n Object.keys(value).length > 0 &&\n Object.keys(value)[0] === 'initialized'\n ) {\n value = 'ready'\n }\n }\n if (value && typeof value === 'object') {\n value = JSON.stringify(value)\n }\n return value\n}\n\nexport const getServiceUniqueKey = (service: ActorRef<any, any>) => {\n if (!service || !service.logic || !service.logic.config || !service._snapshot) {\n return\n }\n const config = service.logic.config\n if (!config.id) {\n return\n }\n let uniqueKey = config.id\n if (config.id.includes('@seedSdk/')) {\n uniqueKey = config.id.match(/^.*@seedSdk\\/(\\w+)[\\.\\w]*/)[1]\n }\n let snapshot\n try {\n snapshot = service.getSnapshot()\n } catch (error) {\n logger('Error:', error)\n return uniqueKey\n }\n if (snapshot) {\n const context = snapshot.context\n if (context && context.dbName) {\n uniqueKey = context.dbName\n }\n if (context && context.modelNamePlural) {\n uniqueKey = context.modelNamePlural\n }\n if (context && context.modelName) {\n uniqueKey = pluralize(context.modelName.toLowerCase())\n }\n }\n return uniqueKey\n}\n\nexport const useService = (service: ActorRef<any, any>) => {\n const [timeElapsed, setTimeElapsed] = useState(0)\n\n const getPercentComplete = (service: ActorRef<any, any>) => {\n let percentComplete = 0\n if (service.logic.states) {\n const stateNames = []\n const startupStates = []\n\n for (const [stateName, state] of Object.entries(service.logic.states)) {\n if (state.tags.includes('loading')) {\n stateNames.push(stateName)\n startupStates.push(state)\n }\n }\n\n const totalStates = startupStates.length\n const value = getServiceValue(service)\n if (finalStrings.includes(value)) {\n return 0\n }\n const stateIndex = stateNames.indexOf(value)\n percentComplete = (stateIndex / totalStates) * 100\n }\n return percentComplete\n }\n\n const updateTime = useCallback(\n (interval) => {\n const context = service.getSnapshot().context\n const status = service.getSnapshot().value\n if (\n status === 'done' ||\n status === 'success' ||\n status === 'idle' ||\n status === 'ready'\n ) {\n clearInterval(interval)\n return\n }\n setTimeElapsed((timeElapsed) => timeElapsed + 1)\n },\n [service],\n )\n\n const startInterval = useCallback(() => {\n const interval = setInterval(() => {\n updateTime(interval)\n }, 1000)\n return interval\n }, [updateTime, service])\n\n useEffect(() => {\n const interval = startInterval()\n return () => clearInterval(interval)\n }, [])\n\n return {\n name: getServiceName(service),\n timeElapsed,\n value: getServiceValue(service),\n percentComplete: getPercentComplete(service),\n uniqueKey: getServiceUniqueKey(service),\n }\n}\n\nexport const useIsDbReady = () => {\n const [isDbReady, setIsDbReady] = useState(false)\n\n const { internalStatus } = useGlobalServiceStatus()\n\n useEffect(() => {\n if (internalStatus === 'ready') {\n setIsDbReady(true)\n }\n }, [internalStatus])\n\n useEffect(() => {\n if (internalStatus === 'ready') {\n setIsDbReady(true)\n }\n }, [])\n \n\n return isDbReady\n}\n\nexport const usePersistedSnapshots = () => {\n const [initialized, setInitialized] = useState(false)\n\n const hasSavedSnapshots = useHasSavedSnapshots()\n\n const { services, percentComplete } = useServices()\n\n // Helper function to save all actor snapshots to the database\n const save = useCallback(async () => {\n for (const actor of services) {\n const uniqueKey = getServiceUniqueKey(actor)\n logger(\n `would save to db with snapshot__${uniqueKey}:`,\n JSON.stringify(actor.getPersistedSnapshot()),\n )\n // await writeAppState(\n // `snapshot__${uniqueKey}`,\n // JSON.stringify(actor.getPersistedSnapshot()),\n // )\n }\n }, [services])\n\n // Helper function to load persisted snapshots from the database\n const load = useCallback(async () => {\n const appDb = BaseDb.getAppDb()\n\n if (!appDb) {\n return []\n }\n\n const persistedSnapshots = await appDb\n .select()\n .from(appState)\n .where(like(appState.key, 'snapshot__%'))\n return persistedSnapshots\n }, [])\n\n useEffect(() => {\n if (!hasSavedSnapshots || initialized) {\n return\n }\n const initialize = async () => {\n const persistedSnapshots = await load()\n logger('persistedSnapshots:', persistedSnapshots)\n setInitialized(true)\n }\n\n initialize()\n\n return () => {\n save() // Save snapshots on unmount\n }\n }, [hasSavedSnapshots, initialized])\n}\n\nexport const useHasSavedSnapshots = () => {\n const [hasSavedSnapshots, setHasSavedSnapshots] = useState(false)\n\n const isDbReady = useIsDbReady()\n\n useEffect(() => {\n if (isDbReady) {\n const _checkForSnapshots = async (): Promise<void> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = await appDb\n .select()\n .from(appState)\n .where(like(appState.key, 'snapshot__%'))\n\n if (rows && rows.length > 0) {\n setHasSavedSnapshots(true)\n }\n }\n\n _checkForSnapshots()\n }\n }, [isDbReady])\n\n return hasSavedSnapshots\n}\n\nexport const useServices = () => {\n const [actors, setActors] = useState<ActorRef<any, any>[]>([])\n const [percentComplete, setPercentComplete] = useState(5)\n\n // Global service removed - now track ClientManager directly\n useEffect(() => {\n const clientManager = getClient()\n const clientService = clientManager.getService()\n \n // Add ClientManager to actors list\n const clientActor = clientService as any\n clientActor.uniqueKey = 'clientManager'\n \n setActors([clientActor])\n \n // Calculate percent complete based on ClientManager state\n const subscription = clientService.subscribe((snapshot) => {\n const state = snapshot.value\n // Calculate completion based on state progression\n let percent = 0\n if (state === ClientManagerState.IDLE) {\n percent = 100\n } else if (state === ClientManagerState.ADD_MODELS_TO_DB) {\n percent = 90\n } else if (state === ClientManagerState.ADD_MODELS_TO_STORE) {\n percent = 80\n } else if (state === ClientManagerState.PROCESS_SCHEMA_FILES) {\n percent = 70\n } else if (state === ClientManagerState.SAVE_CONFIG) {\n percent = 60\n } else if (state === ClientManagerState.DB_INIT) {\n percent = 50\n } else if (state === ClientManagerState.FILE_SYSTEM_INIT) {\n percent = 30\n } else if (state === ClientManagerState.PLATFORM_CLASSES_INIT) {\n percent = 10\n }\n setPercentComplete(percent)\n })\n \n return () => {\n subscription.unsubscribe()\n }\n }, [])\n\n return {\n services: actors,\n percentComplete,\n }\n}\n\nexport const useGlobalServiceStatus = () => {\n const clientManager = getClient()\n const clientService = clientManager.getService()\n\n const status = useSelector(clientService, (snapshot) => {\n return snapshot.value\n })\n\n // Internal service functionality is now part of ClientManager\n // DB is ready when ClientManager reaches DB_INIT or later states\n const internalStatus = useSelector(clientService, (snapshot) => {\n const state = snapshot.value\n if (state === ClientManagerState.DB_INIT || \n state === ClientManagerState.SAVE_CONFIG ||\n state === ClientManagerState.PROCESS_SCHEMA_FILES ||\n state === ClientManagerState.ADD_MODELS_TO_STORE ||\n state === ClientManagerState.ADD_MODELS_TO_DB ||\n state === ClientManagerState.IDLE) {\n return 'ready'\n }\n return state\n })\n\n return {\n status,\n internalStatus,\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAce,KAAK,CAAC,wBAAwB;AAoStC,MAAM,sBAAsB,GAAG,MAAK;AACzC,IAAA,MAAM,aAAa,GAAG,SAAS,EAAE;AACjC,IAAA,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,EAAE;IAEhD,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,KAAI;QACrD,OAAO,QAAQ,CAAC,KAAK;AACvB,IAAA,CAAC,CAAC;;;IAIF,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,KAAI;AAC7D,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK;AAC5B,QAAA,IAAI,KAAK,KAAK,kBAAkB,CAAC,OAAO;YACpC,KAAK,KAAK,kBAAkB,CAAC,WAAW;YACxC,KAAK,KAAK,kBAAkB,CAAC,oBAAoB;YACjD,KAAK,KAAK,kBAAkB,CAAC,mBAAmB;YAChD,KAAK,KAAK,kBAAkB,CAAC,gBAAgB;AAC7C,YAAA,KAAK,KAAK,kBAAkB,CAAC,IAAI,EAAE;AACrC,YAAA,OAAO,OAAO;QAChB;AACA,QAAA,OAAO,KAAK;AACd,IAAA,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,cAAc;KACf;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trash.js","sources":["../../../../src/browser/react/trash.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { Item } from '@/browser/Item/Item'\nimport { eventEmitter } from '@/eventBus'\nimport { deleteItem } from '@/db/write/deleteItem'\n\nexport const useDeleteItem = () => {\n const [isDeletingItem, setIsDeletingItem] = useState(false)\n\n const destroy = useCallback(\n async (item: Item<any>) => {\n if (!item) {\n return\n }\n setIsDeletingItem(true)\n const { modelName } = item.getService().getSnapshot().context\n await deleteItem({ seedLocalId: item.seedLocalId })\n eventEmitter.emit('item.requestAll', { modelName })\n setIsDeletingItem(false)\n },\n [isDeletingItem],\n )\n\n useEffect(() => { }, [])\n\n return {\n deleteItem: destroy,\n isDeletingItem,\n }\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,aAAa,GAAG,MAAK;IAChC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE3D,MAAM,OAAO,GAAG,WAAW,CACzB,OAAO,IAAe,KAAI;QACxB,IAAI,CAAC,IAAI,EAAE;YACT;QACF;QACA,iBAAiB,CAAC,IAAI,CAAC;AACvB,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO;QAC7D,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC;QACnD,iBAAiB,CAAC,KAAK,CAAC;AAC1B,IAAA,CAAC,EACD,CAAC,cAAc,CAAC,CACjB;IAED,SAAS,CAAC,MAAK,EAAG,CAAC,EAAE,EAAE,CAAC;IAExB,OAAO;AACL,QAAA,UAAU,EAAE,OAAO;QACnB,cAAc;KACf;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileDownloader.js","sources":["../../../../src/browser/workers/FileDownloader.ts"],"sourcesContent":["import { saveAppState } from '@/db/write/saveAppState';\nimport filesDownload from './filesDownload.js'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:browser:workers:FileDownloader')\n\nexport class FileDownloader {\n private cores: number\n private workersArchive: Worker[] = []\n private workerBlobUrl: string\n\n constructor() {\n this.cores = Math.min(navigator.hardwareConcurrency || 4, 4);\n\n this.workerBlobUrl = globalThis.URL.createObjectURL(\n new Blob([filesDownload], { type: 'application/javascript' })\n )\n }\n\n public downloadAll = async ({transactionIds, arweaveHost, excludedTransactions}: DownloadAllFilesParams): Promise<void> => {\n\n if (this.workersArchive.length > 0) {\n for (let i = 0; i < this.workersArchive.length; i++) {\n this.workersArchive[i].terminate()\n delete this.workersArchive[i]\n }\n this.workersArchive = []\n }\n\n const worker = new Worker(this.workerBlobUrl);\n\n this.workersArchive.push(worker)\n\n const localExcludedTransactions = new Set(excludedTransactions)\n\n return new Promise((resolve, reject) => {\n worker.onmessage = (e) => {\n logger('filesDownload main thread onmessage', e.data);\n\n if (e.data.message === 'excludeTransaction') {\n localExcludedTransactions.add(e.data.transactionId)\n }\n\n if (e.data.done) {\n saveAppState('excludedTransactions', JSON.stringify(Array.from(localExcludedTransactions)))\n .then(() => {\n resolve(e.data)\n })\n .catch((error) => {\n reject(error)\n })\n }\n if (e.data.error) {\n reject(e.data.error)\n }\n }\n \n worker.postMessage({\n transactionIds,\n arweaveHost,\n debug: logger.enabled,\n });\n })\n }\n}\n"],"names":[],"mappings":";;;;AAIA,MAAM,MAAM,GAAG,KAAK,CAAC,wCAAwC,CAAC;MAEjD,cAAc,CAAA;AAKzB,IAAA,WAAA,GAAA;QAHQ,IAAA,CAAA,cAAc,GAAa,EAAE;QAW9B,IAAA,CAAA,WAAW,GAAG,OAAO,EAAC,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAyB,KAAmB;YAExH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;AAClC,oBAAA,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC/B;AACA,gBAAA,IAAI,CAAC,cAAc,GAAG,EAAE;YAC1B;YAEA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;AAE7C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AAEhC,YAAA,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC;YAE/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,gBAAA,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,KAAI;AACvB,oBAAA,MAAM,CAAC,qCAAqC,EAAE,CAAC,CAAC,IAAI,CAAC;oBAErD,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,oBAAoB,EAAE;wBAC3C,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;oBACrD;AAEA,oBAAA,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;AACf,wBAAA,YAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;6BACzF,IAAI,CAAC,MAAK;AACT,4BAAA,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjB,wBAAA,CAAC;AACA,6BAAA,KAAK,CAAC,CAAC,KAAK,KAAI;4BACf,MAAM,CAAC,KAAK,CAAC;AACf,wBAAA,CAAC,CAAC;oBACJ;AACA,oBAAA,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AAChB,wBAAA,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB;AACF,gBAAA,CAAC;gBAED,MAAM,CAAC,WAAW,CAAC;oBACjB,cAAc;oBACd,WAAW;oBACX,KAAK,EAAE,MAAM,CAAC,OAAO;AACtB,iBAAA,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;AAnDC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CACjD,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAC9D;IACH;AA+CD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageResizer.js","sources":["../../../../src/browser/workers/ImageResizer.ts"],"sourcesContent":["import imageResize from './imageResize'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager';\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:browser:workers:ImageResizer')\n\n\nexport class ImageResizer {\n private cores: number\n private workersArchive: Map<string, Worker> = new Map()\n private workerBlobUrl: string\n\n constructor() {\n this.cores = Math.min(navigator.hardwareConcurrency || 4, 4);\n\n this.workerBlobUrl = globalThis.URL.createObjectURL(\n new Blob([imageResize], { type: 'application/javascript' })\n )\n }\n\n public async resize({filePath, width, height}: ResizeImageParams) {\n \n if (this.workersArchive.has(filePath)) {\n const savedWorker = this.workersArchive.get(filePath)\n savedWorker?.terminate()\n logger('[ImageResizer.resize] Terminated worker for filePath due to incoming request', filePath)\n this.workersArchive.delete(filePath)\n }\n\n const worker = new Worker(this.workerBlobUrl);\n\n this.workersArchive.set(filePath, worker)\n\n return new Promise((resolve, reject) => {\n worker.onmessage = (e) => {\n logger('[ImageResizer.resize] main thread onmessage', e.data);\n if (e.data.done) {\n const savedWorker = this.workersArchive.get(filePath)\n savedWorker?.terminate()\n logger('[ImageResizer.resize] Terminated worker for filePath due to done', filePath)\n this.workersArchive.delete(filePath)\n resolve(e.data)\n }\n\n if (e.data.error) {\n reject(e.data.error)\n }\n }\n \n worker.postMessage({\n filePath,\n width,\n height,\n debug: logger.enabled,\n });\n })\n }\n\n public async resizeAll({width, height}: ResizeAllImagesParams) {\n\n const fs = await BaseFileManager.getFs()\n\n const imageDir = '/files/images'\n let imageFilesStats = await fs.promises.readdir(imageDir, {\n withFileTypes: true\n })\n\n imageFilesStats = imageFilesStats.filter(file => file.isFile())\n\n const imageFiles = imageFilesStats.map(file => file.path)\n\n const widthDir = `${imageDir}/${width}`\n\n await BaseFileManager.createDirIfNotExists(widthDir)\n\n for (const imageFile of imageFiles) {\n const resizedImageExists = await BaseFileManager.pathExists(`${widthDir}/${imageFile}`)\n if (!resizedImageExists) {\n await this.resize({filePath: `${imageDir}/${imageFile}`, width, height})\n }\n }\n\n \n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesDownload.js","sources":["../../../../src/browser/workers/filesDownload.ts"],"sourcesContent":["export default `(\n ${\n function () {\n\nconst identifyString = (str: string) => {\n try {\n JSON.parse(str)\n return 'json'\n } catch (e) {\n // Not JSON\n }\n\n if (!str) {\n return\n }\n\n if (str.trim().startsWith('<') && str.trim().endsWith('>')) {\n return 'html'\n }\n\n // Simple markdown checks (very naive)\n if (/^#{1,6}\\s|^-{3,}|\\*{3,}|^-{1,2}\\s|\\*\\s/.test(str)) {\n return 'markdown'\n }\n\n if (/^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/.test(str)) {\n return 'base64'\n }\n\n // Default to plain text if unsure\n return 'text'\n}\n\nconst getMimeType = (base64: string) => {\n if (!base64) {\n return null\n }\n const result = base64.match(/^data:([a-zA-Z0-9]+\\/[a-zA-Z0-9-.+]+).*,/)\n\n if (result && result.length > 1) {\n return result[1]\n } else {\n return null // MIME type could not be determined\n }\n}\n\nconst getDataTypeFromString = (\n data: string,\n): 'imageBase64' | 'base64' | 'url' | null => {\n const nonImageBase64Regex =\n /^(?!data:image\\/(?:jpeg|png|gif|bmp|webp);base64,)[A-Za-z0-9+/=]+$/\n\n if (nonImageBase64Regex.test(data)) {\n return 'base64'\n }\n\n // Regular expression for base64 (simple version, checking for base64 format)\n const imageBase64Regex = /^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/\n\n if (imageBase64Regex.test(data)) {\n return 'imageBase64'\n }\n\n // Regular expression for URL (simple version, checking for common URL format)\n const urlRegex =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n if (urlRegex.test(data)) {\n return 'url'\n }\n\n return null\n}\n\nconst isBinary = (arrayBuffer: ArrayBuffer): boolean => {\n const view = new Uint8Array(arrayBuffer);\n\n let nonTextCount = 0;\n const threshold = 0.2; // Adjust as needed (e.g., 20% non-text implies binary)\n\n for (let i = 0; i < view.length; i++) {\n const byte = view[i];\n\n // ASCII printable characters (32-126) and common whitespace (9, 10, 13)\n if (\n (byte >= 32 && byte <= 126) || // Printable ASCII\n byte === 9 || byte === 10 || byte === 13 // Tab, LF, CR\n ) {\n continue;\n }\n\n nonTextCount++;\n if (nonTextCount / view.length > threshold) {\n return true; // More than threshold are non-text bytes\n }\n }\n\n return false; // Fewer than threshold are non-text bytes\n}\n\nconst saveBufferToOPFS = async (filePath: string, buffer: Uint8Array): Promise<void> => {\n // Access the OPFS root directory\n const rootHandle = await navigator.storage.getDirectory();\n\n // Split the filePath into directory segments and file name\n const segments = filePath.split('/').filter(Boolean);\n const fileName = segments.pop(); // Extract the file name\n if (!fileName) {\n throw new Error('Invalid file path: No file name provided.');\n }\n\n // Traverse or create directories as needed\n let currentDirHandle = rootHandle;\n for (const segment of segments) {\n currentDirHandle = await currentDirHandle.getDirectoryHandle(segment, { create: true });\n }\n\n // Create or open the file in OPFS\n const fileHandleAsync = await currentDirHandle.getFileHandle(fileName, { create: true });\n const fileHandle = await fileHandleAsync.createSyncAccessHandle();\n // Write the buffer to the file\n fileHandle.write(buffer);\n fileHandle.flush();\n fileHandle.close();\n}\n\nconst downloadFiles = async ({\n transactionIds,\n arweaveHost,\n}: {\n transactionIds: string[],\n arweaveHost: string,\n}) => {\n\n let arrayBuffer: ArrayBuffer | undefined\n\n for (const transactionId of transactionIds) {\n try {\n const response = await fetch(`https://${arweaveHost}/raw/${transactionId}`);\n\n arrayBuffer = await response.arrayBuffer();\n } catch(error) {\n console.log(`[filesDownload] transaction ${transactionId} data not found`, error)\n globalThis.postMessage({\n message: 'excludeTransaction',\n transactionId,\n })\n continue\n }\n\n let dataString\n const isBinaryData = isBinary(arrayBuffer)\n\n if (!isBinaryData) {\n const decoder = new TextDecoder('utf-8')\n const text = decoder.decode(arrayBuffer)\n dataString = text\n }\n\n if (!dataString && !arrayBuffer) {\n console.log(\n `[filesDownload] transaction ${transactionId} data not found`,\n )\n }\n\n if (dataString && dataString.startsWith('===FILE_SEPARATOR===')) {\n const dataStringParts = dataString\n .split('===FILE_SEPARATOR===')\n .slice(1)\n\n if (dataStringParts.length % 2 !== 0) {\n throw new Error('Input array must have an even number of elements.')\n }\n\n for (let i = 0; i < dataStringParts.length; i += 2) {\n const contentType = dataStringParts[i]\n const content = dataStringParts[i + 1]\n const encoder = new TextEncoder()\n if (contentType === 'html') {\n const fileName = `${transactionId}.html`\n const buffer = encoder.encode(content)\n saveBufferToOPFS(`/files/html/${fileName}`, buffer)\n }\n if (contentType === 'json') {\n const fileName = `${transactionId}.json`\n const buffer = encoder.encode(content)\n saveBufferToOPFS(`/files/json/${fileName}`, buffer)\n }\n }\n\n continue\n }\n\n if (!dataString && arrayBuffer) {\n saveBufferToOPFS(\n `/files/images/${transactionId}`,\n new Uint8Array(arrayBuffer),\n )\n continue\n }\n\n if (!dataString) {\n continue\n }\n\n let contentType = identifyString(dataString)\n\n if (\n contentType !== 'json' &&\n contentType !== 'base64' &&\n contentType !== 'html'\n ) {\n const possibleImageType = getDataTypeFromString(dataString)\n if (!possibleImageType) {\n console.log(\n `[filesDownload] transaction ${transactionId} data not in expected format: ${possibleImageType}`,\n )\n continue\n }\n\n contentType = possibleImageType\n }\n\n if (contentType === 'url') {\n const url = dataString as string\n\n let buffer: ArrayBuffer | undefined\n\n try {\n const response = await fetch(url)\n \n buffer = await response.arrayBuffer()\n\n } catch(error) {\n console.log(`[filesDownload] transaction ${transactionId} value was url: ${dataString} but failed to fetch`, error)\n globalThis.postMessage({\n message: 'excludeTransaction',\n transactionId,\n })\n continue\n }\n\n const bufferUint8Array = new Uint8Array(buffer)\n\n // Extract the file extension from the URL\n const extensionMatch = url.match(/\\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i)\n if (!extensionMatch) {\n throw new Error(\n 'Unable to determine the file extension from the URL.',\n )\n }\n const fileExtension = extensionMatch[0] // e.g., \".jpg\"\n\n // Set the file name (you can customize this)\n // const fileNameFromUrl = `${transactionId}${fileExtension}`\n\n await saveBufferToOPFS(\n `/files/images/${transactionId}`,\n bufferUint8Array,\n )\n\n continue\n }\n\n const mimeType = getMimeType(dataString as string)\n let fileExtension = mimeType\n\n if (fileExtension && fileExtension?.startsWith('image')) {\n fileExtension = fileExtension.replace('image/', '')\n }\n\n let fileName = transactionId\n\n if (contentType === 'base64') {\n if (fileExtension) {\n fileName += `.${fileExtension}`\n }\n\n // Remove the Base64 header if it exists (e.g., \"data:image/png;base64,\")\n const base64Data = dataString.split(',').pop() || ''\n\n // Decode the Base64 string to binary\n const binaryString = atob(base64Data)\n const length = binaryString.length\n const binaryData = new Uint8Array(length)\n\n for (let i = 0; i < length; i++) {\n binaryData[i] = binaryString.charCodeAt(i)\n }\n\n await saveBufferToOPFS(`/files/images/${fileName}`, binaryData)\n\n }\n\n if (contentType === 'html') {\n fileName += '.html'\n const encoder = new TextEncoder()\n const buffer = encoder.encode(dataString)\n await saveBufferToOPFS(`/files/html/${fileName}`, buffer)\n }\n\n if (contentType === 'json') {\n fileName += '.json'\n const encoder = new TextEncoder()\n const buffer = encoder.encode(dataString)\n await saveBufferToOPFS(`/files/json/${fileName}`, buffer)\n }\n }\n}\n\nonmessage = async (e) => {\n const { debug } = e.data\n if (!debug) {\n console.log = () => {}\n }\n console.log({\n message: 'filesDownload onmessage',\n data: e.data,\n })\n await downloadFiles(e.data);\n globalThis.postMessage({\n message: 'filesDownload onmessage done',\n done: true,\n })\n \n}\n}.toString()\n}\n)()`"],"names":[],"mappings":"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"}
|