wip: zen
146
bun.lock
@@ -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"],
|
||||||
|
|
||||||
|
|||||||
96
cloud/function/sst-env.d.ts
vendored
@@ -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 {}
|
|
||||||
96
cloud/resource/sst-env.d.ts
vendored
@@ -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 {}
|
|
||||||
2
github/sst-env.d.ts
vendored
@@ -6,4 +6,4 @@
|
|||||||
/// <reference path="../sst-env.d.ts" />
|
/// <reference path="../sst-env.d.ts" />
|
||||||
|
|
||||||
import "sst"
|
import "sst"
|
||||||
export {}
|
export {}
|
||||||
@@ -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,
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
},
|
},
|
||||||
"workspaces": {
|
"workspaces": {
|
||||||
"packages": [
|
"packages": [
|
||||||
"cloud/*",
|
|
||||||
"packages/*",
|
"packages/*",
|
||||||
|
"packages/cloud/*",
|
||||||
"packages/sdk/js"
|
"packages/sdk/js"
|
||||||
],
|
],
|
||||||
"catalog": {
|
"catalog": {
|
||||||
|
|||||||
2
packages/app/sst-env.d.ts
vendored
@@ -6,4 +6,4 @@
|
|||||||
/// <reference path="../../sst-env.d.ts" />
|
/// <reference path="../../sst-env.d.ts" />
|
||||||
|
|
||||||
import "sst"
|
import "sst"
|
||||||
export {}
|
export {}
|
||||||
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 443 B |
|
Before Width: | Height: | Size: 902 KiB After Width: | Height: | Size: 902 KiB |
|
Before Width: | Height: | Size: 456 KiB After Width: | Height: | Size: 456 KiB |
|
Before Width: | Height: | Size: 998 KiB After Width: | Height: | Size: 998 KiB |
|
Before Width: | Height: | Size: 592 KiB After Width: | Height: | Size: 592 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 981 B After Width: | Height: | Size: 981 B |
@@ -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 {}
|
||||||