@seedprotocol/sdk 0.7.3-next.613.g79a8dfd → 0.7.3-next.654.g52217f6
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-BdxCSIzn.js → BasePathResolver-CfSfMW5_.js} +7 -10
- package/dist/BasePathResolver-CfSfMW5_.js.map +1 -0
- package/dist/{ClientManager-DDA9956Y.js → ClientManager-C-QXqUK9.js} +438 -153
- package/dist/ClientManager-C-QXqUK9.js.map +1 -0
- package/dist/{Item-D4FigtYS.js → Item-C7sUUu2B.js} +291 -105
- package/dist/Item-C7sUUu2B.js.map +1 -0
- package/dist/{ModelProperty-BDt6AU2h.js → ModelProperty-DJxeOOrc.js} +28 -27
- package/dist/ModelProperty-DJxeOOrc.js.map +1 -0
- package/dist/{Schema-B8xqLWkL.js → Schema-fXtvd-yL.js} +30 -30
- package/dist/{Schema-B8xqLWkL.js.map → Schema-fXtvd-yL.js.map} +1 -1
- package/dist/{SchemaValidationService-BPxkfDLU.js → SchemaValidationService-CvRS2HSO.js} +10 -9
- package/dist/{SchemaValidationService-BPxkfDLU.js.map → SchemaValidationService-CvRS2HSO.js.map} +1 -1
- package/dist/{backfillMetadataPropertyIds-DuTPcv8t.js → backfillMetadataPropertyIds-SXW-8C64.js} +4 -4
- package/dist/{backfillMetadataPropertyIds-DuTPcv8t.js.map → backfillMetadataPropertyIds-SXW-8C64.js.map} +1 -1
- package/dist/cjs/{ModelProperty-B-cZm1yU.js → ModelProperty-DXZ39Wyv.js} +24 -23
- package/dist/cjs/{ModelProperty-B-cZm1yU.js.map → ModelProperty-DXZ39Wyv.js.map} +1 -1
- package/dist/cjs/{Schema-STP972Xw.js → Schema-DdP109QD.js} +26 -25
- package/dist/cjs/{Schema-STP972Xw.js.map → Schema-DdP109QD.js.map} +1 -1
- package/dist/cjs/{SchemaValidationService-CKNW1bKg.js → SchemaValidationService-CSXxx7sQ.js} +5 -4
- package/dist/cjs/{SchemaValidationService-CKNW1bKg.js.map → SchemaValidationService-CSXxx7sQ.js.map} +1 -1
- package/dist/cjs/{backfillMetadataPropertyIds-CP3y1skt.js → backfillMetadataPropertyIds-CPYoaMl4.js} +6 -5
- package/dist/cjs/{backfillMetadataPropertyIds-CP3y1skt.js.map → backfillMetadataPropertyIds-CPYoaMl4.js.map} +1 -1
- package/dist/cjs/{eas-CAnUC4wd.js → eas-B2YDQssV.js} +6 -5
- package/dist/cjs/{eas-CAnUC4wd.js.map → eas-B2YDQssV.js.map} +1 -1
- package/dist/cjs/{getItem-CWgb3e9G.js → getItem-DgnaQzbE.js} +5 -4
- package/dist/cjs/{getItem-CWgb3e9G.js.map → getItem-DgnaQzbE.js.map} +1 -1
- package/dist/cjs/{getPublishPayload-BsZWiJ03.js → getPublishPayload-CqlqRdot.js} +12 -11
- package/dist/cjs/{getPublishPayload-BsZWiJ03.js.map → getPublishPayload-CqlqRdot.js.map} +1 -1
- package/dist/cjs/getPublishUploads-DsXY9S4U.js +872 -0
- package/dist/cjs/getPublishUploads-DsXY9S4U.js.map +1 -0
- package/dist/cjs/{index-nA5PxBSs.js → index-BHaWOwNF.js} +6 -5
- package/dist/cjs/index-BHaWOwNF.js.map +1 -0
- package/dist/cjs/{index-usKaANAq.js → index-C4XlgCJ4.js} +1156 -526
- package/dist/cjs/index-C4XlgCJ4.js.map +1 -0
- package/dist/cjs/{property-xMwPhQ5N.js → property-fa0iju0J.js} +8 -7
- package/dist/cjs/{property-xMwPhQ5N.js.map → property-fa0iju0J.js.map} +1 -1
- package/dist/cjs/{publishDraftGraph-BRWlR1KO.js → publishDraftGraph-3ASwAlD7.js} +4 -4
- package/dist/cjs/{publishDraftGraph-BRWlR1KO.js.map → publishDraftGraph-3ASwAlD7.js.map} +1 -1
- package/dist/cjs/{resetAmbiguousLegacyItemData-8nfkj9rz.js → resetAmbiguousLegacyItemData-Bu_MBBYt.js} +5 -4
- package/dist/cjs/{resetAmbiguousLegacyItemData-8nfkj9rz.js.map → resetAmbiguousLegacyItemData-Bu_MBBYt.js.map} +1 -1
- package/dist/cjs/{resolveModelForSyncedSeed-kYRuDWYw.js → resolveModelForSyncedSeed-BANIiuFU.js} +2 -2
- package/dist/cjs/{resolveModelForSyncedSeed-kYRuDWYw.js.map → resolveModelForSyncedSeed-BANIiuFU.js.map} +1 -1
- package/dist/cjs/{syncDbWithEas-DqRhV8o2.js → syncDbWithEas-CrmxxmUW.js} +10 -9
- package/dist/cjs/{syncDbWithEas-DqRhV8o2.js.map → syncDbWithEas-CrmxxmUW.js.map} +1 -1
- package/dist/{configurePlatform-YcOiDQBZ.js → configurePlatform-BRw2j0ZN.js} +7 -4
- package/dist/{configurePlatform-YcOiDQBZ.js.map → configurePlatform-BRw2j0ZN.js.map} +1 -1
- package/dist/{db-CQt-gcAl.js → db-D9K_f5cF.js} +14 -14
- package/dist/{db-CQt-gcAl.js.map → db-D9K_f5cF.js.map} +1 -1
- package/dist/{eas-CpOD74Ke.js → eas-DHxfswCt.js} +8 -5
- package/dist/eas-DHxfswCt.js.map +1 -0
- package/dist/{getItem-B_OoFkd7.js → getItem-d6N_aM6S.js} +8 -5
- package/dist/{getItem-B_OoFkd7.js.map → getItem-d6N_aM6S.js.map} +1 -1
- package/dist/{getPublishPayload-Xl3sRkR-.js → getPublishPayload-BHrxVtzY.js} +16 -16
- package/dist/{getPublishPayload-Xl3sRkR-.js.map → getPublishPayload-BHrxVtzY.js.map} +1 -1
- package/dist/getPublishUploads-BEqRiKIS.js +657 -0
- package/dist/getPublishUploads-BEqRiKIS.js.map +1 -0
- package/dist/{index-BGt4_oPO.js → index-CiMEoGu3.js} +12 -11
- package/dist/index-CiMEoGu3.js.map +1 -0
- package/dist/{index-CSOQFAOn.js → index-DglvthOk.js} +2 -2
- package/dist/index-DglvthOk.js.map +1 -0
- package/dist/{index-Xl1_4Lmb.js → index-s15q14rm.js} +29 -29
- package/dist/{index-Xl1_4Lmb.js.map → index-s15q14rm.js.map} +1 -1
- package/dist/{index.browser-CjTe0vt1.js → index.browser-Cm06tP4X.js} +553 -165
- package/dist/index.browser-Cm06tP4X.js.map +1 -0
- package/dist/{index.node-Cfa7npS6.js → index.node-C30dmFgn.js} +5 -5
- package/dist/{index.node-Cfa7npS6.js.map → index.node-C30dmFgn.js.map} +1 -1
- package/dist/main.cjs +4 -3
- package/dist/main.cjs.map +1 -1
- package/dist/main.js +32 -44
- package/dist/main.js.map +1 -1
- package/dist/mimeTypes-DHAHC4eZ.js +204 -0
- package/dist/mimeTypes-DHAHC4eZ.js.map +1 -0
- package/dist/node.js +13 -12
- package/dist/node.js.map +1 -1
- package/dist/platform.browser.js +9 -7
- package/dist/platform.browser.js.map +1 -1
- package/dist/platform.node.js +3 -3
- package/dist/{property-BrXkY1Rg.js → property-DhmmYAvQ.js} +12 -9
- package/dist/property-DhmmYAvQ.js.map +1 -0
- package/dist/{publishDraftGraph-X0Wr9txE.js → publishDraftGraph-yYP74WRt.js} +8 -8
- package/dist/{publishDraftGraph-X0Wr9txE.js.map → publishDraftGraph-yYP74WRt.js.map} +1 -1
- package/dist/{resetAmbiguousLegacyItemData-Ci6PM_vC.js → resetAmbiguousLegacyItemData-Bk0QyDW8.js} +2 -2
- package/dist/{resetAmbiguousLegacyItemData-Ci6PM_vC.js.map → resetAmbiguousLegacyItemData-Bk0QyDW8.js.map} +1 -1
- package/dist/{resolveModelForSyncedSeed-DFVdnYq8.js → resolveModelForSyncedSeed-8cAzvUFd.js} +2 -2
- package/dist/{resolveModelForSyncedSeed-DFVdnYq8.js.map → resolveModelForSyncedSeed-8cAzvUFd.js.map} +1 -1
- package/dist/src/Item/Item.d.ts +1 -1
- package/dist/src/Item/Item.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
- package/dist/src/browser/helpers/FileManager.d.ts +4 -1
- package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/browser/helpers/tolerantWebAccess.d.ts +79 -4
- package/dist/src/browser/helpers/tolerantWebAccess.d.ts.map +1 -1
- package/dist/src/browser/workers/FileDownloader.d.ts +19 -4
- package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -1
- package/dist/src/browser/workers/filesDownload.d.ts.map +1 -1
- package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
- package/dist/src/db/migrateLegacyItemStorageRows.d.ts +57 -0
- package/dist/src/db/migrateLegacyItemStorageRows.d.ts.map +1 -0
- package/dist/src/db/read/getCompositeChildPaths.d.ts +13 -0
- package/dist/src/db/read/getCompositeChildPaths.d.ts.map +1 -0
- package/dist/src/db/read/getItems.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.d.ts +32 -3
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/summarizePublishWork.d.ts.map +1 -1
- package/dist/src/db/write/convertVerbatimItemStorageRow.d.ts +44 -0
- package/dist/src/db/write/convertVerbatimItemStorageRow.d.ts.map +1 -0
- package/dist/src/db/write/createNewItem.d.ts.map +1 -1
- package/dist/src/events/files/download.d.ts.map +1 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts +3 -3
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/src/helpers/FileManager/IFileManager.d.ts +25 -1
- package/dist/src/helpers/FileManager/IFileManager.d.ts.map +1 -1
- package/dist/src/helpers/arweaveContentTags.d.ts +33 -0
- package/dist/src/helpers/arweaveContentTags.d.ts.map +1 -0
- package/dist/src/helpers/compositeUpload.d.ts +28 -0
- package/dist/src/helpers/compositeUpload.d.ts.map +1 -0
- package/dist/src/helpers/itemStorageFile.d.ts +57 -0
- package/dist/src/helpers/itemStorageFile.d.ts.map +1 -0
- package/dist/src/helpers/mapWithConcurrency.d.ts +7 -0
- package/dist/src/helpers/mapWithConcurrency.d.ts.map +1 -0
- package/dist/src/helpers/mimeTypes.d.ts +43 -0
- package/dist/src/helpers/mimeTypes.d.ts.map +1 -0
- package/dist/src/helpers/ownership.d.ts +19 -3
- package/dist/src/helpers/ownership.d.ts.map +1 -1
- package/dist/src/helpers/storageDir.d.ts +16 -0
- package/dist/src/helpers/storageDir.d.ts.map +1 -0
- package/dist/src/helpers/tabCoordinator.d.ts +5 -1
- package/dist/src/helpers/tabCoordinator.d.ts.map +1 -1
- package/dist/src/helpers/tabEvents.d.ts +23 -2
- package/dist/src/helpers/tabEvents.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/types/fileManager.d.ts +3 -14
- package/dist/src/types/fileManager.d.ts.map +1 -1
- package/dist/src/types/publish.d.ts +14 -0
- package/dist/src/types/publish.d.ts.map +1 -1
- package/dist/{syncDbWithEas-BU-jZ5bJ.js → syncDbWithEas--HUA9WNb.js} +15 -14
- package/dist/syncDbWithEas--HUA9WNb.js.map +1 -0
- package/dist/{tabEvents-BZJMY5uK.js → tabEvents-DguZpCCv.js} +294 -58
- package/dist/tabEvents-DguZpCCv.js.map +1 -0
- package/dist/tolerantWebAccess-BZYWt09Y.js +551 -0
- package/dist/tolerantWebAccess-BZYWt09Y.js.map +1 -0
- package/dist/{updateSeedRevokedAt-iLpzae1i.js → updateSeedRevokedAt-D_EG-q3b.js} +3 -3
- package/dist/{updateSeedRevokedAt-iLpzae1i.js.map → updateSeedRevokedAt-D_EG-q3b.js.map} +1 -1
- package/package.json +5 -5
- package/dist/BasePathResolver-BdxCSIzn.js.map +0 -1
- package/dist/ClientManager-DDA9956Y.js.map +0 -1
- package/dist/Item-D4FigtYS.js.map +0 -1
- package/dist/ModelProperty-BDt6AU2h.js.map +0 -1
- package/dist/cjs/getPublishUploads-BQr8aMVP.js +0 -495
- package/dist/cjs/getPublishUploads-BQr8aMVP.js.map +0 -1
- package/dist/cjs/index-nA5PxBSs.js.map +0 -1
- package/dist/cjs/index-usKaANAq.js.map +0 -1
- package/dist/eas-CpOD74Ke.js.map +0 -1
- package/dist/getPublishUploads-DHP01KgU.js +0 -484
- package/dist/getPublishUploads-DHP01KgU.js.map +0 -1
- package/dist/index-BGt4_oPO.js.map +0 -1
- package/dist/index-CSOQFAOn.js.map +0 -1
- package/dist/index.browser-CjTe0vt1.js.map +0 -1
- package/dist/property-BrXkY1Rg.js.map +0 -1
- package/dist/syncDbWithEas-BU-jZ5bJ.js.map +0 -1
- package/dist/tabEvents-BZJMY5uK.js.map +0 -1
- package/dist/tolerantWebAccess-BZ2RA_mb.js +0 -160
- package/dist/tolerantWebAccess-BZ2RA_mb.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import fs__default from 'fs';
|
|
4
|
-
import {
|
|
4
|
+
import { t as BaseFileManager, a as appState, r as BasePathResolver, B as BaseDb, z as SEED_CONFIG_FILE, A as SEED_CONFIG_FALLBACKS } from './BasePathResolver-CfSfMW5_.js';
|
|
5
5
|
import debug from 'debug';
|
|
6
6
|
import * as fsAsync from 'fs/promises';
|
|
7
7
|
import { pathToFileURL } from 'url';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
|
-
import { s as schema } from './index-
|
|
9
|
+
import { s as schema } from './index-DglvthOk.js';
|
|
10
10
|
import { createClient } from '@libsql/client';
|
|
11
11
|
import { drizzle } from 'drizzle-orm/libsql';
|
|
12
12
|
import { migrate } from 'drizzle-orm/libsql/migrator';
|
|
@@ -261,10 +261,10 @@ class NodeDb {
|
|
|
261
261
|
logger$1('[Db.prepareDb] running migrations from %s', outDir);
|
|
262
262
|
await migrate(db, { migrationsFolder: outDir });
|
|
263
263
|
this.db = db;
|
|
264
|
-
const { backfillMetadataPropertyIds } = await import('./backfillMetadataPropertyIds-
|
|
264
|
+
const { backfillMetadataPropertyIds } = await import('./backfillMetadataPropertyIds-SXW-8C64.js');
|
|
265
265
|
await backfillMetadataPropertyIds();
|
|
266
266
|
// One-time: clear item data whose model can't be determined (seeds.model_file_id, migration 0015)
|
|
267
|
-
const { resetAmbiguousLegacyItemData } = await import('./resetAmbiguousLegacyItemData-
|
|
267
|
+
const { resetAmbiguousLegacyItemData } = await import('./resetAmbiguousLegacyItemData-Bk0QyDW8.js');
|
|
268
268
|
await resetAmbiguousLegacyItemData();
|
|
269
269
|
return this.db;
|
|
270
270
|
}
|
|
@@ -515,4 +515,4 @@ function createPlatformServices() {
|
|
|
515
515
|
}
|
|
516
516
|
|
|
517
517
|
export { Db as D, FileManager as F, PathResolver as P, createPlatformServices as c, resolveSdkDrizzleMigrationsDir as r };
|
|
518
|
-
//# sourceMappingURL=index.node-
|
|
518
|
+
//# sourceMappingURL=index.node-C30dmFgn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node-Cfa7npS6.js","sources":["../../src/node/helpers/FileManager.ts","../../src/node/db/Db.ts","../../src/node/helpers/PathResolver.ts","../../src/platform/index.node.ts"],"sourcesContent":["import * as fsAsync from 'fs/promises'\nimport * as fs from 'fs'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nimport type { IFileManager } from '@/helpers/FileManager/IFileManager'\nimport path from 'path'\nimport { pathToFileURL } from 'url'\n\nexport class NodeFileManager implements IFileManager {\n async getFs() {\n return fs\n }\n\n getFsSync() {\n return fs\n }\n\n /** Node has no blob URLs; a file:// URL keeps refResolvedDisplayValue meaningful for server callers. */\n async getContentUrlFromPath(filePath: string): Promise<string | undefined> {\n return pathToFileURL(path.resolve(filePath)).href\n }\n\n async initializeFileSystem(_workingDir?: string): Promise<void> {\n return // No need to initialize file system in node\n }\n\n async downloadAllFiles(): Promise<void> {\n throw new Error('Not implemented')\n }\n\n async resizeImage(): Promise<void> {\n throw new Error('Not implemented')\n }\n\n async resizeAllImages(): Promise<void> {\n throw new Error('Not implemented')\n }\n\n async pathExists(filePath: string): Promise<boolean> {\n return await fsAsync.access(filePath).then(() => true).catch(() => false)\n }\n\n /** Node reads the real file system; nothing is cached. */\n async invalidateCachedPaths(): Promise<void> {}\n\n async getFileSize(filePath: string): Promise<number | null> {\n try {\n const stat = await fsAsync.stat(filePath)\n return stat.size\n } catch {\n return null\n }\n }\n\n async listImageFiles(): Promise<string[]> {\n return this.listFiles('images')\n }\n\n async listFiles(dir: string): Promise<string[]> {\n const targetDir = BaseFileManager.getFilesPath(dir)\n const exists = await this.pathExists(targetDir)\n if (!exists) {\n return []\n }\n const entries = await fsAsync.readdir(targetDir, { withFileTypes: true })\n return entries.filter((entry) => entry.isFile()).map((entry) => entry.name)\n }\n\n async createDirIfNotExists(filePath: string): Promise<void> {\n await fsAsync.mkdir(filePath, { recursive: true })\n }\n\n async waitForFile(filePath: string, interval: number = 1000, timeout: number = 60000): Promise<boolean> {\n const pathExists = await this.pathExists(filePath)\n if (pathExists) {\n return true\n }\n\n return new Promise((resolve, reject) => {\n const startTime = Date.now()\n let isBusy = false\n\n const checkInterval = setInterval(async () => {\n if (isBusy) {\n return\n }\n isBusy = true\n\n try {\n const exists = await this.pathExists(filePath)\n if (exists) {\n clearInterval(checkInterval)\n resolve(true)\n return\n }\n\n if (Date.now() - startTime >= timeout) {\n clearInterval(checkInterval)\n reject(new Error('Timeout exceeded while waiting for file'))\n return\n }\n } catch (error) {\n clearInterval(checkInterval)\n reject(error)\n return\n } finally {\n isBusy = false\n }\n }, interval)\n })\n }\n\n async waitForFileWithContent(filePath: string, interval: number = 100, timeout: number = 5000): Promise<boolean> {\n return this.waitForFile(filePath, interval, timeout)\n }\n\n async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n const dir = path.dirname(filePath)\n await fsAsync.mkdir(dir, { recursive: true })\n\n if (typeof content === 'string') {\n await fsAsync.writeFile(filePath, content, 'utf-8')\n } else if (content instanceof Blob) {\n const arrayBuffer = await content.arrayBuffer()\n await fsAsync.writeFile(filePath, new Uint8Array(arrayBuffer))\n } else if (content instanceof ArrayBuffer) {\n await fsAsync.writeFile(filePath, new Uint8Array(content))\n } else {\n throw new Error('Unsupported content type')\n }\n }\n\n saveFileSync(filePath: string, content: string | Blob | ArrayBuffer): void {\n const dir = path.dirname(filePath)\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true })\n }\n\n if (typeof content === 'string') {\n fs.writeFileSync(filePath, content, 'utf-8')\n } else if (content instanceof Blob) {\n throw new Error('Blob content not supported in saveFileSync. Use saveFile() instead or convert to ArrayBuffer first.')\n } else if (content instanceof ArrayBuffer) {\n fs.writeFileSync(filePath, new Uint8Array(content))\n } else {\n throw new Error('Unsupported content type')\n }\n }\n\n async readFileAsBuffer(filePath: string): Promise<Buffer> {\n return await fsAsync.readFile(filePath)\n }\n\n async readFileAsString(filePath: string): Promise<string> {\n return await fsAsync.readFile(filePath, 'utf-8')\n }\n\n async readFile(filePath: string): Promise<File> {\n return new File([await fsAsync.readFile(filePath)], filePath)\n }\n\n readFileSync(filePath: string): File {\n return new File([fs.readFileSync(filePath)], filePath)\n }\n\n getParentDirPath(filePath: string): string {\n return path.dirname(filePath)\n }\n\n getFilenameFromPath(filePath: string): string {\n return path.basename(filePath)\n }\n\n getPathModule(): any {\n return path\n }\n}\n\n/** @deprecated Prefer NodeFileManager */\nexport const FileManager = NodeFileManager\n\nBaseFileManager.configure(new NodeFileManager())\n\nconst _check: IFileManager = new NodeFileManager()\nvoid _check\n","import { BaseDb } from '@/db/Db/BaseDb'\nimport type { IDb } from '@/interfaces/IDb'\nimport path from 'path'\nimport { fileURLToPath } from 'node:url'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\nimport fs from 'fs'\nimport { createClient } from '@libsql/client'\nimport { drizzle } from 'drizzle-orm/libsql'\nimport { migrate } from 'drizzle-orm/libsql/migrator'\nimport * as schema from '@/seedSchema'\nimport { Observable, interval, switchMap, distinctUntilChanged, startWith } from 'rxjs'\nimport { BasePathResolver } from '@/helpers/PathResolver/BasePathResolver'\n\nconst logger = debug('seedSdk:node:db:Db')\n\nexport interface DbConfig {\n dbUrl?: string\n /** @deprecated Unused — schema is the static SDK seedSchema + prebuilt SQL migrations */\n schemaDir?: string\n outDir?: string\n}\n\nfunction resolveDbPaths(filesDir: string, config?: DbConfig) {\n const outDir = config?.outDir || path.join(filesDir, 'db')\n const dbPath = config?.dbUrl\n ? (config.dbUrl.startsWith('file:') ? config.dbUrl.replace(/^file:/, '') : config.dbUrl)\n : path.join(outDir, 'seed.db')\n return { outDir, dbPath }\n}\n\n/**\n * Locate prebuilt drizzle migration SQL shipped with the SDK\n * (same files the browser embeds via drizzleFiles.ts).\n */\nexport function resolveSdkDrizzleMigrationsDir(sdkRootDir?: string): string {\n const root =\n sdkRootDir ||\n (() => {\n try {\n return BasePathResolver.getSdkRootDir()\n } catch {\n return process.cwd()\n }\n })()\n\n // Also resolve relative to this module so temp-cwd tests / odd roots still find\n // packages/sdk/src/db/drizzle (or dist/db/drizzle after publish).\n const moduleDir = path.dirname(fileURLToPath(import.meta.url))\n\n const candidates = [\n path.join(root, 'db', 'drizzle'), // production: sdkRoot is dist/\n path.join(root, 'dist', 'db', 'drizzle'), // sdk package root with built dist\n path.join(root, 'src', 'db', 'drizzle'), // monorepo / sdk-dev\n path.join(root, 'packages', 'sdk', 'src', 'db', 'drizzle'), // monorepo root as cwd\n path.join(root, 'packages', 'sdk', 'dist', 'db', 'drizzle'),\n path.join(moduleDir, '..', '..', 'db', 'drizzle'), // src/node/db -> src/db/drizzle\n path.join(moduleDir, '..', '..', '..', 'src', 'db', 'drizzle'), // dist/node -> src\n path.join(moduleDir, '..', 'db', 'drizzle'), // dist layout variants\n ]\n\n for (const candidate of candidates) {\n if (fs.existsSync(path.join(candidate, 'meta', '_journal.json'))) {\n return candidate\n }\n }\n\n throw new Error(\n `Could not find SDK drizzle migrations (meta/_journal.json). Searched under: ${candidates.join(', ')}`,\n )\n}\n\nfunction copyDirRecursive(sourceDir: string, targetDir: string) {\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true })\n }\n for (const entry of fs.readdirSync(sourceDir)) {\n const sourcePath = path.join(sourceDir, entry)\n const targetPath = path.join(targetDir, entry)\n const stats = fs.statSync(sourcePath)\n if (stats.isDirectory()) {\n copyDirRecursive(sourcePath, targetPath)\n } else {\n fs.copyFileSync(sourcePath, targetPath)\n }\n }\n}\n\nexport class NodeDb implements IDb {\n db: any\n\n\n getAppDb() {\n return this.db\n }\n\n isAppDbReady() {\n return true\n }\n\n /**\n * Copy prebuilt SQL migrations into the app db directory (overwrite to stay current).\n */\n copyDrizzleFiles(filesDir: string, migrationsSourceDir?: string): string {\n const { outDir } = resolveDbPaths(filesDir)\n const source = migrationsSourceDir || resolveSdkDrizzleMigrationsDir()\n logger('[Db.copyDrizzleFiles] copying from %s to %s', source, outDir)\n copyDirRecursive(source, outDir)\n return outDir\n }\n\n async prepareDb(filesDir: string, config?: DbConfig) {\n const resolvedFilesDir = path.resolve(filesDir)\n\n if (!fs.existsSync(resolvedFilesDir)) {\n fs.mkdirSync(resolvedFilesDir, { recursive: true })\n }\n\n const { outDir, dbPath } = resolveDbPaths(resolvedFilesDir, config)\n\n if (!fs.existsSync(outDir)) {\n fs.mkdirSync(outDir, { recursive: true })\n }\n\n // Install SDK migration SQL next to the DB (same source of truth as browser)\n this.copyDrizzleFiles(resolvedFilesDir)\n\n const dbUrl = config?.dbUrl\n ? (config.dbUrl.startsWith('file:') ? config.dbUrl : `file:${path.resolve(config.dbUrl)}`)\n : `file:${path.resolve(dbPath)}`\n\n const client = createClient({ url: dbUrl })\n const db = drizzle(client, { schema })\n\n logger('[Db.prepareDb] running migrations from %s', outDir)\n await migrate(db, { migrationsFolder: outDir })\n\n this.db = db\n\n const { backfillMetadataPropertyIds } = await import('@/db/backfillMetadataPropertyIds')\n await backfillMetadataPropertyIds()\n\n // One-time: clear item data whose model can't be determined (seeds.model_file_id, migration 0015)\n const { resetAmbiguousLegacyItemData } = await import('@/db/resetAmbiguousLegacyItemData')\n await resetAmbiguousLegacyItemData()\n\n return this.db\n }\n\n async connectToDb(_pathToDir: string) {\n return {\n id: this.db ? this.db.constructor.name : '',\n }\n }\n\n async migrate(pathToDbDir: string, _dbName: string, _dbId: string) {\n try {\n if (!this.db) {\n throw new Error('Database not initialized. Call prepareDb first.')\n }\n\n await migrate(this.db, { migrationsFolder: pathToDbDir })\n const queryResult = await this.db.select().from(appState)\n logger('queryResult', queryResult)\n } catch (error: any) {\n const errorMessage = error.message || String(error) || ''\n const errorString = String(error)\n const isMigrationError =\n errorMessage.includes(\"Can't find meta/_journal.json\") ||\n errorMessage.includes('_journal.json') ||\n errorMessage.includes(\"Cannot read properties of undefined\") ||\n errorMessage.includes(\"reading 'dialect'\") ||\n errorMessage.includes('undefined is not an object') ||\n errorString.includes('dialect') ||\n errorString.includes('undefined is not an object')\n\n if (isMigrationError) {\n if (process.env.NODE_ENV === 'test' || process.env.IS_SEED_DEV) {\n logger(\n 'Warning: Migration failed, but continuing in test environment:',\n errorMessage || errorString,\n )\n return this.db\n }\n }\n throw error\n }\n\n return this.db\n }\n\n /**\n * Polling-based liveQuery stub for Node. Prefer browser reactive queries in UI apps.\n */\n liveQuery<T>(query: ((sql: any) => any) | any): Observable<T[]> {\n if (!this.db) {\n throw new Error('Database not initialized. Call prepareDb first.')\n }\n\n const pollInterval = 1000\n\n if (typeof query === 'function') {\n throw new Error(\n 'SQL tag functions are not supported in node liveQuery stub implementation. Use Drizzle query builders instead.',\n )\n }\n\n const queryBuilder = query\n\n return interval(pollInterval).pipe(\n startWith(0),\n switchMap(async () => {\n try {\n const result = await Promise.resolve(queryBuilder)\n return result as T[]\n } catch (error) {\n logger('[Db.liveQuery] Error executing query:', error)\n throw error\n }\n }),\n distinctUntilChanged((prev, curr) => {\n return JSON.stringify(prev) === JSON.stringify(curr)\n }),\n )\n }\n}\n\n/** @deprecated Prefer NodeDb */\nexport const Db = NodeDb\n\nBaseDb.configure(new NodeDb())\n\nconst _check: IDb = new NodeDb()\nvoid _check\n","import path from 'path'\nimport fs from 'fs'\nimport { SEED_CONFIG_FILE, SEED_CONFIG_FALLBACKS } from '@/helpers/constants'\nimport type { IPathResolver } from '@/helpers/PathResolver/IPathResolver'\nimport { BasePathResolver } from '@/helpers/PathResolver/BasePathResolver'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:node:helpers:PathResolver')\n\nexport class NodePathResolver implements IPathResolver {\n /** @deprecated Prefer BasePathResolver static methods or configure(). */\n static getInstance(): IPathResolver {\n return BasePathResolver.getInstance()\n }\n\n /**\n * Detects the current environment based on filesystem structure and package.json\n */\n private detectEnvironment(): 'sdk-dev' | 'linked-sdk' | 'production' | 'test' {\n // Check if we're in the SDK repo itself\n if (process.env.NODE_ENV !== 'test' && this.isInSdkRepo()) {\n return 'sdk-dev'\n }\n\n // Check if we're running tests\n if (process.env.NODE_ENV === 'test') {\n return 'test'\n }\n\n // Check if we're using a linked version of the SDK\n if (this.isUsingLinkedSdk()) {\n return 'linked-sdk'\n }\n\n // Default to production environment\n return 'production'\n }\n\n private isInSdkRepo(): boolean {\n try {\n const currentDir = process.cwd()\n // Check when running from packages/sdk (SDK package root)\n if (fs.existsSync(path.join(currentDir, 'src', 'node')) &&\n fs.existsSync(path.join(currentDir, 'package.json')) &&\n JSON.parse(fs.readFileSync(path.join(currentDir, 'package.json'), 'utf8')).name === '@seedprotocol/sdk') {\n return true\n }\n // Check when running from monorepo root\n if (fs.existsSync(path.join(currentDir, 'packages', 'sdk', 'src', 'node')) &&\n fs.existsSync(path.join(currentDir, 'packages', 'sdk', 'package.json')) &&\n JSON.parse(fs.readFileSync(path.join(currentDir, 'packages', 'sdk', 'package.json'), 'utf8')).name === '@seedprotocol/sdk') {\n return true\n }\n return false\n } catch {\n return false\n }\n }\n\n private isUsingLinkedSdk(): boolean {\n try {\n const pkgPath = path.join(process.cwd(), 'package.json')\n if (!fs.existsSync(pkgPath)) return false\n \n const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'))\n const sdkDep = pkg.dependencies?.['@seedprotocol/sdk']\n \n return sdkDep && (sdkDep.startsWith('link:') || sdkDep.startsWith('portal:'))\n } catch {\n return false\n }\n }\n\n /**\n * Gets the root directory containing node_modules\n */\n getRootWithNodeModules(): string {\n const processCwd = process.cwd()\n\n const calledFromMocks = processCwd.includes('__mocks__')\n\n if (calledFromMocks) {\n return path.join(processCwd, '..', '..', '..', '..',)\n }\n\n return processCwd\n }\n\n /**\n * Gets the SDK root directory\n */\n getSdkRootDir(): string {\n const env = this.detectEnvironment()\n const rootWithNodeModules = this.getRootWithNodeModules()\n const processCwd = process.cwd()\n\n // For test environment, always return the SDK root directory\n if (env === 'test') {\n return rootWithNodeModules\n }\n\n if (env === 'linked-sdk') {\n // For linked packages, find the package directory\n const pkgJson = JSON.parse(fs.readFileSync(path.join(processCwd, 'package.json'), 'utf8'))\n const sdkPath = pkgJson.dependencies?.['@seedprotocol/sdk'] || pkgJson.devDependencies?.['@seedprotocol/sdk']\n if (sdkPath === 'link:@seedprotocol/sdk') {\n return path.join(processCwd, 'node_modules', '@seedprotocol', 'sdk',)\n }\n return path.resolve(processCwd, sdkPath.replace(/^(link:|portal:)/, ''))\n }\n\n // After early returns, env can only be 'sdk-dev' or 'production'\n if (env === 'sdk-dev') {\n // When running from monorepo root, SDK root is packages/sdk\n if (fs.existsSync(path.join(rootWithNodeModules, 'packages', 'sdk', 'package.json'))) {\n return path.join(rootWithNodeModules, 'packages', 'sdk')\n }\n // When running from packages/sdk directly\n return rootWithNodeModules\n }\n \n // Default to production environment\n // This should be {projectDir}/node_modules/@seedprotocol/sdk/dist\n return path.join(rootWithNodeModules, 'node_modules', '@seedprotocol', 'sdk', 'dist')\n }\n\n getNodeModulesDir(): string {\n const env = this.detectEnvironment()\n const rootWithNodeModules = this.getRootWithNodeModules()\n\n let nodeModulesDir = path.join(rootWithNodeModules, 'node_modules')\n\n if (env !== 'linked-sdk' && env !== 'sdk-dev' && nodeModulesDir.includes('__tests__')) {\n nodeModulesDir = path.join(process.cwd(), '..', '..', '..', '..', 'node_modules',)\n }\n\n return nodeModulesDir\n }\n\n /**\n * Gets the .seed directory path\n */\n getDotSeedDir(schemaFileDir?: string): string {\n if (!schemaFileDir && process.env.SEED_SDK_TEST_PROJECT_TYPE && !process.cwd().includes('__mocks__')) {\n return path.join(process.cwd(), '__tests__', '__mocks__', process.env.SEED_SDK_TEST_PROJECT_TYPE, 'project', '.seed')\n }\n return path.join(schemaFileDir || process.cwd(), '.seed')\n }\n\n /**\n * Finds the Seed Protocol config file in the given directory\n * @param searchDir - Directory to search for the config file\n * @returns The path to the found config file, or null if not found\n */\n findConfigFile(searchDir: string = process.cwd()): string | null {\n // First try the primary config file name\n const primaryPath = path.join(searchDir, SEED_CONFIG_FILE)\n if (fs.existsSync(primaryPath)) {\n return primaryPath\n }\n\n // Then try fallback names in order\n for (const fallbackName of SEED_CONFIG_FALLBACKS) {\n const fallbackPath = path.join(searchDir, fallbackName)\n if (fs.existsSync(fallbackPath)) {\n return fallbackPath\n }\n }\n\n return null\n }\n\n /**\n * Gets paths for app-specific directories\n */\n getAppPaths(schemaFileDir?: string | undefined) {\n const env = this.detectEnvironment()\n const dotSeedDir = this.getDotSeedDir(schemaFileDir)\n const nodeModulesDir = this.getNodeModulesDir()\n\n logger('env', env)\n\n logger('getAppPaths', {\n sdkRootDir: this.getSdkRootDir(),\n dotSeedDir,\n nodeModulesDir,\n appSchemaDir: path.join(dotSeedDir, 'schema'),\n appDbDir: path.join(dotSeedDir, 'db'),\n appMetaDir: path.join(dotSeedDir, 'db', 'meta'),\n })\n\n return {\n sdkRootDir: this.getSdkRootDir(),\n dotSeedDir,\n nodeModulesDir,\n appSchemaDir: path.join(dotSeedDir, 'schema'),\n appDbDir: path.join(dotSeedDir, 'db'),\n appMetaDir: path.join(dotSeedDir, 'db', 'meta'),\n }\n }\n}\n\n/** @deprecated Prefer NodePathResolver; kept for CLI / node entry exports. */\nexport const PathResolver = NodePathResolver\n\nBasePathResolver.configure(new NodePathResolver())\n\nconst _check: IPathResolver = new NodePathResolver()\nvoid _check\n","import { NodePathResolver } from '@/node/helpers/PathResolver'\nimport { NodeFileManager } from '@/node/helpers/FileManager'\nimport { NodeDb } from '@/node/db/Db'\nimport { NodeArweaveClient } from '@/node/helpers/ArweaveClient'\nimport { NodeEasClient } from '@/node/helpers/EasClient'\nimport { NodeQueryClient } from '@/node/helpers/QueryClient'\nimport type { PlatformServices } from './types'\n\nexport function createPlatformServices(): PlatformServices {\n return {\n pathResolver: new NodePathResolver(),\n fileManager: new NodeFileManager(),\n db: new NodeDb(),\n arweaveClient: new NodeArweaveClient(),\n easClient: new NodeEasClient(),\n queryClient: new NodeQueryClient(),\n }\n}\n"],"names":["logger","fs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.node-C30dmFgn.js","sources":["../../src/node/helpers/FileManager.ts","../../src/node/db/Db.ts","../../src/node/helpers/PathResolver.ts","../../src/platform/index.node.ts"],"sourcesContent":["import * as fsAsync from 'fs/promises'\nimport * as fs from 'fs'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nimport type { IFileManager } from '@/helpers/FileManager/IFileManager'\nimport path from 'path'\nimport { pathToFileURL } from 'url'\n\nexport class NodeFileManager implements IFileManager {\n async getFs() {\n return fs\n }\n\n getFsSync() {\n return fs\n }\n\n /** Node has no blob URLs; a file:// URL keeps refResolvedDisplayValue meaningful for server callers. */\n async getContentUrlFromPath(filePath: string): Promise<string | undefined> {\n return pathToFileURL(path.resolve(filePath)).href\n }\n\n async initializeFileSystem(_workingDir?: string): Promise<void> {\n return // No need to initialize file system in node\n }\n\n async downloadAllFiles(): Promise<void> {\n throw new Error('Not implemented')\n }\n\n async resizeImage(): Promise<void> {\n throw new Error('Not implemented')\n }\n\n async resizeAllImages(): Promise<void> {\n throw new Error('Not implemented')\n }\n\n async pathExists(filePath: string): Promise<boolean> {\n return await fsAsync.access(filePath).then(() => true).catch(() => false)\n }\n\n /** Node reads the real file system; nothing is cached. */\n async invalidateCachedPaths(): Promise<void> {}\n\n async getFileSize(filePath: string): Promise<number | null> {\n try {\n const stat = await fsAsync.stat(filePath)\n return stat.size\n } catch {\n return null\n }\n }\n\n async listImageFiles(): Promise<string[]> {\n return this.listFiles('images')\n }\n\n async listFiles(dir: string): Promise<string[]> {\n const targetDir = BaseFileManager.getFilesPath(dir)\n const exists = await this.pathExists(targetDir)\n if (!exists) {\n return []\n }\n const entries = await fsAsync.readdir(targetDir, { withFileTypes: true })\n return entries.filter((entry) => entry.isFile()).map((entry) => entry.name)\n }\n\n async createDirIfNotExists(filePath: string): Promise<void> {\n await fsAsync.mkdir(filePath, { recursive: true })\n }\n\n async waitForFile(filePath: string, interval: number = 1000, timeout: number = 60000): Promise<boolean> {\n const pathExists = await this.pathExists(filePath)\n if (pathExists) {\n return true\n }\n\n return new Promise((resolve, reject) => {\n const startTime = Date.now()\n let isBusy = false\n\n const checkInterval = setInterval(async () => {\n if (isBusy) {\n return\n }\n isBusy = true\n\n try {\n const exists = await this.pathExists(filePath)\n if (exists) {\n clearInterval(checkInterval)\n resolve(true)\n return\n }\n\n if (Date.now() - startTime >= timeout) {\n clearInterval(checkInterval)\n reject(new Error('Timeout exceeded while waiting for file'))\n return\n }\n } catch (error) {\n clearInterval(checkInterval)\n reject(error)\n return\n } finally {\n isBusy = false\n }\n }, interval)\n })\n }\n\n async waitForFileWithContent(filePath: string, interval: number = 100, timeout: number = 5000): Promise<boolean> {\n return this.waitForFile(filePath, interval, timeout)\n }\n\n async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n const dir = path.dirname(filePath)\n await fsAsync.mkdir(dir, { recursive: true })\n\n if (typeof content === 'string') {\n await fsAsync.writeFile(filePath, content, 'utf-8')\n } else if (content instanceof Blob) {\n const arrayBuffer = await content.arrayBuffer()\n await fsAsync.writeFile(filePath, new Uint8Array(arrayBuffer))\n } else if (content instanceof ArrayBuffer) {\n await fsAsync.writeFile(filePath, new Uint8Array(content))\n } else {\n throw new Error('Unsupported content type')\n }\n }\n\n saveFileSync(filePath: string, content: string | Blob | ArrayBuffer): void {\n const dir = path.dirname(filePath)\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true })\n }\n\n if (typeof content === 'string') {\n fs.writeFileSync(filePath, content, 'utf-8')\n } else if (content instanceof Blob) {\n throw new Error('Blob content not supported in saveFileSync. Use saveFile() instead or convert to ArrayBuffer first.')\n } else if (content instanceof ArrayBuffer) {\n fs.writeFileSync(filePath, new Uint8Array(content))\n } else {\n throw new Error('Unsupported content type')\n }\n }\n\n async readFileAsBuffer(filePath: string): Promise<Buffer> {\n return await fsAsync.readFile(filePath)\n }\n\n async readFileAsString(filePath: string): Promise<string> {\n return await fsAsync.readFile(filePath, 'utf-8')\n }\n\n async readFile(filePath: string): Promise<File> {\n return new File([await fsAsync.readFile(filePath)], filePath)\n }\n\n readFileSync(filePath: string): File {\n return new File([fs.readFileSync(filePath)], filePath)\n }\n\n getParentDirPath(filePath: string): string {\n return path.dirname(filePath)\n }\n\n getFilenameFromPath(filePath: string): string {\n return path.basename(filePath)\n }\n\n getPathModule(): any {\n return path\n }\n}\n\n/** @deprecated Prefer NodeFileManager */\nexport const FileManager = NodeFileManager\n\nBaseFileManager.configure(new NodeFileManager())\n\nconst _check: IFileManager = new NodeFileManager()\nvoid _check\n","import { BaseDb } from '@/db/Db/BaseDb'\nimport type { IDb } from '@/interfaces/IDb'\nimport path from 'path'\nimport { fileURLToPath } from 'node:url'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\nimport fs from 'fs'\nimport { createClient } from '@libsql/client'\nimport { drizzle } from 'drizzle-orm/libsql'\nimport { migrate } from 'drizzle-orm/libsql/migrator'\nimport * as schema from '@/seedSchema'\nimport { Observable, interval, switchMap, distinctUntilChanged, startWith } from 'rxjs'\nimport { BasePathResolver } from '@/helpers/PathResolver/BasePathResolver'\n\nconst logger = debug('seedSdk:node:db:Db')\n\nexport interface DbConfig {\n dbUrl?: string\n /** @deprecated Unused — schema is the static SDK seedSchema + prebuilt SQL migrations */\n schemaDir?: string\n outDir?: string\n}\n\nfunction resolveDbPaths(filesDir: string, config?: DbConfig) {\n const outDir = config?.outDir || path.join(filesDir, 'db')\n const dbPath = config?.dbUrl\n ? (config.dbUrl.startsWith('file:') ? config.dbUrl.replace(/^file:/, '') : config.dbUrl)\n : path.join(outDir, 'seed.db')\n return { outDir, dbPath }\n}\n\n/**\n * Locate prebuilt drizzle migration SQL shipped with the SDK\n * (same files the browser embeds via drizzleFiles.ts).\n */\nexport function resolveSdkDrizzleMigrationsDir(sdkRootDir?: string): string {\n const root =\n sdkRootDir ||\n (() => {\n try {\n return BasePathResolver.getSdkRootDir()\n } catch {\n return process.cwd()\n }\n })()\n\n // Also resolve relative to this module so temp-cwd tests / odd roots still find\n // packages/sdk/src/db/drizzle (or dist/db/drizzle after publish).\n const moduleDir = path.dirname(fileURLToPath(import.meta.url))\n\n const candidates = [\n path.join(root, 'db', 'drizzle'), // production: sdkRoot is dist/\n path.join(root, 'dist', 'db', 'drizzle'), // sdk package root with built dist\n path.join(root, 'src', 'db', 'drizzle'), // monorepo / sdk-dev\n path.join(root, 'packages', 'sdk', 'src', 'db', 'drizzle'), // monorepo root as cwd\n path.join(root, 'packages', 'sdk', 'dist', 'db', 'drizzle'),\n path.join(moduleDir, '..', '..', 'db', 'drizzle'), // src/node/db -> src/db/drizzle\n path.join(moduleDir, '..', '..', '..', 'src', 'db', 'drizzle'), // dist/node -> src\n path.join(moduleDir, '..', 'db', 'drizzle'), // dist layout variants\n ]\n\n for (const candidate of candidates) {\n if (fs.existsSync(path.join(candidate, 'meta', '_journal.json'))) {\n return candidate\n }\n }\n\n throw new Error(\n `Could not find SDK drizzle migrations (meta/_journal.json). Searched under: ${candidates.join(', ')}`,\n )\n}\n\nfunction copyDirRecursive(sourceDir: string, targetDir: string) {\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true })\n }\n for (const entry of fs.readdirSync(sourceDir)) {\n const sourcePath = path.join(sourceDir, entry)\n const targetPath = path.join(targetDir, entry)\n const stats = fs.statSync(sourcePath)\n if (stats.isDirectory()) {\n copyDirRecursive(sourcePath, targetPath)\n } else {\n fs.copyFileSync(sourcePath, targetPath)\n }\n }\n}\n\nexport class NodeDb implements IDb {\n db: any\n\n\n getAppDb() {\n return this.db\n }\n\n isAppDbReady() {\n return true\n }\n\n /**\n * Copy prebuilt SQL migrations into the app db directory (overwrite to stay current).\n */\n copyDrizzleFiles(filesDir: string, migrationsSourceDir?: string): string {\n const { outDir } = resolveDbPaths(filesDir)\n const source = migrationsSourceDir || resolveSdkDrizzleMigrationsDir()\n logger('[Db.copyDrizzleFiles] copying from %s to %s', source, outDir)\n copyDirRecursive(source, outDir)\n return outDir\n }\n\n async prepareDb(filesDir: string, config?: DbConfig) {\n const resolvedFilesDir = path.resolve(filesDir)\n\n if (!fs.existsSync(resolvedFilesDir)) {\n fs.mkdirSync(resolvedFilesDir, { recursive: true })\n }\n\n const { outDir, dbPath } = resolveDbPaths(resolvedFilesDir, config)\n\n if (!fs.existsSync(outDir)) {\n fs.mkdirSync(outDir, { recursive: true })\n }\n\n // Install SDK migration SQL next to the DB (same source of truth as browser)\n this.copyDrizzleFiles(resolvedFilesDir)\n\n const dbUrl = config?.dbUrl\n ? (config.dbUrl.startsWith('file:') ? config.dbUrl : `file:${path.resolve(config.dbUrl)}`)\n : `file:${path.resolve(dbPath)}`\n\n const client = createClient({ url: dbUrl })\n const db = drizzle(client, { schema })\n\n logger('[Db.prepareDb] running migrations from %s', outDir)\n await migrate(db, { migrationsFolder: outDir })\n\n this.db = db\n\n const { backfillMetadataPropertyIds } = await import('@/db/backfillMetadataPropertyIds')\n await backfillMetadataPropertyIds()\n\n // One-time: clear item data whose model can't be determined (seeds.model_file_id, migration 0015)\n const { resetAmbiguousLegacyItemData } = await import('@/db/resetAmbiguousLegacyItemData')\n await resetAmbiguousLegacyItemData()\n\n return this.db\n }\n\n async connectToDb(_pathToDir: string) {\n return {\n id: this.db ? this.db.constructor.name : '',\n }\n }\n\n async migrate(pathToDbDir: string, _dbName: string, _dbId: string) {\n try {\n if (!this.db) {\n throw new Error('Database not initialized. Call prepareDb first.')\n }\n\n await migrate(this.db, { migrationsFolder: pathToDbDir })\n const queryResult = await this.db.select().from(appState)\n logger('queryResult', queryResult)\n } catch (error: any) {\n const errorMessage = error.message || String(error) || ''\n const errorString = String(error)\n const isMigrationError =\n errorMessage.includes(\"Can't find meta/_journal.json\") ||\n errorMessage.includes('_journal.json') ||\n errorMessage.includes(\"Cannot read properties of undefined\") ||\n errorMessage.includes(\"reading 'dialect'\") ||\n errorMessage.includes('undefined is not an object') ||\n errorString.includes('dialect') ||\n errorString.includes('undefined is not an object')\n\n if (isMigrationError) {\n if (process.env.NODE_ENV === 'test' || process.env.IS_SEED_DEV) {\n logger(\n 'Warning: Migration failed, but continuing in test environment:',\n errorMessage || errorString,\n )\n return this.db\n }\n }\n throw error\n }\n\n return this.db\n }\n\n /**\n * Polling-based liveQuery stub for Node. Prefer browser reactive queries in UI apps.\n */\n liveQuery<T>(query: ((sql: any) => any) | any): Observable<T[]> {\n if (!this.db) {\n throw new Error('Database not initialized. Call prepareDb first.')\n }\n\n const pollInterval = 1000\n\n if (typeof query === 'function') {\n throw new Error(\n 'SQL tag functions are not supported in node liveQuery stub implementation. Use Drizzle query builders instead.',\n )\n }\n\n const queryBuilder = query\n\n return interval(pollInterval).pipe(\n startWith(0),\n switchMap(async () => {\n try {\n const result = await Promise.resolve(queryBuilder)\n return result as T[]\n } catch (error) {\n logger('[Db.liveQuery] Error executing query:', error)\n throw error\n }\n }),\n distinctUntilChanged((prev, curr) => {\n return JSON.stringify(prev) === JSON.stringify(curr)\n }),\n )\n }\n}\n\n/** @deprecated Prefer NodeDb */\nexport const Db = NodeDb\n\nBaseDb.configure(new NodeDb())\n\nconst _check: IDb = new NodeDb()\nvoid _check\n","import path from 'path'\nimport fs from 'fs'\nimport { SEED_CONFIG_FILE, SEED_CONFIG_FALLBACKS } from '@/helpers/constants'\nimport type { IPathResolver } from '@/helpers/PathResolver/IPathResolver'\nimport { BasePathResolver } from '@/helpers/PathResolver/BasePathResolver'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:node:helpers:PathResolver')\n\nexport class NodePathResolver implements IPathResolver {\n /** @deprecated Prefer BasePathResolver static methods or configure(). */\n static getInstance(): IPathResolver {\n return BasePathResolver.getInstance()\n }\n\n /**\n * Detects the current environment based on filesystem structure and package.json\n */\n private detectEnvironment(): 'sdk-dev' | 'linked-sdk' | 'production' | 'test' {\n // Check if we're in the SDK repo itself\n if (process.env.NODE_ENV !== 'test' && this.isInSdkRepo()) {\n return 'sdk-dev'\n }\n\n // Check if we're running tests\n if (process.env.NODE_ENV === 'test') {\n return 'test'\n }\n\n // Check if we're using a linked version of the SDK\n if (this.isUsingLinkedSdk()) {\n return 'linked-sdk'\n }\n\n // Default to production environment\n return 'production'\n }\n\n private isInSdkRepo(): boolean {\n try {\n const currentDir = process.cwd()\n // Check when running from packages/sdk (SDK package root)\n if (fs.existsSync(path.join(currentDir, 'src', 'node')) &&\n fs.existsSync(path.join(currentDir, 'package.json')) &&\n JSON.parse(fs.readFileSync(path.join(currentDir, 'package.json'), 'utf8')).name === '@seedprotocol/sdk') {\n return true\n }\n // Check when running from monorepo root\n if (fs.existsSync(path.join(currentDir, 'packages', 'sdk', 'src', 'node')) &&\n fs.existsSync(path.join(currentDir, 'packages', 'sdk', 'package.json')) &&\n JSON.parse(fs.readFileSync(path.join(currentDir, 'packages', 'sdk', 'package.json'), 'utf8')).name === '@seedprotocol/sdk') {\n return true\n }\n return false\n } catch {\n return false\n }\n }\n\n private isUsingLinkedSdk(): boolean {\n try {\n const pkgPath = path.join(process.cwd(), 'package.json')\n if (!fs.existsSync(pkgPath)) return false\n \n const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'))\n const sdkDep = pkg.dependencies?.['@seedprotocol/sdk']\n \n return sdkDep && (sdkDep.startsWith('link:') || sdkDep.startsWith('portal:'))\n } catch {\n return false\n }\n }\n\n /**\n * Gets the root directory containing node_modules\n */\n getRootWithNodeModules(): string {\n const processCwd = process.cwd()\n\n const calledFromMocks = processCwd.includes('__mocks__')\n\n if (calledFromMocks) {\n return path.join(processCwd, '..', '..', '..', '..',)\n }\n\n return processCwd\n }\n\n /**\n * Gets the SDK root directory\n */\n getSdkRootDir(): string {\n const env = this.detectEnvironment()\n const rootWithNodeModules = this.getRootWithNodeModules()\n const processCwd = process.cwd()\n\n // For test environment, always return the SDK root directory\n if (env === 'test') {\n return rootWithNodeModules\n }\n\n if (env === 'linked-sdk') {\n // For linked packages, find the package directory\n const pkgJson = JSON.parse(fs.readFileSync(path.join(processCwd, 'package.json'), 'utf8'))\n const sdkPath = pkgJson.dependencies?.['@seedprotocol/sdk'] || pkgJson.devDependencies?.['@seedprotocol/sdk']\n if (sdkPath === 'link:@seedprotocol/sdk') {\n return path.join(processCwd, 'node_modules', '@seedprotocol', 'sdk',)\n }\n return path.resolve(processCwd, sdkPath.replace(/^(link:|portal:)/, ''))\n }\n\n // After early returns, env can only be 'sdk-dev' or 'production'\n if (env === 'sdk-dev') {\n // When running from monorepo root, SDK root is packages/sdk\n if (fs.existsSync(path.join(rootWithNodeModules, 'packages', 'sdk', 'package.json'))) {\n return path.join(rootWithNodeModules, 'packages', 'sdk')\n }\n // When running from packages/sdk directly\n return rootWithNodeModules\n }\n \n // Default to production environment\n // This should be {projectDir}/node_modules/@seedprotocol/sdk/dist\n return path.join(rootWithNodeModules, 'node_modules', '@seedprotocol', 'sdk', 'dist')\n }\n\n getNodeModulesDir(): string {\n const env = this.detectEnvironment()\n const rootWithNodeModules = this.getRootWithNodeModules()\n\n let nodeModulesDir = path.join(rootWithNodeModules, 'node_modules')\n\n if (env !== 'linked-sdk' && env !== 'sdk-dev' && nodeModulesDir.includes('__tests__')) {\n nodeModulesDir = path.join(process.cwd(), '..', '..', '..', '..', 'node_modules',)\n }\n\n return nodeModulesDir\n }\n\n /**\n * Gets the .seed directory path\n */\n getDotSeedDir(schemaFileDir?: string): string {\n if (!schemaFileDir && process.env.SEED_SDK_TEST_PROJECT_TYPE && !process.cwd().includes('__mocks__')) {\n return path.join(process.cwd(), '__tests__', '__mocks__', process.env.SEED_SDK_TEST_PROJECT_TYPE, 'project', '.seed')\n }\n return path.join(schemaFileDir || process.cwd(), '.seed')\n }\n\n /**\n * Finds the Seed Protocol config file in the given directory\n * @param searchDir - Directory to search for the config file\n * @returns The path to the found config file, or null if not found\n */\n findConfigFile(searchDir: string = process.cwd()): string | null {\n // First try the primary config file name\n const primaryPath = path.join(searchDir, SEED_CONFIG_FILE)\n if (fs.existsSync(primaryPath)) {\n return primaryPath\n }\n\n // Then try fallback names in order\n for (const fallbackName of SEED_CONFIG_FALLBACKS) {\n const fallbackPath = path.join(searchDir, fallbackName)\n if (fs.existsSync(fallbackPath)) {\n return fallbackPath\n }\n }\n\n return null\n }\n\n /**\n * Gets paths for app-specific directories\n */\n getAppPaths(schemaFileDir?: string | undefined) {\n const env = this.detectEnvironment()\n const dotSeedDir = this.getDotSeedDir(schemaFileDir)\n const nodeModulesDir = this.getNodeModulesDir()\n\n logger('env', env)\n\n logger('getAppPaths', {\n sdkRootDir: this.getSdkRootDir(),\n dotSeedDir,\n nodeModulesDir,\n appSchemaDir: path.join(dotSeedDir, 'schema'),\n appDbDir: path.join(dotSeedDir, 'db'),\n appMetaDir: path.join(dotSeedDir, 'db', 'meta'),\n })\n\n return {\n sdkRootDir: this.getSdkRootDir(),\n dotSeedDir,\n nodeModulesDir,\n appSchemaDir: path.join(dotSeedDir, 'schema'),\n appDbDir: path.join(dotSeedDir, 'db'),\n appMetaDir: path.join(dotSeedDir, 'db', 'meta'),\n }\n }\n}\n\n/** @deprecated Prefer NodePathResolver; kept for CLI / node entry exports. */\nexport const PathResolver = NodePathResolver\n\nBasePathResolver.configure(new NodePathResolver())\n\nconst _check: IPathResolver = new NodePathResolver()\nvoid _check\n","import { NodePathResolver } from '@/node/helpers/PathResolver'\nimport { NodeFileManager } from '@/node/helpers/FileManager'\nimport { NodeDb } from '@/node/db/Db'\nimport { NodeArweaveClient } from '@/node/helpers/ArweaveClient'\nimport { NodeEasClient } from '@/node/helpers/EasClient'\nimport { NodeQueryClient } from '@/node/helpers/QueryClient'\nimport type { PlatformServices } from './types'\n\nexport function createPlatformServices(): PlatformServices {\n return {\n pathResolver: new NodePathResolver(),\n fileManager: new NodeFileManager(),\n db: new NodeDb(),\n arweaveClient: new NodeArweaveClient(),\n easClient: new NodeEasClient(),\n queryClient: new NodeQueryClient(),\n }\n}\n"],"names":["logger","fs"],"mappings":"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"}
|
package/dist/main.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('immer');
|
|
4
4
|
require('reflect-metadata');
|
|
5
|
-
var main_cjs = require('./cjs/index-
|
|
5
|
+
var main_cjs = require('./cjs/index-C4XlgCJ4.js');
|
|
6
6
|
require('pluralize');
|
|
7
7
|
require('drizzle-orm');
|
|
8
8
|
require('xstate');
|
|
@@ -13,12 +13,13 @@ require('@seedprotocol/eas');
|
|
|
13
13
|
require('@sinclair/typebox');
|
|
14
14
|
require('drizzle-orm/casing');
|
|
15
15
|
require('lodash-es');
|
|
16
|
+
require('@noble/hashes/sha256');
|
|
17
|
+
require('@noble/hashes/sha3');
|
|
18
|
+
require('@noble/hashes/utils');
|
|
16
19
|
require('nanoid');
|
|
17
20
|
require('nanoid-dictionary');
|
|
18
21
|
require('@seedprotocol/query');
|
|
19
22
|
require('rxjs');
|
|
20
|
-
require('@noble/hashes/sha3');
|
|
21
|
-
require('@noble/hashes/utils');
|
|
22
23
|
require('fs/promises');
|
|
23
24
|
require('fs');
|
|
24
25
|
require('path');
|
package/dist/main.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/main.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
-
export { M as Model } from './index-
|
|
3
|
-
import { s as normalizePublisher, k as isDataType, M as ModelPropertyDataTypes, n as normalizeDataType } from './db-
|
|
4
|
-
export { A as AmbiguousModelError, m as eventEmitter, z as getAddressesForItemsFilter, C as normalizeAddressConfig, E as normalizeAddressList, u as normalizeHexAddress } from './db-
|
|
5
|
-
export { getPropertySchema } from './property-
|
|
6
|
-
import {
|
|
7
|
-
export { A as ADDRESSES_PERSISTED_EVENT, F as FILES_CHANGED_EVENT, L as LOCAL_COPIES_REMOVED_EVENT, T as TabLockTimeoutError,
|
|
8
|
-
import {
|
|
9
|
-
export { E as EAS_CHAIN_ID_APP_STATE_KEY, a as assertLocalDbChain,
|
|
10
|
-
import {
|
|
11
|
-
export { C as ClientManagerState,
|
|
12
|
-
import {
|
|
13
|
-
export { E as EAS_SEED_DATA_SYNCED_TO_DB_EVENT, x as INTERNAL_DATA_TYPES, D as ImageSize, F as SEED_PROTOCOL_SCHEMA_NAME, G as SeedModels, H as VERSION_SCHEMA_DEF, V as VERSION_SCHEMA_UID, J as VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA,
|
|
2
|
+
export { M as Model } from './index-s15q14rm.js';
|
|
3
|
+
import { s as normalizePublisher, k as isDataType, M as ModelPropertyDataTypes, n as normalizeDataType } from './db-D9K_f5cF.js';
|
|
4
|
+
export { A as AmbiguousModelError, m as eventEmitter, z as getAddressesForItemsFilter, C as normalizeAddressConfig, E as normalizeAddressList, u as normalizeHexAddress } from './db-D9K_f5cF.js';
|
|
5
|
+
export { getPropertySchema } from './property-DhmmYAvQ.js';
|
|
6
|
+
import { j as generateId, n as normalizeRelationPropertyValue, r as resolveSeedIdsFromRefString, k as getArweaveUrlForTransaction, g as getStorageDirForDataType } from './tabEvents-DguZpCCv.js';
|
|
7
|
+
export { A as ADDRESSES_PERSISTED_EVENT, C as CONTENT_SHA256_TAG, l as CONTENT_TYPE_TAG, F as FILES_CHANGED_EVENT, L as LOCAL_COPIES_REMOVED_EVENT, T as TabLockTimeoutError, b as buildArweaveContentTags, m as classifyMediaRef, o as closestImageSize, p as contentSha256TagMatches, q as ensureImageLocal, d as getContentSha256, e as getCorrectId, u as getFeedItemStringField, v as isLeaderTab, i as isPublishedSeedRef, w as normalizeArweaveTxIdForEnsure, x as normalizeFeedItemFields, y as parseAddressesPersistedPayload, z as resolveMediaRef, B as whenLeaderTab } from './tabEvents-DguZpCCv.js';
|
|
8
|
+
import { d as getContentHash } from './ClientManager-C-QXqUK9.js';
|
|
9
|
+
export { E as EAS_CHAIN_ID_APP_STATE_KEY, a as assertLocalDbChain, e as claimUnpublishedDrafts, C as client, f as createLocalQueryDataSource, h as createSchema, j as easSyncActor, k as getClient, m as getPublishedSeedRecord, n as getSchemaNameFromId, b as importJsonSchema, o as isSeedQueryLocalSourceRegistered, p as listSchemas, q as loadAllSchemasFromDb, u as mergeEasSyncRequestIntents, r as readJsonImportFile, v as readSchema, x as registerSeedQueryLocalSource, y as requestEasSyncFromAddressChange, z as requestEasSyncFromEventBus, A as requestEasSyncFromModelsInit, B as sendEasSyncClientRequest, D as startEasSyncActor, s as syncSchemaFromSource, t as transformImportToSchemaFile, F as unregisterSeedQueryLocalSource } from './ClientManager-C-QXqUK9.js';
|
|
10
|
+
import { j as isVersionRevoked, c as compareMetadataRowsLatestFirst, t as isPublishedMetadataRow, b as getLatestPublishedVersionRow, p as parseListPropertyValueFromStorage, I as Item, k as waitForEntityIdle } from './Item-C7sUUu2B.js';
|
|
11
|
+
export { C as ClientManagerState, h as ItemProperty, i as ItemPropertySaveValidationError, M as METADATA_LATEST_FIRST_ORDER_SQL, u as MachineIds, v as createNewItem, x as getEasSchemaForItemProperty, f as getGetAdditionalSyncAddresses, y as getGetPublisherForNewSeeds, z as getMetadataLatest, A as getRevokeExecutor, B as getUploadExecutor, D as getVersionData, E as isItemOwned, F as isLocalUnsealedDraft, G as isSeedRowOwned, l as listRelationEasPropertyName, H as localUnsealedDraftSql, J as ownedPublisherSql, K as ownedSeedsSql, L as pickLatestMetadataRowPerProperty, N as placeholderUidSql, O as propertyMachine, P as publisherInAddressListSql, Q as publisherIsInOwnedSet, R as setAdditionalSyncAddresses, S as setGetPublisherForNewSeeds, T as setRevokeExecutor, U as setUploadExecutor } from './Item-C7sUUu2B.js';
|
|
12
|
+
import { B as BaseDb, v as versions, q as seeds, m as metadata, h as htmlEmbeddedImageCoPublish, t as BaseFileManager, C as INTERNAL_STORAGE_MODEL_FILE_IDS, I as INTERNAL_PROPERTY_NAMES, Z as ZERO_BYTES32 } from './BasePathResolver-CfSfMW5_.js';
|
|
13
|
+
export { E as EAS_SEED_DATA_SYNCED_TO_DB_EVENT, x as INTERNAL_DATA_TYPES, D as ImageSize, F as SEED_PROTOCOL_SCHEMA_NAME, G as SeedModels, H as VERSION_SCHEMA_DEF, V as VERSION_SCHEMA_UID, J as VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA, a as appState, b as arweaveL1FinalizeJobs, e as easSyncProcesses, f as modelSchemas, g as modelUids, i as models, p as properties, n as propertyUids, o as publishProcesses, s as schemas, u as uploadProcesses } from './BasePathResolver-CfSfMW5_.js';
|
|
14
14
|
import { eq, desc, and, or, isNotNull, ne } from 'drizzle-orm';
|
|
15
15
|
import { isPlaceholderUid, isValidEasAttestationUid, normalizeBytes32Hex } from '@seedprotocol/eas';
|
|
16
16
|
export { EAS_CHAIN_DEPLOYMENTS, BaseEasClient as EasClient, getCanonicalItemPropertiesFromEas, getEasChainDeployment, getEasEndpoint, getEasReadChainId, getEasSchemaUidBySchemaName, getItemPropertiesFromEas, getItemVersionsFromEas, getSeedsBySchemaName, getSeedsFromSchemaUids, isPlaceholderUid, isValidEasAttestationUid, normalizeBytes32Hex, pickLatestPropertyAttestationsByRefAndSchema, setSchemaUidForModel, setSchemaUidForSchemaDefinition, withExcludeRevokedFilter } from '@seedprotocol/eas';
|
|
17
|
-
export { S as Schema, d as deleteModelFromSchema, a as deletePropertyFromModel, r as renameModelProperty, s as schemaMachine, u as updateModelProperties } from './Schema-
|
|
17
|
+
export { S as Schema, d as deleteModelFromSchema, a as deletePropertyFromModel, r as renameModelProperty, s as schemaMachine, u as updateModelProperties } from './Schema-fXtvd-yL.js';
|
|
18
18
|
export { F as FileSystemLockedError } from './errors-CrBxGWah.js';
|
|
19
|
-
export { M as MODEL_AMBIGUOUS_EVENT } from './resolveModelForSyncedSeed-
|
|
20
|
-
export { ModelProperty } from './ModelProperty-
|
|
21
|
-
export { getModelSchemasFromEas } from './eas-
|
|
22
|
-
export { BaseArweaveClient, DEFAULT_ARWEAVE_GATEWAYS, DEFAULT_ARWEAVE_GRAPHQL_URL, DEFAULT_ARWEAVE_HOST, DEFAULT_GATEWAY_SIDECAR_HOST, DEFAULT_GATEWAY_SIDECAR_PORT, DEFAULT_SEED_FEED_HYPER_KEY, DEFAULT_SEED_GATEWAY_HYPER_KEY, SEED_RSS_IMAGE_RELATION_FIELD_KEYS, ensureReadGatewaySelected, fetchArweaveRawFromBaseUrl, fetchArweaveRawTextAcrossGateways, getArweaveReadBaseUrls, getArweaveUploadStatus, getDefaultArweaveReadGatewayHostsOrdered, getLastHealthyReadGatewayHost, getPreferredArweaveReadBaseUrls, getReadGatewayHostsForConfig, getResolvedArweaveReadBaseUrls, getResolvedSeedGatewayEndpoints, getUploadApiArweaveDataUrl, getUploadApiArweaveStatusUrl, getUploadPipelineTransactionStatus, invalidateReadGatewayCache, invalidateSidecarProbeCache, isArweaveL1AnchoringComplete, isEasAttestationExplorerUrl, isGatewayHostCircuitOpen, isKnownArweaveGatewayHostname, isReadGatewayKnownHealthy, mergePrimaryHostWithDefaults, normalizeGatewayHostKey, normalizeUploadApiBaseUrl, queryArweaveGatewayTransaction, queryArweaveGatewayTransactionWithFallback, recordGatewayHostFailure, recordGatewayHostSuccess, resetArweaveReadGatewayForTests, resolveSeedGatewayEndpoints, resolveSeedRssImageRelationFromItem, resolveSeedRssImageRelationRef, seedGatewayConfigFromClientContext, seedGatewayConfigFromSeedConfig, setPreferredArweaveReadBaseUrls, setResolvedSeedGatewayEndpoints } from '@seedprotocol/arweave';
|
|
23
|
-
export { u as updateSeedRevokedAt } from './updateSeedRevokedAt-
|
|
24
|
-
import { a as getSegmentedItemProperties, g as getPublishDraftGraph, i as isSeedRevoked, f as findRelatedSeedRow, b as isUnpublishedSeed, h as htmlPropertyNameForHtmlSeed, r as relatedModelNameFromDef } from './publishDraftGraph-
|
|
25
|
-
export { P as PublishValidationFailedError, R as RELATED_ITEM_UNPUBLISHED_CODE, a as RelatedItemUnpublishedError, r as resolvePublishPayloadValues, v as validateItemForPublish } from './getPublishPayload-
|
|
19
|
+
export { M as MODEL_AMBIGUOUS_EVENT } from './resolveModelForSyncedSeed-8cAzvUFd.js';
|
|
20
|
+
export { ModelProperty } from './ModelProperty-DJxeOOrc.js';
|
|
21
|
+
export { getModelSchemasFromEas } from './eas-DHxfswCt.js';
|
|
22
|
+
export { BaseArweaveClient, DEFAULT_ARWEAVE_GATEWAYS, DEFAULT_ARWEAVE_GRAPHQL_URL, DEFAULT_ARWEAVE_HOST, DEFAULT_GATEWAY_SIDECAR_HOST, DEFAULT_GATEWAY_SIDECAR_PORT, DEFAULT_SEED_FEED_HYPER_KEY, DEFAULT_SEED_GATEWAY_HYPER_KEY, SEED_RSS_IMAGE_RELATION_FIELD_KEYS, ensureReadGatewaySelected, fetchArweaveRawFromBaseUrl, fetchArweaveRawTextAcrossGateways, getArweaveReadBaseUrls, getArweaveUploadStatus, getDefaultArweaveReadGatewayHostsOrdered, getLastHealthyReadGatewayHost, getPreferredArweaveReadBaseUrls, getReadGatewayHostsForConfig, getResolvedArweaveReadBaseUrls, getResolvedSeedGatewayEndpoints, getUploadApiArweaveDataUrl, getUploadApiArweaveStatusUrl, getUploadPipelineTransactionStatus, hasArweaveContentReadTransform, invalidateReadGatewayCache, invalidateSidecarProbeCache, isArweaveL1AnchoringComplete, isEasAttestationExplorerUrl, isGatewayHostCircuitOpen, isKnownArweaveGatewayHostname, isReadGatewayKnownHealthy, mergePrimaryHostWithDefaults, normalizeGatewayHostKey, normalizeUploadApiBaseUrl, queryArweaveGatewayTransaction, queryArweaveGatewayTransactionWithFallback, readArweaveContentResponse, recordGatewayHostFailure, recordGatewayHostSuccess, resetArweaveReadGatewayForTests, resolveSeedGatewayEndpoints, resolveSeedRssImageRelationFromItem, resolveSeedRssImageRelationRef, seedGatewayConfigFromClientContext, seedGatewayConfigFromSeedConfig, setArweaveContentReadTransform, setPreferredArweaveReadBaseUrls, setResolvedSeedGatewayEndpoints, transformArweaveContent } from '@seedprotocol/arweave';
|
|
23
|
+
export { u as updateSeedRevokedAt } from './updateSeedRevokedAt-D_EG-q3b.js';
|
|
24
|
+
import { a as getSegmentedItemProperties, g as getPublishDraftGraph, i as isSeedRevoked, f as findRelatedSeedRow, b as isUnpublishedSeed, h as htmlPropertyNameForHtmlSeed, r as relatedModelNameFromDef } from './publishDraftGraph-yYP74WRt.js';
|
|
25
|
+
export { P as PublishValidationFailedError, R as RELATED_ITEM_UNPUBLISHED_CODE, a as RelatedItemUnpublishedError, r as resolvePublishPayloadValues, v as validateItemForPublish } from './getPublishPayload-BHrxVtzY.js';
|
|
26
26
|
import 'pluralize';
|
|
27
|
-
export { itemHasPublishUploadCandidates } from './getPublishUploads-
|
|
27
|
+
export { getPublishUploadData, itemHasPublishUploadCandidates } from './getPublishUploads-BEqRiKIS.js';
|
|
28
28
|
import { parseFragment } from 'parse5';
|
|
29
29
|
import 'js-yaml';
|
|
30
30
|
import 'fs';
|
|
@@ -38,12 +38,14 @@ import 'rxjs';
|
|
|
38
38
|
import 'nanoid';
|
|
39
39
|
import 'nanoid-dictionary';
|
|
40
40
|
import '@seedprotocol/query';
|
|
41
|
-
import '
|
|
41
|
+
import '@noble/hashes/sha256';
|
|
42
42
|
import '@noble/hashes/sha3';
|
|
43
43
|
import '@noble/hashes/utils';
|
|
44
|
-
import '
|
|
44
|
+
import 'drizzle-orm/sqlite-core';
|
|
45
|
+
import './SchemaValidationService-CvRS2HSO.js';
|
|
45
46
|
import '@sinclair/typebox/value';
|
|
46
47
|
import '@ethereum-attestation-service/eas-sdk';
|
|
48
|
+
import './mimeTypes-DHAHC4eZ.js';
|
|
47
49
|
|
|
48
50
|
/**
|
|
49
51
|
* Updates the version record with the attestation UID after a Version attestation is created.
|
|
@@ -529,7 +531,7 @@ async function getRelatedItemsForPublish(item, visited = new Set()) {
|
|
|
529
531
|
visited.add(seedLocalId);
|
|
530
532
|
const result = [];
|
|
531
533
|
const { itemRelationProperties, itemImageProperties, itemListProperties } = await getSegmentedItemProperties(item);
|
|
532
|
-
const getItemMod = await import('./getItem-
|
|
534
|
+
const getItemMod = await import('./getItem-d6N_aM6S.js');
|
|
533
535
|
const { getItem } = getItemMod;
|
|
534
536
|
const processRelationOrImage = async (prop) => {
|
|
535
537
|
const snapshot = prop.getService().getSnapshot();
|
|
@@ -548,8 +550,8 @@ async function getRelatedItemsForPublish(item, visited = new Set()) {
|
|
|
548
550
|
if (!value && prop.propertyName && isStorageSeed) {
|
|
549
551
|
const ctx = context;
|
|
550
552
|
if (ctx.seedLocalId || ctx.seedUid) {
|
|
551
|
-
const _mod_0 = await import('./Item-
|
|
552
|
-
const _ns_0 = _mod_0.
|
|
553
|
+
const _mod_0 = await import('./Item-C7sUUu2B.js');
|
|
554
|
+
const _ns_0 = _mod_0.a1;
|
|
553
555
|
const { getPropertyData } = _ns_0;
|
|
554
556
|
const meta = await getPropertyData({
|
|
555
557
|
propertyName: prop.propertyName,
|
|
@@ -900,7 +902,7 @@ async function prepareHtmlEmbeddedImagesForPublish(item, publishPolicy) {
|
|
|
900
902
|
* (publishDraftGraph.ts). Html-embedded images of these items are co-published with `item` like its own.
|
|
901
903
|
*/
|
|
902
904
|
async function getRelatedDraftsCoPublishedWith(item) {
|
|
903
|
-
const _mod_1 = await import('./publishDraftGraph-
|
|
905
|
+
const _mod_1 = await import('./publishDraftGraph-yYP74WRt.js');
|
|
904
906
|
const _ns_1 = _mod_1.p;
|
|
905
907
|
const { getPublishDraftGraph } = _ns_1;
|
|
906
908
|
const { drafts } = await getPublishDraftGraph(item);
|
|
@@ -1144,20 +1146,6 @@ function shouldAttestProperty(prop, forceFullSnapshot) {
|
|
|
1144
1146
|
}
|
|
1145
1147
|
return true;
|
|
1146
1148
|
}
|
|
1147
|
-
function getStorageDirForDataType(dataType) {
|
|
1148
|
-
switch (normalizeDataType(dataType)) {
|
|
1149
|
-
case 'Image':
|
|
1150
|
-
return BaseFileManager.getFilesPath('images');
|
|
1151
|
-
case 'File':
|
|
1152
|
-
return BaseFileManager.getFilesPath('files');
|
|
1153
|
-
case 'Html':
|
|
1154
|
-
return BaseFileManager.getFilesPath('html');
|
|
1155
|
-
case 'Json':
|
|
1156
|
-
return BaseFileManager.getFilesPath('json');
|
|
1157
|
-
default:
|
|
1158
|
-
return BaseFileManager.getFilesPath('images');
|
|
1159
|
-
}
|
|
1160
|
-
}
|
|
1161
1149
|
async function addUpload(acc, seen, key, bytes) {
|
|
1162
1150
|
if (bytes <= 0 || seen.has(key))
|
|
1163
1151
|
return;
|
|
@@ -1219,7 +1207,7 @@ async function loadRelatedItem(value) {
|
|
|
1219
1207
|
const { seedLocalId, seedUid } = resolveSeedIdsFromRefString(normalized);
|
|
1220
1208
|
if (!seedLocalId && !seedUid)
|
|
1221
1209
|
return undefined;
|
|
1222
|
-
const { getItem } = await import('./getItem-
|
|
1210
|
+
const { getItem } = await import('./getItem-d6N_aM6S.js');
|
|
1223
1211
|
try {
|
|
1224
1212
|
return await getItem({ seedLocalId, seedUid });
|
|
1225
1213
|
}
|
|
@@ -1315,8 +1303,8 @@ async function appendCoPublishImages(item, acc, seen, visited, forceFullSnapshot
|
|
|
1315
1303
|
.from(htmlEmbeddedImageCoPublish)
|
|
1316
1304
|
.where(eq(htmlEmbeddedImageCoPublish.parentSeedLocalId, item.seedLocalId));
|
|
1317
1305
|
for (const row of rows) {
|
|
1318
|
-
const _mod_2 = await import('./Item-
|
|
1319
|
-
const _ns_2 = _mod_2.
|
|
1306
|
+
const _mod_2 = await import('./Item-C7sUUu2B.js');
|
|
1307
|
+
const _ns_2 = _mod_2.a2;
|
|
1320
1308
|
const { Item } = _ns_2;
|
|
1321
1309
|
const imageItem = await Item.find({
|
|
1322
1310
|
seedLocalId: row.imageSeedLocalId,
|