@aglyn/plugins-crm 1.0.0-beta.220 → 1.0.0-beta.222

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 (514) hide show
  1. package/README.md +2 -1
  2. package/package.json +13 -13
  3. package/src/lib/components/activity-list.js +12 -5
  4. package/src/lib/components/activity-list.js.map +1 -1
  5. package/src/lib/components/companies-bulk-bar.d.ts +1 -4
  6. package/src/lib/components/companies-bulk-bar.js +7 -20
  7. package/src/lib/components/companies-bulk-bar.js.map +1 -1
  8. package/src/lib/components/companies-section.d.ts +3 -3
  9. package/src/lib/components/companies-section.js +149 -46
  10. package/src/lib/components/companies-section.js.map +1 -1
  11. package/src/lib/components/company-edit-drawer.js +281 -20
  12. package/src/lib/components/company-edit-drawer.js.map +1 -1
  13. package/src/lib/components/company-properties-card.js +99 -8
  14. package/src/lib/components/company-properties-card.js.map +1 -1
  15. package/src/lib/components/contact-detail-page.js +3 -1
  16. package/src/lib/components/contact-detail-page.js.map +1 -1
  17. package/src/lib/components/contact-merge-dialog.js +33 -10
  18. package/src/lib/components/contact-merge-dialog.js.map +1 -1
  19. package/src/lib/components/contact-properties-card.d.ts +0 -69
  20. package/src/lib/components/contact-properties-card.js +350 -60
  21. package/src/lib/components/contact-properties-card.js.map +1 -1
  22. package/src/lib/components/contact-reports-to-field.d.ts +46 -0
  23. package/src/lib/components/contact-reports-to-field.js +67 -0
  24. package/src/lib/components/contact-reports-to-field.js.map +1 -0
  25. package/src/lib/components/contacts-bulk-bar.d.ts +1 -8
  26. package/src/lib/components/contacts-bulk-bar.js +7 -19
  27. package/src/lib/components/contacts-bulk-bar.js.map +1 -1
  28. package/src/lib/components/contacts-section.js +46 -33
  29. package/src/lib/components/contacts-section.js.map +1 -1
  30. package/src/lib/components/crm-call-actions.d.ts +10 -0
  31. package/src/lib/components/crm-call-actions.js +26 -9
  32. package/src/lib/components/crm-call-actions.js.map +1 -1
  33. package/src/lib/components/crm-record-picker.d.ts +15 -0
  34. package/src/lib/components/crm-record-picker.js +16 -10
  35. package/src/lib/components/crm-record-picker.js.map +1 -1
  36. package/src/lib/components/crm-transfer-buttons.d.ts +54 -0
  37. package/src/lib/components/crm-transfer-buttons.js +167 -0
  38. package/src/lib/components/crm-transfer-buttons.js.map +1 -0
  39. package/src/lib/components/deal-contact-roles-card.d.ts +46 -0
  40. package/src/lib/components/deal-contact-roles-card.js +368 -0
  41. package/src/lib/components/deal-contact-roles-card.js.map +1 -0
  42. package/src/lib/components/deal-detail-page.d.ts +3 -2
  43. package/src/lib/components/deal-detail-page.js +25 -6
  44. package/src/lib/components/deal-detail-page.js.map +1 -1
  45. package/src/lib/components/deal-edit-drawer.d.ts +10 -0
  46. package/src/lib/components/deal-edit-drawer.js +219 -10
  47. package/src/lib/components/deal-edit-drawer.js.map +1 -1
  48. package/src/lib/components/deal-properties-card.d.ts +7 -0
  49. package/src/lib/components/deal-properties-card.js +34 -3
  50. package/src/lib/components/deal-properties-card.js.map +1 -1
  51. package/src/lib/components/deal-stage-card.d.ts +4 -0
  52. package/src/lib/components/deal-stage-card.js +10 -2
  53. package/src/lib/components/deal-stage-card.js.map +1 -1
  54. package/src/lib/components/deals-bulk-bar.d.ts +0 -3
  55. package/src/lib/components/deals-bulk-bar.js +7 -20
  56. package/src/lib/components/deals-bulk-bar.js.map +1 -1
  57. package/src/lib/components/deals-section.d.ts +3 -3
  58. package/src/lib/components/deals-section.js +123 -63
  59. package/src/lib/components/deals-section.js.map +1 -1
  60. package/src/lib/components/fields-section.js +31 -17
  61. package/src/lib/components/fields-section.js.map +1 -1
  62. package/src/lib/components/lead-convert-dialog.d.ts +4 -0
  63. package/src/lib/components/lead-convert-dialog.js +23 -1
  64. package/src/lib/components/lead-convert-dialog.js.map +1 -1
  65. package/src/lib/components/lead-detail-page.js +8 -2
  66. package/src/lib/components/lead-detail-page.js.map +1 -1
  67. package/src/lib/components/lead-profile-fields.d.ts +71 -0
  68. package/src/lib/components/lead-profile-fields.js +386 -0
  69. package/src/lib/components/lead-profile-fields.js.map +1 -0
  70. package/src/lib/components/lead-properties-card.d.ts +2 -1
  71. package/src/lib/components/lead-properties-card.js +85 -176
  72. package/src/lib/components/lead-properties-card.js.map +1 -1
  73. package/src/lib/components/lead-source-select.d.ts +4 -23
  74. package/src/lib/components/lead-source-select.js +9 -73
  75. package/src/lib/components/lead-source-select.js.map +1 -1
  76. package/src/lib/components/lead-status-chip.d.ts +9 -3
  77. package/src/lib/components/lead-status-chip.js +8 -4
  78. package/src/lib/components/lead-status-chip.js.map +1 -1
  79. package/src/lib/components/lead-status-options.d.ts +20 -0
  80. package/src/lib/components/lead-status-options.js +51 -0
  81. package/src/lib/components/lead-status-options.js.map +1 -0
  82. package/src/lib/components/lead-unqualify-dialog.d.ts +5 -0
  83. package/src/lib/components/lead-unqualify-dialog.js +50 -18
  84. package/src/lib/components/lead-unqualify-dialog.js.map +1 -1
  85. package/src/lib/components/leads-bulk-bar.d.ts +0 -3
  86. package/src/lib/components/leads-bulk-bar.js +29 -29
  87. package/src/lib/components/leads-bulk-bar.js.map +1 -1
  88. package/src/lib/components/leads-section.js +120 -68
  89. package/src/lib/components/leads-section.js.map +1 -1
  90. package/src/lib/components/linked-deals-card.d.ts +4 -0
  91. package/src/lib/components/linked-deals-card.js +47 -3
  92. package/src/lib/components/linked-deals-card.js.map +1 -1
  93. package/src/lib/components/log-activity-dialog.js +43 -3
  94. package/src/lib/components/log-activity-dialog.js.map +1 -1
  95. package/src/lib/components/new-contact-drawer.d.ts +8 -0
  96. package/src/lib/components/new-contact-drawer.js +108 -6
  97. package/src/lib/components/new-contact-drawer.js.map +1 -1
  98. package/src/lib/components/new-lead-drawer.d.ts +9 -2
  99. package/src/lib/components/new-lead-drawer.js +88 -121
  100. package/src/lib/components/new-lead-drawer.js.map +1 -1
  101. package/src/lib/components/picklist-select.d.ts +36 -0
  102. package/src/lib/components/picklist-select.js +114 -0
  103. package/src/lib/components/picklist-select.js.map +1 -0
  104. package/src/lib/components/picklist-values-card.d.ts +34 -0
  105. package/src/lib/components/{lead-source-values-card.js → picklist-values-card.js} +241 -58
  106. package/src/lib/components/picklist-values-card.js.map +1 -0
  107. package/src/lib/components/pipeline-stages-dialog.d.ts +7 -0
  108. package/src/lib/components/pipeline-stages-dialog.js +26 -4
  109. package/src/lib/components/pipeline-stages-dialog.js.map +1 -1
  110. package/src/lib/components/pipelines-dialog.js +15 -6
  111. package/src/lib/components/pipelines-dialog.js.map +1 -1
  112. package/src/lib/components/recent-activity-feed.js +20 -5
  113. package/src/lib/components/recent-activity-feed.js.map +1 -1
  114. package/src/lib/components/recipes-card.js +4 -2
  115. package/src/lib/components/recipes-card.js.map +1 -1
  116. package/src/lib/components/record-tasks-card.js +15 -8
  117. package/src/lib/components/record-tasks-card.js.map +1 -1
  118. package/src/lib/components/reports/forecast-card.d.ts +6 -0
  119. package/src/lib/components/reports/forecast-card.js +101 -3
  120. package/src/lib/components/reports/forecast-card.js.map +1 -1
  121. package/src/lib/components/reports/lead-funnel-card.d.ts +12 -0
  122. package/src/lib/components/reports/lead-funnel-card.js +9 -5
  123. package/src/lib/components/reports/lead-funnel-card.js.map +1 -1
  124. package/src/lib/components/reports/lead-source-card.d.ts +23 -0
  125. package/src/lib/components/reports/lead-source-card.js +318 -0
  126. package/src/lib/components/reports/lead-source-card.js.map +1 -0
  127. package/src/lib/components/reports/report-export.js +1 -1
  128. package/src/lib/components/reports/report-export.js.map +1 -1
  129. package/src/lib/components/reports-section.js +8 -0
  130. package/src/lib/components/reports-section.js.map +1 -1
  131. package/src/lib/components/sharing-rule-drawer.d.ts +5 -0
  132. package/src/lib/components/sharing-rule-drawer.js +108 -19
  133. package/src/lib/components/sharing-rule-drawer.js.map +1 -1
  134. package/src/lib/components/sharing-rules-card.js +11 -3
  135. package/src/lib/components/sharing-rules-card.js.map +1 -1
  136. package/src/lib/components/task-cells.d.ts +9 -1
  137. package/src/lib/components/task-cells.js +9 -4
  138. package/src/lib/components/task-cells.js.map +1 -1
  139. package/src/lib/components/task-edit-drawer.js +111 -43
  140. package/src/lib/components/task-edit-drawer.js.map +1 -1
  141. package/src/lib/components/tasks-bulk-bar.d.ts +0 -3
  142. package/src/lib/components/tasks-bulk-bar.js +7 -20
  143. package/src/lib/components/tasks-bulk-bar.js.map +1 -1
  144. package/src/lib/components/tasks-calendar.d.ts +3 -0
  145. package/src/lib/components/tasks-calendar.js +8 -1
  146. package/src/lib/components/tasks-calendar.js.map +1 -1
  147. package/src/lib/components/tasks-section.d.ts +3 -3
  148. package/src/lib/components/tasks-section.js +58 -43
  149. package/src/lib/components/tasks-section.js.map +1 -1
  150. package/src/lib/constants/api-routes.d.ts +2 -9
  151. package/src/lib/constants/api-routes.js +1 -7
  152. package/src/lib/constants/api-routes.js.map +1 -1
  153. package/src/lib/constants/bundle-common.d.ts +6 -0
  154. package/src/lib/constants/bundle-common.js +11 -0
  155. package/src/lib/constants/bundle-common.js.map +1 -1
  156. package/src/lib/constants/company-filters.d.ts +14 -0
  157. package/src/lib/constants/company-filters.js +51 -1
  158. package/src/lib/constants/company-filters.js.map +1 -1
  159. package/src/lib/constants/contact-filters.d.ts +2 -0
  160. package/src/lib/constants/contact-filters.js +18 -1
  161. package/src/lib/constants/contact-filters.js.map +1 -1
  162. package/src/lib/constants/deal-filters.d.ts +22 -1
  163. package/src/lib/constants/deal-filters.js +67 -4
  164. package/src/lib/constants/deal-filters.js.map +1 -1
  165. package/src/lib/declarations.console-server.d.ts +3 -0
  166. package/src/lib/declarations.console-server.js +35 -0
  167. package/src/lib/declarations.console-server.js.map +1 -1
  168. package/src/lib/declarations.d.ts +26 -0
  169. package/src/lib/declarations.js +35 -0
  170. package/src/lib/declarations.js.map +1 -0
  171. package/src/lib/declarations.server.d.ts +11 -0
  172. package/src/lib/declarations.server.js +92 -1
  173. package/src/lib/declarations.server.js.map +1 -1
  174. package/src/lib/hooks/use-company-picklists.d.ts +15 -0
  175. package/src/lib/hooks/use-company-picklists.js +55 -0
  176. package/src/lib/hooks/use-company-picklists.js.map +1 -0
  177. package/src/lib/hooks/use-crm-picklist.d.ts +25 -0
  178. package/src/lib/hooks/use-crm-picklist.js +53 -0
  179. package/src/lib/hooks/use-crm-picklist.js.map +1 -0
  180. package/src/lib/hooks/use-crm-record-names.d.ts +16 -0
  181. package/src/lib/hooks/use-crm-record-names.js +45 -19
  182. package/src/lib/hooks/use-crm-record-names.js.map +1 -1
  183. package/src/lib/hooks/use-crm-task-picklists.d.ts +11 -0
  184. package/src/lib/hooks/use-crm-task-picklists.js +45 -0
  185. package/src/lib/hooks/use-crm-task-picklists.js.map +1 -0
  186. package/src/lib/hooks/use-deals.d.ts +14 -0
  187. package/src/lib/hooks/use-deals.js +29 -0
  188. package/src/lib/hooks/use-deals.js.map +1 -1
  189. package/src/lib/hooks/use-lead-picklists.d.ts +14 -0
  190. package/src/lib/hooks/use-lead-picklists.js +46 -0
  191. package/src/lib/hooks/use-lead-picklists.js.map +1 -0
  192. package/src/lib/hooks/use-lead-source-picklist.d.ts +5 -19
  193. package/src/lib/hooks/use-lead-source-picklist.js +12 -22
  194. package/src/lib/hooks/use-lead-source-picklist.js.map +1 -1
  195. package/src/lib/hooks/use-lead-status-picklist.d.ts +9 -0
  196. package/src/lib/hooks/use-lead-status-picklist.js +40 -0
  197. package/src/lib/hooks/use-lead-status-picklist.js.map +1 -0
  198. package/src/lib/model/companies.d.ts +32 -3
  199. package/src/lib/model/companies.js +133 -16
  200. package/src/lib/model/companies.js.map +1 -1
  201. package/src/lib/model/contact-merge.d.ts +27 -3
  202. package/src/lib/model/contact-merge.js +81 -7
  203. package/src/lib/model/contact-merge.js.map +1 -1
  204. package/src/lib/model/contact-record.d.ts +17 -0
  205. package/src/lib/model/contact-record.js +15 -1
  206. package/src/lib/model/contact-record.js.map +1 -1
  207. package/src/lib/model/contact-update.d.ts +31 -2
  208. package/src/lib/model/contact-update.js +14 -0
  209. package/src/lib/model/contact-update.js.map +1 -1
  210. package/src/lib/model/crm-list-query.d.ts +5 -0
  211. package/src/lib/model/crm-list-query.js +8 -0
  212. package/src/lib/model/crm-list-query.js.map +1 -1
  213. package/src/lib/model/crm-recipes.d.ts +40 -0
  214. package/src/lib/model/crm-recipes.js +244 -0
  215. package/src/lib/model/crm-recipes.js.map +1 -0
  216. package/src/lib/model/crm-record-counts.d.ts +36 -0
  217. package/src/lib/model/crm-record-counts.js +54 -0
  218. package/src/lib/model/crm-record-counts.js.map +1 -0
  219. package/src/lib/model/crm-record-lists.d.ts +23 -0
  220. package/src/lib/model/crm-record-lists.js +161 -0
  221. package/src/lib/model/crm-record-lists.js.map +1 -0
  222. package/src/lib/model/crm-reports.d.ts +73 -3
  223. package/src/lib/model/crm-reports.js +120 -1
  224. package/src/lib/model/crm-reports.js.map +1 -1
  225. package/src/lib/model/crm-sharing.d.ts +21 -3
  226. package/src/lib/model/crm-sharing.js +27 -6
  227. package/src/lib/model/crm-sharing.js.map +1 -1
  228. package/src/lib/model/deal-board-model.d.ts +8 -2
  229. package/src/lib/model/deal-board-model.js +15 -2
  230. package/src/lib/model/deal-board-model.js.map +1 -1
  231. package/src/lib/model/deal-contact-roles.d.ts +45 -0
  232. package/src/lib/model/deal-contact-roles.js +73 -0
  233. package/src/lib/model/deal-contact-roles.js.map +1 -0
  234. package/src/lib/model/deal-form-model.d.ts +56 -0
  235. package/src/lib/model/deal-form-model.js +79 -7
  236. package/src/lib/model/deal-form-model.js.map +1 -1
  237. package/src/lib/model/download-text-file.d.ts +23 -0
  238. package/src/lib/model/download-text-file.js +34 -0
  239. package/src/lib/model/download-text-file.js.map +1 -0
  240. package/src/lib/model/lead-filters.d.ts +36 -2
  241. package/src/lib/model/lead-filters.js +123 -2
  242. package/src/lib/model/lead-filters.js.map +1 -1
  243. package/src/lib/model/lead-source-direction.d.ts +38 -0
  244. package/src/lib/model/lead-source-direction.js +52 -0
  245. package/src/lib/model/lead-source-direction.js.map +1 -0
  246. package/src/lib/model/picklist-values.d.ts +119 -0
  247. package/src/lib/model/picklist-values.js +256 -0
  248. package/src/lib/model/picklist-values.js.map +1 -0
  249. package/src/lib/model/record-facts-disclosed.d.ts +81 -0
  250. package/src/lib/model/record-facts-disclosed.js +281 -0
  251. package/src/lib/model/record-facts-disclosed.js.map +1 -0
  252. package/src/lib/model/record-facts.d.ts +215 -34
  253. package/src/lib/model/record-facts.js +307 -128
  254. package/src/lib/model/record-facts.js.map +1 -1
  255. package/src/lib/model/task-picklists.d.ts +52 -0
  256. package/src/lib/model/task-picklists.js +83 -0
  257. package/src/lib/model/task-picklists.js.map +1 -0
  258. package/src/lib/model/task-routes.d.ts +13 -0
  259. package/src/lib/model/task-routes.js +23 -4
  260. package/src/lib/model/task-routes.js.map +1 -1
  261. package/src/lib/plan-entitlements.js +6 -4
  262. package/src/lib/plan-entitlements.js.map +1 -1
  263. package/src/lib/plugin.js +17 -0
  264. package/src/lib/plugin.js.map +1 -1
  265. package/src/lib/server/api-v1/contacts.js +220 -14
  266. package/src/lib/server/api-v1/contacts.js.map +1 -1
  267. package/src/lib/server/api-v1/crm-activities.js +14 -1
  268. package/src/lib/server/api-v1/crm-activities.js.map +1 -1
  269. package/src/lib/server/api-v1/crm-companies.js +123 -14
  270. package/src/lib/server/api-v1/crm-companies.js.map +1 -1
  271. package/src/lib/server/api-v1/crm-deals.js +291 -26
  272. package/src/lib/server/api-v1/crm-deals.js.map +1 -1
  273. package/src/lib/server/api-v1/crm-leads.js +144 -38
  274. package/src/lib/server/api-v1/crm-leads.js.map +1 -1
  275. package/src/lib/server/api-v1/crm-pipelines.d.ts +6 -0
  276. package/src/lib/server/api-v1/crm-pipelines.js +8 -2
  277. package/src/lib/server/api-v1/crm-pipelines.js.map +1 -1
  278. package/src/lib/server/api-v1/crm-tasks.js +75 -33
  279. package/src/lib/server/api-v1/crm-tasks.js.map +1 -1
  280. package/src/lib/server/api-v1/openapi.d.ts +0 -11
  281. package/src/lib/server/api-v1/openapi.js +171 -16
  282. package/src/lib/server/api-v1/openapi.js.map +1 -1
  283. package/src/lib/server/assign-contact-owner.d.ts +162 -0
  284. package/src/lib/server/assign-contact-owner.js +340 -0
  285. package/src/lib/server/assign-contact-owner.js.map +1 -0
  286. package/src/lib/server/associate-company-by-domain.d.ts +70 -0
  287. package/src/lib/server/associate-company-by-domain.js +153 -0
  288. package/src/lib/server/associate-company-by-domain.js.map +1 -0
  289. package/src/lib/server/automation-steps.d.ts +139 -0
  290. package/src/lib/server/automation-steps.js +472 -0
  291. package/src/lib/server/automation-steps.js.map +1 -0
  292. package/src/lib/server/capture-contact.js +69 -22
  293. package/src/lib/server/capture-contact.js.map +1 -1
  294. package/src/lib/server/capture-host-contact.d.ts +104 -0
  295. package/src/lib/server/capture-host-contact.js +151 -0
  296. package/src/lib/server/capture-host-contact.js.map +1 -0
  297. package/src/lib/server/company-children.d.ts +25 -0
  298. package/src/lib/server/company-children.js +42 -0
  299. package/src/lib/server/company-children.js.map +1 -0
  300. package/src/lib/server/company-delete.d.ts +18 -0
  301. package/src/lib/server/company-delete.js +44 -21
  302. package/src/lib/server/company-delete.js.map +1 -1
  303. package/src/lib/server/contact-email-history.js +21 -19
  304. package/src/lib/server/contact-email-history.js.map +1 -1
  305. package/src/lib/server/contact-remove.js +27 -2
  306. package/src/lib/server/contact-remove.js.map +1 -1
  307. package/src/lib/server/contact-reports-to.d.ts +61 -0
  308. package/src/lib/server/contact-reports-to.js +114 -0
  309. package/src/lib/server/contact-reports-to.js.map +1 -0
  310. package/src/lib/server/contact-update.d.ts +42 -1
  311. package/src/lib/server/contact-update.js +204 -23
  312. package/src/lib/server/contact-update.js.map +1 -1
  313. package/src/lib/server/convert-host-lead.d.ts +46 -1
  314. package/src/lib/server/convert-host-lead.js +173 -15
  315. package/src/lib/server/convert-host-lead.js.map +1 -1
  316. package/src/lib/server/convert-open-lead.js +12 -5
  317. package/src/lib/server/convert-open-lead.js.map +1 -1
  318. package/src/lib/server/crm-record-indexes.d.ts +45 -0
  319. package/src/lib/server/crm-record-indexes.js +78 -0
  320. package/src/lib/server/crm-record-indexes.js.map +1 -0
  321. package/src/lib/server/crm-sharing.d.ts +9 -1
  322. package/src/lib/server/crm-sharing.js +23 -3
  323. package/src/lib/server/crm-sharing.js.map +1 -1
  324. package/src/lib/server/deal-contact-roles.d.ts +27 -0
  325. package/src/lib/server/deal-contact-roles.js +89 -0
  326. package/src/lib/server/deal-contact-roles.js.map +1 -0
  327. package/src/lib/server/lead-convert.d.ts +5 -0
  328. package/src/lib/server/lead-convert.js +19 -3
  329. package/src/lib/server/lead-convert.js.map +1 -1
  330. package/src/lib/server/lead-create.d.ts +17 -2
  331. package/src/lib/server/lead-create.js +46 -14
  332. package/src/lib/server/lead-create.js.map +1 -1
  333. package/src/lib/server/lead-nurturing.d.ts +6 -0
  334. package/src/lib/server/lead-nurturing.js +57 -20
  335. package/src/lib/server/lead-nurturing.js.map +1 -1
  336. package/src/lib/server/lead-picklists.d.ts +35 -0
  337. package/src/lib/server/lead-picklists.js +52 -0
  338. package/src/lib/server/lead-picklists.js.map +1 -0
  339. package/src/lib/server/lead-source-picklist.d.ts +1 -13
  340. package/src/lib/server/lead-source-picklist.js +6 -33
  341. package/src/lib/server/lead-source-picklist.js.map +1 -1
  342. package/src/lib/server/merge-contacts.js +22 -4
  343. package/src/lib/server/merge-contacts.js.map +1 -1
  344. package/src/lib/server/person-eraser.d.ts +53 -0
  345. package/src/lib/server/person-eraser.js +149 -0
  346. package/src/lib/server/person-eraser.js.map +1 -0
  347. package/src/lib/server/person-records.d.ts +69 -0
  348. package/src/lib/server/person-records.js +317 -0
  349. package/src/lib/server/person-records.js.map +1 -0
  350. package/src/lib/server/person-refund.d.ts +97 -0
  351. package/src/lib/server/person-refund.js +221 -0
  352. package/src/lib/server/person-refund.js.map +1 -0
  353. package/src/lib/server/picklist-values.d.ts +21 -0
  354. package/src/lib/server/picklist-values.js +308 -0
  355. package/src/lib/server/picklist-values.js.map +1 -0
  356. package/src/lib/server/read-picklist.d.ts +44 -0
  357. package/src/lib/server/read-picklist.js +65 -0
  358. package/src/lib/server/read-picklist.js.map +1 -0
  359. package/src/lib/server/recipe-routes.js +15 -7
  360. package/src/lib/server/recipe-routes.js.map +1 -1
  361. package/src/lib/server/record-email-state.js +7 -1
  362. package/src/lib/server/record-email-state.js.map +1 -1
  363. package/src/lib/server/record-facts.d.ts +3 -0
  364. package/src/lib/server/record-facts.js +233 -31
  365. package/src/lib/server/record-facts.js.map +1 -1
  366. package/src/lib/server/record-origin.d.ts +27 -0
  367. package/src/lib/server/record-origin.js +104 -0
  368. package/src/lib/server/record-origin.js.map +1 -0
  369. package/src/lib/server/record-timeline.js +15 -2
  370. package/src/lib/server/record-timeline.js.map +1 -1
  371. package/src/lib/server/suite-gate.js +4 -3
  372. package/src/lib/server/suite-gate.js.map +1 -1
  373. package/src/lib/server/task-routes.js +30 -16
  374. package/src/lib/server/task-routes.js.map +1 -1
  375. package/src/lib/server-deal-stage.d.ts +5 -1
  376. package/src/lib/server-deal-stage.js +10 -5
  377. package/src/lib/server-deal-stage.js.map +1 -1
  378. package/src/lib/server.d.ts +8 -3
  379. package/src/lib/server.js +47 -43
  380. package/src/lib/server.js.map +1 -1
  381. package/src/lib/testing/memory-firestore.d.ts +55 -0
  382. package/src/lib/testing/memory-firestore.js +335 -0
  383. package/src/lib/testing/memory-firestore.js.map +1 -0
  384. package/src/lib/testing/stand-in-email-send-index.d.ts +25 -0
  385. package/src/lib/testing/stand-in-email-send-index.js +49 -0
  386. package/src/lib/testing/stand-in-email-send-index.js.map +1 -0
  387. package/src/lib/transfer/activities.d.ts +30 -0
  388. package/src/lib/transfer/activities.js +132 -0
  389. package/src/lib/transfer/activities.js.map +1 -0
  390. package/src/lib/transfer/aliases.d.ts +22 -0
  391. package/src/lib/transfer/aliases.js +1342 -0
  392. package/src/lib/transfer/aliases.js.map +1 -0
  393. package/src/lib/transfer/common.d.ts +222 -0
  394. package/src/lib/transfer/common.js +832 -0
  395. package/src/lib/transfer/common.js.map +1 -0
  396. package/src/lib/transfer/companies.d.ts +43 -0
  397. package/src/lib/transfer/companies.js +549 -0
  398. package/src/lib/transfer/companies.js.map +1 -0
  399. package/src/lib/transfer/contacts.d.ts +31 -0
  400. package/src/lib/transfer/contacts.js +727 -0
  401. package/src/lib/transfer/contacts.js.map +1 -0
  402. package/src/lib/transfer/deals.d.ts +66 -0
  403. package/src/lib/transfer/deals.js +698 -0
  404. package/src/lib/transfer/deals.js.map +1 -0
  405. package/src/lib/transfer/email-templates-package.d.ts +40 -0
  406. package/src/lib/transfer/email-templates-package.js +76 -0
  407. package/src/lib/transfer/email-templates-package.js.map +1 -0
  408. package/src/lib/transfer/email-templates-package.server.d.ts +32 -0
  409. package/src/lib/transfer/email-templates-package.server.js +176 -0
  410. package/src/lib/transfer/email-templates-package.server.js.map +1 -0
  411. package/src/lib/transfer/fields.d.ts +102 -0
  412. package/src/lib/transfer/fields.js +1755 -0
  413. package/src/lib/transfer/fields.js.map +1 -0
  414. package/src/lib/transfer/leads.d.ts +30 -0
  415. package/src/lib/transfer/leads.js +582 -0
  416. package/src/lib/transfer/leads.js.map +1 -0
  417. package/src/lib/transfer/pipelines.d.ts +21 -0
  418. package/src/lib/transfer/pipelines.js +172 -0
  419. package/src/lib/transfer/pipelines.js.map +1 -0
  420. package/src/lib/transfer/register.d.ts +47 -0
  421. package/src/lib/transfer/register.js +277 -0
  422. package/src/lib/transfer/register.js.map +1 -0
  423. package/src/lib/transfer/tasks.d.ts +30 -0
  424. package/src/lib/transfer/tasks.js +418 -0
  425. package/src/lib/transfer/tasks.js.map +1 -0
  426. package/src/lib/transfer/ui.d.ts +20 -0
  427. package/src/lib/transfer/ui.js +42 -0
  428. package/src/lib/transfer/ui.js.map +1 -0
  429. package/src/lib/components/company-import-drawer.d.ts +0 -42
  430. package/src/lib/components/company-import-drawer.js +0 -99
  431. package/src/lib/components/company-import-drawer.js.map +0 -1
  432. package/src/lib/components/contact-import-drawer.d.ts +0 -46
  433. package/src/lib/components/contact-import-drawer.js +0 -149
  434. package/src/lib/components/contact-import-drawer.js.map +0 -1
  435. package/src/lib/components/crm-export-all-button.d.ts +0 -39
  436. package/src/lib/components/crm-export-all-button.js +0 -98
  437. package/src/lib/components/crm-export-all-button.js.map +0 -1
  438. package/src/lib/components/csv-import-drawer.d.ts +0 -139
  439. package/src/lib/components/csv-import-drawer.js +0 -757
  440. package/src/lib/components/csv-import-drawer.js.map +0 -1
  441. package/src/lib/components/deal-import-drawer.d.ts +0 -24
  442. package/src/lib/components/deal-import-drawer.js +0 -83
  443. package/src/lib/components/deal-import-drawer.js.map +0 -1
  444. package/src/lib/components/lead-import-drawer.d.ts +0 -27
  445. package/src/lib/components/lead-import-drawer.js +0 -118
  446. package/src/lib/components/lead-import-drawer.js.map +0 -1
  447. package/src/lib/components/lead-source-values-card.d.ts +0 -27
  448. package/src/lib/components/lead-source-values-card.js.map +0 -1
  449. package/src/lib/components/task-import-drawer.d.ts +0 -24
  450. package/src/lib/components/task-import-drawer.js +0 -82
  451. package/src/lib/components/task-import-drawer.js.map +0 -1
  452. package/src/lib/model/companies-csv.d.ts +0 -36
  453. package/src/lib/model/companies-csv.js +0 -38
  454. package/src/lib/model/companies-csv.js.map +0 -1
  455. package/src/lib/model/contacts-csv.d.ts +0 -54
  456. package/src/lib/model/contacts-csv.js +0 -67
  457. package/src/lib/model/contacts-csv.js.map +0 -1
  458. package/src/lib/model/crm-company-import.d.ts +0 -154
  459. package/src/lib/model/crm-company-import.js +0 -331
  460. package/src/lib/model/crm-company-import.js.map +0 -1
  461. package/src/lib/model/crm-csv.d.ts +0 -239
  462. package/src/lib/model/crm-csv.js +0 -467
  463. package/src/lib/model/crm-csv.js.map +0 -1
  464. package/src/lib/model/crm-deal-import.d.ts +0 -112
  465. package/src/lib/model/crm-deal-import.js +0 -263
  466. package/src/lib/model/crm-deal-import.js.map +0 -1
  467. package/src/lib/model/crm-import.d.ts +0 -250
  468. package/src/lib/model/crm-import.js +0 -467
  469. package/src/lib/model/crm-import.js.map +0 -1
  470. package/src/lib/model/crm-lead-import.d.ts +0 -138
  471. package/src/lib/model/crm-lead-import.js +0 -446
  472. package/src/lib/model/crm-lead-import.js.map +0 -1
  473. package/src/lib/model/crm-task-import.d.ts +0 -94
  474. package/src/lib/model/crm-task-import.js +0 -275
  475. package/src/lib/model/crm-task-import.js.map +0 -1
  476. package/src/lib/model/deals-csv.d.ts +0 -32
  477. package/src/lib/model/deals-csv.js +0 -36
  478. package/src/lib/model/deals-csv.js.map +0 -1
  479. package/src/lib/model/import-column-shapes.d.ts +0 -36
  480. package/src/lib/model/import-column-shapes.js +0 -76
  481. package/src/lib/model/import-column-shapes.js.map +0 -1
  482. package/src/lib/model/lead-source-values.d.ts +0 -82
  483. package/src/lib/model/lead-source-values.js +0 -149
  484. package/src/lib/model/lead-source-values.js.map +0 -1
  485. package/src/lib/model/leads-csv.d.ts +0 -40
  486. package/src/lib/model/leads-csv.js +0 -40
  487. package/src/lib/model/leads-csv.js.map +0 -1
  488. package/src/lib/model/tasks-csv.d.ts +0 -28
  489. package/src/lib/model/tasks-csv.js +0 -28
  490. package/src/lib/model/tasks-csv.js.map +0 -1
  491. package/src/lib/server/companies-import.d.ts +0 -57
  492. package/src/lib/server/companies-import.js +0 -242
  493. package/src/lib/server/companies-import.js.map +0 -1
  494. package/src/lib/server/contacts-import.d.ts +0 -109
  495. package/src/lib/server/contacts-import.js +0 -393
  496. package/src/lib/server/contacts-import.js.map +0 -1
  497. package/src/lib/server/deals-import.d.ts +0 -76
  498. package/src/lib/server/deals-import.js +0 -248
  499. package/src/lib/server/deals-import.js.map +0 -1
  500. package/src/lib/server/export-route.d.ts +0 -60
  501. package/src/lib/server/export-route.js +0 -447
  502. package/src/lib/server/export-route.js.map +0 -1
  503. package/src/lib/server/import-context.d.ts +0 -87
  504. package/src/lib/server/import-context.js +0 -182
  505. package/src/lib/server/import-context.js.map +0 -1
  506. package/src/lib/server/lead-source-values.d.ts +0 -50
  507. package/src/lib/server/lead-source-values.js +0 -191
  508. package/src/lib/server/lead-source-values.js.map +0 -1
  509. package/src/lib/server/leads-import.d.ts +0 -84
  510. package/src/lib/server/leads-import.js +0 -367
  511. package/src/lib/server/leads-import.js.map +0 -1
  512. package/src/lib/server/tasks-import.d.ts +0 -54
  513. package/src/lib/server/tasks-import.js +0 -160
  514. package/src/lib/server/tasks-import.js.map +0 -1
@@ -14,35 +14,45 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { type ConsentGroup, type ContactFieldDefinition, type ContactInteraction, type CrmActivity, type CrmCompany, type CrmDeal, type CrmPipeline, type CrmTask } from '@aglyn/aglyn/server';
17
+ import { type AglynPostalAddress, type ConsentGroup, type ContactFieldDefinition, type ContactInteraction, type CrmActivity, type CrmCompany, type CrmDeal, type CrmFieldObject, type CrmPicklist, type CrmPipeline, type CrmTask } from '@aglyn/aglyn/server';
18
18
  /**
19
19
  * WHAT THE CRM TELLS ANOTHER PLUGIN ABOUT ONE OF ITS RECORDS (AGL-2917).
20
20
  *
21
21
  * The facts a reader on the core's record-facts seam reports: one contact,
22
22
  * company, deal or lead as a person on the team sees it, and the fields a
23
23
  * spreadsheet import may fill. The server half reads the documents and
24
- * applies who may see them (`server/record-facts.ts`); this half decides
25
- * which of their fields leave the CRM at all, so the list below is the whole
26
- * of what a caller — an assistant summarizing a record, an automation
27
- * deciding on one — can pass on.
24
+ * applies who may see them (`server/record-facts.ts`); this half shapes
25
+ * them, so the list below is the whole of what a caller — an assistant
26
+ * summarizing a record, an automation deciding on one — can pass on.
28
27
  *
29
- * ## What never leaves
28
+ * ## The whole record (AGL-3520)
30
29
  *
31
- * No email address, phone number or postal address of anyone; no marketing
32
- * consent; no custom field VALUE; no team member's name or id; no document
33
- * id of any record; no file; no order or payment detail beyond a count. A
34
- * logged email carries its subject and a cut of its body, never the address
35
- * it went to or came from. An import catalog carries field keys, labels and
36
- * types, never a row of the file.
30
+ * These builders answer only for an organization with
31
+ * `release_crm_assist_whole_record` on; with it off, the readers answer
32
+ * `record-facts-disclosed.ts`, the fields the published pages promise.
33
+ * A record is reported as the CRM shows it: every standard field —
34
+ * Salesforce's included — with its email addresses, phone numbers, postal
35
+ * addresses, birthdate, assistant and reports-to; the labels of its
36
+ * picklists as the record holds them; its custom field values under their
37
+ * labels; its marketing consent; its notes, newest timeline entries and
38
+ * open tasks and deals. Text a person wrote is reported as written.
37
39
  *
38
- * Every text a person wrote into a record — a name, a job title, a tag, notes,
39
- * a logged activity, a capture's summary, a task's or a deal's title, a
40
- * reason — is reported as written, except that an email address or a phone
41
- * number inside it is replaced by a placeholder first ({@link crmFactProse}):
42
- * an import that put an address in the name column leaves no address behind.
43
- * What the workspace configured — pipeline, stage and field names — and a
44
- * company's domain are reported as they are. A postal address typed into a
45
- * note is not recognized and leaves as typed.
40
+ * ## What still never leaves
41
+ *
42
+ * No authentication token, no account identifier and no internal record
43
+ * id. A related record — the company a person works for, the contact a deal
44
+ * is with, the person someone reports to, a parent company, a campaign — is
45
+ * named by its name; a team member by their display name. The one id a
46
+ * caller is handed is a pipeline stage's, which a stage proposal must name.
47
+ * An import catalog carries field keys, labels and types, never a row of
48
+ * the file.
49
+ *
50
+ * ## Bounded
51
+ *
52
+ * Every list and every long text is cut — notes to
53
+ * {@link CRM_FACTS_NOTES_MAX}, a timeline entry to {@link CRM_FACTS_TEXT_MAX},
54
+ * at most {@link CRM_FACTS_CUSTOM_FIELDS_MAX} custom fields — so a record
55
+ * holding everything still fits the request a caller builds from it.
46
56
  *
47
57
  * ## Stable bytes
48
58
  *
@@ -72,22 +82,29 @@ export declare const CRM_FACTS_TASKS_MAX = 8;
72
82
  export declare const CRM_FACTS_DEALS_MAX = 5;
73
83
  /** Tags reported for a record. */
74
84
  export declare const CRM_FACTS_TAGS_MAX = 10;
75
- /** How much of a logged activity's text, or a platform capture's summary, is reported. */
85
+ /** How much of a logged activity's text, a capture's summary, a task's notes or a custom value is reported. */
76
86
  export declare const CRM_FACTS_TEXT_MAX = 280;
77
87
  /** How much of a record's notes is reported. */
78
88
  export declare const CRM_FACTS_NOTES_MAX = 600;
79
89
  /** How long a name, a title or a subject may run. */
80
90
  export declare const CRM_FACTS_LABEL_MAX = 120;
81
- /** Custom fields an import catalog reports. */
91
+ /** Custom fields an import catalog, or a record, reports. */
82
92
  export declare const CRM_FACTS_CUSTOM_FIELDS_MAX = 40;
93
+ /** Products a deal's facts list. */
94
+ export declare const CRM_FACTS_PRODUCTS_MAX = 20;
95
+ /** Email addresses and campaigns a record's facts list. */
96
+ export declare const CRM_FACTS_LIST_MAX = 10;
83
97
  /** One thing that happened, as a record's timeline reports it. */
84
98
  export interface CrmTimelineFact {
85
99
  /** The UTC day it happened, `YYYY-MM-DD`. */
86
100
  on: string;
87
101
  /** What happened: a logged kind (Call, Email) or the capture it came through (Form, Booking). */
88
102
  kind: string;
89
- /** `outbound` or `inbound` for an email; absent otherwise. */
103
+ /** `outbound` or `inbound` for an email; also `internal` for a call (AGL-3517); absent otherwise. */
90
104
  direction?: string;
105
+ /** Who an email came from and went to, as the activity recorded them (AGL-3520). */
106
+ from?: string;
107
+ to?: string;
91
108
  subject?: string;
92
109
  text?: string;
93
110
  outcome?: string;
@@ -97,11 +114,19 @@ export interface CrmTimelineFact {
97
114
  /** One task still to do. */
98
115
  export interface CrmTaskFact {
99
116
  title: string;
117
+ /** The org's Type label when the task holds one, else its kind's name (AGL-3517). */
100
118
  kind: string;
119
+ /** The meaning — `high`, `normal` or `low` — whatever the org calls it. */
101
120
  priority: string;
121
+ /** The org's Status label ("In Progress"), when the task holds one (AGL-3517). */
122
+ status?: string;
102
123
  /** The UTC day it is due, or `null` for a task with no due date. */
103
124
  due: string | null;
104
125
  overdue: boolean;
126
+ /** Who it is assigned to, by name (AGL-3520). */
127
+ assignee?: string;
128
+ /** What the task says beyond its title (AGL-3520). */
129
+ notes?: string;
105
130
  }
106
131
  /** One deal, as a contact's or a company's facts report it. */
107
132
  export interface CrmDealFact {
@@ -111,12 +136,48 @@ export interface CrmDealFact {
111
136
  amount: string | null;
112
137
  expectedClose: string | null;
113
138
  }
139
+ /** One custom field's value, under the label the org gave the field (AGL-3520). */
140
+ export interface CrmCustomFact {
141
+ label: string;
142
+ value: string;
143
+ }
144
+ /** One product on a deal (AGL-3520). */
145
+ export interface CrmProductFact {
146
+ name: string;
147
+ quantity: number;
148
+ unitAmount: string | null;
149
+ }
114
150
  export interface CrmContactFacts {
115
151
  record: 'contact';
116
152
  name: string;
153
+ salutation: string;
154
+ firstName: string;
155
+ lastName: string;
156
+ /** Every address the person is reached at: the canonical one first (AGL-3520). */
157
+ emails: string[];
158
+ phone: string;
159
+ mobilePhone: string;
160
+ homePhone: string;
161
+ otherPhone: string;
162
+ fax: string;
117
163
  jobTitle: string;
164
+ department: string;
165
+ /** A `YYYY-MM-DD` day, or `''`. */
166
+ birthdate: string;
167
+ assistant: string;
168
+ assistantPhone: string;
169
+ /** The name of the contact the person reports to (AGL-3515). */
170
+ reportsTo: string;
171
+ mailingAddress: string;
172
+ otherAddress: string;
173
+ /** They asked not to be phoned — a fact an assistant drafting a next step must respect. */
174
+ doNotCall: boolean;
118
175
  company: string;
119
176
  lifecycleStage: string;
177
+ leadSource: string;
178
+ owner: string;
179
+ /** Whether the person agreed to marketing email from this site, and since when. */
180
+ marketingConsent: string;
120
181
  tags: string[];
121
182
  /** The captures that met the person: Form, Booking, Customer. */
122
183
  sources: string[];
@@ -124,6 +185,7 @@ export interface CrmContactFacts {
124
185
  lastPurchase: string | null;
125
186
  since: string | null;
126
187
  lastEmailEngagement: string | null;
188
+ custom: CrmCustomFact[];
127
189
  notes: string;
128
190
  timeline: CrmTimelineFact[];
129
191
  openTasks: CrmTaskFact[];
@@ -133,10 +195,30 @@ export interface CrmCompanyFacts {
133
195
  record: 'company';
134
196
  name: string;
135
197
  domain: string;
198
+ website: string;
199
+ phone: string;
200
+ fax: string;
136
201
  industry: string;
202
+ /** Salesforce's Account fields (AGL-3514). */
203
+ type: string;
204
+ rating: string;
205
+ ownership: string;
206
+ accountSource: string;
207
+ employees: number | null;
208
+ annualRevenue: string | null;
209
+ accountNumber: string;
210
+ site: string;
211
+ tickerSymbol: string;
212
+ sicCode: string;
213
+ billingAddress: string;
214
+ shippingAddress: string;
215
+ /** The name of the company this one sits under. */
216
+ parentCompany: string;
217
+ owner: string;
137
218
  tags: string[];
138
219
  people: number;
139
220
  since: string | null;
221
+ custom: CrmCustomFact[];
140
222
  notes: string;
141
223
  timeline: CrmTimelineFact[];
142
224
  openTasks: CrmTaskFact[];
@@ -147,7 +229,21 @@ export interface CrmStageFact {
147
229
  id: string;
148
230
  name: string;
149
231
  kind: 'open' | 'won' | 'lost';
232
+ /** Chance of closing from the stage, 0–100 (AGL-3516). */
233
+ probability: number;
234
+ /** The forecast category a deal takes in the stage, as its label. */
235
+ forecastCategory: string;
150
236
  }
237
+ /** One contact on a deal, as the facts name them (AGL-3521). */
238
+ export interface CrmContactRoleFact {
239
+ /** The person's name, or `''` where it could not be read. */
240
+ name: string;
241
+ /** The role's label, or `''` for none. */
242
+ role: string;
243
+ primary: boolean;
244
+ }
245
+ /** The contacts a deal's facts name — the committee, not the whole list. */
246
+ export declare const CRM_FACTS_CONTACT_ROLES_MAX = 10;
151
247
  export interface CrmDealFacts {
152
248
  record: 'deal';
153
249
  title: string;
@@ -160,11 +256,28 @@ export interface CrmDealFacts {
160
256
  expectedClose: string | null;
161
257
  inStageSince: string | null;
162
258
  lostReason: string;
259
+ type: string;
260
+ leadSource: string;
261
+ nextStep: string;
262
+ /** The deal's own odds when it overrides the stage's, else the stage's; `null` for neither. */
263
+ probability: number | null;
264
+ /** The forecast category's label. */
265
+ forecastCategory: string;
266
+ /** The campaign the deal is credited to, by name (AGL-3520). */
267
+ campaign: string;
163
268
  /** The name of the person the deal is with, as the deal copied it. */
164
269
  contact: string;
270
+ /**
271
+ * Every contact on the deal and the part each plays (AGL-3521), the
272
+ * Primary first — named as the reader resolved them, at most
273
+ * {@link CRM_FACTS_CONTACT_ROLES_MAX}.
274
+ */
275
+ contactRoles: CrmContactRoleFact[];
165
276
  company: string;
166
- products: number;
277
+ owner: string;
278
+ products: CrmProductFact[];
167
279
  since: string | null;
280
+ custom: CrmCustomFact[];
168
281
  notes: string;
169
282
  timeline: CrmTimelineFact[];
170
283
  openTasks: CrmTaskFact[];
@@ -172,7 +285,30 @@ export interface CrmDealFacts {
172
285
  export interface CrmLeadFacts {
173
286
  record: 'lead';
174
287
  name: string;
288
+ salutation: string;
289
+ firstName: string;
290
+ lastName: string;
291
+ email: string;
292
+ phone: string;
293
+ mobilePhone: string;
294
+ fax: string;
295
+ website: string;
296
+ address: string;
297
+ company: string;
298
+ jobTitle: string;
299
+ leadSource: string;
300
+ industry: string;
301
+ rating: string;
302
+ employees: number | null;
303
+ annualRevenue: string | null;
304
+ /** They asked not to be phoned — a fact an assistant drafting a next step must respect. */
305
+ doNotCall: boolean;
175
306
  status: string;
307
+ owner: string;
308
+ /** The campaigns the lead is filed under, by name. */
309
+ campaigns: string[];
310
+ marketingConsent: string;
311
+ tags: string[];
176
312
  /** Where the lead was captured: Form, Booking, Sign-up, Import. */
177
313
  sources: string[];
178
314
  captures: number;
@@ -181,8 +317,10 @@ export interface CrmLeadFacts {
181
317
  assigned: boolean;
182
318
  converted: boolean;
183
319
  unqualifiedReason: string;
320
+ custom: CrmCustomFact[];
184
321
  notes: string;
185
322
  timeline: CrmTimelineFact[];
323
+ openTasks: CrmTaskFact[];
186
324
  }
187
325
  export type CrmRecordFacts = CrmContactFacts | CrmCompanyFacts | CrmDealFacts | CrmLeadFacts;
188
326
  /** What a column of a file may hold, as an import field expects it. */
@@ -200,6 +338,18 @@ export interface CrmImportFacts {
200
338
  collection: CrmImportFactsCollection;
201
339
  fields: CrmImportFieldFact[];
202
340
  }
341
+ /**
342
+ * What the server half resolves for a builder, because a fact names a
343
+ * related record or a person and the builder reads no document: a team
344
+ * member's display name, the record's custom field definitions, and the
345
+ * names of the records it points at.
346
+ */
347
+ export interface CrmFactsNames {
348
+ /** A team member's display name for a uid; `''` when the roster has none. */
349
+ member?: (uid: string) => string;
350
+ /** The org's custom field definitions, every object's; each builder takes its own. */
351
+ customFields?: ReadonlyArray<Partial<ContactFieldDefinition>>;
352
+ }
203
353
  /** A value as trimmed, single-spaced text of at most `max` characters. */
204
354
  export declare function crmFactText(value: unknown, max: number): string;
205
355
  /** Epoch millis, a `Date` or a stored timestamp, as epoch millis; `null` for anything else. */
@@ -208,17 +358,16 @@ export declare function crmFactMillis(value: unknown): number | null;
208
358
  export declare function crmFactDay(value: unknown): string | null;
209
359
  /** An amount as a currency code and a fixed-point figure: `USD 1250.00`. */
210
360
  export declare function crmFactMoney(cents: unknown, currency: unknown): string | null;
211
- export declare const CRM_FACTS_EMAIL_PLACEHOLDER = "[email address]";
212
- export declare const CRM_FACTS_PHONE_PLACEHOLDER = "[phone number]";
361
+ /** A postal address on one line, its parts in the order an envelope writes them; `''` for none. */
362
+ export declare function crmFactAddress(address: Partial<AglynPostalAddress> | null | undefined): string;
363
+ /** A marketing basis as a sentence's worth: opted in (and since when), declined, or nothing recorded. */
364
+ export declare function crmFactConsent(record: Record<string, unknown>, group: ConsentGroup | null | undefined): string;
213
365
  /**
214
- * Free text the team wrote, as {@link crmFactText} reports it, with every
215
- * email address, and every run of ten digits or more that is not a list of
216
- * days, replaced by a placeholder. The fields that hold an address or a number
217
- * are never reported, and this keeps one typed into a note from leaving
218
- * either. Replaced before the cut, so a cut never halves an address into
219
- * something unrecognized.
366
+ * A record's custom values under their fields' labels, in the fields'
367
+ * order — the active fields of `object` first, then a value whose field was
368
+ * retired or never defined, under its key.
220
369
  */
221
- export declare function crmFactProse(value: unknown, max: number): string;
370
+ export declare function crmCustomFacts(custom: unknown, object: CrmFieldObject, definitions?: ReadonlyArray<Partial<ContactFieldDefinition>>): CrmCustomFact[];
222
371
  /** A logged activity as a timeline entry. */
223
372
  export declare function crmActivityFact(activity: Partial<CrmActivity>): CrmTimelineFact | null;
224
373
  /** A capture the platform recorded on a contact, as a timeline entry. */
@@ -233,7 +382,7 @@ export declare function crmTimelineFacts(entries: ReadonlyArray<{
233
382
  fact: CrmTimelineFact | null;
234
383
  }>): CrmTimelineFact[];
235
384
  /** The open tasks among `tasks`, soonest due first, undated last. */
236
- export declare function crmOpenTaskFacts(tasks: ReadonlyArray<Partial<CrmTask>>, nowMs: number): CrmTaskFact[];
385
+ export declare function crmOpenTaskFacts(tasks: ReadonlyArray<Partial<CrmTask>>, nowMs: number, names?: CrmFactsNames): CrmTaskFact[];
237
386
  /** One deal, with its stage named by the pipeline it is in. */
238
387
  export declare function crmDealFact(deal: Partial<CrmDeal>, pipeline: CrmPipeline | null | undefined): CrmDealFact;
239
388
  /** Deals, open ones first, then most recently updated. */
@@ -247,6 +396,9 @@ export interface ContactFactsInput {
247
396
  deals: ReadonlyArray<Partial<CrmDeal>>;
248
397
  pipelines: ReadonlyMap<string, CrmPipeline>;
249
398
  nowMs: number;
399
+ names?: CrmFactsNames;
400
+ /** The name of the contact the holder's reports-to names, when the reader could see it. */
401
+ reportsToName?: string;
250
402
  }
251
403
  export declare function contactFacts(input: ContactFactsInput): CrmContactFacts;
252
404
  export interface CompanyFactsInput {
@@ -256,6 +408,9 @@ export interface CompanyFactsInput {
256
408
  deals: ReadonlyArray<Partial<CrmDeal>>;
257
409
  pipelines: ReadonlyMap<string, CrmPipeline>;
258
410
  nowMs: number;
411
+ names?: CrmFactsNames;
412
+ /** The parent company's name, when the reader could see it. */
413
+ parentCompanyName?: string;
259
414
  }
260
415
  export declare function companyFacts(input: CompanyFactsInput): CrmCompanyFacts;
261
416
  export interface DealFactsInput {
@@ -263,15 +418,41 @@ export interface DealFactsInput {
263
418
  contactName?: unknown;
264
419
  companyName?: unknown;
265
420
  };
421
+ /** The names of the deal's contacts, by id, as the reader may see them (AGL-3521). */
422
+ contactNames?: ReadonlyMap<string, string>;
266
423
  pipeline: CrmPipeline | null;
267
424
  activities: ReadonlyArray<Partial<CrmActivity>>;
268
425
  tasks: ReadonlyArray<Partial<CrmTask>>;
269
426
  nowMs: number;
427
+ names?: CrmFactsNames;
428
+ /** The name of the campaign the deal is credited to, when the reader could see it. */
429
+ campaignName?: string;
270
430
  }
271
431
  export declare function dealFacts(input: DealFactsInput): CrmDealFacts;
432
+ /**
433
+ * A deal's contact roles as facts (AGL-3521): the Primary first, each by the
434
+ * name the reader resolved — a contact the reader may not see, or could
435
+ * not read, is left out rather than named by id.
436
+ */
437
+ export declare function dealContactRoleFacts(deal: {
438
+ contactId?: unknown;
439
+ contactRoles?: unknown;
440
+ }, names?: ReadonlyMap<string, string>): CrmContactRoleFact[];
441
+ /** What a lead's capture surfaces are called, the lead history card's words. */
442
+ export declare function leadSourceFact(source: string): string;
272
443
  export interface LeadFactsInput {
273
444
  lead: Record<string, unknown>;
274
445
  activities: ReadonlyArray<Partial<CrmActivity>>;
446
+ /** The tasks filed against the lead (AGL-3520); none when the reader read none. */
447
+ tasks?: ReadonlyArray<Partial<CrmTask>>;
448
+ nowMs?: number;
449
+ /** The org's Lead status list, whose label the status fact reads (AGL-3512); the standard ones without it. */
450
+ leadStatuses?: CrmPicklist;
451
+ /** The site's consent group, which the lead's marketing consent is read under. */
452
+ group?: ConsentGroup | null;
453
+ names?: CrmFactsNames;
454
+ /** The names of the campaigns the lead is filed under, as the reader resolved them. */
455
+ campaignNames?: readonly string[];
275
456
  }
276
457
  export declare function leadFacts(input: LeadFactsInput): CrmLeadFacts;
277
458
  /**