@tinybirdco/sdk 0.0.9 → 0.0.11

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 (39) hide show
  1. package/README.md +35 -0
  2. package/dist/generator/datasource.d.ts.map +1 -1
  3. package/dist/generator/datasource.js +28 -0
  4. package/dist/generator/datasource.js.map +1 -1
  5. package/dist/generator/datasource.test.js +65 -0
  6. package/dist/generator/datasource.test.js.map +1 -1
  7. package/dist/generator/pipe.d.ts.map +1 -1
  8. package/dist/generator/pipe.js +24 -2
  9. package/dist/generator/pipe.js.map +1 -1
  10. package/dist/generator/pipe.test.js +83 -0
  11. package/dist/generator/pipe.test.js.map +1 -1
  12. package/dist/index.d.ts +4 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/schema/datasource.d.ts +18 -3
  17. package/dist/schema/datasource.d.ts.map +1 -1
  18. package/dist/schema/datasource.js.map +1 -1
  19. package/dist/schema/pipe.d.ts +17 -2
  20. package/dist/schema/pipe.d.ts.map +1 -1
  21. package/dist/schema/pipe.js.map +1 -1
  22. package/dist/schema/token.d.ts +49 -0
  23. package/dist/schema/token.d.ts.map +1 -0
  24. package/dist/schema/token.js +47 -0
  25. package/dist/schema/token.js.map +1 -0
  26. package/dist/schema/token.test.d.ts +2 -0
  27. package/dist/schema/token.test.d.ts.map +1 -0
  28. package/dist/schema/token.test.js +50 -0
  29. package/dist/schema/token.test.js.map +1 -0
  30. package/package.json +1 -1
  31. package/src/generator/datasource.test.ts +77 -0
  32. package/src/generator/datasource.ts +33 -1
  33. package/src/generator/pipe.test.ts +95 -0
  34. package/src/generator/pipe.ts +28 -2
  35. package/src/index.ts +12 -0
  36. package/src/schema/datasource.ts +20 -3
  37. package/src/schema/pipe.ts +19 -2
  38. package/src/schema/token.test.ts +60 -0
  39. package/src/schema/token.ts +75 -0
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/schema/datasource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,iEAAiE;AACjE,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAsF3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAmC;IAEnC,sCAAsC;IACtC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,qGAAqG,CACvI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,CAAC,gBAAgB,CAAC,EAAE,IAAI;QACxB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,gBAAgB,IAAI,KAAK;QACxB,KAAiC,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAC9D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2C;IACvE,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,MAA0B,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA2C;IAC3E,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAe;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC;AAClD,CAAC;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CACpB,IAAO,EACP,OAA2C;IAE3C,OAAO;QACL,IAAI;QACJ,GAAG,OAAO;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/schema/datasource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,iEAAiE;AACjE,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAsG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAmC;IAEnC,sCAAsC;IACtC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,qGAAqG,CACvI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,CAAC,gBAAgB,CAAC,EAAE,IAAI;QACxB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,gBAAgB,IAAI,KAAK;QACxB,KAAiC,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAC9D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2C;IACvE,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,MAA0B,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA2C;IAC3E,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAe;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC;AAClD,CAAC;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CACpB,IAAO,EACP,OAA2C;IAE3C,OAAO;QACL,IAAI;QACJ,GAAG,OAAO;KACX,CAAC;AACJ,CAAC"}
@@ -5,6 +5,7 @@
5
5
  import type { AnyTypeValidator } from "./types.js";
6
6
  import type { AnyParamValidator } from "./params.js";
7
7
  import type { DatasourceDefinition, SchemaDefinition, ColumnDefinition } from "./datasource.js";
8
+ import type { TokenDefinition, PipeTokenScope } from "./token.js";
8
9
  /** Symbol for brand typing pipes - use Symbol.for() for global registry */
9
10
  export declare const PIPE_BRAND: unique symbol;
10
11
  /** Symbol for brand typing nodes - use Symbol.for() for global registry */
@@ -115,12 +116,26 @@ export interface CopyConfig<TDatasource extends DatasourceDefinition<SchemaDefin
115
116
  copy_schedule?: string;
116
117
  }
117
118
  /**
118
- * Token configuration for pipe access
119
+ * Inline token configuration for pipe access
119
120
  */
120
- export interface PipeTokenConfig {
121
+ export interface InlinePipeTokenConfig {
121
122
  /** Token name */
122
123
  name: string;
123
124
  }
125
+ /**
126
+ * Token reference with pipe-specific scope
127
+ */
128
+ export interface PipeTokenReference {
129
+ /** The token definition */
130
+ token: TokenDefinition;
131
+ /** Scope for this pipe (READ only) */
132
+ scope: PipeTokenScope;
133
+ }
134
+ /**
135
+ * Token configuration for pipe access.
136
+ * Can be either an inline definition or a reference to a defined token.
137
+ */
138
+ export type PipeTokenConfig = InlinePipeTokenConfig | PipeTokenReference;
124
139
  /**
125
140
  * Options for defining a pipe (reusable SQL logic, no endpoint)
126
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../src/schema/pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../src/schema/pipe.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../src/schema/pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../src/schema/pipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Token definition for Tinybird
3
+ * Define reusable static tokens as TypeScript with full type safety
4
+ */
5
+ declare const TOKEN_BRAND: unique symbol;
6
+ /**
7
+ * Token scope for datasources
8
+ */
9
+ export type DatasourceTokenScope = "READ" | "APPEND";
10
+ /**
11
+ * Token scope for pipes (READ only)
12
+ */
13
+ export type PipeTokenScope = "READ";
14
+ /**
15
+ * A token definition
16
+ */
17
+ export interface TokenDefinition {
18
+ readonly [TOKEN_BRAND]: true;
19
+ /** Token name */
20
+ readonly _name: string;
21
+ /** Type marker for inference */
22
+ readonly _type: "token";
23
+ }
24
+ /**
25
+ * Define a static token
26
+ *
27
+ * @param name - The token name (must be valid identifier)
28
+ * @returns A token definition that can be referenced in datasources and pipes
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { defineToken } from '@tinybirdco/sdk';
33
+ *
34
+ * export const appToken = defineToken('app_read');
35
+ *
36
+ * // Use in datasource
37
+ * const events = defineDatasource('events', {
38
+ * schema: { id: t.string() },
39
+ * tokens: [{ token: appToken, scope: 'READ' }],
40
+ * });
41
+ * ```
42
+ */
43
+ export declare function defineToken(name: string): TokenDefinition;
44
+ /**
45
+ * Check if a value is a token definition
46
+ */
47
+ export declare function isTokenDefinition(value: unknown): value is TokenDefinition;
48
+ export {};
49
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/schema/token.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,QAAA,MAAM,WAAW,eAA+B,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAC7B,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAazD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAO1E"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Token definition for Tinybird
3
+ * Define reusable static tokens as TypeScript with full type safety
4
+ */
5
+ // Symbol for brand typing - use Symbol.for() for global registry
6
+ // This ensures the same symbol is used across module instances
7
+ const TOKEN_BRAND = Symbol.for("tinybird.token");
8
+ /**
9
+ * Define a static token
10
+ *
11
+ * @param name - The token name (must be valid identifier)
12
+ * @returns A token definition that can be referenced in datasources and pipes
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { defineToken } from '@tinybirdco/sdk';
17
+ *
18
+ * export const appToken = defineToken('app_read');
19
+ *
20
+ * // Use in datasource
21
+ * const events = defineDatasource('events', {
22
+ * schema: { id: t.string() },
23
+ * tokens: [{ token: appToken, scope: 'READ' }],
24
+ * });
25
+ * ```
26
+ */
27
+ export function defineToken(name) {
28
+ // Validate name is a valid identifier
29
+ if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(name)) {
30
+ throw new Error(`Invalid token name: "${name}". Must start with a letter or underscore and contain only alphanumeric characters and underscores.`);
31
+ }
32
+ return {
33
+ [TOKEN_BRAND]: true,
34
+ _name: name,
35
+ _type: "token",
36
+ };
37
+ }
38
+ /**
39
+ * Check if a value is a token definition
40
+ */
41
+ export function isTokenDefinition(value) {
42
+ return (typeof value === "object" &&
43
+ value !== null &&
44
+ TOKEN_BRAND in value &&
45
+ value[TOKEN_BRAND] === true);
46
+ }
47
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/schema/token.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iEAAiE;AACjE,+DAA+D;AAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAuBjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,sCAAsC;IACtC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,qGAAqG,CAClI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,CAAC,WAAW,CAAC,EAAE,IAAI;QACnB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACnB,KAAiC,CAAC,WAAW,CAAC,KAAK,IAAI,CACzD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=token.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.test.d.ts","sourceRoot":"","sources":["../../src/schema/token.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { defineToken, isTokenDefinition } from "./token.js";
3
+ describe("Token Schema", () => {
4
+ describe("defineToken", () => {
5
+ it("creates a token with a valid name", () => {
6
+ const token = defineToken("app_read");
7
+ expect(token._name).toBe("app_read");
8
+ expect(token._type).toBe("token");
9
+ });
10
+ it("allows underscores in token names", () => {
11
+ const token = defineToken("my_app_token");
12
+ expect(token._name).toBe("my_app_token");
13
+ });
14
+ it("allows leading underscore in token names", () => {
15
+ const token = defineToken("_private_token");
16
+ expect(token._name).toBe("_private_token");
17
+ });
18
+ it("allows alphanumeric characters in token names", () => {
19
+ const token = defineToken("token_v2");
20
+ expect(token._name).toBe("token_v2");
21
+ });
22
+ it("throws error for invalid token name starting with number", () => {
23
+ expect(() => defineToken("123token")).toThrow("Invalid token name");
24
+ });
25
+ it("throws error for invalid token name with hyphens", () => {
26
+ expect(() => defineToken("my-token")).toThrow("Invalid token name");
27
+ });
28
+ it("throws error for empty token name", () => {
29
+ expect(() => defineToken("")).toThrow("Invalid token name");
30
+ });
31
+ it("throws error for token name with spaces", () => {
32
+ expect(() => defineToken("my token")).toThrow("Invalid token name");
33
+ });
34
+ });
35
+ describe("isTokenDefinition", () => {
36
+ it("returns true for valid token", () => {
37
+ const token = defineToken("app_read");
38
+ expect(isTokenDefinition(token)).toBe(true);
39
+ });
40
+ it("returns false for non-token objects", () => {
41
+ expect(isTokenDefinition({})).toBe(false);
42
+ expect(isTokenDefinition(null)).toBe(false);
43
+ expect(isTokenDefinition(undefined)).toBe(false);
44
+ expect(isTokenDefinition("string")).toBe(false);
45
+ expect(isTokenDefinition(123)).toBe(false);
46
+ expect(isTokenDefinition({ _name: "test" })).toBe(false);
47
+ });
48
+ });
49
+ });
50
+ //# sourceMappingURL=token.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.test.js","sourceRoot":"","sources":["../../src/schema/token.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinybirdco/sdk",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "TypeScript SDK for Tinybird Forward - define datasources and pipes as TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -2,6 +2,7 @@ import { describe, it, expect } from 'vitest';
2
2
  import { generateDatasource, generateAllDatasources } from './datasource.js';
3
3
  import { defineDatasource } from '../schema/datasource.js';
4
4
  import { createKafkaConnection } from '../schema/connection.js';
5
+ import { defineToken } from '../schema/token.js';
5
6
  import { t } from '../schema/types.js';
6
7
  import { engine } from '../schema/engines.js';
7
8
 
@@ -415,4 +416,80 @@ describe('Datasource Generator', () => {
415
416
  expect(result.content).toContain('KAFKA_AUTO_OFFSET_RESET earliest');
416
417
  });
417
418
  });
419
+
420
+ describe('Token generation', () => {
421
+ it('generates TOKEN lines with inline config', () => {
422
+ const ds = defineDatasource('test_ds', {
423
+ schema: { id: t.string() },
424
+ tokens: [{ name: 'app_read', permissions: ['READ'] }],
425
+ });
426
+
427
+ const result = generateDatasource(ds);
428
+ expect(result.content).toContain('TOKEN app_read READ');
429
+ });
430
+
431
+ it('generates TOKEN lines with multiple permissions', () => {
432
+ const ds = defineDatasource('test_ds', {
433
+ schema: { id: t.string() },
434
+ tokens: [{ name: 'app_token', permissions: ['READ', 'APPEND'] }],
435
+ });
436
+
437
+ const result = generateDatasource(ds);
438
+ expect(result.content).toContain('TOKEN app_token READ');
439
+ expect(result.content).toContain('TOKEN app_token APPEND');
440
+ });
441
+
442
+ it('generates TOKEN lines with token reference', () => {
443
+ const appToken = defineToken('my_token');
444
+ const ds = defineDatasource('test_ds', {
445
+ schema: { id: t.string() },
446
+ tokens: [{ token: appToken, scope: 'READ' }],
447
+ });
448
+
449
+ const result = generateDatasource(ds);
450
+ expect(result.content).toContain('TOKEN my_token READ');
451
+ });
452
+
453
+ it('generates TOKEN lines with token reference and APPEND scope', () => {
454
+ const appendToken = defineToken('append_token');
455
+ const ds = defineDatasource('test_ds', {
456
+ schema: { id: t.string() },
457
+ tokens: [{ token: appendToken, scope: 'APPEND' }],
458
+ });
459
+
460
+ const result = generateDatasource(ds);
461
+ expect(result.content).toContain('TOKEN append_token APPEND');
462
+ });
463
+
464
+ it('generates multiple TOKEN lines for multiple tokens', () => {
465
+ const readToken = defineToken('read_token');
466
+ const appendToken = defineToken('append_token');
467
+ const ds = defineDatasource('test_ds', {
468
+ schema: { id: t.string() },
469
+ tokens: [
470
+ { token: readToken, scope: 'READ' },
471
+ { token: appendToken, scope: 'APPEND' },
472
+ ],
473
+ });
474
+
475
+ const result = generateDatasource(ds);
476
+ expect(result.content).toContain('TOKEN read_token READ');
477
+ expect(result.content).toContain('TOKEN append_token APPEND');
478
+ });
479
+
480
+ it('generates mixed inline and reference tokens', () => {
481
+ const refToken = defineToken('ref_token');
482
+ const ds = defineDatasource('test_ds', {
483
+ schema: { id: t.string() },
484
+ tokens: [
485
+ { name: 'inline_token', permissions: ['READ'] },
486
+ { token: refToken, scope: 'APPEND' },
487
+ ],
488
+ });
489
+
490
+ const result = generateDatasource(ds);
491
+ expect(result.content).toContain('TOKEN inline_token READ');
492
+ expect(result.content).toContain('TOKEN ref_token APPEND');
493
+ });
494
+ });
418
495
  });
@@ -3,7 +3,7 @@
3
3
  * Converts DatasourceDefinition to native .datasource file format
4
4
  */
5
5
 
6
- import type { DatasourceDefinition, SchemaDefinition, ColumnDefinition, KafkaConfig } from "../schema/datasource.js";
6
+ import type { DatasourceDefinition, SchemaDefinition, ColumnDefinition, KafkaConfig, TokenConfig } from "../schema/datasource.js";
7
7
  import type { AnyTypeValidator, TypeModifiers } from "../schema/types.js";
8
8
  import { getColumnType, getColumnJsonPath } from "../schema/datasource.js";
9
9
  import { getEngineClause, type EngineConfig } from "../schema/engines.js";
@@ -180,6 +180,31 @@ function generateForwardQuery(forwardQuery?: string): string | null {
180
180
  return ["FORWARD_QUERY >", ...lines.map((line) => ` ${line}`)].join("\n");
181
181
  }
182
182
 
183
+ /**
184
+ * Generate TOKEN lines for a datasource
185
+ */
186
+ function generateTokens(tokens?: readonly TokenConfig[]): string[] {
187
+ if (!tokens || tokens.length === 0) {
188
+ return [];
189
+ }
190
+
191
+ const lines: string[] = [];
192
+
193
+ for (const token of tokens) {
194
+ if ("token" in token) {
195
+ // TokenReference - single scope
196
+ lines.push(`TOKEN ${token.token._name} ${token.scope}`);
197
+ } else {
198
+ // Inline config - multiple permissions
199
+ for (const permission of token.permissions) {
200
+ lines.push(`TOKEN ${token.name} ${permission}`);
201
+ }
202
+ }
203
+ }
204
+
205
+ return lines;
206
+ }
207
+
183
208
  /**
184
209
  * Generate a .datasource file content from a DatasourceDefinition
185
210
  *
@@ -248,6 +273,13 @@ export function generateDatasource(
248
273
  parts.push(forwardQuery);
249
274
  }
250
275
 
276
+ // Add tokens if present
277
+ const tokenLines = generateTokens(datasource.options.tokens);
278
+ if (tokenLines.length > 0) {
279
+ parts.push("");
280
+ parts.push(tokenLines.join("\n"));
281
+ }
282
+
251
283
  return {
252
284
  name: datasource._name,
253
285
  content: parts.join("\n"),
@@ -2,6 +2,7 @@ import { describe, it, expect } from 'vitest';
2
2
  import { generatePipe, generateAllPipes } from './pipe.js';
3
3
  import { definePipe, defineMaterializedView, node } from '../schema/pipe.js';
4
4
  import { defineDatasource } from '../schema/datasource.js';
5
+ import { defineToken } from '../schema/token.js';
5
6
  import { t } from '../schema/types.js';
6
7
  import { p } from '../schema/params.js';
7
8
  import { engine } from '../schema/engines.js';
@@ -130,6 +131,38 @@ describe('Pipe Generator', () => {
130
131
  const result = generatePipe(pipe);
131
132
  expect(result.content).not.toContain('%');
132
133
  });
134
+
135
+ it('adds % for SQL with Jinja block syntax {%...%}', () => {
136
+ const pipe = definePipe('test_pipe', {
137
+ nodes: [
138
+ node({
139
+ name: 'endpoint',
140
+ sql: `SELECT * FROM table {% if defined(filter) %} WHERE id = {{Int32(filter)}} {% end %}`,
141
+ }),
142
+ ],
143
+ output: simpleOutput,
144
+ endpoint: true,
145
+ });
146
+
147
+ const result = generatePipe(pipe);
148
+ expect(result.content).toContain('SQL >\n %\n SELECT');
149
+ });
150
+
151
+ it('adds % for SQL with only Jinja block syntax (no {{...}})', () => {
152
+ const pipe = definePipe('test_pipe', {
153
+ nodes: [
154
+ node({
155
+ name: 'endpoint',
156
+ sql: `SELECT * FROM table {% if true %} LIMIT 10 {% end %}`,
157
+ }),
158
+ ],
159
+ output: simpleOutput,
160
+ endpoint: true,
161
+ });
162
+
163
+ const result = generatePipe(pipe);
164
+ expect(result.content).toContain(' %\n');
165
+ });
133
166
  });
134
167
 
135
168
  describe('Multiple nodes', () => {
@@ -438,4 +471,66 @@ GROUP BY day, country
438
471
  expect(result.content).toContain('DATASOURCE sales_by_hour');
439
472
  });
440
473
  });
474
+
475
+ describe('Token generation', () => {
476
+ it('generates TOKEN lines with inline config', () => {
477
+ const pipe = definePipe('test_pipe', {
478
+ nodes: [node({ name: 'endpoint', sql: 'SELECT 1' })],
479
+ output: simpleOutput,
480
+ endpoint: true,
481
+ tokens: [{ name: 'app_read' }],
482
+ });
483
+
484
+ const result = generatePipe(pipe);
485
+ expect(result.content).toContain('TOKEN app_read READ');
486
+ });
487
+
488
+ it('generates TOKEN lines with token reference', () => {
489
+ const appToken = defineToken('my_token');
490
+ const pipe = definePipe('test_pipe', {
491
+ nodes: [node({ name: 'endpoint', sql: 'SELECT 1' })],
492
+ output: simpleOutput,
493
+ endpoint: true,
494
+ tokens: [{ token: appToken, scope: 'READ' }],
495
+ });
496
+
497
+ const result = generatePipe(pipe);
498
+ expect(result.content).toContain('TOKEN my_token READ');
499
+ });
500
+
501
+ it('generates multiple TOKEN lines for multiple tokens', () => {
502
+ const token1 = defineToken('token_one');
503
+ const token2 = defineToken('token_two');
504
+ const pipe = definePipe('test_pipe', {
505
+ nodes: [node({ name: 'endpoint', sql: 'SELECT 1' })],
506
+ output: simpleOutput,
507
+ endpoint: true,
508
+ tokens: [
509
+ { token: token1, scope: 'READ' },
510
+ { token: token2, scope: 'READ' },
511
+ ],
512
+ });
513
+
514
+ const result = generatePipe(pipe);
515
+ expect(result.content).toContain('TOKEN token_one READ');
516
+ expect(result.content).toContain('TOKEN token_two READ');
517
+ });
518
+
519
+ it('generates mixed inline and reference tokens', () => {
520
+ const refToken = defineToken('ref_token');
521
+ const pipe = definePipe('test_pipe', {
522
+ nodes: [node({ name: 'endpoint', sql: 'SELECT 1' })],
523
+ output: simpleOutput,
524
+ endpoint: true,
525
+ tokens: [
526
+ { name: 'inline_token' },
527
+ { token: refToken, scope: 'READ' },
528
+ ],
529
+ });
530
+
531
+ const result = generatePipe(pipe);
532
+ expect(result.content).toContain('TOKEN inline_token READ');
533
+ expect(result.content).toContain('TOKEN ref_token READ');
534
+ });
535
+ });
441
536
  });
@@ -9,6 +9,7 @@ import type {
9
9
  EndpointConfig,
10
10
  MaterializedConfig,
11
11
  CopyConfig,
12
+ PipeTokenConfig,
12
13
  } from "../schema/pipe.js";
13
14
  import { getEndpointConfig, getMaterializedConfig, getCopyConfig } from "../schema/pipe.js";
14
15
 
@@ -23,10 +24,10 @@ export interface GeneratedPipe {
23
24
  }
24
25
 
25
26
  /**
26
- * Check if SQL contains template parameters like {{...}}
27
+ * Check if SQL contains Jinja template syntax like {{...}} or {%...%}
27
28
  */
28
29
  function hasDynamicParameters(sql: string): boolean {
29
- return /\{\{[^}]+\}\}/.test(sql);
30
+ return /\{\{[^}]+\}\}/.test(sql) || /\{%[^%]+%\}/.test(sql);
30
31
  }
31
32
 
32
33
  /**
@@ -113,6 +114,24 @@ function generateCopy(config: CopyConfig): string {
113
114
  return parts.join("\n");
114
115
  }
115
116
 
117
+ /**
118
+ * Generate TOKEN lines for a pipe
119
+ */
120
+ function generateTokens(tokens?: readonly PipeTokenConfig[]): string[] {
121
+ if (!tokens || tokens.length === 0) {
122
+ return [];
123
+ }
124
+
125
+ return tokens.map((token) => {
126
+ if ("token" in token) {
127
+ // TokenReference
128
+ return `TOKEN ${token.token._name} ${token.scope}`;
129
+ }
130
+ // Inline config - pipes default to READ
131
+ return `TOKEN ${token.name} READ`;
132
+ });
133
+ }
134
+
116
135
  /**
117
136
  * Generate a .pipe file content from a PipeDefinition
118
137
  *
@@ -201,6 +220,13 @@ export function generatePipe(pipe: PipeDefinition): GeneratedPipe {
201
220
  parts.push(generateCopy(copyConfig));
202
221
  }
203
222
 
223
+ // Add tokens if present
224
+ const tokenLines = generateTokens(pipe.options.tokens);
225
+ if (tokenLines.length > 0) {
226
+ parts.push("");
227
+ parts.push(tokenLines.join("\n"));
228
+ }
229
+
204
230
  return {
205
231
  name: pipe._name,
206
232
  content: parts.join("\n"),
package/src/index.ts CHANGED
@@ -105,6 +105,8 @@ export type {
105
105
  SchemaDefinition,
106
106
  ColumnDefinition,
107
107
  TokenConfig,
108
+ InlineTokenConfig,
109
+ DatasourceTokenReference,
108
110
  ExtractSchema,
109
111
  KafkaConfig,
110
112
  } from "./schema/datasource.js";
@@ -119,6 +121,14 @@ export type {
119
121
  KafkaSaslMechanism,
120
122
  } from "./schema/connection.js";
121
123
 
124
+ // ============ Token ============
125
+ export { defineToken, isTokenDefinition } from "./schema/token.js";
126
+ export type {
127
+ TokenDefinition,
128
+ DatasourceTokenScope,
129
+ PipeTokenScope,
130
+ } from "./schema/token.js";
131
+
122
132
  // ============ Pipe ============
123
133
  export {
124
134
  definePipe,
@@ -151,6 +161,8 @@ export type {
151
161
  MaterializedConfig,
152
162
  MaterializedViewOptions,
153
163
  PipeTokenConfig,
164
+ InlinePipeTokenConfig,
165
+ PipeTokenReference,
154
166
  ExtractParams,
155
167
  ExtractOutput,
156
168
  } from "./schema/pipe.js";