@kelpie/server 0.1.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 (1146) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +57 -0
  3. package/dist/app.d.ts +36 -0
  4. package/dist/app.d.ts.map +1 -0
  5. package/dist/app.js +98 -0
  6. package/dist/app.js.map +1 -0
  7. package/dist/index.d.ts +46 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +26 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/lib/actor.d.ts +71 -0
  12. package/dist/lib/actor.d.ts.map +1 -0
  13. package/dist/lib/actor.js +48 -0
  14. package/dist/lib/actor.js.map +1 -0
  15. package/dist/lib/changes.d.ts +17 -0
  16. package/dist/lib/changes.d.ts.map +1 -0
  17. package/dist/lib/changes.js +35 -0
  18. package/dist/lib/changes.js.map +1 -0
  19. package/dist/lib/columns.d.ts +152 -0
  20. package/dist/lib/columns.d.ts.map +1 -0
  21. package/dist/lib/columns.js +126 -0
  22. package/dist/lib/columns.js.map +1 -0
  23. package/dist/lib/config.d.ts +36 -0
  24. package/dist/lib/config.d.ts.map +1 -0
  25. package/dist/lib/config.js +52 -0
  26. package/dist/lib/config.js.map +1 -0
  27. package/dist/lib/database.d.ts +57 -0
  28. package/dist/lib/database.d.ts.map +1 -0
  29. package/dist/lib/database.js +91 -0
  30. package/dist/lib/database.js.map +1 -0
  31. package/dist/lib/dates.d.ts +11 -0
  32. package/dist/lib/dates.d.ts.map +1 -0
  33. package/dist/lib/dates.js +17 -0
  34. package/dist/lib/dates.js.map +1 -0
  35. package/dist/lib/email.d.ts +42 -0
  36. package/dist/lib/email.d.ts.map +1 -0
  37. package/dist/lib/email.js +38 -0
  38. package/dist/lib/email.js.map +1 -0
  39. package/dist/lib/errors.d.ts +76 -0
  40. package/dist/lib/errors.d.ts.map +1 -0
  41. package/dist/lib/errors.js +102 -0
  42. package/dist/lib/errors.js.map +1 -0
  43. package/dist/lib/http.d.ts +59 -0
  44. package/dist/lib/http.d.ts.map +1 -0
  45. package/dist/lib/http.js +89 -0
  46. package/dist/lib/http.js.map +1 -0
  47. package/dist/lib/ids.d.ts +55 -0
  48. package/dist/lib/ids.d.ts.map +1 -0
  49. package/dist/lib/ids.js +56 -0
  50. package/dist/lib/ids.js.map +1 -0
  51. package/dist/lib/logger.d.ts +22 -0
  52. package/dist/lib/logger.d.ts.map +1 -0
  53. package/dist/lib/logger.js +43 -0
  54. package/dist/lib/logger.js.map +1 -0
  55. package/dist/lib/moduleConfig.d.ts +14 -0
  56. package/dist/lib/moduleConfig.d.ts.map +1 -0
  57. package/dist/lib/moduleConfig.js +56 -0
  58. package/dist/lib/moduleConfig.js.map +1 -0
  59. package/dist/lib/normalisation.d.ts +19 -0
  60. package/dist/lib/normalisation.d.ts.map +1 -0
  61. package/dist/lib/normalisation.js +32 -0
  62. package/dist/lib/normalisation.js.map +1 -0
  63. package/dist/lib/pagination.d.ts +104 -0
  64. package/dist/lib/pagination.d.ts.map +1 -0
  65. package/dist/lib/pagination.js +189 -0
  66. package/dist/lib/pagination.js.map +1 -0
  67. package/dist/lib/passwords.d.ts +32 -0
  68. package/dist/lib/passwords.d.ts.map +1 -0
  69. package/dist/lib/passwords.js +51 -0
  70. package/dist/lib/passwords.js.map +1 -0
  71. package/dist/lib/search.d.ts +11 -0
  72. package/dist/lib/search.d.ts.map +1 -0
  73. package/dist/lib/search.js +25 -0
  74. package/dist/lib/search.js.map +1 -0
  75. package/dist/lib/secrets.d.ts +40 -0
  76. package/dist/lib/secrets.d.ts.map +1 -0
  77. package/dist/lib/secrets.js +152 -0
  78. package/dist/lib/secrets.js.map +1 -0
  79. package/dist/lib/timezones.d.ts +38 -0
  80. package/dist/lib/timezones.d.ts.map +1 -0
  81. package/dist/lib/timezones.js +55 -0
  82. package/dist/lib/timezones.js.map +1 -0
  83. package/dist/lib/tokens.d.ts +10 -0
  84. package/dist/lib/tokens.d.ts.map +1 -0
  85. package/dist/lib/tokens.js +31 -0
  86. package/dist/lib/tokens.js.map +1 -0
  87. package/dist/lib/url.d.ts +25 -0
  88. package/dist/lib/url.d.ts.map +1 -0
  89. package/dist/lib/url.js +41 -0
  90. package/dist/lib/url.js.map +1 -0
  91. package/dist/modules/activities/index.d.ts +18 -0
  92. package/dist/modules/activities/index.d.ts.map +1 -0
  93. package/dist/modules/activities/index.js +34 -0
  94. package/dist/modules/activities/index.js.map +1 -0
  95. package/dist/modules/activities/recorder.d.ts +53 -0
  96. package/dist/modules/activities/recorder.d.ts.map +1 -0
  97. package/dist/modules/activities/recorder.js +36 -0
  98. package/dist/modules/activities/recorder.js.map +1 -0
  99. package/dist/modules/activities/repository.d.ts +52 -0
  100. package/dist/modules/activities/repository.d.ts.map +1 -0
  101. package/dist/modules/activities/repository.js +127 -0
  102. package/dist/modules/activities/repository.js.map +1 -0
  103. package/dist/modules/activities/routes.d.ts +17 -0
  104. package/dist/modules/activities/routes.d.ts.map +1 -0
  105. package/dist/modules/activities/routes.js +45 -0
  106. package/dist/modules/activities/routes.js.map +1 -0
  107. package/dist/modules/activities/schema.d.ts +188 -0
  108. package/dist/modules/activities/schema.d.ts.map +1 -0
  109. package/dist/modules/activities/schema.js +34 -0
  110. package/dist/modules/activities/schema.js.map +1 -0
  111. package/dist/modules/activities/service.d.ts +32 -0
  112. package/dist/modules/activities/service.d.ts.map +1 -0
  113. package/dist/modules/activities/service.js +28 -0
  114. package/dist/modules/activities/service.js.map +1 -0
  115. package/dist/modules/activities/tools.d.ts +4 -0
  116. package/dist/modules/activities/tools.d.ts.map +1 -0
  117. package/dist/modules/activities/tools.js +26 -0
  118. package/dist/modules/activities/tools.js.map +1 -0
  119. package/dist/modules/activities/wording.d.ts +79 -0
  120. package/dist/modules/activities/wording.d.ts.map +1 -0
  121. package/dist/modules/activities/wording.js +134 -0
  122. package/dist/modules/activities/wording.js.map +1 -0
  123. package/dist/modules/agent-tasks/catalog.d.ts +16 -0
  124. package/dist/modules/agent-tasks/catalog.d.ts.map +1 -0
  125. package/dist/modules/agent-tasks/catalog.js +694 -0
  126. package/dist/modules/agent-tasks/catalog.js.map +1 -0
  127. package/dist/modules/agent-tasks/dispatch.d.ts +61 -0
  128. package/dist/modules/agent-tasks/dispatch.d.ts.map +1 -0
  129. package/dist/modules/agent-tasks/dispatch.js +139 -0
  130. package/dist/modules/agent-tasks/dispatch.js.map +1 -0
  131. package/dist/modules/agent-tasks/index.d.ts +17 -0
  132. package/dist/modules/agent-tasks/index.d.ts.map +1 -0
  133. package/dist/modules/agent-tasks/index.js +54 -0
  134. package/dist/modules/agent-tasks/index.js.map +1 -0
  135. package/dist/modules/agent-tasks/prompt.d.ts +41 -0
  136. package/dist/modules/agent-tasks/prompt.d.ts.map +1 -0
  137. package/dist/modules/agent-tasks/prompt.js +78 -0
  138. package/dist/modules/agent-tasks/prompt.js.map +1 -0
  139. package/dist/modules/agent-tasks/repository.d.ts +32 -0
  140. package/dist/modules/agent-tasks/repository.d.ts.map +1 -0
  141. package/dist/modules/agent-tasks/repository.js +83 -0
  142. package/dist/modules/agent-tasks/repository.js.map +1 -0
  143. package/dist/modules/agent-tasks/resolve.d.ts +44 -0
  144. package/dist/modules/agent-tasks/resolve.d.ts.map +1 -0
  145. package/dist/modules/agent-tasks/resolve.js +396 -0
  146. package/dist/modules/agent-tasks/resolve.js.map +1 -0
  147. package/dist/modules/agent-tasks/routes.d.ts +55 -0
  148. package/dist/modules/agent-tasks/routes.d.ts.map +1 -0
  149. package/dist/modules/agent-tasks/routes.js +173 -0
  150. package/dist/modules/agent-tasks/routes.js.map +1 -0
  151. package/dist/modules/agent-tasks/schema.d.ts +346 -0
  152. package/dist/modules/agent-tasks/schema.d.ts.map +1 -0
  153. package/dist/modules/agent-tasks/schema.js +47 -0
  154. package/dist/modules/agent-tasks/schema.js.map +1 -0
  155. package/dist/modules/agent-tasks/service.d.ts +79 -0
  156. package/dist/modules/agent-tasks/service.d.ts.map +1 -0
  157. package/dist/modules/agent-tasks/service.js +210 -0
  158. package/dist/modules/agent-tasks/service.js.map +1 -0
  159. package/dist/modules/agent-tasks/wire.d.ts +35 -0
  160. package/dist/modules/agent-tasks/wire.d.ts.map +1 -0
  161. package/dist/modules/agent-tasks/wire.js +31 -0
  162. package/dist/modules/agent-tasks/wire.js.map +1 -0
  163. package/dist/modules/api-keys/index.d.ts +9 -0
  164. package/dist/modules/api-keys/index.d.ts.map +1 -0
  165. package/dist/modules/api-keys/index.js +29 -0
  166. package/dist/modules/api-keys/index.js.map +1 -0
  167. package/dist/modules/api-keys/keys.d.ts +25 -0
  168. package/dist/modules/api-keys/keys.d.ts.map +1 -0
  169. package/dist/modules/api-keys/keys.js +40 -0
  170. package/dist/modules/api-keys/keys.js.map +1 -0
  171. package/dist/modules/api-keys/repository.d.ts +15 -0
  172. package/dist/modules/api-keys/repository.d.ts.map +1 -0
  173. package/dist/modules/api-keys/repository.js +48 -0
  174. package/dist/modules/api-keys/repository.js.map +1 -0
  175. package/dist/modules/api-keys/routes.d.ts +8 -0
  176. package/dist/modules/api-keys/routes.d.ts.map +1 -0
  177. package/dist/modules/api-keys/routes.js +52 -0
  178. package/dist/modules/api-keys/routes.js.map +1 -0
  179. package/dist/modules/api-keys/schema.d.ts +166 -0
  180. package/dist/modules/api-keys/schema.d.ts.map +1 -0
  181. package/dist/modules/api-keys/schema.js +23 -0
  182. package/dist/modules/api-keys/schema.js.map +1 -0
  183. package/dist/modules/api-keys/service.d.ts +37 -0
  184. package/dist/modules/api-keys/service.d.ts.map +1 -0
  185. package/dist/modules/api-keys/service.js +95 -0
  186. package/dist/modules/api-keys/service.js.map +1 -0
  187. package/dist/modules/attachedRecords.d.ts +39 -0
  188. package/dist/modules/attachedRecords.d.ts.map +1 -0
  189. package/dist/modules/attachedRecords.js +52 -0
  190. package/dist/modules/attachedRecords.js.map +1 -0
  191. package/dist/modules/auth/actor.d.ts +11 -0
  192. package/dist/modules/auth/actor.d.ts.map +1 -0
  193. package/dist/modules/auth/actor.js +10 -0
  194. package/dist/modules/auth/actor.js.map +1 -0
  195. package/dist/modules/auth/credentials.d.ts +18 -0
  196. package/dist/modules/auth/credentials.d.ts.map +1 -0
  197. package/dist/modules/auth/credentials.js +105 -0
  198. package/dist/modules/auth/credentials.js.map +1 -0
  199. package/dist/modules/auth/index.d.ts +3 -0
  200. package/dist/modules/auth/index.d.ts.map +1 -0
  201. package/dist/modules/auth/index.js +41 -0
  202. package/dist/modules/auth/index.js.map +1 -0
  203. package/dist/modules/auth/preferences.d.ts +34 -0
  204. package/dist/modules/auth/preferences.d.ts.map +1 -0
  205. package/dist/modules/auth/preferences.js +30 -0
  206. package/dist/modules/auth/preferences.js.map +1 -0
  207. package/dist/modules/auth/repository.d.ts +54 -0
  208. package/dist/modules/auth/repository.d.ts.map +1 -0
  209. package/dist/modules/auth/repository.js +137 -0
  210. package/dist/modules/auth/repository.js.map +1 -0
  211. package/dist/modules/auth/routes.d.ts +10 -0
  212. package/dist/modules/auth/routes.d.ts.map +1 -0
  213. package/dist/modules/auth/routes.js +181 -0
  214. package/dist/modules/auth/routes.js.map +1 -0
  215. package/dist/modules/auth/schema.d.ts +530 -0
  216. package/dist/modules/auth/schema.d.ts.map +1 -0
  217. package/dist/modules/auth/schema.js +67 -0
  218. package/dist/modules/auth/schema.js.map +1 -0
  219. package/dist/modules/auth/service.d.ts +73 -0
  220. package/dist/modules/auth/service.d.ts.map +1 -0
  221. package/dist/modules/auth/service.js +288 -0
  222. package/dist/modules/auth/service.js.map +1 -0
  223. package/dist/modules/auth/session.d.ts +16 -0
  224. package/dist/modules/auth/session.d.ts.map +1 -0
  225. package/dist/modules/auth/session.js +30 -0
  226. package/dist/modules/auth/session.js.map +1 -0
  227. package/dist/modules/companies/index.d.ts +9 -0
  228. package/dist/modules/companies/index.d.ts.map +1 -0
  229. package/dist/modules/companies/index.js +37 -0
  230. package/dist/modules/companies/index.js.map +1 -0
  231. package/dist/modules/companies/repository.d.ts +40 -0
  232. package/dist/modules/companies/repository.d.ts.map +1 -0
  233. package/dist/modules/companies/repository.js +112 -0
  234. package/dist/modules/companies/repository.js.map +1 -0
  235. package/dist/modules/companies/routes.d.ts +89 -0
  236. package/dist/modules/companies/routes.d.ts.map +1 -0
  237. package/dist/modules/companies/routes.js +125 -0
  238. package/dist/modules/companies/routes.js.map +1 -0
  239. package/dist/modules/companies/schema.d.ts +381 -0
  240. package/dist/modules/companies/schema.d.ts.map +1 -0
  241. package/dist/modules/companies/schema.js +51 -0
  242. package/dist/modules/companies/schema.js.map +1 -0
  243. package/dist/modules/companies/service.d.ts +49 -0
  244. package/dist/modules/companies/service.d.ts.map +1 -0
  245. package/dist/modules/companies/service.js +184 -0
  246. package/dist/modules/companies/service.js.map +1 -0
  247. package/dist/modules/companies/tools.d.ts +4 -0
  248. package/dist/modules/companies/tools.d.ts.map +1 -0
  249. package/dist/modules/companies/tools.js +27 -0
  250. package/dist/modules/companies/tools.js.map +1 -0
  251. package/dist/modules/core.d.ts +21 -0
  252. package/dist/modules/core.d.ts.map +1 -0
  253. package/dist/modules/core.js +82 -0
  254. package/dist/modules/core.js.map +1 -0
  255. package/dist/modules/crudTools.d.ts +99 -0
  256. package/dist/modules/crudTools.d.ts.map +1 -0
  257. package/dist/modules/crudTools.js +123 -0
  258. package/dist/modules/crudTools.js.map +1 -0
  259. package/dist/modules/dashboard/attention.d.ts +39 -0
  260. package/dist/modules/dashboard/attention.d.ts.map +1 -0
  261. package/dist/modules/dashboard/attention.js +57 -0
  262. package/dist/modules/dashboard/attention.js.map +1 -0
  263. package/dist/modules/dashboard/index.d.ts +15 -0
  264. package/dist/modules/dashboard/index.d.ts.map +1 -0
  265. package/dist/modules/dashboard/index.js +44 -0
  266. package/dist/modules/dashboard/index.js.map +1 -0
  267. package/dist/modules/dashboard/repository.d.ts +83 -0
  268. package/dist/modules/dashboard/repository.d.ts.map +1 -0
  269. package/dist/modules/dashboard/repository.js +217 -0
  270. package/dist/modules/dashboard/repository.js.map +1 -0
  271. package/dist/modules/dashboard/routes.d.ts +21 -0
  272. package/dist/modules/dashboard/routes.d.ts.map +1 -0
  273. package/dist/modules/dashboard/routes.js +116 -0
  274. package/dist/modules/dashboard/routes.js.map +1 -0
  275. package/dist/modules/dashboard/service.d.ts +122 -0
  276. package/dist/modules/dashboard/service.d.ts.map +1 -0
  277. package/dist/modules/dashboard/service.js +215 -0
  278. package/dist/modules/dashboard/service.js.map +1 -0
  279. package/dist/modules/dashboard/tools.d.ts +4 -0
  280. package/dist/modules/dashboard/tools.d.ts.map +1 -0
  281. package/dist/modules/dashboard/tools.js +33 -0
  282. package/dist/modules/dashboard/tools.js.map +1 -0
  283. package/dist/modules/deals/index.d.ts +11 -0
  284. package/dist/modules/deals/index.d.ts.map +1 -0
  285. package/dist/modules/deals/index.js +38 -0
  286. package/dist/modules/deals/index.js.map +1 -0
  287. package/dist/modules/deals/repository.d.ts +44 -0
  288. package/dist/modules/deals/repository.d.ts.map +1 -0
  289. package/dist/modules/deals/repository.js +160 -0
  290. package/dist/modules/deals/repository.js.map +1 -0
  291. package/dist/modules/deals/routes.d.ts +50 -0
  292. package/dist/modules/deals/routes.d.ts.map +1 -0
  293. package/dist/modules/deals/routes.js +132 -0
  294. package/dist/modules/deals/routes.js.map +1 -0
  295. package/dist/modules/deals/schema.d.ts +419 -0
  296. package/dist/modules/deals/schema.d.ts.map +1 -0
  297. package/dist/modules/deals/schema.js +61 -0
  298. package/dist/modules/deals/schema.js.map +1 -0
  299. package/dist/modules/deals/service.d.ts +71 -0
  300. package/dist/modules/deals/service.d.ts.map +1 -0
  301. package/dist/modules/deals/service.js +277 -0
  302. package/dist/modules/deals/service.js.map +1 -0
  303. package/dist/modules/deals/tools.d.ts +4 -0
  304. package/dist/modules/deals/tools.d.ts.map +1 -0
  305. package/dist/modules/deals/tools.js +33 -0
  306. package/dist/modules/deals/tools.js.map +1 -0
  307. package/dist/modules/decisions/index.d.ts +11 -0
  308. package/dist/modules/decisions/index.d.ts.map +1 -0
  309. package/dist/modules/decisions/index.js +34 -0
  310. package/dist/modules/decisions/index.js.map +1 -0
  311. package/dist/modules/decisions/repository.d.ts +38 -0
  312. package/dist/modules/decisions/repository.d.ts.map +1 -0
  313. package/dist/modules/decisions/repository.js +126 -0
  314. package/dist/modules/decisions/repository.js.map +1 -0
  315. package/dist/modules/decisions/routes.d.ts +42 -0
  316. package/dist/modules/decisions/routes.d.ts.map +1 -0
  317. package/dist/modules/decisions/routes.js +131 -0
  318. package/dist/modules/decisions/routes.js.map +1 -0
  319. package/dist/modules/decisions/schema.d.ts +228 -0
  320. package/dist/modules/decisions/schema.d.ts.map +1 -0
  321. package/dist/modules/decisions/schema.js +41 -0
  322. package/dist/modules/decisions/schema.js.map +1 -0
  323. package/dist/modules/decisions/service.d.ts +60 -0
  324. package/dist/modules/decisions/service.d.ts.map +1 -0
  325. package/dist/modules/decisions/service.js +122 -0
  326. package/dist/modules/decisions/service.js.map +1 -0
  327. package/dist/modules/decisions/tools.d.ts +4 -0
  328. package/dist/modules/decisions/tools.d.ts.map +1 -0
  329. package/dist/modules/decisions/tools.js +32 -0
  330. package/dist/modules/decisions/tools.js.map +1 -0
  331. package/dist/modules/forms/embed.d.ts +50 -0
  332. package/dist/modules/forms/embed.d.ts.map +1 -0
  333. package/dist/modules/forms/embed.js +236 -0
  334. package/dist/modules/forms/embed.js.map +1 -0
  335. package/dist/modules/forms/fields.d.ts +71 -0
  336. package/dist/modules/forms/fields.d.ts.map +1 -0
  337. package/dist/modules/forms/fields.js +122 -0
  338. package/dist/modules/forms/fields.js.map +1 -0
  339. package/dist/modules/forms/index.d.ts +15 -0
  340. package/dist/modules/forms/index.d.ts.map +1 -0
  341. package/dist/modules/forms/index.js +53 -0
  342. package/dist/modules/forms/index.js.map +1 -0
  343. package/dist/modules/forms/mapping.d.ts +99 -0
  344. package/dist/modules/forms/mapping.d.ts.map +1 -0
  345. package/dist/modules/forms/mapping.js +152 -0
  346. package/dist/modules/forms/mapping.js.map +1 -0
  347. package/dist/modules/forms/publicRoutes.d.ts +11 -0
  348. package/dist/modules/forms/publicRoutes.d.ts.map +1 -0
  349. package/dist/modules/forms/publicRoutes.js +68 -0
  350. package/dist/modules/forms/publicRoutes.js.map +1 -0
  351. package/dist/modules/forms/repository.d.ts +65 -0
  352. package/dist/modules/forms/repository.d.ts.map +1 -0
  353. package/dist/modules/forms/repository.js +139 -0
  354. package/dist/modules/forms/repository.js.map +1 -0
  355. package/dist/modules/forms/routes.d.ts +106 -0
  356. package/dist/modules/forms/routes.d.ts.map +1 -0
  357. package/dist/modules/forms/routes.js +204 -0
  358. package/dist/modules/forms/routes.js.map +1 -0
  359. package/dist/modules/forms/schema.d.ts +643 -0
  360. package/dist/modules/forms/schema.d.ts.map +1 -0
  361. package/dist/modules/forms/schema.js +87 -0
  362. package/dist/modules/forms/schema.js.map +1 -0
  363. package/dist/modules/forms/service.d.ts +62 -0
  364. package/dist/modules/forms/service.d.ts.map +1 -0
  365. package/dist/modules/forms/service.js +208 -0
  366. package/dist/modules/forms/service.js.map +1 -0
  367. package/dist/modules/forms/submission.d.ts +30 -0
  368. package/dist/modules/forms/submission.d.ts.map +1 -0
  369. package/dist/modules/forms/submission.js +337 -0
  370. package/dist/modules/forms/submission.js.map +1 -0
  371. package/dist/modules/forms/tools.d.ts +4 -0
  372. package/dist/modules/forms/tools.d.ts.map +1 -0
  373. package/dist/modules/forms/tools.js +46 -0
  374. package/dist/modules/forms/tools.js.map +1 -0
  375. package/dist/modules/handbook/index.d.ts +15 -0
  376. package/dist/modules/handbook/index.d.ts.map +1 -0
  377. package/dist/modules/handbook/index.js +37 -0
  378. package/dist/modules/handbook/index.js.map +1 -0
  379. package/dist/modules/handbook/repository.d.ts +52 -0
  380. package/dist/modules/handbook/repository.d.ts.map +1 -0
  381. package/dist/modules/handbook/repository.js +109 -0
  382. package/dist/modules/handbook/repository.js.map +1 -0
  383. package/dist/modules/handbook/routes.d.ts +38 -0
  384. package/dist/modules/handbook/routes.d.ts.map +1 -0
  385. package/dist/modules/handbook/routes.js +103 -0
  386. package/dist/modules/handbook/routes.js.map +1 -0
  387. package/dist/modules/handbook/schema.d.ts +206 -0
  388. package/dist/modules/handbook/schema.d.ts.map +1 -0
  389. package/dist/modules/handbook/schema.js +37 -0
  390. package/dist/modules/handbook/schema.js.map +1 -0
  391. package/dist/modules/handbook/service.d.ts +59 -0
  392. package/dist/modules/handbook/service.d.ts.map +1 -0
  393. package/dist/modules/handbook/service.js +246 -0
  394. package/dist/modules/handbook/service.js.map +1 -0
  395. package/dist/modules/handbook/slugs.d.ts +28 -0
  396. package/dist/modules/handbook/slugs.d.ts.map +1 -0
  397. package/dist/modules/handbook/slugs.js +48 -0
  398. package/dist/modules/handbook/slugs.js.map +1 -0
  399. package/dist/modules/handbook/tools.d.ts +4 -0
  400. package/dist/modules/handbook/tools.d.ts.map +1 -0
  401. package/dist/modules/handbook/tools.js +26 -0
  402. package/dist/modules/handbook/tools.js.map +1 -0
  403. package/dist/modules/handbook/tree.d.ts +69 -0
  404. package/dist/modules/handbook/tree.d.ts.map +1 -0
  405. package/dist/modules/handbook/tree.js +117 -0
  406. package/dist/modules/handbook/tree.js.map +1 -0
  407. package/dist/modules/hiring/candidates.d.ts +70 -0
  408. package/dist/modules/hiring/candidates.d.ts.map +1 -0
  409. package/dist/modules/hiring/candidates.js +243 -0
  410. package/dist/modules/hiring/candidates.js.map +1 -0
  411. package/dist/modules/hiring/index.d.ts +15 -0
  412. package/dist/modules/hiring/index.d.ts.map +1 -0
  413. package/dist/modules/hiring/index.js +48 -0
  414. package/dist/modules/hiring/index.js.map +1 -0
  415. package/dist/modules/hiring/repository.d.ts +52 -0
  416. package/dist/modules/hiring/repository.d.ts.map +1 -0
  417. package/dist/modules/hiring/repository.js +137 -0
  418. package/dist/modules/hiring/repository.js.map +1 -0
  419. package/dist/modules/hiring/roles.d.ts +42 -0
  420. package/dist/modules/hiring/roles.d.ts.map +1 -0
  421. package/dist/modules/hiring/roles.js +104 -0
  422. package/dist/modules/hiring/roles.js.map +1 -0
  423. package/dist/modules/hiring/routes.d.ts +73 -0
  424. package/dist/modules/hiring/routes.d.ts.map +1 -0
  425. package/dist/modules/hiring/routes.js +170 -0
  426. package/dist/modules/hiring/routes.js.map +1 -0
  427. package/dist/modules/hiring/schema.d.ts +308 -0
  428. package/dist/modules/hiring/schema.d.ts.map +1 -0
  429. package/dist/modules/hiring/schema.js +62 -0
  430. package/dist/modules/hiring/schema.js.map +1 -0
  431. package/dist/modules/hiring/tools.d.ts +8 -0
  432. package/dist/modules/hiring/tools.d.ts.map +1 -0
  433. package/dist/modules/hiring/tools.js +50 -0
  434. package/dist/modules/hiring/tools.js.map +1 -0
  435. package/dist/modules/import-export/csv.d.ts +47 -0
  436. package/dist/modules/import-export/csv.d.ts.map +1 -0
  437. package/dist/modules/import-export/csv.js +138 -0
  438. package/dist/modules/import-export/csv.js.map +1 -0
  439. package/dist/modules/import-export/drafts.d.ts +83 -0
  440. package/dist/modules/import-export/drafts.d.ts.map +1 -0
  441. package/dist/modules/import-export/drafts.js +97 -0
  442. package/dist/modules/import-export/drafts.js.map +1 -0
  443. package/dist/modules/import-export/exportRows.d.ts +8 -0
  444. package/dist/modules/import-export/exportRows.d.ts.map +1 -0
  445. package/dist/modules/import-export/exportRows.js +71 -0
  446. package/dist/modules/import-export/exportRows.js.map +1 -0
  447. package/dist/modules/import-export/index.d.ts +15 -0
  448. package/dist/modules/import-export/index.d.ts.map +1 -0
  449. package/dist/modules/import-export/index.js +43 -0
  450. package/dist/modules/import-export/index.js.map +1 -0
  451. package/dist/modules/import-export/mapping.d.ts +46 -0
  452. package/dist/modules/import-export/mapping.d.ts.map +1 -0
  453. package/dist/modules/import-export/mapping.js +115 -0
  454. package/dist/modules/import-export/mapping.js.map +1 -0
  455. package/dist/modules/import-export/plan.d.ts +107 -0
  456. package/dist/modules/import-export/plan.d.ts.map +1 -0
  457. package/dist/modules/import-export/plan.js +178 -0
  458. package/dist/modules/import-export/plan.js.map +1 -0
  459. package/dist/modules/import-export/presets.d.ts +39 -0
  460. package/dist/modules/import-export/presets.d.ts.map +1 -0
  461. package/dist/modules/import-export/presets.js +151 -0
  462. package/dist/modules/import-export/presets.js.map +1 -0
  463. package/dist/modules/import-export/repository.d.ts +171 -0
  464. package/dist/modules/import-export/repository.d.ts.map +1 -0
  465. package/dist/modules/import-export/repository.js +343 -0
  466. package/dist/modules/import-export/repository.js.map +1 -0
  467. package/dist/modules/import-export/routes.d.ts +9 -0
  468. package/dist/modules/import-export/routes.d.ts.map +1 -0
  469. package/dist/modules/import-export/routes.js +199 -0
  470. package/dist/modules/import-export/routes.js.map +1 -0
  471. package/dist/modules/import-export/schema.d.ts +494 -0
  472. package/dist/modules/import-export/schema.d.ts.map +1 -0
  473. package/dist/modules/import-export/schema.js +99 -0
  474. package/dist/modules/import-export/schema.js.map +1 -0
  475. package/dist/modules/import-export/service.d.ts +74 -0
  476. package/dist/modules/import-export/service.d.ts.map +1 -0
  477. package/dist/modules/import-export/service.js +561 -0
  478. package/dist/modules/import-export/service.js.map +1 -0
  479. package/dist/modules/import-export/streams.d.ts +4 -0
  480. package/dist/modules/import-export/streams.d.ts.map +1 -0
  481. package/dist/modules/import-export/streams.js +55 -0
  482. package/dist/modules/import-export/streams.js.map +1 -0
  483. package/dist/modules/import-export/tools.d.ts +22 -0
  484. package/dist/modules/import-export/tools.d.ts.map +1 -0
  485. package/dist/modules/import-export/tools.js +116 -0
  486. package/dist/modules/import-export/tools.js.map +1 -0
  487. package/dist/modules/import-export/validation.d.ts +7 -0
  488. package/dist/modules/import-export/validation.d.ts.map +1 -0
  489. package/dist/modules/import-export/validation.js +114 -0
  490. package/dist/modules/import-export/validation.js.map +1 -0
  491. package/dist/modules/import-export/writes.d.ts +45 -0
  492. package/dist/modules/import-export/writes.d.ts.map +1 -0
  493. package/dist/modules/import-export/writes.js +247 -0
  494. package/dist/modules/import-export/writes.js.map +1 -0
  495. package/dist/modules/integrations/schema.d.ts +185 -0
  496. package/dist/modules/integrations/schema.d.ts.map +1 -0
  497. package/dist/modules/integrations/schema.js +26 -0
  498. package/dist/modules/integrations/schema.js.map +1 -0
  499. package/dist/modules/mcp/index.d.ts +26 -0
  500. package/dist/modules/mcp/index.d.ts.map +1 -0
  501. package/dist/modules/mcp/index.js +45 -0
  502. package/dist/modules/mcp/index.js.map +1 -0
  503. package/dist/modules/mcp/protocol.d.ts +166 -0
  504. package/dist/modules/mcp/protocol.d.ts.map +1 -0
  505. package/dist/modules/mcp/protocol.js +292 -0
  506. package/dist/modules/mcp/protocol.js.map +1 -0
  507. package/dist/modules/mcp/router.d.ts +23 -0
  508. package/dist/modules/mcp/router.d.ts.map +1 -0
  509. package/dist/modules/mcp/router.js +298 -0
  510. package/dist/modules/mcp/router.js.map +1 -0
  511. package/dist/modules/notes/index.d.ts +9 -0
  512. package/dist/modules/notes/index.d.ts.map +1 -0
  513. package/dist/modules/notes/index.js +37 -0
  514. package/dist/modules/notes/index.js.map +1 -0
  515. package/dist/modules/notes/repository.d.ts +34 -0
  516. package/dist/modules/notes/repository.d.ts.map +1 -0
  517. package/dist/modules/notes/repository.js +70 -0
  518. package/dist/modules/notes/repository.js.map +1 -0
  519. package/dist/modules/notes/routes.d.ts +37 -0
  520. package/dist/modules/notes/routes.d.ts.map +1 -0
  521. package/dist/modules/notes/routes.js +124 -0
  522. package/dist/modules/notes/routes.js.map +1 -0
  523. package/dist/modules/notes/schema.d.ts +176 -0
  524. package/dist/modules/notes/schema.d.ts.map +1 -0
  525. package/dist/modules/notes/schema.js +35 -0
  526. package/dist/modules/notes/schema.js.map +1 -0
  527. package/dist/modules/notes/service.d.ts +49 -0
  528. package/dist/modules/notes/service.d.ts.map +1 -0
  529. package/dist/modules/notes/service.js +118 -0
  530. package/dist/modules/notes/service.js.map +1 -0
  531. package/dist/modules/notes/tools.d.ts +4 -0
  532. package/dist/modules/notes/tools.d.ts.map +1 -0
  533. package/dist/modules/notes/tools.js +41 -0
  534. package/dist/modules/notes/tools.js.map +1 -0
  535. package/dist/modules/opportunities/index.d.ts +11 -0
  536. package/dist/modules/opportunities/index.d.ts.map +1 -0
  537. package/dist/modules/opportunities/index.js +38 -0
  538. package/dist/modules/opportunities/index.js.map +1 -0
  539. package/dist/modules/opportunities/repository.d.ts +28 -0
  540. package/dist/modules/opportunities/repository.d.ts.map +1 -0
  541. package/dist/modules/opportunities/repository.js +89 -0
  542. package/dist/modules/opportunities/repository.js.map +1 -0
  543. package/dist/modules/opportunities/routes.d.ts +39 -0
  544. package/dist/modules/opportunities/routes.d.ts.map +1 -0
  545. package/dist/modules/opportunities/routes.js +104 -0
  546. package/dist/modules/opportunities/routes.js.map +1 -0
  547. package/dist/modules/opportunities/schema.d.ts +266 -0
  548. package/dist/modules/opportunities/schema.d.ts.map +1 -0
  549. package/dist/modules/opportunities/schema.js +41 -0
  550. package/dist/modules/opportunities/schema.js.map +1 -0
  551. package/dist/modules/opportunities/service.d.ts +60 -0
  552. package/dist/modules/opportunities/service.d.ts.map +1 -0
  553. package/dist/modules/opportunities/service.js +212 -0
  554. package/dist/modules/opportunities/service.js.map +1 -0
  555. package/dist/modules/opportunities/tools.d.ts +4 -0
  556. package/dist/modules/opportunities/tools.d.ts.map +1 -0
  557. package/dist/modules/opportunities/tools.js +33 -0
  558. package/dist/modules/opportunities/tools.js.map +1 -0
  559. package/dist/modules/partnerships/index.d.ts +11 -0
  560. package/dist/modules/partnerships/index.d.ts.map +1 -0
  561. package/dist/modules/partnerships/index.js +38 -0
  562. package/dist/modules/partnerships/index.js.map +1 -0
  563. package/dist/modules/partnerships/repository.d.ts +47 -0
  564. package/dist/modules/partnerships/repository.d.ts.map +1 -0
  565. package/dist/modules/partnerships/repository.js +169 -0
  566. package/dist/modules/partnerships/repository.js.map +1 -0
  567. package/dist/modules/partnerships/routes.d.ts +46 -0
  568. package/dist/modules/partnerships/routes.d.ts.map +1 -0
  569. package/dist/modules/partnerships/routes.js +122 -0
  570. package/dist/modules/partnerships/routes.js.map +1 -0
  571. package/dist/modules/partnerships/schema.d.ts +338 -0
  572. package/dist/modules/partnerships/schema.d.ts.map +1 -0
  573. package/dist/modules/partnerships/schema.js +54 -0
  574. package/dist/modules/partnerships/schema.js.map +1 -0
  575. package/dist/modules/partnerships/service.d.ts +71 -0
  576. package/dist/modules/partnerships/service.d.ts.map +1 -0
  577. package/dist/modules/partnerships/service.js +273 -0
  578. package/dist/modules/partnerships/service.js.map +1 -0
  579. package/dist/modules/partnerships/tools.d.ts +4 -0
  580. package/dist/modules/partnerships/tools.d.ts.map +1 -0
  581. package/dist/modules/partnerships/tools.js +35 -0
  582. package/dist/modules/partnerships/tools.js.map +1 -0
  583. package/dist/modules/people/index.d.ts +9 -0
  584. package/dist/modules/people/index.d.ts.map +1 -0
  585. package/dist/modules/people/index.js +37 -0
  586. package/dist/modules/people/index.js.map +1 -0
  587. package/dist/modules/people/repository.d.ts +31 -0
  588. package/dist/modules/people/repository.d.ts.map +1 -0
  589. package/dist/modules/people/repository.js +109 -0
  590. package/dist/modules/people/repository.js.map +1 -0
  591. package/dist/modules/people/routes.d.ts +111 -0
  592. package/dist/modules/people/routes.d.ts.map +1 -0
  593. package/dist/modules/people/routes.js +134 -0
  594. package/dist/modules/people/routes.js.map +1 -0
  595. package/dist/modules/people/schema.d.ts +354 -0
  596. package/dist/modules/people/schema.d.ts.map +1 -0
  597. package/dist/modules/people/schema.js +61 -0
  598. package/dist/modules/people/schema.js.map +1 -0
  599. package/dist/modules/people/service.d.ts +56 -0
  600. package/dist/modules/people/service.d.ts.map +1 -0
  601. package/dist/modules/people/service.js +190 -0
  602. package/dist/modules/people/service.js.map +1 -0
  603. package/dist/modules/people/tools.d.ts +4 -0
  604. package/dist/modules/people/tools.d.ts.map +1 -0
  605. package/dist/modules/people/tools.js +27 -0
  606. package/dist/modules/people/tools.js.map +1 -0
  607. package/dist/modules/pipelines/index.d.ts +9 -0
  608. package/dist/modules/pipelines/index.d.ts.map +1 -0
  609. package/dist/modules/pipelines/index.js +37 -0
  610. package/dist/modules/pipelines/index.js.map +1 -0
  611. package/dist/modules/pipelines/repository.d.ts +26 -0
  612. package/dist/modules/pipelines/repository.d.ts.map +1 -0
  613. package/dist/modules/pipelines/repository.js +67 -0
  614. package/dist/modules/pipelines/repository.js.map +1 -0
  615. package/dist/modules/pipelines/routes.d.ts +33 -0
  616. package/dist/modules/pipelines/routes.d.ts.map +1 -0
  617. package/dist/modules/pipelines/routes.js +98 -0
  618. package/dist/modules/pipelines/routes.js.map +1 -0
  619. package/dist/modules/pipelines/schema.d.ts +170 -0
  620. package/dist/modules/pipelines/schema.d.ts.map +1 -0
  621. package/dist/modules/pipelines/schema.js +30 -0
  622. package/dist/modules/pipelines/schema.js.map +1 -0
  623. package/dist/modules/pipelines/service.d.ts +49 -0
  624. package/dist/modules/pipelines/service.d.ts.map +1 -0
  625. package/dist/modules/pipelines/service.js +227 -0
  626. package/dist/modules/pipelines/service.js.map +1 -0
  627. package/dist/modules/pipelines/tools.d.ts +4 -0
  628. package/dist/modules/pipelines/tools.d.ts.map +1 -0
  629. package/dist/modules/pipelines/tools.js +43 -0
  630. package/dist/modules/pipelines/tools.js.map +1 -0
  631. package/dist/modules/plans/index.d.ts +10 -0
  632. package/dist/modules/plans/index.d.ts.map +1 -0
  633. package/dist/modules/plans/index.js +33 -0
  634. package/dist/modules/plans/index.js.map +1 -0
  635. package/dist/modules/plans/repository.d.ts +49 -0
  636. package/dist/modules/plans/repository.d.ts.map +1 -0
  637. package/dist/modules/plans/repository.js +94 -0
  638. package/dist/modules/plans/repository.js.map +1 -0
  639. package/dist/modules/plans/routes.d.ts +46 -0
  640. package/dist/modules/plans/routes.d.ts.map +1 -0
  641. package/dist/modules/plans/routes.js +152 -0
  642. package/dist/modules/plans/routes.js.map +1 -0
  643. package/dist/modules/plans/schema.d.ts +209 -0
  644. package/dist/modules/plans/schema.d.ts.map +1 -0
  645. package/dist/modules/plans/schema.js +37 -0
  646. package/dist/modules/plans/schema.js.map +1 -0
  647. package/dist/modules/plans/service.d.ts +57 -0
  648. package/dist/modules/plans/service.d.ts.map +1 -0
  649. package/dist/modules/plans/service.js +125 -0
  650. package/dist/modules/plans/service.js.map +1 -0
  651. package/dist/modules/plans/tools.d.ts +4 -0
  652. package/dist/modules/plans/tools.d.ts.map +1 -0
  653. package/dist/modules/plans/tools.js +39 -0
  654. package/dist/modules/plans/tools.js.map +1 -0
  655. package/dist/modules/positions/index.d.ts +9 -0
  656. package/dist/modules/positions/index.d.ts.map +1 -0
  657. package/dist/modules/positions/index.js +36 -0
  658. package/dist/modules/positions/index.js.map +1 -0
  659. package/dist/modules/positions/repository.d.ts +34 -0
  660. package/dist/modules/positions/repository.d.ts.map +1 -0
  661. package/dist/modules/positions/repository.js +71 -0
  662. package/dist/modules/positions/repository.js.map +1 -0
  663. package/dist/modules/positions/routes.d.ts +22 -0
  664. package/dist/modules/positions/routes.d.ts.map +1 -0
  665. package/dist/modules/positions/routes.js +56 -0
  666. package/dist/modules/positions/routes.js.map +1 -0
  667. package/dist/modules/positions/schema.d.ts +154 -0
  668. package/dist/modules/positions/schema.d.ts.map +1 -0
  669. package/dist/modules/positions/schema.js +36 -0
  670. package/dist/modules/positions/schema.js.map +1 -0
  671. package/dist/modules/positions/service.d.ts +46 -0
  672. package/dist/modules/positions/service.d.ts.map +1 -0
  673. package/dist/modules/positions/service.js +159 -0
  674. package/dist/modules/positions/service.js.map +1 -0
  675. package/dist/modules/positions/tools.d.ts +4 -0
  676. package/dist/modules/positions/tools.d.ts.map +1 -0
  677. package/dist/modules/positions/tools.js +26 -0
  678. package/dist/modules/positions/tools.js.map +1 -0
  679. package/dist/modules/raises/index.d.ts +11 -0
  680. package/dist/modules/raises/index.d.ts.map +1 -0
  681. package/dist/modules/raises/index.js +38 -0
  682. package/dist/modules/raises/index.js.map +1 -0
  683. package/dist/modules/raises/repository.d.ts +48 -0
  684. package/dist/modules/raises/repository.d.ts.map +1 -0
  685. package/dist/modules/raises/repository.js +164 -0
  686. package/dist/modules/raises/repository.js.map +1 -0
  687. package/dist/modules/raises/routes.d.ts +48 -0
  688. package/dist/modules/raises/routes.d.ts.map +1 -0
  689. package/dist/modules/raises/routes.js +126 -0
  690. package/dist/modules/raises/routes.js.map +1 -0
  691. package/dist/modules/raises/schema.d.ts +356 -0
  692. package/dist/modules/raises/schema.d.ts.map +1 -0
  693. package/dist/modules/raises/schema.js +55 -0
  694. package/dist/modules/raises/schema.js.map +1 -0
  695. package/dist/modules/raises/service.d.ts +79 -0
  696. package/dist/modules/raises/service.d.ts.map +1 -0
  697. package/dist/modules/raises/service.js +275 -0
  698. package/dist/modules/raises/service.js.map +1 -0
  699. package/dist/modules/raises/tools.d.ts +4 -0
  700. package/dist/modules/raises/tools.d.ts.map +1 -0
  701. package/dist/modules/raises/tools.js +33 -0
  702. package/dist/modules/raises/tools.js.map +1 -0
  703. package/dist/modules/recordTargets.d.ts +55 -0
  704. package/dist/modules/recordTargets.d.ts.map +1 -0
  705. package/dist/modules/recordTargets.js +107 -0
  706. package/dist/modules/recordTargets.js.map +1 -0
  707. package/dist/modules/references.d.ts +8 -0
  708. package/dist/modules/references.d.ts.map +1 -0
  709. package/dist/modules/references.js +40 -0
  710. package/dist/modules/references.js.map +1 -0
  711. package/dist/modules/reseal.d.ts +33 -0
  712. package/dist/modules/reseal.d.ts.map +1 -0
  713. package/dist/modules/reseal.js +108 -0
  714. package/dist/modules/reseal.js.map +1 -0
  715. package/dist/modules/search/index.d.ts +21 -0
  716. package/dist/modules/search/index.d.ts.map +1 -0
  717. package/dist/modules/search/index.js +50 -0
  718. package/dist/modules/search/index.js.map +1 -0
  719. package/dist/modules/search/query.d.ts +44 -0
  720. package/dist/modules/search/query.d.ts.map +1 -0
  721. package/dist/modules/search/query.js +88 -0
  722. package/dist/modules/search/query.js.map +1 -0
  723. package/dist/modules/search/repository.d.ts +44 -0
  724. package/dist/modules/search/repository.d.ts.map +1 -0
  725. package/dist/modules/search/repository.js +252 -0
  726. package/dist/modules/search/repository.js.map +1 -0
  727. package/dist/modules/search/routes.d.ts +17 -0
  728. package/dist/modules/search/routes.d.ts.map +1 -0
  729. package/dist/modules/search/routes.js +93 -0
  730. package/dist/modules/search/routes.js.map +1 -0
  731. package/dist/modules/search/service.d.ts +55 -0
  732. package/dist/modules/search/service.d.ts.map +1 -0
  733. package/dist/modules/search/service.js +69 -0
  734. package/dist/modules/search/service.js.map +1 -0
  735. package/dist/modules/search/tools.d.ts +4 -0
  736. package/dist/modules/search/tools.d.ts.map +1 -0
  737. package/dist/modules/search/tools.js +52 -0
  738. package/dist/modules/search/tools.js.map +1 -0
  739. package/dist/modules/stagedRecords.d.ts +28 -0
  740. package/dist/modules/stagedRecords.d.ts.map +1 -0
  741. package/dist/modules/stagedRecords.js +50 -0
  742. package/dist/modules/stagedRecords.js.map +1 -0
  743. package/dist/modules/webhooks/delivery.d.ts +98 -0
  744. package/dist/modules/webhooks/delivery.d.ts.map +1 -0
  745. package/dist/modules/webhooks/delivery.js +237 -0
  746. package/dist/modules/webhooks/delivery.js.map +1 -0
  747. package/dist/modules/webhooks/index.d.ts +23 -0
  748. package/dist/modules/webhooks/index.d.ts.map +1 -0
  749. package/dist/modules/webhooks/index.js +48 -0
  750. package/dist/modules/webhooks/index.js.map +1 -0
  751. package/dist/modules/webhooks/payloads.d.ts +31 -0
  752. package/dist/modules/webhooks/payloads.d.ts.map +1 -0
  753. package/dist/modules/webhooks/payloads.js +52 -0
  754. package/dist/modules/webhooks/payloads.js.map +1 -0
  755. package/dist/modules/webhooks/repository.d.ts +70 -0
  756. package/dist/modules/webhooks/repository.d.ts.map +1 -0
  757. package/dist/modules/webhooks/repository.js +140 -0
  758. package/dist/modules/webhooks/repository.js.map +1 -0
  759. package/dist/modules/webhooks/routes.d.ts +47 -0
  760. package/dist/modules/webhooks/routes.d.ts.map +1 -0
  761. package/dist/modules/webhooks/routes.js +170 -0
  762. package/dist/modules/webhooks/routes.js.map +1 -0
  763. package/dist/modules/webhooks/schema.d.ts +396 -0
  764. package/dist/modules/webhooks/schema.d.ts.map +1 -0
  765. package/dist/modules/webhooks/schema.js +61 -0
  766. package/dist/modules/webhooks/schema.js.map +1 -0
  767. package/dist/modules/webhooks/service.d.ts +65 -0
  768. package/dist/modules/webhooks/service.d.ts.map +1 -0
  769. package/dist/modules/webhooks/service.js +202 -0
  770. package/dist/modules/webhooks/service.js.map +1 -0
  771. package/dist/modules/webhooks/signing.d.ts +57 -0
  772. package/dist/modules/webhooks/signing.d.ts.map +1 -0
  773. package/dist/modules/webhooks/signing.js +69 -0
  774. package/dist/modules/webhooks/signing.js.map +1 -0
  775. package/dist/modules/webhooks/tools.d.ts +4 -0
  776. package/dist/modules/webhooks/tools.d.ts.map +1 -0
  777. package/dist/modules/webhooks/tools.js +77 -0
  778. package/dist/modules/webhooks/tools.js.map +1 -0
  779. package/dist/modules/webhooks/url.d.ts +10 -0
  780. package/dist/modules/webhooks/url.d.ts.map +1 -0
  781. package/dist/modules/webhooks/url.js +9 -0
  782. package/dist/modules/webhooks/url.js.map +1 -0
  783. package/dist/modules/workspace/capabilities.d.ts +9 -0
  784. package/dist/modules/workspace/capabilities.d.ts.map +1 -0
  785. package/dist/modules/workspace/capabilities.js +12 -0
  786. package/dist/modules/workspace/capabilities.js.map +1 -0
  787. package/dist/modules/workspace/idempotencyMiddleware.d.ts +16 -0
  788. package/dist/modules/workspace/idempotencyMiddleware.d.ts.map +1 -0
  789. package/dist/modules/workspace/idempotencyMiddleware.js +142 -0
  790. package/dist/modules/workspace/idempotencyMiddleware.js.map +1 -0
  791. package/dist/modules/workspace/idempotencyRepository.d.ts +43 -0
  792. package/dist/modules/workspace/idempotencyRepository.d.ts.map +1 -0
  793. package/dist/modules/workspace/idempotencyRepository.js +75 -0
  794. package/dist/modules/workspace/idempotencyRepository.js.map +1 -0
  795. package/dist/modules/workspace/index.d.ts +9 -0
  796. package/dist/modules/workspace/index.d.ts.map +1 -0
  797. package/dist/modules/workspace/index.js +53 -0
  798. package/dist/modules/workspace/index.js.map +1 -0
  799. package/dist/modules/workspace/repository.d.ts +112 -0
  800. package/dist/modules/workspace/repository.d.ts.map +1 -0
  801. package/dist/modules/workspace/repository.js +266 -0
  802. package/dist/modules/workspace/repository.js.map +1 -0
  803. package/dist/modules/workspace/roles.d.ts +22 -0
  804. package/dist/modules/workspace/roles.d.ts.map +1 -0
  805. package/dist/modules/workspace/roles.js +31 -0
  806. package/dist/modules/workspace/roles.js.map +1 -0
  807. package/dist/modules/workspace/routes.d.ts +41 -0
  808. package/dist/modules/workspace/routes.d.ts.map +1 -0
  809. package/dist/modules/workspace/routes.js +158 -0
  810. package/dist/modules/workspace/routes.js.map +1 -0
  811. package/dist/modules/workspace/schema.d.ts +719 -0
  812. package/dist/modules/workspace/schema.d.ts.map +1 -0
  813. package/dist/modules/workspace/schema.js +102 -0
  814. package/dist/modules/workspace/schema.js.map +1 -0
  815. package/dist/modules/workspace/service.d.ts +94 -0
  816. package/dist/modules/workspace/service.d.ts.map +1 -0
  817. package/dist/modules/workspace/service.js +528 -0
  818. package/dist/modules/workspace/service.js.map +1 -0
  819. package/dist/modules/workspace/starters.d.ts +22 -0
  820. package/dist/modules/workspace/starters.d.ts.map +1 -0
  821. package/dist/modules/workspace/starters.js +56 -0
  822. package/dist/modules/workspace/starters.js.map +1 -0
  823. package/dist/modules/workspace/tools.d.ts +4 -0
  824. package/dist/modules/workspace/tools.d.ts.map +1 -0
  825. package/dist/modules/workspace/tools.js +95 -0
  826. package/dist/modules/workspace/tools.js.map +1 -0
  827. package/dist/runtime/entitlements.d.ts +66 -0
  828. package/dist/runtime/entitlements.d.ts.map +1 -0
  829. package/dist/runtime/entitlements.js +62 -0
  830. package/dist/runtime/entitlements.js.map +1 -0
  831. package/dist/runtime/events.d.ts +139 -0
  832. package/dist/runtime/events.d.ts.map +1 -0
  833. package/dist/runtime/events.js +98 -0
  834. package/dist/runtime/events.js.map +1 -0
  835. package/dist/runtime/migrate.d.ts +28 -0
  836. package/dist/runtime/migrate.d.ts.map +1 -0
  837. package/dist/runtime/migrate.js +43 -0
  838. package/dist/runtime/migrate.js.map +1 -0
  839. package/dist/runtime/module.d.ts +138 -0
  840. package/dist/runtime/module.d.ts.map +1 -0
  841. package/dist/runtime/module.js +2 -0
  842. package/dist/runtime/module.js.map +1 -0
  843. package/dist/runtime/moduleConfig.d.ts +21 -0
  844. package/dist/runtime/moduleConfig.d.ts.map +1 -0
  845. package/dist/runtime/moduleConfig.js +54 -0
  846. package/dist/runtime/moduleConfig.js.map +1 -0
  847. package/dist/runtime/order.d.ts +21 -0
  848. package/dist/runtime/order.d.ts.map +1 -0
  849. package/dist/runtime/order.js +72 -0
  850. package/dist/runtime/order.js.map +1 -0
  851. package/dist/runtime/registry.d.ts +66 -0
  852. package/dist/runtime/registry.d.ts.map +1 -0
  853. package/dist/runtime/registry.js +148 -0
  854. package/dist/runtime/registry.js.map +1 -0
  855. package/dist/runtime/transaction.d.ts +34 -0
  856. package/dist/runtime/transaction.d.ts.map +1 -0
  857. package/dist/runtime/transaction.js +24 -0
  858. package/dist/runtime/transaction.js.map +1 -0
  859. package/dist/schema/index.d.ts +30 -0
  860. package/dist/schema/index.d.ts.map +1 -0
  861. package/dist/schema/index.js +30 -0
  862. package/dist/schema/index.js.map +1 -0
  863. package/dist/testing/app.d.ts +42 -0
  864. package/dist/testing/app.d.ts.map +1 -0
  865. package/dist/testing/app.js +31 -0
  866. package/dist/testing/app.js.map +1 -0
  867. package/dist/testing/client.d.ts +34 -0
  868. package/dist/testing/client.d.ts.map +1 -0
  869. package/dist/testing/client.js +70 -0
  870. package/dist/testing/client.js.map +1 -0
  871. package/dist/testing/database.d.ts +17 -0
  872. package/dist/testing/database.d.ts.map +1 -0
  873. package/dist/testing/database.js +84 -0
  874. package/dist/testing/database.js.map +1 -0
  875. package/dist/testing/environment.d.ts +17 -0
  876. package/dist/testing/environment.d.ts.map +1 -0
  877. package/dist/testing/environment.js +19 -0
  878. package/dist/testing/environment.js.map +1 -0
  879. package/dist/testing/fixtures.d.ts +22 -0
  880. package/dist/testing/fixtures.d.ts.map +1 -0
  881. package/dist/testing/fixtures.js +55 -0
  882. package/dist/testing/fixtures.js.map +1 -0
  883. package/dist/testing/index.d.ts +10 -0
  884. package/dist/testing/index.d.ts.map +1 -0
  885. package/dist/testing/index.js +6 -0
  886. package/dist/testing/index.js.map +1 -0
  887. package/dist/testing/services.d.ts +18 -0
  888. package/dist/testing/services.d.ts.map +1 -0
  889. package/dist/testing/services.js +43 -0
  890. package/dist/testing/services.js.map +1 -0
  891. package/migrations/0000_initial_schema.sql +597 -0
  892. package/migrations/0001_uneven_lockjaw.sql +11 -0
  893. package/migrations/0002_neat_madame_web.sql +2 -0
  894. package/migrations/0003_bright_shockwave.sql +1 -0
  895. package/migrations/0004_drop_unused_import_columns.sql +2 -0
  896. package/migrations/0005_import_job_rows.sql +23 -0
  897. package/migrations/0006_drop_webhook_secret_hash.sql +1 -0
  898. package/migrations/0007_add_webhook_secret_encrypted.sql +1 -0
  899. package/migrations/0008_rich_mister_sinister.sql +3 -0
  900. package/migrations/0009_natural_proemial_gods.sql +1 -0
  901. package/migrations/0010_fine_brood.sql +1 -0
  902. package/migrations/0011_add_webhook_previous_secret.sql +2 -0
  903. package/migrations/0012_idempotency_keys_response_nullable.sql +1 -0
  904. package/migrations/0013_add_agent_run_failure_reason.sql +1 -0
  905. package/migrations/0014_right_shinko_yamashiro.sql +12 -0
  906. package/migrations/0015_peaceful_chimera.sql +33 -0
  907. package/migrations/meta/0000_snapshot.json +4467 -0
  908. package/migrations/meta/0001_snapshot.json +4539 -0
  909. package/migrations/meta/0002_snapshot.json +4539 -0
  910. package/migrations/meta/0003_snapshot.json +4544 -0
  911. package/migrations/meta/0004_snapshot.json +4531 -0
  912. package/migrations/meta/0005_snapshot.json +4674 -0
  913. package/migrations/meta/0006_snapshot.json +4668 -0
  914. package/migrations/meta/0007_snapshot.json +4674 -0
  915. package/migrations/meta/0008_snapshot.json +4694 -0
  916. package/migrations/meta/0009_snapshot.json +4700 -0
  917. package/migrations/meta/0010_snapshot.json +4694 -0
  918. package/migrations/meta/0011_snapshot.json +4706 -0
  919. package/migrations/meta/0012_snapshot.json +4706 -0
  920. package/migrations/meta/0013_snapshot.json +4712 -0
  921. package/migrations/meta/0014_snapshot.json +4802 -0
  922. package/migrations/meta/0015_snapshot.json +5077 -0
  923. package/migrations/meta/_journal.json +118 -0
  924. package/package.json +68 -0
  925. package/src/app.ts +157 -0
  926. package/src/index.ts +113 -0
  927. package/src/lib/actor.ts +99 -0
  928. package/src/lib/changes.ts +43 -0
  929. package/src/lib/columns.ts +170 -0
  930. package/src/lib/config.ts +86 -0
  931. package/src/lib/database.ts +118 -0
  932. package/src/lib/dates.ts +18 -0
  933. package/src/lib/email.ts +65 -0
  934. package/src/lib/errors.ts +156 -0
  935. package/src/lib/http.ts +109 -0
  936. package/src/lib/ids.ts +61 -0
  937. package/src/lib/logger.ts +73 -0
  938. package/src/lib/moduleConfig.ts +65 -0
  939. package/src/lib/normalisation.ts +36 -0
  940. package/src/lib/pagination.ts +291 -0
  941. package/src/lib/passwords.ts +56 -0
  942. package/src/lib/search.ts +29 -0
  943. package/src/lib/secrets.ts +223 -0
  944. package/src/lib/timezones.ts +59 -0
  945. package/src/lib/tokens.ts +37 -0
  946. package/src/lib/url.ts +52 -0
  947. package/src/modules/activities/index.ts +43 -0
  948. package/src/modules/activities/recorder.ts +108 -0
  949. package/src/modules/activities/repository.ts +196 -0
  950. package/src/modules/activities/routes.ts +78 -0
  951. package/src/modules/activities/schema.ts +41 -0
  952. package/src/modules/activities/service.ts +93 -0
  953. package/src/modules/activities/tools.ts +40 -0
  954. package/src/modules/activities/wording.ts +168 -0
  955. package/src/modules/agent-tasks/catalog.ts +712 -0
  956. package/src/modules/agent-tasks/dispatch.ts +188 -0
  957. package/src/modules/agent-tasks/index.ts +79 -0
  958. package/src/modules/agent-tasks/prompt.ts +140 -0
  959. package/src/modules/agent-tasks/repository.ts +152 -0
  960. package/src/modules/agent-tasks/resolve.ts +704 -0
  961. package/src/modules/agent-tasks/routes.ts +260 -0
  962. package/src/modules/agent-tasks/schema.ts +57 -0
  963. package/src/modules/agent-tasks/service.ts +370 -0
  964. package/src/modules/agent-tasks/wire.ts +61 -0
  965. package/src/modules/api-keys/index.ts +34 -0
  966. package/src/modules/api-keys/keys.ts +59 -0
  967. package/src/modules/api-keys/repository.ts +82 -0
  968. package/src/modules/api-keys/routes.ts +83 -0
  969. package/src/modules/api-keys/schema.ts +28 -0
  970. package/src/modules/api-keys/service.ts +152 -0
  971. package/src/modules/attachedRecords.ts +85 -0
  972. package/src/modules/auth/actor.ts +17 -0
  973. package/src/modules/auth/credentials.ts +153 -0
  974. package/src/modules/auth/index.ts +49 -0
  975. package/src/modules/auth/preferences.ts +57 -0
  976. package/src/modules/auth/repository.ts +240 -0
  977. package/src/modules/auth/routes.ts +247 -0
  978. package/src/modules/auth/schema.ts +77 -0
  979. package/src/modules/auth/service.ts +441 -0
  980. package/src/modules/auth/session.ts +40 -0
  981. package/src/modules/companies/index.ts +43 -0
  982. package/src/modules/companies/repository.ts +185 -0
  983. package/src/modules/companies/routes.ts +170 -0
  984. package/src/modules/companies/schema.ts +66 -0
  985. package/src/modules/companies/service.ts +267 -0
  986. package/src/modules/companies/tools.ts +32 -0
  987. package/src/modules/core.ts +93 -0
  988. package/src/modules/crudTools.ts +226 -0
  989. package/src/modules/dashboard/attention.ts +67 -0
  990. package/src/modules/dashboard/index.ts +49 -0
  991. package/src/modules/dashboard/repository.ts +360 -0
  992. package/src/modules/dashboard/routes.ts +171 -0
  993. package/src/modules/dashboard/service.ts +449 -0
  994. package/src/modules/dashboard/tools.ts +39 -0
  995. package/src/modules/deals/index.ts +44 -0
  996. package/src/modules/deals/repository.ts +251 -0
  997. package/src/modules/deals/routes.ts +166 -0
  998. package/src/modules/deals/schema.ts +72 -0
  999. package/src/modules/deals/service.ts +433 -0
  1000. package/src/modules/deals/tools.ts +39 -0
  1001. package/src/modules/decisions/index.ts +40 -0
  1002. package/src/modules/decisions/repository.ts +204 -0
  1003. package/src/modules/decisions/routes.ts +184 -0
  1004. package/src/modules/decisions/schema.ts +56 -0
  1005. package/src/modules/decisions/service.ts +223 -0
  1006. package/src/modules/decisions/tools.ts +38 -0
  1007. package/src/modules/forms/embed.ts +274 -0
  1008. package/src/modules/forms/fields.ts +206 -0
  1009. package/src/modules/forms/index.ts +61 -0
  1010. package/src/modules/forms/mapping.ts +222 -0
  1011. package/src/modules/forms/publicRoutes.ts +92 -0
  1012. package/src/modules/forms/repository.ts +223 -0
  1013. package/src/modules/forms/routes.ts +276 -0
  1014. package/src/modules/forms/schema.ts +135 -0
  1015. package/src/modules/forms/service.ts +362 -0
  1016. package/src/modules/forms/submission.ts +496 -0
  1017. package/src/modules/forms/tools.ts +66 -0
  1018. package/src/modules/handbook/index.ts +43 -0
  1019. package/src/modules/handbook/repository.ts +173 -0
  1020. package/src/modules/handbook/routes.ts +145 -0
  1021. package/src/modules/handbook/schema.ts +43 -0
  1022. package/src/modules/handbook/service.ts +399 -0
  1023. package/src/modules/handbook/slugs.ts +54 -0
  1024. package/src/modules/handbook/tools.ts +32 -0
  1025. package/src/modules/handbook/tree.ts +158 -0
  1026. package/src/modules/hiring/candidates.ts +391 -0
  1027. package/src/modules/hiring/index.ts +55 -0
  1028. package/src/modules/hiring/repository.ts +244 -0
  1029. package/src/modules/hiring/roles.ts +174 -0
  1030. package/src/modules/hiring/routes.ts +257 -0
  1031. package/src/modules/hiring/schema.ts +93 -0
  1032. package/src/modules/hiring/tools.ts +73 -0
  1033. package/src/modules/import-export/csv.ts +180 -0
  1034. package/src/modules/import-export/drafts.ts +182 -0
  1035. package/src/modules/import-export/exportRows.ts +85 -0
  1036. package/src/modules/import-export/index.ts +49 -0
  1037. package/src/modules/import-export/mapping.ts +154 -0
  1038. package/src/modules/import-export/plan.ts +311 -0
  1039. package/src/modules/import-export/presets.ts +183 -0
  1040. package/src/modules/import-export/repository.ts +603 -0
  1041. package/src/modules/import-export/routes.ts +276 -0
  1042. package/src/modules/import-export/schema.ts +142 -0
  1043. package/src/modules/import-export/service.ts +842 -0
  1044. package/src/modules/import-export/streams.ts +98 -0
  1045. package/src/modules/import-export/tools.ts +153 -0
  1046. package/src/modules/import-export/validation.ts +163 -0
  1047. package/src/modules/import-export/writes.ts +365 -0
  1048. package/src/modules/integrations/schema.ts +31 -0
  1049. package/src/modules/mcp/index.ts +52 -0
  1050. package/src/modules/mcp/protocol.ts +442 -0
  1051. package/src/modules/mcp/router.ts +425 -0
  1052. package/src/modules/notes/index.ts +43 -0
  1053. package/src/modules/notes/repository.ts +130 -0
  1054. package/src/modules/notes/routes.ts +170 -0
  1055. package/src/modules/notes/schema.ts +42 -0
  1056. package/src/modules/notes/service.ts +204 -0
  1057. package/src/modules/notes/tools.ts +46 -0
  1058. package/src/modules/opportunities/index.ts +44 -0
  1059. package/src/modules/opportunities/repository.ts +157 -0
  1060. package/src/modules/opportunities/routes.ts +152 -0
  1061. package/src/modules/opportunities/schema.ts +47 -0
  1062. package/src/modules/opportunities/service.ts +342 -0
  1063. package/src/modules/opportunities/tools.ts +39 -0
  1064. package/src/modules/partnerships/index.ts +44 -0
  1065. package/src/modules/partnerships/repository.ts +274 -0
  1066. package/src/modules/partnerships/routes.ts +170 -0
  1067. package/src/modules/partnerships/schema.ts +65 -0
  1068. package/src/modules/partnerships/service.ts +442 -0
  1069. package/src/modules/partnerships/tools.ts +41 -0
  1070. package/src/modules/people/index.ts +43 -0
  1071. package/src/modules/people/repository.ts +167 -0
  1072. package/src/modules/people/routes.ts +175 -0
  1073. package/src/modules/people/schema.ts +89 -0
  1074. package/src/modules/people/service.ts +284 -0
  1075. package/src/modules/people/tools.ts +32 -0
  1076. package/src/modules/pipelines/index.ts +43 -0
  1077. package/src/modules/pipelines/repository.ts +116 -0
  1078. package/src/modules/pipelines/routes.ts +157 -0
  1079. package/src/modules/pipelines/schema.ts +37 -0
  1080. package/src/modules/pipelines/service.ts +339 -0
  1081. package/src/modules/pipelines/tools.ts +52 -0
  1082. package/src/modules/plans/index.ts +39 -0
  1083. package/src/modules/plans/repository.ts +174 -0
  1084. package/src/modules/plans/routes.ts +212 -0
  1085. package/src/modules/plans/schema.ts +45 -0
  1086. package/src/modules/plans/service.ts +223 -0
  1087. package/src/modules/plans/tools.ts +45 -0
  1088. package/src/modules/positions/index.ts +42 -0
  1089. package/src/modules/positions/repository.ts +136 -0
  1090. package/src/modules/positions/routes.ts +97 -0
  1091. package/src/modules/positions/schema.ts +42 -0
  1092. package/src/modules/positions/service.ts +253 -0
  1093. package/src/modules/positions/tools.ts +32 -0
  1094. package/src/modules/raises/index.ts +44 -0
  1095. package/src/modules/raises/repository.ts +254 -0
  1096. package/src/modules/raises/routes.ts +160 -0
  1097. package/src/modules/raises/schema.ts +66 -0
  1098. package/src/modules/raises/service.ts +442 -0
  1099. package/src/modules/raises/tools.ts +39 -0
  1100. package/src/modules/recordTargets.ts +194 -0
  1101. package/src/modules/references.ts +44 -0
  1102. package/src/modules/reseal.ts +178 -0
  1103. package/src/modules/search/index.ts +55 -0
  1104. package/src/modules/search/query.ts +104 -0
  1105. package/src/modules/search/repository.ts +388 -0
  1106. package/src/modules/search/routes.ts +131 -0
  1107. package/src/modules/search/service.ts +153 -0
  1108. package/src/modules/search/tools.ts +60 -0
  1109. package/src/modules/stagedRecords.ts +91 -0
  1110. package/src/modules/webhooks/delivery.ts +349 -0
  1111. package/src/modules/webhooks/index.ts +85 -0
  1112. package/src/modules/webhooks/payloads.ts +84 -0
  1113. package/src/modules/webhooks/repository.ts +244 -0
  1114. package/src/modules/webhooks/routes.ts +240 -0
  1115. package/src/modules/webhooks/schema.ts +78 -0
  1116. package/src/modules/webhooks/service.ts +347 -0
  1117. package/src/modules/webhooks/signing.ts +95 -0
  1118. package/src/modules/webhooks/tools.ts +108 -0
  1119. package/src/modules/webhooks/url.ts +21 -0
  1120. package/src/modules/workspace/capabilities.ts +14 -0
  1121. package/src/modules/workspace/idempotencyMiddleware.ts +207 -0
  1122. package/src/modules/workspace/idempotencyRepository.ts +111 -0
  1123. package/src/modules/workspace/index.ts +64 -0
  1124. package/src/modules/workspace/repository.ts +420 -0
  1125. package/src/modules/workspace/roles.ts +38 -0
  1126. package/src/modules/workspace/routes.ts +255 -0
  1127. package/src/modules/workspace/schema.ts +130 -0
  1128. package/src/modules/workspace/service.ts +798 -0
  1129. package/src/modules/workspace/starters.ts +69 -0
  1130. package/src/modules/workspace/tools.ts +141 -0
  1131. package/src/runtime/entitlements.ts +142 -0
  1132. package/src/runtime/events.ts +185 -0
  1133. package/src/runtime/migrate.ts +75 -0
  1134. package/src/runtime/module.ts +147 -0
  1135. package/src/runtime/moduleConfig.ts +68 -0
  1136. package/src/runtime/order.ts +90 -0
  1137. package/src/runtime/registry.ts +263 -0
  1138. package/src/runtime/transaction.ts +80 -0
  1139. package/src/schema/index.ts +30 -0
  1140. package/src/testing/app.ts +79 -0
  1141. package/src/testing/client.ts +118 -0
  1142. package/src/testing/database.ts +106 -0
  1143. package/src/testing/environment.ts +22 -0
  1144. package/src/testing/fixtures.ts +70 -0
  1145. package/src/testing/index.ts +13 -0
  1146. package/src/testing/services.ts +67 -0
@@ -0,0 +1,292 @@
1
+ import { z } from 'zod';
2
+ import { AppError, describeThrown, internalErrorBody, toErrorBody } from '../../lib/errors.js';
3
+ /**
4
+ * Revisions that carry version, identity and capabilities in each request's
5
+ * `_meta` rather than establishing them with a handshake.
6
+ */
7
+ export const MODERN_PROTOCOL_VERSIONS = ['2026-07-28'];
8
+ /**
9
+ * Revisions that open with `initialize`.
10
+ *
11
+ * `2025-03-26` is kept because its clients are the ones that send JSON-RPC
12
+ * batches, which `2025-06-18` removed. Answering both costs one array branch in
13
+ * the transport and keeps older MCP clients working.
14
+ */
15
+ export const LEGACY_PROTOCOL_VERSIONS = ['2025-06-18', '2025-03-26'];
16
+ /** Everything Kelpie speaks, newest first. This is the list a `-32022` hands back. */
17
+ export const SUPPORTED_PROTOCOL_VERSIONS = [
18
+ ...MODERN_PROTOCOL_VERSIONS,
19
+ ...LEGACY_PROTOCOL_VERSIONS,
20
+ ];
21
+ /** Newest revision Kelpie speaks, which is also the newest that exists. */
22
+ export const LATEST_PROTOCOL_VERSION = '2026-07-28';
23
+ /**
24
+ * Newest *legacy* revision, and the one an `initialize` naming something
25
+ * unrecognised is answered with. Handing a legacy client `2026-07-28` would name
26
+ * a revision in which the handshake it just completed does not exist.
27
+ */
28
+ export const LATEST_LEGACY_PROTOCOL_VERSION = '2025-06-18';
29
+ /**
30
+ * `_meta` keys the modern revision defines. Reverse-DNS prefixed, which is the
31
+ * naming rule for anything outside a caller's own namespace.
32
+ */
33
+ export const PROTOCOL_VERSION_META = 'io.modelcontextprotocol/protocolVersion';
34
+ export const CLIENT_INFO_META = 'io.modelcontextprotocol/clientInfo';
35
+ export const CLIENT_CAPABILITIES_META = 'io.modelcontextprotocol/clientCapabilities';
36
+ export const SERVER_INFO_META = 'io.modelcontextprotocol/serverInfo';
37
+ /** JSON-RPC's own codes. Anything Kelpie refuses maps onto one of these. */
38
+ export const PARSE_ERROR = -32_700;
39
+ export const INVALID_REQUEST = -32_600;
40
+ export const METHOD_NOT_FOUND = -32_601;
41
+ export const INVALID_PARAMS = -32_602;
42
+ export const INTERNAL_ERROR = -32_603;
43
+ /**
44
+ * Codes MCP allocates for itself, from the `-32020` to `-32099` band the spec
45
+ * reserves. Both were renumbered out of the implementation-defined range in
46
+ * `2026-07-28`, so these values are the current ones and not the draft's.
47
+ */
48
+ export const HEADER_MISMATCH = -32_020;
49
+ export const UNSUPPORTED_PROTOCOL_VERSION = -32_022;
50
+ /**
51
+ * How long a client may hold the tool listing.
52
+ *
53
+ * The set is fixed at boot by the module list, so within one process it cannot
54
+ * change at all; only a redeploy that adds a module can move it. An hour bounds
55
+ * how long a client can be wrong about that, and matches the figure the spec's
56
+ * own `server/discover` example uses.
57
+ */
58
+ export const TOOL_LISTING_TTL_MS = 3_600_000;
59
+ /**
60
+ * Cacheable by anyone. The listing is derived from the module list, so it is
61
+ * identical for every workspace and every key, and holds no workspace data — the
62
+ * condition the spec sets for sharing a response across authorization contexts.
63
+ */
64
+ const CACHE_HINTS = { ttlMs: TOOL_LISTING_TTL_MS, cacheScope: 'public' };
65
+ /**
66
+ * An incoming message. `id` present means a request that must be answered; absent
67
+ * means a notification, which must not be.
68
+ *
69
+ * Loose about `params` on purpose: each method validates its own, so a bad shape
70
+ * is that method's `-32602` rather than a blanket parse failure that says nothing
71
+ * about which field was wrong.
72
+ */
73
+ const messageSchema = z.object({
74
+ jsonrpc: z.literal('2.0'),
75
+ id: z.union([z.string(), z.number()]).optional(),
76
+ method: z.string().min(1),
77
+ params: z.unknown().optional(),
78
+ });
79
+ const initializeParams = z.object({
80
+ protocolVersion: z.string().min(1),
81
+ capabilities: z.unknown().optional(),
82
+ clientInfo: z.unknown().optional(),
83
+ });
84
+ const callToolParams = z.object({
85
+ name: z.string().min(1),
86
+ arguments: z.unknown().optional(),
87
+ });
88
+ /** Reads the two body fields the transport mirrors into headers, and the `_meta` version. */
89
+ const requestEnvelope = z.object({
90
+ name: z.string().optional(),
91
+ _meta: z.object({ [PROTOCOL_VERSION_META]: z.string().min(1).optional() }).optional(),
92
+ });
93
+ /**
94
+ * Converts a tool's Zod input schema to the JSON Schema `tools/list` publishes.
95
+ *
96
+ * `io: 'input'` matters: a field with a `.default()` is optional to the caller and
97
+ * required to the tool body, and only the input view says so.
98
+ *
99
+ * @throws When a schema has no JSON Schema equivalent. Called at mount, so that
100
+ * is a boot failure rather than a broken tool listing.
101
+ */
102
+ export function publishTool(tool) {
103
+ const schema = z.toJSONSchema(tool.inputSchema, { io: 'input' });
104
+ // `$schema` is valid and useless here: MCP already fixes the dialect, and the
105
+ // key repeats on every one of a hundred tools in every listing.
106
+ delete schema.$schema;
107
+ return { name: tool.name, description: tool.description, inputSchema: schema };
108
+ }
109
+ /** Parses one incoming message. */
110
+ export function parseMessage(value) {
111
+ const parsed = messageSchema.safeParse(value);
112
+ return parsed.success ? parsed.data : undefined;
113
+ }
114
+ /** The protocol version a modern client puts in every request's `_meta`. */
115
+ export function readMetaVersion(params) {
116
+ const parsed = requestEnvelope.safeParse(params);
117
+ return parsed.success ? parsed.data._meta?.[PROTOCOL_VERSION_META] : undefined;
118
+ }
119
+ /** `params.name`, which the transport mirrors into `Mcp-Name`. */
120
+ export function readParamsName(params) {
121
+ const parsed = requestEnvelope.safeParse(params);
122
+ return parsed.success ? parsed.data.name : undefined;
123
+ }
124
+ export function isModernVersion(version) {
125
+ return MODERN_PROTOCOL_VERSIONS.includes(version);
126
+ }
127
+ export function isSupportedVersion(version) {
128
+ return SUPPORTED_PROTOCOL_VERSIONS.includes(version);
129
+ }
130
+ function success(id, result) {
131
+ return { jsonrpc: '2.0', id, result };
132
+ }
133
+ export function failure(id, code, message, data) {
134
+ return {
135
+ jsonrpc: '2.0',
136
+ id,
137
+ error: data === undefined ? { code, message } : { code, message, data },
138
+ };
139
+ }
140
+ /** The `-32022` a client reads to pick a version it and Kelpie both speak. */
141
+ export function unsupportedVersion(id, requested) {
142
+ return failure(id, UNSUPPORTED_PROTOCOL_VERSION, 'Unsupported protocol version', {
143
+ supported: SUPPORTED_PROTOCOL_VERSIONS,
144
+ requested,
145
+ });
146
+ }
147
+ /**
148
+ * The version to answer a legacy `initialize` with.
149
+ *
150
+ * A client asking for a legacy revision gets that one back, which is what lets a
151
+ * `2025-03-26` client keep its batches. Anything else gets the newest legacy
152
+ * revision, and the client decides whether it can live with it.
153
+ */
154
+ export function negotiateLegacyVersion(requested) {
155
+ return LEGACY_PROTOCOL_VERSIONS.includes(requested) ? requested : LATEST_LEGACY_PROTOCOL_VERSION;
156
+ }
157
+ /**
158
+ * Dresses a payload as a finished result.
159
+ *
160
+ * Modern results carry `resultType` and identify the server in `_meta`; legacy
161
+ * results carry neither, and adding them would put fields in front of a client
162
+ * whose revision never defined them.
163
+ */
164
+ function completeResult(dependencies, era, payload) {
165
+ if (era === 'legacy') {
166
+ return payload;
167
+ }
168
+ return {
169
+ ...payload,
170
+ resultType: 'complete',
171
+ _meta: { [SERVER_INFO_META]: dependencies.serverInfo },
172
+ };
173
+ }
174
+ /**
175
+ * Renders what a tool threw as a tool result rather than a JSON-RPC error.
176
+ *
177
+ * MCP draws that line deliberately: a protocol error means the call never
178
+ * happened, while a tool that ran and refused is an answer the model should see
179
+ * and can act on. The body is the same `api.md` error shape the REST route would
180
+ * have returned, so a 404 reads identically on both surfaces.
181
+ */
182
+ function toolFailure(logger, toolName, error) {
183
+ if (error instanceof AppError) {
184
+ return {
185
+ content: [{ type: 'text', text: JSON.stringify(toErrorBody(error)) }],
186
+ isError: true,
187
+ };
188
+ }
189
+ logger.error('mcp tool failed', { tool: toolName, error: describeThrown(error) });
190
+ return {
191
+ content: [{ type: 'text', text: JSON.stringify(internalErrorBody()) }],
192
+ isError: true,
193
+ };
194
+ }
195
+ async function callTool(dependencies, era, id, params, actor) {
196
+ const parsed = callToolParams.safeParse(params);
197
+ if (!parsed.success) {
198
+ return failure(id, INVALID_PARAMS, 'tools/call needs a tool "name"');
199
+ }
200
+ const tool = dependencies.tools.find((candidate) => candidate.name === parsed.data.name);
201
+ if (tool === undefined) {
202
+ return failure(id, INVALID_PARAMS, `Unknown tool "${parsed.data.name}"`);
203
+ }
204
+ try {
205
+ // `arguments` is optional on the wire and every tool schema is an object, so
206
+ // an absent one is an empty object rather than a validation failure the
207
+ // caller cannot act on.
208
+ const value = await tool.invoke(parsed.data.arguments ?? {}, actor);
209
+ return success(id, completeResult(dependencies, era, {
210
+ content: [{ type: 'text', text: JSON.stringify(value) }],
211
+ isError: false,
212
+ }));
213
+ }
214
+ catch (error) {
215
+ return success(id, completeResult(dependencies, era, toolFailure(dependencies.logger, tool.name, error)));
216
+ }
217
+ }
218
+ /**
219
+ * Answers one message.
220
+ *
221
+ * @param era Which revision's rules to answer under. The transport decides it
222
+ * from how the request arrived, and every method here that exists in only one
223
+ * era is method-not-found in the other.
224
+ * @returns The response, or undefined for a notification, which JSON-RPC forbids
225
+ * answering.
226
+ */
227
+ export async function dispatch(dependencies, message, era, actor) {
228
+ const { id } = message;
229
+ if (id === undefined) {
230
+ // Kelpie subscribes to no client notifications. `notifications/initialized`
231
+ // and the cancellations are acknowledged by the transport's 202 and dropped.
232
+ return undefined;
233
+ }
234
+ switch (message.method) {
235
+ /** Legacy only: the modern revision removed the handshake outright. */
236
+ case 'initialize': {
237
+ if (era === 'modern') {
238
+ break;
239
+ }
240
+ const parsed = initializeParams.safeParse(message.params);
241
+ if (!parsed.success) {
242
+ return failure(id, INVALID_PARAMS, 'initialize needs a "protocolVersion"');
243
+ }
244
+ return success(id, {
245
+ protocolVersion: negotiateLegacyVersion(parsed.data.protocolVersion),
246
+ // `listChanged: false`: the tool set is fixed at boot by the module list,
247
+ // so there is never a change to notify.
248
+ capabilities: { tools: { listChanged: false } },
249
+ serverInfo: dependencies.serverInfo,
250
+ instructions: dependencies.instructions,
251
+ });
252
+ }
253
+ /**
254
+ * Modern only, and mandatory there. It is the one request a client may send
255
+ * before it knows anything about the server, so it names every revision this
256
+ * deployment speaks — legacy ones included, which is how a dual-era client
257
+ * discovers it can fall back.
258
+ */
259
+ case 'server/discover': {
260
+ if (era === 'legacy') {
261
+ break;
262
+ }
263
+ return success(id, completeResult(dependencies, era, {
264
+ supportedVersions: SUPPORTED_PROTOCOL_VERSIONS,
265
+ capabilities: { tools: {} },
266
+ instructions: dependencies.instructions,
267
+ ...CACHE_HINTS,
268
+ }));
269
+ }
270
+ /** Legacy only: `2026-07-28` removed it. */
271
+ case 'ping': {
272
+ if (era === 'modern') {
273
+ break;
274
+ }
275
+ return success(id, {});
276
+ }
277
+ case 'tools/list':
278
+ // No pagination: the whole set is known at boot and is a few hundred
279
+ // kilobytes at most, so a cursor would only add a round trip. The order is
280
+ // module registration order, which is fixed, so a client may cache it.
281
+ return success(id, completeResult(dependencies, era, {
282
+ tools: dependencies.published,
283
+ ...(era === 'modern' ? CACHE_HINTS : {}),
284
+ }));
285
+ case 'tools/call':
286
+ return callTool(dependencies, era, id, message.params, actor);
287
+ default:
288
+ break;
289
+ }
290
+ return failure(id, METHOD_NOT_FOUND, `Kelpie does not implement "${message.method}" under MCP ${era === 'modern' ? LATEST_PROTOCOL_VERSION : 'the initialize-based revisions'}`);
291
+ }
292
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/modules/mcp/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Hono } from 'hono';
2
+ import type { Logger } from '../../lib/logger.ts';
3
+ import type { McpTool } from '../../runtime/module.ts';
4
+ import type { CredentialDependencies } from '../auth/credentials.ts';
5
+ import type { McpServerInfo } from './protocol.ts';
6
+ export interface McpRouterDependencies extends CredentialDependencies {
7
+ readonly tools: readonly McpTool[];
8
+ readonly serverInfo: McpServerInfo;
9
+ readonly instructions: string;
10
+ readonly logger: Logger;
11
+ }
12
+ export interface McpEndpoint {
13
+ /** Mounts at `/mcp`. Speaks JSON-RPC to MCP clients. */
14
+ readonly transport: Hono;
15
+ /**
16
+ * Mounts under `/v1`. One ordinary REST read of the same tool listing, for a
17
+ * caller holding a session rather than a key: the admin page showing what this
18
+ * deployment exposes, or anyone checking the surface without an MCP client.
19
+ */
20
+ readonly catalog: Hono;
21
+ }
22
+ export declare function createMcpEndpoint(dependencies: McpRouterDependencies): McpEndpoint;
23
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/modules/mcp/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAM3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAmBpE,OAAO,KAAK,EAIV,aAAa,EAGd,MAAM,eAAe,CAAA;AAwCtB,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IAClC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AA+ND,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;CACvB;AAOD,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,GAAG,WAAW,CAwGlF"}
@@ -0,0 +1,298 @@
1
+ import { Hono } from 'hono';
2
+ import { AppError } from '../../lib/errors.js';
3
+ import { requestOrigin } from '../../lib/http.js';
4
+ import { readBearerToken } from '../api-keys/keys.js';
5
+ import { resolveActor, resolveActorFrom } from '../auth/credentials.js';
6
+ import { HEADER_MISMATCH, INVALID_REQUEST, LATEST_LEGACY_PROTOCOL_VERSION, LATEST_PROTOCOL_VERSION, METHOD_NOT_FOUND, PARSE_ERROR, PROTOCOL_VERSION_META, dispatch, failure, isModernVersion, isSupportedVersion, parseMessage, publishTool, readMetaVersion, readParamsName, unsupportedVersion, } from './protocol.js';
7
+ /**
8
+ * The Streamable HTTP transport, mounted at `/mcp` (`architecture.md` boot step 6).
9
+ *
10
+ * Kelpie never initiates a message, so the transport is one `POST` and nothing
11
+ * else: `GET` would open a server-to-client stream there is nothing to put on,
12
+ * and `DELETE` would end a session that is never started. Both answer `405`,
13
+ * which the transport spec allows and which tells a client to stop trying.
14
+ *
15
+ * **No session id.** Every request carries its own bearer key, so two POSTs need
16
+ * nothing in common and any instance can answer either.
17
+ *
18
+ * **Two eras, decided per POST.** `2026-07-28` removed the handshake, so a modern
19
+ * client announces its revision in every request instead. `readEra` works out
20
+ * which one is being asked for and, for a modern request, checks that the headers
21
+ * the transport mirrors agree with the body before anything acts on either. A
22
+ * batch can only have come from a legacy client, so the first message decides for
23
+ * all of them.
24
+ *
25
+ * **No CORS, and an explicit `Origin` check.** The endpoint sends no CORS headers
26
+ * and reads no cookie, so a page on another origin can neither read a reply nor
27
+ * borrow a signed-in reader's identity. That reasoning is why the check below
28
+ * looked unnecessary and it is still why the risk is small, but the transport
29
+ * spec makes validating `Origin` a requirement rather than an argument, and a
30
+ * rule that holds without depending on a chain of reasoning is worth five lines.
31
+ */
32
+ /**
33
+ * The body fields the transport mirrors into headers, so an intermediary can
34
+ * route on them without parsing the body. Names compare case-insensitively,
35
+ * which is what Hono's header lookup already does; values do not.
36
+ */
37
+ const PROTOCOL_VERSION_HEADER = 'MCP-Protocol-Version';
38
+ const METHOD_HEADER = 'Mcp-Method';
39
+ const NAME_HEADER = 'Mcp-Name';
40
+ /** Answered by GET and DELETE, so a client learns the shape of the endpoint. */
41
+ const POST_ONLY = 'Send MCP messages as a POST to this endpoint';
42
+ /** True when the client will take a plain JSON reply. */
43
+ function acceptsJson(header) {
44
+ if (header === undefined || header.trim().length === 0) {
45
+ return true;
46
+ }
47
+ return header
48
+ .split(',')
49
+ .some((value) => {
50
+ const type = value.split(';')[0]?.trim() ?? '';
51
+ return type === 'application/json' || type === 'application/*' || type === '*/*';
52
+ });
53
+ }
54
+ function acceptsEventStream(header) {
55
+ return (header ?? '')
56
+ .split(',')
57
+ .some((value) => (value.split(';')[0]?.trim() ?? '') === 'text/event-stream');
58
+ }
59
+ /**
60
+ * Resolves the caller, bearer key only.
61
+ *
62
+ * A session cookie is deliberately not read here even though the REST surface
63
+ * takes one. MCP clients are not browsers, and refusing the cookie means there is
64
+ * no ambient credential for a cross-origin page to spend. That is one of three
65
+ * defences, not the whole of it: `checkOrigin` refuses the page outright, and the
66
+ * absent CORS headers stop it reading a reply.
67
+ *
68
+ * @throws AppError 401 when no key is presented, or it is not a live one.
69
+ */
70
+ function resolveKeyActor(dependencies, context) {
71
+ return resolveActor(dependencies, { bearer: readBearerToken(context.req.header('Authorization')) });
72
+ }
73
+ /**
74
+ * Refuses a browser calling from somewhere else.
75
+ *
76
+ * An MCP client is not a browser and sends no `Origin` at all, so an absent
77
+ * header is the ordinary case and is allowed. A present one has to be this
78
+ * deployment's own, which is the same `Host`-derived origin a form's embed URL
79
+ * is built from.
80
+ *
81
+ * There is no allowlist and no configuration for one. A cross-origin browser has
82
+ * no business here whatever its address: the endpoint takes a bearer key, and a
83
+ * page that holds one can send it from a server instead.
84
+ *
85
+ * @throws AppError 403 for a browser on another origin.
86
+ */
87
+ function checkOrigin(context) {
88
+ const origin = context.req.header('Origin');
89
+ if (origin !== undefined && origin !== requestOrigin(context)) {
90
+ throw new AppError('forbidden', 'This endpoint does not answer requests from another origin');
91
+ }
92
+ }
93
+ /**
94
+ * Undoes the sentinel a client wraps a header value in when it will not survive
95
+ * as plain ASCII: `=?base64?…?=`.
96
+ *
97
+ * A value that is not wrapped is returned as it arrived. The markers are
98
+ * case-sensitive and must be exactly these, so a value that merely looks similar
99
+ * is left alone — and a client with a real value shaped like the sentinel is
100
+ * required to encode it for exactly that reason.
101
+ */
102
+ const BASE64_SENTINEL = /^=\?base64\?(.*)\?=$/u;
103
+ function decodeHeaderValue(raw) {
104
+ if (raw === undefined) {
105
+ return undefined;
106
+ }
107
+ const encoded = BASE64_SENTINEL.exec(raw);
108
+ return encoded === null ? raw : Buffer.from(encoded[1] ?? '', 'base64').toString('utf8');
109
+ }
110
+ /**
111
+ * Names the header and body values that disagree, or nothing when they agree.
112
+ *
113
+ * The point of mirroring body fields into headers is that an intermediary can
114
+ * route on them without parsing the body. That only holds if the two cannot
115
+ * differ, so the server that does parse the body is the one that has to check —
116
+ * otherwise a load balancer and the server act on different values.
117
+ */
118
+ function headerProblem(context, message) {
119
+ const headerVersion = context.req.header(PROTOCOL_VERSION_HEADER);
120
+ const bodyVersion = readMetaVersion(message.params);
121
+ if (headerVersion === undefined) {
122
+ return `${PROTOCOL_VERSION_HEADER} is required`;
123
+ }
124
+ if (headerVersion !== bodyVersion) {
125
+ return `${PROTOCOL_VERSION_HEADER} is "${headerVersion}" and ${PROTOCOL_VERSION_META} is ${bodyVersion === undefined ? 'absent' : `"${bodyVersion}"`}`;
126
+ }
127
+ const methodHeader = context.req.header(METHOD_HEADER);
128
+ if (methodHeader === undefined) {
129
+ return `${METHOD_HEADER} is required`;
130
+ }
131
+ if (methodHeader !== message.method) {
132
+ return `${METHOD_HEADER} is "${methodHeader}" and the body's method is "${message.method}"`;
133
+ }
134
+ // `Mcp-Name` mirrors `params.name`, which only these methods carry. Of the
135
+ // three the spec names, `tools/call` is the only one Kelpie implements.
136
+ if (message.method !== 'tools/call') {
137
+ return undefined;
138
+ }
139
+ const nameHeader = decodeHeaderValue(context.req.header(NAME_HEADER));
140
+ const bodyName = readParamsName(message.params);
141
+ if (nameHeader === undefined) {
142
+ return `${NAME_HEADER} is required on tools/call`;
143
+ }
144
+ if (nameHeader !== bodyName) {
145
+ return `${NAME_HEADER} is "${nameHeader}" and the body names ${bodyName === undefined ? 'no tool' : `"${bodyName}"`}`;
146
+ }
147
+ return undefined;
148
+ }
149
+ /**
150
+ * Works out which revision a request is asking for.
151
+ *
152
+ * A modern request says so in its `_meta`, and `server/discover` is a modern
153
+ * method whatever else it carries. Everything else is legacy, including a request
154
+ * that names no version at all: the transport spec has a server read that as
155
+ * `2025-03-26`, from before the header existed.
156
+ *
157
+ * A version Kelpie does not speak is refused with `-32022` carrying the list it
158
+ * does, which is what lets a client pick another and retry. `initialize` is the
159
+ * exception, because negotiating down is what that handshake is for.
160
+ */
161
+ function readEra(context, message) {
162
+ const id = message.id ?? null;
163
+ const claimed = readMetaVersion(message.params) ?? context.req.header(PROTOCOL_VERSION_HEADER);
164
+ if (claimed !== undefined && !isSupportedVersion(claimed) && message.method !== 'initialize') {
165
+ return { kind: 'refuse', response: unsupportedVersion(id, claimed) };
166
+ }
167
+ const modern = message.method === 'server/discover' || (claimed !== undefined && isModernVersion(claimed));
168
+ if (!modern) {
169
+ return { kind: 'era', era: 'legacy' };
170
+ }
171
+ const problem = headerProblem(context, message);
172
+ return problem === undefined
173
+ ? { kind: 'era', era: 'modern' }
174
+ : { kind: 'refuse', response: failure(id, HEADER_MISMATCH, `Header mismatch: ${problem}`) };
175
+ }
176
+ /**
177
+ * The status a set of responses is sent with.
178
+ *
179
+ * `200` almost always: a JSON-RPC error is a normal HTTP response. The exception
180
+ * is a modern method-not-found, which the transport spec puts on `404` so a
181
+ * client can tell a modern server that lacks the method from a legacy server that
182
+ * does not host the endpoint at all. Legacy revisions never said that, so they
183
+ * keep the `200`.
184
+ */
185
+ function statusFor(responses, era) {
186
+ if (era === 'legacy' || responses.length !== 1) {
187
+ return 200;
188
+ }
189
+ return responses[0]?.error?.code === METHOD_NOT_FOUND ? 404 : 200;
190
+ }
191
+ /**
192
+ * Renders responses in whichever of the two content types the client will take.
193
+ *
194
+ * A `2025-03-26` client may send a batch, so the payload is an array when the
195
+ * request was one, and a bare object otherwise.
196
+ */
197
+ function renderResponses(context, responses, batched, era) {
198
+ // Nothing to answer: every message in the body was a notification. The spec
199
+ // fixes this on 202, and the body must be empty.
200
+ if (responses.length === 0) {
201
+ return context.body(null, 202);
202
+ }
203
+ const payload = batched ? responses : responses[0];
204
+ const accept = context.req.header('Accept');
205
+ const status = statusFor(responses, era);
206
+ if (acceptsJson(accept)) {
207
+ return context.json(payload, status);
208
+ }
209
+ if (acceptsEventStream(accept)) {
210
+ return context.body(`event: message\ndata: ${JSON.stringify(payload)}\n\n`, status, {
211
+ 'Content-Type': 'text/event-stream',
212
+ 'Cache-Control': 'no-cache, no-store',
213
+ });
214
+ }
215
+ throw new AppError('bad_request', 'Accept application/json or text/event-stream');
216
+ }
217
+ /** The `tools/list` entry, rendered in `api.md`'s `snake_case`. */
218
+ function catalogEntry(tool) {
219
+ return { name: tool.name, description: tool.description, input_schema: tool.inputSchema };
220
+ }
221
+ export function createMcpEndpoint(dependencies) {
222
+ const transport = new Hono();
223
+ const catalog = new Hono();
224
+ // Built once: a schema Zod cannot render as JSON Schema then fails boot, rather
225
+ // than producing a tool listing no client can read.
226
+ const published = dependencies.tools.map(publishTool);
227
+ const dispatchDependencies = {
228
+ tools: dependencies.tools,
229
+ published,
230
+ serverInfo: dependencies.serverInfo,
231
+ instructions: dependencies.instructions,
232
+ logger: dependencies.logger,
233
+ };
234
+ catalog.get('/mcp/tools', async (context) => {
235
+ // Credentials as anywhere under `/v1`, so a signed-in reader qualifies. The
236
+ // listing describes the deployment rather than the workspace, but it is not
237
+ // public: what an install exposes is not a stranger's business.
238
+ await resolveActorFrom(dependencies, context);
239
+ return context.json({ data: published.map(catalogEntry), next_cursor: null });
240
+ });
241
+ transport.post('/', async (context) => {
242
+ checkOrigin(context);
243
+ // Credentials before anything protocol-level, including `server/discover`.
244
+ // A client may call that one before it knows anything about the server, but
245
+ // it always has the key already: it is in the same config as the URL.
246
+ const actor = await resolveKeyActor(dependencies, context).catch((error) => {
247
+ if (error instanceof AppError && error.code === 'unauthorized') {
248
+ // The header is what tells a client it may retry with a credential
249
+ // rather than that the endpoint is gone.
250
+ context.header('WWW-Authenticate', 'Bearer');
251
+ }
252
+ throw error;
253
+ });
254
+ const raw = await context.req.json().catch(() => {
255
+ throw new AppError('bad_request', 'Body must be valid JSON');
256
+ });
257
+ const batched = Array.isArray(raw);
258
+ const incoming = batched ? raw : [raw];
259
+ if (incoming.length === 0) {
260
+ return context.json(failure(null, INVALID_REQUEST, 'A batch must hold at least one message'), 400);
261
+ }
262
+ const parsed = incoming.map(parseMessage);
263
+ // The era belongs to the POST, not to each message in it: a modern request
264
+ // is one message, and a batch can only have come from a legacy client.
265
+ const first = parsed.find((message) => message !== undefined);
266
+ if (first === undefined) {
267
+ return context.json(failure(null, PARSE_ERROR, 'Not a JSON-RPC 2.0 message'), 400);
268
+ }
269
+ const decision = readEra(context, first);
270
+ if (decision.kind === 'refuse') {
271
+ return context.json(decision.response, 400);
272
+ }
273
+ const { era } = decision;
274
+ if (era === 'modern' && batched) {
275
+ return context.json(failure(first.id ?? null, INVALID_REQUEST, `MCP ${LATEST_PROTOCOL_VERSION} takes one message per request; batches ended with ${LATEST_LEGACY_PROTOCOL_VERSION}`), 400);
276
+ }
277
+ const responses = [];
278
+ for (const message of parsed) {
279
+ if (message === undefined) {
280
+ responses.push(failure(null, PARSE_ERROR, 'Not a JSON-RPC 2.0 message'));
281
+ continue;
282
+ }
283
+ const response = await dispatch(dispatchDependencies, message, era, actor);
284
+ if (response !== undefined) {
285
+ responses.push(response);
286
+ }
287
+ }
288
+ return renderResponses(context, responses, batched, era);
289
+ });
290
+ transport.get('/', () => {
291
+ throw new AppError('method_not_allowed', POST_ONLY);
292
+ });
293
+ transport.delete('/', () => {
294
+ throw new AppError('method_not_allowed', POST_ONLY);
295
+ });
296
+ return { transport, catalog };
297
+ }
298
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/modules/mcp/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { KelpieModule } from '../../runtime/module.ts';
2
+ /**
3
+ * Notes: what a person wrote down about a record.
4
+ *
5
+ * Requires `activities`, because writing a note writes the timeline entry
6
+ * announcing it, in the same transaction.
7
+ */
8
+ export declare function createNotesModule(migrationsDirectory: string): KelpieModule;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/notes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAO3D;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,GAAG,YAAY,CA6B3E"}