* feat(den): add daytona-backed docker dev flow
* fix(den): allow multiple cloud workers in dev
* fix(den): use Daytona snapshots for sandbox runtime
Use a prebuilt Daytona snapshot for the dev worker runtime so sandboxes start with openwork and opencode already installed. Pass the snapshot through the local Docker flow and add a helper to build the snapshot image for repeatable setup.
* chore(den): lower Daytona snapshot defaults
Reduce the default snapshot footprint to 1 CPU and 2GB RAM so local Daytona worker testing fits smaller org limits more easily.
* Omar is comfortable
Make Daytona-backed cloud workers stable enough to reconnect through a dedicated proxy instead of persisting expiring signed preview URLs. Split the proxy into its own deployable service, share Den schema access through a common package, and fix the web badge so healthy workers show ready.
* chore(den-db): add Drizzle package scripts
Move the shared schema package toward owning its own migration workflow by adding generate and migrate commands plus a local Drizzle config.
* chore: update lockfile
Refresh the workspace lockfile so the new den-db Drizzle tooling is captured in pnpm-lock.yaml.
* feat(den-worker-proxy): make Vercel deployment-ready
Align the proxy service with Vercel's Hono runtime entry pattern and keep a separate Node server entry for Docker/local runs. Also scaffold the Vercel project/env setup and wire Render deploy sync to pass Daytona variables needed for daytona mode.
* feat(den-db): add db mode switch for PlanetScale
Support DB_MODE=planetscale with Drizzle's PlanetScale serverless driver while keeping mysql2 as the local default. This lets Vercel-hosted services use HTTP database access without changing local development workflows.
* refactor(den-db): adopt shared TypeID ids
Move the Den TypeID system into a shared utils package and use it across auth, org, worker, and sandbox records so fresh databases get one consistent internal ID format. Wire Better Auth into the same generator and update Den request boundaries to normalize typed ids cleanly.
* fix(den): restore docker dev stack after refactor
Include the shared utils package in the Den Docker images, expose MySQL to the host for local inspection, and fix the remaining Den build/runtime issues surfaced by the Docker path after the shared package and TypeID changes.
* docs(den): document Daytona snapshot setup
Add README guidance for building and publishing the prebuilt Daytona runtime snapshot, including the helper script, required env, and how to point Den at the snapshot for local Daytona mode.
* refactor(den-db): reset migrations and load env files
Replace the old Den SQL migration history with a fresh baseline for the current schema, and let Drizzle commands load database credentials from env files. Default to mysql when DATABASE_URL is present and otherwise use PlanetScale credentials so local Docker and hosted environments can share the same DB package cleanly.
* fix(den): prepare manual PlanetScale deploys
Update the Render workflow and Docker build path for the shared workspace packages, support PlanetScale credentials in the manual SQL migration runner, and stop auto-running DB migrations on Den startup so schema changes stay manual.
* feat(den-v2): add Daytona-first control plane
Create a new den-v2 service from the current Daytona-enabled control plane, default it to Daytona provisioning, and add a dedicated Render deployment workflow targeting the new v2 Render service.
* feat(den-worker-proxy): redirect root to landing
Send root proxy traffic to openworklabs.com so direct visits to the worker proxy domain do not hit worker-resolution errors.
---------
Co-authored-by: OmarMcAdam <gh@mcadam.io>
* wip: add Japanese (ja) localization
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(i18n): harden Japanese locale — remove wrapping spaces, あなた, backticks
- Strip all spurious spaces around スキル/プラグイン/コマンド/セッション
- Replace あなた with neutral phrasing
- Remove unnecessary backticks around opencode.json
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(i18n): polish Japanese locale — spacing, phrasing, plural fix
- Normalize spacing around OpenPackage and opencode.json
- Fix stray {plural} "s" in folders_allowed for Japanese
- Rephrase awkward アーリーアクセス sentences, use 早期アクセス
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(i18n): native-quality pass on Japanese locale
- 記述→入力, 監査証跡→すべて記録に残します (natural hero text)
- 初期化→作成, リクエスト→許可を求めて (less formal)
- ビデオ→動画, 隠す→非表示, モーダル→画面 (standard UI terms)
- シンキングパーツ→シンキングの内容 (clearer)
- ハンドシェイク→安全な接続, 再テスト→やり直す (user-facing)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(i18n): warmth pass on Japanese locale
- Softer tone: ~してください → ~できます / ~ましょう
- Shorter sentences for sandbox, workspace presets
- Session ready text sounds more like a helpful assistant
- Welcome title more conversational
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(i18n): restore meaning accuracy + warmer welcome title
- Restore "このワーカーを" in sandbox desc (was dropping subject)
- Welcome title: 今日のOpenWorkの使い方は? (warm, modern tone)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(i18n): final warmth pass — shorter, more human Japanese copy
- 追跡→登録 (register, not surveil)
- Shorten passive hints to direct style
- Clarify ambiguous particle (と→に)
- 復元します→すぐにお見せします (warm workspace switch)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Refine share preview OG skill card
* Tighten share preview OG styling
* Polish share preview fallback copy
* Serve share preview OG images as PNG
* Default share links to HTML for crawlers
* Remove legacy share OG alias
* Always serve share pages as HTML
* Use direct OG image route
* Use server-safe fonts in OG images
* Fix OG SVG font-family attributes
* Remove unused share proxy
* Remove dead share JSON negotiation helper
---------
Co-authored-by: jcllobet <jcllobet@users.noreply.github.com>