From 4a88701a247c58303020b4680a784fb8ac8121b7 Mon Sep 17 00:00:00 2001 From: Colson Donohue Date: Mon, 14 Sep 2026 17:10:07 -0400 Subject: [PATCH 1/3] enable tree shaking proxy/utils --- packages/proxy/package.json | 4 +++- packages/proxy/tsup.config.ts | 11 ++++++----- packages/proxy/utils/package.json | 3 +++ 3 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 packages/proxy/utils/package.json diff --git a/packages/proxy/package.json b/packages/proxy/package.json index 3c952ae7..6404848e 100644 --- a/packages/proxy/package.json +++ b/packages/proxy/package.json @@ -63,7 +63,9 @@ "schema/dist/**/*", "schema/translate/dist/**/*", "types/dist/**/*", - "providers/dist/**/*" + "providers/dist/**/*", + "utils/dist/**/*", + "utils/package.json" ], "license": "MIT", "publishConfig": { diff --git a/packages/proxy/tsup.config.ts b/packages/proxy/tsup.config.ts index aff73933..7683163d 100644 --- a/packages/proxy/tsup.config.ts +++ b/packages/proxy/tsup.config.ts @@ -26,11 +26,12 @@ export default [ dts: true, }, { - entry: ["utils/index.ts"], - format: ["cjs", "esm"], - outDir: "utils/dist", - dts: true, - }, + entry: ["utils/*.ts", "!utils/*.test.ts", "!utils/tests.ts"], + format: ["cjs", "esm"], + outDir: "utils/dist", + dts: true, + splitting: true, + }, { entry: ["types/index.ts"], format: ["cjs", "esm"], diff --git a/packages/proxy/utils/package.json b/packages/proxy/utils/package.json new file mode 100644 index 00000000..a4382915 --- /dev/null +++ b/packages/proxy/utils/package.json @@ -0,0 +1,3 @@ +{ + "sideEffects": false +} From ddbaa76bf1c8f455ab69701776b79e10c7bf85d5 Mon Sep 17 00:00:00 2001 From: Colson Donohue Date: Mon, 14 Sep 2026 17:14:23 -0400 Subject: [PATCH 2/3] fix indentation --- packages/proxy/tsup.config.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/proxy/tsup.config.ts b/packages/proxy/tsup.config.ts index 7683163d..28b02da5 100644 --- a/packages/proxy/tsup.config.ts +++ b/packages/proxy/tsup.config.ts @@ -26,12 +26,12 @@ export default [ dts: true, }, { - entry: ["utils/*.ts", "!utils/*.test.ts", "!utils/tests.ts"], - format: ["cjs", "esm"], - outDir: "utils/dist", - dts: true, - splitting: true, - }, + entry: ["utils/*.ts", "!utils/*.test.ts", "!utils/tests.ts"], + format: ["cjs", "esm"], + outDir: "utils/dist", + dts: true, + splitting: true, + }, { entry: ["types/index.ts"], format: ["cjs", "esm"], From 2c2a4f1d00bdb972c57b4e989467c80a47c2fae6 Mon Sep 17 00:00:00 2001 From: Colson Donohue Date: Wed, 16 Sep 2026 14:06:35 -0400 Subject: [PATCH 3/3] more splitting --- packages/proxy/src/providers/anthropic.ts | 2 +- packages/proxy/src/providers/google-converter.ts | 2 +- packages/proxy/src/providers/util.ts | 2 +- packages/proxy/utils/budget.ts | 12 ++++++++++++ packages/proxy/utils/index.ts | 15 ++------------- 5 files changed, 17 insertions(+), 16 deletions(-) create mode 100644 packages/proxy/utils/budget.ts diff --git a/packages/proxy/src/providers/anthropic.ts b/packages/proxy/src/providers/anthropic.ts index 86e96580..b8814357 100644 --- a/packages/proxy/src/providers/anthropic.ts +++ b/packages/proxy/src/providers/anthropic.ts @@ -28,7 +28,7 @@ import { ChatCompletionToolMessageParam, } from "openai/resources"; import { ModelSpec, isImageMediaType, isTextBasedMediaType } from "@schema"; -import { getBudgetMultiplier } from "utils"; +import { getBudgetMultiplier } from "utils/budget"; import { cleanOpenAIParams } from "utils/openai"; import { v4 as uuidv4 } from "uuid"; import { z } from "zod"; diff --git a/packages/proxy/src/providers/google-converter.ts b/packages/proxy/src/providers/google-converter.ts index 84fd9c47..03484f7f 100644 --- a/packages/proxy/src/providers/google-converter.ts +++ b/packages/proxy/src/providers/google-converter.ts @@ -20,7 +20,7 @@ import type { OpenAIChatCompletionCreateParams, OpenAICompletionUsage, } from "../../types"; -import { getBudgetMultiplier } from "../../utils"; +import { getBudgetMultiplier } from "../../utils/budget"; import type { ModelSpec } from "@schema"; import { cleanOpenAIParams } from "../../utils/openai"; import { v4 as uuidv4 } from "uuid"; diff --git a/packages/proxy/src/providers/util.ts b/packages/proxy/src/providers/util.ts index 0d44c7e7..5b8e5d27 100644 --- a/packages/proxy/src/providers/util.ts +++ b/packages/proxy/src/providers/util.ts @@ -3,7 +3,7 @@ import { type IncomingHttpHeaders } from "node:http"; import { request as httpRequest } from "node:http"; import { request as httpsRequest } from "node:https"; import { Readable } from "node:stream"; -import { arrayBufferToBase64 } from "utils"; +import { arrayBufferToBase64 } from "utils/encrypt"; const base64MediaPattern = /^data:([a-zA-Z0-9]+\/[a-zA-Z0-9+.-]+);base64,([A-Za-z0-9+/]+={0,2})$/; diff --git a/packages/proxy/utils/budget.ts b/packages/proxy/utils/budget.ts new file mode 100644 index 00000000..f91c7e3e --- /dev/null +++ b/packages/proxy/utils/budget.ts @@ -0,0 +1,12 @@ +const effortToBudgetMultiplier = { + minimal: 0, + low: 0.2, + medium: 0.5, + high: 0.8, +} as const; + +export const getBudgetMultiplier = ( + effort: keyof typeof effortToBudgetMultiplier, +) => { + return effortToBudgetMultiplier[effort] || effortToBudgetMultiplier.low; +}; diff --git a/packages/proxy/utils/index.ts b/packages/proxy/utils/index.ts index ebcf2380..a0394c92 100644 --- a/packages/proxy/utils/index.ts +++ b/packages/proxy/utils/index.ts @@ -11,21 +11,10 @@ export { verifyTempCredentials, } from "./tempCredentials"; +export { getBudgetMultiplier } from "./budget"; + export { makeWavFile, makeMp3File } from "./audioEncoder"; export function getCurrentUnixTimestamp(): number { return Date.now() / 1000; } - -export const effortToBudgetMultiplier = { - minimal: 0, - low: 0.2, - medium: 0.5, - high: 0.8, -} as const; - -export const getBudgetMultiplier = ( - effort: keyof typeof effortToBudgetMultiplier, -) => { - return effortToBudgetMultiplier[effort] || effortToBudgetMultiplier.low; -};