Skip to content

Commit d2221fa

Browse files
committed
fix(sdk): resolve ReferenceError in envvars.update outside task context (#4264)
1 parent 2aa6420 commit d2221fa

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

packages/trigger-sdk/src/v3/envvars.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,13 +332,17 @@ export function update(
332332
throw new Error("projectRef is required");
333333
}
334334

335+
if (typeof nameOrRequestOptions !== "string") {
336+
throw new Error("name is required");
337+
}
338+
335339
if (!params) {
336340
throw new Error("params is required");
337341
}
338342

339343
$projectRef = projectRefOrName;
340344
$slug = slugOrParams;
341-
$name = name!;
345+
$name = nameOrRequestOptions;
342346
$params = params;
343347
}
344348

packages/trigger-sdk/src/v3/triggerClient.types.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ describe("TriggerClient surface — type-level guarantees", () => {
4040
// Zero-arg form (uses task context — still typeable at the call site)
4141
expectTypeOf(client.envvars.list).toBeCallableWith();
4242
});
43+
44+
it("preserves envvars.update overloads (out of task context form AND in-task form)", () => {
45+
// Four-arg form (out-of-task context: projectRef, slug, name, params)
46+
expectTypeOf(client.envvars.update).toBeCallableWith("proj_1234", "dev", "MY_VAR", { value: "secret" });
47+
// Two-arg form (in-task context: name, params)
48+
expectTypeOf(client.envvars.update).toBeCallableWith("MY_VAR", { value: "secret" });
49+
});
4350
});
4451

4552
describe("TriggerClient surface — curated subsets", () => {

0 commit comments

Comments
 (0)