alepha 0.15.0 → 0.15.2

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 (551) hide show
  1. package/README.md +43 -98
  2. package/dist/api/audits/index.d.ts +630 -653
  3. package/dist/api/audits/index.d.ts.map +1 -1
  4. package/dist/api/audits/index.js +12 -35
  5. package/dist/api/audits/index.js.map +1 -1
  6. package/dist/api/files/index.d.ts +365 -358
  7. package/dist/api/files/index.d.ts.map +1 -1
  8. package/dist/api/files/index.js +12 -5
  9. package/dist/api/files/index.js.map +1 -1
  10. package/dist/api/jobs/index.d.ts +255 -248
  11. package/dist/api/jobs/index.d.ts.map +1 -1
  12. package/dist/api/jobs/index.js +10 -3
  13. package/dist/api/jobs/index.js.map +1 -1
  14. package/dist/api/keys/index.d.ts +413 -0
  15. package/dist/api/keys/index.d.ts.map +1 -0
  16. package/dist/api/keys/index.js +476 -0
  17. package/dist/api/keys/index.js.map +1 -0
  18. package/dist/api/notifications/index.browser.js +4 -4
  19. package/dist/api/notifications/index.browser.js.map +1 -1
  20. package/dist/api/notifications/index.d.ts +84 -78
  21. package/dist/api/notifications/index.d.ts.map +1 -1
  22. package/dist/api/notifications/index.js +14 -8
  23. package/dist/api/notifications/index.js.map +1 -1
  24. package/dist/api/parameters/index.d.ts +528 -535
  25. package/dist/api/parameters/index.d.ts.map +1 -1
  26. package/dist/api/parameters/index.js +30 -37
  27. package/dist/api/parameters/index.js.map +1 -1
  28. package/dist/api/users/index.d.ts +1221 -910
  29. package/dist/api/users/index.d.ts.map +1 -1
  30. package/dist/api/users/index.js +2556 -248
  31. package/dist/api/users/index.js.map +1 -1
  32. package/dist/api/verifications/index.d.ts +142 -136
  33. package/dist/api/verifications/index.d.ts.map +1 -1
  34. package/dist/api/verifications/index.js +12 -4
  35. package/dist/api/verifications/index.js.map +1 -1
  36. package/dist/batch/index.d.ts +142 -162
  37. package/dist/batch/index.d.ts.map +1 -1
  38. package/dist/batch/index.js +31 -44
  39. package/dist/batch/index.js.map +1 -1
  40. package/dist/bucket/index.d.ts +595 -171
  41. package/dist/bucket/index.d.ts.map +1 -1
  42. package/dist/bucket/index.js +1856 -12
  43. package/dist/bucket/index.js.map +1 -1
  44. package/dist/cache/core/index.d.ts +225 -53
  45. package/dist/cache/core/index.d.ts.map +1 -1
  46. package/dist/cache/core/index.js +213 -7
  47. package/dist/cache/core/index.js.map +1 -1
  48. package/dist/cache/redis/index.d.ts +1 -0
  49. package/dist/cache/redis/index.d.ts.map +1 -1
  50. package/dist/cache/redis/index.js +6 -2
  51. package/dist/cache/redis/index.js.map +1 -1
  52. package/dist/cli/index.d.ts +834 -226
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli/index.js +2872 -417
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/command/index.d.ts +458 -310
  57. package/dist/command/index.d.ts.map +1 -1
  58. package/dist/command/index.js +2011 -76
  59. package/dist/command/index.js.map +1 -1
  60. package/dist/core/index.browser.js +309 -97
  61. package/dist/core/index.browser.js.map +1 -1
  62. package/dist/core/index.d.ts +796 -701
  63. package/dist/core/index.d.ts.map +1 -1
  64. package/dist/core/index.js +329 -97
  65. package/dist/core/index.js.map +1 -1
  66. package/dist/core/index.native.js +309 -97
  67. package/dist/core/index.native.js.map +1 -1
  68. package/dist/datetime/index.d.ts +59 -44
  69. package/dist/datetime/index.d.ts.map +1 -1
  70. package/dist/datetime/index.js +15 -0
  71. package/dist/datetime/index.js.map +1 -1
  72. package/dist/email/index.d.ts +314 -19
  73. package/dist/email/index.d.ts.map +1 -1
  74. package/dist/email/index.js +1852 -7
  75. package/dist/email/index.js.map +1 -1
  76. package/dist/fake/index.d.ts +5500 -5418
  77. package/dist/fake/index.d.ts.map +1 -1
  78. package/dist/fake/index.js +113 -42
  79. package/dist/fake/index.js.map +1 -1
  80. package/dist/lock/core/index.d.ts +219 -212
  81. package/dist/lock/core/index.d.ts.map +1 -1
  82. package/dist/lock/core/index.js +11 -4
  83. package/dist/lock/core/index.js.map +1 -1
  84. package/dist/lock/redis/index.d.ts.map +1 -1
  85. package/dist/logger/index.d.ts +41 -90
  86. package/dist/logger/index.d.ts.map +1 -1
  87. package/dist/logger/index.js +15 -68
  88. package/dist/logger/index.js.map +1 -1
  89. package/dist/mcp/index.d.ts +228 -230
  90. package/dist/mcp/index.d.ts.map +1 -1
  91. package/dist/mcp/index.js +32 -31
  92. package/dist/mcp/index.js.map +1 -1
  93. package/dist/orm/index.browser.js +12 -12
  94. package/dist/orm/index.browser.js.map +1 -1
  95. package/dist/orm/index.bun.js +90 -80
  96. package/dist/orm/index.bun.js.map +1 -1
  97. package/dist/orm/index.d.ts +1434 -1459
  98. package/dist/orm/index.d.ts.map +1 -1
  99. package/dist/orm/index.js +112 -130
  100. package/dist/orm/index.js.map +1 -1
  101. package/dist/queue/core/index.d.ts +262 -254
  102. package/dist/queue/core/index.d.ts.map +1 -1
  103. package/dist/queue/core/index.js +14 -6
  104. package/dist/queue/core/index.js.map +1 -1
  105. package/dist/queue/redis/index.d.ts.map +1 -1
  106. package/dist/react/auth/index.browser.js +108 -0
  107. package/dist/react/auth/index.browser.js.map +1 -0
  108. package/dist/react/auth/index.d.ts +100 -0
  109. package/dist/react/auth/index.d.ts.map +1 -0
  110. package/dist/react/auth/index.js +145 -0
  111. package/dist/react/auth/index.js.map +1 -0
  112. package/dist/react/core/index.d.ts +469 -0
  113. package/dist/react/core/index.d.ts.map +1 -0
  114. package/dist/react/core/index.js +464 -0
  115. package/dist/react/core/index.js.map +1 -0
  116. package/dist/react/form/index.d.ts +232 -0
  117. package/dist/react/form/index.d.ts.map +1 -0
  118. package/dist/react/form/index.js +432 -0
  119. package/dist/react/form/index.js.map +1 -0
  120. package/dist/react/head/index.browser.js +423 -0
  121. package/dist/react/head/index.browser.js.map +1 -0
  122. package/dist/react/head/index.d.ts +288 -0
  123. package/dist/react/head/index.d.ts.map +1 -0
  124. package/dist/react/head/index.js +465 -0
  125. package/dist/react/head/index.js.map +1 -0
  126. package/dist/react/i18n/index.d.ts +175 -0
  127. package/dist/react/i18n/index.d.ts.map +1 -0
  128. package/dist/react/i18n/index.js +224 -0
  129. package/dist/react/i18n/index.js.map +1 -0
  130. package/dist/react/router/index.browser.js +1980 -0
  131. package/dist/react/router/index.browser.js.map +1 -0
  132. package/dist/react/router/index.d.ts +2068 -0
  133. package/dist/react/router/index.d.ts.map +1 -0
  134. package/dist/react/router/index.js +4932 -0
  135. package/dist/react/router/index.js.map +1 -0
  136. package/dist/react/websocket/index.d.ts +117 -0
  137. package/dist/react/websocket/index.d.ts.map +1 -0
  138. package/dist/react/websocket/index.js +107 -0
  139. package/dist/react/websocket/index.js.map +1 -0
  140. package/dist/redis/index.bun.js +4 -0
  141. package/dist/redis/index.bun.js.map +1 -1
  142. package/dist/redis/index.d.ts +127 -130
  143. package/dist/redis/index.d.ts.map +1 -1
  144. package/dist/redis/index.js +16 -25
  145. package/dist/redis/index.js.map +1 -1
  146. package/dist/retry/index.d.ts +80 -71
  147. package/dist/retry/index.d.ts.map +1 -1
  148. package/dist/retry/index.js +11 -2
  149. package/dist/retry/index.js.map +1 -1
  150. package/dist/router/index.d.ts +6 -6
  151. package/dist/router/index.d.ts.map +1 -1
  152. package/dist/scheduler/index.d.ts +119 -28
  153. package/dist/scheduler/index.d.ts.map +1 -1
  154. package/dist/scheduler/index.js +404 -3
  155. package/dist/scheduler/index.js.map +1 -1
  156. package/dist/security/index.d.ts +642 -228
  157. package/dist/security/index.d.ts.map +1 -1
  158. package/dist/security/index.js +1579 -37
  159. package/dist/security/index.js.map +1 -1
  160. package/dist/server/auth/index.d.ts +1141 -111
  161. package/dist/server/auth/index.d.ts.map +1 -1
  162. package/dist/server/auth/index.js +1261 -25
  163. package/dist/server/auth/index.js.map +1 -1
  164. package/dist/server/cache/index.d.ts +63 -78
  165. package/dist/server/cache/index.d.ts.map +1 -1
  166. package/dist/server/cache/index.js +7 -22
  167. package/dist/server/cache/index.js.map +1 -1
  168. package/dist/server/compress/index.d.ts +13 -5
  169. package/dist/server/compress/index.d.ts.map +1 -1
  170. package/dist/server/compress/index.js +10 -2
  171. package/dist/server/compress/index.js.map +1 -1
  172. package/dist/server/cookies/index.d.ts +46 -22
  173. package/dist/server/cookies/index.d.ts.map +1 -1
  174. package/dist/server/cookies/index.js +7 -5
  175. package/dist/server/cookies/index.js.map +1 -1
  176. package/dist/server/core/index.d.ts +307 -196
  177. package/dist/server/core/index.d.ts.map +1 -1
  178. package/dist/server/core/index.js +271 -38
  179. package/dist/server/core/index.js.map +1 -1
  180. package/dist/server/cors/index.d.ts +24 -34
  181. package/dist/server/cors/index.d.ts.map +1 -1
  182. package/dist/server/cors/index.js +7 -21
  183. package/dist/server/cors/index.js.map +1 -1
  184. package/dist/server/health/index.d.ts +25 -19
  185. package/dist/server/health/index.d.ts.map +1 -1
  186. package/dist/server/health/index.js +8 -2
  187. package/dist/server/health/index.js.map +1 -1
  188. package/dist/server/helmet/index.d.ts +13 -5
  189. package/dist/server/helmet/index.d.ts.map +1 -1
  190. package/dist/server/helmet/index.js +11 -3
  191. package/dist/server/helmet/index.js.map +1 -1
  192. package/dist/server/links/index.browser.js +9 -1
  193. package/dist/server/links/index.browser.js.map +1 -1
  194. package/dist/server/links/index.d.ts +133 -128
  195. package/dist/server/links/index.d.ts.map +1 -1
  196. package/dist/server/links/index.js +24 -11
  197. package/dist/server/links/index.js.map +1 -1
  198. package/dist/server/metrics/index.d.ts +524 -4
  199. package/dist/server/metrics/index.d.ts.map +1 -1
  200. package/dist/server/metrics/index.js +4472 -7
  201. package/dist/server/metrics/index.js.map +1 -1
  202. package/dist/server/multipart/index.d.ts +15 -9
  203. package/dist/server/multipart/index.d.ts.map +1 -1
  204. package/dist/server/multipart/index.js +9 -3
  205. package/dist/server/multipart/index.js.map +1 -1
  206. package/dist/server/proxy/index.d.ts +110 -104
  207. package/dist/server/proxy/index.d.ts.map +1 -1
  208. package/dist/server/proxy/index.js +8 -2
  209. package/dist/server/proxy/index.js.map +1 -1
  210. package/dist/server/rate-limit/index.d.ts +46 -51
  211. package/dist/server/rate-limit/index.d.ts.map +1 -1
  212. package/dist/server/rate-limit/index.js +18 -55
  213. package/dist/server/rate-limit/index.js.map +1 -1
  214. package/dist/server/static/index.d.ts +181 -48
  215. package/dist/server/static/index.d.ts.map +1 -1
  216. package/dist/server/static/index.js +1848 -5
  217. package/dist/server/static/index.js.map +1 -1
  218. package/dist/server/swagger/index.d.ts +348 -53
  219. package/dist/server/swagger/index.d.ts.map +1 -1
  220. package/dist/server/swagger/index.js +1849 -6
  221. package/dist/server/swagger/index.js.map +1 -1
  222. package/dist/sms/index.d.ts +312 -18
  223. package/dist/sms/index.d.ts.map +1 -1
  224. package/dist/sms/index.js +1854 -10
  225. package/dist/sms/index.js.map +1 -1
  226. package/dist/system/index.browser.js +496 -0
  227. package/dist/system/index.browser.js.map +1 -0
  228. package/dist/system/index.d.ts +1158 -0
  229. package/dist/system/index.d.ts.map +1 -0
  230. package/dist/{file → system}/index.js +412 -20
  231. package/dist/system/index.js.map +1 -0
  232. package/dist/thread/index.d.ts +82 -73
  233. package/dist/thread/index.d.ts.map +1 -1
  234. package/dist/thread/index.js +13 -4
  235. package/dist/thread/index.js.map +1 -1
  236. package/dist/topic/core/index.d.ts +330 -323
  237. package/dist/topic/core/index.d.ts.map +1 -1
  238. package/dist/topic/core/index.js +12 -5
  239. package/dist/topic/core/index.js.map +1 -1
  240. package/dist/topic/redis/index.d.ts +6 -6
  241. package/dist/topic/redis/index.d.ts.map +1 -1
  242. package/dist/vite/index.d.ts +163 -5825
  243. package/dist/vite/index.d.ts.map +1 -1
  244. package/dist/vite/index.js +130 -477
  245. package/dist/vite/index.js.map +1 -1
  246. package/dist/websocket/index.browser.js +3 -3
  247. package/dist/websocket/index.browser.js.map +1 -1
  248. package/dist/websocket/index.d.ts +287 -283
  249. package/dist/websocket/index.d.ts.map +1 -1
  250. package/dist/websocket/index.js +15 -11
  251. package/dist/websocket/index.js.map +1 -1
  252. package/package.json +86 -17
  253. package/src/api/audits/index.ts +10 -33
  254. package/src/api/files/__tests__/$bucket.spec.ts +1 -1
  255. package/src/api/files/controllers/AdminFileStatsController.spec.ts +1 -1
  256. package/src/api/files/controllers/FileController.spec.ts +1 -1
  257. package/src/api/files/index.ts +10 -3
  258. package/src/api/files/jobs/FileJobs.spec.ts +1 -1
  259. package/src/api/files/services/FileService.spec.ts +1 -1
  260. package/src/api/jobs/index.ts +10 -3
  261. package/src/api/keys/controllers/AdminApiKeyController.ts +75 -0
  262. package/src/api/keys/controllers/ApiKeyController.ts +103 -0
  263. package/src/api/keys/entities/apiKeyEntity.ts +41 -0
  264. package/src/api/keys/index.ts +49 -0
  265. package/src/api/keys/schemas/adminApiKeyQuerySchema.ts +7 -0
  266. package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +17 -0
  267. package/src/api/keys/schemas/createApiKeyBodySchema.ts +7 -0
  268. package/src/api/keys/schemas/createApiKeyResponseSchema.ts +11 -0
  269. package/src/api/keys/schemas/listApiKeyResponseSchema.ts +15 -0
  270. package/src/api/keys/schemas/revokeApiKeyParamsSchema.ts +5 -0
  271. package/src/api/keys/schemas/revokeApiKeyResponseSchema.ts +5 -0
  272. package/src/api/keys/services/ApiKeyService.spec.ts +553 -0
  273. package/src/api/keys/services/ApiKeyService.ts +306 -0
  274. package/src/api/logs/TODO.md +52 -0
  275. package/src/api/notifications/index.ts +10 -4
  276. package/src/api/parameters/index.ts +9 -30
  277. package/src/api/parameters/primitives/$config.ts +12 -4
  278. package/src/api/parameters/services/ConfigStore.ts +9 -3
  279. package/src/api/users/__tests__/ApiKeys-integration.spec.ts +1035 -0
  280. package/src/api/users/__tests__/ApiKeys.spec.ts +401 -0
  281. package/src/api/users/index.ts +14 -3
  282. package/src/api/users/primitives/$realm.ts +33 -5
  283. package/src/api/users/providers/RealmProvider.ts +1 -12
  284. package/src/api/users/services/SessionService.ts +1 -11
  285. package/src/api/verifications/controllers/VerificationController.ts +2 -0
  286. package/src/api/verifications/index.ts +10 -4
  287. package/src/batch/index.ts +9 -36
  288. package/src/batch/primitives/$batch.ts +0 -8
  289. package/src/batch/providers/BatchProvider.ts +29 -2
  290. package/src/bucket/__tests__/shared.ts +1 -1
  291. package/src/bucket/index.ts +13 -6
  292. package/src/bucket/primitives/$bucket.ts +1 -1
  293. package/src/bucket/providers/LocalFileStorageProvider.ts +1 -1
  294. package/src/bucket/providers/MemoryFileStorageProvider.ts +1 -1
  295. package/src/cache/core/__tests__/shared.ts +30 -0
  296. package/src/cache/core/index.ts +11 -6
  297. package/src/cache/core/primitives/$cache.spec.ts +5 -0
  298. package/src/cache/core/providers/CacheProvider.ts +17 -0
  299. package/src/cache/core/providers/MemoryCacheProvider.ts +300 -1
  300. package/src/cache/redis/__tests__/cache-redis.spec.ts +5 -0
  301. package/src/cache/redis/providers/RedisCacheProvider.ts +9 -0
  302. package/src/cli/apps/AlephaCli.ts +3 -16
  303. package/src/cli/apps/AlephaPackageBuilderCli.ts +10 -2
  304. package/src/cli/atoms/appEntryOptions.ts +13 -0
  305. package/src/cli/atoms/buildOptions.ts +1 -1
  306. package/src/cli/atoms/changelogOptions.ts +1 -1
  307. package/src/cli/commands/build.ts +64 -52
  308. package/src/cli/commands/db.ts +17 -11
  309. package/src/cli/commands/deploy.ts +1 -1
  310. package/src/cli/commands/dev.ts +13 -49
  311. package/src/cli/commands/gen/env.ts +6 -3
  312. package/src/cli/commands/gen/openapi.ts +5 -2
  313. package/src/cli/commands/init.spec.ts +544 -0
  314. package/src/cli/commands/init.ts +101 -58
  315. package/src/cli/commands/lint.ts +8 -2
  316. package/src/cli/commands/typecheck.ts +11 -0
  317. package/src/cli/defineConfig.ts +9 -0
  318. package/src/cli/index.ts +2 -1
  319. package/src/cli/providers/AppEntryProvider.ts +131 -0
  320. package/src/cli/providers/ViteBuildProvider.ts +40 -0
  321. package/src/cli/providers/ViteDevServerProvider.ts +378 -0
  322. package/src/cli/services/AlephaCliUtils.ts +39 -93
  323. package/src/cli/services/PackageManagerUtils.ts +140 -17
  324. package/src/cli/services/ProjectScaffolder.ts +169 -101
  325. package/src/cli/services/ViteUtils.ts +82 -0
  326. package/src/cli/{assets/claudeMd.ts → templates/agentMd.ts} +41 -28
  327. package/src/cli/{assets → templates}/apiHelloControllerTs.ts +2 -1
  328. package/src/cli/{assets → templates}/biomeJson.ts +2 -1
  329. package/src/cli/{assets → templates}/dummySpecTs.ts +2 -1
  330. package/src/cli/{assets → templates}/editorconfig.ts +2 -1
  331. package/src/cli/templates/gitignore.ts +39 -0
  332. package/src/cli/{assets → templates}/mainBrowserTs.ts +2 -1
  333. package/src/cli/templates/mainCss.ts +33 -0
  334. package/src/cli/templates/mainServerTs.ts +33 -0
  335. package/src/cli/{assets → templates}/tsconfigJson.ts +2 -1
  336. package/src/cli/templates/webAppRouterTs.ts +50 -0
  337. package/src/cli/templates/webHelloComponentTsx.ts +20 -0
  338. package/src/command/helpers/Runner.spec.ts +4 -0
  339. package/src/command/helpers/Runner.ts +3 -21
  340. package/src/command/index.ts +12 -4
  341. package/src/command/providers/CliProvider.spec.ts +1067 -0
  342. package/src/command/providers/CliProvider.ts +203 -40
  343. package/src/core/Alepha.ts +3 -9
  344. package/src/core/__tests__/Alepha-start.spec.ts +4 -4
  345. package/src/core/helpers/jsonSchemaToTypeBox.spec.ts +771 -0
  346. package/src/core/helpers/jsonSchemaToTypeBox.ts +62 -10
  347. package/src/core/index.shared.ts +1 -0
  348. package/src/core/index.ts +20 -0
  349. package/src/core/primitives/$module.ts +12 -0
  350. package/src/core/providers/EventManager.spec.ts +0 -71
  351. package/src/core/providers/EventManager.ts +3 -15
  352. package/src/core/providers/Json.ts +2 -14
  353. package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +257 -0
  354. package/src/core/providers/KeylessJsonSchemaCodec.ts +396 -14
  355. package/src/core/providers/SchemaValidator.spec.ts +236 -0
  356. package/src/datetime/index.ts +15 -0
  357. package/src/email/index.ts +10 -5
  358. package/src/email/providers/LocalEmailProvider.spec.ts +1 -1
  359. package/src/email/providers/LocalEmailProvider.ts +1 -1
  360. package/src/fake/__tests__/keyName.example.ts +1 -1
  361. package/src/fake/__tests__/keyName.spec.ts +5 -5
  362. package/src/fake/index.ts +9 -6
  363. package/src/fake/providers/FakeProvider.spec.ts +258 -40
  364. package/src/fake/providers/FakeProvider.ts +133 -19
  365. package/src/lock/core/index.ts +11 -4
  366. package/src/logger/index.ts +17 -66
  367. package/src/logger/providers/PrettyFormatterProvider.ts +0 -9
  368. package/src/mcp/errors/McpError.ts +30 -0
  369. package/src/mcp/index.ts +13 -27
  370. package/src/mcp/transports/SseMcpTransport.ts +6 -7
  371. package/src/orm/__tests__/PostgresProvider.spec.ts +2 -2
  372. package/src/orm/index.browser.ts +2 -2
  373. package/src/orm/index.bun.ts +4 -2
  374. package/src/orm/index.ts +21 -47
  375. package/src/orm/providers/DrizzleKitProvider.ts +3 -5
  376. package/src/orm/providers/drivers/BunSqliteProvider.ts +1 -0
  377. package/src/orm/services/Repository.ts +18 -3
  378. package/src/queue/core/index.ts +14 -6
  379. package/src/react/auth/__tests__/$auth.spec.ts +202 -0
  380. package/src/react/auth/hooks/useAuth.ts +32 -0
  381. package/src/react/auth/index.browser.ts +13 -0
  382. package/src/react/auth/index.shared.ts +2 -0
  383. package/src/react/auth/index.ts +48 -0
  384. package/src/react/auth/providers/ReactAuthProvider.ts +16 -0
  385. package/src/react/auth/services/ReactAuth.ts +135 -0
  386. package/src/react/core/__tests__/Router.spec.tsx +169 -0
  387. package/src/react/core/components/ClientOnly.tsx +49 -0
  388. package/src/react/core/components/ErrorBoundary.tsx +73 -0
  389. package/src/react/core/contexts/AlephaContext.ts +7 -0
  390. package/src/react/core/contexts/AlephaProvider.tsx +42 -0
  391. package/src/react/core/hooks/useAction.browser.spec.tsx +569 -0
  392. package/src/react/core/hooks/useAction.ts +480 -0
  393. package/src/react/core/hooks/useAlepha.ts +26 -0
  394. package/src/react/core/hooks/useClient.ts +17 -0
  395. package/src/react/core/hooks/useEvents.ts +51 -0
  396. package/src/react/core/hooks/useInject.ts +12 -0
  397. package/src/react/core/hooks/useStore.ts +52 -0
  398. package/src/react/core/index.ts +90 -0
  399. package/src/react/form/components/FormState.tsx +17 -0
  400. package/src/react/form/errors/FormValidationError.ts +18 -0
  401. package/src/react/form/hooks/useForm.browser.spec.tsx +366 -0
  402. package/src/react/form/hooks/useForm.ts +47 -0
  403. package/src/react/form/hooks/useFormState.ts +130 -0
  404. package/src/react/form/index.ts +44 -0
  405. package/src/react/form/services/FormModel.ts +614 -0
  406. package/src/react/head/helpers/SeoExpander.spec.ts +203 -0
  407. package/src/react/head/helpers/SeoExpander.ts +142 -0
  408. package/src/react/head/hooks/useHead.spec.tsx +288 -0
  409. package/src/react/head/hooks/useHead.ts +62 -0
  410. package/src/react/head/index.browser.ts +26 -0
  411. package/src/react/head/index.ts +44 -0
  412. package/src/react/head/interfaces/Head.ts +105 -0
  413. package/src/react/head/primitives/$head.ts +25 -0
  414. package/src/react/head/providers/BrowserHeadProvider.browser.spec.ts +196 -0
  415. package/src/react/head/providers/BrowserHeadProvider.ts +212 -0
  416. package/src/react/head/providers/HeadProvider.ts +168 -0
  417. package/src/react/head/providers/ServerHeadProvider.ts +31 -0
  418. package/src/react/i18n/__tests__/integration.spec.tsx +239 -0
  419. package/src/react/i18n/components/Localize.spec.tsx +357 -0
  420. package/src/react/i18n/components/Localize.tsx +35 -0
  421. package/src/react/i18n/hooks/useI18n.browser.spec.tsx +438 -0
  422. package/src/react/i18n/hooks/useI18n.ts +18 -0
  423. package/src/react/i18n/index.ts +41 -0
  424. package/src/react/i18n/primitives/$dictionary.ts +69 -0
  425. package/src/react/i18n/providers/I18nProvider.spec.ts +389 -0
  426. package/src/react/i18n/providers/I18nProvider.ts +278 -0
  427. package/src/react/router/__tests__/page-head-browser.browser.spec.ts +95 -0
  428. package/src/react/router/__tests__/page-head.spec.ts +48 -0
  429. package/src/react/router/__tests__/seo-head.spec.ts +125 -0
  430. package/src/react/router/atoms/ssrManifestAtom.ts +58 -0
  431. package/src/react/router/components/ErrorViewer.tsx +872 -0
  432. package/src/react/router/components/Link.tsx +23 -0
  433. package/src/react/router/components/NestedView.tsx +223 -0
  434. package/src/react/router/components/NotFound.tsx +30 -0
  435. package/src/react/router/constants/PAGE_PRELOAD_KEY.ts +6 -0
  436. package/src/react/router/contexts/RouterLayerContext.ts +12 -0
  437. package/src/react/router/errors/Redirection.ts +28 -0
  438. package/src/react/router/hooks/useActive.ts +52 -0
  439. package/src/react/router/hooks/useQueryParams.ts +63 -0
  440. package/src/react/router/hooks/useRouter.ts +20 -0
  441. package/src/react/router/hooks/useRouterState.ts +11 -0
  442. package/src/react/router/index.browser.ts +45 -0
  443. package/src/react/router/index.shared.ts +19 -0
  444. package/src/react/router/index.ts +142 -0
  445. package/src/react/router/primitives/$page.browser.spec.tsx +851 -0
  446. package/src/react/router/primitives/$page.spec.tsx +708 -0
  447. package/src/react/router/primitives/$page.ts +497 -0
  448. package/src/react/router/providers/ReactBrowserProvider.ts +309 -0
  449. package/src/react/router/providers/ReactBrowserRendererProvider.ts +25 -0
  450. package/src/react/router/providers/ReactBrowserRouterProvider.ts +168 -0
  451. package/src/react/router/providers/ReactPageProvider.ts +726 -0
  452. package/src/react/router/providers/ReactServerProvider.spec.tsx +316 -0
  453. package/src/react/router/providers/ReactServerProvider.ts +558 -0
  454. package/src/react/router/providers/ReactServerTemplateProvider.ts +979 -0
  455. package/src/react/router/providers/SSRManifestProvider.ts +334 -0
  456. package/src/react/router/services/ReactPageServerService.ts +48 -0
  457. package/src/react/router/services/ReactPageService.ts +27 -0
  458. package/src/react/router/services/ReactRouter.ts +262 -0
  459. package/src/react/websocket/hooks/useRoom.tsx +242 -0
  460. package/src/react/websocket/index.ts +7 -0
  461. package/src/redis/__tests__/redis.spec.ts +13 -0
  462. package/src/redis/index.ts +9 -25
  463. package/src/redis/providers/BunRedisProvider.ts +9 -0
  464. package/src/redis/providers/NodeRedisProvider.ts +8 -0
  465. package/src/redis/providers/RedisProvider.ts +16 -0
  466. package/src/retry/index.ts +11 -2
  467. package/src/router/index.ts +15 -0
  468. package/src/scheduler/index.ts +11 -2
  469. package/src/security/__tests__/BasicAuth.spec.ts +2 -0
  470. package/src/security/__tests__/ServerSecurityProvider.spec.ts +13 -5
  471. package/src/security/index.ts +15 -10
  472. package/src/security/interfaces/IssuerResolver.ts +27 -0
  473. package/src/security/primitives/$issuer.ts +55 -0
  474. package/src/security/providers/SecurityProvider.ts +179 -0
  475. package/src/security/providers/ServerBasicAuthProvider.ts +6 -2
  476. package/src/security/providers/ServerSecurityProvider.ts +36 -22
  477. package/src/server/auth/index.ts +12 -7
  478. package/src/server/cache/index.ts +7 -22
  479. package/src/server/compress/index.ts +10 -2
  480. package/src/server/cookies/index.ts +7 -5
  481. package/src/server/cookies/primitives/$cookie.ts +33 -11
  482. package/src/server/core/index.ts +17 -7
  483. package/src/server/core/interfaces/ServerRequest.ts +83 -1
  484. package/src/server/core/primitives/$action.spec.ts +1 -1
  485. package/src/server/core/primitives/$action.ts +8 -3
  486. package/src/server/core/providers/BunHttpServerProvider.ts +1 -1
  487. package/src/server/core/providers/NodeHttpServerProvider.spec.ts +125 -0
  488. package/src/server/core/providers/NodeHttpServerProvider.ts +77 -22
  489. package/src/server/core/providers/ServerLoggerProvider.ts +2 -2
  490. package/src/server/core/providers/ServerProvider.ts +9 -12
  491. package/src/server/core/services/ServerRequestParser.spec.ts +520 -0
  492. package/src/server/core/services/ServerRequestParser.ts +306 -13
  493. package/src/server/cors/index.ts +7 -21
  494. package/src/server/cors/primitives/$cors.ts +6 -2
  495. package/src/server/health/index.ts +8 -2
  496. package/src/server/helmet/index.ts +11 -3
  497. package/src/server/links/atoms/apiLinksAtom.ts +7 -0
  498. package/src/server/links/index.browser.ts +2 -0
  499. package/src/server/links/index.ts +13 -6
  500. package/src/server/metrics/index.ts +10 -3
  501. package/src/server/multipart/index.ts +9 -3
  502. package/src/server/proxy/index.ts +8 -2
  503. package/src/server/rate-limit/index.ts +21 -25
  504. package/src/server/rate-limit/primitives/$rateLimit.ts +6 -2
  505. package/src/server/rate-limit/providers/ServerRateLimitProvider.spec.ts +38 -14
  506. package/src/server/rate-limit/providers/ServerRateLimitProvider.ts +22 -56
  507. package/src/server/static/index.ts +8 -2
  508. package/src/server/static/providers/ServerStaticProvider.ts +1 -1
  509. package/src/server/swagger/index.ts +9 -4
  510. package/src/server/swagger/providers/ServerSwaggerProvider.ts +1 -1
  511. package/src/sms/index.ts +9 -5
  512. package/src/sms/providers/LocalSmsProvider.spec.ts +1 -1
  513. package/src/sms/providers/LocalSmsProvider.ts +1 -1
  514. package/src/system/index.browser.ts +11 -0
  515. package/src/system/index.ts +62 -0
  516. package/src/{file → system}/providers/FileSystemProvider.ts +16 -0
  517. package/src/{file → system}/providers/MemoryFileSystemProvider.ts +116 -3
  518. package/src/system/providers/MemoryShellProvider.ts +164 -0
  519. package/src/{file → system}/providers/NodeFileSystemProvider.spec.ts +2 -2
  520. package/src/{file → system}/providers/NodeFileSystemProvider.ts +36 -0
  521. package/src/system/providers/NodeShellProvider.ts +184 -0
  522. package/src/system/providers/ShellProvider.ts +74 -0
  523. package/src/{file → system}/services/FileDetector.spec.ts +2 -2
  524. package/src/thread/index.ts +11 -2
  525. package/src/topic/core/index.ts +12 -5
  526. package/src/vite/index.ts +3 -2
  527. package/src/vite/tasks/buildClient.ts +2 -8
  528. package/src/vite/tasks/buildServer.ts +84 -21
  529. package/src/vite/tasks/copyAssets.ts +5 -4
  530. package/src/vite/tasks/generateSitemap.ts +64 -23
  531. package/src/vite/tasks/index.ts +0 -2
  532. package/src/vite/tasks/prerenderPages.ts +49 -24
  533. package/src/websocket/index.ts +12 -8
  534. package/dist/file/index.d.ts +0 -839
  535. package/dist/file/index.d.ts.map +0 -1
  536. package/dist/file/index.js.map +0 -1
  537. package/src/cli/assets/indexHtml.ts +0 -15
  538. package/src/cli/assets/mainServerTs.ts +0 -24
  539. package/src/cli/assets/webAppRouterTs.ts +0 -15
  540. package/src/cli/assets/webHelloComponentTsx.ts +0 -16
  541. package/src/cli/commands/format.ts +0 -23
  542. package/src/file/index.ts +0 -43
  543. package/src/vite/helpers/boot.ts +0 -117
  544. package/src/vite/plugins/viteAlephaDev.ts +0 -177
  545. package/src/vite/tasks/devServer.ts +0 -71
  546. package/src/vite/tasks/runAlepha.ts +0 -270
  547. /package/dist/orm/{chunk-DtkW-qnP.js → chunk-DH6iiROE.js} +0 -0
  548. /package/src/cli/{assets → templates}/apiIndexTs.ts +0 -0
  549. /package/src/cli/{assets → templates}/webIndexTs.ts +0 -0
  550. /package/src/{file → system}/errors/FileError.ts +0 -0
  551. /package/src/{file → system}/services/FileDetector.ts +0 -0
@@ -1,10 +1,17 @@
1
- import * as alepha3 from "alepha";
1
+ import * as alepha1 from "alepha";
2
2
  import { Alepha, AlephaError, Async, KIND, Primitive, Static, TObject, TSchema } from "alepha";
3
3
  import * as alepha_logger0 from "alepha/logger";
4
4
  import * as alepha_server0 from "alepha/server";
5
5
  import * as readline from "node:readline";
6
6
 
7
7
  //#region ../../src/mcp/errors/McpError.d.ts
8
+ /**
9
+ * MCP-specific error codes (application-specific codes in the -32000 to -32099 range).
10
+ */
11
+ declare const McpErrorCodes: {
12
+ readonly UNAUTHORIZED: -32001;
13
+ readonly FORBIDDEN: -32003;
14
+ };
8
15
  declare class McpError extends Error {
9
16
  name: string;
10
17
  code: number;
@@ -33,6 +40,14 @@ declare class McpInvalidParamsError extends McpError {
33
40
  name: string;
34
41
  constructor(message: string);
35
42
  }
43
+ declare class McpUnauthorizedError extends McpError {
44
+ name: string;
45
+ constructor(message?: string);
46
+ }
47
+ declare class McpForbiddenError extends McpError {
48
+ name: string;
49
+ constructor(message?: string);
50
+ }
36
51
  //#endregion
37
52
  //#region ../../src/mcp/interfaces/McpTypes.d.ts
38
53
  interface JsonRpcRequest {
@@ -162,13 +177,13 @@ interface ToolPrimitiveSchema {
162
177
  */
163
178
  interface McpContext<T = unknown> {
164
179
  /**
165
- * HTTP headers from the request (for SSE transport).
166
- */
180
+ * HTTP headers from the request (for SSE transport).
181
+ */
167
182
  headers?: Record<string, string | string[] | undefined>;
168
183
  /**
169
- * Custom context data set by transport or middleware.
170
- * Can be used to pass authenticated user, project scope, etc.
171
- */
184
+ * Custom context data set by transport or middleware.
185
+ * Can be used to pass authenticated user, project scope, etc.
186
+ */
172
187
  data?: T;
173
188
  }
174
189
  type ToolHandler<T extends ToolPrimitiveSchema, TContext = unknown> = (args: ToolHandlerArgs<T, TContext>) => Async<ToolHandlerResult<T>>;
@@ -262,84 +277,84 @@ declare const $resource: {
262
277
  };
263
278
  interface ResourcePrimitiveOptions {
264
279
  /**
265
- * The URI that identifies this resource.
266
- *
267
- * URIs should follow a consistent scheme for your application.
268
- * Common patterns:
269
- * - `file:///path/to/file` - File system resources
270
- * - `db://table/id` - Database records
271
- * - `api://endpoint` - API responses
272
- * - `config://name` - Configuration values
273
- *
274
- * @example "file:///readme.md"
275
- * @example "db://users/123"
276
- */
280
+ * The URI that identifies this resource.
281
+ *
282
+ * URIs should follow a consistent scheme for your application.
283
+ * Common patterns:
284
+ * - `file:///path/to/file` - File system resources
285
+ * - `db://table/id` - Database records
286
+ * - `api://endpoint` - API responses
287
+ * - `config://name` - Configuration values
288
+ *
289
+ * @example "file:///readme.md"
290
+ * @example "db://users/123"
291
+ */
277
292
  uri: string;
278
293
  /**
279
- * Human-readable name for the resource.
280
- *
281
- * If not provided, defaults to the property key where the resource is declared.
282
- *
283
- * @example "Project README"
284
- * @example "User Profile"
285
- */
294
+ * Human-readable name for the resource.
295
+ *
296
+ * If not provided, defaults to the property key where the resource is declared.
297
+ *
298
+ * @example "Project README"
299
+ * @example "User Profile"
300
+ */
286
301
  name?: string;
287
302
  /**
288
- * Description of what this resource contains.
289
- *
290
- * Helps the LLM understand the purpose and content of the resource.
291
- *
292
- * @example "The main README file for the project"
293
- */
303
+ * Description of what this resource contains.
304
+ *
305
+ * Helps the LLM understand the purpose and content of the resource.
306
+ *
307
+ * @example "The main README file for the project"
308
+ */
294
309
  description?: string;
295
310
  /**
296
- * MIME type of the resource content.
297
- *
298
- * Helps clients understand how to interpret the content.
299
- *
300
- * @default "text/plain"
301
- * @example "text/markdown"
302
- * @example "application/json"
303
- */
311
+ * MIME type of the resource content.
312
+ *
313
+ * Helps clients understand how to interpret the content.
314
+ *
315
+ * @default "text/plain"
316
+ * @example "text/markdown"
317
+ * @example "application/json"
318
+ */
304
319
  mimeType?: string;
305
320
  /**
306
- * Handler function that returns the resource content.
307
- *
308
- * Called when the resource is read. Can return text or binary content.
309
- *
310
- * @returns Resource content with either `text` or `blob` property
311
- */
321
+ * Handler function that returns the resource content.
322
+ *
323
+ * Called when the resource is read. Can return text or binary content.
324
+ *
325
+ * @returns Resource content with either `text` or `blob` property
326
+ */
312
327
  handler: ResourceHandler;
313
328
  }
314
329
  declare class ResourcePrimitive extends Primitive<ResourcePrimitiveOptions> {
315
330
  protected readonly mcpServer: McpServerProvider;
316
331
  /**
317
- * Returns the name of the resource.
318
- */
332
+ * Returns the name of the resource.
333
+ */
319
334
  get name(): string;
320
335
  /**
321
- * Returns the URI of the resource.
322
- */
336
+ * Returns the URI of the resource.
337
+ */
323
338
  get uri(): string;
324
339
  /**
325
- * Returns the description of the resource.
326
- */
340
+ * Returns the description of the resource.
341
+ */
327
342
  get description(): string | undefined;
328
343
  /**
329
- * Returns the MIME type of the resource.
330
- */
344
+ * Returns the MIME type of the resource.
345
+ */
331
346
  get mimeType(): string;
332
347
  protected onInit(): void;
333
348
  /**
334
- * Read the resource content.
335
- *
336
- * @param context - Optional context from the transport layer
337
- * @returns The resource content
338
- */
349
+ * Read the resource content.
350
+ *
351
+ * @param context - Optional context from the transport layer
352
+ * @returns The resource content
353
+ */
339
354
  read(context?: McpContext): Promise<ResourceContent>;
340
355
  /**
341
- * Convert the resource to an MCP resource descriptor for protocol messages.
342
- */
356
+ * Convert the resource to an MCP resource descriptor for protocol messages.
357
+ */
343
358
  toDescriptor(): McpResourceDescriptor;
344
359
  }
345
360
  //#endregion
@@ -394,78 +409,78 @@ declare const $tool: {
394
409
  };
395
410
  interface ToolPrimitiveOptions<T extends ToolPrimitiveSchema> {
396
411
  /**
397
- * The name of the tool.
398
- *
399
- * If not provided, defaults to the property key where the tool is declared.
400
- * Names should be descriptive and use kebab-case or snake_case.
401
- *
402
- * @example "calculate-sum"
403
- * @example "get_weather"
404
- */
412
+ * The name of the tool.
413
+ *
414
+ * If not provided, defaults to the property key where the tool is declared.
415
+ * Names should be descriptive and use kebab-case or snake_case.
416
+ *
417
+ * @example "calculate-sum"
418
+ * @example "get_weather"
419
+ */
405
420
  name?: string;
406
421
  /**
407
- * A human-readable description of what the tool does.
408
- *
409
- * This description is sent to the LLM to help it understand
410
- * when and how to use the tool. Be clear and specific.
411
- *
412
- * @example "Calculate the sum of two numbers"
413
- * @example "Retrieve current weather data for a given location"
414
- */
422
+ * A human-readable description of what the tool does.
423
+ *
424
+ * This description is sent to the LLM to help it understand
425
+ * when and how to use the tool. Be clear and specific.
426
+ *
427
+ * @example "Calculate the sum of two numbers"
428
+ * @example "Retrieve current weather data for a given location"
429
+ */
415
430
  description: string;
416
431
  /**
417
- * TypeBox schema defining the tool's parameters and result type.
418
- *
419
- * - **params**: TObject schema for input parameters (optional)
420
- * - **result**: TSchema for the return value (optional)
421
- *
422
- * Schemas provide:
423
- * - Type inference for handler function
424
- * - Runtime validation of inputs
425
- * - JSON Schema generation for MCP protocol
426
- */
432
+ * TypeBox schema defining the tool's parameters and result type.
433
+ *
434
+ * - **params**: TObject schema for input parameters (optional)
435
+ * - **result**: TSchema for the return value (optional)
436
+ *
437
+ * Schemas provide:
438
+ * - Type inference for handler function
439
+ * - Runtime validation of inputs
440
+ * - JSON Schema generation for MCP protocol
441
+ */
427
442
  schema?: T;
428
443
  /**
429
- * The handler function that executes when the tool is called.
430
- *
431
- * Receives validated parameters and returns the result.
432
- * Errors thrown here are caught and returned as MCP errors.
433
- *
434
- * @param args - Object containing validated params
435
- * @returns The tool result (can be async)
436
- */
444
+ * The handler function that executes when the tool is called.
445
+ *
446
+ * Receives validated parameters and returns the result.
447
+ * Errors thrown here are caught and returned as MCP errors.
448
+ *
449
+ * @param args - Object containing validated params
450
+ * @returns The tool result (can be async)
451
+ */
437
452
  handler: (args: ToolHandlerArgs<T>) => Async<ToolHandlerResult<T>>;
438
453
  }
439
454
  declare class ToolPrimitive<T extends ToolPrimitiveSchema> extends Primitive<ToolPrimitiveOptions<T>> {
440
455
  protected readonly mcpServer: McpServerProvider;
441
456
  /**
442
- * Returns the name of the tool.
443
- */
457
+ * Returns the name of the tool.
458
+ */
444
459
  get name(): string;
445
460
  /**
446
- * Returns the description of the tool.
447
- */
461
+ * Returns the description of the tool.
462
+ */
448
463
  get description(): string;
449
464
  protected onInit(): void;
450
465
  /**
451
- * Execute the tool with the given parameters.
452
- *
453
- * @param params - Raw parameters to validate and pass to the handler
454
- * @param context - Optional context from the transport layer
455
- * @returns The tool result
456
- */
466
+ * Execute the tool with the given parameters.
467
+ *
468
+ * @param params - Raw parameters to validate and pass to the handler
469
+ * @param context - Optional context from the transport layer
470
+ * @returns The tool result
471
+ */
457
472
  execute(params: unknown, context?: McpContext): Promise<ToolHandlerResult<T>>;
458
473
  /**
459
- * Convert the tool to an MCP tool descriptor for protocol messages.
460
- */
474
+ * Convert the tool to an MCP tool descriptor for protocol messages.
475
+ */
461
476
  toDescriptor(): McpToolDescriptor;
462
477
  /**
463
- * Convert a TypeBox schema to JSON Schema format.
464
- */
478
+ * Convert a TypeBox schema to JSON Schema format.
479
+ */
465
480
  protected schemaToJsonSchema(schema: TObject): McpJsonSchema;
466
481
  /**
467
- * Convert a single property schema to JSON Schema format.
468
- */
482
+ * Convert a single property schema to JSON Schema format.
483
+ */
469
484
  protected propertyToJsonSchema(schema: TSchema): Record<string, unknown>;
470
485
  }
471
486
  //#endregion
@@ -488,60 +503,60 @@ declare class McpServerProvider {
488
503
  protected initialized: boolean;
489
504
  protected serverInfo: McpServerInfo;
490
505
  /**
491
- * Register a tool with the MCP server.
492
- */
506
+ * Register a tool with the MCP server.
507
+ */
493
508
  registerTool(tool: ToolPrimitive<any>): void;
494
509
  /**
495
- * Register a resource with the MCP server.
496
- */
510
+ * Register a resource with the MCP server.
511
+ */
497
512
  registerResource(resource: ResourcePrimitive): void;
498
513
  /**
499
- * Register a prompt with the MCP server.
500
- */
514
+ * Register a prompt with the MCP server.
515
+ */
501
516
  registerPrompt(prompt: PromptPrimitive<any>): void;
502
517
  /**
503
- * Get the server capabilities based on registered primitives.
504
- */
518
+ * Get the server capabilities based on registered primitives.
519
+ */
505
520
  getCapabilities(): McpCapabilities;
506
521
  /**
507
- * Get all registered tools.
508
- */
522
+ * Get all registered tools.
523
+ */
509
524
  getTools(): ToolPrimitive<any>[];
510
525
  /**
511
- * Get all registered resources.
512
- */
526
+ * Get all registered resources.
527
+ */
513
528
  getResources(): ResourcePrimitive[];
514
529
  /**
515
- * Get all registered prompts.
516
- */
530
+ * Get all registered prompts.
531
+ */
517
532
  getPrompts(): PromptPrimitive<any>[];
518
533
  /**
519
- * Get a tool by name.
520
- */
534
+ * Get a tool by name.
535
+ */
521
536
  getTool(name: string): ToolPrimitive<any> | undefined;
522
537
  /**
523
- * Get a resource by URI.
524
- */
538
+ * Get a resource by URI.
539
+ */
525
540
  getResource(uri: string): ResourcePrimitive | undefined;
526
541
  /**
527
- * Get a prompt by name.
528
- */
542
+ * Get a prompt by name.
543
+ */
529
544
  getPrompt(name: string): PromptPrimitive<any> | undefined;
530
545
  /**
531
- * Handle an incoming JSON-RPC request.
532
- *
533
- * @param request - The parsed JSON-RPC request
534
- * @param context - Optional context from the transport layer (headers, auth, etc.)
535
- * @returns The JSON-RPC response, or null for notifications
536
- */
546
+ * Handle an incoming JSON-RPC request.
547
+ *
548
+ * @param request - The parsed JSON-RPC request
549
+ * @param context - Optional context from the transport layer (headers, auth, etc.)
550
+ * @returns The JSON-RPC response, or null for notifications
551
+ */
537
552
  handleMessage(request: JsonRpcRequest, context?: McpContext): Promise<JsonRpcResponse | null>;
538
553
  /**
539
- * Handle a JSON-RPC request that expects a response.
540
- */
554
+ * Handle a JSON-RPC request that expects a response.
555
+ */
541
556
  protected handleRequest(request: JsonRpcRequest, context?: McpContext): Promise<unknown>;
542
557
  /**
543
- * Handle a notification (no response expected).
544
- */
558
+ * Handle a notification (no response expected).
559
+ */
545
560
  protected handleNotification(request: JsonRpcRequest): Promise<void>;
546
561
  protected handleInitialize(params: Record<string, unknown>): McpInitializeResult;
547
562
  protected handlePing(): Record<string, never>;
@@ -608,65 +623,65 @@ declare const $prompt: {
608
623
  };
609
624
  interface PromptPrimitiveOptions<T extends TObject> {
610
625
  /**
611
- * The name of the prompt.
612
- *
613
- * If not provided, defaults to the property key where the prompt is declared.
614
- *
615
- * @example "greeting"
616
- * @example "code-review"
617
- */
626
+ * The name of the prompt.
627
+ *
628
+ * If not provided, defaults to the property key where the prompt is declared.
629
+ *
630
+ * @example "greeting"
631
+ * @example "code-review"
632
+ */
618
633
  name?: string;
619
634
  /**
620
- * Description of what this prompt does.
621
- *
622
- * Helps users understand the purpose of the prompt.
623
- *
624
- * @example "Generate a personalized greeting message"
625
- */
635
+ * Description of what this prompt does.
636
+ *
637
+ * Helps users understand the purpose of the prompt.
638
+ *
639
+ * @example "Generate a personalized greeting message"
640
+ */
626
641
  description?: string;
627
642
  /**
628
- * TypeBox schema defining the prompt arguments.
629
- *
630
- * Each property in the schema becomes an argument that can be
631
- * filled in when the prompt is used.
632
- */
643
+ * TypeBox schema defining the prompt arguments.
644
+ *
645
+ * Each property in the schema becomes an argument that can be
646
+ * filled in when the prompt is used.
647
+ */
633
648
  args?: T;
634
649
  /**
635
- * Handler function that generates the prompt messages.
636
- *
637
- * Receives the validated arguments and returns an array of messages.
638
- *
639
- * @param args - Object containing validated arguments
640
- * @returns Array of prompt messages
641
- */
650
+ * Handler function that generates the prompt messages.
651
+ *
652
+ * Receives the validated arguments and returns an array of messages.
653
+ *
654
+ * @param args - Object containing validated arguments
655
+ * @returns Array of prompt messages
656
+ */
642
657
  handler: (args: PromptHandlerArgs<T>) => Async<PromptMessage[]>;
643
658
  }
644
659
  declare class PromptPrimitive<T extends TObject> extends Primitive<PromptPrimitiveOptions<T>> {
645
660
  protected readonly mcpServer: McpServerProvider;
646
661
  /**
647
- * Returns the name of the prompt.
648
- */
662
+ * Returns the name of the prompt.
663
+ */
649
664
  get name(): string;
650
665
  /**
651
- * Returns the description of the prompt.
652
- */
666
+ * Returns the description of the prompt.
667
+ */
653
668
  get description(): string | undefined;
654
669
  protected onInit(): void;
655
670
  /**
656
- * Get the prompt messages with the given arguments.
657
- *
658
- * @param rawArgs - Raw arguments to validate and pass to the handler
659
- * @param context - Optional context from the transport layer
660
- * @returns Array of prompt messages
661
- */
671
+ * Get the prompt messages with the given arguments.
672
+ *
673
+ * @param rawArgs - Raw arguments to validate and pass to the handler
674
+ * @param context - Optional context from the transport layer
675
+ * @returns Array of prompt messages
676
+ */
662
677
  get(rawArgs: unknown, context?: McpContext): Promise<PromptMessage[]>;
663
678
  /**
664
- * Convert the prompt to an MCP prompt descriptor for protocol messages.
665
- */
679
+ * Convert the prompt to an MCP prompt descriptor for protocol messages.
680
+ */
666
681
  toDescriptor(): McpPromptDescriptor;
667
682
  /**
668
- * Convert a TypeBox schema to an array of prompt arguments.
669
- */
683
+ * Convert a TypeBox schema to an array of prompt arguments.
684
+ */
670
685
  protected schemaToArguments(schema: TObject): McpPromptArgument[];
671
686
  }
672
687
  //#endregion
@@ -707,21 +722,21 @@ declare class SseMcpTransport {
707
722
  };
708
723
  protected readonly mcpServer: McpServerProvider;
709
724
  /**
710
- * SSE endpoint for server-to-client messages.
711
- *
712
- * Returns a text/event-stream response with server capabilities
713
- * and keeps the connection open for notifications.
714
- */
725
+ * SSE endpoint for server-to-client messages.
726
+ *
727
+ * Returns a text/event-stream response with server capabilities
728
+ * and keeps the connection open for notifications.
729
+ */
715
730
  sse: alepha_server0.RoutePrimitive<alepha_server0.RequestConfigSchema>;
716
731
  /**
717
- * POST endpoint for client-to-server JSON-RPC messages.
718
- */
732
+ * POST endpoint for client-to-server JSON-RPC messages.
733
+ */
719
734
  message: alepha_server0.RoutePrimitive<{
720
- body: alepha3.TRecord<string, alepha3.TAny>;
735
+ body: alepha1.TRecord<string, alepha1.TAny>;
721
736
  }>;
722
737
  /**
723
- * Format a message as an SSE event.
724
- */
738
+ * Format a message as an SSE event.
739
+ */
725
740
  protected formatSseEvent(event: string, data: string): string;
726
741
  }
727
742
  //#endregion
@@ -756,65 +771,48 @@ declare class StdioMcpTransport {
756
771
  protected readonly mcpServer: McpServerProvider;
757
772
  protected rl?: readline.Interface;
758
773
  protected started: boolean;
759
- onStart: alepha3.HookPrimitive<"start">;
760
- onStop: alepha3.HookPrimitive<"stop">;
774
+ onStart: alepha1.HookPrimitive<"start">;
775
+ onStop: alepha1.HookPrimitive<"stop">;
761
776
  /**
762
- * Start the stdio transport.
763
- */
777
+ * Start the stdio transport.
778
+ */
764
779
  protected start(): void;
765
780
  /**
766
- * Stop the stdio transport.
767
- */
781
+ * Stop the stdio transport.
782
+ */
768
783
  protected stop(): void;
769
784
  /**
770
- * Handle an incoming line from stdin.
771
- */
785
+ * Handle an incoming line from stdin.
786
+ */
772
787
  protected handleLine(line: string): Promise<void>;
773
788
  /**
774
- * Handle stdin close event.
775
- */
789
+ * Handle stdin close event.
790
+ */
776
791
  protected handleClose(): void;
777
792
  /**
778
- * Send a message to stdout.
779
- */
793
+ * Send a message to stdout.
794
+ */
780
795
  protected send(message: object): void;
781
796
  }
782
797
  //#endregion
783
798
  //#region ../../src/mcp/index.d.ts
784
799
  /**
785
- * Core MCP module with primitives and server provider.
786
- *
787
- * This module registers the $tool, $resource, and $prompt primitives
788
- * and the McpServerProvider. You need to add a transport module
789
- * (AlephaMcpStdio or AlephaMcpSse) for actual communication.
790
- *
791
- * @example
792
- * ```ts
793
- * import { Alepha, run } from "alepha";
794
- * import { AlephaMcp, AlephaMcpStdio, $tool, t } from "alepha/mcp";
800
+ * | type | quality | stability |
801
+ * |------|---------|-----------|
802
+ * | backend | standard | stable |
795
803
  *
796
- * class MyMcpServer {
797
- * add = $tool({
798
- * description: "Add two numbers",
799
- * schema: {
800
- * params: t.object({ a: t.number(), b: t.number() }),
801
- * result: t.number(),
802
- * },
803
- * handler: async ({ params }) => params.a + params.b,
804
- * });
805
- * }
804
+ * Model Context Protocol for AI tool integration.
806
805
  *
807
- * run(
808
- * Alepha.create()
809
- * .with(AlephaMcp)
810
- * .with(AlephaMcpStdio)
811
- * .with(MyMcpServer)
812
- * );
813
- * ```
806
+ * **Features:**
807
+ * - MCP resource definitions
808
+ * - MCP tool definitions
809
+ * - MCP prompt definitions
810
+ * - JSON-RPC protocol
811
+ * - SSE and Stdio transports
814
812
  *
815
813
  * @module alepha.mcp
816
814
  */
817
- declare const AlephaMcp: alepha3.Service<alepha3.Module>;
815
+ declare const AlephaMcp: alepha1.Service<alepha1.Module>;
818
816
  //#endregion
819
- export { $prompt, $resource, $tool, AlephaMcp, JSONRPC_VERSION, type JsonRpcError, JsonRpcErrorCodes, type JsonRpcNotification, JsonRpcParseError, type JsonRpcRequest, type JsonRpcResponse, MCP_PROTOCOL_VERSION, type McpCapabilities, type McpClientInfo, type McpContent, type McpContext, McpError, type McpInitializeParams, type McpInitializeResult, McpInvalidParamsError, type McpJsonSchema, McpMethodNotFoundError, type McpPromptArgument, type McpPromptContent, type McpPromptDescriptor, type McpPromptGetParams, type McpPromptGetResult, type McpPromptMessage, McpPromptNotFoundError, type McpResourceContent, type McpResourceDescriptor, McpResourceNotFoundError, type McpResourceReadParams, type McpResourceReadResult, type McpServerInfo, McpServerProvider, type McpToolCallParams, type McpToolCallResult, type McpToolDescriptor, McpToolNotFoundError, type PromptHandler, type PromptHandlerArgs, type PromptMessage, PromptPrimitive, type PromptPrimitiveOptions, type ResourceContent, type ResourceHandler, type ResourceHandlerArgs, ResourcePrimitive, type ResourcePrimitiveOptions, SseMcpTransport, StdioMcpTransport, type ToolHandler, type ToolHandlerArgs, type ToolHandlerResult, ToolPrimitive, type ToolPrimitiveOptions, type ToolPrimitiveSchema, createErrorResponse, createInternalError, createInvalidParamsError, createInvalidRequestError, createMethodNotFoundError, createNotification, createParseError, createResponse, isNotification, isValidJsonRpcRequest, parseMessage };
817
+ export { $prompt, $resource, $tool, AlephaMcp, JSONRPC_VERSION, type JsonRpcError, JsonRpcErrorCodes, type JsonRpcNotification, JsonRpcParseError, type JsonRpcRequest, type JsonRpcResponse, MCP_PROTOCOL_VERSION, type McpCapabilities, type McpClientInfo, type McpContent, type McpContext, McpError, McpErrorCodes, McpForbiddenError, type McpInitializeParams, type McpInitializeResult, McpInvalidParamsError, type McpJsonSchema, McpMethodNotFoundError, type McpPromptArgument, type McpPromptContent, type McpPromptDescriptor, type McpPromptGetParams, type McpPromptGetResult, type McpPromptMessage, McpPromptNotFoundError, type McpResourceContent, type McpResourceDescriptor, McpResourceNotFoundError, type McpResourceReadParams, type McpResourceReadResult, type McpServerInfo, McpServerProvider, type McpToolCallParams, type McpToolCallResult, type McpToolDescriptor, McpToolNotFoundError, McpUnauthorizedError, type PromptHandler, type PromptHandlerArgs, type PromptMessage, PromptPrimitive, type PromptPrimitiveOptions, type ResourceContent, type ResourceHandler, type ResourceHandlerArgs, ResourcePrimitive, type ResourcePrimitiveOptions, SseMcpTransport, StdioMcpTransport, type ToolHandler, type ToolHandlerArgs, type ToolHandlerResult, ToolPrimitive, type ToolPrimitiveOptions, type ToolPrimitiveSchema, createErrorResponse, createInternalError, createInvalidParamsError, createInvalidRequestError, createMethodNotFoundError, createNotification, createParseError, createResponse, isNotification, isValidJsonRpcRequest, parseMessage };
820
818
  //# sourceMappingURL=index.d.ts.map