@rudderhq/db 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/backup-lib.d.ts.map +1 -1
  2. package/dist/backup-lib.js +11 -3
  3. package/dist/backup-lib.js.map +1 -1
  4. package/dist/client.d.ts +25 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +304 -20
  7. package/dist/client.js.map +1 -1
  8. package/dist/client.test.js +217 -29
  9. package/dist/client.test.js.map +1 -1
  10. package/dist/embedded-postgres-recovery.d.ts +11 -0
  11. package/dist/embedded-postgres-recovery.d.ts.map +1 -1
  12. package/dist/embedded-postgres-recovery.js +50 -11
  13. package/dist/embedded-postgres-recovery.js.map +1 -1
  14. package/dist/embedded-postgres-recovery.test.js +50 -2
  15. package/dist/embedded-postgres-recovery.test.js.map +1 -1
  16. package/dist/index.d.ts +3 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/local-postgres-provider.d.ts +3 -0
  21. package/dist/local-postgres-provider.d.ts.map +1 -1
  22. package/dist/local-postgres-provider.js +92 -10
  23. package/dist/local-postgres-provider.js.map +1 -1
  24. package/dist/local-postgres-provider.test.js +24 -1
  25. package/dist/local-postgres-provider.test.js.map +1 -1
  26. package/dist/migration-manifest.d.ts +41 -0
  27. package/dist/migration-manifest.d.ts.map +1 -0
  28. package/dist/migration-manifest.js +186 -0
  29. package/dist/migration-manifest.js.map +1 -0
  30. package/dist/migration-manifest.test.d.ts +2 -0
  31. package/dist/migration-manifest.test.d.ts.map +1 -0
  32. package/dist/migration-manifest.test.js +88 -0
  33. package/dist/migration-manifest.test.js.map +1 -0
  34. package/dist/migration-runtime.d.ts.map +1 -1
  35. package/dist/migration-runtime.js +18 -33
  36. package/dist/migration-runtime.js.map +1 -1
  37. package/dist/migrations/0143_goal_contract.sql +97 -0
  38. package/dist/migrations/0144_eminent_umar.sql +16 -0
  39. package/dist/migrations/0145_public_nehzno.sql +96 -0
  40. package/dist/migrations/0146_medical_roulette.sql +1 -0
  41. package/dist/migrations/0147_github_mcp_provider.sql +4 -0
  42. package/dist/migrations/0148_chat_message_transcript_entries.sql +20 -0
  43. package/dist/migrations/chat-transcript-storage.test.ts +211 -0
  44. package/dist/migrations/github-mcp-provider.test.ts +20 -0
  45. package/dist/migrations/meta/0143_snapshot.json +25318 -0
  46. package/dist/migrations/meta/0144_snapshot.json +25336 -0
  47. package/dist/migrations/meta/0145_snapshot.json +27010 -0
  48. package/dist/migrations/meta/0146_snapshot.json +27016 -0
  49. package/dist/migrations/meta/0147_snapshot.json +27016 -0
  50. package/dist/migrations/meta/_journal.json +42 -0
  51. package/dist/schema/chat_message_transcript_entries.d.ts +82 -0
  52. package/dist/schema/chat_message_transcript_entries.d.ts.map +1 -0
  53. package/dist/schema/chat_message_transcript_entries.js +20 -0
  54. package/dist/schema/chat_message_transcript_entries.js.map +1 -0
  55. package/dist/schema/goals.d.ts +2110 -0
  56. package/dist/schema/goals.d.ts.map +1 -1
  57. package/dist/schema/goals.js +169 -1
  58. package/dist/schema/goals.js.map +1 -1
  59. package/dist/schema/index.d.ts +2 -1
  60. package/dist/schema/index.d.ts.map +1 -1
  61. package/dist/schema/index.js +2 -1
  62. package/dist/schema/index.js.map +1 -1
  63. package/dist/schema/mcp_connections.js +2 -2
  64. package/dist/schema/mcp_connections.js.map +1 -1
  65. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,11 @@ import os from "node:os";
7
7
  import path from "node:path";
8
8
  import postgres from "postgres";
9
9
  import { afterEach, describe, expect, it } from "vitest";
10
- import { applyPendingMigrations, ensurePostgresDatabase, ensurePostgresRolePassword, inspectMigrations, reconcilePendingMigrationHistory, } from "./client.js";
10
+ import { applyPendingMigrations, ensurePostgresDatabase, ensurePostgresRolePassword, inspectMigrations, listLegacyColumnRenames, MIGRATION_ADVISORY_LOCK_NAME, normalizeLegacyColumnNames, reconcilePendingMigrationHistory, validatePostMigrationInvariants, } from "./client.js";
11
+ import { createLocalPostgresInstance } from "./local-postgres-provider.js";
11
12
  const tempPaths = [];
12
13
  const runningInstances = [];
13
- async function getEmbeddedPostgresCtor() {
14
- const mod = await import("embedded-postgres");
15
- return mod.default;
16
- }
14
+ const migrationTestTimeout = (timeoutMs) => process.platform === "win32" ? timeoutMs * 4 : timeoutMs;
17
15
  async function getAvailablePort() {
18
16
  return await new Promise((resolve, reject) => {
19
17
  const server = net.createServer();
@@ -42,8 +40,7 @@ async function createTempDatabaseWithPassword(password) {
42
40
  const dataDir = fs.mkdtempSync(path.join(os.tmpdir(), "rudder-db-client-"));
43
41
  tempPaths.push(dataDir);
44
42
  const port = await getAvailablePort();
45
- const EmbeddedPostgres = await getEmbeddedPostgresCtor();
46
- const instance = new EmbeddedPostgres({
43
+ const selection = await createLocalPostgresInstance({
47
44
  databaseDir: dataDir,
48
45
  user: "rudder",
49
46
  password,
@@ -53,6 +50,7 @@ async function createTempDatabaseWithPassword(password) {
53
50
  onLog: () => { },
54
51
  onError: () => { },
55
52
  });
53
+ const instance = selection.instance;
56
54
  await instance.initialise();
57
55
  await instance.start();
58
56
  runningInstances.push(instance);
@@ -152,20 +150,137 @@ function createCurrentMigrationsFolderThrough(maxIdx) {
152
150
  return migrationsFolder;
153
151
  }
154
152
  afterEach(async () => {
155
- while (runningInstances.length > 0) {
156
- const instance = runningInstances.pop();
157
- if (!instance)
158
- continue;
159
- await instance.stop();
153
+ const instances = runningInstances.splice(0).reverse();
154
+ const results = await Promise.allSettled(instances.map((instance) => instance.stop()));
155
+ const failures = results.filter((result) => result.status === "rejected");
156
+ if (failures.length > 0) {
157
+ throw new AggregateError(failures.map((failure) => failure.reason), `Failed to stop ${failures.length} embedded PostgreSQL test instance(s)`);
160
158
  }
161
159
  while (tempPaths.length > 0) {
162
160
  const tempPath = tempPaths.pop();
163
161
  if (!tempPath)
164
162
  continue;
165
- fs.rmSync(tempPath, { recursive: true, force: true });
163
+ await fs.promises.rm(tempPath, {
164
+ recursive: true,
165
+ force: true,
166
+ maxRetries: 20,
167
+ retryDelay: 250,
168
+ });
166
169
  }
167
- });
170
+ }, migrationTestTimeout(10_000));
168
171
  describe("applyPendingMigrations", () => {
172
+ it("serializes migration attempts with a database advisory lock", async () => {
173
+ const connectionString = await createTempDatabase();
174
+ const blocker = postgres(connectionString, { max: 1, onnotice: () => { } });
175
+ let lockReleased = false;
176
+ try {
177
+ await blocker `
178
+ SELECT pg_advisory_lock(
179
+ hashtext(current_database()),
180
+ hashtext(${MIGRATION_ADVISORY_LOCK_NAME})
181
+ )
182
+ `;
183
+ const migration = applyPendingMigrations(connectionString);
184
+ const initialOutcome = await Promise.race([
185
+ migration.then(() => "completed"),
186
+ new Promise((resolve) => setTimeout(() => resolve("waiting"), 150)),
187
+ ]);
188
+ expect(initialOutcome).toBe("waiting");
189
+ await blocker `
190
+ SELECT pg_advisory_unlock(
191
+ hashtext(current_database()),
192
+ hashtext(${MIGRATION_ADVISORY_LOCK_NAME})
193
+ )
194
+ `;
195
+ lockReleased = true;
196
+ await migration;
197
+ }
198
+ finally {
199
+ if (!lockReleased) {
200
+ await blocker `
201
+ SELECT pg_advisory_unlock(
202
+ hashtext(current_database()),
203
+ hashtext(${MIGRATION_ADVISORY_LOCK_NAME})
204
+ )
205
+ `;
206
+ }
207
+ await blocker.end();
208
+ }
209
+ }, migrationTestTimeout(30_000));
210
+ it("reports journal, core table, foreign key, and index invariants after migration", async () => {
211
+ const connectionString = await createTempDatabase();
212
+ await applyPendingMigrations(connectionString);
213
+ const report = await validatePostMigrationInvariants(connectionString);
214
+ expect(report).toMatchObject({
215
+ valid: true,
216
+ migrationJournalSchema: "drizzle",
217
+ organizationsTablePresent: true,
218
+ organizationsPrimaryKeyValid: true,
219
+ unvalidatedForeignKeys: [],
220
+ invalidIndexes: [],
221
+ issues: [],
222
+ });
223
+ expect(report.manifestFingerprint).toMatch(/^[0-9a-f]{64}$/);
224
+ expect(report.expectedMigrationCount).toBeGreaterThan(0);
225
+ expect(report.migrationJournalEntryCount).toBeGreaterThan(0);
226
+ expect(report.foreignKeyCount).toBeGreaterThan(0);
227
+ const journalTamperSql = postgres(connectionString, { max: 1, onnotice: () => { } });
228
+ try {
229
+ await journalTamperSql.unsafe(`
230
+ UPDATE "drizzle"."__drizzle_migrations"
231
+ SET "hash" = repeat('0', 64)
232
+ WHERE "id" = (SELECT min("id") FROM "drizzle"."__drizzle_migrations")
233
+ `);
234
+ }
235
+ finally {
236
+ await journalTamperSql.end();
237
+ }
238
+ const tamperedReport = await validatePostMigrationInvariants(connectionString);
239
+ expect(tamperedReport.valid).toBe(false);
240
+ expect(tamperedReport.issues).toContainEqual(expect.objectContaining({
241
+ code: "migration_journal_invalid",
242
+ }));
243
+ const unknownLegacyConnectionString = await createTempDatabase();
244
+ await applyPendingMigrations(unknownLegacyConnectionString);
245
+ const legacyJournalTamperSql = postgres(unknownLegacyConnectionString, { max: 1, onnotice: () => { } });
246
+ try {
247
+ await legacyJournalTamperSql.unsafe(`
248
+ INSERT INTO "drizzle"."__drizzle_migrations" ("hash", "created_at")
249
+ SELECT 'legacy-corrupt', COALESCE(MAX("created_at"), 0) + 1
250
+ FROM "drizzle"."__drizzle_migrations"
251
+ `);
252
+ }
253
+ finally {
254
+ await legacyJournalTamperSql.end();
255
+ }
256
+ const unknownLegacyReport = await validatePostMigrationInvariants(unknownLegacyConnectionString);
257
+ expect(unknownLegacyReport.valid).toBe(false);
258
+ expect(unknownLegacyReport.issues).toContainEqual(expect.objectContaining({
259
+ code: "migration_journal_invalid",
260
+ message: expect.stringContaining("does not match any current migration manifest entry"),
261
+ }));
262
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
263
+ try {
264
+ await sql.unsafe(`CREATE TABLE "migration_invariant_parent" ("id" integer PRIMARY KEY)`);
265
+ await sql.unsafe(`CREATE TABLE "migration_invariant_child" ("parent_id" integer)`);
266
+ await sql.unsafe(`
267
+ ALTER TABLE "migration_invariant_child"
268
+ ADD CONSTRAINT "migration_invariant_child_parent_fk"
269
+ FOREIGN KEY ("parent_id") REFERENCES "migration_invariant_parent"("id") NOT VALID
270
+ `);
271
+ }
272
+ finally {
273
+ await sql.end();
274
+ }
275
+ const invalidReport = await validatePostMigrationInvariants(connectionString);
276
+ expect(invalidReport.valid).toBe(false);
277
+ expect(invalidReport.unvalidatedForeignKeys).toEqual([
278
+ "migration_invariant_child.migration_invariant_child_parent_fk",
279
+ ]);
280
+ expect(invalidReport.issues).toContainEqual(expect.objectContaining({
281
+ code: "foreign_keys_not_validated",
282
+ }));
283
+ }, migrationTestTimeout(30_000));
169
284
  it("normalizes legacy embedded cluster passwords back to rudder", async () => {
170
285
  const legacyConnectionString = await createTempDatabaseWithPassword("password");
171
286
  const legacyUrl = new URL(legacyConnectionString);
@@ -190,7 +305,7 @@ describe("applyPendingMigrations", () => {
190
305
  finally {
191
306
  await sql.end();
192
307
  }
193
- }, 20_000);
308
+ }, migrationTestTimeout(20_000));
194
309
  it("rebuilds schema when migration journal exists but core tables are missing", async () => {
195
310
  const connectionString = await createTempDatabase();
196
311
  await applyPendingMigrations(connectionString);
@@ -223,7 +338,7 @@ describe("applyPendingMigrations", () => {
223
338
  finally {
224
339
  await verifySql.end();
225
340
  }
226
- }, 20_000);
341
+ }, migrationTestTimeout(20_000));
227
342
  it("applies the organization schema on a fresh database", async () => {
228
343
  const connectionString = await createTempDatabase();
229
344
  await applyPendingMigrations(connectionString);
@@ -246,7 +361,7 @@ describe("applyPendingMigrations", () => {
246
361
  finally {
247
362
  await verifySql.end();
248
363
  }
249
- }, 20_000);
364
+ }, migrationTestTimeout(20_000));
250
365
  it("completes migration 0100 when an older version already created the alias table", async () => {
251
366
  const connectionString = await createTempDatabase();
252
367
  await applyPendingMigrations(connectionString);
@@ -333,7 +448,7 @@ describe("applyPendingMigrations", () => {
333
448
  finally {
334
449
  await verifySql.end();
335
450
  }
336
- }, 20_000);
451
+ }, migrationTestTimeout(20_000));
337
452
  it("reapplies consolidated migration 0102 over the legacy 0102-0104 feature shape", async () => {
338
453
  const connectionString = await createTempDatabase();
339
454
  const { manifest, migrationsFolder } = createLegacyTerminalMigrationsFolder();
@@ -429,6 +544,12 @@ describe("applyPendingMigrations", () => {
429
544
  "0140_faulty_kitty_pryde.sql",
430
545
  "0141_product_analytics_revision_origin.sql",
431
546
  "0142_product_analytics_quality_counters.sql",
547
+ "0143_goal_contract.sql",
548
+ "0144_eminent_umar.sql",
549
+ "0145_public_nehzno.sql",
550
+ "0146_medical_roulette.sql",
551
+ "0147_github_mcp_provider.sql",
552
+ "0148_chat_message_transcript_entries.sql",
432
553
  ],
433
554
  reason: "pending-migrations",
434
555
  });
@@ -488,7 +609,7 @@ describe("applyPendingMigrations", () => {
488
609
  finally {
489
610
  await verifySql.end();
490
611
  }
491
- }, 20_000);
612
+ }, migrationTestTimeout(40_000));
492
613
  it("upgrades databases that applied the legacy 0102 chat runtime controls migration", async () => {
493
614
  const connectionString = await createTempDatabase();
494
615
  const { historicalHash, migrationsFolder } = createLegacyChatRuntimeControlsMigrationsFolder();
@@ -586,6 +707,12 @@ describe("applyPendingMigrations", () => {
586
707
  "0140_faulty_kitty_pryde.sql",
587
708
  "0141_product_analytics_revision_origin.sql",
588
709
  "0142_product_analytics_quality_counters.sql",
710
+ "0143_goal_contract.sql",
711
+ "0144_eminent_umar.sql",
712
+ "0145_public_nehzno.sql",
713
+ "0146_medical_roulette.sql",
714
+ "0147_github_mcp_provider.sql",
715
+ "0148_chat_message_transcript_entries.sql",
589
716
  ],
590
717
  reason: "pending-migrations",
591
718
  });
@@ -620,7 +747,7 @@ describe("applyPendingMigrations", () => {
620
747
  finally {
621
748
  await verifySql.end();
622
749
  }
623
- }, 20_000);
750
+ }, migrationTestTimeout(40_000));
624
751
  it("upgrades 0102 heartbeat runs with durable session lineage columns", async () => {
625
752
  const connectionString = await createTempDatabase();
626
753
  const migrationsThrough0102 = createCurrentMigrationsFolderThrough(102);
@@ -683,7 +810,7 @@ describe("applyPendingMigrations", () => {
683
810
  finally {
684
811
  await verifySql.end();
685
812
  }
686
- }, 20_000);
813
+ }, migrationTestTimeout(40_000));
687
814
  it("reconciles legacy chat control states before creating active-generation constraints", async () => {
688
815
  const connectionString = await createTempDatabase();
689
816
  const migrationsThrough0103 = createCurrentMigrationsFolderThrough(103);
@@ -947,7 +1074,7 @@ describe("applyPendingMigrations", () => {
947
1074
  finally {
948
1075
  await verifySql.end();
949
1076
  }
950
- }, 20_000);
1077
+ }, migrationTestTimeout(20_000));
951
1078
  it("rolls back migration 0100 when a legacy alias conflicts with another organization route", async () => {
952
1079
  const connectionString = await createTempDatabase();
953
1080
  await applyPendingMigrations(connectionString);
@@ -1021,7 +1148,7 @@ describe("applyPendingMigrations", () => {
1021
1148
  finally {
1022
1149
  await verifySql.end();
1023
1150
  }
1024
- }, 20_000);
1151
+ }, migrationTestTimeout(20_000));
1025
1152
  it("replays migration 0044 safely when its schema changes already exist", async () => {
1026
1153
  const connectionString = await createTempDatabase();
1027
1154
  await applyPendingMigrations(connectionString);
@@ -1050,7 +1177,7 @@ describe("applyPendingMigrations", () => {
1050
1177
  await applyPendingMigrations(connectionString);
1051
1178
  const finalState = await inspectMigrations(connectionString);
1052
1179
  expect(finalState.status).toBe("upToDate");
1053
- }, 20_000);
1180
+ }, migrationTestTimeout(20_000));
1054
1181
  it("replays migration 0063 safely when the experimental settings column is already absent", async () => {
1055
1182
  const connectionString = await createTempDatabase();
1056
1183
  await applyPendingMigrations(connectionString);
@@ -1079,7 +1206,7 @@ describe("applyPendingMigrations", () => {
1079
1206
  await applyPendingMigrations(connectionString);
1080
1207
  const finalState = await inspectMigrations(connectionString);
1081
1208
  expect(finalState.status).toBe("upToDate");
1082
- }, 20_000);
1209
+ }, migrationTestTimeout(20_000));
1083
1210
  it("repairs missing migration history when the schema changes are still directly verifiable", async () => {
1084
1211
  const connectionString = await createTempDatabase();
1085
1212
  await applyPendingMigrations(connectionString);
@@ -1113,7 +1240,7 @@ describe("applyPendingMigrations", () => {
1113
1240
  await applyPendingMigrations(connectionString);
1114
1241
  const finalState = await inspectMigrations(connectionString);
1115
1242
  expect(finalState.status).toBe("upToDate");
1116
- }, 20_000);
1243
+ }, migrationTestTimeout(20_000));
1117
1244
  it("normalizes legacy adapter column names before using an up-to-date migration journal", async () => {
1118
1245
  const connectionString = await createTempDatabase();
1119
1246
  await applyPendingMigrations(connectionString);
@@ -1132,6 +1259,15 @@ describe("applyPendingMigrations", () => {
1132
1259
  }
1133
1260
  const driftedState = await inspectMigrations(connectionString);
1134
1261
  expect(driftedState.status).toBe("upToDate");
1262
+ await expect(listLegacyColumnRenames(connectionString)).resolves.toEqual([
1263
+ "agents.adapter_type->agent_runtime_type",
1264
+ "agents.adapter_config->agent_runtime_config",
1265
+ "agent_runtime_state.adapter_type->agent_runtime_type",
1266
+ "agent_task_sessions.adapter_type->agent_runtime_type",
1267
+ "join_requests.adapter_type->agent_runtime_type",
1268
+ "finance_events.execution_adapter_type->execution_agent_runtime_type",
1269
+ "issues.assignee_adapter_overrides->assignee_agent_runtime_overrides",
1270
+ ]);
1135
1271
  await applyPendingMigrations(connectionString);
1136
1272
  const verifySql = postgres(connectionString, { max: 1, onnotice: () => { } });
1137
1273
  try {
@@ -1164,7 +1300,7 @@ describe("applyPendingMigrations", () => {
1164
1300
  finally {
1165
1301
  await verifySql.end();
1166
1302
  }
1167
- }, 20_000);
1303
+ }, migrationTestTimeout(20_000));
1168
1304
  it("keeps a missing migration pending until the schema change really exists", async () => {
1169
1305
  const connectionString = await createTempDatabase();
1170
1306
  await applyPendingMigrations(connectionString);
@@ -1209,7 +1345,59 @@ describe("applyPendingMigrations", () => {
1209
1345
  finally {
1210
1346
  await verifySql.end();
1211
1347
  }
1212
- }, 20_000);
1348
+ }, migrationTestTimeout(20_000));
1349
+ it("rolls back every legacy column rename when a later rename fails", async () => {
1350
+ const connectionString = await createTempDatabase();
1351
+ await applyPendingMigrations(connectionString);
1352
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
1353
+ try {
1354
+ await sql.unsafe(`ALTER TABLE "agents" RENAME COLUMN "agent_runtime_type" TO "adapter_type"`);
1355
+ await sql.unsafe(`ALTER TABLE "agents" RENAME COLUMN "agent_runtime_config" TO "adapter_config"`);
1356
+ await sql.unsafe(`ALTER TABLE "agent_runtime_state" RENAME COLUMN "agent_runtime_type" TO "adapter_type"`);
1357
+ await sql.unsafe(`
1358
+ CREATE FUNCTION fail_legacy_column_rename() RETURNS event_trigger
1359
+ LANGUAGE plpgsql AS $$
1360
+ BEGIN
1361
+ IF current_query() LIKE '%"agent_runtime_state"%' THEN
1362
+ RAISE EXCEPTION 'intentional legacy rename failure';
1363
+ END IF;
1364
+ END;
1365
+ $$
1366
+ `);
1367
+ await sql.unsafe(`
1368
+ CREATE EVENT TRIGGER fail_legacy_column_rename_trigger
1369
+ ON ddl_command_start
1370
+ EXECUTE FUNCTION fail_legacy_column_rename()
1371
+ `);
1372
+ }
1373
+ finally {
1374
+ await sql.end();
1375
+ }
1376
+ await expect(normalizeLegacyColumnNames(connectionString)).rejects.toThrow("intentional legacy rename failure");
1377
+ const cleanupSql = postgres(connectionString, { max: 1, onnotice: () => { } });
1378
+ try {
1379
+ await cleanupSql.unsafe(`DROP EVENT TRIGGER fail_legacy_column_rename_trigger`);
1380
+ await cleanupSql.unsafe(`DROP FUNCTION fail_legacy_column_rename()`);
1381
+ const columns = await cleanupSql.unsafe(`
1382
+ SELECT table_name, column_name
1383
+ FROM information_schema.columns
1384
+ WHERE table_schema = 'public'
1385
+ AND table_name IN ('agents', 'agent_runtime_state')
1386
+ AND column_name IN (
1387
+ 'agent_runtime_type', 'agent_runtime_config', 'adapter_type', 'adapter_config'
1388
+ )
1389
+ ORDER BY table_name, column_name
1390
+ `);
1391
+ expect(columns).toEqual([
1392
+ { table_name: "agent_runtime_state", column_name: "adapter_type" },
1393
+ { table_name: "agents", column_name: "adapter_config" },
1394
+ { table_name: "agents", column_name: "adapter_type" },
1395
+ ]);
1396
+ }
1397
+ finally {
1398
+ await cleanupSql.end();
1399
+ }
1400
+ }, migrationTestTimeout(20_000));
1213
1401
  it("enforces a unique board_api_keys.key_hash after migration 0044", async () => {
1214
1402
  const connectionString = await createTempDatabase();
1215
1403
  await applyPendingMigrations(connectionString);
@@ -1231,6 +1419,6 @@ describe("applyPendingMigrations", () => {
1231
1419
  finally {
1232
1420
  await sql.end();
1233
1421
  }
1234
- }, 20_000);
1422
+ }, migrationTestTimeout(20_000));
1235
1423
  });
1236
1424
  //# sourceMappingURL=client.test.js.map