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:
1 parent
719370c8f7
commit
6081e3e325
1743 files changed
+205459
-131704
No files matched your search
+21
-25
@@ -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,
|
||||
};
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
|
||||
Reference in new issue
Block a user