@tinybirdco/sdk 0.0.37 → 0.0.39
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/README.md +94 -1
- package/dist/api/api.d.ts +67 -1
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +79 -0
- package/dist/api/api.js.map +1 -1
- package/dist/api/api.test.js +143 -0
- package/dist/api/api.test.js.map +1 -1
- package/dist/api/tokens.d.ts +79 -0
- package/dist/api/tokens.d.ts.map +1 -0
- package/dist/api/tokens.js +80 -0
- package/dist/api/tokens.js.map +1 -0
- package/dist/api/tokens.test.d.ts +2 -0
- package/dist/api/tokens.test.d.ts.map +1 -0
- package/dist/api/tokens.test.js +209 -0
- package/dist/api/tokens.test.js.map +1 -0
- package/dist/client/base.d.ts +19 -0
- package/dist/client/base.d.ts.map +1 -1
- package/dist/client/base.js +43 -0
- package/dist/client/base.js.map +1 -1
- package/dist/client/base.test.js +4 -0
- package/dist/client/base.test.js.map +1 -1
- package/dist/client/tokens.d.ts +42 -0
- package/dist/client/tokens.d.ts.map +1 -0
- package/dist/client/tokens.js +67 -0
- package/dist/client/tokens.js.map +1 -0
- package/dist/client/tokens.test.d.ts +2 -0
- package/dist/client/tokens.test.d.ts.map +1 -0
- package/dist/client/tokens.test.js +79 -0
- package/dist/client/tokens.test.js.map +1 -0
- package/dist/client/types.d.ts +50 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/schema/project.d.ts +27 -14
- package/dist/schema/project.d.ts.map +1 -1
- package/dist/schema/project.js +63 -13
- package/dist/schema/project.js.map +1 -1
- package/dist/schema/project.test.js +25 -12
- package/dist/schema/project.test.js.map +1 -1
- package/package.json +1 -1
- package/src/api/api.test.ts +208 -0
- package/src/api/api.ts +183 -0
- package/src/api/tokens.test.ts +253 -0
- package/src/api/tokens.ts +169 -0
- package/src/client/base.test.ts +4 -0
- package/src/client/base.ts +65 -0
- package/src/client/tokens.test.ts +103 -0
- package/src/client/tokens.ts +69 -0
- package/src/client/types.ts +54 -0
- package/src/index.ts +21 -0
- package/src/schema/project.test.ts +25 -12
- package/src/schema/project.ts +113 -29
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tinybird Token API client
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* API configuration for token operations.
|
|
6
|
+
* Requires a token with TOKENS or ADMIN scope.
|
|
7
|
+
*/
|
|
8
|
+
export interface TokenApiConfig {
|
|
9
|
+
/** Tinybird API base URL */
|
|
10
|
+
baseUrl: string;
|
|
11
|
+
/** Workspace token with TOKENS or ADMIN scope */
|
|
12
|
+
token: string;
|
|
13
|
+
/** Custom fetch implementation (optional, defaults to global fetch) */
|
|
14
|
+
fetch?: typeof fetch;
|
|
15
|
+
/** Default timeout in milliseconds (optional) */
|
|
16
|
+
timeout?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Error thrown by token API operations
|
|
20
|
+
*/
|
|
21
|
+
export declare class TokenApiError extends Error {
|
|
22
|
+
readonly status: number;
|
|
23
|
+
readonly body?: unknown | undefined;
|
|
24
|
+
constructor(message: string, status: number, body?: unknown | undefined);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Scope type for JWT tokens
|
|
28
|
+
*/
|
|
29
|
+
export type JWTScopeType = "PIPES:READ" | "DATASOURCES:READ" | "DATASOURCES:APPEND";
|
|
30
|
+
/**
|
|
31
|
+
* A scope definition for JWT tokens
|
|
32
|
+
*/
|
|
33
|
+
export interface JWTScope {
|
|
34
|
+
/** The type of access being granted */
|
|
35
|
+
type: JWTScopeType;
|
|
36
|
+
/** The resource name (pipe or datasource) */
|
|
37
|
+
resource: string;
|
|
38
|
+
/** Fixed parameters embedded in the JWT (for pipes) */
|
|
39
|
+
fixed_params?: Record<string, string | number | boolean>;
|
|
40
|
+
/** SQL filter expression (for datasources) */
|
|
41
|
+
filter?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Rate limiting configuration for JWT tokens
|
|
45
|
+
*/
|
|
46
|
+
export interface JWTLimits {
|
|
47
|
+
/** Requests per second limit */
|
|
48
|
+
rps?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Options for creating a JWT token
|
|
52
|
+
*/
|
|
53
|
+
export interface CreateJWTOptions {
|
|
54
|
+
/** Token name/identifier */
|
|
55
|
+
name: string;
|
|
56
|
+
/** Expiration time as Date, Unix timestamp (number), or ISO string */
|
|
57
|
+
expiresAt: Date | number | string;
|
|
58
|
+
/** Array of scopes defining access permissions */
|
|
59
|
+
scopes: JWTScope[];
|
|
60
|
+
/** Optional rate limiting configuration */
|
|
61
|
+
limits?: JWTLimits;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Result of creating a JWT token
|
|
65
|
+
*/
|
|
66
|
+
export interface CreateJWTResult {
|
|
67
|
+
/** The generated JWT token string */
|
|
68
|
+
token: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Create a JWT token
|
|
72
|
+
* POST /v0/tokens/?expiration_time={unix_timestamp}
|
|
73
|
+
*
|
|
74
|
+
* @param config - API configuration (requires TOKENS or ADMIN scope)
|
|
75
|
+
* @param options - JWT creation options
|
|
76
|
+
* @returns The created JWT token
|
|
77
|
+
*/
|
|
78
|
+
export declare function createJWT(config: TokenApiConfig, options: CreateJWTOptions): Promise<CreateJWTResult>;
|
|
79
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/api/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,MAAM,EAAE,MAAM;aACd,IAAI,CAAC,EAAE,OAAO;gBAF9B,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,YAAA;CAKjC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACzD,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,kDAAkD;IAClD,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAwBD;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA6C1B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tinybird Token API client
|
|
3
|
+
*/
|
|
4
|
+
import { createTinybirdApi, TinybirdApiError, } from "./api.js";
|
|
5
|
+
/**
|
|
6
|
+
* Error thrown by token API operations
|
|
7
|
+
*/
|
|
8
|
+
export class TokenApiError extends Error {
|
|
9
|
+
status;
|
|
10
|
+
body;
|
|
11
|
+
constructor(message, status, body) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.status = status;
|
|
14
|
+
this.body = body;
|
|
15
|
+
this.name = "TokenApiError";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Convert expiration input to Unix timestamp
|
|
20
|
+
*/
|
|
21
|
+
function toUnixTimestamp(expiresAt) {
|
|
22
|
+
if (typeof expiresAt === "number") {
|
|
23
|
+
return expiresAt;
|
|
24
|
+
}
|
|
25
|
+
if (expiresAt instanceof Date) {
|
|
26
|
+
return Math.floor(expiresAt.getTime() / 1000);
|
|
27
|
+
}
|
|
28
|
+
return Math.floor(new Date(expiresAt).getTime() / 1000);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a JWT token
|
|
32
|
+
* POST /v0/tokens/?expiration_time={unix_timestamp}
|
|
33
|
+
*
|
|
34
|
+
* @param config - API configuration (requires TOKENS or ADMIN scope)
|
|
35
|
+
* @param options - JWT creation options
|
|
36
|
+
* @returns The created JWT token
|
|
37
|
+
*/
|
|
38
|
+
export async function createJWT(config, options) {
|
|
39
|
+
const expirationTime = toUnixTimestamp(options.expiresAt);
|
|
40
|
+
const body = {
|
|
41
|
+
name: options.name,
|
|
42
|
+
scopes: options.scopes,
|
|
43
|
+
};
|
|
44
|
+
if (options.limits) {
|
|
45
|
+
body.limits = options.limits;
|
|
46
|
+
}
|
|
47
|
+
const api = createTinybirdApi({
|
|
48
|
+
baseUrl: config.baseUrl,
|
|
49
|
+
token: config.token,
|
|
50
|
+
fetch: config.fetch,
|
|
51
|
+
timeout: config.timeout,
|
|
52
|
+
});
|
|
53
|
+
try {
|
|
54
|
+
const result = await api.createToken(body, {
|
|
55
|
+
expirationTime,
|
|
56
|
+
});
|
|
57
|
+
return { token: result.token };
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (!(error instanceof TinybirdApiError)) {
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
const responseBody = error.responseBody ?? error.message;
|
|
64
|
+
let message;
|
|
65
|
+
if (error.statusCode === 403) {
|
|
66
|
+
message =
|
|
67
|
+
`Permission denied creating JWT token. ` +
|
|
68
|
+
`Make sure the token has TOKENS or ADMIN scope. ` +
|
|
69
|
+
`API response: ${responseBody}`;
|
|
70
|
+
}
|
|
71
|
+
else if (error.statusCode === 400) {
|
|
72
|
+
message = `Invalid JWT token request: ${responseBody}`;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
message = `Failed to create JWT token: ${error.statusCode}. API response: ${responseBody}`;
|
|
76
|
+
}
|
|
77
|
+
throw new TokenApiError(message, error.statusCode, responseBody);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/api/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAiBlB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGpB;IACA;IAHlB,YACE,OAAe,EACC,MAAc,EACd,IAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAU;QAG9B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AA+DD;;GAEG;AACH,SAAS,eAAe,CAAC,SAAiC;IACxD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,YAAY,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,OAAyB;IAEzB,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAyB;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;YACzC,cAAc;SACf,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC;QACzD,IAAI,OAAe,CAAC;QAEpB,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO;gBACL,wCAAwC;oBACxC,iDAAiD;oBACjD,iBAAiB,YAAY,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,GAAG,8BAA8B,YAAY,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,+BAA+B,KAAK,CAAC,UAAU,mBAAmB,YAAY,EAAE,CAAC;QAC7F,CAAC;QAED,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.test.d.ts","sourceRoot":"","sources":["../../src/api/tokens.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
2
|
+
import { createJWT, TokenApiError, } from "./tokens.js";
|
|
3
|
+
// Mock fetch globally
|
|
4
|
+
const mockFetch = vi.fn();
|
|
5
|
+
global.fetch = mockFetch;
|
|
6
|
+
function expectFromParam(url) {
|
|
7
|
+
const parsed = new URL(url);
|
|
8
|
+
expect(parsed.searchParams.get("from")).toBe("ts-sdk");
|
|
9
|
+
return parsed;
|
|
10
|
+
}
|
|
11
|
+
describe("Token API client", () => {
|
|
12
|
+
const config = {
|
|
13
|
+
baseUrl: "https://api.tinybird.co",
|
|
14
|
+
token: "p.admin-token",
|
|
15
|
+
};
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
mockFetch.mockReset();
|
|
18
|
+
});
|
|
19
|
+
describe("createJWT", () => {
|
|
20
|
+
it("creates a JWT token with scopes", async () => {
|
|
21
|
+
const mockResponse = { token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.test" };
|
|
22
|
+
mockFetch.mockResolvedValueOnce({
|
|
23
|
+
ok: true,
|
|
24
|
+
json: () => Promise.resolve(mockResponse),
|
|
25
|
+
});
|
|
26
|
+
const result = await createJWT(config, {
|
|
27
|
+
name: "user_token",
|
|
28
|
+
expiresAt: 1700000000,
|
|
29
|
+
scopes: [
|
|
30
|
+
{
|
|
31
|
+
type: "PIPES:READ",
|
|
32
|
+
resource: "analytics_pipe",
|
|
33
|
+
fixed_params: { user_id: 123 },
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
expect(result.token).toBe(mockResponse.token);
|
|
38
|
+
const [url, init] = mockFetch.mock.calls[0];
|
|
39
|
+
const parsed = expectFromParam(url);
|
|
40
|
+
expect(parsed.pathname).toBe("/v0/tokens/");
|
|
41
|
+
expect(parsed.searchParams.get("expiration_time")).toBe("1700000000");
|
|
42
|
+
expect(init.method).toBe("POST");
|
|
43
|
+
const headers = new Headers(init.headers);
|
|
44
|
+
expect(headers.get("Authorization")).toBe("Bearer p.admin-token");
|
|
45
|
+
expect(headers.get("Content-Type")).toBe("application/json");
|
|
46
|
+
const body = JSON.parse(init.body);
|
|
47
|
+
expect(body.name).toBe("user_token");
|
|
48
|
+
expect(body.scopes).toHaveLength(1);
|
|
49
|
+
expect(body.scopes[0].type).toBe("PIPES:READ");
|
|
50
|
+
expect(body.scopes[0].resource).toBe("analytics_pipe");
|
|
51
|
+
expect(body.scopes[0].fixed_params).toEqual({ user_id: 123 });
|
|
52
|
+
});
|
|
53
|
+
it("converts Date to Unix timestamp", async () => {
|
|
54
|
+
mockFetch.mockResolvedValueOnce({
|
|
55
|
+
ok: true,
|
|
56
|
+
json: () => Promise.resolve({ token: "jwt-token" }),
|
|
57
|
+
});
|
|
58
|
+
const expirationDate = new Date("2024-01-01T00:00:00Z");
|
|
59
|
+
await createJWT(config, {
|
|
60
|
+
name: "test",
|
|
61
|
+
expiresAt: expirationDate,
|
|
62
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe" }],
|
|
63
|
+
});
|
|
64
|
+
const [url] = mockFetch.mock.calls[0];
|
|
65
|
+
const parsed = new URL(url);
|
|
66
|
+
expect(parsed.searchParams.get("expiration_time")).toBe("1704067200");
|
|
67
|
+
});
|
|
68
|
+
it("converts ISO string to Unix timestamp", async () => {
|
|
69
|
+
mockFetch.mockResolvedValueOnce({
|
|
70
|
+
ok: true,
|
|
71
|
+
json: () => Promise.resolve({ token: "jwt-token" }),
|
|
72
|
+
});
|
|
73
|
+
await createJWT(config, {
|
|
74
|
+
name: "test",
|
|
75
|
+
expiresAt: "2024-01-01T00:00:00Z",
|
|
76
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe" }],
|
|
77
|
+
});
|
|
78
|
+
const [url] = mockFetch.mock.calls[0];
|
|
79
|
+
const parsed = new URL(url);
|
|
80
|
+
expect(parsed.searchParams.get("expiration_time")).toBe("1704067200");
|
|
81
|
+
});
|
|
82
|
+
it("includes limits when provided", async () => {
|
|
83
|
+
mockFetch.mockResolvedValueOnce({
|
|
84
|
+
ok: true,
|
|
85
|
+
json: () => Promise.resolve({ token: "jwt-token" }),
|
|
86
|
+
});
|
|
87
|
+
await createJWT(config, {
|
|
88
|
+
name: "rate_limited_token",
|
|
89
|
+
expiresAt: 1700000000,
|
|
90
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe" }],
|
|
91
|
+
limits: { rps: 100 },
|
|
92
|
+
});
|
|
93
|
+
const [, init] = mockFetch.mock.calls[0];
|
|
94
|
+
const body = JSON.parse(init.body);
|
|
95
|
+
expect(body.limits).toEqual({ rps: 100 });
|
|
96
|
+
});
|
|
97
|
+
it("uses custom fetch implementation when provided", async () => {
|
|
98
|
+
const customFetch = vi.fn().mockResolvedValueOnce({
|
|
99
|
+
ok: true,
|
|
100
|
+
json: () => Promise.resolve({ token: "jwt-token" }),
|
|
101
|
+
});
|
|
102
|
+
await createJWT({
|
|
103
|
+
...config,
|
|
104
|
+
fetch: customFetch,
|
|
105
|
+
}, {
|
|
106
|
+
name: "custom_fetch_token",
|
|
107
|
+
expiresAt: 1700000000,
|
|
108
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe" }],
|
|
109
|
+
});
|
|
110
|
+
expect(customFetch).toHaveBeenCalledTimes(1);
|
|
111
|
+
expect(mockFetch).not.toHaveBeenCalled();
|
|
112
|
+
});
|
|
113
|
+
it("supports datasource scope with filter", async () => {
|
|
114
|
+
mockFetch.mockResolvedValueOnce({
|
|
115
|
+
ok: true,
|
|
116
|
+
json: () => Promise.resolve({ token: "jwt-token" }),
|
|
117
|
+
});
|
|
118
|
+
await createJWT(config, {
|
|
119
|
+
name: "filtered_token",
|
|
120
|
+
expiresAt: 1700000000,
|
|
121
|
+
scopes: [
|
|
122
|
+
{
|
|
123
|
+
type: "DATASOURCES:READ",
|
|
124
|
+
resource: "events",
|
|
125
|
+
filter: "org_id = 'acme'",
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
});
|
|
129
|
+
const [, init] = mockFetch.mock.calls[0];
|
|
130
|
+
const body = JSON.parse(init.body);
|
|
131
|
+
expect(body.scopes[0].filter).toBe("org_id = 'acme'");
|
|
132
|
+
});
|
|
133
|
+
it("throws TokenApiError on 403 with helpful message", async () => {
|
|
134
|
+
mockFetch.mockResolvedValueOnce({
|
|
135
|
+
ok: false,
|
|
136
|
+
status: 403,
|
|
137
|
+
statusText: "Forbidden",
|
|
138
|
+
text: () => Promise.resolve("Insufficient permissions"),
|
|
139
|
+
});
|
|
140
|
+
await expect(createJWT(config, {
|
|
141
|
+
name: "test",
|
|
142
|
+
expiresAt: 1700000000,
|
|
143
|
+
scopes: [],
|
|
144
|
+
})).rejects.toThrow(TokenApiError);
|
|
145
|
+
mockFetch.mockResolvedValueOnce({
|
|
146
|
+
ok: false,
|
|
147
|
+
status: 403,
|
|
148
|
+
statusText: "Forbidden",
|
|
149
|
+
text: () => Promise.resolve("Insufficient permissions"),
|
|
150
|
+
});
|
|
151
|
+
try {
|
|
152
|
+
await createJWT(config, {
|
|
153
|
+
name: "test",
|
|
154
|
+
expiresAt: 1700000000,
|
|
155
|
+
scopes: [],
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
expect(error.status).toBe(403);
|
|
160
|
+
expect(error.message).toContain("TOKENS or ADMIN scope");
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
it("throws TokenApiError on 400 with validation error", async () => {
|
|
164
|
+
mockFetch.mockResolvedValueOnce({
|
|
165
|
+
ok: false,
|
|
166
|
+
status: 400,
|
|
167
|
+
statusText: "Bad Request",
|
|
168
|
+
text: () => Promise.resolve('{"error": "Invalid scope type"}'),
|
|
169
|
+
});
|
|
170
|
+
await expect(createJWT(config, {
|
|
171
|
+
name: "test",
|
|
172
|
+
expiresAt: 1700000000,
|
|
173
|
+
scopes: [],
|
|
174
|
+
})).rejects.toThrow(TokenApiError);
|
|
175
|
+
mockFetch.mockResolvedValueOnce({
|
|
176
|
+
ok: false,
|
|
177
|
+
status: 400,
|
|
178
|
+
statusText: "Bad Request",
|
|
179
|
+
text: () => Promise.resolve('{"error": "Invalid scope type"}'),
|
|
180
|
+
});
|
|
181
|
+
try {
|
|
182
|
+
await createJWT(config, {
|
|
183
|
+
name: "test",
|
|
184
|
+
expiresAt: 1700000000,
|
|
185
|
+
scopes: [],
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
expect(error.status).toBe(400);
|
|
190
|
+
expect(error.message).toContain("Invalid scope type");
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
it("does not include limits if not provided", async () => {
|
|
194
|
+
mockFetch.mockResolvedValueOnce({
|
|
195
|
+
ok: true,
|
|
196
|
+
json: () => Promise.resolve({ token: "jwt-token" }),
|
|
197
|
+
});
|
|
198
|
+
await createJWT(config, {
|
|
199
|
+
name: "simple_token",
|
|
200
|
+
expiresAt: 1700000000,
|
|
201
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe" }],
|
|
202
|
+
});
|
|
203
|
+
const [, init] = mockFetch.mock.calls[0];
|
|
204
|
+
const body = JSON.parse(init.body);
|
|
205
|
+
expect(body.limits).toBeUndefined();
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
//# sourceMappingURL=tokens.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.test.js","sourceRoot":"","sources":["../../src/api/tokens.test.ts"],"names":[],"mappings":"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"}
|
package/dist/client/base.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Tinybird client for querying pipes and ingesting events
|
|
3
3
|
*/
|
|
4
4
|
import type { ClientConfig, ClientContext, DatasourcesNamespace, QueryResult, IngestResult, QueryOptions, IngestOptions } from "./types.js";
|
|
5
|
+
import { TokensNamespace } from "./tokens.js";
|
|
5
6
|
/**
|
|
6
7
|
* Tinybird API client
|
|
7
8
|
*
|
|
@@ -39,6 +40,8 @@ export declare class TinybirdClient {
|
|
|
39
40
|
* Datasources namespace for import operations
|
|
40
41
|
*/
|
|
41
42
|
readonly datasources: DatasourcesNamespace;
|
|
43
|
+
/** Token operations (JWT creation, etc.) */
|
|
44
|
+
readonly tokens: TokensNamespace;
|
|
42
45
|
constructor(config: ClientConfig);
|
|
43
46
|
/**
|
|
44
47
|
* Append data to a datasource from a URL or local file
|
|
@@ -61,6 +64,22 @@ export declare class TinybirdClient {
|
|
|
61
64
|
* ```
|
|
62
65
|
*/
|
|
63
66
|
private appendDatasource;
|
|
67
|
+
/**
|
|
68
|
+
* Delete rows from a datasource using a SQL condition
|
|
69
|
+
*
|
|
70
|
+
* @param datasourceName - Name of the datasource
|
|
71
|
+
* @param options - Delete options including deleteCondition
|
|
72
|
+
* @returns Delete job result
|
|
73
|
+
*/
|
|
74
|
+
private deleteDatasource;
|
|
75
|
+
/**
|
|
76
|
+
* Truncate all rows from a datasource
|
|
77
|
+
*
|
|
78
|
+
* @param datasourceName - Name of the datasource
|
|
79
|
+
* @param options - Truncate options
|
|
80
|
+
* @returns Truncate result
|
|
81
|
+
*/
|
|
82
|
+
private truncateDatasource;
|
|
64
83
|
/**
|
|
65
84
|
* Get the effective token, resolving branch token in dev mode if needed
|
|
66
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/client/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/client/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EAGpB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EAGd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,eAAe,CAA8B;IAErD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAE3C,4CAA4C;IAC5C,SAAgB,MAAM,EAAE,eAAe,CAAC;gBAE5B,MAAM,EAAE,YAAY;IAwChC;;;;;;;;;;;;;;;;;;;OAmBG;YACW,gBAAgB;IAa9B;;;;;;OAMG;YACW,gBAAgB;IAa9B;;;;;;OAMG;YACW,kBAAkB;IAahC;;OAEG;YACW,QAAQ;IAKtB;;;OAGG;YACW,cAAc;IAwB5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;YACW,oBAAoB;IA6ElC;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAU1B;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,CAAC,EACR,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAIxB;;;;;;;OAOG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAcxB;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAU1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,eAAe;CAOxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAEjE"}
|
package/dist/client/base.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { TinybirdError } from "./types.js";
|
|
5
5
|
import { TinybirdApi, TinybirdApiError } from "../api/api.js";
|
|
6
|
+
import { TokensNamespace } from "./tokens.js";
|
|
6
7
|
/**
|
|
7
8
|
* Tinybird API client
|
|
8
9
|
*
|
|
@@ -40,6 +41,8 @@ export class TinybirdClient {
|
|
|
40
41
|
* Datasources namespace for import operations
|
|
41
42
|
*/
|
|
42
43
|
datasources;
|
|
44
|
+
/** Token operations (JWT creation, etc.) */
|
|
45
|
+
tokens;
|
|
43
46
|
constructor(config) {
|
|
44
47
|
// Validate required config
|
|
45
48
|
if (!config.baseUrl) {
|
|
@@ -58,7 +61,15 @@ export class TinybirdClient {
|
|
|
58
61
|
append: (datasourceName, options) => {
|
|
59
62
|
return this.appendDatasource(datasourceName, options);
|
|
60
63
|
},
|
|
64
|
+
delete: (datasourceName, options) => {
|
|
65
|
+
return this.deleteDatasource(datasourceName, options);
|
|
66
|
+
},
|
|
67
|
+
truncate: (datasourceName, options = {}) => {
|
|
68
|
+
return this.truncateDatasource(datasourceName, options);
|
|
69
|
+
},
|
|
61
70
|
};
|
|
71
|
+
// Initialize tokens namespace
|
|
72
|
+
this.tokens = new TokensNamespace(() => this.getToken(), this.config.baseUrl, this.config.fetch, this.config.timeout);
|
|
62
73
|
}
|
|
63
74
|
/**
|
|
64
75
|
* Append data to a datasource from a URL or local file
|
|
@@ -89,6 +100,38 @@ export class TinybirdClient {
|
|
|
89
100
|
this.rethrowApiError(error);
|
|
90
101
|
}
|
|
91
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Delete rows from a datasource using a SQL condition
|
|
105
|
+
*
|
|
106
|
+
* @param datasourceName - Name of the datasource
|
|
107
|
+
* @param options - Delete options including deleteCondition
|
|
108
|
+
* @returns Delete job result
|
|
109
|
+
*/
|
|
110
|
+
async deleteDatasource(datasourceName, options) {
|
|
111
|
+
const token = await this.getToken();
|
|
112
|
+
try {
|
|
113
|
+
return await this.getApi(token).deleteDatasource(datasourceName, options);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
this.rethrowApiError(error);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Truncate all rows from a datasource
|
|
121
|
+
*
|
|
122
|
+
* @param datasourceName - Name of the datasource
|
|
123
|
+
* @param options - Truncate options
|
|
124
|
+
* @returns Truncate result
|
|
125
|
+
*/
|
|
126
|
+
async truncateDatasource(datasourceName, options = {}) {
|
|
127
|
+
const token = await this.getToken();
|
|
128
|
+
try {
|
|
129
|
+
return await this.getApi(token).truncateDatasource(datasourceName, options);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
this.rethrowApiError(error);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
92
135
|
/**
|
|
93
136
|
* Get the effective token, resolving branch token in dev mode if needed
|
|
94
137
|
*/
|
package/dist/client/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/client/base.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/client/base.ts"],"names":[],"mappings":"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"}
|
package/dist/client/base.test.js
CHANGED
|
@@ -123,6 +123,8 @@ describe("TinybirdClient", () => {
|
|
|
123
123
|
token: "test-token",
|
|
124
124
|
});
|
|
125
125
|
expect(typeof client.datasources.append).toBe("function");
|
|
126
|
+
expect(typeof client.datasources.delete).toBe("function");
|
|
127
|
+
expect(typeof client.datasources.truncate).toBe("function");
|
|
126
128
|
});
|
|
127
129
|
it("datasources conforms to DatasourcesNamespace interface", () => {
|
|
128
130
|
const client = createClient({
|
|
@@ -132,6 +134,8 @@ describe("TinybirdClient", () => {
|
|
|
132
134
|
const datasources = client.datasources;
|
|
133
135
|
expect(datasources).toBeDefined();
|
|
134
136
|
expect(typeof datasources.append).toBe("function");
|
|
137
|
+
expect(typeof datasources.delete).toBe("function");
|
|
138
|
+
expect(typeof datasources.truncate).toBe("function");
|
|
135
139
|
});
|
|
136
140
|
});
|
|
137
141
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.test.js","sourceRoot":"","sources":["../../src/client/base.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base.test.js","sourceRoot":"","sources":["../../src/client/base.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token operations namespace for TinybirdClient
|
|
3
|
+
*/
|
|
4
|
+
import type { CreateJWTOptions, CreateJWTResult } from "../api/tokens.js";
|
|
5
|
+
/**
|
|
6
|
+
* Token operations namespace for TinybirdClient
|
|
7
|
+
*/
|
|
8
|
+
export declare class TokensNamespace {
|
|
9
|
+
private readonly getToken;
|
|
10
|
+
private readonly baseUrl;
|
|
11
|
+
private readonly fetchFn?;
|
|
12
|
+
private readonly timeout?;
|
|
13
|
+
constructor(getToken: () => Promise<string>, baseUrl: string, fetchFn?: typeof globalThis.fetch | undefined, timeout?: number | undefined);
|
|
14
|
+
/**
|
|
15
|
+
* Create a JWT token
|
|
16
|
+
*
|
|
17
|
+
* Creates a short-lived JWT token with specific scopes for secure,
|
|
18
|
+
* time-limited access to pipes and datasources.
|
|
19
|
+
*
|
|
20
|
+
* @param options - JWT creation options
|
|
21
|
+
* @returns The created JWT token
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const result = await client.tokens.createJWT({
|
|
26
|
+
* name: "user_123_token",
|
|
27
|
+
* expiresAt: new Date(Date.now() + 3600 * 1000), // 1 hour
|
|
28
|
+
* scopes: [
|
|
29
|
+
* {
|
|
30
|
+
* type: "PIPES:READ",
|
|
31
|
+
* resource: "user_analytics",
|
|
32
|
+
* fixed_params: { user_id: 123 },
|
|
33
|
+
* },
|
|
34
|
+
* ],
|
|
35
|
+
* });
|
|
36
|
+
*
|
|
37
|
+
* console.log(result.token); // "eyJ..."
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
createJWT(options: CreateJWTOptions): Promise<CreateJWTResult>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/client/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAI1E;;GAEG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAHR,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,YAAA,EACjC,OAAO,CAAC,EAAE,MAAM,YAAA;IAGnC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CAuBrE"}
|