diff --git a/github/sst-env.d.ts b/github/sst-env.d.ts index 6b69016e71..f742a12004 100644 --- a/github/sst-env.d.ts +++ b/github/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/infra/console.ts b/infra/console.ts index eddc97d2f1..e090cd90a9 100644 --- a/infra/console.ts +++ b/infra/console.ts @@ -116,7 +116,8 @@ const gatewayKv = new sst.cloudflare.Kv("GatewayKv") // CONSOLE //////////////// -const bucket = new sst.cloudflare.Bucket("ConsoleData") +const oldBucket = new sst.cloudflare.Bucket("ConsoleData") +const bucket = new sst.cloudflare.Bucket("ZenData") const AWS_SES_ACCESS_KEY_ID = new sst.Secret("AWS_SES_ACCESS_KEY_ID") const AWS_SES_SECRET_ACCESS_KEY = new sst.Secret("AWS_SES_SECRET_ACCESS_KEY") diff --git a/packages/console/app/src/routes/zen/util/dataDumper.ts b/packages/console/app/src/routes/zen/util/dataDumper.ts index 6a064138a7..155cc6c58b 100644 --- a/packages/console/app/src/routes/zen/util/dataDumper.ts +++ b/packages/console/app/src/routes/zen/util/dataDumper.ts @@ -1,25 +1,37 @@ import { Resource, waitUntil } from "@opencode-ai/console-resource" -export function createDataDumper(sessionId: string, requestId: string) { +export function createDataDumper(sessionId: string, requestId: string, projectId: string) { if (Resource.App.stage !== "production") return + if (sessionId === "") return - let data: Record = {} - let modelName: string | undefined + let data: Record = { sessionId, requestId, projectId } + let metadata: Record = { sessionId, requestId, projectId } return { - provideModel: (model?: string) => (modelName = model), + provideModel: (model?: string) => { + data.modelName = model + metadata.modelName = model + }, provideRequest: (request: string) => (data.request = request), provideResponse: (response: string) => (data.response = response), provideStream: (chunk: string) => (data.response = (data.response ?? "") + chunk), flush: () => { - if (!modelName) return + if (!data.modelName) return - const str = new Date().toISOString().replace(/[^0-9]/g, "") - const yyyymmdd = str.substring(0, 8) - const hh = str.substring(8, 10) + const timestamp = new Date().toISOString().replace(/[^0-9]/g, "") waitUntil( - Resource.ConsoleData.put(`${yyyymmdd}/${hh}/${modelName}/${sessionId}/${requestId}.json`, JSON.stringify(data)), + Resource.ZenData.put( + `data/${data.modelName}/${sessionId}/${requestId}.json`, + JSON.stringify({ timestamp, ...data }), + ), + ) + + waitUntil( + Resource.ZenData.put( + `meta/${data.modelName}/${timestamp}/${requestId}.json`, + JSON.stringify({ timestamp, ...metadata }), + ), ) }, } diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 972b60d6ca..623c931277 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -13,13 +13,7 @@ import { ModelTable } from "@opencode-ai/console-core/schema/model.sql.js" import { ProviderTable } from "@opencode-ai/console-core/schema/provider.sql.js" import { logger } from "./logger" import { AuthError, CreditsError, MonthlyLimitError, UserLimitError, ModelError, RateLimitError } from "./error" -import { - createBodyConverter, - createStreamPartConverter, - createResponseConverter, - ProviderHelper, - UsageInfo, -} from "./provider/provider" +import { createBodyConverter, createStreamPartConverter, createResponseConverter, UsageInfo } from "./provider/provider" import { anthropicHelper } from "./provider/anthropic" import { googleHelper } from "./provider/google" import { openaiHelper } from "./provider/openai" @@ -61,6 +55,7 @@ export async function handler( const ip = input.request.headers.get("x-real-ip") ?? "" const sessionId = input.request.headers.get("x-opencode-session") ?? "" const requestId = input.request.headers.get("x-opencode-request") ?? "" + const projectId = input.request.headers.get("x-opencode-project") ?? "" logger.metric({ is_tream: isStream, session: sessionId, @@ -68,7 +63,7 @@ export async function handler( }) const zenData = ZenData.list() const modelInfo = validateModel(zenData, model) - const dataDumper = createDataDumper(sessionId, requestId) + const dataDumper = createDataDumper(sessionId, requestId, projectId) const trialLimiter = createTrialLimiter(modelInfo.trial?.limit, ip) const isTrial = await trialLimiter?.isTrial() const rateLimiter = createRateLimiter(modelInfo.id, modelInfo.rateLimit, ip) diff --git a/packages/console/app/sst-env.d.ts b/packages/console/app/sst-env.d.ts index bd55882173..9b9de73273 100644 --- a/packages/console/app/sst-env.d.ts +++ b/packages/console/app/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/console/core/sst-env.d.ts b/packages/console/core/sst-env.d.ts index 08710b63ee..ef7762f633 100644 --- a/packages/console/core/sst-env.d.ts +++ b/packages/console/core/sst-env.d.ts @@ -6,126 +6,131 @@ import "sst" declare module "sst" { export interface Resource { - ADMIN_SECRET: { - type: "sst.sst.Secret" - value: string + "ADMIN_SECRET": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - AWS_SES_ACCESS_KEY_ID: { - type: "sst.sst.Secret" - value: string + "AWS_SES_ACCESS_KEY_ID": { + "type": "sst.sst.Secret" + "value": string } - AWS_SES_SECRET_ACCESS_KEY: { - type: "sst.sst.Secret" - value: string + "AWS_SES_SECRET_ACCESS_KEY": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_API_TOKEN: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_API_TOKEN": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_DEFAULT_ACCOUNT_ID: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_DEFAULT_ACCOUNT_ID": { + "type": "sst.sst.Secret" + "value": string } - Console: { - type: "sst.cloudflare.SolidStart" - url: string + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string } - Database: { - database: string - host: string - password: string - port: number - type: "sst.sst.Linkable" - username: string + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string } - Desktop: { - type: "sst.cloudflare.StaticSite" - url: string + "Desktop": { + "type": "sst.cloudflare.StaticSite" + "url": string } - EMAILOCTOPUS_API_KEY: { - type: "sst.sst.Secret" - value: string + "EMAILOCTOPUS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "Enterprise": { + "type": "sst.cloudflare.SolidStart" + "url": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - R2AccessKey: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - R2SecretKey: { - type: "sst.sst.Secret" - value: string + "R2AccessKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "R2SecretKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - ZEN_MODELS1: { - type: "sst.sst.Secret" - value: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - ZEN_MODELS2: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS1": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS3: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS2": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS4: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS3": { + "type": "sst.sst.Secret" + "value": string + } + "ZEN_MODELS4": { + "type": "sst.sst.Secret" + "value": string } } } -// cloudflare -import * as cloudflare from "@cloudflare/workers-types" +// cloudflare +import * as cloudflare from "@cloudflare/workers-types"; declare module "sst" { export interface Resource { - Api: cloudflare.Service - AuthApi: cloudflare.Service - AuthStorage: cloudflare.KVNamespace - Bucket: cloudflare.R2Bucket - ConsoleData: cloudflare.R2Bucket - EnterpriseStorage: cloudflare.R2Bucket - GatewayKv: cloudflare.KVNamespace - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "ConsoleData": cloudflare.R2Bucket + "EnterpriseStorage": cloudflare.R2Bucket + "GatewayKv": cloudflare.KVNamespace + "LogProcessor": cloudflare.Service + "ZenData": cloudflare.R2Bucket } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/console/function/sst-env.d.ts b/packages/console/function/sst-env.d.ts index 08710b63ee..ef7762f633 100644 --- a/packages/console/function/sst-env.d.ts +++ b/packages/console/function/sst-env.d.ts @@ -6,126 +6,131 @@ import "sst" declare module "sst" { export interface Resource { - ADMIN_SECRET: { - type: "sst.sst.Secret" - value: string + "ADMIN_SECRET": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - AWS_SES_ACCESS_KEY_ID: { - type: "sst.sst.Secret" - value: string + "AWS_SES_ACCESS_KEY_ID": { + "type": "sst.sst.Secret" + "value": string } - AWS_SES_SECRET_ACCESS_KEY: { - type: "sst.sst.Secret" - value: string + "AWS_SES_SECRET_ACCESS_KEY": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_API_TOKEN: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_API_TOKEN": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_DEFAULT_ACCOUNT_ID: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_DEFAULT_ACCOUNT_ID": { + "type": "sst.sst.Secret" + "value": string } - Console: { - type: "sst.cloudflare.SolidStart" - url: string + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string } - Database: { - database: string - host: string - password: string - port: number - type: "sst.sst.Linkable" - username: string + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string } - Desktop: { - type: "sst.cloudflare.StaticSite" - url: string + "Desktop": { + "type": "sst.cloudflare.StaticSite" + "url": string } - EMAILOCTOPUS_API_KEY: { - type: "sst.sst.Secret" - value: string + "EMAILOCTOPUS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "Enterprise": { + "type": "sst.cloudflare.SolidStart" + "url": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - R2AccessKey: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - R2SecretKey: { - type: "sst.sst.Secret" - value: string + "R2AccessKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "R2SecretKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - ZEN_MODELS1: { - type: "sst.sst.Secret" - value: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - ZEN_MODELS2: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS1": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS3: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS2": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS4: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS3": { + "type": "sst.sst.Secret" + "value": string + } + "ZEN_MODELS4": { + "type": "sst.sst.Secret" + "value": string } } } -// cloudflare -import * as cloudflare from "@cloudflare/workers-types" +// cloudflare +import * as cloudflare from "@cloudflare/workers-types"; declare module "sst" { export interface Resource { - Api: cloudflare.Service - AuthApi: cloudflare.Service - AuthStorage: cloudflare.KVNamespace - Bucket: cloudflare.R2Bucket - ConsoleData: cloudflare.R2Bucket - EnterpriseStorage: cloudflare.R2Bucket - GatewayKv: cloudflare.KVNamespace - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "ConsoleData": cloudflare.R2Bucket + "EnterpriseStorage": cloudflare.R2Bucket + "GatewayKv": cloudflare.KVNamespace + "LogProcessor": cloudflare.Service + "ZenData": cloudflare.R2Bucket } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/console/mail/sst-env.d.ts b/packages/console/mail/sst-env.d.ts index bd55882173..9b9de73273 100644 --- a/packages/console/mail/sst-env.d.ts +++ b/packages/console/mail/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/console/resource/resource.node.ts b/packages/console/resource/resource.node.ts index 46b9629ed2..1470bacf26 100644 --- a/packages/console/resource/resource.node.ts +++ b/packages/console/resource/resource.node.ts @@ -2,8 +2,8 @@ import type { KVNamespaceListOptions, KVNamespaceListResult, KVNamespacePutOptio import { Resource as ResourceBase } from "sst" import Cloudflare from "cloudflare" -export const waitUntil = async (fn: () => Promise) => { - await fn() +export const waitUntil = async (promise: Promise) => { + await promise } export const Resource = new Proxy( diff --git a/packages/console/resource/sst-env.d.ts b/packages/console/resource/sst-env.d.ts index 08710b63ee..ef7762f633 100644 --- a/packages/console/resource/sst-env.d.ts +++ b/packages/console/resource/sst-env.d.ts @@ -6,126 +6,131 @@ import "sst" declare module "sst" { export interface Resource { - ADMIN_SECRET: { - type: "sst.sst.Secret" - value: string + "ADMIN_SECRET": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - AWS_SES_ACCESS_KEY_ID: { - type: "sst.sst.Secret" - value: string + "AWS_SES_ACCESS_KEY_ID": { + "type": "sst.sst.Secret" + "value": string } - AWS_SES_SECRET_ACCESS_KEY: { - type: "sst.sst.Secret" - value: string + "AWS_SES_SECRET_ACCESS_KEY": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_API_TOKEN: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_API_TOKEN": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_DEFAULT_ACCOUNT_ID: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_DEFAULT_ACCOUNT_ID": { + "type": "sst.sst.Secret" + "value": string } - Console: { - type: "sst.cloudflare.SolidStart" - url: string + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string } - Database: { - database: string - host: string - password: string - port: number - type: "sst.sst.Linkable" - username: string + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string } - Desktop: { - type: "sst.cloudflare.StaticSite" - url: string + "Desktop": { + "type": "sst.cloudflare.StaticSite" + "url": string } - EMAILOCTOPUS_API_KEY: { - type: "sst.sst.Secret" - value: string + "EMAILOCTOPUS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "Enterprise": { + "type": "sst.cloudflare.SolidStart" + "url": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - R2AccessKey: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - R2SecretKey: { - type: "sst.sst.Secret" - value: string + "R2AccessKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "R2SecretKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - ZEN_MODELS1: { - type: "sst.sst.Secret" - value: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - ZEN_MODELS2: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS1": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS3: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS2": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS4: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS3": { + "type": "sst.sst.Secret" + "value": string + } + "ZEN_MODELS4": { + "type": "sst.sst.Secret" + "value": string } } } -// cloudflare -import * as cloudflare from "@cloudflare/workers-types" +// cloudflare +import * as cloudflare from "@cloudflare/workers-types"; declare module "sst" { export interface Resource { - Api: cloudflare.Service - AuthApi: cloudflare.Service - AuthStorage: cloudflare.KVNamespace - Bucket: cloudflare.R2Bucket - ConsoleData: cloudflare.R2Bucket - EnterpriseStorage: cloudflare.R2Bucket - GatewayKv: cloudflare.KVNamespace - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "ConsoleData": cloudflare.R2Bucket + "EnterpriseStorage": cloudflare.R2Bucket + "GatewayKv": cloudflare.KVNamespace + "LogProcessor": cloudflare.Service + "ZenData": cloudflare.R2Bucket } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/desktop/src/sst-env.d.ts b/packages/desktop/src/sst-env.d.ts index 1b1683a1e7..47a8fbec7b 100644 --- a/packages/desktop/src/sst-env.d.ts +++ b/packages/desktop/src/sst-env.d.ts @@ -2,7 +2,9 @@ /* tslint:disable */ /* eslint-disable */ /// -interface ImportMetaEnv {} +interface ImportMetaEnv { + +} interface ImportMeta { readonly env: ImportMetaEnv -} +} \ No newline at end of file diff --git a/packages/desktop/sst-env.d.ts b/packages/desktop/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/desktop/sst-env.d.ts +++ b/packages/desktop/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/enterprise/sst-env.d.ts b/packages/enterprise/sst-env.d.ts index 08710b63ee..ef7762f633 100644 --- a/packages/enterprise/sst-env.d.ts +++ b/packages/enterprise/sst-env.d.ts @@ -6,126 +6,131 @@ import "sst" declare module "sst" { export interface Resource { - ADMIN_SECRET: { - type: "sst.sst.Secret" - value: string + "ADMIN_SECRET": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - AWS_SES_ACCESS_KEY_ID: { - type: "sst.sst.Secret" - value: string + "AWS_SES_ACCESS_KEY_ID": { + "type": "sst.sst.Secret" + "value": string } - AWS_SES_SECRET_ACCESS_KEY: { - type: "sst.sst.Secret" - value: string + "AWS_SES_SECRET_ACCESS_KEY": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_API_TOKEN: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_API_TOKEN": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_DEFAULT_ACCOUNT_ID: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_DEFAULT_ACCOUNT_ID": { + "type": "sst.sst.Secret" + "value": string } - Console: { - type: "sst.cloudflare.SolidStart" - url: string + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string } - Database: { - database: string - host: string - password: string - port: number - type: "sst.sst.Linkable" - username: string + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string } - Desktop: { - type: "sst.cloudflare.StaticSite" - url: string + "Desktop": { + "type": "sst.cloudflare.StaticSite" + "url": string } - EMAILOCTOPUS_API_KEY: { - type: "sst.sst.Secret" - value: string + "EMAILOCTOPUS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "Enterprise": { + "type": "sst.cloudflare.SolidStart" + "url": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - R2AccessKey: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - R2SecretKey: { - type: "sst.sst.Secret" - value: string + "R2AccessKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "R2SecretKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - ZEN_MODELS1: { - type: "sst.sst.Secret" - value: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - ZEN_MODELS2: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS1": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS3: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS2": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS4: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS3": { + "type": "sst.sst.Secret" + "value": string + } + "ZEN_MODELS4": { + "type": "sst.sst.Secret" + "value": string } } } -// cloudflare -import * as cloudflare from "@cloudflare/workers-types" +// cloudflare +import * as cloudflare from "@cloudflare/workers-types"; declare module "sst" { export interface Resource { - Api: cloudflare.Service - AuthApi: cloudflare.Service - AuthStorage: cloudflare.KVNamespace - Bucket: cloudflare.R2Bucket - ConsoleData: cloudflare.R2Bucket - EnterpriseStorage: cloudflare.R2Bucket - GatewayKv: cloudflare.KVNamespace - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "ConsoleData": cloudflare.R2Bucket + "EnterpriseStorage": cloudflare.R2Bucket + "GatewayKv": cloudflare.KVNamespace + "LogProcessor": cloudflare.Service + "ZenData": cloudflare.R2Bucket } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/function/sst-env.d.ts b/packages/function/sst-env.d.ts index 08710b63ee..ef7762f633 100644 --- a/packages/function/sst-env.d.ts +++ b/packages/function/sst-env.d.ts @@ -6,126 +6,131 @@ import "sst" declare module "sst" { export interface Resource { - ADMIN_SECRET: { - type: "sst.sst.Secret" - value: string + "ADMIN_SECRET": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - AWS_SES_ACCESS_KEY_ID: { - type: "sst.sst.Secret" - value: string + "AWS_SES_ACCESS_KEY_ID": { + "type": "sst.sst.Secret" + "value": string } - AWS_SES_SECRET_ACCESS_KEY: { - type: "sst.sst.Secret" - value: string + "AWS_SES_SECRET_ACCESS_KEY": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_API_TOKEN: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_API_TOKEN": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_DEFAULT_ACCOUNT_ID: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_DEFAULT_ACCOUNT_ID": { + "type": "sst.sst.Secret" + "value": string } - Console: { - type: "sst.cloudflare.SolidStart" - url: string + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string } - Database: { - database: string - host: string - password: string - port: number - type: "sst.sst.Linkable" - username: string + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string } - Desktop: { - type: "sst.cloudflare.StaticSite" - url: string + "Desktop": { + "type": "sst.cloudflare.StaticSite" + "url": string } - EMAILOCTOPUS_API_KEY: { - type: "sst.sst.Secret" - value: string + "EMAILOCTOPUS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "Enterprise": { + "type": "sst.cloudflare.SolidStart" + "url": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - R2AccessKey: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - R2SecretKey: { - type: "sst.sst.Secret" - value: string + "R2AccessKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "R2SecretKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - ZEN_MODELS1: { - type: "sst.sst.Secret" - value: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - ZEN_MODELS2: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS1": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS3: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS2": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS4: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS3": { + "type": "sst.sst.Secret" + "value": string + } + "ZEN_MODELS4": { + "type": "sst.sst.Secret" + "value": string } } } -// cloudflare -import * as cloudflare from "@cloudflare/workers-types" +// cloudflare +import * as cloudflare from "@cloudflare/workers-types"; declare module "sst" { export interface Resource { - Api: cloudflare.Service - AuthApi: cloudflare.Service - AuthStorage: cloudflare.KVNamespace - Bucket: cloudflare.R2Bucket - ConsoleData: cloudflare.R2Bucket - EnterpriseStorage: cloudflare.R2Bucket - GatewayKv: cloudflare.KVNamespace - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "ConsoleData": cloudflare.R2Bucket + "EnterpriseStorage": cloudflare.R2Bucket + "GatewayKv": cloudflare.KVNamespace + "LogProcessor": cloudflare.Service + "ZenData": cloudflare.R2Bucket } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index fa831ae5c4..ee58bb3380 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -544,6 +544,7 @@ export namespace SessionPrompt { headers: { ...(model.providerID.startsWith("opencode") ? { + "x-opencode-project": Instance.project.id, "x-opencode-session": sessionID, "x-opencode-request": lastUser.id, } diff --git a/packages/opencode/sst-env.d.ts b/packages/opencode/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/opencode/sst-env.d.ts +++ b/packages/opencode/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/plugin/sst-env.d.ts b/packages/plugin/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/plugin/sst-env.d.ts +++ b/packages/plugin/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/script/sst-env.d.ts b/packages/script/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/script/sst-env.d.ts +++ b/packages/script/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/sdk/js/sst-env.d.ts b/packages/sdk/js/sst-env.d.ts index bd55882173..9b9de73273 100644 --- a/packages/sdk/js/sst-env.d.ts +++ b/packages/sdk/js/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/sdk/python/sst.pyi b/packages/sdk/python/sst.pyi index 984fecde54..9fa612eb70 100644 --- a/packages/sdk/python/sst.pyi +++ b/packages/sdk/python/sst.pyi @@ -111,4 +111,7 @@ class Resource: class ZEN_MODELS4: type: str value: str + class ZenData: + name: str + type: str diff --git a/packages/slack/sst-env.d.ts b/packages/slack/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/slack/sst-env.d.ts +++ b/packages/slack/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/tauri/sst-env.d.ts b/packages/tauri/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/tauri/sst-env.d.ts +++ b/packages/tauri/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/ui/sst-env.d.ts b/packages/ui/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/ui/sst-env.d.ts +++ b/packages/ui/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/util/sst-env.d.ts b/packages/util/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/util/sst-env.d.ts +++ b/packages/util/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/web/sst-env.d.ts b/packages/web/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/packages/web/sst-env.d.ts +++ b/packages/web/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/sdks/vscode/sst-env.d.ts b/sdks/vscode/sst-env.d.ts index 0397645b50..b6a7e9066e 100644 --- a/sdks/vscode/sst-env.d.ts +++ b/sdks/vscode/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/sst-env.d.ts b/sst-env.d.ts index f877fc89ed..ebf3abd96d 100644 --- a/sst-env.d.ts +++ b/sst-env.d.ts @@ -5,144 +5,152 @@ declare module "sst" { export interface Resource { - ADMIN_SECRET: { - type: "sst.sst.Secret" - value: string + "ADMIN_SECRET": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - AWS_SES_ACCESS_KEY_ID: { - type: "sst.sst.Secret" - value: string + "AWS_SES_ACCESS_KEY_ID": { + "type": "sst.sst.Secret" + "value": string } - AWS_SES_SECRET_ACCESS_KEY: { - type: "sst.sst.Secret" - value: string + "AWS_SES_SECRET_ACCESS_KEY": { + "type": "sst.sst.Secret" + "value": string } - Api: { - type: "sst.cloudflare.Worker" - url: string + "Api": { + "type": "sst.cloudflare.Worker" + "url": string } - AuthApi: { - type: "sst.cloudflare.Worker" - url: string + "AuthApi": { + "type": "sst.cloudflare.Worker" + "url": string } - AuthStorage: { - namespaceId: string - type: "sst.cloudflare.Kv" + "AuthStorage": { + "namespaceId": string + "type": "sst.cloudflare.Kv" } - Bucket: { - name: string - type: "sst.cloudflare.Bucket" + "Bucket": { + "name": string + "type": "sst.cloudflare.Bucket" } - CLOUDFLARE_API_TOKEN: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_API_TOKEN": { + "type": "sst.sst.Secret" + "value": string } - CLOUDFLARE_DEFAULT_ACCOUNT_ID: { - type: "sst.sst.Secret" - value: string + "CLOUDFLARE_DEFAULT_ACCOUNT_ID": { + "type": "sst.sst.Secret" + "value": string } - Console: { - type: "sst.cloudflare.SolidStart" - url: string + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string } - ConsoleData: { - name: string - type: "sst.cloudflare.Bucket" + "ConsoleData": { + "name": string + "type": "sst.cloudflare.Bucket" } - Database: { - database: string - host: string - password: string - port: number - type: "sst.sst.Linkable" - username: string + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string } - Desktop: { - type: "sst.cloudflare.StaticSite" - url: string + "Desktop": { + "type": "sst.cloudflare.StaticSite" + "url": string } - EMAILOCTOPUS_API_KEY: { - type: "sst.sst.Secret" - value: string + "EMAILOCTOPUS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - EnterpriseStorage: { - name: string - type: "sst.cloudflare.Bucket" + "Enterprise": { + "type": "sst.cloudflare.SolidStart" + "url": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "EnterpriseStorage": { + "name": string + "type": "sst.cloudflare.Bucket" } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GatewayKv: { - namespaceId: string - type: "sst.cloudflare.Kv" + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "GatewayKv": { + "namespaceId": string + "type": "sst.cloudflare.Kv" } - LogProcessor: { - type: "sst.cloudflare.Worker" + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - R2AccessKey: { - type: "sst.sst.Secret" - value: string + "LogProcessor": { + "type": "sst.cloudflare.Worker" } - R2SecretKey: { - type: "sst.sst.Secret" - value: string + "R2AccessKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "R2SecretKey": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - ZEN_MODELS1: { - type: "sst.sst.Secret" - value: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - ZEN_MODELS2: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS1": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS3: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS2": { + "type": "sst.sst.Secret" + "value": string } - ZEN_MODELS4: { - type: "sst.sst.Secret" - value: string + "ZEN_MODELS3": { + "type": "sst.sst.Secret" + "value": string + } + "ZEN_MODELS4": { + "type": "sst.sst.Secret" + "value": string + } + "ZenData": { + "name": string + "type": "sst.cloudflare.Bucket" } } } /// import "sst" -export {} +export {} \ No newline at end of file