@seedprotocol/sdk 0.7.0 → 0.7.2-next.593.gd5bd4ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BasePathResolver-ndE8XTpw.js → BasePathResolver-BdxCSIzn.js} +2 -2
- package/dist/{BasePathResolver-ndE8XTpw.js.map → BasePathResolver-BdxCSIzn.js.map} +1 -1
- package/dist/{ClientManager-DLleL_2e.js → ClientManager-ClCwwhwo.js} +28 -23
- package/dist/ClientManager-ClCwwhwo.js.map +1 -0
- package/dist/{Item-zBFWQDU9.js → Item-B9Y4VuK1.js} +140 -74
- package/dist/Item-B9Y4VuK1.js.map +1 -0
- package/dist/{ModelProperty-lth9L37R.js → ModelProperty-BMePcicQ.js} +64 -36
- package/dist/ModelProperty-BMePcicQ.js.map +1 -0
- package/dist/{Schema-DOhlrQ-N.js → Schema-COsEXXaR.js} +106 -58
- package/dist/Schema-COsEXXaR.js.map +1 -0
- package/dist/{SchemaValidationService-DDKr5piy.js → SchemaValidationService-DabGMzSE.js} +7 -8
- package/dist/{SchemaValidationService-DDKr5piy.js.map → SchemaValidationService-DabGMzSE.js.map} +1 -1
- package/dist/{backfillMetadataPropertyIds-fG3ujaSh.js → backfillMetadataPropertyIds-Ck6fumnm.js} +4 -4
- package/dist/{backfillMetadataPropertyIds-fG3ujaSh.js.map → backfillMetadataPropertyIds-Ck6fumnm.js.map} +1 -1
- package/dist/cjs/{ModelProperty-BEsIHAjk.js → ModelProperty-BT6Un_MB.js} +59 -30
- package/dist/cjs/ModelProperty-BT6Un_MB.js.map +1 -0
- package/dist/cjs/{Schema-qEp5mH1N.js → Schema-BXhXdUsA.js} +93 -44
- package/dist/cjs/Schema-BXhXdUsA.js.map +1 -0
- package/dist/cjs/{SchemaValidationService-CWEnZmOH.js → SchemaValidationService-CC18QDfc.js} +2 -2
- package/dist/cjs/{SchemaValidationService-CWEnZmOH.js.map → SchemaValidationService-CC18QDfc.js.map} +1 -1
- package/dist/cjs/{backfillMetadataPropertyIds-tw8JGMT0.js → backfillMetadataPropertyIds-DEHC9ejq.js} +3 -3
- package/dist/cjs/{backfillMetadataPropertyIds-tw8JGMT0.js.map → backfillMetadataPropertyIds-DEHC9ejq.js.map} +1 -1
- package/dist/cjs/{eas-CLiV2Hmn.js → eas-C3CL0l7l.js} +3 -3
- package/dist/cjs/{eas-CLiV2Hmn.js.map → eas-C3CL0l7l.js.map} +1 -1
- package/dist/cjs/{getItem-DSRtx_68.js → getItem-CrwWYCkj.js} +2 -2
- package/dist/cjs/{getItem-DSRtx_68.js.map → getItem-CrwWYCkj.js.map} +1 -1
- package/dist/cjs/{getPublishPayload-D5-dYtNq.js → getPublishPayload-DRJh7WR0.js} +171 -209
- package/dist/cjs/getPublishPayload-DRJh7WR0.js.map +1 -0
- package/dist/cjs/{getPublishUploads-B5Lq6q-_.js → getPublishUploads-Bh22D3zJ.js} +49 -10
- package/dist/cjs/getPublishUploads-Bh22D3zJ.js.map +1 -0
- package/dist/cjs/{index-B3UDbm1C.js → index-BA1RIYFG.js} +3 -3
- package/dist/cjs/index-BA1RIYFG.js.map +1 -0
- package/dist/cjs/{index-C66AfYDG.js → index-Dls7aMjr.js} +281 -90
- package/dist/cjs/index-Dls7aMjr.js.map +1 -0
- package/dist/cjs/{property-BVJIP7SX.js → property-ZerTWizX.js} +5 -5
- package/dist/cjs/{property-BVJIP7SX.js.map → property-ZerTWizX.js.map} +1 -1
- package/dist/cjs/publishDraftGraph-CPOAcQFf.js +403 -0
- package/dist/cjs/publishDraftGraph-CPOAcQFf.js.map +1 -0
- package/dist/cjs/{resetAmbiguousLegacyItemData-BaZqUui9.js → resetAmbiguousLegacyItemData-adDl4LcT.js} +2 -2
- package/dist/cjs/{resetAmbiguousLegacyItemData-BaZqUui9.js.map → resetAmbiguousLegacyItemData-adDl4LcT.js.map} +1 -1
- package/dist/cjs/{resolveModelForSyncedSeed-CC6dQctx.js → resolveModelForSyncedSeed-DoNThPdL.js} +2 -2
- package/dist/cjs/{resolveModelForSyncedSeed-CC6dQctx.js.map → resolveModelForSyncedSeed-DoNThPdL.js.map} +1 -1
- package/dist/cjs/{syncDbWithEas-Dk96sAG-.js → syncDbWithEas-CYfPkus9.js} +20 -7
- package/dist/cjs/{syncDbWithEas-Dk96sAG-.js.map → syncDbWithEas-CYfPkus9.js.map} +1 -1
- package/dist/{configurePlatform-BMoPG9vY.js → configurePlatform-xU3Hsno3.js} +4 -4
- package/dist/{configurePlatform-BMoPG9vY.js.map → configurePlatform-xU3Hsno3.js.map} +1 -1
- package/dist/{db-BJZN0a0a.js → db-W1g29qsM.js} +31 -27
- package/dist/{db-BJZN0a0a.js.map → db-W1g29qsM.js.map} +1 -1
- package/dist/{eas-B0hsMLqt.js → eas-CSwV6MvB.js} +6 -6
- package/dist/{eas-B0hsMLqt.js.map → eas-CSwV6MvB.js.map} +1 -1
- package/dist/{getItem-DEh4WfHG.js → getItem-BYQeM3DY.js} +5 -6
- package/dist/{getItem-DEh4WfHG.js.map → getItem-BYQeM3DY.js.map} +1 -1
- package/dist/{getPublishPayload-H032DHC7.js → getPublishPayload-D5CQZd-y.js} +167 -206
- package/dist/getPublishPayload-D5CQZd-y.js.map +1 -0
- package/dist/{getPublishUploads-CR66RlGJ.js → getPublishUploads-BGpDsrBp.js} +52 -14
- package/dist/getPublishUploads-BGpDsrBp.js.map +1 -0
- package/dist/{index-6bJuv5Tt.js → index-Bev-hZF-.js} +9 -10
- package/dist/index-Bev-hZF-.js.map +1 -0
- package/dist/{index-B0LgJblD.js → index-CSOQFAOn.js} +2 -2
- package/dist/index-CSOQFAOn.js.map +1 -0
- package/dist/{index-DtfjeuxC.js → index-DRXC5Mra.js} +167 -75
- package/dist/index-DRXC5Mra.js.map +1 -0
- package/dist/{index.browser-CNrqhvEA.js → index.browser-DO20vYuP.js} +9 -9
- package/dist/{index.browser-CNrqhvEA.js.map → index.browser-DO20vYuP.js.map} +1 -1
- package/dist/{index.node-DrHiTuOr.js → index.node-C4iyOhdo.js} +5 -5
- package/dist/{index.node-DrHiTuOr.js.map → index.node-C4iyOhdo.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +258 -183
- package/dist/main.js.map +1 -1
- package/dist/node.js +14 -15
- package/dist/node.js.map +1 -1
- package/dist/platform.browser.js +5 -5
- package/dist/platform.node.js +3 -3
- package/dist/{property-D2Nnsmm1.js → property-BT1zDSkd.js} +10 -11
- package/dist/property-BT1zDSkd.js.map +1 -0
- package/dist/publishDraftGraph-Bcfrdj7-.js +405 -0
- package/dist/publishDraftGraph-Bcfrdj7-.js.map +1 -0
- package/dist/{resetAmbiguousLegacyItemData-BqbHNUYk.js → resetAmbiguousLegacyItemData-Ci6PM_vC.js} +2 -2
- package/dist/{resetAmbiguousLegacyItemData-BqbHNUYk.js.map → resetAmbiguousLegacyItemData-Ci6PM_vC.js.map} +1 -1
- package/dist/{resolveModelForSyncedSeed-DQK6JfXS.js → resolveModelForSyncedSeed-CLlumTBq.js} +2 -2
- package/dist/{resolveModelForSyncedSeed-DQK6JfXS.js.map → resolveModelForSyncedSeed-CLlumTBq.js.map} +1 -1
- package/dist/src/Item/Item.d.ts +11 -0
- package/dist/src/Item/Item.d.ts.map +1 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +10 -0
- package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -1
- package/dist/src/Model/Model.d.ts +15 -2
- package/dist/src/Model/Model.d.ts.map +1 -1
- package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -1
- package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +1 -1
- package/dist/src/Model/service/actors/validateModel.d.ts.map +1 -1
- package/dist/src/Model/service/modelMachine.d.ts.map +1 -1
- package/dist/src/ModelProperty/ModelProperty.d.ts +9 -1
- package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -1
- package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -1
- package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -1
- package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +1 -1
- package/dist/src/Schema/Schema.d.ts +7 -0
- package/dist/src/Schema/Schema.d.ts.map +1 -1
- package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +1 -1
- package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +1 -1
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -1
- package/dist/src/db/read/getPublishPayload.d.ts +9 -0
- package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.d.ts +5 -0
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/publishDraftGraph.d.ts +57 -0
- package/dist/src/db/read/publishDraftGraph.d.ts.map +1 -0
- package/dist/src/db/read/summarizePublishWork.d.ts.map +1 -1
- package/dist/src/helpers/entity/entityLiveQuery.d.ts.map +1 -1
- package/dist/src/helpers/entity/evictionEpoch.d.ts +18 -0
- package/dist/src/helpers/entity/evictionEpoch.d.ts.map +1 -0
- package/dist/src/helpers/generateId.d.ts +4 -0
- package/dist/src/helpers/generateId.d.ts.map +1 -1
- package/dist/src/helpers/htmlEmbeddedDataUriPublish.d.ts +28 -6
- package/dist/src/helpers/htmlEmbeddedDataUriPublish.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/query/createLocalQueryDataSource.d.ts.map +1 -1
- package/dist/src/services/write/actors/validateEntity.d.ts.map +1 -1
- package/dist/src/types/item.d.ts +7 -8
- package/dist/src/types/item.d.ts.map +1 -1
- package/dist/{syncDbWithEas-LRKr_NZF.js → syncDbWithEas-BQsXjGhe.js} +15 -16
- package/dist/syncDbWithEas-BQsXjGhe.js.map +1 -0
- package/dist/{tabEvents-DYI2GU7i.js → tabEvents-C9qUKx_z.js} +28 -11
- package/dist/tabEvents-C9qUKx_z.js.map +1 -0
- package/dist/{tolerantWebAccess-CzOBz5M6.js → tolerantWebAccess-B-9bwxbw.js} +6 -6
- package/dist/{tolerantWebAccess-CzOBz5M6.js.map → tolerantWebAccess-B-9bwxbw.js.map} +1 -1
- package/dist/{updateSeedRevokedAt-B58ORbY3.js → updateSeedRevokedAt-D6q0h7pj.js} +3 -3
- package/dist/{updateSeedRevokedAt-B58ORbY3.js.map → updateSeedRevokedAt-D6q0h7pj.js.map} +1 -1
- package/package.json +13 -10
- package/dist/ClientManager-DLleL_2e.js.map +0 -1
- package/dist/Item-zBFWQDU9.js.map +0 -1
- package/dist/ModelProperty-lth9L37R.js.map +0 -1
- package/dist/Schema-DOhlrQ-N.js.map +0 -1
- package/dist/cjs/ModelProperty-BEsIHAjk.js.map +0 -1
- package/dist/cjs/Schema-qEp5mH1N.js.map +0 -1
- package/dist/cjs/getLatestVersionRow-DVizNNoI.js +0 -59
- package/dist/cjs/getLatestVersionRow-DVizNNoI.js.map +0 -1
- package/dist/cjs/getPublishPayload-D5-dYtNq.js.map +0 -1
- package/dist/cjs/getPublishUploads-B5Lq6q-_.js.map +0 -1
- package/dist/cjs/getSegmentedItemProperties-giHO7R3d.js +0 -147
- package/dist/cjs/getSegmentedItemProperties-giHO7R3d.js.map +0 -1
- package/dist/cjs/index-B3UDbm1C.js.map +0 -1
- package/dist/cjs/index-C66AfYDG.js.map +0 -1
- package/dist/generateId-BopUwD8F.js +0 -9
- package/dist/generateId-BopUwD8F.js.map +0 -1
- package/dist/getLatestVersionRow-Brrl1AnW.js +0 -46
- package/dist/getLatestVersionRow-Brrl1AnW.js.map +0 -1
- package/dist/getPublishPayload-H032DHC7.js.map +0 -1
- package/dist/getPublishUploads-CR66RlGJ.js.map +0 -1
- package/dist/getSegmentedItemProperties-C2EJ2G0N.js +0 -147
- package/dist/getSegmentedItemProperties-C2EJ2G0N.js.map +0 -1
- package/dist/index-6bJuv5Tt.js.map +0 -1
- package/dist/index-B0LgJblD.js.map +0 -1
- package/dist/index-DtfjeuxC.js.map +0 -1
- package/dist/property-D2Nnsmm1.js.map +0 -1
- package/dist/src/browser/helpers/index.d.ts +0 -4
- package/dist/src/browser/helpers/index.d.ts.map +0 -1
- package/dist/syncDbWithEas-LRKr_NZF.js.map +0 -1
- package/dist/tabEvents-DYI2GU7i.js.map +0 -1
|
@@ -675,5 +675,5 @@ class BasePathResolver {
|
|
|
675
675
|
}
|
|
676
676
|
BasePathResolver._impl = null;
|
|
677
677
|
|
|
678
|
-
export {
|
|
679
|
-
//# sourceMappingURL=BasePathResolver-
|
|
678
|
+
export { SEED_CONFIG_FALLBACKS as A, BaseFileManager as B, INTERNAL_STORAGE_MODEL_FILE_IDS as C, ImageSize as D, EAS_SEED_DATA_SYNCED_TO_DB_EVENT as E, SEED_PROTOCOL_SCHEMA_NAME as F, SeedModels as G, VERSION_SCHEMA_DEF as H, INTERNAL_PROPERTY_NAMES as I, VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA as J, isInternalSchema as K, INTERNAL_SCHEMA_IDS as L, CLIENT_NOT_INITIALIZED as M, ModelSchema as N, BaseFileManager$1 as O, PROPERTY_NAMES_EXEMPT_FROM_ID_SUFFIX_STRIP as P, SchemaSchema as Q, ModelSchemaSchema as R, SCHEMA_TS as S, VERSION_SCHEMA_UID as V, ZERO_BYTES32 as Z, BaseDb as a, appState as b, arweaveL1FinalizeJobs as c, config as d, easSyncProcesses as e, modelRelations as f, modelSchemas as g, htmlEmbeddedImageCoPublish as h, modelUids as i, models as j, modelsRelations as k, propertiesRelations as l, metadata as m, propertyUidRelations as n, propertyUids as o, properties as p, publishProcesses as q, seeds as r, schemas as s, BasePathResolver as t, uploadProcesses as u, versions as v, defaultAttestationData as w, INTERNAL_DATA_TYPES as x, INIT_SCRIPT_SUCCESS_MESSAGE as y, SEED_CONFIG_FILE as z };
|
|
679
|
+
//# sourceMappingURL=BasePathResolver-BdxCSIzn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePathResolver-ndE8XTpw.js","sources":["../../src/db/Db/BaseDb.ts","../../src/seedSchema/ModelSchema.ts","../../src/helpers/FileManager/BaseFileManager.ts","../../src/seedSchema/SeedSchema.ts","../../src/seedSchema/VersionSchema.ts","../../src/seedSchema/MetadataSchema.ts","../../src/seedSchema/AppStateSchema.ts","../../src/seedSchema/ModelUidSchema.ts","../../src/seedSchema/PropertyUidSchema.ts","../../src/seedSchema/ConfigSchema.ts","../../src/seedSchema/SchemaSchema.ts","../../src/seedSchema/ModelSchemaSchema.ts","../../src/seedSchema/PublishProcessSchema.ts","../../src/seedSchema/UploadProcessSchema.ts","../../src/seedSchema/ArweaveL1FinalizeSchema.ts","../../src/seedSchema/EasSyncProcessSchema.ts","../../src/seedSchema/HtmlEmbeddedImageCoPublishSchema.ts","../../src/helpers/constants.ts","../../src/testing/platformTestHandle.ts","../../src/helpers/PathResolver/BasePathResolver.ts"],"sourcesContent":["import type { IDb } from '@/interfaces/IDb'\nimport { Observable } from 'rxjs'\n\nexport abstract class BaseDb {\n static filesDir: string | undefined\n private static _impl: IDb | null = null\n\n static configure(impl: IDb): void {\n if (!impl) {\n throw new Error(\n 'Cannot configure Db with undefined or null. Ensure the platform-specific Db is properly created.',\n )\n }\n BaseDb._impl = impl\n }\n\n private static requireImpl(): IDb {\n if (!BaseDb._impl) {\n throw new Error(\n 'Db not configured. Call BaseDb.configure() during platform init.',\n )\n }\n return BaseDb._impl\n }\n\n static getAppDb(): any {\n return BaseDb.requireImpl().getAppDb()\n }\n\n static prepareDb(filesDir: string, config?: any): Promise<any> {\n return BaseDb.requireImpl().prepareDb(filesDir, config)\n }\n\n static isAppDbReady(): boolean {\n if (!BaseDb._impl) {\n return false\n }\n return BaseDb._impl.isAppDbReady()\n }\n\n static connectToDb(pathToDir: string): Promise<unknown> {\n return BaseDb.requireImpl().connectToDb(pathToDir)\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n return BaseDb.requireImpl().migrate(pathToDbDir, dbName, dbId)\n }\n\n /**\n * Execute a reactive query that emits new results whenever the underlying data changes.\n *\n * Supports two usage patterns:\n * 1. SQL tag function: liveQuery((sql) => sql`SELECT * FROM models`)\n * 2. Drizzle query builder (browser only): liveQuery(db.select().from(models))\n */\n static liveQuery<T>(query: ((sql: any) => any) | any): Observable<T[]> {\n return BaseDb.requireImpl().liveQuery<T>(query)\n }\n}\n","import { integer, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { InferInsertModel, InferSelectModel } from 'drizzle-orm'\n\n\nexport const models = sqliteTable(\n 'models',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n schemaFileId: text('schema_file_id'), // ID from JSON file for change tracking - must be unique\n isEdited: integer('is_edited', { mode: 'boolean' }), // true if model has been edited locally, false if matches schema file\n },\n (table) => {\n return {\n uniqueSchemaFileId: unique('unique_schema_file_id').on(table.schemaFileId),\n }\n }\n)\n\nexport const modelsRelations = relations(models, ({ many }) => ({\n properties: many(properties),\n}))\n\nexport type NewModelRecord = typeof models.$inferInsert\nexport type ModelRecordType = typeof models.$inferSelect\n\nexport const properties = sqliteTable(\n 'properties',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n dataType: text('data_type').notNull(),\n modelId: integer('model_id')\n .notNull()\n .references(() => models.id),\n refModelId: integer('ref_model_id').references(() => models.id),\n refValueType: text('ref_value_type'),\n schemaFileId: text('schema_file_id'), // ID from JSON file for change tracking\n isEdited: integer('is_edited', { mode: 'boolean' }), // true if property has been edited locally, false if matches schema file\n required: integer('required', { mode: 'boolean' }), // true if relation/image property is required (publish fails when related item not found)\n // Storage settings from the schema file's `storage: { type, path, extension }`, in the internal\n // shape ModelProperty uses. Null when the property has no storage config.\n storageType: text('storage_type'), // 'ItemStorage' | 'PropertyStorage'\n localStorageDir: text('local_storage_dir'), // storage.path, e.g. '/html'\n filenameSuffix: text('filename_suffix'), // storage.extension, e.g. '.html'\n },\n (table) => {\n return {\n uniqueNameModelId: unique('unique_name_model_id').on(\n table.name,\n table.modelId,\n ),\n uniqueSchemaFileId: unique('unique_property_schema_file_id').on(table.schemaFileId),\n }\n },\n)\n\nexport const propertiesRelations = relations(properties, ({ one }) => ({\n model: one(models),\n refModel: one(models),\n}))\n\nexport type NewPropertyRecord = InferInsertModel<typeof properties>\nexport type PropertyType = InferSelectModel<typeof properties>\n","import type {\n DownloadAllFilesParams,\n DownloadSingleFileParams,\n IFileManager,\n ResizeAllImagesParams,\n ResizeImageParams,\n} from './IFileManager'\n\nexport abstract class BaseFileManager {\n private static fileSystemInitialized = false\n private static initializing = false\n private static workingDir: string | undefined\n private static _impl: IFileManager | null = null\n private static initializePromise: Promise<void> | null = null\n\n static configure(impl: IFileManager): void {\n if (!impl) {\n throw new Error(\n 'Cannot configure FileManager with undefined or null. Ensure the platform-specific FileManager is properly created.',\n )\n }\n BaseFileManager._impl = impl\n }\n\n private static requireImpl(): IFileManager {\n if (!BaseFileManager._impl) {\n throw new Error(\n 'FileManager not configured. Call BaseFileManager.configure() during platform init.',\n )\n }\n return BaseFileManager._impl\n }\n\n /**\n * Clears FS init flags so a later call can retry. Used after a failed init\n * and by tests. Does not unmount or delete any files.\n */\n static resetInitializationState(): void {\n this.fileSystemInitialized = false\n this.initializing = false\n this.initializePromise = null\n this.workingDir = undefined\n }\n\n static initializeFileSystem(workingDir?: string): Promise<void> {\n if (this.fileSystemInitialized) {\n return Promise.resolve()\n }\n if (this.initializePromise) {\n return this.initializePromise\n }\n\n this.initializing = true\n const pending = this.runInitializeFileSystem(workingDir).finally(() => {\n this.initializing = false\n if (this.initializePromise === pending) {\n this.initializePromise = null\n }\n })\n this.initializePromise = pending\n return pending\n }\n\n private static async runInitializeFileSystem(workingDir?: string): Promise<void> {\n await BaseFileManager.requireImpl().initializeFileSystem(workingDir)\n this.fileSystemInitialized = true\n this.workingDir = workingDir\n }\n\n static getWorkingDir(): string {\n if (!this.workingDir) {\n throw new Error('Working directory is not set')\n }\n return this.workingDir\n }\n\n /**\n * Build a path under the configured files root (e.g. /app-files).\n * Use this instead of hardcoding /files/ for images, html, json, etc.\n * @param subpaths - path segments to join (e.g. 'images', fileName)\n * @returns full path like /app-files/images/egg.jpg\n */\n static getFilesPath(...subpaths: string[]): string {\n const root = this.getWorkingDir().replace(/\\/$/, '')\n const parts = [root, ...subpaths].filter(Boolean)\n return parts.join('/').replace(/\\/+/g, '/')\n }\n\n static getContentUrlFromPath(path: string): Promise<string | undefined> {\n return BaseFileManager.requireImpl().getContentUrlFromPath(path)\n }\n\n static downloadAllFiles({\n transactionIds,\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n }: DownloadAllFilesParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds,\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n })\n }\n\n static downloadFileByTransactionId({\n transactionId,\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n }: DownloadSingleFileParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds: [transactionId],\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n })\n }\n\n static resizeImage({ filePath, width, height }: ResizeImageParams): Promise<void> {\n return BaseFileManager.requireImpl().resizeImage({ filePath, width, height })\n }\n\n static resizeAllImages({ width, height }: ResizeAllImagesParams): Promise<void> {\n return BaseFileManager.requireImpl().resizeAllImages({ width, height })\n }\n\n static pathExists(filePath: string): Promise<boolean> {\n return BaseFileManager.requireImpl().pathExists(filePath)\n }\n\n static invalidateCachedPaths(filePaths: string[]): Promise<void> {\n return BaseFileManager.requireImpl().invalidateCachedPaths(filePaths)\n }\n\n /** File size in bytes, or null if the path does not exist / cannot be stated. */\n static getFileSize(filePath: string): Promise<number | null> {\n return BaseFileManager.requireImpl().getFileSize(filePath)\n }\n\n /**\n * Returns a list of filenames in the given directory (e.g. 'images', 'files').\n */\n static listFiles(dir: string): Promise<string[]> {\n return BaseFileManager.requireImpl().listFiles(dir)\n }\n\n /**\n * Returns a list of image filenames in the images folder (originals only, excludes size subdirs).\n * Use this to get all stored images without traversing 480/760/1024/1440/1920 subdirectories.\n */\n static listImageFiles(): Promise<string[]> {\n return this.listFiles('images')\n }\n\n static createDirIfNotExists(filePath: string): Promise<void> {\n return BaseFileManager.requireImpl().createDirIfNotExists(filePath)\n }\n\n static async waitForFile(filePath: string): Promise<boolean> {\n return BaseFileManager.requireImpl().waitForFile(filePath)\n }\n\n static async waitForFileWithContent(\n filePath: string,\n interval?: number,\n timeout?: number,\n ): Promise<boolean> {\n return BaseFileManager.requireImpl().waitForFileWithContent(filePath, interval, timeout)\n }\n\n static async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n return BaseFileManager.requireImpl().saveFile(filePath, content)\n }\n\n static saveFileSync(filePath: string, content: string | Blob | ArrayBuffer): void {\n return BaseFileManager.requireImpl().saveFileSync(filePath, content)\n }\n\n static async readFile(filePath: string): Promise<File> {\n return BaseFileManager.requireImpl().readFile(filePath)\n }\n\n static readFileSync(filePath: string): File {\n return BaseFileManager.requireImpl().readFileSync(filePath)\n }\n\n static async readFileAsBuffer(filePath: string): Promise<Buffer | Blob> {\n return BaseFileManager.requireImpl().readFileAsBuffer(filePath)\n }\n\n static async readFileAsString(filePath: string): Promise<string> {\n return BaseFileManager.requireImpl().readFileAsString(filePath)\n }\n\n static async getFs(): Promise<any> {\n return BaseFileManager.requireImpl().getFs()\n }\n\n static getFsSync(): any {\n return BaseFileManager.requireImpl().getFsSync()\n }\n\n static getPathModule(): any {\n return BaseFileManager.requireImpl().getPathModule()\n }\n\n static getParentDirPath(filePath: string): string {\n return BaseFileManager.requireImpl().getParentDirPath(filePath)\n }\n\n static getFilenameFromPath(filePath: string): string {\n return BaseFileManager.requireImpl().getFilenameFromPath(filePath)\n }\n}\n","import { InferSelectModel } from 'drizzle-orm'\nimport { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const seeds = sqliteTable(\n 'seeds',\n {\n localId: text('local_id').unique(),\n uid: text('uid'),\n schemaUid: text('schema_uid'),\n type: text('type'),\n // schemaFileId of the models row this item belongs to (= Model.id). Disambiguates items whose\n // model name exists in more than one schema; null for legacy rows that couldn't be backfilled.\n modelFileId: text('model_file_id'),\n publisher: text('publisher'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n _markedForDeletion: int('_marked_for_deletion'),\n revokedAt: int('revoked_at'),\n },\n // {\n // triggers: [\n // sql<string>`CREATE TRIGGER IF NOT EXISTS seeds_created_at_trigger\n // BEFORE INSERT\n // ON seeds\n // FOR EACH ROW\n // BEGIN\n // SELECT strftime('%s', 'now') * 1000 INTO NEW.created_at;\n // END;`,\n // ],\n // },\n)\n\nexport type SeedType = InferSelectModel<typeof seeds>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const versions = sqliteTable('versions', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n seedType: text('seed_type'),\n note: text('note'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n attestationCreatedAt: int('attestation_created_at'),\n attestationRaw: text('attestation_raw'),\n publisher: text('publisher'),\n /**\n * When the version attestation was revoked, in Unix seconds (EAS `revocationTime`, or the local\n * unpublish time until sync confirms it). Null while live or unpublished.\n */\n revokedAt: int('revoked_at'),\n})\n\nexport type VersionsType = InferSelectModel<typeof versions>\n","import { int, integer, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\nimport { properties } from './ModelSchema'\n\nexport const metadata = sqliteTable('metadata', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n propertyId: integer('property_id').references(() => properties.id),\n propertyName: text('property_name'),\n propertyValue: text('property_value'),\n schemaUid: text('schema_uid'),\n modelType: text('model_type'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n versionLocalId: text('version_local_id'),\n versionUid: text('version_uid'),\n easDataType: text('eas_data_type'),\n refValueType: text('ref_value_type'),\n refModelUid: text('ref_schema_uid'),\n refSeedType: text('ref_seed_type'),\n refResolvedValue: text('ref_resolved_value'),\n refResolvedDisplayValue: text('ref_resolved_display_value'),\n localStorageDir: text('local_storage_dir'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n contentHash: text('content_hash'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n publisher: text('publisher'),\n // Unix seconds when this row's attestation was revoked on EAS; null while it's live (or for a\n // local, unpublished row). EAS sync keeps only the canonical attestation per (version, property\n // schema): the newest live one, or the newest revoked one when all are revoked. So a non-null\n // value marks a property kept only for its last value, not one that is present on the version.\n revokedAt: int('revoked_at'),\n // For a row EAS sync derived for an ItemStorage property from a `storage_transaction_id`\n // attestation (uid null, ref_value_type 'file', value = the transaction id): that attestation's\n // uid. Null for every other row. Marks the row as published content, not a local draft.\n derivedFromUid: text('derived_from_uid'),\n})\n\nexport type MetadataType = InferSelectModel<typeof metadata>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\nexport const appState = sqliteTable('appState', {\n key: text('key').unique(),\n value: text('value'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type appStateType = InferSelectModel<typeof appState>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { models } from './ModelSchema'\n\nexport const modelUids = sqliteTable('model_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n modelId: int('model_id')\n .notNull()\n .unique()\n .references(() => models.id),\n})\n\nexport const modelRelations = relations(modelUids, ({ one }) => ({\n model: one(models),\n}))\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { properties } from './ModelSchema'\n\nexport const propertyUids = sqliteTable('property_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n propertyId: int('property_id')\n .notNull()\n .unique()\n .references(() => properties.id),\n})\n\nexport const propertyUidRelations = relations(propertyUids, ({ one }) => ({\n property: one(properties),\n}))\n","import { integer, sqliteTable, text, blob, } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const config = sqliteTable(\n 'config',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n key: text('key').notNull(),\n text: text('text'),\n json: text('json'),\n blob: blob('blob'),\n }\n)\n\nexport type configType = InferSelectModel<typeof config>","import { InferSelectModel, } from 'drizzle-orm'\nimport { int, sqliteTable, text, integer, unique } from 'drizzle-orm/sqlite-core'\n\n\nexport const schemas = sqliteTable(\n 'schemas',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n version: integer('version').notNull(),\n schemaFileId: text('schema_file_id'), // ID from JSON file for change tracking - must be unique\n schemaData: text('schema_data'), // Full JSON schema content (SchemaFileFormat as JSON string)\n isDraft: integer('is_draft', { mode: 'boolean' }), // true if schema is in draft/editing state, false if published to file\n isEdited: integer('is_edited', { mode: 'boolean' }), // true if schema has been edited locally, false if matches schema file\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n },\n (table) => {\n return {\n uniqueSchemaFileId: unique('unique_schema_schema_file_id').on(table.schemaFileId),\n }\n }\n)\n\nexport type SchemaType = InferSelectModel<typeof schemas>","import { integer, sqliteTable } from 'drizzle-orm/sqlite-core';\nimport { InferSelectModel } from 'drizzle-orm';\nimport { schemas } from './SchemaSchema';\nimport { models } from './ModelSchema';\n\nexport const modelSchemas = sqliteTable('model_schemas', {\n id: integer('id').primaryKey({ autoIncrement: true }),\n modelId: integer('model_id').references(() => models.id),\n schemaId: integer('schema_id').references(() => schemas.id),\n})\n\nexport type ModelSchemaType = InferSelectModel<typeof modelSchemas>","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const publishProcesses = sqliteTable('publish_processes', {\n id: int('id').primaryKey({ autoIncrement: true }),\n seedLocalId: text('seed_local_id').notNull(),\n modelName: text('model_name').notNull(),\n schemaId: text('schema_id'),\n status: text('status').notNull(), // 'in_progress' | 'completed' | 'failed' | 'interrupted'\n startedAt: int('started_at').notNull(),\n completedAt: int('completed_at'),\n errorMessage: text('error_message'),\n errorStep: text('error_step'),\n errorDetails: text('error_details'),\n errorCode: text('error_code'), // e.g. ManagedAccountPublishError.code\n persistedSnapshot: text('persisted_snapshot').notNull(),\n seedId: text('seed_id'),\n existingSeedUid: text('existing_seed_uid'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type PublishProcessType = InferSelectModel<typeof publishProcesses>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const uploadProcesses = sqliteTable('upload_processes', {\n id: int('id').primaryKey({ autoIncrement: true }),\n reimbursementConfirmed: int('reimbursement_confirmed').notNull(), // 0 or 1 for boolean\n reimbursementTransactionId: text('reimbursement_transaction_id'),\n transactionKeys: text('transaction_keys'),\n persistedSnapshot: text('persisted_snapshot').notNull(), // JSON string\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type UploadProcessType = InferSelectModel<typeof uploadProcesses>\n","import { int, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\n/** Background job: resolve L1 tx id and wait for L1 confirmation after bundler publish. */\nexport const arweaveL1FinalizeJobs = sqliteTable(\n 'arweave_l1_finalize_jobs',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n seedLocalId: text('seed_local_id').notNull(),\n dataItemId: text('data_item_id').notNull(),\n /** L1 bundle / anchor transaction id from gateway GraphQL `bundledIn.id`. */\n l1TransactionId: text('l1_transaction_id'),\n bundleId: text('bundle_id'),\n versionLocalId: text('version_local_id'),\n itemPropertyName: text('item_property_name'),\n /** `pending_l1` | `confirmed` | `failed` */\n phase: text('phase').notNull(),\n statusJson: text('status_json'),\n errorMessage: text('error_message'),\n createdAt: int('created_at').notNull(),\n updatedAt: int('updated_at').notNull(),\n },\n (table) => ({\n dataItemIdUnique: uniqueIndex('arweave_l1_finalize_jobs_data_item_id_unique').on(table.dataItemId),\n }),\n)\n\nexport type ArweaveL1FinalizeJobType = InferSelectModel<typeof arweaveL1FinalizeJobs>\n","import { InferSelectModel } from 'drizzle-orm'\nimport { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const easSyncProcesses = sqliteTable('eas_sync_processes', {\n id: int('id').primaryKey({ autoIncrement: true }),\n status: text('status').notNull(), // 'in_progress' | 'completed' | 'failed'\n startedAt: int('started_at').notNull(),\n completedAt: int('completed_at'),\n requestPayload: text('request_payload').notNull(),\n errorMessage: text('error_message'),\n errorDetails: text('error_details'),\n persistedSnapshot: text('persisted_snapshot').notNull(),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type EasSyncProcessType = InferSelectModel<typeof easSyncProcesses>\n","import { int, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core'\n\n/**\n * Links Image seeds materialized from Html `data:image/*` URIs to the parent Item seed for co-publish.\n * Rows are removed after a successful publish (see clearHtmlEmbeddedImageCoPublishRows).\n */\nexport const htmlEmbeddedImageCoPublish = sqliteTable(\n 'html_embedded_image_co_publish',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n parentSeedLocalId: text('parent_seed_local_id').notNull(),\n htmlSeedLocalId: text('html_seed_local_id').notNull(),\n imageSeedLocalId: text('image_seed_local_id').notNull(),\n /** Stable dedup key (e.g. sha256 of data URI or normalized URI string). */\n stableKey: text('stable_key').notNull(),\n createdAt: int('created_at').notNull(),\n },\n (t) => [\n uniqueIndex('html_embed_co_pub_parent_html_stable').on(\n t.parentSeedLocalId,\n t.htmlSeedLocalId,\n t.stableKey,\n ),\n ],\n)\n","import type { AttestationRequestData } from '@ethereum-attestation-service/eas-sdk'\n\n// Top-level re-export (not mid-file import + export): Rollup with\n// external `@seedprotocol/arweave` otherwise emits a side-effect-only import\n// and an unbound Object.freeze namespace when this module is dynamically imported.\nexport {\n DEFAULT_ARWEAVE_HOST,\n DEFAULT_SEED_FEED_HYPER_KEY,\n DEFAULT_SEED_GATEWAY_HYPER_KEY,\n DEFAULT_GATEWAY_SIDECAR_HOST,\n DEFAULT_GATEWAY_SIDECAR_PORT,\n DEFAULT_ARWEAVE_GRAPHQL_URL,\n DEFAULT_ARWEAVE_GATEWAYS,\n getDefaultArweaveReadGatewayHostsOrdered,\n getArweaveReadGatewayHostsForPrimary,\n mergePrimaryHostWithDefaults,\n resolveArweaveHostFromEnv,\n isKnownArweaveGatewayHostname,\n} from '@seedprotocol/arweave'\n\n// Define zero constants ourselves since they're not exported from eas-sdk in newer versions\nexport const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'\nexport const ZERO_BYTES = '0x'\nexport const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\n\n// Primary config file name for Seed Protocol SDK\nexport const SEED_CONFIG_FILE = 'seed.config.ts'\n// Fallback config file names (in order of preference)\nexport const SEED_CONFIG_FALLBACKS = ['seed.schema.ts', 'schema.ts']\n// Legacy constant for backward compatibility\nexport const SCHEMA_TS = SEED_CONFIG_FILE\n\nexport const INTERNAL_DATA_TYPES = {\n Text: {\n eas: 'string',\n },\n Number: {\n eas: 'uint8',\n },\n Image: {\n eas: 'bytes32',\n },\n Relation: {\n eas: 'bytes32',\n },\n List: {\n eas: 'bytes32[]',\n },\n File: {\n eas: 'bytes32',\n },\n Json: {\n eas: 'bytes32',\n },\n Blob: {\n eas: 'bytes32',\n },\n Boolean: {\n eas: 'bool',\n },\n Date: {\n eas: 'uint256',\n },\n Html: {\n eas: 'bytes32',\n },\n}\n\n/** Full property names ending in `Id` that must not be stripped to a “base” name for `allProperties` keys. */\nexport const PROPERTY_NAMES_EXEMPT_FROM_ID_SUFFIX_STRIP = new Set<string>(['storageTransactionId'])\n\nexport const INTERNAL_PROPERTY_NAMES = [\n 'localId',\n 'uid',\n 'seedLocalId',\n 'seedUid',\n 'schemaUid',\n 'attestationCreatedAt',\n 'attestationRaw',\n 'createdAt',\n 'updatedAt',\n 'lastVersionPublishedAt',\n 'latestVersionLocalId',\n 'latestVersionUid',\n 'lastLocalUpdateAt',\n 'modelName',\n 'refSeedType',\n 'refValueType',\n 'refResolvedValue',\n 'refResolvedDisplayValue',\n 'type',\n // Image\n 'src',\n 'alt',\n //\n 'versionLocalId',\n 'versionsCount',\n 'versionUid',\n '_markedForDeletion',\n // SDK-internal: wallet address of attester; never publish as property attestation\n 'publisher',\n // SDK-internal: Unix timestamp when attestations were revoked; never a schema field\n 'revokedAt',\n]\n\n/** Schema definition of the Version attestation (zero resolver, revocable). */\nexport const VERSION_SCHEMA_DEF = 'bytes32 version'\n\n/**\n * UID of {@link VERSION_SCHEMA_DEF}. Schema UIDs hash the definition, resolver and revocable flag,\n * so this is the same on every chain; the schema must still be registered on each one.\n */\nexport const VERSION_SCHEMA_UID =\n '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6'\n\n/** @deprecated The UID is chain-independent. Use {@link VERSION_SCHEMA_UID}. */\nexport const VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA = VERSION_SCHEMA_UID\n\nexport const defaultAttestationData: AttestationRequestData = {\n recipient: ZERO_ADDRESS,\n revocable: true,\n value: BigInt(0),\n refUID: ZERO_BYTES32,\n expirationTime: BigInt(0),\n data: ZERO_BYTES,\n}\n\nexport enum ImageSize {\n EXTRA_SMALL = 480,\n SMALL = 760,\n MEDIUM = 1024,\n LARGE = 1440,\n EXTRA_LARGE = 1920,\n}\n\nexport const CLIENT_NOT_INITIALIZED = 'ClientManager is not initialized. Please call init() first.'\n\nexport const INIT_SCRIPT_SUCCESS_MESSAGE = '[Seed Protocol] Finished running init script'\n\nexport enum SeedModels {\n Seed = 'Seed',\n Metadata = 'Metadata',\n Version = 'Version',\n}\n\n// Internal SDK schema that should not be created in app's files directory\nexport const SEED_PROTOCOL_SCHEMA_NAME = 'Seed Protocol'\nexport const INTERNAL_SCHEMA_IDS = ['SEEDPROTOCOL'] as const\n\n/** Fired after `syncDbWithEas` persists EAS seeds/versions/metadata to SQLite (see `Item.rehydrateCachedItemsFromDbAfterEasSync`). */\nexport const EAS_SEED_DATA_SYNCED_TO_DB_EVENT = 'easSeedDataSyncedToDb' as const\n\n/**\n * Check if a schema is an internal SDK schema that should not be created in app files\n */\nexport function isInternalSchema(schemaName: string, schemaId?: string): boolean {\n return schemaName === SEED_PROTOCOL_SCHEMA_NAME || \n (schemaId !== undefined && INTERNAL_SCHEMA_IDS.includes(schemaId as any))\n}\n\n/**\n * Model ids (schemaFileId) of the internal Seed Protocol storage models. Storage seeds are always\n * these models, even if a user schema also defines a model named Image/File/Html.\n */\nexport const INTERNAL_STORAGE_MODEL_FILE_IDS = {\n image: 'SEEDPROTOCOL_IMAGE',\n file: 'SEEDPROTOCOL_FILE',\n html: 'SEEDPROTOCOL_HTML',\n} as const\n","export type PlatformTestHandle = {\n restore(): void\n}\n\n/**\n * Save/restore helper for swapping a single facade implementation in tests.\n */\nexport function createFacadeTestHandle<T>(\n getImpl: () => T | null,\n setImpl: (impl: T | null) => void,\n next: T,\n): PlatformTestHandle {\n const previous = getImpl()\n setImpl(next)\n return {\n restore() {\n setImpl(previous)\n },\n }\n}\n","import type { IPathResolver } from './IPathResolver'\nimport {\n createFacadeTestHandle,\n type PlatformTestHandle,\n} from '@/testing/platformTestHandle'\n\nexport abstract class BasePathResolver {\n private static _impl: IPathResolver | null = null\n\n static configure(impl: IPathResolver): void {\n if (!impl) {\n throw new Error(\n 'Cannot configure PathResolver with undefined or null. Ensure the platform-specific PathResolver is properly created.',\n )\n }\n BasePathResolver._impl = impl\n }\n\n static createForTesting(impl: IPathResolver): PlatformTestHandle {\n return createFacadeTestHandle(\n () => BasePathResolver._impl,\n (next) => {\n BasePathResolver._impl = next\n },\n impl,\n )\n }\n\n private static requireImpl(): IPathResolver {\n if (!BasePathResolver._impl) {\n throw new Error(\n 'PathResolver not configured. Please ensure the platform-specific PathResolver is registered. For Node.js, import from @seedprotocol/sdk/node. For browser, the SDK should auto-initialize.',\n )\n }\n return BasePathResolver._impl\n }\n\n /**\n * @deprecated Prefer static facade methods (e.g. BasePathResolver.getDotSeedDir()).\n */\n static getInstance(): IPathResolver {\n return BasePathResolver.requireImpl()\n }\n\n static getRootWithNodeModules(): string {\n return BasePathResolver.requireImpl().getRootWithNodeModules()\n }\n\n static getSdkRootDir(): string {\n return BasePathResolver.requireImpl().getSdkRootDir()\n }\n\n static getNodeModulesDir(): string {\n return BasePathResolver.requireImpl().getNodeModulesDir()\n }\n\n static getDotSeedDir(schemaFileDir?: string): string {\n return BasePathResolver.requireImpl().getDotSeedDir(schemaFileDir)\n }\n\n static findConfigFile(searchDir?: string): string | null {\n return BasePathResolver.requireImpl().findConfigFile(searchDir)\n }\n\n static getAppPaths(schemaFileDir?: string | undefined) {\n return BasePathResolver.requireImpl().getAppPaths(schemaFileDir)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BasePathResolver-BdxCSIzn.js","sources":["../../src/db/Db/BaseDb.ts","../../src/seedSchema/ModelSchema.ts","../../src/helpers/FileManager/BaseFileManager.ts","../../src/seedSchema/SeedSchema.ts","../../src/seedSchema/VersionSchema.ts","../../src/seedSchema/MetadataSchema.ts","../../src/seedSchema/AppStateSchema.ts","../../src/seedSchema/ModelUidSchema.ts","../../src/seedSchema/PropertyUidSchema.ts","../../src/seedSchema/ConfigSchema.ts","../../src/seedSchema/SchemaSchema.ts","../../src/seedSchema/ModelSchemaSchema.ts","../../src/seedSchema/PublishProcessSchema.ts","../../src/seedSchema/UploadProcessSchema.ts","../../src/seedSchema/ArweaveL1FinalizeSchema.ts","../../src/seedSchema/EasSyncProcessSchema.ts","../../src/seedSchema/HtmlEmbeddedImageCoPublishSchema.ts","../../src/helpers/constants.ts","../../src/testing/platformTestHandle.ts","../../src/helpers/PathResolver/BasePathResolver.ts"],"sourcesContent":["import type { IDb } from '@/interfaces/IDb'\nimport { Observable } from 'rxjs'\n\nexport abstract class BaseDb {\n static filesDir: string | undefined\n private static _impl: IDb | null = null\n\n static configure(impl: IDb): void {\n if (!impl) {\n throw new Error(\n 'Cannot configure Db with undefined or null. Ensure the platform-specific Db is properly created.',\n )\n }\n BaseDb._impl = impl\n }\n\n private static requireImpl(): IDb {\n if (!BaseDb._impl) {\n throw new Error(\n 'Db not configured. Call BaseDb.configure() during platform init.',\n )\n }\n return BaseDb._impl\n }\n\n static getAppDb(): any {\n return BaseDb.requireImpl().getAppDb()\n }\n\n static prepareDb(filesDir: string, config?: any): Promise<any> {\n return BaseDb.requireImpl().prepareDb(filesDir, config)\n }\n\n static isAppDbReady(): boolean {\n if (!BaseDb._impl) {\n return false\n }\n return BaseDb._impl.isAppDbReady()\n }\n\n static connectToDb(pathToDir: string): Promise<unknown> {\n return BaseDb.requireImpl().connectToDb(pathToDir)\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n return BaseDb.requireImpl().migrate(pathToDbDir, dbName, dbId)\n }\n\n /**\n * Execute a reactive query that emits new results whenever the underlying data changes.\n *\n * Supports two usage patterns:\n * 1. SQL tag function: liveQuery((sql) => sql`SELECT * FROM models`)\n * 2. Drizzle query builder (browser only): liveQuery(db.select().from(models))\n */\n static liveQuery<T>(query: ((sql: any) => any) | any): Observable<T[]> {\n return BaseDb.requireImpl().liveQuery<T>(query)\n }\n}\n","import { integer, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { InferInsertModel, InferSelectModel } from 'drizzle-orm'\n\n\nexport const models = sqliteTable(\n 'models',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n schemaFileId: text('schema_file_id'), // ID from JSON file for change tracking - must be unique\n isEdited: integer('is_edited', { mode: 'boolean' }), // true if model has been edited locally, false if matches schema file\n },\n (table) => {\n return {\n uniqueSchemaFileId: unique('unique_schema_file_id').on(table.schemaFileId),\n }\n }\n)\n\nexport const modelsRelations = relations(models, ({ many }) => ({\n properties: many(properties),\n}))\n\nexport type NewModelRecord = typeof models.$inferInsert\nexport type ModelRecordType = typeof models.$inferSelect\n\nexport const properties = sqliteTable(\n 'properties',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n dataType: text('data_type').notNull(),\n modelId: integer('model_id')\n .notNull()\n .references(() => models.id),\n refModelId: integer('ref_model_id').references(() => models.id),\n refValueType: text('ref_value_type'),\n schemaFileId: text('schema_file_id'), // ID from JSON file for change tracking\n isEdited: integer('is_edited', { mode: 'boolean' }), // true if property has been edited locally, false if matches schema file\n required: integer('required', { mode: 'boolean' }), // true if relation/image property is required (publish fails when related item not found)\n // Storage settings from the schema file's `storage: { type, path, extension }`, in the internal\n // shape ModelProperty uses. Null when the property has no storage config.\n storageType: text('storage_type'), // 'ItemStorage' | 'PropertyStorage'\n localStorageDir: text('local_storage_dir'), // storage.path, e.g. '/html'\n filenameSuffix: text('filename_suffix'), // storage.extension, e.g. '.html'\n },\n (table) => {\n return {\n uniqueNameModelId: unique('unique_name_model_id').on(\n table.name,\n table.modelId,\n ),\n uniqueSchemaFileId: unique('unique_property_schema_file_id').on(table.schemaFileId),\n }\n },\n)\n\nexport const propertiesRelations = relations(properties, ({ one }) => ({\n model: one(models),\n refModel: one(models),\n}))\n\nexport type NewPropertyRecord = InferInsertModel<typeof properties>\nexport type PropertyType = InferSelectModel<typeof properties>\n","import type {\n DownloadAllFilesParams,\n DownloadSingleFileParams,\n IFileManager,\n ResizeAllImagesParams,\n ResizeImageParams,\n} from './IFileManager'\n\nexport abstract class BaseFileManager {\n private static fileSystemInitialized = false\n private static initializing = false\n private static workingDir: string | undefined\n private static _impl: IFileManager | null = null\n private static initializePromise: Promise<void> | null = null\n\n static configure(impl: IFileManager): void {\n if (!impl) {\n throw new Error(\n 'Cannot configure FileManager with undefined or null. Ensure the platform-specific FileManager is properly created.',\n )\n }\n BaseFileManager._impl = impl\n }\n\n private static requireImpl(): IFileManager {\n if (!BaseFileManager._impl) {\n throw new Error(\n 'FileManager not configured. Call BaseFileManager.configure() during platform init.',\n )\n }\n return BaseFileManager._impl\n }\n\n /**\n * Clears FS init flags so a later call can retry. Used after a failed init\n * and by tests. Does not unmount or delete any files.\n */\n static resetInitializationState(): void {\n this.fileSystemInitialized = false\n this.initializing = false\n this.initializePromise = null\n this.workingDir = undefined\n }\n\n static initializeFileSystem(workingDir?: string): Promise<void> {\n if (this.fileSystemInitialized) {\n return Promise.resolve()\n }\n if (this.initializePromise) {\n return this.initializePromise\n }\n\n this.initializing = true\n const pending = this.runInitializeFileSystem(workingDir).finally(() => {\n this.initializing = false\n if (this.initializePromise === pending) {\n this.initializePromise = null\n }\n })\n this.initializePromise = pending\n return pending\n }\n\n private static async runInitializeFileSystem(workingDir?: string): Promise<void> {\n await BaseFileManager.requireImpl().initializeFileSystem(workingDir)\n this.fileSystemInitialized = true\n this.workingDir = workingDir\n }\n\n static getWorkingDir(): string {\n if (!this.workingDir) {\n throw new Error('Working directory is not set')\n }\n return this.workingDir\n }\n\n /**\n * Build a path under the configured files root (e.g. /app-files).\n * Use this instead of hardcoding /files/ for images, html, json, etc.\n * @param subpaths - path segments to join (e.g. 'images', fileName)\n * @returns full path like /app-files/images/egg.jpg\n */\n static getFilesPath(...subpaths: string[]): string {\n const root = this.getWorkingDir().replace(/\\/$/, '')\n const parts = [root, ...subpaths].filter(Boolean)\n return parts.join('/').replace(/\\/+/g, '/')\n }\n\n static getContentUrlFromPath(path: string): Promise<string | undefined> {\n return BaseFileManager.requireImpl().getContentUrlFromPath(path)\n }\n\n static downloadAllFiles({\n transactionIds,\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n }: DownloadAllFilesParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds,\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n })\n }\n\n static downloadFileByTransactionId({\n transactionId,\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n }: DownloadSingleFileParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds: [transactionId],\n arweaveHost,\n arweaveBaseUrls,\n excludedTransactions,\n })\n }\n\n static resizeImage({ filePath, width, height }: ResizeImageParams): Promise<void> {\n return BaseFileManager.requireImpl().resizeImage({ filePath, width, height })\n }\n\n static resizeAllImages({ width, height }: ResizeAllImagesParams): Promise<void> {\n return BaseFileManager.requireImpl().resizeAllImages({ width, height })\n }\n\n static pathExists(filePath: string): Promise<boolean> {\n return BaseFileManager.requireImpl().pathExists(filePath)\n }\n\n static invalidateCachedPaths(filePaths: string[]): Promise<void> {\n return BaseFileManager.requireImpl().invalidateCachedPaths(filePaths)\n }\n\n /** File size in bytes, or null if the path does not exist / cannot be stated. */\n static getFileSize(filePath: string): Promise<number | null> {\n return BaseFileManager.requireImpl().getFileSize(filePath)\n }\n\n /**\n * Returns a list of filenames in the given directory (e.g. 'images', 'files').\n */\n static listFiles(dir: string): Promise<string[]> {\n return BaseFileManager.requireImpl().listFiles(dir)\n }\n\n /**\n * Returns a list of image filenames in the images folder (originals only, excludes size subdirs).\n * Use this to get all stored images without traversing 480/760/1024/1440/1920 subdirectories.\n */\n static listImageFiles(): Promise<string[]> {\n return this.listFiles('images')\n }\n\n static createDirIfNotExists(filePath: string): Promise<void> {\n return BaseFileManager.requireImpl().createDirIfNotExists(filePath)\n }\n\n static async waitForFile(filePath: string): Promise<boolean> {\n return BaseFileManager.requireImpl().waitForFile(filePath)\n }\n\n static async waitForFileWithContent(\n filePath: string,\n interval?: number,\n timeout?: number,\n ): Promise<boolean> {\n return BaseFileManager.requireImpl().waitForFileWithContent(filePath, interval, timeout)\n }\n\n static async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n return BaseFileManager.requireImpl().saveFile(filePath, content)\n }\n\n static saveFileSync(filePath: string, content: string | Blob | ArrayBuffer): void {\n return BaseFileManager.requireImpl().saveFileSync(filePath, content)\n }\n\n static async readFile(filePath: string): Promise<File> {\n return BaseFileManager.requireImpl().readFile(filePath)\n }\n\n static readFileSync(filePath: string): File {\n return BaseFileManager.requireImpl().readFileSync(filePath)\n }\n\n static async readFileAsBuffer(filePath: string): Promise<Buffer | Blob> {\n return BaseFileManager.requireImpl().readFileAsBuffer(filePath)\n }\n\n static async readFileAsString(filePath: string): Promise<string> {\n return BaseFileManager.requireImpl().readFileAsString(filePath)\n }\n\n static async getFs(): Promise<any> {\n return BaseFileManager.requireImpl().getFs()\n }\n\n static getFsSync(): any {\n return BaseFileManager.requireImpl().getFsSync()\n }\n\n static getPathModule(): any {\n return BaseFileManager.requireImpl().getPathModule()\n }\n\n static getParentDirPath(filePath: string): string {\n return BaseFileManager.requireImpl().getParentDirPath(filePath)\n }\n\n static getFilenameFromPath(filePath: string): string {\n return BaseFileManager.requireImpl().getFilenameFromPath(filePath)\n }\n}\n","import { InferSelectModel } from 'drizzle-orm'\nimport { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const seeds = sqliteTable(\n 'seeds',\n {\n localId: text('local_id').unique(),\n uid: text('uid'),\n schemaUid: text('schema_uid'),\n type: text('type'),\n // schemaFileId of the models row this item belongs to (= Model.id). Disambiguates items whose\n // model name exists in more than one schema; null for legacy rows that couldn't be backfilled.\n modelFileId: text('model_file_id'),\n publisher: text('publisher'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n _markedForDeletion: int('_marked_for_deletion'),\n revokedAt: int('revoked_at'),\n },\n // {\n // triggers: [\n // sql<string>`CREATE TRIGGER IF NOT EXISTS seeds_created_at_trigger\n // BEFORE INSERT\n // ON seeds\n // FOR EACH ROW\n // BEGIN\n // SELECT strftime('%s', 'now') * 1000 INTO NEW.created_at;\n // END;`,\n // ],\n // },\n)\n\nexport type SeedType = InferSelectModel<typeof seeds>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const versions = sqliteTable('versions', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n seedType: text('seed_type'),\n note: text('note'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n attestationCreatedAt: int('attestation_created_at'),\n attestationRaw: text('attestation_raw'),\n publisher: text('publisher'),\n /**\n * When the version attestation was revoked, in Unix seconds (EAS `revocationTime`, or the local\n * unpublish time until sync confirms it). Null while live or unpublished.\n */\n revokedAt: int('revoked_at'),\n})\n\nexport type VersionsType = InferSelectModel<typeof versions>\n","import { int, integer, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\nimport { properties } from './ModelSchema'\n\nexport const metadata = sqliteTable('metadata', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n propertyId: integer('property_id').references(() => properties.id),\n propertyName: text('property_name'),\n propertyValue: text('property_value'),\n schemaUid: text('schema_uid'),\n modelType: text('model_type'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n versionLocalId: text('version_local_id'),\n versionUid: text('version_uid'),\n easDataType: text('eas_data_type'),\n refValueType: text('ref_value_type'),\n refModelUid: text('ref_schema_uid'),\n refSeedType: text('ref_seed_type'),\n refResolvedValue: text('ref_resolved_value'),\n refResolvedDisplayValue: text('ref_resolved_display_value'),\n localStorageDir: text('local_storage_dir'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n contentHash: text('content_hash'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n publisher: text('publisher'),\n // Unix seconds when this row's attestation was revoked on EAS; null while it's live (or for a\n // local, unpublished row). EAS sync keeps only the canonical attestation per (version, property\n // schema): the newest live one, or the newest revoked one when all are revoked. So a non-null\n // value marks a property kept only for its last value, not one that is present on the version.\n revokedAt: int('revoked_at'),\n // For a row EAS sync derived for an ItemStorage property from a `storage_transaction_id`\n // attestation (uid null, ref_value_type 'file', value = the transaction id): that attestation's\n // uid. Null for every other row. Marks the row as published content, not a local draft.\n derivedFromUid: text('derived_from_uid'),\n})\n\nexport type MetadataType = InferSelectModel<typeof metadata>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\nexport const appState = sqliteTable('appState', {\n key: text('key').unique(),\n value: text('value'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type appStateType = InferSelectModel<typeof appState>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { models } from './ModelSchema'\n\nexport const modelUids = sqliteTable('model_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n modelId: int('model_id')\n .notNull()\n .unique()\n .references(() => models.id),\n})\n\nexport const modelRelations = relations(modelUids, ({ one }) => ({\n model: one(models),\n}))\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { properties } from './ModelSchema'\n\nexport const propertyUids = sqliteTable('property_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n propertyId: int('property_id')\n .notNull()\n .unique()\n .references(() => properties.id),\n})\n\nexport const propertyUidRelations = relations(propertyUids, ({ one }) => ({\n property: one(properties),\n}))\n","import { integer, sqliteTable, text, blob, } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const config = sqliteTable(\n 'config',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n key: text('key').notNull(),\n text: text('text'),\n json: text('json'),\n blob: blob('blob'),\n }\n)\n\nexport type configType = InferSelectModel<typeof config>","import { InferSelectModel, } from 'drizzle-orm'\nimport { int, sqliteTable, text, integer, unique } from 'drizzle-orm/sqlite-core'\n\n\nexport const schemas = sqliteTable(\n 'schemas',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n version: integer('version').notNull(),\n schemaFileId: text('schema_file_id'), // ID from JSON file for change tracking - must be unique\n schemaData: text('schema_data'), // Full JSON schema content (SchemaFileFormat as JSON string)\n isDraft: integer('is_draft', { mode: 'boolean' }), // true if schema is in draft/editing state, false if published to file\n isEdited: integer('is_edited', { mode: 'boolean' }), // true if schema has been edited locally, false if matches schema file\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n },\n (table) => {\n return {\n uniqueSchemaFileId: unique('unique_schema_schema_file_id').on(table.schemaFileId),\n }\n }\n)\n\nexport type SchemaType = InferSelectModel<typeof schemas>","import { integer, sqliteTable } from 'drizzle-orm/sqlite-core';\nimport { InferSelectModel } from 'drizzle-orm';\nimport { schemas } from './SchemaSchema';\nimport { models } from './ModelSchema';\n\nexport const modelSchemas = sqliteTable('model_schemas', {\n id: integer('id').primaryKey({ autoIncrement: true }),\n modelId: integer('model_id').references(() => models.id),\n schemaId: integer('schema_id').references(() => schemas.id),\n})\n\nexport type ModelSchemaType = InferSelectModel<typeof modelSchemas>","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const publishProcesses = sqliteTable('publish_processes', {\n id: int('id').primaryKey({ autoIncrement: true }),\n seedLocalId: text('seed_local_id').notNull(),\n modelName: text('model_name').notNull(),\n schemaId: text('schema_id'),\n status: text('status').notNull(), // 'in_progress' | 'completed' | 'failed' | 'interrupted'\n startedAt: int('started_at').notNull(),\n completedAt: int('completed_at'),\n errorMessage: text('error_message'),\n errorStep: text('error_step'),\n errorDetails: text('error_details'),\n errorCode: text('error_code'), // e.g. ManagedAccountPublishError.code\n persistedSnapshot: text('persisted_snapshot').notNull(),\n seedId: text('seed_id'),\n existingSeedUid: text('existing_seed_uid'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type PublishProcessType = InferSelectModel<typeof publishProcesses>\n","import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const uploadProcesses = sqliteTable('upload_processes', {\n id: int('id').primaryKey({ autoIncrement: true }),\n reimbursementConfirmed: int('reimbursement_confirmed').notNull(), // 0 or 1 for boolean\n reimbursementTransactionId: text('reimbursement_transaction_id'),\n transactionKeys: text('transaction_keys'),\n persistedSnapshot: text('persisted_snapshot').notNull(), // JSON string\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type UploadProcessType = InferSelectModel<typeof uploadProcesses>\n","import { int, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\n/** Background job: resolve L1 tx id and wait for L1 confirmation after bundler publish. */\nexport const arweaveL1FinalizeJobs = sqliteTable(\n 'arweave_l1_finalize_jobs',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n seedLocalId: text('seed_local_id').notNull(),\n dataItemId: text('data_item_id').notNull(),\n /** L1 bundle / anchor transaction id from gateway GraphQL `bundledIn.id`. */\n l1TransactionId: text('l1_transaction_id'),\n bundleId: text('bundle_id'),\n versionLocalId: text('version_local_id'),\n itemPropertyName: text('item_property_name'),\n /** `pending_l1` | `confirmed` | `failed` */\n phase: text('phase').notNull(),\n statusJson: text('status_json'),\n errorMessage: text('error_message'),\n createdAt: int('created_at').notNull(),\n updatedAt: int('updated_at').notNull(),\n },\n (table) => ({\n dataItemIdUnique: uniqueIndex('arweave_l1_finalize_jobs_data_item_id_unique').on(table.dataItemId),\n }),\n)\n\nexport type ArweaveL1FinalizeJobType = InferSelectModel<typeof arweaveL1FinalizeJobs>\n","import { InferSelectModel } from 'drizzle-orm'\nimport { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const easSyncProcesses = sqliteTable('eas_sync_processes', {\n id: int('id').primaryKey({ autoIncrement: true }),\n status: text('status').notNull(), // 'in_progress' | 'completed' | 'failed'\n startedAt: int('started_at').notNull(),\n completedAt: int('completed_at'),\n requestPayload: text('request_payload').notNull(),\n errorMessage: text('error_message'),\n errorDetails: text('error_details'),\n persistedSnapshot: text('persisted_snapshot').notNull(),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type EasSyncProcessType = InferSelectModel<typeof easSyncProcesses>\n","import { int, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core'\n\n/**\n * Links Image seeds materialized from Html `data:image/*` URIs to the parent Item seed for co-publish.\n * Rows are removed after a successful publish (see clearHtmlEmbeddedImageCoPublishRows).\n */\nexport const htmlEmbeddedImageCoPublish = sqliteTable(\n 'html_embedded_image_co_publish',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n parentSeedLocalId: text('parent_seed_local_id').notNull(),\n htmlSeedLocalId: text('html_seed_local_id').notNull(),\n imageSeedLocalId: text('image_seed_local_id').notNull(),\n /** Stable dedup key (e.g. sha256 of data URI or normalized URI string). */\n stableKey: text('stable_key').notNull(),\n createdAt: int('created_at').notNull(),\n },\n (t) => [\n uniqueIndex('html_embed_co_pub_parent_html_stable').on(\n t.parentSeedLocalId,\n t.htmlSeedLocalId,\n t.stableKey,\n ),\n ],\n)\n","import type { AttestationRequestData } from '@ethereum-attestation-service/eas-sdk'\n\n// Top-level re-export (not mid-file import + export): Rollup with\n// external `@seedprotocol/arweave` otherwise emits a side-effect-only import\n// and an unbound Object.freeze namespace when this module is dynamically imported.\nexport {\n DEFAULT_ARWEAVE_HOST,\n DEFAULT_SEED_FEED_HYPER_KEY,\n DEFAULT_SEED_GATEWAY_HYPER_KEY,\n DEFAULT_GATEWAY_SIDECAR_HOST,\n DEFAULT_GATEWAY_SIDECAR_PORT,\n DEFAULT_ARWEAVE_GRAPHQL_URL,\n DEFAULT_ARWEAVE_GATEWAYS,\n getDefaultArweaveReadGatewayHostsOrdered,\n getArweaveReadGatewayHostsForPrimary,\n mergePrimaryHostWithDefaults,\n resolveArweaveHostFromEnv,\n isKnownArweaveGatewayHostname,\n} from '@seedprotocol/arweave'\n\n// Define zero constants ourselves since they're not exported from eas-sdk in newer versions\nexport const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'\nexport const ZERO_BYTES = '0x'\nexport const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\n\n// Primary config file name for Seed Protocol SDK\nexport const SEED_CONFIG_FILE = 'seed.config.ts'\n// Fallback config file names (in order of preference)\nexport const SEED_CONFIG_FALLBACKS = ['seed.schema.ts', 'schema.ts']\n// Legacy constant for backward compatibility\nexport const SCHEMA_TS = SEED_CONFIG_FILE\n\nexport const INTERNAL_DATA_TYPES = {\n Text: {\n eas: 'string',\n },\n Number: {\n eas: 'uint8',\n },\n Image: {\n eas: 'bytes32',\n },\n Relation: {\n eas: 'bytes32',\n },\n List: {\n eas: 'bytes32[]',\n },\n File: {\n eas: 'bytes32',\n },\n Json: {\n eas: 'bytes32',\n },\n Blob: {\n eas: 'bytes32',\n },\n Boolean: {\n eas: 'bool',\n },\n Date: {\n eas: 'uint256',\n },\n Html: {\n eas: 'bytes32',\n },\n}\n\n/** Full property names ending in `Id` that must not be stripped to a “base” name for `allProperties` keys. */\nexport const PROPERTY_NAMES_EXEMPT_FROM_ID_SUFFIX_STRIP = new Set<string>(['storageTransactionId'])\n\nexport const INTERNAL_PROPERTY_NAMES = [\n 'localId',\n 'uid',\n 'seedLocalId',\n 'seedUid',\n 'schemaUid',\n 'attestationCreatedAt',\n 'attestationRaw',\n 'createdAt',\n 'updatedAt',\n 'lastVersionPublishedAt',\n 'latestVersionLocalId',\n 'latestVersionUid',\n 'lastLocalUpdateAt',\n 'modelName',\n 'refSeedType',\n 'refValueType',\n 'refResolvedValue',\n 'refResolvedDisplayValue',\n 'type',\n // Image\n 'src',\n 'alt',\n //\n 'versionLocalId',\n 'versionsCount',\n 'versionUid',\n '_markedForDeletion',\n // SDK-internal: wallet address of attester; never publish as property attestation\n 'publisher',\n // SDK-internal: Unix timestamp when attestations were revoked; never a schema field\n 'revokedAt',\n]\n\n/** Schema definition of the Version attestation (zero resolver, revocable). */\nexport const VERSION_SCHEMA_DEF = 'bytes32 version'\n\n/**\n * UID of {@link VERSION_SCHEMA_DEF}. Schema UIDs hash the definition, resolver and revocable flag,\n * so this is the same on every chain; the schema must still be registered on each one.\n */\nexport const VERSION_SCHEMA_UID =\n '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6'\n\n/** @deprecated The UID is chain-independent. Use {@link VERSION_SCHEMA_UID}. */\nexport const VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA = VERSION_SCHEMA_UID\n\nexport const defaultAttestationData: AttestationRequestData = {\n recipient: ZERO_ADDRESS,\n revocable: true,\n value: BigInt(0),\n refUID: ZERO_BYTES32,\n expirationTime: BigInt(0),\n data: ZERO_BYTES,\n}\n\nexport enum ImageSize {\n EXTRA_SMALL = 480,\n SMALL = 760,\n MEDIUM = 1024,\n LARGE = 1440,\n EXTRA_LARGE = 1920,\n}\n\nexport const CLIENT_NOT_INITIALIZED = 'ClientManager is not initialized. Please call init() first.'\n\nexport const INIT_SCRIPT_SUCCESS_MESSAGE = '[Seed Protocol] Finished running init script'\n\nexport enum SeedModels {\n Seed = 'Seed',\n Metadata = 'Metadata',\n Version = 'Version',\n}\n\n// Internal SDK schema that should not be created in app's files directory\nexport const SEED_PROTOCOL_SCHEMA_NAME = 'Seed Protocol'\nexport const INTERNAL_SCHEMA_IDS = ['SEEDPROTOCOL'] as const\n\n/** Fired after `syncDbWithEas` persists EAS seeds/versions/metadata to SQLite (see `Item.rehydrateCachedItemsFromDbAfterEasSync`). */\nexport const EAS_SEED_DATA_SYNCED_TO_DB_EVENT = 'easSeedDataSyncedToDb' as const\n\n/**\n * Check if a schema is an internal SDK schema that should not be created in app files\n */\nexport function isInternalSchema(schemaName: string, schemaId?: string): boolean {\n return schemaName === SEED_PROTOCOL_SCHEMA_NAME || \n (schemaId !== undefined && INTERNAL_SCHEMA_IDS.includes(schemaId as any))\n}\n\n/**\n * Model ids (schemaFileId) of the internal Seed Protocol storage models. Storage seeds are always\n * these models, even if a user schema also defines a model named Image/File/Html.\n */\nexport const INTERNAL_STORAGE_MODEL_FILE_IDS = {\n image: 'SEEDPROTOCOL_IMAGE',\n file: 'SEEDPROTOCOL_FILE',\n html: 'SEEDPROTOCOL_HTML',\n} as const\n","export type PlatformTestHandle = {\n restore(): void\n}\n\n/**\n * Save/restore helper for swapping a single facade implementation in tests.\n */\nexport function createFacadeTestHandle<T>(\n getImpl: () => T | null,\n setImpl: (impl: T | null) => void,\n next: T,\n): PlatformTestHandle {\n const previous = getImpl()\n setImpl(next)\n return {\n restore() {\n setImpl(previous)\n },\n }\n}\n","import type { IPathResolver } from './IPathResolver'\nimport {\n createFacadeTestHandle,\n type PlatformTestHandle,\n} from '@/testing/platformTestHandle'\n\nexport abstract class BasePathResolver {\n private static _impl: IPathResolver | null = null\n\n static configure(impl: IPathResolver): void {\n if (!impl) {\n throw new Error(\n 'Cannot configure PathResolver with undefined or null. Ensure the platform-specific PathResolver is properly created.',\n )\n }\n BasePathResolver._impl = impl\n }\n\n static createForTesting(impl: IPathResolver): PlatformTestHandle {\n return createFacadeTestHandle(\n () => BasePathResolver._impl,\n (next) => {\n BasePathResolver._impl = next\n },\n impl,\n )\n }\n\n private static requireImpl(): IPathResolver {\n if (!BasePathResolver._impl) {\n throw new Error(\n 'PathResolver not configured. Please ensure the platform-specific PathResolver is registered. For Node.js, import from @seedprotocol/sdk/node. For browser, the SDK should auto-initialize.',\n )\n }\n return BasePathResolver._impl\n }\n\n /**\n * @deprecated Prefer static facade methods (e.g. BasePathResolver.getDotSeedDir()).\n */\n static getInstance(): IPathResolver {\n return BasePathResolver.requireImpl()\n }\n\n static getRootWithNodeModules(): string {\n return BasePathResolver.requireImpl().getRootWithNodeModules()\n }\n\n static getSdkRootDir(): string {\n return BasePathResolver.requireImpl().getSdkRootDir()\n }\n\n static getNodeModulesDir(): string {\n return BasePathResolver.requireImpl().getNodeModulesDir()\n }\n\n static getDotSeedDir(schemaFileDir?: string): string {\n return BasePathResolver.requireImpl().getDotSeedDir(schemaFileDir)\n }\n\n static findConfigFile(searchDir?: string): string | null {\n return BasePathResolver.requireImpl().findConfigFile(searchDir)\n }\n\n static getAppPaths(schemaFileDir?: string | undefined) {\n return BasePathResolver.requireImpl().getAppPaths(schemaFileDir)\n }\n}\n"],"names":[],"mappings":";;;;MAGsB,MAAM,CAAA;IAI1B,OAAO,SAAS,CAAC,IAAS,EAAA;QACxB,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG;QACH;AACA,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI;IACrB;AAEQ,IAAA,OAAO,WAAW,GAAA;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE;QACH;QACA,OAAO,MAAM,CAAC,KAAK;IACrB;AAEA,IAAA,OAAO,QAAQ,GAAA;AACb,QAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxC;AAEA,IAAA,OAAO,SAAS,CAAC,QAAgB,EAAE,MAAY,EAAA;QAC7C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IACzD;AAEA,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACjB,YAAA,OAAO,KAAK;QACd;AACA,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;IACpC;IAEA,OAAO,WAAW,CAAC,SAAiB,EAAA;QAClC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;IACpD;IAEA,aAAa,OAAO,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY,EAAA;AACpE,QAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC;IAChE;AAEA;;;;;;AAMG;IACH,OAAO,SAAS,CAAI,KAAgC,EAAA;QAClD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAI,KAAK,CAAC;IACjD;;AApDe,MAAA,CAAA,KAAK,GAAe,IAAI;;ACAlC,MAAM,MAAM,GAAG,WAAW,CAC/B,QAAQ,EACR;AACE,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC5B,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;CACpD,EACD,CAAC,KAAK,KAAI;IACR,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;KAC3E;AACH,CAAC;AAGI,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;AAC9D,IAAA,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;AAC7B,CAAA,CAAC;AAKK,MAAM,UAAU,GAAG,WAAW,CACnC,YAAY,EACZ;AACE,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC5B,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;AACrC,IAAA,OAAO,EAAE,OAAO,CAAC,UAAU;AACxB,SAAA,OAAO;AACP,SAAA,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC9B,IAAA,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC/D,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACnD,IAAA,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;;AAGlD,IAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;AACjC,IAAA,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC1C,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;CACxC,EACD,CAAC,KAAK,KAAI;IACR,OAAO;AACL,QAAA,iBAAiB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAClD,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,CACd;QACD,kBAAkB,EAAE,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;KACpF;AACH,CAAC;AAGI,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;AACrE,IAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AAClB,IAAA,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;AACtB,CAAA,CAAC;;;;;;;;;;MCrDoB,eAAe,CAAA;IAOnC,OAAO,SAAS,CAAC,IAAkB,EAAA;QACjC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH;QACH;AACA,QAAA,eAAe,CAAC,KAAK,GAAG,IAAI;IAC9B;AAEQ,IAAA,OAAO,WAAW,GAAA;AACxB,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF;QACH;QACA,OAAO,eAAe,CAAC,KAAK;IAC9B;AAEA;;;AAGG;AACH,IAAA,OAAO,wBAAwB,GAAA;AAC7B,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAClC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;IAC7B;IAEA,OAAO,oBAAoB,CAAC,UAAmB,EAAA;AAC7C,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,OAAO,OAAO,CAAC,OAAO,EAAE;QAC1B;AACA,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO,IAAI,CAAC,iBAAiB;QAC/B;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAK;AACpE,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,YAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,OAAO,EAAE;AACtC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;YAC/B;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO;AAChC,QAAA,OAAO,OAAO;IAChB;AAEQ,IAAA,aAAa,uBAAuB,CAAC,UAAmB,EAAA;QAC9D,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;AACpE,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;AAEA,IAAA,OAAO,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;QACjD;QACA,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;;;AAKG;AACH,IAAA,OAAO,YAAY,CAAC,GAAG,QAAkB,EAAA;AACvC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpD,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACjD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IAC7C;IAEA,OAAO,qBAAqB,CAAC,IAAY,EAAA;QACvC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;IAClE;IAEA,OAAO,gBAAgB,CAAC,EACtB,cAAc,EACd,WAAW,EACX,eAAe,EACf,oBAAoB,GACG,EAAA;AACvB,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC;YACpD,cAAc;YACd,WAAW;YACX,eAAe;YACf,oBAAoB;AACrB,SAAA,CAAC;IACJ;IAEA,OAAO,2BAA2B,CAAC,EACjC,aAAa,EACb,WAAW,EACX,eAAe,EACf,oBAAoB,GACK,EAAA;AACzB,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC;YACpD,cAAc,EAAE,CAAC,aAAa,CAAC;YAC/B,WAAW;YACX,eAAe;YACf,oBAAoB;AACrB,SAAA,CAAC;IACJ;IAEA,OAAO,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAqB,EAAA;AAC/D,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC/E;AAEA,IAAA,OAAO,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAyB,EAAA;AAC7D,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACzE;IAEA,OAAO,UAAU,CAAC,QAAgB,EAAA;QAChC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC3D;IAEA,OAAO,qBAAqB,CAAC,SAAmB,EAAA;QAC9C,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC;IACvE;;IAGA,OAAO,WAAW,CAAC,QAAgB,EAAA;QACjC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5D;AAEA;;AAEG;IACH,OAAO,SAAS,CAAC,GAAW,EAAA;QAC1B,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;IACrD;AAEA;;;AAGG;AACH,IAAA,OAAO,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACjC;IAEA,OAAO,oBAAoB,CAAC,QAAgB,EAAA;QAC1C,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;IACrE;AAEA,IAAA,aAAa,WAAW,CAAC,QAAgB,EAAA;QACvC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5D;IAEA,aAAa,sBAAsB,CACjC,QAAgB,EAChB,QAAiB,EACjB,OAAgB,EAAA;AAEhB,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC1F;AAEA,IAAA,aAAa,QAAQ,CAAC,QAAgB,EAAE,OAAoC,EAAA;QAC1E,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAClE;AAEA,IAAA,OAAO,YAAY,CAAC,QAAgB,EAAE,OAAoC,EAAA;QACxE,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;IACtE;AAEA,IAAA,aAAa,QAAQ,CAAC,QAAgB,EAAA;QACpC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACzD;IAEA,OAAO,YAAY,CAAC,QAAgB,EAAA;QAClC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;IAC7D;AAEA,IAAA,aAAa,gBAAgB,CAAC,QAAgB,EAAA;QAC5C,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IACjE;AAEA,IAAA,aAAa,gBAAgB,CAAC,QAAgB,EAAA;QAC5C,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IACjE;IAEA,aAAa,KAAK,GAAA;AAChB,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;IAC9C;AAEA,IAAA,OAAO,SAAS,GAAA;AACd,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE;IAClD;AAEA,IAAA,OAAO,aAAa,GAAA;AAClB,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE;IACtD;IAEA,OAAO,gBAAgB,CAAC,QAAgB,EAAA;QACtC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IACjE;IAEA,OAAO,mBAAmB,CAAC,QAAgB,EAAA;QACzC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC;IACpE;;AA7Me,eAAA,CAAA,qBAAqB,GAAG,KAAK;AAC7B,eAAA,CAAA,YAAY,GAAG,KAAK;AAEpB,eAAA,CAAA,KAAK,GAAwB,IAAI;AACjC,eAAA,CAAA,iBAAiB,GAAyB,IAAI;;;;;;;ACVxD,MAAM,KAAK,GAAG,WAAW,CAC9B,OAAO,EACP;AACE,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;;;AAGlB,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;AAC5B,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,kBAAkB,EAAE,GAAG,CAAC,sBAAsB,CAAC;AAC/C,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;ACjBI,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACzB,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;AAC3B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;AAC5B;;;AAGG;AACH,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;AChBM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC;AAClE,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACrC,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACzB,IAAA,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACxC,IAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/B,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnC,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAC5C,IAAA,uBAAuB,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAC3D,IAAA,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC1C,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;AACjC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;;;;;AAK5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;;;;AAI5B,IAAA,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzC,CAAA;;ACpCM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;AACzB,IAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;AACpB,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;ACHM,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;AACjD,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,OAAO,EAAE,GAAG,CAAC,UAAU;AACpB,SAAA,OAAO;AACP,SAAA,MAAM;AACN,SAAA,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAA;AAEM,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;AAC/D,IAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AACnB,CAAA,CAAC;;ACXK,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE;AACvD,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,UAAU,EAAE,GAAG,CAAC,aAAa;AAC1B,SAAA,OAAO;AACP,SAAA,MAAM;AACN,SAAA,UAAU,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC;AACnC,CAAA;AAEM,MAAM,oBAAoB,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;AACxE,IAAA,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC;AAC1B,CAAA,CAAC;;ACZK,MAAM,MAAM,GAAG,WAAW,CAC/B,QAAQ,EACR;AACE,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AACnB,CAAA;;ACPI,MAAM,OAAO,GAAG,WAAW,CAChC,SAAS,EACT;AACE,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC5B,IAAA,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;AACrC,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/B,IAAA,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACjD,IAAA,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACnD,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;CAC7B,EACD,CAAC,KAAK,KAAI;IACR,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;KAClF;AACH,CAAC;;;;;;;AChBI,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE;AACvD,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AACxD,IAAA,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;AAC5D,CAAA;;;;;;;ACNM,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,EAAE;AAC/D,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;AAC5C,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACvC,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;IAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;AAChC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACtC,IAAA,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;AAChC,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;AACvD,IAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;AACvB,IAAA,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC1C,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;ACjBM,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,EAAE;AAC7D,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACjD,sBAAsB,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE;AAChE,IAAA,0BAA0B,EAAE,IAAI,CAAC,8BAA8B,CAAC;AAChE,IAAA,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACzC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;AACvD,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;ACRD;AACO,MAAM,qBAAqB,GAAG,WAAW,CAC9C,0BAA0B,EAC1B;AACE,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;AAC5C,IAAA,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;;AAE1C,IAAA,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC1C,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;AAC3B,IAAA,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACxC,IAAA,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;;AAE5C,IAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;AAC9B,IAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/B,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACtC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACvC,CAAA,EACD,CAAC,KAAK,MAAM;IACV,gBAAgB,EAAE,WAAW,CAAC,8CAA8C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;AACnG,CAAA,CAAC;;ACrBG,MAAM,gBAAgB,GAAG,WAAW,CAAC,oBAAoB,EAAE;AAChE,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;AAChC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACtC,IAAA,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;AAChC,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;AACjD,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;AACvD,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;ACZD;;;AAGG;AACI,MAAM,0BAA0B,GAAG,WAAW,CACnD,gCAAgC,EAChC;AACE,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE;AACzD,IAAA,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;AACrD,IAAA,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE;;AAEvD,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACvC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;AACvC,CAAA,EACD,CAAC,CAAC,KAAK;AACL,IAAA,WAAW,CAAC,sCAAsC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,eAAe,EACjB,CAAC,CAAC,SAAS,CACZ;AACF,CAAA;;ACrBH;AACA;AACA;AAgBA;AACO,MAAM,YAAY,GAAG,4CAA4C;AACjE,MAAM,UAAU,GAAG,IAAI;AACvB,MAAM,YAAY,GAAG;AAG5B;AACO,MAAM,gBAAgB,GAAG;AAChC;MACa,qBAAqB,GAAG,CAAC,gBAAgB,EAAE,WAAW;AACnE;AACO,MAAM,SAAS,GAAG;AAElB,MAAM,mBAAmB,GAAG;AACjC,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,QAAQ;AACd,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,GAAG,EAAE,OAAO;AACb,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,WAAW;AACjB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,GAAG,EAAE,MAAM;AACZ,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;;AAGH;AACO,MAAM,0CAA0C,GAAG,IAAI,GAAG,CAAS,CAAC,sBAAsB,CAAC;AAE3F,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,KAAK;IACL,aAAa;IACb,SAAS;IACT,WAAW;IACX,sBAAsB;IACtB,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,mBAAmB;IACnB,WAAW;IACX,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,yBAAyB;IACzB,MAAM;;IAEN,KAAK;IACL,KAAK;;IAEL,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,oBAAoB;;IAEpB,WAAW;;IAEX,WAAW;;AAGb;AACO,MAAM,kBAAkB,GAAG;AAElC;;;AAGG;AACI,MAAM,kBAAkB,GAC7B;AAEF;AACO,MAAM,mCAAmC,GAAG;AAE5C,MAAM,sBAAsB,GAA2B;AAC5D,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChB,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AACzB,IAAA,IAAI,EAAE,UAAU;;IAGN;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,IAAA,CAAA,GAAA,QAAa;AACb,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,IAAA,CAAA,GAAA,OAAY;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,GAAA,aAAkB;AACpB,CAAC,EANW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;AAQd,MAAM,sBAAsB,GAAG;AAE/B,MAAM,2BAA2B,GAAG;IAE/B;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAJW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;AAMtB;AACO,MAAM,yBAAyB,GAAG;AAClC,MAAM,mBAAmB,GAAG,CAAC,cAAc;AAElD;AACO,MAAM,gCAAgC,GAAG;AAEhD;;AAEG;AACG,SAAU,gBAAgB,CAAC,UAAkB,EAAE,QAAiB,EAAA;IACpE,OAAO,UAAU,KAAK,yBAAyB;SACvC,QAAQ,KAAK,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,QAAe,CAAC,CAAC;AAClF;AAEA;;;AAGG;AACI,MAAM,+BAA+B,GAAG;AAC7C,IAAA,KAAK,EAAE,oBAAoB;AAC3B,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,mBAAmB;;;ACpK3B;;AAEG;SACa,sBAAsB,CACpC,OAAuB,EACvB,OAAiC,EACjC,IAAO,EAAA;AAEP,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE;IAC1B,OAAO,CAAC,IAAI,CAAC;IACb,OAAO;QACL,OAAO,GAAA;YACL,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC;KACF;AACH;;MCbsB,gBAAgB,CAAA;IAGpC,OAAO,SAAS,CAAC,IAAmB,EAAA;QAClC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CACb,sHAAsH,CACvH;QACH;AACA,QAAA,gBAAgB,CAAC,KAAK,GAAG,IAAI;IAC/B;IAEA,OAAO,gBAAgB,CAAC,IAAmB,EAAA;AACzC,QAAA,OAAO,sBAAsB,CAC3B,MAAM,gBAAgB,CAAC,KAAK,EAC5B,CAAC,IAAI,KAAI;AACP,YAAA,gBAAgB,CAAC,KAAK,GAAG,IAAI;QAC/B,CAAC,EACD,IAAI,CACL;IACH;AAEQ,IAAA,OAAO,WAAW,GAAA;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CACb,4LAA4L,CAC7L;QACH;QACA,OAAO,gBAAgB,CAAC,KAAK;IAC/B;AAEA;;AAEG;AACH,IAAA,OAAO,WAAW,GAAA;AAChB,QAAA,OAAO,gBAAgB,CAAC,WAAW,EAAE;IACvC;AAEA,IAAA,OAAO,sBAAsB,GAAA;AAC3B,QAAA,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,sBAAsB,EAAE;IAChE;AAEA,IAAA,OAAO,aAAa,GAAA;AAClB,QAAA,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE;IACvD;AAEA,IAAA,OAAO,iBAAiB,GAAA;AACtB,QAAA,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE;IAC3D;IAEA,OAAO,aAAa,CAAC,aAAsB,EAAA;QACzC,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;IACpE;IAEA,OAAO,cAAc,CAAC,SAAkB,EAAA;QACtC,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;IACjE;IAEA,OAAO,WAAW,CAAC,aAAkC,EAAA;QACnD,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC;IAClE;;AA3De,gBAAA,CAAA,KAAK,GAAyB,IAAI;;"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import debug from 'debug';
|
|
2
2
|
import { createActor, setup, assign, fromPromise, fromCallback, waitFor } from 'xstate';
|
|
3
|
-
import {
|
|
4
|
-
import { u as MachineIds,
|
|
5
|
-
import {
|
|
6
|
-
import { eq, inArray, and, isNotNull, ne, desc, countDistinct, or, isNull } from 'drizzle-orm';
|
|
7
|
-
import {
|
|
3
|
+
import { m as eventEmitter, C as normalizeAddressConfig, E as normalizeAddressList, S as loadModelsFromDbForSchema, O as addSchemaToDb, n as normalizeDataType, U as linkModelToSchema, s as normalizePublisher, V as getWatchedAddressesFromDb, W as getOwnedAddressesFromDb } from './db-W1g29qsM.js';
|
|
4
|
+
import { u as MachineIds, V as ClientManagerEvents, C as ClientManagerState, W as resolvePublisherFromSeedRow, F as isLocalUnsealedDraft, I as Item } from './Item-B9Y4VuK1.js';
|
|
5
|
+
import { a as BaseDb, e as easSyncProcesses, t as BasePathResolver, b as appState, B as BaseFileManager, j as models$1, i as modelUids, r as seeds, s as schemas, K as isInternalSchema, L as INTERNAL_SCHEMA_IDS, F as SEED_PROTOCOL_SCHEMA_NAME, g as modelSchemas, m as metadata$1, v as versions, h as htmlEmbeddedImageCoPublish, c as arweaveL1FinalizeJobs, q as publishProcesses, M as CLIENT_NOT_INITIALIZED } from './BasePathResolver-BdxCSIzn.js';
|
|
6
|
+
import { eq, inArray, and, isNotNull, ne, desc, countDistinct, like, or, isNull } from 'drizzle-orm';
|
|
7
|
+
import { q as withDbTabLock, k as isLeaderTab, x as postTabMessage, y as onTabMessage, w as whenLeaderTab, z as listenForOtherTabsEvents, B as isNode, C as isBrowser, D as startTabCoordination, E as downloadAllFilesRequestHandler, G as downloadAllFilesBinaryRequestHandler, t as toSnakeCase, v as withSeedDbLock, b as generateId, p as parseAddressesPersistedPayload, e as emitAcrossTabs, A as ADDRESSES_PERSISTED_EVENT, L as LOCAL_COPIES_REMOVED_EVENT } from './tabEvents-C9qUKx_z.js';
|
|
8
8
|
import { seedGatewayConfigFromSeedConfig, setPreferredArweaveReadBaseUrls, resolveSeedGatewayEndpoints, setResolvedSeedGatewayEndpoints, BaseArweaveClient, ensureReadGatewaySelected, DEFAULT_ARWEAVE_HOST } from '@seedprotocol/arweave';
|
|
9
9
|
import { configureEasReadChain, BaseQueryClient, BaseEasClient, GET_SCHEMAS, whenEasReadChainSettled, getEasReadChainId, DEFAULT_EAS_CHAIN_ID, isEasReadChainConfigured, isValidEasAttestationUid } from '@seedprotocol/eas';
|
|
10
10
|
import 'pluralize';
|
|
11
11
|
import { sha3_256 } from '@noble/hashes/sha3';
|
|
12
12
|
import { bytesToHex, utf8ToBytes } from '@noble/hashes/utils';
|
|
13
|
-
import { generateId } from './generateId-BopUwD8F.js';
|
|
14
13
|
import { clearLocalQuerySource, registerLocalQuerySource, getSeed } from '@seedprotocol/query';
|
|
15
14
|
import { startCase } from 'lodash-es';
|
|
16
15
|
|
|
@@ -110,7 +109,7 @@ const runEasSync = fromPromise(async ({ input, }) => {
|
|
|
110
109
|
requestPayload: input.requestPayload,
|
|
111
110
|
persistedSnapshot: input.runningSnapshot,
|
|
112
111
|
});
|
|
113
|
-
const { runSyncFromEas } = await import('./syncDbWithEas-
|
|
112
|
+
const { runSyncFromEas } = await import('./syncDbWithEas-BQsXjGhe.js');
|
|
114
113
|
try {
|
|
115
114
|
// Sync checks for rows and then inserts the rest (no unique index on uids), so syncs in
|
|
116
115
|
// different tabs take turns. A sync can run for minutes, so wait without a timeout.
|
|
@@ -464,7 +463,7 @@ const platformClassesInit = fromCallback(({ sendBack, input: { context, event }
|
|
|
464
463
|
}
|
|
465
464
|
// Prefer the condition-resolved factory when available; fall back to explicit
|
|
466
465
|
// platform imports so source/vitest resolution stays reliable.
|
|
467
|
-
const { configurePlatform } = await import('./configurePlatform-
|
|
466
|
+
const { configurePlatform } = await import('./configurePlatform-xU3Hsno3.js');
|
|
468
467
|
if (isBrowser()) {
|
|
469
468
|
const { createPlatformServices } = await import('./platform.browser.js');
|
|
470
469
|
configurePlatform(createPlatformServices());
|
|
@@ -1847,7 +1846,7 @@ function getRefValueType(prop) {
|
|
|
1847
1846
|
* @returns Promise that resolves when properties are found, or rejects if not found after max retries
|
|
1848
1847
|
*/
|
|
1849
1848
|
const verifyPropertiesPersisted = async (db, modelId, modelName, maxRetries = 10, retryDelay = 100) => {
|
|
1850
|
-
const _mod_0 = await import('./BasePathResolver-
|
|
1849
|
+
const _mod_0 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
1851
1850
|
const _ns_0 = _mod_0.N;
|
|
1852
1851
|
const modelSchemaMod = _ns_0;
|
|
1853
1852
|
const { properties: propertiesTable } = modelSchemaMod;
|
|
@@ -2195,7 +2194,7 @@ async function importJsonSchema(importFilePathOrContents, version = 1) {
|
|
|
2195
2194
|
// Check DB for existing schema by name+version (same as minimal path)
|
|
2196
2195
|
const db = BaseDb.getAppDb();
|
|
2197
2196
|
if (db) {
|
|
2198
|
-
const _mod_1 = await import('./BasePathResolver-
|
|
2197
|
+
const _mod_1 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2199
2198
|
const _ns_1 = _mod_1.Q;
|
|
2200
2199
|
const schemaSchemaMod = _ns_1;
|
|
2201
2200
|
const { schemas: schemasTable } = schemaSchemaMod;
|
|
@@ -2280,7 +2279,7 @@ async function importJsonSchema(importFilePathOrContents, version = 1) {
|
|
|
2280
2279
|
// For minimal imports: check DB for existing schema before creating new file
|
|
2281
2280
|
const db = BaseDb.getAppDb();
|
|
2282
2281
|
if (db) {
|
|
2283
|
-
const _mod_2 = await import('./BasePathResolver-
|
|
2282
|
+
const _mod_2 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2284
2283
|
const _ns_2 = _mod_2.Q;
|
|
2285
2284
|
const schemaSchemaMod = _ns_2;
|
|
2286
2285
|
const { schemas: schemasTable } = schemaSchemaMod;
|
|
@@ -2459,7 +2458,7 @@ async function importJsonSchema(importFilePathOrContents, version = 1) {
|
|
|
2459
2458
|
updatedAt: new Date(schemaFile.metadata.updatedAt).getTime(),
|
|
2460
2459
|
};
|
|
2461
2460
|
// Use dynamic import to break circular dependency
|
|
2462
|
-
const _mod_3 = await import('./db-
|
|
2461
|
+
const _mod_3 = await import('./db-W1g29qsM.js');
|
|
2463
2462
|
const _ns_3 = _mod_3.Z;
|
|
2464
2463
|
const dbMod = _ns_3;
|
|
2465
2464
|
const { addSchemaToDb, addModelsToDb } = dbMod;
|
|
@@ -2481,11 +2480,11 @@ async function importJsonSchema(importFilePathOrContents, version = 1) {
|
|
|
2481
2480
|
});
|
|
2482
2481
|
// Verify expected models are linked (single attempt - addModelsToDb already confirmed)
|
|
2483
2482
|
const expectedModelNames = Object.keys(schemaFile.models || {});
|
|
2484
|
-
const _mod_4 = await import('./BasePathResolver-
|
|
2483
|
+
const _mod_4 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2485
2484
|
const _ns_4 = _mod_4.R;
|
|
2486
2485
|
const modelSchemaSchemaMod = _ns_4;
|
|
2487
2486
|
const { modelSchemas } = modelSchemaSchemaMod;
|
|
2488
|
-
const _mod_5 = await import('./BasePathResolver-
|
|
2487
|
+
const _mod_5 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2489
2488
|
const _ns_5 = _mod_5.N;
|
|
2490
2489
|
const modelSchemaMod = _ns_5;
|
|
2491
2490
|
const { models: modelsTable } = modelSchemaMod;
|
|
@@ -2684,7 +2683,7 @@ async function applySchemaToDb(schemaFile, modelDefinitions, modelFileIds, prope
|
|
|
2684
2683
|
createdAt: new Date(schemaFile.metadata.createdAt).getTime(),
|
|
2685
2684
|
updatedAt: new Date(schemaFile.metadata.updatedAt).getTime(),
|
|
2686
2685
|
};
|
|
2687
|
-
const _mod_6 = await import('./db-
|
|
2686
|
+
const _mod_6 = await import('./db-W1g29qsM.js');
|
|
2688
2687
|
const _ns_6 = _mod_6.Z;
|
|
2689
2688
|
const dbMod = _ns_6;
|
|
2690
2689
|
const { addSchemaToDb, addModelsToDb } = dbMod;
|
|
@@ -2844,11 +2843,11 @@ const loadSchemaFromFile = async (schemaFilePath) => {
|
|
|
2844
2843
|
if (db) {
|
|
2845
2844
|
const { schemaRecord } = await applySchemaToDb(schemaFile, modelDefinitions, modelFileIds, propertyFileIds);
|
|
2846
2845
|
// Query the database to get model IDs that were just created
|
|
2847
|
-
const _mod_7 = await import('./BasePathResolver-
|
|
2846
|
+
const _mod_7 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2848
2847
|
const _ns_7 = _mod_7.R;
|
|
2849
2848
|
const modelSchemaSchemaMod = _ns_7;
|
|
2850
2849
|
const { modelSchemas } = modelSchemaSchemaMod;
|
|
2851
|
-
const _mod_8 = await import('./BasePathResolver-
|
|
2850
|
+
const _mod_8 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2852
2851
|
const _ns_8 = _mod_8.N;
|
|
2853
2852
|
const modelSchemaMod = _ns_8;
|
|
2854
2853
|
const { models: modelsTable } = modelSchemaMod;
|
|
@@ -2914,7 +2913,7 @@ const loadSchemaFromFile = async (schemaFilePath) => {
|
|
|
2914
2913
|
// After properties are created (file path), ensure schemaFile has the correct IDs from database
|
|
2915
2914
|
// Query the database to get the actual schemaFileId values that were used
|
|
2916
2915
|
// This ensures schemaData matches what's actually in the database
|
|
2917
|
-
const _mod_9 = await import('./BasePathResolver-
|
|
2916
|
+
const _mod_9 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2918
2917
|
const _ns_9 = _mod_9.N;
|
|
2919
2918
|
const modelSchemaMod2 = _ns_9;
|
|
2920
2919
|
const { properties: propertiesTable } = modelSchemaMod2;
|
|
@@ -2950,7 +2949,7 @@ const loadSchemaFromFile = async (schemaFilePath) => {
|
|
|
2950
2949
|
// This is important even if nothing changed, to ensure consistency
|
|
2951
2950
|
const updatedSchemaData = JSON.stringify(schemaFile, null, 2);
|
|
2952
2951
|
// Update the schema record in the database with current schemaData
|
|
2953
|
-
const _mod_10 = await import('./BasePathResolver-
|
|
2952
|
+
const _mod_10 = await import('./BasePathResolver-BdxCSIzn.js');
|
|
2954
2953
|
const _ns_10 = _mod_10.Q;
|
|
2955
2954
|
const schemaSchemaMod = _ns_10;
|
|
2956
2955
|
const { schemas: schemasTable } = schemaSchemaMod;
|
|
@@ -2993,8 +2992,8 @@ const loadSchemaFromFile = async (schemaFilePath) => {
|
|
|
2993
2992
|
*/
|
|
2994
2993
|
const createModelFromJson = async (modelName, modelDef, schemaName, modelFileId, // Optional modelFileId from JSON file
|
|
2995
2994
|
propertyFileIds) => {
|
|
2996
|
-
const _mod_11 = await import('./index-
|
|
2997
|
-
const _ns_11 = _mod_11.
|
|
2995
|
+
const _mod_11 = await import('./index-DRXC5Mra.js');
|
|
2996
|
+
const _ns_11 = _mod_11.f;
|
|
2998
2997
|
const modelMod = _ns_11;
|
|
2999
2998
|
const { Model } = modelMod;
|
|
3000
2999
|
// Convert JSON properties to schema format
|
|
@@ -4151,7 +4150,9 @@ async function listPublishedSeedRows(schemaName, opts) {
|
|
|
4151
4150
|
markedForDeletion: seeds._markedForDeletion,
|
|
4152
4151
|
})
|
|
4153
4152
|
.from(seeds)
|
|
4154
|
-
.where(and(inArray(seeds.type, typeCandidates), isNotNull(seeds.uid),
|
|
4153
|
+
.where(and(inArray(seeds.type, typeCandidates), isNotNull(seeds.uid),
|
|
4154
|
+
// The query layer passes `0x` + hex only, so no LIKE wildcards to escape.
|
|
4155
|
+
opts?.uidPrefix ? like(seeds.uid, `${opts.uidPrefix}%`) : undefined, or(isNull(seeds.revokedAt), eq(seeds.revokedAt, 0)), or(isNull(seeds._markedForDeletion), eq(seeds._markedForDeletion, 0))))
|
|
4155
4156
|
.orderBy(desc(seeds.attestationCreatedAt));
|
|
4156
4157
|
const out = [];
|
|
4157
4158
|
for (const row of rows) {
|
|
@@ -4230,6 +4231,10 @@ function createLocalQueryDataSource() {
|
|
|
4230
4231
|
const all = await listPublishedSeedRows(schemaName);
|
|
4231
4232
|
return all.slice(opts.skip, opts.skip + opts.limit);
|
|
4232
4233
|
},
|
|
4234
|
+
async listSeedsByUidPrefix(schemaName, uidPrefix, opts) {
|
|
4235
|
+
const matching = await listPublishedSeedRows(schemaName, { uidPrefix });
|
|
4236
|
+
return matching.slice(opts.skip, opts.skip + opts.limit);
|
|
4237
|
+
},
|
|
4233
4238
|
async listSeedsBySchemaNameForMonth(schemaName, year, month) {
|
|
4234
4239
|
const { startTs, endTs } = monthBoundsUnix(year, month);
|
|
4235
4240
|
return listPublishedSeedRows(schemaName, { startTs, endTs });
|
|
@@ -4760,4 +4765,4 @@ var ClientManager$1 = /*#__PURE__*/Object.freeze({
|
|
|
4760
4765
|
});
|
|
4761
4766
|
|
|
4762
4767
|
export { startEasSyncActor as A, unregisterSeedQueryLocalSource as B, ClientManager as C, createModelsFromJson as D, EAS_CHAIN_ID_APP_STATE_KEY as E, getLatestSchemaVersion as F, schema as G, ClientManager$1 as H, SEEDPROTOCOL_Seed_Protocol_v1 as S, assertLocalDbChain as a, getRefValueType as b, claimUnpublishedDrafts as c, createLocalQueryDataSource as d, createSchema as e, easSyncActor as f, getContentHash as g, getClient as h, importJsonSchema as i, getPublishedSeedRecord as j, getSchemaNameFromId as k, loadSchemaFromFile as l, isSeedQueryLocalSourceRegistered as m, listCompleteSchemaFiles as n, loadAllSchemasFromDb as o, mergeEasSyncRequestIntents as p, readSchema as q, readJsonImportFile as r, syncSchemaFromSource as s, transformImportToSchemaFile as t, registerSeedQueryLocalSource as u, requestEasSyncFromAddressChange as v, waitForEasReadChain as w, requestEasSyncFromEventBus as x, requestEasSyncFromModelsInit as y, sendEasSyncClientRequest as z };
|
|
4763
|
-
//# sourceMappingURL=ClientManager-
|
|
4768
|
+
//# sourceMappingURL=ClientManager-ClCwwhwo.js.map
|