@tinybirdco/sdk 0.0.19 → 0.0.21

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 (55) hide show
  1. package/README.md +47 -0
  2. package/dist/api/api.d.ts +89 -0
  3. package/dist/api/api.d.ts.map +1 -0
  4. package/dist/api/api.js +218 -0
  5. package/dist/api/api.js.map +1 -0
  6. package/dist/api/api.test.d.ts +2 -0
  7. package/dist/api/api.test.d.ts.map +1 -0
  8. package/dist/api/api.test.js +226 -0
  9. package/dist/api/api.test.js.map +1 -0
  10. package/dist/api/dashboard.d.ts +74 -0
  11. package/dist/api/dashboard.d.ts.map +1 -0
  12. package/dist/api/dashboard.js +102 -0
  13. package/dist/api/dashboard.js.map +1 -0
  14. package/dist/api/dashboard.test.d.ts +2 -0
  15. package/dist/api/dashboard.test.d.ts.map +1 -0
  16. package/dist/api/dashboard.test.js +91 -0
  17. package/dist/api/dashboard.test.js.map +1 -0
  18. package/dist/cli/commands/branch.d.ts +2 -0
  19. package/dist/cli/commands/branch.d.ts.map +1 -1
  20. package/dist/cli/commands/branch.js +12 -1
  21. package/dist/cli/commands/branch.js.map +1 -1
  22. package/dist/cli/commands/build.d.ts +17 -0
  23. package/dist/cli/commands/build.d.ts.map +1 -1
  24. package/dist/cli/commands/build.js +25 -0
  25. package/dist/cli/commands/build.js.map +1 -1
  26. package/dist/cli/commands/dev.d.ts +2 -0
  27. package/dist/cli/commands/dev.d.ts.map +1 -1
  28. package/dist/cli/commands/dev.js +19 -3
  29. package/dist/cli/commands/dev.js.map +1 -1
  30. package/dist/cli/index.js +23 -24
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/cli/output.d.ts +20 -0
  33. package/dist/cli/output.d.ts.map +1 -1
  34. package/dist/cli/output.js +37 -0
  35. package/dist/cli/output.js.map +1 -1
  36. package/dist/client/base.d.ts +3 -17
  37. package/dist/client/base.d.ts.map +1 -1
  38. package/dist/client/base.js +31 -153
  39. package/dist/client/base.js.map +1 -1
  40. package/dist/index.d.ts +4 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +4 -0
  43. package/dist/index.js.map +1 -1
  44. package/package.json +7 -2
  45. package/src/api/api.test.ts +295 -0
  46. package/src/api/api.ts +345 -0
  47. package/src/api/dashboard.test.ts +115 -0
  48. package/src/api/dashboard.ts +121 -0
  49. package/src/cli/commands/branch.ts +15 -1
  50. package/src/cli/commands/build.ts +46 -0
  51. package/src/cli/commands/dev.ts +47 -7
  52. package/src/cli/index.ts +25 -27
  53. package/src/cli/output.ts +54 -0
  54. package/src/client/base.ts +34 -181
  55. package/src/index.ts +23 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Tinybird Dashboard URL utilities
3
+ *
4
+ * Generates dashboard links for workspaces and branches
5
+ */
6
+ /**
7
+ * Region information extracted from API URL
8
+ */
9
+ export interface RegionInfo {
10
+ /** Cloud provider: "gcp" or "aws" */
11
+ provider: string;
12
+ /** Region identifier (e.g., "europe-west3", "us-east4", "us-west-2") */
13
+ region: string;
14
+ }
15
+ /**
16
+ * Parse an API URL to extract region information
17
+ *
18
+ * @param apiUrl - The Tinybird API base URL (e.g., "https://api.tinybird.co")
19
+ * @returns Region info or null if the URL doesn't match a known region
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * parseApiUrl("https://api.tinybird.co")
24
+ * // => { provider: "gcp", region: "europe-west3" }
25
+ *
26
+ * parseApiUrl("https://api.us-west-2.aws.tinybird.co")
27
+ * // => { provider: "aws", region: "us-west-2" }
28
+ * ```
29
+ */
30
+ export declare function parseApiUrl(apiUrl: string): RegionInfo | null;
31
+ /**
32
+ * Generate a Tinybird dashboard URL for a workspace
33
+ *
34
+ * @param apiUrl - The Tinybird API base URL
35
+ * @param workspaceName - The workspace name
36
+ * @returns Dashboard URL or null if the API URL is not recognized
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * getDashboardUrl("https://api.tinybird.co", "my_workspace")
41
+ * // => "https://cloud.tinybird.co/gcp/europe-west3/my_workspace"
42
+ * ```
43
+ */
44
+ export declare function getDashboardUrl(apiUrl: string, workspaceName: string): string | null;
45
+ /**
46
+ * Generate a Tinybird dashboard URL for a branch
47
+ *
48
+ * @param apiUrl - The Tinybird API base URL
49
+ * @param workspaceName - The workspace name
50
+ * @param branchName - The branch name
51
+ * @returns Dashboard URL or null if the API URL is not recognized
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * getBranchDashboardUrl("https://api.tinybird.co", "my_workspace", "feature_branch")
56
+ * // => "https://cloud.tinybird.co/gcp/europe-west3/my_workspace~feature_branch"
57
+ * ```
58
+ */
59
+ export declare function getBranchDashboardUrl(apiUrl: string, workspaceName: string, branchName: string): string | null;
60
+ /**
61
+ * Generate a local Tinybird dashboard URL
62
+ *
63
+ * @param workspaceName - The local workspace name
64
+ * @param port - The local Tinybird port (default: 7181)
65
+ * @returns Local dashboard URL
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * getLocalDashboardUrl("my_local_workspace")
70
+ * // => "https://cloud.tinybird.co/local/7181/my_local_workspace"
71
+ * ```
72
+ */
73
+ export declare function getLocalDashboardUrl(workspaceName: string, port?: number): string;
74
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/api/dashboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAQ7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOpF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAOf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,MAAM,CAE/E"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Tinybird Dashboard URL utilities
3
+ *
4
+ * Generates dashboard links for workspaces and branches
5
+ */
6
+ /**
7
+ * Mapping of API hostnames to region information
8
+ *
9
+ * Based on https://www.tinybird.co/docs/api-reference#current-tinybird-regions
10
+ */
11
+ const API_REGION_MAP = {
12
+ // GCP Regions
13
+ "api.tinybird.co": { provider: "gcp", region: "europe-west3" },
14
+ "api.us-east.tinybird.co": { provider: "gcp", region: "us-east4" },
15
+ // AWS Regions
16
+ "api.eu-central-1.aws.tinybird.co": { provider: "aws", region: "eu-central-1" },
17
+ "api.us-east-1.aws.tinybird.co": { provider: "aws", region: "us-east-1" },
18
+ "api.us-west-2.aws.tinybird.co": { provider: "aws", region: "us-west-2" },
19
+ };
20
+ /**
21
+ * Parse an API URL to extract region information
22
+ *
23
+ * @param apiUrl - The Tinybird API base URL (e.g., "https://api.tinybird.co")
24
+ * @returns Region info or null if the URL doesn't match a known region
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * parseApiUrl("https://api.tinybird.co")
29
+ * // => { provider: "gcp", region: "europe-west3" }
30
+ *
31
+ * parseApiUrl("https://api.us-west-2.aws.tinybird.co")
32
+ * // => { provider: "aws", region: "us-west-2" }
33
+ * ```
34
+ */
35
+ export function parseApiUrl(apiUrl) {
36
+ try {
37
+ const url = new URL(apiUrl);
38
+ const hostname = url.hostname;
39
+ return API_REGION_MAP[hostname] ?? null;
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Generate a Tinybird dashboard URL for a workspace
47
+ *
48
+ * @param apiUrl - The Tinybird API base URL
49
+ * @param workspaceName - The workspace name
50
+ * @returns Dashboard URL or null if the API URL is not recognized
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * getDashboardUrl("https://api.tinybird.co", "my_workspace")
55
+ * // => "https://cloud.tinybird.co/gcp/europe-west3/my_workspace"
56
+ * ```
57
+ */
58
+ export function getDashboardUrl(apiUrl, workspaceName) {
59
+ const regionInfo = parseApiUrl(apiUrl);
60
+ if (!regionInfo) {
61
+ return null;
62
+ }
63
+ return `https://cloud.tinybird.co/${regionInfo.provider}/${regionInfo.region}/${workspaceName}`;
64
+ }
65
+ /**
66
+ * Generate a Tinybird dashboard URL for a branch
67
+ *
68
+ * @param apiUrl - The Tinybird API base URL
69
+ * @param workspaceName - The workspace name
70
+ * @param branchName - The branch name
71
+ * @returns Dashboard URL or null if the API URL is not recognized
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * getBranchDashboardUrl("https://api.tinybird.co", "my_workspace", "feature_branch")
76
+ * // => "https://cloud.tinybird.co/gcp/europe-west3/my_workspace~feature_branch"
77
+ * ```
78
+ */
79
+ export function getBranchDashboardUrl(apiUrl, workspaceName, branchName) {
80
+ const regionInfo = parseApiUrl(apiUrl);
81
+ if (!regionInfo) {
82
+ return null;
83
+ }
84
+ return `https://cloud.tinybird.co/${regionInfo.provider}/${regionInfo.region}/${workspaceName}~${branchName}`;
85
+ }
86
+ /**
87
+ * Generate a local Tinybird dashboard URL
88
+ *
89
+ * @param workspaceName - The local workspace name
90
+ * @param port - The local Tinybird port (default: 7181)
91
+ * @returns Local dashboard URL
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * getLocalDashboardUrl("my_local_workspace")
96
+ * // => "https://cloud.tinybird.co/local/7181/my_local_workspace"
97
+ * ```
98
+ */
99
+ export function getLocalDashboardUrl(workspaceName, port = 7181) {
100
+ return `https://cloud.tinybird.co/local/${port}/${workspaceName}`;
101
+ }
102
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/api/dashboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;;GAIG;AACH,MAAM,cAAc,GAA+B;IACjD,cAAc;IACd,iBAAiB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE;IAC9D,yBAAyB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE;IAClE,cAAc;IACd,kCAAkC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE;IAC/E,+BAA+B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE;IACzE,+BAA+B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE;CAC1E,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,aAAqB;IACnE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,6BAA6B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;AAClG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,aAAqB,EACrB,UAAkB;IAElB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,6BAA6B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;AAChH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB,EAAE,IAAI,GAAG,IAAI;IACrE,OAAO,mCAAmC,IAAI,IAAI,aAAa,EAAE,CAAC;AACpE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dashboard.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.test.d.ts","sourceRoot":"","sources":["../../src/api/dashboard.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { parseApiUrl, getDashboardUrl, getBranchDashboardUrl, getLocalDashboardUrl, } from "./dashboard.js";
3
+ describe("parseApiUrl", () => {
4
+ it("parses EU GCP region", () => {
5
+ const result = parseApiUrl("https://api.tinybird.co");
6
+ expect(result).toEqual({ provider: "gcp", region: "europe-west3" });
7
+ });
8
+ it("parses US East GCP region", () => {
9
+ const result = parseApiUrl("https://api.us-east.tinybird.co");
10
+ expect(result).toEqual({ provider: "gcp", region: "us-east4" });
11
+ });
12
+ it("parses EU Central AWS region", () => {
13
+ const result = parseApiUrl("https://api.eu-central-1.aws.tinybird.co");
14
+ expect(result).toEqual({ provider: "aws", region: "eu-central-1" });
15
+ });
16
+ it("parses US East AWS region", () => {
17
+ const result = parseApiUrl("https://api.us-east-1.aws.tinybird.co");
18
+ expect(result).toEqual({ provider: "aws", region: "us-east-1" });
19
+ });
20
+ it("parses US West AWS region", () => {
21
+ const result = parseApiUrl("https://api.us-west-2.aws.tinybird.co");
22
+ expect(result).toEqual({ provider: "aws", region: "us-west-2" });
23
+ });
24
+ it("returns null for unknown regions", () => {
25
+ const result = parseApiUrl("https://api.unknown.tinybird.co");
26
+ expect(result).toBeNull();
27
+ });
28
+ it("returns null for invalid URLs", () => {
29
+ const result = parseApiUrl("not-a-url");
30
+ expect(result).toBeNull();
31
+ });
32
+ it("returns null for localhost", () => {
33
+ const result = parseApiUrl("http://localhost:7181");
34
+ expect(result).toBeNull();
35
+ });
36
+ });
37
+ describe("getDashboardUrl", () => {
38
+ it("generates EU GCP workspace URL", () => {
39
+ const result = getDashboardUrl("https://api.tinybird.co", "my_workspace");
40
+ expect(result).toBe("https://cloud.tinybird.co/gcp/europe-west3/my_workspace");
41
+ });
42
+ it("generates US East GCP workspace URL", () => {
43
+ const result = getDashboardUrl("https://api.us-east.tinybird.co", "my_workspace");
44
+ expect(result).toBe("https://cloud.tinybird.co/gcp/us-east4/my_workspace");
45
+ });
46
+ it("generates AWS workspace URL", () => {
47
+ const result = getDashboardUrl("https://api.us-west-2.aws.tinybird.co", "my_workspace");
48
+ expect(result).toBe("https://cloud.tinybird.co/aws/us-west-2/my_workspace");
49
+ });
50
+ it("returns null for unknown regions", () => {
51
+ const result = getDashboardUrl("https://api.unknown.tinybird.co", "my_workspace");
52
+ expect(result).toBeNull();
53
+ });
54
+ });
55
+ describe("getBranchDashboardUrl", () => {
56
+ it("generates EU GCP branch URL", () => {
57
+ const result = getBranchDashboardUrl("https://api.tinybird.co", "my_workspace", "feature_branch");
58
+ expect(result).toBe("https://cloud.tinybird.co/gcp/europe-west3/my_workspace~feature_branch");
59
+ });
60
+ it("generates US East GCP branch URL", () => {
61
+ const result = getBranchDashboardUrl("https://api.us-east.tinybird.co", "my_workspace", "feature_branch");
62
+ expect(result).toBe("https://cloud.tinybird.co/gcp/us-east4/my_workspace~feature_branch");
63
+ });
64
+ it("generates AWS branch URL", () => {
65
+ const result = getBranchDashboardUrl("https://api.us-west-2.aws.tinybird.co", "my_workspace", "my_feature");
66
+ expect(result).toBe("https://cloud.tinybird.co/aws/us-west-2/my_workspace~my_feature");
67
+ });
68
+ it("returns null for unknown regions", () => {
69
+ const result = getBranchDashboardUrl("https://api.unknown.tinybird.co", "my_workspace", "branch");
70
+ expect(result).toBeNull();
71
+ });
72
+ it("handles branch names with underscores", () => {
73
+ const result = getBranchDashboardUrl("https://api.tinybird.co", "my_workspace", "feature_with_underscores");
74
+ expect(result).toBe("https://cloud.tinybird.co/gcp/europe-west3/my_workspace~feature_with_underscores");
75
+ });
76
+ });
77
+ describe("getLocalDashboardUrl", () => {
78
+ it("generates local dashboard URL with default port", () => {
79
+ const result = getLocalDashboardUrl("my_local_workspace");
80
+ expect(result).toBe("https://cloud.tinybird.co/local/7181/my_local_workspace");
81
+ });
82
+ it("generates local dashboard URL with custom port", () => {
83
+ const result = getLocalDashboardUrl("my_local_workspace", 8080);
84
+ expect(result).toBe("https://cloud.tinybird.co/local/8080/my_local_workspace");
85
+ });
86
+ it("handles workspace names with underscores", () => {
87
+ const result = getLocalDashboardUrl("dublin_feature_branch");
88
+ expect(result).toBe("https://cloud.tinybird.co/local/7181/dublin_feature_branch");
89
+ });
90
+ });
91
+ //# sourceMappingURL=dashboard.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.test.js","sourceRoot":"","sources":["../../src/api/dashboard.test.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export interface BranchStatusResult {
36
36
  tinybirdBranch?: TinybirdBranch;
37
37
  /** Whether a cached token exists */
38
38
  hasCachedToken: boolean;
39
+ /** Dashboard URL for the branch */
40
+ dashboardUrl?: string;
39
41
  /** Error message if failed */
40
42
  error?: string;
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/branch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAQ/B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oCAAoC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA6B3B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA8F7B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA0C7B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkC1E"}
1
+ {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/branch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAS/B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oCAAoC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA6B3B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAyG7B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA0C7B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkC1E"}
@@ -5,6 +5,7 @@ import { loadConfig } from "../config.js";
5
5
  import { listBranches, getBranch, deleteBranch, BranchApiError, } from "../../api/branches.js";
6
6
  import { getWorkspace } from "../../api/workspaces.js";
7
7
  import { getBranchToken, removeBranch as removeCachedBranch, listCachedBranches, } from "../branch-store.js";
8
+ import { getBranchDashboardUrl } from "../../api/dashboard.js";
8
9
  /**
9
10
  * List all Tinybird branches
10
11
  *
@@ -65,14 +66,16 @@ export async function runBranchStatus(options = {}) {
65
66
  const gitBranch = config.gitBranch;
66
67
  const tinybirdBranchName = config.tinybirdBranch; // Sanitized name
67
68
  const isMainBranch = config.isMainBranch;
68
- // Fetch the workspace ID from the API
69
+ // Fetch the workspace from the API
69
70
  let workspaceId;
71
+ let workspaceName;
70
72
  try {
71
73
  const workspace = await getWorkspace({
72
74
  baseUrl: config.baseUrl,
73
75
  token: config.token,
74
76
  });
75
77
  workspaceId = workspace.id;
78
+ workspaceName = workspace.name;
76
79
  }
77
80
  catch (error) {
78
81
  return {
@@ -84,6 +87,10 @@ export async function runBranchStatus(options = {}) {
84
87
  error: error.message,
85
88
  };
86
89
  }
90
+ // Generate dashboard URL for the branch
91
+ const dashboardUrl = tinybirdBranchName
92
+ ? getBranchDashboardUrl(config.baseUrl, workspaceName, tinybirdBranchName) ?? undefined
93
+ : undefined;
87
94
  // Check for cached token (use sanitized name)
88
95
  const cachedBranch = tinybirdBranchName ? getBranchToken(workspaceId, tinybirdBranchName) : null;
89
96
  const hasCachedToken = cachedBranch !== null;
@@ -95,6 +102,7 @@ export async function runBranchStatus(options = {}) {
95
102
  tinybirdBranchName,
96
103
  isMainBranch,
97
104
  hasCachedToken,
105
+ dashboardUrl,
98
106
  };
99
107
  }
100
108
  // Try to get the Tinybird branch info (use sanitized name)
@@ -110,6 +118,7 @@ export async function runBranchStatus(options = {}) {
110
118
  isMainBranch,
111
119
  tinybirdBranch,
112
120
  hasCachedToken,
121
+ dashboardUrl,
113
122
  };
114
123
  }
115
124
  catch (error) {
@@ -121,6 +130,7 @@ export async function runBranchStatus(options = {}) {
121
130
  tinybirdBranchName,
122
131
  isMainBranch,
123
132
  hasCachedToken,
133
+ dashboardUrl,
124
134
  };
125
135
  }
126
136
  return {
@@ -129,6 +139,7 @@ export async function runBranchStatus(options = {}) {
129
139
  tinybirdBranchName,
130
140
  isMainBranch,
131
141
  hasCachedToken,
142
+ dashboardUrl,
132
143
  error: error.message,
133
144
  };
134
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../src/cli/commands/branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../src/cli/commands/branch.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,21 @@ export interface BuildCommandOptions {
17
17
  /** Override the devMode from config */
18
18
  devModeOverride?: DevMode;
19
19
  }
20
+ /**
21
+ * Branch info included in build result
22
+ */
23
+ export interface BuildBranchInfo {
24
+ /** Git branch name */
25
+ gitBranch: string | null;
26
+ /** Tinybird branch name */
27
+ tinybirdBranch: string | null;
28
+ /** Whether the branch was newly created */
29
+ wasCreated: boolean;
30
+ /** Dashboard URL for the branch */
31
+ dashboardUrl?: string;
32
+ /** Whether using local mode */
33
+ isLocal: boolean;
34
+ }
20
35
  /**
21
36
  * Build command result
22
37
  */
@@ -27,6 +42,8 @@ export interface BuildCommandResult {
27
42
  build?: BuildFromIncludeResult;
28
43
  /** Build API result (if not dry run) */
29
44
  deploy?: BuildApiResult;
45
+ /** Branch info (when building to a branch) */
46
+ branchInfo?: BuildBranchInfo;
30
47
  /** Error message if failed */
31
48
  error?: string;
32
49
  /** Duration in milliseconds */
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAmD,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAS1E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,wCAAwC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8L7F"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAmD,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAW1E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,wCAAwC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwN7F"}
@@ -6,6 +6,8 @@ import { buildFromInclude } from "../../generator/index.js";
6
6
  import { buildToTinybird } from "../../api/build.js";
7
7
  import { getOrCreateBranch } from "../../api/branches.js";
8
8
  import { getLocalTokens, getOrCreateLocalWorkspace, getLocalWorkspaceName, LocalNotRunningError, } from "../../api/local.js";
9
+ import { getWorkspace } from "../../api/workspaces.js";
10
+ import { getBranchDashboardUrl, getLocalDashboardUrl } from "../../api/dashboard.js";
9
11
  /**
10
12
  * Run the build command
11
13
  *
@@ -60,6 +62,7 @@ export async function runBuild(options = {}) {
60
62
  console.log(`[debug] devMode: ${devMode}`);
61
63
  }
62
64
  let deployResult;
65
+ let branchInfo;
63
66
  // Handle local mode
64
67
  if (devMode === "local") {
65
68
  try {
@@ -77,6 +80,13 @@ export async function runBuild(options = {}) {
77
80
  if (debug) {
78
81
  console.log(`[debug] Workspace ${wasCreated ? "created" : "found"}: ${workspace.name}`);
79
82
  }
83
+ branchInfo = {
84
+ gitBranch: config.gitBranch,
85
+ tinybirdBranch: workspaceName,
86
+ wasCreated,
87
+ dashboardUrl: getLocalDashboardUrl(workspaceName),
88
+ isLocal: true,
89
+ };
80
90
  // Always use /v1/build for local (no deploy endpoint)
81
91
  deployResult = await buildToTinybird({
82
92
  baseUrl: LOCAL_BASE_URL,
@@ -141,6 +151,19 @@ export async function runBuild(options = {}) {
141
151
  if (debug) {
142
152
  console.log(`[debug] Using branch token for branch: ${config.tinybirdBranch}`);
143
153
  }
154
+ // Get workspace name for dashboard URL
155
+ const workspace = await getWorkspace({
156
+ baseUrl: config.baseUrl,
157
+ token: config.token,
158
+ });
159
+ const dashboardUrl = getBranchDashboardUrl(config.baseUrl, workspace.name, config.tinybirdBranch) ?? undefined;
160
+ branchInfo = {
161
+ gitBranch: config.gitBranch,
162
+ tinybirdBranch: config.tinybirdBranch,
163
+ wasCreated: tinybirdBranch.wasCreated ?? false,
164
+ dashboardUrl,
165
+ isLocal: false,
166
+ };
144
167
  }
145
168
  catch (error) {
146
169
  return {
@@ -172,6 +195,7 @@ export async function runBuild(options = {}) {
172
195
  success: false,
173
196
  build: buildResult,
174
197
  deploy: deployResult,
198
+ branchInfo,
175
199
  error: deployResult.error,
176
200
  durationMs: Date.now() - startTime,
177
201
  };
@@ -180,6 +204,7 @@ export async function runBuild(options = {}) {
180
204
  success: true,
181
205
  build: buildResult,
182
206
  deploy: deployResult,
207
+ branchInfo,
183
208
  durationMs: Date.now() - startTime,
184
209
  };
185
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAqC,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAA+B,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAkDrF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA+B,EAAE;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzC,cAAc;IACd,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAG,KAAe,CAAC,OAAO;YAC/B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,WAAmC,CAAC;IACxC,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,gBAAgB,CAAC;YACnC,YAAY,EAAE,MAAM,CAAC,OAAO;YAC5B,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iBAAkB,KAAe,CAAC,OAAO,EAAE;YAClD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAE3C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,YAA4B,CAAC;IACjC,IAAI,UAAuC,CAAC;IAE5C,oBAAoB;IACpB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,kCAAkC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,qCAAqC,cAAc,SAAS,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAE3C,+CAA+C;YAC/C,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,aAAa,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAyB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC9F,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;YAED,UAAU,GAAG;gBACX,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,aAAa;gBAC7B,UAAU;gBACV,YAAY,EAAE,oBAAoB,CAAC,aAAa,CAAC;gBACjD,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,sDAAsD;YACtD,YAAY,GAAG,MAAM,eAAe,CAClC;gBACE,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,EACD,WAAW,CAAC,SAAS,CACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;gBAC1C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,uBAAwB,KAAe,CAAC,OAAO,EAAE;gBACxD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,wBAAwB;QACxB,qDAAqD;QACrD,iFAAiF;QACjF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAEnE,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,qIAAqI;gBAC5I,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC;QAE3D,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAC5C;oBACE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,EACD,MAAM,CAAC,cAAe,CACvB,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC1B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,WAAW;wBAClB,KAAK,EAAE,WAAW,MAAM,CAAC,cAAc,0CAA0C;wBACjF,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACnC,CAAC;gBACJ,CAAC;gBAED,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBACjF,CAAC;gBAED,uCAAuC;gBACvC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;oBACnC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,cAAe,CAAC,IAAI,SAAS,CAAC;gBAEhH,UAAU,GAAG;oBACX,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,KAAK;oBAC9C,YAAY;oBACZ,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,gCAAiC,KAAe,CAAC,OAAO,EAAE;oBACjE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,oCAAoC;YACpC,YAAY,GAAG,MAAM,eAAe,CAClC;gBACE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,cAAc;aACtB,EACD,WAAW,CAAC,SAAS,CACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,kBAAmB,KAAe,CAAC,OAAO,EAAE;gBACnD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;YACpB,UAAU;YACV,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,YAAY;QACpB,UAAU;QACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACnC,CAAC;AACJ,CAAC"}
@@ -54,6 +54,8 @@ export interface BranchReadyInfo {
54
54
  isLocal?: boolean;
55
55
  /** Local workspace info (only in local mode) */
56
56
  localWorkspace?: LocalWorkspace;
57
+ /** Dashboard URL for the branch (only in branch mode) */
58
+ dashboardUrl?: string;
57
59
  }
58
60
  /**
59
61
  * Dev command controller
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAyF,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACxJ,OAAO,EAAY,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,oCAAoC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,kDAAkD;IAClD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5C,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9D,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3C,mCAAmC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqRpF"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAY,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,oCAAoC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,kDAAkD;IAClD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5C,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9D,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3C,mCAAmC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC1B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA8SxB"}
@@ -3,13 +3,15 @@
3
3
  */
4
4
  import * as path from "path";
5
5
  import { watch } from "chokidar";
6
- import { loadConfig, configExists, findConfigFile, hasValidToken, updateConfig, LOCAL_BASE_URL } from "../config.js";
6
+ import { loadConfig, configExists, findConfigFile, hasValidToken, updateConfig, LOCAL_BASE_URL, } from "../config.js";
7
7
  import { runBuild } from "./build.js";
8
8
  import { getOrCreateBranch } from "../../api/branches.js";
9
9
  import { browserLogin } from "../auth.js";
10
10
  import { saveTinybirdToken } from "../env.js";
11
11
  import { validatePipeSchemas, } from "../utils/schema-validation.js";
12
12
  import { getLocalTokens, getOrCreateLocalWorkspace, getLocalWorkspaceName, } from "../../api/local.js";
13
+ import { getWorkspace } from "../../api/workspaces.js";
14
+ import { getBranchDashboardUrl, getLocalDashboardUrl } from "../../api/dashboard.js";
13
15
  /**
14
16
  * Run the dev command
15
17
  *
@@ -43,7 +45,8 @@ export async function runDev(options = {}) {
43
45
  console.log("No authentication found. Starting login flow...\n");
44
46
  const authResult = await browserLogin();
45
47
  if (!authResult.success || !authResult.token) {
46
- throw new Error(authResult.error ?? "Login failed. Run 'npx tinybird login' to authenticate.");
48
+ throw new Error(authResult.error ??
49
+ "Login failed. Run 'npx tinybird login' to authenticate.");
47
50
  }
48
51
  // Find the config file (may be in parent directory)
49
52
  const configPath = findConfigFile(cwd);
@@ -88,6 +91,7 @@ export async function runDev(options = {}) {
88
91
  isLocal: true,
89
92
  localWorkspace: workspace,
90
93
  wasCreated,
94
+ dashboardUrl: getLocalDashboardUrl(workspace.name),
91
95
  };
92
96
  }
93
97
  else {
@@ -110,11 +114,19 @@ export async function runDev(options = {}) {
110
114
  `This may be an API issue.`);
111
115
  }
112
116
  effectiveToken = tinybirdBranch.token;
117
+ // Get workspace name for dashboard URL
118
+ const workspace = await getWorkspace({
119
+ baseUrl: config.baseUrl,
120
+ token: config.token,
121
+ });
122
+ const dashboardUrl = getBranchDashboardUrl(config.baseUrl, workspace.name, branchName) ??
123
+ undefined;
113
124
  branchInfo = {
114
125
  gitBranch: config.gitBranch, // Original git branch name for display
115
126
  isMainBranch: false,
116
127
  tinybirdBranch,
117
128
  wasCreated: tinybirdBranch.wasCreated ?? false,
129
+ dashboardUrl,
118
130
  };
119
131
  }
120
132
  }
@@ -136,7 +148,11 @@ export async function runDev(options = {}) {
136
148
  async function doBuild() {
137
149
  if (isBuilding) {
138
150
  pendingBuild = true;
139
- return { success: false, error: "Build already in progress", durationMs: 0 };
151
+ return {
152
+ success: false,
153
+ error: "Build already in progress",
154
+ durationMs: 0,
155
+ };
140
156
  }
141
157
  isBuilding = true;
142
158
  options.onBuildStart?.();