|
@@ -31,7 +31,7 @@ it.live("headerTimeout does not abort delayed SSE body after headers arrive", ()
|
|
|
provideTmpdirServer(
|
|
provideTmpdirServer(
|
|
|
({ llm }) =>
|
|
({ llm }) =>
|
|
|
Effect.gen(function* () {
|
|
Effect.gen(function* () {
|
|
|
- yield* llm.push(reply().wait(Bun.sleep(250)).text("late").stop())
|
|
|
|
|
|
|
+ yield* llm.push(reply().wait(deferredSleep(250)).text("late").stop())
|
|
|
|
|
|
|
|
const provider = yield* Provider.Service
|
|
const provider = yield* Provider.Service
|
|
|
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
|
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
|
@@ -63,7 +63,7 @@ it.live("chunkTimeout raises a response stream error when SSE body stalls", () =
|
|
|
provideTmpdirServer(
|
|
provideTmpdirServer(
|
|
|
({ llm }) =>
|
|
({ llm }) =>
|
|
|
Effect.gen(function* () {
|
|
Effect.gen(function* () {
|
|
|
- yield* llm.push(reply().wait(Bun.sleep(250)).text("late").stop())
|
|
|
|
|
|
|
+ yield* llm.push(reply().wait(deferredSleep(250)).text("late").stop())
|
|
|
|
|
|
|
|
const provider = yield* Provider.Service
|
|
const provider = yield* Provider.Service
|
|
|
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
|
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
|
@@ -192,6 +192,12 @@ function providerConfig(url: string, options: Record<string, unknown> = {}) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function deferredSleep(ms: number): PromiseLike<void> {
|
|
|
|
|
+ return {
|
|
|
|
|
+ then: (resolve, reject) => Bun.sleep(ms).then(resolve, reject),
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
async function delayedHeaderServer(delay: number): Promise<{ server: Server; url: string }> {
|
|
async function delayedHeaderServer(delay: number): Promise<{ server: Server; url: string }> {
|
|
|
const server = createServer((_, res) => {
|
|
const server = createServer((_, res) => {
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|