Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ pnpm docs:dev
| `pnpm dev` | Run the showcase kitchen-sink example (`@objectstack/example-showcase`) — REST + Studio; exercises every metadata type, view, automation, AI & security chain |
| `pnpm dev:showcase` | Same as `pnpm dev` (explicit alias) |
| `pnpm dev:crm` | Run the minimal CRM example (`@objectstack/example-crm`) |
| `pnpm dev:todo` | Run the Todo example (`@example/app-todo`) |
| `pnpm dev:todo` | Run the Todo example (`@objectstack/example-todo`) |
| `pnpm objectui:refresh` | Pull the sibling `../objectui` build into `packages/console/` |
| `pnpm test` | Run all tests (Turborepo) |
| `pnpm setup` | Install dependencies and build the spec package |
Expand Down Expand Up @@ -242,7 +242,7 @@ Cloud, package registry, and environment management subcommands (`os publish`, `

| Example | Description | Level |
| :--- | :--- | :--- |
| [`@example/app-todo`](examples/app-todo) | Task management app — objects, views, dashboards, flows | Beginner |
| [`@objectstack/example-todo`](examples/app-todo) | Task management app — objects, views, dashboards, flows | Beginner |
| [`@objectstack/example-crm`](examples/app-crm) | Minimal CRM smoke-test workspace — validates the metadata loading pipeline | Intermediate |
| [HotCRM](https://github.com/objectstack-ai/hotcrm) | Full-featured enterprise CRM reference app (separate repo) | Advanced |

Expand Down
6 changes: 3 additions & 3 deletions examples/app-todo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ pnpm typecheck

### Build
```bash
pnpm --filter @example/app-todo build
pnpm --filter @objectstack/example-todo build
# Expected: Build succeeds, generates dist/ output
```

Expand All @@ -113,7 +113,7 @@ Open `objectstack.config.ts` to see how all pieces connect via `defineStack()`.
This example also showcases the v1 AI capabilities. Run the end-to-end demo:

```bash
pnpm --filter @example/app-todo test:ai
pnpm --filter @objectstack/example-todo test:ai
```

What it does — **no API key required**:
Expand All @@ -133,7 +133,7 @@ What it does — **no API key required**:
A higher-level demo that exercises the **`data_chat` built-in agent** end-to-end:

```bash
pnpm --filter @example/app-todo test:agent
pnpm --filter @objectstack/example-todo test:agent
```

1. Sends a natural-language user message to `AIService.chatWithTools()` (the same path the REST endpoint `POST /api/v1/ai/agents/data_chat/chat` uses)
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@example/app-todo",
"name": "@objectstack/example-todo",
"version": "4.0.52",
"description": "Example Todo App using ObjectStack Protocol",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai-action.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// `action_<name>` tool, and that the `data_chat` agent can pick the right
// one in plain English.
//
// Run via: `pnpm --filter @example/app-todo test:action`
// Run via: `pnpm --filter @objectstack/example-todo test:action`
//
// No API key required — uses `MemoryLLMAdapter`, which heuristically
// picks an action tool and resolves the record id from the preceding
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai-agent.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// 1. the agent invoked the `query_data` tool, and
// 2. a `chat_with_tools` row landed in `ai_traces`.
//
// Run via: `pnpm --filter @example/app-todo test:agent`
// Run via: `pnpm --filter @objectstack/example-todo test:agent`
//
// No API key required — uses `MemoryLLMAdapter`, which knows how to
// dispatch `query_data` heuristically and summarise the result.
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai-hitl-llm.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
// the script exits 0 with a notice, so it can be chained in CI without
// leaking spend.
//
// Run via: `AI_GATEWAY_API_KEY=... pnpm --filter @example/app-todo test:hitl:llm`
// Run via: `AI_GATEWAY_API_KEY=... pnpm --filter @objectstack/example-todo test:hitl:llm`

import { ObjectKernel, DriverPlugin, AppPlugin } from '@objectstack/runtime';
import { SqliteWasmDriver } from '@objectstack/driver-sqlite-wasm';
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai-hitl.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// memory adapter's verb routing. (A parallel real-LLM smoke test lives
// under `examples/app-todo/test/ai-real-llm.test.ts`.)
//
// Run via: `pnpm --filter @example/app-todo test:hitl`
// Run via: `pnpm --filter @objectstack/example-todo test:hitl`

import { ObjectKernel, DriverPlugin, AppPlugin } from '@objectstack/runtime';
import { SqliteWasmDriver } from '@objectstack/driver-sqlite-wasm';
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai-knowledge-llm.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
// deterministic RLS demo still runs; only the LLM steps are skipped.
//
// Run via:
// AI_GATEWAY_API_KEY=... pnpm --filter @example/app-todo test:knowledge:llm
// AI_GATEWAY_API_KEY=... pnpm --filter @objectstack/example-todo test:knowledge:llm

import { ObjectKernel, DriverPlugin, AppPlugin } from '@objectstack/runtime';
import { SqliteWasmDriver } from '@objectstack/driver-sqlite-wasm';
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai-llm.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// a key the script exits 0 with a notice so it can be safely chained in
// CI without leaking spend.
//
// Run via: `AI_GATEWAY_API_KEY=... pnpm --filter @example/app-todo test:llm`
// Run via: `AI_GATEWAY_API_KEY=... pnpm --filter @objectstack/example-todo test:llm`

import { ObjectKernel, DriverPlugin, AppPlugin } from '@objectstack/runtime';
import { SqliteWasmDriver } from '@objectstack/driver-sqlite-wasm';
Expand Down
2 changes: 1 addition & 1 deletion examples/app-todo/test/ai.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// runs the `query_data` tool end-to-end against seeded data, and verifies the
// call was persisted in the `ai_traces` object.
//
// Run via: `pnpm --filter @example/app-todo test:ai`
// Run via: `pnpm --filter @objectstack/example-todo test:ai`
//
// No API key required — the demo uses MemoryLLMAdapter, whose heuristic
// `generateObject()` builds a QueryPlan from the schema-context snippet.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"dev": "pnpm --filter @objectstack/example-showcase dev",
"dev:showcase": "pnpm --filter @objectstack/example-showcase dev",
"dev:crm": "pnpm --filter @objectstack/example-crm dev",
"dev:todo": "pnpm --filter @example/app-todo dev",
"dev:todo": "pnpm --filter @objectstack/example-todo dev",
"spec:rebuild": "turbo run build --filter=...@objectstack/spec",
"test": "turbo run test",
"test:e2e": "turbo run test:e2e",
Expand Down