From bc320a7e8042dd086646be7a95ebf799415eabee Mon Sep 17 00:00:00 2001 From: Olmo Maldonado Date: Thu, 21 May 2026 14:18:05 -0700 Subject: [PATCH] add org_id --- packages/proxy/schema/index.test.ts | 15 ++++++++++++++- packages/proxy/schema/secrets.ts | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) 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 4c9eef03..8ffcb1c5 100644 --- a/packages/proxy/schema/secrets.ts +++ b/packages/proxy/schema/secrets.ts @@ -154,6 +154,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(),