chore(vendor): import pi 1.3.0

Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
alexion committed 2026-10-15 17:58:48 -04:00
1 parent 719370c8f7
commit 6081e3e325
1743 files changed
+205459 -131704

No files matched your search

@@ -1,6 +1,6 @@
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { stream as streamOpenAICompletions } from "../src/api/openai-completions.ts";
import { getModel } from "../src/compat.ts";
import { getModel, normalizeContext } from "../src/compat.ts";
import type { Model } from "../src/types.ts";
interface FakeOpenAIClientOptions {
@@ -99,10 +99,10 @@ describe("openai-completions prompt caching", () => {
) {
await streamOpenAICompletions(
model,
{
normalizeContext({
systemPrompt: "sys",
messages: [{ role: "user", content: "hi", timestamp: Date.now() }],
},
}),
{ apiKey: "test-key", ...options },
).result();
@@ -171,7 +171,7 @@ describe("openai-completions prompt caching", () => {
expect(headers["x-session-affinity"]).toBe("session-affinity");
});
it.each(["accounts/fireworks/models/glm-5p2", "accounts/fireworks/routers/glm-5p2-fast"] as const)(
it.each(["accounts/fireworks/models/glm-5p3", "accounts/fireworks/routers/glm-5p3-fast"] as const)(
"sends Fireworks session affinity for %s",
async (modelId) => {
const model = getModel("fireworks", modelId);
@@ -181,6 +181,14 @@ describe("openai-completions prompt caching", () => {
},
);
it("sends Baseten session affinity for built-in catalog models", async () => {
const model = getModel("baseten", "zai-org/GLM-5.2");
const { headers } = await captureRequest({ sessionId: "baseten-catalog-session" }, model);
expect(headers["x-session-affinity"]).toBe("baseten-catalog-session");
expect(headers["x-client-request-id"]).toBe("baseten-catalog-session");
});
it("uses OpenAI no-session format when configured", async () => {
const model = createModel({
compat: { sendSessionAffinityHeaders: true, sessionAffinityFormat: "openai-nosession" },
@@ -210,12 +218,8 @@ describe("openai-completions prompt caching", () => {
expect(headers["x-session-affinity"]).toBeUndefined();
});
it("auto-detects OpenRouter session-affinity header for OpenRouter endpoints", async () => {
const model = createModel({
provider: "openrouter",
baseUrl: "https://openrouter.ai/api/v1",
compat: { sendSessionAffinityHeaders: true },
});
it("sends OpenRouter session-affinity header by default for built-in OpenRouter models", async () => {
const model = getModel("openrouter", "auto");
const { payload, headers } = await captureRequest({ sessionId: "session-openrouter" }, model);
expect(payload?.session_id).toBeUndefined();
@@ -230,6 +234,7 @@ describe("openai-completions prompt caching", () => {
const model = createModel({
provider: "openrouter",
baseUrl: "https://openrouter.ai/api/v1",
compat: { sendSessionAffinityHeaders: false },
});
const { payload, headers } = await captureRequest({ sessionId: "session-openrouter" }, model);