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

+21 -25
View File
@@ -3,20 +3,13 @@ import { describe, expect, it } from "vitest";
import { buildBaseOptions } from "../src/api/simple-options.ts";
import { generateImages } from "../src/images.ts";
import { registerImagesApiProvider } from "../src/images-api-registry.ts";
import { createImagesModels, createImagesProvider } from "../src/images-models.ts";
import { createModels, createProvider } from "../src/models.ts";
import type {
Context,
DeferredHandle,
ImagesContext,
ImagesModel,
Model,
ProviderRequestOptions,
} from "../src/types.ts";
import type { DeferredHandle, ImageModel, ImagesContext, Model, ProviderRequestOptions } from "../src/types.ts";
import { AssistantMessageEventStream } from "../src/utils/event-stream.ts";
import { normalizeContext } from "../src/utils/transcript.ts";
const telemetryContext: TelemetryContext = NOOP_TELEMETRY_CONTEXT;
const context: Context = { messages: [] };
const context = normalizeContext({ messages: [] });
const imagesContext: ImagesContext = { input: [{ type: "text", text: "circle" }] };
const model: Model<"telemetry-test"> = {
@@ -32,7 +25,8 @@ const model: Model<"telemetry-test"> = {
maxTokens: 100,
};
const imageModel: ImagesModel<"telemetry-test-images"> = {
const imageModel: ImageModel<"telemetry-test-images"> = {
type: "image",
id: "image-model",
name: "Image Model",
api: "telemetry-test-images",
@@ -125,7 +119,7 @@ describe("ProviderRequestOptions.telemetryContext", () => {
expect(observed.every((value) => value === telemetryContext)).toBe(true);
});
it("survives direct and ImagesModels image dispatch", async () => {
it("survives direct and Models image dispatch", async () => {
const observed: Array<TelemetryContext | undefined> = [];
registerImagesApiProvider({
api: imageModel.api,
@@ -143,23 +137,25 @@ describe("ProviderRequestOptions.telemetryContext", () => {
});
await generateImages(imageModel, imagesContext, { telemetryContext });
const models = createImagesModels();
const models = createModels();
models.setProvider(
createImagesProvider({
createProvider({
id: imageModel.provider,
auth: { apiKey: { name: "Test", resolve: async () => ({ auth: {} }) } },
models: [imageModel],
api: {
generateImages: async (requestModel, _context, options) => {
observed.push(options?.telemetryContext);
return {
api: requestModel.api,
provider: requestModel.provider,
model: requestModel.id,
output: [],
stopReason: "stop",
timestamp: 0,
};
images: {
[imageModel.api]: {
generateImages: async (requestModel, _context, options) => {
observed.push(options?.telemetryContext);
return {
api: requestModel.api,
provider: requestModel.provider,
model: requestModel.id,
output: [],
stopReason: "stop",
timestamp: 0,
};
},
},
},
}),