@rippling/rippling-sdk 0.2.0-alpha.51 → 0.2.0-alpha.53
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/examples/functions/durable.ts +96 -0
- package/functions.d.mts +35 -0
- package/functions.d.mts.map +1 -1
- package/functions.d.ts +35 -0
- package/functions.d.ts.map +1 -1
- package/functions.js.map +1 -1
- package/functions.mjs.map +1 -1
- package/lib/manifest/_helpers.d.mts +7 -5
- package/lib/manifest/_helpers.d.mts.map +1 -1
- package/lib/manifest/_helpers.d.ts +7 -5
- package/lib/manifest/_helpers.d.ts.map +1 -1
- package/lib/manifest/_helpers.js +7 -5
- package/lib/manifest/_helpers.js.map +1 -1
- package/lib/manifest/_helpers.mjs +7 -5
- package/lib/manifest/_helpers.mjs.map +1 -1
- package/lib/manifest/rule.d.mts +6 -4
- package/lib/manifest/rule.d.mts.map +1 -1
- package/lib/manifest/rule.d.ts +6 -4
- package/lib/manifest/rule.d.ts.map +1 -1
- package/lib/manifest/rule.js +31 -9
- package/lib/manifest/rule.js.map +1 -1
- package/lib/manifest/rule.mjs +31 -9
- package/lib/manifest/rule.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/draft-hires.d.mts +2 -2
- package/resources/draft-hires.d.mts.map +1 -1
- package/resources/draft-hires.d.ts +2 -2
- package/resources/draft-hires.d.ts.map +1 -1
- package/src/functions.md +238 -0
- package/src/functions.ts +42 -0
- package/src/lib/manifest/_helpers.ts +7 -5
- package/src/lib/manifest/rule.ts +55 -15
- package/src/resources/draft-hires.ts +2 -2
- 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
package/lib/manifest/rule.mjs
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { generateId } from "./_helpers.mjs";
|
|
2
2
|
import { getExistingManifestContext } from "./existing-manifest-context.mjs";
|
|
3
3
|
import { optionalStringComponentField, requireStringComponentField } from "./_existing-component-fields.mjs";
|
|
4
|
-
|
|
4
|
+
const VALID_TRIGGERS = ['CREATE', 'UPDATE', 'CREATE_OR_UPDATE'];
|
|
5
|
+
const VALID_UPDATE_TRIGGER_TYPES = [
|
|
6
|
+
'MEETS_CONDITION_AFTER_ONLY',
|
|
7
|
+
'MEETS_CONDITION_BEFORE_OR_AFTER',
|
|
8
|
+
];
|
|
5
9
|
function fixedValueToWire(targetField, value) {
|
|
6
10
|
const ft = targetField.getFieldType();
|
|
7
|
-
if (ft
|
|
8
|
-
return value;
|
|
11
|
+
if (ft === 'SELECT') {
|
|
12
|
+
return Array.isArray(value) ? value : [value];
|
|
9
13
|
}
|
|
10
|
-
if (
|
|
14
|
+
if (ft === 'RADIO') {
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
throw new TypeError(`Rule.fixedValue for RADIO field ${targetField.getApiName()} must be a scalar value.`);
|
|
17
|
+
}
|
|
11
18
|
return value;
|
|
12
19
|
}
|
|
13
|
-
return
|
|
20
|
+
return value;
|
|
14
21
|
}
|
|
15
22
|
function actionToDict(action) {
|
|
16
23
|
const out = {
|
|
@@ -27,6 +34,23 @@ function actionToDict(action) {
|
|
|
27
34
|
function hasOwn(value, key) {
|
|
28
35
|
return Object.prototype.hasOwnProperty.call(value, key);
|
|
29
36
|
}
|
|
37
|
+
function validateTriggerConfig(props) {
|
|
38
|
+
if (!VALID_TRIGGERS.includes(props.triggerType)) {
|
|
39
|
+
throw new Error(`Invalid trigger_type: ${props.triggerType}. Must be one of: ${VALID_TRIGGERS.join(', ')}`);
|
|
40
|
+
}
|
|
41
|
+
if (props.triggerType === 'CREATE') {
|
|
42
|
+
if (props.updateTriggerType != null) {
|
|
43
|
+
throw new Error('updateTriggerType must be omitted when triggerType is CREATE.');
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (props.updateTriggerType == null) {
|
|
48
|
+
throw new Error(`updateTriggerType is required when triggerType is ${props.triggerType}. Must be one of: ${VALID_UPDATE_TRIGGER_TYPES.join(', ')}`);
|
|
49
|
+
}
|
|
50
|
+
if (!VALID_UPDATE_TRIGGER_TYPES.includes(props.updateTriggerType)) {
|
|
51
|
+
throw new Error(`Invalid update_trigger_type: ${props.updateTriggerType}. Must be one of: ${VALID_UPDATE_TRIGGER_TYPES.join(', ')}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
30
54
|
/**
|
|
31
55
|
* Defines a record-triggered automation rule and registers it with the manifest.
|
|
32
56
|
*
|
|
@@ -57,12 +81,10 @@ export class Rule {
|
|
|
57
81
|
* @param customObject - The custom object this rule is attached to.
|
|
58
82
|
* @param props - Initialization properties.
|
|
59
83
|
* @throws {Error} If `props.triggerType` is not one of `'CREATE'`, `'UPDATE'`, `'CREATE_OR_UPDATE'`.
|
|
84
|
+
* @throws {Error} If `props.updateTriggerType` is missing or invalid for update-style triggers.
|
|
60
85
|
*/
|
|
61
86
|
constructor(customObject, props) {
|
|
62
|
-
|
|
63
|
-
if (!VALID_TRIGGERS.includes(props.triggerType)) {
|
|
64
|
-
throw new Error(`Invalid trigger_type: ${props.triggerType}. Must be one of: ${VALID_TRIGGERS.join(', ')}`);
|
|
65
|
-
}
|
|
87
|
+
validateTriggerConfig(props);
|
|
66
88
|
this._flowId = props.flowId ?? generateId('flow');
|
|
67
89
|
this._customObjectApiName = customObject.getApiName();
|
|
68
90
|
this._flowName = props.flowName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.mjs","sourceRoot":"","sources":["../../src/lib/manifest/rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4C,uBAAmB;AAElF,OAAO,EAAE,0BAA0B,EAAuC,wCAAoC;AAG9G,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,yCAAqC;
|
|
1
|
+
{"version":3,"file":"rule.mjs","sourceRoot":"","sources":["../../src/lib/manifest/rule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@ export declare namespace DraftHireCreateResponse {
|
|
|
36
36
|
/**
|
|
37
37
|
* Generated draft hire ID if successful
|
|
38
38
|
*/
|
|
39
|
-
|
|
39
|
+
draft_hire_role_id?: string;
|
|
40
40
|
/**
|
|
41
41
|
* List of validation errors if any
|
|
42
42
|
*/
|
|
@@ -57,7 +57,7 @@ export declare namespace DraftHireCreateResponse {
|
|
|
57
57
|
/**
|
|
58
58
|
* Generated draft hire ID if successful
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
draft_hire_role_id?: string;
|
|
61
61
|
/**
|
|
62
62
|
* List of validation errors if any
|
|
63
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-hires.d.mts","sourceRoot":"","sources":["../src/resources/draft-hires.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAC/C,OAAO,KAAK,MAAM,qBAAiB;AACnC,OAAO,EAAE,UAAU,EAAE,gCAA4B;AACjD,OAAO,EAAE,cAAc,EAAE,wCAAoC;AAE7D;;GAEG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACzC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,uBAAuB,CAAC;CAGnG;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAE3D;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;CACtE;AAED,yBAAiB,uBAAuB,CAAC;IACvC;;OAEG;IACH,UAAiB,WAAW;QAC1B;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,
|
|
1
|
+
{"version":3,"file":"draft-hires.d.mts","sourceRoot":"","sources":["../src/resources/draft-hires.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export declare namespace DraftHireCreateResponse {
|
|
|
36
36
|
/**
|
|
37
37
|
* Generated draft hire ID if successful
|
|
38
38
|
*/
|
|
39
|
-
|
|
39
|
+
draft_hire_role_id?: string;
|
|
40
40
|
/**
|
|
41
41
|
* List of validation errors if any
|
|
42
42
|
*/
|
|
@@ -57,7 +57,7 @@ export declare namespace DraftHireCreateResponse {
|
|
|
57
57
|
/**
|
|
58
58
|
* Generated draft hire ID if successful
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
draft_hire_role_id?: string;
|
|
61
61
|
/**
|
|
62
62
|
* List of validation errors if any
|
|
63
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-hires.d.ts","sourceRoot":"","sources":["../src/resources/draft-hires.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,4BAAyB;AAC/C,OAAO,KAAK,MAAM,oBAAiB;AACnC,OAAO,EAAE,UAAU,EAAE,+BAA4B;AACjD,OAAO,EAAE,cAAc,EAAE,uCAAoC;AAE7D;;GAEG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACzC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,uBAAuB,CAAC;CAGnG;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAE3D;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;CACtE;AAED,yBAAiB,uBAAuB,CAAC;IACvC;;OAEG;IACH,UAAiB,WAAW;QAC1B;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,
|
|
1
|
+
{"version":3,"file":"draft-hires.d.ts","sourceRoot":"","sources":["../src/resources/draft-hires.ts"],"names":[],"mappings":"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"}
|
package/src/functions.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Durable Function APIs
|
|
2
|
+
|
|
3
|
+
Durable functions are Rippling functions that receive a `DurableFunctionContext`. They let you split work into named, durable steps; pause execution; wait for external events; and fail runs with structured metadata.
|
|
4
|
+
|
|
5
|
+
## Function signature
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import RipplingSDK, { DurableFunctionContext, FunctionEvent, FunctionResponse } from '@rippling/rippling-sdk';
|
|
9
|
+
|
|
10
|
+
export async function onRipplingEvent(
|
|
11
|
+
event: FunctionEvent,
|
|
12
|
+
context: DurableFunctionContext,
|
|
13
|
+
): Promise<FunctionResponse> {
|
|
14
|
+
return new FunctionResponse({ statusCode: 200 });
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Context APIs
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
// context.step()
|
|
22
|
+
const documentResult = await context.step('send offer letter', async () => {
|
|
23
|
+
return await client.workflowActionExecutions.create({
|
|
24
|
+
action_type: 'send_document',
|
|
25
|
+
payload: {
|
|
26
|
+
document: offerLetterDocumentId,
|
|
27
|
+
recipients: [employeeId],
|
|
28
|
+
},
|
|
29
|
+
workflow_definition_id: event['workflow_definition_id'],
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// context.sleep()
|
|
34
|
+
await context.sleep('wait before retry', '1 hour');
|
|
35
|
+
await context.sleep('wait 5 seconds', 5000); // milliseconds
|
|
36
|
+
|
|
37
|
+
// context.sleepUntil()
|
|
38
|
+
await context.sleepUntil('wait until launch', new Date('2025-01-01T00:00:00Z'));
|
|
39
|
+
await context.sleepUntil('wait until timestamp', Date.parse('2025-01-01T00:00:00Z'));
|
|
40
|
+
|
|
41
|
+
// context.waitForEvent()
|
|
42
|
+
const approval = await context.waitForEvent<{ approved: boolean }>('wait for approval', {
|
|
43
|
+
type: 'approval',
|
|
44
|
+
timeout: '24 hours',
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
if (approval.isTimeout()) {
|
|
48
|
+
context.fail('Approval timed out', {
|
|
49
|
+
code: 'approval_timeout',
|
|
50
|
+
details: approval,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!approval.payload.approved) {
|
|
55
|
+
context.fail('Approval was rejected', {
|
|
56
|
+
code: 'approval_rejected',
|
|
57
|
+
details: approval.payload,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## `DurableFunctionContext`
|
|
63
|
+
|
|
64
|
+
`DurableFunctionContext` extends the standard `FunctionContext` with durable execution methods.
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
interface DurableFunctionContext extends FunctionContext {
|
|
68
|
+
step<T>(name: string, fn: () => Promise<T> | T, opts?: unknown): Promise<T>;
|
|
69
|
+
sleep(name: string, duration: DurableDuration): Promise<void>;
|
|
70
|
+
sleepUntil(name: string, timestamp: DurableTimestamp): Promise<void>;
|
|
71
|
+
waitForEvent<T = unknown>(
|
|
72
|
+
name: string,
|
|
73
|
+
opts: DurableWaitForEventOptions,
|
|
74
|
+
): Promise<DurableWaitForEventResult<T>>;
|
|
75
|
+
fail(message: string, opts?: DurableFailureOptions): never;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
interface DurableWaitForEventEventResult<T = unknown> {
|
|
79
|
+
kind: 'event';
|
|
80
|
+
waitName: string;
|
|
81
|
+
eventType: string;
|
|
82
|
+
payload: T;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
interface DurableWaitForEventTimeoutResult {
|
|
86
|
+
kind: 'timeout';
|
|
87
|
+
waitName: string;
|
|
88
|
+
eventType: string;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
interface DurableWaitForEventResultHelpers<T = unknown> {
|
|
92
|
+
isEvent(): this is DurableWaitForEventEventResult<T> & DurableWaitForEventResultHelpers<T>;
|
|
93
|
+
isTimeout(): this is DurableWaitForEventTimeoutResult & DurableWaitForEventResultHelpers<T>;
|
|
94
|
+
throwTimeout(this: DurableWaitForEventTimeoutResult & DurableWaitForEventResultHelpers<T>): never;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
type DurableWaitForEventResult<T = unknown> =
|
|
98
|
+
| (DurableWaitForEventEventResult<T> & DurableWaitForEventResultHelpers<T>)
|
|
99
|
+
| (DurableWaitForEventTimeoutResult & DurableWaitForEventResultHelpers<T>);
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The inherited `FunctionContext` includes environment, function metadata, and settings.
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
interface FunctionContext {
|
|
106
|
+
env: {
|
|
107
|
+
rippling_user_bearer_token: string | undefined;
|
|
108
|
+
};
|
|
109
|
+
function: {
|
|
110
|
+
company_id: string;
|
|
111
|
+
function_id: string;
|
|
112
|
+
function_version_id: string;
|
|
113
|
+
run_id: string;
|
|
114
|
+
role_id?: string;
|
|
115
|
+
};
|
|
116
|
+
settings: Record<string, string | boolean | number>;
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Step API
|
|
121
|
+
|
|
122
|
+
Use `context.step()` for work that should be durably tracked. Each step should have a stable, descriptive name.
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
const employeeId = event['employee_id'] as string;
|
|
126
|
+
const offerLetterDocumentId = event['offer_letter_document_id'] as string;
|
|
127
|
+
const signingBonusAmount = Number(event['signing_bonus_amount'] ?? 0);
|
|
128
|
+
|
|
129
|
+
await context.step('send offer letter document', async () => {
|
|
130
|
+
await client.workflowActionExecutions.create({
|
|
131
|
+
action_type: 'send_document',
|
|
132
|
+
payload: {
|
|
133
|
+
document: offerLetterDocumentId,
|
|
134
|
+
recipients: [employeeId],
|
|
135
|
+
},
|
|
136
|
+
workflow_definition_id: event['workflow_definition_id'],
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
if (signingBonusAmount > 0) {
|
|
141
|
+
await context.step('schedule signing bonus payment', async () => {
|
|
142
|
+
await client.workflowActionExecutions.create({
|
|
143
|
+
action_type: 'make_payment',
|
|
144
|
+
payload: {
|
|
145
|
+
apply_cap: false,
|
|
146
|
+
description: `Signing bonus for run ${context.function.run_id}`,
|
|
147
|
+
payment_amount: signingBonusAmount,
|
|
148
|
+
recipients: [employeeId],
|
|
149
|
+
},
|
|
150
|
+
workflow_definition_id: event['workflow_definition_id'],
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Idempotency
|
|
157
|
+
|
|
158
|
+
Code inside `context.step()` may be replayed or retried by the durable runtime. Design side-effecting steps to be idempotent when possible.
|
|
159
|
+
|
|
160
|
+
```ts
|
|
161
|
+
await context.step('make relocation payment', async () => {
|
|
162
|
+
await client.workflowActionExecutions.create({
|
|
163
|
+
action_type: 'make_payment',
|
|
164
|
+
payload: {
|
|
165
|
+
apply_cap: true,
|
|
166
|
+
description: `Relocation payment for durable run ${context.function.run_id}`,
|
|
167
|
+
payment_amount: 250000,
|
|
168
|
+
recipients: [employeeId],
|
|
169
|
+
},
|
|
170
|
+
workflow_definition_id: event['workflow_definition_id'],
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Sleep and scheduling
|
|
176
|
+
|
|
177
|
+
Use `context.sleep()` for relative delays and `context.sleepUntil()` for absolute wake-up times.
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
// Relative delays
|
|
181
|
+
await context.sleep('wait 15 minutes', '15 minutes');
|
|
182
|
+
await context.sleep('wait 1 day', '1 day');
|
|
183
|
+
await context.sleep('wait 5 seconds', 5000); // milliseconds
|
|
184
|
+
|
|
185
|
+
// Absolute times
|
|
186
|
+
await context.sleepUntil('wait until deadline', new Date('2025-12-31T23:59:59Z'));
|
|
187
|
+
await context.sleepUntil('wait until epoch timestamp', 1767225599000);
|
|
188
|
+
await context.sleepUntil('wait until ISO timestamp', '2025-12-31T23:59:59Z');
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
`DurableDuration` accepts a `number` or `string`. `DurableTimestamp` accepts a `number`, `Date`, or `string`.
|
|
192
|
+
|
|
193
|
+
## Waiting for external events
|
|
194
|
+
|
|
195
|
+
Use `context.waitForEvent()` when a function should pause until another system sends an event back to the run. The method returns a structured result with `kind: 'event'` when the event arrives, or `kind: 'timeout'` when the timeout expires.
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
type ApprovalEvent = {
|
|
199
|
+
approved: boolean;
|
|
200
|
+
reviewerId: string;
|
|
201
|
+
reason?: string;
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
const approval = await context.waitForEvent<ApprovalEvent>('wait for manager approval', {
|
|
205
|
+
type: 'manager_approval',
|
|
206
|
+
timeout: '3 days',
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
if (approval.isTimeout()) {
|
|
210
|
+
context.fail('Manager approval timed out', {
|
|
211
|
+
code: 'approval_timeout',
|
|
212
|
+
details: approval,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
if (!approval.payload.approved) {
|
|
217
|
+
context.fail('Manager rejected the request', {
|
|
218
|
+
code: 'approval_rejected',
|
|
219
|
+
details: approval.payload,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Failing a durable function
|
|
225
|
+
|
|
226
|
+
Use `context.fail()` to stop the run with a human-readable message and optional structured failure metadata.
|
|
227
|
+
|
|
228
|
+
```ts
|
|
229
|
+
context.fail('The requested employee could not be found', {
|
|
230
|
+
code: 'employee_not_found',
|
|
231
|
+
details: {
|
|
232
|
+
employeeId,
|
|
233
|
+
runId: context.function.run_id,
|
|
234
|
+
},
|
|
235
|
+
});
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Because `fail()` returns `never`, TypeScript understands that code after it is unreachable.
|
package/src/functions.ts
CHANGED
|
@@ -23,6 +23,36 @@ export class FunctionResponse {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export type FunctionEvent = Record<string, any>;
|
|
26
|
+
export type DurableDuration = number | string;
|
|
27
|
+
export type DurableTimestamp = number | Date | string;
|
|
28
|
+
export interface DurableWaitForEventOptions {
|
|
29
|
+
type: string;
|
|
30
|
+
timeout?: DurableDuration;
|
|
31
|
+
}
|
|
32
|
+
export interface DurableFailureOptions {
|
|
33
|
+
code?: string;
|
|
34
|
+
details?: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface DurableWaitForEventEventResult<T = unknown> {
|
|
37
|
+
kind: 'event';
|
|
38
|
+
waitName: string;
|
|
39
|
+
eventType: string;
|
|
40
|
+
payload: T;
|
|
41
|
+
}
|
|
42
|
+
export interface DurableWaitForEventTimeoutResult {
|
|
43
|
+
kind: 'timeout';
|
|
44
|
+
waitName: string;
|
|
45
|
+
eventType: string;
|
|
46
|
+
}
|
|
47
|
+
export interface DurableWaitForEventResultHelpers<T = unknown> {
|
|
48
|
+
isEvent(): this is DurableWaitForEventEventResult<T> & DurableWaitForEventResultHelpers<T>;
|
|
49
|
+
isTimeout(): this is DurableWaitForEventTimeoutResult & DurableWaitForEventResultHelpers<T>;
|
|
50
|
+
throwTimeout(this: DurableWaitForEventTimeoutResult & DurableWaitForEventResultHelpers<T>): never;
|
|
51
|
+
}
|
|
52
|
+
export type DurableWaitForEventResult<T = unknown> =
|
|
53
|
+
| (DurableWaitForEventEventResult<T> & DurableWaitForEventResultHelpers<T>)
|
|
54
|
+
| (DurableWaitForEventTimeoutResult & DurableWaitForEventResultHelpers<T>);
|
|
55
|
+
|
|
26
56
|
export interface FunctionContext {
|
|
27
57
|
env: {
|
|
28
58
|
// Set to the Rippling user's bearer token when the function is triggered by a user.
|
|
@@ -35,10 +65,22 @@ export interface FunctionContext {
|
|
|
35
65
|
function_id: string;
|
|
36
66
|
function_version_id: string;
|
|
37
67
|
run_id: string;
|
|
68
|
+
role_id?: string;
|
|
38
69
|
};
|
|
39
70
|
settings: Record<string, string | boolean | number>;
|
|
40
71
|
}
|
|
41
72
|
|
|
73
|
+
export interface DurableFunctionContext extends FunctionContext {
|
|
74
|
+
step<T>(name: string, fn: () => Promise<T> | T, opts?: unknown): Promise<T>;
|
|
75
|
+
sleep(name: string, duration: DurableDuration): Promise<void>;
|
|
76
|
+
sleepUntil(name: string, timestamp: DurableTimestamp): Promise<void>;
|
|
77
|
+
waitForEvent<T = unknown>(
|
|
78
|
+
name: string,
|
|
79
|
+
opts: DurableWaitForEventOptions,
|
|
80
|
+
): Promise<DurableWaitForEventResult<T>>;
|
|
81
|
+
fail(message: string, opts?: DurableFailureOptions): never;
|
|
82
|
+
}
|
|
83
|
+
|
|
42
84
|
export class DataBridgeRecord {
|
|
43
85
|
id: string;
|
|
44
86
|
version: string;
|
|
@@ -129,12 +129,14 @@ export const ALLOWED_SUMMARY_OUTPUT: Record<SummaryAggregation, ReadonlySet<Fiel
|
|
|
129
129
|
* used as a summary filter at all": field types **absent from this map**
|
|
130
130
|
* are rejected as filter fields entirely. The UI-hidden types are:
|
|
131
131
|
*
|
|
132
|
-
* SELECT
|
|
132
|
+
* SELECT — array-valued at the RQL layer; the
|
|
133
133
|
* "is this option selected?" semantics are
|
|
134
|
-
* ambiguous for aggregations.
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
134
|
+
* ambiguous for aggregations.
|
|
135
|
+
* RADIO — single-value choice fields are not supported
|
|
136
|
+
* by the summary filter condition builder.
|
|
137
|
+
* When a choice should drive an aggregate filter,
|
|
138
|
+
* model a plain BOOLEAN on the child CO, update it
|
|
139
|
+
* with a `Rule` action, and filter on that.
|
|
138
140
|
* LONG_TEXT — backend hard-rejects (parent_child_util.py).
|
|
139
141
|
* OG_REFERENCE_FIELD — lookup/parent-child: filter-on-what is
|
|
140
142
|
* ambiguous (id vs. name vs. edge metadata).
|
package/src/lib/manifest/rule.ts
CHANGED
|
@@ -23,8 +23,9 @@ export interface RuleAction {
|
|
|
23
23
|
/**
|
|
24
24
|
* Set the target field to a fixed value. Mutually exclusive with `rqlFormula`.
|
|
25
25
|
*
|
|
26
|
-
* Optional. For `
|
|
27
|
-
*
|
|
26
|
+
* Optional. For `SelectField` targets, pass one option value or an array of option
|
|
27
|
+
* values; a scalar is serialized as a single-element array. For `RadioField` targets,
|
|
28
|
+
* pass exactly one option value as a scalar; arrays are rejected.
|
|
28
29
|
*/
|
|
29
30
|
fixedValue?: any;
|
|
30
31
|
/**
|
|
@@ -68,8 +69,8 @@ export interface RuleProps {
|
|
|
68
69
|
* Controls when an `UPDATE` trigger fires relative to the condition.
|
|
69
70
|
* One of `'MEETS_CONDITION_AFTER_ONLY'` | `'MEETS_CONDITION_BEFORE_OR_AFTER'`.
|
|
70
71
|
*
|
|
71
|
-
* Conditional.
|
|
72
|
-
*
|
|
72
|
+
* Conditional. Required when `triggerType` is `'UPDATE'` or `'CREATE_OR_UPDATE'`.
|
|
73
|
+
* Must be omitted when `triggerType` is `'CREATE'`.
|
|
73
74
|
*/
|
|
74
75
|
updateTriggerType?: UpdateTriggerType;
|
|
75
76
|
/**
|
|
@@ -91,16 +92,28 @@ export interface RuleLoadFromExistingOptions extends ExistingManifestContextOpti
|
|
|
91
92
|
customObjectApiName?: string;
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
|
|
95
|
+
const VALID_TRIGGERS: TriggerType[] = ['CREATE', 'UPDATE', 'CREATE_OR_UPDATE'];
|
|
96
|
+
const VALID_UPDATE_TRIGGER_TYPES: UpdateTriggerType[] = [
|
|
97
|
+
'MEETS_CONDITION_AFTER_ONLY',
|
|
98
|
+
'MEETS_CONDITION_BEFORE_OR_AFTER',
|
|
99
|
+
];
|
|
100
|
+
|
|
95
101
|
function fixedValueToWire(targetField: Field, value: any): any {
|
|
96
102
|
const ft = targetField.getFieldType();
|
|
97
|
-
if (ft
|
|
98
|
-
return value;
|
|
103
|
+
if (ft === 'SELECT') {
|
|
104
|
+
return Array.isArray(value) ? value : [value];
|
|
99
105
|
}
|
|
100
|
-
|
|
106
|
+
|
|
107
|
+
if (ft === 'RADIO') {
|
|
108
|
+
if (Array.isArray(value)) {
|
|
109
|
+
throw new TypeError(
|
|
110
|
+
`Rule.fixedValue for RADIO field ${targetField.getApiName()} must be a scalar value.`,
|
|
111
|
+
);
|
|
112
|
+
}
|
|
101
113
|
return value;
|
|
102
114
|
}
|
|
103
|
-
|
|
115
|
+
|
|
116
|
+
return value;
|
|
104
117
|
}
|
|
105
118
|
|
|
106
119
|
function actionToDict(action: RuleAction): Record<string, any> {
|
|
@@ -119,6 +132,37 @@ function hasOwn(value: Record<string, any>, key: string): boolean {
|
|
|
119
132
|
return Object.prototype.hasOwnProperty.call(value, key);
|
|
120
133
|
}
|
|
121
134
|
|
|
135
|
+
function validateTriggerConfig(props: Pick<RuleProps, 'triggerType' | 'updateTriggerType'>): void {
|
|
136
|
+
if (!VALID_TRIGGERS.includes(props.triggerType)) {
|
|
137
|
+
throw new Error(
|
|
138
|
+
`Invalid trigger_type: ${props.triggerType}. Must be one of: ${VALID_TRIGGERS.join(', ')}`,
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (props.triggerType === 'CREATE') {
|
|
143
|
+
if (props.updateTriggerType != null) {
|
|
144
|
+
throw new Error('updateTriggerType must be omitted when triggerType is CREATE.');
|
|
145
|
+
}
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (props.updateTriggerType == null) {
|
|
150
|
+
throw new Error(
|
|
151
|
+
`updateTriggerType is required when triggerType is ${
|
|
152
|
+
props.triggerType
|
|
153
|
+
}. Must be one of: ${VALID_UPDATE_TRIGGER_TYPES.join(', ')}`,
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (!VALID_UPDATE_TRIGGER_TYPES.includes(props.updateTriggerType)) {
|
|
158
|
+
throw new Error(
|
|
159
|
+
`Invalid update_trigger_type: ${
|
|
160
|
+
props.updateTriggerType
|
|
161
|
+
}. Must be one of: ${VALID_UPDATE_TRIGGER_TYPES.join(', ')}`,
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
122
166
|
/**
|
|
123
167
|
* Defines a record-triggered automation rule and registers it with the manifest.
|
|
124
168
|
*
|
|
@@ -161,14 +205,10 @@ export class Rule {
|
|
|
161
205
|
* @param customObject - The custom object this rule is attached to.
|
|
162
206
|
* @param props - Initialization properties.
|
|
163
207
|
* @throws {Error} If `props.triggerType` is not one of `'CREATE'`, `'UPDATE'`, `'CREATE_OR_UPDATE'`.
|
|
208
|
+
* @throws {Error} If `props.updateTriggerType` is missing or invalid for update-style triggers.
|
|
164
209
|
*/
|
|
165
210
|
constructor(customObject: CustomObject, props: RuleProps) {
|
|
166
|
-
|
|
167
|
-
if (!VALID_TRIGGERS.includes(props.triggerType)) {
|
|
168
|
-
throw new Error(
|
|
169
|
-
`Invalid trigger_type: ${props.triggerType}. Must be one of: ${VALID_TRIGGERS.join(', ')}`,
|
|
170
|
-
);
|
|
171
|
-
}
|
|
211
|
+
validateTriggerConfig(props);
|
|
172
212
|
this._flowId = props.flowId ?? generateId('flow');
|
|
173
213
|
this._customObjectApiName = customObject.getApiName();
|
|
174
214
|
this._flowName = props.flowName;
|
|
@@ -45,7 +45,7 @@ export namespace DraftHireCreateResponse {
|
|
|
45
45
|
/**
|
|
46
46
|
* Generated draft hire ID if successful
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
draft_hire_role_id?: string;
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
51
|
* List of validation errors if any
|
|
@@ -70,7 +70,7 @@ export namespace DraftHireCreateResponse {
|
|
|
70
70
|
/**
|
|
71
71
|
* Generated draft hire ID if successful
|
|
72
72
|
*/
|
|
73
|
-
|
|
73
|
+
draft_hire_role_id?: string;
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* List of validation errors if any
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.2.0-alpha.
|
|
1
|
+
export const VERSION = '0.2.0-alpha.53'; // x-release-please-version
|
package/version.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.2.0-alpha.
|
|
1
|
+
export declare const VERSION = "0.2.0-alpha.53";
|
|
2
2
|
//# sourceMappingURL=version.d.mts.map
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.2.0-alpha.
|
|
1
|
+
export declare const VERSION = "0.2.0-alpha.53";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|