From 168cf85ff2060e6c13570516b70d7eb74c5129fa Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 15 Feb 2026 05:56:02 +0000 Subject: [PATCH] Cover form-feed baseURL whitespace validation Co-authored-by: Eric Allam --- docs/tasks/streams.mdx | 1 + packages/ai/README.md | 1 + packages/ai/src/chatTransport.test.ts | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/docs/tasks/streams.mdx b/docs/tasks/streams.mdx index 307095d1d..25f341f1e 100644 --- a/docs/tasks/streams.mdx +++ b/docs/tasks/streams.mdx @@ -677,6 +677,7 @@ Examples: - ❌ `https://api.trigger.dev/\ninternal` - ❌ `https://api.trigger.dev/\tinternal` - ❌ `https://api.trigger.dev/\vinternal` +- ❌ `https://api.trigger.dev/\finternal` - ❌ `https://api.trigger.dev/\rinternal` - ❌ `https://api.trigger.dev/\u200Binternal` - ❌ `https://api.trigger.dev/\uFEFFinternal` diff --git a/packages/ai/README.md b/packages/ai/README.md index 768d47067..61e418e94 100644 --- a/packages/ai/README.md +++ b/packages/ai/README.md @@ -184,6 +184,7 @@ Examples: - ❌ `https://api.trigger.dev/\ninternal` (internal whitespace characters) - ❌ `https://api.trigger.dev/\tinternal` (internal tab characters) - ❌ `https://api.trigger.dev/\vinternal` (internal vertical-tab characters) +- ❌ `https://api.trigger.dev/\finternal` (internal form-feed characters) - ❌ `https://api.trigger.dev/\rinternal` (internal carriage-return characters) - ❌ `https://api.trigger.dev/\u200Binternal` (internal zero-width-space characters) - ❌ `https://api.trigger.dev/\uFEFFinternal` (internal BOM characters) diff --git a/packages/ai/src/chatTransport.test.ts b/packages/ai/src/chatTransport.test.ts index d14e2e23a..3d34ac8db 100644 --- a/packages/ai/src/chatTransport.test.ts +++ b/packages/ai/src/chatTransport.test.ts @@ -753,6 +753,17 @@ describe("TriggerChatTransport", function () { }).toThrowError("baseURL must not contain internal whitespace characters"); }); + it("throws when baseURL contains internal form-feed characters", function () { + expect(function () { + new TriggerChatTransport({ + task: "chat-task", + accessToken: "pk_trigger", + baseURL: "https://api.trigger.dev/\finternal", + stream: "chat-stream", + }); + }).toThrowError("baseURL must not contain internal whitespace characters"); + }); + it("throws when baseURL contains internal carriage-return characters", function () { expect(function () { new TriggerChatTransport({ @@ -3415,6 +3426,17 @@ describe("TriggerChatTransport", function () { }).toThrowError("baseURL must not contain internal whitespace characters"); }); + it("throws from factory when baseURL contains internal form-feed characters", function () { + expect(function () { + createTriggerChatTransport({ + task: "chat-task", + accessToken: "pk_trigger", + baseURL: "https://api.trigger.dev/\finternal", + stream: "chat-stream", + }); + }).toThrowError("baseURL must not contain internal whitespace characters"); + }); + it("throws from factory when baseURL contains internal carriage-return characters", function () { expect(function () { createTriggerChatTransport({