@einlogic/mcp-fabric-api 1.4.0 → 2.1.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 (78) hide show
  1. package/README.md +54 -42
  2. package/build/server.d.ts.map +1 -1
  3. package/build/server.js +19 -1
  4. package/build/server.js.map +1 -1
  5. package/build/tools/copy-job.d.ts +5 -0
  6. package/build/tools/copy-job.d.ts.map +1 -0
  7. package/build/tools/copy-job.js +144 -0
  8. package/build/tools/copy-job.js.map +1 -0
  9. package/build/tools/dataflow.d.ts.map +1 -1
  10. package/build/tools/dataflow.js +35 -0
  11. package/build/tools/dataflow.js.map +1 -1
  12. package/build/tools/deployment-pipeline.d.ts +5 -0
  13. package/build/tools/deployment-pipeline.d.ts.map +1 -0
  14. package/build/tools/deployment-pipeline.js +170 -0
  15. package/build/tools/deployment-pipeline.js.map +1 -0
  16. package/build/tools/eventstream.d.ts.map +1 -1
  17. package/build/tools/eventstream.js +18 -11
  18. package/build/tools/eventstream.js.map +1 -1
  19. package/build/tools/external-data-share.d.ts +5 -0
  20. package/build/tools/external-data-share.d.ts.map +1 -0
  21. package/build/tools/external-data-share.js +61 -0
  22. package/build/tools/external-data-share.js.map +1 -0
  23. package/build/tools/git-integration.d.ts +5 -0
  24. package/build/tools/git-integration.d.ts.map +1 -0
  25. package/build/tools/git-integration.js +159 -0
  26. package/build/tools/git-integration.js.map +1 -0
  27. package/build/tools/graphql-api.d.ts.map +1 -1
  28. package/build/tools/graphql-api.js +18 -10
  29. package/build/tools/graphql-api.js.map +1 -1
  30. package/build/tools/kql-database.d.ts +5 -0
  31. package/build/tools/kql-database.d.ts.map +1 -0
  32. package/build/tools/kql-database.js +154 -0
  33. package/build/tools/kql-database.js.map +1 -0
  34. package/build/tools/lakehouse.d.ts.map +1 -1
  35. package/build/tools/lakehouse.js +108 -1
  36. package/build/tools/lakehouse.js.map +1 -1
  37. package/build/tools/mirrored-database.d.ts +5 -0
  38. package/build/tools/mirrored-database.d.ts.map +1 -0
  39. package/build/tools/mirrored-database.js +199 -0
  40. package/build/tools/mirrored-database.js.map +1 -0
  41. package/build/tools/ml-experiment.d.ts +5 -0
  42. package/build/tools/ml-experiment.d.ts.map +1 -0
  43. package/build/tools/ml-experiment.js +83 -0
  44. package/build/tools/ml-experiment.js.map +1 -0
  45. package/build/tools/ml-model.d.ts +5 -0
  46. package/build/tools/ml-model.d.ts.map +1 -0
  47. package/build/tools/ml-model.js +83 -0
  48. package/build/tools/ml-model.js.map +1 -0
  49. package/build/tools/notebook.js +1 -1
  50. package/build/tools/notebook.js.map +1 -1
  51. package/build/tools/pipeline.d.ts.map +1 -1
  52. package/build/tools/pipeline.js +66 -0
  53. package/build/tools/pipeline.js.map +1 -1
  54. package/build/tools/reflex.d.ts.map +1 -1
  55. package/build/tools/reflex.js +51 -11
  56. package/build/tools/reflex.js.map +1 -1
  57. package/build/tools/report.d.ts.map +1 -1
  58. package/build/tools/report.js +55 -20
  59. package/build/tools/report.js.map +1 -1
  60. package/build/tools/semantic-model.d.ts.map +1 -1
  61. package/build/tools/semantic-model.js +87 -60
  62. package/build/tools/semantic-model.js.map +1 -1
  63. package/build/tools/variable-library.d.ts +5 -0
  64. package/build/tools/variable-library.d.ts.map +1 -0
  65. package/build/tools/variable-library.js +155 -0
  66. package/build/tools/variable-library.js.map +1 -0
  67. package/build/tools/warehouse.d.ts.map +1 -1
  68. package/build/tools/warehouse.js +66 -0
  69. package/build/tools/warehouse.js.map +1 -1
  70. package/build/utils/file-reader.d.ts +2 -0
  71. package/build/utils/file-reader.d.ts.map +1 -1
  72. package/build/utils/file-reader.js +19 -2
  73. package/build/utils/file-reader.js.map +1 -1
  74. package/build/utils/file-utils.d.ts +11 -0
  75. package/build/utils/file-utils.d.ts.map +1 -0
  76. package/build/utils/file-utils.js +84 -0
  77. package/build/utils/file-utils.js.map +1 -0
  78. package/package.json +29 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # mcp-fabric-api
2
2
 
3
- MCP (Model Context Protocol) server for the Microsoft Fabric REST APIs. Built for data engineers and data analysts who want to use AI assistants beyond Copilot — such as Claude, Claude Code, or any MCP-compatible client — to build and manage their Fabric components. Covers workspaces, lakehouses, warehouses, notebooks, pipelines, semantic models, reports, dataflows, eventhouses, eventstreams, reflexes, GraphQL APIs, and SQL endpoints.
3
+ MCP (Model Context Protocol) server for the Microsoft Fabric REST APIs. Built for data engineers and data analysts who want to use AI assistants beyond Copilot — such as Claude, Claude Code, or any MCP-compatible client — to build and manage their Fabric components. Covers workspaces, lakehouses, warehouses, notebooks, pipelines, semantic models, reports, dataflows, eventhouses, eventstreams, reflexes, GraphQL APIs, SQL endpoints, and variable libraries.
4
4
 
5
5
  > **Safe by default:** This server blocks all destructive operations (create, update, delete) until you explicitly configure the `WRITABLE_WORKSPACES` environment variable. Read operations always work. Set `WRITABLE_WORKSPACES="*"` to allow writes to all workspaces, or use patterns to limit access. See [Workspace Safety Guard](#workspace-safety-guard) for details.
6
6
 
@@ -99,7 +99,7 @@ WRITABLE_WORKSPACES=*-Dev,*-Test,Sandbox*
99
99
  - `Sandbox*` matches "Sandbox-123", "Sandbox-Mike"
100
100
  - `Exact-Name` matches only "Exact-Name" (case-insensitive)
101
101
 
102
- **Guarded tools (47 total)** — every tool that creates, updates, or deletes workspace items:
102
+ **Guarded tools (51 total)** — every tool that creates, updates, or deletes workspace items:
103
103
 
104
104
  | Domain | Guarded tools |
105
105
  |--------|--------------|
@@ -108,15 +108,16 @@ WRITABLE_WORKSPACES=*-Dev,*-Test,Sandbox*
108
108
  | Warehouse | `warehouse_create`, `warehouse_update`, `warehouse_delete` |
109
109
  | Notebook | `notebook_create`, `notebook_update`, `notebook_delete`, `notebook_update_definition` |
110
110
  | Pipeline | `pipeline_create`, `pipeline_update`, `pipeline_delete`, `pipeline_create_schedule`, `pipeline_update_schedule`, `pipeline_delete_schedule` |
111
- | Semantic Model | `semantic_model_create`, `semantic_model_create_tmdl`, `semantic_model_update`, `semantic_model_delete`, `semantic_model_update_definition`, `semantic_model_update_tmdl` |
111
+ | Semantic Model | `semantic_model_create_bim`, `semantic_model_create_tmdl`, `semantic_model_update_details`, `semantic_model_delete`, `semantic_model_update_bim`, `semantic_model_update_tmdl` |
112
112
  | Report | `report_create`, `report_update`, `report_delete`, `report_clone`, `report_update_definition` |
113
113
  | Dataflow | `dataflow_create`, `dataflow_update`, `dataflow_delete` |
114
114
  | Eventhouse | `eventhouse_create`, `eventhouse_update`, `eventhouse_delete` |
115
115
  | Eventstream | `eventstream_create`, `eventstream_update`, `eventstream_delete`, `eventstream_update_definition` |
116
116
  | Reflex | `reflex_create`, `reflex_update`, `reflex_delete` |
117
117
  | GraphQL API | `graphql_api_create`, `graphql_api_update`, `graphql_api_delete` |
118
+ | Variable Library | `variable_library_create`, `variable_library_update`, `variable_library_delete`, `variable_library_update_definition` |
118
119
 
119
- **Not guarded:** Read operations (list, get, get_definition, get_status), query execution (DAX, KQL, SQL, GraphQL), run/refresh/cancel operations, and export operations.
120
+ **Not guarded:** Read operations (list, get, get_definition, get_bim, get_tmdl), query execution (DAX, KQL, SQL, GraphQL), run/refresh/cancel operations, and export operations.
120
121
 
121
122
  **Claude Desktop config with guard:**
122
123
  ```json
@@ -148,35 +149,35 @@ WRITABLE_WORKSPACES is not configured. Destructive actions are blocked by defaul
148
149
  Workspace "Production-Analytics" is not in the writable workspaces list. Allowed patterns: *-Dev, *-Test, Sandbox*
149
150
  ```
150
151
 
151
- ### File Path References
152
+ ### File-Based I/O
152
153
 
153
- Some tools accept large payloads (notebook code, model.bim JSON, TMDL files, report definitions) that may exceed message size limits. Instead of passing content inline, you can write payloads to local files and pass file paths.
154
+ To avoid large payloads overwhelming MCP clients, definition tools use file paths instead of inline content. The server reads files from disk when sending definitions to Fabric, and writes files to disk when retrieving definitions from Fabric.
154
155
 
155
- **Single-content tools** — use `contentFilePath` or `definitionFilePath` instead of inline content:
156
+ **Input tools** — the server reads definition files from the specified path and uploads to Fabric:
156
157
 
157
- | Tool | File path parameter |
158
- |------|-------------------|
159
- | `notebook_update_definition` | `contentFilePath` |
160
- | `semantic_model_create` | `definitionFilePath` |
161
- | `semantic_model_update_definition` | `definitionFilePath` |
162
- | `eventstream_update_definition` | `contentFilePath` |
158
+ | Tool | Parameter | Description |
159
+ |------|-----------|-------------|
160
+ | `semantic_model_create_bim` | `definitionFilePath` | Path to model.bim JSON file |
161
+ | `semantic_model_update_bim` | `definitionFilePath` | Path to model.bim JSON file |
162
+ | `semantic_model_create_tmdl` | `filesDirectoryPath` | Directory of `.tmdl` and `.pbism` files |
163
+ | `semantic_model_update_tmdl` | `filesDirectoryPath` | Directory of `.tmdl` and `.pbism` files |
164
+ | `notebook_update_definition` | `contentFilePath` | Path to notebook content file (or inline `content`) |
165
+ | `eventstream_update_definition` | `contentFilePath` | Path to eventstream definition (or inline `content`) |
166
+ | `report_update_definition` | `partsDirectoryPath` | Directory of report definition files (or inline `parts`) |
167
+ | `variable_library_create` | `definitionDirectoryPath` | Directory of `.json` and `.platform` files |
168
+ | `variable_library_update_definition` | `definitionDirectoryPath` | Directory of `.json` and `.platform` files |
163
169
 
164
- **Multi-file tools** — use `filesDirectoryPath` or `partsDirectoryPath` instead of inline file arrays:
170
+ **Output tools** — the server retrieves definitions from Fabric and writes them to disk:
165
171
 
166
- | Tool | Directory path parameter | Extension filter |
167
- |------|------------------------|-----------------|
168
- | `semantic_model_create_tmdl` | `filesDirectoryPath` | `.tmdl`, `.pbism` |
169
- | `semantic_model_update_tmdl` | `filesDirectoryPath` | `.tmdl`, `.pbism` |
170
- | `report_update_definition` | `partsDirectoryPath` | all files |
171
-
172
- **Example inline vs file path:**
173
- ```json
174
- // Inline (may hit size limits)
175
- { "content": "# Notebook code\nprint('hello')" }
176
-
177
- // File path reference
178
- { "contentFilePath": "/tmp/notebook-content.py" }
179
- ```
172
+ | Tool | Parameter | What gets written |
173
+ |------|-----------|-------------------|
174
+ | `semantic_model_get_bim` | `outputFilePath` | Single `model.bim` JSON file |
175
+ | `semantic_model_get_tmdl` | `outputDirectoryPath` | TMDL files preserving folder structure |
176
+ | `report_get_definition` | `outputDirectoryPath` | Report definition files (report.json, pages, visuals) |
177
+ | `eventstream_get_definition` | `outputDirectoryPath` | Eventstream definition files |
178
+ | `graphql_api_get_definition` | `outputDirectoryPath` | GraphQL schema definition files |
179
+ | `reflex_get_definition` | `outputDirectoryPath` | Reflex definition files |
180
+ | `variable_library_get_definition` | `outputDirectoryPath` | Variable library files (variables.json, valueSets/) |
180
181
 
181
182
  **TMDL directory structure example:**
182
183
  ```
@@ -202,7 +203,7 @@ npm run dev # Watch mode
202
203
  npm run inspect # Launch MCP Inspector
203
204
  ```
204
205
 
205
- ## Tools (98 total)
206
+ ## Tools (116 total)
206
207
 
207
208
  ### Auth (4 tools)
208
209
  | Tool | Description |
@@ -281,17 +282,17 @@ npm run inspect # Launch MCP Inspector
281
282
  | Tool | Description |
282
283
  |------|-------------|
283
284
  | `semantic_model_list` | List all semantic models |
284
- | `semantic_model_get` | Get semantic model details |
285
- | `semantic_model_create` | Create a semantic model with a BIM/JSON definition (LRO, supports file path reference) |
286
- | `semantic_model_create_tmdl` | Create a semantic model with a TMDL definition (LRO, supports directory path reference) |
287
- | `semantic_model_update` | Update semantic model name or description |
285
+ | `semantic_model_get_details` | Get semantic model metadata (name, ID, description) — does not return the definition |
286
+ | `semantic_model_create_bim` | Create a semantic model from a BIM/JSON file (LRO). Reads `model.bim` from `definitionFilePath` |
287
+ | `semantic_model_create_tmdl` | Create a semantic model from TMDL files (LRO). Reads `.tmdl`/`.pbism` from `filesDirectoryPath` |
288
+ | `semantic_model_update_details` | Update semantic model name or description — does not modify the definition |
288
289
  | `semantic_model_delete` | Delete a semantic model |
289
290
  | `semantic_model_refresh` | Trigger a model refresh (Power BI API) |
290
291
  | `semantic_model_execute_dax` | Execute a DAX query (Power BI API) |
291
- | `semantic_model_get_definition` | Get model definition in TMSL/BIM JSON format (LRO) |
292
- | `semantic_model_get_tmdl` | Get model definition in TMDL format (LRO) |
293
- | `semantic_model_update_definition` | Update model definition from TMSL/BIM JSON (LRO, supports file path reference) |
294
- | `semantic_model_update_tmdl` | Update model definition from TMDL files (LRO, supports directory path reference) |
292
+ | `semantic_model_get_bim` | Get definition in BIM/JSON format (LRO). Writes `model.bim` to `outputFilePath` |
293
+ | `semantic_model_get_tmdl` | Get definition in TMDL format (LRO). Writes TMDL files to `outputDirectoryPath` |
294
+ | `semantic_model_update_bim` | Update definition from BIM/JSON file (LRO). Reads `model.bim` from `definitionFilePath` |
295
+ | `semantic_model_update_tmdl` | Update definition from TMDL files (LRO). Reads `.tmdl`/`.pbism` from `filesDirectoryPath` |
295
296
 
296
297
  ### Report (10 tools)
297
298
  | Tool | Description |
@@ -304,8 +305,8 @@ npm run inspect # Launch MCP Inspector
304
305
  | `report_clone` | Clone a report (Power BI API) |
305
306
  | `report_export` | Export report to file format (Power BI API) |
306
307
  | `report_get_export_status` | Check report export status |
307
- | `report_get_definition` | Get report definition in PBIR or PBIR-Legacy format (LRO) |
308
- | `report_update_definition` | Update report definition from parts (LRO, supports directory path reference) |
308
+ | `report_get_definition` | Get report definition (LRO). Writes files to `outputDirectoryPath` |
309
+ | `report_update_definition` | Update report definition from parts or directory (LRO) |
309
310
 
310
311
  ### Dataflow Gen2 (7 tools)
311
312
  | Tool | Description |
@@ -337,7 +338,7 @@ npm run inspect # Launch MCP Inspector
337
338
  | `eventstream_create` | Create a new eventstream (LRO) |
338
339
  | `eventstream_update` | Update eventstream name or description |
339
340
  | `eventstream_delete` | Delete an eventstream |
340
- | `eventstream_get_definition` | Get eventstream definition (decoded) |
341
+ | `eventstream_get_definition` | Get eventstream definition (LRO). Writes files to `outputDirectoryPath` |
341
342
  | `eventstream_update_definition` | Update eventstream definition (supports file path reference) |
342
343
 
343
344
  ### Reflex / Activator (6 tools)
@@ -348,7 +349,7 @@ npm run inspect # Launch MCP Inspector
348
349
  | `reflex_create` | Create a new reflex |
349
350
  | `reflex_update` | Update reflex name or description |
350
351
  | `reflex_delete` | Delete a reflex |
351
- | `reflex_get_definition` | Get reflex definition (decoded) |
352
+ | `reflex_get_definition` | Get reflex definition (LRO). Writes files to `outputDirectoryPath` |
352
353
 
353
354
  ### GraphQL API (7 tools)
354
355
  | Tool | Description |
@@ -358,7 +359,7 @@ npm run inspect # Launch MCP Inspector
358
359
  | `graphql_api_create` | Create a new GraphQL API |
359
360
  | `graphql_api_update` | Update GraphQL API name or description |
360
361
  | `graphql_api_delete` | Delete a GraphQL API |
361
- | `graphql_api_get_definition` | Get GraphQL schema definition |
362
+ | `graphql_api_get_definition` | Get GraphQL schema definition (LRO). Writes files to `outputDirectoryPath` |
362
363
  | `graphql_api_execute_query` | Execute a GraphQL query |
363
364
 
364
365
  ### SQL Endpoint (4 tools)
@@ -369,6 +370,17 @@ npm run inspect # Launch MCP Inspector
369
370
  | `sql_endpoint_get_connection_string` | Get TDS connection string |
370
371
  | `sql_endpoint_execute_query` | Execute a T-SQL query against a SQL endpoint |
371
372
 
373
+ ### Variable Library (7 tools)
374
+ | Tool | Description |
375
+ |------|-------------|
376
+ | `variable_library_list` | List all variable libraries in a workspace |
377
+ | `variable_library_get` | Get variable library details including active value set name |
378
+ | `variable_library_create` | Create a variable library, optionally with definition files from `definitionDirectoryPath` (LRO) |
379
+ | `variable_library_update` | Update name, description, or active value set |
380
+ | `variable_library_delete` | Delete a variable library |
381
+ | `variable_library_get_definition` | Get definition (LRO). Writes files (variables.json, valueSets/) to `outputDirectoryPath` |
382
+ | `variable_library_update_definition` | Update definition from directory of `.json` and `.platform` files (LRO) |
383
+
372
384
  ## License
373
385
 
374
386
  AGPL-3.0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAqBvD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CA8BrE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA8BvD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAuCrE"}
package/build/server.js CHANGED
@@ -15,14 +15,23 @@ import { registerReflexTools } from "./tools/reflex.js";
15
15
  import { registerGraphQLApiTools } from "./tools/graphql-api.js";
16
16
  import { registerWarehouseTools } from "./tools/warehouse.js";
17
17
  import { registerSqlEndpointTools } from "./tools/sql-endpoint.js";
18
+ import { registerVariableLibraryTools } from "./tools/variable-library.js";
18
19
  import { registerAuthTools } from "./tools/auth.js";
20
+ import { registerGitIntegrationTools } from "./tools/git-integration.js";
21
+ import { registerDeploymentPipelineTools } from "./tools/deployment-pipeline.js";
22
+ import { registerMirroredDatabaseTools } from "./tools/mirrored-database.js";
23
+ import { registerKqlDatabaseTools } from "./tools/kql-database.js";
24
+ import { registerMlModelTools } from "./tools/ml-model.js";
25
+ import { registerMlExperimentTools } from "./tools/ml-experiment.js";
26
+ import { registerCopyJobTools } from "./tools/copy-job.js";
27
+ import { registerExternalDataShareTools } from "./tools/external-data-share.js";
19
28
  import { SqlClient } from "./client/sql-client.js";
20
29
  import { KustoClient } from "./client/kusto-client.js";
21
30
  import { WorkspaceGuard } from "./core/workspace-guard.js";
22
31
  export function createServer(options) {
23
32
  const server = new McpServer({
24
33
  name: "mcp-fabric-api",
25
- version: "1.3.0",
34
+ version: "2.1.0",
26
35
  });
27
36
  const tokenManager = options?.tokenManager ?? new TokenManager();
28
37
  const fabricClient = new FabricClient(tokenManager);
@@ -44,6 +53,15 @@ export function createServer(options) {
44
53
  registerReflexTools(server, fabricClient, workspaceGuard);
45
54
  registerGraphQLApiTools(server, fabricClient, powerBIClient, workspaceGuard);
46
55
  registerSqlEndpointTools(server, fabricClient, sqlClient);
56
+ registerVariableLibraryTools(server, fabricClient, workspaceGuard);
57
+ registerGitIntegrationTools(server, fabricClient, workspaceGuard);
58
+ registerDeploymentPipelineTools(server, fabricClient, workspaceGuard);
59
+ registerMirroredDatabaseTools(server, fabricClient, workspaceGuard);
60
+ registerKqlDatabaseTools(server, fabricClient, workspaceGuard);
61
+ registerMlModelTools(server, fabricClient, workspaceGuard);
62
+ registerMlExperimentTools(server, fabricClient, workspaceGuard);
63
+ registerCopyJobTools(server, fabricClient, workspaceGuard);
64
+ registerExternalDataShareTools(server, fabricClient, workspaceGuard);
47
65
  registerAuthTools(server, tokenManager);
48
66
  return server;
49
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAM3D,MAAM,UAAU,YAAY,CAAC,OAA6B;IACxD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,YAAY,EAAE,CAAC;IACjE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAE5C,4BAA4B;IAC5B,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5D,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5D,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAChF,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACzE,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5D,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC3E,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC/D,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC1D,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC7E,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC1D,4BAA4B,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACnE,2BAA2B,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAClE,+BAA+B,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACtE,6BAA6B,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACpE,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC/D,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3D,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAChE,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3D,8BAA8B,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACrE,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerCopyJobTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
5
+ //# sourceMappingURL=copy-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-job.d.ts","sourceRoot":"","sources":["../../src/tools/copy-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA6KjH"}
@@ -0,0 +1,144 @@
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 { encodeBase64, decodeBase64 } from "../utils/base64.js";
6
+ import { resolveFilesOrDirectory, writeFilesToDirectory } from "../utils/file-utils.js";
7
+ export function registerCopyJobTools(server, fabricClient, workspaceGuard) {
8
+ server.tool("copy_job_list", "List all copy jobs in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
9
+ try {
10
+ const items = await paginateAll(fabricClient, `/workspaces/${workspaceId}/items?type=CopyJob`);
11
+ return { content: [{ type: "text", text: JSON.stringify(items, null, 2) }] };
12
+ }
13
+ catch (error) {
14
+ return formatToolError(error);
15
+ }
16
+ });
17
+ server.tool("copy_job_get", "Get details of a specific copy job", {
18
+ workspaceId: z.string().describe("The workspace ID"),
19
+ copyJobId: z.string().describe("The copy job ID"),
20
+ }, async ({ workspaceId, copyJobId }) => {
21
+ try {
22
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/items/${copyJobId}`);
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("copy_job_create", "Create a new copy job in a workspace", {
30
+ workspaceId: z.string().describe("The workspace ID"),
31
+ displayName: z.string().describe("Display name for the copy job"),
32
+ description: z.string().optional().describe("Description of the copy job"),
33
+ }, async ({ workspaceId, displayName, description }) => {
34
+ try {
35
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
36
+ const body = { displayName, type: "CopyJob" };
37
+ if (description)
38
+ body.description = description;
39
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items`, body);
40
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
41
+ }
42
+ catch (error) {
43
+ return formatToolError(error);
44
+ }
45
+ });
46
+ server.tool("copy_job_update", "Update a copy job's name or description", {
47
+ workspaceId: z.string().describe("The workspace ID"),
48
+ copyJobId: z.string().describe("The copy job ID"),
49
+ displayName: z.string().optional().describe("New display name"),
50
+ description: z.string().optional().describe("New description"),
51
+ }, async ({ workspaceId, copyJobId, displayName, description }) => {
52
+ try {
53
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
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}/items/${copyJobId}`, 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("copy_job_delete", "Delete a copy job", {
67
+ workspaceId: z.string().describe("The workspace ID"),
68
+ copyJobId: z.string().describe("The copy job ID"),
69
+ }, async ({ workspaceId, copyJobId }) => {
70
+ try {
71
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
72
+ await fabricClient.delete(`/workspaces/${workspaceId}/items/${copyJobId}`);
73
+ return { content: [{ type: "text", text: `Copy job ${copyJobId} deleted successfully` }] };
74
+ }
75
+ catch (error) {
76
+ return formatToolError(error);
77
+ }
78
+ });
79
+ server.tool("copy_job_get_definition", "Get the definition of a copy job (long-running). Writes definition files to the specified output directory.", {
80
+ workspaceId: z.string().describe("The workspace ID"),
81
+ copyJobId: z.string().describe("The copy job ID"),
82
+ outputDirectoryPath: z.string().describe("Directory path where definition files will be written"),
83
+ }, async ({ workspaceId, copyJobId, outputDirectoryPath }) => {
84
+ try {
85
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${copyJobId}/getDefinition`);
86
+ let parts;
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
+ parts = result.definition.parts;
92
+ }
93
+ }
94
+ if (!parts && response.data?.definition) {
95
+ parts = response.data.definition.parts;
96
+ }
97
+ if (!parts) {
98
+ return { content: [{ type: "text", text: "No definition returned from Fabric API" }], isError: true };
99
+ }
100
+ const files = parts.map((part) => ({
101
+ path: part.path,
102
+ content: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
103
+ }));
104
+ const written = await writeFilesToDirectory(outputDirectoryPath, files);
105
+ return { content: [{ type: "text", text: `Copy job definition written to: ${outputDirectoryPath}\nFiles:\n${written.map((f) => ` ${f}`).join("\n")}` }] };
106
+ }
107
+ catch (error) {
108
+ return formatToolError(error);
109
+ }
110
+ });
111
+ server.tool("copy_job_update_definition", "Update a copy job's definition (long-running). Accepts definition parts inline or a directory path.", {
112
+ workspaceId: z.string().describe("The workspace ID"),
113
+ copyJobId: z.string().describe("The copy job ID"),
114
+ parts: z.array(z.object({
115
+ path: z.string().describe("The definition part path"),
116
+ content: z.string().describe("The file content as a string"),
117
+ })).optional().describe("Array of definition parts to upload"),
118
+ partsDirectoryPath: z.string().optional().describe("Path to a directory containing definition files"),
119
+ }, async ({ workspaceId, copyJobId, parts, partsDirectoryPath }) => {
120
+ try {
121
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
122
+ const resolved = await resolveFilesOrDirectory(parts, partsDirectoryPath);
123
+ const body = {
124
+ definition: {
125
+ parts: resolved.map((part) => ({
126
+ path: part.path,
127
+ payload: encodeBase64(part.content),
128
+ payloadType: "InlineBase64",
129
+ })),
130
+ },
131
+ };
132
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${copyJobId}/updateDefinition`, body);
133
+ if (response.lro) {
134
+ const state = await pollOperation(fabricClient, response.lro.operationId);
135
+ return { content: [{ type: "text", text: JSON.stringify(state, null, 2) }] };
136
+ }
137
+ return { content: [{ type: "text", text: "Copy job definition updated successfully" }] };
138
+ }
139
+ catch (error) {
140
+ return formatToolError(error);
141
+ }
142
+ });
143
+ }
144
+ //# sourceMappingURL=copy-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-job.js","sourceRoot":"","sources":["../../src/tools/copy-job.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAgIlH"}
1
+ {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAwKlH"}
@@ -1,7 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { formatToolError } from "../core/errors.js";
3
3
  import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation, getOperationResult } from "../core/lro.js";
5
+ import { decodeBase64 } from "../utils/base64.js";
4
6
  import { runOnDemandJob, getJobInstance } from "../core/job-scheduler.js";
7
+ import { writeFilesToDirectory } from "../utils/file-utils.js";
5
8
  export function registerDataflowTools(server, fabricClient, workspaceGuard) {
6
9
  server.tool("dataflow_list", "List all Dataflow Gen2 items in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
7
10
  try {
@@ -99,5 +102,37 @@ export function registerDataflowTools(server, fabricClient, workspaceGuard) {
99
102
  return formatToolError(error);
100
103
  }
101
104
  });
105
+ server.tool("dataflow_get_definition", "Get the definition of a Dataflow Gen2 item (long-running). Writes definition files to the specified output directory.", {
106
+ workspaceId: z.string().describe("The workspace ID"),
107
+ dataflowId: z.string().describe("The dataflow ID"),
108
+ outputDirectoryPath: z.string().describe("Directory path where definition files will be written"),
109
+ }, async ({ workspaceId, dataflowId, outputDirectoryPath }) => {
110
+ try {
111
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${dataflowId}/getDefinition`);
112
+ let parts;
113
+ if (response.lro) {
114
+ await pollOperation(fabricClient, response.lro.operationId);
115
+ const result = await getOperationResult(fabricClient, response.lro.operationId);
116
+ if (result?.definition) {
117
+ parts = result.definition.parts;
118
+ }
119
+ }
120
+ if (!parts && response.data?.definition) {
121
+ parts = response.data.definition.parts;
122
+ }
123
+ if (!parts) {
124
+ return { content: [{ type: "text", text: "No definition returned from Fabric API" }], isError: true };
125
+ }
126
+ const files = parts.map((part) => ({
127
+ path: part.path,
128
+ content: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
129
+ }));
130
+ const written = await writeFilesToDirectory(outputDirectoryPath, files);
131
+ return { content: [{ type: "text", text: `Dataflow definition written to: ${outputDirectoryPath}\nFiles:\n${written.map((f) => ` ${f}`).join("\n")}` }] };
132
+ }
133
+ catch (error) {
134
+ return formatToolError(error);
135
+ }
136
+ });
102
137
  }
103
138
  //# sourceMappingURL=dataflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,YAA0B,EAAE,cAA8B;IACjH,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6CAA6C,EAC7C,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EACxD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,eAAe,WAAW,0BAA0B,CAAC,CAAC;YACpG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,8CAA8C,EAC9C;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACnD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,eAAe,WAAW,UAAU,UAAU,EAAE,CAAC,CAAC;YAC1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,gDAAgD,EAChD;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACjE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KAC3E,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACvE,MAAM,IAAI,GAA4B,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC5E,IAAI,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,eAAe,WAAW,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,mDAAmD,EACnD;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KAC/D,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACvE,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC9D,IAAI,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,eAAe,WAAW,UAAU,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;YAClG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,6BAA6B,EAC7B;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACnD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACvE,MAAM,YAAY,CAAC,MAAM,CAAC,eAAe,WAAW,UAAU,UAAU,EAAE,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,UAAU,uBAAuB,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,2CAA2C,EAC3C;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACnD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,0CAA0C,EAC1C;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAClD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KAChF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,uHAAuH,EACvH;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAClD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KAClG,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CACtC,eAAe,WAAW,UAAU,UAAU,gBAAgB,CAC/D,CAAC;YAEF,IAAI,KAA4B,CAAC;YACjC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAA0B,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzG,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;oBACvB,KAAK,GAAI,MAAM,CAAC,UAAmC,CAAC,KAAK,CAAC;gBAC5D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;gBACxC,KAAK,GAAI,QAAQ,CAAC,IAAI,CAAC,UAAmC,CAAC,KAAK,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACxG,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;aACzF,CAAC,CAAC,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,mBAAmB,aAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7J,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerDeploymentPipelineTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
5
+ //# sourceMappingURL=deployment-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/deployment-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA+N5H"}