diff --git a/packages/proxy/schema/index.test.ts b/packages/proxy/schema/index.test.ts index e6db0751..3dc059d1 100644 --- a/packages/proxy/schema/index.test.ts +++ b/packages/proxy/schema/index.test.ts @@ -1,7 +1,7 @@ import { MessageCreateParamsBase } from "@anthropic-ai/sdk/resources/messages"; import { GenerateContentParameters } from "../types/google"; import { ChatCompletionCreateParams } from "openai/resources"; -import { describe, expect, it } from "vitest"; +import { describe, expect, expectTypeOf, it } from "vitest"; import { APISecretSchema } from "./secrets"; import { ModelFormat } from "./index"; import { translateParams } from "./translate"; @@ -325,6 +325,19 @@ describe("APISecretSchema compatibility", () => { }); }); + it("accepts org ids as a top-level API secret field", () => { + const parsed = APISecretSchema.parse({ + secret: "provider-secret", + type: "openai", + org_id: "org-id", + org_name: "org-name", + metadata: {}, + }); + + expectTypeOf(parsed.org_id).toEqualTypeOf(); + expect(parsed.org_id).toBe("org-id"); + }); + it("accepts Anthropic OAuth bearer metadata", () => { const parsed = APISecretSchema.parse({ secret: "anthropic-access-token", diff --git a/packages/proxy/schema/secrets.ts b/packages/proxy/schema/secrets.ts index c471e0a6..9f503be9 100644 --- a/packages/proxy/schema/secrets.ts +++ b/packages/proxy/schema/secrets.ts @@ -156,6 +156,7 @@ export const BraintrustMetadataSchema = BaseMetadataSchema.merge( const APISecretBaseSchema = z .object({ id: z.string().uuid().nullish(), + org_id: z.string().nullish(), org_name: z.string().nullish(), name: z.string().nullish(), secret: z.string(),