@dakkitor/api-contracts 1.1.154 → 1.4.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 (340) hide show
  1. package/dist/abilities/abilities.contract.d.ts +53 -1
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +92 -1
  4. package/dist/abilities/abilities.contract.spec.d.ts +2 -0
  5. package/dist/abilities/abilities.contract.spec.d.ts.map +1 -0
  6. package/dist/abilities/abilities.contract.spec.js +145 -0
  7. package/dist/abilities/admin-dashboard.abilities.test.d.ts +2 -0
  8. package/dist/abilities/admin-dashboard.abilities.test.d.ts.map +1 -0
  9. package/dist/abilities/admin-dashboard.abilities.test.js +33 -0
  10. package/dist/abilities/admin.abilities.json +19 -0
  11. package/dist/abilities/bot.abilities.json +13 -4
  12. package/dist/abilities/first-agent.abilities.json +317 -70
  13. package/dist/abilities/interconnection.abilities.json +75 -0
  14. package/dist/abilities/kpi.abilities.json +68 -0
  15. package/dist/abilities/office-manager.abilities.json +111 -0
  16. package/dist/abilities/second-agent.abilities.json +417 -43
  17. package/dist/abilities/team-leads.json +71 -6
  18. package/dist/abilities/worker-curator.abilities.json +233 -0
  19. package/dist/actives/actives.contract.d.ts +19379 -23651
  20. package/dist/actives/actives.contract.d.ts.map +1 -1
  21. package/dist/actives/actives.contract.js +517 -114
  22. package/dist/agent-client-links/agent-client-links.contract.d.ts +1431 -291
  23. package/dist/agent-client-links/agent-client-links.contract.d.ts.map +1 -1
  24. package/dist/auth/auth.contract.d.ts +1050 -81
  25. package/dist/auth/auth.contract.d.ts.map +1 -1
  26. package/dist/auth/auth.contract.js +115 -3
  27. package/dist/bookings/booking-worker-summary.spec.d.ts +2 -0
  28. package/dist/bookings/booking-worker-summary.spec.d.ts.map +1 -0
  29. package/dist/bookings/booking-worker-summary.spec.js +25 -0
  30. package/dist/bookings/bookings.contract.d.ts +20643 -26117
  31. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  32. package/dist/bookings/bookings.contract.js +383 -91
  33. package/dist/bookings/bookings.contract.spec.d.ts +2 -0
  34. package/dist/bookings/bookings.contract.spec.d.ts.map +1 -0
  35. package/dist/bookings/bookings.contract.spec.js +11 -0
  36. package/dist/bookings/job-lock.spec.d.ts +2 -0
  37. package/dist/bookings/job-lock.spec.d.ts.map +1 -0
  38. package/dist/bookings/job-lock.spec.js +56 -0
  39. package/dist/bot-parse-cache/bot-parse-cache.contract.d.ts +232 -0
  40. package/dist/bot-parse-cache/bot-parse-cache.contract.d.ts.map +1 -0
  41. package/dist/bot-parse-cache/bot-parse-cache.contract.js +64 -0
  42. package/dist/call-history/call-history.contract.d.ts +1336 -767
  43. package/dist/call-history/call-history.contract.d.ts.map +1 -1
  44. package/dist/call-history/call-history.contract.js +86 -10
  45. package/dist/calls-feed/calls-feed.contract.d.ts +417 -0
  46. package/dist/calls-feed/calls-feed.contract.d.ts.map +1 -0
  47. package/dist/calls-feed/calls-feed.contract.js +32 -0
  48. package/dist/client-contacts/client-contacts.contract.d.ts +410 -226
  49. package/dist/client-contacts/client-contacts.contract.d.ts.map +1 -1
  50. package/dist/client-contacts/client-contacts.contract.js +35 -4
  51. package/dist/clients/clients.contract.d.ts +227 -73
  52. package/dist/clients/clients.contract.d.ts.map +1 -1
  53. package/dist/clients/clients.contract.js +45 -21
  54. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +2908 -1834
  55. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts.map +1 -1
  56. package/dist/collaboration-checkings/collaboration-checkings.contract.js +14 -9
  57. package/dist/collaborations/collaborations.contract.d.ts +2676 -1409
  58. package/dist/collaborations/collaborations.contract.d.ts.map +1 -1
  59. package/dist/collaborations/collaborations.contract.js +33 -9
  60. package/dist/common/call-rating.schema.d.ts.map +1 -1
  61. package/dist/common/call-rating.schema.js +4 -2
  62. package/dist/common/common-schemas.d.ts +59 -11
  63. package/dist/common/common-schemas.d.ts.map +1 -1
  64. package/dist/common/common-schemas.js +55 -29
  65. package/dist/common/error-schemas.d.ts +2 -2
  66. package/dist/common/pagination-query.schema.d.ts +13 -2
  67. package/dist/common/pagination-query.schema.d.ts.map +1 -1
  68. package/dist/common/pagination-query.schema.js +21 -2
  69. package/dist/common/pagination-query.schema.spec.d.ts +2 -0
  70. package/dist/common/pagination-query.schema.spec.d.ts.map +1 -0
  71. package/dist/common/pagination-query.schema.spec.js +53 -0
  72. package/dist/companies/companies.contract.d.ts +53 -28
  73. package/dist/companies/companies.contract.d.ts.map +1 -1
  74. package/dist/companies/companies.contract.js +11 -10
  75. package/dist/crews/crews.contract.d.ts +1010 -196
  76. package/dist/crews/crews.contract.d.ts.map +1 -1
  77. package/dist/crews/crews.contract.js +98 -17
  78. package/dist/crews/crews.contract.spec.d.ts +2 -0
  79. package/dist/crews/crews.contract.spec.d.ts.map +1 -0
  80. package/dist/crews/crews.contract.spec.js +67 -0
  81. package/dist/cron-executions/cron-executions.contract.d.ts +988 -59
  82. package/dist/cron-executions/cron-executions.contract.d.ts.map +1 -1
  83. package/dist/cron-executions/cron-executions.contract.js +127 -7
  84. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.d.ts +2 -0
  85. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.d.ts.map +1 -0
  86. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.js +40 -0
  87. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.d.ts +2 -0
  88. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.d.ts.map +1 -0
  89. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.js +16 -0
  90. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +21650 -0
  91. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts.map +1 -0
  92. package/dist/curated-worker-leads/candidate-coordination.contract.js +921 -0
  93. package/dist/curated-worker-leads/candidate-coordination.contract.spec.d.ts +2 -0
  94. package/dist/curated-worker-leads/candidate-coordination.contract.spec.d.ts.map +1 -0
  95. package/dist/curated-worker-leads/candidate-coordination.contract.spec.js +51 -0
  96. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +2364 -0
  97. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts.map +1 -0
  98. package/dist/curated-worker-leads/candidate-edit-session.contract.js +173 -0
  99. package/dist/curated-worker-leads/consent-queue.contract.d.ts +4497 -0
  100. package/dist/curated-worker-leads/consent-queue.contract.d.ts.map +1 -0
  101. package/dist/curated-worker-leads/consent-queue.contract.js +201 -0
  102. package/dist/curated-worker-leads/contact-history.spec.d.ts +2 -0
  103. package/dist/curated-worker-leads/contact-history.spec.d.ts.map +1 -0
  104. package/dist/curated-worker-leads/contact-history.spec.js +88 -0
  105. package/dist/curated-worker-leads/contact-session.contract.spec.d.ts +2 -0
  106. package/dist/curated-worker-leads/contact-session.contract.spec.d.ts.map +1 -0
  107. package/dist/curated-worker-leads/contact-session.contract.spec.js +315 -0
  108. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts +489 -0
  109. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts.map +1 -0
  110. package/dist/curated-worker-leads/curated-worker-lead-config.contract.js +88 -0
  111. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts +135 -0
  112. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts.map +1 -0
  113. package/dist/curated-worker-leads/curated-worker-leads.contract.js +32 -0
  114. package/dist/curated-worker-leads/job-candidate-cards.spec.d.ts +2 -0
  115. package/dist/curated-worker-leads/job-candidate-cards.spec.d.ts.map +1 -0
  116. package/dist/curated-worker-leads/job-candidate-cards.spec.js +157 -0
  117. package/dist/curated-worker-leads/job-candidates.spec.d.ts +2 -0
  118. package/dist/curated-worker-leads/job-candidates.spec.d.ts.map +1 -0
  119. package/dist/curated-worker-leads/job-candidates.spec.js +140 -0
  120. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.d.ts +2 -0
  121. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.d.ts.map +1 -0
  122. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.js +19 -0
  123. package/dist/curated-worker-leads/jobs-tab.contract.d.ts +18365 -0
  124. package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -0
  125. package/dist/curated-worker-leads/jobs-tab.contract.js +642 -0
  126. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts +348 -0
  127. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts.map +1 -0
  128. package/dist/curated-worker-leads/lead-agent-area.contract.js +51 -0
  129. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +1116 -0
  130. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts.map +1 -0
  131. package/dist/curated-worker-leads/owned-jobs-tab.contract.js +93 -0
  132. package/dist/curated-workers/curated-filter-additions.spec.d.ts +2 -0
  133. package/dist/curated-workers/curated-filter-additions.spec.d.ts.map +1 -0
  134. package/dist/curated-workers/curated-filter-additions.spec.js +17 -0
  135. package/dist/curated-workers/curated-job-seeking.spec.d.ts +2 -0
  136. package/dist/curated-workers/curated-job-seeking.spec.d.ts.map +1 -0
  137. package/dist/curated-workers/curated-job-seeking.spec.js +53 -0
  138. package/dist/curated-workers/curated-workers-id-documents.spec.d.ts +2 -0
  139. package/dist/curated-workers/curated-workers-id-documents.spec.d.ts.map +1 -0
  140. package/dist/curated-workers/curated-workers-id-documents.spec.js +38 -0
  141. package/dist/curated-workers/curated-workers.contract.d.ts +6160 -1906
  142. package/dist/curated-workers/curated-workers.contract.d.ts.map +1 -1
  143. package/dist/curated-workers/curated-workers.contract.js +333 -51
  144. package/dist/dashboards/agent-daily-metrics.contract.d.ts +10 -10
  145. package/dist/dashboards/agent-daily-metrics.contract.js +1 -1
  146. package/dist/dashboards/dashboard-widgets.contract.d.ts +3800 -496
  147. package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
  148. package/dist/dashboards/dashboard-widgets.contract.js +527 -29
  149. package/dist/dashboards/dashboard.contract.d.ts +8 -8
  150. package/dist/document-intake/document-intake.contract.d.ts +3132 -0
  151. package/dist/document-intake/document-intake.contract.d.ts.map +1 -0
  152. package/dist/document-intake/document-intake.contract.js +418 -0
  153. package/dist/export-jobs/export-jobs.contract.d.ts +3918 -0
  154. package/dist/export-jobs/export-jobs.contract.d.ts.map +1 -0
  155. package/dist/export-jobs/export-jobs.contract.js +240 -0
  156. package/dist/exports-events/exports-events.schemas.d.ts +90 -0
  157. package/dist/exports-events/exports-events.schemas.d.ts.map +1 -0
  158. package/dist/exports-events/exports-events.schemas.js +56 -0
  159. package/dist/files/files.contract.d.ts +133 -126
  160. package/dist/files/files.contract.d.ts.map +1 -1
  161. package/dist/files/files.contract.js +8 -0
  162. package/dist/health/health.contract.d.ts +4 -4
  163. package/dist/index.d.ts +82 -0
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +87 -1
  166. package/dist/interactions/interactions.contract.d.ts +162 -0
  167. package/dist/interactions/interactions.contract.d.ts.map +1 -0
  168. package/dist/interactions/interactions.contract.js +42 -0
  169. package/dist/job-clusters/job-clusters.contract.d.ts +1584 -0
  170. package/dist/job-clusters/job-clusters.contract.d.ts.map +1 -0
  171. package/dist/job-clusters/job-clusters.contract.js +133 -0
  172. package/dist/jobs/jobs.contract.d.ts +16517 -8495
  173. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  174. package/dist/jobs/jobs.contract.js +394 -190
  175. package/dist/jobs/jobs.contract.spec.d.ts +2 -0
  176. package/dist/jobs/jobs.contract.spec.d.ts.map +1 -0
  177. package/dist/jobs/jobs.contract.spec.js +70 -0
  178. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +75 -75
  179. package/dist/lead-assignments/lead-assignments.contract.d.ts +2933 -1122
  180. package/dist/lead-assignments/lead-assignments.contract.d.ts.map +1 -1
  181. package/dist/lead-assignments/lead-assignments.contract.js +29 -7
  182. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +328 -64
  183. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
  184. package/dist/lead-distribution/agent-lead-distribution.contract.js +1 -1
  185. package/dist/lead-distribution/lead-distribution-config.contract.d.ts +31 -31
  186. package/dist/leads/leads.contract.d.ts +830 -368
  187. package/dist/leads/leads.contract.d.ts.map +1 -1
  188. package/dist/leads/leads.contract.js +106 -26
  189. package/dist/locations/locations.contract.d.ts +36 -36
  190. package/dist/notifications/notifications.contract.d.ts +1039 -0
  191. package/dist/notifications/notifications.contract.d.ts.map +1 -0
  192. package/dist/notifications/notifications.contract.js +110 -0
  193. package/dist/offices/offices.contract.d.ts +210 -60
  194. package/dist/offices/offices.contract.d.ts.map +1 -1
  195. package/dist/offices/offices.contract.js +18 -4
  196. package/dist/outreach/__tests__/outreach-claim.test.d.ts +2 -0
  197. package/dist/outreach/__tests__/outreach-claim.test.d.ts.map +1 -0
  198. package/dist/outreach/__tests__/outreach-claim.test.js +97 -0
  199. package/dist/outreach/__tests__/outreach-confirm-release.test.d.ts +2 -0
  200. package/dist/outreach/__tests__/outreach-confirm-release.test.d.ts.map +1 -0
  201. package/dist/outreach/__tests__/outreach-confirm-release.test.js +98 -0
  202. package/dist/outreach/__tests__/outreach-routes.test.d.ts +2 -0
  203. package/dist/outreach/__tests__/outreach-routes.test.d.ts.map +1 -0
  204. package/dist/outreach/__tests__/outreach-routes.test.js +57 -0
  205. package/dist/outreach/__tests__/outreach.schemas.test.d.ts +2 -0
  206. package/dist/outreach/__tests__/outreach.schemas.test.d.ts.map +1 -0
  207. package/dist/outreach/__tests__/outreach.schemas.test.js +140 -0
  208. package/dist/outreach/outreach.contract.d.ts +809 -0
  209. package/dist/outreach/outreach.contract.d.ts.map +1 -0
  210. package/dist/outreach/outreach.contract.js +195 -0
  211. package/dist/outreach/outreach.schemas.d.ts +113 -0
  212. package/dist/outreach/outreach.schemas.d.ts.map +1 -0
  213. package/dist/outreach/outreach.schemas.js +132 -0
  214. package/dist/own-research/own-research.contract.d.ts +1356 -552
  215. package/dist/own-research/own-research.contract.d.ts.map +1 -1
  216. package/dist/own-research/own-research.contract.js +14 -3
  217. package/dist/postcodes/postcodes.contract.d.ts +16 -16
  218. package/dist/proofs/proof-category.enum.d.ts +4 -0
  219. package/dist/proofs/proof-category.enum.d.ts.map +1 -0
  220. package/dist/proofs/proof-category.enum.js +5 -0
  221. package/dist/proofs/proof-entity-type.enum.d.ts +4 -0
  222. package/dist/proofs/proof-entity-type.enum.d.ts.map +1 -0
  223. package/dist/proofs/proof-entity-type.enum.js +5 -0
  224. package/dist/proofs/proof-type.enum.d.ts +28 -0
  225. package/dist/proofs/proof-type.enum.d.ts.map +1 -0
  226. package/dist/proofs/proof-type.enum.js +14 -0
  227. package/dist/proofs/proofs.contract.d.ts +3009 -0
  228. package/dist/proofs/proofs.contract.d.ts.map +1 -0
  229. package/dist/proofs/proofs.contract.js +92 -0
  230. package/dist/proofs/proofs.dtos.d.ts +1319 -0
  231. package/dist/proofs/proofs.dtos.d.ts.map +1 -0
  232. package/dist/proofs/proofs.dtos.js +178 -0
  233. package/dist/qualifications/qualifications.contract.d.ts +94 -94
  234. package/dist/realtime/data-changed.d.ts +21 -0
  235. package/dist/realtime/data-changed.d.ts.map +1 -0
  236. package/dist/realtime/data-changed.js +37 -0
  237. package/dist/shared/booking-history.schema.d.ts +27 -0
  238. package/dist/shared/booking-history.schema.d.ts.map +1 -0
  239. package/dist/shared/booking-history.schema.js +22 -0
  240. package/dist/shared/booking-history.spec.d.ts +2 -0
  241. package/dist/shared/booking-history.spec.d.ts.map +1 -0
  242. package/dist/shared/booking-history.spec.js +44 -0
  243. package/dist/shared/contact-suppressions.contract.d.ts +22 -0
  244. package/dist/shared/contact-suppressions.contract.d.ts.map +1 -0
  245. package/dist/shared/contact-suppressions.contract.js +13 -0
  246. package/dist/shared/live-booking.schema.d.ts +57 -0
  247. package/dist/shared/live-booking.schema.d.ts.map +1 -0
  248. package/dist/shared/live-booking.schema.js +34 -0
  249. package/dist/shared/summary-schemas.d.ts +218 -0
  250. package/dist/shared/summary-schemas.d.ts.map +1 -0
  251. package/dist/shared/summary-schemas.js +56 -0
  252. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.d.ts +2 -0
  253. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.d.ts.map +1 -0
  254. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.js +20 -0
  255. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.d.ts +2 -0
  256. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.d.ts.map +1 -0
  257. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.js +41 -0
  258. package/dist/sheets-sync/sheets-sync-events.schemas.d.ts +43 -0
  259. package/dist/sheets-sync/sheets-sync-events.schemas.d.ts.map +1 -0
  260. package/dist/sheets-sync/sheets-sync-events.schemas.js +29 -0
  261. package/dist/sheets-sync/sheets-sync.contract.d.ts +7258 -0
  262. package/dist/sheets-sync/sheets-sync.contract.d.ts.map +1 -0
  263. package/dist/sheets-sync/sheets-sync.contract.js +323 -0
  264. package/dist/telegram/telegram.contract.d.ts +727 -0
  265. package/dist/telegram/telegram.contract.d.ts.map +1 -0
  266. package/dist/telegram/telegram.contract.js +75 -0
  267. package/dist/trades/trade-rate-assessment.d.ts +18 -0
  268. package/dist/trades/trade-rate-assessment.d.ts.map +1 -0
  269. package/dist/trades/trade-rate-assessment.js +46 -0
  270. package/dist/trades/trade-rate-assessment.spec.d.ts +2 -0
  271. package/dist/trades/trade-rate-assessment.spec.d.ts.map +1 -0
  272. package/dist/trades/trade-rate-assessment.spec.js +223 -0
  273. package/dist/trades/trades.contract.d.ts +111 -0
  274. package/dist/trades/trades.contract.d.ts.map +1 -1
  275. package/dist/trades/trades.contract.js +49 -1
  276. package/dist/trades/trades.contract.spec.d.ts +2 -0
  277. package/dist/trades/trades.contract.spec.d.ts.map +1 -0
  278. package/dist/trades/trades.contract.spec.js +173 -0
  279. package/dist/user-access-grants/build-user-access-grant-rules.d.ts +10 -0
  280. package/dist/user-access-grants/build-user-access-grant-rules.d.ts.map +1 -0
  281. package/dist/user-access-grants/build-user-access-grant-rules.js +69 -0
  282. package/dist/user-access-grants/build-user-access-grant-rules.spec.d.ts +2 -0
  283. package/dist/user-access-grants/build-user-access-grant-rules.spec.d.ts.map +1 -0
  284. package/dist/user-access-grants/build-user-access-grant-rules.spec.js +77 -0
  285. package/dist/user-access-grants/user-access-grant-templates.json +454 -0
  286. package/dist/user-access-grants/user-access-grants.contract.d.ts +3886 -0
  287. package/dist/user-access-grants/user-access-grants.contract.d.ts.map +1 -0
  288. package/dist/user-access-grants/user-access-grants.contract.js +189 -0
  289. package/dist/user-access-grants/user-access-grants.contract.spec.d.ts +2 -0
  290. package/dist/user-access-grants/user-access-grants.contract.spec.d.ts.map +1 -0
  291. package/dist/user-access-grants/user-access-grants.contract.spec.js +149 -0
  292. package/dist/users/users.contract.d.ts +1959 -349
  293. package/dist/users/users.contract.d.ts.map +1 -1
  294. package/dist/users/users.contract.js +222 -37
  295. package/dist/users/users.contract.spec.d.ts +2 -0
  296. package/dist/users/users.contract.spec.d.ts.map +1 -0
  297. package/dist/users/users.contract.spec.js +103 -0
  298. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts +4609 -0
  299. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts.map +1 -0
  300. package/dist/worker-identity-cases/worker-identity-cases.contract.js +409 -0
  301. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts +1511 -0
  302. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts.map +1 -0
  303. package/dist/worker-merge-proposals/worker-merge-proposals.contract.js +150 -0
  304. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +1106 -0
  305. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts.map +1 -0
  306. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.js +85 -0
  307. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.d.ts +2 -0
  308. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.d.ts.map +1 -0
  309. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.js +216 -0
  310. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts +453 -0
  311. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts.map +1 -0
  312. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.js +109 -0
  313. package/dist/workers/do-not-contact.contract.d.ts +46 -0
  314. package/dist/workers/do-not-contact.contract.d.ts.map +1 -0
  315. package/dist/workers/do-not-contact.contract.js +41 -0
  316. package/dist/workers/do-not-contact.contract.spec.d.ts +2 -0
  317. package/dist/workers/do-not-contact.contract.spec.d.ts.map +1 -0
  318. package/dist/workers/do-not-contact.contract.spec.js +47 -0
  319. package/dist/workers/duplicate-group-worker.spec.d.ts +2 -0
  320. package/dist/workers/duplicate-group-worker.spec.d.ts.map +1 -0
  321. package/dist/workers/duplicate-group-worker.spec.js +34 -0
  322. package/dist/workers/filter-exact-flags.spec.d.ts +2 -0
  323. package/dist/workers/filter-exact-flags.spec.d.ts.map +1 -0
  324. package/dist/workers/filter-exact-flags.spec.js +37 -0
  325. package/dist/workers/worker-source-attribution.contract.spec.d.ts +2 -0
  326. package/dist/workers/worker-source-attribution.contract.spec.d.ts.map +1 -0
  327. package/dist/workers/worker-source-attribution.contract.spec.js +442 -0
  328. package/dist/workers/worker-source.spec.d.ts +2 -0
  329. package/dist/workers/worker-source.spec.d.ts.map +1 -0
  330. package/dist/workers/worker-source.spec.js +13 -0
  331. package/dist/workers/worker-status-facets.spec.d.ts +2 -0
  332. package/dist/workers/worker-status-facets.spec.d.ts.map +1 -0
  333. package/dist/workers/worker-status-facets.spec.js +34 -0
  334. package/dist/workers/workers.contract.d.ts +19534 -5969
  335. package/dist/workers/workers.contract.d.ts.map +1 -1
  336. package/dist/workers/workers.contract.js +1096 -113
  337. package/dist/workers/workers.contract.spec.d.ts +2 -0
  338. package/dist/workers/workers.contract.spec.d.ts.map +1 -0
  339. package/dist/workers/workers.contract.spec.js +31 -0
  340. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-jobs.contract.d.ts","sourceRoot":"","sources":["../../contracts/export-jobs/export-jobs.contract.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD7B,CAAC;AAKH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAezB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc1B,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa9B,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCtB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USERS_EXPORT_COLUMNS = exports.JOBS_EXPORT_COLUMNS = exports.CALL_HISTORY_EXPORT_COLUMNS = exports.BOOKINGS_EXPORT_COLUMNS = exports.ACTIVES_EXPORT_COLUMNS = exports.exportJobsContract = exports.PaginatedExportJobResponseSchema = exports.ExportJobSchema = exports.CreateExportJobBodySchema = exports.FilterExportJobSchema = exports.ExportJobSortableFieldsSchema = exports.SortSpecSchema = exports.ExportStatusSchema = exports.ExportEntitySchema = void 0;
4
+ const core_1 = require("@ts-rest/core");
5
+ const zod_1 = require("zod");
6
+ const actives_contract_1 = require("../actives/actives.contract");
7
+ const bookings_contract_1 = require("../bookings/bookings.contract");
8
+ const call_history_contract_1 = require("../call-history/call-history.contract");
9
+ const jobs_contract_1 = require("../jobs/jobs.contract");
10
+ const users_contract_1 = require("../users/users.contract");
11
+ const common_schemas_1 = require("../common/common-schemas");
12
+ const pagination_query_schema_1 = require("../common/pagination-query.schema");
13
+ const pagination_schema_1 = require("../common/pagination.schema");
14
+ const summary_schemas_1 = require("../shared/summary-schemas");
15
+ const c = (0, core_1.initContract)();
16
+ exports.ExportEntitySchema = zod_1.z.enum(['actives', 'bookings', 'call-history', 'jobs', 'users']);
17
+ exports.ExportStatusSchema = zod_1.z.enum(['pending', 'processing', 'completed', 'failed', 'cancelled']);
18
+ exports.SortSpecSchema = zod_1.z.array(zod_1.z.object({ field: zod_1.z.string(), dir: zod_1.z.enum(['ASC', 'DESC']) })).default([]);
19
+ exports.ExportJobSortableFieldsSchema = zod_1.z.enum([
20
+ 'requestedAt',
21
+ 'completedAt',
22
+ 'status',
23
+ 'entity',
24
+ ]).openapi({ title: 'ExportJobSortableFields' });
25
+ exports.FilterExportJobSchema = pagination_query_schema_1.PaginationQuerySchema.extend({
26
+ entity: exports.ExportEntitySchema.optional(),
27
+ status: exports.ExportStatusSchema.optional(),
28
+ userId: zod_1.z.string().uuid().optional().describe('Initiated by user'),
29
+ requestedAt: common_schemas_1.DateRangeSchema.optional()
30
+ .nullable()
31
+ .describe('Filter by request time range'),
32
+ sort: (0, common_schemas_1.createSortArraySchema)(exports.ExportJobSortableFieldsSchema),
33
+ }).openapi({ title: 'FilterExportJob' });
34
+ exports.CreateExportJobBodySchema = zod_1.z.discriminatedUnion('entity', [
35
+ zod_1.z.object({
36
+ entity: zod_1.z.literal('actives'),
37
+ filter: actives_contract_1.FilterActiveSchema,
38
+ sort: exports.SortSpecSchema,
39
+ columns: zod_1.z.array(zod_1.z.string()).min(1).max(50),
40
+ }),
41
+ zod_1.z.object({
42
+ entity: zod_1.z.literal('bookings'),
43
+ filter: bookings_contract_1.FilterBookingSchema,
44
+ sort: exports.SortSpecSchema,
45
+ columns: zod_1.z.array(zod_1.z.string()).min(1).max(50),
46
+ }),
47
+ zod_1.z.object({
48
+ entity: zod_1.z.literal('call-history'),
49
+ filter: call_history_contract_1.FilterCallHistorySchema,
50
+ sort: exports.SortSpecSchema,
51
+ columns: zod_1.z.array(zod_1.z.string()).min(1).max(50),
52
+ }),
53
+ zod_1.z.object({
54
+ entity: zod_1.z.literal('jobs'),
55
+ filter: jobs_contract_1.FilterJobSchema,
56
+ sort: exports.SortSpecSchema,
57
+ columns: zod_1.z.array(zod_1.z.string()).min(1).max(50),
58
+ }),
59
+ zod_1.z.object({
60
+ entity: zod_1.z.literal('users'),
61
+ filter: users_contract_1.FilterUserSchema,
62
+ sort: exports.SortSpecSchema,
63
+ columns: zod_1.z.array(zod_1.z.string()).min(1).max(50),
64
+ }),
65
+ ]);
66
+ exports.ExportJobSchema = zod_1.z.object({
67
+ id: zod_1.z.string().uuid(),
68
+ userId: zod_1.z.string().uuid(),
69
+ user: summary_schemas_1.UserSummarySchema.nullable(),
70
+ entity: exports.ExportEntitySchema,
71
+ status: exports.ExportStatusSchema,
72
+ filter: zod_1.z.record(zod_1.z.unknown()),
73
+ sort: exports.SortSpecSchema,
74
+ columns: zod_1.z.array(zod_1.z.string()),
75
+ rowsProcessed: zod_1.z.number().int().nonnegative(),
76
+ rowsSkipped: zod_1.z.number().int().nonnegative(),
77
+ totalRows: zod_1.z.number().int().nullable(),
78
+ byteSize: zod_1.z.number().int().nonnegative().nullable(),
79
+ errorMessage: zod_1.z.string().nullable(),
80
+ requestedAt: zod_1.z.string(),
81
+ startedAt: zod_1.z.string().nullable(),
82
+ completedAt: zod_1.z.string().nullable(),
83
+ expiresAt: zod_1.z.string(),
84
+ });
85
+ exports.PaginatedExportJobResponseSchema = (0, pagination_schema_1.createPaginatedResponseSchema)(exports.ExportJobSchema).openapi({ title: 'PaginatedExportJobResponse' });
86
+ exports.exportJobsContract = c.router({
87
+ create: {
88
+ method: 'POST',
89
+ path: '/v2/export-jobs',
90
+ body: exports.CreateExportJobBodySchema,
91
+ responses: {
92
+ 201: exports.ExportJobSchema,
93
+ 403: zod_1.z.object({ message: zod_1.z.string() }),
94
+ 409: zod_1.z.object({ message: zod_1.z.string() }),
95
+ },
96
+ summary: 'Create an async CSV export job',
97
+ },
98
+ list: {
99
+ method: 'GET',
100
+ path: '/v2/export-jobs',
101
+ query: exports.FilterExportJobSchema,
102
+ responses: { 200: exports.PaginatedExportJobResponseSchema },
103
+ summary: 'List export jobs the caller is allowed to see',
104
+ },
105
+ getOne: {
106
+ method: 'GET',
107
+ path: '/v2/export-jobs/:id',
108
+ pathParams: zod_1.z.object({ id: zod_1.z.string().uuid() }),
109
+ responses: {
110
+ 200: exports.ExportJobSchema,
111
+ 404: zod_1.z.object({ message: zod_1.z.string() }),
112
+ },
113
+ summary: 'Fetch a single export job',
114
+ },
115
+ cancel: {
116
+ method: 'POST',
117
+ path: '/v2/export-jobs/:id/cancel',
118
+ pathParams: zod_1.z.object({ id: zod_1.z.string().uuid() }),
119
+ body: zod_1.z.object({}).optional(),
120
+ responses: {
121
+ 200: exports.ExportJobSchema,
122
+ 404: zod_1.z.object({ message: zod_1.z.string() }),
123
+ 409: zod_1.z.object({ message: zod_1.z.string() }),
124
+ },
125
+ summary: 'Request cancellation of an export job',
126
+ },
127
+ download: {
128
+ method: 'GET',
129
+ path: '/v2/export-jobs/:id/download',
130
+ pathParams: zod_1.z.object({ id: zod_1.z.string().uuid() }),
131
+ responses: {
132
+ 200: zod_1.z.object({ url: zod_1.z.string().url() }),
133
+ 403: zod_1.z.object({ message: zod_1.z.string() }),
134
+ 404: zod_1.z.object({ message: zod_1.z.string() }),
135
+ 409: zod_1.z.object({ message: zod_1.z.string() }),
136
+ 410: zod_1.z.object({ message: zod_1.z.string() }),
137
+ },
138
+ summary: 'Returns a short-lived presigned R2 URL for the export file',
139
+ },
140
+ });
141
+ // Per-entity column allow-lists, shared with the frontend dialog so both sides
142
+ // reference the exact same set of allowed paths and labels.
143
+ // These EXACTLY match what each exporter file declares.
144
+ exports.ACTIVES_EXPORT_COLUMNS = [
145
+ { path: 'id', label: 'Active ID' },
146
+ { path: 'date', label: 'Date' },
147
+ { path: 'booking.startDate', label: 'Start Date' },
148
+ { path: 'booking.endDate', label: 'End Date' },
149
+ { path: 'status', label: 'Status' },
150
+ { path: 'worker.firstName', label: 'Worker First Name' },
151
+ { path: 'worker.lastName', label: 'Worker Last Name' },
152
+ { path: 'booking.id', label: 'Booking ID' },
153
+ { path: 'collaboration.client.name', label: 'Client' },
154
+ { path: 'pay.rate', label: 'Pay Rate' },
155
+ { path: 'pay.unit', label: 'Pay Unit' },
156
+ { path: 'pay.hourlyRate', label: 'Hourly Rate' },
157
+ { path: 'hoursWorked', label: 'Hours Worked' },
158
+ { path: 'createdAt', label: 'Created At' },
159
+ ];
160
+ exports.BOOKINGS_EXPORT_COLUMNS = [
161
+ { path: 'id', label: 'Booking ID' },
162
+ { path: 'createdAt', label: 'Created At' },
163
+ { path: 'startDate', label: 'Start Date' },
164
+ { path: 'endDate', label: 'End Date' },
165
+ { path: 'status.category', label: 'Status Category' },
166
+ { path: 'status.type', label: 'Status Type' },
167
+ { path: 'worker.firstName', label: 'Worker First Name' },
168
+ { path: 'worker.lastName', label: 'Worker Last Name' },
169
+ { path: 'job.collaboration.client.name', label: 'Client' },
170
+ { path: 'job.collaboration.company.name', label: 'Company' },
171
+ { path: 'job.location.postcode', label: 'Postcode' },
172
+ { path: 'pay.rate', label: 'Pay Rate' },
173
+ { path: 'pay.unit', label: 'Pay Unit' },
174
+ ];
175
+ exports.CALL_HISTORY_EXPORT_COLUMNS = [
176
+ { path: 'id', label: 'Call ID' },
177
+ { path: 'createdAt', label: 'Created At' },
178
+ { path: 'callType', label: 'Call Type' },
179
+ { path: 'leadSource', label: 'Lead Source' },
180
+ { path: 'rating', label: 'Rating' },
181
+ { path: 'ratingWeight', label: 'Rating Weight' },
182
+ { path: 'notes', label: 'Notes' },
183
+ { path: 'assignment.agent.firstName', label: 'Agent First Name' },
184
+ { path: 'assignment.agent.lastName', label: 'Agent Last Name' },
185
+ { path: 'assignment.lead.name', label: 'Lead Name' },
186
+ { path: 'assignment.lead.phoneNumber', label: 'Lead Phone' },
187
+ { path: 'assignment.company.name', label: 'Company' },
188
+ ];
189
+ exports.JOBS_EXPORT_COLUMNS = [
190
+ { path: 'id', label: 'Job ID' },
191
+ { path: 'description', label: 'Description' },
192
+ { path: 'status', label: 'Status' },
193
+ { path: 'creationSource', label: 'Source' },
194
+ { path: 'numberOfPositions', label: 'Positions' },
195
+ { path: 'filledPositions', label: 'Filled Positions' },
196
+ { path: 'workHours', label: 'Work Hours' },
197
+ { path: 'tradeId', label: 'Trade ID' },
198
+ { path: 'trade.name', label: 'Trade' },
199
+ { path: 'pay.rate', label: 'Pay Rate' },
200
+ { path: 'pay.rateMax', label: 'Pay Rate Max' },
201
+ { path: 'pay.rateUnit', label: 'Pay Rate Unit' },
202
+ { path: 'pay.isNegotiable', label: 'Pay Negotiable' },
203
+ { path: 'pay.receivedRate', label: 'Received Rate' },
204
+ { path: 'location.postcode', label: 'Postcode' },
205
+ { path: 'location.postTown', label: 'Post Town' },
206
+ { path: 'location.adminDistrict', label: 'District' },
207
+ { path: 'location.address', label: 'Address' },
208
+ { path: 'distanceKm', label: 'Distance (km)' },
209
+ { path: 'collaboration.id', label: 'Collaboration ID' },
210
+ { path: 'collaboration.status', label: 'Collaboration Status' },
211
+ { path: 'collaboration.userId', label: 'Agent User ID' },
212
+ { path: 'collaboration.client.id', label: 'Client ID' },
213
+ { path: 'collaboration.client.name', label: 'Client' },
214
+ { path: 'collaboration.company.id', label: 'Company ID' },
215
+ { path: 'collaboration.company.name', label: 'Company' },
216
+ { path: 'collaboration.user.id', label: 'Agent ID' },
217
+ { path: 'collaboration.user.firstName', label: 'Agent First Name' },
218
+ { path: 'collaboration.user.lastName', label: 'Agent Last Name' },
219
+ { path: 'collaboration.user.phoneNumbers', label: 'Agent Phone Numbers' },
220
+ { path: 'collaboration.user.deletedAt', label: 'Agent Deleted At' },
221
+ { path: 'jobQualifications', label: 'Qualifications' },
222
+ { path: 'createdById', label: 'Created By User ID' },
223
+ { path: 'createdBy.id', label: 'Creator ID' },
224
+ { path: 'createdBy.firstName', label: 'Creator First Name' },
225
+ { path: 'createdBy.lastName', label: 'Creator Last Name' },
226
+ { path: 'createdBy.phoneNumbers', label: 'Creator Phone Numbers' },
227
+ { path: 'createdBy.deletedAt', label: 'Creator Deleted At' },
228
+ { path: 'createdAt', label: 'Created' },
229
+ { path: 'updatedAt', label: 'Updated' },
230
+ ];
231
+ exports.USERS_EXPORT_COLUMNS = [
232
+ { path: 'id', label: 'User ID' },
233
+ { path: 'firstName', label: 'First Name' },
234
+ { path: 'lastName', label: 'Last Name' },
235
+ { path: 'email', label: 'Email' },
236
+ { path: 'roles', label: 'Roles' },
237
+ { path: 'status', label: 'Status' },
238
+ { path: 'office.name', label: 'Office' },
239
+ { path: 'createdAt', label: 'Created At' },
240
+ ];
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Project: Internal Recruitment Platform API
3
+ * File: exports-events.schemas.ts
4
+ *
5
+ * Description: Event payload schemas for the /v2/exports/events SSE channel.
6
+ * Same role as calls-feed.contract.ts for the calls feed.
7
+ */
8
+ import { z } from 'zod';
9
+ /**
10
+ * Event-name constants for the /v2/exports/events SSE channel.
11
+ * The string values are what the server sets as `event:` and what the
12
+ * client passes to `EventSource.addEventListener`.
13
+ */
14
+ export declare const ExportsEventType: {
15
+ readonly CREATED: "export:created";
16
+ readonly STATUS_CHANGED: "export:status-changed";
17
+ readonly PROGRESS: "export:progress";
18
+ readonly COMPLETED: "export:completed";
19
+ };
20
+ export type ExportsEventType = (typeof ExportsEventType)[keyof typeof ExportsEventType];
21
+ /** Payload for 'export:created'. Emitted when a new export job enters the queue. */
22
+ export declare const ExportCreatedSchema: z.ZodObject<{
23
+ jobId: z.ZodString;
24
+ status: z.ZodLiteral<"pending">;
25
+ }, "strip", z.ZodTypeAny, {
26
+ status: "pending";
27
+ jobId: string;
28
+ }, {
29
+ status: "pending";
30
+ jobId: string;
31
+ }>;
32
+ export type ExportCreated = z.infer<typeof ExportCreatedSchema>;
33
+ /**
34
+ * Payload for 'export:status-changed'. Emitted on every status transition except
35
+ * the initial pending state (covered by 'export:created') and completion (covered
36
+ * by 'export:completed').
37
+ *
38
+ * `error` is intentionally named differently from the REST `errorMessage` column
39
+ * on `ExportJobSchema` — wire payloads prefer short names. It is `.optional()`
40
+ * (omitted when absent) rather than `.nullable()` to keep the wire lighter,
41
+ * unlike the REST field which uses `null`.
42
+ */
43
+ export declare const ExportStatusChangedSchema: z.ZodObject<{
44
+ jobId: z.ZodString;
45
+ status: z.ZodEnum<["pending", "processing", "completed", "failed", "cancelled"]>;
46
+ error: z.ZodOptional<z.ZodString>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ status: "pending" | "processing" | "completed" | "failed" | "cancelled";
49
+ jobId: string;
50
+ error?: string | undefined;
51
+ }, {
52
+ status: "pending" | "processing" | "completed" | "failed" | "cancelled";
53
+ jobId: string;
54
+ error?: string | undefined;
55
+ }>;
56
+ export type ExportStatusChanged = z.infer<typeof ExportStatusChangedSchema>;
57
+ /** Payload for 'export:progress'. Throttled to one event per 2s per job, server-side. */
58
+ export declare const ExportProgressSchema: z.ZodObject<{
59
+ jobId: z.ZodString;
60
+ rowsProcessed: z.ZodNumber;
61
+ rowsSkipped: z.ZodNumber;
62
+ totalRows: z.ZodNullable<z.ZodNumber>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ rowsProcessed: number;
65
+ rowsSkipped: number;
66
+ totalRows: number | null;
67
+ jobId: string;
68
+ }, {
69
+ rowsProcessed: number;
70
+ rowsSkipped: number;
71
+ totalRows: number | null;
72
+ jobId: string;
73
+ }>;
74
+ export type ExportProgress = z.infer<typeof ExportProgressSchema>;
75
+ /** Payload for 'export:completed'. Emitted on successful completion only; failure / cancellation use 'export:status-changed'. */
76
+ export declare const ExportCompletedSchema: z.ZodObject<{
77
+ jobId: z.ZodString;
78
+ rowCount: z.ZodNumber;
79
+ fileSize: z.ZodNullable<z.ZodNumber>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ jobId: string;
82
+ rowCount: number;
83
+ fileSize: number | null;
84
+ }, {
85
+ jobId: string;
86
+ rowCount: number;
87
+ fileSize: number | null;
88
+ }>;
89
+ export type ExportCompleted = z.infer<typeof ExportCompletedSchema>;
90
+ //# sourceMappingURL=exports-events.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports-events.schemas.d.ts","sourceRoot":"","sources":["../../contracts/exports-events/exports-events.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,oFAAoF;AACpF,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,yFAAyF;AACzF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,iIAAiI;AACjI,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Project: Internal Recruitment Platform API
4
+ * File: exports-events.schemas.ts
5
+ *
6
+ * Description: Event payload schemas for the /v2/exports/events SSE channel.
7
+ * Same role as calls-feed.contract.ts for the calls feed.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ExportCompletedSchema = exports.ExportProgressSchema = exports.ExportStatusChangedSchema = exports.ExportCreatedSchema = exports.ExportsEventType = void 0;
11
+ const zod_1 = require("zod");
12
+ const export_jobs_contract_1 = require("../export-jobs/export-jobs.contract");
13
+ /**
14
+ * Event-name constants for the /v2/exports/events SSE channel.
15
+ * The string values are what the server sets as `event:` and what the
16
+ * client passes to `EventSource.addEventListener`.
17
+ */
18
+ exports.ExportsEventType = {
19
+ CREATED: 'export:created',
20
+ STATUS_CHANGED: 'export:status-changed',
21
+ PROGRESS: 'export:progress',
22
+ COMPLETED: 'export:completed',
23
+ };
24
+ /** Payload for 'export:created'. Emitted when a new export job enters the queue. */
25
+ exports.ExportCreatedSchema = zod_1.z.object({
26
+ jobId: zod_1.z.string().uuid(),
27
+ status: zod_1.z.literal('pending'),
28
+ });
29
+ /**
30
+ * Payload for 'export:status-changed'. Emitted on every status transition except
31
+ * the initial pending state (covered by 'export:created') and completion (covered
32
+ * by 'export:completed').
33
+ *
34
+ * `error` is intentionally named differently from the REST `errorMessage` column
35
+ * on `ExportJobSchema` — wire payloads prefer short names. It is `.optional()`
36
+ * (omitted when absent) rather than `.nullable()` to keep the wire lighter,
37
+ * unlike the REST field which uses `null`.
38
+ */
39
+ exports.ExportStatusChangedSchema = zod_1.z.object({
40
+ jobId: zod_1.z.string().uuid(),
41
+ status: export_jobs_contract_1.ExportStatusSchema,
42
+ error: zod_1.z.string().optional(),
43
+ });
44
+ /** Payload for 'export:progress'. Throttled to one event per 2s per job, server-side. */
45
+ exports.ExportProgressSchema = zod_1.z.object({
46
+ jobId: zod_1.z.string().uuid(),
47
+ rowsProcessed: zod_1.z.number().int().nonnegative(),
48
+ rowsSkipped: zod_1.z.number().int().nonnegative(),
49
+ totalRows: zod_1.z.number().int().nullable(),
50
+ });
51
+ /** Payload for 'export:completed'. Emitted on successful completion only; failure / cancellation use 'export:status-changed'. */
52
+ exports.ExportCompletedSchema = zod_1.z.object({
53
+ jobId: zod_1.z.string().uuid(),
54
+ rowCount: zod_1.z.number().int().nonnegative(),
55
+ fileSize: zod_1.z.number().int().nonnegative().nullable(),
56
+ });