@seedprotocol/sdk 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BasePathResolver-BDgc7c4T.js → BasePathResolver-DWY_hb8w.js} +2 -2
- package/dist/{BasePathResolver-BDgc7c4T.js.map → BasePathResolver-DWY_hb8w.js.map} +1 -1
- package/dist/{ModelProperty-BBXBvgvy.js → ModelProperty-DGJf78CS.js} +21 -21
- package/dist/{ModelProperty-BBXBvgvy.js.map → ModelProperty-DGJf78CS.js.map} +1 -1
- package/dist/{Schema-xAt7jWlW.js → Schema-Drmce3q-.js} +39 -39
- package/dist/{Schema-xAt7jWlW.js.map → Schema-Drmce3q-.js.map} +1 -1
- package/dist/{SchemaValidationService-CLzAdBm-.js → SchemaValidationService-a_sfnpDV.js} +5 -5
- package/dist/{SchemaValidationService-CLzAdBm-.js.map → SchemaValidationService-a_sfnpDV.js.map} +1 -1
- package/dist/{backfillMetadataPropertyIds-DBVaIs7O.js → backfillMetadataPropertyIds-CZcOi-cK.js} +3 -3
- package/dist/{backfillMetadataPropertyIds-DBVaIs7O.js.map → backfillMetadataPropertyIds-CZcOi-cK.js.map} +1 -1
- package/dist/cjs/{ModelProperty-Dgd4tGrB.js → ModelProperty-BA26rMV8.js} +17 -17
- package/dist/cjs/{ModelProperty-Dgd4tGrB.js.map → ModelProperty-BA26rMV8.js.map} +1 -1
- package/dist/cjs/{Schema-dkd-eo3B.js → Schema-Hgwq3L34.js} +20 -20
- package/dist/cjs/{Schema-dkd-eo3B.js.map → Schema-Hgwq3L34.js.map} +1 -1
- package/dist/cjs/{SchemaValidationService-BMnjcVWV.js → SchemaValidationService-DVmOGZao.js} +2 -2
- package/dist/cjs/{SchemaValidationService-BMnjcVWV.js.map → SchemaValidationService-DVmOGZao.js.map} +1 -1
- package/dist/cjs/{backfillMetadataPropertyIds-ClLuj3s6.js → backfillMetadataPropertyIds-BWJI4eCj.js} +2 -2
- package/dist/cjs/{backfillMetadataPropertyIds-ClLuj3s6.js.map → backfillMetadataPropertyIds-BWJI4eCj.js.map} +1 -1
- package/dist/cjs/{eas-nWAzbl_F.js → eas-BJ8FtbU9.js} +3 -3
- package/dist/cjs/{eas-nWAzbl_F.js.map → eas-BJ8FtbU9.js.map} +1 -1
- package/dist/cjs/{getItem-B08FgglK.js → getItem-DdBKeEEU.js} +2 -2
- package/dist/cjs/{getItem-B08FgglK.js.map → getItem-DdBKeEEU.js.map} +1 -1
- package/dist/cjs/{getPublishPayload-B_G_6qkE.js → getPublishPayload-DSBLjMKl.js} +11 -11
- package/dist/cjs/{getPublishPayload-B_G_6qkE.js.map → getPublishPayload-DSBLjMKl.js.map} +1 -1
- package/dist/cjs/{getPublishUploads-Dt-DS-lo.js → getPublishUploads-DMKnK2_R.js} +4 -4
- package/dist/cjs/{getPublishUploads-Dt-DS-lo.js.map → getPublishUploads-DMKnK2_R.js.map} +1 -1
- package/dist/cjs/{getSegmentedItemProperties-BDGbeDW7.js → getSegmentedItemProperties-D0ZzTmvi.js} +3 -3
- package/dist/cjs/{getSegmentedItemProperties-BDGbeDW7.js.map → getSegmentedItemProperties-D0ZzTmvi.js.map} +1 -1
- package/dist/cjs/{index-CRBI6dSD.js → index-BD1b6zAi.js} +498 -40
- package/dist/cjs/index-BD1b6zAi.js.map +1 -0
- package/dist/cjs/{index-Dx19j60c.js → index-DQggpLqI.js} +3 -3
- package/dist/cjs/index-DQggpLqI.js.map +1 -0
- package/dist/cjs/index.browser-BSf8HpnU.js.map +1 -1
- package/dist/cjs/{property-628qAHpN.js → property-D4IB0zBz.js} +4 -4
- package/dist/cjs/{property-628qAHpN.js.map → property-D4IB0zBz.js.map} +1 -1
- package/dist/cjs/{syncDbWithEas-DOBtMPw-.js → syncDbWithEas-BYvFJc7N.js} +6 -6
- package/dist/cjs/{syncDbWithEas-DOBtMPw-.js.map → syncDbWithEas-BYvFJc7N.js.map} +1 -1
- package/dist/{configurePlatform-Ce6NIKRP.js → configurePlatform-CXQCT7N8.js} +3 -3
- package/dist/{configurePlatform-Ce6NIKRP.js.map → configurePlatform-CXQCT7N8.js.map} +1 -1
- package/dist/{constants-slkc9uq0.js → constants-B7aNfB_1.js} +3 -3
- package/dist/{constants-slkc9uq0.js.map → constants-B7aNfB_1.js.map} +1 -1
- package/dist/constants-DMHTYMgJ.js.map +1 -1
- package/dist/{db-CSmK0c3e.js → db-Bad8QKfZ.js} +18 -18
- package/dist/{db-CSmK0c3e.js.map → db-Bad8QKfZ.js.map} +1 -1
- package/dist/{eas-rx1grht5.js → eas-BB9hVW68.js} +6 -6
- package/dist/{eas-rx1grht5.js.map → eas-BB9hVW68.js.map} +1 -1
- package/dist/{getItem-hPBJU5JF.js → getItem-Cina46nb.js} +5 -5
- package/dist/{getItem-hPBJU5JF.js.map → getItem-Cina46nb.js.map} +1 -1
- package/dist/{getPublishPayload-5ugovGK5.js → getPublishPayload-BEO52UOv.js} +16 -16
- package/dist/{getPublishPayload-5ugovGK5.js.map → getPublishPayload-BEO52UOv.js.map} +1 -1
- package/dist/{getPublishUploads-CdWeci-s.js → getPublishUploads-CJjfqJi9.js} +7 -7
- package/dist/{getPublishUploads-CdWeci-s.js.map → getPublishUploads-CJjfqJi9.js.map} +1 -1
- package/dist/{getSegmentedItemProperties-DV2LHElJ.js → getSegmentedItemProperties-CbzFDgFr.js} +5 -5
- package/dist/{getSegmentedItemProperties-DV2LHElJ.js.map → getSegmentedItemProperties-CbzFDgFr.js.map} +1 -1
- package/dist/{index-ClwdGWfr.js → index-B4In0GEO.js} +428 -64
- package/dist/index-B4In0GEO.js.map +1 -0
- package/dist/index-DNOCl06b.js +28 -0
- package/dist/index-DNOCl06b.js.map +1 -0
- package/dist/{index-QMrBK-L3.js → index-DrEkRiuK.js} +2 -2
- package/dist/index-DrEkRiuK.js.map +1 -0
- package/dist/{index.node-CrXwRoiB.js → index.node-CnP9s4cV.js} +4 -4
- package/dist/{index.node-CrXwRoiB.js.map → index.node-CnP9s4cV.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +19 -20
- package/dist/main.js.map +1 -1
- package/dist/node.js +10 -10
- package/dist/node.js.map +1 -1
- package/dist/platform.browser.js +4 -4
- package/dist/platform.browser.js.map +1 -1
- package/dist/platform.node.js +3 -3
- package/dist/{property-CKhOxRNt.js → property-DIN1zQ_c.js} +8 -8
- package/dist/{property-CKhOxRNt.js.map → property-DIN1zQ_c.js.map} +1 -1
- package/dist/src/Item/Item.d.ts +5 -0
- package/dist/src/Item/Item.d.ts.map +1 -1
- package/dist/src/Item/service/itemMachineSingle.d.ts +2 -2
- package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +1 -1
- package/dist/src/ItemProperty/service/propertyMachine.d.ts +2 -2
- package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
- package/dist/src/Model/service/modelMachine.d.ts +10 -18
- package/dist/src/Model/service/modelMachine.d.ts.map +1 -1
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +5 -13
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -1
- package/dist/src/Schema/service/addModelsMachine.d.ts +8 -8
- package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -1
- package/dist/src/Schema/service/schemaMachine.d.ts +22 -30
- package/dist/src/Schema/service/schemaMachine.d.ts.map +1 -1
- package/dist/src/client/ClientManager.d.ts +16 -6
- package/dist/src/client/ClientManager.d.ts.map +1 -1
- package/dist/src/client/clientManagerMachine.d.ts +2 -2
- package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
- package/dist/src/client/events.d.ts +7 -0
- package/dist/src/client/events.d.ts.map +1 -1
- package/dist/src/db/write/removeLocalCopiesForAddresses.d.ts +20 -0
- package/dist/src/db/write/removeLocalCopiesForAddresses.d.ts.map +1 -0
- package/dist/src/events/item/easSyncManager.d.ts +2 -2
- package/dist/src/events/item/easSyncManager.d.ts.map +1 -1
- package/dist/src/helpers/file/download/index.d.ts +2 -2
- package/dist/src/helpers/file/download/index.d.ts.map +1 -1
- package/dist/src/helpers/file/fetchAll/index.d.ts +2 -2
- package/dist/src/helpers/file/fetchAll/index.d.ts.map +1 -1
- package/dist/src/helpers/ownership.d.ts +7 -0
- package/dist/src/helpers/ownership.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/services/publish/publishMachine.d.ts +1 -1
- package/dist/src/services/publish/publishMachine.d.ts.map +1 -1
- package/dist/src/services/write/writeProcessMachine.d.ts +2 -6
- package/dist/src/services/write/writeProcessMachine.d.ts.map +1 -1
- package/dist/{syncDbWithEas-GsaXzTIY.js → syncDbWithEas-ceVUuWSZ.js} +13 -13
- package/dist/{syncDbWithEas-GsaXzTIY.js.map → syncDbWithEas-ceVUuWSZ.js.map} +1 -1
- package/dist/{updateSeedRevokedAt-Ba0OhDQj.js → updateSeedRevokedAt-CtRjZiyh.js} +2 -2
- package/dist/{updateSeedRevokedAt-Ba0OhDQj.js.map → updateSeedRevokedAt-CtRjZiyh.js.map} +1 -1
- package/package.json +23 -6
- package/dist/cjs/index-CRBI6dSD.js.map +0 -1
- package/dist/cjs/index-Dx19j60c.js.map +0 -1
- package/dist/cjs/ownership-3Tc1-Yrc.js +0 -105
- package/dist/cjs/ownership-3Tc1-Yrc.js.map +0 -1
- package/dist/index-CcH2e0Zr.js +0 -23
- package/dist/index-CcH2e0Zr.js.map +0 -1
- package/dist/index-ClwdGWfr.js.map +0 -1
- package/dist/index-QMrBK-L3.js.map +0 -1
- package/dist/ownership-58i0iyD9.js +0 -106
- package/dist/ownership-58i0iyD9.js.map +0 -1
|
@@ -481,5 +481,5 @@ class BasePathResolver {
|
|
|
481
481
|
}
|
|
482
482
|
BasePathResolver._impl = null;
|
|
483
483
|
|
|
484
|
-
export {
|
|
485
|
-
//# sourceMappingURL=BasePathResolver-
|
|
484
|
+
export { BaseFileManager as B, ModelSchema as M, SchemaSchema as S, BaseDb as a, metadata as b, appState as c, arweaveL1FinalizeJobs as d, config as e, easSyncProcesses as f, modelRelations as g, htmlEmbeddedImageCoPublish as h, modelSchemas as i, modelUids as j, modelsRelations as k, propertiesRelations as l, models 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, BaseFileManager$1 as w, ModelSchemaSchema as x };
|
|
485
|
+
//# sourceMappingURL=BasePathResolver-DWY_hb8w.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePathResolver-BDgc7c4T.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/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 },\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\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 static async initializeFileSystem(workingDir?: string): Promise<void> {\n if (this.initializing || this.fileSystemInitialized) {\n return Promise.resolve()\n }\n this.initializing = true\n await BaseFileManager.requireImpl().initializeFileSystem(workingDir)\n this.fileSystemInitialized = true\n this.initializing = false\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 excludedTransactions,\n }: DownloadAllFilesParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds,\n arweaveHost,\n excludedTransactions,\n })\n }\n\n static downloadFileByTransactionId({\n transactionId,\n arweaveHost,\n excludedTransactions,\n }: DownloadSingleFileParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds: [transactionId],\n arweaveHost,\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 /**\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 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\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})\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 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","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-DWY_hb8w.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/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 },\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\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 static async initializeFileSystem(workingDir?: string): Promise<void> {\n if (this.initializing || this.fileSystemInitialized) {\n return Promise.resolve()\n }\n this.initializing = true\n await BaseFileManager.requireImpl().initializeFileSystem(workingDir)\n this.fileSystemInitialized = true\n this.initializing = false\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 excludedTransactions,\n }: DownloadAllFilesParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds,\n arweaveHost,\n excludedTransactions,\n })\n }\n\n static downloadFileByTransactionId({\n transactionId,\n arweaveHost,\n excludedTransactions,\n }: DownloadSingleFileParams): Promise<void> {\n return BaseFileManager.requireImpl().downloadAllFiles({\n transactionIds: [transactionId],\n arweaveHost,\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 /**\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 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\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})\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 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","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,13 +1,13 @@
|
|
|
1
1
|
import { fromCallback, setup, assign, createActor } from 'xstate';
|
|
2
2
|
import 'reflect-metadata';
|
|
3
|
-
import { w as writeProcessMachine, M as Model, m as modelPropertiesToObject,
|
|
4
|
-
import { n as normalizeDataType } from './constants-
|
|
3
|
+
import { w as writeProcessMachine, M as Model, m as modelPropertiesToObject, h as generateId, u as waitForEntityIdle, v as createReactiveProxy, x as findEntity, y as forceRemoveFromCaches, z as runDestroyLifecycle } from './index-B4In0GEO.js';
|
|
4
|
+
import { n as normalizeDataType } from './constants-B7aNfB_1.js';
|
|
5
5
|
import 'pluralize';
|
|
6
|
-
import {
|
|
6
|
+
import { a as BaseDb, m as models, p as properties, s as schemas, i as modelSchemas, B as BaseFileManager } from './BasePathResolver-DWY_hb8w.js';
|
|
7
7
|
import { eq, and } from 'drizzle-orm';
|
|
8
8
|
import debug from 'debug';
|
|
9
|
-
import { getModelIdByFileId, getModelId } from './db-
|
|
10
|
-
import { S as Schema } from './Schema-
|
|
9
|
+
import { getModelIdByFileId, getModelId } from './db-Bad8QKfZ.js';
|
|
10
|
+
import { S as Schema } from './Schema-Drmce3q-.js';
|
|
11
11
|
import 'nanoid';
|
|
12
12
|
import 'nanoid-dictionary';
|
|
13
13
|
import '@seedprotocol/eas';
|
|
@@ -20,7 +20,7 @@ import 'js-sha3';
|
|
|
20
20
|
import '@seedprotocol/query';
|
|
21
21
|
import '@sinclair/typebox';
|
|
22
22
|
import 'drizzle-orm/sqlite-core';
|
|
23
|
-
import './SchemaValidationService-
|
|
23
|
+
import './SchemaValidationService-a_sfnpDV.js';
|
|
24
24
|
import '@sinclair/typebox/value';
|
|
25
25
|
|
|
26
26
|
const logger$3 = debug('seedSdk:modelProperty:actors:saveToSchema');
|
|
@@ -31,14 +31,14 @@ const logger$3 = debug('seedSdk:modelProperty:actors:saveToSchema');
|
|
|
31
31
|
*/
|
|
32
32
|
async function getSchemaNameFromModel(modelName) {
|
|
33
33
|
// Get the latest schema files and find which one contains this model
|
|
34
|
-
const _mod_0 = await import('./index-
|
|
35
|
-
const _ns_0 = _mod_0.
|
|
34
|
+
const _mod_0 = await import('./index-B4In0GEO.js');
|
|
35
|
+
const _ns_0 = _mod_0.am;
|
|
36
36
|
const schemaHelpersMod = _ns_0;
|
|
37
37
|
const { listLatestSchemaFiles } = schemaHelpersMod;
|
|
38
38
|
const latestSchemas = await listLatestSchemaFiles();
|
|
39
39
|
for (const schema of latestSchemas) {
|
|
40
40
|
try {
|
|
41
|
-
const _mod_1 = await import('./BasePathResolver-
|
|
41
|
+
const _mod_1 = await import('./BasePathResolver-DWY_hb8w.js');
|
|
42
42
|
const _ns_1 = _mod_1.w;
|
|
43
43
|
const fileManagerMod = _ns_1;
|
|
44
44
|
const { BaseFileManager } = fileManagerMod;
|
|
@@ -58,7 +58,7 @@ async function getSchemaNameFromModel(modelName) {
|
|
|
58
58
|
const saveToSchema = fromCallback(({ sendBack, input: { context } }) => {
|
|
59
59
|
const _saveToSchema = async () => {
|
|
60
60
|
// Use dynamic import to break circular dependency
|
|
61
|
-
const validationServiceMod = await import('./SchemaValidationService-
|
|
61
|
+
const validationServiceMod = await import('./SchemaValidationService-a_sfnpDV.js');
|
|
62
62
|
const { SchemaValidationService } = validationServiceMod;
|
|
63
63
|
const validationService = new SchemaValidationService();
|
|
64
64
|
// Validate property structure before saving
|
|
@@ -77,13 +77,13 @@ const saveToSchema = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
77
77
|
throw new Error(`Model not found for modelId: ${context.modelId}`);
|
|
78
78
|
}
|
|
79
79
|
// Persist to database only - schema file is updated only when user calls Schema.saveNewVersion()
|
|
80
|
-
const dbMod = await import('./db-
|
|
80
|
+
const dbMod = await import('./db-Bad8QKfZ.js');
|
|
81
81
|
const { savePropertyToDb } = dbMod;
|
|
82
82
|
await savePropertyToDb(context);
|
|
83
83
|
// Mark schema as draft so user knows to save
|
|
84
84
|
const schemaName = context._schemaName ?? (await getSchemaNameFromModel(context.modelName));
|
|
85
85
|
if (schemaName) {
|
|
86
|
-
const _mod_2 = await import('./Schema-
|
|
86
|
+
const _mod_2 = await import('./Schema-Drmce3q-.js');
|
|
87
87
|
const _ns_2 = _mod_2.b;
|
|
88
88
|
const schemaMod = _ns_2;
|
|
89
89
|
const { Schema } = schemaMod;
|
|
@@ -118,7 +118,7 @@ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
118
118
|
const schemaFileIdForResolve = fullContext._propertyFileId || (typeof fullContext.id === 'string' ? fullContext.id : undefined);
|
|
119
119
|
if (schemaFileIdForResolve && (fullContext.modelName === undefined || fullContext.dataType === undefined)) {
|
|
120
120
|
try {
|
|
121
|
-
const dbMod = await import('./db-
|
|
121
|
+
const dbMod = await import('./db-Bad8QKfZ.js');
|
|
122
122
|
const { getPropertyModelNameAndDataType, getModelNameByModelId } = dbMod;
|
|
123
123
|
let fromDb;
|
|
124
124
|
for (let attempt = 0; attempt < 6; attempt++) {
|
|
@@ -163,7 +163,7 @@ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
163
163
|
if (fullContext.modelName && fullContext.name && schemaFileId) {
|
|
164
164
|
logger$2(`[compareAndMarkDraft] _originalValues not set, but saving to database anyway for property ${context.modelName}:${context.name} (schemaFileId: ${schemaFileId})`);
|
|
165
165
|
try {
|
|
166
|
-
const dbMod = await import('./db-
|
|
166
|
+
const dbMod = await import('./db-Bad8QKfZ.js');
|
|
167
167
|
const { savePropertyToDb } = dbMod;
|
|
168
168
|
// Ensure _propertyFileId is set for savePropertyToDb to find the property
|
|
169
169
|
const contextWithFileId = {
|
|
@@ -223,7 +223,7 @@ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
223
223
|
logger$2(`Property ${fullContext.modelName}:${fullContext.name} has changes, marking as edited`);
|
|
224
224
|
logger$2(`[compareAndMarkDraft] Context when saving: id=${fullContext.id}, _propertyFileId=${fullContext._propertyFileId}, name=${fullContext.name}, _originalValues.name=${fullContext._originalValues?.name}`);
|
|
225
225
|
// Use dynamic import to break circular dependency
|
|
226
|
-
const dbMod = await import('./db-
|
|
226
|
+
const dbMod = await import('./db-Bad8QKfZ.js');
|
|
227
227
|
const { savePropertyToDb } = dbMod;
|
|
228
228
|
// Save to database (but not JSON file) - always save to DB when there are changes
|
|
229
229
|
try {
|
|
@@ -237,7 +237,7 @@ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
237
237
|
// Mark schema as draft if schema name is available
|
|
238
238
|
if (fullContext._schemaName) {
|
|
239
239
|
// Get the Schema instance and mark it as draft
|
|
240
|
-
const _mod_3 = await import('./Schema-
|
|
240
|
+
const _mod_3 = await import('./Schema-Drmce3q-.js');
|
|
241
241
|
const _ns_3 = _mod_3.b;
|
|
242
242
|
const schemaMod = _ns_3;
|
|
243
243
|
const { Schema } = schemaMod;
|
|
@@ -256,7 +256,7 @@ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
256
256
|
logger$2(`Property ${fullContext.modelName}:${fullContext.name} has no changes`);
|
|
257
257
|
// Clear isEdited flag in database
|
|
258
258
|
try {
|
|
259
|
-
const _mod_4 = await import('./index-
|
|
259
|
+
const _mod_4 = await import('./index-DrEkRiuK.js');
|
|
260
260
|
const _ns_4 = _mod_4.s;
|
|
261
261
|
const seedSchemaMod = _ns_4;
|
|
262
262
|
const { properties: propertiesTable, models: modelsTable } = seedSchemaMod;
|
|
@@ -322,7 +322,7 @@ const validateProperty = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
322
322
|
// Brief wait so trackPendingWrite from ModelProperty.create() has time to run (it's in setTimeout(0))
|
|
323
323
|
await new Promise((r) => setTimeout(r, 60));
|
|
324
324
|
try {
|
|
325
|
-
const dbMod = await import('./db-
|
|
325
|
+
const dbMod = await import('./db-Bad8QKfZ.js');
|
|
326
326
|
const { getPropertyModelNameAndDataType, getModelNameByModelId } = dbMod;
|
|
327
327
|
// Try pending write first (property row may not exist yet)
|
|
328
328
|
if (fullContext.modelName === undefined && schemaFileId) {
|
|
@@ -374,10 +374,10 @@ const validateProperty = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
374
374
|
fullContext = { ...fullContext, dataType: (fullContext.dataType ?? context._originalValues?.dataType) || 'Text' };
|
|
375
375
|
}
|
|
376
376
|
// Use dynamic imports to break circular dependencies
|
|
377
|
-
const validationServiceMod = await import('./SchemaValidationService-
|
|
377
|
+
const validationServiceMod = await import('./SchemaValidationService-a_sfnpDV.js');
|
|
378
378
|
const { SchemaValidationService } = validationServiceMod;
|
|
379
379
|
const validationService = new SchemaValidationService();
|
|
380
|
-
const _mod_5 = await import('./Schema-
|
|
380
|
+
const _mod_5 = await import('./Schema-Drmce3q-.js');
|
|
381
381
|
const _ns_5 = _mod_5.b;
|
|
382
382
|
const schemaMod = _ns_5;
|
|
383
383
|
const { Schema } = schemaMod;
|
|
@@ -1763,4 +1763,4 @@ var ModelProperty$1 = /*#__PURE__*/Object.freeze({
|
|
|
1763
1763
|
});
|
|
1764
1764
|
|
|
1765
1765
|
export { ModelProperty };
|
|
1766
|
-
//# sourceMappingURL=ModelProperty-
|
|
1766
|
+
//# sourceMappingURL=ModelProperty-DGJf78CS.js.map
|