@rippling/rippling-sdk 0.2.0-alpha.85 → 0.2.0-alpha.87

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 (577) hide show
  1. package/client.d.mts +15 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +15 -0
  4. package/client.d.ts.map +1 -1
  5. package/client.js +15 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +15 -0
  8. package/client.mjs.map +1 -1
  9. package/core/platform/custom-objects/category.d.mts +125 -0
  10. package/core/platform/custom-objects/category.d.mts.map +1 -0
  11. package/core/platform/custom-objects/category.d.ts +125 -0
  12. package/core/platform/custom-objects/category.d.ts.map +1 -0
  13. package/core/platform/custom-objects/category.js +188 -0
  14. package/core/platform/custom-objects/category.js.map +1 -0
  15. package/core/platform/custom-objects/category.mjs +178 -0
  16. package/core/platform/custom-objects/category.mjs.map +1 -0
  17. package/core/platform/custom-objects/definition.d.mts +147 -0
  18. package/core/platform/custom-objects/definition.d.mts.map +1 -0
  19. package/core/platform/custom-objects/definition.d.ts +147 -0
  20. package/core/platform/custom-objects/definition.d.ts.map +1 -0
  21. package/core/platform/custom-objects/definition.js +200 -0
  22. package/core/platform/custom-objects/definition.js.map +1 -0
  23. package/core/platform/custom-objects/definition.mjs +190 -0
  24. package/core/platform/custom-objects/definition.mjs.map +1 -0
  25. package/core/platform/custom-objects/fields.d.mts +302 -0
  26. package/core/platform/custom-objects/fields.d.mts.map +1 -0
  27. package/core/platform/custom-objects/fields.d.ts +302 -0
  28. package/core/platform/custom-objects/fields.d.ts.map +1 -0
  29. package/core/platform/custom-objects/fields.js +369 -0
  30. package/core/platform/custom-objects/fields.js.map +1 -0
  31. package/core/platform/custom-objects/fields.mjs +347 -0
  32. package/core/platform/custom-objects/fields.mjs.map +1 -0
  33. package/core/platform/custom-objects/function-runtime.d.mts +42 -0
  34. package/core/platform/custom-objects/function-runtime.d.mts.map +1 -0
  35. package/core/platform/custom-objects/function-runtime.d.ts +42 -0
  36. package/core/platform/custom-objects/function-runtime.d.ts.map +1 -0
  37. package/core/platform/custom-objects/function-runtime.js +38 -0
  38. package/core/platform/custom-objects/function-runtime.js.map +1 -0
  39. package/core/platform/custom-objects/function-runtime.mjs +35 -0
  40. package/core/platform/custom-objects/function-runtime.mjs.map +1 -0
  41. package/core/platform/custom-objects/lifecycle.d.mts +83 -0
  42. package/core/platform/custom-objects/lifecycle.d.mts.map +1 -0
  43. package/core/platform/custom-objects/lifecycle.d.ts +83 -0
  44. package/core/platform/custom-objects/lifecycle.d.ts.map +1 -0
  45. package/core/platform/custom-objects/lifecycle.js +372 -0
  46. package/core/platform/custom-objects/lifecycle.js.map +1 -0
  47. package/core/platform/custom-objects/lifecycle.mjs +367 -0
  48. package/core/platform/custom-objects/lifecycle.mjs.map +1 -0
  49. package/core/platform/custom-objects/manager.d.mts +354 -0
  50. package/core/platform/custom-objects/manager.d.mts.map +1 -0
  51. package/core/platform/custom-objects/manager.d.ts +354 -0
  52. package/core/platform/custom-objects/manager.d.ts.map +1 -0
  53. package/core/platform/custom-objects/manager.js +646 -0
  54. package/core/platform/custom-objects/manager.js.map +1 -0
  55. package/core/platform/custom-objects/manager.mjs +637 -0
  56. package/core/platform/custom-objects/manager.mjs.map +1 -0
  57. package/core/platform/custom-objects/provisioning.d.mts +138 -0
  58. package/core/platform/custom-objects/provisioning.d.mts.map +1 -0
  59. package/core/platform/custom-objects/provisioning.d.ts +138 -0
  60. package/core/platform/custom-objects/provisioning.d.ts.map +1 -0
  61. package/core/platform/custom-objects/provisioning.js +455 -0
  62. package/core/platform/custom-objects/provisioning.js.map +1 -0
  63. package/core/platform/custom-objects/provisioning.mjs +447 -0
  64. package/core/platform/custom-objects/provisioning.mjs.map +1 -0
  65. package/core/platform/custom-objects/rql.d.mts +122 -0
  66. package/core/platform/custom-objects/rql.d.mts.map +1 -0
  67. package/core/platform/custom-objects/rql.d.ts +122 -0
  68. package/core/platform/custom-objects/rql.d.ts.map +1 -0
  69. package/core/platform/custom-objects/rql.js +225 -0
  70. package/core/platform/custom-objects/rql.js.map +1 -0
  71. package/core/platform/custom-objects/rql.mjs +222 -0
  72. package/core/platform/custom-objects/rql.mjs.map +1 -0
  73. package/core/platform/custom-objects/schema-manager.d.mts +203 -0
  74. package/core/platform/custom-objects/schema-manager.d.mts.map +1 -0
  75. package/core/platform/custom-objects/schema-manager.d.ts +203 -0
  76. package/core/platform/custom-objects/schema-manager.d.ts.map +1 -0
  77. package/core/platform/custom-objects/schema-manager.js +256 -0
  78. package/core/platform/custom-objects/schema-manager.js.map +1 -0
  79. package/core/platform/custom-objects/schema-manager.mjs +249 -0
  80. package/core/platform/custom-objects/schema-manager.mjs.map +1 -0
  81. package/core/platform/custom-objects/typed-rql.d.mts +157 -0
  82. package/core/platform/custom-objects/typed-rql.d.mts.map +1 -0
  83. package/core/platform/custom-objects/typed-rql.d.ts +157 -0
  84. package/core/platform/custom-objects/typed-rql.d.ts.map +1 -0
  85. package/core/platform/custom-objects/typed-rql.js +583 -0
  86. package/core/platform/custom-objects/typed-rql.js.map +1 -0
  87. package/core/platform/custom-objects/typed-rql.mjs +580 -0
  88. package/core/platform/custom-objects/typed-rql.mjs.map +1 -0
  89. package/core/platform/custom-objects/types.d.mts +549 -0
  90. package/core/platform/custom-objects/types.d.mts.map +1 -0
  91. package/core/platform/custom-objects/types.d.ts +549 -0
  92. package/core/platform/custom-objects/types.d.ts.map +1 -0
  93. package/core/platform/custom-objects/types.js +20 -0
  94. package/core/platform/custom-objects/types.js.map +1 -0
  95. package/core/platform/custom-objects/types.mjs +17 -0
  96. package/core/platform/custom-objects/types.mjs.map +1 -0
  97. package/core/platform/custom-objects/validation.d.mts +97 -0
  98. package/core/platform/custom-objects/validation.d.mts.map +1 -0
  99. package/core/platform/custom-objects/validation.d.ts +97 -0
  100. package/core/platform/custom-objects/validation.d.ts.map +1 -0
  101. package/core/platform/custom-objects/validation.js +477 -0
  102. package/core/platform/custom-objects/validation.js.map +1 -0
  103. package/core/platform/custom-objects/validation.mjs +465 -0
  104. package/core/platform/custom-objects/validation.mjs.map +1 -0
  105. package/core/platform/custom-objects.d.mts +67 -0
  106. package/core/platform/custom-objects.d.mts.map +1 -0
  107. package/core/platform/custom-objects.d.ts +67 -0
  108. package/core/platform/custom-objects.d.ts.map +1 -0
  109. package/core/platform/custom-objects.js +118 -0
  110. package/core/platform/custom-objects.js.map +1 -0
  111. package/core/platform/custom-objects.mjs +45 -0
  112. package/core/platform/custom-objects.mjs.map +1 -0
  113. package/lib/leave-programs/advanced.d.mts +5 -0
  114. package/lib/leave-programs/advanced.d.mts.map +1 -0
  115. package/lib/leave-programs/advanced.d.ts +5 -0
  116. package/lib/leave-programs/advanced.d.ts.map +1 -0
  117. package/lib/leave-programs/advanced.js +13 -0
  118. package/lib/leave-programs/advanced.js.map +1 -0
  119. package/lib/leave-programs/advanced.mjs +4 -0
  120. package/lib/leave-programs/advanced.mjs.map +1 -0
  121. package/lib/leave-programs/context.d.mts +3 -0
  122. package/lib/leave-programs/context.d.mts.map +1 -0
  123. package/lib/leave-programs/context.d.ts +3 -0
  124. package/lib/leave-programs/context.d.ts.map +1 -0
  125. package/lib/leave-programs/context.js +89 -0
  126. package/lib/leave-programs/context.js.map +1 -0
  127. package/lib/leave-programs/context.mjs +86 -0
  128. package/lib/leave-programs/context.mjs.map +1 -0
  129. package/lib/leave-programs/define-company-leave-program.d.mts +3 -0
  130. package/lib/leave-programs/define-company-leave-program.d.mts.map +1 -0
  131. package/lib/leave-programs/define-company-leave-program.d.ts +3 -0
  132. package/lib/leave-programs/define-company-leave-program.d.ts.map +1 -0
  133. package/lib/leave-programs/define-company-leave-program.js +47 -0
  134. package/lib/leave-programs/define-company-leave-program.js.map +1 -0
  135. package/lib/leave-programs/define-company-leave-program.mjs +44 -0
  136. package/lib/leave-programs/define-company-leave-program.mjs.map +1 -0
  137. package/lib/leave-programs/duration.d.mts +5 -0
  138. package/lib/leave-programs/duration.d.mts.map +1 -0
  139. package/lib/leave-programs/duration.d.ts +5 -0
  140. package/lib/leave-programs/duration.d.ts.map +1 -0
  141. package/lib/leave-programs/duration.js +21 -0
  142. package/lib/leave-programs/duration.js.map +1 -0
  143. package/lib/leave-programs/duration.mjs +16 -0
  144. package/lib/leave-programs/duration.mjs.map +1 -0
  145. package/lib/leave-programs/pay.d.mts +4 -0
  146. package/lib/leave-programs/pay.d.mts.map +1 -0
  147. package/lib/leave-programs/pay.d.ts +4 -0
  148. package/lib/leave-programs/pay.d.ts.map +1 -0
  149. package/lib/leave-programs/pay.js +20 -0
  150. package/lib/leave-programs/pay.js.map +1 -0
  151. package/lib/leave-programs/pay.mjs +16 -0
  152. package/lib/leave-programs/pay.mjs.map +1 -0
  153. package/lib/leave-programs/policy-builder.d.mts +20 -0
  154. package/lib/leave-programs/policy-builder.d.mts.map +1 -0
  155. package/lib/leave-programs/policy-builder.d.ts +20 -0
  156. package/lib/leave-programs/policy-builder.d.ts.map +1 -0
  157. package/lib/leave-programs/policy-builder.js +89 -0
  158. package/lib/leave-programs/policy-builder.js.map +1 -0
  159. package/lib/leave-programs/policy-builder.mjs +85 -0
  160. package/lib/leave-programs/policy-builder.mjs.map +1 -0
  161. package/lib/leave-programs/recipes/parental-top-up-policy.d.mts +25 -0
  162. package/lib/leave-programs/recipes/parental-top-up-policy.d.mts.map +1 -0
  163. package/lib/leave-programs/recipes/parental-top-up-policy.d.ts +25 -0
  164. package/lib/leave-programs/recipes/parental-top-up-policy.d.ts.map +1 -0
  165. package/lib/leave-programs/recipes/parental-top-up-policy.js +56 -0
  166. package/lib/leave-programs/recipes/parental-top-up-policy.js.map +1 -0
  167. package/lib/leave-programs/recipes/parental-top-up-policy.mjs +53 -0
  168. package/lib/leave-programs/recipes/parental-top-up-policy.mjs.map +1 -0
  169. package/lib/leave-programs/testing.d.mts +8 -0
  170. package/lib/leave-programs/testing.d.mts.map +1 -0
  171. package/lib/leave-programs/testing.d.ts +8 -0
  172. package/lib/leave-programs/testing.d.ts.map +1 -0
  173. package/lib/leave-programs/testing.js +11 -0
  174. package/lib/leave-programs/testing.js.map +1 -0
  175. package/lib/leave-programs/testing.mjs +7 -0
  176. package/lib/leave-programs/testing.mjs.map +1 -0
  177. package/lib/leave-programs/types.d.mts +223 -0
  178. package/lib/leave-programs/types.d.mts.map +1 -0
  179. package/lib/leave-programs/types.d.ts +223 -0
  180. package/lib/leave-programs/types.d.ts.map +1 -0
  181. package/lib/leave-programs/types.js +10 -0
  182. package/lib/leave-programs/types.js.map +1 -0
  183. package/lib/leave-programs/types.mjs +7 -0
  184. package/lib/leave-programs/types.mjs.map +1 -0
  185. package/lib/leave-programs.d.mts +7 -0
  186. package/lib/leave-programs.d.mts.map +1 -0
  187. package/lib/leave-programs.d.ts +7 -0
  188. package/lib/leave-programs.d.ts.map +1 -0
  189. package/lib/leave-programs.js +19 -0
  190. package/lib/leave-programs.js.map +1 -0
  191. package/lib/leave-programs.mjs +7 -0
  192. package/lib/leave-programs.mjs.map +1 -0
  193. package/package.json +1 -1
  194. package/resources/agents/agents.d.mts +208 -0
  195. package/resources/agents/agents.d.mts.map +1 -0
  196. package/resources/agents/agents.d.ts +208 -0
  197. package/resources/agents/agents.d.ts.map +1 -0
  198. package/resources/agents/agents.js +64 -0
  199. package/resources/agents/agents.js.map +1 -0
  200. package/resources/agents/agents.mjs +59 -0
  201. package/resources/agents/agents.mjs.map +1 -0
  202. package/resources/agents/deployments.d.mts +180 -0
  203. package/resources/agents/deployments.d.mts.map +1 -0
  204. package/resources/agents/deployments.d.ts +180 -0
  205. package/resources/agents/deployments.d.ts.map +1 -0
  206. package/resources/agents/deployments.js +32 -0
  207. package/resources/agents/deployments.js.map +1 -0
  208. package/resources/agents/deployments.mjs +28 -0
  209. package/resources/agents/deployments.mjs.map +1 -0
  210. package/resources/agents/index.d.mts +5 -0
  211. package/resources/agents/index.d.mts.map +1 -0
  212. package/resources/agents/index.d.ts +5 -0
  213. package/resources/agents/index.d.ts.map +1 -0
  214. package/resources/agents/index.js +13 -0
  215. package/resources/agents/index.js.map +1 -0
  216. package/resources/agents/index.mjs +6 -0
  217. package/resources/agents/index.mjs.map +1 -0
  218. package/resources/agents/sessions/events.d.mts +80 -0
  219. package/resources/agents/sessions/events.d.mts.map +1 -0
  220. package/resources/agents/sessions/events.d.ts +80 -0
  221. package/resources/agents/sessions/events.d.ts.map +1 -0
  222. package/resources/agents/sessions/events.js +19 -0
  223. package/resources/agents/sessions/events.js.map +1 -0
  224. package/resources/agents/sessions/events.mjs +15 -0
  225. package/resources/agents/sessions/events.mjs.map +1 -0
  226. package/resources/agents/sessions/index.d.mts +3 -0
  227. package/resources/agents/sessions/index.d.mts.map +1 -0
  228. package/resources/agents/sessions/index.d.ts +3 -0
  229. package/resources/agents/sessions/index.d.ts.map +1 -0
  230. package/resources/agents/sessions/index.js +9 -0
  231. package/resources/agents/sessions/index.js.map +1 -0
  232. package/resources/agents/sessions/index.mjs +4 -0
  233. package/resources/agents/sessions/index.mjs.map +1 -0
  234. package/resources/agents/sessions/sessions.d.mts +153 -0
  235. package/resources/agents/sessions/sessions.d.mts.map +1 -0
  236. package/resources/agents/sessions/sessions.d.ts +153 -0
  237. package/resources/agents/sessions/sessions.d.ts.map +1 -0
  238. package/resources/agents/sessions/sessions.js +44 -0
  239. package/resources/agents/sessions/sessions.js.map +1 -0
  240. package/resources/agents/sessions/sessions.mjs +39 -0
  241. package/resources/agents/sessions/sessions.mjs.map +1 -0
  242. package/resources/agents/sessions.d.mts +2 -0
  243. package/resources/agents/sessions.d.mts.map +1 -0
  244. package/resources/agents/sessions.d.ts +2 -0
  245. package/resources/agents/sessions.d.ts.map +1 -0
  246. package/resources/agents/sessions.js +6 -0
  247. package/resources/agents/sessions.js.map +1 -0
  248. package/resources/agents/sessions.mjs +3 -0
  249. package/resources/agents/sessions.mjs.map +1 -0
  250. package/resources/agents/source-revisions.d.mts +195 -0
  251. package/resources/agents/source-revisions.d.mts.map +1 -0
  252. package/resources/agents/source-revisions.d.ts +195 -0
  253. package/resources/agents/source-revisions.d.ts.map +1 -0
  254. package/resources/agents/source-revisions.js +32 -0
  255. package/resources/agents/source-revisions.js.map +1 -0
  256. package/resources/agents/source-revisions.mjs +28 -0
  257. package/resources/agents/source-revisions.mjs.map +1 -0
  258. package/resources/agents.d.mts +2 -0
  259. package/resources/agents.d.mts.map +1 -0
  260. package/resources/agents.d.ts +2 -0
  261. package/resources/agents.d.ts.map +1 -0
  262. package/resources/agents.js +6 -0
  263. package/resources/agents.js.map +1 -0
  264. package/resources/agents.mjs +3 -0
  265. package/resources/agents.mjs.map +1 -0
  266. package/resources/break-policies.d.mts +1 -1
  267. package/resources/break-policies.d.ts +1 -1
  268. package/resources/break-policies.js +1 -1
  269. package/resources/break-policies.mjs +1 -1
  270. package/resources/break-types.d.mts +1 -1
  271. package/resources/break-types.d.ts +1 -1
  272. package/resources/break-types.js +1 -1
  273. package/resources/break-types.mjs +1 -1
  274. package/resources/business-structure-paths.d.mts +1 -1
  275. package/resources/business-structure-paths.d.ts +1 -1
  276. package/resources/business-structure-paths.js +1 -1
  277. package/resources/business-structure-paths.mjs +1 -1
  278. package/resources/candidate-applications.d.mts +1 -1
  279. package/resources/candidate-applications.d.ts +1 -1
  280. package/resources/candidate-applications.js +1 -1
  281. package/resources/candidate-applications.mjs +1 -1
  282. package/resources/candidates.d.mts +1 -1
  283. package/resources/candidates.d.ts +1 -1
  284. package/resources/candidates.js +1 -1
  285. package/resources/candidates.mjs +1 -1
  286. package/resources/company-legal-entities.d.mts +1 -1
  287. package/resources/company-legal-entities.d.ts +1 -1
  288. package/resources/company-legal-entities.js +1 -1
  289. package/resources/company-legal-entities.mjs +1 -1
  290. package/resources/company-legal-entity-workers.d.mts +1 -1
  291. package/resources/company-legal-entity-workers.d.ts +1 -1
  292. package/resources/company-legal-entity-workers.js +1 -1
  293. package/resources/company-legal-entity-workers.mjs +1 -1
  294. package/resources/compensation-bands-details.d.mts +1 -1
  295. package/resources/compensation-bands-details.d.ts +1 -1
  296. package/resources/compensation-bands-details.js +1 -1
  297. package/resources/compensation-bands-details.mjs +1 -1
  298. package/resources/compensations.d.mts +1 -1
  299. package/resources/compensations.d.ts +1 -1
  300. package/resources/compensations.js +1 -1
  301. package/resources/compensations.mjs +1 -1
  302. package/resources/custom-objects/custom-objects.d.mts +7 -0
  303. package/resources/custom-objects/custom-objects.d.mts.map +1 -1
  304. package/resources/custom-objects/custom-objects.d.ts +7 -0
  305. package/resources/custom-objects/custom-objects.d.ts.map +1 -1
  306. package/resources/custom-objects/custom-objects.js.map +1 -1
  307. package/resources/custom-objects/custom-objects.mjs.map +1 -1
  308. package/resources/custom-objects/fields.d.mts +129 -54
  309. package/resources/custom-objects/fields.d.mts.map +1 -1
  310. package/resources/custom-objects/fields.d.ts +129 -54
  311. package/resources/custom-objects/fields.d.ts.map +1 -1
  312. package/resources/device-orders.d.mts +1 -1
  313. package/resources/device-orders.d.ts +1 -1
  314. package/resources/device-orders.js +1 -1
  315. package/resources/device-orders.mjs +1 -1
  316. package/resources/devices.d.mts +1 -1
  317. package/resources/devices.d.ts +1 -1
  318. package/resources/devices.js +1 -1
  319. package/resources/devices.mjs +1 -1
  320. package/resources/functions/deployments.d.mts +2 -2
  321. package/resources/functions/deployments.d.ts +2 -2
  322. package/resources/functions/deployments.js +2 -2
  323. package/resources/functions/deployments.mjs +2 -2
  324. package/resources/functions/executions.d.mts +2 -2
  325. package/resources/functions/executions.d.ts +2 -2
  326. package/resources/functions/executions.js +2 -2
  327. package/resources/functions/executions.mjs +2 -2
  328. package/resources/functions/functions.d.mts +1 -1
  329. package/resources/functions/functions.d.ts +1 -1
  330. package/resources/functions/functions.js +1 -1
  331. package/resources/functions/functions.mjs +1 -1
  332. package/resources/headcount-positions.d.mts +1 -1
  333. package/resources/headcount-positions.d.ts +1 -1
  334. package/resources/headcount-positions.js +1 -1
  335. package/resources/headcount-positions.mjs +1 -1
  336. package/resources/headcount-priorities.d.mts +1 -1
  337. package/resources/headcount-priorities.d.ts +1 -1
  338. package/resources/headcount-priorities.js +1 -1
  339. package/resources/headcount-priorities.mjs +1 -1
  340. package/resources/index.d.mts +3 -0
  341. package/resources/index.d.mts.map +1 -1
  342. package/resources/index.d.ts +3 -0
  343. package/resources/index.d.ts.map +1 -1
  344. package/resources/index.js +8 -2
  345. package/resources/index.js.map +1 -1
  346. package/resources/index.mjs +3 -0
  347. package/resources/index.mjs.map +1 -1
  348. package/resources/job-assignments.d.mts +2 -2
  349. package/resources/job-assignments.d.ts +2 -2
  350. package/resources/job-assignments.js +2 -2
  351. package/resources/job-assignments.mjs +2 -2
  352. package/resources/job-codes.d.mts +2 -2
  353. package/resources/job-codes.d.ts +2 -2
  354. package/resources/job-codes.js +2 -2
  355. package/resources/job-codes.mjs +2 -2
  356. package/resources/job-dimensions.d.mts +1 -1
  357. package/resources/job-dimensions.d.ts +1 -1
  358. package/resources/job-dimensions.js +1 -1
  359. package/resources/job-dimensions.mjs +1 -1
  360. package/resources/job-pay-rate-exceptions.d.mts +2 -2
  361. package/resources/job-pay-rate-exceptions.d.ts +2 -2
  362. package/resources/job-pay-rate-exceptions.js +2 -2
  363. package/resources/job-pay-rate-exceptions.mjs +2 -2
  364. package/resources/job-requisitions.d.mts +1 -1
  365. package/resources/job-requisitions.d.ts +1 -1
  366. package/resources/job-requisitions.js +1 -1
  367. package/resources/job-requisitions.mjs +1 -1
  368. package/resources/kiosk-badges.d.mts +1 -1
  369. package/resources/kiosk-badges.d.ts +1 -1
  370. package/resources/kiosk-badges.js +1 -1
  371. package/resources/kiosk-badges.mjs +1 -1
  372. package/resources/leave-accruals.d.mts +1 -1
  373. package/resources/leave-accruals.d.ts +1 -1
  374. package/resources/leave-accruals.js +1 -1
  375. package/resources/leave-accruals.mjs +1 -1
  376. package/resources/leave-balances.d.mts +1 -1
  377. package/resources/leave-balances.d.ts +1 -1
  378. package/resources/leave-balances.js +1 -1
  379. package/resources/leave-balances.mjs +1 -1
  380. package/resources/leave-requests.d.mts +1 -1
  381. package/resources/leave-requests.d.ts +1 -1
  382. package/resources/leave-requests.js +1 -1
  383. package/resources/leave-requests.mjs +1 -1
  384. package/resources/leave-types.d.mts +1 -1
  385. package/resources/leave-types.d.ts +1 -1
  386. package/resources/leave-types.js +1 -1
  387. package/resources/leave-types.mjs +1 -1
  388. package/resources/legal-entities.d.mts +1 -1
  389. package/resources/legal-entities.d.ts +1 -1
  390. package/resources/legal-entities.js +1 -1
  391. package/resources/legal-entities.mjs +1 -1
  392. package/resources/levels.d.mts +26 -5
  393. package/resources/levels.d.mts.map +1 -1
  394. package/resources/levels.d.ts +26 -5
  395. package/resources/levels.d.ts.map +1 -1
  396. package/resources/levels.js +1 -1
  397. package/resources/levels.mjs +1 -1
  398. package/resources/location-factors.d.mts +1 -1
  399. package/resources/location-factors.d.ts +1 -1
  400. package/resources/location-factors.js +1 -1
  401. package/resources/location-factors.mjs +1 -1
  402. package/resources/packages/index.d.mts +3 -0
  403. package/resources/packages/index.d.mts.map +1 -0
  404. package/resources/packages/index.d.ts +3 -0
  405. package/resources/packages/index.d.ts.map +1 -0
  406. package/resources/packages/index.js +9 -0
  407. package/resources/packages/index.js.map +1 -0
  408. package/resources/packages/index.mjs +4 -0
  409. package/resources/packages/index.mjs.map +1 -0
  410. package/resources/packages/packages.d.mts +239 -0
  411. package/resources/packages/packages.d.mts.map +1 -0
  412. package/resources/packages/packages.d.ts +239 -0
  413. package/resources/packages/packages.d.ts.map +1 -0
  414. package/resources/packages/packages.js +60 -0
  415. package/resources/packages/packages.js.map +1 -0
  416. package/resources/packages/packages.mjs +55 -0
  417. package/resources/packages/packages.mjs.map +1 -0
  418. package/resources/packages/versions.d.mts +72 -0
  419. package/resources/packages/versions.d.mts.map +1 -0
  420. package/resources/packages/versions.d.ts +72 -0
  421. package/resources/packages/versions.d.ts.map +1 -0
  422. package/resources/packages/versions.js +19 -0
  423. package/resources/packages/versions.js.map +1 -0
  424. package/resources/packages/versions.mjs +15 -0
  425. package/resources/packages/versions.mjs.map +1 -0
  426. package/resources/packages.d.mts +2 -0
  427. package/resources/packages.d.mts.map +1 -0
  428. package/resources/packages.d.ts +2 -0
  429. package/resources/packages.d.ts.map +1 -0
  430. package/resources/packages.js +6 -0
  431. package/resources/packages.js.map +1 -0
  432. package/resources/packages.mjs +3 -0
  433. package/resources/packages.mjs.map +1 -0
  434. package/resources/scheduled-job-assignments.d.mts +1 -1
  435. package/resources/scheduled-job-assignments.d.ts +1 -1
  436. package/resources/scheduled-job-assignments.js +1 -1
  437. package/resources/scheduled-job-assignments.mjs +1 -1
  438. package/resources/schedules.d.mts +1 -1
  439. package/resources/schedules.d.ts +1 -1
  440. package/resources/schedules.js +1 -1
  441. package/resources/schedules.mjs +1 -1
  442. package/resources/shift-assignments.d.mts +1 -1
  443. package/resources/shift-assignments.d.ts +1 -1
  444. package/resources/shift-assignments.js +1 -1
  445. package/resources/shift-assignments.mjs +1 -1
  446. package/resources/shift-inputs.d.mts +1 -1
  447. package/resources/shift-inputs.d.ts +1 -1
  448. package/resources/shift-inputs.js +1 -1
  449. package/resources/shift-inputs.mjs +1 -1
  450. package/resources/shiftassignments.d.mts +1 -1
  451. package/resources/shiftassignments.d.ts +1 -1
  452. package/resources/shiftassignments.js +1 -1
  453. package/resources/shiftassignments.mjs +1 -1
  454. package/resources/sites.d.mts +572 -0
  455. package/resources/sites.d.mts.map +1 -0
  456. package/resources/sites.d.ts +572 -0
  457. package/resources/sites.d.ts.map +1 -0
  458. package/resources/sites.js +154 -0
  459. package/resources/sites.js.map +1 -0
  460. package/resources/sites.mjs +150 -0
  461. package/resources/sites.mjs.map +1 -0
  462. package/resources/software-deployments.d.mts +1 -1
  463. package/resources/software-deployments.d.ts +1 -1
  464. package/resources/software-deployments.js +1 -1
  465. package/resources/software-deployments.mjs +1 -1
  466. package/resources/time-cards.d.mts +1 -1
  467. package/resources/time-cards.d.ts +1 -1
  468. package/resources/time-cards.js +1 -1
  469. package/resources/time-cards.mjs +1 -1
  470. package/resources/time-entries.d.mts +1 -1
  471. package/resources/time-entries.d.ts +1 -1
  472. package/resources/time-entries.js +1 -1
  473. package/resources/time-entries.mjs +1 -1
  474. package/resources/tracks.d.mts +1 -1
  475. package/resources/tracks.d.ts +1 -1
  476. package/resources/tracks.js +1 -1
  477. package/resources/tracks.mjs +1 -1
  478. package/resources/unassigned-shifts.d.mts +2 -2
  479. package/resources/unassigned-shifts.d.ts +2 -2
  480. package/resources/unassigned-shifts.js +2 -2
  481. package/resources/unassigned-shifts.mjs +2 -2
  482. package/resources/unassignedshifts.d.mts +1 -1
  483. package/resources/unassignedshifts.d.ts +1 -1
  484. package/resources/unassignedshifts.js +1 -1
  485. package/resources/unassignedshifts.mjs +1 -1
  486. package/resources/worker-time-splits.d.mts +1 -1
  487. package/resources/worker-time-splits.d.ts +1 -1
  488. package/resources/worker-time-splits.js +1 -1
  489. package/resources/worker-time-splits.mjs +1 -1
  490. package/src/client.ts +91 -0
  491. package/src/core/platform/custom-objects/category.ts +294 -0
  492. package/src/core/platform/custom-objects/definition.ts +373 -0
  493. package/src/core/platform/custom-objects/fields.ts +653 -0
  494. package/src/core/platform/custom-objects/function-runtime.ts +76 -0
  495. package/src/core/platform/custom-objects/lifecycle.ts +557 -0
  496. package/src/core/platform/custom-objects/manager.ts +959 -0
  497. package/src/core/platform/custom-objects/provisioning.ts +672 -0
  498. package/src/core/platform/custom-objects/rql.ts +375 -0
  499. package/src/core/platform/custom-objects/schema-manager.ts +351 -0
  500. package/src/core/platform/custom-objects/typed-rql.ts +1273 -0
  501. package/src/core/platform/custom-objects/types.ts +753 -0
  502. package/src/core/platform/custom-objects/validation.ts +573 -0
  503. package/src/core/platform/custom-objects.ts +269 -0
  504. package/src/lib/leave-programs/README.md +160 -0
  505. package/src/lib/leave-programs/advanced.ts +11 -0
  506. package/src/lib/leave-programs/context.ts +101 -0
  507. package/src/lib/leave-programs/define-company-leave-program.ts +58 -0
  508. package/src/lib/leave-programs/duration.ts +20 -0
  509. package/src/lib/leave-programs/pay.ts +18 -0
  510. package/src/lib/leave-programs/policy-builder.ts +113 -0
  511. package/src/lib/leave-programs/recipes/parental-top-up-policy.ts +85 -0
  512. package/src/lib/leave-programs/testing.ts +16 -0
  513. package/src/lib/leave-programs/types.ts +274 -0
  514. package/src/lib/leave-programs.ts +35 -0
  515. package/src/resources/agents/agents.ts +340 -0
  516. package/src/resources/agents/deployments.ts +249 -0
  517. package/src/resources/agents/index.ts +40 -0
  518. package/src/resources/agents/sessions/events.ts +107 -0
  519. package/src/resources/agents/sessions/index.ts +12 -0
  520. package/src/resources/agents/sessions/sessions.ts +216 -0
  521. package/src/resources/agents/sessions.ts +3 -0
  522. package/src/resources/agents/source-revisions.ts +267 -0
  523. package/src/resources/agents.ts +3 -0
  524. package/src/resources/break-policies.ts +1 -1
  525. package/src/resources/break-types.ts +1 -1
  526. package/src/resources/business-structure-paths.ts +1 -1
  527. package/src/resources/candidate-applications.ts +1 -1
  528. package/src/resources/candidates.ts +1 -1
  529. package/src/resources/company-legal-entities.ts +1 -1
  530. package/src/resources/company-legal-entity-workers.ts +1 -1
  531. package/src/resources/compensation-bands-details.ts +1 -1
  532. package/src/resources/compensations.ts +1 -1
  533. package/src/resources/custom-objects/custom-objects.ts +8 -0
  534. package/src/resources/custom-objects/fields.ts +192 -59
  535. package/src/resources/device-orders.ts +1 -1
  536. package/src/resources/devices.ts +1 -1
  537. package/src/resources/functions/deployments.ts +2 -2
  538. package/src/resources/functions/executions.ts +2 -2
  539. package/src/resources/functions/functions.ts +1 -1
  540. package/src/resources/headcount-positions.ts +1 -1
  541. package/src/resources/headcount-priorities.ts +1 -1
  542. package/src/resources/index.ts +38 -0
  543. package/src/resources/job-assignments.ts +2 -2
  544. package/src/resources/job-codes.ts +2 -2
  545. package/src/resources/job-dimensions.ts +1 -1
  546. package/src/resources/job-pay-rate-exceptions.ts +2 -2
  547. package/src/resources/job-requisitions.ts +1 -1
  548. package/src/resources/kiosk-badges.ts +1 -1
  549. package/src/resources/leave-accruals.ts +1 -1
  550. package/src/resources/leave-balances.ts +1 -1
  551. package/src/resources/leave-requests.ts +1 -1
  552. package/src/resources/leave-types.ts +1 -1
  553. package/src/resources/legal-entities.ts +1 -1
  554. package/src/resources/levels.ts +29 -5
  555. package/src/resources/location-factors.ts +1 -1
  556. package/src/resources/packages/index.ts +14 -0
  557. package/src/resources/packages/packages.ts +329 -0
  558. package/src/resources/packages/versions.ts +98 -0
  559. package/src/resources/packages.ts +3 -0
  560. package/src/resources/scheduled-job-assignments.ts +1 -1
  561. package/src/resources/schedules.ts +1 -1
  562. package/src/resources/shift-assignments.ts +1 -1
  563. package/src/resources/shift-inputs.ts +1 -1
  564. package/src/resources/shiftassignments.ts +1 -1
  565. package/src/resources/sites.ts +736 -0
  566. package/src/resources/software-deployments.ts +1 -1
  567. package/src/resources/time-cards.ts +1 -1
  568. package/src/resources/time-entries.ts +1 -1
  569. package/src/resources/tracks.ts +1 -1
  570. package/src/resources/unassigned-shifts.ts +2 -2
  571. package/src/resources/unassignedshifts.ts +1 -1
  572. package/src/resources/worker-time-splits.ts +1 -1
  573. package/src/version.ts +1 -1
  574. package/version.d.mts +1 -1
  575. package/version.d.ts +1 -1
  576. package/version.js +1 -1
  577. package/version.mjs +1 -1
@@ -0,0 +1,113 @@
1
+ import type {
2
+ AdminTask,
3
+ DurationExpression,
4
+ EntitlementDecision,
5
+ FactRef,
6
+ GrantPaidLeaveOptions,
7
+ MoneyAmount,
8
+ PayDecision,
9
+ PayFixedAmountOptions,
10
+ PayPercentOfPayOptions,
11
+ PercentOfPay,
12
+ PolicyBuilder,
13
+ PolicyBuilderResult,
14
+ PolicyCondition,
15
+ RequireKnownOptions,
16
+ RequirementDecision,
17
+ TopUpToOptions,
18
+ WageReplacementRef,
19
+ } from './types';
20
+
21
+ export class CompanyPolicyBuilder implements PolicyBuilder {
22
+ private readonly conditions: PolicyCondition[] = [];
23
+ private readonly requiredEvidence: PolicyBuilderResult['requiredEvidence'] = [];
24
+ private entitlementDecision: EntitlementDecision | undefined;
25
+ private payDecision: PayDecision = { type: 'NO_COMPANY_PAY' };
26
+ private readonly requirementDecisions: RequirementDecision[] = [];
27
+ private jobProtectionDecision: PolicyBuilderResult['jobProtection'] = 'UNCHANGED';
28
+
29
+ eligibleWhen(condition: PolicyCondition): PolicyBuilder {
30
+ this.conditions.push(condition);
31
+ return this;
32
+ }
33
+
34
+ requireKnown(_fact: FactRef | WageReplacementRef, options: RequireKnownOptions): PolicyBuilder {
35
+ this.requiredEvidence.push({
36
+ key: options.evidenceKey,
37
+ ...(options.message === undefined ? {} : { message: options.message }),
38
+ });
39
+ return this;
40
+ }
41
+
42
+ grantPaidLeave(duration: DurationExpression, options: GrantPaidLeaveOptions = {}): PolicyBuilder {
43
+ this.entitlementDecision = {
44
+ type: 'PAID_LEAVE',
45
+ duration,
46
+ ...(options.leaveType === undefined ? {} : { leaveType: options.leaveType }),
47
+ };
48
+ return this;
49
+ }
50
+
51
+ noCompanyPay(): PolicyBuilder {
52
+ this.payDecision = { type: 'NO_COMPANY_PAY' };
53
+ return this;
54
+ }
55
+
56
+ payFixedAmount(amount: MoneyAmount, options: PayFixedAmountOptions): PolicyBuilder {
57
+ this.payDecision = {
58
+ type: 'FIXED_AMOUNT',
59
+ amount,
60
+ duration: options.duration,
61
+ earningType: options.earningType,
62
+ };
63
+ return this;
64
+ }
65
+
66
+ payPercentOfPay(target: PercentOfPay, options: PayPercentOfPayOptions): PolicyBuilder {
67
+ this.payDecision = {
68
+ type: 'PERCENT_OF_PAY',
69
+ target,
70
+ base: options.base,
71
+ duration: options.duration,
72
+ earningType: options.earningType,
73
+ };
74
+ return this;
75
+ }
76
+
77
+ topUpTo(target: PercentOfPay, options: TopUpToOptions): PolicyBuilder {
78
+ this.payDecision = {
79
+ type: 'MAKE_WHOLE_TOPUP',
80
+ target,
81
+ base: options.base,
82
+ offsetBy: options.offsetBy,
83
+ earningType: options.earningType,
84
+ };
85
+ return this;
86
+ }
87
+
88
+ requireAdminTask(key: AdminTask | string): PolicyBuilder {
89
+ this.requirementDecisions.push({
90
+ type: 'ADMIN_TASK',
91
+ key,
92
+ blocksPayment: false,
93
+ });
94
+ return this;
95
+ }
96
+
97
+ doesNotProvideJobProtection(): PolicyBuilder {
98
+ this.jobProtectionDecision = 'NONE';
99
+ return this;
100
+ }
101
+
102
+ build(): PolicyBuilderResult {
103
+ return {
104
+ conditions: [...this.conditions],
105
+ requiredEvidence: [...this.requiredEvidence],
106
+ ...(this.entitlementDecision === undefined ? {} : { entitlement: this.entitlementDecision }),
107
+ pay: this.payDecision,
108
+ requirements: [...this.requirementDecisions],
109
+ jobProtection: this.jobProtectionDecision,
110
+ diagnostics: [],
111
+ };
112
+ }
113
+ }
@@ -0,0 +1,85 @@
1
+ import { percentOfPay } from '../pay';
2
+ import { AdminTask, type CompanyLeaveProgramDefinitionConfig, type ParentalRelationship } from '../types';
3
+ import { weeks } from '../duration';
4
+
5
+ export interface ParentalTopUpPolicyOptions {
6
+ code: string;
7
+ displayName: string;
8
+ description?: string;
9
+ jurisdiction: {
10
+ country: string;
11
+ subdivisions?: string[];
12
+ };
13
+ appliesTo?: {
14
+ employeeCountry?: string;
15
+ };
16
+ qualifyingLeaveReasons: string[];
17
+ paidWeeksByParentalRelationship: Partial<Record<ParentalRelationship, number>>;
18
+ pay: {
19
+ type: 'MAKE_WHOLE_TOPUP';
20
+ targetPercentOfPay: number;
21
+ offsetByPrograms: string[];
22
+ earningType?: string;
23
+ };
24
+ requirements?: Array<AdminTask | string>;
25
+ leaveType?: string;
26
+ }
27
+
28
+ export function parentalTopUpPolicy(
29
+ options: ParentalTopUpPolicyOptions,
30
+ ): CompanyLeaveProgramDefinitionConfig {
31
+ const requirements = options.requirements ?? [
32
+ AdminTask.ManagerAcknowledgement,
33
+ AdminTask.PaymentRecordReconciliation,
34
+ AdminTask.SeparateFromJobProtection,
35
+ ];
36
+ const earningType = options.pay.earningType ?? 'EMPLOYER_TOPUP_MAKE_WHOLE';
37
+ const leaveType = options.leaveType ?? 'EMPLOYER_PARENTAL_TOPUP';
38
+ const paidWeeksByRelationship = options.paidWeeksByParentalRelationship;
39
+ const employeeCountry = options.appliesTo?.employeeCountry;
40
+
41
+ return {
42
+ code: options.code,
43
+ displayName: options.displayName,
44
+ ...(options.description === undefined ? {} : { description: options.description }),
45
+ jurisdiction: options.jurisdiction,
46
+ dependsOn: options.pay.offsetByPrograms,
47
+ ...(employeeCountry === undefined ?
48
+ {}
49
+ : { appliesTo: (context) => context.employee.country.is(employeeCountry) }),
50
+ evaluate(context) {
51
+ const paidLeaveCases = Object.fromEntries(
52
+ Object.entries(paidWeeksByRelationship).map(([relationship, paidWeeks]) => [
53
+ relationship,
54
+ weeks(paidWeeks ?? 0),
55
+ ]),
56
+ );
57
+
58
+ const builder = context
59
+ .policy()
60
+ .eligibleWhen(context.leave.reason.isOneOf(options.qualifyingLeaveReasons))
61
+ .requireKnown(context.pay.contractualWeeklyPay, {
62
+ evidenceKey: 'weekly_wage',
63
+ message: 'Contractual weekly pay is required to calculate company top-up.',
64
+ })
65
+ .requireKnown(context.programs.wageReplacement(options.pay.offsetByPrograms), {
66
+ evidenceKey: 'upstream_pay_rates',
67
+ message:
68
+ 'Statutory or insurance wage-replacement amounts are required to calculate company top-up.',
69
+ })
70
+ .grantPaidLeave(context.leave.parentalRelationship.match(paidLeaveCases), { leaveType })
71
+ .topUpTo(percentOfPay(options.pay.targetPercentOfPay), {
72
+ base: context.pay.contractualWeeklyPay,
73
+ offsetBy: context.programs.wageReplacement(options.pay.offsetByPrograms),
74
+ earningType,
75
+ })
76
+ .doesNotProvideJobProtection();
77
+
78
+ for (const requirement of requirements) {
79
+ builder.requireAdminTask(requirement);
80
+ }
81
+
82
+ return builder.build();
83
+ },
84
+ };
85
+ }
@@ -0,0 +1,16 @@
1
+ import type { CompanyLeaveProgramResult, CompanyLeaveProgramDefinition } from './types';
2
+
3
+ export interface LeaveProgramScenario {
4
+ name: string;
5
+ expect: Partial<CompanyLeaveProgramResult>;
6
+ }
7
+
8
+ export function scenario(name: string, options: Omit<LeaveProgramScenario, 'name'>): LeaveProgramScenario {
9
+ return { name, ...options };
10
+ }
11
+
12
+ export function evaluateCompanyLeaveProgram(
13
+ definition: CompanyLeaveProgramDefinition,
14
+ ): CompanyLeaveProgramResult {
15
+ return definition.toResult();
16
+ }
@@ -0,0 +1,274 @@
1
+ export type LeaveProgramContractVersion = 'company_leave_program.v1';
2
+
3
+ export type ProgramKind = 'COMPANY_POLICY';
4
+
5
+ export interface LeaveProgramJurisdiction {
6
+ country: string;
7
+ subdivisions?: string[];
8
+ }
9
+
10
+ export interface Duration {
11
+ kind: 'duration';
12
+ amount: number;
13
+ unit: 'HOURS' | 'DAYS' | 'WEEKS';
14
+ }
15
+
16
+ export interface MoneyAmount {
17
+ kind: 'money_amount';
18
+ amount: string;
19
+ currency: string;
20
+ }
21
+
22
+ export interface PercentOfPay {
23
+ kind: 'percent_of_pay';
24
+ percent: number;
25
+ }
26
+
27
+ export interface FactRef {
28
+ kind: 'fact_ref';
29
+ path: string;
30
+ }
31
+
32
+ export interface WageReplacementRef {
33
+ kind: 'wage_replacement_ref';
34
+ programCodes: string[];
35
+ }
36
+
37
+ export interface EvidenceRequirement {
38
+ key: string;
39
+ message?: string;
40
+ }
41
+
42
+ export type PolicyCondition =
43
+ | {
44
+ type: 'employee_country_is';
45
+ country: string;
46
+ }
47
+ | {
48
+ type: 'leave_reason_is_parental';
49
+ }
50
+ | {
51
+ type: 'leave_reason_in';
52
+ values: string[];
53
+ }
54
+ | {
55
+ type: 'tenure_months_match';
56
+ asOf: FactRef;
57
+ tiers: TenureMatchTier[];
58
+ }
59
+ | {
60
+ type: 'advanced_predicate';
61
+ name: string;
62
+ uses: FactRef[];
63
+ };
64
+
65
+ export interface TenureMatchTier {
66
+ gte?: number;
67
+ lt?: number;
68
+ value: Duration;
69
+ }
70
+
71
+ export type DurationExpression =
72
+ | Duration
73
+ | {
74
+ type: 'parental_relationship_duration';
75
+ cases: Partial<Record<ParentalRelationship, Duration>>;
76
+ unknown?: EvidenceRequirement;
77
+ }
78
+ | {
79
+ type: 'tenure_months_duration';
80
+ tiers: TenureMatchTier[];
81
+ }
82
+ | {
83
+ type: 'advanced_duration_formula';
84
+ name: string;
85
+ uses: FactRef[];
86
+ };
87
+
88
+ export type ParentalRelationship =
89
+ | 'birthingParent'
90
+ | 'nonBirthingParent'
91
+ | 'adoptionParent'
92
+ | 'fosterParent'
93
+ | 'supportingPerson';
94
+
95
+ export type PayDecision =
96
+ | {
97
+ type: 'NO_COMPANY_PAY';
98
+ }
99
+ | {
100
+ type: 'FIXED_AMOUNT';
101
+ amount: MoneyAmount;
102
+ duration: DurationExpression;
103
+ earningType: string;
104
+ }
105
+ | {
106
+ type: 'PERCENT_OF_PAY';
107
+ target: PercentOfPay;
108
+ base: FactRef;
109
+ duration: DurationExpression;
110
+ earningType: string;
111
+ }
112
+ | {
113
+ type: 'MAKE_WHOLE_TOPUP';
114
+ target: PercentOfPay;
115
+ base: FactRef;
116
+ offsetBy: WageReplacementRef;
117
+ earningType: string;
118
+ };
119
+
120
+ export interface EntitlementDecision {
121
+ type: 'PAID_LEAVE';
122
+ duration: DurationExpression;
123
+ leaveType?: string;
124
+ }
125
+
126
+ export interface RequirementDecision {
127
+ type: 'ADMIN_TASK';
128
+ key: string;
129
+ blocksPayment: boolean;
130
+ }
131
+
132
+ export interface LeaveProgramDiagnostic {
133
+ code: string;
134
+ message: string;
135
+ }
136
+
137
+ export type AdvancedCapability =
138
+ | 'CUSTOM_ELIGIBILITY_PREDICATE'
139
+ | 'CUSTOM_DURATION_FORMULA'
140
+ | 'CUSTOM_PAY_FORMULA';
141
+
142
+ export interface CompanyLeaveProgramResult {
143
+ contractVersion: LeaveProgramContractVersion;
144
+ program: {
145
+ code: string;
146
+ displayName: string;
147
+ description?: string;
148
+ programKind: ProgramKind;
149
+ jurisdiction: LeaveProgramJurisdiction;
150
+ dependsOn: string[];
151
+ capabilities: AdvancedCapability[];
152
+ };
153
+ appliesTo: PolicyCondition[];
154
+ eligibility: {
155
+ conditions: PolicyCondition[];
156
+ requiredEvidence: EvidenceRequirement[];
157
+ };
158
+ entitlement?: EntitlementDecision;
159
+ pay: PayDecision;
160
+ requirements: RequirementDecision[];
161
+ jobProtection: 'NONE' | 'UNCHANGED';
162
+ diagnostics: LeaveProgramDiagnostic[];
163
+ }
164
+
165
+ export interface CompanyLeaveProgramDefinition {
166
+ readonly contractVersion: LeaveProgramContractVersion;
167
+ readonly code: string;
168
+ readonly displayName: string;
169
+ readonly jurisdiction: LeaveProgramJurisdiction;
170
+ readonly dependsOn: string[];
171
+ toResult(context?: CompanyLeaveProgramContext): CompanyLeaveProgramResult;
172
+ }
173
+
174
+ export interface CompanyLeaveProgramDefinitionConfig {
175
+ code: string;
176
+ displayName: string;
177
+ description?: string;
178
+ jurisdiction: LeaveProgramJurisdiction;
179
+ programKind?: ProgramKind;
180
+ dependsOn?: string[];
181
+ capabilities?: AdvancedCapability[];
182
+ appliesTo?: (context: CompanyLeaveProgramContext) => PolicyCondition | PolicyCondition[];
183
+ evaluate: (context: CompanyLeaveProgramContext) => PolicyBuilderResult;
184
+ }
185
+
186
+ export interface PolicyBuilderResult {
187
+ conditions: PolicyCondition[];
188
+ requiredEvidence: EvidenceRequirement[];
189
+ entitlement?: EntitlementDecision;
190
+ pay: PayDecision;
191
+ requirements: RequirementDecision[];
192
+ jobProtection: 'NONE' | 'UNCHANGED';
193
+ diagnostics: LeaveProgramDiagnostic[];
194
+ }
195
+
196
+ export interface CompanyLeaveProgramContext {
197
+ employee: {
198
+ country: {
199
+ is(country: string): PolicyCondition;
200
+ };
201
+ tenure: {
202
+ monthsAt(asOf: FactRef): {
203
+ match(tiers: TenureMatchTier[]): DurationExpression;
204
+ };
205
+ };
206
+ };
207
+ leave: {
208
+ reason: {
209
+ isParental(): PolicyCondition;
210
+ isOneOf(values: string[]): PolicyCondition;
211
+ };
212
+ startDate: FactRef;
213
+ parentalRelationship: {
214
+ match(
215
+ cases: Partial<Record<ParentalRelationship | 'unknown', Duration | EvidenceRequirement>>,
216
+ ): DurationExpression;
217
+ };
218
+ };
219
+ pay: {
220
+ contractualWeeklyPay: FactRef;
221
+ };
222
+ programs: {
223
+ wageReplacement(programCodes: string[]): WageReplacementRef;
224
+ };
225
+ evidence: {
226
+ require(key: string, message?: string): EvidenceRequirement;
227
+ };
228
+ policy(): PolicyBuilder;
229
+ }
230
+
231
+ export interface TopUpToOptions {
232
+ base: FactRef;
233
+ offsetBy: WageReplacementRef;
234
+ earningType: string;
235
+ }
236
+
237
+ export interface PayPercentOfPayOptions {
238
+ base: FactRef;
239
+ duration: DurationExpression;
240
+ earningType: string;
241
+ }
242
+
243
+ export interface PayFixedAmountOptions {
244
+ duration: DurationExpression;
245
+ earningType: string;
246
+ }
247
+
248
+ export interface GrantPaidLeaveOptions {
249
+ leaveType?: string;
250
+ }
251
+
252
+ export interface RequireKnownOptions {
253
+ evidenceKey: string;
254
+ message?: string;
255
+ }
256
+
257
+ export interface PolicyBuilder {
258
+ eligibleWhen(condition: PolicyCondition): PolicyBuilder;
259
+ requireKnown(fact: FactRef | WageReplacementRef, options: RequireKnownOptions): PolicyBuilder;
260
+ grantPaidLeave(duration: DurationExpression, options?: GrantPaidLeaveOptions): PolicyBuilder;
261
+ noCompanyPay(): PolicyBuilder;
262
+ payFixedAmount(amount: MoneyAmount, options: PayFixedAmountOptions): PolicyBuilder;
263
+ payPercentOfPay(target: PercentOfPay, options: PayPercentOfPayOptions): PolicyBuilder;
264
+ topUpTo(target: PercentOfPay, options: TopUpToOptions): PolicyBuilder;
265
+ requireAdminTask(key: AdminTask | string): PolicyBuilder;
266
+ doesNotProvideJobProtection(): PolicyBuilder;
267
+ build(): PolicyBuilderResult;
268
+ }
269
+
270
+ export enum AdminTask {
271
+ ManagerAcknowledgement = 'manager_acknowledgement',
272
+ PaymentRecordReconciliation = 'payment_record_reconciliation',
273
+ SeparateFromJobProtection = 'separate_from_job_protection',
274
+ }
@@ -0,0 +1,35 @@
1
+ export { defineCompanyLeaveProgram } from './leave-programs/define-company-leave-program';
2
+ export { createCompanyLeaveProgramContext } from './leave-programs/context';
3
+ export { weeks, days, hours } from './leave-programs/duration';
4
+ export { fixedAmount, percentOfPay } from './leave-programs/pay';
5
+ export {
6
+ parentalTopUpPolicy,
7
+ type ParentalTopUpPolicyOptions,
8
+ } from './leave-programs/recipes/parental-top-up-policy';
9
+ export {
10
+ AdminTask,
11
+ type AdvancedCapability,
12
+ type CompanyLeaveProgramContext,
13
+ type CompanyLeaveProgramResult,
14
+ type CompanyLeaveProgramDefinition,
15
+ type CompanyLeaveProgramDefinitionConfig,
16
+ type Duration,
17
+ type DurationExpression,
18
+ type EntitlementDecision,
19
+ type EvidenceRequirement,
20
+ type FactRef,
21
+ type GrantPaidLeaveOptions,
22
+ type LeaveProgramContractVersion,
23
+ type LeaveProgramDiagnostic,
24
+ type LeaveProgramJurisdiction,
25
+ type MoneyAmount,
26
+ type ParentalRelationship,
27
+ type PayDecision,
28
+ type PercentOfPay,
29
+ type PolicyBuilder,
30
+ type PolicyBuilderResult,
31
+ type PolicyCondition,
32
+ type ProgramKind,
33
+ type RequirementDecision,
34
+ type WageReplacementRef,
35
+ } from './leave-programs/types';