diff --git a/apps/api/src/controllers/v0/admin/autumn-health.ts b/apps/api/src/controllers/v0/admin/autumn-health.ts index af3cb09ab4..7c074b4eab 100644 --- a/apps/api/src/controllers/v0/admin/autumn-health.ts +++ b/apps/api/src/controllers/v0/admin/autumn-health.ts @@ -2,9 +2,10 @@ import { Request, Response } from "express"; import { randomUUID } from "crypto"; import { logger } from "../../../lib/logger"; import { autumnClient } from "../../../services/autumn/client"; - -const CREDITS_FEATURE_ID = "CREDITS"; -const TEAM_FEATURE_ID = "TEAM"; +import { + CREDITS_FEATURE_ID, + TEAM_FEATURE_ID, +} from "../../../services/autumn/autumn.service"; type StepStatus = "healthy" | "unhealthy" | "skipped"; diff --git a/apps/api/src/controllers/v1/token-usage.ts b/apps/api/src/controllers/v1/token-usage.ts index 60deda6e5f..23c43d8f9d 100644 --- a/apps/api/src/controllers/v1/token-usage.ts +++ b/apps/api/src/controllers/v1/token-usage.ts @@ -1,8 +1,6 @@ import { Response } from "express"; import { ErrorResponse, RequestWithAuth } from "./types"; -import { getTeamBalance } from "../../services/autumn/usage"; - -const TOKENS_PER_CREDIT = 15; +import { getTeamBalance, TOKENS_PER_CREDIT } from "../../services/autumn/usage"; interface TokenUsageResponse { success: true; diff --git a/apps/api/src/controllers/v2/token-usage.ts b/apps/api/src/controllers/v2/token-usage.ts index e85cfe05b2..7ea466f713 100644 --- a/apps/api/src/controllers/v2/token-usage.ts +++ b/apps/api/src/controllers/v2/token-usage.ts @@ -1,8 +1,6 @@ import { Response } from "express"; import { ErrorResponse, RequestWithAuth } from "./types"; -import { getTeamBalance } from "../../services/autumn/usage"; - -const TOKENS_PER_CREDIT = 15; +import { getTeamBalance, TOKENS_PER_CREDIT } from "../../services/autumn/usage"; interface TokenUsageResponse { success: true; diff --git a/apps/api/src/lib/exchange.ts b/apps/api/src/lib/exchange.ts index c599e1e6f2..41518418b3 100644 --- a/apps/api/src/lib/exchange.ts +++ b/apps/api/src/lib/exchange.ts @@ -50,12 +50,12 @@ export type ExchangeScrapeMetadata = { integrationId?: string; }; -export type ExchangeTerms = { +type ExchangeTerms = { key: string; version: string; }; -export type ExchangeProvider = { +type ExchangeProvider = { id: string; creditsCost: number; terms?: ExchangeTerms; @@ -227,7 +227,10 @@ async function getExchangeProviders(): Promise { return providersRequest; } -function providerMatchesUrl(provider: ExchangeProvider, inputUrl: string): boolean { +function providerMatchesUrl( + provider: ExchangeProvider, + inputUrl: string, +): boolean { let parsed: URL; try { parsed = new URL(inputUrl); @@ -265,7 +268,9 @@ export async function resolveExchangeProvider( return null; } - return providers.find(provider => providerMatchesUrl(provider, inputUrl)) ?? null; + return ( + providers.find(provider => providerMatchesUrl(provider, inputUrl)) ?? null + ); } export function getExchangeRequestLogContext(inputUrl: string): @@ -365,7 +370,9 @@ function getProviderAccessDecision( const entry = typeof access === "object" && access !== null ? access : null; if (provider.terms === undefined) { - return entry !== null && entry.status !== "enabled" ? "not_enabled" : "allowed"; + return entry !== null && entry.status !== "enabled" + ? "not_enabled" + : "allowed"; } if (entry === null) { diff --git a/apps/api/src/services/autumn/autumn.service.ts b/apps/api/src/services/autumn/autumn.service.ts index f757f04622..001c8f1ff3 100644 --- a/apps/api/src/services/autumn/autumn.service.ts +++ b/apps/api/src/services/autumn/autumn.service.ts @@ -18,7 +18,7 @@ import type { TrackParams, } from "./types"; -const TEAM_FEATURE_ID = "TEAM"; +export const TEAM_FEATURE_ID = "TEAM"; export const CREDITS_FEATURE_ID = "CREDITS"; export const SEARCH_CREDITS_FEATURE_ID = "SEARCH_CREDITS"; diff --git a/apps/api/src/services/autumn/client.ts b/apps/api/src/services/autumn/client.ts index 7fba5b8593..2e10e42678 100644 --- a/apps/api/src/services/autumn/client.ts +++ b/apps/api/src/services/autumn/client.ts @@ -2,13 +2,10 @@ import { Autumn } from "autumn-js"; import { config } from "../../config"; import { logger } from "../../lib/logger"; -let missingKeyWarned = false; - -if (!config.AUTUMN_SECRET_KEY && !missingKeyWarned) { +if (!config.AUTUMN_SECRET_KEY) { logger.warn( "AUTUMN_SECRET_KEY is not set - add AUTUMN_SECRET_KEY to enable Autumn", ); - missingKeyWarned = true; } export const autumnClient = config.AUTUMN_SECRET_KEY diff --git a/apps/api/src/services/autumn/usage.ts b/apps/api/src/services/autumn/usage.ts index b2878e74de..bab6377464 100644 --- a/apps/api/src/services/autumn/usage.ts +++ b/apps/api/src/services/autumn/usage.ts @@ -3,9 +3,9 @@ import { eq, inArray } from "drizzle-orm"; import { dbRr } from "../../db/connection"; import * as schema from "../../db/schema"; import { autumnClient } from "./client"; +import { CREDITS_FEATURE_ID } from "./autumn.service"; -const CREDITS_FEATURE_ID = "CREDITS"; -const TOKENS_PER_CREDIT = 15; +export const TOKENS_PER_CREDIT = 15; const HISTORICAL_RANGE = "90d"; const HISTORICAL_BIN_SIZE = "day";