From c8e659959f4546f62575c19ea81e1df5f85d5d33 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 15 Feb 2026 06:03:07 +0000 Subject: [PATCH] Cover line-separator 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 417c7a907..3ab020daa 100644 --- a/docs/tasks/streams.mdx +++ b/docs/tasks/streams.mdx @@ -682,6 +682,7 @@ Examples: - ❌ `https://api.trigger.dev/\rinternal` - ❌ `https://api.trigger.dev/\u200Binternal` - ❌ `https://api.trigger.dev/\u202Finternal` +- ❌ `https://api.trigger.dev/\u2028internal` - ❌ `https://api.trigger.dev/\uFEFFinternal` Validation errors use these exact messages: diff --git a/packages/ai/README.md b/packages/ai/README.md index fcde3f518..d6f883a15 100644 --- a/packages/ai/README.md +++ b/packages/ai/README.md @@ -189,6 +189,7 @@ Examples: - ❌ `https://api.trigger.dev/\rinternal` (internal carriage-return characters) - ❌ `https://api.trigger.dev/\u200Binternal` (internal zero-width-space characters) - ❌ `https://api.trigger.dev/\u202Finternal` (internal narrow no-break space characters) +- ❌ `https://api.trigger.dev/\u2028internal` (internal line-separator characters) - ❌ `https://api.trigger.dev/\uFEFFinternal` (internal BOM characters) Validation errors use these exact messages: diff --git a/packages/ai/src/chatTransport.test.ts b/packages/ai/src/chatTransport.test.ts index 300d952af..29b878423 100644 --- a/packages/ai/src/chatTransport.test.ts +++ b/packages/ai/src/chatTransport.test.ts @@ -786,6 +786,17 @@ describe("TriggerChatTransport", function () { }).toThrowError("baseURL must not contain internal whitespace characters"); }); + it("throws when baseURL contains internal line-separator characters", function () { + expect(function () { + new TriggerChatTransport({ + task: "chat-task", + accessToken: "pk_trigger", + baseURL: "https://api.trigger.dev/\u2028internal", + 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({ @@ -3481,6 +3492,17 @@ describe("TriggerChatTransport", function () { }).toThrowError("baseURL must not contain internal whitespace characters"); }); + it("throws from factory when baseURL contains internal line-separator characters", function () { + expect(function () { + createTriggerChatTransport({ + task: "chat-task", + accessToken: "pk_trigger", + baseURL: "https://api.trigger.dev/\u2028internal", + 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({