@seedprotocol/sdk 0.3.25 → 0.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.js CHANGED
@@ -14,6 +14,14 @@ import { PathResolver } from './src/node/PathResolver.js';
14
14
  import { createDrizzleSchemaFilesFromConfig } from './src/node/codegen/drizzle.js';
15
15
  import { rimrafSync } from 'rimraf';
16
16
  import { getTsImport } from './src/node/helpers/index.js';
17
+ import { seeds } from './src/seedSchema/SeedSchema.js';
18
+ import { versions } from './src/seedSchema/VersionSchema.js';
19
+ import { metadata } from './src/seedSchema/MetadataSchema.js';
20
+ import { appState } from './src/seedSchema/AppStateSchema.js';
21
+ import { models } from './src/seedSchema/ModelSchema.js';
22
+ import { modelUids } from './src/seedSchema/ModelUidSchema.js';
23
+ import './src/seedSchema/PropertyUidSchema.js';
24
+ import { config } from './src/seedSchema/ConfigSchema.js';
17
25
  import { commandExists } from './src/helpers/scripts.js';
18
26
 
19
27
  const __filename = fileURLToPath(import.meta.url);
@@ -84,36 +92,33 @@ const seedDatabase = async (seedDataPath, dotSeedDir) => {
84
92
  }
85
93
  const sqlite = new Database(dbPath);
86
94
  const db = drizzle(sqlite);
87
- // Import the generated schema files
88
- const schemaPath = path.join(actualDotSeedDir, 'schema');
89
- const { appState: generatedAppState, config: generatedConfig, metadata: generatedMetadata, models: generatedModels, modelUids: generatedModelUids, seeds: generatedSeeds, versions: generatedVersions } = await import(schemaPath + '/index.ts');
90
95
  // Seed each table based on the provided data
91
96
  if (seedData.appState && seedData.appState.length > 0) {
92
- await db.insert(generatedAppState).values(seedData.appState);
97
+ await db.insert(appState).values(seedData.appState);
93
98
  console.log('Seeded appState table');
94
99
  }
95
100
  if (seedData.config && seedData.config.length > 0) {
96
- await db.insert(generatedConfig).values(seedData.config);
101
+ await db.insert(config).values(seedData.config);
97
102
  console.log('Seeded config table');
98
103
  }
99
104
  if (seedData.models && seedData.models.length > 0) {
100
- await db.insert(generatedModels).values(seedData.models);
105
+ await db.insert(models).values(seedData.models);
101
106
  console.log('Seeded models table');
102
107
  }
103
108
  if (seedData.modelUids && seedData.modelUids.length > 0) {
104
- await db.insert(generatedModelUids).values(seedData.modelUids);
109
+ await db.insert(modelUids).values(seedData.modelUids);
105
110
  console.log('Seeded modelUids table');
106
111
  }
107
112
  if (seedData.metadata && seedData.metadata.length > 0) {
108
- await db.insert(generatedMetadata).values(seedData.metadata);
113
+ await db.insert(metadata).values(seedData.metadata);
109
114
  console.log('Seeded metadata table');
110
115
  }
111
116
  if (seedData.seeds && seedData.seeds.length > 0) {
112
- await db.insert(generatedSeeds).values(seedData.seeds);
117
+ await db.insert(seeds).values(seedData.seeds);
113
118
  console.log('Seeded seeds table');
114
119
  }
115
120
  if (seedData.versions && seedData.versions.length > 0) {
116
- await db.insert(generatedVersions).values(seedData.versions);
121
+ await db.insert(versions).values(seedData.versions);
117
122
  console.log('Seeded versions table');
118
123
  }
119
124
  console.log('[Seed Protocol] Successfully seeded database');
@@ -163,13 +168,7 @@ const init = (args) => {
163
168
  }
164
169
  // Remove dotSeedDir to start fresh each time
165
170
  if (fs.existsSync(dotSeedDir)) {
166
- try {
167
- fs.rmSync(dotSeedDir, { recursive: true, force: true });
168
- }
169
- catch (error) {
170
- // If rmSync fails, try using rimraf as fallback
171
- rimrafSync(dotSeedDir, { force: true });
172
- }
171
+ fs.rmSync(dotSeedDir, { recursive: true, force: true });
173
172
  }
174
173
  console.log('[Seed Protocol] dotSeedDir', dotSeedDir);
175
174
  const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`;
@@ -177,29 +176,19 @@ const init = (args) => {
177
176
  try {
178
177
  // Get all file names in the directory
179
178
  const files = fs.readdirSync(dirPath);
180
- // Filter for .ts files excluding index.ts and only include actual schema files
181
- const validSchemaFiles = [
182
- 'AppStateSchema',
183
- 'ConfigSchema',
184
- 'MetadataSchema',
185
- 'ModelSchema',
186
- 'ModelUidSchema',
187
- 'PropertyUidSchema',
188
- 'SeedSchema',
189
- 'VersionSchema'
190
- ];
191
- const tsFiles = files.filter((file) => file.endsWith('.ts') &&
192
- file !== 'index.ts' &&
193
- validSchemaFiles.includes(path.basename(file, '.ts')));
194
- // Check if index.ts exists, create it if it doesn't
179
+ // Filter for .ts files excluding index.ts
180
+ const tsFiles = files.filter((file) => file.endsWith('.ts') && file !== 'index.ts');
181
+ // Check if index.ts exists
195
182
  const indexFilePath = path.join(dirPath, 'index.ts');
196
- let indexContent = '';
197
- if (fs.existsSync(indexFilePath)) {
198
- indexContent = fs.readFileSync(indexFilePath, 'utf8');
183
+ try {
184
+ fs.accessSync(indexFilePath);
199
185
  }
200
- else {
201
- console.log(`Creating index.ts in directory: ${dirPath}`);
186
+ catch (error) {
187
+ console.error(`index.ts not found in the directory: ${dirPath}`);
188
+ return;
202
189
  }
190
+ // Read the content of index.ts
191
+ const indexContent = fs.readFileSync(indexFilePath, 'utf8');
203
192
  // Create export statements for each .ts file
204
193
  const exportStatements = tsFiles.map((file) => `export * from './${path.basename(file, '.ts')}';`);
205
194
  // Check if each export statement is already present in index.ts
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sources":["../../scripts/bin.ts"],"sourcesContent":["#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { execSync, } from 'child_process'\nimport { fileURLToPath, pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '@/node/helpers/EasClient'\nimport '@/node/helpers/QueryClient'\nimport '@/node/helpers/FileManager'\nimport '@/node/helpers/ArweaveClient'\nimport { INIT_SCRIPT_SUCCESS_MESSAGE, SCHEMA_TS } from '@/helpers/constants'\nimport { PathResolver } from '@/node/PathResolver'\nimport { createDrizzleSchemaFilesFromConfig } from '@/node/codegen'\nimport { rimrafSync } from 'rimraf'\nimport { getTsImport } from '@/node/helpers'\nimport { ModelClassType } from '@/types/model'\nimport { appState, config, metadata, models, modelUids, seeds, versions } from '@/seedSchema'\nimport { commandExists } from '@/helpers/scripts'\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\n\nlet a\n\na = process.argv.splice(2)\nconst pathResolver = PathResolver.getInstance()\n\n/**\n * Copy a directory and all its contents recursively\n * @param {string} sourceDir - Path to the source directory\n * @param {string} targetDir - Path to the target directory\n */\nfunction copyDirectoryRecursively(sourceDir: string, targetDir: string) {\n // Create the target directory if it doesn't exist\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n\n // Read all entries in the source directory\n const entries = fs.readdirSync(sourceDir);\n\n // Process each entry\n for (const entry of entries) {\n // Skip __tests__ directories to prevent recursive copying\n if (entry === '__tests__') {\n console.log(`Skipping __tests__ directory: ${path.join(sourceDir, entry)}`);\n continue;\n }\n\n const sourcePath = path.join(sourceDir, entry);\n const targetPath = path.join(targetDir, entry);\n \n // Check if the entry is a file or directory\n const stats = fs.statSync(sourcePath);\n \n if (stats.isFile()) {\n // Copy the file directly\n fs.copyFileSync(sourcePath, targetPath);\n console.log(`Copied file: ${sourcePath} → ${targetPath}`);\n } \n else if (stats.isDirectory()) {\n // Recursively copy the subdirectory\n copyDirectoryRecursively(sourcePath, targetPath);\n }\n }\n}\n\nconst seedDatabase = async (seedDataPath: string, dotSeedDir?: string) => {\n console.log('[Seed Protocol] Running seed script')\n\n try {\n // Import better-sqlite3 dynamically to handle optional dependency\n let drizzle: any\n let Database: any\n \n try {\n const drizzleModule = await import('drizzle-orm/better-sqlite3')\n const betterSqlite3Module = await import('better-sqlite3')\n drizzle = drizzleModule.drizzle\n Database = betterSqlite3Module.default\n } catch (importError) {\n console.error('[Seed Protocol] Error: better-sqlite3 is required for seeding the database.')\n console.error('[Seed Protocol] Please install better-sqlite3: npm install better-sqlite3')\n process.exit(1)\n }\n \n // Read the seed data file\n const seedData = JSON.parse(fs.readFileSync(seedDataPath, 'utf-8'))\n \n // Connect to the database\n const actualDotSeedDir = dotSeedDir || pathResolver.getDotSeedDir()\n const dbDir = path.join(actualDotSeedDir, 'db')\n const dbPath = path.join(dbDir, 'app_db.sqlite3')\n \n // Ensure the database directory exists\n if (!fs.existsSync(dbDir)) {\n fs.mkdirSync(dbDir, { recursive: true })\n }\n \n const sqlite = new Database(dbPath)\n const db = drizzle(sqlite)\n \n // Import the generated schema files\n const schemaPath = path.join(actualDotSeedDir, 'schema')\n const { appState: generatedAppState, config: generatedConfig, metadata: generatedMetadata, models: generatedModels, modelUids: generatedModelUids, seeds: generatedSeeds, versions: generatedVersions } = await import(schemaPath + '/index.ts')\n \n // Seed each table based on the provided data\n if (seedData.appState && seedData.appState.length > 0) {\n await db.insert(generatedAppState).values(seedData.appState)\n console.log('Seeded appState table')\n }\n \n if (seedData.config && seedData.config.length > 0) {\n await db.insert(generatedConfig).values(seedData.config)\n console.log('Seeded config table')\n }\n \n if (seedData.models && seedData.models.length > 0) {\n await db.insert(generatedModels).values(seedData.models)\n console.log('Seeded models table')\n }\n \n if (seedData.modelUids && seedData.modelUids.length > 0) {\n await db.insert(generatedModelUids).values(seedData.modelUids)\n console.log('Seeded modelUids table')\n }\n \n if (seedData.metadata && seedData.metadata.length > 0) {\n await db.insert(generatedMetadata).values(seedData.metadata)\n console.log('Seeded metadata table')\n }\n \n if (seedData.seeds && seedData.seeds.length > 0) {\n await db.insert(generatedSeeds).values(seedData.seeds)\n console.log('Seeded seeds table')\n }\n \n if (seedData.versions && seedData.versions.length > 0) {\n await db.insert(generatedVersions).values(seedData.versions)\n console.log('Seeded versions table')\n }\n \n console.log('[Seed Protocol] Successfully seeded database')\n } catch (error) {\n console.error('[Seed Protocol] Error seeding database:', error)\n process.exit(1)\n }\n}\n\nconst init = (args: string[],) => {\n console.log('args:', args)\n\n if (args && args.length) {\n if (args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n let schemaFileDir = args[1]\n\n if (schemaFileDir && schemaFileDir.startsWith('.')) {\n const relativePath = schemaFileDir.replace('./', '')\n if (!process.cwd().includes(relativePath)) {\n schemaFileDir = path.resolve(schemaFileDir,)\n }\n if (process.cwd().includes(relativePath)) {\n schemaFileDir = process.cwd()\n }\n }\n\n if (!schemaFileDir && !process.cwd().includes('seed-protocol-sdk')) {\n schemaFileDir = process.cwd()\n }\n\n console.log('[Seed Protocol] schemaFileDir', schemaFileDir)\n\n if (!schemaFileDir) {\n // Use the new config file finding logic\n const foundConfigFile = pathResolver.findConfigFile()\n if (foundConfigFile) {\n schemaFileDir = path.dirname(foundConfigFile)\n } else {\n console.error('No config file found. Please create a seed.config.ts, seed.schema.ts, or schema.ts file in your project root.')\n return\n }\n }\n\n const {\n dotSeedDir,\n appSchemaDir,\n appMetaDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n sdkRootDir,\n } = pathResolver.getAppPaths(schemaFileDir)\n\n // Find the actual config file in the schema file directory\n const configFilePath = pathResolver.findConfigFile(schemaFileDir)\n if (!configFilePath) {\n console.error('Config file not found in the specified directory.')\n return\n }\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n try {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n } catch (error) {\n // If rmSync fails, try using rimraf as fallback\n rimrafSync(dotSeedDir, { force: true })\n }\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n\n const tsconfigArg = `--tsconfig ${sdkRootDir}/tsconfig.json`\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 and only include actual schema files\n const validSchemaFiles = [\n 'AppStateSchema',\n 'ConfigSchema', \n 'MetadataSchema',\n 'ModelSchema',\n 'ModelUidSchema',\n 'PropertyUidSchema',\n 'SeedSchema',\n 'VersionSchema'\n ]\n \n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && \n file !== 'index.ts' && \n validSchemaFiles.includes(path.basename(file, '.ts'))\n )\n\n // Check if index.ts exists, create it if it doesn't\n const indexFilePath = path.join(dirPath, 'index.ts')\n let indexContent = ''\n \n if (fs.existsSync(indexFilePath)) {\n indexContent = fs.readFileSync(indexFilePath, 'utf8')\n } else {\n console.log(`Creating index.ts in directory: ${dirPath}`)\n }\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 copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const { endpoints } = await getTsImport<{\n models: Record<string, ModelClassType>,\n endpoints: Record<string, string>\n }>(configFilePath)\n\n const outputDirPath = endpoints.localOutputDir || _appFilesDirPath\n\n const exists = await fs.promises.access(outputDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(outputDirPath, { recursive: true, force: true })\n }\n \n console.log(`[Seed Protocol] making dir at ${outputDirPath}`)\n fs.mkdirSync(outputDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n \n // Use copyDirectoryRecursively instead of fs.cpSync to exclude __tests__ directories\n copyDirectoryRecursively(dotSeedDir, outputDirPath)\n \n console.log('[Seed Protocol] removing sqlite3 files and index.ts files')\n rimrafSync(`${outputDirPath}/**/*.sqlite3`, { glob: true })\n rimrafSync(`${outputDirPath}/**/index.ts`, { glob: true })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n try {\n // Create a project-specific Drizzle Kit configuration\n const projectConfigPath = path.join(dotSeedDir, 'drizzle.config.ts')\n const projectConfig = `import { defineConfig } from 'drizzle-kit'\n\nexport default defineConfig({\n schema: '${path.join(dotSeedDir, 'schema')}',\n dialect: 'sqlite',\n out: '${path.join(dotSeedDir, 'db')}',\n dbCredentials: {\n url: '${path.join(dotSeedDir, 'db', 'app_db.sqlite3')}',\n },\n})`\n \n fs.writeFileSync(projectConfigPath, projectConfig)\n \n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${projectConfigPath}`)\n execSync(\n `${drizzleKitCommand} generate --config=${projectConfigPath}`,\n { stdio: 'inherit' }\n )\n }\n console.log(`${drizzleKitCommand} migrate --config=${projectConfigPath}`)\n execSync(`${drizzleKitCommand} migrate --config=${projectConfigPath}`, { stdio: 'inherit' })\n } catch (error) {\n console.error('[Seed Protocol] Error running Drizzle Kit commands:', error)\n throw error\n }\n }\n\n const runCommands = async () => {\n const tsxExists = commandExists('tsx')\n if (!tsxExists) {\n execSync(`npm install -g tsx`, {stdio: 'inherit'})\n }\n\n await createDrizzleSchemaFilesFromConfig(configFilePath, appSchemaDir)\n ensureIndexExports(appSchemaDir!)\n await updateSchema(drizzleDbConfigPath, appMetaDir!)\n const seedDataFilePath = path.join(__dirname, 'seedData.json')\n await seedDatabase(seedDataFilePath, dotSeedDir)\n }\n\n copyDirectoryRecursively(\n path.join(pathResolver.getSdkRootDir(), 'src', 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n // copyDirectoryRecursively(\n // path.join(pathResolver.getSdkRootDir(), 'node', 'codegen'),\n // path.join(dotSeedDir, 'codegen'),\n // )\n\n console.log('copying', configFilePath, path.join(dotSeedDir, 'seed.config.ts'))\n\n fs.copyFileSync(configFilePath, path.join(dotSeedDir, 'seed.config.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(INIT_SCRIPT_SUCCESS_MESSAGE)\n })\n } else if (args[0] === 'seed' && args[1]) {\n seedDatabase(args[1])\n } else {\n console.log('Unknown command. Available commands:')\n console.log('init [schemaPath] [appFilesPath] - Initialize the database')\n console.log('seed [seedDataPath] - Seed the database with data from JSON file')\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 import.meta.url.endsWith('dist/bin.js')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sources":["../../scripts/bin.ts"],"sourcesContent":["#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { execSync, } from 'child_process'\nimport { fileURLToPath, pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '@/node/helpers/EasClient'\nimport '@/node/helpers/QueryClient'\nimport '@/node/helpers/FileManager'\nimport '@/node/helpers/ArweaveClient'\nimport { INIT_SCRIPT_SUCCESS_MESSAGE, SCHEMA_TS } from '@/helpers/constants'\nimport { PathResolver } from '@/node/PathResolver'\nimport { createDrizzleSchemaFilesFromConfig } from '@/node/codegen'\nimport { rimrafSync } from 'rimraf'\nimport { getTsImport } from '@/node/helpers'\nimport { ModelClassType } from '@/types/model'\nimport { appState, config, metadata, models, modelUids, seeds, versions } from '@/seedSchema'\nimport { commandExists } from '@/helpers/scripts'\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\n\nlet a\n\na = process.argv.splice(2)\nconst pathResolver = PathResolver.getInstance()\n\n/**\n * Copy a directory and all its contents recursively\n * @param {string} sourceDir - Path to the source directory\n * @param {string} targetDir - Path to the target directory\n */\nfunction copyDirectoryRecursively(sourceDir: string, targetDir: string) {\n // Create the target directory if it doesn't exist\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n\n // Read all entries in the source directory\n const entries = fs.readdirSync(sourceDir);\n\n // Process each entry\n for (const entry of entries) {\n // Skip __tests__ directories to prevent recursive copying\n if (entry === '__tests__') {\n console.log(`Skipping __tests__ directory: ${path.join(sourceDir, entry)}`);\n continue;\n }\n\n const sourcePath = path.join(sourceDir, entry);\n const targetPath = path.join(targetDir, entry);\n \n // Check if the entry is a file or directory\n const stats = fs.statSync(sourcePath);\n \n if (stats.isFile()) {\n // Copy the file directly\n fs.copyFileSync(sourcePath, targetPath);\n console.log(`Copied file: ${sourcePath} → ${targetPath}`);\n } \n else if (stats.isDirectory()) {\n // Recursively copy the subdirectory\n copyDirectoryRecursively(sourcePath, targetPath);\n }\n }\n}\n\nconst seedDatabase = async (seedDataPath: string, dotSeedDir?: string) => {\n console.log('[Seed Protocol] Running seed script')\n\n try {\n // Import better-sqlite3 dynamically to handle optional dependency\n let drizzle: any\n let Database: any\n \n try {\n const drizzleModule = await import('drizzle-orm/better-sqlite3')\n const betterSqlite3Module = await import('better-sqlite3')\n drizzle = drizzleModule.drizzle\n Database = betterSqlite3Module.default\n } catch (importError) {\n console.error('[Seed Protocol] Error: better-sqlite3 is required for seeding the database.')\n console.error('[Seed Protocol] Please install better-sqlite3: npm install better-sqlite3')\n process.exit(1)\n }\n \n // Read the seed data file\n const seedData = JSON.parse(fs.readFileSync(seedDataPath, 'utf-8'))\n \n // Connect to the database\n const actualDotSeedDir = dotSeedDir || pathResolver.getDotSeedDir()\n const dbDir = path.join(actualDotSeedDir, 'db')\n const dbPath = path.join(dbDir, 'app_db.sqlite3')\n \n // Ensure the database directory exists\n if (!fs.existsSync(dbDir)) {\n fs.mkdirSync(dbDir, { recursive: true })\n }\n \n const sqlite = new Database(dbPath)\n const db = drizzle(sqlite)\n \n // Seed each table based on the provided data\n if (seedData.appState && seedData.appState.length > 0) {\n await db.insert(appState).values(seedData.appState)\n console.log('Seeded appState table')\n }\n \n if (seedData.config && seedData.config.length > 0) {\n await db.insert(config).values(seedData.config)\n console.log('Seeded config table')\n }\n \n if (seedData.models && seedData.models.length > 0) {\n await db.insert(models).values(seedData.models)\n console.log('Seeded models table')\n }\n \n if (seedData.modelUids && seedData.modelUids.length > 0) {\n await db.insert(modelUids).values(seedData.modelUids)\n console.log('Seeded modelUids table')\n }\n \n if (seedData.metadata && seedData.metadata.length > 0) {\n await db.insert(metadata).values(seedData.metadata)\n console.log('Seeded metadata table')\n }\n \n if (seedData.seeds && seedData.seeds.length > 0) {\n await db.insert(seeds).values(seedData.seeds)\n console.log('Seeded seeds table')\n }\n \n if (seedData.versions && seedData.versions.length > 0) {\n await db.insert(versions).values(seedData.versions)\n console.log('Seeded versions table')\n }\n \n console.log('[Seed Protocol] Successfully seeded database')\n } catch (error) {\n console.error('[Seed Protocol] Error seeding database:', error)\n process.exit(1)\n }\n}\n\nconst init = (args: string[],) => {\n console.log('args:', args)\n\n if (args && args.length) {\n if (args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n let schemaFileDir = args[1]\n\n if (schemaFileDir && schemaFileDir.startsWith('.')) {\n const relativePath = schemaFileDir.replace('./', '')\n if (!process.cwd().includes(relativePath)) {\n schemaFileDir = path.resolve(schemaFileDir,)\n }\n if (process.cwd().includes(relativePath)) {\n schemaFileDir = process.cwd()\n }\n }\n\n if (!schemaFileDir && !process.cwd().includes('seed-protocol-sdk')) {\n schemaFileDir = process.cwd()\n }\n\n console.log('[Seed Protocol] schemaFileDir', schemaFileDir)\n\n if (!schemaFileDir) {\n // Use the new config file finding logic\n const foundConfigFile = pathResolver.findConfigFile()\n if (foundConfigFile) {\n schemaFileDir = path.dirname(foundConfigFile)\n } else {\n console.error('No config file found. Please create a seed.config.ts, seed.schema.ts, or schema.ts file in your project root.')\n return\n }\n }\n\n const {\n dotSeedDir,\n appSchemaDir,\n appMetaDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n sdkRootDir,\n } = pathResolver.getAppPaths(schemaFileDir)\n\n // Find the actual config file in the schema file directory\n const configFilePath = pathResolver.findConfigFile(schemaFileDir)\n if (!configFilePath) {\n console.error('Config file not found in the specified directory.')\n return\n }\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\n const tsconfigArg = `--tsconfig ${sdkRootDir}/tsconfig.json`\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 copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const { endpoints } = await getTsImport<{\n models: Record<string, ModelClassType>,\n endpoints: Record<string, string>\n }>(configFilePath)\n\n const outputDirPath = endpoints.localOutputDir || _appFilesDirPath\n\n const exists = await fs.promises.access(outputDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(outputDirPath, { recursive: true, force: true })\n }\n \n console.log(`[Seed Protocol] making dir at ${outputDirPath}`)\n fs.mkdirSync(outputDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n \n // Use copyDirectoryRecursively instead of fs.cpSync to exclude __tests__ directories\n copyDirectoryRecursively(dotSeedDir, outputDirPath)\n \n console.log('[Seed Protocol] removing sqlite3 files and index.ts files')\n rimrafSync(`${outputDirPath}/**/*.sqlite3`, { glob: true })\n rimrafSync(`${outputDirPath}/**/index.ts`, { glob: true })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n try {\n // Create a project-specific Drizzle Kit configuration\n const projectConfigPath = path.join(dotSeedDir, 'drizzle.config.ts')\n const projectConfig = `import { defineConfig } from 'drizzle-kit'\n\nexport default defineConfig({\n schema: '${path.join(dotSeedDir, 'schema')}',\n dialect: 'sqlite',\n out: '${path.join(dotSeedDir, 'db')}',\n dbCredentials: {\n url: '${path.join(dotSeedDir, 'db', 'app_db.sqlite3')}',\n },\n})`\n \n fs.writeFileSync(projectConfigPath, projectConfig)\n \n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${projectConfigPath}`)\n execSync(\n `${drizzleKitCommand} generate --config=${projectConfigPath}`,\n { stdio: 'inherit' }\n )\n }\n console.log(`${drizzleKitCommand} migrate --config=${projectConfigPath}`)\n execSync(`${drizzleKitCommand} migrate --config=${projectConfigPath}`, { stdio: 'inherit' })\n } catch (error) {\n console.error('[Seed Protocol] Error running Drizzle Kit commands:', error)\n throw error\n }\n\n }\n\n const runCommands = async () => {\n const tsxExists = commandExists('tsx')\n if (!tsxExists) {\n execSync(`npm install -g tsx`, {stdio: 'inherit'})\n }\n\n await createDrizzleSchemaFilesFromConfig(configFilePath, appSchemaDir)\n ensureIndexExports(appSchemaDir!)\n await updateSchema(drizzleDbConfigPath, appMetaDir!)\n const seedDataFilePath = path.join(__dirname, 'seedData.json')\n await seedDatabase(seedDataFilePath, dotSeedDir)\n }\n\n copyDirectoryRecursively(\n path.join(pathResolver.getSdkRootDir(), 'src', 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n // copyDirectoryRecursively(\n // path.join(pathResolver.getSdkRootDir(), 'node', 'codegen'),\n // path.join(dotSeedDir, 'codegen'),\n // )\n\n console.log('copying', configFilePath, path.join(dotSeedDir, 'seed.config.ts'))\n\n fs.copyFileSync(configFilePath, path.join(dotSeedDir, 'seed.config.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(INIT_SCRIPT_SUCCESS_MESSAGE)\n })\n } else if (args[0] === 'seed' && args[1]) {\n seedDatabase(args[1])\n } else {\n console.log('Unknown command. Available commands:')\n console.log('init [schemaPath] [appFilesPath] - Initialize the database')\n console.log('seed [seedDataPath] - Seed the database with data from JSON file')\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 import.meta.url.endsWith('dist/bin.js')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAE1C,IAAI,CAAC;AAEL,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE;AAE/C;;;;AAIG;AACH,SAAS,wBAAwB,CAAC,SAAiB,EAAE,SAAiB,EAAA;;IAEpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C;;IAGA,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGzC,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;;AAE3B,QAAA,IAAI,KAAK,KAAK,WAAW,EAAE;AACzB,YAAA,OAAO,CAAC,GAAG,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA,CAAE,CAAC;YAC3E;QACF;QAEA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;QAG9C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;AAErC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;;AAElB,YAAA,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,CAAA,aAAA,EAAgB,UAAU,CAAA,GAAA,EAAM,UAAU,CAAA,CAAE,CAAC;QAC3D;AACK,aAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;;AAE5B,YAAA,wBAAwB,CAAC,UAAU,EAAE,UAAU,CAAC;QAClD;IACF;AACF;AAEA,MAAM,YAAY,GAAG,OAAO,YAAoB,EAAE,UAAmB,KAAI;AACvE,IAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;AAElD,IAAA,IAAI;;AAEF,QAAA,IAAI,OAAY;AAChB,QAAA,IAAI,QAAa;AAEjB,QAAA,IAAI;AACF,YAAA,MAAM,aAAa,GAAG,MAAM,OAAO,4BAA4B,CAAC;AAChE,YAAA,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAC1D,YAAA,OAAO,GAAG,aAAa,CAAC,OAAO;AAC/B,YAAA,QAAQ,GAAG,mBAAmB,CAAC,OAAO;QACxC;QAAE,OAAO,WAAW,EAAE;AACpB,YAAA,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC;AAC5F,YAAA,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC;AAC1F,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;;AAGA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;;QAGnE,MAAM,gBAAgB,GAAG,UAAU,IAAI,YAAY,CAAC,aAAa,EAAE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC;;QAGjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACzB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1C;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;;AAG1B,QAAA,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrD,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACnD,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACtC;AAEA,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC/C,YAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACpC;AAEA,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC/C,YAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACpC;AAEA,QAAA,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;AACrD,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACvC;AAEA,QAAA,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrD,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACnD,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACtC;AAEA,QAAA,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC7C,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACnC;AAEA,QAAA,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrD,YAAA,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACnD,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACtC;AAEA,QAAA,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC;IAC7D;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC;AAC/D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,IAAc,KAAK;AAC/B,IAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAE1B,IAAA,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACtB,YAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;YAElD,IAAI,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS;AAC1C,YAAA,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;YAE3B,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAClD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACzC,oBAAA,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAE;gBAC9C;gBACA,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACxC,oBAAA,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;gBAC/B;YACF;AAEA,YAAA,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAClE,gBAAA,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;YAC/B;AAEA,YAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,aAAa,CAAC;YAE3D,IAAI,CAAC,aAAa,EAAE;;AAElB,gBAAA,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,EAAE;gBACrD,IAAI,eAAe,EAAE;AACnB,oBAAA,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C;qBAAO;AACL,oBAAA,OAAO,CAAC,KAAK,CAAC,+GAA+G,CAAC;oBAC9H;gBACF;YACF;YAEA,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,GAAG,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC;;YAG3C,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC;YACjE,IAAI,CAAC,cAAc,EAAE;AACnB,gBAAA,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC;gBAClE;YACF;;AAGA,YAAA,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;AAC7B,gBAAA,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzD;AAEA,YAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,UAAU,CAAC;AAIrD,YAAA,MAAM,iBAAiB,GAAG,CAAA,cAAA,EAAiB,cAAc,EAAE;AAE3D,YAAA,MAAM,kBAAkB,GAAG,CAAC,OAAe,KAAU;AACnD,gBAAA,IAAI;;oBAEF,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;;oBAGrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU,CACtD;;oBAGD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;AACpD,oBAAA,IAAI;AACF,wBAAA,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;oBAC9B;oBAAE,OAAO,KAAK,EAAE;AACd,wBAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,OAAO,CAAA,CAAE,CAAC;wBAChE;oBACF;;oBAGA,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;;oBAG3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAClC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA,EAAA,CAAI,CAC7D;;AAGD,oBAAA,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,SAAS,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CACjD;AAED,oBAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE7B,wBAAA,MAAM,UAAU,GACd,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;wBACxD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC;AACnD,wBAAA,OAAO,CAAC,GAAG,CACT,CAAA,wCAAA,EAA2C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACvE;oBACH;yBAAO;AACL,wBAAA,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC;oBAC5D;gBACF;gBAAE,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,CAAA,4BAAA,EAA+B,OAAO,CAAA,CAAE,EAAE,KAAK,CAAC;gBAChE;AACF,YAAA,CAAC;AAED,YAAA,MAAM,0BAA0B,GAAG,OAAO,gBAAwB,KAAI;AACpE,gBAAA,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC;gBAClE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,WAAW,CAGpC,cAAc,CAAC;AAElB,gBAAA,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,IAAI,gBAAgB;gBAElE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC1F,IAAI,MAAM,EAAE;AACV,oBAAA,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACvE;AAEA,gBAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,aAAa,CAAA,CAAE,CAAC;gBAC7D,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAChD,gBAAA,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC;;AAGhD,gBAAA,wBAAwB,CAAC,UAAU,EAAE,aAAa,CAAC;AAEnD,gBAAA,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC;gBACxE,UAAU,CAAC,CAAA,EAAG,aAAa,CAAA,aAAA,CAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC3D,UAAU,CAAC,CAAA,EAAG,aAAa,CAAA,YAAA,CAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5D,YAAA,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,YAAoB,EAAE,UAAkB,KAAI;AACtE,gBAAA,IAAI;;oBAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;AACpE,oBAAA,MAAM,aAAa,GAAG,CAAA;;;AAGnB,WAAA,EAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;;AAElC,QAAA,EAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;;YAEzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;;GAEtD;AAEO,oBAAA,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,aAAa,CAAC;oBAElD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;wBAC9B,OAAO,CAAC,GAAG,CAAC,CAAA,EAAG,iBAAiB,CAAA,mBAAA,EAAsB,iBAAiB,CAAA,CAAE,CAAC;AAC1E,wBAAA,QAAQ,CACN,CAAA,EAAG,iBAAiB,CAAA,mBAAA,EAAsB,iBAAiB,CAAA,CAAE,EAC7D,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB;oBACH;oBACA,OAAO,CAAC,GAAG,CAAC,CAAA,EAAG,iBAAiB,CAAA,kBAAA,EAAqB,iBAAiB,CAAA,CAAE,CAAC;AACzE,oBAAA,QAAQ,CAAC,CAAA,EAAG,iBAAiB,CAAA,kBAAA,EAAqB,iBAAiB,CAAA,CAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC9F;gBAAE,OAAO,KAAK,EAAE;AACd,oBAAA,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC;AAC3E,oBAAA,MAAM,KAAK;gBACb;AAEF,YAAA,CAAC;AAED,YAAA,MAAM,WAAW,GAAG,YAAW;AAC7B,gBAAA,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC;gBACtC,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;gBACpD;AAEA,gBAAA,MAAM,kCAAkC,CAAC,cAAc,EAAE,YAAY,CAAC;gBACtE,kBAAkB,CAAC,YAAa,CAAC;AACjC,gBAAA,MAAM,YAAY,CAAC,mBAAmB,EAAE,UAAW,CAAC;gBACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;AAC9D,gBAAA,MAAM,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC;AAClD,YAAA,CAAC;YAED,wBAAwB,CACtB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,EAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAChC;;;;;AAOD,YAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAE/E,YAAA,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAExE,YAAA,WAAW;iBACR,IAAI,CAAC,MAAK;gBACT,IAAI,CAAC,eAAe,EAAE;AACpB,oBAAA,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC;gBAC7D;qBAAO;AACL,oBAAA,OAAO,0BAA0B,CAAC,eAAe,CAAC;gBACpD;AACF,YAAA,CAAC;iBACA,IAAI,CAAC,MAAK;AACT,gBAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;AAC1C,YAAA,CAAC,CAAC;QACN;AAAO,aAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AACxC,YAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB;aAAO;AACL,YAAA,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;AACnD,YAAA,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC;AACzE,YAAA,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC;QACjF;IACF;AACF;AAEA,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AAEtD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAErC,IACE,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EACvC;;IAEA,IAAI,CAAC,CAAC,CAAC;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../scripts/bin.ts"],"names":[],"mappings":";AAMA,OAAO,0BAA0B,CAAA;AACjC,OAAO,4BAA4B,CAAA;AACnC,OAAO,4BAA4B,CAAA;AACnC,OAAO,8BAA8B,CAAA;AA4IrC,QAAA,MAAM,IAAI,SAAU,MAAM,EAAE,SAwO3B,CAAA;AAgBD,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../scripts/bin.ts"],"names":[],"mappings":";AAMA,OAAO,0BAA0B,CAAA;AACjC,OAAO,4BAA4B,CAAA;AACnC,OAAO,4BAA4B,CAAA;AACnC,OAAO,8BAA8B,CAAA;AAwIrC,QAAA,MAAM,IAAI,SAAU,MAAM,EAAE,SAyN3B,CAAA;AAgBD,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -1,10 +1,12 @@
1
1
  import { sqliteTable, blob, text, integer } from 'drizzle-orm/sqlite-core';
2
2
 
3
- sqliteTable('config', {
3
+ const config = sqliteTable('config', {
4
4
  id: integer('id').primaryKey({ autoIncrement: true }),
5
5
  key: text('key').notNull(),
6
6
  text: text('text'),
7
7
  json: text('json'),
8
8
  blob: blob('blob'),
9
9
  });
10
+
11
+ export { config };
10
12
  //# sourceMappingURL=ConfigSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSchema.js","sources":["../../../../src/seedSchema/ConfigSchema.ts"],"sourcesContent":["import { integer, sqliteTable, text, blob, } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const config = sqliteTable(\n 'config',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n key: text('key').notNull(),\n text: text('text'),\n json: text('json'),\n blob: blob('blob'),\n }\n)\n\nexport type configType = InferSelectModel<typeof config>"],"names":[],"mappings":";;AAGsB,WAAW,CAC/B,QAAQ,EACR;AACE,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AACnB,CAAA"}
1
+ {"version":3,"file":"ConfigSchema.js","sources":["../../../../src/seedSchema/ConfigSchema.ts"],"sourcesContent":["import { integer, sqliteTable, text, blob, } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const config = sqliteTable(\n 'config',\n {\n id: integer('id').primaryKey({ autoIncrement: true }),\n key: text('key').notNull(),\n text: text('text'),\n json: text('json'),\n blob: blob('blob'),\n }\n)\n\nexport type configType = InferSelectModel<typeof config>"],"names":[],"mappings":";;AAGO,MAAM,MAAM,GAAG,WAAW,CAC/B,QAAQ,EACR;AACE,IAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACrD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AACnB,CAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedprotocol/sdk",
3
- "version": "0.3.25",
3
+ "version": "0.3.27",
4
4
  "description": "The SDK for Seed Protocol",
5
5
  "type": "module",
6
6
  "engines": {