This commit is contained in:
Frank
2025-09-18 01:32:40 -04:00
parent f8c4f713a5
commit fc4f281408
155 changed files with 415 additions and 415 deletions

146
bun.lock
View File

@@ -12,74 +12,6 @@
"turbo": "2.5.6", "turbo": "2.5.6",
}, },
}, },
"cloud/app": {
"name": "@opencode/cloud-app",
"dependencies": {
"@ibm/plex": "6.4.1",
"@openauthjs/openauth": "0.0.0-20250322224806",
"@opencode/cloud-core": "workspace:*",
"@solidjs/meta": "^0.29.4",
"@solidjs/router": "^0.15.0",
"@solidjs/start": "^1.1.0",
"solid-js": "catalog:",
"vinxi": "^0.5.7",
},
},
"cloud/core": {
"name": "@opencode/cloud-core",
"version": "0.9.11",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@opencode/cloud-resource": "workspace:*",
"@planetscale/database": "1.19.0",
"drizzle-orm": "0.41.0",
"postgres": "3.4.7",
"stripe": "18.0.0",
"ulid": "3.0.0",
},
"devDependencies": {
"drizzle-kit": "0.30.5",
"mysql2": "3.14.4",
},
},
"cloud/function": {
"name": "@opencode/cloud-function",
"version": "0.9.11",
"dependencies": {
"@ai-sdk/anthropic": "2.0.0",
"@ai-sdk/openai": "2.0.2",
"@ai-sdk/openai-compatible": "1.0.1",
"@hono/zod-validator": "catalog:",
"@openauthjs/openauth": "0.0.0-20250322224806",
"ai": "catalog:",
"hono": "catalog:",
"zod": "catalog:",
},
"devDependencies": {
"@cloudflare/workers-types": "4.20250522.0",
"@types/node": "catalog:",
"openai": "5.11.0",
"typescript": "catalog:",
},
},
"cloud/resource": {
"name": "@opencode/cloud-resource",
"dependencies": {
"@cloudflare/workers-types": "^4.20250830.0",
},
},
"cloud/scripts": {
"name": "@opencode/cloud-scripts",
"version": "0.9.11",
"dependencies": {
"@opencode/cloud-core": "workspace:*",
"tsx": "4.20.5",
},
"devDependencies": {
"@types/node": "catalog:",
"typescript": "catalog:",
},
},
"packages/app": { "packages/app": {
"name": "@opencode/app", "name": "@opencode/app",
"version": "0.9.11", "version": "0.9.11",
@@ -112,6 +44,74 @@
"vite-plugin-solid": "^2.11.6", "vite-plugin-solid": "^2.11.6",
}, },
}, },
"packages/cloud/app": {
"name": "@opencode/cloud-app",
"dependencies": {
"@ibm/plex": "6.4.1",
"@openauthjs/openauth": "0.0.0-20250322224806",
"@opencode/cloud-core": "workspace:*",
"@solidjs/meta": "^0.29.4",
"@solidjs/router": "^0.15.0",
"@solidjs/start": "^1.1.0",
"solid-js": "catalog:",
"vinxi": "^0.5.7",
},
},
"packages/cloud/core": {
"name": "@opencode/cloud-core",
"version": "0.9.11",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@opencode/cloud-resource": "workspace:*",
"@planetscale/database": "1.19.0",
"drizzle-orm": "0.41.0",
"postgres": "3.4.7",
"stripe": "18.0.0",
"ulid": "3.0.0",
},
"devDependencies": {
"drizzle-kit": "0.30.5",
"mysql2": "3.14.4",
},
},
"packages/cloud/function": {
"name": "@opencode/cloud-function",
"version": "0.9.11",
"dependencies": {
"@ai-sdk/anthropic": "2.0.0",
"@ai-sdk/openai": "2.0.2",
"@ai-sdk/openai-compatible": "1.0.1",
"@hono/zod-validator": "catalog:",
"@openauthjs/openauth": "0.0.0-20250322224806",
"ai": "catalog:",
"hono": "catalog:",
"zod": "catalog:",
},
"devDependencies": {
"@cloudflare/workers-types": "4.20250522.0",
"@types/node": "catalog:",
"openai": "5.11.0",
"typescript": "catalog:",
},
},
"packages/cloud/resource": {
"name": "@opencode/cloud-resource",
"dependencies": {
"@cloudflare/workers-types": "^4.20250830.0",
},
},
"packages/cloud/scripts": {
"name": "@opencode/cloud-scripts",
"version": "0.9.11",
"dependencies": {
"@opencode/cloud-core": "workspace:*",
"tsx": "4.20.5",
},
"devDependencies": {
"@types/node": "catalog:",
"typescript": "catalog:",
},
},
"packages/function": { "packages/function": {
"name": "@opencode/function", "name": "@opencode/function",
"version": "0.9.11", "version": "0.9.11",
@@ -693,15 +693,15 @@
"@opencode/app": ["@opencode/app@workspace:packages/app"], "@opencode/app": ["@opencode/app@workspace:packages/app"],
"@opencode/cloud-app": ["@opencode/cloud-app@workspace:cloud/app"], "@opencode/cloud-app": ["@opencode/cloud-app@workspace:packages/cloud/app"],
"@opencode/cloud-core": ["@opencode/cloud-core@workspace:cloud/core"], "@opencode/cloud-core": ["@opencode/cloud-core@workspace:packages/cloud/core"],
"@opencode/cloud-function": ["@opencode/cloud-function@workspace:cloud/function"], "@opencode/cloud-function": ["@opencode/cloud-function@workspace:packages/cloud/function"],
"@opencode/cloud-resource": ["@opencode/cloud-resource@workspace:cloud/resource"], "@opencode/cloud-resource": ["@opencode/cloud-resource@workspace:packages/cloud/resource"],
"@opencode/cloud-scripts": ["@opencode/cloud-scripts@workspace:cloud/scripts"], "@opencode/cloud-scripts": ["@opencode/cloud-scripts@workspace:packages/cloud/scripts"],
"@opencode/function": ["@opencode/function@workspace:packages/function"], "@opencode/function": ["@opencode/function@workspace:packages/function"],

View File

@@ -1,96 +0,0 @@
/* 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 {}

View File

@@ -1,96 +0,0 @@
/* 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 {}

View File

@@ -44,7 +44,7 @@ new sst.x.DevCommand("Studio", {
link: [database], link: [database],
dev: { dev: {
command: "bun db studio", command: "bun db studio",
directory: "cloud/core", directory: "packages/cloud/core",
autostart: true, autostart: true,
}, },
}) })
@@ -59,7 +59,7 @@ const GOOGLE_CLIENT_ID = new sst.Secret("GOOGLE_CLIENT_ID")
const authStorage = new sst.cloudflare.Kv("AuthStorage") const authStorage = new sst.cloudflare.Kv("AuthStorage")
export const auth = new sst.cloudflare.Worker("AuthApi", { export const auth = new sst.cloudflare.Worker("AuthApi", {
domain: `auth.${domain}`, domain: `auth.${domain}`,
handler: "cloud/function/src/auth.ts", handler: "packages/cloud/function/src/auth.ts",
url: true, url: true,
link: [database, authStorage, GITHUB_CLIENT_ID_CONSOLE, GITHUB_CLIENT_SECRET_CONSOLE, GOOGLE_CLIENT_ID], link: [database, authStorage, GITHUB_CLIENT_ID_CONSOLE, GITHUB_CLIENT_SECRET_CONSOLE, GOOGLE_CLIENT_ID],
}) })
@@ -120,14 +120,14 @@ let logProcessor
if ($app.stage === "production" || $app.stage === "frank") { if ($app.stage === "production" || $app.stage === "frank") {
const HONEYCOMB_API_KEY = new sst.Secret("HONEYCOMB_API_KEY") const HONEYCOMB_API_KEY = new sst.Secret("HONEYCOMB_API_KEY")
logProcessor = new sst.cloudflare.Worker("LogProcessor", { logProcessor = new sst.cloudflare.Worker("LogProcessor", {
handler: "cloud/function/src/log-processor.ts", handler: "packages/cloud/function/src/log-processor.ts",
link: [HONEYCOMB_API_KEY], link: [HONEYCOMB_API_KEY],
}) })
} }
new sst.cloudflare.x.SolidStart("Console", { new sst.cloudflare.x.SolidStart("Console", {
domain, domain,
path: "cloud/app", path: "packages/cloud/app",
link: [ link: [
database, database,
AUTH_API_URL, AUTH_API_URL,

View File

@@ -12,8 +12,8 @@
}, },
"workspaces": { "workspaces": {
"packages": [ "packages": [
"cloud/*",
"packages/*", "packages/*",
"packages/cloud/*",
"packages/sdk/js" "packages/sdk/js"
], ],
"catalog": { "catalog": {

View File

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 377 B

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 212 B

View File

Before

Width:  |  Height:  |  Size: 443 B

After

Width:  |  Height:  |  Size: 443 B

View File

Before

Width:  |  Height:  |  Size: 902 KiB

After

Width:  |  Height:  |  Size: 902 KiB

View File

Before

Width:  |  Height:  |  Size: 456 KiB

After

Width:  |  Height:  |  Size: 456 KiB

View File

Before

Width:  |  Height:  |  Size: 998 KiB

After

Width:  |  Height:  |  Size: 998 KiB

View File

Before

Width:  |  Height:  |  Size: 592 KiB

After

Width:  |  Height:  |  Size: 592 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 981 B

After

Width:  |  Height:  |  Size: 981 B

View File

@@ -3,7 +3,7 @@
/* eslint-disable */ /* eslint-disable */
/* deno-fmt-ignore-file */ /* deno-fmt-ignore-file */
/// <reference path="../../sst-env.d.ts" /> /// <reference path="../../../sst-env.d.ts" />
import "sst" import "sst"
export {} export {}

Some files were not shown because too many files have changed in this diff Show More