diff --git a/.github/workflows/notify-discord.yml b/.github/workflows/notify-discord.yml index c9032c30..fde89641 100644 --- a/.github/workflows/notify-discord.yml +++ b/.github/workflows/notify-discord.yml @@ -2,7 +2,7 @@ name: discord on: release: - types: [published] # fires only when a release is published + types: [published] # fires only when a release is published jobs: notify: diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 08014cf2..41ee7540 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -24,4 +24,4 @@ jobs: env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} with: - model: opencode/sonic \ No newline at end of file + model: opencode/sonic diff --git a/cloud/app/src/app.tsx b/cloud/app/src/app.tsx index 17385c4a..bc396121 100644 --- a/cloud/app/src/app.tsx +++ b/cloud/app/src/app.tsx @@ -1,15 +1,15 @@ -import { MetaProvider, Title, Meta } from "@solidjs/meta"; -import { Router } from "@solidjs/router"; -import { FileRoutes } from "@solidjs/start/router"; -import { ErrorBoundary, Suspense } from "solid-js"; -import "@ibm/plex/css/ibm-plex.css"; -import "./app.css"; +import { MetaProvider, Title, Meta } from "@solidjs/meta" +import { Router } from "@solidjs/router" +import { FileRoutes } from "@solidjs/start/router" +import { ErrorBoundary, Suspense } from "solid-js" +import "@ibm/plex/css/ibm-plex.css" +import "./app.css" export default function App() { return ( ( + root={(props) => ( opencode @@ -19,5 +19,5 @@ export default function App() { > - ); + ) } diff --git a/cloud/app/src/component/icon.tsx b/cloud/app/src/component/icon.tsx index d73c178b..c91c4937 100644 --- a/cloud/app/src/component/icon.tsx +++ b/cloud/app/src/component/icon.tsx @@ -6,34 +6,66 @@ export function IconLogo(props: JSX.SvgSVGAttributes) { - + - - + + - ); + ) } export function IconCopy(props: JSX.SvgSVGAttributes) { return ( - - - + + + ) } export function IconCheck(props: JSX.SvgSVGAttributes) { return ( - - + + ) } diff --git a/cloud/app/src/entry-client.tsx b/cloud/app/src/entry-client.tsx index 0ca4e3c3..642deacf 100644 --- a/cloud/app/src/entry-client.tsx +++ b/cloud/app/src/entry-client.tsx @@ -1,4 +1,4 @@ // @refresh reload -import { mount, StartClient } from "@solidjs/start/client"; +import { mount, StartClient } from "@solidjs/start/client" -mount(() => , document.getElementById("app")!); +mount(() => , document.getElementById("app")!) diff --git a/cloud/app/src/entry-server.tsx b/cloud/app/src/entry-server.tsx index d2e6044a..d5fca6aa 100644 --- a/cloud/app/src/entry-server.tsx +++ b/cloud/app/src/entry-server.tsx @@ -1,26 +1,28 @@ // @refresh reload import { createHandler, StartServer } from "@solidjs/start/server" - -export default createHandler(() => ( - ( - - - - - - - - {assets} - - -
{children}
- {scripts} - - - )} - /> -), { - mode: "async", -}) +export default createHandler( + () => ( + ( + + + + + + + + {assets} + + +
{children}
+ {scripts} + + + )} + /> + ), + { + mode: "async", + }, +) diff --git a/cloud/app/src/routes/index.tsx b/cloud/app/src/routes/index.tsx index 23e870a5..fe355d79 100644 --- a/cloud/app/src/routes/index.tsx +++ b/cloud/app/src/routes/index.tsx @@ -64,9 +64,7 @@ export default function Home() {
)} diff --git a/packages/web/src/components/share/copy-button.tsx b/packages/web/src/components/share/copy-button.tsx index ad2e83b2..892d5553 100644 --- a/packages/web/src/components/share/copy-button.tsx +++ b/packages/web/src/components/share/copy-button.tsx @@ -11,8 +11,7 @@ export function CopyButton(props: CopyButtonProps) { function handleCopyClick() { if (props.text) { - navigator.clipboard.writeText(props.text) - .catch((err) => console.error("Copy failed", err)) + navigator.clipboard.writeText(props.text).catch((err) => console.error("Copy failed", err)) setCopied(true) setTimeout(() => setCopied(false), 2000) @@ -21,15 +20,8 @@ export function CopyButton(props: CopyButtonProps) { return (
-
) diff --git a/packages/web/src/components/share/part.tsx b/packages/web/src/components/share/part.tsx index b27e4806..ddef206b 100644 --- a/packages/web/src/components/share/part.tsx +++ b/packages/web/src/components/share/part.tsx @@ -168,32 +168,25 @@ export function Part(props: PartProps) {
)} - { - props.message.role === "user" && props.part.type === "file" && ( -
-
Attachment
-
{props.part.filename}
-
- ) - } - { - props.part.type === "step-start" && props.message.role === "assistant" && ( -
-
{props.message.providerID}
-
{props.message.modelID}
-
- ) - } - { - props.part.type === "tool" && props.part.state.status === "error" && ( -
- {formatErrorString(props.part.state.error)} - -
- ) - } - { - props.part.type === "tool" && + {props.message.role === "user" && props.part.type === "file" && ( +
+
Attachment
+
{props.part.filename}
+
+ )} + {props.part.type === "step-start" && props.message.role === "assistant" && ( +
+
{props.message.providerID}
+
{props.message.modelID}
+
+ )} + {props.part.type === "tool" && props.part.state.status === "error" && ( +
+ {formatErrorString(props.part.state.error)} + +
+ )} + {props.part.type === "tool" && props.part.state.status === "completed" && props.message.role === "assistant" && ( <> @@ -295,10 +288,9 @@ export function Part(props: PartProps) { .toMillis()} /> - ) - } - - + )} + + ) } diff --git a/packages/web/src/content/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx index 903c3638..c0fbbd3b 100644 --- a/packages/web/src/content/docs/cli.mdx +++ b/packages/web/src/content/docs/cli.mdx @@ -17,8 +17,6 @@ But it also accepts commands as documented on this page. This allows you to inte opencode run "Explain how closures work in JavaScript" ``` - - --- ## Commands diff --git a/packages/web/src/content/docs/commands.mdx b/packages/web/src/content/docs/commands.mdx index 59c9536a..8653e26c 100644 --- a/packages/web/src/content/docs/commands.mdx +++ b/packages/web/src/content/docs/commands.mdx @@ -62,7 +62,7 @@ Use the `command` option in your opencode [config](/docs/config): "description": "Run tests with coverage", "agent": "build", "model": "anthropic/claude-3-5-sonnet-20241022" - }, + } } } ``` diff --git a/packages/web/src/content/docs/config.mdx b/packages/web/src/content/docs/config.mdx index 045bc596..68c14fc7 100644 --- a/packages/web/src/content/docs/config.mdx +++ b/packages/web/src/content/docs/config.mdx @@ -164,13 +164,13 @@ You can configure custom commands for repetitive tasks through the `command` opt "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.", "description": "Run tests with coverage", "agent": "build", - "model": "anthropic/claude-3-5-sonnet-20241022" + "model": "anthropic/claude-3-5-sonnet-20241022", }, "component": { "template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.", - "description": "Create a new component" - } - } + "description": "Create a new component", + }, + }, } ``` diff --git a/packages/web/src/content/docs/formatters.mdx b/packages/web/src/content/docs/formatters.mdx index 9c9411ae..5c00c3ca 100644 --- a/packages/web/src/content/docs/formatters.mdx +++ b/packages/web/src/content/docs/formatters.mdx @@ -11,19 +11,19 @@ opencode automatically formats files after they are written or edited using lang opencode comes with several built-in formatters for popular languages and frameworks. Below is a list of the formatters, supported file extensions, and commands or config options it needs. -| Formatter | Extensions | Requirements | -| -------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------- | -| gofmt | .go | `gofmt` command available | -| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available | +| Formatter | Extensions | Requirements | +| -------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------- | +| gofmt | .go | `gofmt` command available | +| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available | | prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://prettier.io/docs/en/index.html) | `prettier` dependency in `package.json` | -| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | `biome.json(c)` config file | -| zig | .zig, .zon | `zig` command available | -| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` config file | -| ktlint | .kt, .kts | `ktlint` command available | -| ruff | .py, .pyi | `ruff` command available with config | -| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` command available | -| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available | -| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available | +| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | `biome.json(c)` config file | +| zig | .zig, .zon | `zig` command available | +| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` config file | +| ktlint | .kt, .kts | `ktlint` command available | +| ruff | .py, .pyi | `ruff` command available with config | +| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` command available | +| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available | +| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available | So if your project has `prettier` in your `package.json`, opencode will automatically use it. @@ -48,7 +48,7 @@ You can customize formatters through the `formatter` section in your opencode co ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", - "formatter": { } + "formatter": {} } ``` @@ -56,7 +56,7 @@ Each formatter configuration supports the following: | Property | Type | Description | | ------------- | -------- | ------------------------------------------------------- | -| `disabled` | boolean | Set this to `true` to disable the formatter | +| `disabled` | boolean | Set this to `true` to disable the formatter | | `command` | string[] | The command to run for formatting | | `environment` | object | Environment variables to set when running the formatter | | `extensions` | string[] | File extensions this formatter should handle | diff --git a/packages/web/src/content/docs/gitlab.mdx b/packages/web/src/content/docs/gitlab.mdx index 023ac678..0d21d70c 100644 --- a/packages/web/src/content/docs/gitlab.mdx +++ b/packages/web/src/content/docs/gitlab.mdx @@ -33,7 +33,7 @@ Check out the [**GitLab docs**](https://docs.gitlab.com/user/duo_agent_platform/ 6. Create a flow config file, here's an example:
- Flow configuration + Flow configuration ```yaml image: node:22-slim @@ -67,17 +67,17 @@ Check out the [**GitLab docs**](https://docs.gitlab.com/user/duo_agent_platform/ - | opencode run " You are an AI assistant helping with GitLab operations. - + Context: $AI_FLOW_CONTEXT Task: $AI_FLOW_INPUT Event: $AI_FLOW_EVENT - + Please execute the requested task using the available GitLab tools. Be thorough in your analysis and provide clear explanations. - + Please use the glab CLI to access data from GitLab. The glab CLI has already been authenticated. You can run the corresponding commands. - + If you are asked to summarise an MR or issue or asked to provide more information then please post back a note to the MR/Issue so that the user can see it. You don't need to commit or push up changes, those will be done automatically based on the file changes you make. diff --git a/packages/web/src/content/docs/index.mdx b/packages/web/src/content/docs/index.mdx index 7ca2fee7..7513d5bf 100644 --- a/packages/web/src/content/docs/index.mdx +++ b/packages/web/src/content/docs/index.mdx @@ -41,26 +41,10 @@ You can also install it with the following: - **Using Node.js** - - ```bash - npm install -g opencode-ai - ``` - - - ```bash - bun install -g opencode-ai - ``` - - - ```bash - pnpm install -g opencode-ai - ``` - - - ```bash - yarn global add opencode-ai - ``` - + ```bash npm install -g opencode-ai ``` + ```bash bun install -g opencode-ai ``` + ```bash pnpm install -g opencode-ai ``` + ```bash yarn global add opencode-ai ``` - **Using Homebrew on macOS and Linux** diff --git a/packages/web/src/content/docs/server.mdx b/packages/web/src/content/docs/server.mdx index 0713cce6..2eea2ba7 100644 --- a/packages/web/src/content/docs/server.mdx +++ b/packages/web/src/content/docs/server.mdx @@ -79,9 +79,9 @@ The opencode server exposes the following APIs. ### Config -| Method | Path | Description | Response | -| ------ | ------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `GET` | `/config` | Get config info | Config | +| Method | Path | Description | Response | +| ------ | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- | +| `GET` | `/config` | Get config info | Config | | `GET` | `/config/providers` | List providers and default models | `{ providers: `Provider[]`, default: { [key: string]: string } }` | --- @@ -101,8 +101,8 @@ The opencode server exposes the following APIs. | `POST` | `/session/:id/share` | Share session | Returns Session | | `DELETE` | `/session/:id/share` | Unshare session | Returns Session | | `POST` | `/session/:id/summarize` | Summarize session | | -| `GET` | `/session/:id/message` | List messages in a session | Returns `{ info: `Message`, parts: `Part[]`}[]` | -| `GET` | `/session/:id/message/:messageID` | Get message details | Returns `{ info: `Message`, parts: `Part[]`}` | +| `GET` | `/session/:id/message` | List messages in a session | Returns `{ info: `Message`, parts: `Part[]`}[]` | +| `GET` | `/session/:id/message/:messageID` | Get message details | Returns `{ info: `Message`, parts: `Part[]`}` | | `POST` | `/session/:id/message` | Send chat message | body matches [`ChatInput`](https://github.com/sst/opencode/blob/main/packages/opencode/src/session/index.ts#L358), returns Message | | `POST` | `/session/:id/shell` | Run a shell command | body matches [`CommandInput`](https://github.com/sst/opencode/blob/main/packages/opencode/src/session/index.ts#L1007), returns Message | | `POST` | `/session/:id/revert` | Revert a message | body: `{ messageID }` | @@ -175,6 +175,6 @@ The opencode server exposes the following APIs. ### Docs -| Method | Path | Description | Response | -| ------ | ------ | -------------------------------------- | ------------------------------------------ | +| Method | Path | Description | Response | +| ------ | ------ | ------------------------- | --------------------------- | | `GET` | `/doc` | OpenAPI 3.1 specification | HTML page with OpenAPI spec | diff --git a/packages/web/src/content/docs/tui.mdx b/packages/web/src/content/docs/tui.mdx index 113bad69..19fafe82 100644 --- a/packages/web/src/content/docs/tui.mdx +++ b/packages/web/src/content/docs/tui.mdx @@ -272,6 +272,7 @@ Both the `/editor` and `/export` commands use the editor specified in your `EDIT To make it permanent, add this to your shell profile; `~/.bashrc`, `~/.zshrc`, etc. + @@ -284,6 +285,7 @@ Both the `/editor` and `/export` commands use the editor specified in your `EDIT To make it permanent, use **System Properties** > **Environment Variables**. + @@ -295,6 +297,7 @@ Both the `/editor` and `/export` commands use the editor specified in your `EDIT ``` To make it permanent, add this to your PowerShell profile. + diff --git a/packages/web/src/content/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx index 9f4069a8..3f54d30e 100644 --- a/packages/web/src/content/docs/zen.mdx +++ b/packages/web/src/content/docs/zen.mdx @@ -73,11 +73,11 @@ We created opencode zen to: Below are the models that we currently support and their prices **per 1M tokens**. -| Model | Input | Output | -| ----- | ----- | ------ | -| Qwen3 Coder 480B | $0.38 | $0.50 | -| Grok Code Fast 1 | Free | Free | -| Sonnet 4 | Soon | Soon | +| Model | Input | Output | +| ---------------- | ----- | ------ | +| Qwen3 Coder 480B | $0.38 | $0.50 | +| Grok Code Fast 1 | Free | Free | +| Sonnet 4 | Soon | Soon | :::note We add a small markup to cover our costs. @@ -86,7 +86,7 @@ We add a small markup to cover our costs. A couple of notes: - These are the raw prices based on the provider we are using internally. We -charge a small markup on top of this to cover our processing fees. + charge a small markup on top of this to cover our processing fees. - Grok Code Fast 1 is currently free on opencode till Sep 10th. The xAI team is using this time to collect feedback and improve Grok Code. diff --git a/packages/web/sst-env.d.ts b/packages/web/sst-env.d.ts index b6a7e906..0397645b 100644 --- a/packages/web/sst-env.d.ts +++ b/packages/web/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} \ No newline at end of file +export {} diff --git a/sdks/vscode/.vscode-test.mjs b/sdks/vscode/.vscode-test.mjs index b62ba25f..993a118a 100644 --- a/sdks/vscode/.vscode-test.mjs +++ b/sdks/vscode/.vscode-test.mjs @@ -1,5 +1,5 @@ -import { defineConfig } from '@vscode/test-cli'; +import { defineConfig } from "@vscode/test-cli" export default defineConfig({ - files: 'out/test/**/*.test.js', -}); + files: "out/test/**/*.test.js", +}) diff --git a/sdks/vscode/esbuild.js b/sdks/vscode/esbuild.js index cc2be598..aa09b4eb 100644 --- a/sdks/vscode/esbuild.js +++ b/sdks/vscode/esbuild.js @@ -1,56 +1,54 @@ -const esbuild = require("esbuild"); +const esbuild = require("esbuild") -const production = process.argv.includes('--production'); -const watch = process.argv.includes('--watch'); +const production = process.argv.includes("--production") +const watch = process.argv.includes("--watch") /** * @type {import('esbuild').Plugin} */ const esbuildProblemMatcherPlugin = { - name: 'esbuild-problem-matcher', + name: "esbuild-problem-matcher", - setup(build) { - build.onStart(() => { - console.log('[watch] build started'); - }); - build.onEnd((result) => { - result.errors.forEach(({ text, location }) => { - console.error(`✘ [ERROR] ${text}`); - console.error(` ${location.file}:${location.line}:${location.column}:`); - }); - console.log('[watch] build finished'); - }); - }, -}; - -async function main() { - const ctx = await esbuild.context({ - entryPoints: [ - 'src/extension.ts' - ], - bundle: true, - format: 'cjs', - minify: production, - sourcemap: !production, - sourcesContent: false, - platform: 'node', - outfile: 'dist/extension.js', - external: ['vscode'], - logLevel: 'silent', - plugins: [ - /* add to the end of plugins array */ - esbuildProblemMatcherPlugin, - ], - }); - if (watch) { - await ctx.watch(); - } else { - await ctx.rebuild(); - await ctx.dispose(); - } + setup(build) { + build.onStart(() => { + console.log("[watch] build started") + }) + build.onEnd((result) => { + result.errors.forEach(({ text, location }) => { + console.error(`✘ [ERROR] ${text}`) + console.error(` ${location.file}:${location.line}:${location.column}:`) + }) + console.log("[watch] build finished") + }) + }, } -main().catch(e => { - console.error(e); - process.exit(1); -}); +async function main() { + const ctx = await esbuild.context({ + entryPoints: ["src/extension.ts"], + bundle: true, + format: "cjs", + minify: production, + sourcemap: !production, + sourcesContent: false, + platform: "node", + outfile: "dist/extension.js", + external: ["vscode"], + logLevel: "silent", + plugins: [ + /* add to the end of plugins array */ + esbuildProblemMatcherPlugin, + ], + }) + if (watch) { + await ctx.watch() + } else { + await ctx.rebuild() + await ctx.dispose() + } +} + +main().catch((e) => { + console.error(e) + process.exit(1) +}) diff --git a/sdks/vscode/eslint.config.mjs b/sdks/vscode/eslint.config.mjs index d5c0b53a..bcaaf8a9 100644 --- a/sdks/vscode/eslint.config.mjs +++ b/sdks/vscode/eslint.config.mjs @@ -1,28 +1,34 @@ -import typescriptEslint from "@typescript-eslint/eslint-plugin"; -import tsParser from "@typescript-eslint/parser"; +import typescriptEslint from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" -export default [{ +export default [ + { files: ["**/*.ts"], -}, { + }, + { plugins: { - "@typescript-eslint": typescriptEslint, + "@typescript-eslint": typescriptEslint, }, languageOptions: { - parser: tsParser, - ecmaVersion: 2022, - sourceType: "module", + parser: tsParser, + ecmaVersion: 2022, + sourceType: "module", }, rules: { - "@typescript-eslint/naming-convention": ["warn", { - selector: "import", - format: ["camelCase", "PascalCase"], - }], + "@typescript-eslint/naming-convention": [ + "warn", + { + selector: "import", + format: ["camelCase", "PascalCase"], + }, + ], - curly: "warn", - eqeqeq: "warn", - "no-throw-literal": "warn", - semi: "warn", + curly: "warn", + eqeqeq: "warn", + "no-throw-literal": "warn", + semi: "warn", }, -}]; \ No newline at end of file + }, +] diff --git a/sdks/vscode/sst-env.d.ts b/sdks/vscode/sst-env.d.ts index b6a7e906..0397645b 100644 --- a/sdks/vscode/sst-env.d.ts +++ b/sdks/vscode/sst-env.d.ts @@ -6,4 +6,4 @@ /// import "sst" -export {} \ No newline at end of file +export {} diff --git a/sst-env.d.ts b/sst-env.d.ts index 6392ab73..7db87a85 100644 --- a/sst-env.d.ts +++ b/sst-env.d.ts @@ -5,95 +5,95 @@ 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 } - "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 {} \ No newline at end of file +export {} diff --git a/tsconfig.json b/tsconfig.json index 75ddeff3..7f729962 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,8 +2,6 @@ "$schema": "https://json.schemastore.org/tsconfig", "extends": "@tsconfig/bun/tsconfig.json", "compilerOptions": { - "customConditions": [ - "development" - ], + "customConditions": ["development"] } }