@einlogic/mcp-fabric-api 1.0.0

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 (107) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +241 -0
  3. package/build/auth/oauth-handler.d.ts +14 -0
  4. package/build/auth/oauth-handler.d.ts.map +1 -0
  5. package/build/auth/oauth-handler.js +32 -0
  6. package/build/auth/oauth-handler.js.map +1 -0
  7. package/build/auth/token-manager.d.ts +15 -0
  8. package/build/auth/token-manager.d.ts.map +1 -0
  9. package/build/auth/token-manager.js +61 -0
  10. package/build/auth/token-manager.js.map +1 -0
  11. package/build/client/fabric-client.d.ts +24 -0
  12. package/build/client/fabric-client.d.ts.map +1 -0
  13. package/build/client/fabric-client.js +91 -0
  14. package/build/client/fabric-client.js.map +1 -0
  15. package/build/client/powerbi-client.d.ts +15 -0
  16. package/build/client/powerbi-client.d.ts.map +1 -0
  17. package/build/client/powerbi-client.js +62 -0
  18. package/build/client/powerbi-client.js.map +1 -0
  19. package/build/core/errors.d.ts +14 -0
  20. package/build/core/errors.d.ts.map +1 -0
  21. package/build/core/errors.js +33 -0
  22. package/build/core/errors.js.map +1 -0
  23. package/build/core/job-scheduler.d.ts +7 -0
  24. package/build/core/job-scheduler.d.ts.map +1 -0
  25. package/build/core/job-scheduler.js +20 -0
  26. package/build/core/job-scheduler.js.map +1 -0
  27. package/build/core/lro.d.ts +9 -0
  28. package/build/core/lro.d.ts.map +1 -0
  29. package/build/core/lro.js +35 -0
  30. package/build/core/lro.js.map +1 -0
  31. package/build/core/pagination.d.ts +3 -0
  32. package/build/core/pagination.d.ts.map +1 -0
  33. package/build/core/pagination.js +27 -0
  34. package/build/core/pagination.js.map +1 -0
  35. package/build/core/types.d.ts +86 -0
  36. package/build/core/types.d.ts.map +1 -0
  37. package/build/core/types.js +2 -0
  38. package/build/core/types.js.map +1 -0
  39. package/build/index.d.ts +3 -0
  40. package/build/index.d.ts.map +1 -0
  41. package/build/index.js +85 -0
  42. package/build/index.js.map +1 -0
  43. package/build/server.d.ts +7 -0
  44. package/build/server.d.ts.map +1 -0
  45. package/build/server.js +42 -0
  46. package/build/server.js.map +1 -0
  47. package/build/tools/auth.d.ts +4 -0
  48. package/build/tools/auth.d.ts.map +1 -0
  49. package/build/tools/auth.js +119 -0
  50. package/build/tools/auth.js.map +1 -0
  51. package/build/tools/dataflow.d.ts +4 -0
  52. package/build/tools/dataflow.d.ts.map +1 -0
  53. package/build/tools/dataflow.js +100 -0
  54. package/build/tools/dataflow.js.map +1 -0
  55. package/build/tools/eventhouse.d.ts +4 -0
  56. package/build/tools/eventhouse.d.ts.map +1 -0
  57. package/build/tools/eventhouse.js +80 -0
  58. package/build/tools/eventhouse.js.map +1 -0
  59. package/build/tools/eventstream.d.ts +4 -0
  60. package/build/tools/eventstream.d.ts.map +1 -0
  61. package/build/tools/eventstream.js +135 -0
  62. package/build/tools/eventstream.js.map +1 -0
  63. package/build/tools/graphql-api.d.ts +5 -0
  64. package/build/tools/graphql-api.d.ts.map +1 -0
  65. package/build/tools/graphql-api.js +124 -0
  66. package/build/tools/graphql-api.js.map +1 -0
  67. package/build/tools/lakehouse.d.ts +4 -0
  68. package/build/tools/lakehouse.d.ts.map +1 -0
  69. package/build/tools/lakehouse.js +138 -0
  70. package/build/tools/lakehouse.js.map +1 -0
  71. package/build/tools/notebook.d.ts +4 -0
  72. package/build/tools/notebook.d.ts.map +1 -0
  73. package/build/tools/notebook.js +186 -0
  74. package/build/tools/notebook.js.map +1 -0
  75. package/build/tools/pipeline.d.ts +4 -0
  76. package/build/tools/pipeline.d.ts.map +1 -0
  77. package/build/tools/pipeline.js +214 -0
  78. package/build/tools/pipeline.js.map +1 -0
  79. package/build/tools/reflex.d.ts +4 -0
  80. package/build/tools/reflex.d.ts.map +1 -0
  81. package/build/tools/reflex.js +101 -0
  82. package/build/tools/reflex.js.map +1 -0
  83. package/build/tools/report.d.ts +5 -0
  84. package/build/tools/report.d.ts.map +1 -0
  85. package/build/tools/report.js +191 -0
  86. package/build/tools/report.js.map +1 -0
  87. package/build/tools/semantic-model.d.ts +5 -0
  88. package/build/tools/semantic-model.d.ts.map +1 -0
  89. package/build/tools/semantic-model.js +225 -0
  90. package/build/tools/semantic-model.js.map +1 -0
  91. package/build/tools/sql-endpoint.d.ts +4 -0
  92. package/build/tools/sql-endpoint.d.ts.map +1 -0
  93. package/build/tools/sql-endpoint.js +44 -0
  94. package/build/tools/sql-endpoint.js.map +1 -0
  95. package/build/tools/workspace.d.ts +4 -0
  96. package/build/tools/workspace.d.ts.map +1 -0
  97. package/build/tools/workspace.js +84 -0
  98. package/build/tools/workspace.js.map +1 -0
  99. package/build/utils/base64.d.ts +3 -0
  100. package/build/utils/base64.d.ts.map +1 -0
  101. package/build/utils/base64.js +7 -0
  102. package/build/utils/base64.js.map +1 -0
  103. package/build/utils/tmdl.d.ts +13 -0
  104. package/build/utils/tmdl.d.ts.map +1 -0
  105. package/build/utils/tmdl.js +21 -0
  106. package/build/utils/tmdl.js.map +1 -0
  107. package/package.json +35 -0
@@ -0,0 +1,138 @@
1
+ import { z } from "zod";
2
+ import { formatToolError } from "../core/errors.js";
3
+ import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation } from "../core/lro.js";
5
+ export function registerLakehouseTools(server, fabricClient) {
6
+ server.tool("lakehouse_list", "List all lakehouses in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
7
+ try {
8
+ const lakehouses = await paginateAll(fabricClient, `/workspaces/${workspaceId}/lakehouses`);
9
+ return { content: [{ type: "text", text: JSON.stringify(lakehouses, null, 2) }] };
10
+ }
11
+ catch (error) {
12
+ return formatToolError(error);
13
+ }
14
+ });
15
+ server.tool("lakehouse_get", "Get details of a specific lakehouse including SQL endpoint and OneLake paths", {
16
+ workspaceId: z.string().describe("The workspace ID"),
17
+ lakehouseId: z.string().describe("The lakehouse ID"),
18
+ }, async ({ workspaceId, lakehouseId }) => {
19
+ try {
20
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/lakehouses/${lakehouseId}`);
21
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
22
+ }
23
+ catch (error) {
24
+ return formatToolError(error);
25
+ }
26
+ });
27
+ server.tool("lakehouse_create", "Create a new lakehouse in a workspace (long-running operation)", {
28
+ workspaceId: z.string().describe("The workspace ID"),
29
+ displayName: z.string().describe("Display name for the lakehouse"),
30
+ description: z.string().optional().describe("Description of the lakehouse"),
31
+ }, async ({ workspaceId, displayName, description }) => {
32
+ try {
33
+ const body = { displayName };
34
+ if (description)
35
+ body.description = description;
36
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/lakehouses`, body);
37
+ if (response.lro) {
38
+ const state = await pollOperation(fabricClient, response.lro.operationId);
39
+ return { content: [{ type: "text", text: JSON.stringify({ operation: state, item: response.data }, null, 2) }] };
40
+ }
41
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
42
+ }
43
+ catch (error) {
44
+ return formatToolError(error);
45
+ }
46
+ });
47
+ server.tool("lakehouse_update", "Update a lakehouse's name or description", {
48
+ workspaceId: z.string().describe("The workspace ID"),
49
+ lakehouseId: z.string().describe("The lakehouse ID"),
50
+ displayName: z.string().optional().describe("New display name"),
51
+ description: z.string().optional().describe("New description"),
52
+ }, async ({ workspaceId, lakehouseId, displayName, description }) => {
53
+ try {
54
+ const body = {};
55
+ if (displayName !== undefined)
56
+ body.displayName = displayName;
57
+ if (description !== undefined)
58
+ body.description = description;
59
+ const response = await fabricClient.patch(`/workspaces/${workspaceId}/lakehouses/${lakehouseId}`, body);
60
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
61
+ }
62
+ catch (error) {
63
+ return formatToolError(error);
64
+ }
65
+ });
66
+ server.tool("lakehouse_delete", "Delete a lakehouse", {
67
+ workspaceId: z.string().describe("The workspace ID"),
68
+ lakehouseId: z.string().describe("The lakehouse ID"),
69
+ }, async ({ workspaceId, lakehouseId }) => {
70
+ try {
71
+ await fabricClient.delete(`/workspaces/${workspaceId}/lakehouses/${lakehouseId}`);
72
+ return { content: [{ type: "text", text: `Lakehouse ${lakehouseId} deleted successfully` }] };
73
+ }
74
+ catch (error) {
75
+ return formatToolError(error);
76
+ }
77
+ });
78
+ server.tool("lakehouse_list_tables", "List all tables in a lakehouse", {
79
+ workspaceId: z.string().describe("The workspace ID"),
80
+ lakehouseId: z.string().describe("The lakehouse ID"),
81
+ }, async ({ workspaceId, lakehouseId }) => {
82
+ try {
83
+ const tables = await paginateAll(fabricClient, `/workspaces/${workspaceId}/lakehouses/${lakehouseId}/tables`, "data");
84
+ return { content: [{ type: "text", text: JSON.stringify(tables, null, 2) }] };
85
+ }
86
+ catch (error) {
87
+ return formatToolError(error);
88
+ }
89
+ });
90
+ server.tool("lakehouse_load_table", "Load data into a lakehouse table from a file path (long-running operation)", {
91
+ workspaceId: z.string().describe("The workspace ID"),
92
+ lakehouseId: z.string().describe("The lakehouse ID"),
93
+ tableName: z.string().describe("Target table name"),
94
+ relativePath: z.string().describe("Relative path to the source file in OneLake"),
95
+ pathType: z.enum(["File", "Folder"]).describe("Type of the source path"),
96
+ mode: z.enum(["Overwrite", "Append"]).optional().describe("Load mode (default: Overwrite)"),
97
+ formatOptions: z.object({
98
+ format: z.enum(["Csv", "Parquet", "Json"]).describe("File format"),
99
+ header: z.boolean().optional().describe("Whether CSV has a header row"),
100
+ delimiter: z.string().optional().describe("CSV delimiter character"),
101
+ }).optional().describe("Format options for the source file"),
102
+ }, async ({ workspaceId, lakehouseId, tableName, relativePath, pathType, mode, formatOptions }) => {
103
+ try {
104
+ const body = { relativePath, pathType };
105
+ if (mode)
106
+ body.mode = mode;
107
+ if (formatOptions)
108
+ body.formatOptions = formatOptions;
109
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/lakehouses/${lakehouseId}/tables/${tableName}/load`, body);
110
+ if (response.lro) {
111
+ const state = await pollOperation(fabricClient, response.lro.operationId);
112
+ return { content: [{ type: "text", text: JSON.stringify(state, null, 2) }] };
113
+ }
114
+ return { content: [{ type: "text", text: "Table load initiated successfully" }] };
115
+ }
116
+ catch (error) {
117
+ return formatToolError(error);
118
+ }
119
+ });
120
+ server.tool("lakehouse_get_sql_endpoint", "Get the SQL endpoint details for a lakehouse", {
121
+ workspaceId: z.string().describe("The workspace ID"),
122
+ lakehouseId: z.string().describe("The lakehouse ID"),
123
+ }, async ({ workspaceId, lakehouseId }) => {
124
+ try {
125
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/lakehouses/${lakehouseId}`);
126
+ const properties = response.data.properties;
127
+ const sqlEndpoint = properties?.sqlEndpointProperties;
128
+ if (!sqlEndpoint) {
129
+ return { content: [{ type: "text", text: "No SQL endpoint available for this lakehouse" }] };
130
+ }
131
+ return { content: [{ type: "text", text: JSON.stringify(sqlEndpoint, null, 2) }] };
132
+ }
133
+ catch (error) {
134
+ return formatToolError(error);
135
+ }
136
+ });
137
+ }
138
+ //# sourceMappingURL=lakehouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lakehouse.js","sourceRoot":"","sources":["../../src/tools/lakehouse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ export declare function registerNotebookTools(server: McpServer, fabricClient: FabricClient): void;
4
+ //# sourceMappingURL=notebook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/tools/notebook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAO1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAqOlF"}
@@ -0,0 +1,186 @@
1
+ import { z } from "zod";
2
+ import { formatToolError } from "../core/errors.js";
3
+ import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation, getOperationResult } from "../core/lro.js";
5
+ import { runOnDemandJob, getJobInstance, cancelJobInstance } from "../core/job-scheduler.js";
6
+ import { decodeBase64, encodeBase64 } from "../utils/base64.js";
7
+ export function registerNotebookTools(server, fabricClient) {
8
+ server.tool("notebook_list", "List all notebooks in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
9
+ try {
10
+ const notebooks = await paginateAll(fabricClient, `/workspaces/${workspaceId}/notebooks`);
11
+ return { content: [{ type: "text", text: JSON.stringify(notebooks, null, 2) }] };
12
+ }
13
+ catch (error) {
14
+ return formatToolError(error);
15
+ }
16
+ });
17
+ server.tool("notebook_get", "Get details of a specific notebook", {
18
+ workspaceId: z.string().describe("The workspace ID"),
19
+ notebookId: z.string().describe("The notebook ID"),
20
+ }, async ({ workspaceId, notebookId }) => {
21
+ try {
22
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/notebooks/${notebookId}`);
23
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
24
+ }
25
+ catch (error) {
26
+ return formatToolError(error);
27
+ }
28
+ });
29
+ server.tool("notebook_create", "Create a new notebook in a workspace (long-running operation)", {
30
+ workspaceId: z.string().describe("The workspace ID"),
31
+ displayName: z.string().describe("Display name for the notebook"),
32
+ description: z.string().optional().describe("Description of the notebook"),
33
+ }, async ({ workspaceId, displayName, description }) => {
34
+ try {
35
+ const body = { displayName };
36
+ if (description)
37
+ body.description = description;
38
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/notebooks`, body);
39
+ if (response.lro) {
40
+ const state = await pollOperation(fabricClient, response.lro.operationId);
41
+ const result = await getOperationResult(fabricClient, response.lro.operationId);
42
+ return { content: [{ type: "text", text: JSON.stringify({ operation: state, item: result ?? response.data }, null, 2) }] };
43
+ }
44
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
45
+ }
46
+ catch (error) {
47
+ return formatToolError(error);
48
+ }
49
+ });
50
+ server.tool("notebook_update", "Update a notebook's name or description", {
51
+ workspaceId: z.string().describe("The workspace ID"),
52
+ notebookId: z.string().describe("The notebook ID"),
53
+ displayName: z.string().optional().describe("New display name"),
54
+ description: z.string().optional().describe("New description"),
55
+ }, async ({ workspaceId, notebookId, displayName, description }) => {
56
+ try {
57
+ const body = {};
58
+ if (displayName !== undefined)
59
+ body.displayName = displayName;
60
+ if (description !== undefined)
61
+ body.description = description;
62
+ const response = await fabricClient.patch(`/workspaces/${workspaceId}/notebooks/${notebookId}`, body);
63
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
64
+ }
65
+ catch (error) {
66
+ return formatToolError(error);
67
+ }
68
+ });
69
+ server.tool("notebook_delete", "Delete a notebook", {
70
+ workspaceId: z.string().describe("The workspace ID"),
71
+ notebookId: z.string().describe("The notebook ID"),
72
+ }, async ({ workspaceId, notebookId }) => {
73
+ try {
74
+ await fabricClient.delete(`/workspaces/${workspaceId}/notebooks/${notebookId}`);
75
+ return { content: [{ type: "text", text: `Notebook ${notebookId} deleted successfully` }] };
76
+ }
77
+ catch (error) {
78
+ return formatToolError(error);
79
+ }
80
+ });
81
+ server.tool("notebook_get_definition", "Get the content/definition of a notebook (long-running, returns decoded content)", {
82
+ workspaceId: z.string().describe("The workspace ID"),
83
+ notebookId: z.string().describe("The notebook ID"),
84
+ }, async ({ workspaceId, notebookId }) => {
85
+ try {
86
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/notebooks/${notebookId}/getDefinition`);
87
+ if (response.lro) {
88
+ await pollOperation(fabricClient, response.lro.operationId);
89
+ const result = await getOperationResult(fabricClient, response.lro.operationId);
90
+ if (result?.definition) {
91
+ const definition = result.definition;
92
+ const decoded = definition.parts.map((part) => ({
93
+ path: part.path,
94
+ payload: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
95
+ payloadType: part.payloadType,
96
+ }));
97
+ return { content: [{ type: "text", text: JSON.stringify(decoded, null, 2) }] };
98
+ }
99
+ }
100
+ const data = response.data;
101
+ if (data?.definition) {
102
+ const definition = data.definition;
103
+ const decoded = definition.parts.map((part) => ({
104
+ path: part.path,
105
+ payload: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
106
+ payloadType: part.payloadType,
107
+ }));
108
+ return { content: [{ type: "text", text: JSON.stringify(decoded, null, 2) }] };
109
+ }
110
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
111
+ }
112
+ catch (error) {
113
+ return formatToolError(error);
114
+ }
115
+ });
116
+ server.tool("notebook_update_definition", "Update the content/definition of a notebook (long-running, accepts raw content that will be base64 encoded)", {
117
+ workspaceId: z.string().describe("The workspace ID"),
118
+ notebookId: z.string().describe("The notebook ID"),
119
+ content: z.string().describe("The notebook content (will be base64 encoded)"),
120
+ path: z.string().optional().describe("The definition part path (default: notebook-content.py)"),
121
+ }, async ({ workspaceId, notebookId, content, path }) => {
122
+ try {
123
+ const body = {
124
+ definition: {
125
+ parts: [
126
+ {
127
+ path: path ?? "notebook-content.py",
128
+ payload: encodeBase64(content),
129
+ payloadType: "InlineBase64",
130
+ },
131
+ ],
132
+ },
133
+ };
134
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/notebooks/${notebookId}/updateDefinition`, body);
135
+ if (response.lro) {
136
+ const state = await pollOperation(fabricClient, response.lro.operationId);
137
+ return { content: [{ type: "text", text: JSON.stringify(state, null, 2) }] };
138
+ }
139
+ return { content: [{ type: "text", text: "Notebook definition updated successfully" }] };
140
+ }
141
+ catch (error) {
142
+ return formatToolError(error);
143
+ }
144
+ });
145
+ server.tool("notebook_run", "Run a notebook on demand", {
146
+ workspaceId: z.string().describe("The workspace ID"),
147
+ notebookId: z.string().describe("The notebook ID"),
148
+ parameters: z.record(z.unknown()).optional().describe("Notebook parameters as key-value pairs"),
149
+ }, async ({ workspaceId, notebookId, parameters }) => {
150
+ try {
151
+ const executionData = parameters ? { parameters } : undefined;
152
+ const job = await runOnDemandJob(fabricClient, workspaceId, notebookId, "RunNotebook", executionData);
153
+ return { content: [{ type: "text", text: JSON.stringify(job, null, 2) }] };
154
+ }
155
+ catch (error) {
156
+ return formatToolError(error);
157
+ }
158
+ });
159
+ server.tool("notebook_get_run_status", "Get the status of a notebook run", {
160
+ workspaceId: z.string().describe("The workspace ID"),
161
+ notebookId: z.string().describe("The notebook ID"),
162
+ jobInstanceId: z.string().describe("The job instance ID from notebook_run"),
163
+ }, async ({ workspaceId, notebookId, jobInstanceId }) => {
164
+ try {
165
+ const job = await getJobInstance(fabricClient, workspaceId, notebookId, jobInstanceId);
166
+ return { content: [{ type: "text", text: JSON.stringify(job, null, 2) }] };
167
+ }
168
+ catch (error) {
169
+ return formatToolError(error);
170
+ }
171
+ });
172
+ server.tool("notebook_cancel_run", "Cancel a running notebook execution", {
173
+ workspaceId: z.string().describe("The workspace ID"),
174
+ notebookId: z.string().describe("The notebook ID"),
175
+ jobInstanceId: z.string().describe("The job instance ID to cancel"),
176
+ }, async ({ workspaceId, notebookId, jobInstanceId }) => {
177
+ try {
178
+ await cancelJobInstance(fabricClient, workspaceId, notebookId, jobInstanceId);
179
+ return { content: [{ type: "text", text: `Notebook run ${jobInstanceId} cancelled successfully` }] };
180
+ }
181
+ catch (error) {
182
+ return formatToolError(error);
183
+ }
184
+ });
185
+ }
186
+ //# sourceMappingURL=notebook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../src/tools/notebook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ export declare function registerPipelineTools(server: McpServer, fabricClient: FabricClient): void;
4
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAgRlF"}
@@ -0,0 +1,214 @@
1
+ import { z } from "zod";
2
+ import { formatToolError } from "../core/errors.js";
3
+ import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation, getOperationResult } from "../core/lro.js";
5
+ import { runOnDemandJob, getJobInstance, cancelJobInstance, listJobInstances } from "../core/job-scheduler.js";
6
+ export function registerPipelineTools(server, fabricClient) {
7
+ server.tool("pipeline_list", "List all data pipelines in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
8
+ try {
9
+ const pipelines = await paginateAll(fabricClient, `/workspaces/${workspaceId}/dataPipelines`);
10
+ return { content: [{ type: "text", text: JSON.stringify(pipelines, null, 2) }] };
11
+ }
12
+ catch (error) {
13
+ return formatToolError(error);
14
+ }
15
+ });
16
+ server.tool("pipeline_get", "Get details of a specific data pipeline", {
17
+ workspaceId: z.string().describe("The workspace ID"),
18
+ pipelineId: z.string().describe("The pipeline ID"),
19
+ }, async ({ workspaceId, pipelineId }) => {
20
+ try {
21
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/dataPipelines/${pipelineId}`);
22
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
23
+ }
24
+ catch (error) {
25
+ return formatToolError(error);
26
+ }
27
+ });
28
+ server.tool("pipeline_create", "Create a new data pipeline in a workspace", {
29
+ workspaceId: z.string().describe("The workspace ID"),
30
+ displayName: z.string().describe("Display name for the pipeline"),
31
+ description: z.string().optional().describe("Description of the pipeline"),
32
+ }, async ({ workspaceId, displayName, description }) => {
33
+ try {
34
+ const body = { displayName };
35
+ if (description)
36
+ body.description = description;
37
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/dataPipelines`, body);
38
+ if (response.lro) {
39
+ const state = await pollOperation(fabricClient, response.lro.operationId);
40
+ const result = await getOperationResult(fabricClient, response.lro.operationId);
41
+ return { content: [{ type: "text", text: JSON.stringify({ operation: state, item: result ?? response.data }, null, 2) }] };
42
+ }
43
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
44
+ }
45
+ catch (error) {
46
+ return formatToolError(error);
47
+ }
48
+ });
49
+ server.tool("pipeline_update", "Update a pipeline's name or description", {
50
+ workspaceId: z.string().describe("The workspace ID"),
51
+ pipelineId: z.string().describe("The pipeline ID"),
52
+ displayName: z.string().optional().describe("New display name"),
53
+ description: z.string().optional().describe("New description"),
54
+ }, async ({ workspaceId, pipelineId, displayName, description }) => {
55
+ try {
56
+ const body = {};
57
+ if (displayName !== undefined)
58
+ body.displayName = displayName;
59
+ if (description !== undefined)
60
+ body.description = description;
61
+ const response = await fabricClient.patch(`/workspaces/${workspaceId}/dataPipelines/${pipelineId}`, body);
62
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
63
+ }
64
+ catch (error) {
65
+ return formatToolError(error);
66
+ }
67
+ });
68
+ server.tool("pipeline_delete", "Delete a data pipeline", {
69
+ workspaceId: z.string().describe("The workspace ID"),
70
+ pipelineId: z.string().describe("The pipeline ID"),
71
+ }, async ({ workspaceId, pipelineId }) => {
72
+ try {
73
+ await fabricClient.delete(`/workspaces/${workspaceId}/dataPipelines/${pipelineId}`);
74
+ return { content: [{ type: "text", text: `Pipeline ${pipelineId} deleted successfully` }] };
75
+ }
76
+ catch (error) {
77
+ return formatToolError(error);
78
+ }
79
+ });
80
+ server.tool("pipeline_run", "Run a data pipeline on demand", {
81
+ workspaceId: z.string().describe("The workspace ID"),
82
+ pipelineId: z.string().describe("The pipeline ID"),
83
+ parameters: z.record(z.unknown()).optional().describe("Pipeline parameters as key-value pairs"),
84
+ }, async ({ workspaceId, pipelineId, parameters }) => {
85
+ try {
86
+ const executionData = parameters ? { parameters } : undefined;
87
+ const job = await runOnDemandJob(fabricClient, workspaceId, pipelineId, "Pipeline", executionData);
88
+ return { content: [{ type: "text", text: JSON.stringify(job, null, 2) }] };
89
+ }
90
+ catch (error) {
91
+ return formatToolError(error);
92
+ }
93
+ });
94
+ server.tool("pipeline_get_run_status", "Get the status of a pipeline run", {
95
+ workspaceId: z.string().describe("The workspace ID"),
96
+ pipelineId: z.string().describe("The pipeline ID"),
97
+ jobInstanceId: z.string().describe("The job instance ID from pipeline_run"),
98
+ }, async ({ workspaceId, pipelineId, jobInstanceId }) => {
99
+ try {
100
+ const job = await getJobInstance(fabricClient, workspaceId, pipelineId, jobInstanceId);
101
+ return { content: [{ type: "text", text: JSON.stringify(job, null, 2) }] };
102
+ }
103
+ catch (error) {
104
+ return formatToolError(error);
105
+ }
106
+ });
107
+ server.tool("pipeline_cancel_run", "Cancel a running pipeline execution", {
108
+ workspaceId: z.string().describe("The workspace ID"),
109
+ pipelineId: z.string().describe("The pipeline ID"),
110
+ jobInstanceId: z.string().describe("The job instance ID to cancel"),
111
+ }, async ({ workspaceId, pipelineId, jobInstanceId }) => {
112
+ try {
113
+ await cancelJobInstance(fabricClient, workspaceId, pipelineId, jobInstanceId);
114
+ return { content: [{ type: "text", text: `Pipeline run ${jobInstanceId} cancelled successfully` }] };
115
+ }
116
+ catch (error) {
117
+ return formatToolError(error);
118
+ }
119
+ });
120
+ server.tool("pipeline_list_runs", "List all run instances for a pipeline", {
121
+ workspaceId: z.string().describe("The workspace ID"),
122
+ pipelineId: z.string().describe("The pipeline ID"),
123
+ }, async ({ workspaceId, pipelineId }) => {
124
+ try {
125
+ const jobs = await listJobInstances(fabricClient, workspaceId, pipelineId);
126
+ return { content: [{ type: "text", text: JSON.stringify(jobs, null, 2) }] };
127
+ }
128
+ catch (error) {
129
+ return formatToolError(error);
130
+ }
131
+ });
132
+ // Schedule tools
133
+ server.tool("pipeline_list_schedules", "List all schedules for a pipeline", {
134
+ workspaceId: z.string().describe("The workspace ID"),
135
+ pipelineId: z.string().describe("The pipeline ID"),
136
+ }, async ({ workspaceId, pipelineId }) => {
137
+ try {
138
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/items/${pipelineId}/jobSchedules`);
139
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
140
+ }
141
+ catch (error) {
142
+ return formatToolError(error);
143
+ }
144
+ });
145
+ server.tool("pipeline_create_schedule", "Create a schedule for a pipeline", {
146
+ workspaceId: z.string().describe("The workspace ID"),
147
+ pipelineId: z.string().describe("The pipeline ID"),
148
+ startDateTime: z.string().describe("Schedule start date/time (ISO 8601)"),
149
+ endDateTime: z.string().optional().describe("Schedule end date/time (ISO 8601)"),
150
+ localTimeZoneId: z.string().optional().describe("Time zone ID (e.g., 'Eastern Standard Time')"),
151
+ type: z.enum(["Once", "Daily", "Weekly", "Monthly"]).describe("Schedule type"),
152
+ interval: z.number().optional().describe("Interval between runs"),
153
+ weekDays: z.array(z.string()).optional().describe("Days of the week for weekly schedules"),
154
+ times: z.array(z.string()).optional().describe("Times of day for the schedule (HH:mm format)"),
155
+ enabled: z.boolean().optional().describe("Whether the schedule is enabled (default: true)"),
156
+ }, async ({ workspaceId, pipelineId, startDateTime, endDateTime, localTimeZoneId, type, interval, weekDays, times, enabled }) => {
157
+ try {
158
+ const configuration = { type, startDateTime };
159
+ if (endDateTime)
160
+ configuration.endDateTime = endDateTime;
161
+ if (localTimeZoneId)
162
+ configuration.localTimeZoneId = localTimeZoneId;
163
+ if (interval)
164
+ configuration.interval = interval;
165
+ if (weekDays)
166
+ configuration.weekDays = weekDays;
167
+ if (times)
168
+ configuration.times = times;
169
+ const body = {
170
+ enabled: enabled ?? true,
171
+ configuration,
172
+ };
173
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${pipelineId}/jobSchedules`, body);
174
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
175
+ }
176
+ catch (error) {
177
+ return formatToolError(error);
178
+ }
179
+ });
180
+ server.tool("pipeline_update_schedule", "Update an existing pipeline schedule", {
181
+ workspaceId: z.string().describe("The workspace ID"),
182
+ pipelineId: z.string().describe("The pipeline ID"),
183
+ scheduleId: z.string().describe("The schedule ID to update"),
184
+ enabled: z.boolean().optional().describe("Whether the schedule is enabled"),
185
+ configuration: z.record(z.unknown()).optional().describe("Updated schedule configuration"),
186
+ }, async ({ workspaceId, pipelineId, scheduleId, enabled, configuration }) => {
187
+ try {
188
+ const body = {};
189
+ if (enabled !== undefined)
190
+ body.enabled = enabled;
191
+ if (configuration)
192
+ body.configuration = configuration;
193
+ const response = await fabricClient.patch(`/workspaces/${workspaceId}/items/${pipelineId}/jobSchedules/${scheduleId}`, body);
194
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
195
+ }
196
+ catch (error) {
197
+ return formatToolError(error);
198
+ }
199
+ });
200
+ server.tool("pipeline_delete_schedule", "Delete a pipeline schedule", {
201
+ workspaceId: z.string().describe("The workspace ID"),
202
+ pipelineId: z.string().describe("The pipeline ID"),
203
+ scheduleId: z.string().describe("The schedule ID to delete"),
204
+ }, async ({ workspaceId, pipelineId, scheduleId }) => {
205
+ try {
206
+ await fabricClient.delete(`/workspaces/${workspaceId}/items/${pipelineId}/jobSchedules/${scheduleId}`);
207
+ return { content: [{ type: "text", text: `Schedule ${scheduleId} deleted successfully` }] };
208
+ }
209
+ catch (error) {
210
+ return formatToolError(error);
211
+ }
212
+ });
213
+ }
214
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/tools/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ export declare function registerReflexTools(server: McpServer, fabricClient: FabricClient): void;
4
+ //# sourceMappingURL=reflex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflex.d.ts","sourceRoot":"","sources":["../../src/tools/reflex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QA0HhF"}