diff --git a/.gitignore b/.gitignore index 025b3707..8cfb8df1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ node_modules openapi.json playground tmp +dist diff --git a/bun.lock b/bun.lock index c440547d..70c3c299 100644 --- a/bun.lock +++ b/bun.lock @@ -240,9 +240,6 @@ "web-tree-sitter", "tree-sitter-bash", ], - "overrides": { - "zod": "4.1.8", - }, "catalog": { "@hono/zod-validator": "0.4.2", "@tsconfig/node22": "22.0.2", @@ -2942,6 +2939,8 @@ "@ai-sdk/amazon-bedrock/aws4fetch": ["aws4fetch@1.0.20", "", {}, "sha512-/djoAN709iY65ETD6LKCtyyEI04XIBP5xVvfmNxsEP0uJB5tyaGBztSryRr4HqMStr9R06PisQE7m9zDTXKu6g=="], + "@ai-sdk/amazon-bedrock/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@ai-sdk/gateway/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.1", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.3", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-/iP1sKc6UdJgGH98OCly7sWJKv+J9G47PnTjIj40IJMUQKwDrUMyf7zOOfRtPwSuNifYhSoJQ4s1WltI65gJ/g=="], "@astrojs/cloudflare/@cloudflare/workers-types": ["@cloudflare/workers-types@4.20250913.0", "", {}, "sha512-JjrYEvRn7cyALxwoFTw3XChaQneHSJOXqz2t5iKEpNzAnC2iPQU75rtTK/gw03Jjy4SHY5aEBh/uqQePtonZlA=="], @@ -2952,6 +2951,8 @@ "@astrojs/mdx/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + "@astrojs/sitemap/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@aws-crypto/sha256-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], "@aws-crypto/util/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], @@ -2974,6 +2975,8 @@ "@grpc/proto-loader/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + "@hono/zod-validator/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], @@ -2982,6 +2985,8 @@ "@mdx-js/mdx/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + "@modelcontextprotocol/sdk/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@npmcli/agent/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], "@npmcli/arborist/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -3090,6 +3095,8 @@ "astro/sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="], + "astro/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], @@ -3162,6 +3169,8 @@ "miniflare/youch": ["youch@4.1.0-beta.10", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@poppinss/dumper": "^0.6.4", "@speed-highlight/core": "^1.2.7", "cookie": "^1.0.2", "youch-core": "^0.3.3" } }, "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ=="], + "miniflare/zod": ["zod@3.22.3", "", {}, "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug=="], + "minipass-fetch/minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="], "minipass-flush/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], @@ -3212,6 +3221,8 @@ "opencontrol/hono": ["hono@4.7.4", "", {}, "sha512-Pst8FuGqz3L7tFF+u9Pu70eI0xa5S3LPUmrNd5Jm8nTHze9FxLTK9Kaj5g/k4UcwuJSXTP65SyHOPLrffpcAJg=="], + "opencontrol/zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="], + "opencontrol/zod-to-json-schema": ["zod-to-json-schema@3.24.3", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A=="], "openid-client/jose": ["jose@4.15.9", "", {}, "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA=="], @@ -3300,6 +3311,8 @@ "uri-js/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + "vinxi/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "wrangler/esbuild": ["esbuild@0.25.4", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.4", "@esbuild/android-arm": "0.25.4", "@esbuild/android-arm64": "0.25.4", "@esbuild/android-x64": "0.25.4", "@esbuild/darwin-arm64": "0.25.4", "@esbuild/darwin-x64": "0.25.4", "@esbuild/freebsd-arm64": "0.25.4", "@esbuild/freebsd-x64": "0.25.4", "@esbuild/linux-arm": "0.25.4", "@esbuild/linux-arm64": "0.25.4", "@esbuild/linux-ia32": "0.25.4", "@esbuild/linux-loong64": "0.25.4", "@esbuild/linux-mips64el": "0.25.4", "@esbuild/linux-ppc64": "0.25.4", "@esbuild/linux-riscv64": "0.25.4", "@esbuild/linux-s390x": "0.25.4", "@esbuild/linux-x64": "0.25.4", "@esbuild/netbsd-arm64": "0.25.4", "@esbuild/netbsd-x64": "0.25.4", "@esbuild/openbsd-arm64": "0.25.4", "@esbuild/openbsd-x64": "0.25.4", "@esbuild/sunos-x64": "0.25.4", "@esbuild/win32-arm64": "0.25.4", "@esbuild/win32-ia32": "0.25.4", "@esbuild/win32-x64": "0.25.4" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q=="], "wrangler/unenv": ["unenv@2.0.0-rc.21", "", { "dependencies": { "defu": "^6.1.4", "exsolve": "^1.0.7", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1" } }, "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A=="], @@ -3314,6 +3327,10 @@ "yargs/yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="], + "zod-to-json-schema/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + + "zod-to-ts/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@astrojs/mdx/@astrojs/markdown-remark/@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.7.2", "", {}, "sha512-KCkCqR3Goym79soqEtbtLzJfqhTWMyVaizUi35FLzgGSzBotSw8DB1qwsu7U96ihOJgYhDk2nVPz+3LnXPeX6g=="], "@astrojs/mdx/@astrojs/markdown-remark/@astrojs/prism": ["@astrojs/prism@3.3.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ=="], @@ -3582,6 +3599,8 @@ "opencontrol/@modelcontextprotocol/sdk/pkce-challenge": ["pkce-challenge@4.1.0", "", {}, "sha512-ZBmhE1C9LcPoH9XZSdwiPtbPHZROwAnMy+kIFQVrnMCxY4Cudlz3gBOpzilgc0jOgRaiT3sIWfpMomW2ar2orQ=="], + "opencontrol/@modelcontextprotocol/sdk/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "opencontrol/@modelcontextprotocol/sdk/zod-to-json-schema": ["zod-to-json-schema@3.24.5", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g=="], "pacote/tar/chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="], diff --git a/cloud/app/sst-env.d.ts b/cloud/app/sst-env.d.ts index 0397645b..b6a7e906 100644 --- a/cloud/app/sst-env.d.ts +++ b/cloud/app/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/cloud/core/sst-env.d.ts b/cloud/core/sst-env.d.ts index 0397645b..b6a7e906 100644 --- a/cloud/core/sst-env.d.ts +++ b/cloud/core/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/cloud/function/sst-env.d.ts b/cloud/function/sst-env.d.ts index afa8c6fe..09c60c7c 100644 --- a/cloud/function/sst-env.d.ts +++ b/cloud/function/sst-env.d.ts @@ -6,91 +6,91 @@ import "sst" declare module "sst" { export interface Resource { - ANTHROPIC_API_KEY: { - type: "sst.sst.Secret" - value: string + "ANTHROPIC_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - BASETEN_API_KEY: { - type: "sst.sst.Secret" - value: string + "BASETEN_API_KEY": { + "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 } - FIREWORKS_API_KEY: { - type: "sst.sst.Secret" - value: string + "FIREWORKS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - OPENAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "OPENAI_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - XAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "XAI_API_KEY": { + "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 - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "LogProcessor": cloudflare.Service } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/cloud/resource/sst-env.d.ts b/cloud/resource/sst-env.d.ts index afa8c6fe..09c60c7c 100644 --- a/cloud/resource/sst-env.d.ts +++ b/cloud/resource/sst-env.d.ts @@ -6,91 +6,91 @@ import "sst" declare module "sst" { export interface Resource { - ANTHROPIC_API_KEY: { - type: "sst.sst.Secret" - value: string + "ANTHROPIC_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - BASETEN_API_KEY: { - type: "sst.sst.Secret" - value: string + "BASETEN_API_KEY": { + "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 } - FIREWORKS_API_KEY: { - type: "sst.sst.Secret" - value: string + "FIREWORKS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - OPENAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "OPENAI_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - XAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "XAI_API_KEY": { + "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 - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "LogProcessor": cloudflare.Service } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/cloud/scripts/sst-env.d.ts b/cloud/scripts/sst-env.d.ts index 0397645b..b6a7e906 100644 --- a/cloud/scripts/sst-env.d.ts +++ b/cloud/scripts/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/github/sst-env.d.ts b/github/sst-env.d.ts index 6b69016e..f742a120 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/desktop.ts b/infra/desktop.ts new file mode 100644 index 00000000..494f8181 --- /dev/null +++ b/infra/desktop.ts @@ -0,0 +1,10 @@ +import { domain } from "./stage" + +new sst.cloudflare.StaticSite("Desktop", { + domain: "desktop." + domain, + path: "packages/app", + build: { + command: "bun run build", + output: "./dist", + }, +}) diff --git a/package.json b/package.json index 1e339ead..89a096b0 100644 --- a/package.json +++ b/package.json @@ -53,9 +53,6 @@ "tree-sitter-bash", "web-tree-sitter" ], - "overrides": { - "zod": "4.1.8" - }, "patchedDependencies": { "@solidjs/start@1.1.7": "patches/@solidjs%2Fstart@1.1.7.patch" } diff --git a/packages/app/src/assets/theme.css b/packages/app/src/assets/theme.css index 48d91fc9..9012c589 100644 --- a/packages/app/src/assets/theme.css +++ b/packages/app/src/assets/theme.css @@ -159,109 +159,109 @@ } [data-theme="ayu"][data-dark="false"] { - --theme-primary: #59c2ff; - --theme-secondary: #d2a6ff; - --theme-accent: #e6b450; - --theme-error: #d95757; - --theme-warning: #e6b673; - --theme-success: #7fd962; - --theme-info: #39bae6; - --theme-text: #bfbdb6; - --theme-text-muted: #565b66; - --theme-background: #0b0e14; - --theme-background-panel: #0f131a; - --theme-background-element: #0d1017; - --theme-border: #6c7380; - --theme-border-active: #6c7380; - --theme-border-subtle: #11151c; - --theme-diff-added: #7fd962; - --theme-diff-removed: #f26d78; - --theme-diff-context: #acb6bf; - --theme-diff-hunk-header: #acb6bf; - --theme-diff-highlight-added: #aad94c; - --theme-diff-highlight-removed: #f07178; + --theme-primary: #59C2FF; + --theme-secondary: #D2A6FF; + --theme-accent: #E6B450; + --theme-error: #D95757; + --theme-warning: #E6B673; + --theme-success: #7FD962; + --theme-info: #39BAE6; + --theme-text: #BFBDB6; + --theme-text-muted: #565B66; + --theme-background: #0B0E14; + --theme-background-panel: #0F131A; + --theme-background-element: #0D1017; + --theme-border: #6C7380; + --theme-border-active: #6C7380; + --theme-border-subtle: #11151C; + --theme-diff-added: #7FD962; + --theme-diff-removed: #F26D78; + --theme-diff-context: #ACB6BF; + --theme-diff-hunk-header: #ACB6BF; + --theme-diff-highlight-added: #AAD94C; + --theme-diff-highlight-removed: #F07178; --theme-diff-added-bg: #20303b; --theme-diff-removed-bg: #37222c; - --theme-diff-context-bg: #0f131a; - --theme-diff-line-number: #6c7380; + --theme-diff-context-bg: #0F131A; + --theme-diff-line-number: #6C7380; --theme-diff-added-line-number-bg: #1b2b34; --theme-diff-removed-line-number-bg: #2d1f26; - --theme-markdown-text: #bfbdb6; - --theme-markdown-heading: #d2a6ff; - --theme-markdown-link: #59c2ff; - --theme-markdown-link-text: #39bae6; - --theme-markdown-code: #aad94c; - --theme-markdown-block-quote: #e6b673; - --theme-markdown-emph: #e6b673; - --theme-markdown-strong: #ffb454; - --theme-markdown-horizontal-rule: #565b66; - --theme-markdown-list-item: #59c2ff; - --theme-markdown-list-enumeration: #39bae6; - --theme-markdown-image: #59c2ff; - --theme-markdown-image-text: #39bae6; - --theme-markdown-code-block: #bfbdb6; - --theme-syntax-comment: #acb6bf; - --theme-syntax-keyword: #ff8f40; - --theme-syntax-function: #ffb454; - --theme-syntax-variable: #59c2ff; - --theme-syntax-string: #aad94c; - --theme-syntax-number: #d2a6ff; - --theme-syntax-type: #e6b673; - --theme-syntax-operator: #f29668; - --theme-syntax-punctuation: #bfbdb6; + --theme-markdown-text: #BFBDB6; + --theme-markdown-heading: #D2A6FF; + --theme-markdown-link: #59C2FF; + --theme-markdown-link-text: #39BAE6; + --theme-markdown-code: #AAD94C; + --theme-markdown-block-quote: #E6B673; + --theme-markdown-emph: #E6B673; + --theme-markdown-strong: #FFB454; + --theme-markdown-horizontal-rule: #565B66; + --theme-markdown-list-item: #59C2FF; + --theme-markdown-list-enumeration: #39BAE6; + --theme-markdown-image: #59C2FF; + --theme-markdown-image-text: #39BAE6; + --theme-markdown-code-block: #BFBDB6; + --theme-syntax-comment: #ACB6BF; + --theme-syntax-keyword: #FF8F40; + --theme-syntax-function: #FFB454; + --theme-syntax-variable: #59C2FF; + --theme-syntax-string: #AAD94C; + --theme-syntax-number: #D2A6FF; + --theme-syntax-type: #E6B673; + --theme-syntax-operator: #F29668; + --theme-syntax-punctuation: #BFBDB6; } [data-theme="ayu"][data-dark="true"] { - --theme-primary: #59c2ff; - --theme-secondary: #d2a6ff; - --theme-accent: #e6b450; - --theme-error: #d95757; - --theme-warning: #e6b673; - --theme-success: #7fd962; - --theme-info: #39bae6; - --theme-text: #bfbdb6; - --theme-text-muted: #565b66; - --theme-background: #0b0e14; - --theme-background-panel: #0f131a; - --theme-background-element: #0d1017; - --theme-border: #6c7380; - --theme-border-active: #6c7380; - --theme-border-subtle: #11151c; - --theme-diff-added: #7fd962; - --theme-diff-removed: #f26d78; - --theme-diff-context: #acb6bf; - --theme-diff-hunk-header: #acb6bf; - --theme-diff-highlight-added: #aad94c; - --theme-diff-highlight-removed: #f07178; + --theme-primary: #59C2FF; + --theme-secondary: #D2A6FF; + --theme-accent: #E6B450; + --theme-error: #D95757; + --theme-warning: #E6B673; + --theme-success: #7FD962; + --theme-info: #39BAE6; + --theme-text: #BFBDB6; + --theme-text-muted: #565B66; + --theme-background: #0B0E14; + --theme-background-panel: #0F131A; + --theme-background-element: #0D1017; + --theme-border: #6C7380; + --theme-border-active: #6C7380; + --theme-border-subtle: #11151C; + --theme-diff-added: #7FD962; + --theme-diff-removed: #F26D78; + --theme-diff-context: #ACB6BF; + --theme-diff-hunk-header: #ACB6BF; + --theme-diff-highlight-added: #AAD94C; + --theme-diff-highlight-removed: #F07178; --theme-diff-added-bg: #20303b; --theme-diff-removed-bg: #37222c; - --theme-diff-context-bg: #0f131a; - --theme-diff-line-number: #6c7380; + --theme-diff-context-bg: #0F131A; + --theme-diff-line-number: #6C7380; --theme-diff-added-line-number-bg: #1b2b34; --theme-diff-removed-line-number-bg: #2d1f26; - --theme-markdown-text: #bfbdb6; - --theme-markdown-heading: #d2a6ff; - --theme-markdown-link: #59c2ff; - --theme-markdown-link-text: #39bae6; - --theme-markdown-code: #aad94c; - --theme-markdown-block-quote: #e6b673; - --theme-markdown-emph: #e6b673; - --theme-markdown-strong: #ffb454; - --theme-markdown-horizontal-rule: #565b66; - --theme-markdown-list-item: #59c2ff; - --theme-markdown-list-enumeration: #39bae6; - --theme-markdown-image: #59c2ff; - --theme-markdown-image-text: #39bae6; - --theme-markdown-code-block: #bfbdb6; - --theme-syntax-comment: #acb6bf; - --theme-syntax-keyword: #ff8f40; - --theme-syntax-function: #ffb454; - --theme-syntax-variable: #59c2ff; - --theme-syntax-string: #aad94c; - --theme-syntax-number: #d2a6ff; - --theme-syntax-type: #e6b673; - --theme-syntax-operator: #f29668; - --theme-syntax-punctuation: #bfbdb6; + --theme-markdown-text: #BFBDB6; + --theme-markdown-heading: #D2A6FF; + --theme-markdown-link: #59C2FF; + --theme-markdown-link-text: #39BAE6; + --theme-markdown-code: #AAD94C; + --theme-markdown-block-quote: #E6B673; + --theme-markdown-emph: #E6B673; + --theme-markdown-strong: #FFB454; + --theme-markdown-horizontal-rule: #565B66; + --theme-markdown-list-item: #59C2FF; + --theme-markdown-list-enumeration: #39BAE6; + --theme-markdown-image: #59C2FF; + --theme-markdown-image-text: #39BAE6; + --theme-markdown-code-block: #BFBDB6; + --theme-syntax-comment: #ACB6BF; + --theme-syntax-keyword: #FF8F40; + --theme-syntax-function: #FFB454; + --theme-syntax-variable: #59C2FF; + --theme-syntax-string: #AAD94C; + --theme-syntax-number: #D2A6FF; + --theme-syntax-type: #E6B673; + --theme-syntax-operator: #F29668; + --theme-syntax-punctuation: #BFBDB6; } [data-theme="catppuccin"][data-dark="false"] { @@ -901,109 +901,109 @@ } [data-theme="kanagawa"][data-dark="false"] { - --theme-primary: #2d4f67; - --theme-secondary: #957fb8; - --theme-accent: #d27e99; - --theme-error: #e82424; - --theme-warning: #d7a657; - --theme-success: #98bb6c; - --theme-info: #76946a; - --theme-text: #54433a; - --theme-text-muted: #9e9389; - --theme-background: #f2e9de; - --theme-background-panel: #eae4d7; - --theme-background-element: #e3dcd2; - --theme-border: #d4cbbf; - --theme-border-active: #c38d9d; - --theme-border-subtle: #dcd4c9; - --theme-diff-added: #98bb6c; - --theme-diff-removed: #e82424; - --theme-diff-context: #9e9389; - --theme-diff-hunk-header: #2d4f67; - --theme-diff-highlight-added: #89af5b; - --theme-diff-highlight-removed: #d61f1f; - --theme-diff-added-bg: #eaf3e4; - --theme-diff-removed-bg: #fbe6e6; - --theme-diff-context-bg: #eae4d7; - --theme-diff-line-number: #c7beb4; - --theme-diff-added-line-number-bg: #dde8d6; - --theme-diff-removed-line-number-bg: #f2dada; - --theme-markdown-text: #54433a; - --theme-markdown-heading: #957fb8; - --theme-markdown-link: #2d4f67; - --theme-markdown-link-text: #76946a; - --theme-markdown-code: #98bb6c; - --theme-markdown-block-quote: #9e9389; - --theme-markdown-emph: #c38d9d; - --theme-markdown-strong: #d7a657; - --theme-markdown-horizontal-rule: #9e9389; - --theme-markdown-list-item: #2d4f67; - --theme-markdown-list-enumeration: #76946a; - --theme-markdown-image: #2d4f67; - --theme-markdown-image-text: #76946a; - --theme-markdown-code-block: #54433a; - --theme-syntax-comment: #9e9389; - --theme-syntax-keyword: #957fb8; - --theme-syntax-function: #2d4f67; - --theme-syntax-variable: #54433a; - --theme-syntax-string: #98bb6c; - --theme-syntax-number: #d7a657; - --theme-syntax-type: #c38d9d; - --theme-syntax-operator: #d27e99; - --theme-syntax-punctuation: #54433a; + --theme-primary: #2D4F67; + --theme-secondary: #957FB8; + --theme-accent: #D27E99; + --theme-error: #E82424; + --theme-warning: #D7A657; + --theme-success: #98BB6C; + --theme-info: #76946A; + --theme-text: #54433A; + --theme-text-muted: #9E9389; + --theme-background: #F2E9DE; + --theme-background-panel: #EAE4D7; + --theme-background-element: #E3DCD2; + --theme-border: #D4CBBF; + --theme-border-active: #C38D9D; + --theme-border-subtle: #DCD4C9; + --theme-diff-added: #98BB6C; + --theme-diff-removed: #E82424; + --theme-diff-context: #9E9389; + --theme-diff-hunk-header: #2D4F67; + --theme-diff-highlight-added: #89AF5B; + --theme-diff-highlight-removed: #D61F1F; + --theme-diff-added-bg: #EAF3E4; + --theme-diff-removed-bg: #FBE6E6; + --theme-diff-context-bg: #EAE4D7; + --theme-diff-line-number: #C7BEB4; + --theme-diff-added-line-number-bg: #DDE8D6; + --theme-diff-removed-line-number-bg: #F2DADA; + --theme-markdown-text: #54433A; + --theme-markdown-heading: #957FB8; + --theme-markdown-link: #2D4F67; + --theme-markdown-link-text: #76946A; + --theme-markdown-code: #98BB6C; + --theme-markdown-block-quote: #9E9389; + --theme-markdown-emph: #C38D9D; + --theme-markdown-strong: #D7A657; + --theme-markdown-horizontal-rule: #9E9389; + --theme-markdown-list-item: #2D4F67; + --theme-markdown-list-enumeration: #76946A; + --theme-markdown-image: #2D4F67; + --theme-markdown-image-text: #76946A; + --theme-markdown-code-block: #54433A; + --theme-syntax-comment: #9E9389; + --theme-syntax-keyword: #957FB8; + --theme-syntax-function: #2D4F67; + --theme-syntax-variable: #54433A; + --theme-syntax-string: #98BB6C; + --theme-syntax-number: #D7A657; + --theme-syntax-type: #C38D9D; + --theme-syntax-operator: #D27E99; + --theme-syntax-punctuation: #54433A; } [data-theme="kanagawa"][data-dark="true"] { - --theme-primary: #7e9cd8; - --theme-secondary: #957fb8; - --theme-accent: #d27e99; - --theme-error: #e82424; - --theme-warning: #d7a657; - --theme-success: #98bb6c; - --theme-info: #76946a; - --theme-text: #dcd7ba; + --theme-primary: #7E9CD8; + --theme-secondary: #957FB8; + --theme-accent: #D27E99; + --theme-error: #E82424; + --theme-warning: #D7A657; + --theme-success: #98BB6C; + --theme-info: #76946A; + --theme-text: #DCD7BA; --theme-text-muted: #727169; - --theme-background: #1f1f28; - --theme-background-panel: #2a2a37; + --theme-background: #1F1F28; + --theme-background-panel: #2A2A37; --theme-background-element: #363646; - --theme-border: #54546d; - --theme-border-active: #c38d9d; + --theme-border: #54546D; + --theme-border-active: #C38D9D; --theme-border-subtle: #363646; - --theme-diff-added: #98bb6c; - --theme-diff-removed: #e82424; + --theme-diff-added: #98BB6C; + --theme-diff-removed: #E82424; --theme-diff-context: #727169; - --theme-diff-hunk-header: #2d4f67; - --theme-diff-highlight-added: #a9d977; - --theme-diff-highlight-removed: #f24a4a; - --theme-diff-added-bg: #252e25; + --theme-diff-hunk-header: #2D4F67; + --theme-diff-highlight-added: #A9D977; + --theme-diff-highlight-removed: #F24A4A; + --theme-diff-added-bg: #252E25; --theme-diff-removed-bg: #362020; - --theme-diff-context-bg: #2a2a37; - --theme-diff-line-number: #54546d; + --theme-diff-context-bg: #2A2A37; + --theme-diff-line-number: #54546D; --theme-diff-added-line-number-bg: #202820; - --theme-diff-removed-line-number-bg: #2d1c1c; - --theme-markdown-text: #dcd7ba; - --theme-markdown-heading: #957fb8; - --theme-markdown-link: #7e9cd8; - --theme-markdown-link-text: #76946a; - --theme-markdown-code: #98bb6c; + --theme-diff-removed-line-number-bg: #2D1C1C; + --theme-markdown-text: #DCD7BA; + --theme-markdown-heading: #957FB8; + --theme-markdown-link: #7E9CD8; + --theme-markdown-link-text: #76946A; + --theme-markdown-code: #98BB6C; --theme-markdown-block-quote: #727169; - --theme-markdown-emph: #c38d9d; - --theme-markdown-strong: #d7a657; + --theme-markdown-emph: #C38D9D; + --theme-markdown-strong: #D7A657; --theme-markdown-horizontal-rule: #727169; - --theme-markdown-list-item: #7e9cd8; - --theme-markdown-list-enumeration: #76946a; - --theme-markdown-image: #7e9cd8; - --theme-markdown-image-text: #76946a; - --theme-markdown-code-block: #dcd7ba; + --theme-markdown-list-item: #7E9CD8; + --theme-markdown-list-enumeration: #76946A; + --theme-markdown-image: #7E9CD8; + --theme-markdown-image-text: #76946A; + --theme-markdown-code-block: #DCD7BA; --theme-syntax-comment: #727169; - --theme-syntax-keyword: #957fb8; - --theme-syntax-function: #7e9cd8; - --theme-syntax-variable: #dcd7ba; - --theme-syntax-string: #98bb6c; - --theme-syntax-number: #d7a657; - --theme-syntax-type: #c38d9d; - --theme-syntax-operator: #d27e99; - --theme-syntax-punctuation: #dcd7ba; + --theme-syntax-keyword: #957FB8; + --theme-syntax-function: #7E9CD8; + --theme-syntax-variable: #DCD7BA; + --theme-syntax-string: #98BB6C; + --theme-syntax-number: #D7A657; + --theme-syntax-type: #C38D9D; + --theme-syntax-operator: #D27E99; + --theme-syntax-punctuation: #DCD7BA; } [data-theme="material"][data-dark="false"] { @@ -1325,109 +1325,109 @@ } [data-theme="nord"][data-dark="false"] { - --theme-primary: #5e81ac; - --theme-secondary: #81a1c1; - --theme-accent: #8fbcbb; - --theme-error: #bf616a; - --theme-warning: #d08770; - --theme-success: #a3be8c; - --theme-info: #5e81ac; - --theme-text: #2e3440; - --theme-text-muted: #3b4252; - --theme-background: #eceff4; - --theme-background-panel: #e5e9f0; - --theme-background-element: #d8dee9; - --theme-border: #4c566a; - --theme-border-active: #434c5e; - --theme-border-subtle: #4c566a; - --theme-diff-added: #a3be8c; - --theme-diff-removed: #bf616a; - --theme-diff-context: #4c566a; - --theme-diff-hunk-header: #4c566a; - --theme-diff-highlight-added: #a3be8c; - --theme-diff-highlight-removed: #bf616a; - --theme-diff-added-bg: #e5e9f0; - --theme-diff-removed-bg: #e5e9f0; - --theme-diff-context-bg: #e5e9f0; - --theme-diff-line-number: #d8dee9; - --theme-diff-added-line-number-bg: #e5e9f0; - --theme-diff-removed-line-number-bg: #e5e9f0; - --theme-markdown-text: #2e3440; - --theme-markdown-heading: #5e81ac; - --theme-markdown-link: #81a1c1; - --theme-markdown-link-text: #8fbcbb; - --theme-markdown-code: #a3be8c; - --theme-markdown-block-quote: #4c566a; - --theme-markdown-emph: #d08770; - --theme-markdown-strong: #ebcb8b; - --theme-markdown-horizontal-rule: #4c566a; - --theme-markdown-list-item: #5e81ac; - --theme-markdown-list-enumeration: #8fbcbb; - --theme-markdown-image: #81a1c1; - --theme-markdown-image-text: #8fbcbb; - --theme-markdown-code-block: #2e3440; - --theme-syntax-comment: #4c566a; - --theme-syntax-keyword: #81a1c1; - --theme-syntax-function: #88c0d0; - --theme-syntax-variable: #8fbcbb; - --theme-syntax-string: #a3be8c; - --theme-syntax-number: #b48ead; - --theme-syntax-type: #8fbcbb; - --theme-syntax-operator: #81a1c1; - --theme-syntax-punctuation: #2e3440; + --theme-primary: #5E81AC; + --theme-secondary: #81A1C1; + --theme-accent: #8FBCBB; + --theme-error: #BF616A; + --theme-warning: #D08770; + --theme-success: #A3BE8C; + --theme-info: #5E81AC; + --theme-text: #2E3440; + --theme-text-muted: #3B4252; + --theme-background: #ECEFF4; + --theme-background-panel: #E5E9F0; + --theme-background-element: #D8DEE9; + --theme-border: #4C566A; + --theme-border-active: #434C5E; + --theme-border-subtle: #4C566A; + --theme-diff-added: #A3BE8C; + --theme-diff-removed: #BF616A; + --theme-diff-context: #4C566A; + --theme-diff-hunk-header: #4C566A; + --theme-diff-highlight-added: #A3BE8C; + --theme-diff-highlight-removed: #BF616A; + --theme-diff-added-bg: #E5E9F0; + --theme-diff-removed-bg: #E5E9F0; + --theme-diff-context-bg: #E5E9F0; + --theme-diff-line-number: #D8DEE9; + --theme-diff-added-line-number-bg: #E5E9F0; + --theme-diff-removed-line-number-bg: #E5E9F0; + --theme-markdown-text: #2E3440; + --theme-markdown-heading: #5E81AC; + --theme-markdown-link: #81A1C1; + --theme-markdown-link-text: #8FBCBB; + --theme-markdown-code: #A3BE8C; + --theme-markdown-block-quote: #4C566A; + --theme-markdown-emph: #D08770; + --theme-markdown-strong: #EBCB8B; + --theme-markdown-horizontal-rule: #4C566A; + --theme-markdown-list-item: #5E81AC; + --theme-markdown-list-enumeration: #8FBCBB; + --theme-markdown-image: #81A1C1; + --theme-markdown-image-text: #8FBCBB; + --theme-markdown-code-block: #2E3440; + --theme-syntax-comment: #4C566A; + --theme-syntax-keyword: #81A1C1; + --theme-syntax-function: #88C0D0; + --theme-syntax-variable: #8FBCBB; + --theme-syntax-string: #A3BE8C; + --theme-syntax-number: #B48EAD; + --theme-syntax-type: #8FBCBB; + --theme-syntax-operator: #81A1C1; + --theme-syntax-punctuation: #2E3440; } [data-theme="nord"][data-dark="true"] { - --theme-primary: #88c0d0; - --theme-secondary: #81a1c1; - --theme-accent: #8fbcbb; - --theme-error: #bf616a; - --theme-warning: #d08770; - --theme-success: #a3be8c; - --theme-info: #88c0d0; - --theme-text: #eceff4; - --theme-text-muted: #8b95a7; - --theme-background: #2e3440; - --theme-background-panel: #3b4252; - --theme-background-element: #434c5e; - --theme-border: #434c5e; - --theme-border-active: #4c566a; - --theme-border-subtle: #434c5e; - --theme-diff-added: #a3be8c; - --theme-diff-removed: #bf616a; - --theme-diff-context: #8b95a7; - --theme-diff-hunk-header: #8b95a7; - --theme-diff-highlight-added: #a3be8c; - --theme-diff-highlight-removed: #bf616a; - --theme-diff-added-bg: #3b4252; - --theme-diff-removed-bg: #3b4252; - --theme-diff-context-bg: #3b4252; - --theme-diff-line-number: #434c5e; - --theme-diff-added-line-number-bg: #3b4252; - --theme-diff-removed-line-number-bg: #3b4252; - --theme-markdown-text: #d8dee9; - --theme-markdown-heading: #88c0d0; - --theme-markdown-link: #81a1c1; - --theme-markdown-link-text: #8fbcbb; - --theme-markdown-code: #a3be8c; - --theme-markdown-block-quote: #8b95a7; - --theme-markdown-emph: #d08770; - --theme-markdown-strong: #ebcb8b; - --theme-markdown-horizontal-rule: #8b95a7; - --theme-markdown-list-item: #88c0d0; - --theme-markdown-list-enumeration: #8fbcbb; - --theme-markdown-image: #81a1c1; - --theme-markdown-image-text: #8fbcbb; - --theme-markdown-code-block: #d8dee9; - --theme-syntax-comment: #8b95a7; - --theme-syntax-keyword: #81a1c1; - --theme-syntax-function: #88c0d0; - --theme-syntax-variable: #8fbcbb; - --theme-syntax-string: #a3be8c; - --theme-syntax-number: #b48ead; - --theme-syntax-type: #8fbcbb; - --theme-syntax-operator: #81a1c1; - --theme-syntax-punctuation: #d8dee9; + --theme-primary: #88C0D0; + --theme-secondary: #81A1C1; + --theme-accent: #8FBCBB; + --theme-error: #BF616A; + --theme-warning: #D08770; + --theme-success: #A3BE8C; + --theme-info: #88C0D0; + --theme-text: #ECEFF4; + --theme-text-muted: #8B95A7; + --theme-background: #2E3440; + --theme-background-panel: #3B4252; + --theme-background-element: #434C5E; + --theme-border: #434C5E; + --theme-border-active: #4C566A; + --theme-border-subtle: #434C5E; + --theme-diff-added: #A3BE8C; + --theme-diff-removed: #BF616A; + --theme-diff-context: #8B95A7; + --theme-diff-hunk-header: #8B95A7; + --theme-diff-highlight-added: #A3BE8C; + --theme-diff-highlight-removed: #BF616A; + --theme-diff-added-bg: #3B4252; + --theme-diff-removed-bg: #3B4252; + --theme-diff-context-bg: #3B4252; + --theme-diff-line-number: #434C5E; + --theme-diff-added-line-number-bg: #3B4252; + --theme-diff-removed-line-number-bg: #3B4252; + --theme-markdown-text: #D8DEE9; + --theme-markdown-heading: #88C0D0; + --theme-markdown-link: #81A1C1; + --theme-markdown-link-text: #8FBCBB; + --theme-markdown-code: #A3BE8C; + --theme-markdown-block-quote: #8B95A7; + --theme-markdown-emph: #D08770; + --theme-markdown-strong: #EBCB8B; + --theme-markdown-horizontal-rule: #8B95A7; + --theme-markdown-list-item: #88C0D0; + --theme-markdown-list-enumeration: #8FBCBB; + --theme-markdown-image: #81A1C1; + --theme-markdown-image-text: #8FBCBB; + --theme-markdown-code-block: #D8DEE9; + --theme-syntax-comment: #8B95A7; + --theme-syntax-keyword: #81A1C1; + --theme-syntax-function: #88C0D0; + --theme-syntax-variable: #8FBCBB; + --theme-syntax-string: #A3BE8C; + --theme-syntax-number: #B48EAD; + --theme-syntax-type: #8FBCBB; + --theme-syntax-operator: #81A1C1; + --theme-syntax-punctuation: #D8DEE9; } [data-theme="one-dark"][data-dark="false"] { @@ -2173,109 +2173,109 @@ } [data-theme="vesper"][data-dark="false"] { - --theme-primary: #ffc799; - --theme-secondary: #99ffe4; - --theme-accent: #ffc799; - --theme-error: #ff8080; - --theme-warning: #ffc799; - --theme-success: #99ffe4; - --theme-info: #ffc799; + --theme-primary: #FFC799; + --theme-secondary: #99FFE4; + --theme-accent: #FFC799; + --theme-error: #FF8080; + --theme-warning: #FFC799; + --theme-success: #99FFE4; + --theme-info: #FFC799; --theme-text: #101010; - --theme-text-muted: #a0a0a0; - --theme-background: #fff; - --theme-background-panel: #f0f0f0; - --theme-background-element: #e0e0e0; - --theme-border: #d0d0d0; - --theme-border-active: #ffc799; - --theme-border-subtle: #e8e8e8; - --theme-diff-added: #99ffe4; - --theme-diff-removed: #ff8080; - --theme-diff-context: #a0a0a0; - --theme-diff-hunk-header: #a0a0a0; - --theme-diff-highlight-added: #99ffe4; - --theme-diff-highlight-removed: #ff8080; + --theme-text-muted: #A0A0A0; + --theme-background: #FFF; + --theme-background-panel: #F0F0F0; + --theme-background-element: #E0E0E0; + --theme-border: #D0D0D0; + --theme-border-active: #FFC799; + --theme-border-subtle: #E8E8E8; + --theme-diff-added: #99FFE4; + --theme-diff-removed: #FF8080; + --theme-diff-context: #A0A0A0; + --theme-diff-hunk-header: #A0A0A0; + --theme-diff-highlight-added: #99FFE4; + --theme-diff-highlight-removed: #FF8080; --theme-diff-added-bg: #e8f5e8; --theme-diff-removed-bg: #f5e8e8; - --theme-diff-context-bg: #f8f8f8; + --theme-diff-context-bg: #F8F8F8; --theme-diff-line-number: #808080; --theme-diff-added-line-number-bg: #e8f5e8; --theme-diff-removed-line-number-bg: #f5e8e8; --theme-markdown-text: #101010; - --theme-markdown-heading: #ffc799; - --theme-markdown-link: #ffc799; - --theme-markdown-link-text: #a0a0a0; - --theme-markdown-code: #a0a0a0; + --theme-markdown-heading: #FFC799; + --theme-markdown-link: #FFC799; + --theme-markdown-link-text: #A0A0A0; + --theme-markdown-code: #A0A0A0; --theme-markdown-block-quote: #101010; --theme-markdown-emph: #101010; --theme-markdown-strong: #101010; - --theme-markdown-horizontal-rule: #65737e; + --theme-markdown-horizontal-rule: #65737E; --theme-markdown-list-item: #101010; --theme-markdown-list-enumeration: #101010; - --theme-markdown-image: #ffc799; - --theme-markdown-image-text: #a0a0a0; + --theme-markdown-image: #FFC799; + --theme-markdown-image-text: #A0A0A0; --theme-markdown-code-block: #101010; --theme-syntax-comment: #8b8b8b94; - --theme-syntax-keyword: #a0a0a0; - --theme-syntax-function: #ffc799; + --theme-syntax-keyword: #A0A0A0; + --theme-syntax-function: #FFC799; --theme-syntax-variable: #101010; - --theme-syntax-string: #99ffe4; - --theme-syntax-number: #ffc799; - --theme-syntax-type: #ffc799; - --theme-syntax-operator: #a0a0a0; + --theme-syntax-string: #99FFE4; + --theme-syntax-number: #FFC799; + --theme-syntax-type: #FFC799; + --theme-syntax-operator: #A0A0A0; --theme-syntax-punctuation: #101010; } [data-theme="vesper"][data-dark="true"] { - --theme-primary: #ffc799; - --theme-secondary: #99ffe4; - --theme-accent: #ffc799; - --theme-error: #ff8080; - --theme-warning: #ffc799; - --theme-success: #99ffe4; - --theme-info: #ffc799; - --theme-text: #fff; - --theme-text-muted: #a0a0a0; + --theme-primary: #FFC799; + --theme-secondary: #99FFE4; + --theme-accent: #FFC799; + --theme-error: #FF8080; + --theme-warning: #FFC799; + --theme-success: #99FFE4; + --theme-info: #FFC799; + --theme-text: #FFF; + --theme-text-muted: #A0A0A0; --theme-background: #101010; --theme-background-panel: #101010; --theme-background-element: #101010; --theme-border: #282828; - --theme-border-active: #ffc799; - --theme-border-subtle: #1c1c1c; - --theme-diff-added: #99ffe4; - --theme-diff-removed: #ff8080; - --theme-diff-context: #a0a0a0; - --theme-diff-hunk-header: #a0a0a0; - --theme-diff-highlight-added: #99ffe4; - --theme-diff-highlight-removed: #ff8080; + --theme-border-active: #FFC799; + --theme-border-subtle: #1C1C1C; + --theme-diff-added: #99FFE4; + --theme-diff-removed: #FF8080; + --theme-diff-context: #A0A0A0; + --theme-diff-hunk-header: #A0A0A0; + --theme-diff-highlight-added: #99FFE4; + --theme-diff-highlight-removed: #FF8080; --theme-diff-added-bg: #0d2818; --theme-diff-removed-bg: #281a1a; --theme-diff-context-bg: #101010; --theme-diff-line-number: #505050; --theme-diff-added-line-number-bg: #0d2818; --theme-diff-removed-line-number-bg: #281a1a; - --theme-markdown-text: #fff; - --theme-markdown-heading: #ffc799; - --theme-markdown-link: #ffc799; - --theme-markdown-link-text: #a0a0a0; - --theme-markdown-code: #a0a0a0; - --theme-markdown-block-quote: #fff; - --theme-markdown-emph: #fff; - --theme-markdown-strong: #fff; - --theme-markdown-horizontal-rule: #65737e; - --theme-markdown-list-item: #fff; - --theme-markdown-list-enumeration: #fff; - --theme-markdown-image: #ffc799; - --theme-markdown-image-text: #a0a0a0; - --theme-markdown-code-block: #fff; + --theme-markdown-text: #FFF; + --theme-markdown-heading: #FFC799; + --theme-markdown-link: #FFC799; + --theme-markdown-link-text: #A0A0A0; + --theme-markdown-code: #A0A0A0; + --theme-markdown-block-quote: #FFF; + --theme-markdown-emph: #FFF; + --theme-markdown-strong: #FFF; + --theme-markdown-horizontal-rule: #65737E; + --theme-markdown-list-item: #FFF; + --theme-markdown-list-enumeration: #FFF; + --theme-markdown-image: #FFC799; + --theme-markdown-image-text: #A0A0A0; + --theme-markdown-code-block: #FFF; --theme-syntax-comment: #8b8b8b94; - --theme-syntax-keyword: #a0a0a0; - --theme-syntax-function: #ffc799; - --theme-syntax-variable: #fff; - --theme-syntax-string: #99ffe4; - --theme-syntax-number: #ffc799; - --theme-syntax-type: #ffc799; - --theme-syntax-operator: #a0a0a0; - --theme-syntax-punctuation: #fff; + --theme-syntax-keyword: #A0A0A0; + --theme-syntax-function: #FFC799; + --theme-syntax-variable: #FFF; + --theme-syntax-string: #99FFE4; + --theme-syntax-number: #FFC799; + --theme-syntax-type: #FFC799; + --theme-syntax-operator: #A0A0A0; + --theme-syntax-punctuation: #FFF; } [data-theme="zenburn"][data-dark="false"] { @@ -2383,3 +2383,4 @@ --theme-syntax-operator: #f0dfaf; --theme-syntax-punctuation: #dcdccc; } + diff --git a/packages/app/sst-env.d.ts b/packages/app/sst-env.d.ts new file mode 100644 index 00000000..b6a7e906 --- /dev/null +++ b/packages/app/sst-env.d.ts @@ -0,0 +1,9 @@ +/* This file is auto-generated by SST. Do not edit. */ +/* tslint:disable */ +/* eslint-disable */ +/* deno-fmt-ignore-file */ + +/// + +import "sst" +export {} \ No newline at end of file diff --git a/packages/function/sst-env.d.ts b/packages/function/sst-env.d.ts index afa8c6fe..09c60c7c 100644 --- a/packages/function/sst-env.d.ts +++ b/packages/function/sst-env.d.ts @@ -6,91 +6,91 @@ import "sst" declare module "sst" { export interface Resource { - ANTHROPIC_API_KEY: { - type: "sst.sst.Secret" - value: string + "ANTHROPIC_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string } - BASETEN_API_KEY: { - type: "sst.sst.Secret" - value: string + "BASETEN_API_KEY": { + "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 } - FIREWORKS_API_KEY: { - type: "sst.sst.Secret" - value: string + "FIREWORKS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - OPENAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "OPENAI_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - XAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "XAI_API_KEY": { + "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 - LogProcessor: cloudflare.Service + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "LogProcessor": cloudflare.Service } } import "sst" -export {} +export {} \ No newline at end of file diff --git a/packages/opencode/sst-env.d.ts b/packages/opencode/sst-env.d.ts index 0397645b..b6a7e906 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 0397645b..b6a7e906 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/sdk/js/sst-env.d.ts b/packages/sdk/js/sst-env.d.ts index bd558821..9b9de732 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/web/sst-env.d.ts b/packages/web/sst-env.d.ts index 0397645b..b6a7e906 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 0397645b..b6a7e906 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 22caba96..e45b4e5e 100644 --- a/sst-env.d.ts +++ b/sst-env.d.ts @@ -5,99 +5,99 @@ declare module "sst" { export interface Resource { - ANTHROPIC_API_KEY: { - type: "sst.sst.Secret" - value: string + "ANTHROPIC_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - AUTH_API_URL: { - type: "sst.sst.Linkable" - value: string + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "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: { - type: "sst.cloudflare.Kv" + "AuthStorage": { + "type": "sst.cloudflare.Kv" } - BASETEN_API_KEY: { - type: "sst.sst.Secret" - value: string + "BASETEN_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - Bucket: { - name: string - type: "sst.cloudflare.Bucket" + "Bucket": { + "name": string + "type": "sst.cloudflare.Bucket" } - 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 } - FIREWORKS_API_KEY: { - type: "sst.sst.Secret" - value: string + "FIREWORKS_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_ID: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_APP_PRIVATE_KEY: { - type: "sst.sst.Secret" - value: string + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_ID_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GITHUB_CLIENT_SECRET_CONSOLE: { - type: "sst.sst.Secret" - value: string + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string } - GOOGLE_CLIENT_ID: { - type: "sst.sst.Secret" - value: string + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string } - HONEYCOMB_API_KEY: { - type: "sst.sst.Secret" - value: string + "HONEYCOMB_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - LogProcessor: { - type: "sst.cloudflare.Worker" + "LogProcessor": { + "type": "sst.cloudflare.Worker" } - OPENAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "OPENAI_API_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_SECRET_KEY: { - type: "sst.sst.Secret" - value: string + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string } - STRIPE_WEBHOOK_SECRET: { - type: "sst.sst.Linkable" - value: string + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string } - Web: { - type: "sst.cloudflare.Astro" - url: string + "Web": { + "type": "sst.cloudflare.Astro" + "url": string } - XAI_API_KEY: { - type: "sst.sst.Secret" - value: string + "XAI_API_KEY": { + "type": "sst.sst.Secret" + "value": string } } } /// import "sst" -export {} +export {} \ No newline at end of file diff --git a/sst.config.ts b/sst.config.ts index f9ffa579..2bc55d76 100644 --- a/sst.config.ts +++ b/sst.config.ts @@ -15,11 +15,8 @@ export default $config({ } }, async run() { - const { api } = await import("./infra/app.js") - const { auth } = await import("./infra/cloud.js") - return { - api: api.url, - auth: auth.url, - } + await import("./infra/app.js") + await import("./infra/cloud.js") + await import("./infra/desktop.js") }, })