@shaferllc/keel 0.66.0 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/AGENTS.md +167 -0
  2. package/README.md +30 -1
  3. package/bin/keel-mcp.mjs +9 -0
  4. package/dist/core/application.d.ts +5 -5
  5. package/dist/core/application.js +2 -2
  6. package/dist/core/cache.d.ts +82 -5
  7. package/dist/core/cache.js +181 -23
  8. package/dist/core/cli/stubs.d.ts +12 -0
  9. package/dist/core/cli/stubs.js +120 -0
  10. package/dist/core/events.d.ts +129 -5
  11. package/dist/core/events.js +165 -7
  12. package/dist/core/health.d.ts +141 -0
  13. package/dist/core/health.js +226 -0
  14. package/dist/core/helpers.d.ts +9 -3
  15. package/dist/core/helpers.js +11 -3
  16. package/dist/core/index.d.ts +15 -10
  17. package/dist/core/index.js +7 -4
  18. package/dist/core/lock.d.ts +139 -0
  19. package/dist/core/lock.js +215 -0
  20. package/dist/core/logger.d.ts +82 -4
  21. package/dist/core/logger.js +141 -23
  22. package/dist/core/mail.d.ts +128 -7
  23. package/dist/core/mail.js +264 -16
  24. package/dist/core/queue.d.ts +134 -9
  25. package/dist/core/queue.js +304 -14
  26. package/dist/core/storage.d.ts +159 -6
  27. package/dist/core/storage.js +287 -7
  28. package/dist/mcp/server.d.ts +19 -0
  29. package/dist/mcp/server.js +355 -0
  30. package/docs/ai-manifest.json +2472 -0
  31. package/docs/ai.md +128 -0
  32. package/docs/architecture.md +331 -0
  33. package/docs/authentication.md +453 -0
  34. package/docs/authorization.md +167 -0
  35. package/docs/broadcasting.md +137 -0
  36. package/docs/broker.md +500 -0
  37. package/docs/cache.md +558 -0
  38. package/docs/configuration.md +311 -0
  39. package/docs/console.md +356 -0
  40. package/docs/container.md +467 -0
  41. package/docs/controllers.md +265 -0
  42. package/docs/cors.md +51 -0
  43. package/docs/database.md +530 -0
  44. package/docs/debugging.md +129 -0
  45. package/docs/decorators.md +127 -0
  46. package/docs/errors.md +395 -0
  47. package/docs/events.md +496 -0
  48. package/docs/examples/architecture-app.ts +27 -0
  49. package/docs/examples/authentication.ts +61 -0
  50. package/docs/examples/authorization.ts +79 -0
  51. package/docs/examples/broadcasting.ts +60 -0
  52. package/docs/examples/broker-cache-validate.ts +34 -0
  53. package/docs/examples/broker-fault-tolerance.ts +29 -0
  54. package/docs/examples/broker-middleware.ts +27 -0
  55. package/docs/examples/broker.ts +203 -0
  56. package/docs/examples/cache.ts +222 -0
  57. package/docs/examples/configuration.ts +81 -0
  58. package/docs/examples/container.ts +134 -0
  59. package/docs/examples/controllers.ts +86 -0
  60. package/docs/examples/database.ts +118 -0
  61. package/docs/examples/debugging.ts +41 -0
  62. package/docs/examples/decorators.ts +40 -0
  63. package/docs/examples/errors.ts +121 -0
  64. package/docs/examples/events.ts +204 -0
  65. package/docs/examples/factories.ts +84 -0
  66. package/docs/examples/hashing.ts +71 -0
  67. package/docs/examples/health.ts +94 -0
  68. package/docs/examples/helpers.ts +171 -0
  69. package/docs/examples/hooks.ts +54 -0
  70. package/docs/examples/inertia.ts +81 -0
  71. package/docs/examples/locks.ts +120 -0
  72. package/docs/examples/logger.ts +92 -0
  73. package/docs/examples/mail.ts +160 -0
  74. package/docs/examples/middleware.ts +119 -0
  75. package/docs/examples/migrations.ts +126 -0
  76. package/docs/examples/models.ts +239 -0
  77. package/docs/examples/notification.ts +124 -0
  78. package/docs/examples/providers.ts +123 -0
  79. package/docs/examples/queues.ts +254 -0
  80. package/docs/examples/rate-limiting.ts +42 -0
  81. package/docs/examples/redis.ts +99 -0
  82. package/docs/examples/request-response.ts +197 -0
  83. package/docs/examples/routing.ts +186 -0
  84. package/docs/examples/scheduling.ts +62 -0
  85. package/docs/examples/sessions.ts +102 -0
  86. package/docs/examples/static-files.ts +63 -0
  87. package/docs/examples/storage.ts +132 -0
  88. package/docs/examples/templates.ts +58 -0
  89. package/docs/examples/testing.ts +66 -0
  90. package/docs/examples/transformer.ts +141 -0
  91. package/docs/examples/transformers.ts +49 -0
  92. package/docs/examples/url-builder.ts +86 -0
  93. package/docs/examples/validation.ts +102 -0
  94. package/docs/examples/views.tsx +62 -0
  95. package/docs/examples/vite.ts +106 -0
  96. package/docs/factories.md +166 -0
  97. package/docs/getting-started.md +290 -0
  98. package/docs/hashing.md +259 -0
  99. package/docs/health.md +225 -0
  100. package/docs/helpers.md +347 -0
  101. package/docs/hono.md +186 -0
  102. package/docs/hooks.md +118 -0
  103. package/docs/inertia.md +241 -0
  104. package/docs/locks.md +323 -0
  105. package/docs/logger.md +290 -0
  106. package/docs/mail.md +678 -0
  107. package/docs/middleware.md +425 -0
  108. package/docs/migrations.md +476 -0
  109. package/docs/models.md +810 -0
  110. package/docs/notifications.md +474 -0
  111. package/docs/providers.md +363 -0
  112. package/docs/queues.md +679 -0
  113. package/docs/rate-limiting.md +155 -0
  114. package/docs/redis.md +178 -0
  115. package/docs/request-response.md +953 -0
  116. package/docs/routing.md +804 -0
  117. package/docs/scheduling.md +110 -0
  118. package/docs/security.md +85 -0
  119. package/docs/sessions.md +354 -0
  120. package/docs/social-auth.md +174 -0
  121. package/docs/static-files.md +211 -0
  122. package/docs/storage.md +450 -0
  123. package/docs/templates.md +315 -0
  124. package/docs/testing.md +125 -0
  125. package/docs/transformers.md +381 -0
  126. package/docs/url-builder.md +295 -0
  127. package/docs/validation.md +288 -0
  128. package/docs/views.md +267 -0
  129. package/docs/vite.md +434 -0
  130. package/llms-full.txt +17694 -0
  131. package/llms.txt +116 -0
  132. package/package.json +26 -7
package/llms.txt ADDED
@@ -0,0 +1,116 @@
1
+ # Keel
2
+
3
+ > The house framework for Node.js — a service container, providers, routing, JSX views, and a code-generating console.
4
+
5
+ Keel is a small, legible MVC framework for Node.js: a real service container,
6
+ service providers, dot-notation config, expressive routing, models, a queue, and
7
+ a code-generating console. Hono powers the HTTP layer; everything above it is Keel's.
8
+ Userland imports everything from `@shaferllc/keel/core`.
9
+
10
+ ## Docs
11
+
12
+ - [Building Keel apps with AI](https://github.com/shaferllc/keel/blob/main/docs/ai.md): Keel is built to be written with an AI agent.
13
+ - [Architecture](https://github.com/shaferllc/keel/blob/main/docs/architecture.md): Keel is small on purpose. This page maps the pieces and traces a request from socket to response. Nothing here is magic — every layer is a short, readable file in src/core/, and this guide is mostly a reading order for it.
14
+ - [Authentication](https://github.com/shaferllc/keel/blob/main/docs/authentication.md): Session-based auth built on the pieces you already have: sessions hold the login, hashing checks passwords.
15
+ - [Authorization](https://github.com/shaferllc/keel/blob/main/docs/authorization.md): Where authentication answers who you are, authorization answers what you're allowed to do.
16
+ - [Broadcasting](https://github.com/shaferllc/keel/blob/main/docs/broadcasting.md): Push events to clients in real time over named channels.
17
+ - [Service Broker](https://github.com/shaferllc/keel/blob/main/docs/broker.md): Structure an application as services that talk to each other by name instead of by import.
18
+ - [Cache](https://github.com/shaferllc/keel/blob/main/docs/cache.md): A small cache with TTLs and the remember pattern.
19
+ - [Configuration](https://github.com/shaferllc/keel/blob/main/docs/configuration.md): Keel loads configuration from two sources: environment variables (.env) and config files (config/.ts).
20
+ - [The Console](https://github.com/shaferllc/keel/blob/main/docs/console.md): Keel ships with a console for running the server and generating code.
21
+ - [The Service Container](https://github.com/shaferllc/keel/blob/main/docs/container.md): The container is the backbone of Keel. Every service — config, the router, controllers, and anything you write — is registered in it and resolved out of it. It is the single registry every service resolves out of.
22
+ - [Controllers](https://github.com/shaferllc/keel/blob/main/docs/controllers.md): Controllers are plain classes in app/Controllers/.
23
+ - [CORS](https://github.com/shaferllc/keel/blob/main/docs/cors.md): Cross-Origin Resource Sharing lets browsers on other origins call your API.
24
+ - [Database](https://github.com/shaferllc/keel/blob/main/docs/database.md): Keel ships a small, driver-agnostic query builder.
25
+ - [Debugging](https://github.com/shaferllc/keel/blob/main/docs/debugging.md): Two helpers for the moments you'd otherwise reach for console.log.
26
+ - [Request Decorators](https://github.com/shaferllc/keel/blob/main/docs/decorators.md): Attach named, computed values to the current request — request.user, request.tenant, request.locale — resolved lazily and memoized for the life of the request.
27
+ - [Errors & Exceptions](https://github.com/shaferllc/keel/blob/main/docs/errors.md): Throw an exception anywhere — a handler, middleware, or a service deep in the container — and Keel's HTTP kernel turns it into the right response.
28
+ - [Events](https://github.com/shaferllc/keel/blob/main/docs/events.md): A tiny event emitter for decoupling — fire an event in one place, handle it in another.
29
+ - [Factories & Seeders](https://github.com/shaferllc/keel/blob/main/docs/factories.md): Populate the database with realistic fixtures for tests and demos.
30
+ - [Getting Started](https://github.com/shaferllc/keel/blob/main/docs/getting-started.md): Keel is a house framework for Node.js — a small, legible MVC layer over Hono.
31
+ - [Hashing & Encryption](https://github.com/shaferllc/keel/blob/main/docs/hashing.md): Password hashing and value encryption, both built on the Web Crypto API — so they run identically on Node and the edge, with no native bindings (no bcrypt to compile).
32
+ - [Health Checks](https://github.com/shaferllc/keel/blob/main/docs/health.md): Two endpoints, answering the two questions an orchestrator — Kubernetes, Fly, Railway, a load balancer — actually asks:
33
+ - [Helpers](https://github.com/shaferllc/keel/blob/main/docs/helpers.md): Keel gives you a handful of global helper functions so you can reach the running application from anywhere — a route handler, a model, a plain function — without threading a container reference through every call.
34
+ - [Built on Hono](https://github.com/shaferllc/keel/blob/main/docs/hono.md): Keel's HTTP layer is Hono — an ultrafast, web-standard router that runs on Node, Cloudflare Workers, Deno, Bun, and more.
35
+ - [Lifecycle Hooks](https://github.com/shaferllc/keel/blob/main/docs/hooks.md): Tap into the application lifecycle — run code once the app is ready, clean up on shutdown, and observe route registration.
36
+ - [Inertia](https://github.com/shaferllc/keel/blob/main/docs/inertia.md): Keel ships a server-side Inertia.js adapter.
37
+ - [Locks](https://github.com/shaferllc/keel/blob/main/docs/locks.md): "Only one of you may do this at a time" — across processes, across nodes.
38
+ - [Logger](https://github.com/shaferllc/keel/blob/main/docs/logger.md): A small leveled logger. It writes structured JSON by default — one line per event, ready for log aggregators — and pretty single-line output in debug. Reach it with the global logger() helper.
39
+ - [Mail](https://github.com/shaferllc/keel/blob/main/docs/mail.md): Send email through a pluggable transport. Compose a message with a fluent builder and dispatch it — the API mirrors the database layer (setMailer / mail() are to mail what setConnection / db() are to the database). The core imports no SDK: the built-in transports use fetch, console, or memory, so it runs on Node and the edge.
40
+ - [Middleware](https://github.com/shaferllc/keel/blob/main/docs/middleware.md): Middleware wraps every request, running code before and after your route handler.
41
+ - [Migrations](https://github.com/shaferllc/keel/blob/main/docs/migrations.md): Version your database schema. A migration is a { name, up, down } object; a fluent schema builder describes tables, and the migrator runs them against your connection, tracking what's applied. The SQL is dialect-aware (sqlite / mysql / postgres) and the core imports no driver.
42
+ - [Models](https://github.com/shaferllc/keel/blob/main/docs/models.md): Model is a tiny active-record layer over the query builder.
43
+ - [Notifications](https://github.com/shaferllc/keel/blob/main/docs/notifications.md): Send a message to a recipient over one or more channels — mail, database, or your own — inline or through the queue.
44
+ - [Service Providers](https://github.com/shaferllc/keel/blob/main/docs/providers.md): Service providers are the central place to configure your application.
45
+ - [Queues & Jobs](https://github.com/shaferllc/keel/blob/main/docs/queues.md): Move slow work — sending mail, calling an API, processing an upload — off the request path.
46
+ - [Rate Limiting](https://github.com/shaferllc/keel/blob/main/docs/rate-limiting.md): rateLimiter() is a middleware that caps how many requests a client can make in a window.
47
+ - [Redis](https://github.com/shaferllc/keel/blob/main/docs/redis.md): A Redis integration built on a small pluggable driver — like the database and mail layers, the core imports no client, so it runs on Node and on the edge.
48
+ - [Request & Response](https://github.com/shaferllc/keel/blob/main/docs/request-response.md): Beyond the terse param() / json() shortcuts, the request and response accessors give you the full input/output surface — no context threading.
49
+ - [Routing](https://github.com/shaferllc/keel/blob/main/docs/routing.md): Routes live in routes/web.ts. The default export receives the Router and registers routes on it. The HTTP kernel later compiles them onto Hono.
50
+ - [Task Scheduling](https://github.com/shaferllc/keel/blob/main/docs/scheduling.md): Declare recurring work with a fluent cadence, then let a single cron trigger drive it — a code-defined scheduler, edge-first.
51
+ - [Securing SSR apps](https://github.com/shaferllc/keel/blob/main/docs/security.md): Two middlewares harden server-rendered apps: securityHeaders() sets the defensive HTTP headers browsers act on, and csrf() blocks cross-site form submissions.
52
+ - [Sessions](https://github.com/shaferllc/keel/blob/main/docs/sessions.md): Keel ships a cookie-backed session store. There's no external service to run, so it works the same on Node and on the edge. Session data lives in an HTTP-only cookie: the middleware reads it before your handler runs and writes it back afterward.
53
+ - [Social authentication](https://github.com/shaferllc/keel/blob/main/docs/social-auth.md): "Sign in with GitHub / Google / Discord" — OAuth 2.0, without an SDK.
54
+ - [Static Files](https://github.com/shaferllc/keel/blob/main/docs/static-files.md): serveStatic() serves files from a directory (default public/) before your routes run.
55
+ - [Storage](https://github.com/shaferllc/keel/blob/main/docs/storage.md): File storage over a pluggable disk — like the database and mail layers, the core imports no filesystem or SDK, so it runs on Node and the edge.
56
+ - [Templates](https://github.com/shaferllc/keel/blob/main/docs/templates.md): A string templating engine in the spirit of AdonisJS Edge — {{ }} interpolation and @-prefixed tags for logic, includes, layouts, and components.
57
+ - [Testing](https://github.com/shaferllc/keel/blob/main/docs/testing.md): Test your app by injecting requests — no server, no port, no network — and asserting on the response.
58
+ - [Transformers](https://github.com/shaferllc/keel/blob/main/docs/transformers.md): A model knows the database; a transformer knows the API.
59
+ - [URL Builder](https://github.com/shaferllc/keel/blob/main/docs/url-builder.md): Generate URLs from named routes so paths live in one place.
60
+ - [Validation](https://github.com/shaferllc/keel/blob/main/docs/validation.md): validate() parses request input against a schema and returns typed data.
61
+ - [Views](https://github.com/shaferllc/keel/blob/main/docs/views.md): Keel renders HTML with Hono JSX — type-safe components that run identically on Node and on Cloudflare Workers (no filesystem templating, so it ports anywhere).
62
+ - [Vite](https://github.com/shaferllc/keel/blob/main/docs/vite.md): Wire a modern frontend build — bundling, hashed filenames, hot module reload — to Keel's server-rendered HTML, the way modern full-stack frameworks do.
63
+
64
+ ## Examples
65
+
66
+ Every topic has a runnable, type-checked example:
67
+
68
+ - [Authentication example](https://github.com/shaferllc/keel/blob/main/docs/examples/authentication.ts)
69
+ - [Authorization example](https://github.com/shaferllc/keel/blob/main/docs/examples/authorization.ts)
70
+ - [Broadcasting example](https://github.com/shaferllc/keel/blob/main/docs/examples/broadcasting.ts)
71
+ - [Service Broker example](https://github.com/shaferllc/keel/blob/main/docs/examples/broker.ts)
72
+ - [Cache example](https://github.com/shaferllc/keel/blob/main/docs/examples/cache.ts)
73
+ - [Configuration example](https://github.com/shaferllc/keel/blob/main/docs/examples/configuration.ts)
74
+ - [The Service Container example](https://github.com/shaferllc/keel/blob/main/docs/examples/container.ts)
75
+ - [Controllers example](https://github.com/shaferllc/keel/blob/main/docs/examples/controllers.ts)
76
+ - [Database example](https://github.com/shaferllc/keel/blob/main/docs/examples/database.ts)
77
+ - [Debugging example](https://github.com/shaferllc/keel/blob/main/docs/examples/debugging.ts)
78
+ - [Request Decorators example](https://github.com/shaferllc/keel/blob/main/docs/examples/decorators.ts)
79
+ - [Errors & Exceptions example](https://github.com/shaferllc/keel/blob/main/docs/examples/errors.ts)
80
+ - [Events example](https://github.com/shaferllc/keel/blob/main/docs/examples/events.ts)
81
+ - [Factories & Seeders example](https://github.com/shaferllc/keel/blob/main/docs/examples/factories.ts)
82
+ - [Hashing & Encryption example](https://github.com/shaferllc/keel/blob/main/docs/examples/hashing.ts)
83
+ - [Health Checks example](https://github.com/shaferllc/keel/blob/main/docs/examples/health.ts)
84
+ - [Helpers example](https://github.com/shaferllc/keel/blob/main/docs/examples/helpers.ts)
85
+ - [Lifecycle Hooks example](https://github.com/shaferllc/keel/blob/main/docs/examples/hooks.ts)
86
+ - [Inertia example](https://github.com/shaferllc/keel/blob/main/docs/examples/inertia.ts)
87
+ - [Locks example](https://github.com/shaferllc/keel/blob/main/docs/examples/locks.ts)
88
+ - [Logger example](https://github.com/shaferllc/keel/blob/main/docs/examples/logger.ts)
89
+ - [Mail example](https://github.com/shaferllc/keel/blob/main/docs/examples/mail.ts)
90
+ - [Middleware example](https://github.com/shaferllc/keel/blob/main/docs/examples/middleware.ts)
91
+ - [Migrations example](https://github.com/shaferllc/keel/blob/main/docs/examples/migrations.ts)
92
+ - [Models example](https://github.com/shaferllc/keel/blob/main/docs/examples/models.ts)
93
+ - [Notifications example](https://github.com/shaferllc/keel/blob/main/docs/examples/notification.ts)
94
+ - [Service Providers example](https://github.com/shaferllc/keel/blob/main/docs/examples/providers.ts)
95
+ - [Queues & Jobs example](https://github.com/shaferllc/keel/blob/main/docs/examples/queues.ts)
96
+ - [Rate Limiting example](https://github.com/shaferllc/keel/blob/main/docs/examples/rate-limiting.ts)
97
+ - [Redis example](https://github.com/shaferllc/keel/blob/main/docs/examples/redis.ts)
98
+ - [Request & Response example](https://github.com/shaferllc/keel/blob/main/docs/examples/request-response.ts)
99
+ - [Routing example](https://github.com/shaferllc/keel/blob/main/docs/examples/routing.ts)
100
+ - [Task Scheduling example](https://github.com/shaferllc/keel/blob/main/docs/examples/scheduling.ts)
101
+ - [Sessions example](https://github.com/shaferllc/keel/blob/main/docs/examples/sessions.ts)
102
+ - [Static Files example](https://github.com/shaferllc/keel/blob/main/docs/examples/static-files.ts)
103
+ - [Storage example](https://github.com/shaferllc/keel/blob/main/docs/examples/storage.ts)
104
+ - [Templates example](https://github.com/shaferllc/keel/blob/main/docs/examples/templates.ts)
105
+ - [Testing example](https://github.com/shaferllc/keel/blob/main/docs/examples/testing.ts)
106
+ - [Transformers example](https://github.com/shaferllc/keel/blob/main/docs/examples/transformers.ts)
107
+ - [URL Builder example](https://github.com/shaferllc/keel/blob/main/docs/examples/url-builder.ts)
108
+ - [Validation example](https://github.com/shaferllc/keel/blob/main/docs/examples/validation.ts)
109
+ - [Views example](https://github.com/shaferllc/keel/blob/main/docs/examples/views.tsx)
110
+ - [Vite example](https://github.com/shaferllc/keel/blob/main/docs/examples/vite.ts)
111
+
112
+ ## Optional
113
+
114
+ - [Full text of all docs](https://github.com/shaferllc/keel/blob/main/llms-full.txt): every guide concatenated into one file
115
+ - [AGENTS.md](https://github.com/shaferllc/keel/blob/main/AGENTS.md): conventions and workflow for AI agents editing a Keel app
116
+ - [README](https://github.com/shaferllc/keel/blob/main/README.md): project overview
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shaferllc/keel",
3
- "version": "0.66.0",
3
+ "version": "0.68.0",
4
4
  "type": "module",
5
5
  "description": "The house framework for Node.js — a service container, providers, routing, JSX views, and a code-generating console.",
6
6
  "license": "MIT",
@@ -18,7 +18,11 @@
18
18
  "service-container",
19
19
  "web-framework",
20
20
  "edge",
21
- "cloudflare-workers"
21
+ "cloudflare-workers",
22
+ "mcp",
23
+ "model-context-protocol",
24
+ "ai",
25
+ "llms-txt"
22
26
  ],
23
27
  "exports": {
24
28
  "./core": {
@@ -40,10 +44,22 @@
40
44
  "./db/libsql": {
41
45
  "types": "./dist/db/libsql.d.ts",
42
46
  "import": "./dist/db/libsql.js"
47
+ },
48
+ "./mcp": {
49
+ "types": "./dist/mcp/server.d.ts",
50
+ "import": "./dist/mcp/server.js"
43
51
  }
44
52
  },
53
+ "bin": {
54
+ "keel-mcp": "./bin/keel-mcp.mjs"
55
+ },
45
56
  "files": [
46
- "dist"
57
+ "dist",
58
+ "bin/keel-mcp.mjs",
59
+ "docs",
60
+ "AGENTS.md",
61
+ "llms.txt",
62
+ "llms-full.txt"
47
63
  ],
48
64
  "publishConfig": {
49
65
  "access": "public"
@@ -52,18 +68,22 @@
52
68
  "keel": "tsx bin/keel.ts",
53
69
  "serve": "tsx bin/keel.ts serve",
54
70
  "dev": "tsx watch bin/keel.ts serve",
71
+ "mcp": "tsx bin/keel-mcp.ts",
55
72
  "typecheck": "tsc --noEmit",
56
73
  "typecheck:docs": "npm run build && tsc -p tsconfig.docs.json",
57
74
  "test": "node --import tsx --test tests/*.test.ts",
58
75
  "test:coverage": "node --import tsx --test --experimental-test-coverage --test-coverage-exclude='tests/**' tests/*.test.ts",
59
- "build": "rm -rf dist && tsc -p tsconfig.build.json",
76
+ "build:ai": "tsx scripts/build-ai.ts",
77
+ "build": "npm run build:ai && rm -rf dist && tsc -p tsconfig.build.json",
60
78
  "dev:client": "vite",
61
79
  "build:client": "vite build",
62
80
  "prepare": "npm run build"
63
81
  },
64
82
  "dependencies": {
83
+ "@modelcontextprotocol/sdk": "^1.29.0",
65
84
  "dotenv": "^16.4.7",
66
- "hono": "^4.6.14"
85
+ "hono": "^4.6.14",
86
+ "zod": "^4.4.3"
67
87
  },
68
88
  "peerDependencies": {
69
89
  "vite": "^5 || ^6 || ^7"
@@ -79,7 +99,6 @@
79
99
  "commander": "^12.1.0",
80
100
  "tsx": "^4.19.2",
81
101
  "typescript": "^5.7.2",
82
- "vite": "^6.4.3",
83
- "zod": "^4.4.3"
102
+ "vite": "^6.4.3"
84
103
  }
85
104
  }