From 8a401eaec6d5e4fd5e6747399ba0a350b8432a6e Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Thu, 6 Aug 2026 13:53:27 +0200 Subject: [PATCH] refactor(core): Generate DB migration index files instead of hand-maintaining them (no-changelog) (#35581) Co-authored-by: Claude Fable 5 --- .agents/skills/db-migrations/SKILL.md | 2 +- .gitignore | 4 + packages/@n8n/db/package.json | 19 +- .../db/scripts/generate-migration-index.mjs | 105 ++++ packages/@n8n/db/scripts/new-migration.mjs | 53 +- .../db/src/migrations/migration-index-sync.ts | 36 ++ .../src/migrations/migration-registry.test.ts | 105 ++-- .../db/src/migrations/postgresdb/index.ts | 488 ------------------ .../@n8n/db/src/migrations/sqlite/index.ts | 472 ----------------- 9 files changed, 195 insertions(+), 1089 deletions(-) create mode 100644 packages/@n8n/db/scripts/generate-migration-index.mjs create mode 100644 packages/@n8n/db/src/migrations/migration-index-sync.ts delete mode 100644 packages/@n8n/db/src/migrations/postgresdb/index.ts delete mode 100644 packages/@n8n/db/src/migrations/sqlite/index.ts diff --git a/.agents/skills/db-migrations/SKILL.md b/.agents/skills/db-migrations/SKILL.md index f177c58252c..884ad5a92a0 100644 --- a/.agents/skills/db-migrations/SKILL.md +++ b/.agents/skills/db-migrations/SKILL.md @@ -140,7 +140,7 @@ Rules that apply to every migration — schema or data, common or DB-specific. R Migration files are named `{TIMESTAMP}-{DescriptiveName}.ts`. The timestamp must be strictly greater than every existing migration timestamp in this package (across `common/`, `postgresdb/`, and `sqlite/`). TypeORM runs unrecorded migrations in timestamp order, so inserting a value below the current max corrupts ordering on databases that have already executed the later migrations. -Use the generator — it picks a safe timestamp, writes the scaffold, and registers the migration in the relevant `index.ts` files: +Use the generator — it picks a safe timestamp, writes the scaffold, and regenerates the migration index files (`sqlite/index.ts` and `postgresdb/index.ts` are gitignored build artifacts, generated from the files on disk by `scripts/generate-migration-index.mjs` — never edit or commit them): ```sh pnpm --filter=@n8n/db migration:new [--folder=common|postgresdb|sqlite] diff --git a/.gitignore b/.gitignore index e1ada6b4112..22c2b0ede4c 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,7 @@ lefthook-local.yml IMPROVEMENTS.md .playwright-mcp stryker.log + +# Generated migration indexes (scripts/generate-migration-index.mjs) +packages/@n8n/db/src/migrations/sqlite/index.ts +packages/@n8n/db/src/migrations/postgresdb/index.ts diff --git a/packages/@n8n/db/package.json b/packages/@n8n/db/package.json index 037d92cbcd4..3cf76868028 100644 --- a/packages/@n8n/db/package.json +++ b/packages/@n8n/db/package.json @@ -3,18 +3,19 @@ "version": "1.34.0", "scripts": { "clean": "rimraf dist .turbo .tmp-schema-docs", + "gen:migration-index": "node scripts/generate-migration-index.mjs", "dev": "pnpm watch", - "typecheck": "tsc --noEmit", - "build": "tsc -p tsconfig.build.json", - "build:unchecked": "tsc -p tsconfig.build.json --noCheck", + "typecheck": "pnpm gen:migration-index && tsc --noEmit", + "build": "pnpm gen:migration-index && tsc -p tsconfig.build.json", + "build:unchecked": "pnpm gen:migration-index && tsc -p tsconfig.build.json --noCheck", "format": "biome format --write .", "format:check": "biome ci .", - "lint": "eslint . --quiet", - "lint:fix": "eslint . --fix", - "watch": "tsc -p tsconfig.build.json --watch", - "test": "vitest run", - "test:unit": "vitest run", - "test:dev": "vitest --silent=false", + "lint": "pnpm gen:migration-index && eslint . --quiet", + "lint:fix": "pnpm gen:migration-index && eslint . --fix", + "watch": "pnpm gen:migration-index && tsc -p tsconfig.build.json --watch", + "test": "pnpm gen:migration-index && vitest run", + "test:unit": "pnpm gen:migration-index && vitest run", + "test:dev": "pnpm gen:migration-index && vitest --silent=false", "migration:new": "node scripts/new-migration.mjs", "schema:docs:sqlite": "node scripts/schema-docs.mjs doc --db=sqlite", "schema:docs:postgres": "node scripts/schema-docs.mjs doc --db=postgres", diff --git a/packages/@n8n/db/scripts/generate-migration-index.mjs b/packages/@n8n/db/scripts/generate-migration-index.mjs new file mode 100644 index 00000000000..3a1370a9a3e --- /dev/null +++ b/packages/@n8n/db/scripts/generate-migration-index.mjs @@ -0,0 +1,105 @@ +#!/usr/bin/env node +// @ts-check +/** + * Generates the gitignored `src/migrations/{sqlite,postgresdb}/index.ts` from + * the migration files on disk. + * + * Selection rule per DB: all of `common/` plus the DB-specific folder, where a + * DB-specific file shadows a common one with the same name suffix (some + * "common" migrations have per-DB variants, historically even with different + * timestamps). Names may repeat within a folder (a backfill re-run gets a new + * timestamp), so shadowing only applies across folders. + * + * Each generated file embeds a hash of its input file names, verified at + * import time by `migration-index-sync.ts` so a stale index fails loudly. + */ +import { createHash } from 'node:crypto'; +import { readdirSync, readFileSync, writeFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const MIGRATIONS_DIR = join(dirname(fileURLToPath(import.meta.url)), '..', 'src', 'migrations'); +const MIGRATION_FILE = /^(?\d{10,16})-(?[A-Za-z][A-Za-z0-9]*)\.ts$/; +const EXPORTED_CLASS = /^export class (?[A-Za-z0-9]*\d{10,16})\b/m; + +const DBS = [ + { folder: 'sqlite', exportName: 'sqliteMigrations' }, + { folder: 'postgresdb', exportName: 'postgresMigrations' }, +]; + +function listMigrationFiles(folder) { + return readdirSync(join(MIGRATIONS_DIR, folder)) + .map((fileName) => { + const groups = MIGRATION_FILE.exec(fileName)?.groups; + if (!groups) return null; + return { + folder, + fileBase: fileName.replace(/\.ts$/, ''), + name: groups.name, + timestamp: Number(groups.timestamp), + }; + }) + .filter((file) => file !== null); +} + +function classNameOf(file) { + const source = readFileSync(join(MIGRATIONS_DIR, file.folder, `${file.fileBase}.ts`), 'utf8'); + const className = EXPORTED_CLASS.exec(source)?.groups?.className; + if (!className) { + throw new Error( + `${file.folder}/${file.fileBase}.ts must export exactly one migration class named `, + ); + } + return className; +} + +// Must stay in sync with the hash in src/migrations/migration-index-sync.ts. +function inputHash(files) { + const hash = createHash('sha256'); + for (const key of files.map((f) => `${f.folder}/${f.fileBase}`).sort()) hash.update(`${key}\n`); + return hash.digest('hex'); +} + +export function generateMigrationIndexes() { + const commonFiles = listMigrationFiles('common'); + + for (const { folder, exportName } of DBS) { + const dbFiles = listMigrationFiles(folder); + const dbNames = new Set(dbFiles.map(({ name }) => name)); + const selected = [...commonFiles.filter(({ name }) => !dbNames.has(name)), ...dbFiles].sort( + (a, b) => a.timestamp - b.timestamp || a.name.localeCompare(b.name), + ); + + const entries = selected.map((file) => ({ + className: classNameOf(file), + importPath: file.folder === 'common' ? `../common/${file.fileBase}` : `./${file.fileBase}`, + })); + + const lines = [ + '/* eslint-disable */', + '// GENERATED by scripts/generate-migration-index.mjs — do not edit or commit.', + '// Regenerate with: pnpm --filter=@n8n/db gen:migration-index (build/test/typecheck/lint run it too)', + ...entries.map( + ({ className, importPath }) => `import { ${className} } from '${importPath}';`, + ), + "import { assertMigrationIndexInSync } from '../migration-index-sync';", + '', + 'assertMigrationIndexInSync(', + '\t__dirname,', + `\t'${inputHash([...commonFiles, ...dbFiles])}',`, + ');', + '', + `export const ${exportName} = [`, + ...entries.map(({ className }) => `\t${className},`), + '];', + '', + ]; + + writeFileSync(join(MIGRATIONS_DIR, folder, 'index.ts'), lines.join('\n')); + } +} + +if (process.argv[1] === fileURLToPath(import.meta.url)) { + generateMigrationIndexes(); + console.log('generated src/migrations/{sqlite,postgresdb}/index.ts'); +} diff --git a/packages/@n8n/db/scripts/new-migration.mjs b/packages/@n8n/db/scripts/new-migration.mjs index 6f974d8174d..5d137a657d1 100644 --- a/packages/@n8n/db/scripts/new-migration.mjs +++ b/packages/@n8n/db/scripts/new-migration.mjs @@ -1,9 +1,11 @@ #!/usr/bin/env node // @ts-check -import { readdirSync, readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs'; +import { readdirSync, writeFileSync, existsSync, mkdirSync } from 'node:fs'; import { dirname, join, relative } from 'node:path'; import { fileURLToPath } from 'node:url'; +import { generateMigrationIndexes } from './generate-migration-index.mjs'; + const __dirname = dirname(fileURLToPath(import.meta.url)); const PKG_ROOT = join(__dirname, '..'); const MIGRATIONS_DIR = join(PKG_ROOT, 'src', 'migrations'); @@ -63,43 +65,6 @@ export class ${className} implements ReversibleMigration { `; } -function indexFilesForFolder(folder) { - if (folder === 'common') return ['postgresdb', 'sqlite']; - if (folder === 'postgresdb') return ['postgresdb']; - if (folder === 'sqlite') return ['sqlite']; - return []; -} - -function insertIntoIndex(indexPath, className, importPath) { - const original = readFileSync(indexPath, 'utf8'); - - if (original.includes(`{ ${className} }`)) { - fail(`${relative(PKG_ROOT, indexPath)} already references ${className}`); - } - - const importLine = `import { ${className} } from '${importPath}';`; - const lines = original.split('\n'); - - let lastImportIdx = -1; - for (let i = 0; i < lines.length; i++) { - if (lines[i].startsWith('import ')) lastImportIdx = i; - } - if (lastImportIdx === -1) fail(`could not find import block in ${indexPath}`); - lines.splice(lastImportIdx + 1, 0, importLine); - - let arrayCloseIdx = -1; - for (let i = lines.length - 1; i >= 0; i--) { - if (lines[i].trim() === '];') { - arrayCloseIdx = i; - break; - } - } - if (arrayCloseIdx === -1) fail(`could not find array close in ${indexPath}`); - lines.splice(arrayCloseIdx, 0, `\t${className},`); - - writeFileSync(indexPath, lines.join('\n')); -} - function main() { const args = parseArgs(process.argv.slice(2)); @@ -127,19 +92,11 @@ function main() { if (existsSync(targetFile)) fail(`${relative(PKG_ROOT, targetFile)} already exists`); writeFileSync(targetFile, migrationTemplate(className)); - - const importPath = args.folder === 'common' ? `../common/${fileBase}` : `./${fileBase}`; - for (const indexFolder of indexFilesForFolder(args.folder)) { - insertIntoIndex(join(MIGRATIONS_DIR, indexFolder, 'index.ts'), className, importPath); - } + generateMigrationIndexes(); console.log(`created ${relative(PKG_ROOT, targetFile)}`); console.log(`timestamp ${timestamp} (${source})`); - console.log( - `registered ${className} in ${indexFilesForFolder(args.folder) - .map((f) => `${f}/index.ts`) - .join(', ')}`, - ); + console.log('regenerated src/migrations/{sqlite,postgresdb}/index.ts'); } main(); diff --git a/packages/@n8n/db/src/migrations/migration-index-sync.ts b/packages/@n8n/db/src/migrations/migration-index-sync.ts new file mode 100644 index 00000000000..fdabbab996e --- /dev/null +++ b/packages/@n8n/db/src/migrations/migration-index-sync.ts @@ -0,0 +1,36 @@ +import { createHash } from 'node:crypto'; +import { readdirSync } from 'node:fs'; +import { join } from 'node:path'; + +const MIGRATION_FILE = /^(?\d{10,16}-[A-Za-z][A-Za-z0-9]*)\.ts$/; + +/** + * Verifies that a generated migrations index matches the migration files on + * disk, so loading src without a build (e.g. Vitest) fails loudly on a stale + * index instead of silently skipping a migration. The hash covers file names + * only — content edits don't require regeneration — and must stay in sync + * with scripts/generate-migration-index.mjs. + */ +export function assertMigrationIndexInSync(indexDir: string, expectedHash: string) { + // Skip in dist: builds always emit a fresh index, and tsc leaves compiled + // output of deleted migrations behind, which would false-positive here. + if (__filename.endsWith('.js')) return; + + const hash = createHash('sha256'); + const keys: string[] = []; + for (const dir of [join(indexDir, '..', 'common'), indexDir]) { + const folder = dir.split(/[\\/]/).pop(); + for (const fileName of readdirSync(dir)) { + const base = MIGRATION_FILE.exec(fileName)?.groups?.base; + if (base) keys.push(`${folder}/${base}`); + } + } + for (const key of keys.sort()) hash.update(`${key}\n`); + + if (hash.digest('hex') !== expectedHash) { + throw new Error( + `The generated migrations index in ${indexDir} is out of sync with the migration files on disk. ` + + 'Regenerate it with: pnpm --filter=@n8n/db gen:migration-index', + ); + } +} diff --git a/packages/@n8n/db/src/migrations/migration-registry.test.ts b/packages/@n8n/db/src/migrations/migration-registry.test.ts index 85b54bef792..6e0853f30ab 100644 --- a/packages/@n8n/db/src/migrations/migration-registry.test.ts +++ b/packages/@n8n/db/src/migrations/migration-registry.test.ts @@ -1,90 +1,53 @@ -import { readdirSync, readFileSync } from 'node:fs'; -import { join, normalize } from 'node:path'; +import { readdirSync } from 'node:fs'; +import { join } from 'node:path'; + +import { assertMigrationIndexInSync } from './migration-index-sync'; /** - * Guards the hand-maintained migration index files. Migrations created in - * parallel PRs can merge cleanly while sharing a timestamp, or lose their - * index registration in a conflict resolution — neither is caught by - * typecheck, so we assert the registry invariants here. - * - * Use `pnpm --filter=@n8n/db migration:new ` to create migrations; - * it picks a fresh timestamp and wires up the index files. + * The generated migration indexes can't drift from the files on disk, but + * generation can't rule out two parallel PRs adding migration files that + * share a timestamp and merging cleanly — that invariant is asserted here. */ -const MIGRATION_FOLDERS = ['common', 'sqlite', 'postgresdb']; -const INDEX_FOLDERS = ['sqlite', 'postgresdb']; +const MIGRATION_FILE = /^(?\d{10,16})-(?[A-Za-z][A-Za-z0-9]*)\.ts$/; // Historical pairs that already shipped sharing a timestamp. Never extend this list. -const LEGACY_DUPLICATE_TIMESTAMPS = new Set(['1750252139166', '1770000000000']); +const LEGACY_DUPLICATE_TIMESTAMPS = new Set([1750252139166, 1770000000000]); -const IMPORT_PATTERN = /^import \{ (?\w+) \} from '(?\.[^']+)';$/gm; -const ARRAY_ENTRY_PATTERN = /^\t(?\w+),$/gm; -const TIMESTAMP_PATTERN = /(?\d{10,16})-[^/]+$/; - -function parseIndexFile(folder: string) { - const source = readFileSync(join(__dirname, folder, 'index.ts'), 'utf8'); - const imports = [...source.matchAll(IMPORT_PATTERN)].map((match) => { - const { className, specifier } = match.groups!; - const timestamp = TIMESTAMP_PATTERN.exec(specifier)?.groups?.timestamp; - if (!timestamp) { - throw new Error( - `No timestamp found in import specifier '${specifier}' in ${folder}/index.ts`, - ); - } - return { - className, - timestamp, - filePath: normalize(join(__dirname, folder, `${specifier}.ts`)), - }; +function listMigrationFiles(folder: string) { + return readdirSync(join(__dirname, folder)).flatMap((fileName) => { + const groups = MIGRATION_FILE.exec(fileName)?.groups; + if (!groups) return []; + return { name: groups.name, timestamp: Number(groups.timestamp), fileName }; }); - if (imports.length === 0) { - throw new Error(`No migration imports matched in ${folder}/index.ts — did its format change?`); - } - const arraySection = source.slice(source.indexOf('= [')); - const arrayEntries = [...arraySection.matchAll(ARRAY_ENTRY_PATTERN)].map( - (match) => match.groups!.className, - ); - if (arrayEntries.length === 0) { - throw new Error( - `No migrations array entries matched in ${folder}/index.ts — did its format change?`, - ); - } - return { imports, arrayEntries }; } -const parsedIndexes = new Map(INDEX_FOLDERS.map((folder) => [folder, parseIndexFile(folder)])); +describe.each(['sqlite', 'postgresdb'])('%s migration set', (folder) => { + test('every migration has a unique timestamp', () => { + // Same selection rule as the generator: common/ plus the DB folder, + // with a DB-specific file shadowing a common one of the same name. + const dbFiles = listMigrationFiles(folder); + const dbNames = new Set(dbFiles.map(({ name }) => name)); + const selected = [ + ...listMigrationFiles('common').filter(({ name }) => !dbNames.has(name)), + ...dbFiles, + ]; + expect(selected.length).toBeGreaterThan(200); -describe.each(INDEX_FOLDERS)('%s migrations index', (folder) => { - const { imports, arrayEntries } = parsedIndexes.get(folder)!; - - test('every imported migration is in the migrations array exactly once, and vice versa', () => { - const importedNames = imports.map(({ className }) => className); - expect([...arrayEntries].sort()).toEqual([...importedNames].sort()); - expect(new Set(arrayEntries).size).toBe(arrayEntries.length); - }); - - test('every registered migration has a unique timestamp', () => { - const byTimestamp = new Map(); - for (const { className, timestamp } of imports) { - byTimestamp.set(timestamp, [...(byTimestamp.get(timestamp) ?? []), className]); + const byTimestamp = new Map(); + for (const { timestamp, fileName } of selected) { + byTimestamp.set(timestamp, [...(byTimestamp.get(timestamp) ?? []), fileName]); } const duplicates = [...byTimestamp.entries()].filter( - ([timestamp, classNames]) => - classNames.length > 1 && !LEGACY_DUPLICATE_TIMESTAMPS.has(timestamp), + ([timestamp, fileNames]) => + fileNames.length > 1 && !LEGACY_DUPLICATE_TIMESTAMPS.has(timestamp), ); expect(duplicates).toEqual([]); }); }); -test('every migration file is registered in at least one index', () => { - const registeredFiles = new Set( - [...parsedIndexes.values()].flatMap(({ imports }) => imports.map(({ filePath }) => filePath)), - ); - const orphans = MIGRATION_FOLDERS.flatMap((folder) => - readdirSync(join(__dirname, folder)) - .filter((fileName) => /^\d+-.+\.ts$/.test(fileName)) - .map((fileName) => join(folder, fileName)) - .filter((relativePath) => !registeredFiles.has(normalize(join(__dirname, relativePath)))), - ); - expect(orphans).toEqual([]); +test('a stale generated index is rejected at import time', () => { + expect(() => + assertMigrationIndexInSync(join(__dirname, 'sqlite'), 'not-the-current-input-hash'), + ).toThrow('out of sync'); }); diff --git a/packages/@n8n/db/src/migrations/postgresdb/index.ts b/packages/@n8n/db/src/migrations/postgresdb/index.ts deleted file mode 100644 index 6fc39ff14e3..00000000000 --- a/packages/@n8n/db/src/migrations/postgresdb/index.ts +++ /dev/null @@ -1,488 +0,0 @@ -import { InitialMigration1587669153312 } from './1587669153312-InitialMigration'; -import { WebhookModel1589476000887 } from './1589476000887-WebhookModel'; -import { CreateIndexStoppedAt1594828256133 } from './1594828256133-CreateIndexStoppedAt'; -import { MakeStoppedAtNullable1607431743768 } from './1607431743768-MakeStoppedAtNullable'; -import { AddWebhookId1611144599516 } from './1611144599516-AddWebhookId'; -import { CreateTagEntity1617270242566 } from './1617270242566-CreateTagEntity'; -import { UniqueWorkflowNames1620824779533 } from './1620824779533-UniqueWorkflowNames'; -import { AddwaitTill1626176912946 } from './1626176912946-AddwaitTill'; -import { UpdateWorkflowCredentials1630419189837 } from './1630419189837-UpdateWorkflowCredentials'; -import { AddExecutionEntityIndexes1644422880309 } from './1644422880309-AddExecutionEntityIndexes'; -import { IncreaseTypeVarcharLimit1646834195327 } from './1646834195327-IncreaseTypeVarcharLimit'; -import { CreateUserManagement1646992772331 } from './1646992772331-CreateUserManagement'; -import { LowerCaseUserEmail1648740597343 } from './1648740597343-LowerCaseUserEmail'; -import { CommunityNodes1652254514002 } from './1652254514002-CommunityNodes'; -import { AddUserSettings1652367743993 } from './1652367743993-AddUserSettings'; -import { AddAPIKeyColumn1652905585850 } from './1652905585850-AddAPIKeyColumn'; -import { IntroducePinData1654090467022 } from './1654090467022-IntroducePinData'; -import { AddNodeIds1658932090381 } from './1658932090381-AddNodeIds'; -import { AddJsonKeyPinData1659902242948 } from './1659902242948-AddJsonKeyPinData'; -import { CreateCredentialsUserRole1660062385367 } from './1660062385367-CreateCredentialsUserRole'; -import { CreateWorkflowsEditorRole1663755770893 } from './1663755770893-CreateWorkflowsEditorRole'; -import { WorkflowStatistics1664196174001 } from './1664196174001-WorkflowStatistics'; -import { CreateCredentialUsageTable1665484192212 } from './1665484192212-CreateCredentialUsageTable'; -import { RemoveCredentialUsageTable1665754637025 } from './1665754637025-RemoveCredentialUsageTable'; -import { AddWorkflowVersionIdColumn1669739707126 } from './1669739707126-AddWorkflowVersionIdColumn'; -import { AddTriggerCountColumn1669823906995 } from './1669823906995-AddTriggerCountColumn'; -import { MessageEventBusDestinations1671535397530 } from './1671535397530-MessageEventBusDestinations'; -import { RemoveWorkflowDataLoadedFlag1671726148421 } from './1671726148421-RemoveWorkflowDataLoadedFlag'; -import { DeleteExecutionsWithWorkflows1673268682475 } from './1673268682475-DeleteExecutionsWithWorkflows'; -import { AddStatusToExecutions1674138566000 } from './1674138566000-AddStatusToExecutions'; -import { MigrateExecutionStatus1676996103000 } from './1676996103000-MigrateExecutionStatus'; -import { UpdateRunningExecutionStatus1677236854063 } from './1677236854063-UpdateRunningExecutionStatus'; -import { CreateVariables1677501636754 } from './1677501636754-CreateVariables'; -import { CreateExecutionMetadataTable1679416281778 } from './1679416281778-CreateExecutionMetadataTable'; -import { AddUserActivatedProperty1681134145996 } from './1681134145996-AddUserActivatedProperty'; -import { RemoveSkipOwnerSetup1681134145997 } from './1681134145997-RemoveSkipOwnerSetup'; -import { MigrateIntegerKeysToString1690000000000 } from './1690000000000-MigrateIntegerKeysToString'; -import { SeparateExecutionData1690000000020 } from './1690000000020-SeparateExecutionData'; -import { AddMissingPrimaryKeyOnExecutionData1690787606731 } from './1690787606731-AddMissingPrimaryKeyOnExecutionData'; -import { MigrateToTimestampTz1694091729095 } from './1694091729095-MigrateToTimestampTz'; -import { AddActivatedAtUserSetting1717498465931 } from './1717498465931-AddActivatedAtUserSetting'; -import { FixExecutionMetadataSequence1721377157740 } from './1721377157740-FixExecutionMetadataSequence'; -import { MigrateTestDefinitionKeyToString1731582748663 } from './1731582748663-MigrateTestDefinitionKeyToString'; -import { UpdateParentFolderIdColumn1740445074052 } from './1740445074052-UpdateParentFolderIdColumn'; -import { AddProjectIdToVariableTable1758794506893 } from './1758794506893-AddProjectIdToVariableTable'; -import { AddWorkflowVersionColumn1761047826451 } from './1761047826451-AddWorkflowVersionColumn'; -import { ChangeDependencyInfoToJson1761655473000 } from './1761655473000-ChangeDependencyInfoToJson'; -import { ChangeDefaultForIdInUserTable1762771264000 } from './1762771264000-ChangeDefaultForIdInUserTable'; -import { ConvertAgentIdToUuid1765804780000 } from './1765804780000-ConvertAgentIdToUuid'; -import { ExpandInsightsWorkflowIdLength1766500000000 } from './1766500000000-ExpandInsightsWorkflowIdLength'; -import { ChangeWorkflowStatisticsFKToNoAction1767018516000 } from './1767018516000-ChangeWorkflowStatisticsFKToNoAction'; -import { ExpandVariablesValueColumnToText1777420800000 } from './1777420800000-ExpandVariablesValueColumnToText'; -import { LimitWorkflowVersionTriggerToContent1784000000003 } from './1784000000003-LimitWorkflowVersionTriggerToContent'; -import { AddProjectIdToInstanceAiThread1784000000028 } from './1784000000028-AddProjectIdToInstanceAiThread'; -import { AddExecutionEntityWorkflowStatusIndex1784000000031 } from './1784000000031-AddExecutionEntityWorkflowStatusIndex'; -import { CreateWorkflowStatisticsDeltaTable1784000000043 } from './1784000000043-CreateWorkflowStatisticsDeltaTable'; -import { ChangeInstalledNodeVersionType1785162364000 } from './1785162364000-ChangeInstalledNodeVersionType'; -import { CreateLdapEntities1674509946020 } from '../common/1674509946020-CreateLdapEntities'; -import { PurgeInvalidWorkflowConnections1675940580449 } from '../common/1675940580449-PurgeInvalidWorkflowConnections'; -import { RemoveResetPasswordColumns1690000000030 } from '../common/1690000000030-RemoveResetPasswordColumns'; -import { AddMfaColumns1690000000030 } from '../common/1690000000040-AddMfaColumns'; -import { CreateWorkflowNameIndex1691088862123 } from '../common/1691088862123-CreateWorkflowNameIndex'; -import { CreateWorkflowHistoryTable1692967111175 } from '../common/1692967111175-CreateWorkflowHistoryTable'; -import { ExecutionSoftDelete1693491613982 } from '../common/1693491613982-ExecutionSoftDelete'; -import { DisallowOrphanExecutions1693554410387 } from '../common/1693554410387-DisallowOrphanExecutions'; -import { AddWorkflowMetadata1695128658538 } from '../common/1695128658538-AddWorkflowMetadata'; -import { ModifyWorkflowHistoryNodesAndConnections1695829275184 } from '../common/1695829275184-ModifyWorkflowHistoryNodesAndConnections'; -import { AddGlobalAdminRole1700571993961 } from '../common/1700571993961-AddGlobalAdminRole'; -import { DropRoleMapping1705429061930 } from '../common/1705429061930-DropRoleMapping'; -import { RemoveFailedExecutionStatus1711018413374 } from '../common/1711018413374-RemoveFailedExecutionStatus'; -import { MoveSshKeysToDatabase1711390882123 } from '../common/1711390882123-MoveSshKeysToDatabase'; -import { RemoveNodesAccess1712044305787 } from '../common/1712044305787-RemoveNodesAccess'; -import { CreateProject1714133768519 } from '../common/1714133768519-CreateProject'; -import { MakeExecutionStatusNonNullable1714133768521 } from '../common/1714133768521-MakeExecutionStatusNonNullable'; -import { AddConstraintToExecutionMetadata1720101653148 } from '../common/1720101653148-AddConstraintToExecutionMetadata'; -import { CreateInvalidAuthTokenTable1723627610222 } from '../common/1723627610222-CreateInvalidAuthTokenTable'; -import { RefactorExecutionIndices1723796243146 } from '../common/1723796243146-RefactorExecutionIndices'; -import { CreateAnnotationTables1724753530828 } from '../common/1724753530828-CreateExecutionAnnotationTables'; -import { AddApiKeysTable1724951148974 } from '../common/1724951148974-AddApiKeysTable'; -import { CreateProcessedDataTable1726606152711 } from '../common/1726606152711-CreateProcessedDataTable'; -import { SeparateExecutionCreationFromStart1727427440136 } from '../common/1727427440136-SeparateExecutionCreationFromStart'; -import { AddMissingPrimaryKeyOnAnnotationTagMapping1728659839644 } from '../common/1728659839644-AddMissingPrimaryKeyOnAnnotationTagMapping'; -import { UpdateProcessedDataValueColumnToText1729607673464 } from '../common/1729607673464-UpdateProcessedDataValueColumnToText'; -import { AddProjectIcons1729607673469 } from '../common/1729607673469-AddProjectIcons'; -import { CreateTestDefinitionTable1730386903556 } from '../common/1730386903556-CreateTestDefinitionTable'; -import { AddDescriptionToTestDefinition1731404028106 } from '../common/1731404028106-AddDescriptionToTestDefinition'; -import { CreateTestMetricTable1732271325258 } from '../common/1732271325258-CreateTestMetricTable'; -import { CreateTestRun1732549866705 } from '../common/1732549866705-CreateTestRunTable'; -import { AddMockedNodesColumnToTestDefinition1733133775640 } from '../common/1733133775640-AddMockedNodesColumnToTestDefinition'; -import { AddManagedColumnToCredentialsTable1734479635324 } from '../common/1734479635324-AddManagedColumnToCredentialsTable'; -import { AddStatsColumnsToTestRun1736172058779 } from '../common/1736172058779-AddStatsColumnsToTestRun'; -import { CreateTestCaseExecutionTable1736947513045 } from '../common/1736947513045-CreateTestCaseExecutionTable'; -import { AddErrorColumnsToTestRuns1737715421462 } from '../common/1737715421462-AddErrorColumnsToTestRuns'; -import { CreateFolderTable1738709609940 } from '../common/1738709609940-CreateFolderTable'; -import { CreateAnalyticsTables1739549398681 } from '../common/1739549398681-CreateAnalyticsTables'; -import { RenameAnalyticsToInsights1741167584277 } from '../common/1741167584277-RenameAnalyticsToInsights'; -import { AddScopesColumnToApiKeys1742918400000 } from '../common/1742918400000-AddScopesColumnToApiKeys'; -import { ClearEvaluation1745322634000 } from '../common/1745322634000-CleanEvaluations'; -import { AddWorkflowStatisticsRootCount1745587087521 } from '../common/1745587087521-AddWorkflowStatisticsRootCount'; -import { AddWorkflowArchivedColumn1745934666076 } from '../common/1745934666076-AddWorkflowArchivedColumn'; -import { DropRoleTable1745934666077 } from '../common/1745934666077-DropRoleTable'; -import { AddProjectDescriptionColumn1747824239000 } from '../common/1747824239000-AddProjectDescriptionColumn'; -import { AddLastActiveAtColumnToUser1750252139166 } from '../common/1750252139166-AddLastActiveAtColumnToUser'; -import { AddScopeTables1750252139166 } from '../common/1750252139166-AddScopeTables'; -import { AddRolesTables1750252139167 } from '../common/1750252139167-AddRolesTables'; -import { LinkRoleToUserTable1750252139168 } from '../common/1750252139168-LinkRoleToUserTable'; -import { RemoveOldRoleColumn1750252139170 } from '../common/1750252139170-RemoveOldRoleColumn'; -import { AddInputsOutputsToTestCaseExecution1752669793000 } from '../common/1752669793000-AddInputsOutputsToTestCaseExecution'; -import { LinkRoleToProjectRelationTable1753953244168 } from '../common/1753953244168-LinkRoleToProjectRelationTable'; -import { CreateDataStoreTables1754475614601 } from '../common/1754475614601-CreateDataStoreTables'; -import { ReplaceDataStoreTablesWithDataTables1754475614602 } from '../common/1754475614602-ReplaceDataStoreTablesWithDataTables'; -import { AddTimestampsToRoleAndRoleIndexes1756906557570 } from '../common/1756906557570-AddTimestampsToRoleAndRoleIndexes'; -import { AddAudienceColumnToApiKeys1758731786132 } from '../common/1758731786132-AddAudienceColumnToApiKey'; -import { ChangeValueTypesForInsights1759399811000 } from '../common/1759399811000-ChangeValueTypesForInsights'; -import { CreateChatHubTables1760019379982 } from '../common/1760019379982-CreateChatHubTables'; -import { CreateChatHubAgentTable1760020000000 } from '../common/1760020000000-CreateChatHubAgentTable'; -import { UniqueRoleNames1760020838000 } from '../common/1760020838000-UniqueRoleNames'; -import { CreateOAuthEntities1760116750277 } from '../common/1760116750277-CreateOAuthEntities'; -import { CreateWorkflowDependencyTable1760314000000 } from '../common/1760314000000-CreateWorkflowDependencyTable'; -import { DropUnusedChatHubColumns1760965142113 } from '../common/1760965142113-DropUnusedChatHubColumns'; -import { AddAttachmentsToChatHubMessages1761773155024 } from '../common/1761773155024-AddAttachmentsToChatHubMessages'; -import { AddToolsColumnToChatHubTables1761830340990 } from '../common/1761830340990-AddToolsColumnToChatHubTables'; -import { AddWorkflowDescriptionColumn1762177736257 } from '../common/1762177736257-AddWorkflowDescriptionColumn'; -import { BackfillMissingWorkflowHistoryRecords1762763704614 } from '../common/1762763704614-BackfillMissingWorkflowHistoryRecords'; -import { AddIsGlobalColumnToCredentialsTable1762771954619 } from '../common/1762771954619-IsGlobalGlobalColumnToCredentialsTable'; -import { AddWorkflowHistoryAutoSaveFields1762847206508 } from '../common/1762847206508-AddWorkflowHistoryAutoSaveFields'; -import { AddActiveVersionIdColumn1763047800000 } from '../common/1763047800000-AddActiveVersionIdColumn'; -import { ActivateExecuteWorkflowTriggerWorkflows1763048000000 } from '../common/1763048000000-ActivateExecuteWorkflowTriggerWorkflows'; -import { ChangeOAuthStateColumnToUnboundedVarchar1763572724000 } from '../common/1763572724000-ChangeOAuthStateColumnToUnboundedVarchar'; -import { CreateBinaryDataTable1763716655000 } from '../common/1763716655000-CreateBinaryDataTable'; -import { CreateWorkflowPublishHistoryTable1764167920585 } from '../common/1764167920585-CreateWorkflowPublishHistoryTable'; -import { AddCreatorIdToProjectTable1764276827837 } from '../common/1764276827837-AddCreatorIdToProjectTable'; -import { CreateDynamicCredentialResolverTable1764682447000 } from '../common/1764682447000-CreateCredentialResolverTable'; -import { AddDynamicCredentialEntryTable1764689388394 } from '../common/1764689388394-AddDynamicCredentialEntryTable'; -import { BackfillMissingWorkflowHistoryRecords1765448186933 } from '../common/1765448186933-BackfillMissingWorkflowHistoryRecords'; -import { AddResolvableFieldsToCredentials1765459448000 } from '../common/1765459448000-AddResolvableFieldsToCredentials'; -import { AddIconToAgentTable1765788427674 } from '../common/1765788427674-AddIconToAgentTable'; -import { AddAgentIdForeignKeys1765886667897 } from '../common/1765886667897-AddAgentIdForeignKeys'; -import { AddWorkflowVersionIdToExecutionData1765892199653 } from '../common/1765892199653-AddVersionIdToExecutionData'; -import { AddWorkflowPublishScopeToProjectRoles1766064542000 } from '../common/1766064542000-AddWorkflowPublishScopeToProjectRoles'; -import { AddChatMessageIndices1766068346315 } from '../common/1766068346315-AddChatMessageIndices'; -import { ExpandModelColumnLength1768402473068 } from '../common/1768402473068-ExpandModelColumnLength'; -import { AddStoredAtToExecutionEntity1768557000000 } from '../common/1768557000000-AddStoredAtToExecutionEntity'; -import { AddDynamicCredentialUserEntryTable1768901721000 } from '../common/1768901721000-AddDynamicCredentialUserEntryTable'; -import { AddPublishedVersionIdToWorkflowDependency1769000000000 } from '../common/1769000000000-AddPublishedVersionIdToWorkflowDependency'; -import { CreateSecretsProviderConnectionTables1769433700000 } from '../common/1769433700000-CreateSecretsProvidersConnectionTables'; -import { CreateWorkflowPublishedVersionTable1769698710000 } from '../common/1769698710000-CreateWorkflowPublishedVersionTable'; -import { ExpandSubjectIDColumnLength1769784356000 } from '../common/1769784356000-ExpandSubjectIDColumnLength'; -import { AddWorkflowUnpublishScopeToCustomRoles1769900001000 } from '../common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles'; -import { CreateChatHubToolsTable1770000000000 } from '../common/1770000000000-CreateChatHubToolsTable'; -import { ExpandProviderIdColumnLength1770000000000 } from '../common/1770000000000-ExpandProviderIdColumnLength'; -import { CreateWorkflowBuilderSessionTable1770220686000 } from '../common/1770220686000-CreateWorkflowBuilderSessionTable'; -import { AddScalingFieldsToTestRun1771417407753 } from '../common/1771417407753-AddScalingFieldsToTestRun'; -import { MigrateExternalSecretsToEntityStorage1771500000000 } from '../common/1771500000000-MigrateExternalSecretsToEntityStorage'; -import { AddUnshareScopeToCustomRoles1771500000001 } from '../common/1771500000001-AddUnshareScopeToCustomRoles'; -import { AddFilesColumnToChatHubAgents1771500000002 } from '../common/1771500000002-AddFilesColumnToChatHubAgents'; -import { AddSuggestedPromptsToAgentTable1772000000000 } from '../common/1772000000000-AddSuggestedPromptsToAgentTable'; -import { AddRoleColumnToProjectSecretsProviderAccess1772619247761 } from '../common/1772619247761-AddRoleColumnToProjectSecretsProviderAccess'; -import { ChangeWorkflowPublishedVersionFKsToRestrict1772619247762 } from '../common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict'; -import { AddTypeToChatHubSessions1772700000000 } from '../common/1772700000000-AddTypeToChatHubSessions'; -import { CreateRoleMappingRuleTable1772800000000 } from '../common/1772800000000-CreateRoleMappingRuleTable'; -import { CreateCredentialDependencyTable1773000000000 } from '../common/1773000000000-CreateCredentialDependencyTable'; -import { AddRestoreFieldsToWorkflowBuilderSession1774280963551 } from '../common/1774280963551-AddRestoreFieldsToWorkflowBuilderSession'; -import { CreateInstanceVersionHistoryTable1774854660000 } from '../common/1774854660000-CreateInstanceVersionHistoryTable'; -import { CreateInstanceAiTables1775000000000 } from '../common/1775000000000-CreateInstanceAiTables'; -import { CreateTokenExchangeJtiTable1775116241000 } from '../common/1775116241000-CreateTokenExchangeJtiTable'; -import { ChangeWorkflowPublishHistoryVersionIdToSetNull1775740765000 } from '../common/1775740765000-ChangeWorkflowPublishHistoryVersionIdToSetNull'; -import { CreateTrustedKeyTables1776000000000 } from '../common/1776000000000-CreateTrustedKeyTables'; -import { CreateFavoritesTable1776150756000 } from '../common/1776150756000-CreateFavoritesTable'; -import { CreateDeploymentKeyTable1777000000000 } from '../common/1777000000000-CreateDeploymentKeyTable'; -import { AddJweKeyIndexesToDeploymentKey1777023444000 } from '../common/1777023444000-AddJweKeyIndexesToDeploymentKey'; -import { AddTracingContextToExecution1777045000000 } from '../common/1777045000000-AddTracingContextToExecution'; -import { AddLangsmithIdsToInstanceAiRunSnapshots1777100000000 } from '../common/1777100000000-AddLangsmithIdsToInstanceAiRunSnapshots'; -import { CreateAiBuilderTemporaryWorkflowTable1777281990043 } from '../common/1777281990043-CreateAiBuilderTemporaryWorkflowTable'; -import { AddRunIndexToTestCaseExecution1777996709110 } from '../common/1777996709110-AddRunIndexToTestCaseExecution'; -import { AddExecutionDeduplicationKey1778000000000 } from '../common/1778000000000-AddExecutionDeduplicationKey'; -import { CreateEvaluationConfig1778100000000 } from '../common/1778100000000-CreateEvaluationConfig'; -import { AddWorkflowVersionToTestRun1778100001000 } from '../common/1778100001000-AddWorkflowVersionToTestRun'; -import { AddEvaluationConfigColumnsToTestRun1778100002000 } from '../common/1778100002000-AddEvaluationConfigColumnsToTestRun'; -import { CreateEvaluationCollection1778496086558 } from '../common/1778496086558-CreateEvaluationCollection'; -import { CreateAgentTables1783000000000 } from '../common/1783000000000-CreateAgentTables'; -import { CreateAgentExecutionTables1783000000001 } from '../common/1783000000001-CreateAgentExecutionTables'; -import { CreateAgentObservationTables1784000000000 } from '../common/1784000000000-CreateAgentObservationTables'; -import { ReplaceAgentObservationTables1784000000001 } from '../common/1784000000001-ReplaceAgentObservationTables'; -import { DropAgentExecutionWorkingMemory1784000000002 } from '../common/1784000000002-DropAgentExecutionWorkingMemory'; -import { AddInsightsRawTimestampIdIndex1784000000004 } from '../common/1784000000004-AddInsightsRawTimestampIdIndex'; -import { CreateMcpRegistryServerTable1784000000005 } from '../common/1784000000005-CreateMcpRegistryServerTable'; -import { AddNodeGroupsColumnToWorkflowAndHistory1784000000006 } from '../common/1784000000006-AddNodeGroupsColumnToWorkflowAndHistory'; -import { CreateInstanceAiCheckpointTable1784000000007 } from '../common/1784000000007-CreateInstanceAiCheckpointTable'; -import { ResetInstanceAiNativePersistence1784000000008 } from '../common/1784000000008-ResetInstanceAiNativePersistence'; -import { CreateAgentMemoryEntryTables1784000000009 } from '../common/1784000000009-CreateAgentMemoryEntryTables'; -import { RefactorAgentObservationScope1784000000010 } from '../common/1784000000010-RefactorAgentObservationScope'; -import { CreateAgentHistoryTable1784000000011 } from '../common/1784000000011-CreateAgentHistoryTable'; -import { CreateInstanceAiObservationTables1784000000012 } from '../common/1784000000012-CreateInstanceAiObservationTables'; -import { SplitRedactionScopeInCustomRoles1784000000013 } from '../common/1784000000013-SplitRedactionScopeInCustomRoles'; -import { PersistInstanceAiPendingConfirmations1784000000014 } from '../common/1784000000014-PersistInstanceAiPendingConfirmations'; -import { AddSourceWorkflowIdToWorkflow1784000000015 } from '../common/1784000000015-AddSourceWorkflowIdToWorkflow'; -import { UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016 } from '../common/1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer'; -import { AddLastUsedAtToApiKey1784000000017 } from '../common/1784000000017-AddLastUsedAtToApiKey'; -import { CreateAgentFilesTable1784000000018 } from '../common/1784000000018-CreateAgentFilesTable'; -import { AddCustomTelemetryTagsToProject1784000000019 } from '../common/1784000000019-AddCustomTelemetryTagsToProject'; -import { CreateAgentTaskDefinitionTable1784000000021 } from '../common/1784000000021-CreateAgentTaskDefinitionTable'; -import { AddSubAgentLinkageToAgentExecutionThreads1784000000022 } from '../common/1784000000022-AddSubAgentLinkageToAgentExecutionThreads'; -import { CreateInstanceAiMcpRegistryConnectionTable1784000000023 } from '../common/1784000000023-CreateInstanceAiMcpRegistryConnectionTable'; -import { AddResourceToOAuthAuthorizationCodes1784000000024 } from '../common/1784000000024-AddResourceToOAuthAuthorizationCodes'; -import { MigrateRedactionEnforcementToFloor1784000000025 } from '../common/1784000000025-MigrateRedactionEnforcementToFloor'; -import { AddScopeColumnToOAuthTables1784000000026 } from '../common/1784000000026-AddScopeColumnToOAuthTables'; -import { CreateWorkflowPublicationOutboxTable1784000000027 } from '../common/1784000000027-CreateWorkflowPublicationOutboxTable'; -import { AddJsonSizeBytesAndWorkflowVersionIdToExecutionEntity1784000000029 } from '../common/1784000000029-AddJsonSizeBytesAndWorkflowVersionIdToExecutionEntity'; -import { CreateAgentChatSubscriptions1784000000030 } from '../common/1784000000030-CreateAgentChatSubscriptions'; -import { AddBinaryDataSizeBytesToExecutionEntity1784000000033 } from '../common/1784000000033-AddBinaryDataSizeBytesToExecutionEntity'; -import { AllowAzureStoredAt1784000000034 } from '../common/1784000000034-AllowAzureStoredAt'; -import { AddUniqueAgentFileNames1784000000035 } from '../common/1784000000035-AddUniqueAgentFileNames'; -import { CreateInstanceAiThreadGrantTable1784000000036 } from '../common/1784000000036-CreateInstanceAiThreadGrantTable'; -import { DropAgentDescriptionFromAgents1784000000037 } from '../common/1784000000037-DropAgentDescriptionFromAgents'; -import { SetChatHubEnabledFromUsage1784000000038 } from '../common/1784000000038-SetChatHubEnabledFromUsage'; -import { DropAgentExecutionFallbackColumns1784000000039 } from '../common/1784000000039-DropAgentExecutionFallbackColumns'; -import { CreateWorkflowPublicationTriggerStatusTable1784000000040 } from '../common/1784000000040-CreateWorkflowPublicationTriggerStatusTable'; -import { AddUsedPrivateCredentialsToExecutionEntity1784000000041 } from '../common/1784000000041-AddUsedPrivateCredentialsToExecutionEntity'; -import { CreateSchedulerTables1784000000042 } from '../common/1784000000042-CreateSchedulerTables'; -import { AddPartialIndexForGlobalCredentials1784000000044 } from '../common/1784000000044-AddPartialIndexForGlobalCredentials'; -import { AddRecurringCronScheduleKind1784000000045 } from '../common/1784000000045-AddRecurringCronScheduleKind'; -import { CreateInstanceAiEventsTable1784000000046 } from '../common/1784000000046-CreateInstanceAiEventsTable'; -import { BackfillPreScopingOAuthGrantScopes1784000000047 } from '../common/1784000000047-BackfillPreScopingOAuthGrantScopes'; -import { AddTriggerKindToWorkflowPublicationTriggerStatus1784000000048 } from '../common/1784000000048-AddTriggerKindToWorkflowPublicationTriggerStatus'; -import { AddScheduledTaskDispatchedAt1784000000049 } from '../common/1784000000049-AddScheduledTaskDispatchedAt'; -import { AddHostRunIdToInstanceAiCheckpoints1784000000050 } from '../common/1784000000050-AddHostRunIdToInstanceAiCheckpoints'; -import { BackfillInstanceAiEventLog1784000000051 } from '../common/1784000000051-BackfillInstanceAiEventLog'; -import { CreateWorkflowReviewRequestTables1784000000052 } from '../common/1784000000052-CreateWorkflowReviewRequestTables'; -import { AddStoredAtToAgentExecution1784815940110 } from '../common/1784815940110-AddStoredAtToAgentExecution'; -import { AddInstanceCredentials1784815940111 } from '../common/1784815940111-AddInstanceCredentials'; -import { CreateAgentEvalTables1784815940112 } from '../common/1784815940112-CreateAgentEvalTables'; -import { AddAvailableInMcpToAgents1784897791636 } from '../common/1784897791636-AddAvailableInMcpToAgents'; -import { AddIsFirstPartyToOAuthClients1785162364001 } from '../common/1785162364001-AddIsFirstPartyToOAuthClients'; -import { AddAgentFileStorageColumns1785186578138 } from '../common/1785186578138-AddAgentFileStorageColumns'; -import { CrashStaleEnqueuedExecutions1785247194306 } from '../common/1785247194306-CrashStaleEnqueuedExecutions'; -import { AddMisfirePolicyToScheduler1785247194307 } from '../common/1785247194307-AddMisfirePolicyToScheduler'; -import { CreateAgentChatAttachmentsTable1785255306000 } from '../common/1785255306000-CreateAgentChatAttachmentsTable'; -import { AddSetupCompletedAtToAgents1785500832626 } from '../common/1785500832626-AddSetupCompletedAtToAgents'; -import { AddAgentExecutionRuntimeState1785828155091 } from '../common/1785828155091-AddAgentExecutionRuntimeState'; -import { CreateAgentCredentialDependencyTable1785828155092 } from '../common/1785828155092-CreateAgentCredentialDependencyTable'; -import { AllowDiscordAgentChatSubscriptions1785840970000 } from '../common/1785840970000-AllowDiscordAgentChatSubscriptions'; -import type { Migration } from '../migration-types'; - -export const postgresMigrations: Migration[] = [ - InitialMigration1587669153312, - WebhookModel1589476000887, - CreateIndexStoppedAt1594828256133, - AddWebhookId1611144599516, - MakeStoppedAtNullable1607431743768, - CreateTagEntity1617270242566, - UniqueWorkflowNames1620824779533, - AddwaitTill1626176912946, - UpdateWorkflowCredentials1630419189837, - AddExecutionEntityIndexes1644422880309, - IncreaseTypeVarcharLimit1646834195327, - CreateUserManagement1646992772331, - LowerCaseUserEmail1648740597343, - AddUserSettings1652367743993, - CommunityNodes1652254514002, - AddAPIKeyColumn1652905585850, - IntroducePinData1654090467022, - CreateCredentialsUserRole1660062385367, - AddNodeIds1658932090381, - AddJsonKeyPinData1659902242948, - CreateWorkflowsEditorRole1663755770893, - CreateCredentialUsageTable1665484192212, - RemoveCredentialUsageTable1665754637025, - AddWorkflowVersionIdColumn1669739707126, - WorkflowStatistics1664196174001, - AddTriggerCountColumn1669823906995, - RemoveWorkflowDataLoadedFlag1671726148421, - MessageEventBusDestinations1671535397530, - DeleteExecutionsWithWorkflows1673268682475, - CreateLdapEntities1674509946020, - PurgeInvalidWorkflowConnections1675940580449, - AddStatusToExecutions1674138566000, - MigrateExecutionStatus1676996103000, - UpdateRunningExecutionStatus1677236854063, - CreateExecutionMetadataTable1679416281778, - CreateVariables1677501636754, - AddUserActivatedProperty1681134145996, - MigrateIntegerKeysToString1690000000000, - SeparateExecutionData1690000000020, - RemoveSkipOwnerSetup1681134145997, - RemoveResetPasswordColumns1690000000030, - AddMissingPrimaryKeyOnExecutionData1690787606731, - CreateWorkflowNameIndex1691088862123, - AddMfaColumns1690000000030, - CreateWorkflowHistoryTable1692967111175, - DisallowOrphanExecutions1693554410387, - ExecutionSoftDelete1693491613982, - AddWorkflowMetadata1695128658538, - MigrateToTimestampTz1694091729095, - ModifyWorkflowHistoryNodesAndConnections1695829275184, - AddGlobalAdminRole1700571993961, - DropRoleMapping1705429061930, - RemoveFailedExecutionStatus1711018413374, - MoveSshKeysToDatabase1711390882123, - RemoveNodesAccess1712044305787, - CreateProject1714133768519, - MakeExecutionStatusNonNullable1714133768521, - AddActivatedAtUserSetting1717498465931, - AddConstraintToExecutionMetadata1720101653148, - FixExecutionMetadataSequence1721377157740, - CreateInvalidAuthTokenTable1723627610222, - RefactorExecutionIndices1723796243146, - CreateAnnotationTables1724753530828, - AddApiKeysTable1724951148974, - SeparateExecutionCreationFromStart1727427440136, - CreateProcessedDataTable1726606152711, - AddMissingPrimaryKeyOnAnnotationTagMapping1728659839644, - UpdateProcessedDataValueColumnToText1729607673464, - CreateTestDefinitionTable1730386903556, - AddDescriptionToTestDefinition1731404028106, - MigrateTestDefinitionKeyToString1731582748663, - CreateTestMetricTable1732271325258, - CreateTestRun1732549866705, - AddMockedNodesColumnToTestDefinition1733133775640, - AddManagedColumnToCredentialsTable1734479635324, - AddProjectIcons1729607673469, - AddStatsColumnsToTestRun1736172058779, - CreateTestCaseExecutionTable1736947513045, - AddErrorColumnsToTestRuns1737715421462, - CreateFolderTable1738709609940, - CreateAnalyticsTables1739549398681, - UpdateParentFolderIdColumn1740445074052, - RenameAnalyticsToInsights1741167584277, - AddScopesColumnToApiKeys1742918400000, - AddWorkflowStatisticsRootCount1745587087521, - AddWorkflowArchivedColumn1745934666076, - DropRoleTable1745934666077, - ClearEvaluation1745322634000, - AddProjectDescriptionColumn1747824239000, - AddLastActiveAtColumnToUser1750252139166, - AddScopeTables1750252139166, - AddRolesTables1750252139167, - LinkRoleToUserTable1750252139168, - AddInputsOutputsToTestCaseExecution1752669793000, - CreateDataStoreTables1754475614601, - RemoveOldRoleColumn1750252139170, - ReplaceDataStoreTablesWithDataTables1754475614602, - LinkRoleToProjectRelationTable1753953244168, - AddTimestampsToRoleAndRoleIndexes1756906557570, - AddProjectIdToVariableTable1758794506893, - AddAudienceColumnToApiKeys1758731786132, - ChangeValueTypesForInsights1759399811000, - CreateChatHubTables1760019379982, - CreateChatHubAgentTable1760020000000, - UniqueRoleNames1760020838000, - CreateWorkflowDependencyTable1760314000000, - DropUnusedChatHubColumns1760965142113, - AddWorkflowVersionColumn1761047826451, - ChangeDependencyInfoToJson1761655473000, - AddWorkflowDescriptionColumn1762177736257, - CreateOAuthEntities1760116750277, - BackfillMissingWorkflowHistoryRecords1762763704614, - ChangeDefaultForIdInUserTable1762771264000, - AddIsGlobalColumnToCredentialsTable1762771954619, - AddWorkflowHistoryAutoSaveFields1762847206508, - AddToolsColumnToChatHubTables1761830340990, - ChangeOAuthStateColumnToUnboundedVarchar1763572724000, - AddAttachmentsToChatHubMessages1761773155024, - AddActiveVersionIdColumn1763047800000, - CreateBinaryDataTable1763716655000, - CreateWorkflowPublishHistoryTable1764167920585, - ActivateExecuteWorkflowTriggerWorkflows1763048000000, - AddCreatorIdToProjectTable1764276827837, - CreateDynamicCredentialResolverTable1764682447000, - AddDynamicCredentialEntryTable1764689388394, - BackfillMissingWorkflowHistoryRecords1765448186933, - AddResolvableFieldsToCredentials1765459448000, - AddIconToAgentTable1765788427674, - ConvertAgentIdToUuid1765804780000, - AddAgentIdForeignKeys1765886667897, - AddWorkflowVersionIdToExecutionData1765892199653, - AddWorkflowPublishScopeToProjectRoles1766064542000, - AddChatMessageIndices1766068346315, - ExpandInsightsWorkflowIdLength1766500000000, - ChangeWorkflowStatisticsFKToNoAction1767018516000, - ExpandModelColumnLength1768402473068, - AddStoredAtToExecutionEntity1768557000000, - AddDynamicCredentialUserEntryTable1768901721000, - AddPublishedVersionIdToWorkflowDependency1769000000000, - CreateSecretsProviderConnectionTables1769433700000, - CreateWorkflowPublishedVersionTable1769698710000, - ExpandSubjectIDColumnLength1769784356000, - AddWorkflowUnpublishScopeToCustomRoles1769900001000, - CreateChatHubToolsTable1770000000000, - ExpandProviderIdColumnLength1770000000000, - CreateWorkflowBuilderSessionTable1770220686000, - AddScalingFieldsToTestRun1771417407753, - MigrateExternalSecretsToEntityStorage1771500000000, - AddUnshareScopeToCustomRoles1771500000001, - AddFilesColumnToChatHubAgents1771500000002, - AddSuggestedPromptsToAgentTable1772000000000, - AddRoleColumnToProjectSecretsProviderAccess1772619247761, - ChangeWorkflowPublishedVersionFKsToRestrict1772619247762, - AddTypeToChatHubSessions1772700000000, - CreateRoleMappingRuleTable1772800000000, - CreateCredentialDependencyTable1773000000000, - AddRestoreFieldsToWorkflowBuilderSession1774280963551, - CreateInstanceVersionHistoryTable1774854660000, - CreateInstanceAiTables1775000000000, - CreateTokenExchangeJtiTable1775116241000, - ChangeWorkflowPublishHistoryVersionIdToSetNull1775740765000, - CreateTrustedKeyTables1776000000000, - CreateFavoritesTable1776150756000, - CreateDeploymentKeyTable1777000000000, - AddJweKeyIndexesToDeploymentKey1777023444000, - AddTracingContextToExecution1777045000000, - AddLangsmithIdsToInstanceAiRunSnapshots1777100000000, - CreateAiBuilderTemporaryWorkflowTable1777281990043, - ExpandVariablesValueColumnToText1777420800000, - AddRunIndexToTestCaseExecution1777996709110, - AddExecutionDeduplicationKey1778000000000, - CreateEvaluationConfig1778100000000, - AddWorkflowVersionToTestRun1778100001000, - AddEvaluationConfigColumnsToTestRun1778100002000, - CreateEvaluationCollection1778496086558, - CreateAgentTables1783000000000, - CreateAgentExecutionTables1783000000001, - CreateAgentObservationTables1784000000000, - ReplaceAgentObservationTables1784000000001, - DropAgentExecutionWorkingMemory1784000000002, - LimitWorkflowVersionTriggerToContent1784000000003, - AddInsightsRawTimestampIdIndex1784000000004, - CreateMcpRegistryServerTable1784000000005, - AddNodeGroupsColumnToWorkflowAndHistory1784000000006, - CreateInstanceAiCheckpointTable1784000000007, - ResetInstanceAiNativePersistence1784000000008, - CreateAgentMemoryEntryTables1784000000009, - RefactorAgentObservationScope1784000000010, - CreateAgentHistoryTable1784000000011, - CreateInstanceAiObservationTables1784000000012, - SplitRedactionScopeInCustomRoles1784000000013, - PersistInstanceAiPendingConfirmations1784000000014, - AddSourceWorkflowIdToWorkflow1784000000015, - UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016, - AddLastUsedAtToApiKey1784000000017, - CreateAgentFilesTable1784000000018, - AddCustomTelemetryTagsToProject1784000000019, - CreateAgentTaskDefinitionTable1784000000021, - AddSubAgentLinkageToAgentExecutionThreads1784000000022, - CreateInstanceAiMcpRegistryConnectionTable1784000000023, - AddResourceToOAuthAuthorizationCodes1784000000024, - MigrateRedactionEnforcementToFloor1784000000025, - AddScopeColumnToOAuthTables1784000000026, - CreateWorkflowPublicationOutboxTable1784000000027, - AddProjectIdToInstanceAiThread1784000000028, - AddJsonSizeBytesAndWorkflowVersionIdToExecutionEntity1784000000029, - CreateAgentChatSubscriptions1784000000030, - AddExecutionEntityWorkflowStatusIndex1784000000031, - AddBinaryDataSizeBytesToExecutionEntity1784000000033, - AllowAzureStoredAt1784000000034, - AddUniqueAgentFileNames1784000000035, - CreateInstanceAiThreadGrantTable1784000000036, - DropAgentDescriptionFromAgents1784000000037, - SetChatHubEnabledFromUsage1784000000038, - DropAgentExecutionFallbackColumns1784000000039, - CreateWorkflowPublicationTriggerStatusTable1784000000040, - AddUsedPrivateCredentialsToExecutionEntity1784000000041, - CreateSchedulerTables1784000000042, - CreateWorkflowStatisticsDeltaTable1784000000043, - AddPartialIndexForGlobalCredentials1784000000044, - AddRecurringCronScheduleKind1784000000045, - CreateInstanceAiEventsTable1784000000046, - BackfillPreScopingOAuthGrantScopes1784000000047, - AddTriggerKindToWorkflowPublicationTriggerStatus1784000000048, - AddScheduledTaskDispatchedAt1784000000049, - AddHostRunIdToInstanceAiCheckpoints1784000000050, - BackfillInstanceAiEventLog1784000000051, - CreateWorkflowReviewRequestTables1784000000052, - AddStoredAtToAgentExecution1784815940110, - AddInstanceCredentials1784815940111, - CreateAgentEvalTables1784815940112, - AddAvailableInMcpToAgents1784897791636, - ChangeInstalledNodeVersionType1785162364000, - AddIsFirstPartyToOAuthClients1785162364001, - AddAgentFileStorageColumns1785186578138, - CrashStaleEnqueuedExecutions1785247194306, - AddMisfirePolicyToScheduler1785247194307, - CreateAgentChatAttachmentsTable1785255306000, - AddSetupCompletedAtToAgents1785500832626, - AddAgentExecutionRuntimeState1785828155091, - CreateAgentCredentialDependencyTable1785828155092, - AllowDiscordAgentChatSubscriptions1785840970000, -]; diff --git a/packages/@n8n/db/src/migrations/sqlite/index.ts b/packages/@n8n/db/src/migrations/sqlite/index.ts deleted file mode 100644 index 3f3beece0b3..00000000000 --- a/packages/@n8n/db/src/migrations/sqlite/index.ts +++ /dev/null @@ -1,472 +0,0 @@ -import { InitialMigration1588102412422 } from './1588102412422-InitialMigration'; -import { WebhookModel1592445003908 } from './1592445003908-WebhookModel'; -import { CreateIndexStoppedAt1594825041918 } from './1594825041918-CreateIndexStoppedAt'; -import { MakeStoppedAtNullable1607431743769 } from './1607431743769-MakeStoppedAtNullable'; -import { AddWebhookId1611071044839 } from './1611071044839-AddWebhookId'; -import { CreateTagEntity1617213344594 } from './1617213344594-CreateTagEntity'; -import { AddWaitColumn1621707690587 } from './1621707690587-AddWaitColumn'; -import { AddExecutionEntityIndexes1644421939510 } from './1644421939510-AddExecutionEntityIndexes'; -import { CreateUserManagement1646992772331 } from './1646992772331-CreateUserManagement'; -import { LowerCaseUserEmail1648740597343 } from './1648740597343-LowerCaseUserEmail'; -import { CommunityNodes1652254514001 } from './1652254514001-CommunityNodes'; -import { AddUserSettings1652367743993 } from './1652367743993-AddUserSettings'; -import { AddAPIKeyColumn1652905585850 } from './1652905585850-AddAPIKeyColumn'; -import { IntroducePinData1654089251344 } from './1654089251344-IntroducePinData'; -import { CreateCredentialsUserRole1660062385367 } from './1660062385367-CreateCredentialsUserRole'; -import { CreateWorkflowsEditorRole1663755770892 } from './1663755770892-CreateWorkflowsUserRole'; -import { WorkflowStatistics1664196174000 } from './1664196174000-WorkflowStatistics'; -import { CreateCredentialUsageTable1665484192211 } from './1665484192211-CreateCredentialUsageTable'; -import { RemoveCredentialUsageTable1665754637024 } from './1665754637024-RemoveCredentialUsageTable'; -import { AddTriggerCountColumn1669823906993 } from './1669823906993-AddTriggerCountColumn'; -import { MessageEventBusDestinations1671535397530 } from './1671535397530-MessageEventBusDestinations'; -import { DeleteExecutionsWithWorkflows1673268682475 } from './1673268682475-DeleteExecutionsWithWorkflows'; -import { AddStatusToExecutions1674138566000 } from './1674138566000-AddStatusToExecutions'; -import { MigrateExecutionStatus1676996103000 } from './1676996103000-MigrateExecutionStatus'; -import { UpdateRunningExecutionStatus1677237073720 } from './1677237073720-UpdateRunningExecutionStatus'; -import { CreateVariables1677501636752 } from './1677501636752-CreateVariables'; -import { CreateExecutionMetadataTable1679416281777 } from './1679416281777-CreateExecutionMetadataTable'; -import { AddUserActivatedProperty1681134145996 } from './1681134145996-AddUserActivatedProperty'; -import { RemoveSkipOwnerSetup1681134145997 } from './1681134145997-RemoveSkipOwnerSetup'; -import { MigrateIntegerKeysToString1690000000002 } from './1690000000002-MigrateIntegerKeysToString'; -import { SeparateExecutionData1690000000010 } from './1690000000010-SeparateExecutionData'; -import { FixMissingIndicesFromStringIdMigration1690000000020 } from './1690000000020-FixMissingIndicesFromStringIdMigration'; -import { RemoveResetPasswordColumns1690000000030 } from './1690000000030-RemoveResetPasswordColumns'; -import { AddMfaColumns1690000000030 } from './1690000000040-AddMfaColumns'; -import { ExecutionSoftDelete1693491613982 } from './1693491613982-ExecutionSoftDelete'; -import { DropRoleMapping1705429061930 } from './1705429061930-DropRoleMapping'; -import { AddActivatedAtUserSetting1717498465931 } from './1717498465931-AddActivatedAtUserSetting'; -import { AddApiKeysTable1724951148974 } from './1724951148974-AddApiKeysTable'; -import { AddMissingPrimaryKeyOnAnnotationTagMapping1728659839644 } from './1728659839644-AddMissingPrimaryKeyOnAnnotationTagMapping'; -import { AddProjectIcons1729607673469 } from './1729607673469-AddProjectIcons'; -import { AddDescriptionToTestDefinition1731404028106 } from './1731404028106-AddDescriptionToTestDefinition'; -import { MigrateTestDefinitionKeyToString1731582748663 } from './1731582748663-MigrateTestDefinitionKeyToString'; -import { CreateFolderTable1738709609940 } from './1738709609940-CreateFolderTable'; -import { UpdateParentFolderIdColumn1740445074052 } from './1740445074052-UpdateParentFolderIdColumn'; -import { AddScopesColumnToApiKeys1742918400000 } from './1742918400000-AddScopesColumnToApiKeys'; -import { AddProjectIdToVariableTable1758794506893 } from './1758794506893-AddProjectIdToVariableTable'; -import { AddWorkflowVersionColumn1761047826451 } from './1761047826451-AddWorkflowVersionColumn'; -import { ChangeDependencyInfoToJson1761655473000 } from './1761655473000-ChangeDependencyInfoToJson'; -import { AddCreatorIdToProjectTable1764276827837 } from './1764276827837-AddCreatorIdToProjectTable'; -import { AddResolvableFieldsToCredentials1764689448000 } from './1764689448000-AddResolvableFieldsToCredentials'; -import { AddAgentIdForeignKeys1765886667897 } from './1765886667897-AddAgentIdForeignKeys'; -import { AddChatMessageIndices1766068346315 } from './1766068346315-AddChatMessageIndices'; -import { ChangeWorkflowStatisticsFKToNoAction1767018516000 } from './1767018516000-ChangeWorkflowStatisticsFKToNoAction'; -import { LimitWorkflowVersionTriggerToContent1784000000003 } from './1784000000003-LimitWorkflowVersionTriggerToContent'; -import { CreateAgentHistoryTable1784000000011 } from './1784000000011-CreateAgentHistoryTable'; -import { AddScopeColumnToOAuthTables1784000000026 } from './1784000000026-AddScopeColumnToOAuthTables'; -import { AddProjectIdToInstanceAiThread1784000000028 } from './1784000000028-AddProjectIdToInstanceAiThread'; -import { AllowAzureStoredAt1784000000034 } from './1784000000034-AllowAzureStoredAt'; -import { DropAgentDescriptionFromAgents1784000000037 } from './1784000000037-DropAgentDescriptionFromAgents'; -import { AddRecurringCronScheduleKind1784000000045 } from './1784000000045-AddRecurringCronScheduleKind'; -import { AddAvailableInMcpToAgents1784897791636 } from './1784897791636-AddAvailableInMcpToAgents'; -import { ChangeInstalledNodeVersionType1785162364000 } from './1785162364000-ChangeInstalledNodeVersionType'; -import { AddIsFirstPartyToOAuthClients1785162364001 } from './1785162364001-AddIsFirstPartyToOAuthClients'; -import { AddMisfirePolicyToScheduler1785247194307 } from './1785247194307-AddMisfirePolicyToScheduler'; -import { AddSetupCompletedAtToAgents1785500832626 } from './1785500832626-AddSetupCompletedAtToAgents'; -import { UniqueWorkflowNames1620821879465 } from '../common/1620821879465-UniqueWorkflowNames'; -import { UpdateWorkflowCredentials1630330987096 } from '../common/1630330987096-UpdateWorkflowCredentials'; -import { AddNodeIds1658930531669 } from '../common/1658930531669-AddNodeIds'; -import { AddJsonKeyPinData1659888469333 } from '../common/1659888469333-AddJsonKeyPinData'; -import { AddWorkflowVersionIdColumn1669739707124 } from '../common/1669739707124-AddWorkflowVersionIdColumn'; -import { RemoveWorkflowDataLoadedFlag1671726148419 } from '../common/1671726148419-RemoveWorkflowDataLoadedFlag'; -import { CreateLdapEntities1674509946020 } from '../common/1674509946020-CreateLdapEntities'; -import { PurgeInvalidWorkflowConnections1675940580449 } from '../common/1675940580449-PurgeInvalidWorkflowConnections'; -import { CreateWorkflowNameIndex1691088862123 } from '../common/1691088862123-CreateWorkflowNameIndex'; -import { CreateWorkflowHistoryTable1692967111175 } from '../common/1692967111175-CreateWorkflowHistoryTable'; -import { DisallowOrphanExecutions1693554410387 } from '../common/1693554410387-DisallowOrphanExecutions'; -import { AddWorkflowMetadata1695128658538 } from '../common/1695128658538-AddWorkflowMetadata'; -import { ModifyWorkflowHistoryNodesAndConnections1695829275184 } from '../common/1695829275184-ModifyWorkflowHistoryNodesAndConnections'; -import { AddGlobalAdminRole1700571993961 } from '../common/1700571993961-AddGlobalAdminRole'; -import { RemoveFailedExecutionStatus1711018413374 } from '../common/1711018413374-RemoveFailedExecutionStatus'; -import { MoveSshKeysToDatabase1711390882123 } from '../common/1711390882123-MoveSshKeysToDatabase'; -import { RemoveNodesAccess1712044305787 } from '../common/1712044305787-RemoveNodesAccess'; -import { CreateProject1714133768519 } from '../common/1714133768519-CreateProject'; -import { MakeExecutionStatusNonNullable1714133768521 } from '../common/1714133768521-MakeExecutionStatusNonNullable'; -import { AddConstraintToExecutionMetadata1720101653148 } from '../common/1720101653148-AddConstraintToExecutionMetadata'; -import { CreateInvalidAuthTokenTable1723627610222 } from '../common/1723627610222-CreateInvalidAuthTokenTable'; -import { RefactorExecutionIndices1723796243146 } from '../common/1723796243146-RefactorExecutionIndices'; -import { CreateAnnotationTables1724753530828 } from '../common/1724753530828-CreateExecutionAnnotationTables'; -import { CreateProcessedDataTable1726606152711 } from '../common/1726606152711-CreateProcessedDataTable'; -import { SeparateExecutionCreationFromStart1727427440136 } from '../common/1727427440136-SeparateExecutionCreationFromStart'; -import { UpdateProcessedDataValueColumnToText1729607673464 } from '../common/1729607673464-UpdateProcessedDataValueColumnToText'; -import { CreateTestDefinitionTable1730386903556 } from '../common/1730386903556-CreateTestDefinitionTable'; -import { CreateTestMetricTable1732271325258 } from '../common/1732271325258-CreateTestMetricTable'; -import { CreateTestRun1732549866705 } from '../common/1732549866705-CreateTestRunTable'; -import { AddMockedNodesColumnToTestDefinition1733133775640 } from '../common/1733133775640-AddMockedNodesColumnToTestDefinition'; -import { AddManagedColumnToCredentialsTable1734479635324 } from '../common/1734479635324-AddManagedColumnToCredentialsTable'; -import { AddStatsColumnsToTestRun1736172058779 } from '../common/1736172058779-AddStatsColumnsToTestRun'; -import { CreateTestCaseExecutionTable1736947513045 } from '../common/1736947513045-CreateTestCaseExecutionTable'; -import { AddErrorColumnsToTestRuns1737715421462 } from '../common/1737715421462-AddErrorColumnsToTestRuns'; -import { CreateAnalyticsTables1739549398681 } from '../common/1739549398681-CreateAnalyticsTables'; -import { RenameAnalyticsToInsights1741167584277 } from '../common/1741167584277-RenameAnalyticsToInsights'; -import { ClearEvaluation1745322634000 } from '../common/1745322634000-CleanEvaluations'; -import { AddWorkflowStatisticsRootCount1745587087521 } from '../common/1745587087521-AddWorkflowStatisticsRootCount'; -import { AddWorkflowArchivedColumn1745934666076 } from '../common/1745934666076-AddWorkflowArchivedColumn'; -import { DropRoleTable1745934666077 } from '../common/1745934666077-DropRoleTable'; -import { AddProjectDescriptionColumn1747824239000 } from '../common/1747824239000-AddProjectDescriptionColumn'; -import { AddLastActiveAtColumnToUser1750252139166 } from '../common/1750252139166-AddLastActiveAtColumnToUser'; -import { AddScopeTables1750252139166 } from '../common/1750252139166-AddScopeTables'; -import { AddRolesTables1750252139167 } from '../common/1750252139167-AddRolesTables'; -import { LinkRoleToUserTable1750252139168 } from '../common/1750252139168-LinkRoleToUserTable'; -import { RemoveOldRoleColumn1750252139170 } from '../common/1750252139170-RemoveOldRoleColumn'; -import { AddInputsOutputsToTestCaseExecution1752669793000 } from '../common/1752669793000-AddInputsOutputsToTestCaseExecution'; -import { LinkRoleToProjectRelationTable1753953244168 } from '../common/1753953244168-LinkRoleToProjectRelationTable'; -import { CreateDataStoreTables1754475614601 } from '../common/1754475614601-CreateDataStoreTables'; -import { ReplaceDataStoreTablesWithDataTables1754475614602 } from '../common/1754475614602-ReplaceDataStoreTablesWithDataTables'; -import { AddTimestampsToRoleAndRoleIndexes1756906557570 } from '../common/1756906557570-AddTimestampsToRoleAndRoleIndexes'; -import { AddAudienceColumnToApiKeys1758731786132 } from '../common/1758731786132-AddAudienceColumnToApiKey'; -import { ChangeValueTypesForInsights1759399811000 } from '../common/1759399811000-ChangeValueTypesForInsights'; -import { CreateChatHubTables1760019379982 } from '../common/1760019379982-CreateChatHubTables'; -import { CreateChatHubAgentTable1760020000000 } from '../common/1760020000000-CreateChatHubAgentTable'; -import { UniqueRoleNames1760020838000 } from '../common/1760020838000-UniqueRoleNames'; -import { CreateOAuthEntities1760116750277 } from '../common/1760116750277-CreateOAuthEntities'; -import { CreateWorkflowDependencyTable1760314000000 } from '../common/1760314000000-CreateWorkflowDependencyTable'; -import { DropUnusedChatHubColumns1760965142113 } from '../common/1760965142113-DropUnusedChatHubColumns'; -import { AddAttachmentsToChatHubMessages1761773155024 } from '../common/1761773155024-AddAttachmentsToChatHubMessages'; -import { AddToolsColumnToChatHubTables1761830340990 } from '../common/1761830340990-AddToolsColumnToChatHubTables'; -import { AddWorkflowDescriptionColumn1762177736257 } from '../common/1762177736257-AddWorkflowDescriptionColumn'; -import { BackfillMissingWorkflowHistoryRecords1762763704614 } from '../common/1762763704614-BackfillMissingWorkflowHistoryRecords'; -import { AddIsGlobalColumnToCredentialsTable1762771954619 } from '../common/1762771954619-IsGlobalGlobalColumnToCredentialsTable'; -import { AddWorkflowHistoryAutoSaveFields1762847206508 } from '../common/1762847206508-AddWorkflowHistoryAutoSaveFields'; -import { AddActiveVersionIdColumn1763047800000 } from '../common/1763047800000-AddActiveVersionIdColumn'; -import { ActivateExecuteWorkflowTriggerWorkflows1763048000000 } from '../common/1763048000000-ActivateExecuteWorkflowTriggerWorkflows'; -import { ChangeOAuthStateColumnToUnboundedVarchar1763572724000 } from '../common/1763572724000-ChangeOAuthStateColumnToUnboundedVarchar'; -import { CreateBinaryDataTable1763716655000 } from '../common/1763716655000-CreateBinaryDataTable'; -import { CreateWorkflowPublishHistoryTable1764167920585 } from '../common/1764167920585-CreateWorkflowPublishHistoryTable'; -import { CreateDynamicCredentialResolverTable1764682447000 } from '../common/1764682447000-CreateCredentialResolverTable'; -import { AddDynamicCredentialEntryTable1764689388394 } from '../common/1764689388394-AddDynamicCredentialEntryTable'; -import { BackfillMissingWorkflowHistoryRecords1765448186933 } from '../common/1765448186933-BackfillMissingWorkflowHistoryRecords'; -import { AddIconToAgentTable1765788427674 } from '../common/1765788427674-AddIconToAgentTable'; -import { AddWorkflowVersionIdToExecutionData1765892199653 } from '../common/1765892199653-AddVersionIdToExecutionData'; -import { AddWorkflowPublishScopeToProjectRoles1766064542000 } from '../common/1766064542000-AddWorkflowPublishScopeToProjectRoles'; -import { ExpandModelColumnLength1768402473068 } from '../common/1768402473068-ExpandModelColumnLength'; -import { AddStoredAtToExecutionEntity1768557000000 } from '../common/1768557000000-AddStoredAtToExecutionEntity'; -import { AddDynamicCredentialUserEntryTable1768901721000 } from '../common/1768901721000-AddDynamicCredentialUserEntryTable'; -import { AddPublishedVersionIdToWorkflowDependency1769000000000 } from '../common/1769000000000-AddPublishedVersionIdToWorkflowDependency'; -import { CreateSecretsProviderConnectionTables1769433700000 } from '../common/1769433700000-CreateSecretsProvidersConnectionTables'; -import { CreateWorkflowPublishedVersionTable1769698710000 } from '../common/1769698710000-CreateWorkflowPublishedVersionTable'; -import { ExpandSubjectIDColumnLength1769784356000 } from '../common/1769784356000-ExpandSubjectIDColumnLength'; -import { AddWorkflowUnpublishScopeToCustomRoles1769900001000 } from '../common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles'; -import { CreateChatHubToolsTable1770000000000 } from '../common/1770000000000-CreateChatHubToolsTable'; -import { ExpandProviderIdColumnLength1770000000000 } from '../common/1770000000000-ExpandProviderIdColumnLength'; -import { CreateWorkflowBuilderSessionTable1770220686000 } from '../common/1770220686000-CreateWorkflowBuilderSessionTable'; -import { AddScalingFieldsToTestRun1771417407753 } from '../common/1771417407753-AddScalingFieldsToTestRun'; -import { MigrateExternalSecretsToEntityStorage1771500000000 } from '../common/1771500000000-MigrateExternalSecretsToEntityStorage'; -import { AddUnshareScopeToCustomRoles1771500000001 } from '../common/1771500000001-AddUnshareScopeToCustomRoles'; -import { AddFilesColumnToChatHubAgents1771500000002 } from '../common/1771500000002-AddFilesColumnToChatHubAgents'; -import { AddSuggestedPromptsToAgentTable1772000000000 } from '../common/1772000000000-AddSuggestedPromptsToAgentTable'; -import { AddRoleColumnToProjectSecretsProviderAccess1772619247761 } from '../common/1772619247761-AddRoleColumnToProjectSecretsProviderAccess'; -import { ChangeWorkflowPublishedVersionFKsToRestrict1772619247762 } from '../common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict'; -import { AddTypeToChatHubSessions1772700000000 } from '../common/1772700000000-AddTypeToChatHubSessions'; -import { CreateRoleMappingRuleTable1772800000000 } from '../common/1772800000000-CreateRoleMappingRuleTable'; -import { CreateCredentialDependencyTable1773000000000 } from '../common/1773000000000-CreateCredentialDependencyTable'; -import { AddRestoreFieldsToWorkflowBuilderSession1774280963551 } from '../common/1774280963551-AddRestoreFieldsToWorkflowBuilderSession'; -import { CreateInstanceVersionHistoryTable1774854660000 } from '../common/1774854660000-CreateInstanceVersionHistoryTable'; -import { CreateInstanceAiTables1775000000000 } from '../common/1775000000000-CreateInstanceAiTables'; -import { CreateTokenExchangeJtiTable1775116241000 } from '../common/1775116241000-CreateTokenExchangeJtiTable'; -import { ChangeWorkflowPublishHistoryVersionIdToSetNull1775740765000 } from '../common/1775740765000-ChangeWorkflowPublishHistoryVersionIdToSetNull'; -import { CreateTrustedKeyTables1776000000000 } from '../common/1776000000000-CreateTrustedKeyTables'; -import { CreateFavoritesTable1776150756000 } from '../common/1776150756000-CreateFavoritesTable'; -import { CreateDeploymentKeyTable1777000000000 } from '../common/1777000000000-CreateDeploymentKeyTable'; -import { AddJweKeyIndexesToDeploymentKey1777023444000 } from '../common/1777023444000-AddJweKeyIndexesToDeploymentKey'; -import { AddTracingContextToExecution1777045000000 } from '../common/1777045000000-AddTracingContextToExecution'; -import { AddLangsmithIdsToInstanceAiRunSnapshots1777100000000 } from '../common/1777100000000-AddLangsmithIdsToInstanceAiRunSnapshots'; -import { CreateAiBuilderTemporaryWorkflowTable1777281990043 } from '../common/1777281990043-CreateAiBuilderTemporaryWorkflowTable'; -import { AddRunIndexToTestCaseExecution1777996709110 } from '../common/1777996709110-AddRunIndexToTestCaseExecution'; -import { AddExecutionDeduplicationKey1778000000000 } from '../common/1778000000000-AddExecutionDeduplicationKey'; -import { CreateEvaluationConfig1778100000000 } from '../common/1778100000000-CreateEvaluationConfig'; -import { AddWorkflowVersionToTestRun1778100001000 } from '../common/1778100001000-AddWorkflowVersionToTestRun'; -import { AddEvaluationConfigColumnsToTestRun1778100002000 } from '../common/1778100002000-AddEvaluationConfigColumnsToTestRun'; -import { CreateEvaluationCollection1778496086558 } from '../common/1778496086558-CreateEvaluationCollection'; -import { CreateAgentTables1783000000000 } from '../common/1783000000000-CreateAgentTables'; -import { CreateAgentExecutionTables1783000000001 } from '../common/1783000000001-CreateAgentExecutionTables'; -import { CreateAgentObservationTables1784000000000 } from '../common/1784000000000-CreateAgentObservationTables'; -import { ReplaceAgentObservationTables1784000000001 } from '../common/1784000000001-ReplaceAgentObservationTables'; -import { DropAgentExecutionWorkingMemory1784000000002 } from '../common/1784000000002-DropAgentExecutionWorkingMemory'; -import { AddInsightsRawTimestampIdIndex1784000000004 } from '../common/1784000000004-AddInsightsRawTimestampIdIndex'; -import { CreateMcpRegistryServerTable1784000000005 } from '../common/1784000000005-CreateMcpRegistryServerTable'; -import { AddNodeGroupsColumnToWorkflowAndHistory1784000000006 } from '../common/1784000000006-AddNodeGroupsColumnToWorkflowAndHistory'; -import { CreateInstanceAiCheckpointTable1784000000007 } from '../common/1784000000007-CreateInstanceAiCheckpointTable'; -import { ResetInstanceAiNativePersistence1784000000008 } from '../common/1784000000008-ResetInstanceAiNativePersistence'; -import { CreateAgentMemoryEntryTables1784000000009 } from '../common/1784000000009-CreateAgentMemoryEntryTables'; -import { RefactorAgentObservationScope1784000000010 } from '../common/1784000000010-RefactorAgentObservationScope'; -import { CreateInstanceAiObservationTables1784000000012 } from '../common/1784000000012-CreateInstanceAiObservationTables'; -import { SplitRedactionScopeInCustomRoles1784000000013 } from '../common/1784000000013-SplitRedactionScopeInCustomRoles'; -import { PersistInstanceAiPendingConfirmations1784000000014 } from '../common/1784000000014-PersistInstanceAiPendingConfirmations'; -import { AddSourceWorkflowIdToWorkflow1784000000015 } from '../common/1784000000015-AddSourceWorkflowIdToWorkflow'; -import { UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016 } from '../common/1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer'; -import { AddLastUsedAtToApiKey1784000000017 } from '../common/1784000000017-AddLastUsedAtToApiKey'; -import { CreateAgentFilesTable1784000000018 } from '../common/1784000000018-CreateAgentFilesTable'; -import { AddCustomTelemetryTagsToProject1784000000019 } from '../common/1784000000019-AddCustomTelemetryTagsToProject'; -import { AddSubAgentLinkageToAgentExecutionThreads1784000000022 } from '../common/1784000000022-AddSubAgentLinkageToAgentExecutionThreads'; -import { CreateInstanceAiMcpRegistryConnectionTable1784000000023 } from '../common/1784000000023-CreateInstanceAiMcpRegistryConnectionTable'; -import { AddResourceToOAuthAuthorizationCodes1784000000024 } from '../common/1784000000024-AddResourceToOAuthAuthorizationCodes'; -import { CreateWorkflowPublicationOutboxTable1784000000027 } from '../common/1784000000027-CreateWorkflowPublicationOutboxTable'; -import { CreateAgentChatSubscriptions1784000000030 } from '../common/1784000000030-CreateAgentChatSubscriptions'; -import type { Migration } from '../migration-types'; -import { CreateAgentTaskDefinitionTable1784000000021 } from './1784000000021-CreateAgentTaskDefinitionTable'; -import { MigrateRedactionEnforcementToFloor1784000000025 } from '../common/1784000000025-MigrateRedactionEnforcementToFloor'; -import { AddJsonSizeBytesAndWorkflowVersionIdToExecutionEntity1784000000029 } from '../common/1784000000029-AddJsonSizeBytesAndWorkflowVersionIdToExecutionEntity'; -import { AddBinaryDataSizeBytesToExecutionEntity1784000000033 } from '../common/1784000000033-AddBinaryDataSizeBytesToExecutionEntity'; -import { AddUniqueAgentFileNames1784000000035 } from '../common/1784000000035-AddUniqueAgentFileNames'; -import { CreateInstanceAiThreadGrantTable1784000000036 } from '../common/1784000000036-CreateInstanceAiThreadGrantTable'; -import { SetChatHubEnabledFromUsage1784000000038 } from '../common/1784000000038-SetChatHubEnabledFromUsage'; -import { DropAgentExecutionFallbackColumns1784000000039 } from '../common/1784000000039-DropAgentExecutionFallbackColumns'; -import { CreateWorkflowPublicationTriggerStatusTable1784000000040 } from '../common/1784000000040-CreateWorkflowPublicationTriggerStatusTable'; -import { AddUsedPrivateCredentialsToExecutionEntity1784000000041 } from '../common/1784000000041-AddUsedPrivateCredentialsToExecutionEntity'; -import { CreateSchedulerTables1784000000042 } from '../common/1784000000042-CreateSchedulerTables'; -import { AddPartialIndexForGlobalCredentials1784000000044 } from '../common/1784000000044-AddPartialIndexForGlobalCredentials'; -import { CreateInstanceAiEventsTable1784000000046 } from '../common/1784000000046-CreateInstanceAiEventsTable'; -import { BackfillPreScopingOAuthGrantScopes1784000000047 } from '../common/1784000000047-BackfillPreScopingOAuthGrantScopes'; -import { AddTriggerKindToWorkflowPublicationTriggerStatus1784000000048 } from '../common/1784000000048-AddTriggerKindToWorkflowPublicationTriggerStatus'; -import { AddScheduledTaskDispatchedAt1784000000049 } from '../common/1784000000049-AddScheduledTaskDispatchedAt'; -import { AddHostRunIdToInstanceAiCheckpoints1784000000050 } from '../common/1784000000050-AddHostRunIdToInstanceAiCheckpoints'; -import { BackfillInstanceAiEventLog1784000000051 } from '../common/1784000000051-BackfillInstanceAiEventLog'; -import { CreateWorkflowReviewRequestTables1784000000052 } from '../common/1784000000052-CreateWorkflowReviewRequestTables'; -import { AddStoredAtToAgentExecution1784815940110 } from '../common/1784815940110-AddStoredAtToAgentExecution'; -import { AddInstanceCredentials1784815940111 } from '../common/1784815940111-AddInstanceCredentials'; -import { CreateAgentEvalTables1784815940112 } from '../common/1784815940112-CreateAgentEvalTables'; -import { AddAgentFileStorageColumns1785186578138 } from '../common/1785186578138-AddAgentFileStorageColumns'; -import { CrashStaleEnqueuedExecutions1785247194306 } from '../common/1785247194306-CrashStaleEnqueuedExecutions'; -import { CreateAgentChatAttachmentsTable1785255306000 } from '../common/1785255306000-CreateAgentChatAttachmentsTable'; -import { AddAgentExecutionRuntimeState1785828155091 } from '../common/1785828155091-AddAgentExecutionRuntimeState'; -import { CreateAgentCredentialDependencyTable1785828155092 } from '../common/1785828155092-CreateAgentCredentialDependencyTable'; -import { AllowDiscordAgentChatSubscriptions1785840970000 } from '../common/1785840970000-AllowDiscordAgentChatSubscriptions'; - -const sqliteMigrations: Migration[] = [ - InitialMigration1588102412422, - WebhookModel1592445003908, - CreateIndexStoppedAt1594825041918, - AddWebhookId1611071044839, - MakeStoppedAtNullable1607431743769, - CreateTagEntity1617213344594, - UniqueWorkflowNames1620821879465, - AddWaitColumn1621707690587, - UpdateWorkflowCredentials1630330987096, - AddExecutionEntityIndexes1644421939510, - CreateUserManagement1646992772331, - LowerCaseUserEmail1648740597343, - AddUserSettings1652367743993, - CommunityNodes1652254514001, - AddAPIKeyColumn1652905585850, - IntroducePinData1654089251344, - AddNodeIds1658930531669, - AddJsonKeyPinData1659888469333, - CreateCredentialsUserRole1660062385367, - CreateWorkflowsEditorRole1663755770892, - CreateCredentialUsageTable1665484192211, - RemoveCredentialUsageTable1665754637024, - AddWorkflowVersionIdColumn1669739707124, - WorkflowStatistics1664196174000, - AddTriggerCountColumn1669823906993, - RemoveWorkflowDataLoadedFlag1671726148419, - MessageEventBusDestinations1671535397530, - DeleteExecutionsWithWorkflows1673268682475, - CreateLdapEntities1674509946020, - PurgeInvalidWorkflowConnections1675940580449, - AddStatusToExecutions1674138566000, - MigrateExecutionStatus1676996103000, - UpdateRunningExecutionStatus1677237073720, - CreateVariables1677501636752, - CreateExecutionMetadataTable1679416281777, - AddUserActivatedProperty1681134145996, - MigrateIntegerKeysToString1690000000002, - SeparateExecutionData1690000000010, - RemoveSkipOwnerSetup1681134145997, - FixMissingIndicesFromStringIdMigration1690000000020, - RemoveResetPasswordColumns1690000000030, - CreateWorkflowNameIndex1691088862123, - AddMfaColumns1690000000030, - CreateWorkflowHistoryTable1692967111175, - DisallowOrphanExecutions1693554410387, - ExecutionSoftDelete1693491613982, - AddWorkflowMetadata1695128658538, - ModifyWorkflowHistoryNodesAndConnections1695829275184, - AddGlobalAdminRole1700571993961, - DropRoleMapping1705429061930, - RemoveFailedExecutionStatus1711018413374, - MoveSshKeysToDatabase1711390882123, - RemoveNodesAccess1712044305787, - CreateProject1714133768519, - MakeExecutionStatusNonNullable1714133768521, - AddActivatedAtUserSetting1717498465931, - AddConstraintToExecutionMetadata1720101653148, - CreateInvalidAuthTokenTable1723627610222, - RefactorExecutionIndices1723796243146, - CreateAnnotationTables1724753530828, - AddApiKeysTable1724951148974, - SeparateExecutionCreationFromStart1727427440136, - CreateProcessedDataTable1726606152711, - AddMissingPrimaryKeyOnAnnotationTagMapping1728659839644, - UpdateProcessedDataValueColumnToText1729607673464, - CreateTestDefinitionTable1730386903556, - AddDescriptionToTestDefinition1731404028106, - MigrateTestDefinitionKeyToString1731582748663, - CreateTestMetricTable1732271325258, - CreateTestRun1732549866705, - AddMockedNodesColumnToTestDefinition1733133775640, - AddManagedColumnToCredentialsTable1734479635324, - AddProjectIcons1729607673469, - AddStatsColumnsToTestRun1736172058779, - CreateTestCaseExecutionTable1736947513045, - AddErrorColumnsToTestRuns1737715421462, - CreateFolderTable1738709609940, - CreateAnalyticsTables1739549398681, - UpdateParentFolderIdColumn1740445074052, - RenameAnalyticsToInsights1741167584277, - AddScopesColumnToApiKeys1742918400000, - AddWorkflowStatisticsRootCount1745587087521, - AddWorkflowArchivedColumn1745934666076, - DropRoleTable1745934666077, - ClearEvaluation1745322634000, - AddProjectDescriptionColumn1747824239000, - AddLastActiveAtColumnToUser1750252139166, - AddScopeTables1750252139166, - AddRolesTables1750252139167, - LinkRoleToUserTable1750252139168, - AddInputsOutputsToTestCaseExecution1752669793000, - CreateDataStoreTables1754475614601, - RemoveOldRoleColumn1750252139170, - ReplaceDataStoreTablesWithDataTables1754475614602, - LinkRoleToProjectRelationTable1753953244168, - AddTimestampsToRoleAndRoleIndexes1756906557570, - AddProjectIdToVariableTable1758794506893, - AddAudienceColumnToApiKeys1758731786132, - ChangeValueTypesForInsights1759399811000, - CreateChatHubTables1760019379982, - CreateChatHubAgentTable1760020000000, - UniqueRoleNames1760020838000, - CreateWorkflowDependencyTable1760314000000, - DropUnusedChatHubColumns1760965142113, - AddWorkflowVersionColumn1761047826451, - ChangeDependencyInfoToJson1761655473000, - AddWorkflowDescriptionColumn1762177736257, - CreateOAuthEntities1760116750277, - BackfillMissingWorkflowHistoryRecords1762763704614, - AddIsGlobalColumnToCredentialsTable1762771954619, - AddWorkflowHistoryAutoSaveFields1762847206508, - AddToolsColumnToChatHubTables1761830340990, - ChangeOAuthStateColumnToUnboundedVarchar1763572724000, - AddAttachmentsToChatHubMessages1761773155024, - AddActiveVersionIdColumn1763047800000, - CreateBinaryDataTable1763716655000, - CreateWorkflowPublishHistoryTable1764167920585, - ActivateExecuteWorkflowTriggerWorkflows1763048000000, - AddCreatorIdToProjectTable1764276827837, - CreateDynamicCredentialResolverTable1764682447000, - AddDynamicCredentialEntryTable1764689388394, - BackfillMissingWorkflowHistoryRecords1765448186933, - AddResolvableFieldsToCredentials1764689448000, - AddIconToAgentTable1765788427674, - AddAgentIdForeignKeys1765886667897, - AddWorkflowVersionIdToExecutionData1765892199653, - AddWorkflowPublishScopeToProjectRoles1766064542000, - AddChatMessageIndices1766068346315, - ChangeWorkflowStatisticsFKToNoAction1767018516000, - ExpandModelColumnLength1768402473068, - AddStoredAtToExecutionEntity1768557000000, - AddDynamicCredentialUserEntryTable1768901721000, - AddPublishedVersionIdToWorkflowDependency1769000000000, - CreateSecretsProviderConnectionTables1769433700000, - CreateWorkflowPublishedVersionTable1769698710000, - ExpandSubjectIDColumnLength1769784356000, - AddWorkflowUnpublishScopeToCustomRoles1769900001000, - CreateChatHubToolsTable1770000000000, - ExpandProviderIdColumnLength1770000000000, - CreateWorkflowBuilderSessionTable1770220686000, - AddScalingFieldsToTestRun1771417407753, - MigrateExternalSecretsToEntityStorage1771500000000, - AddUnshareScopeToCustomRoles1771500000001, - AddFilesColumnToChatHubAgents1771500000002, - AddSuggestedPromptsToAgentTable1772000000000, - AddRoleColumnToProjectSecretsProviderAccess1772619247761, - ChangeWorkflowPublishedVersionFKsToRestrict1772619247762, - AddTypeToChatHubSessions1772700000000, - CreateRoleMappingRuleTable1772800000000, - CreateCredentialDependencyTable1773000000000, - AddRestoreFieldsToWorkflowBuilderSession1774280963551, - CreateInstanceVersionHistoryTable1774854660000, - CreateInstanceAiTables1775000000000, - CreateTokenExchangeJtiTable1775116241000, - ChangeWorkflowPublishHistoryVersionIdToSetNull1775740765000, - CreateTrustedKeyTables1776000000000, - CreateFavoritesTable1776150756000, - CreateDeploymentKeyTable1777000000000, - AddJweKeyIndexesToDeploymentKey1777023444000, - AddTracingContextToExecution1777045000000, - AddLangsmithIdsToInstanceAiRunSnapshots1777100000000, - CreateAiBuilderTemporaryWorkflowTable1777281990043, - AddRunIndexToTestCaseExecution1777996709110, - AddExecutionDeduplicationKey1778000000000, - CreateEvaluationConfig1778100000000, - AddWorkflowVersionToTestRun1778100001000, - AddEvaluationConfigColumnsToTestRun1778100002000, - CreateEvaluationCollection1778496086558, - CreateAgentTables1783000000000, - CreateAgentExecutionTables1783000000001, - CreateAgentObservationTables1784000000000, - ReplaceAgentObservationTables1784000000001, - DropAgentExecutionWorkingMemory1784000000002, - LimitWorkflowVersionTriggerToContent1784000000003, - AddInsightsRawTimestampIdIndex1784000000004, - CreateMcpRegistryServerTable1784000000005, - AddNodeGroupsColumnToWorkflowAndHistory1784000000006, - CreateInstanceAiCheckpointTable1784000000007, - ResetInstanceAiNativePersistence1784000000008, - CreateAgentMemoryEntryTables1784000000009, - RefactorAgentObservationScope1784000000010, - CreateAgentHistoryTable1784000000011, - CreateInstanceAiObservationTables1784000000012, - SplitRedactionScopeInCustomRoles1784000000013, - PersistInstanceAiPendingConfirmations1784000000014, - AddSourceWorkflowIdToWorkflow1784000000015, - UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016, - AddLastUsedAtToApiKey1784000000017, - CreateAgentFilesTable1784000000018, - AddCustomTelemetryTagsToProject1784000000019, - CreateAgentTaskDefinitionTable1784000000021, - AddSubAgentLinkageToAgentExecutionThreads1784000000022, - CreateInstanceAiMcpRegistryConnectionTable1784000000023, - AddResourceToOAuthAuthorizationCodes1784000000024, - MigrateRedactionEnforcementToFloor1784000000025, - AddScopeColumnToOAuthTables1784000000026, - CreateWorkflowPublicationOutboxTable1784000000027, - AddProjectIdToInstanceAiThread1784000000028, - AddJsonSizeBytesAndWorkflowVersionIdToExecutionEntity1784000000029, - CreateAgentChatSubscriptions1784000000030, - AddBinaryDataSizeBytesToExecutionEntity1784000000033, - AllowAzureStoredAt1784000000034, - AddUniqueAgentFileNames1784000000035, - CreateInstanceAiThreadGrantTable1784000000036, - DropAgentDescriptionFromAgents1784000000037, - SetChatHubEnabledFromUsage1784000000038, - DropAgentExecutionFallbackColumns1784000000039, - CreateWorkflowPublicationTriggerStatusTable1784000000040, - AddUsedPrivateCredentialsToExecutionEntity1784000000041, - CreateSchedulerTables1784000000042, - AddPartialIndexForGlobalCredentials1784000000044, - AddRecurringCronScheduleKind1784000000045, - CreateInstanceAiEventsTable1784000000046, - BackfillPreScopingOAuthGrantScopes1784000000047, - AddTriggerKindToWorkflowPublicationTriggerStatus1784000000048, - AddScheduledTaskDispatchedAt1784000000049, - AddHostRunIdToInstanceAiCheckpoints1784000000050, - BackfillInstanceAiEventLog1784000000051, - CreateWorkflowReviewRequestTables1784000000052, - AddStoredAtToAgentExecution1784815940110, - AddInstanceCredentials1784815940111, - CreateAgentEvalTables1784815940112, - AddAvailableInMcpToAgents1784897791636, - ChangeInstalledNodeVersionType1785162364000, - AddIsFirstPartyToOAuthClients1785162364001, - AddAgentFileStorageColumns1785186578138, - CrashStaleEnqueuedExecutions1785247194306, - AddMisfirePolicyToScheduler1785247194307, - CreateAgentChatAttachmentsTable1785255306000, - AddSetupCompletedAtToAgents1785500832626, - AddAgentExecutionRuntimeState1785828155091, - CreateAgentCredentialDependencyTable1785828155092, - AllowDiscordAgentChatSubscriptions1785840970000, -]; - -export { sqliteMigrations };