@seedprotocol/sdk 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/{ArweaveClient-CmJYeuq1.js → ArweaveClient-C0g0es2v.js} +2 -2
  2. package/dist/{ArweaveClient-EXXrXUzz.js.map → ArweaveClient-C0g0es2v.js.map} +1 -1
  3. package/dist/{ArweaveClient-EXXrXUzz.js → ArweaveClient-CzkBgiZY.js} +2 -2
  4. package/dist/{ArweaveClient-CmJYeuq1.js.map → ArweaveClient-CzkBgiZY.js.map} +1 -1
  5. package/dist/{Db-CESKJH-G.js → Db-C4oog-0n.js} +3 -3
  6. package/dist/{Db-CESKJH-G.js.map → Db-C4oog-0n.js.map} +1 -1
  7. package/dist/{Db-DiTPSbQ8.js → Db-VPouegkr.js} +3 -3
  8. package/dist/{Db-DiTPSbQ8.js.map → Db-VPouegkr.js.map} +1 -1
  9. package/dist/{EasClient-BesHK2bO.js → EasClient-B9a3NsTi.js} +2 -2
  10. package/dist/{EasClient-BesHK2bO.js.map → EasClient-B9a3NsTi.js.map} +1 -1
  11. package/dist/{EasClient-Cop6WtWl.js → EasClient-DQ93i2ci.js} +2 -2
  12. package/dist/{EasClient-Cop6WtWl.js.map → EasClient-DQ93i2ci.js.map} +1 -1
  13. package/dist/{FileManager-DTzkncLh.js → FileManager-_ErxVuwb.js} +8 -5
  14. package/dist/FileManager-_ErxVuwb.js.map +1 -0
  15. package/dist/{Item-B5Tz-Y7t.js → Item-D9HFPxsK.js} +3 -3
  16. package/dist/{Item-B5Tz-Y7t.js.map → Item-D9HFPxsK.js.map} +1 -1
  17. package/dist/{ItemProperty-DBV0Iib_.js → ItemProperty-BdtvKrEy.js} +3 -3
  18. package/dist/{ItemProperty-DBV0Iib_.js.map → ItemProperty-BdtvKrEy.js.map} +1 -1
  19. package/dist/{QueryClient-C7a0NHCt.js → QueryClient-Bmnv_moN.js} +2 -2
  20. package/dist/{QueryClient-C7a0NHCt.js.map → QueryClient-Bmnv_moN.js.map} +1 -1
  21. package/dist/{QueryClient-BnwbHtqe.js → QueryClient-hzOtFe99.js} +2 -2
  22. package/dist/{QueryClient-BnwbHtqe.js.map → QueryClient-hzOtFe99.js.map} +1 -1
  23. package/dist/bin.js +5 -5
  24. package/dist/bin.js.map +1 -1
  25. package/dist/{constants-CWg2B3Au.js → constants-Bhl5dZpN.js} +4 -1
  26. package/dist/constants-Bhl5dZpN.js.map +1 -0
  27. package/dist/{index-CQ9FS10O.js → index-BAtjd9W-.js} +3 -3
  28. package/dist/index-BAtjd9W-.js.map +1 -0
  29. package/dist/{index-BHGJ-Es9.js → index-BSR5hv7Q.js} +59 -27
  30. package/dist/index-BSR5hv7Q.js.map +1 -0
  31. package/dist/main.js +2 -2
  32. package/dist/{seed.schema.config-DDzfQguf.js → seed.schema.config-BxJYabim.js} +3 -3
  33. package/dist/{seed.schema.config-DDzfQguf.js.map → seed.schema.config-BxJYabim.js.map} +1 -1
  34. package/dist/src/AppStateSchema.ts +10 -0
  35. package/dist/src/ArweaveClient.ts +13 -0
  36. package/dist/src/Attestation.ts +21 -0
  37. package/dist/src/BaseArweaveClient.ts +13 -0
  38. package/dist/src/BaseClientManager.ts +35 -0
  39. package/dist/src/BaseDb.ts +35 -0
  40. package/dist/src/BaseEasClient.ts +14 -0
  41. package/dist/src/BaseFileManager.ts +60 -0
  42. package/dist/src/BaseItem.ts +413 -0
  43. package/dist/src/BaseItemProperty.ts +416 -0
  44. package/dist/src/BaseQueryClient.ts +13 -0
  45. package/dist/src/ClientManager.ts +63 -0
  46. package/dist/src/ConfigSchema.ts +15 -0
  47. package/dist/src/Db.ts +82 -0
  48. package/dist/src/EasClient.ts +13 -0
  49. package/dist/src/FileDownloader.ts +63 -0
  50. package/dist/src/FileManager.ts +59 -0
  51. package/dist/src/IDb.ts +7 -0
  52. package/dist/src/IEasClient.ts +2 -0
  53. package/dist/src/IItem.ts +26 -0
  54. package/dist/src/IItemProperty.ts +28 -0
  55. package/dist/src/IQueryClient.ts +11 -0
  56. package/dist/src/ImageResizer.ts +81 -0
  57. package/dist/src/Item.ts +12 -0
  58. package/dist/src/ItemProperty.ts +9 -0
  59. package/dist/src/MetadataSchema.ts +28 -0
  60. package/dist/src/ModelSchema.ts +46 -0
  61. package/dist/src/ModelUidSchema.ts +16 -0
  62. package/dist/src/PropertyUidSchema.ts +16 -0
  63. package/dist/src/QueryClient.ts +26 -0
  64. package/dist/src/Schema.ts +17 -0
  65. package/dist/src/SeedProtocolSdk.d.ts +19 -0
  66. package/dist/src/SeedSchema.ts +29 -0
  67. package/dist/src/VersionSchema.ts +16 -0
  68. package/dist/src/actors.ts +295 -0
  69. package/dist/src/addModelsToDb.ts +152 -0
  70. package/dist/src/allItems.ts +31 -0
  71. package/dist/src/analyzeInput.ts +144 -0
  72. package/dist/src/browser.app.db.config.ts +27 -0
  73. package/dist/src/browser.ts +30 -0
  74. package/dist/src/checkStatus.ts +57 -0
  75. package/dist/src/clientManagerMachine.ts +59 -0
  76. package/dist/src/configureFs.ts +98 -0
  77. package/dist/src/connectToDb.ts +41 -0
  78. package/dist/src/connectionManager.ts +67 -0
  79. package/dist/src/constants.ts +125 -0
  80. package/dist/src/content-hash.ts +30 -0
  81. package/dist/src/create.ts +39 -0
  82. package/dist/src/createMetadata.ts +77 -0
  83. package/dist/src/createNewItem.ts +61 -0
  84. package/dist/src/createPublishAttempt.ts +16 -0
  85. package/dist/src/createSeed.ts +31 -0
  86. package/dist/src/createSeeds.ts +24 -0
  87. package/dist/src/createVersion.ts +33 -0
  88. package/dist/src/dbMachine.ts +182 -0
  89. package/dist/src/deleteItem.ts +19 -0
  90. package/dist/src/download.ts +208 -0
  91. package/dist/src/drizzle.ts +78 -0
  92. package/dist/src/eas.ts +40 -0
  93. package/dist/src/environment.ts +35 -0
  94. package/dist/src/eventBus.ts +5 -0
  95. package/dist/src/events.ts +14 -0
  96. package/dist/src/fetchDataFromEas.ts +94 -0
  97. package/dist/src/fetchDbData.ts +19 -0
  98. package/dist/src/fetchRelatedItems.ts +184 -0
  99. package/dist/src/fetchSeeds.ts +45 -0
  100. package/dist/src/fetchVersions.ts +49 -0
  101. package/dist/src/files.ts +81 -0
  102. package/dist/src/filesDownload.ts +326 -0
  103. package/dist/src/fragment-masking.ts +87 -0
  104. package/dist/src/getExistingItem.ts +60 -0
  105. package/dist/src/getItem.ts +32 -0
  106. package/dist/src/getItemData.ts +99 -0
  107. package/dist/src/getItemProperties.ts +56 -0
  108. package/dist/src/getItemProperty.ts +34 -0
  109. package/dist/src/getItems.ts +70 -0
  110. package/dist/src/getMetadata.ts +40 -0
  111. package/dist/src/getModelSchemas.ts +89 -0
  112. package/dist/src/getPropertyData.ts +50 -0
  113. package/dist/src/getPublishPayload.ts +355 -0
  114. package/dist/src/getPublishUploads.ts +207 -0
  115. package/dist/src/getRelationValueData.ts +27 -0
  116. package/dist/src/getSchemaForItemProperty.ts +68 -0
  117. package/dist/src/getSchemaForModel.ts +42 -0
  118. package/dist/src/getSchemaUidForModel.ts +32 -0
  119. package/dist/src/getSeedData.ts +34 -0
  120. package/dist/src/getSegmentedItemProperties.ts +65 -0
  121. package/dist/src/getStorageTransactionIdForSeedUid.ts +38 -0
  122. package/dist/src/getVersionData.ts +46 -0
  123. package/dist/src/getVersionsForVersionUids.ts +39 -0
  124. package/dist/src/globalMachine.ts +280 -0
  125. package/dist/src/gql.ts +118 -0
  126. package/dist/src/graphql.ts +3209 -0
  127. package/dist/src/helpers.ts +273 -0
  128. package/dist/src/hydrateExistingItem.ts +137 -0
  129. package/dist/src/hydrateFromDb.ts +270 -0
  130. package/dist/src/hydrateNewItem.ts +34 -0
  131. package/dist/src/imageResize.ts +507 -0
  132. package/dist/src/index.d.ts +5 -0
  133. package/dist/src/index.ts +4 -0
  134. package/dist/src/initialize.ts +124 -0
  135. package/dist/src/internalMachine.ts +241 -0
  136. package/dist/src/itemMachineAll.ts +157 -0
  137. package/dist/src/itemMachineSingle.ts +158 -0
  138. package/dist/src/loadAppDb.ts +44 -0
  139. package/dist/src/machines.ts +66 -0
  140. package/dist/src/metadataLatest.ts +34 -0
  141. package/dist/src/migrate.ts +57 -0
  142. package/dist/src/model.ts +72 -0
  143. package/dist/src/modelClass.ts +19 -0
  144. package/dist/src/node.app.db.config.ts +41 -0
  145. package/dist/src/prepareDb.ts +29 -0
  146. package/dist/src/preparePublishRequestData.ts +81 -0
  147. package/dist/src/processItems.ts +74 -0
  148. package/dist/src/property.ts +156 -0
  149. package/dist/src/propertyMachine.ts +202 -0
  150. package/dist/src/publish.ts +28 -0
  151. package/dist/src/publishMachine.ts +77 -0
  152. package/dist/src/queries.ts +13 -0
  153. package/dist/src/recoverDeletedItem.ts +14 -0
  154. package/dist/src/reload.ts +33 -0
  155. package/dist/src/request.ts +45 -0
  156. package/dist/src/requestAll.ts +157 -0
  157. package/dist/src/resolveRelatedValue.ts +367 -0
  158. package/dist/src/resolveRemoteStorage.ts +88 -0
  159. package/dist/src/saveAppState.ts +50 -0
  160. package/dist/src/saveConfig.ts +106 -0
  161. package/dist/src/saveDataToDb.ts +145 -0
  162. package/dist/src/saveImageSrc.ts +242 -0
  163. package/dist/src/saveItemStorage.ts +156 -0
  164. package/dist/src/saveMetadata.ts +18 -0
  165. package/dist/src/savePublishService.ts +30 -0
  166. package/dist/src/saveRelation.ts +112 -0
  167. package/dist/src/seed.schema.config.ts +25 -0
  168. package/dist/src/seed.ts +10 -0
  169. package/dist/src/seedProtocol.ts +17 -0
  170. package/dist/src/services.ts +365 -0
  171. package/dist/src/setAddresses.ts +16 -0
  172. package/dist/src/sqlWasmClient.ts +88 -0
  173. package/dist/src/syncDbWithEas.ts +628 -0
  174. package/dist/src/trash.ts +29 -0
  175. package/dist/src/ts-to-proto.ts +101 -0
  176. package/dist/src/types.ts +12 -0
  177. package/dist/src/updateItemPropertyValue.ts +243 -0
  178. package/dist/src/updateMachineContext.ts +21 -0
  179. package/dist/src/updateMetadata.ts +59 -0
  180. package/dist/src/upload.ts +86 -0
  181. package/dist/src/validate.ts +45 -0
  182. package/dist/src/validateInput.ts +43 -0
  183. package/dist/src/validateItemData.ts +20 -0
  184. package/dist/src/versionData.ts +24 -0
  185. package/dist/src/waitForDb.ts +25 -0
  186. package/dist/src/waitForFiles.ts +41 -0
  187. package/dist/src/wasm.d.ts +8300 -0
  188. package/dist/types/scripts/bin.d.ts.map +1 -1
  189. package/dist/types/src/browser/helpers/FileManager.d.ts +2 -1
  190. package/dist/types/src/browser/helpers/FileManager.d.ts.map +1 -1
  191. package/dist/types/src/helpers/FileManager/BaseFileManager.d.ts +1 -0
  192. package/dist/types/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  193. package/dist/types/src/node/helpers/FileManager.d.ts +2 -1
  194. package/dist/types/src/node/helpers/FileManager.d.ts.map +1 -1
  195. package/package.json +3 -3
  196. package/dist/FileManager-DTzkncLh.js.map +0 -1
  197. package/dist/constants-CWg2B3Au.js.map +0 -1
  198. package/dist/index-BHGJ-Es9.js.map +0 -1
  199. package/dist/index-CQ9FS10O.js.map +0 -1
  200. package/dist/package.json +0 -189
@@ -1,4 +1,4 @@
1
- import { B as BaseArweaveClient, A as ARWEAVE_ENDPOINT } from './constants-CWg2B3Au.js';
1
+ import { B as BaseArweaveClient, A as ARWEAVE_ENDPOINT } from './constants-Bhl5dZpN.js';
2
2
  import { GraphQLClient } from 'graphql-request';
3
3
  import '@ethereum-attestation-service/eas-sdk';
4
4
 
@@ -10,4 +10,4 @@ class ArweaveClient extends BaseArweaveClient {
10
10
  BaseArweaveClient.setPlatformClass(ArweaveClient);
11
11
 
12
12
  export { ArweaveClient };
13
- //# sourceMappingURL=ArweaveClient-CmJYeuq1.js.map
13
+ //# sourceMappingURL=ArweaveClient-C0g0es2v.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArweaveClient-EXXrXUzz.js","sources":["../../src/browser/helpers/ArweaveClient.ts"],"sourcesContent":["import { BaseArweaveClient } from \"@/helpers/ArweaveClient/BaseArweaveClient\";\nimport { ARWEAVE_ENDPOINT } from \"@/services/internal/constants\";\nimport { GraphQLClient } from \"graphql-request\";\n\nclass ArweaveClient extends BaseArweaveClient {\n static getArweaveClient(): GraphQLClient {\n return new GraphQLClient(ARWEAVE_ENDPOINT)\n }\n}\n\nBaseArweaveClient.setPlatformClass(ArweaveClient)\n\nexport { ArweaveClient }"],"names":[],"mappings":";;;;AAIA,MAAM,aAAc,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,OAAO,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC;;AAE7C;AAED,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,CAAC;;;;"}
1
+ {"version":3,"file":"ArweaveClient-C0g0es2v.js","sources":["../../src/browser/helpers/ArweaveClient.ts"],"sourcesContent":["import { BaseArweaveClient } from \"@/helpers/ArweaveClient/BaseArweaveClient\";\nimport { ARWEAVE_ENDPOINT } from \"@/services/internal/constants\";\nimport { GraphQLClient } from \"graphql-request\";\n\nclass ArweaveClient extends BaseArweaveClient {\n static getArweaveClient(): GraphQLClient {\n return new GraphQLClient(ARWEAVE_ENDPOINT)\n }\n}\n\nBaseArweaveClient.setPlatformClass(ArweaveClient)\n\nexport { ArweaveClient }"],"names":[],"mappings":";;;;AAIA,MAAM,aAAc,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,OAAO,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC;;AAE7C;AAED,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import { B as BaseArweaveClient, A as ARWEAVE_ENDPOINT } from './constants-CWg2B3Au.js';
1
+ import { B as BaseArweaveClient, A as ARWEAVE_ENDPOINT } from './constants-Bhl5dZpN.js';
2
2
  import { GraphQLClient } from 'graphql-request';
3
3
  import '@ethereum-attestation-service/eas-sdk';
4
4
 
@@ -10,4 +10,4 @@ class ArweaveClient extends BaseArweaveClient {
10
10
  BaseArweaveClient.setPlatformClass(ArweaveClient);
11
11
 
12
12
  export { ArweaveClient };
13
- //# sourceMappingURL=ArweaveClient-EXXrXUzz.js.map
13
+ //# sourceMappingURL=ArweaveClient-CzkBgiZY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArweaveClient-CmJYeuq1.js","sources":["../../src/node/helpers/ArweaveClient.ts"],"sourcesContent":["import { BaseArweaveClient } from '@/helpers/ArweaveClient/BaseArweaveClient';\nimport { ARWEAVE_ENDPOINT } from '@/services/internal/constants';\nimport { GraphQLClient } from 'graphql-request';\n\nclass ArweaveClient extends BaseArweaveClient {\n static getArweaveClient(): GraphQLClient {\n return new GraphQLClient(ARWEAVE_ENDPOINT);\n }\n}\n\nBaseArweaveClient.setPlatformClass(ArweaveClient);\n\nexport { ArweaveClient }; "],"names":[],"mappings":";;;;AAIA,MAAM,aAAc,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,OAAO,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC;;AAE7C;AAED,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,CAAC;;;;"}
1
+ {"version":3,"file":"ArweaveClient-CzkBgiZY.js","sources":["../../src/node/helpers/ArweaveClient.ts"],"sourcesContent":["import { BaseArweaveClient } from '@/helpers/ArweaveClient/BaseArweaveClient';\nimport { ARWEAVE_ENDPOINT } from '@/services/internal/constants';\nimport { GraphQLClient } from 'graphql-request';\n\nclass ArweaveClient extends BaseArweaveClient {\n static getArweaveClient(): GraphQLClient {\n return new GraphQLClient(ARWEAVE_ENDPOINT);\n }\n}\n\nBaseArweaveClient.setPlatformClass(ArweaveClient);\n\nexport { ArweaveClient }; "],"names":[],"mappings":";;;;AAIA,MAAM,aAAc,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,OAAO,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC;;AAE7C;AAED,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,CAAC;;;;"}
@@ -1,10 +1,10 @@
1
- import { b as BaseDb, F as FileManager } from './index-BHGJ-Es9.js';
1
+ import { b as BaseDb, F as FileManager } from './index-BSR5hv7Q.js';
2
2
  import { sql } from 'drizzle-orm';
3
3
  import debug from 'debug';
4
4
  import { readMigrationFiles } from 'drizzle-orm/migrator';
5
5
  import { drizzle } from 'drizzle-orm/sqlite-proxy';
6
6
  import { migrate } from 'drizzle-orm/sqlite-proxy/migrator';
7
- import { d as BROWSER_FS_TOP_DIR } from './constants-CWg2B3Au.js';
7
+ import { d as BROWSER_FS_TOP_DIR } from './constants-Bhl5dZpN.js';
8
8
  import 'immer';
9
9
  import 'reflect-metadata';
10
10
  import '@sinclair/typebox';
@@ -382,4 +382,4 @@ class Db extends BaseDb {
382
382
  BaseDb.setPlatformClass(Db);
383
383
 
384
384
  export { Db, dbExec };
385
- //# sourceMappingURL=Db-CESKJH-G.js.map
385
+ //# sourceMappingURL=Db-C4oog-0n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Db-CESKJH-G.js","sources":["../../src/browser/db/sqlWasmClient.ts","../../src/services/db/connectionManager.ts","../../src/browser/db/Db.ts"],"sourcesContent":["import { SqliteConnectionManager } from '@/services/db'\nimport {\n SqliteRemoteDatabase,\n SqliteRemoteResult,\n} from 'drizzle-orm/sqlite-proxy'\nimport { sql } from 'drizzle-orm'\n\nlet sqlite3InitModule: any\nlet sqliteWasmClient: any\nlet manager: SqliteConnectionManager | undefined\nlet isPreparing = false\n\nexport const setSqliteWasmClient = (client: any) => {\n sqliteWasmClient = client\n}\n\nexport const getSqliteWasmClient = async () => {\n if (sqliteWasmClient) {\n return sqliteWasmClient\n }\n if (typeof window === 'undefined') {\n throw new Error('validateInput called from non-browser context')\n }\n\n if (isPreparing) {\n return\n }\n\n isPreparing = true\n\n if (!sqlite3InitModule) {\n sqlite3InitModule = await import('@sqlite.org/sqlite-wasm')\n }\n\n if (!window.sqlite3Worker1Promiser) {\n await sqlite3InitModule()\n }\n\n if (!window.sqlite3Worker1Promiser) {\n console.error('window.sqlite3Worker1Promiser not found')\n isPreparing = false\n return\n }\n\n try {\n sqliteWasmClient = await window.sqlite3Worker1Promiser.v2().catch((err) => {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n })\n } catch (err) {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n }\n return sqliteWasmClient\n}\n\nexport const getManager = () => {\n return manager\n}\n\nexport const setManager = (m: any) => {\n manager = m\n}\nlet appDb: SqliteRemoteDatabase<Record<string, unknown>> | undefined\nexport const setAppDb = (db: SqliteRemoteDatabase<Record<string, unknown>>) => {\n appDb = db\n}\nexport const getAppDb = () => {\n if (!appDb) {\n throw new Error('getAppDb: appDb is undefined')\n }\n\n return appDb\n}\nexport const isAppDbReady = () => {\n return !!appDb\n}\ntype RunQueryForStatement = (\n statement: string,\n) => Promise<SqliteRemoteResult<unknown>>\n\nexport const runQueryForStatement: RunQueryForStatement = async (\n statement: string,\n) => {\n const appDb = getAppDb()\n\n return appDb.run(sql.raw(statement))\n}\n","type SqliteDatabase = {\n open: (filename: string) => Promise<void>\n exec: (sql: string, params?: any[]) => any\n close: () => void\n}\n\nclass SqliteConnectionManager {\n private sqliteModule: SqliteDatabase\n private idleTimeout: number\n private databases: { [key: string]: SqliteDatabase }\n private idleTimers: { [key: string]: NodeJS.Timeout }\n\n constructor(sqliteModule: SqliteDatabase, idleTimeout: number = 300000) {\n // Default idle timeout: 5 minutes\n this.sqliteModule = sqliteModule\n this.idleTimeout = idleTimeout\n this.databases = {}\n this.idleTimers = {}\n }\n\n private resetIdleTimer(dbName: string): void {\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n }\n\n this.idleTimers[dbName] = setTimeout(() => {\n this.closeConnection(dbName)\n }, this.idleTimeout)\n }\n\n private async getConnection(dbName: string): Promise<SqliteDatabase> {\n if (this.databases[dbName]) {\n this.resetIdleTimer(dbName)\n return this.databases[dbName]\n }\n\n const db = new this.sqliteModule()\n await db.open(dbName)\n this.databases[dbName] = db\n this.resetIdleTimer(dbName)\n return db\n }\n\n public async execute(\n dbName: string,\n sql: string,\n params: any[] = [],\n ): Promise<any> {\n const db = await this.getConnection(dbName)\n const result = db.exec(sql, params)\n this.resetIdleTimer(dbName)\n return result\n }\n\n public closeConnection(dbName: string): void {\n if (this.databases[dbName]) {\n this.databases[dbName].close()\n delete this.databases[dbName]\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n delete this.idleTimers[dbName]\n }\n }\n }\n}\n\nexport { SqliteConnectionManager }\n","import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces/IDb\";\nimport { getAppDb, getSqliteWasmClient, isAppDbReady, setAppDb } from \"./sqlWasmClient\";\nimport { SqliteConnectionManager } from \"@/services/db\";\nimport debug from \"debug\";\nimport { sql } from \"drizzle-orm\";\nimport { readMigrationFiles } from \"drizzle-orm/migrator\";\nimport { drizzle } from \"drizzle-orm/sqlite-proxy\";\nimport { migrate as drizzleMigrate } from \"drizzle-orm/sqlite-proxy/migrator\";\nimport { BROWSER_FS_TOP_DIR } from \"@/services/internal/constants\";\nimport { FileManager } from \"@/browser/helpers/FileManager\";\nconst logger = debug('app:browser:db:Db')\n\nexport const dbExec = async (dbId: string, params: any[], sql: string, dbName: string, retries = 2) => {\n const rowsToReturnRaw: SqliteWasmResult[] = []\n const rowsValues: string[][] = []\n\n const sqliteWasmClient = await getSqliteWasmClient()\n\n // For a single exec command, the callback potentially gets called several times -- once for each row.\n // So we need to collect all rows into a final array to return (execResult).\n const rowsToReturn = await new Promise((resolve, reject) => {\n sqliteWasmClient('exec', {\n dbId,\n sql,\n bind: params,\n callback: (result) => {\n // Checks if this is the final callback of the query\n if (!result || !result.row || !result.rowNumber) {\n const returnResult = []\n // Before returning the array, we process it to match the expected output format\n // const rowsToReturnProcessed = rowsToReturnRaw.reduce((acc, curr) => {\n // if (\n // Array.isArray(curr.row) &&\n // curr.row?.length > 0 &&\n // curr.columnNames.length > 0\n // ) {\n // const returnObj: ReturnObj = {\n // database: dbName,\n // }\n //\n // const values = []\n //\n // curr.columnNames.forEach((colName, index: number) => {\n // if (curr.row && curr.row[index]) {\n // returnObj[colName] = curr.row[index]\n // values.push(curr.row[index])\n // }\n // })\n // // rowsValueStrings.push(`(${values.join(', ')})`)\n // acc.push(returnObj)\n // }\n // return acc\n // }, [] as string[])\n for (const currRow of rowsToReturnRaw) {\n // const values: string[] = []\n // currRow.columnNames.forEach((colName, index: number) => {\n // if (currRow.row) {\n // values.push(currRow.row[index])\n // }\n // })\n // logger(`[db/actors] [dbExec] currRow`, currRow)\n returnResult.push(currRow.row)\n }\n resolve(returnResult)\n } else {\n // If not the final response, add this row to the return array\n rowsToReturnRaw.push(result)\n }\n },\n }).catch(async (error) => {\n reject(error)\n })\n })\n\n // logger(`[db/actors] [dbExec] rowsToReturn`, rowsToReturn)\n // logger(`[db/actors] [dbExec] rowsValues`, rowsValues)\n\n return rowsToReturn || []\n}\n\nclass Db extends BaseDb implements IDb {\n constructor() {\n super()\n }\n\n static getAppDb() {\n return getAppDb()\n }\n\n static isAppDbReady() {\n return isAppDbReady()\n }\n\n static prepareDb(filesDir: string) {\n\n return new Promise((resolve, reject) => {\n let sqliteWasmClient\n const interval = setInterval(() => {\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n if (sqliteWasmClient) {\n clearInterval(interval)\n const manager = new SqliteConnectionManager(sqliteWasmClient)\n resolve(manager)\n }\n })\n\n }, 200)\n })\n }\n\n static async connectToDb(pathToDir: string, dbName: string): Promise<string> {\n\n return new Promise((resolve, reject) => {\n const interval = setInterval(() => {\n\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n\n if (!sqliteWasmClient) {\n return\n }\n\n //@ts-ignore\n sqliteWasmClient('config-get', {}).then((response) => {\n logger(response)\n logger('Running SQLite3 version', response.result.version.libVersion)\n\n //@ts-ignore\n sqliteWasmClient('open', {\n filename: `file:${pathToDir}/db/${dbName}.sqlite3?vfs=opfs`,\n }).then((response: { dbId: string, result: { filename: string } }) => {\n\n logger(response)\n const dbId = response.dbId\n logger(\n 'OPFS is available, created persisted database at',\n response.result.filename.replace(/^file:(.*?)\\?vfs=opfs$/, '$1'),\n )\n\n if (dbId) {\n clearInterval(interval)\n resolve(dbId)\n }\n })\n })\n })\n }, 500)\n })\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n\n const fs = await import('@zenfs/core')\n\n const schemaGlobString = `${BROWSER_FS_TOP_DIR}/schema/*`\n\n const drizzleDb = drizzle(\n async (sql, params, method) => {\n try {\n // logger(\n // `executing sql on ${dbName} with id: ${dbId} and method: ${method}`,\n // sql,\n // )\n\n const finalResult = await dbExec(dbId, params, sql, dbName)\n\n // logger(`finalResult with method: ${method}`, finalResult)\n // Drizzle always waits for {rows: string[][]} or {rows: string[]} for the return value.\n\n // When the method is get, you should return a value as {rows: string[]}.\n // Otherwise, you should return {rows: string[][]}.\n\n return { rows: finalResult }\n } catch (e: any) {\n console.error('Error from sqlite proxy server: ', JSON.stringify(e))\n return { rows: [] }\n }\n },\n {\n schema: schemaGlobString,\n // logger: true,\n },\n )\n\n try {\n\n const filesInRoot = await fs.promises.readdir('/')\n logger('filesInRoot', filesInRoot)\n const migrations = readMigrationFiles({\n migrationsFolder: pathToDbDir,\n })\n\n if (migrations.length > 0) {\n const incomingMigrationHashes = migrations.map(\n (migration) => migration.hash,\n )\n\n let existingMigrationHashes\n let rows = []\n\n try {\n\n const queryMigrationsTable = await drizzleDb.run(\n sql.raw(\n `SELECT name \n FROM sqlite_master \n WHERE type='table' \n AND name='__drizzle_migrations';`,\n ),\n )\n\n logger('queryMigrationsTable', queryMigrationsTable)\n\n if (queryMigrationsTable && queryMigrationsTable.rows && queryMigrationsTable.rows.length > 0) {\n const query = await drizzleDb.run(\n sql.raw(\n `SELECT hash, created_at\n FROM main.__drizzle_migrations;`,\n ),\n )\n \n rows = query.rows\n }\n\n } catch (e) {\n rows = []\n }\n\n if (rows && rows.length > 0) {\n existingMigrationHashes = rows.map((row) => row[0])\n }\n\n if (existingMigrationHashes) {\n let shouldRebuildDb = false\n for (const existingHash of existingMigrationHashes) {\n if (!incomingMigrationHashes.includes(existingHash)) {\n shouldRebuildDb = true\n break\n }\n }\n if (shouldRebuildDb) {\n await fs.promises.unlink(`${pathToDbDir}/${dbName}.sqlite3`)\n }\n }\n }\n\n await drizzleMigrate(\n drizzleDb,\n async (queriesToRun) => {\n // logger('queriesToRun', queriesToRun)\n for (const query of queriesToRun) {\n // logger('query', query)\n await drizzleDb.run(sql.raw(query))\n }\n },\n {\n migrationsFolder: pathToDbDir,\n },\n )\n } catch (error) {\n\n await FileManager.waitForFile(`${pathToDbDir}/meta/_journal.json`)\n\n await this.migrate(pathToDbDir, dbName)\n\n }\n\n setAppDb(drizzleDb)\n // const createTempTableQuery = await appDb.run(\n // sql.raw(\n // `CREATE TEMP TABLE IF NOT EXISTS temp_last_inserted_id (id INTEGER, table TEXT);`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTempTableQuery',\n // createTempTableQuery,\n // )\n\n // const triggersQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'trigger';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] triggersQuery', triggersQuery)\n //\n // const triggers = triggersQuery.rows.map((row) => row[0])\n //\n // const tablesQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'table';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] tablesQuery', tablesQuery)\n //\n // const tableNames = tablesQuery.rows.map((row) => row[0])\n // logger('[db/actors] [migrate] tableNames', tableNames)\n // for (const tableName of tableNames) {\n // const triggerName = `after_insert_${tableName}`\n // if (triggers.includes(triggerName)) {\n // continue\n // }\n // const createTriggerQuery = await appDb.run(\n // sql.raw(\n // `CREATE TRIGGER after_insert_${tableName}\n // AFTER INSERT ON ${tableName}\n // BEGIN\n // DELETE FROM temp_last_inserted_id;\n // INSERT INTO temp_last_inserted_id (id) VALUES (new.id);\n // END;`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTriggerQuery',\n // createTriggerQuery,\n // )\n // }\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }"],"names":["drizzleMigrate"],"mappings":"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"}
1
+ {"version":3,"file":"Db-C4oog-0n.js","sources":["../../src/browser/db/sqlWasmClient.ts","../../src/services/db/connectionManager.ts","../../src/browser/db/Db.ts"],"sourcesContent":["import { SqliteConnectionManager } from '@/services/db'\nimport {\n SqliteRemoteDatabase,\n SqliteRemoteResult,\n} from 'drizzle-orm/sqlite-proxy'\nimport { sql } from 'drizzle-orm'\n\nlet sqlite3InitModule: any\nlet sqliteWasmClient: any\nlet manager: SqliteConnectionManager | undefined\nlet isPreparing = false\n\nexport const setSqliteWasmClient = (client: any) => {\n sqliteWasmClient = client\n}\n\nexport const getSqliteWasmClient = async () => {\n if (sqliteWasmClient) {\n return sqliteWasmClient\n }\n if (typeof window === 'undefined') {\n throw new Error('validateInput called from non-browser context')\n }\n\n if (isPreparing) {\n return\n }\n\n isPreparing = true\n\n if (!sqlite3InitModule) {\n sqlite3InitModule = await import('@sqlite.org/sqlite-wasm')\n }\n\n if (!window.sqlite3Worker1Promiser) {\n await sqlite3InitModule()\n }\n\n if (!window.sqlite3Worker1Promiser) {\n console.error('window.sqlite3Worker1Promiser not found')\n isPreparing = false\n return\n }\n\n try {\n sqliteWasmClient = await window.sqlite3Worker1Promiser.v2().catch((err) => {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n })\n } catch (err) {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n }\n return sqliteWasmClient\n}\n\nexport const getManager = () => {\n return manager\n}\n\nexport const setManager = (m: any) => {\n manager = m\n}\nlet appDb: SqliteRemoteDatabase<Record<string, unknown>> | undefined\nexport const setAppDb = (db: SqliteRemoteDatabase<Record<string, unknown>>) => {\n appDb = db\n}\nexport const getAppDb = () => {\n if (!appDb) {\n throw new Error('getAppDb: appDb is undefined')\n }\n\n return appDb\n}\nexport const isAppDbReady = () => {\n return !!appDb\n}\ntype RunQueryForStatement = (\n statement: string,\n) => Promise<SqliteRemoteResult<unknown>>\n\nexport const runQueryForStatement: RunQueryForStatement = async (\n statement: string,\n) => {\n const appDb = getAppDb()\n\n return appDb.run(sql.raw(statement))\n}\n","type SqliteDatabase = {\n open: (filename: string) => Promise<void>\n exec: (sql: string, params?: any[]) => any\n close: () => void\n}\n\nclass SqliteConnectionManager {\n private sqliteModule: SqliteDatabase\n private idleTimeout: number\n private databases: { [key: string]: SqliteDatabase }\n private idleTimers: { [key: string]: NodeJS.Timeout }\n\n constructor(sqliteModule: SqliteDatabase, idleTimeout: number = 300000) {\n // Default idle timeout: 5 minutes\n this.sqliteModule = sqliteModule\n this.idleTimeout = idleTimeout\n this.databases = {}\n this.idleTimers = {}\n }\n\n private resetIdleTimer(dbName: string): void {\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n }\n\n this.idleTimers[dbName] = setTimeout(() => {\n this.closeConnection(dbName)\n }, this.idleTimeout)\n }\n\n private async getConnection(dbName: string): Promise<SqliteDatabase> {\n if (this.databases[dbName]) {\n this.resetIdleTimer(dbName)\n return this.databases[dbName]\n }\n\n const db = new this.sqliteModule()\n await db.open(dbName)\n this.databases[dbName] = db\n this.resetIdleTimer(dbName)\n return db\n }\n\n public async execute(\n dbName: string,\n sql: string,\n params: any[] = [],\n ): Promise<any> {\n const db = await this.getConnection(dbName)\n const result = db.exec(sql, params)\n this.resetIdleTimer(dbName)\n return result\n }\n\n public closeConnection(dbName: string): void {\n if (this.databases[dbName]) {\n this.databases[dbName].close()\n delete this.databases[dbName]\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n delete this.idleTimers[dbName]\n }\n }\n }\n}\n\nexport { SqliteConnectionManager }\n","import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces/IDb\";\nimport { getAppDb, getSqliteWasmClient, isAppDbReady, setAppDb } from \"./sqlWasmClient\";\nimport { SqliteConnectionManager } from \"@/services/db\";\nimport debug from \"debug\";\nimport { sql } from \"drizzle-orm\";\nimport { readMigrationFiles } from \"drizzle-orm/migrator\";\nimport { drizzle } from \"drizzle-orm/sqlite-proxy\";\nimport { migrate as drizzleMigrate } from \"drizzle-orm/sqlite-proxy/migrator\";\nimport { BROWSER_FS_TOP_DIR } from \"@/services/internal/constants\";\nimport { FileManager } from \"@/browser/helpers/FileManager\";\nconst logger = debug('app:browser:db:Db')\n\nexport const dbExec = async (dbId: string, params: any[], sql: string, dbName: string, retries = 2) => {\n const rowsToReturnRaw: SqliteWasmResult[] = []\n const rowsValues: string[][] = []\n\n const sqliteWasmClient = await getSqliteWasmClient()\n\n // For a single exec command, the callback potentially gets called several times -- once for each row.\n // So we need to collect all rows into a final array to return (execResult).\n const rowsToReturn = await new Promise((resolve, reject) => {\n sqliteWasmClient('exec', {\n dbId,\n sql,\n bind: params,\n callback: (result) => {\n // Checks if this is the final callback of the query\n if (!result || !result.row || !result.rowNumber) {\n const returnResult = []\n // Before returning the array, we process it to match the expected output format\n // const rowsToReturnProcessed = rowsToReturnRaw.reduce((acc, curr) => {\n // if (\n // Array.isArray(curr.row) &&\n // curr.row?.length > 0 &&\n // curr.columnNames.length > 0\n // ) {\n // const returnObj: ReturnObj = {\n // database: dbName,\n // }\n //\n // const values = []\n //\n // curr.columnNames.forEach((colName, index: number) => {\n // if (curr.row && curr.row[index]) {\n // returnObj[colName] = curr.row[index]\n // values.push(curr.row[index])\n // }\n // })\n // // rowsValueStrings.push(`(${values.join(', ')})`)\n // acc.push(returnObj)\n // }\n // return acc\n // }, [] as string[])\n for (const currRow of rowsToReturnRaw) {\n // const values: string[] = []\n // currRow.columnNames.forEach((colName, index: number) => {\n // if (currRow.row) {\n // values.push(currRow.row[index])\n // }\n // })\n // logger(`[db/actors] [dbExec] currRow`, currRow)\n returnResult.push(currRow.row)\n }\n resolve(returnResult)\n } else {\n // If not the final response, add this row to the return array\n rowsToReturnRaw.push(result)\n }\n },\n }).catch(async (error) => {\n reject(error)\n })\n })\n\n // logger(`[db/actors] [dbExec] rowsToReturn`, rowsToReturn)\n // logger(`[db/actors] [dbExec] rowsValues`, rowsValues)\n\n return rowsToReturn || []\n}\n\nclass Db extends BaseDb implements IDb {\n constructor() {\n super()\n }\n\n static getAppDb() {\n return getAppDb()\n }\n\n static isAppDbReady() {\n return isAppDbReady()\n }\n\n static prepareDb(filesDir: string) {\n\n return new Promise((resolve, reject) => {\n let sqliteWasmClient\n const interval = setInterval(() => {\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n if (sqliteWasmClient) {\n clearInterval(interval)\n const manager = new SqliteConnectionManager(sqliteWasmClient)\n resolve(manager)\n }\n })\n\n }, 200)\n })\n }\n\n static async connectToDb(pathToDir: string, dbName: string): Promise<string> {\n\n return new Promise((resolve, reject) => {\n const interval = setInterval(() => {\n\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n\n if (!sqliteWasmClient) {\n return\n }\n\n //@ts-ignore\n sqliteWasmClient('config-get', {}).then((response) => {\n logger(response)\n logger('Running SQLite3 version', response.result.version.libVersion)\n\n //@ts-ignore\n sqliteWasmClient('open', {\n filename: `file:${pathToDir}/db/${dbName}.sqlite3?vfs=opfs`,\n }).then((response: { dbId: string, result: { filename: string } }) => {\n\n logger(response)\n const dbId = response.dbId\n logger(\n 'OPFS is available, created persisted database at',\n response.result.filename.replace(/^file:(.*?)\\?vfs=opfs$/, '$1'),\n )\n\n if (dbId) {\n clearInterval(interval)\n resolve(dbId)\n }\n })\n })\n })\n }, 500)\n })\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n\n const fs = await import('@zenfs/core')\n\n const schemaGlobString = `${BROWSER_FS_TOP_DIR}/schema/*`\n\n const drizzleDb = drizzle(\n async (sql, params, method) => {\n try {\n // logger(\n // `executing sql on ${dbName} with id: ${dbId} and method: ${method}`,\n // sql,\n // )\n\n const finalResult = await dbExec(dbId, params, sql, dbName)\n\n // logger(`finalResult with method: ${method}`, finalResult)\n // Drizzle always waits for {rows: string[][]} or {rows: string[]} for the return value.\n\n // When the method is get, you should return a value as {rows: string[]}.\n // Otherwise, you should return {rows: string[][]}.\n\n return { rows: finalResult }\n } catch (e: any) {\n console.error('Error from sqlite proxy server: ', JSON.stringify(e))\n return { rows: [] }\n }\n },\n {\n schema: schemaGlobString,\n // logger: true,\n },\n )\n\n try {\n\n const filesInRoot = await fs.promises.readdir('/')\n logger('filesInRoot', filesInRoot)\n const migrations = readMigrationFiles({\n migrationsFolder: pathToDbDir,\n })\n\n if (migrations.length > 0) {\n const incomingMigrationHashes = migrations.map(\n (migration) => migration.hash,\n )\n\n let existingMigrationHashes\n let rows = []\n\n try {\n\n const queryMigrationsTable = await drizzleDb.run(\n sql.raw(\n `SELECT name \n FROM sqlite_master \n WHERE type='table' \n AND name='__drizzle_migrations';`,\n ),\n )\n\n logger('queryMigrationsTable', queryMigrationsTable)\n\n if (queryMigrationsTable && queryMigrationsTable.rows && queryMigrationsTable.rows.length > 0) {\n const query = await drizzleDb.run(\n sql.raw(\n `SELECT hash, created_at\n FROM main.__drizzle_migrations;`,\n ),\n )\n \n rows = query.rows\n }\n\n } catch (e) {\n rows = []\n }\n\n if (rows && rows.length > 0) {\n existingMigrationHashes = rows.map((row) => row[0])\n }\n\n if (existingMigrationHashes) {\n let shouldRebuildDb = false\n for (const existingHash of existingMigrationHashes) {\n if (!incomingMigrationHashes.includes(existingHash)) {\n shouldRebuildDb = true\n break\n }\n }\n if (shouldRebuildDb) {\n await fs.promises.unlink(`${pathToDbDir}/${dbName}.sqlite3`)\n }\n }\n }\n\n await drizzleMigrate(\n drizzleDb,\n async (queriesToRun) => {\n // logger('queriesToRun', queriesToRun)\n for (const query of queriesToRun) {\n // logger('query', query)\n await drizzleDb.run(sql.raw(query))\n }\n },\n {\n migrationsFolder: pathToDbDir,\n },\n )\n } catch (error) {\n\n await FileManager.waitForFile(`${pathToDbDir}/meta/_journal.json`)\n\n await this.migrate(pathToDbDir, dbName)\n\n }\n\n setAppDb(drizzleDb)\n // const createTempTableQuery = await appDb.run(\n // sql.raw(\n // `CREATE TEMP TABLE IF NOT EXISTS temp_last_inserted_id (id INTEGER, table TEXT);`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTempTableQuery',\n // createTempTableQuery,\n // )\n\n // const triggersQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'trigger';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] triggersQuery', triggersQuery)\n //\n // const triggers = triggersQuery.rows.map((row) => row[0])\n //\n // const tablesQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'table';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] tablesQuery', tablesQuery)\n //\n // const tableNames = tablesQuery.rows.map((row) => row[0])\n // logger('[db/actors] [migrate] tableNames', tableNames)\n // for (const tableName of tableNames) {\n // const triggerName = `after_insert_${tableName}`\n // if (triggers.includes(triggerName)) {\n // continue\n // }\n // const createTriggerQuery = await appDb.run(\n // sql.raw(\n // `CREATE TRIGGER after_insert_${tableName}\n // AFTER INSERT ON ${tableName}\n // BEGIN\n // DELETE FROM temp_last_inserted_id;\n // INSERT INTO temp_last_inserted_id (id) VALUES (new.id);\n // END;`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTriggerQuery',\n // createTriggerQuery,\n // )\n // }\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }"],"names":["drizzleMigrate"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { b as BaseDb, c as appState, i as isBrowser } from './index-BHGJ-Es9.js';
1
+ import { b as BaseDb, c as appState, i as isBrowser } from './index-BSR5hv7Q.js';
2
2
  import { drizzle } from 'drizzle-orm/better-sqlite3';
3
3
  import { defineConfig } from 'drizzle-kit';
4
4
  import path from 'path';
@@ -8,7 +8,7 @@ import 'immer';
8
8
  import 'reflect-metadata';
9
9
  import '@sinclair/typebox';
10
10
  import 'xstate';
11
- import './constants-CWg2B3Au.js';
11
+ import './constants-Bhl5dZpN.js';
12
12
  import 'graphql-request';
13
13
  import '@ethereum-attestation-service/eas-sdk';
14
14
  import 'pluralize';
@@ -79,4 +79,4 @@ class Db extends BaseDb {
79
79
  BaseDb.setPlatformClass(Db);
80
80
 
81
81
  export { Db };
82
- //# sourceMappingURL=Db-DiTPSbQ8.js.map
82
+ //# sourceMappingURL=Db-VPouegkr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Db-DiTPSbQ8.js","sources":["../../src/node/db/Db.ts"],"sourcesContent":["import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces\";\nimport nodeAppDbConfig from \"./node.app.db.config\";\nimport { BetterSQLite3Database, drizzle } from \"drizzle-orm/better-sqlite3\";\nimport { defineConfig, } from \"drizzle-kit\";\nimport path from \"path\";\nimport { DrizzleConfig, } from \"drizzle-orm\";\nimport { isBrowser } from '@/helpers/environment'\nimport {migrate} from 'drizzle-orm/better-sqlite3/migrator'\nimport fs from 'fs'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\n\nconst logger = debug('app:node:db:Db')\n\nconst getConfig = (dotSeedDir: string) => {\n\n let schemaDir = `${dotSeedDir}/schema/*Schema.ts`\n if (!isBrowser()) {\n schemaDir = path.join(process.cwd(), 'schema')\n }\n\n const nodeDbConfig = defineConfig({\n schema: schemaDir,\n dialect: 'sqlite',\n out: `${dotSeedDir}/db`,\n dbCredentials: {\n url: `${dotSeedDir}/db/app_db.sqlite3`,\n }\n }) as DrizzleConfig & { dbCredentials: { url: string } }\n\n return nodeDbConfig\n}\n\nclass Db extends BaseDb implements IDb {\n static db: BetterSQLite3Database\n constructor() {\n super()\n }\n\n static getAppDb() {\n return this.db\n }\n\n static isAppDbReady() {\n return true\n }\n\n static async prepareDb(filesDir: string) {\n const nodeDbConfig = getConfig(filesDir)\n\n this.db = drizzle({\n ...nodeDbConfig,\n logger: true,\n })\n\n if (!this.db) {\n throw new Error('Db not found')\n }\n\n return this.db\n }\n\n static async connectToDb(pathToDir: string, dbName: string) {\n\n return {\n id: this.db.constructor.name\n }\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string) {\n migrate(this.db, { migrationsFolder: pathToDbDir })\n const queryResult = await this.db.select().from(appState)\n logger('queryResult', queryResult)\n\n return this.db\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAEtC,MAAM,SAAS,GAAG,CAAC,UAAkB,KAAI;AAEvC,IAAA,IAAI,SAAS,GAAG,CAAG,EAAA,UAAU,oBAAoB;AACjD,IAAA,IAAI,CAAC,SAAS,EAAE,EAAE;AAChB,QAAA,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;;IAGhD,MAAM,YAAY,GAAG,YAAY,CAAC;AAChC,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,CAAG,EAAA,UAAU,CAAK,GAAA,CAAA;AACvB,QAAA,aAAa,EAAE;YACb,GAAG,EAAE,CAAG,EAAA,UAAU,CAAoB,kBAAA,CAAA;AACvC;AACF,KAAA,CAAuD;AAExD,IAAA,OAAO,YAAY;AACrB,CAAC;AAED,MAAM,EAAG,SAAQ,MAAM,CAAA;AAErB,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;;AAGT,IAAA,OAAO,QAAQ,GAAA;QACb,OAAO,IAAI,CAAC,EAAE;;AAGhB,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI;;AAGb,IAAA,aAAa,SAAS,CAAC,QAAgB,EAAA;AACrC,QAAA,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;AAExC,QAAA,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;AAChB,YAAA,GAAG,YAAY;AACf,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC;;QAGjC,OAAO,IAAI,CAAC,EAAE;;AAGhB,IAAA,aAAa,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAA;QAExD,OAAO;AACL,YAAA,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;SACzB;;IAGH,aAAa,OAAO,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY,EAAA;QACpE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACnD,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzD,QAAA,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC;QAElC,OAAO,IAAI,CAAC,EAAE;;AAEjB;AAED,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;;;;"}
1
+ {"version":3,"file":"Db-VPouegkr.js","sources":["../../src/node/db/Db.ts"],"sourcesContent":["import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces\";\nimport nodeAppDbConfig from \"./node.app.db.config\";\nimport { BetterSQLite3Database, drizzle } from \"drizzle-orm/better-sqlite3\";\nimport { defineConfig, } from \"drizzle-kit\";\nimport path from \"path\";\nimport { DrizzleConfig, } from \"drizzle-orm\";\nimport { isBrowser } from '@/helpers/environment'\nimport {migrate} from 'drizzle-orm/better-sqlite3/migrator'\nimport fs from 'fs'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\n\nconst logger = debug('app:node:db:Db')\n\nconst getConfig = (dotSeedDir: string) => {\n\n let schemaDir = `${dotSeedDir}/schema/*Schema.ts`\n if (!isBrowser()) {\n schemaDir = path.join(process.cwd(), 'schema')\n }\n\n const nodeDbConfig = defineConfig({\n schema: schemaDir,\n dialect: 'sqlite',\n out: `${dotSeedDir}/db`,\n dbCredentials: {\n url: `${dotSeedDir}/db/app_db.sqlite3`,\n }\n }) as DrizzleConfig & { dbCredentials: { url: string } }\n\n return nodeDbConfig\n}\n\nclass Db extends BaseDb implements IDb {\n static db: BetterSQLite3Database\n constructor() {\n super()\n }\n\n static getAppDb() {\n return this.db\n }\n\n static isAppDbReady() {\n return true\n }\n\n static async prepareDb(filesDir: string) {\n const nodeDbConfig = getConfig(filesDir)\n\n this.db = drizzle({\n ...nodeDbConfig,\n logger: true,\n })\n\n if (!this.db) {\n throw new Error('Db not found')\n }\n\n return this.db\n }\n\n static async connectToDb(pathToDir: string, dbName: string) {\n\n return {\n id: this.db.constructor.name\n }\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string) {\n migrate(this.db, { migrationsFolder: pathToDbDir })\n const queryResult = await this.db.select().from(appState)\n logger('queryResult', queryResult)\n\n return this.db\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAEtC,MAAM,SAAS,GAAG,CAAC,UAAkB,KAAI;AAEvC,IAAA,IAAI,SAAS,GAAG,CAAG,EAAA,UAAU,oBAAoB;AACjD,IAAA,IAAI,CAAC,SAAS,EAAE,EAAE;AAChB,QAAA,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;;IAGhD,MAAM,YAAY,GAAG,YAAY,CAAC;AAChC,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,CAAG,EAAA,UAAU,CAAK,GAAA,CAAA;AACvB,QAAA,aAAa,EAAE;YACb,GAAG,EAAE,CAAG,EAAA,UAAU,CAAoB,kBAAA,CAAA;AACvC;AACF,KAAA,CAAuD;AAExD,IAAA,OAAO,YAAY;AACrB,CAAC;AAED,MAAM,EAAG,SAAQ,MAAM,CAAA;AAErB,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;;AAGT,IAAA,OAAO,QAAQ,GAAA;QACb,OAAO,IAAI,CAAC,EAAE;;AAGhB,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI;;AAGb,IAAA,aAAa,SAAS,CAAC,QAAgB,EAAA;AACrC,QAAA,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;AAExC,QAAA,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;AAChB,YAAA,GAAG,YAAY;AACf,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC;;QAGjC,OAAO,IAAI,CAAC,EAAE;;AAGhB,IAAA,aAAa,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAA;QAExD,OAAO;AACL,YAAA,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;SACzB;;IAGH,aAAa,OAAO,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY,EAAA;QACpE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACnD,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzD,QAAA,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC;QAElC,OAAO,IAAI,CAAC,EAAE;;AAEjB;AAED,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as BaseEasClient } from './constants-CWg2B3Au.js';
1
+ import { a as BaseEasClient } from './constants-Bhl5dZpN.js';
2
2
  import 'graphql-request';
3
3
  import '@ethereum-attestation-service/eas-sdk';
4
4
 
@@ -7,4 +7,4 @@ class EasClient extends BaseEasClient {
7
7
  BaseEasClient.setPlatformClass(EasClient);
8
8
 
9
9
  export { EasClient };
10
- //# sourceMappingURL=EasClient-BesHK2bO.js.map
10
+ //# sourceMappingURL=EasClient-B9a3NsTi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EasClient-BesHK2bO.js","sources":["../../src/browser/helpers/EasClient.ts"],"sourcesContent":["import { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\n\nclass EasClient extends BaseEasClient {\n}\n\nBaseEasClient.setPlatformClass(EasClient)\n\nexport { EasClient }\n"],"names":[],"mappings":";;;;AAEA,MAAM,SAAU,SAAQ,aAAa,CAAA;AACpC;AAED,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;;;;"}
1
+ {"version":3,"file":"EasClient-B9a3NsTi.js","sources":["../../src/browser/helpers/EasClient.ts"],"sourcesContent":["import { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\n\nclass EasClient extends BaseEasClient {\n}\n\nBaseEasClient.setPlatformClass(EasClient)\n\nexport { EasClient }\n"],"names":[],"mappings":";;;;AAEA,MAAM,SAAU,SAAQ,aAAa,CAAA;AACpC;AAED,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as BaseEasClient, E as EAS_ENDPOINT } from './constants-CWg2B3Au.js';
1
+ import { a as BaseEasClient, E as EAS_ENDPOINT } from './constants-Bhl5dZpN.js';
2
2
  import { GraphQLClient } from 'graphql-request';
3
3
  import '@ethereum-attestation-service/eas-sdk';
4
4
 
@@ -10,4 +10,4 @@ class EasClient extends BaseEasClient {
10
10
  BaseEasClient.setPlatformClass(EasClient);
11
11
 
12
12
  export { EasClient };
13
- //# sourceMappingURL=EasClient-Cop6WtWl.js.map
13
+ //# sourceMappingURL=EasClient-DQ93i2ci.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EasClient-Cop6WtWl.js","sources":["../../src/node/helpers/EasClient.ts"],"sourcesContent":["import { BaseEasClient } from \"@/helpers/EasClient/BaseEasClient\"\nimport { EAS_ENDPOINT } from \"@/services/internal/constants\"\nimport { GraphQLClient } from \"graphql-request\"\n\nclass EasClient extends BaseEasClient {\n static getEasClient() {\n return new GraphQLClient(EAS_ENDPOINT)\n }\n}\n\nBaseEasClient.setPlatformClass(EasClient)\n\nexport { EasClient }"],"names":[],"mappings":";;;;AAIA,MAAM,SAAU,SAAQ,aAAa,CAAA;AACnC,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC;;AAEzC;AAED,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;;;;"}
1
+ {"version":3,"file":"EasClient-DQ93i2ci.js","sources":["../../src/node/helpers/EasClient.ts"],"sourcesContent":["import { BaseEasClient } from \"@/helpers/EasClient/BaseEasClient\"\nimport { EAS_ENDPOINT } from \"@/services/internal/constants\"\nimport { GraphQLClient } from \"graphql-request\"\n\nclass EasClient extends BaseEasClient {\n static getEasClient() {\n return new GraphQLClient(EAS_ENDPOINT)\n }\n}\n\nBaseEasClient.setPlatformClass(EasClient)\n\nexport { EasClient }"],"names":[],"mappings":";;;;AAIA,MAAM,SAAU,SAAQ,aAAa,CAAA;AACnC,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC;;AAEzC;AAED,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;;;;"}
@@ -1,12 +1,9 @@
1
1
  import * as fsAsync from 'fs/promises';
2
- import { b as BaseFileManager } from './constants-CWg2B3Au.js';
2
+ import { b as BaseFileManager } from './constants-Bhl5dZpN.js';
3
3
  import 'graphql-request';
4
4
  import '@ethereum-attestation-service/eas-sdk';
5
5
 
6
6
  class FileManager extends BaseFileManager {
7
- static async readFileAsBuffer(filePath) {
8
- return await fsAsync.readFile(filePath);
9
- }
10
7
  static async getContentUrlFromPath(path) {
11
8
  return new Promise((resolve, reject) => {
12
9
  reject(new Error('Not implemented'));
@@ -40,8 +37,14 @@ class FileManager extends BaseFileManager {
40
37
  reject(new Error('Not implemented'));
41
38
  });
42
39
  }
40
+ static async readFileAsBuffer(filePath) {
41
+ return await fsAsync.readFile(filePath);
42
+ }
43
+ static async readFile(filePath) {
44
+ return new File([await fsAsync.readFile(filePath)], filePath);
45
+ }
43
46
  }
44
47
  BaseFileManager.setPlatformClass(FileManager);
45
48
 
46
49
  export { FileManager };
47
- //# sourceMappingURL=FileManager-DTzkncLh.js.map
50
+ //# sourceMappingURL=FileManager-_ErxVuwb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileManager-_ErxVuwb.js","sources":["../../src/node/helpers/FileManager.ts"],"sourcesContent":["import * as fsAsync from 'fs/promises'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\nclass FileManager extends BaseFileManager {\n\n static async getContentUrlFromPath( path: string ): Promise<string | undefined> {\n return new Promise(( resolve, reject ) => {\n reject(new Error('Not implemented'))\n })\n }\n\n static async initializeFileSystem(): Promise<void> {\n return // No need to initialize file system in node\n }\n\n static async downloadAllFiles(): Promise<void> {\n return new Promise(( resolve, reject ) => {\n reject(new Error('Not implemented'))\n })\n }\n\n static async resizeImage(): Promise<void> {\n return new Promise(( resolve, reject ) => {\n reject(new Error('Not implemented'))\n })\n }\n\n static async resizeAllImages(): Promise<void> {\n return new Promise(( resolve, reject ) => {\n reject(new Error('Not implemented'))\n })\n }\n\n static async pathExists(filePath: string): Promise<boolean> {\n return new Promise(( resolve, reject ) => {\n reject(new Error('Not implemented'))\n })\n }\n\n static async createDirIfNotExists(filePath: string): Promise<void> {\n return new Promise(( resolve, reject ) => {\n reject(new Error('Not implemented'))\n })\n }\n\n static async readFileAsBuffer( filePath: string ): Promise<Buffer> {\n return await fsAsync.readFile(filePath)\n }\n\n static async readFile(filePath: string): Promise<File> {\n return new File([await fsAsync.readFile(filePath)], filePath)\n }\n\n}\n\nBaseFileManager.setPlatformClass(FileManager)\n\nexport { FileManager }\n\n"],"names":[],"mappings":";;;;;AAGA,MAAM,WAAY,SAAQ,eAAe,CAAA;AAEvC,IAAA,aAAa,qBAAqB,CAAE,IAAY,EAAA;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAE,OAAO,EAAE,MAAM,KAAK;AACvC,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,SAAC,CAAC;;IAGJ,aAAa,oBAAoB,GAAA;AAC/B,QAAA,OAAM;;IAGR,aAAa,gBAAgB,GAAA;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAE,OAAO,EAAE,MAAM,KAAK;AACvC,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,SAAC,CAAC;;IAGJ,aAAa,WAAW,GAAA;QACtB,OAAO,IAAI,OAAO,CAAC,CAAE,OAAO,EAAE,MAAM,KAAK;AACvC,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,SAAC,CAAC;;IAGJ,aAAa,eAAe,GAAA;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAE,OAAO,EAAE,MAAM,KAAK;AACvC,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,SAAC,CAAC;;AAGJ,IAAA,aAAa,UAAU,CAAC,QAAgB,EAAA;QACtC,OAAO,IAAI,OAAO,CAAC,CAAE,OAAO,EAAE,MAAM,KAAK;AACvC,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,SAAC,CAAC;;AAGJ,IAAA,aAAa,oBAAoB,CAAC,QAAgB,EAAA;QAChD,OAAO,IAAI,OAAO,CAAC,CAAE,OAAO,EAAE,MAAM,KAAK;AACvC,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,SAAC,CAAC;;AAGJ,IAAA,aAAa,gBAAgB,CAAE,QAAgB,EAAA;AAC7C,QAAA,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;;AAGzC,IAAA,aAAa,QAAQ,CAAC,QAAgB,EAAA;AACpC,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC;;AAGhE;AAED,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
@@ -1,9 +1,9 @@
1
- import { B as BaseItem } from './index-BHGJ-Es9.js';
1
+ import { B as BaseItem } from './index-BSR5hv7Q.js';
2
2
  import 'immer';
3
3
  import 'reflect-metadata';
4
4
  import '@sinclair/typebox';
5
5
  import 'xstate';
6
- import './constants-CWg2B3Au.js';
6
+ import './constants-Bhl5dZpN.js';
7
7
  import 'graphql-request';
8
8
  import '@ethereum-attestation-service/eas-sdk';
9
9
  import 'debug';
@@ -32,4 +32,4 @@ class Item extends BaseItem {
32
32
  BaseItem.setPlatformClass(Item);
33
33
 
34
34
  export { Item };
35
- //# sourceMappingURL=Item-B5Tz-Y7t.js.map
35
+ //# sourceMappingURL=Item-D9HFPxsK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item-B5Tz-Y7t.js","sources":["../../src/node/Item/Item.ts"],"sourcesContent":["import { IItem } from '@/interfaces';\nimport { BaseItem } from '@/Item/BaseItem';\nimport { ModelSchema, ModelValues, NewItemProps } from '@/types';\n\nexport class Item<T extends ModelValues<ModelSchema>> extends BaseItem<T> implements IItem<T> {\n constructor(initialValues: NewItemProps<T>) {\n super(initialValues);\n }\n\n}\n\nBaseItem.setPlatformClass(Item)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,IAAyC,SAAQ,QAAW,CAAA;AACvE,IAAA,WAAA,CAAY,aAA8B,EAAA;QACxC,KAAK,CAAC,aAAa,CAAC;;AAGvB;AAED,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;;"}
1
+ {"version":3,"file":"Item-D9HFPxsK.js","sources":["../../src/node/Item/Item.ts"],"sourcesContent":["import { IItem } from '@/interfaces';\nimport { BaseItem } from '@/Item/BaseItem';\nimport { ModelSchema, ModelValues, NewItemProps } from '@/types';\n\nexport class Item<T extends ModelValues<ModelSchema>> extends BaseItem<T> implements IItem<T> {\n constructor(initialValues: NewItemProps<T>) {\n super(initialValues);\n }\n\n}\n\nBaseItem.setPlatformClass(Item)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,IAAyC,SAAQ,QAAW,CAAA;AACvE,IAAA,WAAA,CAAY,aAA8B,EAAA;QACxC,KAAK,CAAC,aAAa,CAAC;;AAGvB;AAED,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;;"}
@@ -1,9 +1,9 @@
1
- import { a as BaseItemProperty } from './index-BHGJ-Es9.js';
1
+ import { a as BaseItemProperty } from './index-BSR5hv7Q.js';
2
2
  import 'immer';
3
3
  import 'reflect-metadata';
4
4
  import '@sinclair/typebox';
5
5
  import 'xstate';
6
- import './constants-CWg2B3Au.js';
6
+ import './constants-Bhl5dZpN.js';
7
7
  import 'graphql-request';
8
8
  import '@ethereum-attestation-service/eas-sdk';
9
9
  import 'debug';
@@ -31,4 +31,4 @@ class ItemProperty extends BaseItemProperty {
31
31
  }
32
32
 
33
33
  export { ItemProperty };
34
- //# sourceMappingURL=ItemProperty-DBV0Iib_.js.map
34
+ //# sourceMappingURL=ItemProperty-BdtvKrEy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemProperty-DBV0Iib_.js","sources":["../../src/node/ItemProperty/ItemProperty.ts"],"sourcesContent":["import { IItemProperty } from '@/interfaces'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\nimport { CreatePropertyInstanceProps, ModelSchema, ModelValues, } from '@/types'\n\nexport class ItemProperty<PropertyType> extends BaseItemProperty<PropertyType> implements IItemProperty<PropertyType> {\n constructor(initialValues: Partial<CreatePropertyInstanceProps>) {\n super(initialValues)\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,YAA2B,SAAQ,gBAA8B,CAAA;AAC5E,IAAA,WAAA,CAAY,aAAmD,EAAA;QAC7D,KAAK,CAAC,aAAa,CAAC;;AAEvB;;;;"}
1
+ {"version":3,"file":"ItemProperty-BdtvKrEy.js","sources":["../../src/node/ItemProperty/ItemProperty.ts"],"sourcesContent":["import { IItemProperty } from '@/interfaces'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\nimport { CreatePropertyInstanceProps, ModelSchema, ModelValues, } from '@/types'\n\nexport class ItemProperty<PropertyType> extends BaseItemProperty<PropertyType> implements IItemProperty<PropertyType> {\n constructor(initialValues: Partial<CreatePropertyInstanceProps>) {\n super(initialValues)\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,YAA2B,SAAQ,gBAA8B,CAAA;AAC5E,IAAA,WAAA,CAAY,aAAmD,EAAA;QAC7D,KAAK,CAAC,aAAa,CAAC;;AAEvB;;;;"}
@@ -1,4 +1,4 @@
1
- import { c as BaseQueryClient } from './constants-CWg2B3Au.js';
1
+ import { c as BaseQueryClient } from './constants-Bhl5dZpN.js';
2
2
  import 'graphql-request';
3
3
  import '@ethereum-attestation-service/eas-sdk';
4
4
 
@@ -19,4 +19,4 @@ QueryClient.getQueryClient = () => {
19
19
  BaseQueryClient.setPlatformClass(QueryClient);
20
20
 
21
21
  export { QueryClient };
22
- //# sourceMappingURL=QueryClient-C7a0NHCt.js.map
22
+ //# sourceMappingURL=QueryClient-Bmnv_moN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryClient-C7a0NHCt.js","sources":["../../src/node/helpers/QueryClient.ts"],"sourcesContent":["import { BaseQueryClient } from \"@/helpers/QueryClient/BaseQueryClient\"\nimport { IQueryClient } from '@/interfaces/IQueryClient'\n\n\n\nclass QueryClient extends BaseQueryClient {\n static getQueryClient = (): IQueryClient=> {\n return {\n fetchQuery: async <T>({\n queryKey,\n queryFn,\n }): Promise<T> => {\n return await queryFn()\n },\n getQueryData: () => {\n return new Promise((resolve, reject) => {\n reject(new Error('Not implemented'))\n })\n },\n }\n }\n}\n\nBaseQueryClient.setPlatformClass(QueryClient)\n\nexport { QueryClient }\n"],"names":[],"mappings":";;;;AAKA,MAAM,WAAY,SAAQ,eAAe,CAAA;;AAChC,WAAc,CAAA,cAAA,GAAG,MAAkB;IACxC,OAAO;QACL,UAAU,EAAE,OAAU,EACpB,QAAQ,EACR,OAAO,GACP,KAAgB;YAChB,OAAO,MAAM,OAAO,EAAE;SACvB;QACD,YAAY,EAAE,MAAK;YACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,aAAC,CAAC;SACH;KACF;AACH,CAAC;AAGH,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
1
+ {"version":3,"file":"QueryClient-Bmnv_moN.js","sources":["../../src/node/helpers/QueryClient.ts"],"sourcesContent":["import { BaseQueryClient } from \"@/helpers/QueryClient/BaseQueryClient\"\nimport { IQueryClient } from '@/interfaces/IQueryClient'\n\n\n\nclass QueryClient extends BaseQueryClient {\n static getQueryClient = (): IQueryClient=> {\n return {\n fetchQuery: async <T>({\n queryKey,\n queryFn,\n }): Promise<T> => {\n return await queryFn()\n },\n getQueryData: () => {\n return new Promise((resolve, reject) => {\n reject(new Error('Not implemented'))\n })\n },\n }\n }\n}\n\nBaseQueryClient.setPlatformClass(QueryClient)\n\nexport { QueryClient }\n"],"names":[],"mappings":";;;;AAKA,MAAM,WAAY,SAAQ,eAAe,CAAA;;AAChC,WAAc,CAAA,cAAA,GAAG,MAAkB;IACxC,OAAO;QACL,UAAU,EAAE,OAAU,EACpB,QAAQ,EACR,OAAO,GACP,KAAgB;YAChB,OAAO,MAAM,OAAO,EAAE;SACvB;QACD,YAAY,EAAE,MAAK;YACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtC,aAAC,CAAC;SACH;KACF;AACH,CAAC;AAGH,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import { c as BaseQueryClient } from './constants-CWg2B3Au.js';
1
+ import { c as BaseQueryClient } from './constants-Bhl5dZpN.js';
2
2
  import { QueryClient as QueryClient$1 } from '@tanstack/react-query';
3
3
  import 'graphql-request';
4
4
  import '@ethereum-attestation-service/eas-sdk';
@@ -19,4 +19,4 @@ class QueryClient extends BaseQueryClient {
19
19
  BaseQueryClient.setPlatformClass(QueryClient);
20
20
 
21
21
  export { QueryClient };
22
- //# sourceMappingURL=QueryClient-BnwbHtqe.js.map
22
+ //# sourceMappingURL=QueryClient-hzOtFe99.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryClient-BnwbHtqe.js","sources":["../../src/browser/helpers/QueryClient.ts"],"sourcesContent":["import { BaseQueryClient } from \"@/helpers/QueryClient/BaseQueryClient\";\nimport { ARWEAVE_ENDPOINT } from \"@/services/internal/constants\";\nimport { QueryClient as ReactQueryClient, } from \"@tanstack/react-query\";\n\nclass QueryClient extends BaseQueryClient {\n static getQueryClient() {\n // Implement the browser-specific logic here\n return new ReactQueryClient({\n defaultOptions: {\n queries: {\n networkMode: 'offlineFirst',\n gcTime: 1000 * 60 * 60 * 24, // 24 hours\n },\n },\n })\n }\n}\n\nBaseQueryClient.setPlatformClass(QueryClient);\n\nexport { QueryClient };\n"],"names":["ReactQueryClient"],"mappings":";;;;;AAIA,MAAM,WAAY,SAAQ,eAAe,CAAA;AACvC,IAAA,OAAO,cAAc,GAAA;;QAEnB,OAAO,IAAIA,aAAgB,CAAC;AAC1B,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5B,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;;AAEL;AAED,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
1
+ {"version":3,"file":"QueryClient-hzOtFe99.js","sources":["../../src/browser/helpers/QueryClient.ts"],"sourcesContent":["import { BaseQueryClient } from \"@/helpers/QueryClient/BaseQueryClient\";\nimport { ARWEAVE_ENDPOINT } from \"@/services/internal/constants\";\nimport { QueryClient as ReactQueryClient, } from \"@tanstack/react-query\";\n\nclass QueryClient extends BaseQueryClient {\n static getQueryClient() {\n // Implement the browser-specific logic here\n return new ReactQueryClient({\n defaultOptions: {\n queries: {\n networkMode: 'offlineFirst',\n gcTime: 1000 * 60 * 60 * 24, // 24 hours\n },\n },\n })\n }\n}\n\nBaseQueryClient.setPlatformClass(QueryClient);\n\nexport { QueryClient };\n"],"names":["ReactQueryClient"],"mappings":";;;;;AAIA,MAAM,WAAY,SAAQ,eAAe,CAAA;AACvC,IAAA,OAAO,cAAc,GAAA;;QAEnB,OAAO,IAAIA,aAAgB,CAAC;AAC1B,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5B,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;;AAEL;AAED,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;;;;"}
package/dist/bin.js CHANGED
@@ -5,11 +5,11 @@ import { exec, execSync } from 'child_process';
5
5
  import { promisify } from 'util';
6
6
  import { pathToFileURL } from 'url';
7
7
  import process$1 from 'node:process';
8
- import './EasClient-Cop6WtWl.js';
9
- import './QueryClient-C7a0NHCt.js';
10
- import './FileManager-DTzkncLh.js';
11
- import './ArweaveClient-CmJYeuq1.js';
12
- import { S as SCHEMA_NJK, e as SCHEMA_TS } from './constants-CWg2B3Au.js';
8
+ import './EasClient-DQ93i2ci.js';
9
+ import './QueryClient-Bmnv_moN.js';
10
+ import './FileManager-_ErxVuwb.js';
11
+ import './ArweaveClient-CzkBgiZY.js';
12
+ import { S as SCHEMA_NJK, e as SCHEMA_TS } from './constants-Bhl5dZpN.js';
13
13
  import 'dotenv/config';
14
14
  import pluralize from 'pluralize';
15
15
  import { camelCase, snakeCase } from 'lodash-es';
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sources":["../../src/node/constants.ts","../../src/node/helpers/index.ts","../../src/node/codegen/drizzle.ts","../../scripts/bin.ts"],"sourcesContent":["import path from 'path'\nimport 'dotenv/config'\n\nexport const NODE_APP_DB_CONFIG = 'node.app.db.config.ts'\n\nconst currentDir = path.dirname(new URL(import.meta.url).pathname)\n\nconst parentToCheck = path.join(currentDir, '..')\n\nlet rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..')\n\nif (process.env.IS_SEED_DEV) {\n rootWithNodeModules = path.join(parentToCheck, '..')\n}\n\nlet sdkRootDir = path.join(\n rootWithNodeModules,\n 'node_modules',\n '@seedprotocol',\n 'sdk',\n 'dist',\n)\n\nif (process.env.IS_SEED_DEV) {\n sdkRootDir = path.join(rootWithNodeModules, 'src')\n}\n\nlet dotSeedDir = path.join(rootWithNodeModules, '.seed')\n\nif (process.env.IS_SEED_DEV) {\n dotSeedDir = path.join(\n process.cwd(),\n '__tests__',\n '__mocks__',\n 'project',\n '.seed',\n )\n}\n\nexport const drizzleKitPath = path.join(\n rootWithNodeModules,\n 'node_modules',\n 'drizzle-kit',\n 'bin.cjs',\n)\n\n// App file paths. These are the single source of truth for the SDK user's data model\nexport const appSchemaDir = path.join(dotSeedDir, 'schema')\nexport const appDbDir = path.join(dotSeedDir, 'db')\nexport const appMetaDir = path.join(appDbDir, 'meta')\nexport const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema')\n\nexport const drizzleDbConfigPath = path.join(\n sdkRootDir,\n 'node',\n 'db',\n NODE_APP_DB_CONFIG,\n)\n\nexport const templatePath = path.join(\n sdkRootDir,\n 'node',\n 'codegen',\n 'templates',\n)\n\nexport { rootWithNodeModules, sdkRootDir, dotSeedDir }\n","// import { customAlphabet } from 'nanoid'\n// import { alphanumeric } from 'nanoid-dictionary'\nimport fs from 'fs'\nimport * as tsImport from 'ts-import'\nimport { LoadMode } from 'ts-import'\nimport path from 'path'\nimport { glob } from 'glob'\nimport { rimraf } from 'rimraf'\nimport debug from 'debug'\n\nconst logger = debug('app:helpers')\n\nexport const getTsImport = async <T>(filePath: string): Promise<T> => {\n // Check if the config file exists\n if (!fs.existsSync(filePath)) {\n logger(`Typescript file not found at ${filePath}`)\n throw new Error(`Typescript file not found at ${filePath}`)\n }\n\n return await tsImport.load(filePath, {\n mode: LoadMode.Compile,\n compileOptions: {\n compilerOptions: {\n experimentalDecorators: true,\n emitDecoratorMetadata: true,\n },\n },\n })\n}\n\nexport const deleteFilesWithExtension = async (\n dir: string,\n extension: string,\n) => {\n const pattern = path.join(dir, `**/*${extension}`)\n glob(pattern, (err, files) => {\n if (err) {\n logger('Error finding files:', err)\n return\n }\n\n for (const file of files) {\n // TODO: Change this whole thing to be async?\n rimraf(file, (err) => {\n if (err) {\n logger('Error deleting file:', err)\n } else {\n logger(`Deleted: ${file}`)\n }\n })\n }\n })\n}\n","import path from 'path'\nimport fs from 'fs'\nimport pluralize from 'pluralize'\nimport { camelCase, snakeCase } from 'lodash-es'\nimport * as nunjucks from 'nunjucks'\nimport { ILoader } from 'nunjucks'\nimport { ModelClassType } from '@/types'\nimport { SCHEMA_NJK } from '@/helpers/constants'\nimport {\n appGeneratedSchemaDir,\n dotSeedDir,\n templatePath,\n} from '@/node/constants'\nimport { getTsImport } from '@/node/helpers'\n\nconst TemplateLoader: ILoader = {\n getSource: (name: string) => {\n let templateFilePath\n if (name.includes(templatePath)) {\n templateFilePath = name\n } else {\n templateFilePath = path.join(templatePath, path.basename(name))\n }\n const src = fs.readFileSync(templateFilePath, 'utf-8')\n\n return {\n path: name,\n src,\n noCache: false,\n }\n },\n}\n\n// Configure Nunjucks\nconst env = new nunjucks.Environment(TemplateLoader)\n\nenv.addFilter('camelCase', camelCase)\nenv.addFilter('snakeCase', snakeCase)\nenv.addFilter('pluralize', pluralize)\n\nconst generateDrizzleSchemaCode = (\n modelName: string,\n modelClass: ModelClassType,\n): string => {\n const listProperties = Object.entries(modelClass.schema).filter(\n ([key, propertyDef]) => propertyDef?.dataType === 'List',\n )\n\n const filePath = path.join(templatePath, SCHEMA_NJK)\n\n const schemaCode = env.render(filePath, {\n modelName,\n modelClass,\n listProperties,\n })\n\n return schemaCode\n}\n\nexport const createDrizzleSchemaFilesFromConfig = async () => {\n const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions\n\n const { models } = await getTsImport<{\n models: Record<string, ModelClassType>\n }>(schemaFilePath)\n\n for (const [modelName, modelClass] of Object.entries(models)) {\n const code = generateDrizzleSchemaCode(modelName, modelClass)\n\n if (!fs.existsSync(appGeneratedSchemaDir)) {\n fs.mkdirSync(appGeneratedSchemaDir)\n }\n\n const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`)\n\n await fs.promises.writeFile(filePath, code).catch((e) => console.error(e))\n }\n}\n","#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { exec as execCallback, execSync, } from 'child_process'\nimport { promisify } from 'util'\nimport { pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '../src/node/helpers/EasClient'\nimport '../src/node/helpers/QueryClient'\nimport '../src/node/helpers/FileManager'\nimport '../src/node/helpers/ArweaveClient'\nimport { SCHEMA_TS } from '../src/helpers/constants'\nimport {\n appMetaDir,\n appSchemaDir,\n dotSeedDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n rootWithNodeModules,\n sdkRootDir,\n} from '../src/node/constants'\nimport { createDrizzleSchemaFilesFromConfig } from '../src/node/codegen'\nimport { rimrafSync } from 'rimraf'\n\nconst exec = promisify(execCallback)\n\nlet a\n\na = process.argv.splice(2)\n\nconst init = (args: string[]) => {\n console.log('args:', args)\n\n if (args && args.length && args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n\n let schemaFileDir = args[1] || rootWithNodeModules\n const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS)\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n console.log('[Seed Protocol] sdkRootDir', sdkRootDir)\n\n const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`\n\n const ensureIndexExports = (dirPath: string): void => {\n try {\n // Get all file names in the directory\n const files = fs.readdirSync(dirPath)\n\n // Filter for .ts files excluding index.ts\n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && file !== 'index.ts',\n )\n\n // Check if index.ts exists\n const indexFilePath = path.join(dirPath, 'index.ts')\n try {\n fs.accessSync(indexFilePath)\n } catch (error) {\n console.error(`index.ts not found in the directory: ${dirPath}`)\n return\n }\n\n // Read the content of index.ts\n const indexContent = fs.readFileSync(indexFilePath, 'utf8')\n\n // Create export statements for each .ts file\n const exportStatements = tsFiles.map(\n (file) => `export * from './${path.basename(file, '.ts')}';`,\n )\n\n // Check if each export statement is already present in index.ts\n const missingExports = exportStatements.filter(\n (statement) => !indexContent.includes(statement),\n )\n\n if (missingExports.length > 0) {\n // Append missing export statements to index.ts\n const newContent =\n indexContent + '\\n' + missingExports.join('\\n') + '\\n'\n fs.writeFileSync(indexFilePath, newContent, 'utf8')\n console.log(\n `Updated index.ts with missing exports:\\n${missingExports.join('\\n')}`,\n )\n } else {\n console.log('All exports are already present in index.ts')\n }\n } catch (error) {\n console.error(`Error processing directory: ${dirPath}`, error)\n }\n }\n\n const copyFiles = (srcDir, destDir) => {\n if (!fs.existsSync(destDir)) {\n fs.mkdirSync(destDir, { recursive: true })\n }\n const srcFiles = fs.readdirSync(srcDir)\n srcFiles.forEach((file) => {\n console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)\n fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))\n })\n }\n\n const copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`)\n fs.mkdirSync(_appFilesDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${_appFilesDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const runCommand = async (command: string) => {\n const { stdout, stderr } = await exec(command)\n if (stderr) {\n console.error(stderr)\n return\n }\n console.log(stdout)\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n console.log('pathToMeta:', pathToMeta)\n console.log('pathToConfig:', pathToConfig)\n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`)\n execSync(\n `${drizzleKitCommand} generate --config=${pathToConfig}`,\n )\n }\n execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`)\n }\n\n const runCommands = async () => {\n await createDrizzleSchemaFilesFromConfig()\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyFiles(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\n\n runCommands()\n .then(() => {\n if (!appFilesDirPath) {\n console.log('[Seed Protocol] Finished running init script')\n } else {\n return copyDotSeedFilesToAppFiles(appFilesDirPath)\n }\n })\n .then(() => {\n console.log('[Seed Protocol] Finished running init script')\n })\n }\n}\n\nconst calledFrom = pathToFileURL(process.argv[1]).href\n\nconsole.log('calledFrom:', calledFrom)\n\nif (\n calledFrom.endsWith('node_modules/.bin/seed') ||\n import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||\n import.meta.url.endsWith('scripts/bin.ts')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":["execCallback","process"],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sources":["../../src/node/constants.ts","../../src/node/helpers/index.ts","../../src/node/codegen/drizzle.ts","../../scripts/bin.ts"],"sourcesContent":["import path from 'path'\nimport 'dotenv/config'\n\nexport const NODE_APP_DB_CONFIG = 'node.app.db.config.ts'\n\nconst currentDir = path.dirname(new URL(import.meta.url).pathname)\n\nconst parentToCheck = path.join(currentDir, '..')\n\nlet rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..')\n\nif (process.env.IS_SEED_DEV) {\n rootWithNodeModules = path.join(parentToCheck, '..')\n}\n\nlet sdkRootDir = path.join(\n rootWithNodeModules,\n 'node_modules',\n '@seedprotocol',\n 'sdk',\n 'dist',\n)\n\nif (process.env.IS_SEED_DEV) {\n sdkRootDir = path.join(rootWithNodeModules, 'src')\n}\n\nlet dotSeedDir = path.join(rootWithNodeModules, '.seed')\n\nif (process.env.IS_SEED_DEV) {\n dotSeedDir = path.join(\n process.cwd(),\n '__tests__',\n '__mocks__',\n 'project',\n '.seed',\n )\n}\n\nexport const drizzleKitPath = path.join(\n rootWithNodeModules,\n 'node_modules',\n 'drizzle-kit',\n 'bin.cjs',\n)\n\n// App file paths. These are the single source of truth for the SDK user's data model\nexport const appSchemaDir = path.join(dotSeedDir, 'schema')\nexport const appDbDir = path.join(dotSeedDir, 'db')\nexport const appMetaDir = path.join(appDbDir, 'meta')\nexport const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema')\n\nexport const drizzleDbConfigPath = path.join(\n sdkRootDir,\n 'node',\n 'db',\n NODE_APP_DB_CONFIG,\n)\n\nexport const templatePath = path.join(\n sdkRootDir,\n 'node',\n 'codegen',\n 'templates',\n)\n\nexport { rootWithNodeModules, sdkRootDir, dotSeedDir }\n","// import { customAlphabet } from 'nanoid'\n// import { alphanumeric } from 'nanoid-dictionary'\nimport fs from 'fs'\nimport * as tsImport from 'ts-import'\nimport { LoadMode } from 'ts-import'\nimport path from 'path'\nimport { glob } from 'glob'\nimport { rimraf } from 'rimraf'\nimport debug from 'debug'\n\nconst logger = debug('app:helpers')\n\nexport const getTsImport = async <T>(filePath: string): Promise<T> => {\n // Check if the config file exists\n if (!fs.existsSync(filePath)) {\n logger(`Typescript file not found at ${filePath}`)\n throw new Error(`Typescript file not found at ${filePath}`)\n }\n\n return await tsImport.load(filePath, {\n mode: LoadMode.Compile,\n compileOptions: {\n compilerOptions: {\n experimentalDecorators: true,\n emitDecoratorMetadata: true,\n },\n },\n })\n}\n\nexport const deleteFilesWithExtension = async (\n dir: string,\n extension: string,\n) => {\n const pattern = path.join(dir, `**/*${extension}`)\n glob(pattern, (err, files) => {\n if (err) {\n logger('Error finding files:', err)\n return\n }\n\n for (const file of files) {\n // TODO: Change this whole thing to be async?\n rimraf(file, (err) => {\n if (err) {\n logger('Error deleting file:', err)\n } else {\n logger(`Deleted: ${file}`)\n }\n })\n }\n })\n}\n","import path from 'path'\nimport fs from 'fs'\nimport pluralize from 'pluralize'\nimport { camelCase, snakeCase } from 'lodash-es'\nimport * as nunjucks from 'nunjucks'\nimport { ILoader } from 'nunjucks'\nimport { ModelClassType } from '@/types'\nimport { SCHEMA_NJK } from '@/helpers/constants'\nimport {\n appGeneratedSchemaDir,\n dotSeedDir,\n templatePath,\n} from '@/node/constants'\nimport { getTsImport } from '@/node/helpers'\n\nconst TemplateLoader: ILoader = {\n getSource: (name: string) => {\n let templateFilePath\n if (name.includes(templatePath)) {\n templateFilePath = name\n } else {\n templateFilePath = path.join(templatePath, path.basename(name))\n }\n const src = fs.readFileSync(templateFilePath, 'utf-8')\n\n return {\n path: name,\n src,\n noCache: false,\n }\n },\n}\n\n// Configure Nunjucks\nconst env = new nunjucks.Environment(TemplateLoader)\n\nenv.addFilter('camelCase', camelCase)\nenv.addFilter('snakeCase', snakeCase)\nenv.addFilter('pluralize', pluralize)\n\nconst generateDrizzleSchemaCode = (\n modelName: string,\n modelClass: ModelClassType,\n): string => {\n const listProperties = Object.entries(modelClass.schema).filter(\n ([key, propertyDef]) => propertyDef?.dataType === 'List',\n )\n\n const filePath = path.join(templatePath, SCHEMA_NJK)\n\n const schemaCode = env.render(filePath, {\n modelName,\n modelClass,\n listProperties,\n })\n\n return schemaCode\n}\n\nexport const createDrizzleSchemaFilesFromConfig = async () => {\n const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions\n\n const { models } = await getTsImport<{\n models: Record<string, ModelClassType>\n }>(schemaFilePath)\n\n for (const [modelName, modelClass] of Object.entries(models)) {\n const code = generateDrizzleSchemaCode(modelName, modelClass)\n\n if (!fs.existsSync(appGeneratedSchemaDir)) {\n fs.mkdirSync(appGeneratedSchemaDir)\n }\n\n const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`)\n\n await fs.promises.writeFile(filePath, code).catch((e) => console.error(e))\n }\n}\n","#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { exec as execCallback, execSync, } from 'child_process'\nimport { promisify } from 'util'\nimport { pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '../src/node/helpers/EasClient'\nimport '../src/node/helpers/QueryClient'\nimport '../src/node/helpers/FileManager'\nimport '../src/node/helpers/ArweaveClient'\nimport { SCHEMA_TS } from '../src/helpers/constants'\nimport {\n appMetaDir,\n appSchemaDir,\n dotSeedDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n rootWithNodeModules,\n sdkRootDir,\n} from '../src/node/constants'\nimport { createDrizzleSchemaFilesFromConfig } from '../src/node/codegen'\nimport { rimrafSync } from 'rimraf'\n\nconst exec = promisify(execCallback)\n\nlet a\n\na = process.argv.splice(2)\n\nconst init = (args: string[]) => {\n console.log('args:', args)\n\n if (args && args.length && args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n\n let schemaFileDir = args[1] || rootWithNodeModules\n const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS)\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n console.log('[Seed Protocol] sdkRootDir', sdkRootDir)\n\n const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`\n\n const ensureIndexExports = (dirPath: string): void => {\n try {\n // Get all file names in the directory\n const files = fs.readdirSync(dirPath)\n\n // Filter for .ts files excluding index.ts\n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && file !== 'index.ts',\n )\n\n // Check if index.ts exists\n const indexFilePath = path.join(dirPath, 'index.ts')\n try {\n fs.accessSync(indexFilePath)\n } catch (error) {\n console.error(`index.ts not found in the directory: ${dirPath}`)\n return\n }\n\n // Read the content of index.ts\n const indexContent = fs.readFileSync(indexFilePath, 'utf8')\n\n // Create export statements for each .ts file\n const exportStatements = tsFiles.map(\n (file) => `export * from './${path.basename(file, '.ts')}';`,\n )\n\n // Check if each export statement is already present in index.ts\n const missingExports = exportStatements.filter(\n (statement) => !indexContent.includes(statement),\n )\n\n if (missingExports.length > 0) {\n // Append missing export statements to index.ts\n const newContent =\n indexContent + '\\n' + missingExports.join('\\n') + '\\n'\n fs.writeFileSync(indexFilePath, newContent, 'utf8')\n console.log(\n `Updated index.ts with missing exports:\\n${missingExports.join('\\n')}`,\n )\n } else {\n console.log('All exports are already present in index.ts')\n }\n } catch (error) {\n console.error(`Error processing directory: ${dirPath}`, error)\n }\n }\n\n const copyFiles = (srcDir, destDir) => {\n if (!fs.existsSync(destDir)) {\n fs.mkdirSync(destDir, { recursive: true })\n }\n const srcFiles = fs.readdirSync(srcDir)\n srcFiles.forEach((file) => {\n console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)\n fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))\n })\n }\n\n const copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`)\n fs.mkdirSync(_appFilesDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${_appFilesDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n console.log('pathToMeta:', pathToMeta)\n console.log('pathToConfig:', pathToConfig)\n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`)\n execSync(\n `${drizzleKitCommand} generate --config=${pathToConfig}`,\n )\n }\n execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`)\n }\n\n const runCommands = async () => {\n await createDrizzleSchemaFilesFromConfig()\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyFiles(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\n\n runCommands()\n .then(() => {\n if (!appFilesDirPath) {\n console.log('[Seed Protocol] Finished running init script')\n } else {\n return copyDotSeedFilesToAppFiles(appFilesDirPath)\n }\n })\n .then(() => {\n console.log('[Seed Protocol] Finished running init script')\n })\n }\n}\n\nconst calledFrom = pathToFileURL(process.argv[1]).href\n\nconsole.log('calledFrom:', calledFrom)\n\nif (\n calledFrom.endsWith('node_modules/.bin/seed') ||\n import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||\n import.meta.url.endsWith('scripts/bin.ts')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":["execCallback","process"],"mappings":"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"}
@@ -147,6 +147,9 @@ class BaseFileManager {
147
147
  static async saveFile(filePath, content) {
148
148
  return this.PlatformClass.saveFile(filePath, content);
149
149
  }
150
+ static async readFile(filePath) {
151
+ return this.PlatformClass.readFile(filePath);
152
+ }
150
153
  }
151
154
  BaseFileManager.fileSystemInitialized = false;
152
155
  BaseFileManager.initializing = false;
@@ -221,4 +224,4 @@ var ImageSize;
221
224
  const CLIENT_NOT_INITIALIZED = 'ClientManager is not initialized. Please call init() first.';
222
225
 
223
226
  export { ARWEAVE_ENDPOINT as A, BaseArweaveClient as B, internalPropertyNames as C, DB_CHECK_STATUS_UPDATE_PATHS as D, EAS_ENDPOINT as E, defaultAttestationData as F, GLOBAL_INITIALIZING_INTERNAL_SERVICE_READY as G, CLIENT_NOT_INITIALIZED as H, INTERNAL_VALIDATING_INPUT_SUCCESS as I, MachineIds as M, PublishMachineStates as P, SCHEMA_NJK as S, VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA as V, BaseEasClient as a, BaseFileManager as b, BaseQueryClient as c, BROWSER_FS_TOP_DIR as d, SCHEMA_TS as e, GLOBAL_INITIALIZING_SEND_CONFIG as f, GLOBAL_INITIALIZING_CREATE_ALL_ITEMS_SERVICES as g, GLOBAL_ADDING_MODELS_TO_DB_SUCCESS as h, DB_CHECK_STATUS_EXISTS as i, DB_CREATING_SUCCESS as j, DB_VALIDATING_SUCCESS as k, DB_VALIDATING_WAIT as l, DB_MIGRATING_SUCCESS as m, DB_WAITING_FOR_FILES_RECEIVED as n, DbState as o, DB_MIGRATING_WAIT as p, ARWEAVE_HOST as q, INTERNAL_CONFIGURING_FS_SUCCESS as r, INTERNAL_SAVING_CONFIG_SUCCESS as s, INTERNAL_LOADING_APP_DB_SUCCESS as t, DB_NAME_APP as u, DB_ON_SNAPSHOT as v, InternalState as w, GlobalState as x, INTERNAL_DATA_TYPES as y, ImageSize as z };
224
- //# sourceMappingURL=constants-CWg2B3Au.js.map
227
+ //# sourceMappingURL=constants-Bhl5dZpN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-Bhl5dZpN.js","sources":["../../src/services/internal/constants.ts","../../src/helpers/ArweaveClient/BaseArweaveClient.ts","../../src/helpers/EasClient/BaseEasClient.ts","../../src/helpers/QueryClient/BaseQueryClient.ts","../../src/helpers/FileManager/BaseFileManager.ts","../../src/helpers/constants.ts"],"sourcesContent":["const ENV = (typeof process !== 'undefined' && process.env) \n ? process.env \n : (typeof window !== 'undefined' && (window as any).env) \n ? (window as any).env \n : {};\n\n\nconst MACHINE_ID_SCOPE = '@seedSdk'\n\nexport enum MachineIds {\n GLOBAL = `${MACHINE_ID_SCOPE}/global`,\n INTERNAL = `${MACHINE_ID_SCOPE}/internal`,\n DB = `${MACHINE_ID_SCOPE}/db`,\n EAS = `${MACHINE_ID_SCOPE}/eas`,\n ITEM = `${MACHINE_ID_SCOPE}/item`,\n ALL_ITEMS = `${MACHINE_ID_SCOPE}/allItems`,\n MODEL = `${MACHINE_ID_SCOPE}/model`,\n FILE_SYSTEM = `${MACHINE_ID_SCOPE}/fileSystem`,\n}\n\nconst { INTERNAL, DB, GLOBAL, EAS, MODEL } = MachineIds\n\nexport enum GlobalState {\n UNINITIALIZED = 'uninitialized',\n INITIALIZING = 'initializing',\n INITIALIZED = 'initialized',\n PUBLISHING_ITEM = 'publishingItem',\n ADDING_MODELS_TO_DB = 'addingModelsToDb',\n}\n\nconst {\n UNINITIALIZED,\n INITIALIZING,\n INITIALIZED,\n PUBLISHING_ITEM,\n ADDING_MODELS_TO_DB,\n } = GlobalState\n\nexport enum InternalState {\n IDLE = 'idle',\n INITIALIZING = 'initializing',\n VALIDATING_INPUT = 'validatingInput',\n CONFIGURING_FS = 'configuringFs',\n LOADING_SEED_DB = 'loadingSeedDb',\n SAVING_CONFIG = 'savingConfig',\n LOADING_APP_DB = 'loadingAppDb',\n LOADING_SDK_DB = 'loadingSdkDb',\n}\n\nconst { VALIDATING_INPUT, CONFIGURING_FS, LOADING_SEED_DB, LOADING_APP_DB } =\n InternalState\n\nexport enum DbState {\n CHECKING_STATUS = 'checkingStatus',\n WAITING_FOR_FILES = 'waitingForFiles',\n VALIDATING = 'validating',\n CONNECTING_TO_DB = 'connectingToDb',\n // FETCHING_MIGRATIONS = 'fetchingMigrations',\n MIGRATING = 'migrating',\n}\n\nconst {\n CHECKING_STATUS,\n VALIDATING,\n CONNECTING_TO_DB,\n WAITING_FOR_FILES,\n MIGRATING,\n } = DbState\n\nexport enum PublishMachineStates {\n VALIDATING_ITEM_DATA = 'validatingItemData',\n CREATING_PUBLISH_ATTEMPT = 'creatingPublishAttempt',\n UPLOADING = 'uploading',\n PREPARING_PUBLISH_REQUEST_DATA = 'preparingPublishRequestData',\n PUBLISHING = 'publishing',\n IDLE = 'idle',\n}\n\nexport const INTERNAL_VALIDATING_INPUT_SUCCESS = `${INTERNAL}.${VALIDATING_INPUT}.success`\n\nexport const INTERNAL_CONFIGURING_FS_SUCCESS = `${INTERNAL}.${CONFIGURING_FS}.success`\nexport const INTERNAL_CONFIGURING_FS_FAILURE = `${INTERNAL}.${CONFIGURING_FS}.failure`\n\nexport const INTERNAL_LOADING_SEED_DB_SUCCESS = `${INTERNAL}.${LOADING_SEED_DB}.success`\nexport const INTERNAL_LOADING_SEED_DB_FAILURE = `${INTERNAL}.${LOADING_SEED_DB}.failure`\n\nexport const INTERNAL_LOADING_APP_DB_SUCCESS = `${INTERNAL}.${LOADING_APP_DB}.success`\nexport const INTERNAL_LOADING_APP_DB_FAILURE = `${INTERNAL}.${LOADING_APP_DB}.failure`\n\nexport const INTERNAL_SAVING_CONFIG_SUCCESS = `${INTERNAL}.savingConfig.success`\nexport const INTERNAL_SAVING_CONFIG_FAILURE = `${INTERNAL}.savingConfig.failure`\n\nexport const GLOBAL_GETTING_SEED_CLASS_SUCCESS = `${GLOBAL}.${PUBLISHING_ITEM}.success`\nexport const GLOBAL_INITIALIZING_SEND_CONFIG = `${GLOBAL}.${INITIALIZING}.sendConfig`\nexport const GLOBAL_INITIALIZING_INTERNAL_SERVICE_READY = `${GLOBAL}.${INITIALIZING}.internalServiceReady`\nexport const GLOBAL_INITIALIZING_CREATE_ALL_ITEMS_SERVICES = `${GLOBAL}.${INITIALIZING}.createAllItemsServices`\nexport const GLOBAL_ADDING_MODELS_TO_DB_SUCCESS = `${GLOBAL}.${ADDING_MODELS_TO_DB}.success`\n\nexport const DB_CHECK_STATUS_UPDATE_PATHS = `${DB}.${CHECKING_STATUS}.updatePaths`\nexport const DB_CHECK_STATUS_EXISTS = `${DB}.${CHECKING_STATUS}.exists`\nexport const DB_CHECK_STATUS_DOES_NOT_EXIST = `${DB}.${CHECKING_STATUS}.doesNotExist`\nexport const DB_CHECK_STATUS_FAILURE = `${DB}.${CHECKING_STATUS}.failure`\n\nexport const DB_VALIDATING_SUCCESS = `${DB}.${VALIDATING}.success`\nexport const DB_VALIDATING_WAIT = `${DB}.${VALIDATING}.wait`\nexport const DB_MIGRATING_WAIT = `${DB}.${MIGRATING}.wait`\nexport const DB_MIGRATING_SUCCESS = `${DB}.${MIGRATING}.success`\nexport const DB_CREATING_SUCCESS = `${DB}.${CONNECTING_TO_DB}.success`\nexport const DB_WAITING_FOR_FILES_RECEIVED = `${DB}.${WAITING_FOR_FILES}.filesReceived`\nexport const DB_ON_SNAPSHOT = `${DB}.onSnapshot`\nexport const CHILD_SNAPSHOT = 'childSnapshot'\n\nexport const INTERNAL_SERVICE_SNAPSHOT = 'internalServiceSnapshot'\n\nexport const DB_NAME_APP = 'app_db'\nexport const BROWSER_FS_TOP_DIR = 'app-files'\n\nexport const EAS_ENDPOINT =\n ENV.NEXT_PUBLIC_EAS_ENDPOINT ||\n ENV.EAS_ENDPOINT ||\n 'https://optimism-sepolia.easscan.org/graphql'\n\nexport const ARWEAVE_HOST =\n ENV.NEXT_PUBLIC_ARWEAVE_HOST || 'arweave.net'\nexport const ARWEAVE_ENDPOINT = `https://${ARWEAVE_HOST}/graphql`\n","import { GraphQLClient } from 'graphql-request'\n\nexport abstract class BaseArweaveClient {\n static PlatformClass: typeof BaseArweaveClient\n\n static setPlatformClass(platformClass: typeof BaseArweaveClient) {\n this.PlatformClass = platformClass\n }\n\n static getArweaveClient(): GraphQLClient {\n return this.PlatformClass.getArweaveClient()\n }\n}","import { GraphQLClient } from 'graphql-request'\nimport { EAS_ENDPOINT } from '@/services/internal/constants'\n\nexport abstract class BaseEasClient {\n static PlatformClass: typeof BaseEasClient\n\n static setPlatformClass(platformClass: typeof BaseEasClient) {\n this.PlatformClass = platformClass\n }\n\n static getEasClient(): GraphQLClient {\n return new GraphQLClient(EAS_ENDPOINT)\n }\n} \n","import { IQueryClient } from \"@/interfaces/IQueryClient\"\n\nexport abstract class BaseQueryClient {\n static PlatformClass: typeof BaseQueryClient\n\n static setPlatformClass(platformClass: typeof BaseQueryClient) {\n this.PlatformClass = platformClass\n }\n\n static getQueryClient(): IQueryClient {\n return this.PlatformClass.getQueryClient()\n }\n} ","export abstract class BaseFileManager {\n private static fileSystemInitialized = false\n private static initializing = false\n\n static PlatformClass: typeof BaseFileManager\n\n static setPlatformClass( platformClass: typeof BaseFileManager ) {\n this.PlatformClass = platformClass\n }\n\n static async initializeFileSystem(): Promise<void> {\n if (this.initializing || this.fileSystemInitialized) {\n return Promise.resolve()\n }\n this.initializing = true\n await this.PlatformClass.initializeFileSystem()\n this.fileSystemInitialized = true\n this.initializing = false\n }\n\n static getContentUrlFromPath( path: string ): Promise<string | undefined> {\n return this.PlatformClass.getContentUrlFromPath(path)\n }\n\n static downloadAllFiles( {\n transactionIds,\n arweaveHost,\n excludedTransactions,\n }: DownloadAllFilesParams ): Promise<void> {\n return this.PlatformClass.downloadAllFiles({ transactionIds, arweaveHost, excludedTransactions })\n }\n\n static resizeImage( { filePath, width, height }: ResizeImageParams ): Promise<void> {\n return this.PlatformClass.resizeImage({ filePath, width, height })\n }\n\n static resizeAllImages( { width, height }: ResizeAllImagesParams ): Promise<void> {\n return this.PlatformClass.resizeAllImages({ width, height })\n }\n\n static pathExists(filePath: string): Promise<boolean> {\n return this.PlatformClass.pathExists(filePath)\n }\n\n static createDirIfNotExists(filePath: string): Promise<void> {\n return this.PlatformClass.createDirIfNotExists(filePath)\n }\n\n static async waitForFile(filePath: string): Promise<boolean> {\n return this.PlatformClass.waitForFile(filePath)\n }\n\n static async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n return this.PlatformClass.saveFile(filePath, content)\n }\n\n static async readFile(filePath: string): Promise<File> {\n return this.PlatformClass.readFile(filePath)\n }\n}\n","import {\n AttestationRequestData,\n ZERO_BYTES,\n ZERO_BYTES32,\n ZERO_ADDRESS,\n} from '@ethereum-attestation-service/eas-sdk'\n\n\nexport const SCHEMA_NJK = 'schema.njk'\nexport const SCHEMA_TS = 'schema.ts'\n\nexport const INTERNAL_DATA_TYPES = {\n Text: {\n eas: 'string',\n },\n Number: {\n eas: 'uint8',\n },\n ImageSrc: {\n eas: 'string',\n },\n Relation: {\n eas: 'bytes32',\n },\n List: {\n eas: 'bytes32[]',\n },\n FileSrc: {\n eas: 'string',\n },\n Json: {\n eas: 'string',\n },\n Blob: {\n eas: 'bytes32',\n },\n}\n\nexport const internalPropertyNames = [\n 'localId',\n 'uid',\n 'seedLocalId',\n 'seedUid',\n 'schemaUid',\n 'attestationCreatedAt',\n 'createdAt',\n 'updatedAt',\n 'versionsCount',\n 'lastVersionPublishedAt',\n 'latestVersionLocalId',\n 'versionLocalId',\n 'lastLocalUpdateAt',\n 'storageTransactionId',\n 'versionUid',\n 'refSeedType',\n 'refValueType',\n 'refResolvedValue',\n 'refResolvedDisplayValue',\n 'type',\n]\n\nexport const VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA =\n '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6'\n\nexport const defaultAttestationData: AttestationRequestData = {\n recipient: ZERO_ADDRESS,\n revocable: true,\n value: BigInt(0),\n refUID: ZERO_BYTES32,\n expirationTime: BigInt(0),\n data: ZERO_BYTES,\n}\n\nexport enum ImageSize {\n EXTRA_SMALL = 480,\n SMALL = 760,\n MEDIUM = 1024,\n LARGE = 1440,\n EXTRA_LARGE = 1920,\n}\n\nexport const CLIENT_NOT_INITIALIZED = 'ClientManager is not initialized. Please call init() first.'\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- export { I as Item } from './index-BHGJ-Es9.js';
1
+ export { I as Item } from './index-BSR5hv7Q.js';
2
2
  import 'immer';
3
3
  import 'reflect-metadata';
4
4
  import '@sinclair/typebox';
5
5
  import 'xstate';
6
- import './constants-CWg2B3Au.js';
6
+ import './constants-Bhl5dZpN.js';
7
7
  import 'graphql-request';
8
8
  import '@ethereum-attestation-service/eas-sdk';
9
9
  import 'debug';
@@ -23,4 +23,4 @@ import 'drizzle-orm/casing';
23
23
  import 'react';
24
24
  import 'use-immer';
25
25
  import '@xstate/react';
26
- //# sourceMappingURL=index-CQ9FS10O.js.map
26
+ //# sourceMappingURL=index-BAtjd9W-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BAtjd9W-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}