Files
exe.dev user e859245867 Add minimal stock listing app: actions, Postgres schema, stocks page, Claude Agent SDK harness
- Add stocks table (server/db) with list/get/add/update/delete actions, scoped
  per user, backing both the chat agent and the /stocks UI via
  useActionQuery/useActionMutation
- Add mobile-first /stocks page (shadcn table/cards, watchlist, search) and
  wire it into the sidebar, navigation state, and view-screen context
- Install the platform's Claude Agent SDK harness (server/plugins,
  server/routes/api/claude-agent) so the app agent runs on the platform's own
  Claude subscription instead of the Builder.io gateway; fix the vendored
  turn.post.ts route to resolve the session and wrap it in
  runWithRequestContext, since custom /api/ routes aren't auto-wrapped in
  request context the way /_agent-native/actions/* are
- Add shadcn table/badge/dialog/select components (Tabler icons, not lucide)
2026-07-29 12:18:14 +00:00

112 lines
3.4 KiB
JSON

{
"name": "app",
"displayName": "App",
"private": true,
"description": "Workspace app for App.",
"type": "module",
"scripts": {
"dev": "agent-native dev --open",
"build": "agent-native build",
"start": "agent-native start",
"typecheck": "agent-native typecheck",
"action": "agent-native action",
"script": "agent-native script",
"test": "vitest --run --passWithNoTests"
},
"dependencies": {
"@agent-native/core": "0.129.1",
"@agent-native/toolkit": "^0.10.11",
"@anthropic-ai/claude-agent-sdk": "^0.3.220",
"@fontsource-variable/inter": "^5.2.8",
"@libsql/client": "^0.15.8",
"@react-router/dev": "8.1.0",
"@react-router/fs-routes": "8.1.0",
"@tabler/icons-react": "^3.41.1",
"h3": "^2.0.1-rc.20",
"isbot": "^5",
"node-pty": "^1.1.0",
"postgres": "^3.4.9",
"react-router": "8.1.0",
"vite": "8.1.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-aspect-ratio": "^1.1.8",
"@radix-ui/react-avatar": "^1.1.11",
"@radix-ui/react-checkbox": "^1.3.2",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-context-menu": "^2.2.16",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-menubar": "^1.1.16",
"@radix-ui/react-navigation-menu": "^1.2.14",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.8",
"@radix-ui/react-radio-group": "^1.3.7",
"@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.5",
"@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toast": "^1.2.15",
"@radix-ui/react-toggle": "^1.1.10",
"@radix-ui/react-toggle-group": "^1.1.11",
"@radix-ui/react-tooltip": "^1.2.7",
"@tailwindcss/typography": "^0.5.20",
"@tailwindcss/vite": "^4.2.4",
"@tanstack/react-query": "^5.99.2",
"@types/node": "^24.2.1",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@xterm/addon-fit": "^0.11.0",
"@xterm/addon-web-links": "^0.12.0",
"@xterm/xterm": "^6.0.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"embla-carousel-react": "^8.6.0",
"input-otp": "^1.4.2",
"next-themes": "^0.4.6",
"oxfmt": "0.56.0",
"react": "^19.2.7",
"react-day-picker": "^9.14.0",
"react-dom": "^19.2.7",
"react-hook-form": "^7.71.2",
"react-resizable-panels": "^4.10.0",
"recharts": "^3.8.1",
"sonner": "^2.0.7",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.4",
"tsx": "^4.20.3",
"typescript-7": "npm:typescript@^7.0.2",
"vaul": "^1.1.2",
"vitest": "^4.1.5"
},
"engines": {
"node": ">=22.22.0"
},
"agent-native": {
"scaffold": {
"template": "chat",
"frameworkSkills": "default",
"templateRef": "@agent-native/core@0.129.1",
"templateSource": "bundled",
"coreVersion": "0.129.1",
"shape": "standalone"
}
},
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3",
"esbuild",
"node-pty"
]
}
}