@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 @@
1
+ {"version":3,"file":"crudTools.js","sourceRoot":"","sources":["../../src/modules/crudTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAuBpD,wFAAwF;AACxF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAEnF,6FAA6F;AAC7F,MAAM,UAAU,UAAU,CACxB,MAAoC;IAEpC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AACtF,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,KAAK,CACnB,KAA2C;IAE3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,aAAa,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;IACrF,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;IAChF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;CACzF,CAAA;AAQD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,EAAE;KACV,QAAQ,CAAC,sEAAsE,CAAC,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,IAAoB;IAC9C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAChE,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,UAAU,CACxB,IAAgB,EAChB,MAA+C;IAE/C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAA;AACvE,CAAC;AAmCD,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAS/B,GAAoB,EACpB,IAA6F;IAE7F,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAE1D,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,GAAG,QAAQ,OAAO;QACxB,WAAW,EAAE,QAAQ,OAAO,aAAa,KAAK,kCAAkC,QAAQ,GAAG;QAC3F,WAAW,EAAE,IAAI,CAAC,QAAQ;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5B,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC;KACzF,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,GAAG,QAAQ,MAAM;QACvB,WAAW,EAAE,aAAa,OAAO,WAAW,KAAK,oBAAoB,QAAQ,QAAQ;QACrF,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC1C,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACtE,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,GAAG,QAAQ,SAAS;QAC1B,WAAW,EAAE,YAAY,OAAO,KAAK,KAAK,qBAAqB,QAAQ,GAAG;QAC1E,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7F,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,GAAG,QAAQ,SAAS;QAC1B,WAAW,EACT,YAAY,OAAO,iEAAiE;YACpF,qBAAqB,QAAQ,QAAQ;QACvC,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5B,MAAM,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;KACzE,CAAC,CAAA;IAEF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAExB,OAAM;IACR,CAAC;IAED,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,GAAG,QAAQ,SAAS;QAC1B,WAAW,EACT,YAAY,OAAO,0DAA0D;YAC7E,wEAAwE,QAAQ,QAAQ;QAC1F,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC1C,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAE/B,OAAO,YAAY,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The day arithmetic behind the attention signals, with no I/O in it.
3
+ *
4
+ * Dates here are `YYYY-MM-DD` calendar days, the format `plan_items.date` and
5
+ * `partnerships.next_touchpoint` are stored and returned in. They compare as
6
+ * text because the format sorts lexicographically, so a window is a pair of
7
+ * string bounds rather than a range of instants.
8
+ *
9
+ * `today` is always a parameter. A function that reads the clock cannot be
10
+ * tested against a fixed expectation, and which day it is depends on the
11
+ * workspace's zone anyway (`lib/timezones.ts`).
12
+ */
13
+ /** How long since a contact before the relationship counts as going cold. */
14
+ export declare const STALE_CONTACT_DAYS = 14;
15
+ /** How far ahead "due soon" looks, for plan items and partnership touchpoints. */
16
+ export declare const UPCOMING_DAYS = 7;
17
+ /**
18
+ * How many rows each embedded list carries when `?limit=` is absent.
19
+ *
20
+ * Smaller than the `?limit=` default every paged list uses, because this
21
+ * response holds seven lists rather than one and the workspace home renders
22
+ * four or five rows of each. The totals alongside them are exact regardless.
23
+ */
24
+ export declare const DEFAULT_SIGNAL_LIMIT = 10;
25
+ /** @returns `day` moved by `days`, still `YYYY-MM-DD`. */
26
+ export declare function addDays(day: string, days: number): string;
27
+ /** @returns Whole days from `from` to `to`, negative when `to` is the earlier of the two. */
28
+ export declare function daysBetween(from: string, to: string): number;
29
+ /** The last day that still counts as "due soon" from `today`. */
30
+ export declare function upcomingEnd(today: string): string;
31
+ /**
32
+ * The first day a contact is still fresh on.
33
+ *
34
+ * A person contacted exactly `STALE_CONTACT_DAYS` ago is not yet stale: the
35
+ * threshold is "more than a fortnight", and treating the boundary day as late
36
+ * would flag somebody the day before the fortnight is up.
37
+ */
38
+ export declare function staleContactCutoff(today: string): string;
39
+ //# sourceMappingURL=attention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.d.ts","sourceRoot":"","sources":["../../../src/modules/dashboard/attention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAYtC,0DAA0D;AAC1D,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The day arithmetic behind the attention signals, with no I/O in it.
3
+ *
4
+ * Dates here are `YYYY-MM-DD` calendar days, the format `plan_items.date` and
5
+ * `partnerships.next_touchpoint` are stored and returned in. They compare as
6
+ * text because the format sorts lexicographically, so a window is a pair of
7
+ * string bounds rather than a range of instants.
8
+ *
9
+ * `today` is always a parameter. A function that reads the clock cannot be
10
+ * tested against a fixed expectation, and which day it is depends on the
11
+ * workspace's zone anyway (`lib/timezones.ts`).
12
+ */
13
+ /** How long since a contact before the relationship counts as going cold. */
14
+ export const STALE_CONTACT_DAYS = 14;
15
+ /** How far ahead "due soon" looks, for plan items and partnership touchpoints. */
16
+ export const UPCOMING_DAYS = 7;
17
+ /**
18
+ * How many rows each embedded list carries when `?limit=` is absent.
19
+ *
20
+ * Smaller than the `?limit=` default every paged list uses, because this
21
+ * response holds seven lists rather than one and the workspace home renders
22
+ * four or five rows of each. The totals alongside them are exact regardless.
23
+ */
24
+ export const DEFAULT_SIGNAL_LIMIT = 10;
25
+ const MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000;
26
+ /**
27
+ * Parsed at midday so no zone offset, and no daylight-saving jump, lands the
28
+ * result on a neighbouring day.
29
+ */
30
+ function atMidday(day) {
31
+ return new Date(`${day}T12:00:00Z`);
32
+ }
33
+ /** @returns `day` moved by `days`, still `YYYY-MM-DD`. */
34
+ export function addDays(day, days) {
35
+ const moved = atMidday(day);
36
+ moved.setUTCDate(moved.getUTCDate() + days);
37
+ return moved.toISOString().slice(0, 10);
38
+ }
39
+ /** @returns Whole days from `from` to `to`, negative when `to` is the earlier of the two. */
40
+ export function daysBetween(from, to) {
41
+ return Math.round((atMidday(to).getTime() - atMidday(from).getTime()) / MILLISECONDS_PER_DAY);
42
+ }
43
+ /** The last day that still counts as "due soon" from `today`. */
44
+ export function upcomingEnd(today) {
45
+ return addDays(today, UPCOMING_DAYS);
46
+ }
47
+ /**
48
+ * The first day a contact is still fresh on.
49
+ *
50
+ * A person contacted exactly `STALE_CONTACT_DAYS` ago is not yet stale: the
51
+ * threshold is "more than a fortnight", and treating the boundary day as late
52
+ * would flag somebody the day before the fortnight is up.
53
+ */
54
+ export function staleContactCutoff(today) {
55
+ return addDays(today, -STALE_CONTACT_DAYS);
56
+ }
57
+ //# sourceMappingURL=attention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.js","sourceRoot":"","sources":["../../../src/modules/dashboard/attention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAEpC,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAEtC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEhD;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,IAAI,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAA;AACrC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,IAAY;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAE3B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAA;IAE3C,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,EAAU;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAA;AAC/F,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,kBAAkB,CAAC,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { KelpieModule } from '../../runtime/module.ts';
2
+ /**
3
+ * The workspace home: what is open, what is late, and what happened lately.
4
+ *
5
+ * It contributes no tables and calls no `context.schema`. Every row it reads
6
+ * belongs to another module, and a dashboard that stored its own copy would be a
7
+ * cache nothing invalidates.
8
+ *
9
+ * `requires` names each of those modules. Nothing here runs at registration, so
10
+ * the dependency is not about ordering the `register` calls: it is about a build
11
+ * that leaves one of them out. An assembly without `plans` would boot happily
12
+ * and answer this endpoint with a query against a table that has no migration.
13
+ */
14
+ export declare function createDashboardModule(): KelpieModule;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAK3D;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CA+BpD"}
@@ -0,0 +1,44 @@
1
+ import { mountDashboardRoutes } from './routes.js';
2
+ import { createDashboardService } from './service.js';
3
+ import { registerDashboardTools } from './tools.js';
4
+ /**
5
+ * The workspace home: what is open, what is late, and what happened lately.
6
+ *
7
+ * It contributes no tables and calls no `context.schema`. Every row it reads
8
+ * belongs to another module, and a dashboard that stored its own copy would be a
9
+ * cache nothing invalidates.
10
+ *
11
+ * `requires` names each of those modules. Nothing here runs at registration, so
12
+ * the dependency is not about ordering the `register` calls: it is about a build
13
+ * that leaves one of them out. An assembly without `plans` would boot happily
14
+ * and answer this endpoint with a query against a table that has no migration.
15
+ */
16
+ export function createDashboardModule() {
17
+ return {
18
+ id: 'dashboard',
19
+ requires: [
20
+ 'workspace',
21
+ 'people',
22
+ 'pipelines',
23
+ 'deals',
24
+ 'opportunities',
25
+ 'raises',
26
+ 'partnerships',
27
+ 'plans',
28
+ 'decisions',
29
+ 'notes',
30
+ 'activities',
31
+ 'hiring',
32
+ ],
33
+ structural: true,
34
+ register(context) {
35
+ const service = createDashboardService({ db: context.db, now: context.now });
36
+ context.routes((router) => {
37
+ mountDashboardRoutes(router, { db: context.db, now: context.now, service });
38
+ });
39
+ registerDashboardTools(context.mcp, service);
40
+ return Promise.resolve();
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/dashboard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,WAAW;QACf,QAAQ,EAAE;YACR,WAAW;YACX,QAAQ;YACR,WAAW;YACX,OAAO;YACP,eAAe;YACf,QAAQ;YACR,cAAc;YACd,OAAO;YACP,WAAW;YACX,OAAO;YACP,YAAY;YACZ,QAAQ;SACT;QACD,UAAU,EAAE,IAAI;QAEhB,QAAQ,CAAC,OAAO;YACd,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YAE5E,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxB,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7E,CAAC,CAAC,CAAA;YAEF,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAE5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,83 @@
1
+ import type { PipelineKind } from '@kelpie/schemas';
2
+ import type { Queryable } from '../../runtime/transaction.ts';
3
+ import { activities } from '../activities/schema.ts';
4
+ import { decisions } from '../decisions/schema.ts';
5
+ import { notes } from '../notes/schema.ts';
6
+ import { planItems } from '../plans/schema.ts';
7
+ /**
8
+ * The reads behind `GET /v1/dashboard`.
9
+ *
10
+ * Ten tables, no repository imports. Composing ten other modules' repositories
11
+ * would mean asking each of them for a page and counting it here, which is the
12
+ * one thing `architecture.md` says a repository may cross a module boundary to
13
+ * avoid: schema imports already cross everywhere, repository imports still do
14
+ * not.
15
+ *
16
+ * Every signal is a count and a list rather than a list the caller measures. A
17
+ * capped list cannot answer "how many", and a workspace with two hundred overdue
18
+ * steps should say so without sending two hundred rows to a page showing four.
19
+ */
20
+ export type PlanItemRecord = typeof planItems.$inferSelect;
21
+ export type ActivityRecord = typeof activities.$inferSelect;
22
+ export type NoteRecord = typeof notes.$inferSelect;
23
+ export type DecisionRecord = typeof decisions.$inferSelect;
24
+ /** A partnership whose next touchpoint is at hand. `nextTouchpoint` is never null in this shape. */
25
+ export interface TouchpointRecord {
26
+ readonly id: string;
27
+ readonly name: string;
28
+ readonly companyId: string;
29
+ readonly nextTouchpoint: string;
30
+ readonly ownerId: string | null;
31
+ readonly summary: string;
32
+ }
33
+ /** A person nobody has spoken to lately. */
34
+ export interface StaleContactRecord {
35
+ readonly id: string;
36
+ readonly name: string;
37
+ readonly email: string | null;
38
+ readonly lastContactedAt: Date;
39
+ /** The calendar day of `lastContactedAt` in the workspace's zone, `YYYY-MM-DD`. */
40
+ readonly lastContactedDay: string;
41
+ readonly summary: string;
42
+ }
43
+ /**
44
+ * The workspace's IANA zone, which is what decides the day its dates are read
45
+ * against.
46
+ *
47
+ * @returns undefined when the workspace does not exist. The caller has an actor
48
+ * bound to it, so that means it was deleted mid-request.
49
+ */
50
+ export declare function findWorkspaceTimezone(db: Queryable, workspaceId: string): Promise<string | undefined>;
51
+ /**
52
+ * How many records sit in an open stage, per pipeline.
53
+ *
54
+ * Open is the stage's own `open` flag rather than a list of stage slugs: stages
55
+ * are configurable per workspace, so "not won and not lost" is a rule about one
56
+ * seeded board and not about the column a workspace actually added.
57
+ */
58
+ export declare function countOpenByPipeline(db: Queryable, workspaceId: string): Promise<Readonly<Record<PipelineKind, number>>>;
59
+ /** A window over `plan_items.date`. `from` and `to` are inclusive; `before` is not. */
60
+ export interface DayWindow {
61
+ readonly before?: string | undefined;
62
+ readonly from?: string | undefined;
63
+ readonly to?: string | undefined;
64
+ }
65
+ export declare function countOpenPlanItems(db: Queryable, workspaceId: string, window: DayWindow): Promise<number>;
66
+ /** Soonest first: the oldest overdue step is the one to triage. */
67
+ export declare function listOpenPlanItems(db: Queryable, workspaceId: string, window: DayWindow, limit: number): Promise<PlanItemRecord[]>;
68
+ export declare function countPartnershipTouchpoints(db: Queryable, workspaceId: string, through: string): Promise<number>;
69
+ export declare function listPartnershipTouchpoints(db: Queryable, workspaceId: string, through: string, limit: number): Promise<readonly TouchpointRecord[]>;
70
+ export declare function countStaleContacts(db: Queryable, workspaceId: string, timezone: string, cutoffDay: string): Promise<number>;
71
+ /** Coldest first: the longest silence leads. */
72
+ export declare function listStaleContacts(db: Queryable, workspaceId: string, timezone: string, cutoffDay: string, limit: number): Promise<readonly StaleContactRecord[]>;
73
+ export declare function listRecentActivity(db: Queryable, workspaceId: string, limit: number): Promise<ActivityRecord[]>;
74
+ /**
75
+ * Pinned notes first, then newest.
76
+ *
77
+ * Pinning is how a workspace tells an agent which notes matter (`brief.md`), so
78
+ * the ordering is the point of the list rather than a display preference.
79
+ */
80
+ export declare function listRecentNotes(db: Queryable, workspaceId: string, limit: number): Promise<NoteRecord[]>;
81
+ /** Newest commitment first, matching the default sort of `/v1/decisions`. */
82
+ export declare function listRecentDecisions(db: Queryable, workspaceId: string, limit: number): Promise<DecisionRecord[]>;
83
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/modules/dashboard/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,217 @@
1
+ import { OPEN_PLAN_ITEM_STATUSES, PIPELINE_KINDS } from '@kelpie/schemas';
2
+ import { and, asc, count, desc, eq, gte, inArray, isNotNull, lt, lte, sql } from 'drizzle-orm';
3
+ import { activities } from '../activities/schema.js';
4
+ import { decisions } from '../decisions/schema.js';
5
+ import { deals } from '../deals/schema.js';
6
+ import { notes } from '../notes/schema.js';
7
+ import { opportunities } from '../opportunities/schema.js';
8
+ import { partnerships } from '../partnerships/schema.js';
9
+ import { people } from '../people/schema.js';
10
+ import { pipelineStages } from '../pipelines/schema.js';
11
+ import { planItems } from '../plans/schema.js';
12
+ import { raises } from '../raises/schema.js';
13
+ import { workspaces } from '../workspace/schema.js';
14
+ /**
15
+ * The workspace's IANA zone, which is what decides the day its dates are read
16
+ * against.
17
+ *
18
+ * @returns undefined when the workspace does not exist. The caller has an actor
19
+ * bound to it, so that means it was deleted mid-request.
20
+ */
21
+ export async function findWorkspaceTimezone(db, workspaceId) {
22
+ const [found] = await db
23
+ .select({ timezone: workspaces.timezone })
24
+ .from(workspaces)
25
+ .where(eq(workspaces.id, workspaceId))
26
+ .limit(1);
27
+ return found?.timezone;
28
+ }
29
+ function pipelineTable(table, workspaceId, stageId) {
30
+ return { table, workspaceId, stageId };
31
+ }
32
+ /**
33
+ * Which table each pipeline kind lives in. Partnership is a pipeline like the
34
+ * other three: `pipeline_stages.kind` carries all four, and its board columns
35
+ * are configured the same way.
36
+ */
37
+ const PIPELINE_TABLES = {
38
+ deal: pipelineTable(deals, deals.workspaceId, deals.stageId),
39
+ opportunity: pipelineTable(opportunities, opportunities.workspaceId, opportunities.stageId),
40
+ raise: pipelineTable(raises, raises.workspaceId, raises.stageId),
41
+ partnership: pipelineTable(partnerships, partnerships.workspaceId, partnerships.stageId),
42
+ };
43
+ async function countOpenRecords(db, workspaceId, pipeline) {
44
+ const [row] = await db
45
+ .select({ total: count() })
46
+ .from(pipeline.table)
47
+ .innerJoin(pipelineStages, eq(pipeline.stageId, pipelineStages.id))
48
+ .where(and(eq(pipeline.workspaceId, workspaceId), eq(pipelineStages.open, true)));
49
+ return row?.total ?? 0;
50
+ }
51
+ /**
52
+ * How many records sit in an open stage, per pipeline.
53
+ *
54
+ * Open is the stage's own `open` flag rather than a list of stage slugs: stages
55
+ * are configurable per workspace, so "not won and not lost" is a rule about one
56
+ * seeded board and not about the column a workspace actually added.
57
+ */
58
+ export async function countOpenByPipeline(db, workspaceId) {
59
+ const counts = {};
60
+ for (const kind of PIPELINE_KINDS) {
61
+ counts[kind] = await countOpenRecords(db, workspaceId, PIPELINE_TABLES[kind]);
62
+ }
63
+ return counts;
64
+ }
65
+ /**
66
+ * Open steps inside a window. Done items are excluded here rather than in the
67
+ * caller: a step finished last month is not overdue, it is finished.
68
+ */
69
+ function openPlanItemConditions(workspaceId, window) {
70
+ return [
71
+ eq(planItems.workspaceId, workspaceId),
72
+ inArray(planItems.status, [...OPEN_PLAN_ITEM_STATUSES]),
73
+ window.before === undefined ? undefined : lt(planItems.date, window.before),
74
+ window.from === undefined ? undefined : gte(planItems.date, window.from),
75
+ window.to === undefined ? undefined : lte(planItems.date, window.to),
76
+ ];
77
+ }
78
+ export async function countOpenPlanItems(db, workspaceId, window) {
79
+ const [row] = await db
80
+ .select({ total: count() })
81
+ .from(planItems)
82
+ .where(and(...openPlanItemConditions(workspaceId, window)));
83
+ return row?.total ?? 0;
84
+ }
85
+ /** Soonest first: the oldest overdue step is the one to triage. */
86
+ export function listOpenPlanItems(db, workspaceId, window, limit) {
87
+ return db
88
+ .select()
89
+ .from(planItems)
90
+ .where(and(...openPlanItemConditions(workspaceId, window)))
91
+ .orderBy(asc(planItems.date), asc(planItems.id))
92
+ .limit(limit);
93
+ }
94
+ /**
95
+ * Partnerships in an open stage whose touchpoint is on or before `through`.
96
+ *
97
+ * There is no lower bound. A touchpoint that was due last week is the strongest
98
+ * signal on the page, and a window that started today would drop exactly the
99
+ * ones already missed.
100
+ */
101
+ function touchpointConditions(workspaceId, through) {
102
+ return [
103
+ eq(partnerships.workspaceId, workspaceId),
104
+ eq(pipelineStages.open, true),
105
+ isNotNull(partnerships.nextTouchpoint),
106
+ lte(partnerships.nextTouchpoint, through),
107
+ ];
108
+ }
109
+ export async function countPartnershipTouchpoints(db, workspaceId, through) {
110
+ const [row] = await db
111
+ .select({ total: count() })
112
+ .from(partnerships)
113
+ .innerJoin(pipelineStages, eq(partnerships.stageId, pipelineStages.id))
114
+ .where(and(...touchpointConditions(workspaceId, through)));
115
+ return row?.total ?? 0;
116
+ }
117
+ export async function listPartnershipTouchpoints(db, workspaceId, through, limit) {
118
+ const rows = await db
119
+ .select({
120
+ id: partnerships.id,
121
+ name: partnerships.name,
122
+ companyId: partnerships.companyId,
123
+ nextTouchpoint: partnerships.nextTouchpoint,
124
+ ownerId: partnerships.ownerId,
125
+ summary: partnerships.summary,
126
+ })
127
+ .from(partnerships)
128
+ .innerJoin(pipelineStages, eq(partnerships.stageId, pipelineStages.id))
129
+ .where(and(...touchpointConditions(workspaceId, through)))
130
+ .orderBy(asc(partnerships.nextTouchpoint), asc(partnerships.id))
131
+ .limit(limit);
132
+ // `isNotNull` in the conditions already excluded these, and the column's type
133
+ // does not know that. Dropping an impossible row is narrower than defaulting
134
+ // it to a date nobody chose.
135
+ return rows.flatMap((row) => row.nextTouchpoint === null ? [] : [{ ...row, nextTouchpoint: row.nextTouchpoint }]);
136
+ }
137
+ /**
138
+ * The calendar day a contact happened on, in the workspace's zone.
139
+ *
140
+ * Postgres does the conversion because it owns the stored instant and the zone
141
+ * database. Comparing the text against a `YYYY-MM-DD` bound is exact: the format
142
+ * sorts lexicographically, so no date cast is needed on either side.
143
+ */
144
+ function contactedDay(timezone) {
145
+ return sql `to_char(${people.lastContactedAt} at time zone ${timezone}, 'YYYY-MM-DD')`;
146
+ }
147
+ /**
148
+ * People last contacted before `cutoffDay`.
149
+ *
150
+ * A person with no `last_contacted_at` at all is not stale. Nothing has been
151
+ * recorded about them either way, and filing "never logged" under "going cold"
152
+ * would fill the list with everyone imported yesterday.
153
+ */
154
+ function staleContactConditions(workspaceId, timezone, cutoffDay) {
155
+ return [
156
+ eq(people.workspaceId, workspaceId),
157
+ isNotNull(people.lastContactedAt),
158
+ sql `${contactedDay(timezone)} < ${cutoffDay}`,
159
+ ];
160
+ }
161
+ export async function countStaleContacts(db, workspaceId, timezone, cutoffDay) {
162
+ const [row] = await db
163
+ .select({ total: count() })
164
+ .from(people)
165
+ .where(and(...staleContactConditions(workspaceId, timezone, cutoffDay)));
166
+ return row?.total ?? 0;
167
+ }
168
+ /** Coldest first: the longest silence leads. */
169
+ export async function listStaleContacts(db, workspaceId, timezone, cutoffDay, limit) {
170
+ const rows = await db
171
+ .select({
172
+ id: people.id,
173
+ name: people.name,
174
+ email: people.email,
175
+ lastContactedAt: people.lastContactedAt,
176
+ lastContactedDay: contactedDay(timezone),
177
+ summary: people.summary,
178
+ })
179
+ .from(people)
180
+ .where(and(...staleContactConditions(workspaceId, timezone, cutoffDay)))
181
+ .orderBy(asc(people.lastContactedAt), asc(people.id))
182
+ .limit(limit);
183
+ // Same impossible row as the touchpoints above, dropped for the same reason.
184
+ return rows.flatMap((row) => row.lastContactedAt === null ? [] : [{ ...row, lastContactedAt: row.lastContactedAt }]);
185
+ }
186
+ export function listRecentActivity(db, workspaceId, limit) {
187
+ return db
188
+ .select()
189
+ .from(activities)
190
+ .where(eq(activities.workspaceId, workspaceId))
191
+ .orderBy(desc(activities.createdAt), desc(activities.id))
192
+ .limit(limit);
193
+ }
194
+ /**
195
+ * Pinned notes first, then newest.
196
+ *
197
+ * Pinning is how a workspace tells an agent which notes matter (`brief.md`), so
198
+ * the ordering is the point of the list rather than a display preference.
199
+ */
200
+ export function listRecentNotes(db, workspaceId, limit) {
201
+ return db
202
+ .select()
203
+ .from(notes)
204
+ .where(eq(notes.workspaceId, workspaceId))
205
+ .orderBy(desc(notes.pinned), desc(notes.createdAt), desc(notes.id))
206
+ .limit(limit);
207
+ }
208
+ /** Newest commitment first, matching the default sort of `/v1/decisions`. */
209
+ export function listRecentDecisions(db, workspaceId, limit) {
210
+ return db
211
+ .select()
212
+ .from(decisions)
213
+ .where(eq(decisions.workspaceId, workspaceId))
214
+ .orderBy(desc(decisions.decidedAt), desc(decisions.id))
215
+ .limit(limit);
216
+ }
217
+ //# sourceMappingURL=repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/modules/dashboard/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Hono } from 'hono';
2
+ import type { CredentialDependencies } from '../auth/credentials.ts';
3
+ import type { DashboardService, DashboardSnapshot } from './service.ts';
4
+ /**
5
+ * Wire shape for `GET /v1/dashboard`.
6
+ *
7
+ * One resource, no id and no collection, so there is no `{ data, next_cursor }`
8
+ * envelope: `api.md` gives that to lists, and this is a single object made of
9
+ * several of them.
10
+ *
11
+ * `?limit=` caps every embedded list at once. It is the only parameter, because
12
+ * the thresholds are the definition of the signal rather than a caller's choice:
13
+ * a "stale contact" the caller set the threshold for would mean something
14
+ * different in every request, and the response echoes the ones it used.
15
+ */
16
+ export interface DashboardRoutesDependencies extends CredentialDependencies {
17
+ readonly service: DashboardService;
18
+ }
19
+ export declare function dashboardResponse(snapshot: DashboardSnapshot): Record<string, unknown>;
20
+ export declare function mountDashboardRoutes(router: Hono, dependencies: DashboardRoutesDependencies): void;
21
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/modules/dashboard/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAA;AAKzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAQlB,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;CACnC;AAwGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBtF;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,2BAA2B,GACxC,IAAI,CAWN"}
@@ -0,0 +1,116 @@
1
+ import { readPageSize } from '../../lib/pagination.js';
2
+ import { resolveActorFrom } from '../auth/credentials.js';
3
+ /**
4
+ * `?limit=`, validated against the same range every paged list uses.
5
+ *
6
+ * Absent stays absent rather than becoming the list default: the service owns
7
+ * this one's default, because the MCP tool takes the same parameter and the two
8
+ * must not disagree about what omitting it means.
9
+ */
10
+ function readLimit(context) {
11
+ const raw = context.req.query('limit');
12
+ return raw === undefined ? undefined : readPageSize(raw);
13
+ }
14
+ function signalListBody(list, render) {
15
+ return { total: list.total, items: list.items.map(render) };
16
+ }
17
+ function pipelineBody(pipeline) {
18
+ return { kind: pipeline.kind, open: pipeline.open };
19
+ }
20
+ function planItemBody(item) {
21
+ return {
22
+ id: item.id,
23
+ target_type: item.targetType,
24
+ target_id: item.targetId,
25
+ target_name: item.targetName,
26
+ date: item.date,
27
+ title: item.title,
28
+ owner_id: item.ownerId,
29
+ status: item.status,
30
+ };
31
+ }
32
+ function touchpointBody(touchpoint) {
33
+ return {
34
+ id: touchpoint.id,
35
+ name: touchpoint.name,
36
+ company_id: touchpoint.companyId,
37
+ next_touchpoint: touchpoint.nextTouchpoint,
38
+ overdue: touchpoint.overdue,
39
+ owner_id: touchpoint.ownerId,
40
+ summary: touchpoint.summary,
41
+ };
42
+ }
43
+ function staleContactBody(contact) {
44
+ return {
45
+ id: contact.id,
46
+ name: contact.name,
47
+ email: contact.email,
48
+ last_contacted_at: contact.lastContactedAt.toISOString(),
49
+ days_since_contact: contact.daysSinceContact,
50
+ summary: contact.summary,
51
+ };
52
+ }
53
+ function activityBody(activity) {
54
+ return {
55
+ id: activity.id,
56
+ target_type: activity.targetType,
57
+ target_id: activity.targetId,
58
+ target_name: activity.targetName,
59
+ kind: activity.kind,
60
+ actor_member_id: activity.actorMemberId,
61
+ actor_label: activity.actorLabel,
62
+ action: activity.action,
63
+ detail: activity.detail,
64
+ created_at: activity.createdAt.toISOString(),
65
+ };
66
+ }
67
+ function noteBody(note) {
68
+ return {
69
+ id: note.id,
70
+ target_type: note.targetType,
71
+ target_id: note.targetId,
72
+ target_name: note.targetName,
73
+ body: note.body,
74
+ author_id: note.authorId,
75
+ pinned: note.pinned,
76
+ created_at: note.createdAt.toISOString(),
77
+ };
78
+ }
79
+ function decisionBody(decision) {
80
+ return {
81
+ id: decision.id,
82
+ target_type: decision.targetType,
83
+ target_id: decision.targetId,
84
+ target_name: decision.targetName,
85
+ body: decision.body,
86
+ rationale: decision.rationale,
87
+ decided_at: decision.decidedAt.toISOString(),
88
+ owner_id: decision.ownerId,
89
+ due_at: decision.dueAt === null ? null : decision.dueAt.toISOString(),
90
+ };
91
+ }
92
+ export function dashboardResponse(snapshot) {
93
+ return {
94
+ generated_at: snapshot.generatedAt.toISOString(),
95
+ today: snapshot.today,
96
+ timezone: snapshot.timezone,
97
+ stale_contact_days: snapshot.staleContactDays,
98
+ upcoming_days: snapshot.upcomingDays,
99
+ pipelines: snapshot.pipelines.map(pipelineBody),
100
+ overdue_plan_items: signalListBody(snapshot.overduePlanItems, planItemBody),
101
+ due_soon_plan_items: signalListBody(snapshot.dueSoonPlanItems, planItemBody),
102
+ partnership_touchpoints: signalListBody(snapshot.partnershipTouchpoints, touchpointBody),
103
+ stale_contacts: signalListBody(snapshot.staleContacts, staleContactBody),
104
+ recent_activity: snapshot.recentActivity.map(activityBody),
105
+ recent_notes: snapshot.recentNotes.map(noteBody),
106
+ recent_decisions: snapshot.recentDecisions.map(decisionBody),
107
+ };
108
+ }
109
+ export function mountDashboardRoutes(router, dependencies) {
110
+ const requireActor = (context) => resolveActorFrom(dependencies, context);
111
+ router.get('/dashboard', async (context) => {
112
+ const snapshot = await dependencies.service.snapshot(await requireActor(context), readLimit(context));
113
+ return context.json(dashboardResponse(snapshot));
114
+ });
115
+ }
116
+ //# sourceMappingURL=routes.js.map