diff --git a/sdk/typescript/src/scan-history-renderer.ts b/sdk/typescript/src/scan-history-renderer.ts index 1c4e79a0..f8d2fe6d 100644 --- a/sdk/typescript/src/scan-history-renderer.ts +++ b/sdk/typescript/src/scan-history-renderer.ts @@ -246,7 +246,11 @@ export function renderScanHistory( if (config && Object.keys(config).length > 0) { lines.push( ` ${strong("CONFIGURATION")} ${Object.entries(config) - .map(([key, value]) => `${clean(key)}=${clean(value)}`) + .map(([key, value]) => { + const rendered = + typeof value === "object" ? JSON.stringify(value) : value; + return `${clean(key)}=${clean(rendered)}`; + }) .join(` ${accent("ยท")} `)}`, ); } diff --git a/sdk/typescript/tests-ts/scan-history-renderer.test.ts b/sdk/typescript/tests-ts/scan-history-renderer.test.ts index 465209d7..fe0a3e3b 100644 --- a/sdk/typescript/tests-ts/scan-history-renderer.test.ts +++ b/sdk/typescript/tests-ts/scan-history-renderer.test.ts @@ -204,7 +204,12 @@ describe("scan history renderer", () => { findingsTruncated: true, artifacts: { markdownReport: "/demo/results/report.md" }, recipe: { - config: { model: "gpt-5.6-sol", model_reasoning_effort: "high" }, + config: { + model: "gpt-5.6-sol", + model_reasoning_effort: "high", + features: { goals: true, multi_agent_v2: { enabled: true } }, + trusted_paths: ["src", "packages/core"], + }, }, findings: Array.from({ length: 20 }, (_, index) => ({ severity: { level: "high" }, @@ -218,6 +223,8 @@ describe("scan history renderer", () => { "PARENT SCAN 87654321", "CONFIGURATION", "model=gpt-5.6-sol", + 'features={"goals":true,"multi_agent_v2":{"enabled":true}}', + 'trusted_paths=["src","packages/core"]', "COVERAGE", "12 of 15 reviewed", "9 files",