@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,753 @@
1
+ import type {
2
+ CustomObjectFieldDerivedAggregatedField,
3
+ CustomObjectFieldFormulaAttrMetas,
4
+ CustomObjectFieldRqlDefinition,
5
+ CustomObjectFieldSection as RestCustomObjectFieldSection,
6
+ } from '../../../resources/custom-objects/fields';
7
+ import type { CustomObjectCategoryDefinition } from './category';
8
+
9
+ /** Lowercase alphabet used by the logical-name helper types. */
10
+ type LowerAlpha =
11
+ | 'a'
12
+ | 'b'
13
+ | 'c'
14
+ | 'd'
15
+ | 'e'
16
+ | 'f'
17
+ | 'g'
18
+ | 'h'
19
+ | 'i'
20
+ | 'j'
21
+ | 'k'
22
+ | 'l'
23
+ | 'm'
24
+ | 'n'
25
+ | 'o'
26
+ | 'p'
27
+ | 'q'
28
+ | 'r'
29
+ | 's'
30
+ | 't'
31
+ | 'u'
32
+ | 'v'
33
+ | 'w'
34
+ | 'x'
35
+ | 'y'
36
+ | 'z';
37
+
38
+ /** Returns `never` when the provided string is not a logical snake_case name. */
39
+ type LogicalNameLike<TName extends string> =
40
+ string extends TName ? string
41
+ : TName extends `${string}__c` ? never
42
+ : TName extends Lowercase<TName> ?
43
+ TName extends (
44
+ `${string}-${string}` | `${string} ${string}` | `${string}.${string}` | `${string}/${string}`
45
+ ) ?
46
+ never
47
+ : TName extends `${infer First}${string}` ?
48
+ First extends LowerAlpha ?
49
+ TName
50
+ : never
51
+ : never
52
+ : never;
53
+
54
+ /**
55
+ * Author-facing logical name for a custom object.
56
+ *
57
+ * Logical names are expected to be unsuffixed snake_case values such as
58
+ * `'dental_provider'`. The runtime compiler appends `__c` when generating the
59
+ * manifest api name.
60
+ *
61
+ * @typeParam TName - Candidate logical custom-object name.
62
+ */
63
+ export type LogicalCustomObjectName<TName extends string = string> = LogicalNameLike<TName>;
64
+
65
+ /**
66
+ * Author-facing logical name for a custom field.
67
+ *
68
+ * Logical names are expected to be unsuffixed snake_case values such as
69
+ * `'provider_status'`. The runtime compiler appends `__c` when generating the
70
+ * manifest field api name.
71
+ *
72
+ * @typeParam TName - Candidate logical custom-field name.
73
+ */
74
+ export type LogicalCustomFieldName<TName extends string = string> = LogicalNameLike<TName>;
75
+
76
+ /**
77
+ * Author-facing logical name for a custom category.
78
+ *
79
+ * Logical names are expected to be unsuffixed snake_case values such as
80
+ * `'dental'`. The runtime compiler appends `__c` when generating the manifest
81
+ * category api name.
82
+ *
83
+ * @typeParam TName - Candidate logical category name.
84
+ */
85
+ export type LogicalCategoryName<TName extends string = string> = LogicalNameLike<TName>;
86
+
87
+ /**
88
+ * Wire-level api name generated from a logical custom-object name.
89
+ *
90
+ * @typeParam TName - Logical custom-object name.
91
+ */
92
+ export type CustomObjectApiName<TName extends string = string> = `${TName}__c`;
93
+
94
+ /**
95
+ * Wire-level api name generated from a logical custom-field name.
96
+ *
97
+ * @typeParam TName - Logical custom-field name.
98
+ */
99
+ export type CustomFieldApiName<TName extends string = string> = `${TName}__c`;
100
+
101
+ /**
102
+ * Wire-level api name generated from a logical category name.
103
+ *
104
+ * @typeParam TName - Logical category name.
105
+ */
106
+ export type CategoryApiName<TName extends string = string> = `${TName}__c`;
107
+
108
+ /**
109
+ * Supported native Rippling model target for a lookup field.
110
+ *
111
+ * @typeParam TApiName - Native model api name, for example `'Employee'`.
112
+ */
113
+ export interface NativeModelTarget<TApiName extends string = string> {
114
+ readonly kind: 'native-model-target';
115
+ readonly apiName: TApiName;
116
+ }
117
+
118
+ /**
119
+ * Compact lookup value used by derived record and input types.
120
+ *
121
+ * @typeParam TApiName - Target object or native model api name.
122
+ */
123
+ export interface LookupReference<TApiName extends string = string> {
124
+ readonly id: string;
125
+ readonly apiName?: TApiName;
126
+ }
127
+
128
+ /** File value accepted by typed record and input helpers. */
129
+ export type FileReference = string | { readonly id: string };
130
+
131
+ /**
132
+ * Name-field configuration for a custom object.
133
+ *
134
+ * By default, the platform-managed `name` field behaves like a writable string
135
+ * field on create and update operations. When the object uses an autonumber
136
+ * name field, create-input types stop requiring `name`, and manifest
137
+ * compilation emits the wire-level autonumber metadata automatically.
138
+ */
139
+ export type NameFieldDefinition =
140
+ | { readonly kind: 'text' }
141
+ | {
142
+ readonly kind: 'autonumber';
143
+ readonly format: string;
144
+ readonly startingNumber?: number;
145
+ };
146
+
147
+ /** Manifest section metadata used by the typed schema layer. */
148
+ export interface SectionDefinition {
149
+ /** Human-readable section label shown in object page layouts. */
150
+ readonly name: string;
151
+ /** Optional stable section id used when manifest output must remain deterministic. */
152
+ readonly sectionId?: string;
153
+ }
154
+
155
+ /**
156
+ * Reusable helper for defining a manifest section.
157
+ *
158
+ * The returned value is plain immutable data so teams can share section maps
159
+ * across files without instantiating manifest classes.
160
+ *
161
+ * @param name - Human-readable section label.
162
+ * @param options - Optional stable section-id metadata.
163
+ * @returns Immutable section definition.
164
+ */
165
+ export function section(name: string, options: { sectionId?: string } = {}): SectionDefinition {
166
+ return Object.freeze({
167
+ name,
168
+ ...(options.sectionId != null ? { sectionId: options.sectionId } : {}),
169
+ });
170
+ }
171
+
172
+ /** Named map of section definitions keyed by author-facing aliases. */
173
+ export type SectionDefinitions = Readonly<Record<string, SectionDefinition>>;
174
+
175
+ /**
176
+ * Base presentation properties shared by every field definition.
177
+ *
178
+ * `section` refers to a key in the enclosing object's `sections` map. It is a
179
+ * plain string in the field factory layer so schemas can be composed cheaply;
180
+ * the object-definition validator later confirms that the referenced section is
181
+ * actually declared.
182
+ *
183
+ * @typeParam TSectionKey - Allowed section-key union for the enclosing object.
184
+ */
185
+ export interface FieldPresentationProps<TSectionKey extends string | undefined = string | undefined> {
186
+ readonly displayName: string;
187
+ readonly description: string;
188
+ readonly section?: TSectionKey;
189
+ /** Whether the backend should track field-level history for this field. */
190
+ readonly enableHistory?: boolean;
191
+ /** Additional metadata for formula-field attributes when required by the backend. */
192
+ readonly formulaAttributeMetas?: CustomObjectFieldFormulaAttrMetas;
193
+ /** Additional metadata for backend-managed derived aggregate behavior. */
194
+ readonly derivedAggregatedField?: CustomObjectFieldDerivedAggregatedField;
195
+ /** Additional metadata for backend-managed computed-field RQL definitions. */
196
+ readonly rqlDefinition?: CustomObjectFieldRqlDefinition;
197
+ /** Explicit REST section override used during provisioning. */
198
+ readonly restSection?: RestCustomObjectFieldSection;
199
+ }
200
+
201
+ /**
202
+ * Generic field-definition shape used by all concrete field factories.
203
+ *
204
+ * `logicalName`, `apiName`, and `valueType` are compiler-owned metadata slots.
205
+ * Field factories intentionally leave the first two unset; `defineCustomObject`
206
+ * fills them in from the surrounding field map so callers do not have to author
207
+ * any `__c` suffixes manually.
208
+ *
209
+ * @typeParam TKind - Discriminant identifying the field variant.
210
+ * @typeParam TValue - Runtime value type represented by the field.
211
+ * @typeParam TRequired - Whether the field is required during record creation.
212
+ * @typeParam TWritable - Whether the field can be written by callers.
213
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
214
+ * @typeParam TTargetApiName - Relationship target api name when applicable.
215
+ */
216
+ export interface FieldDefinitionBase<
217
+ TKind extends string,
218
+ TValue,
219
+ TRequired extends boolean,
220
+ TWritable extends boolean,
221
+ TSectionKey extends string | undefined = string | undefined,
222
+ TTargetApiName extends string | undefined = undefined,
223
+ > extends FieldPresentationProps<TSectionKey> {
224
+ readonly kind: TKind;
225
+ readonly required: TRequired;
226
+ readonly writable: TWritable;
227
+ readonly targetApiName?: TTargetApiName;
228
+ readonly logicalName?: string;
229
+ readonly apiName?: string;
230
+ readonly __valueType__?: TValue;
231
+ }
232
+
233
+ /**
234
+ * Type-level shape produced by {@link text}.
235
+ *
236
+ * @typeParam TRequired - Whether the field is required during record creation.
237
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
238
+ */
239
+ export interface TextFieldDefinition<
240
+ TRequired extends boolean = false,
241
+ TSectionKey extends string | undefined = string | undefined,
242
+ > extends FieldDefinitionBase<'text', string, TRequired, true, TSectionKey> {
243
+ readonly unique?: boolean;
244
+ readonly maxLength?: number;
245
+ }
246
+
247
+ /**
248
+ * Type-level shape produced by {@link longText}.
249
+ *
250
+ * @typeParam TRequired - Whether the field is required during record creation.
251
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
252
+ */
253
+ export interface LongTextFieldDefinition<
254
+ TRequired extends boolean = false,
255
+ TSectionKey extends string | undefined = string | undefined,
256
+ > extends FieldDefinitionBase<'long-text', string, TRequired, true, TSectionKey> {
257
+ readonly maxLength?: number;
258
+ }
259
+
260
+ /**
261
+ * Type-level shape produced by {@link email}.
262
+ *
263
+ * @typeParam TRequired - Whether the field is required during record creation.
264
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
265
+ */
266
+ export interface EmailFieldDefinition<
267
+ TRequired extends boolean = false,
268
+ TSectionKey extends string | undefined = string | undefined,
269
+ > extends FieldDefinitionBase<'email', string, TRequired, true, TSectionKey> {
270
+ readonly unique?: boolean;
271
+ }
272
+
273
+ /**
274
+ * Type-level shape produced by {@link url}.
275
+ *
276
+ * @typeParam TRequired - Whether the field is required during record creation.
277
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
278
+ */
279
+ export interface UrlFieldDefinition<
280
+ TRequired extends boolean = false,
281
+ TSectionKey extends string | undefined = string | undefined,
282
+ > extends FieldDefinitionBase<'url', string, TRequired, true, TSectionKey> {}
283
+
284
+ /**
285
+ * Type-level shape produced by {@link phone}.
286
+ *
287
+ * @typeParam TRequired - Whether the field is required during record creation.
288
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
289
+ */
290
+ export interface PhoneFieldDefinition<
291
+ TRequired extends boolean = false,
292
+ TSectionKey extends string | undefined = string | undefined,
293
+ > extends FieldDefinitionBase<'phone', string, TRequired, true, TSectionKey> {}
294
+
295
+ /**
296
+ * Type-level shape produced by {@link number}.
297
+ *
298
+ * @typeParam TRequired - Whether the field is required during record creation.
299
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
300
+ */
301
+ export interface NumberFieldDefinition<
302
+ TRequired extends boolean = false,
303
+ TSectionKey extends string | undefined = string | undefined,
304
+ > extends FieldDefinitionBase<'number', number, TRequired, true, TSectionKey> {
305
+ readonly unique?: boolean;
306
+ readonly decimalPlaces?: number;
307
+ }
308
+
309
+ /**
310
+ * Type-level shape produced by {@link currency}.
311
+ *
312
+ * @typeParam TRequired - Whether the field is required during record creation.
313
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
314
+ */
315
+ export interface CurrencyFieldDefinition<
316
+ TRequired extends boolean = false,
317
+ TSectionKey extends string | undefined = string | undefined,
318
+ > extends FieldDefinitionBase<'currency', number, TRequired, true, TSectionKey> {
319
+ readonly currency?: string;
320
+ readonly decimalPlaces?: number;
321
+ }
322
+
323
+ /**
324
+ * Type-level shape produced by {@link percentage}.
325
+ *
326
+ * @typeParam TRequired - Whether the field is required during record creation.
327
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
328
+ */
329
+ export interface PercentageFieldDefinition<
330
+ TRequired extends boolean = false,
331
+ TSectionKey extends string | undefined = string | undefined,
332
+ > extends FieldDefinitionBase<'percentage', number, TRequired, true, TSectionKey> {}
333
+
334
+ /**
335
+ * Type-level shape produced by {@link date}.
336
+ *
337
+ * @typeParam TRequired - Whether the field is required during record creation.
338
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
339
+ */
340
+ export interface DateFieldDefinition<
341
+ TRequired extends boolean = false,
342
+ TSectionKey extends string | undefined = string | undefined,
343
+ > extends FieldDefinitionBase<'date', string, TRequired, true, TSectionKey> {}
344
+
345
+ /**
346
+ * Type-level shape produced by {@link datetime}.
347
+ *
348
+ * @typeParam TRequired - Whether the field is required during record creation.
349
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
350
+ */
351
+ export interface DatetimeFieldDefinition<
352
+ TRequired extends boolean = false,
353
+ TSectionKey extends string | undefined = string | undefined,
354
+ > extends FieldDefinitionBase<'datetime', string, TRequired, true, TSectionKey> {}
355
+
356
+ /**
357
+ * Type-level shape produced by {@link time}.
358
+ *
359
+ * @typeParam TRequired - Whether the field is required during record creation.
360
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
361
+ */
362
+ export interface TimeFieldDefinition<
363
+ TRequired extends boolean = false,
364
+ TSectionKey extends string | undefined = string | undefined,
365
+ > extends FieldDefinitionBase<'time', string, TRequired, true, TSectionKey> {}
366
+
367
+ /**
368
+ * Type-level shape produced by {@link select}.
369
+ *
370
+ * @typeParam TRequired - Whether the field is required during record creation.
371
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
372
+ */
373
+ export interface SelectFieldDefinition<
374
+ TRequired extends boolean = false,
375
+ TSectionKey extends string | undefined = string | undefined,
376
+ > extends FieldDefinitionBase<'select', string[], TRequired, true, TSectionKey> {
377
+ readonly options: readonly string[];
378
+ }
379
+
380
+ /**
381
+ * Type-level shape produced by {@link radio}.
382
+ *
383
+ * @typeParam TRequired - Whether the field is required during record creation.
384
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
385
+ */
386
+ export interface RadioFieldDefinition<
387
+ TRequired extends boolean = false,
388
+ TSectionKey extends string | undefined = string | undefined,
389
+ > extends FieldDefinitionBase<'radio', string, TRequired, true, TSectionKey> {
390
+ readonly options: readonly string[];
391
+ }
392
+
393
+ /**
394
+ * Type-level shape produced by {@link boolean}.
395
+ *
396
+ * @typeParam TRequired - Whether the field is required during record creation.
397
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
398
+ */
399
+ export interface BooleanFieldDefinition<
400
+ TRequired extends boolean = false,
401
+ TSectionKey extends string | undefined = string | undefined,
402
+ > extends FieldDefinitionBase<'boolean', boolean, TRequired, true, TSectionKey> {}
403
+
404
+ /**
405
+ * Type-level shape produced by {@link file}.
406
+ *
407
+ * @typeParam TRequired - Whether the field is required during record creation.
408
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
409
+ */
410
+ export interface FileFieldDefinition<
411
+ TRequired extends boolean = false,
412
+ TSectionKey extends string | undefined = string | undefined,
413
+ > extends FieldDefinitionBase<'file', FileReference, TRequired, true, TSectionKey> {
414
+ readonly allowedType: 'images' | 'documents' | 'any';
415
+ }
416
+
417
+ /**
418
+ * Minimal identity contract shared by typed custom-object definitions.
419
+ *
420
+ * @typeParam TName - Logical custom-object name represented by the identity.
421
+ */
422
+ export interface CustomObjectIdentity<TName extends LogicalCustomObjectName = LogicalCustomObjectName> {
423
+ readonly name: TName;
424
+ readonly apiName: CustomObjectApiName<TName>;
425
+ }
426
+
427
+ /**
428
+ * Allowed targets for a lookup field.
429
+ *
430
+ * Any structural value with an `apiName` can participate, which lets callers
431
+ * pass a typed custom-object definition directly without wrapping it first.
432
+ *
433
+ * @typeParam TApiName - Target api-name union carried through the type system.
434
+ */
435
+ export type LookupTarget<TApiName extends string = string> = { readonly apiName: TApiName };
436
+
437
+ /**
438
+ * Type-level shape produced by {@link lookup}.
439
+ *
440
+ * @typeParam TTarget - Target object or native model referenced by the lookup.
441
+ * @typeParam TRequired - Whether the lookup is required during record creation.
442
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
443
+ */
444
+ export interface LookupFieldDefinition<
445
+ TTarget extends LookupTarget = LookupTarget,
446
+ TRequired extends boolean = false,
447
+ TSectionKey extends string | undefined = string | undefined,
448
+ > extends FieldDefinitionBase<
449
+ 'lookup',
450
+ LookupReference<TargetApiName<TTarget>>,
451
+ TRequired,
452
+ true,
453
+ TSectionKey,
454
+ TargetApiName<TTarget>
455
+ > {
456
+ readonly target: TTarget;
457
+ readonly relatedDataLabel?: string;
458
+ readonly lookupFilterRqlCondition?: string;
459
+ }
460
+
461
+ /**
462
+ * Type-level shape produced by {@link parentChild}.
463
+ *
464
+ * @typeParam TTarget - Target parent object referenced by the relationship.
465
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
466
+ */
467
+ export interface ParentChildFieldDefinition<
468
+ TTarget extends CustomObjectIdentity = CustomObjectIdentity,
469
+ TSectionKey extends string | undefined = string | undefined,
470
+ > extends FieldDefinitionBase<
471
+ 'parent-child',
472
+ LookupReference<TargetApiName<TTarget>>,
473
+ true,
474
+ true,
475
+ TSectionKey,
476
+ TargetApiName<TTarget>
477
+ > {
478
+ readonly target: TTarget;
479
+ readonly relatedDataLabel?: string;
480
+ readonly parentChildType?: 'PRIMARY' | 'SECONDARY';
481
+ readonly enableParentOwnerInheritance?: boolean;
482
+ }
483
+
484
+ /** Discriminant union used by formula field definitions. */
485
+ export type FormulaFieldKind =
486
+ | 'formula-text'
487
+ | 'formula-number'
488
+ | 'formula-boolean'
489
+ | 'formula-currency'
490
+ | 'formula-percentage'
491
+ | 'formula-date'
492
+ | 'formula-url';
493
+
494
+ /** Value-type mapping for each supported formula field kind. */
495
+ export interface FormulaValueByKind {
496
+ 'formula-text': string;
497
+ 'formula-number': number;
498
+ 'formula-boolean': boolean;
499
+ 'formula-currency': number;
500
+ 'formula-percentage': number;
501
+ 'formula-date': string;
502
+ 'formula-url': string;
503
+ }
504
+
505
+ /**
506
+ * Type-level shape produced by the {@link formula} helpers.
507
+ *
508
+ * @typeParam TFormulaKind - Specific formula-field discriminant.
509
+ * @typeParam TValue - Runtime value type yielded by the formula.
510
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
511
+ */
512
+ export interface FormulaFieldDefinition<
513
+ TFormulaKind extends FormulaFieldKind = FormulaFieldKind,
514
+ TValue = FormulaValueByKind[TFormulaKind],
515
+ TSectionKey extends string | undefined = string | undefined,
516
+ > extends FieldDefinitionBase<TFormulaKind, TValue, false, false, TSectionKey> {
517
+ readonly formula: string;
518
+ readonly maxLength?: TFormulaKind extends 'formula-text' ? number : never;
519
+ }
520
+
521
+ /**
522
+ * Union of every supported field definition shape.
523
+ *
524
+ * @typeParam TSectionKey - Allowed section keys for the enclosing object.
525
+ */
526
+ export type AnyFieldDefinition<TSectionKey extends string | undefined = string | undefined> =
527
+ | TextFieldDefinition<boolean, TSectionKey>
528
+ | LongTextFieldDefinition<boolean, TSectionKey>
529
+ | EmailFieldDefinition<boolean, TSectionKey>
530
+ | UrlFieldDefinition<boolean, TSectionKey>
531
+ | PhoneFieldDefinition<boolean, TSectionKey>
532
+ | NumberFieldDefinition<boolean, TSectionKey>
533
+ | CurrencyFieldDefinition<boolean, TSectionKey>
534
+ | PercentageFieldDefinition<boolean, TSectionKey>
535
+ | DateFieldDefinition<boolean, TSectionKey>
536
+ | DatetimeFieldDefinition<boolean, TSectionKey>
537
+ | TimeFieldDefinition<boolean, TSectionKey>
538
+ | SelectFieldDefinition<boolean, TSectionKey>
539
+ | RadioFieldDefinition<boolean, TSectionKey>
540
+ | BooleanFieldDefinition<boolean, TSectionKey>
541
+ | FileFieldDefinition<boolean, TSectionKey>
542
+ | LookupFieldDefinition<LookupTarget, boolean, TSectionKey>
543
+ | ParentChildFieldDefinition<CustomObjectIdentity, TSectionKey>
544
+ | FormulaFieldDefinition<FormulaFieldKind, FormulaValueByKind[FormulaFieldKind], TSectionKey>;
545
+
546
+ /**
547
+ * Map of logical field names to typed field definitions.
548
+ *
549
+ * The field-definition validator adds `apiName` and `logicalName` automatically
550
+ * when a complete object definition is created.
551
+ */
552
+ export type FieldDefinitions = Readonly<Record<string, AnyFieldDefinition>>;
553
+
554
+ /**
555
+ * Final field-definition shape stored on a compiled custom-object definition.
556
+ *
557
+ * @typeParam TFieldName - Logical field name used by authors.
558
+ * @typeParam TField - Field definition returned by a field factory.
559
+ */
560
+ export type ResolvedFieldDefinition<TFieldName extends string, TField> = Omit<
561
+ TField,
562
+ 'logicalName' | 'apiName'
563
+ > & {
564
+ readonly logicalName: TFieldName;
565
+ readonly apiName: CustomFieldApiName<TFieldName>;
566
+ };
567
+
568
+ /**
569
+ * Final immutable definition returned by {@link defineCustomObject}.
570
+ *
571
+ * @typeParam TObjectName - Logical custom-object name.
572
+ * @typeParam TCategoryName - Logical category name.
573
+ * @typeParam TSections - Section map available to field definitions.
574
+ * @typeParam TFields - Field map keyed by logical custom-field names.
575
+ * @typeParam TNameField - Name-field behavior for the object.
576
+ */
577
+ export interface CustomObjectDefinition<
578
+ TObjectName extends LogicalCustomObjectName = LogicalCustomObjectName,
579
+ TCategoryName extends LogicalCategoryName = LogicalCategoryName,
580
+ TSections extends SectionDefinitions = {},
581
+ TFields extends FieldDefinitions = FieldDefinitions,
582
+ TNameField extends NameFieldDefinition = NameFieldDefinition,
583
+ > extends CustomObjectIdentity<TObjectName> {
584
+ readonly displayName: string;
585
+ readonly pluralLabel?: string;
586
+ readonly category: TCategoryName;
587
+ /** Optional typed category definition embedded directly into the object definition. */
588
+ readonly categoryDefinition?: CustomObjectCategoryDefinition<TCategoryName>;
589
+ /** Optional owning role id applied during REST provisioning / reconciliation. */
590
+ readonly ownerRole?: string;
591
+ /** Optional desired history-tracking state observed during metadata reconciliation. */
592
+ readonly enableHistory?: boolean;
593
+ readonly categoryApiName: CategoryApiName<TCategoryName>;
594
+ readonly description: string;
595
+ readonly icon?: {
596
+ readonly emoji?: string | null;
597
+ readonly ripplingIcon?: string | null;
598
+ readonly s3Bucket?: string;
599
+ readonly s3Key?: string;
600
+ };
601
+ readonly nameField: TNameField;
602
+ readonly sections: TSections;
603
+ readonly fields: {
604
+ readonly [K in Extract<keyof TFields, string>]: ResolvedFieldDefinition<K, TFields[K]>;
605
+ };
606
+ }
607
+
608
+ /** Convenience alias for a custom-object definition with all generic slots widened. */
609
+ export type AnyCustomObjectDefinition = CustomObjectDefinition<
610
+ LogicalCustomObjectName,
611
+ LogicalCategoryName,
612
+ SectionDefinitions,
613
+ FieldDefinitions,
614
+ NameFieldDefinition
615
+ >;
616
+
617
+ /**
618
+ * Extracts the logical field-name union from a custom-object definition.
619
+ *
620
+ * @typeParam TDefinition - Object definition whose field names should be extracted.
621
+ */
622
+ export type FieldNames<TDefinition extends AnyCustomObjectDefinition> = Extract<
623
+ keyof TDefinition['fields'],
624
+ string
625
+ >;
626
+
627
+ /**
628
+ * Extracts the target api name from a lookup or parent-child target.
629
+ *
630
+ * @typeParam TTarget - Target type carrying an `apiName` property.
631
+ */
632
+ export type TargetApiName<TTarget> =
633
+ TTarget extends { readonly apiName: infer TApiName extends string } ? TApiName : never;
634
+
635
+ /**
636
+ * Type-level value mapping used by record and input utilities.
637
+ *
638
+ * @typeParam TField - Field definition whose runtime value type should be inferred.
639
+ */
640
+ export type FieldValue<TField> = TField extends { readonly __valueType__?: infer TValue } ? TValue : never;
641
+
642
+ /**
643
+ * Field-name union containing only writable custom fields.
644
+ *
645
+ * @typeParam TDefinition - Object definition whose writable field names should be extracted.
646
+ */
647
+ export type WritableFieldNames<TDefinition extends AnyCustomObjectDefinition> = {
648
+ [K in FieldNames<TDefinition>]: TDefinition['fields'][K] extends { writable: true } ? K : never;
649
+ }[FieldNames<TDefinition>];
650
+
651
+ /**
652
+ * Field-name union containing only required writable custom fields.
653
+ *
654
+ * @typeParam TDefinition - Object definition whose required writable field names should be extracted.
655
+ */
656
+ export type RequiredWritableFieldNames<TDefinition extends AnyCustomObjectDefinition> = {
657
+ [K in WritableFieldNames<TDefinition>]: TDefinition['fields'][K] extends { required: true } ? K : never;
658
+ }[WritableFieldNames<TDefinition>];
659
+
660
+ /**
661
+ * Field-name union containing writable fields that are optional on create.
662
+ *
663
+ * @typeParam TDefinition - Object definition whose optional writable field names should be extracted.
664
+ */
665
+ export type OptionalWritableFieldNames<TDefinition extends AnyCustomObjectDefinition> = Exclude<
666
+ WritableFieldNames<TDefinition>,
667
+ RequiredWritableFieldNames<TDefinition>
668
+ >;
669
+
670
+ /**
671
+ * Field-name union containing computed or otherwise read-only custom fields.
672
+ *
673
+ * @typeParam TDefinition - Object definition whose read-only field names should be extracted.
674
+ */
675
+ export type ReadonlyFieldNames<TDefinition extends AnyCustomObjectDefinition> = Exclude<
676
+ FieldNames<TDefinition>,
677
+ WritableFieldNames<TDefinition>
678
+ >;
679
+
680
+ /**
681
+ * Record-field map containing only custom fields defined by the schema.
682
+ *
683
+ * @typeParam TDefinition - Object definition whose custom record fields should be inferred.
684
+ */
685
+ export type CustomRecordFields<TDefinition extends AnyCustomObjectDefinition> = {
686
+ [K in FieldNames<TDefinition>]: TDefinition['fields'][K] extends { required: true } ?
687
+ FieldValue<TDefinition['fields'][K]>
688
+ : FieldValue<TDefinition['fields'][K]> | null;
689
+ };
690
+
691
+ /**
692
+ * Standard Rippling fields present on every custom-object record.
693
+ *
694
+ * @typeParam TDefinition - Object definition whose standard record shape should be inferred.
695
+ */
696
+ export type StandardRecordFields<TDefinition extends AnyCustomObjectDefinition> = {
697
+ id: string;
698
+ name: string;
699
+ created_at: string | null;
700
+ updated_at: string | null;
701
+ system_updated_at: string | null;
702
+ external_id: string | null;
703
+ owner_role: LookupReference<'Employee'> | null;
704
+ created_by: LookupReference<'Employee'> | null;
705
+ last_modified_by: LookupReference<'Employee'> | null;
706
+ } & (TDefinition['nameField'] extends { kind: 'autonumber' } ? {} : {});
707
+
708
+ /**
709
+ * Rich record shape for functions, validators, and record-access helpers.
710
+ *
711
+ * @typeParam TDefinition - Object definition whose record shape should be inferred.
712
+ */
713
+ export type RecordShape<TDefinition extends AnyCustomObjectDefinition> = StandardRecordFields<TDefinition> &
714
+ CustomRecordFields<TDefinition>;
715
+
716
+ /**
717
+ * Standard writable fields allowed on record creation.
718
+ *
719
+ * @typeParam TDefinition - Object definition whose standard create fields should be inferred.
720
+ */
721
+ export type StandardCreateFields<TDefinition extends AnyCustomObjectDefinition> =
722
+ (TDefinition['nameField'] extends { kind: 'autonumber' } ? { name?: never } : { name: string }) & {
723
+ external_id?: string;
724
+ owner_role?: string | LookupReference<'Employee'>;
725
+ };
726
+
727
+ /**
728
+ * Create payload derived from the schema definition.
729
+ *
730
+ * Custom fields use logical names rather than wire-level `__c` api names.
731
+ *
732
+ * @typeParam TDefinition - Object definition whose create payload should be inferred.
733
+ */
734
+ export type CreateInput<TDefinition extends AnyCustomObjectDefinition> = StandardCreateFields<TDefinition> & {
735
+ [K in RequiredWritableFieldNames<TDefinition>]: FieldValue<TDefinition['fields'][K]>;
736
+ } & {
737
+ [K in OptionalWritableFieldNames<TDefinition>]?: FieldValue<TDefinition['fields'][K]>;
738
+ };
739
+
740
+ /**
741
+ * Update payload derived from the schema definition.
742
+ *
743
+ * Custom fields use logical names rather than wire-level `__c` api names.
744
+ *
745
+ * @typeParam TDefinition - Object definition whose update payload should be inferred.
746
+ */
747
+ export type UpdateInput<TDefinition extends AnyCustomObjectDefinition> = {
748
+ name?: string;
749
+ external_id?: string;
750
+ owner_role?: string | LookupReference<'Employee'>;
751
+ } & {
752
+ [K in WritableFieldNames<TDefinition>]?: FieldValue<TDefinition['fields'][K]>;
753
+ };