integrate-sdk 0.8.60-dev.0 → 0.8.62-dev.0

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.
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Trigger Executor
3
+ * Handles local trigger execution (single and multi-step) without sending tokens externally.
4
+ * The scheduler sends a notification; the user's app retrieves the trigger,
5
+ * gets the token locally, and executes the tool directly.
6
+ */
7
+ import type { Trigger, TriggerCallbacks, StepResult } from './types.js';
8
+ import type { MCPContext } from '../config/types.js';
9
+ /**
10
+ * Configuration for the trigger executor
11
+ */
12
+ export interface ExecuteTriggerConfig {
13
+ /** Trigger callbacks for DB operations */
14
+ triggers: TriggerCallbacks;
15
+ /** Retrieve provider OAuth token locally */
16
+ getProviderToken: (provider: string, email?: string, context?: MCPContext) => Promise<{
17
+ accessToken: string;
18
+ tokenType?: string;
19
+ } | undefined>;
20
+ /** Execute a tool call via the OAuthHandler */
21
+ handleToolCall: (body: {
22
+ name: string;
23
+ arguments: Record<string, unknown>;
24
+ }, authHeader: string | null, integrationsHeader: string | null) => Promise<any>;
25
+ }
26
+ /**
27
+ * Result from executeTrigger
28
+ */
29
+ export interface ExecuteTriggerResult {
30
+ success: boolean;
31
+ steps: StepResult[];
32
+ error?: string;
33
+ }
34
+ /**
35
+ * Execute a trigger locally, including multi-step execution.
36
+ *
37
+ * Flow:
38
+ * 1. Execute initial tool call
39
+ * 2. If onComplete callback exists, call it with result
40
+ * 3. If onComplete returns hasMore + nextStep, get token for next step's provider, execute, repeat
41
+ * 4. Respect MAX_TRIGGER_STEPS limit
42
+ * 5. On final step: update trigger DB state, fire webhooks
43
+ *
44
+ * @param trigger - The trigger to execute
45
+ * @param config - Executor configuration (DB callbacks, token retrieval, tool execution)
46
+ * @param context - Optional MCP context for multi-tenant support
47
+ * @returns Execution result with all step results
48
+ */
49
+ export declare function executeTrigger(trigger: Trigger, config: ExecuteTriggerConfig, context?: MCPContext): Promise<ExecuteTriggerResult>;
50
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/triggers/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,UAAU,EAGX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4CAA4C;IAC5C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC/I,+CAA+C;IAC/C,cAAc,EAAE,CACd,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAC1D,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,KAC9B,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAkL/B"}
@@ -2,9 +2,13 @@
2
2
  * Triggers Module
3
3
  * Exports for scheduled tool execution functionality
4
4
  */
5
- export type { Trigger, TriggerSchedule, TriggerStatus, CreateTriggerParams, CreateTriggerInput, UpdateTriggerParams, ListTriggersParams, ListTriggersResponse, ListTriggersCallbackResponse, TriggerExecutionResult, TriggerCallbacks, } from './types.js';
6
- export { generateTriggerId, extractProviderFromToolName, validateStatusTransition, calculateHasMore, } from './utils.js';
5
+ export type { Trigger, TriggerSchedule, TriggerStatus, CreateTriggerParams, CreateTriggerInput, UpdateTriggerParams, ListTriggersParams, ListTriggersResponse, ListTriggersCallbackResponse, TriggerExecutionResult, TriggerCallbacks, StepResult, CompleteRequest, CompleteResponse, WebhookConfig, WebhookPayload, CompleteCallbackContext, } from './types.js';
6
+ export { MAX_TRIGGER_STEPS, WEBHOOK_DELIVERY_TIMEOUT_MS } from './types.js';
7
+ export { generateTriggerId, extractProviderFromToolName, validateStatusTransition, validateStepLimit, calculateHasMore, } from './utils.js';
7
8
  export type { StatusTransitionResult } from './utils.js';
9
+ export { deliverWebhooks } from './webhooks.js';
10
+ export { executeTrigger } from './executor.js';
11
+ export type { ExecuteTriggerConfig, ExecuteTriggerResult } from './executor.js';
8
12
  export { TriggerClient } from './client.js';
9
13
  export type { TriggerClientConfig } from './client.js';
10
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/triggers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/triggers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAG5E,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -153,6 +153,105 @@ export interface TriggerExecutionResult {
153
153
  /** Execution duration in milliseconds */
154
154
  duration?: number;
155
155
  }
156
+ /** Maximum number of steps allowed in a multi-step trigger execution */
157
+ export declare const MAX_TRIGGER_STEPS = 20;
158
+ /** Default timeout for webhook delivery in milliseconds */
159
+ export declare const WEBHOOK_DELIVERY_TIMEOUT_MS = 10000;
160
+ /**
161
+ * Result from a single step in a multi-step trigger execution
162
+ */
163
+ export interface StepResult {
164
+ /** Zero-based index of this step */
165
+ stepIndex: number;
166
+ /** Tool that was executed */
167
+ toolName: string;
168
+ /** Whether this step succeeded */
169
+ success: boolean;
170
+ /** Step result data if successful */
171
+ result?: Record<string, unknown>;
172
+ /** Error message if step failed */
173
+ error?: string;
174
+ /** Execution duration in milliseconds */
175
+ duration: number;
176
+ /** ISO datetime when this step was executed */
177
+ executedAt: string;
178
+ }
179
+ /**
180
+ * Enhanced request body for the complete endpoint
181
+ * Backward-compatible: existing fields preserved, new fields optional
182
+ */
183
+ export interface CompleteRequest {
184
+ /** Whether execution succeeded */
185
+ success: boolean;
186
+ /** Tool execution result if successful */
187
+ result?: Record<string, unknown>;
188
+ /** Error message if execution failed */
189
+ error?: string;
190
+ /** ISO datetime when execution completed */
191
+ executedAt: string;
192
+ /** Execution duration in milliseconds */
193
+ duration?: number;
194
+ /** Current step index (zero-based) for multi-step triggers */
195
+ stepIndex?: number;
196
+ /** Results from all previous steps (includes current step) */
197
+ previousResults?: StepResult[];
198
+ /** Whether this is the final step */
199
+ final?: boolean;
200
+ }
201
+ /**
202
+ * Response from the complete endpoint for multi-step triggers
203
+ */
204
+ export interface CompleteResponse {
205
+ /** Whether there are more steps to execute */
206
+ hasMore?: boolean;
207
+ /** Next step to execute if hasMore is true */
208
+ nextStep?: {
209
+ toolName: string;
210
+ toolArguments: Record<string, unknown>;
211
+ provider: string;
212
+ };
213
+ /** Webhooks to deliver results to after all steps complete */
214
+ webhooks?: WebhookConfig[];
215
+ }
216
+ /**
217
+ * Webhook endpoint configuration
218
+ */
219
+ export interface WebhookConfig {
220
+ /** URL to deliver the webhook payload to */
221
+ url: string;
222
+ /** Secret for HMAC-SHA256 signature (optional) */
223
+ secret?: string;
224
+ /** Additional headers to include in the request */
225
+ headers?: Record<string, string>;
226
+ }
227
+ /**
228
+ * Payload delivered to webhook endpoints
229
+ */
230
+ export interface WebhookPayload {
231
+ /** Trigger ID that was executed */
232
+ triggerId: string;
233
+ /** Whether the overall execution succeeded */
234
+ success: boolean;
235
+ /** Results from all steps */
236
+ steps: StepResult[];
237
+ /** Total number of steps executed */
238
+ totalSteps: number;
239
+ /** Total execution duration in milliseconds */
240
+ totalDuration: number;
241
+ /** ISO datetime when execution completed */
242
+ executedAt: string;
243
+ }
244
+ /**
245
+ * Context passed to the onComplete callback
246
+ */
247
+ export interface CompleteCallbackContext {
248
+ /** The trigger being completed */
249
+ trigger: Trigger;
250
+ /** The complete request body */
251
+ request: CompleteRequest;
252
+ /** Optional MCP context for multi-tenant support */
253
+ context?: MCPContext;
254
+ }
156
255
  /**
157
256
  * Callbacks for trigger storage (required for createMCPServer)
158
257
  * Implement these to store triggers in your database
@@ -193,5 +292,22 @@ export interface TriggerCallbacks {
193
292
  * @param context - Optional user context for multi-tenant support
194
293
  */
195
294
  delete: (triggerId: string, context?: MCPContext) => Promise<void>;
295
+ /**
296
+ * Optional callback for multi-step trigger completion
297
+ * Called after each step completes during local trigger execution.
298
+ * Return a CompleteResponse to control whether more steps should execute
299
+ * and which webhooks to fire.
300
+ * @param context - Trigger, request body, and optional MCP context
301
+ * @returns CompleteResponse indicating next step or final state
302
+ */
303
+ onComplete?: (context: CompleteCallbackContext) => Promise<CompleteResponse>;
304
+ /**
305
+ * Optional callback to resolve the callback URL for scheduler registration.
306
+ * When provided, this is used instead of the default INTEGRATE_URL-based URL.
307
+ * Useful when the app URL varies per tenant or environment.
308
+ * @param context - Optional MCP context for multi-tenant support
309
+ * @returns The base URL for trigger notification callbacks
310
+ */
311
+ getCallbackUrl?: (context?: MCPContext) => Promise<string> | string;
196
312
  }
197
313
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/triggers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGvC,kCAAkC;IAClC,QAAQ,EAAE,eAAe,CAAC;IAG1B,oCAAoC;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGrC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kCAAkC;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,sEAAsE;IACtE,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kCAAkC;IAClC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,sBAAsB;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wBAAwB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAErE;;;;;OAKG;IACH,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1E;;;;;OAKG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAElG;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjG;;;;OAIG;IACH,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/triggers/types.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,26 @@ export type StatusTransitionResult = {
59
59
  * ```
60
60
  */
61
61
  export declare function validateStatusTransition(currentStatus: TriggerStatus, targetStatus: TriggerStatus): StatusTransitionResult;
62
+ /**
63
+ * Validate that a step index is within the allowed limit
64
+ *
65
+ * @param stepIndex - Current step index (zero-based)
66
+ * @param maxSteps - Maximum number of steps allowed
67
+ * @returns Validation result with error message if invalid
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * validateStepLimit(0, 20); // { valid: true }
72
+ * validateStepLimit(19, 20); // { valid: true }
73
+ * validateStepLimit(20, 20); // { valid: false, error: "..." }
74
+ * ```
75
+ */
76
+ export declare function validateStepLimit(stepIndex: number, maxSteps: number): {
77
+ valid: true;
78
+ } | {
79
+ valid: false;
80
+ error: string;
81
+ };
62
82
  /**
63
83
  * Calculate whether more results are available for pagination
64
84
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/triggers/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,aAAa,GAC1B,sBAAsB,CAkBxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAET"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/triggers/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,aAAa,GAC1B,sBAAsB,CAkBxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQnD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAET"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Webhook Delivery
3
+ * HMAC-SHA256 signed webhook delivery for multi-step trigger results
4
+ */
5
+ import type { WebhookConfig, WebhookPayload } from './types.js';
6
+ /**
7
+ * Sign a payload with HMAC-SHA256 using the Web Crypto API
8
+ * @param payload - The webhook payload to sign
9
+ * @param secret - The secret key for HMAC signing
10
+ * @returns Hex-encoded HMAC-SHA256 signature
11
+ */
12
+ export declare function signPayload(payload: WebhookPayload, secret: string): Promise<string>;
13
+ /**
14
+ * Deliver a webhook payload to a single endpoint
15
+ * @param webhook - Webhook configuration (url, secret, headers)
16
+ * @param payload - The webhook payload to deliver
17
+ * @param timeoutMs - Request timeout in milliseconds
18
+ */
19
+ export declare function deliverWebhook(webhook: WebhookConfig, payload: WebhookPayload, timeoutMs: number): Promise<void>;
20
+ /**
21
+ * Deliver a webhook payload to multiple endpoints in parallel (fire-and-forget)
22
+ * Errors are logged but never thrown — delivery failures do not affect trigger completion.
23
+ * @param webhooks - Array of webhook configurations
24
+ * @param payload - The webhook payload to deliver
25
+ * @param timeoutMs - Request timeout in milliseconds per webhook
26
+ */
27
+ export declare function deliverWebhooks(webhooks: WebhookConfig[], payload: WebhookPayload, timeoutMs: number): Promise<void>;
28
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/triggers/webhooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIhE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc1F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAaf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "integrate-sdk",
3
- "version": "0.8.60-dev.0",
3
+ "version": "0.8.62-dev.0",
4
4
  "description": "Type-safe 3rd party integration SDK for the Integrate MCP server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",