Frank 6 luni în urmă
părinte
comite
4ceabdffa0
100 a modificat fișierele cu 79 adăugiri și 273 ștergeri
  1. 35 37
      bun.lock
  2. 1 1
      github/sst-env.d.ts
  3. 4 4
      infra/console.ts
  4. 1 1
      package.json
  5. 1 1
      packages/app/sst-env.d.ts
  6. 0 96
      packages/cloud/function/sst-env.d.ts
  7. 0 96
      packages/cloud/resource/sst-env.d.ts
  8. 0 0
      packages/console/app/.gitignore
  9. 0 0
      packages/console/app/.opencode/agent/css.md
  10. 0 0
      packages/console/app/README.md
  11. 0 0
      packages/console/app/app.config.ts
  12. 2 2
      packages/console/app/package.json
  13. 0 0
      packages/console/app/public/favicon.svg
  14. 0 0
      packages/console/app/public/robots.txt
  15. 0 0
      packages/console/app/public/social-share.png
  16. 0 0
      packages/console/app/public/theme.json
  17. 0 0
      packages/console/app/src/app.css
  18. 0 0
      packages/console/app/src/app.tsx
  19. 0 0
      packages/console/app/src/asset/lander/check.svg
  20. 0 0
      packages/console/app/src/asset/lander/copy.svg
  21. 0 0
      packages/console/app/src/asset/lander/screenshot-github.png
  22. 0 0
      packages/console/app/src/asset/lander/screenshot-splash.png
  23. 0 0
      packages/console/app/src/asset/lander/screenshot-vscode.png
  24. 0 0
      packages/console/app/src/asset/lander/screenshot.png
  25. 0 0
      packages/console/app/src/asset/logo-ornate-dark.svg
  26. 0 0
      packages/console/app/src/asset/logo-ornate-light.svg
  27. 0 0
      packages/console/app/src/asset/logo.svg
  28. 0 0
      packages/console/app/src/component/icon.tsx
  29. 0 0
      packages/console/app/src/component/workspace/billing-section.module.css
  30. 1 1
      packages/console/app/src/component/workspace/billing-section.tsx
  31. 0 0
      packages/console/app/src/component/workspace/common.tsx
  32. 0 0
      packages/console/app/src/component/workspace/key-section.module.css
  33. 1 1
      packages/console/app/src/component/workspace/key-section.tsx
  34. 0 0
      packages/console/app/src/component/workspace/monthly-limit-section.module.css
  35. 1 1
      packages/console/app/src/component/workspace/monthly-limit-section.tsx
  36. 0 0
      packages/console/app/src/component/workspace/new-user-section.module.css
  37. 2 2
      packages/console/app/src/component/workspace/new-user-section.tsx
  38. 0 0
      packages/console/app/src/component/workspace/payment-section.module.css
  39. 1 1
      packages/console/app/src/component/workspace/payment-section.tsx
  40. 0 0
      packages/console/app/src/component/workspace/usage-section.module.css
  41. 1 1
      packages/console/app/src/component/workspace/usage-section.tsx
  42. 0 0
      packages/console/app/src/context/auth.session.ts
  43. 5 5
      packages/console/app/src/context/auth.ts
  44. 1 1
      packages/console/app/src/context/auth.withActor.ts
  45. 0 0
      packages/console/app/src/entry-client.tsx
  46. 0 0
      packages/console/app/src/entry-server.tsx
  47. 0 0
      packages/console/app/src/global.d.ts
  48. 0 0
      packages/console/app/src/middleware.ts
  49. 0 0
      packages/console/app/src/routes/[...404].css
  50. 0 0
      packages/console/app/src/routes/[...404].tsx
  51. 0 0
      packages/console/app/src/routes/auth/authorize.ts
  52. 0 0
      packages/console/app/src/routes/auth/callback.ts
  53. 1 1
      packages/console/app/src/routes/auth/index.ts
  54. 2 2
      packages/console/app/src/routes/debug/index.ts
  55. 0 0
      packages/console/app/src/routes/discord.ts
  56. 0 0
      packages/console/app/src/routes/docs/[...path].ts
  57. 0 0
      packages/console/app/src/routes/docs/index.ts
  58. 0 0
      packages/console/app/src/routes/index.css
  59. 1 1
      packages/console/app/src/routes/index.tsx
  60. 0 0
      packages/console/app/src/routes/s/[id].ts
  61. 7 7
      packages/console/app/src/routes/stripe/webhook.ts
  62. 0 0
      packages/console/app/src/routes/workspace.css
  63. 2 2
      packages/console/app/src/routes/workspace.tsx
  64. 0 0
      packages/console/app/src/routes/workspace/[id].css
  65. 1 1
      packages/console/app/src/routes/workspace/[id].tsx
  66. 0 0
      packages/console/app/src/routes/workspace/index.tsx
  67. 7 7
      packages/console/app/src/routes/zen/handler.ts
  68. 0 0
      packages/console/app/src/routes/zen/v1/chat/completions.ts
  69. 0 0
      packages/console/app/src/routes/zen/v1/messages.ts
  70. 0 0
      packages/console/app/src/routes/zen/v1/responses.ts
  71. 0 0
      packages/console/app/src/style/base.css
  72. 0 0
      packages/console/app/src/style/component/button.css
  73. 0 0
      packages/console/app/src/style/index.css
  74. 0 0
      packages/console/app/src/style/reset.css
  75. 0 0
      packages/console/app/src/style/token/color.css
  76. 0 0
      packages/console/app/src/style/token/font.css
  77. 0 0
      packages/console/app/src/style/token/space.css
  78. 1 1
      packages/console/app/sst-env.d.ts
  79. 0 0
      packages/console/app/tsconfig.json
  80. 0 0
      packages/console/core/drizzle.config.ts
  81. 0 0
      packages/console/core/migrations/0000_fluffy_raza.sql
  82. 0 0
      packages/console/core/migrations/0001_serious_whistler.sql
  83. 0 0
      packages/console/core/migrations/0002_violet_loners.sql
  84. 0 0
      packages/console/core/migrations/0003_dusty_clint_barton.sql
  85. 0 0
      packages/console/core/migrations/0004_first_mockingbird.sql
  86. 0 0
      packages/console/core/migrations/0005_jazzy_skrulls.sql
  87. 0 0
      packages/console/core/migrations/0006_parallel_gauntlet.sql
  88. 0 0
      packages/console/core/migrations/0007_familiar_nightshade.sql
  89. 0 0
      packages/console/core/migrations/0008_eminent_ultimatum.sql
  90. 0 0
      packages/console/core/migrations/0009_redundant_piledriver.sql
  91. 0 0
      packages/console/core/migrations/0010_needy_sue_storm.sql
  92. 0 0
      packages/console/core/migrations/0011_freezing_phil_sheldon.sql
  93. 0 0
      packages/console/core/migrations/0012_bright_photon.sql
  94. 0 0
      packages/console/core/migrations/0013_absurd_hobgoblin.sql
  95. 0 0
      packages/console/core/migrations/meta/0000_snapshot.json
  96. 0 0
      packages/console/core/migrations/meta/0001_snapshot.json
  97. 0 0
      packages/console/core/migrations/meta/0002_snapshot.json
  98. 0 0
      packages/console/core/migrations/meta/0003_snapshot.json
  99. 0 0
      packages/console/core/migrations/meta/0004_snapshot.json
  100. 0 0
      packages/console/core/migrations/meta/0005_snapshot.json

+ 35 - 37
bun.lock

@@ -44,12 +44,12 @@
         "vite-plugin-solid": "^2.11.6",
       },
     },
-    "packages/cloud/app": {
-      "name": "@opencode/cloud-app",
+    "packages/console/app": {
+      "name": "@opencode/console-app",
       "dependencies": {
         "@ibm/plex": "6.4.1",
         "@openauthjs/openauth": "0.0.0-20250322224806",
-        "@opencode/cloud-core": "workspace:*",
+        "@opencode/console-core": "workspace:*",
         "@solidjs/meta": "^0.29.4",
         "@solidjs/router": "^0.15.0",
         "@solidjs/start": "^1.1.0",
@@ -57,12 +57,12 @@
         "vinxi": "^0.5.7",
       },
     },
-    "packages/cloud/core": {
-      "name": "@opencode/cloud-core",
+    "packages/console/core": {
+      "name": "@opencode/console-core",
       "version": "0.9.11",
       "dependencies": {
         "@aws-sdk/client-sts": "3.782.0",
-        "@opencode/cloud-resource": "workspace:*",
+        "@opencode/console-resource": "workspace:*",
         "@planetscale/database": "1.19.0",
         "drizzle-orm": "0.41.0",
         "postgres": "3.4.7",
@@ -74,8 +74,8 @@
         "mysql2": "3.14.4",
       },
     },
-    "packages/cloud/function": {
-      "name": "@opencode/cloud-function",
+    "packages/console/function": {
+      "name": "@opencode/console-function",
       "version": "0.9.11",
       "dependencies": {
         "@ai-sdk/anthropic": "2.0.0",
@@ -94,17 +94,17 @@
         "typescript": "catalog:",
       },
     },
-    "packages/cloud/resource": {
-      "name": "@opencode/cloud-resource",
+    "packages/console/resource": {
+      "name": "@opencode/console-resource",
       "dependencies": {
         "@cloudflare/workers-types": "^4.20250830.0",
       },
     },
-    "packages/cloud/scripts": {
-      "name": "@opencode/cloud-scripts",
+    "packages/console/scripts": {
+      "name": "@opencode/console-scripts",
       "version": "0.9.11",
       "dependencies": {
-        "@opencode/cloud-core": "workspace:*",
+        "@opencode/console-core": "workspace:*",
         "tsx": "4.20.5",
       },
       "devDependencies": {
@@ -694,15 +694,15 @@
 
     "@opencode/app": ["@opencode/app@workspace:packages/app"],
 
-    "@opencode/cloud-app": ["@opencode/cloud-app@workspace:packages/cloud/app"],
+    "@opencode/console-app": ["@opencode/console-app@workspace:packages/console/app"],
 
-    "@opencode/cloud-core": ["@opencode/cloud-core@workspace:packages/cloud/core"],
+    "@opencode/console-core": ["@opencode/console-core@workspace:packages/console/core"],
 
-    "@opencode/cloud-function": ["@opencode/cloud-function@workspace:packages/cloud/function"],
+    "@opencode/console-function": ["@opencode/console-function@workspace:packages/console/function"],
 
-    "@opencode/cloud-resource": ["@opencode/cloud-resource@workspace:packages/cloud/resource"],
+    "@opencode/console-resource": ["@opencode/console-resource@workspace:packages/console/resource"],
 
-    "@opencode/cloud-scripts": ["@opencode/cloud-scripts@workspace:packages/cloud/scripts"],
+    "@opencode/console-scripts": ["@opencode/console-scripts@workspace:packages/console/scripts"],
 
     "@opencode/function": ["@opencode/function@workspace:packages/function"],
 
@@ -914,11 +914,11 @@
 
     "@smithy/abort-controller": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-vkzula+IwRvPR6oKQhMYioM3A/oX/lFCZiwuxkQbRhqJS2S4YRY2k7k/SyR2jMf3607HLtbEwlRxi0ndXHMjRg=="],
 
-    "@smithy/config-resolver": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.1", "@smithy/types": "^4.5.0", "@smithy/util-config-provider": "^4.1.0", "@smithy/util-middleware": "^4.1.1", "tslib": "^2.6.2" } }, "sha512-FXil8q4QN7mgKwU2hCLm0ltab8NyY/1RiqEf25Jnf6WLS3wmb11zGAoLETqg1nur2Aoibun4w4MjeN9CMJ4G6A=="],
+    "@smithy/config-resolver": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.2", "@smithy/types": "^4.5.0", "@smithy/util-config-provider": "^4.1.0", "@smithy/util-middleware": "^4.1.1", "tslib": "^2.6.2" } }, "sha512-IT6MatgBWagLybZl1xQcURXRICvqz1z3APSCAI9IqdvfCkrA7RaQIEfgC6G/KvfxnDfQUDqFV+ZlixcuFznGBQ=="],
 
-    "@smithy/core": ["@smithy/[email protected].0", "", { "dependencies": { "@smithy/middleware-serde": "^4.1.1", "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "@smithy/util-base64": "^4.1.0", "@smithy/util-body-length-browser": "^4.1.0", "@smithy/util-middleware": "^4.1.1", "@smithy/util-stream": "^4.3.1", "@smithy/util-utf8": "^4.1.0", "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "sha512-Abs5rdP1o8/OINtE49wwNeWuynCu0kme1r4RI3VXVrHr4odVDG7h7mTnw1WXXfN5Il+c25QOnrdL2y56USfxkA=="],
+    "@smithy/core": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/middleware-serde": "^4.1.1", "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "@smithy/util-base64": "^4.1.0", "@smithy/util-body-length-browser": "^4.1.0", "@smithy/util-middleware": "^4.1.1", "@smithy/util-stream": "^4.3.2", "@smithy/util-utf8": "^4.1.0", "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "sha512-REH7crwORgdjSpYs15JBiIWOYjj0hJNC3aCecpJvAlMMaaqL5i2CLb1i6Hc4yevToTKSqslLMI9FKjhugEwALA=="],
 
-    "@smithy/credential-provider-imds": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.1", "@smithy/property-provider": "^4.1.1", "@smithy/types": "^4.5.0", "@smithy/url-parser": "^4.1.1", "tslib": "^2.6.2" } }, "sha512-1WdBfM9DwA59pnpIizxnUvBf/de18p4GP+6zP2AqrlFzoW3ERpZaT4QueBR0nS9deDMaQRkBlngpVlnkuuTisQ=="],
+    "@smithy/credential-provider-imds": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.2", "@smithy/property-provider": "^4.1.1", "@smithy/types": "^4.5.0", "@smithy/url-parser": "^4.1.1", "tslib": "^2.6.2" } }, "sha512-JlYNq8TShnqCLg0h+afqe2wLAwZpuoSgOyzhYvTgbiKBWRov+uUve+vrZEQO6lkdLOWPh7gK5dtb9dS+KGendg=="],
 
     "@smithy/eventstream-codec": ["@smithy/[email protected]", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.5.0", "@smithy/util-hex-encoding": "^4.1.0", "tslib": "^2.6.2" } }, "sha512-PwkQw1hZwHTQB6X5hSUWz2OSeuj5Z6enWuAqke7DgWoP3t6vg3ktPpqPz3Erkn6w+tmsl8Oss6nrgyezoea2Iw=="],
 
@@ -932,15 +932,15 @@
 
     "@smithy/middleware-content-length": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-9wlfBBgTsRvC2JxLJxv4xDGNBrZuio3AgSl0lSFX7fneW2cGskXTYpFxCdRYD2+5yzmsiTuaAJD1Wp7gWt9y9w=="],
 
-    "@smithy/middleware-endpoint": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/core": "^3.11.0", "@smithy/middleware-serde": "^4.1.1", "@smithy/node-config-provider": "^4.2.1", "@smithy/shared-ini-file-loader": "^4.1.1", "@smithy/types": "^4.5.0", "@smithy/url-parser": "^4.1.1", "@smithy/util-middleware": "^4.1.1", "tslib": "^2.6.2" } }, "sha512-fUTMmQvQQZakXOuKizfu7fBLDpwvWZjfH6zUK2OLsoNZRZGbNUdNSdLJHpwk1vS208jtDjpUIskh+JoA8zMzZg=="],
+    "@smithy/middleware-endpoint": ["@smithy/[email protected].3", "", { "dependencies": { "@smithy/core": "^3.11.1", "@smithy/middleware-serde": "^4.1.1", "@smithy/node-config-provider": "^4.2.2", "@smithy/shared-ini-file-loader": "^4.2.0", "@smithy/types": "^4.5.0", "@smithy/url-parser": "^4.1.1", "@smithy/util-middleware": "^4.1.1", "tslib": "^2.6.2" } }, "sha512-+1H5A28DeffRVrqmVmtqtRraEjoaC6JVap3xEQdVoBh2EagCVY7noPmcBcG4y7mnr9AJitR1ZAse2l+tEtK5vg=="],
 
-    "@smithy/middleware-retry": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.1", "@smithy/protocol-http": "^5.2.1", "@smithy/service-error-classification": "^4.1.1", "@smithy/smithy-client": "^4.6.1", "@smithy/types": "^4.5.0", "@smithy/util-middleware": "^4.1.1", "@smithy/util-retry": "^4.1.1", "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "sha512-JzfvjwSJXWRl7LkLgIRTUTd2Wj639yr3sQGpViGNEOjtb0AkAuYqRAHs+jSOI/LPC0ZTjmFVVtfrCICMuebexw=="],
+    "@smithy/middleware-retry": ["@smithy/[email protected].4", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.2", "@smithy/protocol-http": "^5.2.1", "@smithy/service-error-classification": "^4.1.2", "@smithy/smithy-client": "^4.6.3", "@smithy/types": "^4.5.0", "@smithy/util-middleware": "^4.1.1", "@smithy/util-retry": "^4.1.2", "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "sha512-amyqYQFewnAviX3yy/rI/n1HqAgfvUdkEhc04kDjxsngAUREKuOI24iwqQUirrj6GtodWmR4iO5Zeyl3/3BwWg=="],
 
     "@smithy/middleware-serde": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-lh48uQdbCoj619kRouev5XbWhCwRKLmphAif16c4J6JgJ4uXjub1PI6RL38d3BLliUvSso6klyB/LTNpWSNIyg=="],
 
     "@smithy/middleware-stack": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-ygRnniqNcDhHzs6QAPIdia26M7e7z9gpkIMUe/pK0RsrQ7i5MblwxY8078/QCnGq6AmlUUWgljK2HlelsKIb/A=="],
 
-    "@smithy/node-config-provider": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/property-provider": "^4.1.1", "@smithy/shared-ini-file-loader": "^4.1.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-AIA0BJZq2h295J5NeCTKhg1WwtdTA/GqBCaVjk30bDgMHwniUETyh5cP9IiE9VrId7Kt8hS7zvREVMTv1VfA6g=="],
+    "@smithy/node-config-provider": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/property-provider": "^4.1.1", "@smithy/shared-ini-file-loader": "^4.2.0", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-SYGTKyPvyCfEzIN5rD8q/bYaOPZprYUPD2f5g9M7OjaYupWOoQFYJ5ho+0wvxIRf471i2SR4GoiZ2r94Jq9h6A=="],
 
     "@smithy/node-http-handler": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/abort-controller": "^4.1.1", "@smithy/protocol-http": "^5.2.1", "@smithy/querystring-builder": "^4.1.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-REyybygHlxo3TJICPF89N2pMQSf+p+tBJqpVe1+77Cfi9HBPReNjTgtZ1Vg73exq24vkqJskKDpfF74reXjxfw=="],
 
@@ -952,13 +952,13 @@
 
     "@smithy/querystring-parser": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-63TEp92YFz0oQ7Pj9IuI3IgnprP92LrZtRAkE3c6wLWJxfy/yOPRt39IOKerVr0JS770olzl0kGafXlAXZ1vng=="],
 
-    "@smithy/service-error-classification": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/types": "^4.5.0" } }, "sha512-Iam75b/JNXyDE41UvrlM6n8DNOa/r1ylFyvgruTUx7h2Uk7vDNV9AAwP1vfL1fOL8ls0xArwEGVcGZVd7IO/Cw=="],
+    "@smithy/service-error-classification": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/types": "^4.5.0" } }, "sha512-Kqd8wyfmBWHZNppZSMfrQFpc3M9Y/kjyN8n8P4DqJJtuwgK1H914R471HTw7+RL+T7+kI1f1gOnL7Vb5z9+NgQ=="],
 
-    "@smithy/shared-ini-file-loader": ["@smithy/shared-ini-file-loader@4.1.1", "", { "dependencies": { "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-YkpikhIqGc4sfXeIbzSj10t2bJI/sSoP5qxLue6zG+tEE3ngOBSm8sO3+djacYvS/R5DfpxN/L9CyZsvwjWOAQ=="],
+    "@smithy/shared-ini-file-loader": ["@smithy/shared-ini-file-loader@4.2.0", "", { "dependencies": { "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-OQTfmIEp2LLuWdxa8nEEPhZmiOREO6bcB6pjs0AySf4yiZhl6kMOfqmcwcY8BaBPX+0Tb+tG7/Ia/6mwpoZ7Pw=="],
 
     "@smithy/signature-v4": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/is-array-buffer": "^4.1.0", "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "@smithy/util-hex-encoding": "^4.1.0", "@smithy/util-middleware": "^4.1.1", "@smithy/util-uri-escape": "^4.1.0", "@smithy/util-utf8": "^4.1.0", "tslib": "^2.6.2" } }, "sha512-M9rZhWQLjlQVCCR37cSjHfhriGRN+FQ8UfgrYNufv66TJgk+acaggShl3KS5U/ssxivvZLlnj7QH2CUOKlxPyA=="],
 
-    "@smithy/smithy-client": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/core": "^3.11.0", "@smithy/middleware-endpoint": "^4.2.1", "@smithy/middleware-stack": "^4.1.1", "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "@smithy/util-stream": "^4.3.1", "tslib": "^2.6.2" } }, "sha512-WolVLDb9UTPMEPPOncrCt6JmAMCSC/V2y5gst2STWJ5r7+8iNac+EFYQnmvDCYMfOLcilOSEpm5yXZXwbLak1Q=="],
+    "@smithy/smithy-client": ["@smithy/[email protected].3", "", { "dependencies": { "@smithy/core": "^3.11.1", "@smithy/middleware-endpoint": "^4.2.3", "@smithy/middleware-stack": "^4.1.1", "@smithy/protocol-http": "^5.2.1", "@smithy/types": "^4.5.0", "@smithy/util-stream": "^4.3.2", "tslib": "^2.6.2" } }, "sha512-K27LqywsaqKz4jusdUQYJh/YP2VbnbdskZ42zG8xfV+eovbTtMc2/ZatLWCfSkW0PDsTUXlpvlaMyu8925HsOw=="],
 
     "@smithy/types": ["@smithy/[email protected]", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-RkUpIOsVlAwUIZXO1dsz8Zm+N72LClFfsNqf173catVlvRZiwPy0x2u0JLEA4byreOPKDZPGjmPDylMoP8ZJRg=="],
 
@@ -974,19 +974,19 @@
 
     "@smithy/util-config-provider": ["@smithy/[email protected]", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-swXz2vMjrP1ZusZWVTB/ai5gK+J8U0BWvP10v9fpcFvg+Xi/87LHvHfst2IgCs1i0v4qFZfGwCmeD/KNCdJZbQ=="],
 
-    "@smithy/util-defaults-mode-browser": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/property-provider": "^4.1.1", "@smithy/smithy-client": "^4.6.1", "@smithy/types": "^4.5.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-hA1AKIHFUMa9Tl6q6y8p0pJ9aWHCCG8s57flmIyLE0W7HcJeYrYtnqXDcGnftvXEhdQnSexyegXnzzTGk8bKLA=="],
+    "@smithy/util-defaults-mode-browser": ["@smithy/[email protected].3", "", { "dependencies": { "@smithy/property-provider": "^4.1.1", "@smithy/smithy-client": "^4.6.3", "@smithy/types": "^4.5.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-5fm3i2laE95uhY6n6O6uGFxI5SVbqo3/RWEuS3YsT0LVmSZk+0eUqPhKd4qk0KxBRPaT5VNT/WEBUqdMyYoRgg=="],
 
-    "@smithy/util-defaults-mode-node": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/config-resolver": "^4.2.1", "@smithy/credential-provider-imds": "^4.1.1", "@smithy/node-config-provider": "^4.2.1", "@smithy/property-provider": "^4.1.1", "@smithy/smithy-client": "^4.6.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-RGSpmoBrA+5D2WjwtK7tto6Pc2wO9KSXKLpLONhFZ8VyuCbqlLdiDAfuDTNY9AJe4JoE+Cx806cpTQQoQ71zPQ=="],
+    "@smithy/util-defaults-mode-node": ["@smithy/[email protected].3", "", { "dependencies": { "@smithy/config-resolver": "^4.2.2", "@smithy/credential-provider-imds": "^4.1.2", "@smithy/node-config-provider": "^4.2.2", "@smithy/property-provider": "^4.1.1", "@smithy/smithy-client": "^4.6.3", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-lwnMzlMslZ9GJNt+/wVjz6+fe9Wp5tqR1xAyQn+iywmP+Ymj0F6NhU/KfHM5jhGPQchRSCcau5weKhFdLIM4cA=="],
 
-    "@smithy/util-endpoints": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-qB4R9kO0SetA11Rzu6MVGFIaGYX3p6SGGGfWwsKnC6nXIf0n/0AKVwRTsYsz9ToN8CeNNtNgQRwKFBndGJZdyw=="],
+    "@smithy/util-endpoints": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/node-config-provider": "^4.2.2", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-+AJsaaEGb5ySvf1SKMRrPZdYHRYSzMkCoK16jWnIMpREAnflVspMIDeCVSZJuj+5muZfgGpNpijE3mUNtjv01Q=="],
 
     "@smithy/util-hex-encoding": ["@smithy/[email protected]", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-1LcueNN5GYC4tr8mo14yVYbh/Ur8jHhWOxniZXii+1+ePiIbsLZ5fEI0QQGtbRRP5mOhmooos+rLmVASGGoq5w=="],
 
     "@smithy/util-middleware": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-CGmZ72mL29VMfESz7S6dekqzCh8ZISj3B+w0g1hZFXaOjGTVaSqfAEFAq8EGp8fUL+Q2l8aqNmt8U1tglTikeg=="],
 
-    "@smithy/util-retry": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/service-error-classification": "^4.1.1", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-jGeybqEZ/LIordPLMh5bnmnoIgsqnp4IEimmUp5c5voZ8yx+5kAlN5+juyr7p+f7AtZTgvhmInQk4Q0UVbrZ0Q=="],
+    "@smithy/util-retry": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/service-error-classification": "^4.1.2", "@smithy/types": "^4.5.0", "tslib": "^2.6.2" } }, "sha512-NCgr1d0/EdeP6U5PSZ9Uv5SMR5XRRYoVr1kRVtKZxWL3tixEL3UatrPIMFZSKwHlCcp2zPLDvMubVDULRqeunA=="],
 
-    "@smithy/util-stream": ["@smithy/[email protected].1", "", { "dependencies": { "@smithy/fetch-http-handler": "^5.2.1", "@smithy/node-http-handler": "^4.2.1", "@smithy/types": "^4.5.0", "@smithy/util-base64": "^4.1.0", "@smithy/util-buffer-from": "^4.1.0", "@smithy/util-hex-encoding": "^4.1.0", "@smithy/util-utf8": "^4.1.0", "tslib": "^2.6.2" } }, "sha512-khKkW/Jqkgh6caxMWbMuox9+YfGlsk9OnHOYCGVEdYQb/XVzcORXHLYUubHmmda0pubEDncofUrPNniS9d+uAA=="],
+    "@smithy/util-stream": ["@smithy/[email protected].2", "", { "dependencies": { "@smithy/fetch-http-handler": "^5.2.1", "@smithy/node-http-handler": "^4.2.1", "@smithy/types": "^4.5.0", "@smithy/util-base64": "^4.1.0", "@smithy/util-buffer-from": "^4.1.0", "@smithy/util-hex-encoding": "^4.1.0", "@smithy/util-utf8": "^4.1.0", "tslib": "^2.6.2" } }, "sha512-Ka+FA2UCC/Q1dEqUanCdpqwxOFdf5Dg2VXtPtB1qxLcSGh5C1HdzklIt18xL504Wiy9nNUKwDMRTVCbKGoK69g=="],
 
     "@smithy/util-uri-escape": ["@smithy/[email protected]", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-b0EFQkq35K5NHUYxU72JuoheM6+pytEVUGlTwiFxWFpmddA+Bpz3LgsPRIpBk8lnPE47yT7AF2Egc3jVnKLuPg=="],
 
@@ -3028,7 +3028,7 @@
 
     "@opencode-ai/sdk/@hey-api/openapi-ts": ["@hey-api/[email protected]", "", { "dependencies": { "@hey-api/json-schema-ref-parser": "1.0.6", "ansi-colors": "4.1.3", "c12": "2.0.1", "color-support": "1.1.3", "commander": "13.0.0", "handlebars": "4.7.8", "js-yaml": "4.1.0", "open": "10.1.2", "semver": "7.7.2" }, "peerDependencies": { "typescript": "^5.5.3" }, "bin": { "openapi-ts": "bin/index.cjs" } }, "sha512-PoJukNBkUfHOoMDpN33bBETX49TUhy7Hu8Sa0jslOvFndvZ5VjQr4Nl/Dzjb9LG1Lp5HjybyTJMA6a1zYk/q6A=="],
 
-    "@opencode/cloud-resource/@cloudflare/workers-types": ["@cloudflare/[email protected]", "", {}, "sha512-JjrYEvRn7cyALxwoFTw3XChaQneHSJOXqz2t5iKEpNzAnC2iPQU75rtTK/gw03Jjy4SHY5aEBh/uqQePtonZlA=="],
+    "@opencode/console-resource/@cloudflare/workers-types": ["@cloudflare/[email protected]", "", {}, "sha512-JjrYEvRn7cyALxwoFTw3XChaQneHSJOXqz2t5iKEpNzAnC2iPQU75rtTK/gw03Jjy4SHY5aEBh/uqQePtonZlA=="],
 
     "@opencode/web/@shikijs/transformers": ["@shikijs/[email protected]", "", { "dependencies": { "@shikijs/core": "3.4.2", "@shikijs/types": "3.4.2" } }, "sha512-I5baLVi/ynLEOZoWSAMlACHNnG+yw5HDmse0oe+GW6U1u+ULdEB3UHiVWaHoJSSONV7tlcVxuaMy74sREDkSvg=="],
 
@@ -3200,7 +3200,7 @@
 
     "named-placeholders/lru-cache": ["[email protected]", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
 
-    "nitropack/c12": ["c12@3.2.0", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^17.2.1", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.5.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-ixkEtbYafL56E6HiFuonMm1ZjoKtIo7TH68/uiEq4DAwv9NcUX2nJ95F8TrbMeNjqIkZpruo3ojXQJ+MGG5gcQ=="],
+    "nitropack/c12": ["c12@3.3.0", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^17.2.2", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.5.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.0.0", "pkg-types": "^2.3.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-K9ZkuyeJQeqLEyqldbYLG3wjqwpw4BVaAqvmxq3GYKK0b1A/yYQdIcJxkzAOWcNVWhJpRXAPfZFueekiY/L8Dw=="],
 
     "nitropack/confbox": ["[email protected]", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="],
 
@@ -3584,8 +3584,6 @@
 
     "nitropack/c12/giget": ["[email protected]", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="],
 
-    "nitropack/c12/perfect-debounce": ["[email protected]", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="],
-
     "nitropack/h3/cookie-es": ["[email protected]", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="],
 
     "nitropack/serve-static/send": ["[email protected]", "", { "dependencies": { "debug": "^4.3.5", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.0", "mime-types": "^3.0.1", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.1" } }, "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw=="],
@@ -3750,7 +3748,7 @@
 
     "giget/tar/minizlib/minipass": ["[email protected]", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
 
-    "nitropack/c12/giget/nypm": ["[email protected].1", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.2", "pathe": "^2.0.3", "pkg-types": "^2.2.0", "tinyexec": "^1.0.1" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-hlacBiRiv1k9hZFiphPUkfSQ/ZfQzZDzC+8z0wL3lvDAOUu/2NnChkKuMoMjNur/9OpKuz2QsIeiPVN0xM5Q0w=="],
+    "nitropack/c12/giget/nypm": ["[email protected].2", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.2", "pathe": "^2.0.3", "pkg-types": "^2.3.0", "tinyexec": "^1.0.1" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g=="],
 
     "node-gyp/glob/path-scurry/lru-cache": ["[email protected]", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
 

+ 1 - 1
github/sst-env.d.ts

@@ -6,4 +6,4 @@
 /// <reference path="../sst-env.d.ts" />
 
 import "sst"
-export {}
+export {}

+ 4 - 4
infra/cloud.ts → infra/console.ts

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

+ 1 - 1
package.json

@@ -13,7 +13,7 @@
   "workspaces": {
     "packages": [
       "packages/*",
-      "packages/cloud/*",
+      "packages/console/*",
       "packages/sdk/js"
     ],
     "catalog": {

+ 1 - 1
packages/app/sst-env.d.ts

@@ -6,4 +6,4 @@
 /// <reference path="../../sst-env.d.ts" />
 
 import "sst"
-export {}
+export {}

+ 0 - 96
packages/cloud/function/sst-env.d.ts

@@ -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 {}

+ 0 - 96
packages/cloud/resource/sst-env.d.ts

@@ -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 {}

+ 0 - 0
packages/cloud/app/.gitignore → packages/console/app/.gitignore


+ 0 - 0
packages/cloud/app/.opencode/agent/css.md → packages/console/app/.opencode/agent/css.md


+ 0 - 0
packages/cloud/app/README.md → packages/console/app/README.md


+ 0 - 0
packages/cloud/app/app.config.ts → packages/console/app/app.config.ts


+ 2 - 2
packages/cloud/app/package.json → packages/console/app/package.json

@@ -1,5 +1,5 @@
 {
-  "name": "@opencode/cloud-app",
+  "name": "@opencode/console-app",
   "type": "module",
   "scripts": {
     "typecheck": "tsc --noEmit",
@@ -17,7 +17,7 @@
     "@solidjs/start": "^1.1.0",
     "solid-js": "catalog:",
     "vinxi": "^0.5.7",
-    "@opencode/cloud-core": "workspace:*"
+    "@opencode/console-core": "workspace:*"
   },
   "engines": {
     "node": ">=22"

+ 0 - 0
packages/cloud/app/public/favicon.svg → packages/console/app/public/favicon.svg


+ 0 - 0
packages/cloud/app/public/robots.txt → packages/console/app/public/robots.txt


+ 0 - 0
packages/cloud/app/public/social-share.png → packages/console/app/public/social-share.png


+ 0 - 0
packages/cloud/app/public/theme.json → packages/console/app/public/theme.json


+ 0 - 0
packages/cloud/app/src/app.css → packages/console/app/src/app.css


+ 0 - 0
packages/cloud/app/src/app.tsx → packages/console/app/src/app.tsx


+ 0 - 0
packages/cloud/app/src/asset/lander/check.svg → packages/console/app/src/asset/lander/check.svg


+ 0 - 0
packages/cloud/app/src/asset/lander/copy.svg → packages/console/app/src/asset/lander/copy.svg


+ 0 - 0
packages/cloud/app/src/asset/lander/screenshot-github.png → packages/console/app/src/asset/lander/screenshot-github.png


+ 0 - 0
packages/cloud/app/src/asset/lander/screenshot-splash.png → packages/console/app/src/asset/lander/screenshot-splash.png


+ 0 - 0
packages/cloud/app/src/asset/lander/screenshot-vscode.png → packages/console/app/src/asset/lander/screenshot-vscode.png


+ 0 - 0
packages/cloud/app/src/asset/lander/screenshot.png → packages/console/app/src/asset/lander/screenshot.png


+ 0 - 0
packages/cloud/app/src/asset/logo-ornate-dark.svg → packages/console/app/src/asset/logo-ornate-dark.svg


+ 0 - 0
packages/cloud/app/src/asset/logo-ornate-light.svg → packages/console/app/src/asset/logo-ornate-light.svg


+ 0 - 0
packages/cloud/app/src/asset/logo.svg → packages/console/app/src/asset/logo.svg


+ 0 - 0
packages/cloud/app/src/component/icon.tsx → packages/console/app/src/component/icon.tsx


+ 0 - 0
packages/cloud/app/src/component/workspace/billing-section.module.css → packages/console/app/src/component/workspace/billing-section.module.css


+ 1 - 1
packages/cloud/app/src/component/workspace/billing-section.tsx → packages/console/app/src/component/workspace/billing-section.tsx

@@ -1,6 +1,6 @@
 import { json, query, action, useParams, useAction, createAsync, useSubmission } from "@solidjs/router"
 import { createMemo, Show } from "solid-js"
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import { withActor } from "~/context/auth.withActor"
 import { IconCreditCard } from "~/component/icon"
 import styles from "./billing-section.module.css"

+ 0 - 0
packages/cloud/app/src/component/workspace/common.tsx → packages/console/app/src/component/workspace/common.tsx


+ 0 - 0
packages/cloud/app/src/component/workspace/key-section.module.css → packages/console/app/src/component/workspace/key-section.module.css


+ 1 - 1
packages/cloud/app/src/component/workspace/key-section.tsx → packages/console/app/src/component/workspace/key-section.tsx

@@ -1,7 +1,7 @@
 import { json, query, action, useParams, createAsync, useSubmission } from "@solidjs/router"
 import { createEffect, createSignal, For, Show } from "solid-js"
 import { IconCopy, IconCheck } from "~/component/icon"
-import { Key } from "@opencode/cloud-core/key.js"
+import { Key } from "@opencode/console-core/key.js"
 import { withActor } from "~/context/auth.withActor"
 import { createStore } from "solid-js/store"
 import { formatDateUTC, formatDateForTable } from "./common"

+ 0 - 0
packages/cloud/app/src/component/workspace/monthly-limit-section.module.css → packages/console/app/src/component/workspace/monthly-limit-section.module.css


+ 1 - 1
packages/cloud/app/src/component/workspace/monthly-limit-section.tsx → packages/console/app/src/component/workspace/monthly-limit-section.tsx

@@ -2,7 +2,7 @@ import { json, query, action, useParams, createAsync, useSubmission } from "@sol
 import { createEffect, Show } from "solid-js"
 import { createStore } from "solid-js/store"
 import { withActor } from "~/context/auth.withActor"
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import styles from "./monthly-limit-section.module.css"
 
 const getBillingInfo = query(async (workspaceID: string) => {

+ 0 - 0
packages/cloud/app/src/component/workspace/new-user-section.module.css → packages/console/app/src/component/workspace/new-user-section.module.css


+ 2 - 2
packages/cloud/app/src/component/workspace/new-user-section.tsx → packages/console/app/src/component/workspace/new-user-section.tsx

@@ -1,8 +1,8 @@
 import { query, useParams, createAsync } from "@solidjs/router"
 import { createMemo, createSignal, Show } from "solid-js"
 import { IconCopy, IconCheck } from "~/component/icon"
-import { Key } from "@opencode/cloud-core/key.js"
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Key } from "@opencode/console-core/key.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import { withActor } from "~/context/auth.withActor"
 import styles from "./new-user-section.module.css"
 

+ 0 - 0
packages/cloud/app/src/component/workspace/payment-section.module.css → packages/console/app/src/component/workspace/payment-section.module.css


+ 1 - 1
packages/cloud/app/src/component/workspace/payment-section.tsx → packages/console/app/src/component/workspace/payment-section.tsx

@@ -1,4 +1,4 @@
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import { query, action, useParams, createAsync, useAction } from "@solidjs/router"
 import { For } from "solid-js"
 import { withActor } from "~/context/auth.withActor"

+ 0 - 0
packages/cloud/app/src/component/workspace/usage-section.module.css → packages/console/app/src/component/workspace/usage-section.module.css


+ 1 - 1
packages/cloud/app/src/component/workspace/usage-section.tsx → packages/console/app/src/component/workspace/usage-section.tsx

@@ -1,4 +1,4 @@
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import { query, useParams, createAsync } from "@solidjs/router"
 import { createMemo, For, Show } from "solid-js"
 import { formatDateUTC, formatDateForTable } from "./common"

+ 0 - 0
packages/cloud/app/src/context/auth.session.ts → packages/console/app/src/context/auth.session.ts


+ 5 - 5
packages/cloud/app/src/context/auth.ts → packages/console/app/src/context/auth.ts

@@ -1,10 +1,10 @@
 import { getRequestEvent } from "solid-js/web"
-import { and, Database, eq, inArray } from "@opencode/cloud-core/drizzle/index.js"
-import { WorkspaceTable } from "@opencode/cloud-core/schema/workspace.sql.js"
-import { UserTable } from "@opencode/cloud-core/schema/user.sql.js"
+import { and, Database, eq, inArray } from "@opencode/console-core/drizzle/index.js"
+import { WorkspaceTable } from "@opencode/console-core/schema/workspace.sql.js"
+import { UserTable } from "@opencode/console-core/schema/user.sql.js"
 import { redirect } from "@solidjs/router"
-import { AccountTable } from "@opencode/cloud-core/schema/account.sql.js"
-import { Actor } from "@opencode/cloud-core/actor.js"
+import { AccountTable } from "@opencode/console-core/schema/account.sql.js"
+import { Actor } from "@opencode/console-core/actor.js"
 
 import { createClient } from "@openauthjs/openauth/client"
 import { useAuthSession } from "./auth.session"

+ 1 - 1
packages/cloud/app/src/context/auth.withActor.ts → packages/console/app/src/context/auth.withActor.ts

@@ -1,4 +1,4 @@
-import { Actor } from "@opencode/cloud-core/actor.js"
+import { Actor } from "@opencode/console-core/actor.js"
 import { getActor } from "./auth"
 
 export async function withActor<T>(fn: () => T, workspace?: string) {

+ 0 - 0
packages/cloud/app/src/entry-client.tsx → packages/console/app/src/entry-client.tsx


+ 0 - 0
packages/cloud/app/src/entry-server.tsx → packages/console/app/src/entry-server.tsx


+ 0 - 0
packages/cloud/app/src/global.d.ts → packages/console/app/src/global.d.ts


+ 0 - 0
packages/cloud/app/src/middleware.ts → packages/console/app/src/middleware.ts


+ 0 - 0
packages/cloud/app/src/routes/[...404].css → packages/console/app/src/routes/[...404].css


+ 0 - 0
packages/cloud/app/src/routes/[...404].tsx → packages/console/app/src/routes/[...404].tsx


+ 0 - 0
packages/cloud/app/src/routes/auth/authorize.ts → packages/console/app/src/routes/auth/authorize.ts


+ 0 - 0
packages/cloud/app/src/routes/auth/callback.ts → packages/console/app/src/routes/auth/callback.ts


+ 1 - 1
packages/cloud/app/src/routes/auth/index.ts → packages/console/app/src/routes/auth/index.ts

@@ -1,4 +1,4 @@
-import { Account } from "@opencode/cloud-core/account.js"
+import { Account } from "@opencode/console-core/account.js"
 import { redirect } from "@solidjs/router"
 import type { APIEvent } from "@solidjs/start/server"
 import { withActor } from "~/context/auth.withActor"

+ 2 - 2
packages/cloud/app/src/routes/debug/index.ts → packages/console/app/src/routes/debug/index.ts

@@ -1,7 +1,7 @@
 import type { APIEvent } from "@solidjs/start/server"
 import { json } from "@solidjs/router"
-import { Database } from "@opencode/cloud-core/drizzle/index.js"
-import { UserTable } from "@opencode/cloud-core/schema/user.sql.js"
+import { Database } from "@opencode/console-core/drizzle/index.js"
+import { UserTable } from "@opencode/console-core/schema/user.sql.js"
 
 export async function GET(evt: APIEvent) {
   return json({

+ 0 - 0
packages/cloud/app/src/routes/discord.ts → packages/console/app/src/routes/discord.ts


+ 0 - 0
packages/cloud/app/src/routes/docs/[...path].ts → packages/console/app/src/routes/docs/[...path].ts


+ 0 - 0
packages/cloud/app/src/routes/docs/index.ts → packages/console/app/src/routes/docs/index.ts


+ 0 - 0
packages/cloud/app/src/routes/index.css → packages/console/app/src/routes/index.css


+ 1 - 1
packages/cloud/app/src/routes/index.tsx → packages/console/app/src/routes/index.tsx

@@ -8,7 +8,7 @@ import { IconCopy, IconCheck } from "../component/icon"
 import { createAsync, query } from "@solidjs/router"
 import { getActor } from "~/context/auth"
 import { withActor } from "~/context/auth.withActor"
-import { Account } from "@opencode/cloud-core/account.js"
+import { Account } from "@opencode/console-core/account.js"
 
 function CopyStatus() {
   return (

+ 0 - 0
packages/cloud/app/src/routes/s/[id].ts → packages/console/app/src/routes/s/[id].ts


+ 7 - 7
packages/cloud/app/src/routes/stripe/webhook.ts → packages/console/app/src/routes/stripe/webhook.ts

@@ -1,11 +1,11 @@
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import type { APIEvent } from "@solidjs/start/server"
-import { Database, eq, sql } from "@opencode/cloud-core/drizzle/index.js"
-import { BillingTable, PaymentTable } from "@opencode/cloud-core/schema/billing.sql.js"
-import { Identifier } from "@opencode/cloud-core/identifier.js"
-import { centsToMicroCents } from "@opencode/cloud-core/util/price.js"
-import { Actor } from "@opencode/cloud-core/actor.js"
-import { Resource } from "@opencode/cloud-resource"
+import { Database, eq, sql } from "@opencode/console-core/drizzle/index.js"
+import { BillingTable, PaymentTable } from "@opencode/console-core/schema/billing.sql.js"
+import { Identifier } from "@opencode/console-core/identifier.js"
+import { centsToMicroCents } from "@opencode/console-core/util/price.js"
+import { Actor } from "@opencode/console-core/actor.js"
+import { Resource } from "@opencode/console-resource"
 
 export async function POST(input: APIEvent) {
   const body = await Billing.stripe().webhooks.constructEventAsync(

+ 0 - 0
packages/cloud/app/src/routes/workspace.css → packages/console/app/src/routes/workspace.css


+ 2 - 2
packages/cloud/app/src/routes/workspace.tsx → packages/console/app/src/routes/workspace.tsx

@@ -13,8 +13,8 @@ import {
   useParams,
   A,
 } from "@solidjs/router"
-import { User } from "@opencode/cloud-core/user.js"
-import { Actor } from "@opencode/cloud-core/actor.js"
+import { User } from "@opencode/console-core/user.js"
+import { Actor } from "@opencode/console-core/actor.js"
 import { getRequestEvent } from "solid-js/web"
 
 const getUserInfo = query(async (workspaceID: string) => {

+ 0 - 0
packages/cloud/app/src/routes/workspace/[id].css → packages/console/app/src/routes/workspace/[id].css


+ 1 - 1
packages/cloud/app/src/routes/workspace/[id].tsx → packages/console/app/src/routes/workspace/[id].tsx

@@ -1,5 +1,5 @@
 import "./[id].css"
-import { Billing } from "@opencode/cloud-core/billing.js"
+import { Billing } from "@opencode/console-core/billing.js"
 import { query, useParams, createAsync } from "@solidjs/router"
 import { Show } from "solid-js"
 import { withActor } from "~/context/auth.withActor"

+ 0 - 0
packages/cloud/app/src/routes/workspace/index.tsx → packages/console/app/src/routes/workspace/index.tsx


+ 7 - 7
packages/cloud/app/src/routes/zen/handler.ts → packages/console/app/src/routes/zen/handler.ts

@@ -1,13 +1,13 @@
 import type { APIEvent } from "@solidjs/start/server"
 import path from "node:path"
-import { and, Database, eq, isNull, lt, or, sql } from "@opencode/cloud-core/drizzle/index.js"
-import { KeyTable } from "@opencode/cloud-core/schema/key.sql.js"
-import { BillingTable, PaymentTable, UsageTable } from "@opencode/cloud-core/schema/billing.sql.js"
-import { centsToMicroCents } from "@opencode/cloud-core/util/price.js"
-import { Identifier } from "@opencode/cloud-core/identifier.js"
-import { Resource } from "@opencode/cloud-resource"
+import { and, Database, eq, isNull, lt, or, sql } from "@opencode/console-core/drizzle/index.js"
+import { KeyTable } from "@opencode/console-core/schema/key.sql.js"
+import { BillingTable, PaymentTable, UsageTable } from "@opencode/console-core/schema/billing.sql.js"
+import { centsToMicroCents } from "@opencode/console-core/util/price.js"
+import { Identifier } from "@opencode/console-core/identifier.js"
+import { Resource } from "@opencode/console-resource"
 import { Billing } from "../../../../core/src/billing"
-import { Actor } from "@opencode/cloud-core/actor.js"
+import { Actor } from "@opencode/console-core/actor.js"
 
 type ModelCost = {
   input: number

+ 0 - 0
packages/cloud/app/src/routes/zen/v1/chat/completions.ts → packages/console/app/src/routes/zen/v1/chat/completions.ts


+ 0 - 0
packages/cloud/app/src/routes/zen/v1/messages.ts → packages/console/app/src/routes/zen/v1/messages.ts


+ 0 - 0
packages/cloud/app/src/routes/zen/v1/responses.ts → packages/console/app/src/routes/zen/v1/responses.ts


+ 0 - 0
packages/cloud/app/src/style/base.css → packages/console/app/src/style/base.css


+ 0 - 0
packages/cloud/app/src/style/component/button.css → packages/console/app/src/style/component/button.css


+ 0 - 0
packages/cloud/app/src/style/index.css → packages/console/app/src/style/index.css


+ 0 - 0
packages/cloud/app/src/style/reset.css → packages/console/app/src/style/reset.css


+ 0 - 0
packages/cloud/app/src/style/token/color.css → packages/console/app/src/style/token/color.css


+ 0 - 0
packages/cloud/app/src/style/token/font.css → packages/console/app/src/style/token/font.css


+ 0 - 0
packages/cloud/app/src/style/token/space.css → packages/console/app/src/style/token/space.css


+ 1 - 1
packages/cloud/app/sst-env.d.ts → packages/console/app/sst-env.d.ts

@@ -6,4 +6,4 @@
 /// <reference path="../../../sst-env.d.ts" />
 
 import "sst"
-export {}
+export {}

+ 0 - 0
packages/cloud/app/tsconfig.json → packages/console/app/tsconfig.json


+ 0 - 0
packages/cloud/core/drizzle.config.ts → packages/console/core/drizzle.config.ts


+ 0 - 0
packages/cloud/core/migrations/0000_fluffy_raza.sql → packages/console/core/migrations/0000_fluffy_raza.sql


+ 0 - 0
packages/cloud/core/migrations/0001_serious_whistler.sql → packages/console/core/migrations/0001_serious_whistler.sql


+ 0 - 0
packages/cloud/core/migrations/0002_violet_loners.sql → packages/console/core/migrations/0002_violet_loners.sql


+ 0 - 0
packages/cloud/core/migrations/0003_dusty_clint_barton.sql → packages/console/core/migrations/0003_dusty_clint_barton.sql


+ 0 - 0
packages/cloud/core/migrations/0004_first_mockingbird.sql → packages/console/core/migrations/0004_first_mockingbird.sql


+ 0 - 0
packages/cloud/core/migrations/0005_jazzy_skrulls.sql → packages/console/core/migrations/0005_jazzy_skrulls.sql


+ 0 - 0
packages/cloud/core/migrations/0006_parallel_gauntlet.sql → packages/console/core/migrations/0006_parallel_gauntlet.sql


+ 0 - 0
packages/cloud/core/migrations/0007_familiar_nightshade.sql → packages/console/core/migrations/0007_familiar_nightshade.sql


+ 0 - 0
packages/cloud/core/migrations/0008_eminent_ultimatum.sql → packages/console/core/migrations/0008_eminent_ultimatum.sql


+ 0 - 0
packages/cloud/core/migrations/0009_redundant_piledriver.sql → packages/console/core/migrations/0009_redundant_piledriver.sql


+ 0 - 0
packages/cloud/core/migrations/0010_needy_sue_storm.sql → packages/console/core/migrations/0010_needy_sue_storm.sql


+ 0 - 0
packages/cloud/core/migrations/0011_freezing_phil_sheldon.sql → packages/console/core/migrations/0011_freezing_phil_sheldon.sql


+ 0 - 0
packages/cloud/core/migrations/0012_bright_photon.sql → packages/console/core/migrations/0012_bright_photon.sql


+ 0 - 0
packages/cloud/core/migrations/0013_absurd_hobgoblin.sql → packages/console/core/migrations/0013_absurd_hobgoblin.sql


+ 0 - 0
packages/cloud/core/migrations/meta/0000_snapshot.json → packages/console/core/migrations/meta/0000_snapshot.json


+ 0 - 0
packages/cloud/core/migrations/meta/0001_snapshot.json → packages/console/core/migrations/meta/0001_snapshot.json


+ 0 - 0
packages/cloud/core/migrations/meta/0002_snapshot.json → packages/console/core/migrations/meta/0002_snapshot.json


+ 0 - 0
packages/cloud/core/migrations/meta/0003_snapshot.json → packages/console/core/migrations/meta/0003_snapshot.json


+ 0 - 0
packages/cloud/core/migrations/meta/0004_snapshot.json → packages/console/core/migrations/meta/0004_snapshot.json


+ 0 - 0
packages/cloud/core/migrations/meta/0005_snapshot.json → packages/console/core/migrations/meta/0005_snapshot.json


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff