@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,269 @@
1
+ /**
2
+ * Public custom-object authoring surface for the Rippling TypeScript SDK.
3
+ *
4
+ * Import this module when you want a TypeScript-first, structural definition
5
+ * layer for custom objects that can be reused across manifests, functions,
6
+ * validators, tests, and agent-authored code.
7
+ *
8
+ * The implementation lives under `core/platform/custom-objects/`, but this file
9
+ * is the stable public entrypoint that consumers should import from:
10
+ *
11
+ * ```ts
12
+ * import { defineCustomObject, text } from '@rippling/rippling-sdk/core/platform/custom-objects';
13
+ * ```
14
+ *
15
+ * Manifest-specific adapters for typed custom objects live under:
16
+ *
17
+ * ```ts
18
+ * import { registerManifestCustomObject } from '@rippling/rippling-sdk/core/platform/manifest/custom-objects';
19
+ * ```
20
+ */
21
+
22
+ /** Section-definition helper and foundational schema types. */
23
+ export { section } from './custom-objects/types';
24
+
25
+ /** Type-level contracts derived from typed custom-object definitions. */
26
+ export type {
27
+ AnyCustomObjectDefinition,
28
+ AnyFieldDefinition,
29
+ CategoryApiName,
30
+ CreateInput,
31
+ CustomFieldApiName,
32
+ CustomObjectApiName,
33
+ CustomObjectDefinition,
34
+ CustomObjectIdentity,
35
+ CustomRecordFields,
36
+ FieldDefinitions,
37
+ FieldNames,
38
+ FieldValue,
39
+ FileReference,
40
+ FormulaFieldDefinition,
41
+ FormulaFieldKind,
42
+ FormulaValueByKind,
43
+ LogicalCategoryName,
44
+ LogicalCustomFieldName,
45
+ LogicalCustomObjectName,
46
+ LookupFieldDefinition,
47
+ LookupReference,
48
+ LookupTarget,
49
+ NameFieldDefinition,
50
+ NativeModelTarget,
51
+ OptionalWritableFieldNames,
52
+ ParentChildFieldDefinition,
53
+ ReadonlyFieldNames,
54
+ RecordShape,
55
+ RequiredWritableFieldNames,
56
+ ResolvedFieldDefinition,
57
+ SectionDefinition,
58
+ SectionDefinitions,
59
+ StandardCreateFields,
60
+ StandardRecordFields,
61
+ TargetApiName,
62
+ UpdateInput,
63
+ WritableFieldNames,
64
+ } from './custom-objects/types';
65
+
66
+ /** Field factories and reusable schema fragments. */
67
+ export {
68
+ boolean,
69
+ currency,
70
+ date,
71
+ datetime,
72
+ email,
73
+ file,
74
+ formula,
75
+ longText,
76
+ lookup,
77
+ nativeModel,
78
+ number,
79
+ parentChild,
80
+ percentage,
81
+ phone,
82
+ radio,
83
+ sections,
84
+ select,
85
+ text,
86
+ time,
87
+ url,
88
+ } from './custom-objects/fields';
89
+
90
+ /** Immutable definition helpers for creating and extending schemas. */
91
+ export {
92
+ defineCustomObject,
93
+ extendCustomObject,
94
+ fieldNames,
95
+ getFieldDefinition,
96
+ isWritableField,
97
+ toCustomCategoryApiName,
98
+ toCustomFieldApiName,
99
+ toCustomObjectApiName,
100
+ } from './custom-objects/definition';
101
+
102
+ /** Runtime validation result types for schema and record checks. */
103
+ export type { ValidationIssue, ValidationResult } from './custom-objects/validation';
104
+
105
+ /** Runtime validation and typed-record helpers. */
106
+ export {
107
+ asTypedRecord,
108
+ assertValidCreateInput,
109
+ assertValidUpdateInput,
110
+ getRecordValue,
111
+ validateCreateInput,
112
+ validateCustomObjectDefinition,
113
+ validateLogicalCategoryName,
114
+ validateLogicalCustomFieldName,
115
+ validateLogicalCustomObjectName,
116
+ validateUpdateInput,
117
+ } from './custom-objects/validation';
118
+
119
+ /** Typed RQL helper types for custom-object query and formula authoring. */
120
+ export type {
121
+ CustomObjectRqlHelpers,
122
+ RqlComparableValue,
123
+ RqlFieldName,
124
+ RqlFieldScope,
125
+ RqlFieldToken,
126
+ RqlFragment,
127
+ RqlInterpolation,
128
+ RqlValue,
129
+ StandardRqlFieldName,
130
+ } from './custom-objects/rql';
131
+
132
+ /** Typed parsed-string RQL field-name types for custom-object query authoring. */
133
+ export type { ParsedRqlFieldName, ParsedRqlStandardFieldName } from './custom-objects/typed-rql';
134
+
135
+ /** Typed RQL helper factories for custom-object query authoring. */
136
+ export { createRqlHelpers } from './custom-objects/rql';
137
+
138
+ /** Parsed-string RQL compiler that validates logical field names and value types. */
139
+ export { typedRql } from './custom-objects/typed-rql';
140
+
141
+ /** Typed category-definition and lifecycle types for custom-object metadata. */
142
+ export type {
143
+ CustomObjectCategoryDefinition,
144
+ CustomObjectCategoryLifecycleAction,
145
+ CustomObjectCategoryMutationOptions,
146
+ ProvisionedCustomObjectCategory,
147
+ ReconciledCustomObjectCategory,
148
+ } from './custom-objects/category';
149
+
150
+ /** Typed category-definition helpers for custom-object metadata. */
151
+ export {
152
+ buildObjectCategoryCreateParams,
153
+ buildObjectCategoryUpdateParams,
154
+ defineCustomObjectCategory,
155
+ deleteCustomObjectCategoryDefinition,
156
+ provisionCustomObjectCategoryDefinition,
157
+ provisionCustomObjectCategoryDefinitions,
158
+ reconcileCustomObjectCategoryDefinition,
159
+ reconcileCustomObjectCategoryDefinitions,
160
+ } from './custom-objects/category';
161
+
162
+ /** Provisioning result and option types for the REST custom-object helpers. */
163
+ export type {
164
+ ProvisionCustomObjectOptions,
165
+ ProvisionCustomObjectsOptions,
166
+ ProvisionableFieldParams,
167
+ ProvisionedCustomObject,
168
+ } from './custom-objects/provisioning';
169
+
170
+ /** Helpers that compile typed schemas into low-level REST custom-object payloads. */
171
+ export {
172
+ buildCustomObjectCreateParams,
173
+ buildCustomObjectNameFieldDetails,
174
+ buildCustomObjectUpdateParams,
175
+ buildProvisionableFieldParams,
176
+ provisionCustomObjectDefinition,
177
+ provisionCustomObjectDefinitions,
178
+ } from './custom-objects/provisioning';
179
+
180
+ /** Schema-lifecycle types for reconciling typed definitions with remote metadata. */
181
+ export type {
182
+ CustomObjectLifecycleAction,
183
+ ReconcileCustomObjectDefinitionOptions,
184
+ ReconcileCustomObjectDefinitionsOptions,
185
+ ReconciledCustomObject,
186
+ ReconciledCustomObjectField,
187
+ } from './custom-objects/lifecycle';
188
+
189
+ /** Schema-lifecycle helpers for reconciling typed definitions with remote metadata. */
190
+ export {
191
+ deleteCustomObjectDefinition,
192
+ reconcileCustomObjectDefinition,
193
+ reconcileCustomObjectDefinitions,
194
+ } from './custom-objects/lifecycle';
195
+
196
+ /** Typed schema-manager classes that bind definitions to a specific SDK client. */
197
+ export type {} from './custom-objects/schema-manager';
198
+
199
+ /** Typed schema-manager classes that bind definitions to a specific SDK client. */
200
+ export {
201
+ COSchemaManager,
202
+ CustomObjectSchemaManager,
203
+ TypedCustomObjectCategoryManager,
204
+ TypedCustomObjectSchemaManager,
205
+ } from './custom-objects/schema-manager';
206
+
207
+ /** Low-level typed field-metadata payloads used by the generated REST resources. */
208
+ export type {
209
+ ChoiceCustomObjectFieldDataType,
210
+ CurrencyCustomObjectFieldDataType,
211
+ CustomObjectFieldDataType,
212
+ CustomObjectFieldDerivedAggregationFilter,
213
+ CustomObjectFieldDerivedAggregatedField,
214
+ CustomObjectFieldFormulaAttrMetas,
215
+ CustomObjectFieldRqlDefinition,
216
+ CustomObjectFieldSection,
217
+ CustomObjectFieldSectionConfig,
218
+ CustomObjectFieldType,
219
+ CustomObjectNameFieldDetails,
220
+ DateCustomObjectFieldDataType,
221
+ DatetimeCustomObjectFieldDataType,
222
+ EmailCustomObjectFieldDataType,
223
+ FileCustomObjectFieldDataType,
224
+ LongTextCustomObjectFieldDataType,
225
+ NumberCustomObjectFieldDataType,
226
+ PercentageCustomObjectFieldDataType,
227
+ PhoneNumberCustomObjectFieldDataType,
228
+ ReferenceCustomObjectFieldDataType,
229
+ TextCustomObjectFieldDataType,
230
+ TimeCustomObjectFieldDataType,
231
+ URLCustomObjectFieldDataType,
232
+ } from '../../resources/custom-objects/fields';
233
+
234
+ /** Typed record-manager adapter, error, and pagination types. */
235
+ export type {
236
+ CustomObjectManagerOptions,
237
+ CustomObjectRecordAdapter,
238
+ CustomObjectRecordBulkCreateRequest,
239
+ CustomObjectRecordBulkDeleteRequest,
240
+ CustomObjectRecordBulkUpdateRequest,
241
+ CustomObjectRecordQueryResponse,
242
+ CustomObjectRecordsClient,
243
+ InMemoryCustomObjectRecordAdapterOptions,
244
+ TypedBatchWriteOptions,
245
+ TypedBulkUpdateInput,
246
+ TypedRecordPage,
247
+ TypedRecordPageOptions,
248
+ TypedRecordQueryOptions,
249
+ } from './custom-objects/manager';
250
+
251
+ /** Typed record-manager utilities for CRUD, batch operations, and records-resource/in-memory adapters. */
252
+ export {
253
+ COManager,
254
+ CustomObjectManager,
255
+ CustomObjectRecordValidationError,
256
+ InMemoryCustomObjectRecordAdapter,
257
+ TypedCustomObjectRecordManager,
258
+ createCustomObjectRecordAdapter,
259
+ } from './custom-objects/manager';
260
+
261
+ /** Shared function-runtime bootstrap types for custom-object-backed handlers. */
262
+ export type {
263
+ CreateCustomObjectFunctionRuntimeOptions,
264
+ CustomObjectFunctionRuntime,
265
+ CustomObjectFunctionRuntimeClient,
266
+ } from './custom-objects/function-runtime';
267
+
268
+ /** Small bootstrap helper that creates one SDK client plus typed record managers for a function invocation. */
269
+ export { createCustomObjectFunctionRuntime } from './custom-objects/function-runtime';
@@ -0,0 +1,160 @@
1
+ # Leave Program Authoring
2
+
3
+ Draft handwritten helpers for authoring company leave programs in Rippling
4
+ Functions.
5
+
6
+ This library is intended to be the customer-facing authoring surface for
7
+ company-specific leave policy. A customer should be able to write a Rippling
8
+ Function that imports this package, describes their company leave program, and
9
+ returns a constrained program result that Rippling can evaluate later.
10
+
11
+ This is not the leave engine itself. It does not register programs, hydrate
12
+ employee or payroll facts, run statutory programs, calculate payroll outputs, or
13
+ build leave plans. Those responsibilities stay in `rippling-main`.
14
+
15
+ ## Intended Flow
16
+
17
+ ```text
18
+ Customer Function imports @rippling/rippling-sdk/lib/leave-programs
19
+ -> customer defines a company leave policy
20
+ -> library emits CompanyLeaveProgramResult IR
21
+ -> rippling-main validates and compiles the IR
22
+ -> leave engine runs the company program alongside statutory programs
23
+ -> leave engine composes the final leave plan and program outputs
24
+ ```
25
+
26
+ The important boundary is that customer code describes policy intent. It does
27
+ not emit raw `LeaveProgramResult`, payroll directives, earning lines, balance
28
+ adjustments, or internal leave engine objects.
29
+
30
+ ## What Customers Can Express
31
+
32
+ Company policies should be able to express a small set of leave-domain concepts:
33
+
34
+ - Applicability, such as employee country or jurisdiction.
35
+ - Eligibility, such as leave reason, parental relationship, tenure tiers, and
36
+ required evidence.
37
+ - Entitlement, such as a paid leave bank in weeks, days, or hours.
38
+ - Pay intent, such as no company pay, fixed pay, percent of contractual pay, or
39
+ make-whole top-up.
40
+ - Coordination with Rippling-owned statutory or insurance wage replacement
41
+ programs.
42
+ - Admin requirements that Rippling can surface during review.
43
+
44
+ Pay is intentionally constrained. For example, a customer can say "top the
45
+ employee up to 100% of contractual weekly pay, net of CA-PFL." They cannot say
46
+ "create this payroll earning line with this internal earning code on this
47
+ payrun."
48
+
49
+ ## What Rippling Still Owns
50
+
51
+ `rippling-main` remains responsible for:
52
+
53
+ - Program registration, activation, versioning, effective dates, and company
54
+ scope.
55
+ - Deciding which statutory, insurance, and company programs run for a claim.
56
+ - Dependency ordering between statutory programs and company policies.
57
+ - Hydrating sanitized facts from HRIS, Payroll, PTO, Benefits, and other source
58
+ systems.
59
+ - Validating the program result IR returned by customer code.
60
+ - Missing evidence handling.
61
+ - Payroll-safe pay phase construction, rounding, currency handling, earning type
62
+ mapping, caps, and offsets.
63
+ - Conversion to internal `LeaveProgramResult`, directives, and leave plan
64
+ outputs.
65
+
66
+ ## Example: Common Recipe
67
+
68
+ Recipes are the simplest authoring lane. They cover common company policies
69
+ without requiring customers to write lower-level policy composition code.
70
+
71
+ ```ts
72
+ import { defineCompanyLeaveProgram, parentalTopUpPolicy } from '@rippling/rippling-sdk/lib/leave-programs';
73
+
74
+ export default defineCompanyLeaveProgram(
75
+ parentalTopUpPolicy({
76
+ code: 'ACME_US_PARENTAL_TOPUP',
77
+ displayName: 'Acme US parental top-up',
78
+ jurisdiction: { country: 'US' },
79
+ appliesTo: { employeeCountry: 'US' },
80
+ qualifyingLeaveReasons: ['BONDING', 'PREGNANCY_DISABILITY'],
81
+ paidWeeksByParentalRelationship: {
82
+ birthingParent: 16,
83
+ nonBirthingParent: 6,
84
+ adoptionParent: 10,
85
+ fosterParent: 10,
86
+ },
87
+ pay: {
88
+ type: 'MAKE_WHOLE_TOPUP',
89
+ targetPercentOfPay: 100,
90
+ offsetByPrograms: ['CA-SDI', 'CA-PFL', 'INSURANCE-STD'],
91
+ },
92
+ }),
93
+ );
94
+ ```
95
+
96
+ This emits policy IR that says:
97
+
98
+ - The program applies to US employees.
99
+ - Bonding and pregnancy disability are qualifying leave reasons.
100
+ - The paid leave bank depends on parental relationship.
101
+ - Company pay tops up statutory or insurance wage replacement to 100% of
102
+ contractual weekly pay.
103
+ - The backend should coordinate this policy after `CA-SDI`, `CA-PFL`, and
104
+ `INSURANCE-STD`.
105
+
106
+ ## Example: Composable Builder
107
+
108
+ Builders are for company policies that do not fit a recipe cleanly, but still
109
+ use supported leave-policy primitives.
110
+
111
+ ```ts
112
+ import { defineCompanyLeaveProgram, percentOfPay, weeks } from '@rippling/rippling-sdk/lib/leave-programs';
113
+
114
+ export default defineCompanyLeaveProgram({
115
+ code: 'ACME_TENURE_PARENTAL_TOPUP',
116
+ displayName: 'Acme tenure parental top-up',
117
+ jurisdiction: { country: 'US' },
118
+ dependsOn: ['CA-PFL'],
119
+
120
+ evaluate(ctx) {
121
+ const paidWeeks = ctx.employee.tenure.monthsAt(ctx.leave.startDate).match([
122
+ { gte: 0, lt: 6, value: weeks(4) },
123
+ { gte: 6, lt: 12, value: weeks(8) },
124
+ { gte: 12, value: weeks(12) },
125
+ ]);
126
+
127
+ return ctx
128
+ .policy()
129
+ .eligibleWhen(ctx.employee.country.is('US'))
130
+ .eligibleWhen(ctx.leave.reason.isParental())
131
+ .grantPaidLeave(paidWeeks, { leaveType: 'EMPLOYER_PARENTAL_TOPUP' })
132
+ .topUpTo(percentOfPay(100), {
133
+ base: ctx.pay.contractualWeeklyPay,
134
+ offsetBy: ctx.programs.wageReplacement(['CA-PFL']),
135
+ earningType: 'EMPLOYER_TOPUP_MAKE_WHOLE',
136
+ })
137
+ .build();
138
+ },
139
+ });
140
+ ```
141
+
142
+ The builder still returns the same constrained `CompanyLeaveProgramResult` IR.
143
+ It does not expose raw payroll, PTO, HRIS, Benefits, ZObject, or leave-engine
144
+ records.
145
+
146
+ ## Current Draft Scope
147
+
148
+ This package currently provides the SDK-side authoring shape only:
149
+
150
+ - `defineCompanyLeaveProgram`
151
+ - duration helpers such as `weeks`, `days`, and `hours`
152
+ - pay helpers such as `percentOfPay` and `fixedAmount`
153
+ - the `parentalTopUpPolicy` recipe
154
+ - constrained `CompanyLeaveProgramResult` types
155
+ - draft advanced and testing entry points
156
+
157
+ Backend registration, activation, validation, Function execution, and leave
158
+ engine compilation are intentionally out of scope for this package. Those pieces
159
+ must be implemented in `rippling-main` before a customer-authored Function can
160
+ run in production alongside Rippling-owned statutory programs.
@@ -0,0 +1,11 @@
1
+ export type {
2
+ AdvancedCapability,
3
+ CompanyLeaveProgramDefinitionConfig,
4
+ DurationExpression,
5
+ FactRef,
6
+ PolicyCondition,
7
+ } from './types';
8
+
9
+ export { defineCompanyLeaveProgram as defineAdvancedCompanyLeaveProgram } from './define-company-leave-program';
10
+ export { percentOfPay, fixedAmount } from './pay';
11
+ export { weeks, days, hours } from './duration';
@@ -0,0 +1,101 @@
1
+ import { CompanyPolicyBuilder } from './policy-builder';
2
+ import type {
3
+ CompanyLeaveProgramContext,
4
+ Duration,
5
+ DurationExpression,
6
+ EvidenceRequirement,
7
+ FactRef,
8
+ ParentalRelationship,
9
+ PolicyCondition,
10
+ TenureMatchTier,
11
+ WageReplacementRef,
12
+ } from './types';
13
+
14
+ function fact(path: string): FactRef {
15
+ return { kind: 'fact_ref', path };
16
+ }
17
+
18
+ function isEvidenceRequirement(value: Duration | EvidenceRequirement): value is EvidenceRequirement {
19
+ return 'key' in value;
20
+ }
21
+
22
+ export function createCompanyLeaveProgramContext(): CompanyLeaveProgramContext {
23
+ return {
24
+ employee: {
25
+ country: {
26
+ is(country: string): PolicyCondition {
27
+ return { type: 'employee_country_is', country };
28
+ },
29
+ },
30
+ tenure: {
31
+ monthsAt(asOf: FactRef) {
32
+ return {
33
+ match(tiers: TenureMatchTier[]): DurationExpression {
34
+ return {
35
+ type: 'tenure_months_duration',
36
+ tiers: tiers.map((tier) => ({ ...tier })),
37
+ };
38
+ },
39
+ };
40
+ },
41
+ },
42
+ },
43
+ leave: {
44
+ reason: {
45
+ isParental(): PolicyCondition {
46
+ return { type: 'leave_reason_is_parental' };
47
+ },
48
+ isOneOf(values: string[]): PolicyCondition {
49
+ return { type: 'leave_reason_in', values: [...values] };
50
+ },
51
+ },
52
+ startDate: fact('leave.startDate'),
53
+ parentalRelationship: {
54
+ match(cases): DurationExpression {
55
+ const durationCases: Partial<Record<ParentalRelationship, Duration>> = {};
56
+ let unknown: EvidenceRequirement | undefined;
57
+
58
+ for (const [relationship, value] of Object.entries(cases)) {
59
+ if (value === undefined) {
60
+ continue;
61
+ }
62
+ if (relationship === 'unknown') {
63
+ if (isEvidenceRequirement(value)) {
64
+ unknown = value;
65
+ }
66
+ continue;
67
+ }
68
+ if (!isEvidenceRequirement(value)) {
69
+ durationCases[relationship as ParentalRelationship] = value;
70
+ }
71
+ }
72
+
73
+ return {
74
+ type: 'parental_relationship_duration',
75
+ cases: durationCases,
76
+ ...(unknown === undefined ? {} : { unknown }),
77
+ };
78
+ },
79
+ },
80
+ },
81
+ pay: {
82
+ contractualWeeklyPay: fact('pay.contractualWeeklyPay'),
83
+ },
84
+ programs: {
85
+ wageReplacement(programCodes: string[]): WageReplacementRef {
86
+ return { kind: 'wage_replacement_ref', programCodes: [...programCodes] };
87
+ },
88
+ },
89
+ evidence: {
90
+ require(key: string, message?: string): EvidenceRequirement {
91
+ return {
92
+ key,
93
+ ...(message === undefined ? {} : { message }),
94
+ };
95
+ },
96
+ },
97
+ policy() {
98
+ return new CompanyPolicyBuilder();
99
+ },
100
+ };
101
+ }
@@ -0,0 +1,58 @@
1
+ import { createCompanyLeaveProgramContext } from './context';
2
+ import type {
3
+ CompanyLeaveProgramContext,
4
+ CompanyLeaveProgramResult,
5
+ CompanyLeaveProgramDefinition,
6
+ CompanyLeaveProgramDefinitionConfig,
7
+ PolicyCondition,
8
+ } from './types';
9
+
10
+ function asArray(value: PolicyCondition | PolicyCondition[] | undefined): PolicyCondition[] {
11
+ if (value === undefined) {
12
+ return [];
13
+ }
14
+ return Array.isArray(value) ? value : [value];
15
+ }
16
+
17
+ export function defineCompanyLeaveProgram(
18
+ config: CompanyLeaveProgramDefinitionConfig,
19
+ ): CompanyLeaveProgramDefinition {
20
+ const dependsOn = config.dependsOn === undefined ? [] : [...config.dependsOn];
21
+ const capabilities = config.capabilities === undefined ? [] : [...config.capabilities];
22
+
23
+ return {
24
+ contractVersion: 'company_leave_program.v1',
25
+ code: config.code,
26
+ displayName: config.displayName,
27
+ jurisdiction: { ...config.jurisdiction },
28
+ dependsOn,
29
+
30
+ toResult(
31
+ context: CompanyLeaveProgramContext = createCompanyLeaveProgramContext(),
32
+ ): CompanyLeaveProgramResult {
33
+ const result = config.evaluate(context);
34
+ return {
35
+ contractVersion: 'company_leave_program.v1',
36
+ program: {
37
+ code: config.code,
38
+ displayName: config.displayName,
39
+ ...(config.description === undefined ? {} : { description: config.description }),
40
+ programKind: config.programKind ?? 'COMPANY_POLICY',
41
+ jurisdiction: { ...config.jurisdiction },
42
+ dependsOn,
43
+ capabilities,
44
+ },
45
+ appliesTo: asArray(config.appliesTo?.(context)),
46
+ eligibility: {
47
+ conditions: result.conditions,
48
+ requiredEvidence: result.requiredEvidence,
49
+ },
50
+ ...(result.entitlement === undefined ? {} : { entitlement: result.entitlement }),
51
+ pay: result.pay,
52
+ requirements: result.requirements,
53
+ jobProtection: result.jobProtection,
54
+ diagnostics: result.diagnostics,
55
+ };
56
+ },
57
+ };
58
+ }
@@ -0,0 +1,20 @@
1
+ import type { Duration } from './types';
2
+
3
+ function duration(amount: number, unit: Duration['unit']): Duration {
4
+ if (!Number.isFinite(amount) || amount < 0) {
5
+ throw new Error('Duration amount must be a non-negative finite number.');
6
+ }
7
+ return { kind: 'duration', amount, unit };
8
+ }
9
+
10
+ export function weeks(amount: number): Duration {
11
+ return duration(amount, 'WEEKS');
12
+ }
13
+
14
+ export function days(amount: number): Duration {
15
+ return duration(amount, 'DAYS');
16
+ }
17
+
18
+ export function hours(amount: number): Duration {
19
+ return duration(amount, 'HOURS');
20
+ }
@@ -0,0 +1,18 @@
1
+ import type { MoneyAmount, PercentOfPay } from './types';
2
+
3
+ export function percentOfPay(percent: number): PercentOfPay {
4
+ if (!Number.isFinite(percent) || percent < 0) {
5
+ throw new Error('Percent of pay must be a non-negative finite number.');
6
+ }
7
+ return { kind: 'percent_of_pay', percent };
8
+ }
9
+
10
+ export function fixedAmount(amount: string, currency: string): MoneyAmount {
11
+ if (amount.trim() === '') {
12
+ throw new Error('Fixed amount must be a non-empty decimal string.');
13
+ }
14
+ if (currency.trim() === '') {
15
+ throw new Error('Currency must be a non-empty ISO currency code.');
16
+ }
17
+ return { kind: 'money_amount', amount, currency };
18
+ }