@nangohq/runner-sdk 0.53.1 → 0.54.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.
package/dist/action.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Nango } from '@nangohq/node';
2
2
  import type { AxiosResponse } from 'axios';
3
- import type { ApiKeyCredentials, ApiPublicConnectionFull, AppCredentials, AppStoreCredentials, BasicApiCredentials, BillCredentials, CustomCredentials, EnvironmentVariable, GetPublicConnection, GetPublicIntegration, JwtCredentials, MaybePromise, Metadata, NangoProps, OAuth1Token, OAuth2ClientCredentials, SetMetadata, SignatureCredentials, TableauCredentials, TbaCredentials, TwoStepCredentials, UnauthCredentials, UpdateMetadata, UserLogParameters, UserProvidedProxyConfiguration } from '@nangohq/types';
3
+ import type { ZodSchema } from 'zod';
4
+ import type { ApiKeyCredentials, ApiPublicConnectionFull, AppCredentials, AppStoreCredentials, BasicApiCredentials, BillCredentials, CustomCredentials, EnvironmentVariable, GetPublicConnection, GetPublicIntegration, HTTP_METHOD, JwtCredentials, MaybePromise, Metadata, NangoProps, OAuth1Token, OAuth2ClientCredentials, SetMetadata, SignatureCredentials, TableauCredentials, TbaCredentials, TwoStepCredentials, UnauthCredentials, UpdateMetadata, UserLogParameters, UserProvidedProxyConfiguration } from '@nangohq/types';
4
5
  import { ActionError } from './errors.js';
5
6
  export type ProxyConfiguration = Omit<UserProvidedProxyConfiguration, 'files' | 'providerConfigKey' | 'connectionId'> & {
6
7
  providerConfigKey?: string;
@@ -31,7 +32,7 @@ export declare abstract class NangoActionBase {
31
32
  timestamp: number;
32
33
  }>;
33
34
  constructor(config: NangoProps);
34
- protected proxyConfig(config: ProxyConfiguration): UserProvidedProxyConfiguration;
35
+ protected getProxyConfig(config: ProxyConfiguration): UserProvidedProxyConfiguration;
35
36
  protected throwIfAborted(): void;
36
37
  abstract proxy<T = any>(config: ProxyConfiguration): Promise<AxiosResponse<T>>;
37
38
  get<T = any>(config: Omit<ProxyConfiguration, 'method'>): Promise<AxiosResponse<T>>;
@@ -76,5 +77,19 @@ export declare abstract class NangoActionBase {
76
77
  getFlowAttributes<A = object>(): A | null;
77
78
  paginate<T = any>(config: ProxyConfiguration): AsyncGenerator<T[], undefined, void>;
78
79
  triggerAction<In = unknown, Out = object>(providerConfigKey: string, connectionId: string, actionName: string, input?: In): Promise<Out>;
80
+ zodValidateInput<T = any, Z = any>({ zodSchema, input }: {
81
+ zodSchema: ZodSchema<Z>;
82
+ input: T;
83
+ }): Promise<void>;
79
84
  abstract triggerSync(providerConfigKey: string, connectionId: string, syncName: string, fullResync?: boolean): Promise<void | string>;
85
+ /**
86
+ * Uncontrolled fetch is a regular fetch without retry or credentials injection.
87
+ * Only use that method when you want to access resources that are unrelated to the current connection/provider.
88
+ */
89
+ uncontrolledFetch(options: {
90
+ url: URL;
91
+ method?: HTTP_METHOD;
92
+ headers?: Record<string, string> | undefined;
93
+ body?: string | null;
94
+ }): Promise<Response>;
80
95
  }
package/dist/action.js CHANGED
@@ -53,24 +53,12 @@ export class NangoActionBase {
53
53
  this.syncConfig = config.syncConfig;
54
54
  }
55
55
  }
56
- proxyConfig(config) {
57
- if (!config.connectionId && this.connectionId) {
58
- config.connectionId = this.connectionId;
59
- }
60
- if (!config.providerConfigKey && this.providerConfigKey) {
61
- config.providerConfigKey = this.providerConfigKey;
62
- }
63
- if (!config.connectionId) {
64
- throw new Error('Missing connection id');
65
- }
66
- if (!config.providerConfigKey) {
67
- throw new Error('Missing provider config key');
68
- }
56
+ getProxyConfig(config) {
69
57
  return {
70
58
  method: 'GET',
71
59
  ...config,
72
- providerConfigKey: config.providerConfigKey,
73
- connectionId: config.connectionId,
60
+ providerConfigKey: config.providerConfigKey || this.providerConfigKey,
61
+ connectionId: config.connectionId || this.connectionId,
74
62
  headers: {
75
63
  ...(config.headers || {}),
76
64
  'user-agent': this.nango.userAgent
@@ -216,7 +204,7 @@ export class NangoActionBase {
216
204
  if (paginationConfig['limit']) {
217
205
  updatedBodyOrParams[limitParameterName] = paginationConfig['limit'];
218
206
  }
219
- const proxyConfig = this.proxyConfig(config);
207
+ const proxyConfig = this.getProxyConfig(config);
220
208
  switch (paginationConfig.type) {
221
209
  case 'cursor':
222
210
  return yield* paginateService.cursor(proxyConfig, paginationConfig, updatedBodyOrParams, passPaginationParamsInBody, this.proxy.bind(this));
@@ -231,5 +219,31 @@ export class NangoActionBase {
231
219
  async triggerAction(providerConfigKey, connectionId, actionName, input) {
232
220
  return await this.nango.triggerAction(providerConfigKey, connectionId, actionName, input);
233
221
  }
222
+ async zodValidateInput({ zodSchema, input }) {
223
+ const parsedInput = zodSchema.safeParse(input);
224
+ if (!parsedInput.success) {
225
+ for (const error of parsedInput.error.errors) {
226
+ await this.log(`Invalid input provided: ${error.message} at path ${error.path.join('.')}`, { level: 'error' });
227
+ }
228
+ throw new this.ActionError({
229
+ message: 'Invalid input provided'
230
+ });
231
+ }
232
+ }
233
+ /**
234
+ * Uncontrolled fetch is a regular fetch without retry or credentials injection.
235
+ * Only use that method when you want to access resources that are unrelated to the current connection/provider.
236
+ */
237
+ async uncontrolledFetch(options) {
238
+ const props = {
239
+ headers: new Headers(options.headers),
240
+ method: options.method || 'GET'
241
+ // TODO: use agent
242
+ };
243
+ if (options.body) {
244
+ props.body = options.body;
245
+ }
246
+ return await fetch(options.url);
247
+ }
234
248
  }
235
249
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../lib/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../lib/action.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import parseLinksHeader from 'parse-link-header';
2
2
  import get from 'lodash-es/get.js';
3
+ import set from 'lodash-es/set.js';
3
4
  function isValidURL(str) {
4
5
  try {
5
6
  new URL(str); // TODO: replace with canParse after we drop node v18
@@ -123,9 +124,19 @@ class PaginationService {
123
124
  }
124
125
  }
125
126
  }
127
+ /*
128
+ * Update the config object with the updated body or params based on the pagination type
129
+ * @desc if a pagination type requires the pagination params to be passed in the body,
130
+ * then the updatedBodyOrParams will be passed in the body of the config object,
131
+ * with handling for . notation in the keys
132
+ */
126
133
  updateConfigBodyOrParams(passPaginationParamsInBody, config, updatedBodyOrParams) {
127
134
  if (passPaginationParamsInBody) {
128
- config.data = updatedBodyOrParams;
135
+ const expandedParams = Object.keys(updatedBodyOrParams).reduce((acc, key) => {
136
+ set(acc, key, updatedBodyOrParams[key]);
137
+ return acc;
138
+ }, {});
139
+ config.data = expandedParams;
129
140
  }
130
141
  else {
131
142
  config.params = updatedBodyOrParams;
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.service.js","sourceRoot":"","sources":["../lib/paginate.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paginate.service.js","sourceRoot":"","sources":["../lib/paginate.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Unit tests for the PaginationService class, specifically focusing on . notation in cursor pagination.
3
+ */
4
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
5
+ import PaginationService from './paginate.service';
6
+ describe('PaginationService', () => {
7
+ describe('cursor pagination', () => {
8
+ let config;
9
+ let paginationConfig;
10
+ let proxy; // Use ReturnType for type inference
11
+ beforeEach(() => {
12
+ config = {
13
+ endpoint: '/test',
14
+ method: 'POST',
15
+ providerConfigKey: 'test-provider-key',
16
+ connectionId: 'test-connection-id'
17
+ };
18
+ paginationConfig = {
19
+ type: 'cursor',
20
+ cursor_name_in_request: 'pagination.starting_after',
21
+ cursor_path_in_response: 'pages.next.starting_after',
22
+ limit: 150,
23
+ limit_name_in_request: 'pagination.per_page',
24
+ response_path: 'data'
25
+ };
26
+ proxy = vi.fn().mockResolvedValue({
27
+ data: {
28
+ data: [{ id: 1 }],
29
+ pages: {
30
+ next: { starting_after: 'next-cursor' }
31
+ }
32
+ }
33
+ });
34
+ });
35
+ describe('dot notation handling', () => {
36
+ it('should expand dot notation in body parameters', async () => {
37
+ const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, // passPaginationParamsInBody = true
38
+ proxy);
39
+ await generator.next();
40
+ expect(proxy).toHaveBeenCalledWith(expect.objectContaining({
41
+ data: {
42
+ pagination: {
43
+ per_page: 150
44
+ }
45
+ }
46
+ }));
47
+ });
48
+ it('should handle multiple levels of dot notation', async () => {
49
+ const generator = PaginationService.cursor(config, paginationConfig, {
50
+ 'pagination.per_page': 150,
51
+ 'pagination.cursor.value': 'test-cursor'
52
+ }, true, proxy);
53
+ await generator.next();
54
+ expect(proxy).toHaveBeenCalledWith(expect.objectContaining({
55
+ data: {
56
+ pagination: {
57
+ per_page: 150,
58
+ cursor: {
59
+ value: 'test-cursor'
60
+ }
61
+ }
62
+ }
63
+ }));
64
+ });
65
+ it('should not expand parameters when passing in query params', async () => {
66
+ const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, false, // passPaginationParamsInBody = false
67
+ proxy);
68
+ await generator.next();
69
+ expect(proxy).toHaveBeenCalledWith(expect.objectContaining({
70
+ params: {
71
+ 'pagination.per_page': 150
72
+ }
73
+ }));
74
+ });
75
+ it('should handle mixed dot notation and regular keys', async () => {
76
+ const generator = PaginationService.cursor(config, paginationConfig, {
77
+ 'pagination.per_page': 150,
78
+ obj_key: 'value',
79
+ 'nested.key.with.dots': 'nested-value'
80
+ }, true, proxy);
81
+ await generator.next();
82
+ expect(proxy).toHaveBeenCalledWith(expect.objectContaining({
83
+ data: {
84
+ pagination: {
85
+ per_page: 150
86
+ },
87
+ obj_key: 'value',
88
+ nested: {
89
+ key: {
90
+ with: {
91
+ dots: 'nested-value'
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }));
97
+ });
98
+ it('should handle updates to cursor with dot notation', async () => {
99
+ proxy
100
+ .mockResolvedValueOnce({
101
+ data: {
102
+ data: [{ id: 1 }],
103
+ pages: {
104
+ next: { starting_after: 'next-cursor' }
105
+ }
106
+ }
107
+ })
108
+ .mockResolvedValueOnce({
109
+ data: {
110
+ data: [{ id: 2 }],
111
+ pages: {
112
+ next: null
113
+ }
114
+ }
115
+ });
116
+ const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
117
+ await generator.next(); // First page
118
+ await generator.next(); // Second page
119
+ expect(proxy).toHaveBeenNthCalledWith(2, expect.objectContaining({
120
+ data: {
121
+ pagination: {
122
+ per_page: 150,
123
+ starting_after: 'next-cursor'
124
+ }
125
+ }
126
+ }));
127
+ });
128
+ });
129
+ describe('response handling', () => {
130
+ it('should stop pagination when no next cursor', async () => {
131
+ proxy.mockResolvedValueOnce({
132
+ data: {
133
+ data: [{ id: 1 }],
134
+ pages: { next: null }
135
+ }
136
+ });
137
+ const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
138
+ const first = await generator.next();
139
+ expect(first.value).toEqual([{ id: 1 }]);
140
+ const second = await generator.next();
141
+ expect(second.done).toBe(true);
142
+ });
143
+ });
144
+ describe('error handling', () => {
145
+ it('should handle undefined response data', async () => {
146
+ proxy.mockResolvedValueOnce({
147
+ data: {
148
+ pages: { next: null }
149
+ }
150
+ });
151
+ const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
152
+ const result = await generator.next();
153
+ expect(result.done).toBe(true);
154
+ });
155
+ it('should handle invalid cursor values', async () => {
156
+ proxy.mockResolvedValueOnce({
157
+ data: {
158
+ data: [{ id: 1 }],
159
+ pages: {
160
+ next: { starting_after: ' ' } // Empty string with spaces
161
+ }
162
+ }
163
+ });
164
+ const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
165
+ const first = await generator.next();
166
+ expect(first.value).toEqual([{ id: 1 }]);
167
+ const second = await generator.next();
168
+ expect(second.done).toBe(true);
169
+ });
170
+ });
171
+ });
172
+ });
173
+ //# sourceMappingURL=paginate.service.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginate.service.unit.test.js","sourceRoot":"","sources":["../lib/paginate.service.unit.test.ts"],"names":[],"mappings":"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"}
package/dist/sync.d.ts CHANGED
@@ -8,12 +8,14 @@ export declare abstract class NangoSyncBase extends NangoActionBase {
8
8
  /**
9
9
  * @deprecated please use batchSave
10
10
  */
11
- batchSend<T = any>(results: T[], model: string): Promise<boolean | null>;
12
- abstract batchSave<T = any>(results: T[], model: string): MaybePromise<boolean>;
13
- abstract batchDelete<T = any>(results: T[], model: string): MaybePromise<boolean>;
14
- abstract batchUpdate<T = any>(results: T[], model: string): MaybePromise<boolean>;
11
+ batchSend<T extends object>(results: T[], model: string): Promise<boolean | null>;
12
+ abstract batchSave<T extends object>(results: T[], model: string): MaybePromise<boolean>;
13
+ abstract batchDelete<T extends object>(results: T[], model: string): MaybePromise<boolean>;
14
+ abstract batchUpdate<T extends object>(results: T[], model: string): MaybePromise<boolean>;
15
+ abstract getRecordsByIds<K = string | number, T = any>(ids: K[], model: string): MaybePromise<Map<K, T>>;
15
16
  protected validateRecords(model: string, records: unknown[]): {
16
17
  data: any;
17
18
  validation: ValidateDataError[];
18
19
  }[];
20
+ protected removeMetadata<T extends object>(results: T[]): T[];
19
21
  }
package/dist/sync.js CHANGED
@@ -38,5 +38,13 @@ export class NangoSyncBase extends NangoActionBase {
38
38
  }
39
39
  return hasErrors;
40
40
  }
41
+ removeMetadata(results) {
42
+ return results.map((result) => {
43
+ if ('_nango_metadata' in result) {
44
+ delete result._nango_metadata;
45
+ }
46
+ return result;
47
+ });
48
+ }
41
49
  }
42
50
  //# sourceMappingURL=sync.js.map
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../lib/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAgB,aAAc,SAAQ,eAAe;IACvD,YAAY,CAAQ;IACpB,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC9C,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAU,OAAY,EAAE,KAAa;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAQS,eAAe,CAAC,KAAa,EAAE,OAAkB;QACvD,mBAAmB;QACnB,MAAM,SAAS,GAAqD,EAAE,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,YAAY,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,GAAG;gBACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAW,CAAC,kBAAkB;gBAC/C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtB,SAAS;YACb,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../lib/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAgB,aAAc,SAAQ,eAAe;IACvD,YAAY,CAAQ;IACpB,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC9C,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAmB,OAAY,EAAE,KAAa;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAUS,eAAe,CAAC,KAAa,EAAE,OAAkB;QACvD,mBAAmB;QACnB,MAAM,SAAS,GAAqD,EAAE,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,YAAY,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,GAAG;gBACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAW,CAAC,kBAAkB;gBAC/C,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtB,SAAS;YACb,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,cAAc,CAAmB,OAAY;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,eAAe,CAAC;YAClC,CAAC;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
package/models.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Nango } from '@nangohq/node';
2
2
  import type { AxiosInstance, AxiosInterceptorManager, AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios';
3
- import type { ApiEndUser, DBSyncConfig, DBTeam, GetPublicIntegration, RunnerFlags } from '@nangohq/types';
3
+ import type { ApiEndUser, DBSyncConfig, DBTeam, GetPublicIntegration, HTTP_METHOD, RunnerFlags } from '@nangohq/types';
4
+ import { ZodSchema } from 'zod';
4
5
 
5
6
  export declare const oldLevelToNewLevel: {
6
7
  readonly debug: 'debug';
@@ -48,7 +49,7 @@ export interface ProxyConfiguration {
48
49
  baseUrlOverride?: string;
49
50
  paginate?: Partial<CursorPagination> | Partial<LinkPagination> | Partial<OffsetPagination>;
50
51
  retryHeader?: RetryHeaderConfig;
51
- responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
52
+ responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream' | undefined;
52
53
  retryOn?: number[] | null;
53
54
  }
54
55
  export interface AuthModes {
@@ -138,7 +139,7 @@ interface JwtCredentials {
138
139
  type: AuthModes['Jwt'];
139
140
  privateKeyId?: string;
140
141
  issuerId?: string;
141
- privateKey:{
142
+ privateKey: {
142
143
  id: string;
143
144
  secret: string;
144
145
  } | string;
@@ -201,18 +202,6 @@ export declare class ActionError<T = Record<string, unknown>> extends Error {
201
202
  payload?: Record<string, unknown>;
202
203
  constructor(payload?: T);
203
204
  }
204
- interface RunArgs {
205
- sync: string;
206
- connectionId: string;
207
- lastSyncDate?: string;
208
- useServerLastSyncDate?: boolean;
209
- input?: object;
210
- metadata?: Metadata;
211
- autoConfirm: boolean;
212
- debug: boolean;
213
- optionalEnvironment?: string;
214
- optionalProviderConfigKey?: string;
215
- }
216
205
  export interface NangoProps {
217
206
  scriptType: 'sync' | 'action' | 'webhook' | 'on-event';
218
207
  host?: string;
@@ -232,15 +221,15 @@ export interface NangoProps {
232
221
  track_deletes?: boolean;
233
222
  attributes?: object | undefined;
234
223
  logMessages?:
235
- | {
236
- counts: {
237
- updated: number;
238
- added: number;
239
- deleted: number;
240
- };
241
- messages: unknown[];
242
- }
243
- | undefined;
224
+ | {
225
+ counts: {
226
+ updated: number;
227
+ added: number;
228
+ deleted: number;
229
+ };
230
+ messages: unknown[];
231
+ }
232
+ | undefined;
244
233
  rawSaveOutput?: Map<string, unknown[]> | undefined;
245
234
  rawDeleteOutput?: Map<string, unknown[]> | undefined;
246
235
  stubbedMetadata?: Metadata | undefined;
@@ -335,12 +324,12 @@ export declare class NangoAction {
335
324
  message: any,
336
325
  options?:
337
326
  | {
338
- level?: LogLevel;
339
- }
327
+ level?: LogLevel;
328
+ }
340
329
  | {
341
- [key: string]: any;
342
- level?: never;
343
- }
330
+ [key: string]: any;
331
+ level?: never;
332
+ }
344
333
  ): Promise<void>;
345
334
  log(
346
335
  message: string,
@@ -355,7 +344,13 @@ export declare class NangoAction {
355
344
  getFlowAttributes<A = object>(): A | null;
356
345
  paginate<T = any>(config: ProxyConfiguration): AsyncGenerator<T[], undefined, void>;
357
346
  triggerAction<In = unknown, Out = object>(providerConfigKey: string, connectionId: string, actionName: string, input?: In): Promise<Out>;
347
+ zodValidateInput<T = any, Z = any>({ zodSchema, input }: { zodSchema: ZodSchema<Z>; input: T }): Promise<void>;
358
348
  triggerSync(providerConfigKey: string, connectionId: string, syncName: string, fullResync?: boolean): Promise<void | string>;
349
+ /**
350
+ * Uncontrolled fetch is a regular fetch without retry or credentials injection.
351
+ * Only use that method when you want to access resources that are unrelated to the current connection/provider.
352
+ */
353
+ uncontrolledFetch(options: { url: URL; method?: HTTP_METHOD; headers?: Record<string, string> | undefined; body?: string | null }): Promise<Response>;
359
354
  private sendLogToPersist;
360
355
  private logAPICall;
361
356
  }
@@ -364,13 +359,13 @@ export declare class NangoSync extends NangoAction {
364
359
  track_deletes: boolean;
365
360
  logMessages?:
366
361
  | {
367
- counts: {
368
- updated: number;
369
- added: number;
370
- deleted: number;
371
- };
372
- messages: unknown[];
373
- }
362
+ counts: {
363
+ updated: number;
364
+ added: number;
365
+ deleted: number;
366
+ };
367
+ messages: unknown[];
368
+ }
374
369
  | undefined;
375
370
  rawSaveOutput?: Map<string, unknown[]>;
376
371
  rawDeleteOutput?: Map<string, unknown[]>;
@@ -380,12 +375,13 @@ export declare class NangoSync extends NangoAction {
380
375
  /**
381
376
  * @deprecated please use batchSave
382
377
  */
383
- batchSend<T = any>(results: T[], model: string): Promise<boolean | null>;
384
- batchSave<T = any>(results: T[], model: string): Promise<boolean | null>;
385
- batchDelete<T = any>(results: T[], model: string): Promise<boolean | null>;
386
- batchUpdate<T = any>(results: T[], model: string): Promise<boolean | null>;
378
+ batchSend<T extends object>(results: T[], model: string): Promise<boolean | null>;
379
+ batchSave<T extends object>(results: T[], model: string): Promise<boolean | null>;
380
+ batchDelete<T extends object>(results: T[], model: string): Promise<boolean | null>;
381
+ batchUpdate<T extends object>(results: T[], model: string): Promise<boolean | null>;
387
382
  getMetadata<T = Metadata>(): Promise<T>;
388
383
  setMergingStrategy(merging: { strategy: 'ignore_if_modified_after' | 'override' }, model: string): Promise<void>;
384
+ getRecordsByIds<K = string | number, T = any>(ids: K[], model: string): Promise<Map<K, T>>;
389
385
  }
390
386
  /**
391
387
  * @internal
@@ -394,4 +390,4 @@ export declare class NangoSync extends NangoAction {
394
390
  * It has been split from the actual code to avoid making the code too dirty and to easily enable/disable tracing if there is an issue with it
395
391
  */
396
392
  export declare function instrumentSDK(rawNango: NangoAction | NangoSync): NangoAction | NangoSync;
397
- export {};
393
+ export { };
package/package.json CHANGED
@@ -1,23 +1,25 @@
1
1
  {
2
2
  "name": "@nangohq/runner-sdk",
3
- "version": "0.53.1",
3
+ "version": "0.54.0",
4
4
  "description": "Nango's Runner SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "dependencies": {
8
- "@nangohq/node": "0.53.1",
9
- "@nangohq/providers": "0.53.1",
8
+ "@nangohq/node": "0.54.0",
9
+ "@nangohq/providers": "0.54.0",
10
10
  "ajv": "8.17.1",
11
11
  "ajv-formats": "3.0.1",
12
12
  "axios": "1.7.9",
13
13
  "lodash-es": "4.17.21",
14
- "parse-link-header": "2.0.0"
14
+ "parse-link-header": "2.0.0",
15
+ "undici": "6.21.1"
15
16
  },
16
17
  "devDependencies": {
17
- "@nangohq/types": "0.53.1",
18
+ "@nangohq/types": "0.54.0",
18
19
  "@types/json-schema": "7.0.15",
19
20
  "json-schema": "0.4.0",
20
- "vitest": "2.1.9"
21
+ "vitest": "2.1.9",
22
+ "zod": "3.24.1"
21
23
  },
22
24
  "files": [
23
25
  "dist/",