nango 0.71.12 → 0.71.14
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/index.js +25 -18
- package/dist/index.js.map +1 -1
- package/dist/sdkExperimental.d.ts +1 -1
- package/dist/sdkScripts.d.ts +2 -2
- package/dist/sdkScripts.js +1 -1
- package/dist/sdkScripts.js.map +1 -1
- package/dist/services/botbuilderZod.d.ts +2 -0
- package/dist/services/botbuilderZod.js +43 -0
- package/dist/services/botbuilderZod.js.map +1 -0
- package/dist/services/dryrun.service.d.ts +13 -4
- package/dist/services/dryrun.service.js +201 -32
- package/dist/services/dryrun.service.js.map +1 -1
- package/dist/services/response-collector.service.d.ts +37 -2
- package/dist/services/response-collector.service.js +11 -1
- package/dist/services/response-collector.service.js.map +1 -1
- package/dist/services/sdk.d.ts +7 -1
- package/dist/services/sdk.js +89 -0
- package/dist/services/sdk.js.map +1 -1
- package/dist/services/test.service.d.ts +6 -0
- package/dist/services/test.service.js +33 -2
- package/dist/services/test.service.js.map +1 -1
- package/dist/services/test.service.unit.cli-test.js +33 -1
- package/dist/services/test.service.unit.cli-test.js.map +1 -1
- package/dist/templates/function-test-template.ejs +12 -0
- package/dist/testMocks/functions.d.ts +15 -0
- package/dist/testMocks/functions.js +114 -0
- package/dist/testMocks/functions.js.map +1 -0
- package/dist/testMocks/utils.d.ts +1 -0
- package/dist/testMocks/utils.js +2 -1
- package/dist/testMocks/utils.js.map +1 -1
- package/dist/testMocks/utils.unified.unit.cli-test.js +97 -2
- package/dist/testMocks/utils.unified.unit.cli-test.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/zeroYaml/compile.d.ts +1 -1
- package/dist/zeroYaml/compile.js +88 -20
- package/dist/zeroYaml/compile.js.map +1 -1
- package/dist/zeroYaml/compile.unit.cli-test.js +182 -5
- package/dist/zeroYaml/compile.unit.cli-test.js.map +1 -1
- package/dist/zeroYaml/definitions.d.ts +15 -6
- package/dist/zeroYaml/definitions.js +136 -21
- package/dist/zeroYaml/definitions.js.map +1 -1
- package/dist/zeroYaml/deploy.unit.cli-test.js +4 -2
- package/dist/zeroYaml/deploy.unit.cli-test.js.map +1 -1
- package/dist/zeroYaml/utils.d.ts +4 -1
- package/dist/zeroYaml/utils.js +6 -1
- package/dist/zeroYaml/utils.js.map +1 -1
- package/example/package.json +1 -1
- package/package.json +9 -9
|
@@ -2,6 +2,7 @@ import { Buffer } from 'buffer';
|
|
|
2
2
|
import * as crypto from 'crypto';
|
|
3
3
|
import { createRequire } from 'module';
|
|
4
4
|
import fs from 'node:fs';
|
|
5
|
+
import path from 'node:path';
|
|
5
6
|
import * as vm from 'node:vm';
|
|
6
7
|
import * as url from 'url';
|
|
7
8
|
import { AxiosError } from 'axios';
|
|
@@ -15,12 +16,27 @@ import * as nangoScript from '../sdkScripts.js';
|
|
|
15
16
|
import { getConfig, getConnection, parseSecretKey, printDebug, resolveHostport } from '../utils.js';
|
|
16
17
|
import { displayValidationError } from '../utils/errors.js';
|
|
17
18
|
import { Err, Ok } from '../utils/result.js';
|
|
19
|
+
import { tsToJsPath } from '../zeroYaml/compile.js';
|
|
18
20
|
import { parseIntegrationDefinitions } from '../zeroYaml/definitions.js';
|
|
19
21
|
import { ReadableError } from '../zeroYaml/utils.js';
|
|
22
|
+
import { installBotbuilderZodCompat } from './botbuilderZod.js';
|
|
20
23
|
import { DiagnosticsMonitor, formatDiagnostics } from './diagnostics-monitor.service.js';
|
|
21
24
|
import { ResponseCollector } from './response-collector.service.js';
|
|
22
|
-
import { NangoActionCLI, NangoSyncCLI } from './sdk.js';
|
|
25
|
+
import { createFunctionCLI, NangoActionCLI, NangoSyncCLI } from './sdk.js';
|
|
23
26
|
const require = createRequire(import.meta.url);
|
|
27
|
+
const httpTriggerSchema = zod
|
|
28
|
+
.object({
|
|
29
|
+
method: zod.enum(['GET', 'POST', 'PATCH', 'PUT', 'DELETE', 'PROPFIND', 'REPORT']).default('POST'),
|
|
30
|
+
path: zod.string().startsWith('/').default('/'),
|
|
31
|
+
headers: zod
|
|
32
|
+
.record(zod.string(), zod.string())
|
|
33
|
+
.default({})
|
|
34
|
+
.transform((headers) => Object.fromEntries(Object.entries(headers).map(([key, value]) => [key.toLowerCase(), value]))),
|
|
35
|
+
query: zod.record(zod.string(), zod.string()).default({}),
|
|
36
|
+
body: zod.json().default(null),
|
|
37
|
+
subscriptions: zod.array(zod.string()).optional()
|
|
38
|
+
})
|
|
39
|
+
.strict();
|
|
24
40
|
/**
|
|
25
41
|
* To avoid pre-installing too much things we dynamically load package inside local package.json
|
|
26
42
|
*/
|
|
@@ -28,6 +44,9 @@ async function loadDynamicModule(moduleName) {
|
|
|
28
44
|
try {
|
|
29
45
|
// Resolve module path from user's working directory
|
|
30
46
|
const modulePath = require.resolve(moduleName, { paths: [process.cwd()] });
|
|
47
|
+
if (moduleName === 'botbuilder') {
|
|
48
|
+
installBotbuilderZodCompat(modulePath);
|
|
49
|
+
}
|
|
31
50
|
// Convert to file URL for dynamic import()
|
|
32
51
|
const moduleUrl = url.pathToFileURL(modulePath).href;
|
|
33
52
|
// Dynamically import the module
|
|
@@ -82,11 +101,6 @@ export class DryRunService {
|
|
|
82
101
|
if (!variant) {
|
|
83
102
|
variant = BASE_VARIANT;
|
|
84
103
|
}
|
|
85
|
-
if (!connectionId) {
|
|
86
|
-
const message = 'Connection id is required';
|
|
87
|
-
console.log(chalk.red(message));
|
|
88
|
-
return Err(message);
|
|
89
|
-
}
|
|
90
104
|
const def = await parseIntegrationDefinitions({ fullPath: this.fullPath, debug });
|
|
91
105
|
if (def.isErr()) {
|
|
92
106
|
const message = def.error instanceof ReadableError ? def.error.toText() : def.error.message;
|
|
@@ -104,6 +118,7 @@ export class DryRunService {
|
|
|
104
118
|
let isOnEventScript = false;
|
|
105
119
|
// Find the appropriate script to run
|
|
106
120
|
let scriptInfo;
|
|
121
|
+
let functionInfo;
|
|
107
122
|
for (const integration of parsed.integrations) {
|
|
108
123
|
if (options.optionalProviderConfigKey && integration.providerConfigKey !== options.optionalProviderConfigKey) {
|
|
109
124
|
continue;
|
|
@@ -113,7 +128,7 @@ export class DryRunService {
|
|
|
113
128
|
if (script.name !== syncName) {
|
|
114
129
|
continue;
|
|
115
130
|
}
|
|
116
|
-
if (scriptInfo) {
|
|
131
|
+
if (scriptInfo || functionInfo) {
|
|
117
132
|
const message = `Multiple integrations contain a script named "${syncName}". Please use "--integration-id"`;
|
|
118
133
|
console.log(chalk.red(message));
|
|
119
134
|
return Err(message);
|
|
@@ -121,8 +136,20 @@ export class DryRunService {
|
|
|
121
136
|
scriptInfo = script;
|
|
122
137
|
providerConfigKey = integration.providerConfigKey;
|
|
123
138
|
}
|
|
124
|
-
|
|
125
|
-
|
|
139
|
+
for (const fn of parsed.functions ?? []) {
|
|
140
|
+
if (fn.integrationId !== integration.providerConfigKey || fn.name !== syncName) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (scriptInfo || functionInfo) {
|
|
144
|
+
const message = `Multiple integrations contain a script named "${syncName}". Please use "--integration-id"`;
|
|
145
|
+
console.log(chalk.red(message));
|
|
146
|
+
return Err(message);
|
|
147
|
+
}
|
|
148
|
+
functionInfo = fn;
|
|
149
|
+
providerConfigKey = fn.integrationId;
|
|
150
|
+
}
|
|
151
|
+
// If nothing matched, this could still be an on-event script.
|
|
152
|
+
if (!scriptInfo && !functionInfo) {
|
|
126
153
|
for (const script of Object.values(integration.onEventScripts).flat()) {
|
|
127
154
|
if (script !== syncName) {
|
|
128
155
|
continue;
|
|
@@ -137,7 +164,7 @@ export class DryRunService {
|
|
|
137
164
|
}
|
|
138
165
|
}
|
|
139
166
|
}
|
|
140
|
-
if ((!scriptInfo && !isOnEventScript) || !providerConfigKey) {
|
|
167
|
+
if ((!scriptInfo && !functionInfo && !isOnEventScript) || !providerConfigKey) {
|
|
141
168
|
const message = `No script matched "${syncName}"${options.optionalProviderConfigKey ? ` for integration "${options.optionalProviderConfigKey}"` : ''}`;
|
|
142
169
|
console.log(chalk.red(message));
|
|
143
170
|
return Err(message);
|
|
@@ -145,10 +172,21 @@ export class DryRunService {
|
|
|
145
172
|
if (debug && scriptInfo) {
|
|
146
173
|
printDebug(`Found integration ${providerConfigKey}, ${scriptInfo.type} ${scriptInfo.name} `);
|
|
147
174
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
175
|
+
if (debug && functionInfo) {
|
|
176
|
+
printDebug(`Found integration ${providerConfigKey}, function ${functionInfo.name} `);
|
|
177
|
+
}
|
|
178
|
+
const requiresConnection = functionInfo?.requires?.connection !== false;
|
|
179
|
+
if (requiresConnection && !connectionId) {
|
|
180
|
+
const message = 'Connection id is required';
|
|
181
|
+
console.log(chalk.red(message));
|
|
182
|
+
return Err(message);
|
|
183
|
+
}
|
|
184
|
+
const nangoConnectionRes = requiresConnection
|
|
185
|
+
? await getConnection(providerConfigKey, connectionId, {
|
|
186
|
+
'Nango-Is-Sync': true,
|
|
187
|
+
'Nango-Is-Dry-Run': true
|
|
188
|
+
}, debug)
|
|
189
|
+
: Ok({ id: -1, connection_id: '', provider_config_key: providerConfigKey });
|
|
152
190
|
if (nangoConnectionRes.isErr()) {
|
|
153
191
|
console.log(chalk.red(nangoConnectionRes.error.message));
|
|
154
192
|
return Err(nangoConnectionRes.error);
|
|
@@ -188,11 +226,48 @@ export class DryRunService {
|
|
|
188
226
|
if (scriptInfo?.type === 'action') {
|
|
189
227
|
type = 'actions';
|
|
190
228
|
}
|
|
229
|
+
else if (functionInfo) {
|
|
230
|
+
type = 'functions';
|
|
231
|
+
}
|
|
191
232
|
else if (isOnEventScript) {
|
|
192
233
|
type = 'on-events';
|
|
193
234
|
}
|
|
194
235
|
let stubbedMetadata = undefined;
|
|
195
236
|
let normalizedInput;
|
|
237
|
+
let httpRequest;
|
|
238
|
+
let httpSubscriptions;
|
|
239
|
+
if (options.triggerHttp !== undefined) {
|
|
240
|
+
if (actionInput !== undefined) {
|
|
241
|
+
const message = 'Use either --trigger-http or --input';
|
|
242
|
+
console.log(chalk.red(message));
|
|
243
|
+
return Err(message);
|
|
244
|
+
}
|
|
245
|
+
if (functionInfo?.trigger.kind !== 'http') {
|
|
246
|
+
const message = '--trigger-http is only supported for functions with an HTTP trigger';
|
|
247
|
+
console.log(chalk.red(message));
|
|
248
|
+
return Err(message);
|
|
249
|
+
}
|
|
250
|
+
const result = parseJsonArg(options.triggerHttp, 'trigger-http');
|
|
251
|
+
if (!result.ok) {
|
|
252
|
+
console.log(chalk.red(result.message));
|
|
253
|
+
return Err(result.message);
|
|
254
|
+
}
|
|
255
|
+
const parsedRequest = httpTriggerSchema.safeParse(result.value);
|
|
256
|
+
if (!parsedRequest.success) {
|
|
257
|
+
const message = `Invalid --trigger-http: ${parsedRequest.error.message}`;
|
|
258
|
+
console.log(chalk.red(message));
|
|
259
|
+
return Err(message);
|
|
260
|
+
}
|
|
261
|
+
const { subscriptions, ...request } = parsedRequest.data;
|
|
262
|
+
httpRequest = request;
|
|
263
|
+
httpSubscriptions = subscriptions;
|
|
264
|
+
normalizedInput = httpRequest.body;
|
|
265
|
+
}
|
|
266
|
+
if (actionInput !== undefined && functionInfo?.trigger.kind === 'schedule') {
|
|
267
|
+
const message = '--input is not supported for functions with a schedule trigger';
|
|
268
|
+
console.log(chalk.red(message));
|
|
269
|
+
return Err(message);
|
|
270
|
+
}
|
|
196
271
|
if (actionInput) {
|
|
197
272
|
const result = parseJsonArg(actionInput, 'input');
|
|
198
273
|
if (!result.ok) {
|
|
@@ -231,9 +306,9 @@ export class DryRunService {
|
|
|
231
306
|
id: -1,
|
|
232
307
|
sync_name: syncName,
|
|
233
308
|
file_location: '',
|
|
234
|
-
models: scriptInfo?.output || [],
|
|
309
|
+
models: functionInfo?.model_schema_refs?.map((ref) => ref.replace('#/definitions/', '')) || scriptInfo?.output || [],
|
|
235
310
|
model_schema: null,
|
|
236
|
-
input: scriptInfo?.input || null,
|
|
311
|
+
input: functionInfo?.input_schema_ref?.replace('#/definitions/', '') || scriptInfo?.input || null,
|
|
237
312
|
track_deletes: false,
|
|
238
313
|
type: scriptInfo?.type || 'sync',
|
|
239
314
|
active: true,
|
|
@@ -243,7 +318,7 @@ export class DryRunService {
|
|
|
243
318
|
nango_config_id: 1,
|
|
244
319
|
runs: '',
|
|
245
320
|
webhook_subscriptions: [],
|
|
246
|
-
models_json_schema: scriptInfo?.json_schema || null,
|
|
321
|
+
models_json_schema: functionInfo?.json_schema || scriptInfo?.json_schema || null,
|
|
247
322
|
created_at: new Date(),
|
|
248
323
|
updated_at: new Date(),
|
|
249
324
|
attributes: {},
|
|
@@ -260,7 +335,7 @@ export class DryRunService {
|
|
|
260
335
|
}
|
|
261
336
|
const nangoProps = {
|
|
262
337
|
isCLI: true,
|
|
263
|
-
scriptType: scriptInfo?.type || 'sync',
|
|
338
|
+
scriptType: functionInfo ? 'function' : scriptInfo?.type || 'sync',
|
|
264
339
|
host: resolveHostport(),
|
|
265
340
|
connectionId: nangoConnection.connection_id,
|
|
266
341
|
environmentId: -1,
|
|
@@ -300,8 +375,13 @@ export class DryRunService {
|
|
|
300
375
|
const results = await this.runScript({
|
|
301
376
|
syncName,
|
|
302
377
|
nangoProps,
|
|
303
|
-
loadLocation:
|
|
378
|
+
loadLocation: this.fullPath,
|
|
379
|
+
...(functionInfo && { filePath: functionInfo.filePath }),
|
|
380
|
+
...(functionInfo && { functionCapabilities: functionInfo.capabilities, functionTrigger: functionInfo.trigger }),
|
|
381
|
+
...(functionInfo && { functionOutputSchemaRef: functionInfo.output_schema_ref }),
|
|
304
382
|
input: normalizedInput,
|
|
383
|
+
...(httpRequest && { httpRequest }),
|
|
384
|
+
...(httpSubscriptions !== undefined && { httpSubscriptions }),
|
|
305
385
|
stubbedMetadata,
|
|
306
386
|
stubbedCheckpoint,
|
|
307
387
|
...(options.diagnostics && { diagnostics: options.diagnostics })
|
|
@@ -322,8 +402,8 @@ export class DryRunService {
|
|
|
322
402
|
return Err(err instanceof Error ? err.message : JSON.stringify(err));
|
|
323
403
|
}
|
|
324
404
|
const resultOutput = [];
|
|
325
|
-
if (type === 'actions') {
|
|
326
|
-
if (!results.response) {
|
|
405
|
+
if (type === 'actions' || type === 'functions') {
|
|
406
|
+
if (!results.response || (type === 'functions' && results.response.output === undefined)) {
|
|
327
407
|
console.log(chalk.gray('no output'));
|
|
328
408
|
resultOutput.push(chalk.gray('no output'));
|
|
329
409
|
}
|
|
@@ -371,12 +451,10 @@ export class DryRunService {
|
|
|
371
451
|
}
|
|
372
452
|
}
|
|
373
453
|
if (options.saveResponses) {
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
responseCollector.addBatchDelete(modelFullName, nangoInstance.rawDeleteOutput.get(modelFullName) || []);
|
|
379
|
-
}
|
|
454
|
+
for (const model of syncConfig.models) {
|
|
455
|
+
const modelFullName = nangoInstance.modelFullName(model);
|
|
456
|
+
responseCollector.addBatchSave(modelFullName, nangoInstance.rawSaveOutput.get(modelFullName) || []);
|
|
457
|
+
responseCollector.addBatchDelete(modelFullName, nangoInstance.rawDeleteOutput.get(modelFullName) || []);
|
|
380
458
|
}
|
|
381
459
|
}
|
|
382
460
|
}
|
|
@@ -386,6 +464,8 @@ export class DryRunService {
|
|
|
386
464
|
filePath: testFilePath,
|
|
387
465
|
input: normalizedInput,
|
|
388
466
|
output: results.response?.output,
|
|
467
|
+
...(httpRequest && { triggerHttp: httpRequest }),
|
|
468
|
+
...(functionInfo && { trigger: results.response?.trigger, stubbedCheckpoint, variant }),
|
|
389
469
|
stubbedMetadata: stubbedMetadata
|
|
390
470
|
});
|
|
391
471
|
console.log(chalk.green(`\n✅ Mocks saved to ${testFilePath}`));
|
|
@@ -399,14 +479,16 @@ export class DryRunService {
|
|
|
399
479
|
return Err(err instanceof Error ? err : new Error('Dry run failed'));
|
|
400
480
|
}
|
|
401
481
|
}
|
|
402
|
-
async runScript({ syncName, nangoProps, loadLocation, input, stubbedMetadata, stubbedCheckpoint, diagnostics }) {
|
|
482
|
+
async runScript({ syncName, nangoProps, loadLocation, filePath, functionCapabilities, functionTrigger, functionOutputSchemaRef, input, httpRequest, httpSubscriptions, stubbedMetadata, stubbedCheckpoint, diagnostics }) {
|
|
403
483
|
const drs = new DryRunService({
|
|
404
484
|
environment: nangoProps.environmentName,
|
|
405
485
|
returnOutput: true,
|
|
406
486
|
fullPath: this.fullPath,
|
|
407
487
|
validation: this.validation
|
|
408
488
|
});
|
|
409
|
-
const nango = nangoProps.scriptType === 'sync' ||
|
|
489
|
+
const nango = nangoProps.scriptType === 'sync' ||
|
|
490
|
+
nangoProps.scriptType === 'webhook' ||
|
|
491
|
+
(nangoProps.scriptType === 'function' && functionCapabilities?.usesRecords)
|
|
410
492
|
? new NangoSyncCLI(nangoProps, { dryRunService: drs, stubbedMetadata, stubbedCheckpoint })
|
|
411
493
|
: new NangoActionCLI(nangoProps, { dryRunService: drs, stubbedCheckpoint });
|
|
412
494
|
const monitor = diagnostics ? new DiagnosticsMonitor() : null;
|
|
@@ -416,7 +498,8 @@ export class DryRunService {
|
|
|
416
498
|
const script = getIntegrationFile({
|
|
417
499
|
syncName,
|
|
418
500
|
nangoProps,
|
|
419
|
-
location: loadLocation
|
|
501
|
+
location: loadLocation,
|
|
502
|
+
...(filePath && { filePath })
|
|
420
503
|
});
|
|
421
504
|
const isAction = nangoProps.scriptType === 'action';
|
|
422
505
|
if (!script) {
|
|
@@ -442,8 +525,10 @@ export class DryRunService {
|
|
|
442
525
|
require: (moduleName) => {
|
|
443
526
|
switch (moduleName) {
|
|
444
527
|
case 'url':
|
|
528
|
+
case 'node:url':
|
|
445
529
|
return url;
|
|
446
530
|
case 'crypto':
|
|
531
|
+
case 'node:crypto':
|
|
447
532
|
return crypto;
|
|
448
533
|
case 'nango':
|
|
449
534
|
return nangoScript;
|
|
@@ -485,6 +570,87 @@ export class DryRunService {
|
|
|
485
570
|
}
|
|
486
571
|
// Start diagnostics monitoring before script execution
|
|
487
572
|
monitor?.start();
|
|
573
|
+
if (nangoProps.scriptType === 'function') {
|
|
574
|
+
const payload = scriptExports.default;
|
|
575
|
+
if (payload.type !== 'function') {
|
|
576
|
+
throw new Error('Incorrect script loaded for function');
|
|
577
|
+
}
|
|
578
|
+
if (nangoProps.syncConfig.input) {
|
|
579
|
+
const valInput = validateData({
|
|
580
|
+
version: nangoProps.syncConfig.version || '1',
|
|
581
|
+
input,
|
|
582
|
+
modelName: nangoProps.syncConfig.input,
|
|
583
|
+
jsonSchema: nangoProps.syncConfig.models_json_schema
|
|
584
|
+
});
|
|
585
|
+
if (Array.isArray(valInput)) {
|
|
586
|
+
nango.log('Invalid function input. Use `--validation` option to see the details', { level: 'warn' });
|
|
587
|
+
if (nangoProps.runnerFlags.validateActionInput) {
|
|
588
|
+
return {
|
|
589
|
+
success: false,
|
|
590
|
+
response: null,
|
|
591
|
+
error: new InvalidActionInputSDKError({ data: input, validation: valInput, model: nangoProps.syncConfig.input })
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
const connection = payload.requires?.connection === false
|
|
597
|
+
? undefined
|
|
598
|
+
: { connectionId: nangoProps.connectionId, integrationId: nangoProps.providerConfigKey };
|
|
599
|
+
let trigger;
|
|
600
|
+
switch (functionTrigger?.kind) {
|
|
601
|
+
case 'schedule':
|
|
602
|
+
trigger = { kind: 'schedule', input: null, ...(connection && { connection }) };
|
|
603
|
+
break;
|
|
604
|
+
case 'event': {
|
|
605
|
+
const requestedEvent = input && typeof input === 'object' && 'event' in input ? input['event'] : undefined;
|
|
606
|
+
const event = functionTrigger.events.find((candidate) => candidate === requestedEvent) ??
|
|
607
|
+
(requestedEvent === undefined && functionTrigger.events.length === 1 ? functionTrigger.events[0] : undefined);
|
|
608
|
+
if (!event) {
|
|
609
|
+
throw new Error(`Provide --input '{"event":"<event>"}' with one of: ${functionTrigger.events.join(', ')}`);
|
|
610
|
+
}
|
|
611
|
+
trigger = { kind: 'event', input: { event }, ...(connection && { connection }) };
|
|
612
|
+
break;
|
|
613
|
+
}
|
|
614
|
+
case 'http':
|
|
615
|
+
trigger = {
|
|
616
|
+
kind: 'http',
|
|
617
|
+
input: functionTrigger.debounce?.take === 'all' && !Array.isArray(input) ? [input] : input,
|
|
618
|
+
...(connection && { connection }),
|
|
619
|
+
...(httpSubscriptions !== undefined && { subscriptions: httpSubscriptions }),
|
|
620
|
+
request: httpRequest ?? { method: 'POST', path: '/', headers: {}, query: {}, body: input ?? null }
|
|
621
|
+
};
|
|
622
|
+
break;
|
|
623
|
+
default:
|
|
624
|
+
trigger = { kind: 'invoke', input, ...(connection && { connection }) };
|
|
625
|
+
}
|
|
626
|
+
const functionNango = createFunctionCLI({
|
|
627
|
+
nango,
|
|
628
|
+
capabilities: functionCapabilities ?? payload.capabilities,
|
|
629
|
+
requiresConnection: payload.requires?.connection !== false,
|
|
630
|
+
stubbedMetadata
|
|
631
|
+
});
|
|
632
|
+
const output = await payload.exec(functionNango, trigger);
|
|
633
|
+
if (functionOutputSchemaRef) {
|
|
634
|
+
const modelNameOutput = functionOutputSchemaRef.replace('#/definitions/', '');
|
|
635
|
+
const valOutput = validateData({
|
|
636
|
+
version: nangoProps.syncConfig.version || '1',
|
|
637
|
+
input: output,
|
|
638
|
+
modelName: modelNameOutput,
|
|
639
|
+
jsonSchema: nangoProps.syncConfig.models_json_schema
|
|
640
|
+
});
|
|
641
|
+
if (Array.isArray(valOutput)) {
|
|
642
|
+
nango.log('Invalid function output. Use `--validation` option to see the details', { level: 'warn' });
|
|
643
|
+
if (nangoProps.runnerFlags.validateActionOutput) {
|
|
644
|
+
return {
|
|
645
|
+
success: false,
|
|
646
|
+
response: null,
|
|
647
|
+
error: new InvalidActionOutputSDKError({ data: output, validation: valOutput, model: modelNameOutput })
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
return { success: true, error: null, response: { output, nango, trigger } };
|
|
653
|
+
}
|
|
488
654
|
if (isAction) {
|
|
489
655
|
// Validate action input against json schema
|
|
490
656
|
const valInput = validateData({
|
|
@@ -655,9 +821,12 @@ function readFile(rawFilePath) {
|
|
|
655
821
|
return null;
|
|
656
822
|
}
|
|
657
823
|
}
|
|
658
|
-
function getIntegrationFile({ syncName, location, nangoProps }) {
|
|
824
|
+
function getIntegrationFile({ syncName, location, nangoProps, filePath }) {
|
|
659
825
|
try {
|
|
660
|
-
|
|
826
|
+
const bundleName = filePath
|
|
827
|
+
? tsToJsPath(filePath.replace(/\.ts$/, '.js'))
|
|
828
|
+
: `${nangoProps.providerConfigKey}_${nangoProps.scriptType}s_${syncName}.cjs`;
|
|
829
|
+
return fs.readFileSync(path.join(location, 'build', bundleName), 'utf8');
|
|
661
830
|
}
|
|
662
831
|
catch (err) {
|
|
663
832
|
console.log(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dryrun.service.js","sourceRoot":"","sources":["../../lib/services/dryrun.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dryrun.service.js","sourceRoot":"","sources":["../../lib/services/dryrun.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
|
-
import type { Metadata } from '@nangohq/types';
|
|
1
|
+
import type { Checkpoint, FunctionTriggerDefinition, HttpRequest, Metadata, Trigger } from '@nangohq/types';
|
|
2
2
|
import type { AxiosResponse } from 'axios';
|
|
3
|
+
interface ApiMockResponse {
|
|
4
|
+
response: unknown;
|
|
5
|
+
headers?: Record<string, string>;
|
|
6
|
+
status?: number;
|
|
7
|
+
hash?: string;
|
|
8
|
+
request?: {
|
|
9
|
+
params?: Record<string, unknown>;
|
|
10
|
+
headers?: Record<string, unknown>;
|
|
11
|
+
data?: unknown;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export type RecordedTrigger = Trigger<FunctionTriggerDefinition, unknown>;
|
|
15
|
+
export interface UnifiedMock {
|
|
16
|
+
input?: unknown;
|
|
17
|
+
output?: unknown;
|
|
18
|
+
triggerHttp?: HttpRequest;
|
|
19
|
+
trigger?: RecordedTrigger;
|
|
20
|
+
checkpoint?: Checkpoint;
|
|
21
|
+
variant?: string;
|
|
22
|
+
nango: {
|
|
23
|
+
getConnection?: {
|
|
24
|
+
connectionId: string;
|
|
25
|
+
provider: string;
|
|
26
|
+
};
|
|
27
|
+
getMetadata?: Metadata;
|
|
28
|
+
batchSave?: Record<string, unknown[]>;
|
|
29
|
+
batchDelete?: Record<string, unknown[]>;
|
|
30
|
+
};
|
|
31
|
+
api: Record<string, Record<string, ApiMockResponse | ApiMockResponse[]>>;
|
|
32
|
+
}
|
|
3
33
|
export declare const FILTER_HEADERS: string[];
|
|
4
34
|
export declare function isAxiosDefaultContentTypeForMockIdentity(headerKey: string, headerValue: unknown): boolean;
|
|
5
35
|
export declare class ResponseCollector {
|
|
@@ -12,10 +42,14 @@ export declare class ResponseCollector {
|
|
|
12
42
|
onAxiosRequestRejected(error: unknown): Promise<never>;
|
|
13
43
|
addBatchSave(model: string, data: unknown[]): void;
|
|
14
44
|
addBatchDelete(model: string, data: unknown[]): void;
|
|
15
|
-
saveUnifiedMock({ filePath, input, output, stubbedMetadata }: {
|
|
45
|
+
saveUnifiedMock({ filePath, input, output, triggerHttp, trigger, stubbedCheckpoint, variant, stubbedMetadata }: {
|
|
16
46
|
filePath: string;
|
|
17
47
|
input?: unknown;
|
|
18
48
|
output?: unknown;
|
|
49
|
+
triggerHttp?: HttpRequest;
|
|
50
|
+
trigger?: RecordedTrigger | undefined;
|
|
51
|
+
stubbedCheckpoint?: Checkpoint | undefined;
|
|
52
|
+
variant?: string | undefined;
|
|
19
53
|
stubbedMetadata?: Metadata | undefined;
|
|
20
54
|
}): void;
|
|
21
55
|
private ensureDirectoryExists;
|
|
@@ -23,3 +57,4 @@ export declare class ResponseCollector {
|
|
|
23
57
|
private sortEntries;
|
|
24
58
|
private computeDataIdentity;
|
|
25
59
|
}
|
|
60
|
+
export {};
|
|
@@ -28,6 +28,12 @@ export function isAxiosDefaultContentTypeForMockIdentity(headerKey, headerValue)
|
|
|
28
28
|
const normalizedValue = String(headerValue).toLowerCase();
|
|
29
29
|
return normalizedValue === 'application/json' || normalizedValue === 'undefined' || normalizedValue.startsWith('application/x-www-form-urlencoded');
|
|
30
30
|
}
|
|
31
|
+
function filterHttpRequestHeaders(request) {
|
|
32
|
+
return {
|
|
33
|
+
...request,
|
|
34
|
+
headers: Object.fromEntries(Object.entries(request.headers).filter(([key]) => !FILTER_HEADERS.includes(key.toLowerCase())))
|
|
35
|
+
};
|
|
36
|
+
}
|
|
31
37
|
export class ResponseCollector {
|
|
32
38
|
apiCalls = [];
|
|
33
39
|
connectionInfo;
|
|
@@ -83,7 +89,7 @@ export class ResponseCollector {
|
|
|
83
89
|
}
|
|
84
90
|
this.batchDeleteData[model].push(...data);
|
|
85
91
|
}
|
|
86
|
-
saveUnifiedMock({ filePath, input, output, stubbedMetadata }) {
|
|
92
|
+
saveUnifiedMock({ filePath, input, output, triggerHttp, trigger, stubbedCheckpoint, variant, stubbedMetadata }) {
|
|
87
93
|
const nangoData = {};
|
|
88
94
|
if (this.connectionInfo) {
|
|
89
95
|
nangoData.getConnection = this.connectionInfo;
|
|
@@ -101,6 +107,10 @@ export class ResponseCollector {
|
|
|
101
107
|
const mockData = {
|
|
102
108
|
input,
|
|
103
109
|
output,
|
|
110
|
+
...(triggerHttp && { triggerHttp: filterHttpRequestHeaders(triggerHttp) }),
|
|
111
|
+
...(trigger && { trigger: trigger.kind === 'http' ? { ...trigger, request: filterHttpRequestHeaders(trigger.request) } : trigger }),
|
|
112
|
+
...(stubbedCheckpoint !== undefined && { checkpoint: stubbedCheckpoint }),
|
|
113
|
+
...(variant !== undefined && { variant }),
|
|
104
114
|
nango: nangoData,
|
|
105
115
|
api: {}
|
|
106
116
|
};
|