From 6102be488e2a28ccaf3ab34fbc448b95eb91297b Mon Sep 17 00:00:00 2001 From: Andrey Avtomonov Date: Thu, 14 May 2026 15:33:34 +0200 Subject: [PATCH] fix(context): tolerate legacy setup.completed_steps and optional driver - Accept and drop the legacy setup.completed_steps field so existing ktx.yaml files migrated from older versions still load. - Make connections..driver optional in the schema; runtime code already produces a clear "no driver" error at use time. --- packages/context/src/project/config.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/context/src/project/config.ts b/packages/context/src/project/config.ts index b5b487e1..3d34ce2c 100644 --- a/packages/context/src/project/config.ts +++ b/packages/context/src/project/config.ts @@ -99,9 +99,12 @@ const scanSchema = z.strictObject({ relationships: scanRelationshipsSchema.prefault({}), }); -const setupSchema = z.strictObject({ - database_connection_ids: z.array(z.string().min(1)).default([]), -}); +const setupSchema = z + .strictObject({ + database_connection_ids: z.array(z.string().min(1)).default([]), + completed_steps: z.unknown().optional(), + }) + .transform(({ database_connection_ids }) => ({ database_connection_ids })); const storageGitSchema = z.strictObject({ auto_commit: z.boolean().default(true), @@ -115,7 +118,7 @@ const storageSchema = z.strictObject({ }); const connectionSchema = z.looseObject({ - driver: z.string().min(1), + driver: z.string().min(1).optional(), url: z.string().optional(), });