@einlogic/mcp-fabric-api 1.2.1 → 1.3.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 (61) hide show
  1. package/README.md +110 -7
  2. package/build/core/workspace-guard.d.ts +10 -0
  3. package/build/core/workspace-guard.d.ts.map +1 -0
  4. package/build/core/workspace-guard.js +36 -0
  5. package/build/core/workspace-guard.js.map +1 -0
  6. package/build/server.d.ts.map +1 -1
  7. package/build/server.js +15 -13
  8. package/build/server.js.map +1 -1
  9. package/build/tools/dataflow.d.ts +2 -1
  10. package/build/tools/dataflow.d.ts.map +1 -1
  11. package/build/tools/dataflow.js +4 -1
  12. package/build/tools/dataflow.js.map +1 -1
  13. package/build/tools/eventhouse.d.ts +2 -1
  14. package/build/tools/eventhouse.d.ts.map +1 -1
  15. package/build/tools/eventhouse.js +4 -1
  16. package/build/tools/eventhouse.js.map +1 -1
  17. package/build/tools/eventstream.d.ts +2 -1
  18. package/build/tools/eventstream.d.ts.map +1 -1
  19. package/build/tools/eventstream.js +12 -5
  20. package/build/tools/eventstream.js.map +1 -1
  21. package/build/tools/graphql-api.d.ts +2 -1
  22. package/build/tools/graphql-api.d.ts.map +1 -1
  23. package/build/tools/graphql-api.js +4 -1
  24. package/build/tools/graphql-api.js.map +1 -1
  25. package/build/tools/lakehouse.d.ts +2 -1
  26. package/build/tools/lakehouse.d.ts.map +1 -1
  27. package/build/tools/lakehouse.js +5 -1
  28. package/build/tools/lakehouse.js.map +1 -1
  29. package/build/tools/notebook.d.ts +2 -1
  30. package/build/tools/notebook.d.ts.map +1 -1
  31. package/build/tools/notebook.js +12 -5
  32. package/build/tools/notebook.js.map +1 -1
  33. package/build/tools/pipeline.d.ts +2 -1
  34. package/build/tools/pipeline.d.ts.map +1 -1
  35. package/build/tools/pipeline.js +7 -1
  36. package/build/tools/pipeline.js.map +1 -1
  37. package/build/tools/reflex.d.ts +2 -1
  38. package/build/tools/reflex.d.ts.map +1 -1
  39. package/build/tools/reflex.js +4 -1
  40. package/build/tools/reflex.js.map +1 -1
  41. package/build/tools/report.d.ts +2 -1
  42. package/build/tools/report.d.ts.map +1 -1
  43. package/build/tools/report.js +13 -5
  44. package/build/tools/report.js.map +1 -1
  45. package/build/tools/semantic-model.d.ts +2 -1
  46. package/build/tools/semantic-model.d.ts.map +1 -1
  47. package/build/tools/semantic-model.js +34 -19
  48. package/build/tools/semantic-model.js.map +1 -1
  49. package/build/tools/warehouse.d.ts +2 -1
  50. package/build/tools/warehouse.d.ts.map +1 -1
  51. package/build/tools/warehouse.js +4 -1
  52. package/build/tools/warehouse.js.map +1 -1
  53. package/build/tools/workspace.d.ts +2 -1
  54. package/build/tools/workspace.d.ts.map +1 -1
  55. package/build/tools/workspace.js +3 -1
  56. package/build/tools/workspace.js.map +1 -1
  57. package/build/utils/file-reader.d.ts +9 -0
  58. package/build/utils/file-reader.d.ts.map +1 -0
  59. package/build/utils/file-reader.js +67 -0
  60. package/build/utils/file-reader.js.map +1 -0
  61. package/package.json +1 -1
@@ -4,7 +4,8 @@ import { paginateAll } from "../core/pagination.js";
4
4
  import { pollOperation, getOperationResult } from "../core/lro.js";
5
5
  import { encodeBase64, decodeBase64 } from "../utils/base64.js";
6
6
  import { decodeTmdlParts, encodeTmdlParts, formatTmdlOutput } from "../utils/tmdl.js";
7
- export function registerSemanticModelTools(server, fabricClient, powerBIClient) {
7
+ import { resolveContentOrFile, resolveFilesOrDirectory } from "../utils/file-reader.js";
8
+ export function registerSemanticModelTools(server, fabricClient, powerBIClient, workspaceGuard) {
8
9
  server.tool("semantic_model_list", "List all semantic models in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
9
10
  try {
10
11
  const models = await paginateAll(fabricClient, `/workspaces/${workspaceId}/semanticModels`);
@@ -26,20 +27,23 @@ export function registerSemanticModelTools(server, fabricClient, powerBIClient)
26
27
  return formatToolError(error);
27
28
  }
28
29
  });
29
- server.tool("semantic_model_create", "Create a new semantic model with a BIM/JSON definition (long-running). Accepts the raw model.bim JSON string as the definition.", {
30
+ server.tool("semantic_model_create", "Create a new semantic model with a BIM/JSON definition (long-running). Accepts the raw model.bim JSON string inline or via file path.", {
30
31
  workspaceId: z.string().describe("The workspace ID"),
31
32
  displayName: z.string().describe("Display name for the semantic model"),
32
33
  description: z.string().optional().describe("Description of the semantic model"),
33
- definition: z.string().describe("The full model.bim JSON content as a string"),
34
- }, async ({ workspaceId, displayName, description, definition }) => {
34
+ definition: z.string().optional().describe("The full model.bim JSON content as a string"),
35
+ definitionFilePath: z.string().optional().describe("Path to a file containing the model.bim JSON (alternative to inline definition)"),
36
+ }, async ({ workspaceId, displayName, description, definition, definitionFilePath }) => {
35
37
  try {
38
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
39
+ const resolved = await resolveContentOrFile(definition, definitionFilePath, "definition");
36
40
  const body = {
37
41
  displayName,
38
42
  definition: {
39
43
  parts: [
40
44
  {
41
45
  path: "model.bim",
42
- payload: encodeBase64(definition),
46
+ payload: encodeBase64(resolved),
43
47
  payloadType: "InlineBase64",
44
48
  },
45
49
  {
@@ -64,18 +68,21 @@ export function registerSemanticModelTools(server, fabricClient, powerBIClient)
64
68
  return formatToolError(error);
65
69
  }
66
70
  });
67
- server.tool("semantic_model_create_tmdl", "Create a new semantic model with a TMDL definition (long-running). Accepts an array of TMDL files with path and content as the definition.", {
71
+ server.tool("semantic_model_create_tmdl", "Create a new semantic model with a TMDL definition (long-running). Accepts an array of TMDL files inline or a directory path containing .tmdl/.pbism files.", {
68
72
  workspaceId: z.string().describe("The workspace ID"),
69
73
  displayName: z.string().describe("Display name for the semantic model"),
70
74
  description: z.string().optional().describe("Description of the semantic model"),
71
75
  files: z.array(z.object({
72
76
  path: z.string().describe("The TMDL file path (e.g., 'model.tmdl', 'definition/tables/Sales.tmdl')"),
73
77
  content: z.string().describe("The TMDL file content"),
74
- })).describe("Array of TMDL files for the initial definition"),
75
- }, async ({ workspaceId, displayName, description, files }) => {
78
+ })).optional().describe("Array of TMDL files for the initial definition"),
79
+ filesDirectoryPath: z.string().optional().describe("Path to a directory containing TMDL files (alternative to inline files)"),
80
+ }, async ({ workspaceId, displayName, description, files, filesDirectoryPath }) => {
76
81
  try {
77
- const parts = encodeTmdlParts(files);
78
- if (!files.some((f) => f.path === "definition.pbism")) {
82
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
83
+ const resolved = await resolveFilesOrDirectory(files, filesDirectoryPath, [".tmdl", ".pbism"]);
84
+ const parts = encodeTmdlParts(resolved);
85
+ if (!resolved.some((f) => f.path === "definition.pbism")) {
79
86
  parts.push({
80
87
  path: "definition.pbism",
81
88
  payload: Buffer.from(JSON.stringify({ version: "4.0", settings: {} }), "utf-8").toString("base64"),
@@ -107,6 +114,7 @@ export function registerSemanticModelTools(server, fabricClient, powerBIClient)
107
114
  description: z.string().optional().describe("New description"),
108
115
  }, async ({ workspaceId, semanticModelId, displayName, description }) => {
109
116
  try {
117
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
110
118
  const body = {};
111
119
  if (displayName !== undefined)
112
120
  body.displayName = displayName;
@@ -124,6 +132,7 @@ export function registerSemanticModelTools(server, fabricClient, powerBIClient)
124
132
  semanticModelId: z.string().describe("The semantic model ID"),
125
133
  }, async ({ workspaceId, semanticModelId }) => {
126
134
  try {
135
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
127
136
  await fabricClient.delete(`/workspaces/${workspaceId}/semanticModels/${semanticModelId}`);
128
137
  return { content: [{ type: "text", text: `Semantic model ${semanticModelId} deleted successfully` }] };
129
138
  }
@@ -221,18 +230,21 @@ export function registerSemanticModelTools(server, fabricClient, powerBIClient)
221
230
  return formatToolError(error);
222
231
  }
223
232
  });
224
- server.tool("semantic_model_update_definition", "Update a semantic model's full definition from TMSL/BIM JSON (long-running). Accepts the raw model.bim JSON string.", {
233
+ server.tool("semantic_model_update_definition", "Update a semantic model's full definition from TMSL/BIM JSON (long-running). Accepts the raw model.bim JSON string inline or via file path.", {
225
234
  workspaceId: z.string().describe("The workspace ID"),
226
235
  semanticModelId: z.string().describe("The semantic model ID"),
227
- definition: z.string().describe("The full model.bim JSON content as a string"),
228
- }, async ({ workspaceId, semanticModelId, definition }) => {
236
+ definition: z.string().optional().describe("The full model.bim JSON content as a string"),
237
+ definitionFilePath: z.string().optional().describe("Path to a file containing the model.bim JSON (alternative to inline definition)"),
238
+ }, async ({ workspaceId, semanticModelId, definition, definitionFilePath }) => {
229
239
  try {
240
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
241
+ const resolved = await resolveContentOrFile(definition, definitionFilePath, "definition");
230
242
  const body = {
231
243
  definition: {
232
244
  parts: [
233
245
  {
234
246
  path: "model.bim",
235
- payload: encodeBase64(definition),
247
+ payload: encodeBase64(resolved),
236
248
  payloadType: "InlineBase64",
237
249
  },
238
250
  {
@@ -254,17 +266,20 @@ export function registerSemanticModelTools(server, fabricClient, powerBIClient)
254
266
  return formatToolError(error);
255
267
  }
256
268
  });
257
- server.tool("semantic_model_update_tmdl", "Update a semantic model's definition from TMDL files (long-running). Accepts an array of TMDL files with path and content. This is the primary tool for LLMs to create/modify semantic models.", {
269
+ server.tool("semantic_model_update_tmdl", "Update a semantic model's definition from TMDL files (long-running). Accepts an array of TMDL files inline or a directory path containing .tmdl/.pbism files.", {
258
270
  workspaceId: z.string().describe("The workspace ID"),
259
271
  semanticModelId: z.string().describe("The semantic model ID"),
260
272
  files: z.array(z.object({
261
273
  path: z.string().describe("The TMDL file path (e.g., 'model.tmdl', 'definition/tables/Sales.tmdl')"),
262
274
  content: z.string().describe("The TMDL file content"),
263
- })).describe("Array of TMDL files to upload"),
264
- }, async ({ workspaceId, semanticModelId, files }) => {
275
+ })).optional().describe("Array of TMDL files to upload"),
276
+ filesDirectoryPath: z.string().optional().describe("Path to a directory containing TMDL files (alternative to inline files)"),
277
+ }, async ({ workspaceId, semanticModelId, files, filesDirectoryPath }) => {
265
278
  try {
266
- const parts = encodeTmdlParts(files);
267
- if (!files.some((f) => f.path === "definition.pbism")) {
279
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
280
+ const resolved = await resolveFilesOrDirectory(files, filesDirectoryPath, [".tmdl", ".pbism"]);
281
+ const parts = encodeTmdlParts(resolved);
282
+ if (!resolved.some((f) => f.path === "definition.pbism")) {
268
283
  parts.push({
269
284
  path: "definition.pbism",
270
285
  payload: Buffer.from(JSON.stringify({ version: "4.0", settings: {} }), "utf-8").toString("base64"),
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-model.js","sourceRoot":"","sources":["../../src/tools/semantic-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-model.js","sourceRoot":"","sources":["../../src/tools/semantic-model.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { FabricClient } from "../client/fabric-client.js";
3
- export declare function registerWarehouseTools(server: McpServer, fabricClient: FabricClient): void;
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerWarehouseTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
4
5
  //# sourceMappingURL=warehouse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warehouse.d.ts","sourceRoot":"","sources":["../../src/tools/warehouse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAuInF"}
1
+ {"version":3,"file":"warehouse.d.ts","sourceRoot":"","sources":["../../src/tools/warehouse.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,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA0InH"}
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { formatToolError } from "../core/errors.js";
3
3
  import { paginateAll } from "../core/pagination.js";
4
4
  import { pollOperation, getOperationResult } from "../core/lro.js";
5
- export function registerWarehouseTools(server, fabricClient) {
5
+ export function registerWarehouseTools(server, fabricClient, workspaceGuard) {
6
6
  server.tool("warehouse_list", "List all warehouses in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
7
7
  try {
8
8
  const warehouses = await paginateAll(fabricClient, `/workspaces/${workspaceId}/warehouses`);
@@ -30,6 +30,7 @@ export function registerWarehouseTools(server, fabricClient) {
30
30
  description: z.string().optional().describe("Description of the warehouse"),
31
31
  }, async ({ workspaceId, displayName, description }) => {
32
32
  try {
33
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
33
34
  const body = { displayName };
34
35
  if (description)
35
36
  body.description = description;
@@ -52,6 +53,7 @@ export function registerWarehouseTools(server, fabricClient) {
52
53
  description: z.string().optional().describe("New description"),
53
54
  }, async ({ workspaceId, warehouseId, displayName, description }) => {
54
55
  try {
56
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
55
57
  const body = {};
56
58
  if (displayName !== undefined)
57
59
  body.displayName = displayName;
@@ -69,6 +71,7 @@ export function registerWarehouseTools(server, fabricClient) {
69
71
  warehouseId: z.string().describe("The warehouse ID"),
70
72
  }, async ({ workspaceId, warehouseId }) => {
71
73
  try {
74
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
72
75
  await fabricClient.delete(`/workspaces/${workspaceId}/warehouses/${warehouseId}`);
73
76
  return { content: [{ type: "text", text: `Warehouse ${warehouseId} deleted successfully` }] };
74
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"warehouse.js","sourceRoot":"","sources":["../../src/tools/warehouse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warehouse.js","sourceRoot":"","sources":["../../src/tools/warehouse.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { FabricClient } from "../client/fabric-client.js";
3
- export declare function registerWorkspaceTools(server: McpServer, fabricClient: FabricClient): void;
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerWorkspaceTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
4
5
  //# sourceMappingURL=workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAuGnF"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAyGnH"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { formatToolError } from "../core/errors.js";
3
3
  import { paginateAll } from "../core/pagination.js";
4
- export function registerWorkspaceTools(server, fabricClient) {
4
+ export function registerWorkspaceTools(server, fabricClient, workspaceGuard) {
5
5
  server.tool("workspace_list", "List all accessible Fabric workspaces", {}, async () => {
6
6
  try {
7
7
  const workspaces = await paginateAll(fabricClient, "/workspaces");
@@ -44,6 +44,7 @@ export function registerWorkspaceTools(server, fabricClient) {
44
44
  description: z.string().optional().describe("New description"),
45
45
  }, async ({ workspaceId, displayName, description }) => {
46
46
  try {
47
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
47
48
  const body = {};
48
49
  if (displayName !== undefined)
49
50
  body.displayName = displayName;
@@ -58,6 +59,7 @@ export function registerWorkspaceTools(server, fabricClient) {
58
59
  });
59
60
  server.tool("workspace_delete", "Delete a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
60
61
  try {
62
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
61
63
  await fabricClient.delete(`/workspaces/${workspaceId}`);
62
64
  return { content: [{ type: "text", text: `Workspace ${workspaceId} deleted successfully` }] };
63
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/tools/workspace.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;AAEpD,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,YAA0B;IAClF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,uCAAuC,EACvC,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qCAAqC,EACrC,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,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YACtE,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,kBAAkB,EAClB,+BAA+B,EAC/B;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACpE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B,EAAE,WAAW,EAAE,CAAC;YACtD,IAAI,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,IAAI,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9D,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,kBAAkB,EAClB,0CAA0C,EAC1C;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,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,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,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,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9E,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,kBAAkB,EAClB,oBAAoB,EACpB,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,YAAY,CAAC,MAAM,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,WAAW,uBAAuB,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,4DAA4D,EAC5D;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;KAClG,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,eAAe,WAAW,QAAQ,CAAC;YAC9C,IAAI,IAAI;gBAAE,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpD,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;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/tools/workspace.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;AAGpD,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,YAA0B,EAAE,cAA8B;IAClH,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,uCAAuC,EACvC,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qCAAqC,EACrC,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,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YACtE,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,kBAAkB,EAClB,+BAA+B,EAC/B;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACpE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B,EAAE,WAAW,EAAE,CAAC;YACtD,IAAI,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChD,IAAI,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9D,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,kBAAkB,EAClB,0CAA0C,EAC1C;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,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,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,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,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9E,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,kBAAkB,EAClB,oBAAoB,EACpB,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,cAAc,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACvE,MAAM,YAAY,CAAC,MAAM,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,WAAW,uBAAuB,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,4DAA4D,EAC5D;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;KAClG,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,eAAe,WAAW,QAAQ,CAAC;YAC9C,IAAI,IAAI;gBAAE,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpD,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;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface FileEntry {
2
+ path: string;
3
+ content: string;
4
+ }
5
+ export declare function readContentFromFile(filePath: string): Promise<string>;
6
+ export declare function readFilesFromDirectory(dirPath: string, extensions?: string[]): Promise<FileEntry[]>;
7
+ export declare function resolveContentOrFile(content: string | undefined, filePath: string | undefined, fieldName: string): Promise<string>;
8
+ export declare function resolveFilesOrDirectory(files: FileEntry[] | undefined, dirPath: string | undefined, extensions?: string[]): Promise<FileEntry[]>;
9
+ //# sourceMappingURL=file-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-reader.d.ts","sourceRoot":"","sources":["../../src/utils/file-reader.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO3E;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAmCtB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAWtB"}
@@ -0,0 +1,67 @@
1
+ import { readFile, readdir, stat } from "fs/promises";
2
+ import { resolve, relative, extname } from "path";
3
+ export async function readContentFromFile(filePath) {
4
+ const absolutePath = resolve(filePath);
5
+ const fileStat = await stat(absolutePath);
6
+ if (!fileStat.isFile()) {
7
+ throw new Error(`Path is not a file: ${absolutePath}`);
8
+ }
9
+ return readFile(absolutePath, "utf-8");
10
+ }
11
+ export async function readFilesFromDirectory(dirPath, extensions) {
12
+ const absolutePath = resolve(dirPath);
13
+ const dirStat = await stat(absolutePath);
14
+ if (!dirStat.isDirectory()) {
15
+ throw new Error(`Path is not a directory: ${absolutePath}`);
16
+ }
17
+ const entries = [];
18
+ const lowerExtensions = extensions?.map((e) => e.toLowerCase());
19
+ async function walk(dir) {
20
+ const items = await readdir(dir, { withFileTypes: true });
21
+ for (const item of items) {
22
+ const fullPath = resolve(dir, item.name);
23
+ if (item.isDirectory()) {
24
+ await walk(fullPath);
25
+ }
26
+ else if (item.isFile()) {
27
+ if (lowerExtensions && !lowerExtensions.includes(extname(item.name).toLowerCase())) {
28
+ continue;
29
+ }
30
+ const relPath = relative(absolutePath, fullPath).replace(/\\/g, "/");
31
+ const content = await readFile(fullPath, "utf-8");
32
+ entries.push({ path: relPath, content });
33
+ }
34
+ }
35
+ }
36
+ await walk(absolutePath);
37
+ if (entries.length === 0) {
38
+ const filterMsg = extensions ? ` matching extensions: ${extensions.join(", ")}` : "";
39
+ throw new Error(`No files found in directory: ${absolutePath}${filterMsg}`);
40
+ }
41
+ return entries;
42
+ }
43
+ export async function resolveContentOrFile(content, filePath, fieldName) {
44
+ if (content && filePath) {
45
+ throw new Error(`Provide either '${fieldName}' or '${fieldName}FilePath', not both`);
46
+ }
47
+ if (filePath) {
48
+ return readContentFromFile(filePath);
49
+ }
50
+ if (content) {
51
+ return content;
52
+ }
53
+ throw new Error(`Either '${fieldName}' or '${fieldName}FilePath' must be provided`);
54
+ }
55
+ export async function resolveFilesOrDirectory(files, dirPath, extensions) {
56
+ if (files && files.length > 0 && dirPath) {
57
+ throw new Error("Provide either 'files' or a directory path, not both");
58
+ }
59
+ if (dirPath) {
60
+ return readFilesFromDirectory(dirPath, extensions);
61
+ }
62
+ if (files && files.length > 0) {
63
+ return files;
64
+ }
65
+ throw new Error("Either 'files' or a directory path must be provided");
66
+ }
67
+ //# sourceMappingURL=file-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-reader.js","sourceRoot":"","sources":["../../src/utils/file-reader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@einlogic/mcp-fabric-api",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "MCP server for Microsoft Fabric REST APIs — enables data engineers and data analysts to use AI assistants beyond Copilot to build and manage Fabric components",
5
5
  "type": "module",
6
6
  "main": "build/index.js",