summaryrefslogtreecommitdiffhomepage
path: root/packages/console/resource
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-09-18 10:59:01 -0400
committerFrank <[email protected]>2025-09-18 10:59:01 -0400
commit4ceabdffa07b1af8d99eb73622a4d549d99ec6d2 (patch)
tree72e2ae62084a9e24cc76caffbd1f30dafc69ea56 /packages/console/resource
parentc87480cf931a6f8f8b55552558ef521f1918b578 (diff)
downloadopencode-4ceabdffa07b1af8d99eb73622a4d549d99ec6d2.tar.gz
opencode-4ceabdffa07b1af8d99eb73622a4d549d99ec6d2.zip
wip: zen
Diffstat (limited to 'packages/console/resource')
-rw-r--r--packages/console/resource/bun.lock13
-rw-r--r--packages/console/resource/package.json15
-rw-r--r--packages/console/resource/resource.cloudflare.ts18
-rw-r--r--packages/console/resource/resource.node.ts1
-rw-r--r--packages/console/resource/sst-env.d.ts96
-rw-r--r--packages/console/resource/tsconfig.json9
6 files changed, 152 insertions, 0 deletions
diff --git a/packages/console/resource/bun.lock b/packages/console/resource/bun.lock
new file mode 100644
index 000000000..56bdf44ca
--- /dev/null
+++ b/packages/console/resource/bun.lock
@@ -0,0 +1,13 @@
+{
+ "lockfileVersion": 1,
+ "workspaces": {
+ "": {
+ "dependencies": {
+ "@cloudflare/workers-types": "^4.20250830.0",
+ },
+ },
+ },
+ "packages": {
+ "@cloudflare/workers-types": ["@cloudflare/[email protected]", "", {}, "sha512-uAGZFqEBFnCiwIokxMnrrtjIkT8qyGT1LACSScEUyW7nKmtD0Viykp9QZWrIlssyEp/MDB6XsdALF8y6upxpcg=="],
+ }
+}
diff --git a/packages/console/resource/package.json b/packages/console/resource/package.json
new file mode 100644
index 000000000..94a654548
--- /dev/null
+++ b/packages/console/resource/package.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json.schemastore.org/package.json",
+ "name": "@opencode/console-resource",
+ "dependencies": {
+ "@cloudflare/workers-types": "^4.20250830.0"
+ },
+ "exports": {
+ ".": {
+ "production": {
+ "import": "./resource.cloudflare.ts"
+ },
+ "import": "./resource.node.ts"
+ }
+ }
+}
diff --git a/packages/console/resource/resource.cloudflare.ts b/packages/console/resource/resource.cloudflare.ts
new file mode 100644
index 000000000..a56b1e417
--- /dev/null
+++ b/packages/console/resource/resource.cloudflare.ts
@@ -0,0 +1,18 @@
+import { env } from "cloudflare:workers"
+
+export const Resource = new Proxy(
+ {},
+ {
+ get(_target, prop: string) {
+ if (prop in env) {
+ // @ts-expect-error
+ const value = env[prop]
+ return typeof value === "string" ? JSON.parse(value) : value
+ } else if (prop === "App") {
+ // @ts-expect-error
+ return JSON.parse(env.SST_RESOURCE_App)
+ }
+ throw new Error(`"${prop}" is not linked in your sst.config.ts (cloudflare)`)
+ },
+ },
+) as Record<string, any>
diff --git a/packages/console/resource/resource.node.ts b/packages/console/resource/resource.node.ts
new file mode 100644
index 000000000..d7dbb6c6d
--- /dev/null
+++ b/packages/console/resource/resource.node.ts
@@ -0,0 +1 @@
+export { Resource } from "sst"
diff --git a/packages/console/resource/sst-env.d.ts b/packages/console/resource/sst-env.d.ts
new file mode 100644
index 000000000..09c60c7c2
--- /dev/null
+++ b/packages/console/resource/sst-env.d.ts
@@ -0,0 +1,96 @@
+/* This file is auto-generated by SST. Do not edit. */
+/* tslint:disable */
+/* eslint-disable */
+/* deno-fmt-ignore-file */
+
+import "sst"
+declare module "sst" {
+ export interface Resource {
+ "ANTHROPIC_API_KEY": {
+ "type": "sst.sst.Secret"
+ "value": string
+ }
+ "AUTH_API_URL": {
+ "type": "sst.sst.Linkable"
+ "value": string
+ }
+ "BASETEN_API_KEY": {
+ "type": "sst.sst.Secret"
+ "value": string
+ }
+ "Console": {
+ "type": "sst.cloudflare.SolidStart"
+ "url": 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
+ }
+ "GITHUB_APP_ID": {
+ "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_SECRET_CONSOLE": {
+ "type": "sst.sst.Secret"
+ "value": string
+ }
+ "GOOGLE_CLIENT_ID": {
+ "type": "sst.sst.Secret"
+ "value": string
+ }
+ "HONEYCOMB_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_WEBHOOK_SECRET": {
+ "type": "sst.sst.Linkable"
+ "value": string
+ }
+ "Web": {
+ "type": "sst.cloudflare.Astro"
+ "url": string
+ }
+ "XAI_API_KEY": {
+ "type": "sst.sst.Secret"
+ "value": string
+ }
+ }
+}
+// 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
+ }
+}
+
+import "sst"
+export {} \ No newline at end of file
diff --git a/packages/console/resource/tsconfig.json b/packages/console/resource/tsconfig.json
new file mode 100644
index 000000000..0faf16aab
--- /dev/null
+++ b/packages/console/resource/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@tsconfig/node22/tsconfig.json",
+ "compilerOptions": {
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "types": ["@cloudflare/workers-types", "node"]
+ }
+}