From 9bf41e62aab4fcff9f9b49e6bf97eff1bc47dcd0 Mon Sep 17 00:00:00 2001 From: caballeto Date: Mon, 4 May 2026 15:53:28 +0200 Subject: [PATCH] chore(tests): add forensics ops to run-sdk harness MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Forensics resource (design 046) was added to the SDK in v0.6.0 but the test harness was never updated to dispatch the 5 ops, which caused the mono parity check (TestHarnessCompleteness) to fail after the release. Adds dispatch cases for: - forensics.incident-timeline → client.forensics.incidentTimeline - forensics.check-trace → client.forensics.checkTrace - forensics.policy-snapshot → client.forensics.policySnapshot - forensics.monitor-rule-evaluations → client.forensics.monitorRuleEvaluations - forensics.monitor-transitions → client.forensics.monitorTransitions The paginated ops accept an optional JSON-encoded filter object as a second arg, matching the existing monitors.results / monitors.versions convention. Co-authored-by: Cursor --- test/run-sdk.mjs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/run-sdk.mjs b/test/run-sdk.mjs index 6386a98..8e2e6ed 100644 --- a/test/run-sdk.mjs +++ b/test/run-sdk.mjs @@ -167,6 +167,13 @@ async function run() { case 'status-pages.subscribers.add': return client.statusPages.subscribers.add(rest[0], JSON.parse(rest[1])) case 'status-pages.subscribers.remove': return void await client.statusPages.subscribers.remove(rest[0], rest[1]) + // ── Forensics ── + case 'forensics.incident-timeline': return client.forensics.incidentTimeline(rest[0]) + case 'forensics.check-trace': return client.forensics.checkTrace(rest[0]) + case 'forensics.policy-snapshot': return client.forensics.policySnapshot(rest[0]) + case 'forensics.monitor-rule-evaluations': return client.forensics.monitorRuleEvaluations(rest[0], rest[1] ? JSON.parse(rest[1]) : {}) + case 'forensics.monitor-transitions': return client.forensics.monitorTransitions(rest[0], rest[1] ? JSON.parse(rest[1]) : {}) + // ── Status Page Domains ── case 'status-pages.domains.list': return client.statusPages.domains.list(rest[0]) case 'status-pages.domains.add': return client.statusPages.domains.add(rest[0], JSON.parse(rest[1]))