@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.
- package/client.d.mts +15 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts +15 -0
- package/client.d.ts.map +1 -1
- package/client.js +15 -0
- package/client.js.map +1 -1
- package/client.mjs +15 -0
- package/client.mjs.map +1 -1
- package/core/platform/custom-objects/category.d.mts +125 -0
- package/core/platform/custom-objects/category.d.mts.map +1 -0
- package/core/platform/custom-objects/category.d.ts +125 -0
- package/core/platform/custom-objects/category.d.ts.map +1 -0
- package/core/platform/custom-objects/category.js +188 -0
- package/core/platform/custom-objects/category.js.map +1 -0
- package/core/platform/custom-objects/category.mjs +178 -0
- package/core/platform/custom-objects/category.mjs.map +1 -0
- package/core/platform/custom-objects/definition.d.mts +147 -0
- package/core/platform/custom-objects/definition.d.mts.map +1 -0
- package/core/platform/custom-objects/definition.d.ts +147 -0
- package/core/platform/custom-objects/definition.d.ts.map +1 -0
- package/core/platform/custom-objects/definition.js +200 -0
- package/core/platform/custom-objects/definition.js.map +1 -0
- package/core/platform/custom-objects/definition.mjs +190 -0
- package/core/platform/custom-objects/definition.mjs.map +1 -0
- package/core/platform/custom-objects/fields.d.mts +302 -0
- package/core/platform/custom-objects/fields.d.mts.map +1 -0
- package/core/platform/custom-objects/fields.d.ts +302 -0
- package/core/platform/custom-objects/fields.d.ts.map +1 -0
- package/core/platform/custom-objects/fields.js +369 -0
- package/core/platform/custom-objects/fields.js.map +1 -0
- package/core/platform/custom-objects/fields.mjs +347 -0
- package/core/platform/custom-objects/fields.mjs.map +1 -0
- package/core/platform/custom-objects/function-runtime.d.mts +42 -0
- package/core/platform/custom-objects/function-runtime.d.mts.map +1 -0
- package/core/platform/custom-objects/function-runtime.d.ts +42 -0
- package/core/platform/custom-objects/function-runtime.d.ts.map +1 -0
- package/core/platform/custom-objects/function-runtime.js +38 -0
- package/core/platform/custom-objects/function-runtime.js.map +1 -0
- package/core/platform/custom-objects/function-runtime.mjs +35 -0
- package/core/platform/custom-objects/function-runtime.mjs.map +1 -0
- package/core/platform/custom-objects/lifecycle.d.mts +83 -0
- package/core/platform/custom-objects/lifecycle.d.mts.map +1 -0
- package/core/platform/custom-objects/lifecycle.d.ts +83 -0
- package/core/platform/custom-objects/lifecycle.d.ts.map +1 -0
- package/core/platform/custom-objects/lifecycle.js +372 -0
- package/core/platform/custom-objects/lifecycle.js.map +1 -0
- package/core/platform/custom-objects/lifecycle.mjs +367 -0
- package/core/platform/custom-objects/lifecycle.mjs.map +1 -0
- package/core/platform/custom-objects/manager.d.mts +354 -0
- package/core/platform/custom-objects/manager.d.mts.map +1 -0
- package/core/platform/custom-objects/manager.d.ts +354 -0
- package/core/platform/custom-objects/manager.d.ts.map +1 -0
- package/core/platform/custom-objects/manager.js +646 -0
- package/core/platform/custom-objects/manager.js.map +1 -0
- package/core/platform/custom-objects/manager.mjs +637 -0
- package/core/platform/custom-objects/manager.mjs.map +1 -0
- package/core/platform/custom-objects/provisioning.d.mts +138 -0
- package/core/platform/custom-objects/provisioning.d.mts.map +1 -0
- package/core/platform/custom-objects/provisioning.d.ts +138 -0
- package/core/platform/custom-objects/provisioning.d.ts.map +1 -0
- package/core/platform/custom-objects/provisioning.js +455 -0
- package/core/platform/custom-objects/provisioning.js.map +1 -0
- package/core/platform/custom-objects/provisioning.mjs +447 -0
- package/core/platform/custom-objects/provisioning.mjs.map +1 -0
- package/core/platform/custom-objects/rql.d.mts +122 -0
- package/core/platform/custom-objects/rql.d.mts.map +1 -0
- package/core/platform/custom-objects/rql.d.ts +122 -0
- package/core/platform/custom-objects/rql.d.ts.map +1 -0
- package/core/platform/custom-objects/rql.js +225 -0
- package/core/platform/custom-objects/rql.js.map +1 -0
- package/core/platform/custom-objects/rql.mjs +222 -0
- package/core/platform/custom-objects/rql.mjs.map +1 -0
- package/core/platform/custom-objects/schema-manager.d.mts +203 -0
- package/core/platform/custom-objects/schema-manager.d.mts.map +1 -0
- package/core/platform/custom-objects/schema-manager.d.ts +203 -0
- package/core/platform/custom-objects/schema-manager.d.ts.map +1 -0
- package/core/platform/custom-objects/schema-manager.js +256 -0
- package/core/platform/custom-objects/schema-manager.js.map +1 -0
- package/core/platform/custom-objects/schema-manager.mjs +249 -0
- package/core/platform/custom-objects/schema-manager.mjs.map +1 -0
- package/core/platform/custom-objects/typed-rql.d.mts +157 -0
- package/core/platform/custom-objects/typed-rql.d.mts.map +1 -0
- package/core/platform/custom-objects/typed-rql.d.ts +157 -0
- package/core/platform/custom-objects/typed-rql.d.ts.map +1 -0
- package/core/platform/custom-objects/typed-rql.js +583 -0
- package/core/platform/custom-objects/typed-rql.js.map +1 -0
- package/core/platform/custom-objects/typed-rql.mjs +580 -0
- package/core/platform/custom-objects/typed-rql.mjs.map +1 -0
- package/core/platform/custom-objects/types.d.mts +549 -0
- package/core/platform/custom-objects/types.d.mts.map +1 -0
- package/core/platform/custom-objects/types.d.ts +549 -0
- package/core/platform/custom-objects/types.d.ts.map +1 -0
- package/core/platform/custom-objects/types.js +20 -0
- package/core/platform/custom-objects/types.js.map +1 -0
- package/core/platform/custom-objects/types.mjs +17 -0
- package/core/platform/custom-objects/types.mjs.map +1 -0
- package/core/platform/custom-objects/validation.d.mts +97 -0
- package/core/platform/custom-objects/validation.d.mts.map +1 -0
- package/core/platform/custom-objects/validation.d.ts +97 -0
- package/core/platform/custom-objects/validation.d.ts.map +1 -0
- package/core/platform/custom-objects/validation.js +477 -0
- package/core/platform/custom-objects/validation.js.map +1 -0
- package/core/platform/custom-objects/validation.mjs +465 -0
- package/core/platform/custom-objects/validation.mjs.map +1 -0
- package/core/platform/custom-objects.d.mts +67 -0
- package/core/platform/custom-objects.d.mts.map +1 -0
- package/core/platform/custom-objects.d.ts +67 -0
- package/core/platform/custom-objects.d.ts.map +1 -0
- package/core/platform/custom-objects.js +118 -0
- package/core/platform/custom-objects.js.map +1 -0
- package/core/platform/custom-objects.mjs +45 -0
- package/core/platform/custom-objects.mjs.map +1 -0
- package/lib/leave-programs/advanced.d.mts +5 -0
- package/lib/leave-programs/advanced.d.mts.map +1 -0
- package/lib/leave-programs/advanced.d.ts +5 -0
- package/lib/leave-programs/advanced.d.ts.map +1 -0
- package/lib/leave-programs/advanced.js +13 -0
- package/lib/leave-programs/advanced.js.map +1 -0
- package/lib/leave-programs/advanced.mjs +4 -0
- package/lib/leave-programs/advanced.mjs.map +1 -0
- package/lib/leave-programs/context.d.mts +3 -0
- package/lib/leave-programs/context.d.mts.map +1 -0
- package/lib/leave-programs/context.d.ts +3 -0
- package/lib/leave-programs/context.d.ts.map +1 -0
- package/lib/leave-programs/context.js +89 -0
- package/lib/leave-programs/context.js.map +1 -0
- package/lib/leave-programs/context.mjs +86 -0
- package/lib/leave-programs/context.mjs.map +1 -0
- package/lib/leave-programs/define-company-leave-program.d.mts +3 -0
- package/lib/leave-programs/define-company-leave-program.d.mts.map +1 -0
- package/lib/leave-programs/define-company-leave-program.d.ts +3 -0
- package/lib/leave-programs/define-company-leave-program.d.ts.map +1 -0
- package/lib/leave-programs/define-company-leave-program.js +47 -0
- package/lib/leave-programs/define-company-leave-program.js.map +1 -0
- package/lib/leave-programs/define-company-leave-program.mjs +44 -0
- package/lib/leave-programs/define-company-leave-program.mjs.map +1 -0
- package/lib/leave-programs/duration.d.mts +5 -0
- package/lib/leave-programs/duration.d.mts.map +1 -0
- package/lib/leave-programs/duration.d.ts +5 -0
- package/lib/leave-programs/duration.d.ts.map +1 -0
- package/lib/leave-programs/duration.js +21 -0
- package/lib/leave-programs/duration.js.map +1 -0
- package/lib/leave-programs/duration.mjs +16 -0
- package/lib/leave-programs/duration.mjs.map +1 -0
- package/lib/leave-programs/pay.d.mts +4 -0
- package/lib/leave-programs/pay.d.mts.map +1 -0
- package/lib/leave-programs/pay.d.ts +4 -0
- package/lib/leave-programs/pay.d.ts.map +1 -0
- package/lib/leave-programs/pay.js +20 -0
- package/lib/leave-programs/pay.js.map +1 -0
- package/lib/leave-programs/pay.mjs +16 -0
- package/lib/leave-programs/pay.mjs.map +1 -0
- package/lib/leave-programs/policy-builder.d.mts +20 -0
- package/lib/leave-programs/policy-builder.d.mts.map +1 -0
- package/lib/leave-programs/policy-builder.d.ts +20 -0
- package/lib/leave-programs/policy-builder.d.ts.map +1 -0
- package/lib/leave-programs/policy-builder.js +89 -0
- package/lib/leave-programs/policy-builder.js.map +1 -0
- package/lib/leave-programs/policy-builder.mjs +85 -0
- package/lib/leave-programs/policy-builder.mjs.map +1 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.d.mts +25 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.d.mts.map +1 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.d.ts +25 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.d.ts.map +1 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.js +56 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.js.map +1 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.mjs +53 -0
- package/lib/leave-programs/recipes/parental-top-up-policy.mjs.map +1 -0
- package/lib/leave-programs/testing.d.mts +8 -0
- package/lib/leave-programs/testing.d.mts.map +1 -0
- package/lib/leave-programs/testing.d.ts +8 -0
- package/lib/leave-programs/testing.d.ts.map +1 -0
- package/lib/leave-programs/testing.js +11 -0
- package/lib/leave-programs/testing.js.map +1 -0
- package/lib/leave-programs/testing.mjs +7 -0
- package/lib/leave-programs/testing.mjs.map +1 -0
- package/lib/leave-programs/types.d.mts +223 -0
- package/lib/leave-programs/types.d.mts.map +1 -0
- package/lib/leave-programs/types.d.ts +223 -0
- package/lib/leave-programs/types.d.ts.map +1 -0
- package/lib/leave-programs/types.js +10 -0
- package/lib/leave-programs/types.js.map +1 -0
- package/lib/leave-programs/types.mjs +7 -0
- package/lib/leave-programs/types.mjs.map +1 -0
- package/lib/leave-programs.d.mts +7 -0
- package/lib/leave-programs.d.mts.map +1 -0
- package/lib/leave-programs.d.ts +7 -0
- package/lib/leave-programs.d.ts.map +1 -0
- package/lib/leave-programs.js +19 -0
- package/lib/leave-programs.js.map +1 -0
- package/lib/leave-programs.mjs +7 -0
- package/lib/leave-programs.mjs.map +1 -0
- package/package.json +1 -1
- package/resources/agents/agents.d.mts +208 -0
- package/resources/agents/agents.d.mts.map +1 -0
- package/resources/agents/agents.d.ts +208 -0
- package/resources/agents/agents.d.ts.map +1 -0
- package/resources/agents/agents.js +64 -0
- package/resources/agents/agents.js.map +1 -0
- package/resources/agents/agents.mjs +59 -0
- package/resources/agents/agents.mjs.map +1 -0
- package/resources/agents/deployments.d.mts +180 -0
- package/resources/agents/deployments.d.mts.map +1 -0
- package/resources/agents/deployments.d.ts +180 -0
- package/resources/agents/deployments.d.ts.map +1 -0
- package/resources/agents/deployments.js +32 -0
- package/resources/agents/deployments.js.map +1 -0
- package/resources/agents/deployments.mjs +28 -0
- package/resources/agents/deployments.mjs.map +1 -0
- package/resources/agents/index.d.mts +5 -0
- package/resources/agents/index.d.mts.map +1 -0
- package/resources/agents/index.d.ts +5 -0
- package/resources/agents/index.d.ts.map +1 -0
- package/resources/agents/index.js +13 -0
- package/resources/agents/index.js.map +1 -0
- package/resources/agents/index.mjs +6 -0
- package/resources/agents/index.mjs.map +1 -0
- package/resources/agents/sessions/events.d.mts +80 -0
- package/resources/agents/sessions/events.d.mts.map +1 -0
- package/resources/agents/sessions/events.d.ts +80 -0
- package/resources/agents/sessions/events.d.ts.map +1 -0
- package/resources/agents/sessions/events.js +19 -0
- package/resources/agents/sessions/events.js.map +1 -0
- package/resources/agents/sessions/events.mjs +15 -0
- package/resources/agents/sessions/events.mjs.map +1 -0
- package/resources/agents/sessions/index.d.mts +3 -0
- package/resources/agents/sessions/index.d.mts.map +1 -0
- package/resources/agents/sessions/index.d.ts +3 -0
- package/resources/agents/sessions/index.d.ts.map +1 -0
- package/resources/agents/sessions/index.js +9 -0
- package/resources/agents/sessions/index.js.map +1 -0
- package/resources/agents/sessions/index.mjs +4 -0
- package/resources/agents/sessions/index.mjs.map +1 -0
- package/resources/agents/sessions/sessions.d.mts +153 -0
- package/resources/agents/sessions/sessions.d.mts.map +1 -0
- package/resources/agents/sessions/sessions.d.ts +153 -0
- package/resources/agents/sessions/sessions.d.ts.map +1 -0
- package/resources/agents/sessions/sessions.js +44 -0
- package/resources/agents/sessions/sessions.js.map +1 -0
- package/resources/agents/sessions/sessions.mjs +39 -0
- package/resources/agents/sessions/sessions.mjs.map +1 -0
- package/resources/agents/sessions.d.mts +2 -0
- package/resources/agents/sessions.d.mts.map +1 -0
- package/resources/agents/sessions.d.ts +2 -0
- package/resources/agents/sessions.d.ts.map +1 -0
- package/resources/agents/sessions.js +6 -0
- package/resources/agents/sessions.js.map +1 -0
- package/resources/agents/sessions.mjs +3 -0
- package/resources/agents/sessions.mjs.map +1 -0
- package/resources/agents/source-revisions.d.mts +195 -0
- package/resources/agents/source-revisions.d.mts.map +1 -0
- package/resources/agents/source-revisions.d.ts +195 -0
- package/resources/agents/source-revisions.d.ts.map +1 -0
- package/resources/agents/source-revisions.js +32 -0
- package/resources/agents/source-revisions.js.map +1 -0
- package/resources/agents/source-revisions.mjs +28 -0
- package/resources/agents/source-revisions.mjs.map +1 -0
- package/resources/agents.d.mts +2 -0
- package/resources/agents.d.mts.map +1 -0
- package/resources/agents.d.ts +2 -0
- package/resources/agents.d.ts.map +1 -0
- package/resources/agents.js +6 -0
- package/resources/agents.js.map +1 -0
- package/resources/agents.mjs +3 -0
- package/resources/agents.mjs.map +1 -0
- package/resources/break-policies.d.mts +1 -1
- package/resources/break-policies.d.ts +1 -1
- package/resources/break-policies.js +1 -1
- package/resources/break-policies.mjs +1 -1
- package/resources/break-types.d.mts +1 -1
- package/resources/break-types.d.ts +1 -1
- package/resources/break-types.js +1 -1
- package/resources/break-types.mjs +1 -1
- package/resources/business-structure-paths.d.mts +1 -1
- package/resources/business-structure-paths.d.ts +1 -1
- package/resources/business-structure-paths.js +1 -1
- package/resources/business-structure-paths.mjs +1 -1
- package/resources/candidate-applications.d.mts +1 -1
- package/resources/candidate-applications.d.ts +1 -1
- package/resources/candidate-applications.js +1 -1
- package/resources/candidate-applications.mjs +1 -1
- package/resources/candidates.d.mts +1 -1
- package/resources/candidates.d.ts +1 -1
- package/resources/candidates.js +1 -1
- package/resources/candidates.mjs +1 -1
- package/resources/company-legal-entities.d.mts +1 -1
- package/resources/company-legal-entities.d.ts +1 -1
- package/resources/company-legal-entities.js +1 -1
- package/resources/company-legal-entities.mjs +1 -1
- package/resources/company-legal-entity-workers.d.mts +1 -1
- package/resources/company-legal-entity-workers.d.ts +1 -1
- package/resources/company-legal-entity-workers.js +1 -1
- package/resources/company-legal-entity-workers.mjs +1 -1
- package/resources/compensation-bands-details.d.mts +1 -1
- package/resources/compensation-bands-details.d.ts +1 -1
- package/resources/compensation-bands-details.js +1 -1
- package/resources/compensation-bands-details.mjs +1 -1
- package/resources/compensations.d.mts +1 -1
- package/resources/compensations.d.ts +1 -1
- package/resources/compensations.js +1 -1
- package/resources/compensations.mjs +1 -1
- package/resources/custom-objects/custom-objects.d.mts +7 -0
- package/resources/custom-objects/custom-objects.d.mts.map +1 -1
- package/resources/custom-objects/custom-objects.d.ts +7 -0
- package/resources/custom-objects/custom-objects.d.ts.map +1 -1
- package/resources/custom-objects/custom-objects.js.map +1 -1
- package/resources/custom-objects/custom-objects.mjs.map +1 -1
- package/resources/custom-objects/fields.d.mts +129 -54
- package/resources/custom-objects/fields.d.mts.map +1 -1
- package/resources/custom-objects/fields.d.ts +129 -54
- package/resources/custom-objects/fields.d.ts.map +1 -1
- package/resources/device-orders.d.mts +1 -1
- package/resources/device-orders.d.ts +1 -1
- package/resources/device-orders.js +1 -1
- package/resources/device-orders.mjs +1 -1
- package/resources/devices.d.mts +1 -1
- package/resources/devices.d.ts +1 -1
- package/resources/devices.js +1 -1
- package/resources/devices.mjs +1 -1
- package/resources/functions/deployments.d.mts +2 -2
- package/resources/functions/deployments.d.ts +2 -2
- package/resources/functions/deployments.js +2 -2
- package/resources/functions/deployments.mjs +2 -2
- package/resources/functions/executions.d.mts +2 -2
- package/resources/functions/executions.d.ts +2 -2
- package/resources/functions/executions.js +2 -2
- package/resources/functions/executions.mjs +2 -2
- package/resources/functions/functions.d.mts +1 -1
- package/resources/functions/functions.d.ts +1 -1
- package/resources/functions/functions.js +1 -1
- package/resources/functions/functions.mjs +1 -1
- package/resources/headcount-positions.d.mts +1 -1
- package/resources/headcount-positions.d.ts +1 -1
- package/resources/headcount-positions.js +1 -1
- package/resources/headcount-positions.mjs +1 -1
- package/resources/headcount-priorities.d.mts +1 -1
- package/resources/headcount-priorities.d.ts +1 -1
- package/resources/headcount-priorities.js +1 -1
- package/resources/headcount-priorities.mjs +1 -1
- package/resources/index.d.mts +3 -0
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +3 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +8 -2
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +3 -0
- package/resources/index.mjs.map +1 -1
- package/resources/job-assignments.d.mts +2 -2
- package/resources/job-assignments.d.ts +2 -2
- package/resources/job-assignments.js +2 -2
- package/resources/job-assignments.mjs +2 -2
- package/resources/job-codes.d.mts +2 -2
- package/resources/job-codes.d.ts +2 -2
- package/resources/job-codes.js +2 -2
- package/resources/job-codes.mjs +2 -2
- package/resources/job-dimensions.d.mts +1 -1
- package/resources/job-dimensions.d.ts +1 -1
- package/resources/job-dimensions.js +1 -1
- package/resources/job-dimensions.mjs +1 -1
- package/resources/job-pay-rate-exceptions.d.mts +2 -2
- package/resources/job-pay-rate-exceptions.d.ts +2 -2
- package/resources/job-pay-rate-exceptions.js +2 -2
- package/resources/job-pay-rate-exceptions.mjs +2 -2
- package/resources/job-requisitions.d.mts +1 -1
- package/resources/job-requisitions.d.ts +1 -1
- package/resources/job-requisitions.js +1 -1
- package/resources/job-requisitions.mjs +1 -1
- package/resources/kiosk-badges.d.mts +1 -1
- package/resources/kiosk-badges.d.ts +1 -1
- package/resources/kiosk-badges.js +1 -1
- package/resources/kiosk-badges.mjs +1 -1
- package/resources/leave-accruals.d.mts +1 -1
- package/resources/leave-accruals.d.ts +1 -1
- package/resources/leave-accruals.js +1 -1
- package/resources/leave-accruals.mjs +1 -1
- package/resources/leave-balances.d.mts +1 -1
- package/resources/leave-balances.d.ts +1 -1
- package/resources/leave-balances.js +1 -1
- package/resources/leave-balances.mjs +1 -1
- package/resources/leave-requests.d.mts +1 -1
- package/resources/leave-requests.d.ts +1 -1
- package/resources/leave-requests.js +1 -1
- package/resources/leave-requests.mjs +1 -1
- package/resources/leave-types.d.mts +1 -1
- package/resources/leave-types.d.ts +1 -1
- package/resources/leave-types.js +1 -1
- package/resources/leave-types.mjs +1 -1
- package/resources/legal-entities.d.mts +1 -1
- package/resources/legal-entities.d.ts +1 -1
- package/resources/legal-entities.js +1 -1
- package/resources/legal-entities.mjs +1 -1
- package/resources/levels.d.mts +26 -5
- package/resources/levels.d.mts.map +1 -1
- package/resources/levels.d.ts +26 -5
- package/resources/levels.d.ts.map +1 -1
- package/resources/levels.js +1 -1
- package/resources/levels.mjs +1 -1
- package/resources/location-factors.d.mts +1 -1
- package/resources/location-factors.d.ts +1 -1
- package/resources/location-factors.js +1 -1
- package/resources/location-factors.mjs +1 -1
- package/resources/packages/index.d.mts +3 -0
- package/resources/packages/index.d.mts.map +1 -0
- package/resources/packages/index.d.ts +3 -0
- package/resources/packages/index.d.ts.map +1 -0
- package/resources/packages/index.js +9 -0
- package/resources/packages/index.js.map +1 -0
- package/resources/packages/index.mjs +4 -0
- package/resources/packages/index.mjs.map +1 -0
- package/resources/packages/packages.d.mts +239 -0
- package/resources/packages/packages.d.mts.map +1 -0
- package/resources/packages/packages.d.ts +239 -0
- package/resources/packages/packages.d.ts.map +1 -0
- package/resources/packages/packages.js +60 -0
- package/resources/packages/packages.js.map +1 -0
- package/resources/packages/packages.mjs +55 -0
- package/resources/packages/packages.mjs.map +1 -0
- package/resources/packages/versions.d.mts +72 -0
- package/resources/packages/versions.d.mts.map +1 -0
- package/resources/packages/versions.d.ts +72 -0
- package/resources/packages/versions.d.ts.map +1 -0
- package/resources/packages/versions.js +19 -0
- package/resources/packages/versions.js.map +1 -0
- package/resources/packages/versions.mjs +15 -0
- package/resources/packages/versions.mjs.map +1 -0
- package/resources/packages.d.mts +2 -0
- package/resources/packages.d.mts.map +1 -0
- package/resources/packages.d.ts +2 -0
- package/resources/packages.d.ts.map +1 -0
- package/resources/packages.js +6 -0
- package/resources/packages.js.map +1 -0
- package/resources/packages.mjs +3 -0
- package/resources/packages.mjs.map +1 -0
- package/resources/scheduled-job-assignments.d.mts +1 -1
- package/resources/scheduled-job-assignments.d.ts +1 -1
- package/resources/scheduled-job-assignments.js +1 -1
- package/resources/scheduled-job-assignments.mjs +1 -1
- package/resources/schedules.d.mts +1 -1
- package/resources/schedules.d.ts +1 -1
- package/resources/schedules.js +1 -1
- package/resources/schedules.mjs +1 -1
- package/resources/shift-assignments.d.mts +1 -1
- package/resources/shift-assignments.d.ts +1 -1
- package/resources/shift-assignments.js +1 -1
- package/resources/shift-assignments.mjs +1 -1
- package/resources/shift-inputs.d.mts +1 -1
- package/resources/shift-inputs.d.ts +1 -1
- package/resources/shift-inputs.js +1 -1
- package/resources/shift-inputs.mjs +1 -1
- package/resources/shiftassignments.d.mts +1 -1
- package/resources/shiftassignments.d.ts +1 -1
- package/resources/shiftassignments.js +1 -1
- package/resources/shiftassignments.mjs +1 -1
- package/resources/sites.d.mts +572 -0
- package/resources/sites.d.mts.map +1 -0
- package/resources/sites.d.ts +572 -0
- package/resources/sites.d.ts.map +1 -0
- package/resources/sites.js +154 -0
- package/resources/sites.js.map +1 -0
- package/resources/sites.mjs +150 -0
- package/resources/sites.mjs.map +1 -0
- package/resources/software-deployments.d.mts +1 -1
- package/resources/software-deployments.d.ts +1 -1
- package/resources/software-deployments.js +1 -1
- package/resources/software-deployments.mjs +1 -1
- package/resources/time-cards.d.mts +1 -1
- package/resources/time-cards.d.ts +1 -1
- package/resources/time-cards.js +1 -1
- package/resources/time-cards.mjs +1 -1
- package/resources/time-entries.d.mts +1 -1
- package/resources/time-entries.d.ts +1 -1
- package/resources/time-entries.js +1 -1
- package/resources/time-entries.mjs +1 -1
- package/resources/tracks.d.mts +1 -1
- package/resources/tracks.d.ts +1 -1
- package/resources/tracks.js +1 -1
- package/resources/tracks.mjs +1 -1
- package/resources/unassigned-shifts.d.mts +2 -2
- package/resources/unassigned-shifts.d.ts +2 -2
- package/resources/unassigned-shifts.js +2 -2
- package/resources/unassigned-shifts.mjs +2 -2
- package/resources/unassignedshifts.d.mts +1 -1
- package/resources/unassignedshifts.d.ts +1 -1
- package/resources/unassignedshifts.js +1 -1
- package/resources/unassignedshifts.mjs +1 -1
- package/resources/worker-time-splits.d.mts +1 -1
- package/resources/worker-time-splits.d.ts +1 -1
- package/resources/worker-time-splits.js +1 -1
- package/resources/worker-time-splits.mjs +1 -1
- package/src/client.ts +91 -0
- package/src/core/platform/custom-objects/category.ts +294 -0
- package/src/core/platform/custom-objects/definition.ts +373 -0
- package/src/core/platform/custom-objects/fields.ts +653 -0
- package/src/core/platform/custom-objects/function-runtime.ts +76 -0
- package/src/core/platform/custom-objects/lifecycle.ts +557 -0
- package/src/core/platform/custom-objects/manager.ts +959 -0
- package/src/core/platform/custom-objects/provisioning.ts +672 -0
- package/src/core/platform/custom-objects/rql.ts +375 -0
- package/src/core/platform/custom-objects/schema-manager.ts +351 -0
- package/src/core/platform/custom-objects/typed-rql.ts +1273 -0
- package/src/core/platform/custom-objects/types.ts +753 -0
- package/src/core/platform/custom-objects/validation.ts +573 -0
- package/src/core/platform/custom-objects.ts +269 -0
- package/src/lib/leave-programs/README.md +160 -0
- package/src/lib/leave-programs/advanced.ts +11 -0
- package/src/lib/leave-programs/context.ts +101 -0
- package/src/lib/leave-programs/define-company-leave-program.ts +58 -0
- package/src/lib/leave-programs/duration.ts +20 -0
- package/src/lib/leave-programs/pay.ts +18 -0
- package/src/lib/leave-programs/policy-builder.ts +113 -0
- package/src/lib/leave-programs/recipes/parental-top-up-policy.ts +85 -0
- package/src/lib/leave-programs/testing.ts +16 -0
- package/src/lib/leave-programs/types.ts +274 -0
- package/src/lib/leave-programs.ts +35 -0
- package/src/resources/agents/agents.ts +340 -0
- package/src/resources/agents/deployments.ts +249 -0
- package/src/resources/agents/index.ts +40 -0
- package/src/resources/agents/sessions/events.ts +107 -0
- package/src/resources/agents/sessions/index.ts +12 -0
- package/src/resources/agents/sessions/sessions.ts +216 -0
- package/src/resources/agents/sessions.ts +3 -0
- package/src/resources/agents/source-revisions.ts +267 -0
- package/src/resources/agents.ts +3 -0
- package/src/resources/break-policies.ts +1 -1
- package/src/resources/break-types.ts +1 -1
- package/src/resources/business-structure-paths.ts +1 -1
- package/src/resources/candidate-applications.ts +1 -1
- package/src/resources/candidates.ts +1 -1
- package/src/resources/company-legal-entities.ts +1 -1
- package/src/resources/company-legal-entity-workers.ts +1 -1
- package/src/resources/compensation-bands-details.ts +1 -1
- package/src/resources/compensations.ts +1 -1
- package/src/resources/custom-objects/custom-objects.ts +8 -0
- package/src/resources/custom-objects/fields.ts +192 -59
- package/src/resources/device-orders.ts +1 -1
- package/src/resources/devices.ts +1 -1
- package/src/resources/functions/deployments.ts +2 -2
- package/src/resources/functions/executions.ts +2 -2
- package/src/resources/functions/functions.ts +1 -1
- package/src/resources/headcount-positions.ts +1 -1
- package/src/resources/headcount-priorities.ts +1 -1
- package/src/resources/index.ts +38 -0
- package/src/resources/job-assignments.ts +2 -2
- package/src/resources/job-codes.ts +2 -2
- package/src/resources/job-dimensions.ts +1 -1
- package/src/resources/job-pay-rate-exceptions.ts +2 -2
- package/src/resources/job-requisitions.ts +1 -1
- package/src/resources/kiosk-badges.ts +1 -1
- package/src/resources/leave-accruals.ts +1 -1
- package/src/resources/leave-balances.ts +1 -1
- package/src/resources/leave-requests.ts +1 -1
- package/src/resources/leave-types.ts +1 -1
- package/src/resources/legal-entities.ts +1 -1
- package/src/resources/levels.ts +29 -5
- package/src/resources/location-factors.ts +1 -1
- package/src/resources/packages/index.ts +14 -0
- package/src/resources/packages/packages.ts +329 -0
- package/src/resources/packages/versions.ts +98 -0
- package/src/resources/packages.ts +3 -0
- package/src/resources/scheduled-job-assignments.ts +1 -1
- package/src/resources/schedules.ts +1 -1
- package/src/resources/shift-assignments.ts +1 -1
- package/src/resources/shift-inputs.ts +1 -1
- package/src/resources/shiftassignments.ts +1 -1
- package/src/resources/sites.ts +736 -0
- package/src/resources/software-deployments.ts +1 -1
- package/src/resources/time-cards.ts +1 -1
- package/src/resources/time-entries.ts +1 -1
- package/src/resources/tracks.ts +1 -1
- package/src/resources/unassigned-shifts.ts +2 -2
- package/src/resources/unassignedshifts.ts +1 -1
- package/src/resources/worker-time-splits.ts +1 -1
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- 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
|
+
}
|