nango 0.71.3 → 0.71.5

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.
@@ -1,12 +1,40 @@
1
1
  import path from 'node:path';
2
2
  import { pathToFileURL } from 'url';
3
+ import * as z from 'zod';
3
4
  import { getInterval } from '@nangohq/nango-yaml';
4
5
  import { deriveFunctionCapabilities } from '@nangohq/runner-sdk';
5
6
  import { printDebug } from '../utils.js';
6
7
  import { Err, Ok } from '../utils/result.js';
7
8
  import { detectFeatures, getEntryPoints, readIndexContent, tsToJsPath } from './compile.js';
8
9
  import { buildJsonSchemaDefinitionsFromZodModels } from './json-schema.js';
10
+ import { normalizeProjectRelativePath, resolveProjectPath } from './project-path.js';
9
11
  import { DuplicateEndpointDefinitionError, DuplicateModelDefinitionError, EndpointMismatchDefinitionError, InvalidIntervalDefinitionError, InvalidModelDefinitionError, TrackDeletesDefinitionError } from './utils.js';
12
+ const debounceKeySourceSchema = z.union([z.object({ body: z.string() }).strict(), z.object({ header: z.string() }).strict()]);
13
+ const functionTriggerDefinitionSchema = z.discriminatedUnion('kind', [
14
+ z.object({ kind: z.literal('none') }).strict(),
15
+ z.object({ kind: z.literal('schedule'), frequency: z.string(), autoStart: z.boolean().optional() }).strict(),
16
+ z
17
+ .object({
18
+ kind: z.literal('http'),
19
+ subscriptions: z.array(z.string()).optional(),
20
+ debounce: z
21
+ .object({
22
+ keyBy: z.union([debounceKeySourceSchema, z.array(debounceKeySourceSchema)]).optional(),
23
+ windowMs: z.number(),
24
+ maxEntities: z.number().optional(),
25
+ take: z.enum(['latest', 'first', 'all']).optional()
26
+ })
27
+ .strict()
28
+ .optional()
29
+ })
30
+ .strict(),
31
+ z
32
+ .object({
33
+ kind: z.literal('event'),
34
+ events: z.array(z.enum(['post-connection-creation', 'pre-connection-deletion', 'validate-connection']))
35
+ })
36
+ .strict()
37
+ ]);
10
38
  const allowed = ['action', 'sync', 'onEvent', 'function'];
11
39
  export async function parseIntegrationDefinitions({ fullPath, debug }) {
12
40
  const parsed = { yamlVersion: 'v2', integrations: [], models: new Map(), functions: [] };
@@ -17,8 +45,13 @@ export async function parseIntegrationDefinitions({ fullPath, debug }) {
17
45
  }
18
46
  const matched = getEntryPoints(indexRes.value);
19
47
  let num = 0;
20
- for (const filePath of matched) {
48
+ for (const matchedFilePath of matched) {
21
49
  num += 1;
50
+ const sourcePath = resolveProjectPath({ projectRoot: fullPath, filePath: matchedFilePath });
51
+ if (!sourcePath) {
52
+ return Err(new Error(`Script '${matchedFilePath.replace(/\.js$/, '.ts')}' must be inside the project folder.`));
53
+ }
54
+ const filePath = sourcePath.relative;
22
55
  const modulePath = path.join(fullPath, 'build', tsToJsPath(filePath));
23
56
  const moduleUrl = pathToFileURL(modulePath).href;
24
57
  const moduleContent = await import(moduleUrl);
@@ -32,10 +65,13 @@ export async function parseIntegrationDefinitions({ fullPath, debug }) {
32
65
  printDebug(`Parsing ${filePath}`, debug);
33
66
  const script = moduleContent.default.default;
34
67
  const basename = path.basename(filePath, '.js');
35
- const realPath = filePath.replace('.js', '.ts');
68
+ const realPath = filePath.replace(/\.js$/, '.ts');
36
69
  const basenameClean = basename.replaceAll(/[^a-zA-Z0-9]/g, '');
37
- const split = filePath.split('/');
38
- const integrationId = split[split.length - 3];
70
+ const integrationIdRes = getIntegrationId(filePath);
71
+ if (integrationIdRes.isErr()) {
72
+ return Err(integrationIdRes.error);
73
+ }
74
+ const integrationId = integrationIdRes.value;
39
75
  const integrationIdClean = integrationId.replaceAll(/[^a-zA-Z0-9]/g, '_');
40
76
  let integration = parsed.integrations.find((v) => v.providerConfigKey === integrationId);
41
77
  if (!integration) {
@@ -80,7 +116,10 @@ export async function parseIntegrationDefinitions({ fullPath, debug }) {
80
116
  if (parsed.functions.some((fn) => fn.integrationId === integrationId && fn.name === basename)) {
81
117
  return Err(new Error(`Function '${integrationId}/functions/${basename}.ts' is already defined. Function names must be unique per integration.`));
82
118
  }
83
- parsed.functions.push(parseFunction({ params: script, integrationId, integrationIdClean, basename, basenameClean }));
119
+ parsed.functions.push({
120
+ ...parseFunction({ params: script, integrationId, integrationIdClean, basename, basenameClean }),
121
+ filePath: realPath
122
+ });
84
123
  break;
85
124
  }
86
125
  }
@@ -95,6 +134,18 @@ export async function parseIntegrationDefinitions({ fullPath, debug }) {
95
134
  printDebug('Correctly parsed', debug);
96
135
  return Ok(parsed);
97
136
  }
137
+ export function getIntegrationId(filePath) {
138
+ const relativePath = normalizeProjectRelativePath(filePath);
139
+ if (!relativePath) {
140
+ return Err(new Error(`Script '${filePath.replace(/\.js$/, '.ts')}' must be inside the project folder.`));
141
+ }
142
+ const segments = relativePath.replace(/^\.\//, '').split('/');
143
+ const integrationId = segments[0];
144
+ if (!integrationId || segments.length < 2) {
145
+ return Err(new Error(`Script '${filePath.replace(/\.js$/, '.ts')}' must be inside an integration folder.`));
146
+ }
147
+ return Ok(integrationId);
148
+ }
98
149
  const regexModelName = /^[A-Z][a-zA-Z0-9_]+$/;
99
150
  export function parseSync({ filePath, params, integrationIdClean, basename, basenameClean }) {
100
151
  // Validation
@@ -178,14 +229,33 @@ export function parseAction({ filePath, params, integrationIdClean, basename, ba
178
229
  }
179
230
  export function validateFunction({ params, integrationId, basename }) {
180
231
  const fnPath = `${integrationId}/functions/${basename}.ts`;
181
- // For now only trigger-less functions (triggered manually) are supported, with no data (records, checkpoints or metadata).
182
- // TODO: Add support for http, schedule and event triggers, and data
183
- const supportedFunctionTriggerKinds = [];
232
+ // For now only HTTP-triggered and trigger-less functions are supported, with no data (records, checkpoints or metadata).
233
+ // TODO: Add support for schedule and event triggers, and data
234
+ const supportedFunctionTriggerKinds = ['none', 'http'];
184
235
  if (params.trigger && !supportedFunctionTriggerKinds.includes(params.trigger.kind)) {
185
236
  const supported = supportedFunctionTriggerKinds.map((kind) => `'${kind}'`).join(', ');
186
237
  const allowedText = supported ? `${supported} or no trigger` : 'no trigger';
187
238
  return Err(new Error(`Function '${fnPath}' uses an unsupported trigger kind '${params.trigger.kind}'. Only ${allowedText} is supported for now.`));
188
239
  }
240
+ if (params.trigger !== undefined) {
241
+ const triggerValidation = functionTriggerDefinitionSchema.safeParse(params.trigger);
242
+ if (!triggerValidation.success) {
243
+ const details = triggerValidation.error.issues
244
+ .map((issue) => `${issue.path.length > 0 ? `${issue.path.join('.')}: ` : ''}${issue.message}`)
245
+ .join('; ');
246
+ return Err(new Error(`Function '${fnPath}' has an invalid trigger definition: ${details}`));
247
+ }
248
+ }
249
+ // TODO: Add support for HTTP trigger options (subscriptions, debounce)
250
+ if (params.trigger?.kind === 'http') {
251
+ const unsupportedOptions = [
252
+ ...(params.trigger.subscriptions !== undefined ? ['subscriptions'] : []),
253
+ ...(params.trigger.debounce !== undefined ? ['debounce'] : [])
254
+ ];
255
+ if (unsupportedOptions.length > 0) {
256
+ return Err(new Error(`Function '${fnPath}' uses unsupported HTTP trigger options: ${unsupportedOptions.map((option) => `'${option}'`).join(', ')}.`));
257
+ }
258
+ }
189
259
  if (params.data) {
190
260
  return Err(new Error(`Function '${fnPath}' declares 'data' (records, checkpoint or metadata) which is not supported yet. Remove 'data' for now.`));
191
261
  }
@@ -200,6 +270,10 @@ export function validateFunction({ params, integrationId, basename }) {
200
270
  export function parseFunction({ params, integrationId, integrationIdClean, basename, basenameClean }) {
201
271
  const inputName = params.input ? `FunctionInput_${integrationIdClean}_${basenameClean}` : null;
202
272
  const outputName = params.output ? `FunctionOutput_${integrationIdClean}_${basenameClean}` : null;
273
+ const metadata = params.data?.metadata;
274
+ const metadataName = metadata ? `FunctionMetadata_${integrationIdClean}_${basenameClean}` : null;
275
+ const checkpoint = params.data?.checkpoint;
276
+ const checkpointName = checkpoint ? `FunctionCheckpoint_${integrationIdClean}_${basenameClean}` : null;
203
277
  const allZodModels = {};
204
278
  if (inputName) {
205
279
  allZodModels[inputName] = params.input;
@@ -207,20 +281,39 @@ export function parseFunction({ params, integrationId, integrationIdClean, basen
207
281
  if (outputName) {
208
282
  allZodModels[outputName] = params.output;
209
283
  }
284
+ if (metadataName && metadata) {
285
+ allZodModels[metadataName] = metadata;
286
+ }
287
+ if (checkpointName && checkpoint) {
288
+ allZodModels[checkpointName] = checkpoint;
289
+ }
210
290
  const models = params.data?.models;
211
291
  if (models) {
212
292
  for (const [name, model] of Object.entries(models)) {
213
293
  allZodModels[name] = model;
214
294
  }
215
295
  }
296
+ const requires = params.requires?.connection === false
297
+ ? { connection: false, outbound: false, invoke: params.requires.invoke === true }
298
+ : { connection: true, outbound: params.requires?.outbound !== false, invoke: params.requires?.invoke === true };
299
+ const limits = requires.connection === false
300
+ ? {}
301
+ : { concurrency: { perConnection: params.trigger?.kind === 'schedule' ? 1 : (params.limits?.concurrency?.perConnection ?? 'max') } };
302
+ const toSchemaRef = (name) => `#/definitions/${name}`;
303
+ const toSchemaRefNullable = (name) => (name ? toSchemaRef(name) : null);
216
304
  return {
217
305
  name: basename,
218
306
  integrationId,
219
307
  description: params.description,
220
- trigger: params.trigger ?? null,
308
+ trigger: params.trigger ?? { kind: 'none' },
309
+ requires,
221
310
  capabilities: deriveFunctionCapabilities(params),
222
- input: inputName,
223
- output: outputName,
311
+ limits,
312
+ input_schema_ref: toSchemaRefNullable(inputName),
313
+ output_schema_ref: toSchemaRefNullable(outputName),
314
+ model_schema_refs: Object.keys(models || {}).map(toSchemaRef),
315
+ metadata_schema_ref: toSchemaRefNullable(metadataName),
316
+ checkpoint_schema_ref: toSchemaRefNullable(checkpointName),
224
317
  json_schema: buildJsonSchemaDefinitionsFromZodModels(allZodModels)
225
318
  };
226
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../lib/zeroYaml/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../lib/zeroYaml/definitions.ts"],"names":[],"mappings":"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"}