@kelpie/ui 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 (704) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +44 -0
  3. package/dist/ServiceStatus.d.ts +6 -0
  4. package/dist/ServiceStatus.d.ts.map +1 -0
  5. package/dist/ServiceStatus.js +35 -0
  6. package/dist/ServiceStatus.js.map +1 -0
  7. package/dist/api/ApiProvider.d.ts +19 -0
  8. package/dist/api/ApiProvider.d.ts.map +1 -0
  9. package/dist/api/ApiProvider.js +18 -0
  10. package/dist/api/ApiProvider.js.map +1 -0
  11. package/dist/api/client.d.ts +83 -0
  12. package/dist/api/client.d.ts.map +1 -0
  13. package/dist/api/client.js +162 -0
  14. package/dist/api/client.js.map +1 -0
  15. package/dist/api/context.d.ts +14 -0
  16. package/dist/api/context.d.ts.map +1 -0
  17. package/dist/api/context.js +20 -0
  18. package/dist/api/context.js.map +1 -0
  19. package/dist/api/errors.d.ts +9 -0
  20. package/dist/api/errors.d.ts.map +1 -0
  21. package/dist/api/errors.js +14 -0
  22. package/dist/api/errors.js.map +1 -0
  23. package/dist/api/health.d.ts +15 -0
  24. package/dist/api/health.d.ts.map +1 -0
  25. package/dist/api/health.js +22 -0
  26. package/dist/api/health.js.map +1 -0
  27. package/dist/api/json.d.ts +3 -0
  28. package/dist/api/json.d.ts.map +1 -0
  29. package/dist/api/json.js +5 -0
  30. package/dist/api/json.js.map +1 -0
  31. package/dist/api/queryClient.d.ts +17 -0
  32. package/dist/api/queryClient.d.ts.map +1 -0
  33. package/dist/api/queryClient.js +33 -0
  34. package/dist/api/queryClient.js.map +1 -0
  35. package/dist/api/resource.d.ts +110 -0
  36. package/dist/api/resource.d.ts.map +1 -0
  37. package/dist/api/resource.js +238 -0
  38. package/dist/api/resource.js.map +1 -0
  39. package/dist/api/resources/account.d.ts +49 -0
  40. package/dist/api/resources/account.d.ts.map +1 -0
  41. package/dist/api/resources/account.js +146 -0
  42. package/dist/api/resources/account.js.map +1 -0
  43. package/dist/api/resources/activities.d.ts +8 -0
  44. package/dist/api/resources/activities.d.ts.map +1 -0
  45. package/dist/api/resources/activities.js +21 -0
  46. package/dist/api/resources/activities.js.map +1 -0
  47. package/dist/api/resources/agentTasks.d.ts +31 -0
  48. package/dist/api/resources/agentTasks.d.ts.map +1 -0
  49. package/dist/api/resources/agentTasks.js +103 -0
  50. package/dist/api/resources/agentTasks.js.map +1 -0
  51. package/dist/api/resources/candidates.d.ts +17 -0
  52. package/dist/api/resources/candidates.d.ts.map +1 -0
  53. package/dist/api/resources/candidates.js +40 -0
  54. package/dist/api/resources/candidates.js.map +1 -0
  55. package/dist/api/resources/companies.d.ts +22 -0
  56. package/dist/api/resources/companies.d.ts.map +1 -0
  57. package/dist/api/resources/companies.js +36 -0
  58. package/dist/api/resources/companies.js.map +1 -0
  59. package/dist/api/resources/dashboard.d.ts +8 -0
  60. package/dist/api/resources/dashboard.d.ts.map +1 -0
  61. package/dist/api/resources/dashboard.js +27 -0
  62. package/dist/api/resources/dashboard.js.map +1 -0
  63. package/dist/api/resources/deals.d.ts +30 -0
  64. package/dist/api/resources/deals.d.ts.map +1 -0
  65. package/dist/api/resources/deals.js +38 -0
  66. package/dist/api/resources/deals.js.map +1 -0
  67. package/dist/api/resources/decisions.d.ts +13 -0
  68. package/dist/api/resources/decisions.d.ts.map +1 -0
  69. package/dist/api/resources/decisions.js +38 -0
  70. package/dist/api/resources/decisions.js.map +1 -0
  71. package/dist/api/resources/forms.d.ts +82 -0
  72. package/dist/api/resources/forms.d.ts.map +1 -0
  73. package/dist/api/resources/forms.js +129 -0
  74. package/dist/api/resources/forms.js.map +1 -0
  75. package/dist/api/resources/handbookPages.d.ts +33 -0
  76. package/dist/api/resources/handbookPages.d.ts.map +1 -0
  77. package/dist/api/resources/handbookPages.js +49 -0
  78. package/dist/api/resources/handbookPages.js.map +1 -0
  79. package/dist/api/resources/importJobs.d.ts +72 -0
  80. package/dist/api/resources/importJobs.d.ts.map +1 -0
  81. package/dist/api/resources/importJobs.js +145 -0
  82. package/dist/api/resources/importJobs.js.map +1 -0
  83. package/dist/api/resources/invites.d.ts +19 -0
  84. package/dist/api/resources/invites.d.ts.map +1 -0
  85. package/dist/api/resources/invites.js +78 -0
  86. package/dist/api/resources/invites.js.map +1 -0
  87. package/dist/api/resources/mcpTools.d.ts +8 -0
  88. package/dist/api/resources/mcpTools.d.ts.map +1 -0
  89. package/dist/api/resources/mcpTools.js +23 -0
  90. package/dist/api/resources/mcpTools.js.map +1 -0
  91. package/dist/api/resources/members.d.ts +40 -0
  92. package/dist/api/resources/members.d.ts.map +1 -0
  93. package/dist/api/resources/members.js +67 -0
  94. package/dist/api/resources/members.js.map +1 -0
  95. package/dist/api/resources/moduleSettings.d.ts +14 -0
  96. package/dist/api/resources/moduleSettings.d.ts.map +1 -0
  97. package/dist/api/resources/moduleSettings.js +43 -0
  98. package/dist/api/resources/moduleSettings.js.map +1 -0
  99. package/dist/api/resources/mutation.d.ts +18 -0
  100. package/dist/api/resources/mutation.d.ts.map +1 -0
  101. package/dist/api/resources/mutation.js +12 -0
  102. package/dist/api/resources/mutation.js.map +1 -0
  103. package/dist/api/resources/notes.d.ts +14 -0
  104. package/dist/api/resources/notes.d.ts.map +1 -0
  105. package/dist/api/resources/notes.js +39 -0
  106. package/dist/api/resources/notes.js.map +1 -0
  107. package/dist/api/resources/opportunities.d.ts +29 -0
  108. package/dist/api/resources/opportunities.d.ts.map +1 -0
  109. package/dist/api/resources/opportunities.js +38 -0
  110. package/dist/api/resources/opportunities.js.map +1 -0
  111. package/dist/api/resources/partnerships.d.ts +33 -0
  112. package/dist/api/resources/partnerships.d.ts.map +1 -0
  113. package/dist/api/resources/partnerships.js +39 -0
  114. package/dist/api/resources/partnerships.js.map +1 -0
  115. package/dist/api/resources/people.d.ts +22 -0
  116. package/dist/api/resources/people.d.ts.map +1 -0
  117. package/dist/api/resources/people.js +36 -0
  118. package/dist/api/resources/people.js.map +1 -0
  119. package/dist/api/resources/pipelineStages.d.ts +22 -0
  120. package/dist/api/resources/pipelineStages.d.ts.map +1 -0
  121. package/dist/api/resources/pipelineStages.js +61 -0
  122. package/dist/api/resources/pipelineStages.js.map +1 -0
  123. package/dist/api/resources/planItems.d.ts +31 -0
  124. package/dist/api/resources/planItems.d.ts.map +1 -0
  125. package/dist/api/resources/planItems.js +60 -0
  126. package/dist/api/resources/planItems.js.map +1 -0
  127. package/dist/api/resources/positions.d.ts +23 -0
  128. package/dist/api/resources/positions.d.ts.map +1 -0
  129. package/dist/api/resources/positions.js +31 -0
  130. package/dist/api/resources/positions.js.map +1 -0
  131. package/dist/api/resources/raises.d.ts +30 -0
  132. package/dist/api/resources/raises.d.ts.map +1 -0
  133. package/dist/api/resources/raises.js +38 -0
  134. package/dist/api/resources/raises.js.map +1 -0
  135. package/dist/api/resources/roles.d.ts +20 -0
  136. package/dist/api/resources/roles.d.ts.map +1 -0
  137. package/dist/api/resources/roles.js +31 -0
  138. package/dist/api/resources/roles.js.map +1 -0
  139. package/dist/api/resources/search.d.ts +12 -0
  140. package/dist/api/resources/search.d.ts.map +1 -0
  141. package/dist/api/resources/search.js +37 -0
  142. package/dist/api/resources/search.js.map +1 -0
  143. package/dist/api/resources/session.d.ts +58 -0
  144. package/dist/api/resources/session.d.ts.map +1 -0
  145. package/dist/api/resources/session.js +157 -0
  146. package/dist/api/resources/session.js.map +1 -0
  147. package/dist/api/resources/webhooks.d.ts +45 -0
  148. package/dist/api/resources/webhooks.d.ts.map +1 -0
  149. package/dist/api/resources/webhooks.js +106 -0
  150. package/dist/api/resources/webhooks.js.map +1 -0
  151. package/dist/api/resources/workspace.d.ts +20 -0
  152. package/dist/api/resources/workspace.d.ts.map +1 -0
  153. package/dist/api/resources/workspace.js +63 -0
  154. package/dist/api/resources/workspace.js.map +1 -0
  155. package/dist/app/KelpieApp.d.ts +18 -0
  156. package/dist/app/KelpieApp.d.ts.map +1 -0
  157. package/dist/app/KelpieApp.js +59 -0
  158. package/dist/app/KelpieApp.js.map +1 -0
  159. package/dist/app/SessionGate.d.ts +14 -0
  160. package/dist/app/SessionGate.d.ts.map +1 -0
  161. package/dist/app/SessionGate.js +33 -0
  162. package/dist/app/SessionGate.js.map +1 -0
  163. package/dist/components/ActivitiesPanel.d.ts +28 -0
  164. package/dist/components/ActivitiesPanel.d.ts.map +1 -0
  165. package/dist/components/ActivitiesPanel.js +75 -0
  166. package/dist/components/ActivitiesPanel.js.map +1 -0
  167. package/dist/components/AgentTasks.d.ts +16 -0
  168. package/dist/components/AgentTasks.d.ts.map +1 -0
  169. package/dist/components/AgentTasks.js +166 -0
  170. package/dist/components/AgentTasks.js.map +1 -0
  171. package/dist/components/Chip.d.ts +10 -0
  172. package/dist/components/Chip.d.ts.map +1 -0
  173. package/dist/components/Chip.js +21 -0
  174. package/dist/components/Chip.js.map +1 -0
  175. package/dist/components/CopyButton.d.ts +7 -0
  176. package/dist/components/CopyButton.d.ts.map +1 -0
  177. package/dist/components/CopyButton.js +30 -0
  178. package/dist/components/CopyButton.js.map +1 -0
  179. package/dist/components/DataTable.d.ts +36 -0
  180. package/dist/components/DataTable.d.ts.map +1 -0
  181. package/dist/components/DataTable.js +43 -0
  182. package/dist/components/DataTable.js.map +1 -0
  183. package/dist/components/DecisionsPanel.d.ts +14 -0
  184. package/dist/components/DecisionsPanel.d.ts.map +1 -0
  185. package/dist/components/DecisionsPanel.js +73 -0
  186. package/dist/components/DecisionsPanel.js.map +1 -0
  187. package/dist/components/DeleteRecord.d.ts +19 -0
  188. package/dist/components/DeleteRecord.d.ts.map +1 -0
  189. package/dist/components/DeleteRecord.js +22 -0
  190. package/dist/components/DeleteRecord.js.map +1 -0
  191. package/dist/components/EntitySearch.d.ts +33 -0
  192. package/dist/components/EntitySearch.d.ts.map +1 -0
  193. package/dist/components/EntitySearch.js +111 -0
  194. package/dist/components/EntitySearch.js.map +1 -0
  195. package/dist/components/ErrorBoundary.d.ts +21 -0
  196. package/dist/components/ErrorBoundary.d.ts.map +1 -0
  197. package/dist/components/ErrorBoundary.js +26 -0
  198. package/dist/components/ErrorBoundary.js.map +1 -0
  199. package/dist/components/InlineEdit.d.ts +37 -0
  200. package/dist/components/InlineEdit.d.ts.map +1 -0
  201. package/dist/components/InlineEdit.js +77 -0
  202. package/dist/components/InlineEdit.js.map +1 -0
  203. package/dist/components/KanbanBoard.d.ts +24 -0
  204. package/dist/components/KanbanBoard.d.ts.map +1 -0
  205. package/dist/components/KanbanBoard.js +92 -0
  206. package/dist/components/KanbanBoard.js.map +1 -0
  207. package/dist/components/MarkdownView.d.ts +4 -0
  208. package/dist/components/MarkdownView.d.ts.map +1 -0
  209. package/dist/components/MarkdownView.js +45 -0
  210. package/dist/components/MarkdownView.js.map +1 -0
  211. package/dist/components/NotesPanel.d.ts +17 -0
  212. package/dist/components/NotesPanel.d.ts.map +1 -0
  213. package/dist/components/NotesPanel.js +53 -0
  214. package/dist/components/NotesPanel.js.map +1 -0
  215. package/dist/components/PageHeader.d.ts +20 -0
  216. package/dist/components/PageHeader.d.ts.map +1 -0
  217. package/dist/components/PageHeader.js +15 -0
  218. package/dist/components/PageHeader.js.map +1 -0
  219. package/dist/components/PhonesField.d.ts +7 -0
  220. package/dist/components/PhonesField.d.ts.map +1 -0
  221. package/dist/components/PhonesField.js +92 -0
  222. package/dist/components/PhonesField.js.map +1 -0
  223. package/dist/components/PlanAttention.d.ts +40 -0
  224. package/dist/components/PlanAttention.d.ts.map +1 -0
  225. package/dist/components/PlanAttention.js +86 -0
  226. package/dist/components/PlanAttention.js.map +1 -0
  227. package/dist/components/PlanPanel.d.ts +18 -0
  228. package/dist/components/PlanPanel.d.ts.map +1 -0
  229. package/dist/components/PlanPanel.js +102 -0
  230. package/dist/components/PlanPanel.js.map +1 -0
  231. package/dist/components/QueryState.d.ts +24 -0
  232. package/dist/components/QueryState.d.ts.map +1 -0
  233. package/dist/components/QueryState.js +34 -0
  234. package/dist/components/QueryState.js.map +1 -0
  235. package/dist/components/RecordTabs.d.ts +16 -0
  236. package/dist/components/RecordTabs.d.ts.map +1 -0
  237. package/dist/components/RecordTabs.js +15 -0
  238. package/dist/components/RecordTabs.js.map +1 -0
  239. package/dist/components/SectionHeader.d.ts +15 -0
  240. package/dist/components/SectionHeader.d.ts.map +1 -0
  241. package/dist/components/SectionHeader.js +14 -0
  242. package/dist/components/SectionHeader.js.map +1 -0
  243. package/dist/components/SegmentedControl.d.ts +13 -0
  244. package/dist/components/SegmentedControl.d.ts.map +1 -0
  245. package/dist/components/SegmentedControl.js +14 -0
  246. package/dist/components/SegmentedControl.js.map +1 -0
  247. package/dist/components/Shell.d.ts +2 -0
  248. package/dist/components/Shell.d.ts.map +1 -0
  249. package/dist/components/Shell.js +143 -0
  250. package/dist/components/Shell.js.map +1 -0
  251. package/dist/components/SidebarField.d.ts +8 -0
  252. package/dist/components/SidebarField.d.ts.map +1 -0
  253. package/dist/components/SidebarField.js +6 -0
  254. package/dist/components/SidebarField.js.map +1 -0
  255. package/dist/components/SocialProfilesField.d.ts +8 -0
  256. package/dist/components/SocialProfilesField.d.ts.map +1 -0
  257. package/dist/components/SocialProfilesField.js +176 -0
  258. package/dist/components/SocialProfilesField.js.map +1 -0
  259. package/dist/components/StageSettings.d.ts +16 -0
  260. package/dist/components/StageSettings.d.ts.map +1 -0
  261. package/dist/components/StageSettings.js +107 -0
  262. package/dist/components/StageSettings.js.map +1 -0
  263. package/dist/components/SummaryBlock.d.ts +12 -0
  264. package/dist/components/SummaryBlock.d.ts.map +1 -0
  265. package/dist/components/SummaryBlock.js +12 -0
  266. package/dist/components/SummaryBlock.js.map +1 -0
  267. package/dist/index.d.ts +90 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +55 -0
  270. package/dist/index.js.map +1 -0
  271. package/dist/lib/dates.d.ts +26 -0
  272. package/dist/lib/dates.d.ts.map +1 -0
  273. package/dist/lib/dates.js +71 -0
  274. package/dist/lib/dates.js.map +1 -0
  275. package/dist/lib/money.d.ts +7 -0
  276. package/dist/lib/money.d.ts.map +1 -0
  277. package/dist/lib/money.js +13 -0
  278. package/dist/lib/money.js.map +1 -0
  279. package/dist/lib/names.d.ts +9 -0
  280. package/dist/lib/names.d.ts.map +1 -0
  281. package/dist/lib/names.js +13 -0
  282. package/dist/lib/names.js.map +1 -0
  283. package/dist/lib/plan.d.ts +67 -0
  284. package/dist/lib/plan.d.ts.map +1 -0
  285. package/dist/lib/plan.js +96 -0
  286. package/dist/lib/plan.js.map +1 -0
  287. package/dist/lib/theme.d.ts +19 -0
  288. package/dist/lib/theme.d.ts.map +1 -0
  289. package/dist/lib/theme.js +30 -0
  290. package/dist/lib/theme.js.map +1 -0
  291. package/dist/pages/CompaniesPage.d.ts +2 -0
  292. package/dist/pages/CompaniesPage.d.ts.map +1 -0
  293. package/dist/pages/CompaniesPage.js +77 -0
  294. package/dist/pages/CompaniesPage.js.map +1 -0
  295. package/dist/pages/CompanyDetail.d.ts +2 -0
  296. package/dist/pages/CompanyDetail.d.ts.map +1 -0
  297. package/dist/pages/CompanyDetail.js +177 -0
  298. package/dist/pages/CompanyDetail.js.map +1 -0
  299. package/dist/pages/DealDetail.d.ts +2 -0
  300. package/dist/pages/DealDetail.d.ts.map +1 -0
  301. package/dist/pages/DealDetail.js +192 -0
  302. package/dist/pages/DealDetail.js.map +1 -0
  303. package/dist/pages/DealStageSettingsPage.d.ts +7 -0
  304. package/dist/pages/DealStageSettingsPage.d.ts.map +1 -0
  305. package/dist/pages/DealStageSettingsPage.js +38 -0
  306. package/dist/pages/DealStageSettingsPage.js.map +1 -0
  307. package/dist/pages/DealsPage.d.ts +2 -0
  308. package/dist/pages/DealsPage.d.ts.map +1 -0
  309. package/dist/pages/DealsPage.js +177 -0
  310. package/dist/pages/DealsPage.js.map +1 -0
  311. package/dist/pages/DecisionsPage.d.ts +2 -0
  312. package/dist/pages/DecisionsPage.d.ts.map +1 -0
  313. package/dist/pages/DecisionsPage.js +121 -0
  314. package/dist/pages/DecisionsPage.js.map +1 -0
  315. package/dist/pages/FormDetail.d.ts +2 -0
  316. package/dist/pages/FormDetail.d.ts.map +1 -0
  317. package/dist/pages/FormDetail.js +56 -0
  318. package/dist/pages/FormDetail.js.map +1 -0
  319. package/dist/pages/FormsPage.d.ts +2 -0
  320. package/dist/pages/FormsPage.d.ts.map +1 -0
  321. package/dist/pages/FormsPage.js +67 -0
  322. package/dist/pages/FormsPage.js.map +1 -0
  323. package/dist/pages/FundraisingPage.d.ts +2 -0
  324. package/dist/pages/FundraisingPage.d.ts.map +1 -0
  325. package/dist/pages/FundraisingPage.js +187 -0
  326. package/dist/pages/FundraisingPage.js.map +1 -0
  327. package/dist/pages/HiringPage.d.ts +9 -0
  328. package/dist/pages/HiringPage.d.ts.map +1 -0
  329. package/dist/pages/HiringPage.js +73 -0
  330. package/dist/pages/HiringPage.js.map +1 -0
  331. package/dist/pages/NotFoundPage.d.ts +10 -0
  332. package/dist/pages/NotFoundPage.d.ts.map +1 -0
  333. package/dist/pages/NotFoundPage.js +14 -0
  334. package/dist/pages/NotFoundPage.js.map +1 -0
  335. package/dist/pages/OpportunitiesPage.d.ts +2 -0
  336. package/dist/pages/OpportunitiesPage.d.ts.map +1 -0
  337. package/dist/pages/OpportunitiesPage.js +184 -0
  338. package/dist/pages/OpportunitiesPage.js.map +1 -0
  339. package/dist/pages/OpportunityDetail.d.ts +2 -0
  340. package/dist/pages/OpportunityDetail.d.ts.map +1 -0
  341. package/dist/pages/OpportunityDetail.js +132 -0
  342. package/dist/pages/OpportunityDetail.js.map +1 -0
  343. package/dist/pages/OpportunityStageSettingsPage.d.ts +3 -0
  344. package/dist/pages/OpportunityStageSettingsPage.d.ts.map +1 -0
  345. package/dist/pages/OpportunityStageSettingsPage.js +34 -0
  346. package/dist/pages/OpportunityStageSettingsPage.js.map +1 -0
  347. package/dist/pages/PartnershipDetail.d.ts +2 -0
  348. package/dist/pages/PartnershipDetail.d.ts.map +1 -0
  349. package/dist/pages/PartnershipDetail.js +179 -0
  350. package/dist/pages/PartnershipDetail.js.map +1 -0
  351. package/dist/pages/PartnershipStageSettingsPage.d.ts +3 -0
  352. package/dist/pages/PartnershipStageSettingsPage.d.ts.map +1 -0
  353. package/dist/pages/PartnershipStageSettingsPage.js +34 -0
  354. package/dist/pages/PartnershipStageSettingsPage.js.map +1 -0
  355. package/dist/pages/PartnershipsPage.d.ts +2 -0
  356. package/dist/pages/PartnershipsPage.d.ts.map +1 -0
  357. package/dist/pages/PartnershipsPage.js +182 -0
  358. package/dist/pages/PartnershipsPage.js.map +1 -0
  359. package/dist/pages/PeoplePage.d.ts +10 -0
  360. package/dist/pages/PeoplePage.d.ts.map +1 -0
  361. package/dist/pages/PeoplePage.js +71 -0
  362. package/dist/pages/PeoplePage.js.map +1 -0
  363. package/dist/pages/PersonDetail.d.ts +2 -0
  364. package/dist/pages/PersonDetail.d.ts.map +1 -0
  365. package/dist/pages/PersonDetail.js +193 -0
  366. package/dist/pages/PersonDetail.js.map +1 -0
  367. package/dist/pages/PlanningPage.d.ts +2 -0
  368. package/dist/pages/PlanningPage.d.ts.map +1 -0
  369. package/dist/pages/PlanningPage.js +112 -0
  370. package/dist/pages/PlanningPage.js.map +1 -0
  371. package/dist/pages/RaiseDetail.d.ts +2 -0
  372. package/dist/pages/RaiseDetail.d.ts.map +1 -0
  373. package/dist/pages/RaiseDetail.js +198 -0
  374. package/dist/pages/RaiseDetail.js.map +1 -0
  375. package/dist/pages/RaiseStageSettingsPage.d.ts +3 -0
  376. package/dist/pages/RaiseStageSettingsPage.d.ts.map +1 -0
  377. package/dist/pages/RaiseStageSettingsPage.js +34 -0
  378. package/dist/pages/RaiseStageSettingsPage.js.map +1 -0
  379. package/dist/pages/RoleDetail.d.ts +2 -0
  380. package/dist/pages/RoleDetail.d.ts.map +1 -0
  381. package/dist/pages/RoleDetail.js +177 -0
  382. package/dist/pages/RoleDetail.js.map +1 -0
  383. package/dist/pages/SearchPage.d.ts +2 -0
  384. package/dist/pages/SearchPage.d.ts.map +1 -0
  385. package/dist/pages/SearchPage.js +51 -0
  386. package/dist/pages/SearchPage.js.map +1 -0
  387. package/dist/pages/account/AccountLayout.d.ts +2 -0
  388. package/dist/pages/account/AccountLayout.d.ts.map +1 -0
  389. package/dist/pages/account/AccountLayout.js +25 -0
  390. package/dist/pages/account/AccountLayout.js.map +1 -0
  391. package/dist/pages/account/Field.d.ts +8 -0
  392. package/dist/pages/account/Field.d.ts.map +1 -0
  393. package/dist/pages/account/Field.js +6 -0
  394. package/dist/pages/account/Field.js.map +1 -0
  395. package/dist/pages/account/PreferencesPage.d.ts +2 -0
  396. package/dist/pages/account/PreferencesPage.d.ts.map +1 -0
  397. package/dist/pages/account/PreferencesPage.js +92 -0
  398. package/dist/pages/account/PreferencesPage.js.map +1 -0
  399. package/dist/pages/account/ProfilePage.d.ts +14 -0
  400. package/dist/pages/account/ProfilePage.d.ts.map +1 -0
  401. package/dist/pages/account/ProfilePage.js +71 -0
  402. package/dist/pages/account/ProfilePage.js.map +1 -0
  403. package/dist/pages/account/SecurityPage.d.ts +11 -0
  404. package/dist/pages/account/SecurityPage.d.ts.map +1 -0
  405. package/dist/pages/account/SecurityPage.js +78 -0
  406. package/dist/pages/account/SecurityPage.js.map +1 -0
  407. package/dist/pages/admin/DataPage.d.ts +3 -0
  408. package/dist/pages/admin/DataPage.d.ts.map +1 -0
  409. package/dist/pages/admin/DataPage.js +210 -0
  410. package/dist/pages/admin/DataPage.js.map +1 -0
  411. package/dist/pages/admin/McpPage.d.ts +2 -0
  412. package/dist/pages/admin/McpPage.d.ts.map +1 -0
  413. package/dist/pages/admin/McpPage.js +128 -0
  414. package/dist/pages/admin/McpPage.js.map +1 -0
  415. package/dist/pages/admin/ModulesPage.d.ts +2 -0
  416. package/dist/pages/admin/ModulesPage.d.ts.map +1 -0
  417. package/dist/pages/admin/ModulesPage.js +53 -0
  418. package/dist/pages/admin/ModulesPage.js.map +1 -0
  419. package/dist/pages/admin/TeamPage.d.ts +2 -0
  420. package/dist/pages/admin/TeamPage.d.ts.map +1 -0
  421. package/dist/pages/admin/TeamPage.js +99 -0
  422. package/dist/pages/admin/TeamPage.js.map +1 -0
  423. package/dist/pages/admin/WebhookDeliveries.d.ts +4 -0
  424. package/dist/pages/admin/WebhookDeliveries.d.ts.map +1 -0
  425. package/dist/pages/admin/WebhookDeliveries.js +88 -0
  426. package/dist/pages/admin/WebhookDeliveries.js.map +1 -0
  427. package/dist/pages/admin/WebhooksPage.d.ts +2 -0
  428. package/dist/pages/admin/WebhooksPage.d.ts.map +1 -0
  429. package/dist/pages/admin/WebhooksPage.js +152 -0
  430. package/dist/pages/admin/WebhooksPage.js.map +1 -0
  431. package/dist/pages/admin/WorkspaceSettingsPage.d.ts +2 -0
  432. package/dist/pages/admin/WorkspaceSettingsPage.d.ts.map +1 -0
  433. package/dist/pages/admin/WorkspaceSettingsPage.js +117 -0
  434. package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -0
  435. package/dist/pages/auth/AuthForm.d.ts +46 -0
  436. package/dist/pages/auth/AuthForm.d.ts.map +1 -0
  437. package/dist/pages/auth/AuthForm.js +32 -0
  438. package/dist/pages/auth/AuthForm.js.map +1 -0
  439. package/dist/pages/auth/AuthLayout.d.ts +24 -0
  440. package/dist/pages/auth/AuthLayout.d.ts.map +1 -0
  441. package/dist/pages/auth/AuthLayout.js +19 -0
  442. package/dist/pages/auth/AuthLayout.js.map +1 -0
  443. package/dist/pages/auth/ForgotPasswordPage.d.ts +13 -0
  444. package/dist/pages/auth/ForgotPasswordPage.d.ts.map +1 -0
  445. package/dist/pages/auth/ForgotPasswordPage.js +39 -0
  446. package/dist/pages/auth/ForgotPasswordPage.js.map +1 -0
  447. package/dist/pages/auth/JoinPage.d.ts +12 -0
  448. package/dist/pages/auth/JoinPage.d.ts.map +1 -0
  449. package/dist/pages/auth/JoinPage.js +43 -0
  450. package/dist/pages/auth/JoinPage.js.map +1 -0
  451. package/dist/pages/auth/ResetPasswordPage.d.ts +13 -0
  452. package/dist/pages/auth/ResetPasswordPage.d.ts.map +1 -0
  453. package/dist/pages/auth/ResetPasswordPage.js +58 -0
  454. package/dist/pages/auth/ResetPasswordPage.js.map +1 -0
  455. package/dist/pages/auth/SignInPage.d.ts +2 -0
  456. package/dist/pages/auth/SignInPage.d.ts.map +1 -0
  457. package/dist/pages/auth/SignInPage.js +38 -0
  458. package/dist/pages/auth/SignInPage.js.map +1 -0
  459. package/dist/pages/auth/SignUpPage.d.ts +13 -0
  460. package/dist/pages/auth/SignUpPage.d.ts.map +1 -0
  461. package/dist/pages/auth/SignUpPage.js +43 -0
  462. package/dist/pages/auth/SignUpPage.js.map +1 -0
  463. package/dist/pages/candidateFields.d.ts +22 -0
  464. package/dist/pages/candidateFields.d.ts.map +1 -0
  465. package/dist/pages/candidateFields.js +82 -0
  466. package/dist/pages/candidateFields.js.map +1 -0
  467. package/dist/pages/dashboard/DashboardPage.d.ts +2 -0
  468. package/dist/pages/dashboard/DashboardPage.d.ts.map +1 -0
  469. package/dist/pages/dashboard/DashboardPage.js +40 -0
  470. package/dist/pages/dashboard/DashboardPage.js.map +1 -0
  471. package/dist/pages/dashboard/attention.d.ts +41 -0
  472. package/dist/pages/dashboard/attention.d.ts.map +1 -0
  473. package/dist/pages/dashboard/attention.js +146 -0
  474. package/dist/pages/dashboard/attention.js.map +1 -0
  475. package/dist/pages/dashboard/sections.d.ts +20 -0
  476. package/dist/pages/dashboard/sections.d.ts.map +1 -0
  477. package/dist/pages/dashboard/sections.js +60 -0
  478. package/dist/pages/dashboard/sections.js.map +1 -0
  479. package/dist/pages/fields.d.ts +11 -0
  480. package/dist/pages/fields.d.ts.map +1 -0
  481. package/dist/pages/fields.js +17 -0
  482. package/dist/pages/fields.js.map +1 -0
  483. package/dist/pages/forms/EmbedPanel.d.ts +14 -0
  484. package/dist/pages/forms/EmbedPanel.d.ts.map +1 -0
  485. package/dist/pages/forms/EmbedPanel.js +19 -0
  486. package/dist/pages/forms/EmbedPanel.js.map +1 -0
  487. package/dist/pages/forms/FieldsEditor.d.ts +6 -0
  488. package/dist/pages/forms/FieldsEditor.d.ts.map +1 -0
  489. package/dist/pages/forms/FieldsEditor.js +115 -0
  490. package/dist/pages/forms/FieldsEditor.js.map +1 -0
  491. package/dist/pages/forms/FormSettings.d.ts +6 -0
  492. package/dist/pages/forms/FormSettings.d.ts.map +1 -0
  493. package/dist/pages/forms/FormSettings.js +47 -0
  494. package/dist/pages/forms/FormSettings.js.map +1 -0
  495. package/dist/pages/forms/SubmissionsTable.d.ts +8 -0
  496. package/dist/pages/forms/SubmissionsTable.d.ts.map +1 -0
  497. package/dist/pages/forms/SubmissionsTable.js +91 -0
  498. package/dist/pages/forms/SubmissionsTable.js.map +1 -0
  499. package/dist/pages/forms/fieldList.d.ts +70 -0
  500. package/dist/pages/forms/fieldList.d.ts.map +1 -0
  501. package/dist/pages/forms/fieldList.js +126 -0
  502. package/dist/pages/forms/fieldList.js.map +1 -0
  503. package/dist/pages/forms/template.d.ts +18 -0
  504. package/dist/pages/forms/template.d.ts.map +1 -0
  505. package/dist/pages/forms/template.js +34 -0
  506. package/dist/pages/forms/template.js.map +1 -0
  507. package/dist/pages/handbook/HandbookPage.d.ts +2 -0
  508. package/dist/pages/handbook/HandbookPage.d.ts.map +1 -0
  509. package/dist/pages/handbook/HandbookPage.js +197 -0
  510. package/dist/pages/handbook/HandbookPage.js.map +1 -0
  511. package/dist/pages/handbook/tree.d.ts +62 -0
  512. package/dist/pages/handbook/tree.d.ts.map +1 -0
  513. package/dist/pages/handbook/tree.js +222 -0
  514. package/dist/pages/handbook/tree.js.map +1 -0
  515. package/dist/pages/hiringDirectory.d.ts +60 -0
  516. package/dist/pages/hiringDirectory.d.ts.map +1 -0
  517. package/dist/pages/hiringDirectory.js +81 -0
  518. package/dist/pages/hiringDirectory.js.map +1 -0
  519. package/dist/pages/onboarding/HandbookStepPage.d.ts +14 -0
  520. package/dist/pages/onboarding/HandbookStepPage.d.ts.map +1 -0
  521. package/dist/pages/onboarding/HandbookStepPage.js +29 -0
  522. package/dist/pages/onboarding/HandbookStepPage.js.map +1 -0
  523. package/dist/pages/onboarding/InvitesStepPage.d.ts +2 -0
  524. package/dist/pages/onboarding/InvitesStepPage.d.ts.map +1 -0
  525. package/dist/pages/onboarding/InvitesStepPage.js +77 -0
  526. package/dist/pages/onboarding/InvitesStepPage.js.map +1 -0
  527. package/dist/pages/onboarding/WorkspaceStepPage.d.ts +2 -0
  528. package/dist/pages/onboarding/WorkspaceStepPage.d.ts.map +1 -0
  529. package/dist/pages/onboarding/WorkspaceStepPage.js +72 -0
  530. package/dist/pages/onboarding/WorkspaceStepPage.js.map +1 -0
  531. package/dist/pages/positionDirectory.d.ts +20 -0
  532. package/dist/pages/positionDirectory.d.ts.map +1 -0
  533. package/dist/pages/positionDirectory.js +58 -0
  534. package/dist/pages/positionDirectory.js.map +1 -0
  535. package/dist/registry/UiExtensionProvider.d.ts +12 -0
  536. package/dist/registry/UiExtensionProvider.d.ts.map +1 -0
  537. package/dist/registry/UiExtensionProvider.js +10 -0
  538. package/dist/registry/UiExtensionProvider.js.map +1 -0
  539. package/dist/registry/context.d.ts +31 -0
  540. package/dist/registry/context.d.ts.map +1 -0
  541. package/dist/registry/context.js +45 -0
  542. package/dist/registry/context.js.map +1 -0
  543. package/dist/registry/contributions.d.ts +71 -0
  544. package/dist/registry/contributions.d.ts.map +1 -0
  545. package/dist/registry/contributions.js +25 -0
  546. package/dist/registry/contributions.js.map +1 -0
  547. package/dist/registry/overridable.d.ts +27 -0
  548. package/dist/registry/overridable.d.ts.map +1 -0
  549. package/dist/registry/overridable.js +29 -0
  550. package/dist/registry/overridable.js.map +1 -0
  551. package/dist/registry/registry.d.ts +68 -0
  552. package/dist/registry/registry.d.ts.map +1 -0
  553. package/dist/registry/registry.js +112 -0
  554. package/dist/registry/registry.js.map +1 -0
  555. package/dist/testing/inputs.d.ts +13 -0
  556. package/dist/testing/inputs.d.ts.map +1 -0
  557. package/dist/testing/inputs.js +16 -0
  558. package/dist/testing/inputs.js.map +1 -0
  559. package/dist/testing/stubClient.d.ts +42 -0
  560. package/dist/testing/stubClient.d.ts.map +1 -0
  561. package/dist/testing/stubClient.js +29 -0
  562. package/dist/testing/stubClient.js.map +1 -0
  563. package/package.json +73 -0
  564. package/src/ServiceStatus.tsx +61 -0
  565. package/src/api/ApiProvider.tsx +40 -0
  566. package/src/api/client.ts +267 -0
  567. package/src/api/context.ts +25 -0
  568. package/src/api/errors.ts +14 -0
  569. package/src/api/health.ts +38 -0
  570. package/src/api/json.ts +4 -0
  571. package/src/api/queryClient.ts +35 -0
  572. package/src/api/resource.ts +412 -0
  573. package/src/api/resources/account.ts +220 -0
  574. package/src/api/resources/activities.ts +31 -0
  575. package/src/api/resources/agentTasks.ts +172 -0
  576. package/src/api/resources/candidates.ts +69 -0
  577. package/src/api/resources/companies.ts +72 -0
  578. package/src/api/resources/dashboard.ts +39 -0
  579. package/src/api/resources/deals.ts +82 -0
  580. package/src/api/resources/decisions.ts +60 -0
  581. package/src/api/resources/forms.ts +218 -0
  582. package/src/api/resources/handbookPages.ts +77 -0
  583. package/src/api/resources/importJobs.ts +229 -0
  584. package/src/api/resources/invites.ts +112 -0
  585. package/src/api/resources/mcpTools.ts +28 -0
  586. package/src/api/resources/members.ts +105 -0
  587. package/src/api/resources/moduleSettings.ts +67 -0
  588. package/src/api/resources/mutation.ts +31 -0
  589. package/src/api/resources/notes.ts +62 -0
  590. package/src/api/resources/opportunities.ts +84 -0
  591. package/src/api/resources/partnerships.ts +89 -0
  592. package/src/api/resources/people.ts +72 -0
  593. package/src/api/resources/pipelineStages.ts +93 -0
  594. package/src/api/resources/planItems.ts +103 -0
  595. package/src/api/resources/positions.ts +70 -0
  596. package/src/api/resources/raises.ts +82 -0
  597. package/src/api/resources/roles.ts +65 -0
  598. package/src/api/resources/search.ts +49 -0
  599. package/src/api/resources/session.ts +220 -0
  600. package/src/api/resources/webhooks.ts +157 -0
  601. package/src/api/resources/workspace.ts +81 -0
  602. package/src/app/KelpieApp.tsx +162 -0
  603. package/src/app/SessionGate.tsx +42 -0
  604. package/src/components/ActivitiesPanel.tsx +235 -0
  605. package/src/components/AgentTasks.tsx +473 -0
  606. package/src/components/Chip.tsx +36 -0
  607. package/src/components/CopyButton.tsx +48 -0
  608. package/src/components/DataTable.tsx +209 -0
  609. package/src/components/DecisionsPanel.tsx +233 -0
  610. package/src/components/DeleteRecord.tsx +73 -0
  611. package/src/components/EntitySearch.tsx +268 -0
  612. package/src/components/ErrorBoundary.tsx +58 -0
  613. package/src/components/InlineEdit.tsx +179 -0
  614. package/src/components/KanbanBoard.tsx +234 -0
  615. package/src/components/MarkdownView.tsx +73 -0
  616. package/src/components/NotesPanel.tsx +169 -0
  617. package/src/components/PageHeader.tsx +61 -0
  618. package/src/components/PhonesField.tsx +204 -0
  619. package/src/components/PlanAttention.tsx +249 -0
  620. package/src/components/PlanPanel.tsx +317 -0
  621. package/src/components/QueryState.tsx +83 -0
  622. package/src/components/RecordTabs.tsx +69 -0
  623. package/src/components/SectionHeader.tsx +63 -0
  624. package/src/components/SegmentedControl.tsx +48 -0
  625. package/src/components/Shell.tsx +300 -0
  626. package/src/components/SidebarField.tsx +18 -0
  627. package/src/components/SocialProfilesField.tsx +356 -0
  628. package/src/components/StageSettings.tsx +319 -0
  629. package/src/components/SummaryBlock.tsx +27 -0
  630. package/src/index.ts +190 -0
  631. package/src/lib/dates.ts +90 -0
  632. package/src/lib/money.ts +12 -0
  633. package/src/lib/names.ts +13 -0
  634. package/src/lib/plan.ts +147 -0
  635. package/src/lib/theme.ts +53 -0
  636. package/src/pages/CompaniesPage.tsx +143 -0
  637. package/src/pages/CompanyDetail.tsx +502 -0
  638. package/src/pages/DealDetail.tsx +512 -0
  639. package/src/pages/DealStageSettingsPage.tsx +67 -0
  640. package/src/pages/DealsPage.tsx +342 -0
  641. package/src/pages/DecisionsPage.tsx +211 -0
  642. package/src/pages/FormDetail.tsx +130 -0
  643. package/src/pages/FormsPage.tsx +151 -0
  644. package/src/pages/FundraisingPage.tsx +354 -0
  645. package/src/pages/HiringPage.tsx +169 -0
  646. package/src/pages/NotFoundPage.tsx +27 -0
  647. package/src/pages/OpportunitiesPage.tsx +349 -0
  648. package/src/pages/OpportunityDetail.tsx +337 -0
  649. package/src/pages/OpportunityStageSettingsPage.tsx +63 -0
  650. package/src/pages/PartnershipDetail.tsx +490 -0
  651. package/src/pages/PartnershipStageSettingsPage.tsx +63 -0
  652. package/src/pages/PartnershipsPage.tsx +353 -0
  653. package/src/pages/PeoplePage.tsx +145 -0
  654. package/src/pages/PersonDetail.tsx +526 -0
  655. package/src/pages/PlanningPage.tsx +318 -0
  656. package/src/pages/RaiseDetail.tsx +498 -0
  657. package/src/pages/RaiseStageSettingsPage.tsx +63 -0
  658. package/src/pages/RoleDetail.tsx +455 -0
  659. package/src/pages/SearchPage.tsx +135 -0
  660. package/src/pages/account/AccountLayout.tsx +38 -0
  661. package/src/pages/account/Field.tsx +20 -0
  662. package/src/pages/account/PreferencesPage.tsx +224 -0
  663. package/src/pages/account/ProfilePage.tsx +147 -0
  664. package/src/pages/account/SecurityPage.tsx +237 -0
  665. package/src/pages/admin/DataPage.tsx +772 -0
  666. package/src/pages/admin/McpPage.tsx +404 -0
  667. package/src/pages/admin/ModulesPage.tsx +113 -0
  668. package/src/pages/admin/TeamPage.tsx +386 -0
  669. package/src/pages/admin/WebhookDeliveries.tsx +184 -0
  670. package/src/pages/admin/WebhooksPage.tsx +443 -0
  671. package/src/pages/admin/WorkspaceSettingsPage.tsx +274 -0
  672. package/src/pages/auth/AuthForm.tsx +118 -0
  673. package/src/pages/auth/AuthLayout.tsx +74 -0
  674. package/src/pages/auth/ForgotPasswordPage.tsx +80 -0
  675. package/src/pages/auth/JoinPage.tsx +85 -0
  676. package/src/pages/auth/ResetPasswordPage.tsx +124 -0
  677. package/src/pages/auth/SignInPage.tsx +83 -0
  678. package/src/pages/auth/SignUpPage.tsx +93 -0
  679. package/src/pages/candidateFields.tsx +175 -0
  680. package/src/pages/dashboard/DashboardPage.tsx +108 -0
  681. package/src/pages/dashboard/attention.ts +206 -0
  682. package/src/pages/dashboard/sections.tsx +269 -0
  683. package/src/pages/fields.ts +21 -0
  684. package/src/pages/forms/EmbedPanel.tsx +95 -0
  685. package/src/pages/forms/FieldsEditor.tsx +412 -0
  686. package/src/pages/forms/FormSettings.tsx +159 -0
  687. package/src/pages/forms/SubmissionsTable.tsx +171 -0
  688. package/src/pages/forms/fieldList.ts +209 -0
  689. package/src/pages/forms/template.ts +37 -0
  690. package/src/pages/handbook/HandbookPage.tsx +500 -0
  691. package/src/pages/handbook/tree.ts +327 -0
  692. package/src/pages/hiringDirectory.ts +146 -0
  693. package/src/pages/onboarding/HandbookStepPage.tsx +75 -0
  694. package/src/pages/onboarding/InvitesStepPage.tsx +180 -0
  695. package/src/pages/onboarding/WorkspaceStepPage.tsx +122 -0
  696. package/src/pages/positionDirectory.ts +98 -0
  697. package/src/registry/UiExtensionProvider.tsx +20 -0
  698. package/src/registry/context.ts +67 -0
  699. package/src/registry/contributions.ts +89 -0
  700. package/src/registry/overridable.ts +62 -0
  701. package/src/registry/registry.ts +204 -0
  702. package/src/styles.css +175 -0
  703. package/src/testing/inputs.ts +18 -0
  704. package/src/testing/stubClient.ts +78 -0
@@ -0,0 +1,31 @@
1
+ import type { CreatePlanItemInput, PipelineKind, PlanItem, PlanItemInput, PlanItemStatus } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, UpdateArguments } from '../resource.ts';
3
+ /** The `?limit=` ceiling from `api.md`. A caller asking for a bounded set may ask for all of it. */
4
+ export declare const MAX_PAGE_SIZE = 200;
5
+ export interface PlanItemFilters {
6
+ readonly targetType?: PipelineKind;
7
+ /** The records to read steps for. Repeats on the wire: `?target_id=a&target_id=b`. */
8
+ readonly targetIds?: readonly string[];
9
+ readonly statuses?: readonly PlanItemStatus[];
10
+ /** Inclusive `YYYY-MM-DD` bounds. The calendar asks for one month with the pair. */
11
+ readonly from?: string;
12
+ readonly to?: string;
13
+ /** Page size. Worth setting only when the filter already bounds the answer. */
14
+ readonly limit?: number;
15
+ }
16
+ export declare function usePlanItems(filters?: PlanItemFilters, options?: ListOptions): RecordListResult<PlanItem>;
17
+ /** One record's plan, in date order: what the panel on a detail page shows. */
18
+ export declare function useRecordPlanItems(targetType: PipelineKind, targetId: string): RecordListResult<PlanItem>;
19
+ /**
20
+ * The plan across a set of records: a Person's or a Company's roll-up.
21
+ *
22
+ * Held back until the ids are known. A list filtered by a set of ids has nothing
23
+ * to ask before then, and asking with the filter omitted would answer with the
24
+ * whole workspace instead of nothing. Ids past the `?target_id=` ceiling are
25
+ * dropped rather than sent, because the request would be a 422 in full.
26
+ */
27
+ export declare function usePlanItemsForRecords(targetType: PipelineKind, targetIds: readonly string[]): RecordListResult<PlanItem>;
28
+ export declare function useCreatePlanItem(): MutationResult<CreatePlanItemInput, PlanItem>;
29
+ export declare function useUpdatePlanItem(): MutationResult<UpdateArguments<PlanItemInput>, PlanItem>;
30
+ export declare function useDeletePlanItem(): MutationResult<string, void>;
31
+ //# sourceMappingURL=planItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planItems.d.ts","sourceRoot":"","sources":["../../../src/api/resources/planItems.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAsBpG,oGAAoG;AACpG,eAAO,MAAM,aAAa,MAAM,CAAA;AAEhC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAA;IAClC,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAC7C,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAaD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,eAAoB,EAC7B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,QAAQ,CAAC,CAE5B;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,YAAY,EACxB,QAAQ,EAAE,MAAM,GACf,gBAAgB,CAAC,QAAQ,CAAC,CAE5B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,gBAAgB,CAAC,QAAQ,CAAC,CAK5B;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAEjF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAE5F;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEhE"}
@@ -0,0 +1,60 @@
1
+ import { createPlanItemBody, planItemBody, planItemSchema } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ /**
4
+ * `/v1/plan_items`: the dated next steps on the four pipelines.
5
+ *
6
+ * Unlike notes, this list is answerable workspace-wide, because the Planning
7
+ * page is exactly that question. `useRecordPlanItems` narrows it to one record's
8
+ * panel and `usePlanItemsForRecords` to a page of them.
9
+ *
10
+ * No `alsoInvalidates`: a plan item write emits no activity and touches no other
11
+ * resource. The one cross-resource effect runs the other way, when deleting a
12
+ * pipeline record takes its plan items with it.
13
+ */
14
+ const planItems = createResourceHooks({
15
+ name: 'planItems',
16
+ path: '/plan_items',
17
+ decode: planItemSchema.parse,
18
+ createBody: createPlanItemBody,
19
+ updateBody: planItemBody,
20
+ });
21
+ /** The `?limit=` ceiling from `api.md`. A caller asking for a bounded set may ask for all of it. */
22
+ export const MAX_PAGE_SIZE = 200;
23
+ function planItemQuery(filters) {
24
+ return {
25
+ target_type: filters.targetType,
26
+ target_id: filters.targetIds,
27
+ status: filters.statuses,
28
+ from: filters.from,
29
+ to: filters.to,
30
+ limit: filters.limit,
31
+ };
32
+ }
33
+ export function usePlanItems(filters = {}, options = {}) {
34
+ return planItems.useList(planItemQuery(filters), options);
35
+ }
36
+ /** One record's plan, in date order: what the panel on a detail page shows. */
37
+ export function useRecordPlanItems(targetType, targetId) {
38
+ return usePlanItems({ targetType, targetIds: [targetId] });
39
+ }
40
+ /**
41
+ * The plan across a set of records: a Person's or a Company's roll-up.
42
+ *
43
+ * Held back until the ids are known. A list filtered by a set of ids has nothing
44
+ * to ask before then, and asking with the filter omitted would answer with the
45
+ * whole workspace instead of nothing. Ids past the `?target_id=` ceiling are
46
+ * dropped rather than sent, because the request would be a 422 in full.
47
+ */
48
+ export function usePlanItemsForRecords(targetType, targetIds) {
49
+ return usePlanItems({ targetType, targetIds: targetIds.slice(0, MAX_PAGE_SIZE), limit: MAX_PAGE_SIZE }, { enabled: targetIds.length > 0 });
50
+ }
51
+ export function useCreatePlanItem() {
52
+ return planItems.useCreate();
53
+ }
54
+ export function useUpdatePlanItem() {
55
+ return planItems.useUpdate();
56
+ }
57
+ export function useDeletePlanItem() {
58
+ return planItems.useRemove();
59
+ }
60
+ //# sourceMappingURL=planItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planItems.js","sourceRoot":"","sources":["../../../src/api/resources/planItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAUlF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD;;;;;;;;;;GAUG;AAEH,MAAM,SAAS,GAAG,mBAAmB,CAA+C;IAClF,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,cAAc,CAAC,KAAK;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,YAAY;CACzB,CAAC,CAAA;AAEF,oGAAoG;AACpG,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAchC,SAAS,aAAa,CAAC,OAAwB;IAC7C,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAO,GAAoB,EAAE,EAC7B,OAAO,GAAgB,EAAE;IAEzB,OAAO,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAChC,UAAwB,EACxB,QAAgB;IAEhB,OAAO,YAAY,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAwB,EACxB,SAA4B;IAE5B,OAAO,YAAY,CACjB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAClF,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAClC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { CreatePositionInput, Position } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, UpdateArguments } from '../resource.ts';
3
+ /**
4
+ * `/v1/positions`, the Person↔Company link holding the job title.
5
+ *
6
+ * Only the title is updatable. Re-pointing a link at a different person or
7
+ * company is a delete and a create, which is what the API accepts.
8
+ */
9
+ export interface PositionTitleUpdate {
10
+ readonly title: string;
11
+ }
12
+ export interface PositionFilters {
13
+ /** Positions held by any of these people. Repeats on the wire. */
14
+ readonly personIds?: readonly string[];
15
+ /** Positions held at any of these companies. Repeats on the wire. */
16
+ readonly companyIds?: readonly string[];
17
+ readonly limit?: number;
18
+ }
19
+ export declare function usePositions(filters?: PositionFilters, options?: ListOptions): RecordListResult<Position>;
20
+ export declare function useCreatePosition(): MutationResult<CreatePositionInput, Position>;
21
+ export declare function useUpdatePositionTitle(): MutationResult<UpdateArguments<PositionTitleUpdate>, Position>;
22
+ export declare function useDeletePosition(): MutationResult<string, void>;
23
+ //# sourceMappingURL=positions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../../src/api/resources/positions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;;;GAKG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAgBD,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAMD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,eAAoB,EAC7B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,QAAQ,CAAC,CAE5B;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAEjF;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CACtD,eAAe,CAAC,mBAAmB,CAAC,EACpC,QAAQ,CACT,CAEA;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEhE"}
@@ -0,0 +1,31 @@
1
+ import { createPositionBody, positionSchema, updatePositionBody } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ const positions = createResourceHooks({
4
+ name: 'positions',
5
+ path: '/positions',
6
+ decode: positionSchema.parse,
7
+ createBody: createPositionBody,
8
+ updateBody: (input) => updatePositionBody(input.title),
9
+ // `?company_id=` on people and `?person_id=` on companies are lists this join
10
+ // decides the membership of. Without this, linking a person to a company shows
11
+ // the new row with the name still unfetched.
12
+ // Creating one also emits a `linked` activity on both the person and the
13
+ // company, so both timelines are stale too.
14
+ alsoInvalidates: ['people', 'companies', 'activities'],
15
+ });
16
+ function positionQuery(filters) {
17
+ return { person_id: filters.personIds, company_id: filters.companyIds, limit: filters.limit };
18
+ }
19
+ export function usePositions(filters = {}, options = {}) {
20
+ return positions.useList(positionQuery(filters), options);
21
+ }
22
+ export function useCreatePosition() {
23
+ return positions.useCreate();
24
+ }
25
+ export function useUpdatePositionTitle() {
26
+ return positions.useUpdate();
27
+ }
28
+ export function useDeletePosition() {
29
+ return positions.useRemove();
30
+ }
31
+ //# sourceMappingURL=positions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positions.js","sourceRoot":"","sources":["../../../src/api/resources/positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAmBpD,MAAM,SAAS,GAAG,mBAAmB,CAAqD;IACxF,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,cAAc,CAAC,KAAK;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;IACtD,8EAA8E;IAC9E,+EAA+E;IAC/E,6CAA6C;IAC7C,yEAAyE;IACzE,4CAA4C;IAC5C,eAAe,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC;CACvD,CAAC,CAAA;AAUF,SAAS,aAAa,CAAC,OAAwB;IAC7C,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;AAC/F,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAO,GAAoB,EAAE,EAC7B,OAAO,GAAgB,EAAE;IAEzB,OAAO,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,sBAAsB;IAIpC,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { Raise, RaiseInput } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
+ /**
4
+ * `/v1/raises`. Create needs a name and a firm; the API lands the raise in the
5
+ * pipeline's first open stage and hands it to the caller as owner.
6
+ */
7
+ export interface CreateRaiseInput extends RaiseInput {
8
+ readonly name: string;
9
+ readonly companyId: string;
10
+ }
11
+ /** The documented filters on `GET /v1/raises`. */
12
+ export interface RaiseFilters {
13
+ /** Matches the raise's name, summary, tags, and its firm's name. */
14
+ readonly term?: string;
15
+ /** Raises with any of these firms. Repeats on the wire. */
16
+ readonly companyIds?: readonly string[];
17
+ /** Raises sitting in any of these stages. Repeats on the wire. */
18
+ readonly stageIds?: readonly string[];
19
+ /** Raises any of these people are key on. Repeats on the wire. */
20
+ readonly personIds?: readonly string[];
21
+ readonly limit?: number;
22
+ /** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
23
+ readonly sort?: string;
24
+ }
25
+ export declare function useRaises(filters?: RaiseFilters, options?: ListOptions): RecordListResult<Raise>;
26
+ export declare function useRaise(id: string | undefined): RecordResult<Raise>;
27
+ export declare function useCreateRaise(): MutationResult<CreateRaiseInput, Raise>;
28
+ export declare function useUpdateRaise(): MutationResult<UpdateArguments<RaiseInput>, Raise>;
29
+ export declare function useDeleteRaise(): MutationResult<string, void>;
30
+ //# sourceMappingURL=raises.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raises.d.ts","sourceRoot":"","sources":["../../../src/api/resources/raises.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIxD,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;GAGG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAaD,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAaD,wBAAgB,SAAS,CACvB,OAAO,GAAE,YAAiB,EAC1B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,KAAK,CAAC,CAEzB;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAEpE;AAED,wBAAgB,cAAc,IAAI,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAExE;AAED,wBAAgB,cAAc,IAAI,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAEnF;AAED,wBAAgB,cAAc,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE7D"}
@@ -0,0 +1,38 @@
1
+ import { raiseBody, raiseSchema } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ const raises = createResourceHooks({
4
+ name: 'raises',
5
+ path: '/raises',
6
+ decode: raiseSchema.parse,
7
+ createBody: raiseBody,
8
+ updateBody: raiseBody,
9
+ // Every write here emits an activity server-side, in the same transaction, so
10
+ // a timeline rendered on this record is stale the moment the write lands.
11
+ alsoInvalidates: ['activities'],
12
+ });
13
+ function raiseQuery(filters) {
14
+ return {
15
+ q: filters.term,
16
+ company_id: filters.companyIds,
17
+ stage_id: filters.stageIds,
18
+ person_id: filters.personIds,
19
+ limit: filters.limit,
20
+ sort: filters.sort,
21
+ };
22
+ }
23
+ export function useRaises(filters = {}, options = {}) {
24
+ return raises.useList(raiseQuery(filters), options);
25
+ }
26
+ export function useRaise(id) {
27
+ return raises.useRecord(id);
28
+ }
29
+ export function useCreateRaise() {
30
+ return raises.useCreate();
31
+ }
32
+ export function useUpdateRaise() {
33
+ return raises.useUpdate();
34
+ }
35
+ export function useDeleteRaise() {
36
+ return raises.useRemove();
37
+ }
38
+ //# sourceMappingURL=raises.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raises.js","sourceRoot":"","sources":["../../../src/api/resources/raises.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAmBpD,MAAM,MAAM,GAAG,mBAAmB,CAAsC;IACtE,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW,CAAC,KAAK;IACzB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAiBF,SAAS,UAAU,CAAC,OAAqB;IACvC,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAO,GAAiB,EAAE,EAC1B,OAAO,GAAgB,EAAE;IAEzB,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAsB;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Role, RoleInput, RoleStatus } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
+ /** `/v1/roles`. Create needs a title; the API opens the role. */
4
+ export interface CreateRoleInput extends RoleInput {
5
+ readonly title: string;
6
+ }
7
+ /** The documented filters on `GET /v1/roles`. */
8
+ export interface RoleFilters {
9
+ /** Matches the role's title, which is what the mockup's filter box matches. */
10
+ readonly term?: string;
11
+ /** Roles in any of these statuses. Repeats on the wire. */
12
+ readonly statuses?: readonly RoleStatus[];
13
+ readonly limit?: number;
14
+ }
15
+ export declare function useRoles(filters?: RoleFilters, options?: ListOptions): RecordListResult<Role>;
16
+ export declare function useRole(id: string | undefined): RecordResult<Role>;
17
+ export declare function useCreateRole(): MutationResult<CreateRoleInput, Role>;
18
+ export declare function useUpdateRole(): MutationResult<UpdateArguments<RoleInput>, Role>;
19
+ export declare function useDeleteRole(): MutationResult<string, void>;
20
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/api/resources/roles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIlE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,iEAAiE;AAEjE,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAaD,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAMD,wBAAgB,QAAQ,CACtB,OAAO,GAAE,WAAgB,EACzB,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,IAAI,CAAC,CAExB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D"}
@@ -0,0 +1,31 @@
1
+ import { roleBody, roleSchema } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ const roles = createResourceHooks({
4
+ name: 'roles',
5
+ path: '/roles',
6
+ decode: roleSchema.parse,
7
+ createBody: roleBody,
8
+ updateBody: roleBody,
9
+ // Deleting a role takes its candidacies with it, and each one files an unlink
10
+ // on a person's timeline, so both caches are stale the moment a role goes.
11
+ alsoInvalidates: ['candidates', 'activities'],
12
+ });
13
+ function roleQuery(filters) {
14
+ return { q: filters.term, status: filters.statuses, limit: filters.limit };
15
+ }
16
+ export function useRoles(filters = {}, options = {}) {
17
+ return roles.useList(roleQuery(filters), options);
18
+ }
19
+ export function useRole(id) {
20
+ return roles.useRecord(id);
21
+ }
22
+ export function useCreateRole() {
23
+ return roles.useCreate();
24
+ }
25
+ export function useUpdateRole() {
26
+ return roles.useUpdate();
27
+ }
28
+ export function useDeleteRole() {
29
+ return roles.useRemove();
30
+ }
31
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/api/resources/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAItD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,KAAK,GAAG,mBAAmB,CAAmC;IAClE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU,CAAC,KAAK;IACxB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,8EAA8E;IAC9E,2EAA2E;IAC3E,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;CAC9C,CAAC,CAAA;AAWF,SAAS,SAAS,CAAC,OAAoB;IACrC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAO,GAAgB,EAAE,EACzB,OAAO,GAAgB,EAAE;IAEzB,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAsB;IAC5C,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { SearchResults } from '@kelpie/schemas';
2
+ export interface SearchState {
3
+ readonly results: SearchResults | undefined;
4
+ readonly isLoading: boolean;
5
+ readonly error: Error | null;
6
+ }
7
+ /**
8
+ * @param term What was typed. An empty one asks nothing: the query is disabled
9
+ * rather than sent, because `?q=` is required and a blank one is a 422.
10
+ */
11
+ export declare function useSearch(term: string): SearchState;
12
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/api/resources/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAoBpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAiBnD"}
@@ -0,0 +1,37 @@
1
+ import { searchResultsSchema } from '@kelpie/schemas';
2
+ import { useQuery } from '@tanstack/react-query';
3
+ import { useApiClient } from '../context.js';
4
+ import { toError } from '../errors.js';
5
+ /**
6
+ * `/v1/search`, read-only: nine collections in one request.
7
+ *
8
+ * Not a `createResourceHooks` resource, for the same reason the dashboard is not.
9
+ * There is no collection to page, no id in a path, and no write.
10
+ *
11
+ * Nothing invalidates this key. Results are derived from records other pages own,
12
+ * so listing the writes that could change one would mean naming most of the API.
13
+ * A search is re-run by typing, which is a new key.
14
+ */
15
+ /** How many results each group carries. The total beside each group stays exact. */
16
+ const GROUP_LIMIT = 10;
17
+ /**
18
+ * @param term What was typed. An empty one asks nothing: the query is disabled
19
+ * rather than sent, because `?q=` is required and a blank one is a 422.
20
+ */
21
+ export function useSearch(term) {
22
+ const client = useApiClient();
23
+ const trimmed = term.trim();
24
+ const enabled = trimmed.length > 0;
25
+ const result = useQuery({
26
+ queryKey: ['search', trimmed],
27
+ queryFn: () => client.get('/search', searchResultsSchema.parse, { q: trimmed, limit: GROUP_LIMIT }),
28
+ enabled,
29
+ });
30
+ return {
31
+ results: result.data,
32
+ // A disabled query stays pending forever, which is not the same as loading.
33
+ isLoading: result.isPending && enabled,
34
+ error: toError(result.error),
35
+ };
36
+ }
37
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/api/resources/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC;;;;;;;;;GASG;AAEH,oFAAoF;AACpF,MAAM,WAAW,GAAG,EAAE,CAAA;AAQtB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAElC,MAAM,MAAM,GAAG,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACnG,OAAO;KACR,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,4EAA4E;QAC5E,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO;QACtC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAA;AACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { ConfirmPasswordResetInput, CreateWorkspaceInput, LogInInput, RequestPasswordResetInput, Session, SignUpInput, SignedInAccount, Workspace } from '@kelpie/schemas';
2
+ import type { MutationResult } from '../resource.ts';
3
+ export interface SessionState {
4
+ readonly session: Session | undefined;
5
+ readonly isLoading: boolean;
6
+ /** The service answered `401`. Distinct from a network failure, which is `error`. */
7
+ readonly isSignedOut: boolean;
8
+ /** Signed in, but the account has no workspace yet. Every CRM endpoint answers `403` until it does. */
9
+ readonly needsWorkspace: boolean;
10
+ readonly error: Error | null;
11
+ }
12
+ export declare function useSession(): SessionState;
13
+ export declare function useLogIn(): MutationResult<LogInInput, SignedInAccount>;
14
+ /**
15
+ * Creates the account and signs the browser in, because `POST /v1/auth/signup`
16
+ * sets the session cookie itself.
17
+ *
18
+ * The cache is cleared for the same reason sign-in clears it: whatever is in it
19
+ * belongs to whoever was here before.
20
+ */
21
+ export declare function useSignUp(): MutationResult<SignUpInput, SignedInAccount>;
22
+ export declare function useLogOut(): MutationResult<void, void>;
23
+ /** Where a reset email lands. `ResetPasswordPage` reads the token out of the query string. */
24
+ export declare function resetUrlTemplate(origin: string): string;
25
+ /**
26
+ * Asks for a reset link.
27
+ *
28
+ * Answers `202` whether or not the address is registered, and the page says the
29
+ * same thing either way. A caller that could tell the difference would have an
30
+ * account-existence oracle.
31
+ *
32
+ * Nothing in the cache changes: this signs nobody in and ends no session.
33
+ */
34
+ export declare function useRequestPasswordReset(): MutationResult<RequestPasswordResetInput, void>;
35
+ /**
36
+ * Spends a reset token on a new password.
37
+ *
38
+ * The service ends every session the account had, this browser included, so the
39
+ * caller sends the reader to sign in rather than into the app.
40
+ */
41
+ export declare function useConfirmPasswordReset(): MutationResult<ConfirmPasswordResetInput, void>;
42
+ /**
43
+ * Joins the workspace an invitation names.
44
+ *
45
+ * Like creating one, this moves the session, so the whole cache goes: the next
46
+ * page belongs to a different workspace than the one just cached.
47
+ */
48
+ export declare function useAcceptInvite(): MutationResult<{
49
+ readonly token: string;
50
+ }, Workspace>;
51
+ /**
52
+ * Creates the account's first workspace.
53
+ *
54
+ * Signup makes an account and nothing else (`onboarding.md`), so without this a
55
+ * new account reaches the app and gets `403` from every CRM endpoint.
56
+ */
57
+ export declare function useCreateWorkspace(): MutationResult<CreateWorkspaceInput, Workspace>;
58
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/api/resources/session.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,yBAAyB,EACzB,OAAO,EACP,WAAW,EACX,eAAe,EACf,SAAS,EACV,MAAM,iBAAiB,CAAA;AAOxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAgCpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,qFAAqF;IACrF,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED,wBAAgB,UAAU,IAAI,YAAY,CAYzC;AAED,wBAAgB,QAAQ,IAAI,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC,CAatE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAaxE;AAED,wBAAgB,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAatD;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAQzF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAYzF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,cAAc,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,SAAS,CAAC,CAavF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAapF"}
@@ -0,0 +1,157 @@
1
+ import { confirmPasswordResetBody, createWorkspaceBody, logInBody, requestPasswordResetBody, sessionSchema, signUpBody, signedInAccountSchema, workspaceSchema, } from '@kelpie/schemas';
2
+ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
3
+ import { ApiError } from '../client.js';
4
+ import { useApiClient } from '../context.js';
5
+ import { toError } from '../errors.js';
6
+ import { asMutationResult } from './mutation.js';
7
+ /**
8
+ * Who the browser is signed in as.
9
+ *
10
+ * Not a CRM resource, so it does not go through `createResourceHooks`: there is
11
+ * no list, no id, and a `401` is an answer rather than a failure.
12
+ *
13
+ * Signing in or out changes which workspace every other cached query belongs to,
14
+ * so both clear the whole cache. Leaving one person's People page in the cache
15
+ * for the next person to sign in would be a data leak, not a stale render.
16
+ */
17
+ const SESSION_KEY = ['session'];
18
+ function sessionQuery(client) {
19
+ return {
20
+ queryKey: SESSION_KEY,
21
+ queryFn: () => client.get('/auth/me', sessionSchema.parse),
22
+ // A 401 is the answer "signed out". Retrying it is pointless, and every
23
+ // remount should ask again rather than trust a cached identity.
24
+ retry: false,
25
+ staleTime: 0,
26
+ };
27
+ }
28
+ export function useSession() {
29
+ const client = useApiClient();
30
+ const result = useQuery(sessionQuery(client));
31
+ const isSignedOut = result.error instanceof ApiError && result.error.status === 401;
32
+ return {
33
+ session: result.data,
34
+ isLoading: result.isPending,
35
+ isSignedOut,
36
+ needsWorkspace: result.data !== undefined && result.data.workspaceId === null,
37
+ error: isSignedOut ? null : toError(result.error),
38
+ };
39
+ }
40
+ export function useLogIn() {
41
+ const client = useApiClient();
42
+ const queryClient = useQueryClient();
43
+ const mutation = useMutation({
44
+ mutationFn: (input) => client.post('/auth/login', logInBody(input), signedInAccountSchema.parse),
45
+ onSuccess: async () => {
46
+ queryClient.clear();
47
+ await queryClient.fetchQuery(sessionQuery(client));
48
+ },
49
+ });
50
+ return asMutationResult(mutation);
51
+ }
52
+ /**
53
+ * Creates the account and signs the browser in, because `POST /v1/auth/signup`
54
+ * sets the session cookie itself.
55
+ *
56
+ * The cache is cleared for the same reason sign-in clears it: whatever is in it
57
+ * belongs to whoever was here before.
58
+ */
59
+ export function useSignUp() {
60
+ const client = useApiClient();
61
+ const queryClient = useQueryClient();
62
+ const mutation = useMutation({
63
+ mutationFn: (input) => client.post('/auth/signup', signUpBody(input), signedInAccountSchema.parse),
64
+ onSuccess: async () => {
65
+ queryClient.clear();
66
+ await queryClient.fetchQuery(sessionQuery(client));
67
+ },
68
+ });
69
+ return asMutationResult(mutation);
70
+ }
71
+ export function useLogOut() {
72
+ const client = useApiClient();
73
+ const queryClient = useQueryClient();
74
+ const mutation = useMutation({
75
+ mutationFn: () => client.postEmpty('/auth/logout'),
76
+ // No refetch afterwards. The caller sends the browser to the sign-in page,
77
+ // and the next protected route asks for the session itself.
78
+ onSettled: () => {
79
+ queryClient.clear();
80
+ },
81
+ });
82
+ return asMutationResult(mutation);
83
+ }
84
+ /** Where a reset email lands. `ResetPasswordPage` reads the token out of the query string. */
85
+ export function resetUrlTemplate(origin) {
86
+ return `${origin}/reset-password?token={token}`;
87
+ }
88
+ /**
89
+ * Asks for a reset link.
90
+ *
91
+ * Answers `202` whether or not the address is registered, and the page says the
92
+ * same thing either way. A caller that could tell the difference would have an
93
+ * account-existence oracle.
94
+ *
95
+ * Nothing in the cache changes: this signs nobody in and ends no session.
96
+ */
97
+ export function useRequestPasswordReset() {
98
+ const client = useApiClient();
99
+ const mutation = useMutation({
100
+ mutationFn: (input) => client.postEmpty('/auth/password-reset', requestPasswordResetBody(input)),
101
+ });
102
+ return asMutationResult(mutation);
103
+ }
104
+ /**
105
+ * Spends a reset token on a new password.
106
+ *
107
+ * The service ends every session the account had, this browser included, so the
108
+ * caller sends the reader to sign in rather than into the app.
109
+ */
110
+ export function useConfirmPasswordReset() {
111
+ const client = useApiClient();
112
+ const queryClient = useQueryClient();
113
+ const mutation = useMutation({
114
+ mutationFn: (input) => client.postEmpty('/auth/password-reset/confirm', confirmPasswordResetBody(input)),
115
+ onSuccess: () => {
116
+ queryClient.clear();
117
+ },
118
+ });
119
+ return asMutationResult(mutation);
120
+ }
121
+ /**
122
+ * Joins the workspace an invitation names.
123
+ *
124
+ * Like creating one, this moves the session, so the whole cache goes: the next
125
+ * page belongs to a different workspace than the one just cached.
126
+ */
127
+ export function useAcceptInvite() {
128
+ const client = useApiClient();
129
+ const queryClient = useQueryClient();
130
+ const mutation = useMutation({
131
+ mutationFn: ({ token }) => client.post('/invites/accept', { token }, workspaceSchema.parse),
132
+ onSuccess: async () => {
133
+ queryClient.clear();
134
+ await queryClient.fetchQuery(sessionQuery(client));
135
+ },
136
+ });
137
+ return asMutationResult(mutation);
138
+ }
139
+ /**
140
+ * Creates the account's first workspace.
141
+ *
142
+ * Signup makes an account and nothing else (`onboarding.md`), so without this a
143
+ * new account reaches the app and gets `403` from every CRM endpoint.
144
+ */
145
+ export function useCreateWorkspace() {
146
+ const client = useApiClient();
147
+ const queryClient = useQueryClient();
148
+ const mutation = useMutation({
149
+ mutationFn: (input) => client.post('/workspaces', createWorkspaceBody(input), workspaceSchema.parse),
150
+ // Creating a workspace moves the session into it, so the session is stale.
151
+ onSuccess: async () => {
152
+ await queryClient.fetchQuery(sessionQuery(client));
153
+ },
154
+ });
155
+ return asMutationResult(mutation);
156
+ }
157
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/api/resources/session.ts"],"names":[],"mappings":"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"}