@kelpie/server 0.8.0 → 0.10.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 (594) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/ids.d.ts +11 -0
  6. package/dist/lib/ids.d.ts.map +1 -1
  7. package/dist/lib/ids.js +11 -0
  8. package/dist/lib/ids.js.map +1 -1
  9. package/dist/modules/activities/repository.d.ts.map +1 -1
  10. package/dist/modules/activities/repository.js +19 -20
  11. package/dist/modules/activities/repository.js.map +1 -1
  12. package/dist/modules/activities/wording.d.ts +12 -0
  13. package/dist/modules/activities/wording.d.ts.map +1 -1
  14. package/dist/modules/activities/wording.js +16 -0
  15. package/dist/modules/activities/wording.js.map +1 -1
  16. package/dist/modules/agent-tasks/catalog.d.ts.map +1 -1
  17. package/dist/modules/agent-tasks/catalog.js +62 -0
  18. package/dist/modules/agent-tasks/catalog.js.map +1 -1
  19. package/dist/modules/agent-tasks/resolve.d.ts.map +1 -1
  20. package/dist/modules/agent-tasks/resolve.js +42 -9
  21. package/dist/modules/agent-tasks/resolve.js.map +1 -1
  22. package/dist/modules/agent-tasks/routes.d.ts +2 -0
  23. package/dist/modules/agent-tasks/routes.d.ts.map +1 -1
  24. package/dist/modules/attachedRecords.d.ts +6 -1
  25. package/dist/modules/attachedRecords.d.ts.map +1 -1
  26. package/dist/modules/attachedRecords.js +15 -1
  27. package/dist/modules/attachedRecords.js.map +1 -1
  28. package/dist/modules/companies/index.d.ts.map +1 -1
  29. package/dist/modules/companies/index.js +3 -1
  30. package/dist/modules/companies/index.js.map +1 -1
  31. package/dist/modules/companies/routes.d.ts +14 -0
  32. package/dist/modules/companies/routes.d.ts.map +1 -1
  33. package/dist/modules/companies/routes.js +7 -0
  34. package/dist/modules/companies/routes.js.map +1 -1
  35. package/dist/modules/companies/schema.d.ts +20 -0
  36. package/dist/modules/companies/schema.d.ts.map +1 -1
  37. package/dist/modules/companies/schema.js +6 -1
  38. package/dist/modules/companies/schema.js.map +1 -1
  39. package/dist/modules/companies/service.d.ts +5 -0
  40. package/dist/modules/companies/service.d.ts.map +1 -1
  41. package/dist/modules/companies/service.js +24 -12
  42. package/dist/modules/companies/service.js.map +1 -1
  43. package/dist/modules/consent-purposes/capabilities.d.ts +7 -0
  44. package/dist/modules/consent-purposes/capabilities.d.ts.map +1 -0
  45. package/dist/modules/consent-purposes/capabilities.js +10 -0
  46. package/dist/modules/consent-purposes/capabilities.js.map +1 -0
  47. package/dist/modules/consent-purposes/events.d.ts +38 -0
  48. package/dist/modules/consent-purposes/events.d.ts.map +1 -0
  49. package/dist/modules/consent-purposes/events.js +17 -0
  50. package/dist/modules/consent-purposes/events.js.map +1 -0
  51. package/dist/modules/consent-purposes/index.d.ts +13 -0
  52. package/dist/modules/consent-purposes/index.d.ts.map +1 -0
  53. package/dist/modules/consent-purposes/index.js +41 -0
  54. package/dist/modules/consent-purposes/index.js.map +1 -0
  55. package/dist/modules/consent-purposes/repository.d.ts +21 -0
  56. package/dist/modules/consent-purposes/repository.d.ts.map +1 -0
  57. package/dist/modules/consent-purposes/repository.js +98 -0
  58. package/dist/modules/consent-purposes/repository.js.map +1 -0
  59. package/dist/modules/consent-purposes/routes.d.ts +39 -0
  60. package/dist/modules/consent-purposes/routes.d.ts.map +1 -0
  61. package/dist/modules/consent-purposes/routes.js +79 -0
  62. package/dist/modules/consent-purposes/routes.js.map +1 -0
  63. package/dist/modules/consent-purposes/schema.d.ts +175 -0
  64. package/dist/modules/consent-purposes/schema.d.ts.map +1 -0
  65. package/dist/modules/consent-purposes/schema.js +35 -0
  66. package/dist/modules/consent-purposes/schema.js.map +1 -0
  67. package/dist/modules/consent-purposes/service.d.ts +50 -0
  68. package/dist/modules/consent-purposes/service.d.ts.map +1 -0
  69. package/dist/modules/consent-purposes/service.js +263 -0
  70. package/dist/modules/consent-purposes/service.js.map +1 -0
  71. package/dist/modules/consent-purposes/starters.d.ts +17 -0
  72. package/dist/modules/consent-purposes/starters.d.ts.map +1 -0
  73. package/dist/modules/consent-purposes/starters.js +15 -0
  74. package/dist/modules/consent-purposes/starters.js.map +1 -0
  75. package/dist/modules/consent-purposes/tools.d.ts +4 -0
  76. package/dist/modules/consent-purposes/tools.d.ts.map +1 -0
  77. package/dist/modules/consent-purposes/tools.js +29 -0
  78. package/dist/modules/consent-purposes/tools.js.map +1 -0
  79. package/dist/modules/core.d.ts.map +1 -1
  80. package/dist/modules/core.js +10 -0
  81. package/dist/modules/core.js.map +1 -1
  82. package/dist/modules/custom-fields/capabilities.d.ts +12 -0
  83. package/dist/modules/custom-fields/capabilities.d.ts.map +1 -0
  84. package/dist/modules/custom-fields/capabilities.js +15 -0
  85. package/dist/modules/custom-fields/capabilities.js.map +1 -0
  86. package/dist/modules/custom-fields/events.d.ts +49 -0
  87. package/dist/modules/custom-fields/events.d.ts.map +1 -0
  88. package/dist/modules/custom-fields/events.js +25 -0
  89. package/dist/modules/custom-fields/events.js.map +1 -0
  90. package/dist/modules/custom-fields/index.d.ts +19 -0
  91. package/dist/modules/custom-fields/index.d.ts.map +1 -0
  92. package/dist/modules/custom-fields/index.js +46 -0
  93. package/dist/modules/custom-fields/index.js.map +1 -0
  94. package/dist/modules/custom-fields/repository.d.ts +37 -0
  95. package/dist/modules/custom-fields/repository.d.ts.map +1 -0
  96. package/dist/modules/custom-fields/repository.js +144 -0
  97. package/dist/modules/custom-fields/repository.js.map +1 -0
  98. package/dist/modules/custom-fields/routes.d.ts +44 -0
  99. package/dist/modules/custom-fields/routes.d.ts.map +1 -0
  100. package/dist/modules/custom-fields/routes.js +103 -0
  101. package/dist/modules/custom-fields/routes.js.map +1 -0
  102. package/dist/modules/custom-fields/schema.d.ts +215 -0
  103. package/dist/modules/custom-fields/schema.d.ts.map +1 -0
  104. package/dist/modules/custom-fields/schema.js +43 -0
  105. package/dist/modules/custom-fields/schema.js.map +1 -0
  106. package/dist/modules/custom-fields/service.d.ts +57 -0
  107. package/dist/modules/custom-fields/service.d.ts.map +1 -0
  108. package/dist/modules/custom-fields/service.js +273 -0
  109. package/dist/modules/custom-fields/service.js.map +1 -0
  110. package/dist/modules/custom-fields/tools.d.ts +4 -0
  111. package/dist/modules/custom-fields/tools.d.ts.map +1 -0
  112. package/dist/modules/custom-fields/tools.js +38 -0
  113. package/dist/modules/custom-fields/tools.js.map +1 -0
  114. package/dist/modules/custom-fields/values.d.ts +49 -0
  115. package/dist/modules/custom-fields/values.d.ts.map +1 -0
  116. package/dist/modules/custom-fields/values.js +249 -0
  117. package/dist/modules/custom-fields/values.js.map +1 -0
  118. package/dist/modules/custom-fields/wire.d.ts +12 -0
  119. package/dist/modules/custom-fields/wire.d.ts.map +1 -0
  120. package/dist/modules/custom-fields/wire.js +30 -0
  121. package/dist/modules/custom-fields/wire.js.map +1 -0
  122. package/dist/modules/dashboard/repository.d.ts.map +1 -1
  123. package/dist/modules/dashboard/repository.js +4 -3
  124. package/dist/modules/dashboard/repository.js.map +1 -1
  125. package/dist/modules/deals/index.d.ts +2 -1
  126. package/dist/modules/deals/index.d.ts.map +1 -1
  127. package/dist/modules/deals/index.js +5 -2
  128. package/dist/modules/deals/index.js.map +1 -1
  129. package/dist/modules/deals/repository.d.ts +0 -16
  130. package/dist/modules/deals/repository.d.ts.map +1 -1
  131. package/dist/modules/deals/repository.js +6 -76
  132. package/dist/modules/deals/repository.js.map +1 -1
  133. package/dist/modules/deals/routes.d.ts +14 -0
  134. package/dist/modules/deals/routes.d.ts.map +1 -1
  135. package/dist/modules/deals/routes.js +7 -0
  136. package/dist/modules/deals/routes.js.map +1 -1
  137. package/dist/modules/deals/schema.d.ts +20 -42
  138. package/dist/modules/deals/schema.d.ts.map +1 -1
  139. package/dist/modules/deals/schema.js +6 -11
  140. package/dist/modules/deals/schema.js.map +1 -1
  141. package/dist/modules/deals/service.d.ts +13 -2
  142. package/dist/modules/deals/service.d.ts.map +1 -1
  143. package/dist/modules/deals/service.js +43 -20
  144. package/dist/modules/deals/service.js.map +1 -1
  145. package/dist/modules/decisions/repository.d.ts.map +1 -1
  146. package/dist/modules/decisions/repository.js +2 -0
  147. package/dist/modules/decisions/repository.js.map +1 -1
  148. package/dist/modules/decisions/routes.d.ts +1 -0
  149. package/dist/modules/decisions/routes.d.ts.map +1 -1
  150. package/dist/modules/enquiries/events.d.ts +44 -0
  151. package/dist/modules/enquiries/events.d.ts.map +1 -0
  152. package/dist/modules/enquiries/events.js +19 -0
  153. package/dist/modules/enquiries/events.js.map +1 -0
  154. package/dist/modules/enquiries/index.d.ts +13 -0
  155. package/dist/modules/enquiries/index.d.ts.map +1 -0
  156. package/dist/modules/enquiries/index.js +44 -0
  157. package/dist/modules/enquiries/index.js.map +1 -0
  158. package/dist/modules/enquiries/repository.d.ts +30 -0
  159. package/dist/modules/enquiries/repository.d.ts.map +1 -0
  160. package/dist/modules/enquiries/repository.js +94 -0
  161. package/dist/modules/enquiries/repository.js.map +1 -0
  162. package/dist/modules/enquiries/routes.d.ts +52 -0
  163. package/dist/modules/enquiries/routes.d.ts.map +1 -0
  164. package/dist/modules/enquiries/routes.js +127 -0
  165. package/dist/modules/enquiries/routes.js.map +1 -0
  166. package/dist/modules/enquiries/schema.d.ts +290 -0
  167. package/dist/modules/enquiries/schema.d.ts.map +1 -0
  168. package/dist/modules/enquiries/schema.js +52 -0
  169. package/dist/modules/enquiries/schema.js.map +1 -0
  170. package/dist/modules/enquiries/service.d.ts +85 -0
  171. package/dist/modules/enquiries/service.d.ts.map +1 -0
  172. package/dist/modules/enquiries/service.js +370 -0
  173. package/dist/modules/enquiries/service.js.map +1 -0
  174. package/dist/modules/enquiries/tools.d.ts +4 -0
  175. package/dist/modules/enquiries/tools.d.ts.map +1 -0
  176. package/dist/modules/enquiries/tools.js +50 -0
  177. package/dist/modules/enquiries/tools.js.map +1 -0
  178. package/dist/modules/eventCatalogs.d.ts +3 -0
  179. package/dist/modules/eventCatalogs.d.ts.map +1 -1
  180. package/dist/modules/eventCatalogs.js +3 -0
  181. package/dist/modules/eventCatalogs.js.map +1 -1
  182. package/dist/modules/forms/embed.d.ts +20 -6
  183. package/dist/modules/forms/embed.d.ts.map +1 -1
  184. package/dist/modules/forms/embed.js +359 -43
  185. package/dist/modules/forms/embed.js.map +1 -1
  186. package/dist/modules/forms/events.d.ts +20 -7
  187. package/dist/modules/forms/events.d.ts.map +1 -1
  188. package/dist/modules/forms/events.js +20 -2
  189. package/dist/modules/forms/events.js.map +1 -1
  190. package/dist/modules/forms/fields.d.ts +14 -1
  191. package/dist/modules/forms/fields.d.ts.map +1 -1
  192. package/dist/modules/forms/fields.js +87 -3
  193. package/dist/modules/forms/fields.js.map +1 -1
  194. package/dist/modules/forms/index.d.ts.map +1 -1
  195. package/dist/modules/forms/index.js +12 -1
  196. package/dist/modules/forms/index.js.map +1 -1
  197. package/dist/modules/forms/mapping.d.ts +62 -5
  198. package/dist/modules/forms/mapping.d.ts.map +1 -1
  199. package/dist/modules/forms/mapping.js +139 -5
  200. package/dist/modules/forms/mapping.js.map +1 -1
  201. package/dist/modules/forms/publicRoutes.d.ts.map +1 -1
  202. package/dist/modules/forms/publicRoutes.js +29 -1
  203. package/dist/modules/forms/publicRoutes.js.map +1 -1
  204. package/dist/modules/forms/repository.d.ts +31 -0
  205. package/dist/modules/forms/repository.d.ts.map +1 -1
  206. package/dist/modules/forms/repository.js +90 -1
  207. package/dist/modules/forms/repository.js.map +1 -1
  208. package/dist/modules/forms/routes.d.ts +83 -1
  209. package/dist/modules/forms/routes.d.ts.map +1 -1
  210. package/dist/modules/forms/routes.js +185 -2
  211. package/dist/modules/forms/routes.js.map +1 -1
  212. package/dist/modules/forms/schema.d.ts +672 -1
  213. package/dist/modules/forms/schema.d.ts.map +1 -1
  214. package/dist/modules/forms/schema.js +146 -3
  215. package/dist/modules/forms/schema.js.map +1 -1
  216. package/dist/modules/forms/service.d.ts +54 -1
  217. package/dist/modules/forms/service.d.ts.map +1 -1
  218. package/dist/modules/forms/service.js +338 -28
  219. package/dist/modules/forms/service.js.map +1 -1
  220. package/dist/modules/forms/submission.d.ts +15 -0
  221. package/dist/modules/forms/submission.d.ts.map +1 -1
  222. package/dist/modules/forms/submission.js +418 -40
  223. package/dist/modules/forms/submission.js.map +1 -1
  224. package/dist/modules/import-export/drafts.d.ts +10 -0
  225. package/dist/modules/import-export/drafts.d.ts.map +1 -1
  226. package/dist/modules/import-export/drafts.js +16 -2
  227. package/dist/modules/import-export/drafts.js.map +1 -1
  228. package/dist/modules/import-export/exportRows.d.ts +7 -4
  229. package/dist/modules/import-export/exportRows.d.ts.map +1 -1
  230. package/dist/modules/import-export/exportRows.js +20 -5
  231. package/dist/modules/import-export/exportRows.js.map +1 -1
  232. package/dist/modules/import-export/plan.d.ts +12 -1
  233. package/dist/modules/import-export/plan.d.ts.map +1 -1
  234. package/dist/modules/import-export/plan.js +29 -2
  235. package/dist/modules/import-export/plan.js.map +1 -1
  236. package/dist/modules/import-export/presets.d.ts.map +1 -1
  237. package/dist/modules/import-export/presets.js +10 -0
  238. package/dist/modules/import-export/presets.js.map +1 -1
  239. package/dist/modules/import-export/repository.d.ts +11 -1
  240. package/dist/modules/import-export/repository.d.ts.map +1 -1
  241. package/dist/modules/import-export/repository.js +42 -9
  242. package/dist/modules/import-export/repository.js.map +1 -1
  243. package/dist/modules/import-export/routes.d.ts.map +1 -1
  244. package/dist/modules/import-export/routes.js +4 -0
  245. package/dist/modules/import-export/routes.js.map +1 -1
  246. package/dist/modules/import-export/schema.d.ts +17 -0
  247. package/dist/modules/import-export/schema.d.ts.map +1 -1
  248. package/dist/modules/import-export/schema.js +11 -0
  249. package/dist/modules/import-export/schema.js.map +1 -1
  250. package/dist/modules/import-export/service.d.ts +6 -0
  251. package/dist/modules/import-export/service.d.ts.map +1 -1
  252. package/dist/modules/import-export/service.js +14 -2
  253. package/dist/modules/import-export/service.js.map +1 -1
  254. package/dist/modules/import-export/streams.d.ts.map +1 -1
  255. package/dist/modules/import-export/streams.js +3 -3
  256. package/dist/modules/import-export/streams.js.map +1 -1
  257. package/dist/modules/import-export/tools.d.ts.map +1 -1
  258. package/dist/modules/import-export/tools.js +8 -0
  259. package/dist/modules/import-export/tools.js.map +1 -1
  260. package/dist/modules/import-export/validation.d.ts.map +1 -1
  261. package/dist/modules/import-export/validation.js +22 -1
  262. package/dist/modules/import-export/validation.js.map +1 -1
  263. package/dist/modules/import-export/writes.d.ts.map +1 -1
  264. package/dist/modules/import-export/writes.js +37 -4
  265. package/dist/modules/import-export/writes.js.map +1 -1
  266. package/dist/modules/lists/index.d.ts +38 -0
  267. package/dist/modules/lists/index.d.ts.map +1 -1
  268. package/dist/modules/lists/index.js +27 -0
  269. package/dist/modules/lists/index.js.map +1 -1
  270. package/dist/modules/lists/repository.d.ts +26 -0
  271. package/dist/modules/lists/repository.d.ts.map +1 -1
  272. package/dist/modules/lists/repository.js +32 -0
  273. package/dist/modules/lists/repository.js.map +1 -1
  274. package/dist/modules/lists/routes.d.ts +4 -0
  275. package/dist/modules/lists/routes.d.ts.map +1 -1
  276. package/dist/modules/lists/routes.js +8 -0
  277. package/dist/modules/lists/routes.js.map +1 -1
  278. package/dist/modules/lists/schema.d.ts +17 -0
  279. package/dist/modules/lists/schema.d.ts.map +1 -1
  280. package/dist/modules/lists/schema.js +10 -0
  281. package/dist/modules/lists/schema.js.map +1 -1
  282. package/dist/modules/lists/service.d.ts +14 -2
  283. package/dist/modules/lists/service.d.ts.map +1 -1
  284. package/dist/modules/lists/service.js +55 -7
  285. package/dist/modules/lists/service.js.map +1 -1
  286. package/dist/modules/mcp/index.d.ts.map +1 -1
  287. package/dist/modules/mcp/index.js +5 -0
  288. package/dist/modules/mcp/index.js.map +1 -1
  289. package/dist/modules/notes/routes.d.ts +1 -0
  290. package/dist/modules/notes/routes.d.ts.map +1 -1
  291. package/dist/modules/opportunities/index.d.ts.map +1 -1
  292. package/dist/modules/opportunities/index.js +3 -1
  293. package/dist/modules/opportunities/index.js.map +1 -1
  294. package/dist/modules/opportunities/repository.d.ts +2 -0
  295. package/dist/modules/opportunities/repository.d.ts.map +1 -1
  296. package/dist/modules/opportunities/repository.js +4 -0
  297. package/dist/modules/opportunities/repository.js.map +1 -1
  298. package/dist/modules/opportunities/routes.d.ts +16 -0
  299. package/dist/modules/opportunities/routes.d.ts.map +1 -1
  300. package/dist/modules/opportunities/routes.js +13 -0
  301. package/dist/modules/opportunities/routes.js.map +1 -1
  302. package/dist/modules/opportunities/schema.d.ts +20 -0
  303. package/dist/modules/opportunities/schema.d.ts.map +1 -1
  304. package/dist/modules/opportunities/schema.js +6 -1
  305. package/dist/modules/opportunities/schema.js.map +1 -1
  306. package/dist/modules/opportunities/service.d.ts +20 -3
  307. package/dist/modules/opportunities/service.d.ts.map +1 -1
  308. package/dist/modules/opportunities/service.js +99 -18
  309. package/dist/modules/opportunities/service.js.map +1 -1
  310. package/dist/modules/opportunities/tools.d.ts.map +1 -1
  311. package/dist/modules/opportunities/tools.js +2 -0
  312. package/dist/modules/opportunities/tools.js.map +1 -1
  313. package/dist/modules/partnerships/index.d.ts.map +1 -1
  314. package/dist/modules/partnerships/index.js +3 -1
  315. package/dist/modules/partnerships/index.js.map +1 -1
  316. package/dist/modules/partnerships/repository.d.ts +0 -17
  317. package/dist/modules/partnerships/repository.d.ts.map +1 -1
  318. package/dist/modules/partnerships/repository.js +6 -82
  319. package/dist/modules/partnerships/repository.js.map +1 -1
  320. package/dist/modules/partnerships/routes.d.ts +14 -0
  321. package/dist/modules/partnerships/routes.d.ts.map +1 -1
  322. package/dist/modules/partnerships/routes.js +7 -0
  323. package/dist/modules/partnerships/routes.js.map +1 -1
  324. package/dist/modules/partnerships/schema.d.ts +20 -41
  325. package/dist/modules/partnerships/schema.d.ts.map +1 -1
  326. package/dist/modules/partnerships/schema.js +6 -10
  327. package/dist/modules/partnerships/schema.js.map +1 -1
  328. package/dist/modules/partnerships/service.d.ts +11 -1
  329. package/dist/modules/partnerships/service.d.ts.map +1 -1
  330. package/dist/modules/partnerships/service.js +43 -20
  331. package/dist/modules/partnerships/service.js.map +1 -1
  332. package/dist/modules/people/consentHydration.d.ts +26 -0
  333. package/dist/modules/people/consentHydration.d.ts.map +1 -0
  334. package/dist/modules/people/consentHydration.js +100 -0
  335. package/dist/modules/people/consentHydration.js.map +1 -0
  336. package/dist/modules/people/index.d.ts.map +1 -1
  337. package/dist/modules/people/index.js +3 -1
  338. package/dist/modules/people/index.js.map +1 -1
  339. package/dist/modules/people/personConsentWrites.d.ts +40 -0
  340. package/dist/modules/people/personConsentWrites.d.ts.map +1 -0
  341. package/dist/modules/people/personConsentWrites.js +98 -0
  342. package/dist/modules/people/personConsentWrites.js.map +1 -0
  343. package/dist/modules/people/repository.d.ts.map +1 -1
  344. package/dist/modules/people/repository.js +5 -1
  345. package/dist/modules/people/repository.js.map +1 -1
  346. package/dist/modules/people/routes.d.ts +57 -4
  347. package/dist/modules/people/routes.d.ts.map +1 -1
  348. package/dist/modules/people/routes.js +104 -5
  349. package/dist/modules/people/routes.js.map +1 -1
  350. package/dist/modules/people/schema.d.ts +366 -1
  351. package/dist/modules/people/schema.d.ts.map +1 -1
  352. package/dist/modules/people/schema.js +92 -2
  353. package/dist/modules/people/schema.js.map +1 -1
  354. package/dist/modules/people/service.d.ts +30 -1
  355. package/dist/modules/people/service.d.ts.map +1 -1
  356. package/dist/modules/people/service.js +115 -38
  357. package/dist/modules/people/service.js.map +1 -1
  358. package/dist/modules/people/tools.d.ts.map +1 -1
  359. package/dist/modules/people/tools.js +4 -1
  360. package/dist/modules/people/tools.js.map +1 -1
  361. package/dist/modules/personLinks.d.ts +79 -0
  362. package/dist/modules/personLinks.d.ts.map +1 -0
  363. package/dist/modules/personLinks.js +155 -0
  364. package/dist/modules/personLinks.js.map +1 -0
  365. package/dist/modules/pipelines/routes.d.ts +1 -0
  366. package/dist/modules/pipelines/routes.d.ts.map +1 -1
  367. package/dist/modules/plans/routes.d.ts +1 -0
  368. package/dist/modules/plans/routes.d.ts.map +1 -1
  369. package/dist/modules/raises/index.d.ts.map +1 -1
  370. package/dist/modules/raises/index.js +3 -1
  371. package/dist/modules/raises/index.js.map +1 -1
  372. package/dist/modules/raises/repository.d.ts +0 -17
  373. package/dist/modules/raises/repository.d.ts.map +1 -1
  374. package/dist/modules/raises/repository.js +6 -77
  375. package/dist/modules/raises/repository.js.map +1 -1
  376. package/dist/modules/raises/routes.d.ts +14 -0
  377. package/dist/modules/raises/routes.d.ts.map +1 -1
  378. package/dist/modules/raises/routes.js +7 -0
  379. package/dist/modules/raises/routes.js.map +1 -1
  380. package/dist/modules/raises/schema.d.ts +20 -41
  381. package/dist/modules/raises/schema.d.ts.map +1 -1
  382. package/dist/modules/raises/schema.js +6 -10
  383. package/dist/modules/raises/schema.js.map +1 -1
  384. package/dist/modules/raises/service.d.ts +11 -1
  385. package/dist/modules/raises/service.d.ts.map +1 -1
  386. package/dist/modules/raises/service.js +41 -18
  387. package/dist/modules/raises/service.js.map +1 -1
  388. package/dist/modules/recordTargets.d.ts.map +1 -1
  389. package/dist/modules/recordTargets.js +2 -0
  390. package/dist/modules/recordTargets.js.map +1 -1
  391. package/dist/modules/references.d.ts +10 -0
  392. package/dist/modules/references.d.ts.map +1 -1
  393. package/dist/modules/references.js +27 -4
  394. package/dist/modules/references.js.map +1 -1
  395. package/dist/modules/sample-data/fixture.d.ts +21 -0
  396. package/dist/modules/sample-data/fixture.d.ts.map +1 -1
  397. package/dist/modules/sample-data/fixture.js +40 -0
  398. package/dist/modules/sample-data/fixture.js.map +1 -1
  399. package/dist/modules/sample-data/index.d.ts.map +1 -1
  400. package/dist/modules/sample-data/index.js +1 -0
  401. package/dist/modules/sample-data/index.js.map +1 -1
  402. package/dist/modules/sample-data/routes.d.ts.map +1 -1
  403. package/dist/modules/sample-data/routes.js +1 -0
  404. package/dist/modules/sample-data/routes.js.map +1 -1
  405. package/dist/modules/sample-data/service.d.ts +1 -0
  406. package/dist/modules/sample-data/service.d.ts.map +1 -1
  407. package/dist/modules/sample-data/service.js +77 -8
  408. package/dist/modules/sample-data/service.js.map +1 -1
  409. package/dist/modules/search/index.d.ts +1 -1
  410. package/dist/modules/search/index.d.ts.map +1 -1
  411. package/dist/modules/search/index.js +2 -1
  412. package/dist/modules/search/index.js.map +1 -1
  413. package/dist/modules/search/repository.d.ts +1 -0
  414. package/dist/modules/search/repository.d.ts.map +1 -1
  415. package/dist/modules/search/repository.js +23 -0
  416. package/dist/modules/search/repository.js.map +1 -1
  417. package/dist/modules/search/service.d.ts +3 -3
  418. package/dist/modules/search/service.d.ts.map +1 -1
  419. package/dist/modules/search/service.js +5 -4
  420. package/dist/modules/search/service.js.map +1 -1
  421. package/dist/modules/stagedRecords.d.ts +3 -3
  422. package/dist/modules/stagedRecords.d.ts.map +1 -1
  423. package/dist/modules/stagedRecords.js +9 -0
  424. package/dist/modules/stagedRecords.js.map +1 -1
  425. package/dist/modules/webhooks/payloads.d.ts.map +1 -1
  426. package/dist/modules/webhooks/payloads.js +15 -2
  427. package/dist/modules/webhooks/payloads.js.map +1 -1
  428. package/dist/modules/workspace/repository.d.ts +2 -0
  429. package/dist/modules/workspace/repository.d.ts.map +1 -1
  430. package/dist/modules/workspace/repository.js +7 -0
  431. package/dist/modules/workspace/repository.js.map +1 -1
  432. package/dist/modules/workspace/service.d.ts.map +1 -1
  433. package/dist/modules/workspace/service.js +10 -0
  434. package/dist/modules/workspace/service.js.map +1 -1
  435. package/dist/modules/workspace/starters.d.ts.map +1 -1
  436. package/dist/modules/workspace/starters.js +5 -0
  437. package/dist/modules/workspace/starters.js.map +1 -1
  438. package/dist/runtime/events.d.ts +1 -1
  439. package/dist/runtime/events.d.ts.map +1 -1
  440. package/dist/runtime/events.js +1 -0
  441. package/dist/runtime/events.js.map +1 -1
  442. package/dist/schema/index.d.ts +3 -0
  443. package/dist/schema/index.d.ts.map +1 -1
  444. package/dist/schema/index.js +3 -0
  445. package/dist/schema/index.js.map +1 -1
  446. package/dist/testing/database.d.ts +5 -1
  447. package/dist/testing/database.d.ts.map +1 -1
  448. package/dist/testing/database.js +81 -10
  449. package/dist/testing/database.js.map +1 -1
  450. package/migrations/0024_third_king_cobra.sql +46 -0
  451. package/migrations/0025_worthless_chimera.sql +3 -0
  452. package/migrations/0026_late_aqueduct.sql +46 -0
  453. package/migrations/0027_brainy_silver_sable.sql +3 -0
  454. package/migrations/0028_freezing_scrambler.sql +19 -0
  455. package/migrations/0029_custom_fields.sql +26 -0
  456. package/migrations/0030_enquiries.sql +79 -0
  457. package/migrations/0031_consent.sql +45 -0
  458. package/migrations/0032_form_field_statement.sql +1 -0
  459. package/migrations/0033_form_field_consent_purpose_ids.sql +5 -0
  460. package/migrations/0034_drop_form_field_consent_purpose_id.sql +1 -0
  461. package/migrations/0035_form_field_consent_purpose_labels.sql +1 -0
  462. package/migrations/0036_form_field_notice_type.sql +2 -0
  463. package/migrations/meta/0024_snapshot.json +5516 -0
  464. package/migrations/meta/0025_snapshot.json +5336 -0
  465. package/migrations/meta/0026_snapshot.json +5710 -0
  466. package/migrations/meta/0027_snapshot.json +5716 -0
  467. package/migrations/meta/0028_snapshot.json +5740 -0
  468. package/migrations/meta/0029_snapshot.json +5935 -0
  469. package/migrations/meta/0030_snapshot.json +6245 -0
  470. package/migrations/meta/0031_snapshot.json +6572 -0
  471. package/migrations/meta/0032_snapshot.json +6578 -0
  472. package/migrations/meta/0033_snapshot.json +6572 -0
  473. package/migrations/meta/0034_snapshot.json +6566 -0
  474. package/migrations/meta/0035_snapshot.json +6573 -0
  475. package/migrations/meta/0036_snapshot.json +6573 -0
  476. package/migrations/meta/_journal.json +91 -0
  477. package/package.json +2 -2
  478. package/src/index.ts +6 -0
  479. package/src/lib/ids.ts +11 -0
  480. package/src/modules/activities/repository.ts +22 -23
  481. package/src/modules/activities/wording.ts +18 -0
  482. package/src/modules/agent-tasks/catalog.ts +63 -0
  483. package/src/modules/agent-tasks/resolve.ts +64 -24
  484. package/src/modules/attachedRecords.ts +29 -2
  485. package/src/modules/companies/index.ts +3 -1
  486. package/src/modules/companies/routes.ts +7 -0
  487. package/src/modules/companies/schema.ts +7 -1
  488. package/src/modules/companies/service.ts +48 -13
  489. package/src/modules/consent-purposes/capabilities.ts +12 -0
  490. package/src/modules/consent-purposes/events.ts +38 -0
  491. package/src/modules/consent-purposes/index.ts +48 -0
  492. package/src/modules/consent-purposes/repository.ts +163 -0
  493. package/src/modules/consent-purposes/routes.ts +122 -0
  494. package/src/modules/consent-purposes/schema.ts +46 -0
  495. package/src/modules/consent-purposes/service.ts +423 -0
  496. package/src/modules/consent-purposes/starters.ts +32 -0
  497. package/src/modules/consent-purposes/tools.ts +44 -0
  498. package/src/modules/core.ts +10 -0
  499. package/src/modules/custom-fields/capabilities.ts +17 -0
  500. package/src/modules/custom-fields/events.ts +51 -0
  501. package/src/modules/custom-fields/index.ts +61 -0
  502. package/src/modules/custom-fields/repository.ts +225 -0
  503. package/src/modules/custom-fields/routes.ts +155 -0
  504. package/src/modules/custom-fields/schema.ts +61 -0
  505. package/src/modules/custom-fields/service.ts +439 -0
  506. package/src/modules/custom-fields/tools.ts +53 -0
  507. package/src/modules/custom-fields/values.ts +352 -0
  508. package/src/modules/custom-fields/wire.ts +32 -0
  509. package/src/modules/dashboard/repository.ts +4 -3
  510. package/src/modules/deals/index.ts +5 -2
  511. package/src/modules/deals/repository.ts +6 -106
  512. package/src/modules/deals/routes.ts +7 -0
  513. package/src/modules/deals/schema.ts +7 -15
  514. package/src/modules/deals/service.ts +92 -23
  515. package/src/modules/decisions/repository.ts +2 -0
  516. package/src/modules/enquiries/events.ts +45 -0
  517. package/src/modules/enquiries/index.ts +50 -0
  518. package/src/modules/enquiries/repository.ts +164 -0
  519. package/src/modules/enquiries/routes.ts +172 -0
  520. package/src/modules/enquiries/schema.ts +59 -0
  521. package/src/modules/enquiries/service.ts +644 -0
  522. package/src/modules/enquiries/tools.ts +66 -0
  523. package/src/modules/eventCatalogs.ts +3 -0
  524. package/src/modules/forms/embed.ts +391 -44
  525. package/src/modules/forms/events.ts +30 -2
  526. package/src/modules/forms/fields.ts +102 -2
  527. package/src/modules/forms/index.ts +12 -1
  528. package/src/modules/forms/mapping.ts +183 -6
  529. package/src/modules/forms/publicRoutes.ts +43 -1
  530. package/src/modules/forms/repository.ts +162 -1
  531. package/src/modules/forms/routes.ts +212 -2
  532. package/src/modules/forms/schema.ts +166 -4
  533. package/src/modules/forms/service.ts +565 -41
  534. package/src/modules/forms/submission.ts +718 -44
  535. package/src/modules/import-export/drafts.ts +20 -1
  536. package/src/modules/import-export/exportRows.ts +21 -5
  537. package/src/modules/import-export/plan.ts +47 -2
  538. package/src/modules/import-export/presets.ts +10 -0
  539. package/src/modules/import-export/repository.ts +73 -8
  540. package/src/modules/import-export/routes.ts +4 -0
  541. package/src/modules/import-export/schema.ts +11 -0
  542. package/src/modules/import-export/service.ts +28 -2
  543. package/src/modules/import-export/streams.ts +3 -1
  544. package/src/modules/import-export/tools.ts +10 -0
  545. package/src/modules/import-export/validation.ts +28 -0
  546. package/src/modules/import-export/writes.ts +70 -5
  547. package/src/modules/lists/index.ts +71 -0
  548. package/src/modules/lists/repository.ts +64 -0
  549. package/src/modules/lists/routes.ts +8 -0
  550. package/src/modules/lists/schema.ts +10 -0
  551. package/src/modules/lists/service.ts +110 -9
  552. package/src/modules/mcp/index.ts +5 -0
  553. package/src/modules/opportunities/index.ts +3 -1
  554. package/src/modules/opportunities/repository.ts +11 -0
  555. package/src/modules/opportunities/routes.ts +13 -0
  556. package/src/modules/opportunities/schema.ts +7 -1
  557. package/src/modules/opportunities/service.ts +188 -22
  558. package/src/modules/opportunities/tools.ts +2 -0
  559. package/src/modules/partnerships/index.ts +3 -1
  560. package/src/modules/partnerships/repository.ts +6 -117
  561. package/src/modules/partnerships/routes.ts +7 -0
  562. package/src/modules/partnerships/schema.ts +7 -14
  563. package/src/modules/partnerships/service.ts +93 -22
  564. package/src/modules/people/consentHydration.ts +167 -0
  565. package/src/modules/people/index.ts +3 -1
  566. package/src/modules/people/personConsentWrites.ts +177 -0
  567. package/src/modules/people/repository.ts +5 -0
  568. package/src/modules/people/routes.ts +127 -18
  569. package/src/modules/people/schema.ts +109 -3
  570. package/src/modules/people/service.ts +186 -40
  571. package/src/modules/people/tools.ts +5 -1
  572. package/src/modules/personLinks.ts +278 -0
  573. package/src/modules/raises/index.ts +3 -1
  574. package/src/modules/raises/repository.ts +6 -107
  575. package/src/modules/raises/routes.ts +7 -0
  576. package/src/modules/raises/schema.ts +7 -14
  577. package/src/modules/raises/service.ts +91 -20
  578. package/src/modules/recordTargets.ts +2 -0
  579. package/src/modules/references.ts +43 -4
  580. package/src/modules/sample-data/fixture.ts +63 -0
  581. package/src/modules/sample-data/index.ts +1 -0
  582. package/src/modules/sample-data/routes.ts +1 -0
  583. package/src/modules/sample-data/service.ts +97 -8
  584. package/src/modules/search/index.ts +2 -1
  585. package/src/modules/search/repository.ts +33 -1
  586. package/src/modules/search/service.ts +7 -5
  587. package/src/modules/stagedRecords.ts +18 -3
  588. package/src/modules/webhooks/payloads.ts +20 -2
  589. package/src/modules/workspace/repository.ts +12 -0
  590. package/src/modules/workspace/service.ts +14 -0
  591. package/src/modules/workspace/starters.ts +5 -0
  592. package/src/runtime/events.ts +1 -0
  593. package/src/schema/index.ts +3 -0
  594. package/src/testing/database.ts +97 -11
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/modules/opportunities/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAErE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,eAAe,EACf;IACE,EAAE,EAAE,SAAS,EAAE;IACf,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;SAC9B,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC3D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;SACtB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAChE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACtF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACzF,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,SAAS,EAAE,SAAS,EAAE;IACtB,SAAS,EAAE,SAAS,EAAE;IACtB,YAAY,EAAE,YAAY,CAAC,GAAgC,EAAE,CAAC;QAC5D,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3C,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3C,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE;QAC9C,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;KACzD,CAAC;CACH,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAC1D,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAClD,KAAK,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;CACnE,CACF,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/modules/opportunities/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEvE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAErE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,eAAe,EACf;IACE,EAAE,EAAE,SAAS,EAAE;IACf,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;SAC9B,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC3D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;SACtB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAChE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACtF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACzF,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,2EAA2E;IAC3E,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;SACjC,KAAK,EAA8C;SACnD,OAAO,EAAE;SACT,OAAO,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,EAAE;IACtB,SAAS,EAAE,SAAS,EAAE;IACtB,YAAY,EAAE,YAAY,CAAC,GAAgC,EAAE,CAAC;QAC5D,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3C,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3C,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE;QAC9C,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;KACzD,CAAC;CACH,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAC1D,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAClD,KAAK,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;CACnE,CACF,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { CustomFieldWireValue } from '@kelpie/schemas';
1
2
  import type { Database } from '../../lib/database.ts';
2
3
  import type { IdFactory } from '../../lib/ids.ts';
3
4
  import type { ListQueryParameters, Page } from '../../lib/pagination.ts';
@@ -5,10 +6,13 @@ import type { TransactionScope } from '../../runtime/transaction.ts';
5
6
  import type { ActivityRecorder } from '../activities/recorder.ts';
6
7
  import type { Actor } from '../auth/actor.ts';
7
8
  import './events.ts';
9
+ import type { CustomFieldValuesValidator } from '../custom-fields/values.ts';
8
10
  import type { OpportunityFilters, OpportunityRecord } from './repository.ts';
9
11
  /**
10
12
  * Opportunities: the non-sales pipeline. Grants, accelerators, tenders, press,
11
- * speaking — same stage mechanics as Deals, different lens, and no people links.
13
+ * speaking — same stage mechanics as Deals, different lens. People attach
14
+ * through `person_links` and appear as `person_ids` on the wire, the same
15
+ * shape deals/partnerships/raises use.
12
16
  *
13
17
  * A stage move is an ordinary PATCH of `stage_id`, and it is the one change that
14
18
  * files a `stage_changed` activity and a `stage.changed` event instead of the
@@ -20,9 +24,12 @@ export interface OpportunitiesDependencies {
20
24
  readonly createId: IdFactory;
21
25
  readonly now: () => Date;
22
26
  readonly recordActivity: ActivityRecorder;
27
+ readonly customFields: CustomFieldValuesValidator;
23
28
  }
24
- /** An opportunity as the API returns one: the stored row minus tenancy. */
25
- export type OpportunityView = Omit<OpportunityRecord, 'workspaceId'>;
29
+ /** An opportunity as the API returns one: the stored row minus tenancy, plus its people. */
30
+ export type OpportunityView = Omit<OpportunityRecord, 'workspaceId'> & {
31
+ readonly personIds: readonly string[];
32
+ };
26
33
  export interface CreateOpportunityInput {
27
34
  readonly name: string;
28
35
  /**
@@ -36,8 +43,11 @@ export interface CreateOpportunityInput {
36
43
  /** Absent means the caller: the member creating an opportunity starts as its owner. */
37
44
  readonly ownerId: string | null | undefined;
38
45
  readonly expectedClose: string | null;
46
+ readonly personIds: readonly string[];
39
47
  readonly summary: string;
40
48
  readonly tags: readonly string[];
49
+ /** Wire shape for a create body: `null` values are ignored, non-null are validated. */
50
+ readonly customFields: Readonly<Record<string, CustomFieldWireValue | null>> | undefined;
41
51
  }
42
52
  /** PATCH semantics: an absent field is left alone, and null clears a nullable one. */
43
53
  export interface UpdateOpportunityInput {
@@ -47,8 +57,15 @@ export interface UpdateOpportunityInput {
47
57
  readonly companyId?: string | null | undefined;
48
58
  readonly ownerId?: string | null | undefined;
49
59
  readonly expectedClose?: string | null | undefined;
60
+ /** Replaces the set. The service works out who was added and who left. */
61
+ readonly personIds?: readonly string[] | undefined;
50
62
  readonly summary?: string | undefined;
51
63
  readonly tags?: readonly string[] | undefined;
64
+ /**
65
+ * Partial merge patch (wire shape): sent keys change, `null` clears a key,
66
+ * absent keys are left alone. Unknown keys are `422`.
67
+ */
68
+ readonly customFields?: Readonly<Record<string, CustomFieldWireValue | null>> | undefined;
52
69
  }
53
70
  export interface OpportunitiesService {
54
71
  list(actor: Actor, filters: OpportunityFilters, query: ListQueryParameters): Promise<Page<OpportunityView>>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/modules/opportunities/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/modules/opportunities/service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { changedKeys } from '../../lib/changes.js';
2
2
  import { AppError } from '../../lib/errors.js';
3
3
  import { readListWindow, toPage } from '../../lib/pagination.js';
4
- import { describeCreation, describeStageChange, describeUpdate } from '../activities/wording.js';
4
+ import { describeCreation, describeLink, describeStageChange, describeUnlink, describeUpdate, } from '../activities/wording.js';
5
5
  import { toEventActor } from '../../lib/actor.js';
6
6
  import { actorMemberId, requireWorkspaceId } from '../auth/actor.js';
7
7
  import './events.js';
8
8
  import { deleteRecordsAttachedTo } from '../attachedRecords.js';
9
9
  import * as companyRepository from '../companies/repository.js';
10
+ import * as personLinks from '../personLinks.js';
10
11
  import * as pipelineRepository from '../pipelines/repository.js';
11
12
  import * as repository from './repository.js';
12
13
  import { DEFAULT_OPPORTUNITY_SORT, OPPORTUNITY_SORTS } from './repository.js';
@@ -20,9 +21,9 @@ const OPPORTUNITY_FIELD_LABELS = {
20
21
  summary: 'Summary',
21
22
  tags: 'Tags',
22
23
  };
23
- function toView(record) {
24
+ function toView(record, personIds) {
24
25
  const { workspaceId: _workspaceId, ...view } = record;
25
- return view;
26
+ return { ...view, personIds };
26
27
  }
27
28
  function toStoredColumns(input) {
28
29
  return {
@@ -85,17 +86,35 @@ export function createOpportunitiesService(dependencies) {
85
86
  throw AppError.notFound('Team member not found');
86
87
  }
87
88
  }
89
+ /** @returns Each person's name, for the link activities. Any id missing here is a 404. */
90
+ async function requirePeople(workspaceId, personIds) {
91
+ const named = await personLinks.findPeopleNamed(dependencies.db, workspaceId, personIds);
92
+ const missing = personIds.filter((id) => !named.has(id));
93
+ if (missing.length > 0) {
94
+ throw new AppError('not_found', 'Person not found', missing.map((id) => ({ field: 'person_ids', message: `No person ${id} here` })));
95
+ }
96
+ return named;
97
+ }
98
+ /** @returns The page's views, with every opportunity's people fetched in one query. */
99
+ async function toViews(workspaceId, records) {
100
+ const peopleByOpportunity = await personLinks.listPersonIdsFor(dependencies.db, workspaceId, 'opportunity', records.map((record) => record.id));
101
+ return records.map((record) => toView(record, peopleByOpportunity.get(record.id) ?? []));
102
+ }
88
103
  return {
89
104
  async list(actor, filters, query) {
90
105
  const workspaceId = requireWorkspaceId(actor);
91
106
  const window = readListWindow(query, OPPORTUNITY_SORTS, DEFAULT_OPPORTUNITY_SORT);
92
107
  const rows = await repository.listOpportunities(dependencies.db, workspaceId, filters, window);
93
108
  const page = toPage(rows, window, (opportunity) => opportunity.id);
94
- return { items: page.items.map(toView), nextCursor: page.nextCursor };
109
+ return { items: await toViews(workspaceId, page.items), nextCursor: page.nextCursor };
95
110
  },
96
111
  async get(actor, id) {
97
112
  const workspaceId = requireWorkspaceId(actor);
98
- return toView(await require(workspaceId, id));
113
+ const opportunity = await require(workspaceId, id);
114
+ return toView(opportunity, await personLinks.listPersonIds(dependencies.db, workspaceId, {
115
+ targetType: 'opportunity',
116
+ targetId: id,
117
+ }));
99
118
  },
100
119
  async create(actor, input) {
101
120
  const workspaceId = requireWorkspaceId(actor);
@@ -109,8 +128,11 @@ export function createOpportunitiesService(dependencies) {
109
128
  if (ownerId !== null) {
110
129
  await requireOwner(workspaceId, ownerId);
111
130
  }
131
+ const personIds = [...new Set(input.personIds)];
132
+ const named = await requirePeople(workspaceId, personIds);
112
133
  const id = dependencies.createId('opportunity');
113
134
  return dependencies.transaction(async ({ tx, events }) => {
135
+ const customFields = await dependencies.customFields.forCreate(tx, workspaceId, 'opportunity', input.customFields);
114
136
  const created = await repository.insertOpportunity(tx, {
115
137
  id,
116
138
  workspaceId,
@@ -122,15 +144,26 @@ export function createOpportunitiesService(dependencies) {
122
144
  expectedClose: input.expectedClose,
123
145
  summary: input.summary,
124
146
  tags: [...input.tags],
147
+ customFields,
125
148
  });
149
+ await personLinks.linkPeople(tx, dependencies.createId, workspaceId, { targetType: 'opportunity', targetId: id }, personIds);
126
150
  await dependencies.recordActivity(tx, workspaceId, actor, {
127
151
  targetType: 'opportunity',
128
152
  targetId: id,
129
153
  kind: 'created',
130
154
  ...describeCreation('Opportunity'),
131
155
  });
156
+ // One row per person, so the timeline names who was on it from day one.
157
+ for (const personId of personIds) {
158
+ await dependencies.recordActivity(tx, workspaceId, actor, {
159
+ targetType: 'opportunity',
160
+ targetId: id,
161
+ kind: 'linked',
162
+ ...describeLink('person', named.get(personId) ?? personId),
163
+ });
164
+ }
132
165
  events.emit('opportunities.opportunity.created', { type: 'opportunity', id }, {});
133
- return toView(created);
166
+ return toView(created, personIds);
134
167
  }, { workspaceId, actor: toEventActor(actor) });
135
168
  },
136
169
  async update(actor, id, changes) {
@@ -149,19 +182,37 @@ export function createOpportunitiesService(dependencies) {
149
182
  if (typeof changes.ownerId === 'string' && changes.ownerId !== existing.ownerId) {
150
183
  await requireOwner(workspaceId, changes.ownerId);
151
184
  }
185
+ const currentPeople = await personLinks.listPersonIds(dependencies.db, workspaceId, {
186
+ targetType: 'opportunity',
187
+ targetId: id,
188
+ });
189
+ const nextPeople = changes.personIds === undefined ? undefined : [...new Set(changes.personIds)];
190
+ const added = nextPeople === undefined
191
+ ? []
192
+ : nextPeople.filter((personId) => !currentPeople.includes(personId));
193
+ const removed = nextPeople === undefined
194
+ ? []
195
+ : currentPeople.filter((personId) => !nextPeople.includes(personId));
196
+ const named = await requirePeople(workspaceId, [...added, ...removed]);
152
197
  const columns = toStoredColumns(changes);
153
- const changed = changedKeys(existing, columns);
154
- if (changed.length === 0) {
155
- return toView(existing);
156
- }
198
+ const scalarChanged = changedKeys(existing, columns);
199
+ const linksChanged = added.length > 0 || removed.length > 0;
157
200
  return dependencies.transaction(async ({ tx, events }) => {
201
+ const cf = await dependencies.customFields.forUpdate(tx, workspaceId, 'opportunity', existing.customFields, changes.customFields);
202
+ const customFieldsChanged = cf !== undefined && cf.changedPaths.length > 0;
203
+ if (scalarChanged.length === 0 && !linksChanged && !customFieldsChanged) {
204
+ return toView(existing, currentPeople);
205
+ }
158
206
  const updated = await repository.updateOpportunity(tx, workspaceId, id, {
159
207
  ...columns,
208
+ ...(customFieldsChanged ? { customFields: cf.merged } : {}),
160
209
  updatedAt: dependencies.now(),
161
210
  });
162
211
  if (updated === undefined) {
163
212
  throw AppError.notFound('Opportunity not found');
164
213
  }
214
+ await personLinks.linkPeople(tx, dependencies.createId, workspaceId, { targetType: 'opportunity', targetId: id }, added);
215
+ await personLinks.unlinkPeople(tx, workspaceId, { targetType: 'opportunity', targetId: id }, removed);
165
216
  if (stageMove !== undefined) {
166
217
  await dependencies.recordActivity(tx, workspaceId, actor, {
167
218
  targetType: 'opportunity',
@@ -170,29 +221,59 @@ export function createOpportunitiesService(dependencies) {
170
221
  ...describeStageChange(stageMove.from.label, stageMove.to.label),
171
222
  });
172
223
  }
173
- const otherChanged = changed.filter((field) => field !== 'stageId');
174
- if (otherChanged.length > 0) {
224
+ const otherChanged = scalarChanged.filter((field) => field !== 'stageId');
225
+ const customFieldPaths = cf?.changedPaths ?? [];
226
+ const activityChanged = [...otherChanged, ...customFieldPaths];
227
+ if (activityChanged.length > 0) {
228
+ const labels = { ...OPPORTUNITY_FIELD_LABELS, ...cf?.labels };
229
+ const before = { ...existing, ...cf?.flatBefore };
230
+ const after = { ...columns, ...cf?.flatAfter };
175
231
  await dependencies.recordActivity(tx, workspaceId, actor, {
176
232
  targetType: 'opportunity',
177
233
  targetId: id,
178
234
  kind: 'updated',
179
- ...describeUpdate(otherChanged, OPPORTUNITY_FIELD_LABELS, existing, columns),
235
+ ...describeUpdate(activityChanged, labels, before, after),
180
236
  });
181
237
  }
182
- events.emit('opportunities.opportunity.updated', { type: 'opportunity', id }, { changed });
238
+ // Links land on the opportunity's timeline only: a person's page already
239
+ // rolls up the activity of every pipeline record they are on, so a
240
+ // second row targeted at the person would show them the same news twice.
241
+ for (const personId of added) {
242
+ await dependencies.recordActivity(tx, workspaceId, actor, {
243
+ targetType: 'opportunity',
244
+ targetId: id,
245
+ kind: 'linked',
246
+ ...describeLink('person', named.get(personId) ?? personId),
247
+ });
248
+ }
249
+ for (const personId of removed) {
250
+ await dependencies.recordActivity(tx, workspaceId, actor, {
251
+ targetType: 'opportunity',
252
+ targetId: id,
253
+ kind: 'unlinked',
254
+ ...describeUnlink('person', named.get(personId) ?? personId),
255
+ });
256
+ }
257
+ events.emit('opportunities.opportunity.updated', { type: 'opportunity', id }, {
258
+ changed: [
259
+ ...scalarChanged,
260
+ ...(linksChanged ? ['personIds'] : []),
261
+ ...customFieldPaths,
262
+ ],
263
+ });
183
264
  if (stageMove !== undefined) {
184
265
  events.emit('opportunities.opportunity.stage_changed', { type: 'opportunity', id }, { fromStageId: stageMove.from.id, toStageId: stageMove.to.id });
185
266
  }
186
- return toView(updated);
267
+ return toView(updated, nextPeople ?? currentPeople);
187
268
  }, { workspaceId, actor: toEventActor(actor) });
188
269
  },
189
270
  async remove(actor, id) {
190
271
  const workspaceId = requireWorkspaceId(actor);
191
272
  await dependencies.transaction(async ({ tx, events }) => {
192
273
  await require(workspaceId, id);
193
- // Notes, activities, decisions and plan items have no foreign key to
194
- // their target, so the deleting service removes them here, in the same
195
- // transaction. Nothing else references an opportunity.
274
+ // Notes, activities, decisions, plan items, and person_links have no
275
+ // foreign key to their target, so the deleting service removes them
276
+ // here, in the same transaction. Nothing else references an opportunity.
196
277
  await deleteRecordsAttachedTo(tx, workspaceId, 'opportunity', id);
197
278
  await repository.deleteOpportunity(tx, workspaceId, id);
198
279
  events.emit('opportunities.opportunity.deleted', { type: 'opportunity', id }, {});
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/modules/opportunities/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAA;AAEhE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAoB7E,0GAA0G;AAC1G,MAAM,wBAAwB,GAAgB;IAC5C,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,aAAa;IAC5B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACb,CAAA;AA8CD,SAAS,MAAM,CAAC,MAAyB;IACvC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAErD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,eAAe,CAAC,KAA6B;IACpD,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;QACpF,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;KAC/D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,YAAuC;IAEvC,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,EAAU;QACpD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;QAEtF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;QAClD,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,WAAmB,EAAE,SAAiB;QAClE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;QAE5F,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,uBAAuB,CACpC,WAAmB,EACnB,OAAe;QAEf,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAEvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAA;QACrD,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,oDAAoD,EAAE;gBACpF,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,KAAK,CAAC,IAAI,WAAW,EAAE;aAC3E,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,kGAAkG;IAClG,KAAK,UAAU,uBAAuB,CAAC,WAAmB;QACxD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,CACpD,YAAY,CAAC,EAAE,EACf,WAAW,EACX,aAAa,CACd,CAAA;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QAErD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,yEAAyE;YACzE,mCAAmC;YACnC,MAAM,QAAQ,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK;YAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,CAAC,CAAA;YACjF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC9F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAElE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAA;QACvE,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAE7C,OAAO,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK;YACvB,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAE7C,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YACpD,CAAC;YAED,MAAM,KAAK,GACT,KAAK,CAAC,OAAO,KAAK,SAAS;gBACzB,CAAC,CAAC,MAAM,uBAAuB,CAAC,WAAW,CAAC;gBAC5C,CAAC,CAAC,MAAM,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;YAElF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC1C,CAAC;YAED,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAE/C,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACvD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE;oBACrD,EAAE;oBACF,WAAW;oBACX,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO;oBACP,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;iBACtB,CAAC,CAAA;gBAEF,MAAM,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;oBACxD,UAAU,EAAE,aAAa;oBACzB,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,GAAG,gBAAgB,CAAC,aAAa,CAAC;iBACnC,CAAC,CAAA;gBAEF,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;gBAEjF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO;YAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAE/C,IACE,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;gBACrC,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EACxC,CAAC;gBACD,MAAM,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,SAAS,GACb,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;gBACnE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC;oBAClE,EAAE,EAAE,MAAM,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC;iBAChE,CAAA;YAEP,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChF,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;YACxC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;YAED,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACvD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;oBACtE,GAAG,OAAO;oBACV,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE;iBAC9B,CAAC,CAAA;gBAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;gBAClD,CAAC;gBAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;wBACxD,UAAU,EAAE,aAAa;wBACzB,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,eAAe;wBACrB,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;qBACjE,CAAC,CAAA;gBACJ,CAAC;gBAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;gBAEnE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;wBACxD,UAAU,EAAE,aAAa;wBACzB,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,GAAG,cAAc,CAAC,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,CAAC;qBAC7E,CAAC,CAAA;gBACJ,CAAC;gBAED,MAAM,CAAC,IAAI,CACT,mCAAmC,EACnC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,EAC3B,EAAE,OAAO,EAAE,CACZ,CAAA;gBAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CACT,yCAAyC,EACzC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,EAC3B,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/D,CAAA;gBACH,CAAC;gBAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YACpB,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAE7C,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACtD,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBAE9B,qEAAqE;gBACrE,uEAAuE;gBACvE,uDAAuD;gBACvD,MAAM,uBAAuB,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;gBACjE,MAAM,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;gBAEvD,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YACnF,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjD,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/modules/opportunities/service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/modules/opportunities/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAYxD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAqBpG"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/modules/opportunities/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAaxD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAsBpG"}
@@ -8,6 +8,7 @@ const listArgs = z.strictObject({
8
8
  kind: idSetArg.optional().describe('Kinds are free text, so a match here is exact.'),
9
9
  company_id: idSetArg.optional().describe('Only opportunities with these companies.'),
10
10
  stage_id: idSetArg.optional().describe('Only opportunities in these pipeline stages.'),
11
+ person_id: idSetArg.optional().describe('Only opportunities any of these people are on.'),
11
12
  });
12
13
  export function registerOpportunitiesTools(mcp, service) {
13
14
  registerCrudTools(mcp, {
@@ -23,6 +24,7 @@ export function registerOpportunitiesTools(mcp, service) {
23
24
  kinds: toSet(args.kind),
24
25
  companyIds: toSet(args.company_id),
25
26
  stageIds: toSet(args.stage_id),
27
+ personIds: toSet(args.person_id),
26
28
  }),
27
29
  createArgs: createBody,
28
30
  toCreateInput,
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/modules/opportunities/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACrG,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGvG,0EAA0E;AAE1E,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9B,GAAG,eAAe;IAClB,CAAC,EAAE,OAAO;IACV,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACpF,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACpF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CACvF,CAAC,CAAA;AAEF,MAAM,UAAU,0BAA0B,CAAC,GAAoB,EAAE,OAA6B;IAC5F,iBAAiB,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,aAAa;QACtB,KAAK,EACH,4EAA4E;YAC5E,8BAA8B;QAChC,OAAO;QACP,MAAM,EAAE,mBAAmB;QAC3B,QAAQ;QACR,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,CAAC;YACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/B,CAAC;QACF,UAAU,EAAE,UAAU;QACtB,aAAa;QACb,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC5C,aAAa;KACd,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/modules/opportunities/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACrG,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGvG,0EAA0E;AAE1E,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9B,GAAG,eAAe;IAClB,CAAC,EAAE,OAAO;IACV,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACpF,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACpF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACtF,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC1F,CAAC,CAAA;AAEF,MAAM,UAAU,0BAA0B,CAAC,GAAoB,EAAE,OAA6B;IAC5F,iBAAiB,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,aAAa;QACtB,KAAK,EACH,4EAA4E;YAC5E,8BAA8B;QAChC,OAAO;QACP,MAAM,EAAE,mBAAmB;QAC3B,QAAQ;QACR,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,CAAC;YACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SACjC,CAAC;QACF,UAAU,EAAE,UAAU;QACtB,aAAa;QACb,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC5C,aAAa;KACd,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/partnerships/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAQ3D;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,YAAY,CA6BlF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/partnerships/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAS3D;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,YAAY,CA8BlF"}
@@ -1,4 +1,5 @@
1
1
  import { createActivityRecorder } from '../activities/index.js';
2
+ import { createCustomFieldValues } from '../custom-fields/index.js';
2
3
  import { partnershipsEvents } from './events.js';
3
4
  import { mountPartnershipsRoutes } from './routes.js';
4
5
  import * as schema from './schema.js';
@@ -15,7 +16,7 @@ import { registerPartnershipsTools } from './tools.js';
15
16
  export function createPartnershipsModule(migrationsDirectory) {
16
17
  return {
17
18
  id: 'partnerships',
18
- requires: ['companies', 'people', 'pipelines', 'activities'],
19
+ requires: ['companies', 'people', 'pipelines', 'activities', 'custom-fields'],
19
20
  events: partnershipsEvents,
20
21
  register(context) {
21
22
  const service = createPartnershipsService({
@@ -27,6 +28,7 @@ export function createPartnershipsModule(migrationsDirectory) {
27
28
  createId: context.createId,
28
29
  now: context.now,
29
30
  }),
31
+ customFields: createCustomFieldValues({ db: context.db }),
30
32
  });
31
33
  context.schema(schema, migrationsDirectory);
32
34
  context.routes((router) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/partnerships/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,mBAA2B;IAClE,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC;QAC5D,MAAM,EAAE,kBAAkB;QAE1B,QAAQ,CAAC,OAAO;YACd,MAAM,OAAO,GAAG,yBAAyB,CAAC;gBACxC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,sBAAsB,CAAC;oBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;YAE3C,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxB,uBAAuB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;YAChF,CAAC,CAAC,CAAA;YAEF,yBAAyB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAE/C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/partnerships/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,mBAA2B;IAClE,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC;QAC7E,MAAM,EAAE,kBAAkB;QAE1B,QAAQ,CAAC,OAAO;YACd,MAAM,OAAO,GAAG,yBAAyB,CAAC;gBACxC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,sBAAsB,CAAC;oBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC;gBACF,YAAY,EAAE,uBAAuB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;aAC1D,CAAC,CAAA;YAEF,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;YAE3C,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxB,uBAAuB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;YAChF,CAAC,CAAC,CAAA;YAEF,yBAAyB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAE/C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -25,23 +25,6 @@ export declare function findPartnership(db: Queryable, workspaceId: string, id:
25
25
  export declare function insertPartnership(db: Queryable, values: PartnershipColumns): Promise<PartnershipRecord>;
26
26
  export declare function updatePartnership(db: Queryable, workspaceId: string, id: string, changes: Partial<PartnershipColumns>): Promise<PartnershipRecord | undefined>;
27
27
  export declare function deletePartnership(db: Queryable, workspaceId: string, id: string): Promise<number>;
28
- /** The key people on one partnership. Ordered by id so a response is stable across reads. */
29
- export declare function listPersonIds(db: Queryable, partnershipId: string): Promise<string[]>;
30
- /**
31
- * The key people on each of a page of partnerships, in one query rather than one
32
- * per row.
33
- *
34
- * @returns Ids missing from the map have no people.
35
- */
36
- export declare function listPersonIdsFor(db: Queryable, partnershipIds: readonly string[]): Promise<ReadonlyMap<string, readonly string[]>>;
37
- export declare function insertPartnershipPeople(db: Queryable, partnershipId: string, personIds: readonly string[]): Promise<void>;
38
- export declare function deletePartnershipPeople(db: Queryable, partnershipId: string, personIds: readonly string[]): Promise<void>;
39
- /**
40
- * The names of these people in this workspace, keyed by id. An id missing from
41
- * the map does not exist here, which is how `person_ids` is validated. Reads the
42
- * `people` *table*, per the cross-relation rule in `architecture.md`.
43
- */
44
- export declare function findPeopleNamed(db: Queryable, workspaceId: string, personIds: readonly string[]): Promise<ReadonlyMap<string, string>>;
45
28
  /** Whether a member belongs to this workspace, for validating `owner_id`. */
46
29
  export declare function memberExists(db: Queryable, workspaceId: string, memberId: string): Promise<boolean>;
47
30
  //# sourceMappingURL=repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/modules/partnerships/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/modules/partnerships/repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,MAAM,iBAAiB,GAAG,OAAO,YAAY,CAAC,YAAY,CAAA;AAEhE,mGAAmG;AACnG,MAAM,MAAM,kBAAkB,GAAG,OAAO,YAAY,CAAC,YAAY,CAAA;AAEjE,+GAA+G;AAC/G,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAI/D,CAAA;AAED,eAAO,MAAM,wBAAwB,gBAAgB,CAAA;AAErD,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9C,kCAAkC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACjD,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CACnD;AA2CD,mHAAmH;AACnH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,GACpC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAO9B;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAQxC;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAQ5B;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAQxC;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,6EAA6E;AAC7E,wBAAsB,YAAY,CAChC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAQlB"}
@@ -1,10 +1,10 @@
1
- import { and, asc, eq, ilike, inArray, or, sql } from 'drizzle-orm';
1
+ import { and, eq, ilike, inArray, or, sql } from 'drizzle-orm';
2
2
  import { keysetCondition, orderByWindow, textSort, timestampSort } from '../../lib/pagination.js';
3
3
  import { arrayContainsPattern, containsPattern } from '../../lib/search.js';
4
4
  import { companies } from '../companies/schema.js';
5
- import { people } from '../people/schema.js';
5
+ import { anyPersonLinked } from '../personLinks.js';
6
6
  import { workspaceMembers } from '../workspace/schema.js';
7
- import { partnershipPeople, partnerships } from './schema.js';
7
+ import { partnerships } from './schema.js';
8
8
  /** The sort fields `?sort=` documents. The nullable touchpoint stays out: a keyset cannot seek past a null. */
9
9
  export const PARTNERSHIP_SORTS = {
10
10
  name: textSort(partnerships.name, (partnership) => partnership.name),
@@ -25,14 +25,6 @@ function companyNameMatches(pattern) {
25
25
  and ${companies.name} ilike ${pattern}
26
26
  )`;
27
27
  }
28
- function hasAnyOfPeople(personIds) {
29
- return sql `exists (
30
- select 1
31
- from ${partnershipPeople}
32
- where ${partnershipPeople.partnershipId} = ${partnerships.id}
33
- and ${inArray(partnershipPeople.personId, personIds)}
34
- )`;
35
- }
36
28
  function matchesTerm(term) {
37
29
  const pattern = containsPattern(term);
38
30
  return or(ilike(partnerships.name, pattern), ilike(partnerships.kind, pattern), ilike(partnerships.summary, pattern), arrayContainsPattern(partnerships.tags, pattern), companyNameMatches(pattern));
@@ -46,7 +38,9 @@ function conditionsFor(workspaceId, filters) {
46
38
  ? undefined
47
39
  : inArray(partnerships.companyId, filters.companyIds),
48
40
  filters.stageIds === undefined ? undefined : inArray(partnerships.stageId, filters.stageIds),
49
- filters.personIds === undefined ? undefined : hasAnyOfPeople(filters.personIds),
41
+ filters.personIds === undefined
42
+ ? undefined
43
+ : anyPersonLinked('partnership', partnerships.id, partnerships.workspaceId, filters.personIds),
50
44
  ];
51
45
  }
52
46
  /** @returns Up to `window.fetchLimit` rows: one more than the page, so the caller can tell there is a next one. */
@@ -88,76 +82,6 @@ export async function deletePartnership(db, workspaceId, id) {
88
82
  .returning({ id: partnerships.id });
89
83
  return deleted.length;
90
84
  }
91
- /** The key people on one partnership. Ordered by id so a response is stable across reads. */
92
- export async function listPersonIds(db, partnershipId) {
93
- const rows = await db
94
- .select({ personId: partnershipPeople.personId })
95
- .from(partnershipPeople)
96
- .where(eq(partnershipPeople.partnershipId, partnershipId))
97
- .orderBy(asc(partnershipPeople.personId));
98
- return rows.map((row) => row.personId);
99
- }
100
- /**
101
- * The key people on each of a page of partnerships, in one query rather than one
102
- * per row.
103
- *
104
- * @returns Ids missing from the map have no people.
105
- */
106
- export async function listPersonIdsFor(db, partnershipIds) {
107
- if (partnershipIds.length === 0) {
108
- return new Map();
109
- }
110
- const rows = await db
111
- .select({
112
- partnershipId: partnershipPeople.partnershipId,
113
- personId: partnershipPeople.personId,
114
- })
115
- .from(partnershipPeople)
116
- .where(inArray(partnershipPeople.partnershipId, partnershipIds))
117
- .orderBy(asc(partnershipPeople.personId));
118
- const byPartnership = new Map();
119
- for (const row of rows) {
120
- const existing = byPartnership.get(row.partnershipId);
121
- if (existing === undefined) {
122
- byPartnership.set(row.partnershipId, [row.personId]);
123
- }
124
- else {
125
- existing.push(row.personId);
126
- }
127
- }
128
- return byPartnership;
129
- }
130
- export async function insertPartnershipPeople(db, partnershipId, personIds) {
131
- if (personIds.length === 0) {
132
- return;
133
- }
134
- await db
135
- .insert(partnershipPeople)
136
- .values(personIds.map((personId) => ({ partnershipId, personId })));
137
- }
138
- export async function deletePartnershipPeople(db, partnershipId, personIds) {
139
- if (personIds.length === 0) {
140
- return;
141
- }
142
- await db
143
- .delete(partnershipPeople)
144
- .where(and(eq(partnershipPeople.partnershipId, partnershipId), inArray(partnershipPeople.personId, personIds)));
145
- }
146
- /**
147
- * The names of these people in this workspace, keyed by id. An id missing from
148
- * the map does not exist here, which is how `person_ids` is validated. Reads the
149
- * `people` *table*, per the cross-relation rule in `architecture.md`.
150
- */
151
- export async function findPeopleNamed(db, workspaceId, personIds) {
152
- if (personIds.length === 0) {
153
- return new Map();
154
- }
155
- const rows = await db
156
- .select({ id: people.id, name: people.name })
157
- .from(people)
158
- .where(and(eq(people.workspaceId, workspaceId), inArray(people.id, personIds)));
159
- return new Map(rows.map((row) => [row.id, row.name]));
160
- }
161
85
  /** Whether a member belongs to this workspace, for validating `owner_id`. */
162
86
  export async function memberExists(db, workspaceId, memberId) {
163
87
  const [found] = await db
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/modules/partnerships/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/modules/partnerships/repository.ts"],"names":[],"mappings":"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"}