diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index aa4328b12..9f60c213d 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -79,12 +79,12 @@ objectstack-ai/spec/ │ ├── apps/ │ ├── studio/ # 🎨 Studio UI (React + Hono, web-based) -│ └── docs/ # 📖 Documentation site (Fumadocs + Next.js) +│ ├── docs/ # 📖 Documentation site (Fumadocs + Next.js) +│ └── server/ # 🚀 Production server (multi-app orchestration) │ ├── examples/ # 📚 Reference implementations │ ├── app-todo/ # Beginner: simple CRUD │ ├── app-crm/ # Advanced: full CRM with relations -│ ├── app-host/ # Host application bootstrap │ └── plugin-bi/ # Plugin example: BI dashboard │ ├── skills/ # 🤖 AI skill definitions (for Copilot/Cursor) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b1e9288a..77db58bb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -290,7 +290,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Removed `value` field from data API responses** — The `findData` protocol implementation no longer returns the deprecated `value` field alongside `records`. Only `records` is returned, matching the `FindDataResponseSchema` spec. All - downstream consumers (Studio, app-host example, tests) updated to use `records` + downstream consumers (Studio, server example, tests) updated to use `records` exclusively. OData-specific responses (`ODataResponseSchema`) retain `value` per the OData v4 standard — protocol-to-OData adaptation is handled in the HTTP dispatch layer. diff --git a/README.md b/README.md index 194e3c255..5a77148da 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ os doctor # Check environment health | :--- | :--- | :--- | | [`@example/app-todo`](examples/app-todo) | Task management app — objects, views, dashboards, flows | Beginner | | [`@example/app-crm`](examples/app-crm) | Enterprise CRM — accounts, contacts, opportunities, leads | Intermediate | -| [`@example/app-host`](examples/app-host) | Server host — multi-app orchestration with plugins | Advanced | +| [`@objectstack/server`](apps/server) | Production server — multi-app orchestration with plugins | Advanced | | [`@example/plugin-bi`](examples/plugin-bi) | BI plugin — analytics objects and reports | Intermediate | ## Codebase Metrics diff --git a/ROADMAP.md b/ROADMAP.md index 4644013b3..cc6bfe96e 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -852,7 +852,7 @@ Final polish and advanced features. - [x] **app-todo** — Beginner reference (objects, actions, flows, dashboards, reports, i18n) ✅ - [x] **app-crm** — Enterprise reference (10 objects, 5 AI agents, 4 RAG pipelines, security profiles) ✅ -- [x] **app-host** — Multi-app orchestration pattern ✅ +- [x] **server** (formerly app-host) — Production server with multi-app orchestration pattern ✅ - [ ] **plugin-bi** — Business Intelligence plugin (currently a stub/placeholder) - [ ] **app-hrm** — Human Resource Management example - [ ] **app-project** — Project Management example diff --git a/examples/app-host/.env.example b/apps/server/.env.example similarity index 100% rename from examples/app-host/.env.example rename to apps/server/.env.example diff --git a/examples/app-host/.gitignore b/apps/server/.gitignore similarity index 100% rename from examples/app-host/.gitignore rename to apps/server/.gitignore diff --git a/examples/app-host/.vercelignore b/apps/server/.vercelignore similarity index 100% rename from examples/app-host/.vercelignore rename to apps/server/.vercelignore diff --git a/examples/app-host/CHANGELOG.md b/apps/server/CHANGELOG.md similarity index 100% rename from examples/app-host/CHANGELOG.md rename to apps/server/CHANGELOG.md diff --git a/examples/app-host/DEPLOYMENT.md b/apps/server/DEPLOYMENT.md similarity index 94% rename from examples/app-host/DEPLOYMENT.md rename to apps/server/DEPLOYMENT.md index 4e7669029..ada00b7c6 100644 --- a/examples/app-host/DEPLOYMENT.md +++ b/apps/server/DEPLOYMENT.md @@ -1,6 +1,6 @@ -# Deploying App Host to Vercel +# Deploying ObjectStack Server to Vercel -This example demonstrates how to deploy the ObjectStack app-host to Vercel using Hono. +This guide demonstrates how to deploy the ObjectStack production server to Vercel using Hono. ## Prerequisites @@ -26,9 +26,9 @@ You can get these credentials from [Turso Dashboard](https://turso.tech/). npm i -g vercel ``` -2. Navigate to the app-host directory: +2. Navigate to the server directory: ```bash - cd examples/app-host + cd apps/server ``` 3. Deploy to Vercel: @@ -46,7 +46,7 @@ You can get these credentials from [Turso Dashboard](https://turso.tech/). ### Option 2: Using Vercel Dashboard 1. Import the repository to Vercel -2. Set the root directory to `examples/app-host` +2. Set the root directory to `apps/server` 3. Add environment variables in the project settings 4. Deploy @@ -64,7 +64,7 @@ The build is configured in `vercel.json`: ## How It Works 1. **Build Process** (`scripts/build-vercel.sh`): - - Builds both app-host and Studio using Turbo + - Builds both server and Studio using Turbo - Studio is built with `VITE_RUNTIME_MODE=server` (set in vercel.json build.env) - Bundles the server code using esbuild (`scripts/bundle-api.mjs`) - Copies Studio dist files to `public/` for static file serving @@ -95,7 +95,7 @@ The build is configured in `vercel.json`: The deployment follows Vercel's serverless function pattern: ``` -examples/app-host/ +apps/server/ ├── api/ │ ├── [[...route]].js # Committed entry point │ └── _handler.js # Generated bundle (not committed) diff --git a/examples/app-host/README.md b/apps/server/README.md similarity index 96% rename from examples/app-host/README.md rename to apps/server/README.md index 3e0dbe0e9..56efd65cd 100644 --- a/examples/app-host/README.md +++ b/apps/server/README.md @@ -1,11 +1,11 @@ -# ObjectStack Example Server +# ObjectStack Production Server This is a reference implementation of the ObjectStack Server Protocol (Kernel). It demonstrates how to build a metadata-driven backend that dynamically loads object definitions from plugins and automatically generates REST APIs. ## Deployment -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/objectstack-ai/framework/tree/main/examples/app-host&project-name=objectstack-app-host&repository-name=objectstack-app-host) +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/objectstack-ai/framework/tree/main/apps/server&project-name=objectstack-server&repository-name=objectstack-server) See [DEPLOYMENT.md](./DEPLOYMENT.md) for detailed deployment instructions. diff --git a/examples/app-host/api/[[...route]].js b/apps/server/api/[[...route]].js similarity index 100% rename from examples/app-host/api/[[...route]].js rename to apps/server/api/[[...route]].js diff --git a/examples/app-host/debug-registry.ts b/apps/server/debug-registry.ts similarity index 100% rename from examples/app-host/debug-registry.ts rename to apps/server/debug-registry.ts diff --git a/examples/app-host/lib/create-broker-shim.ts b/apps/server/lib/create-broker-shim.ts similarity index 100% rename from examples/app-host/lib/create-broker-shim.ts rename to apps/server/lib/create-broker-shim.ts diff --git a/examples/app-host/metadata/objects/demo.object.yml b/apps/server/metadata/objects/demo.object.yml similarity index 100% rename from examples/app-host/metadata/objects/demo.object.yml rename to apps/server/metadata/objects/demo.object.yml diff --git a/examples/app-host/objectstack.config.ts b/apps/server/objectstack.config.ts similarity index 83% rename from examples/app-host/objectstack.config.ts rename to apps/server/objectstack.config.ts index f960bb6bb..0e483b00c 100644 --- a/examples/app-host/objectstack.config.ts +++ b/apps/server/objectstack.config.ts @@ -5,11 +5,11 @@ import { AppPlugin, DriverPlugin } from '@objectstack/runtime'; import { ObjectQLPlugin } from '@objectstack/objectql'; import { InMemoryDriver } from '@objectstack/driver-memory'; import { AuthPlugin } from '@objectstack/plugin-auth'; -import CrmApp from '../app-crm/objectstack.config'; -import TodoApp from '../app-todo/objectstack.config'; -import BiPluginManifest from '../plugin-bi/objectstack.config'; +import CrmApp from '../../examples/app-crm/objectstack.config'; +import TodoApp from '../../examples/app-todo/objectstack.config'; +import BiPluginManifest from '../../examples/plugin-bi/objectstack.config'; -// App Host Example +// Production Server // This project acts as a "Platform Server" that loads multiple apps and plugins. // It effectively replaces the manual composition in `src/index.ts`. @@ -24,11 +24,11 @@ const authPlugin = new AuthPlugin({ export default defineStack({ manifest: { - id: 'com.example.host', - namespace: 'host', - name: 'App Host', + id: 'com.objectstack.server', + namespace: 'server', + name: 'ObjectStack Server', version: '1.0.0', - description: 'Host application aggregating CRM, Todo and BI plugins', + description: 'Production server aggregating CRM, Todo and BI plugins', type: 'app', }, @@ -92,11 +92,11 @@ export default defineStack({ */ export const PreviewHostExample = defineStack({ manifest: { - id: 'com.example.host-preview', - namespace: 'host', - name: 'App Host Preview', + id: 'com.objectstack.server-preview', + namespace: 'server', + name: 'ObjectStack Server Preview', version: '1.0.0', - description: 'Host application in preview/demo mode — bypasses login, simulates admin user', + description: 'Production server in preview/demo mode — bypasses login, simulates admin user', type: 'app', }, diff --git a/examples/app-host/package.json b/apps/server/package.json similarity index 97% rename from examples/app-host/package.json rename to apps/server/package.json index 3f386078f..86df2ccdd 100644 --- a/examples/app-host/package.json +++ b/apps/server/package.json @@ -1,5 +1,5 @@ { - "name": "@example/app-host", + "name": "@objectstack/server", "version": "4.0.3", "license": "Apache-2.0", "type": "module", diff --git a/examples/app-host/public/index.html b/apps/server/public/index.html similarity index 100% rename from examples/app-host/public/index.html rename to apps/server/public/index.html diff --git a/examples/app-host/scripts/build-vercel.sh b/apps/server/scripts/build-vercel.sh similarity index 76% rename from examples/app-host/scripts/build-vercel.sh rename to apps/server/scripts/build-vercel.sh index 3b70d99d9..20b624f59 100755 --- a/examples/app-host/scripts/build-vercel.sh +++ b/apps/server/scripts/build-vercel.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -# Build script for Vercel deployment of @example/app-host. +# Build script for Vercel deployment of @objectstack/server. # # Follows the Vercel deployment pattern: # - api/[[...route]].js is committed to the repo (Vercel detects it pre-build) @@ -14,13 +14,13 @@ set -euo pipefail # 2. Bundle the API serverless function (→ api/_handler.js) # 3. Copy studio dist files to public/ for UI serving -echo "[build-vercel] Starting app-host build..." +echo "[build-vercel] Starting server build..." # 1. Build the project with turbo (from monorepo root) -# This builds both app-host and studio +# This builds both server and studio cd ../.. -pnpm turbo run build --filter=@example/app-host --filter=@objectstack/studio -cd examples/app-host +pnpm turbo run build --filter=@objectstack/server --filter=@objectstack/studio +cd apps/server # 2. Bundle API serverless function node scripts/bundle-api.mjs @@ -29,8 +29,8 @@ node scripts/bundle-api.mjs echo "[build-vercel] Copying studio dist to public/..." rm -rf public mkdir -p public -if [ -d "../../apps/studio/dist" ]; then - cp -r ../../apps/studio/dist/* public/ +if [ -d "../studio/dist" ]; then + cp -r ../studio/dist/* public/ echo "[build-vercel] ✓ Copied studio dist to public/" else echo "[build-vercel] ⚠ Studio dist not found (skipped)" diff --git a/examples/app-host/scripts/bundle-api.mjs b/apps/server/scripts/bundle-api.mjs similarity index 96% rename from examples/app-host/scripts/bundle-api.mjs rename to apps/server/scripts/bundle-api.mjs index cc87745c8..57700c855 100644 --- a/examples/app-host/scripts/bundle-api.mjs +++ b/apps/server/scripts/bundle-api.mjs @@ -9,7 +9,7 @@ * npm packages), so the deployed function is self-contained. Only packages * with native bindings are kept external. * - * Run from the examples/app-host directory during the Vercel build step. + * Run from the apps/server directory during the Vercel build step. */ import { build } from 'esbuild'; diff --git a/examples/app-host/server/index.ts b/apps/server/server/index.ts similarity index 100% rename from examples/app-host/server/index.ts rename to apps/server/server/index.ts diff --git a/examples/app-host/src/index.ts b/apps/server/src/index.ts similarity index 100% rename from examples/app-host/src/index.ts rename to apps/server/src/index.ts diff --git a/examples/app-host/test/e2e.test.ts b/apps/server/test/e2e.test.ts similarity index 100% rename from examples/app-host/test/e2e.test.ts rename to apps/server/test/e2e.test.ts diff --git a/examples/app-host/tsconfig.json b/apps/server/tsconfig.json similarity index 100% rename from examples/app-host/tsconfig.json rename to apps/server/tsconfig.json diff --git a/examples/app-host/vercel.json b/apps/server/vercel.json similarity index 100% rename from examples/app-host/vercel.json rename to apps/server/vercel.json diff --git a/apps/studio/.env.example b/apps/studio/.env.example index ccc53b0b7..b79696648 100644 --- a/apps/studio/.env.example +++ b/apps/studio/.env.example @@ -1,7 +1,7 @@ # Environment Variables for Development # Copy this file to .env.local and customize # -# NOTE: .env.production is used for production builds (e.g., app-host deployment) +# NOTE: .env.production is used for production builds (e.g., server deployment) # Runtime Mode: 'msw' (default for dev) | 'server' # - 'msw': Mock Service Worker with in-browser kernel (recommended for local dev) diff --git a/apps/studio/.env.production b/apps/studio/.env.production index 7a0debf79..a31b0e102 100644 --- a/apps/studio/.env.production +++ b/apps/studio/.env.production @@ -1,16 +1,16 @@ # Production Environment Configuration # This file is used during production builds (vite build) # -# When Studio is deployed as part of app-host (examples/app-host), -# it should run in server mode and connect to the app-host API server +# When Studio is deployed as part of the server (apps/server), +# it should run in server mode and connect to the server API # instead of using MSW (Mock Service Worker). # Runtime Mode: 'server' for production deployment -# - 'server': Connect to real ObjectStack server (app-host API) +# - 'server': Connect to real ObjectStack server API # - 'msw': Mock Service Worker mode (browser-based kernel, for local dev) VITE_RUNTIME_MODE=server -# Server URL: Empty string for same-origin (app-host serves both UI and API) +# Server URL: Empty string for same-origin (server serves both UI and API) # The client SDK will use relative URLs (/api/v1/...) -# Empty string = same origin (recommended for app-host deployment) +# Empty string = same origin (recommended for server deployment) VITE_SERVER_URL= diff --git a/content/docs/getting-started/examples.mdx b/content/docs/getting-started/examples.mdx index 85cb5ed51..3b39acc9b 100644 --- a/content/docs/getting-started/examples.mdx +++ b/content/docs/getting-started/examples.mdx @@ -7,7 +7,7 @@ import { CheckSquare, Building2, BarChart3, Server } from 'lucide-react'; # Example Apps -The monorepo includes 4 ready-to-run examples that progressively demonstrate ObjectStack features — from a simple Todo app to a full enterprise CRM. +The monorepo includes 3 ready-to-run examples that progressively demonstrate ObjectStack features — from a simple Todo app to a full enterprise CRM. - } - title="app-host" - description="Platform server that loads multiple apps. Demonstrates multi-app composition." - /> + + **Looking for the production server example?** It has been moved to [`apps/server/`](../../apps/server/) — see the [Server documentation](../../apps/server/README.md) for multi-app orchestration and deployment. + + --- ## Quick Run @@ -274,25 +273,23 @@ new AppPlugin(BiPlugin) // Load into host --- -## app-host — Multi-App Composition +## Multi-App Composition Pattern -**Path:** `examples/app-host/` - -Demonstrates the **Platform Server** pattern: one host loading multiple apps and plugins. This is how you'd run ObjectStack in production with multiple teams' apps. +The production server at [`apps/server/`](../../apps/server/) demonstrates the **Platform Server** pattern: one host loading multiple apps and plugins. This is how you'd run ObjectStack in production with multiple teams' apps. ```typescript -// examples/app-host/objectstack.config.ts +// apps/server/objectstack.config.ts import { defineStack } from '@objectstack/spec'; import { AppPlugin, DriverPlugin } from '@objectstack/runtime'; import { ObjectQLPlugin } from '@objectstack/objectql'; import { InMemoryDriver } from '@objectstack/driver-memory'; -import CrmApp from '../app-crm/objectstack.config'; -import TodoApp from '../app-todo/objectstack.config'; -import BiPlugin from '../plugin-bi/objectstack.config'; +import CrmApp from '../examples/app-crm/objectstack.config'; +import TodoApp from '../examples/app-todo/objectstack.config'; +import BiPlugin from '../examples/plugin-bi/objectstack.config'; export default defineStack({ manifest: { - id: 'app-host', + id: 'com.objectstack.server', version: '1.0.0', type: 'app', }, @@ -321,7 +318,7 @@ The double-underscore `__` separator prevents collisions when multiple apps defi ### Run It ```bash -cd examples/app-host +cd apps/server pnpm dev # Loads all 3 apps on one server ``` diff --git a/docs/DX_ROADMAP.md b/docs/DX_ROADMAP.md index 22008cd9c..5241982f1 100644 --- a/docs/DX_ROADMAP.md +++ b/docs/DX_ROADMAP.md @@ -37,14 +37,14 @@ This roadmap prioritizes improvements based on the **"Time to First Wow"** metri - [x] Create StackBlitz starter template from `app-todo` - [x] Add "Try Online" button to spec README.md and docs site hero -- [x] Add "How to Run" section to each example README (app-todo, app-crm, app-host, plugin-bi) +- [x] Add "How to Run" section to each example README (app-todo, app-crm, server, plugin-bi) - [x] Add prerequisites section to getting-started docs - [x] Create first-run troubleshooting page - [x] Implement `create-objectstack` CLI wizard with 3 templates - [ ] Record 5-minute getting-started video - [x] Fix `examples/README.md`: remove `minimal-auth` ghost reference, update metadata - [x] Fix `plugin-bi` example: add README.md, add package.json scripts -- [x] Fix `app-host` README: use `pnpm dev` instead of `npm run dev` +- [x] Fix `server` (formerly app-host) README: use `pnpm dev` instead of `npm run dev` diff --git a/examples/README.md b/examples/README.md index 988d315f1..b6026359f 100644 --- a/examples/README.md +++ b/examples/README.md @@ -12,7 +12,7 @@ Welcome to the ObjectStack examples catalog! This directory contains carefully c |-------|----------|-------------| | 🟢 **Beginner** | [App Todo](#app-todo), [Plugin BI](#plugin-bi) | Start here - simple, focused examples | | 🟡 **Intermediate** | [App CRM](#app-crm) | Real-world enterprise application | -| 🔴 **Advanced** | [App Host](#app-host) | Server hosting & plugin orchestration | +| 🔴 **Advanced** | [Server](../apps/server/) | Server hosting & plugin orchestration | ### By Protocol Category @@ -20,9 +20,9 @@ Welcome to the ObjectStack examples catalog! This directory contains carefully c |----------|----------|--------| | **Data (ObjectQL)** | [App CRM](./app-crm/), [App Todo](./app-todo/) | ✅ Complete | | **UI (ObjectUI)** | [App CRM](./app-crm/), [App Todo](./app-todo/) | ✅ Complete | -| **System (ObjectOS)** | [App Host](./app-host/), [App CRM](./app-crm/) | ✅ Complete | +| **System (ObjectOS)** | [Server](../apps/server/), [App CRM](./app-crm/) | ✅ Complete | | **Automation** | [App CRM](./app-crm/), [App Todo](./app-todo/) | ✅ Complete | -| **API** | [App Host](./app-host/) | ✅ Complete | +| **API** | [Server](../apps/server/) | ✅ Complete | | **BI / Analytics** | [Plugin BI](./plugin-bi/) | 🔴 Stub | | **Hub & Marketplace** | _Coming soon_ | 🔴 Planned | @@ -147,24 +147,7 @@ pnpm build --- -### App Host -**Path:** [`examples/app-host/`](./app-host/) -**Level:** 🔴 Advanced -**Protocols:** System, API, Data - -**Complete server implementation** showing how to build a metadata-driven backend. Features dynamic schema loading from plugins, auto-generated REST APIs, unified metadata API, plugin orchestration, and **preview/demo mode**. - -**Preview Mode:** Run with `OS_MODE=preview` to bypass login/registration and simulate an admin identity — ideal for marketplace demos and app showcases. - -**Quick Start:** -```bash -cd examples/app-host -pnpm install -pnpm dev - -# Preview mode (no login required) -OS_MODE=preview pnpm dev -``` +**Note:** The production server example has been moved to [`apps/server/`](../apps/server/) — see the [Server documentation](../apps/server/README.md) for details on server hosting, plugin orchestration, and deployment. --- @@ -228,9 +211,9 @@ pnpm typecheck | Protocol | Example | Location | |----------|---------|----------| | Manifest | ✅ Complete | All examples with `objectstack.config.ts` | -| Plugin System | ✅ Complete | [App Host](./app-host/) | -| Preview Mode | ✅ Complete | [App Host](./app-host/) — `OS_MODE=preview` | -| Datasources | 🟡 Partial | [App Host](./app-host/) | +| Plugin System | ✅ Complete | [Server](../apps/server/) | +| Preview Mode | ✅ Complete | [Server](../apps/server/) — `OS_MODE=preview` | +| Datasources | 🟡 Partial | [Server](../apps/server/) | | I18n / Translations | ✅ Complete | [Todo Translations](./app-todo/src/translations/), [CRM Translations](./app-crm/src/translations/) | | Job Scheduling | 🔴 Missing | _Planned_ | | Metrics | 🔴 Missing | _Planned_ | @@ -260,7 +243,7 @@ pnpm typecheck ### API Protocol | Protocol | Example | Location | |----------|---------|----------| -| REST Server | ✅ Complete | [App Host](./app-host/) | +| REST Server | ✅ Complete | [Server](../apps/server/) | | Custom APIs | ✅ Complete | [CRM APIs](./app-crm/src/apis/) | | GraphQL | 🔴 Missing | _Planned_ | | WebSocket/Realtime | 🔴 Missing | _Planned_ | @@ -306,7 +289,7 @@ pnpm build 1. Complete Path 1 2. Study all [CRM Objects](./app-crm/src/objects/) - Master field types and relationships 3. Review [CRM Flows](./app-crm/src/flows/) - Understand automation patterns -4. Explore [App Host](./app-host/) - Server and plugin orchestration +4. Explore [Server](../apps/server/) - Server and plugin orchestration --- @@ -380,7 +363,7 @@ All examples are licensed under Apache 2.0. See [LICENSE](../LICENSE) for detail --- -**Last Updated:** 2026-02-12 -**Protocol Version:** 3.0.0 -**Total Examples:** 4 (app-todo, app-crm, app-host, plugin-bi) +**Last Updated:** 2026-02-12 +**Protocol Version:** 3.0.0 +**Total Examples:** 3 (app-todo, app-crm, plugin-bi) **Directory Convention:** By-Type (Salesforce DX style) diff --git a/examples/plugin-bi/README.md b/examples/plugin-bi/README.md index a1f5a7570..c66268d16 100644 --- a/examples/plugin-bi/README.md +++ b/examples/plugin-bi/README.md @@ -75,7 +75,7 @@ See the [App CRM](../app-crm/) example for comprehensive dashboard and report pa - [App Todo](../app-todo/) — Dashboard widgets and reports (beginner) - [App CRM](../app-crm/) — Enterprise dashboards with 10+ widgets (intermediate) -- [App Host](../app-host/) — Plugin orchestration and loading (advanced) +- [Server](../../apps/server/) — Plugin orchestration and loading (advanced) --- diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ded5036ac..813ca2db3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,6 +125,91 @@ importers: specifier: 4.3.6 version: 4.3.6 + apps/server: + dependencies: + '@example/app-crm': + specifier: workspace:* + version: link:../../examples/app-crm + '@example/app-todo': + specifier: workspace:* + version: link:../../examples/app-todo + '@example/plugin-bi': + specifier: workspace:* + version: link:../../examples/plugin-bi + '@hono/node-server': + specifier: ^1.19.14 + version: 1.19.14(hono@4.12.12) + '@libsql/client': + specifier: ^0.14.0 + version: 0.14.0 + '@objectstack/driver-memory': + specifier: workspace:* + version: link:../../packages/plugins/driver-memory + '@objectstack/driver-turso': + specifier: workspace:* + version: link:../../packages/plugins/driver-turso + '@objectstack/hono': + specifier: workspace:* + version: link:../../packages/adapters/hono + '@objectstack/metadata': + specifier: workspace:* + version: link:../../packages/metadata + '@objectstack/objectql': + specifier: workspace:* + version: link:../../packages/objectql + '@objectstack/plugin-audit': + specifier: workspace:* + version: link:../../packages/plugins/plugin-audit + '@objectstack/plugin-auth': + specifier: workspace:* + version: link:../../packages/plugins/plugin-auth + '@objectstack/plugin-hono-server': + specifier: workspace:* + version: link:../../packages/plugins/plugin-hono-server + '@objectstack/plugin-security': + specifier: workspace:* + version: link:../../packages/plugins/plugin-security + '@objectstack/plugin-setup': + specifier: workspace:* + version: link:../../packages/plugins/plugin-setup + '@objectstack/runtime': + specifier: workspace:* + version: link:../../packages/runtime + '@objectstack/service-ai': + specifier: workspace:* + version: link:../../packages/services/service-ai + '@objectstack/service-analytics': + specifier: workspace:* + version: link:../../packages/services/service-analytics + '@objectstack/service-automation': + specifier: workspace:* + version: link:../../packages/services/service-automation + '@objectstack/service-feed': + specifier: workspace:* + version: link:../../packages/services/service-feed + '@objectstack/spec': + specifier: workspace:* + version: link:../../packages/spec + hono: + specifier: ^4.12.12 + version: 4.12.12 + devDependencies: + '@objectstack/cli': + specifier: workspace:* + version: link:../../packages/cli + esbuild: + specifier: ^0.24.2 + version: 0.24.2 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@25.6.0)(typescript@6.0.2) + tsx: + specifier: ^4.21.0 + version: 4.21.0 + typescript: + specifier: ^6.0.2 + version: 6.0.2 + apps/studio: dependencies: '@ai-sdk/anthropic': @@ -328,91 +413,6 @@ importers: specifier: ^6.0.2 version: 6.0.2 - examples/app-host: - dependencies: - '@example/app-crm': - specifier: workspace:* - version: link:../app-crm - '@example/app-todo': - specifier: workspace:* - version: link:../app-todo - '@example/plugin-bi': - specifier: workspace:* - version: link:../plugin-bi - '@hono/node-server': - specifier: ^1.19.14 - version: 1.19.14(hono@4.12.12) - '@libsql/client': - specifier: ^0.14.0 - version: 0.14.0 - '@objectstack/driver-memory': - specifier: workspace:* - version: link:../../packages/plugins/driver-memory - '@objectstack/driver-turso': - specifier: workspace:* - version: link:../../packages/plugins/driver-turso - '@objectstack/hono': - specifier: workspace:* - version: link:../../packages/adapters/hono - '@objectstack/metadata': - specifier: workspace:* - version: link:../../packages/metadata - '@objectstack/objectql': - specifier: workspace:* - version: link:../../packages/objectql - '@objectstack/plugin-audit': - specifier: workspace:* - version: link:../../packages/plugins/plugin-audit - '@objectstack/plugin-auth': - specifier: workspace:* - version: link:../../packages/plugins/plugin-auth - '@objectstack/plugin-hono-server': - specifier: workspace:* - version: link:../../packages/plugins/plugin-hono-server - '@objectstack/plugin-security': - specifier: workspace:* - version: link:../../packages/plugins/plugin-security - '@objectstack/plugin-setup': - specifier: workspace:* - version: link:../../packages/plugins/plugin-setup - '@objectstack/runtime': - specifier: workspace:* - version: link:../../packages/runtime - '@objectstack/service-ai': - specifier: workspace:* - version: link:../../packages/services/service-ai - '@objectstack/service-analytics': - specifier: workspace:* - version: link:../../packages/services/service-analytics - '@objectstack/service-automation': - specifier: workspace:* - version: link:../../packages/services/service-automation - '@objectstack/service-feed': - specifier: workspace:* - version: link:../../packages/services/service-feed - '@objectstack/spec': - specifier: workspace:* - version: link:../../packages/spec - hono: - specifier: ^4.12.12 - version: 4.12.12 - devDependencies: - '@objectstack/cli': - specifier: workspace:* - version: link:../../packages/cli - esbuild: - specifier: ^0.24.2 - version: 0.24.2 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@25.6.0)(typescript@6.0.2) - tsx: - specifier: ^4.21.0 - version: 4.21.0 - typescript: - specifier: ^6.0.2 - version: 6.0.2 - examples/app-todo: dependencies: '@objectstack/client':