From d2221fad0c661fcc406fd37042f1bf81e2dcc34f Mon Sep 17 00:00:00 2001 From: Rehan Sanjay Date: Wed, 15 Jul 2026 12:16:17 +0530 Subject: [PATCH] fix(sdk): resolve ReferenceError in envvars.update outside task context (#4264) --- packages/trigger-sdk/src/v3/envvars.ts | 6 +++++- packages/trigger-sdk/src/v3/triggerClient.types.test.ts | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/trigger-sdk/src/v3/envvars.ts b/packages/trigger-sdk/src/v3/envvars.ts index 153be22a3d3..23a2a4341fc 100644 --- a/packages/trigger-sdk/src/v3/envvars.ts +++ b/packages/trigger-sdk/src/v3/envvars.ts @@ -332,13 +332,17 @@ export function update( throw new Error("projectRef is required"); } + if (typeof nameOrRequestOptions !== "string") { + throw new Error("name is required"); + } + if (!params) { throw new Error("params is required"); } $projectRef = projectRefOrName; $slug = slugOrParams; - $name = name!; + $name = nameOrRequestOptions; $params = params; } diff --git a/packages/trigger-sdk/src/v3/triggerClient.types.test.ts b/packages/trigger-sdk/src/v3/triggerClient.types.test.ts index 1a04e46e1e7..0e9c18c8b5a 100644 --- a/packages/trigger-sdk/src/v3/triggerClient.types.test.ts +++ b/packages/trigger-sdk/src/v3/triggerClient.types.test.ts @@ -40,6 +40,13 @@ describe("TriggerClient surface — type-level guarantees", () => { // Zero-arg form (uses task context — still typeable at the call site) expectTypeOf(client.envvars.list).toBeCallableWith(); }); + + it("preserves envvars.update overloads (out of task context form AND in-task form)", () => { + // Four-arg form (out-of-task context: projectRef, slug, name, params) + expectTypeOf(client.envvars.update).toBeCallableWith("proj_1234", "dev", "MY_VAR", { value: "secret" }); + // Two-arg form (in-task context: name, params) + expectTypeOf(client.envvars.update).toBeCallableWith("MY_VAR", { value: "secret" }); + }); }); describe("TriggerClient surface — curated subsets", () => {