@tinybirdco/sdk 0.0.48 → 0.0.50

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.
Files changed (84) hide show
  1. package/README.md +71 -4
  2. package/dist/cli/commands/migrate.d.ts.map +1 -1
  3. package/dist/cli/commands/migrate.js +68 -1
  4. package/dist/cli/commands/migrate.js.map +1 -1
  5. package/dist/cli/commands/migrate.test.js +458 -1
  6. package/dist/cli/commands/migrate.test.js.map +1 -1
  7. package/dist/generator/connection.d.ts.map +1 -1
  8. package/dist/generator/connection.js +14 -1
  9. package/dist/generator/connection.js.map +1 -1
  10. package/dist/generator/connection.test.js +20 -4
  11. package/dist/generator/connection.test.js.map +1 -1
  12. package/dist/generator/datasource.d.ts.map +1 -1
  13. package/dist/generator/datasource.js +20 -10
  14. package/dist/generator/datasource.js.map +1 -1
  15. package/dist/generator/datasource.test.js +26 -1
  16. package/dist/generator/datasource.test.js.map +1 -1
  17. package/dist/generator/pipe.d.ts.map +1 -1
  18. package/dist/generator/pipe.js +31 -1
  19. package/dist/generator/pipe.js.map +1 -1
  20. package/dist/generator/pipe.test.js +50 -1
  21. package/dist/generator/pipe.test.js.map +1 -1
  22. package/dist/index.d.ts +5 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/migrate/emit-ts.d.ts.map +1 -1
  27. package/dist/migrate/emit-ts.js +95 -20
  28. package/dist/migrate/emit-ts.js.map +1 -1
  29. package/dist/migrate/parse-connection.d.ts +2 -2
  30. package/dist/migrate/parse-connection.d.ts.map +1 -1
  31. package/dist/migrate/parse-connection.js +34 -4
  32. package/dist/migrate/parse-connection.js.map +1 -1
  33. package/dist/migrate/parse-datasource.d.ts.map +1 -1
  34. package/dist/migrate/parse-datasource.js +79 -51
  35. package/dist/migrate/parse-datasource.js.map +1 -1
  36. package/dist/migrate/parse-pipe.d.ts.map +1 -1
  37. package/dist/migrate/parse-pipe.js +254 -44
  38. package/dist/migrate/parse-pipe.js.map +1 -1
  39. package/dist/migrate/parser-utils.d.ts +5 -0
  40. package/dist/migrate/parser-utils.d.ts.map +1 -1
  41. package/dist/migrate/parser-utils.js +22 -0
  42. package/dist/migrate/parser-utils.js.map +1 -1
  43. package/dist/migrate/types.d.ts +37 -4
  44. package/dist/migrate/types.d.ts.map +1 -1
  45. package/dist/schema/connection.d.ts +34 -1
  46. package/dist/schema/connection.d.ts.map +1 -1
  47. package/dist/schema/connection.js +26 -0
  48. package/dist/schema/connection.js.map +1 -1
  49. package/dist/schema/connection.test.js +35 -1
  50. package/dist/schema/connection.test.js.map +1 -1
  51. package/dist/schema/datasource.d.ts +16 -1
  52. package/dist/schema/datasource.d.ts.map +1 -1
  53. package/dist/schema/datasource.js +3 -2
  54. package/dist/schema/datasource.js.map +1 -1
  55. package/dist/schema/datasource.test.js +33 -3
  56. package/dist/schema/datasource.test.js.map +1 -1
  57. package/dist/schema/pipe.d.ts +90 -3
  58. package/dist/schema/pipe.d.ts.map +1 -1
  59. package/dist/schema/pipe.js +84 -0
  60. package/dist/schema/pipe.js.map +1 -1
  61. package/dist/schema/pipe.test.js +70 -1
  62. package/dist/schema/pipe.test.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/cli/commands/migrate.test.ts +671 -1
  65. package/src/cli/commands/migrate.ts +74 -1
  66. package/src/generator/connection.test.ts +29 -4
  67. package/src/generator/connection.ts +25 -2
  68. package/src/generator/datasource.test.ts +30 -1
  69. package/src/generator/datasource.ts +22 -10
  70. package/src/generator/pipe.test.ts +56 -1
  71. package/src/generator/pipe.ts +41 -1
  72. package/src/index.ts +14 -0
  73. package/src/migrate/emit-ts.ts +106 -24
  74. package/src/migrate/parse-connection.ts +56 -6
  75. package/src/migrate/parse-datasource.ts +84 -70
  76. package/src/migrate/parse-pipe.ts +359 -66
  77. package/src/migrate/parser-utils.ts +36 -1
  78. package/src/migrate/types.ts +43 -4
  79. package/src/schema/connection.test.ts +48 -0
  80. package/src/schema/connection.ts +60 -1
  81. package/src/schema/datasource.test.ts +39 -3
  82. package/src/schema/datasource.ts +24 -3
  83. package/src/schema/pipe.test.ts +89 -0
  84. package/src/schema/pipe.ts +188 -4
@@ -1,28 +1,23 @@
1
- import { MigrationParseError, isBlank, parseDirectiveLine, splitLines, splitTopLevelComma, stripIndent, } from "./parser-utils.js";
2
- function readIndentedBlock(lines, startIndex) {
3
- const collected = [];
4
- let i = startIndex;
5
- while (i < lines.length) {
6
- const line = lines[i] ?? "";
7
- if (line.startsWith(" ")) {
8
- collected.push(stripIndent(line));
9
- i += 1;
10
- continue;
11
- }
12
- if (isBlank(line)) {
13
- let j = i + 1;
14
- while (j < lines.length && isBlank(lines[j] ?? "")) {
15
- j += 1;
16
- }
17
- if (j < lines.length && (lines[j] ?? "").startsWith(" ")) {
18
- collected.push("");
19
- i += 1;
20
- continue;
21
- }
22
- }
23
- break;
1
+ import { MigrationParseError, isBlank, parseDirectiveLine, parseQuotedValue, readDirectiveBlock, splitLines, splitTopLevelComma, } from "./parser-utils.js";
2
+ const PIPE_DIRECTIVES = new Set([
3
+ "DESCRIPTION",
4
+ "NODE",
5
+ "SQL",
6
+ "TYPE",
7
+ "CACHE",
8
+ "DATASOURCE",
9
+ "DEPLOYMENT_METHOD",
10
+ "TARGET_DATASOURCE",
11
+ "COPY_SCHEDULE",
12
+ "COPY_MODE",
13
+ "TOKEN",
14
+ ]);
15
+ function isPipeDirectiveLine(line) {
16
+ if (!line) {
17
+ return false;
24
18
  }
25
- return { lines: collected, nextIndex: i };
19
+ const { key } = parseDirectiveLine(line);
20
+ return PIPE_DIRECTIVES.has(key);
26
21
  }
27
22
  function nextNonBlank(lines, startIndex) {
28
23
  let i = startIndex;
@@ -91,12 +86,84 @@ function parseParamDefault(rawValue) {
91
86
  if (/^-?\d+(\.\d+)?$/.test(trimmed)) {
92
87
  return Number(trimmed);
93
88
  }
89
+ if (/^(true|false)$/i.test(trimmed)) {
90
+ return trimmed.toLowerCase() === "true";
91
+ }
94
92
  if ((trimmed.startsWith("'") && trimmed.endsWith("'")) ||
95
93
  (trimmed.startsWith('"') && trimmed.endsWith('"'))) {
96
94
  return trimmed.slice(1, -1);
97
95
  }
98
96
  throw new Error(`Unsupported parameter default value: "${rawValue}"`);
99
97
  }
98
+ function parseKeywordArgument(rawArg) {
99
+ const equalsIndex = rawArg.indexOf("=");
100
+ if (equalsIndex <= 0) {
101
+ return null;
102
+ }
103
+ const key = rawArg.slice(0, equalsIndex).trim();
104
+ if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key)) {
105
+ return null;
106
+ }
107
+ const value = rawArg.slice(equalsIndex + 1).trim();
108
+ if (!value) {
109
+ return null;
110
+ }
111
+ return { key, value };
112
+ }
113
+ function parseRequiredFlag(rawValue) {
114
+ const normalized = rawValue.trim().toLowerCase();
115
+ if (normalized === "true" || normalized === "1") {
116
+ return true;
117
+ }
118
+ if (normalized === "false" || normalized === "0") {
119
+ return false;
120
+ }
121
+ throw new Error(`Unsupported required value: "${rawValue}"`);
122
+ }
123
+ function parseParamOptions(rawArgs) {
124
+ let positionalDefault;
125
+ let keywordDefault;
126
+ let required;
127
+ let description;
128
+ for (const rawArg of rawArgs) {
129
+ const trimmed = rawArg.trim();
130
+ if (!trimmed) {
131
+ continue;
132
+ }
133
+ const keyword = parseKeywordArgument(trimmed);
134
+ if (!keyword) {
135
+ if (positionalDefault === undefined) {
136
+ positionalDefault = parseParamDefault(trimmed);
137
+ }
138
+ continue;
139
+ }
140
+ const keyLower = keyword.key.toLowerCase();
141
+ if (keyLower === "default") {
142
+ keywordDefault = parseParamDefault(keyword.value);
143
+ continue;
144
+ }
145
+ if (keyLower === "required") {
146
+ required = parseRequiredFlag(keyword.value);
147
+ continue;
148
+ }
149
+ if (keyLower === "description") {
150
+ const parsedDescription = parseParamDefault(keyword.value);
151
+ if (typeof parsedDescription !== "string") {
152
+ throw new Error(`Unsupported description value: "${keyword.value}"`);
153
+ }
154
+ description = parsedDescription;
155
+ continue;
156
+ }
157
+ }
158
+ let defaultValue = keywordDefault ?? positionalDefault;
159
+ if (keywordDefault !== undefined && positionalDefault !== undefined) {
160
+ if (keywordDefault !== positionalDefault) {
161
+ throw new Error(`Parameter has conflicting positional and keyword defaults: "${positionalDefault}" and "${keywordDefault}".`);
162
+ }
163
+ defaultValue = positionalDefault;
164
+ }
165
+ return { defaultValue, required, description };
166
+ }
100
167
  function inferParamsFromSql(sql, filePath, resourceName) {
101
168
  const regex = /\{\{\s*([a-zA-Z_][a-zA-Z0-9_]*)\(([^{}]*)\)\s*\}\}/g;
102
169
  const params = new Map();
@@ -117,9 +184,14 @@ function inferParamsFromSql(sql, filePath, resourceName) {
117
184
  throw new MigrationParseError(filePath, "pipe", resourceName, `Unsupported placeholder function in strict mode: "${templateFunction}"`);
118
185
  }
119
186
  let defaultValue;
187
+ let required;
188
+ let description;
120
189
  if (args.length > 1) {
121
190
  try {
122
- defaultValue = parseParamDefault(args[1] ?? "");
191
+ const parsedOptions = parseParamOptions(args.slice(1));
192
+ defaultValue = parsedOptions.defaultValue;
193
+ required = parsedOptions.required;
194
+ description = parsedOptions.description;
123
195
  }
124
196
  catch (error) {
125
197
  throw new MigrationParseError(filePath, "pipe", resourceName, error.message);
@@ -137,15 +209,21 @@ function inferParamsFromSql(sql, filePath, resourceName) {
137
209
  }
138
210
  if (existing.defaultValue === undefined && defaultValue !== undefined) {
139
211
  existing.defaultValue = defaultValue;
140
- existing.required = false;
141
212
  }
213
+ if (existing.description === undefined && description !== undefined) {
214
+ existing.description = description;
215
+ }
216
+ const optionalInAnyUsage = existing.required === false || required === false || defaultValue !== undefined;
217
+ existing.required = !optionalInAnyUsage;
142
218
  }
143
219
  else {
220
+ const isRequired = required ?? defaultValue === undefined;
144
221
  params.set(paramName, {
145
222
  name: paramName,
146
223
  type: mappedType,
147
- required: defaultValue === undefined,
224
+ required: isRequired,
148
225
  defaultValue,
226
+ description,
149
227
  });
150
228
  }
151
229
  match = regex.exec(sql);
@@ -153,14 +231,24 @@ function inferParamsFromSql(sql, filePath, resourceName) {
153
231
  return Array.from(params.values()).sort((a, b) => a.name.localeCompare(b.name));
154
232
  }
155
233
  function parseToken(filePath, resourceName, value) {
156
- const parts = value.split(/\s+/).filter(Boolean);
234
+ const trimmed = value.trim();
235
+ const quotedMatch = trimmed.match(/^"([^"]+)"(?:\s+(READ))?$/);
236
+ if (quotedMatch) {
237
+ return { name: quotedMatch[1] ?? "", scope: "READ" };
238
+ }
239
+ const parts = trimmed.split(/\s+/).filter(Boolean);
157
240
  if (parts.length === 0) {
158
241
  throw new MigrationParseError(filePath, "pipe", resourceName, "Invalid TOKEN line.");
159
242
  }
160
243
  if (parts.length > 2) {
161
244
  throw new MigrationParseError(filePath, "pipe", resourceName, `Unsupported TOKEN syntax in strict mode: "${value}"`);
162
245
  }
163
- const tokenName = parts[0];
246
+ const rawTokenName = parts[0] ?? "";
247
+ const tokenName = rawTokenName.startsWith('"') &&
248
+ rawTokenName.endsWith('"') &&
249
+ rawTokenName.length >= 2
250
+ ? rawTokenName.slice(1, -1)
251
+ : rawTokenName;
164
252
  const scope = parts[1] ?? "READ";
165
253
  if (scope !== "READ") {
166
254
  throw new MigrationParseError(filePath, "pipe", resourceName, `Unsupported pipe token scope: "${scope}"`);
@@ -179,6 +267,15 @@ export function parsePipeFile(resource) {
179
267
  let copyTargetDatasource;
180
268
  let copySchedule;
181
269
  let copyMode;
270
+ let exportService;
271
+ let exportConnectionName;
272
+ let exportTopic;
273
+ let exportBucketUri;
274
+ let exportFileTemplate;
275
+ let exportFormat;
276
+ let exportSchedule;
277
+ let exportStrategy;
278
+ let exportCompression;
182
279
  let i = 0;
183
280
  while (i < lines.length) {
184
281
  const line = (lines[i] ?? "").trim();
@@ -187,11 +284,8 @@ export function parsePipeFile(resource) {
187
284
  continue;
188
285
  }
189
286
  if (line === "DESCRIPTION >") {
190
- const block = readIndentedBlock(lines, i + 1);
191
- if (block.lines.length === 0) {
192
- throw new MigrationParseError(resource.filePath, "pipe", resource.name, "DESCRIPTION block is empty.");
193
- }
194
- if (!description) {
287
+ const block = readDirectiveBlock(lines, i + 1, isPipeDirectiveLine);
288
+ if (description === undefined) {
195
289
  description = block.lines.join("\n");
196
290
  }
197
291
  else if (nodes.length > 0) {
@@ -215,10 +309,7 @@ export function parsePipeFile(resource) {
215
309
  i = nextNonBlank(lines, i);
216
310
  let nodeDescription;
217
311
  if ((lines[i] ?? "").trim() === "DESCRIPTION >") {
218
- const descriptionBlock = readIndentedBlock(lines, i + 1);
219
- if (descriptionBlock.lines.length === 0) {
220
- throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Node "${nodeName}" has an empty DESCRIPTION block.`);
221
- }
312
+ const descriptionBlock = readDirectiveBlock(lines, i + 1, isPipeDirectiveLine);
222
313
  nodeDescription = descriptionBlock.lines.join("\n");
223
314
  i = descriptionBlock.nextIndex;
224
315
  i = nextNonBlank(lines, i);
@@ -226,7 +317,7 @@ export function parsePipeFile(resource) {
226
317
  if ((lines[i] ?? "").trim() !== "SQL >") {
227
318
  throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Node "${nodeName}" is missing SQL > block.`);
228
319
  }
229
- const sqlBlock = readIndentedBlock(lines, i + 1);
320
+ const sqlBlock = readDirectiveBlock(lines, i + 1, isPipeDirectiveLine);
230
321
  if (sqlBlock.lines.length === 0) {
231
322
  throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Node "${nodeName}" has an empty SQL block.`);
232
323
  }
@@ -245,20 +336,25 @@ export function parsePipeFile(resource) {
245
336
  }
246
337
  const { key, value } = parseDirectiveLine(line);
247
338
  switch (key) {
248
- case "TYPE":
249
- if (value === "endpoint") {
339
+ case "TYPE": {
340
+ const normalizedType = parseQuotedValue(value).toLowerCase();
341
+ if (normalizedType === "endpoint") {
250
342
  pipeType = "endpoint";
251
343
  }
252
- else if (value === "MATERIALIZED") {
344
+ else if (normalizedType === "materialized") {
253
345
  pipeType = "materialized";
254
346
  }
255
- else if (value === "COPY") {
347
+ else if (normalizedType === "copy") {
256
348
  pipeType = "copy";
257
349
  }
350
+ else if (normalizedType === "sink") {
351
+ pipeType = "sink";
352
+ }
258
353
  else {
259
- throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Unsupported TYPE value in strict mode: "${value}"`);
354
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Unsupported TYPE value in strict mode: "${parseQuotedValue(value)}"`);
260
355
  }
261
356
  break;
357
+ }
262
358
  case "CACHE": {
263
359
  const ttl = Number(value);
264
360
  if (!Number.isFinite(ttl) || ttl < 0) {
@@ -288,6 +384,48 @@ export function parsePipeFile(resource) {
288
384
  }
289
385
  copyMode = value;
290
386
  break;
387
+ case "EXPORT_SERVICE": {
388
+ const normalized = parseQuotedValue(value).toLowerCase();
389
+ if (normalized !== "kafka" && normalized !== "s3") {
390
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Unsupported EXPORT_SERVICE in strict mode: "${value}"`);
391
+ }
392
+ exportService = normalized;
393
+ break;
394
+ }
395
+ case "EXPORT_CONNECTION_NAME":
396
+ exportConnectionName = parseQuotedValue(value);
397
+ break;
398
+ case "EXPORT_KAFKA_TOPIC":
399
+ exportTopic = parseQuotedValue(value);
400
+ break;
401
+ case "EXPORT_BUCKET_URI":
402
+ exportBucketUri = parseQuotedValue(value);
403
+ break;
404
+ case "EXPORT_FILE_TEMPLATE":
405
+ exportFileTemplate = parseQuotedValue(value);
406
+ break;
407
+ case "EXPORT_FORMAT":
408
+ exportFormat = parseQuotedValue(value);
409
+ break;
410
+ case "EXPORT_SCHEDULE":
411
+ exportSchedule = parseQuotedValue(value);
412
+ break;
413
+ case "EXPORT_STRATEGY": {
414
+ const normalized = parseQuotedValue(value).toLowerCase();
415
+ if (normalized !== "create_new" && normalized !== "replace") {
416
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Unsupported EXPORT_STRATEGY in strict mode: "${value}"`);
417
+ }
418
+ exportStrategy = normalized;
419
+ break;
420
+ }
421
+ case "EXPORT_COMPRESSION": {
422
+ const normalized = parseQuotedValue(value).toLowerCase();
423
+ if (normalized !== "none" && normalized !== "gzip" && normalized !== "snappy") {
424
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, `Unsupported EXPORT_COMPRESSION in strict mode: "${value}"`);
425
+ }
426
+ exportCompression = normalized;
427
+ break;
428
+ }
291
429
  case "TOKEN":
292
430
  tokens.push(parseToken(resource.filePath, resource.name, value));
293
431
  break;
@@ -308,6 +446,77 @@ export function parsePipeFile(resource) {
308
446
  if (pipeType === "copy" && !copyTargetDatasource) {
309
447
  throw new MigrationParseError(resource.filePath, "pipe", resource.name, "TARGET_DATASOURCE is required for TYPE COPY.");
310
448
  }
449
+ const hasSinkDirectives = exportService !== undefined ||
450
+ exportConnectionName !== undefined ||
451
+ exportTopic !== undefined ||
452
+ exportBucketUri !== undefined ||
453
+ exportFileTemplate !== undefined ||
454
+ exportFormat !== undefined ||
455
+ exportSchedule !== undefined ||
456
+ exportStrategy !== undefined ||
457
+ exportCompression !== undefined;
458
+ if (pipeType !== "sink" && hasSinkDirectives) {
459
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "EXPORT_* directives are only supported for TYPE sink.");
460
+ }
461
+ let sink;
462
+ if (pipeType === "sink") {
463
+ if (!exportConnectionName) {
464
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "EXPORT_CONNECTION_NAME is required for TYPE sink.");
465
+ }
466
+ const hasKafkaDirectives = exportTopic !== undefined;
467
+ const hasS3Directives = exportBucketUri !== undefined ||
468
+ exportFileTemplate !== undefined ||
469
+ exportFormat !== undefined ||
470
+ exportCompression !== undefined;
471
+ if (hasKafkaDirectives && hasS3Directives) {
472
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "Sink pipe cannot mix Kafka and S3 export directives.");
473
+ }
474
+ const inferredService = exportService ?? (hasKafkaDirectives ? "kafka" : hasS3Directives ? "s3" : undefined);
475
+ if (!inferredService) {
476
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "Sink pipe must define EXPORT_SERVICE or include service-specific export directives.");
477
+ }
478
+ if (inferredService === "kafka") {
479
+ if (hasS3Directives) {
480
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "S3 export directives are not valid for Kafka sinks.");
481
+ }
482
+ if (!exportTopic) {
483
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "EXPORT_KAFKA_TOPIC is required for Kafka sinks.");
484
+ }
485
+ if (!exportSchedule) {
486
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "EXPORT_SCHEDULE is required for Kafka sinks.");
487
+ }
488
+ if (exportStrategy !== undefined) {
489
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "EXPORT_STRATEGY is only valid for S3 sinks.");
490
+ }
491
+ if (exportCompression !== undefined) {
492
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "EXPORT_COMPRESSION is only valid for S3 sinks.");
493
+ }
494
+ sink = {
495
+ service: "kafka",
496
+ connectionName: exportConnectionName,
497
+ topic: exportTopic,
498
+ schedule: exportSchedule,
499
+ };
500
+ }
501
+ else {
502
+ if (hasKafkaDirectives) {
503
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "Kafka export directives are not valid for S3 sinks.");
504
+ }
505
+ if (!exportBucketUri || !exportFileTemplate || !exportFormat || !exportSchedule) {
506
+ throw new MigrationParseError(resource.filePath, "pipe", resource.name, "S3 sinks require EXPORT_BUCKET_URI, EXPORT_FILE_TEMPLATE, EXPORT_FORMAT, and EXPORT_SCHEDULE.");
507
+ }
508
+ sink = {
509
+ service: "s3",
510
+ connectionName: exportConnectionName,
511
+ bucketUri: exportBucketUri,
512
+ fileTemplate: exportFileTemplate,
513
+ format: exportFormat,
514
+ schedule: exportSchedule,
515
+ strategy: exportStrategy,
516
+ compression: exportCompression,
517
+ };
518
+ }
519
+ }
311
520
  const params = pipeType === "materialized" || pipeType === "copy"
312
521
  ? []
313
522
  : inferParamsFromSql(nodes.map((node) => node.sql).join("\n"), resource.filePath, resource.name);
@@ -325,6 +534,7 @@ export function parsePipeFile(resource) {
325
534
  copyTargetDatasource,
326
535
  copySchedule,
327
536
  copyMode,
537
+ sink,
328
538
  tokens,
329
539
  params,
330
540
  inferredOutputColumns,
@@ -1 +1 @@
1
- {"version":3,"file":"parse-pipe.js","sourceRoot":"","sources":["../../src/migrate/parse-pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-pipe.js","sourceRoot":"","sources":["../../src/migrate/parse-pipe.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ export declare class MigrationParseError extends Error {
8
8
  export declare function splitLines(content: string): string[];
9
9
  export declare function isBlank(line: string): boolean;
10
10
  export declare function stripIndent(line: string): string;
11
+ export interface BlockReadResult {
12
+ lines: string[];
13
+ nextIndex: number;
14
+ }
15
+ export declare function readDirectiveBlock(lines: string[], startIndex: number, isDirectiveLine: (line: string) => boolean): BlockReadResult;
11
16
  export declare function splitCommaSeparated(input: string): string[];
12
17
  export declare function parseQuotedValue(input: string): string;
13
18
  export declare function parseLiteralFromDatafile(value: string): string | number | boolean | null | Record<string, unknown> | unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"parser-utils.d.ts","sourceRoot":"","sources":["../../src/migrate/parser-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,QAAQ,EAAE,MAAM;aAChB,YAAY,EAAE,YAAY;aAC1B,YAAY,EAAE,MAAM;gBAFpB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpC,OAAO,EAAE,MAAM;CAKlB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAK3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CA+BxE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAC5E,MAAM,CAWR;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAS/E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAqD1D"}
1
+ {"version":3,"file":"parser-utils.d.ts","sourceRoot":"","sources":["../../src/migrate/parser-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,QAAQ,EAAE,MAAM;aAChB,YAAY,EAAE,YAAY;aAC1B,YAAY,EAAE,MAAM;gBAFpB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpC,OAAO,EAAE,MAAM;CAKlB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACzC,eAAe,CAyBjB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAK3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CA+BxE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAC5E,MAAM,CAWR;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAS/E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAqD1D"}
@@ -22,6 +22,28 @@ export function stripIndent(line) {
22
22
  }
23
23
  return line.trimStart();
24
24
  }
25
+ export function readDirectiveBlock(lines, startIndex, isDirectiveLine) {
26
+ const collected = [];
27
+ let i = startIndex;
28
+ while (i < lines.length) {
29
+ const line = (lines[i] ?? "").trim();
30
+ if (isDirectiveLine(line)) {
31
+ break;
32
+ }
33
+ collected.push(line);
34
+ i += 1;
35
+ }
36
+ let first = 0;
37
+ while (first < collected.length && collected[first] === "") {
38
+ first += 1;
39
+ }
40
+ let last = collected.length - 1;
41
+ while (last >= first && collected[last] === "") {
42
+ last -= 1;
43
+ }
44
+ const normalized = first <= last ? collected.slice(first, last + 1) : [];
45
+ return { lines: normalized, nextIndex: i };
46
+ }
25
47
  export function splitCommaSeparated(input) {
26
48
  return input
27
49
  .split(",")
@@ -1 +1 @@
1
- {"version":3,"file":"parser-utils.js","sourceRoot":"","sources":["../../src/migrate/parser-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-utils.js","sourceRoot":"","sources":["../../src/migrate/parser-utils.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,12 @@ export interface DatasourceS3Model {
45
45
  schedule?: string;
46
46
  fromTimestamp?: string;
47
47
  }
48
+ export interface DatasourceGCSModel {
49
+ connectionName: string;
50
+ bucketUri: string;
51
+ schedule?: string;
52
+ fromTimestamp?: string;
53
+ }
48
54
  export interface DatasourceTokenModel {
49
55
  name: string;
50
56
  scope: "READ" | "APPEND";
@@ -55,9 +61,10 @@ export interface DatasourceModel {
55
61
  filePath: string;
56
62
  description?: string;
57
63
  columns: DatasourceColumnModel[];
58
- engine: DatasourceEngineModel;
64
+ engine?: DatasourceEngineModel;
59
65
  kafka?: DatasourceKafkaModel;
60
66
  s3?: DatasourceS3Model;
67
+ gcs?: DatasourceGCSModel;
61
68
  forwardQuery?: string;
62
69
  tokens: DatasourceTokenModel[];
63
70
  sharedWith: string[];
@@ -71,12 +78,30 @@ export interface PipeTokenModel {
71
78
  name: string;
72
79
  scope: "READ";
73
80
  }
74
- export type PipeTypeModel = "pipe" | "endpoint" | "materialized" | "copy";
81
+ export type PipeTypeModel = "pipe" | "endpoint" | "materialized" | "copy" | "sink";
82
+ export interface PipeKafkaSinkModel {
83
+ service: "kafka";
84
+ connectionName: string;
85
+ topic: string;
86
+ schedule: string;
87
+ }
88
+ export interface PipeS3SinkModel {
89
+ service: "s3";
90
+ connectionName: string;
91
+ bucketUri: string;
92
+ fileTemplate: string;
93
+ format: string;
94
+ schedule: string;
95
+ strategy?: "create_new" | "replace";
96
+ compression?: "none" | "gzip" | "snappy";
97
+ }
98
+ export type PipeSinkModel = PipeKafkaSinkModel | PipeS3SinkModel;
75
99
  export interface PipeParamModel {
76
100
  name: string;
77
101
  type: string;
78
102
  required: boolean;
79
- defaultValue?: string | number;
103
+ defaultValue?: string | number | boolean;
104
+ description?: string;
80
105
  }
81
106
  export interface PipeModel {
82
107
  kind: "pipe";
@@ -91,6 +116,7 @@ export interface PipeModel {
91
116
  copyTargetDatasource?: string;
92
117
  copySchedule?: string;
93
118
  copyMode?: "append" | "replace";
119
+ sink?: PipeSinkModel;
94
120
  tokens: PipeTokenModel[];
95
121
  params: PipeParamModel[];
96
122
  inferredOutputColumns: string[];
@@ -118,7 +144,14 @@ export interface S3ConnectionModel {
118
144
  accessKey?: string;
119
145
  secret?: string;
120
146
  }
121
- export type ParsedResource = DatasourceModel | PipeModel | KafkaConnectionModel | S3ConnectionModel;
147
+ export interface GCSConnectionModel {
148
+ kind: "connection";
149
+ name: string;
150
+ filePath: string;
151
+ connectionType: "gcs";
152
+ serviceAccountCredentialsJson: string;
153
+ }
154
+ export type ParsedResource = DatasourceModel | PipeModel | KafkaConnectionModel | S3ConnectionModel | GCSConnectionModel;
122
155
  export interface MigrationResult {
123
156
  success: boolean;
124
157
  outputPath: string;