mcp-dataverse 0.3.8 → 0.3.9

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 (208) hide show
  1. package/CAPABILITIES.md +1039 -1039
  2. package/LICENSE +21 -21
  3. package/README.md +114 -105
  4. package/dist/auth-provider.factory-MSMLSOX3.js +1 -0
  5. package/dist/chunk-24RDOMG4.js +29 -0
  6. package/dist/chunk-OXKMMPM3.js +37 -0
  7. package/dist/chunk-PAX4NW5B.js +1 -0
  8. package/dist/chunk-SUDI4JM6.js +3 -0
  9. package/dist/config.loader-VTIKUDN7.js +1 -0
  10. package/dist/dataverse-client-advanced-T5ZJMRLK.js +1 -0
  11. package/dist/doctor.js +2 -102
  12. package/dist/http-server.js +3 -61
  13. package/dist/install.js +8 -233
  14. package/dist/server.js +43 -202
  15. package/dist/setup-auth.js +18 -41
  16. package/package.json +95 -94
  17. package/server.json +51 -50
  18. package/dist/auth/auth-provider.factory.d.ts +0 -4
  19. package/dist/auth/auth-provider.factory.d.ts.map +0 -1
  20. package/dist/auth/auth-provider.factory.js +0 -5
  21. package/dist/auth/auth-provider.factory.js.map +0 -1
  22. package/dist/auth/auth-provider.interface.d.ts +0 -21
  23. package/dist/auth/auth-provider.interface.d.ts.map +0 -1
  24. package/dist/auth/auth-provider.interface.js +0 -2
  25. package/dist/auth/auth-provider.interface.js.map +0 -1
  26. package/dist/auth/device-code-auth-provider.d.ts +0 -18
  27. package/dist/auth/device-code-auth-provider.d.ts.map +0 -1
  28. package/dist/auth/device-code-auth-provider.js +0 -167
  29. package/dist/auth/device-code-auth-provider.js.map +0 -1
  30. package/dist/config/config.loader.d.ts +0 -3
  31. package/dist/config/config.loader.d.ts.map +0 -1
  32. package/dist/config/config.loader.js +0 -39
  33. package/dist/config/config.loader.js.map +0 -1
  34. package/dist/config/config.schema.d.ts +0 -16
  35. package/dist/config/config.schema.d.ts.map +0 -1
  36. package/dist/config/config.schema.js +0 -20
  37. package/dist/config/config.schema.js.map +0 -1
  38. package/dist/dataverse/dataverse-client-advanced.d.ts +0 -53
  39. package/dist/dataverse/dataverse-client-advanced.d.ts.map +0 -1
  40. package/dist/dataverse/dataverse-client-advanced.js +0 -199
  41. package/dist/dataverse/dataverse-client-advanced.js.map +0 -1
  42. package/dist/dataverse/dataverse-client.actions.d.ts +0 -11
  43. package/dist/dataverse/dataverse-client.actions.d.ts.map +0 -1
  44. package/dist/dataverse/dataverse-client.actions.js +0 -25
  45. package/dist/dataverse/dataverse-client.actions.js.map +0 -1
  46. package/dist/dataverse/dataverse-client.batch.d.ts +0 -10
  47. package/dist/dataverse/dataverse-client.batch.d.ts.map +0 -1
  48. package/dist/dataverse/dataverse-client.batch.js +0 -74
  49. package/dist/dataverse/dataverse-client.batch.js.map +0 -1
  50. package/dist/dataverse/dataverse-client.d.ts +0 -46
  51. package/dist/dataverse/dataverse-client.d.ts.map +0 -1
  52. package/dist/dataverse/dataverse-client.js +0 -275
  53. package/dist/dataverse/dataverse-client.js.map +0 -1
  54. package/dist/dataverse/dataverse-client.metadata.d.ts +0 -41
  55. package/dist/dataverse/dataverse-client.metadata.d.ts.map +0 -1
  56. package/dist/dataverse/dataverse-client.metadata.js +0 -124
  57. package/dist/dataverse/dataverse-client.metadata.js.map +0 -1
  58. package/dist/dataverse/dataverse-client.utils.d.ts +0 -14
  59. package/dist/dataverse/dataverse-client.utils.d.ts.map +0 -1
  60. package/dist/dataverse/dataverse-client.utils.js +0 -65
  61. package/dist/dataverse/dataverse-client.utils.js.map +0 -1
  62. package/dist/dataverse/http-client.d.ts +0 -38
  63. package/dist/dataverse/http-client.d.ts.map +0 -1
  64. package/dist/dataverse/http-client.js +0 -111
  65. package/dist/dataverse/http-client.js.map +0 -1
  66. package/dist/dataverse/types.d.ts +0 -68
  67. package/dist/dataverse/types.d.ts.map +0 -1
  68. package/dist/dataverse/types.js +0 -2
  69. package/dist/dataverse/types.js.map +0 -1
  70. package/dist/doctor.d.ts +0 -7
  71. package/dist/doctor.d.ts.map +0 -1
  72. package/dist/doctor.js.map +0 -1
  73. package/dist/http-server.d.ts +0 -3
  74. package/dist/http-server.d.ts.map +0 -1
  75. package/dist/http-server.js.map +0 -1
  76. package/dist/install.d.ts +0 -3
  77. package/dist/install.d.ts.map +0 -1
  78. package/dist/install.js.map +0 -1
  79. package/dist/resources/resource-provider.d.ts +0 -11
  80. package/dist/resources/resource-provider.d.ts.map +0 -1
  81. package/dist/resources/resource-provider.js +0 -79
  82. package/dist/resources/resource-provider.js.map +0 -1
  83. package/dist/server.d.ts +0 -3
  84. package/dist/server.d.ts.map +0 -1
  85. package/dist/server.js.map +0 -1
  86. package/dist/setup-auth.d.ts +0 -3
  87. package/dist/setup-auth.d.ts.map +0 -1
  88. package/dist/setup-auth.js.map +0 -1
  89. package/dist/tools/actions.tools.d.ts +0 -206
  90. package/dist/tools/actions.tools.d.ts.map +0 -1
  91. package/dist/tools/actions.tools.js +0 -256
  92. package/dist/tools/actions.tools.js.map +0 -1
  93. package/dist/tools/annotations.tools.d.ts +0 -94
  94. package/dist/tools/annotations.tools.d.ts.map +0 -1
  95. package/dist/tools/annotations.tools.js +0 -225
  96. package/dist/tools/annotations.tools.js.map +0 -1
  97. package/dist/tools/audit.tools.d.ts +0 -51
  98. package/dist/tools/audit.tools.d.ts.map +0 -1
  99. package/dist/tools/audit.tools.js +0 -170
  100. package/dist/tools/audit.tools.js.map +0 -1
  101. package/dist/tools/auth.tools.d.ts +0 -23
  102. package/dist/tools/auth.tools.d.ts.map +0 -1
  103. package/dist/tools/auth.tools.js +0 -36
  104. package/dist/tools/auth.tools.js.map +0 -1
  105. package/dist/tools/batch.tools.d.ts +0 -52
  106. package/dist/tools/batch.tools.d.ts.map +0 -1
  107. package/dist/tools/batch.tools.js +0 -89
  108. package/dist/tools/batch.tools.js.map +0 -1
  109. package/dist/tools/crud.tools.d.ts +0 -260
  110. package/dist/tools/crud.tools.d.ts.map +0 -1
  111. package/dist/tools/crud.tools.js +0 -290
  112. package/dist/tools/crud.tools.js.map +0 -1
  113. package/dist/tools/customization.tools.d.ts +0 -127
  114. package/dist/tools/customization.tools.d.ts.map +0 -1
  115. package/dist/tools/customization.tools.js +0 -285
  116. package/dist/tools/customization.tools.js.map +0 -1
  117. package/dist/tools/environment.tools.d.ts +0 -106
  118. package/dist/tools/environment.tools.d.ts.map +0 -1
  119. package/dist/tools/environment.tools.js +0 -274
  120. package/dist/tools/environment.tools.js.map +0 -1
  121. package/dist/tools/file.tools.d.ts +0 -73
  122. package/dist/tools/file.tools.d.ts.map +0 -1
  123. package/dist/tools/file.tools.js +0 -160
  124. package/dist/tools/file.tools.js.map +0 -1
  125. package/dist/tools/guardrails.d.ts +0 -22
  126. package/dist/tools/guardrails.d.ts.map +0 -1
  127. package/dist/tools/guardrails.js +0 -56
  128. package/dist/tools/guardrails.js.map +0 -1
  129. package/dist/tools/impersonate.tools.d.ts +0 -44
  130. package/dist/tools/impersonate.tools.d.ts.map +0 -1
  131. package/dist/tools/impersonate.tools.js +0 -87
  132. package/dist/tools/impersonate.tools.js.map +0 -1
  133. package/dist/tools/metadata.tools.d.ts +0 -279
  134. package/dist/tools/metadata.tools.d.ts.map +0 -1
  135. package/dist/tools/metadata.tools.js +0 -400
  136. package/dist/tools/metadata.tools.js.map +0 -1
  137. package/dist/tools/org.tools.d.ts +0 -32
  138. package/dist/tools/org.tools.d.ts.map +0 -1
  139. package/dist/tools/org.tools.js +0 -65
  140. package/dist/tools/org.tools.js.map +0 -1
  141. package/dist/tools/output.utils.d.ts +0 -63
  142. package/dist/tools/output.utils.d.ts.map +0 -1
  143. package/dist/tools/output.utils.js +0 -78
  144. package/dist/tools/output.utils.js.map +0 -1
  145. package/dist/tools/progress.d.ts +0 -15
  146. package/dist/tools/progress.d.ts.map +0 -1
  147. package/dist/tools/progress.js +0 -29
  148. package/dist/tools/progress.js.map +0 -1
  149. package/dist/tools/quality.tools.d.ts +0 -36
  150. package/dist/tools/quality.tools.d.ts.map +0 -1
  151. package/dist/tools/quality.tools.js +0 -97
  152. package/dist/tools/quality.tools.js.map +0 -1
  153. package/dist/tools/query.tools.d.ts +0 -151
  154. package/dist/tools/query.tools.d.ts.map +0 -1
  155. package/dist/tools/query.tools.js +0 -293
  156. package/dist/tools/query.tools.js.map +0 -1
  157. package/dist/tools/relations.tools.d.ts +0 -77
  158. package/dist/tools/relations.tools.d.ts.map +0 -1
  159. package/dist/tools/relations.tools.js +0 -96
  160. package/dist/tools/relations.tools.js.map +0 -1
  161. package/dist/tools/router.tools.d.ts +0 -5
  162. package/dist/tools/router.tools.d.ts.map +0 -1
  163. package/dist/tools/router.tools.js +0 -247
  164. package/dist/tools/router.tools.js.map +0 -1
  165. package/dist/tools/search.tools.d.ts +0 -74
  166. package/dist/tools/search.tools.d.ts.map +0 -1
  167. package/dist/tools/search.tools.js +0 -142
  168. package/dist/tools/search.tools.js.map +0 -1
  169. package/dist/tools/solution.tools.d.ts +0 -113
  170. package/dist/tools/solution.tools.d.ts.map +0 -1
  171. package/dist/tools/solution.tools.js +0 -176
  172. package/dist/tools/solution.tools.js.map +0 -1
  173. package/dist/tools/teams.tools.d.ts +0 -65
  174. package/dist/tools/teams.tools.d.ts.map +0 -1
  175. package/dist/tools/teams.tools.js +0 -127
  176. package/dist/tools/teams.tools.js.map +0 -1
  177. package/dist/tools/tool-registry.d.ts +0 -35
  178. package/dist/tools/tool-registry.d.ts.map +0 -1
  179. package/dist/tools/tool-registry.js +0 -31
  180. package/dist/tools/tool-registry.js.map +0 -1
  181. package/dist/tools/trace.tools.d.ts +0 -75
  182. package/dist/tools/trace.tools.d.ts.map +0 -1
  183. package/dist/tools/trace.tools.js +0 -233
  184. package/dist/tools/trace.tools.js.map +0 -1
  185. package/dist/tools/tracking.tools.d.ts +0 -41
  186. package/dist/tools/tracking.tools.d.ts.map +0 -1
  187. package/dist/tools/tracking.tools.js +0 -76
  188. package/dist/tools/tracking.tools.js.map +0 -1
  189. package/dist/tools/users.tools.d.ts +0 -141
  190. package/dist/tools/users.tools.d.ts.map +0 -1
  191. package/dist/tools/users.tools.js +0 -321
  192. package/dist/tools/users.tools.js.map +0 -1
  193. package/dist/tools/validation.utils.d.ts +0 -6
  194. package/dist/tools/validation.utils.d.ts.map +0 -1
  195. package/dist/tools/validation.utils.js +0 -14
  196. package/dist/tools/validation.utils.js.map +0 -1
  197. package/dist/tools/views.tools.d.ts +0 -36
  198. package/dist/tools/views.tools.d.ts.map +0 -1
  199. package/dist/tools/views.tools.js +0 -92
  200. package/dist/tools/views.tools.js.map +0 -1
  201. package/dist/tools/workflow.tools.d.ts +0 -111
  202. package/dist/tools/workflow.tools.d.ts.map +0 -1
  203. package/dist/tools/workflow.tools.js +0 -449
  204. package/dist/tools/workflow.tools.js.map +0 -1
  205. package/dist/transport.d.ts +0 -6
  206. package/dist/transport.d.ts.map +0 -1
  207. package/dist/transport.js +0 -21
  208. package/dist/transport.js.map +0 -1
@@ -1,176 +0,0 @@
1
- import { z } from "zod";
2
- import { esc } from "../dataverse/dataverse-client.utils.js";
3
- import { formatData } from "./output.utils.js";
4
- const ListSolutionsInput = z.object({
5
- includeManaged: z.boolean().optional().default(false),
6
- nameFilter: z.string().optional(),
7
- top: z.number().int().min(1).max(200).optional().default(50),
8
- });
9
- const SolutionComponentsInput = z.object({
10
- solutionName: z
11
- .string()
12
- .min(1)
13
- .describe("Unique name of the solution (not the display name)"),
14
- componentType: z
15
- .number()
16
- .int()
17
- .optional()
18
- .describe("Filter by Dataverse component type code (1=Entity, 29=Workflow, 97=WebResource, 90=PluginAssembly, etc.). Omit for all types."),
19
- top: z.number().int().min(1).max(5000).default(200).optional(),
20
- });
21
- const PublishCustomizationsInput = z.object({
22
- components: z
23
- .object({
24
- entities: z
25
- .array(z.string())
26
- .optional()
27
- .describe("Entity logical names to publish"),
28
- webResources: z
29
- .array(z.string())
30
- .optional()
31
- .describe("Web resource names to publish"),
32
- optionSets: z
33
- .array(z.string())
34
- .optional()
35
- .describe("Global OptionSet names to publish"),
36
- })
37
- .optional()
38
- .describe("Specific components to publish. If omitted, ALL unpublished customizations are published."),
39
- });
40
- export const solutionTools = [
41
- {
42
- name: "dataverse_list_solutions",
43
- description: "Lists Dataverse solutions in the environment. By default returns only unmanaged solutions. Set includeManaged=true to include managed (imported) solutions. Use nameFilter to search by unique name. WHEN TO USE: Discovering solutions in the environment for inspection or management. BEST PRACTICES: Use nameFilter for targeted lookup; check version and publisher for managed solutions. WORKFLOW: manage_solution.",
44
- inputSchema: {
45
- type: "object",
46
- properties: {
47
- includeManaged: {
48
- type: "boolean",
49
- description: "Include managed (imported) solutions. Default: false",
50
- },
51
- nameFilter: {
52
- type: "string",
53
- description: "Filter solutions by unique name (contains match)",
54
- },
55
- top: {
56
- type: "number",
57
- description: "Maximum number of solutions to return (default 50, max 200)",
58
- },
59
- },
60
- required: [],
61
- },
62
- annotations: {
63
- readOnlyHint: true,
64
- destructiveHint: false,
65
- idempotentHint: true,
66
- openWorldHint: true,
67
- },
68
- },
69
- {
70
- name: "dataverse_solution_components",
71
- description: "Lists all components in a named Dataverse solution (entities, attributes, workflows, web resources, plugins, etc.). Use the unique solution name (not display name). Optionally filter by component type code (1=Entity, 29=Workflow, 97=WebResource, 90=PluginAssembly). WHEN TO USE: Inspecting which entities, workflows, or web resources belong to a specific solution. BEST PRACTICES: Filter by componentType code to reduce noise; use unique name, not display name. WORKFLOW: manage_solution.",
72
- inputSchema: {
73
- type: "object",
74
- properties: {
75
- solutionName: {
76
- type: "string",
77
- description: "Unique name of the solution",
78
- },
79
- componentType: {
80
- type: "number",
81
- description: "Filter by component type code",
82
- },
83
- top: {
84
- type: "number",
85
- description: "Max results (default 200, max 5000)",
86
- },
87
- },
88
- required: ["solutionName"],
89
- },
90
- annotations: {
91
- readOnlyHint: true,
92
- destructiveHint: false,
93
- idempotentHint: true,
94
- openWorldHint: true,
95
- },
96
- },
97
- {
98
- name: "dataverse_publish_customizations",
99
- description: 'Publishes unpublished Dataverse customizations. Without parameters, publishes ALL pending customizations (equivalent to clicking "Publish All" in Power Apps maker portal). Optionally specify entities, webResources, or optionSets to publish only those components. WARNING: Publishing all can take 30-120 seconds in large environments. WHEN TO USE: After making schema or UI changes that need to be visible to users. BEST PRACTICES: Publish specific entities when possible to reduce duration; full publish can take 30-120s. WORKFLOW: manage_solution.',
100
- inputSchema: {
101
- type: "object",
102
- properties: {
103
- components: {
104
- type: "object",
105
- description: "Specific components. Omit to publish all.",
106
- properties: {
107
- entities: { type: "array", items: { type: "string" } },
108
- webResources: { type: "array", items: { type: "string" } },
109
- optionSets: { type: "array", items: { type: "string" } },
110
- },
111
- },
112
- },
113
- required: [],
114
- },
115
- annotations: {
116
- readOnlyHint: false,
117
- destructiveHint: false,
118
- idempotentHint: true,
119
- openWorldHint: true,
120
- },
121
- },
122
- ];
123
- export async function handleSolutionTool(name, args, client) {
124
- switch (name) {
125
- case "dataverse_list_solutions": {
126
- const params = ListSolutionsInput.parse(args ?? {});
127
- const filterParts = ["isvisible eq true"];
128
- if (!params.includeManaged) {
129
- filterParts.push("ismanaged eq false");
130
- }
131
- if (params.nameFilter) {
132
- filterParts.push(`contains(uniquename,'${esc(params.nameFilter)}')`);
133
- }
134
- const result = await client.query("solutions", {
135
- select: [
136
- "solutionid",
137
- "uniquename",
138
- "friendlyname",
139
- "version",
140
- "ismanaged",
141
- "installedon",
142
- ],
143
- filter: filterParts.join(" and "),
144
- expand: "publisherid($select=friendlyname)",
145
- orderby: "friendlyname asc",
146
- top: params.top,
147
- });
148
- const solutions = (result.value ?? []).map((s) => ({
149
- solutionId: s["solutionid"],
150
- uniqueName: s["uniquename"],
151
- friendlyName: s["friendlyname"],
152
- version: s["version"],
153
- isManaged: s["ismanaged"],
154
- installedOn: s["installedon"],
155
- publisher: s["publisherid"]?.["friendlyname"] ?? null,
156
- }));
157
- return formatData(`${solutions.length} solutions found`, { solutions, count: solutions.length }, ["Use dataverse_solution_components to inspect a specific solution"]);
158
- }
159
- case "dataverse_solution_components": {
160
- const { solutionName, componentType, top = 200, } = SolutionComponentsInput.parse(args);
161
- const result = await client.getSolutionComponents(solutionName, componentType, top);
162
- const typedResult = result;
163
- return formatData(`${typedResult.count} components in solution '${solutionName}'`, result, ["Filter by componentType for specific component kinds"]);
164
- }
165
- case "dataverse_publish_customizations": {
166
- const { components } = PublishCustomizationsInput.parse(args ?? {});
167
- const result = await client.publishCustomizations(components);
168
- return formatData("Customizations published successfully", result, [
169
- "Changes are now visible to all users in the environment",
170
- ]);
171
- }
172
- default:
173
- throw new Error(`Unknown solution tool: ${name}`);
174
- }
175
- }
176
- //# sourceMappingURL=solution.tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solution.tools.js","sourceRoot":"","sources":["../../src/tools/solution.tools.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import type { DataverseAdvancedClient } from "../dataverse/dataverse-client-advanced.js";
2
- export declare const teamTools: ({
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- top: {
9
- type: string;
10
- description: string;
11
- };
12
- teamType: {
13
- type: string;
14
- enum: number[];
15
- description: string;
16
- };
17
- teamId?: never;
18
- roleId?: never;
19
- confirm?: never;
20
- };
21
- required: never[];
22
- };
23
- annotations: {
24
- readOnlyHint: boolean;
25
- destructiveHint: boolean;
26
- idempotentHint: boolean;
27
- openWorldHint: boolean;
28
- };
29
- } | {
30
- name: string;
31
- description: string;
32
- inputSchema: {
33
- type: "object";
34
- properties: {
35
- teamId: {
36
- type: string;
37
- description: string;
38
- };
39
- roleId: {
40
- type: string;
41
- description: string;
42
- };
43
- confirm: {
44
- type: string;
45
- description: string;
46
- };
47
- top?: never;
48
- teamType?: never;
49
- };
50
- required: string[];
51
- };
52
- annotations: {
53
- readOnlyHint: boolean;
54
- destructiveHint: boolean;
55
- idempotentHint: boolean;
56
- openWorldHint: boolean;
57
- };
58
- })[];
59
- export declare function handleTeamTool(name: string, args: unknown, client: DataverseAdvancedClient): Promise<{
60
- content: Array<{
61
- type: "text";
62
- text: string;
63
- }>;
64
- }>;
65
- //# sourceMappingURL=teams.tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teams.tools.d.ts","sourceRoot":"","sources":["../../src/tools/teams.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AA2BzF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8DrB,CAAC;AAEF,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsE7D"}
@@ -1,127 +0,0 @@
1
- import { z } from "zod";
2
- import { formatData } from "./output.utils.js";
3
- const TEAM_TYPE_LABELS = {
4
- 0: "Owner",
5
- 1: "Access",
6
- 2: "Office",
7
- 3: "Security",
8
- };
9
- const ListTeamsInput = z.object({
10
- top: z.number().int().positive().max(200).optional().default(50),
11
- teamType: z
12
- .union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)])
13
- .optional(),
14
- });
15
- const AssignRoleToTeamInput = z.object({
16
- teamId: z.string().uuid(),
17
- roleId: z.string().uuid(),
18
- confirm: z.literal(true, {
19
- errorMap: () => ({
20
- message: "confirm must be true to assign a role to a team",
21
- }),
22
- }),
23
- });
24
- export const teamTools = [
25
- {
26
- name: "dataverse_list_teams",
27
- description: "Lists Dataverse teams in the environment. Useful for finding team owners for record assignment and sharing. " +
28
- "teamtype: 0=Owner, 1=Access, 2=AAD Office Group, 3=AAD Security Group. " +
29
- "WHEN TO USE: Finding team IDs for record assignment or sharing. " +
30
- "BEST PRACTICES: Filter by teamType to distinguish owner, access, and AAD group teams. " +
31
- "WORKFLOW: explore_schema.",
32
- inputSchema: {
33
- type: "object",
34
- properties: {
35
- top: {
36
- type: "number",
37
- description: "Maximum number of teams to return (1–200, default 50)",
38
- },
39
- teamType: {
40
- type: "number",
41
- enum: [0, 1, 2, 3],
42
- description: "Filter by team type: 0=Owner, 1=Access, 2=Office Group, 3=Security Group",
43
- },
44
- },
45
- required: [],
46
- },
47
- annotations: {
48
- readOnlyHint: true,
49
- destructiveHint: false,
50
- idempotentHint: true,
51
- openWorldHint: true,
52
- },
53
- },
54
- {
55
- name: "dataverse_assign_role_to_team",
56
- description: "Assigns a security role to a Dataverse team. All team members inherit the role permissions. " +
57
- "Use dataverse_list_roles to find the role GUID and dataverse_list_teams to find the team GUID. " +
58
- "WARNING: This modifies team permissions for ALL members. Set confirm=true to proceed. " +
59
- "WHEN TO USE: Providing role-based permissions to an entire team during configuration. " +
60
- "BEST PRACTICES: Prefer team-based RBAC over individual user assignments for maintainability. WORKFLOW: inspect_audit.",
61
- inputSchema: {
62
- type: "object",
63
- properties: {
64
- teamId: { type: "string", description: "GUID of the team" },
65
- roleId: {
66
- type: "string",
67
- description: "GUID of the security role to assign",
68
- },
69
- confirm: {
70
- type: "boolean",
71
- description: "Must be true to proceed with role assignment",
72
- },
73
- },
74
- required: ["teamId", "roleId", "confirm"],
75
- },
76
- annotations: {
77
- readOnlyHint: false,
78
- destructiveHint: false,
79
- idempotentHint: false,
80
- openWorldHint: true,
81
- },
82
- },
83
- ];
84
- export async function handleTeamTool(name, args, client) {
85
- switch (name) {
86
- case "dataverse_list_teams": {
87
- const { top, teamType } = ListTeamsInput.parse(args);
88
- const select = [
89
- "teamid",
90
- "name",
91
- "teamtype",
92
- "description",
93
- "isdefault",
94
- "createdon",
95
- "_businessunitid_value",
96
- ];
97
- const queryOptions = { select, top, orderby: "name asc" };
98
- if (teamType !== undefined) {
99
- queryOptions.filter = `teamtype eq ${teamType}`;
100
- }
101
- const result = await client.query("teams", queryOptions);
102
- const teams = result.value.map((team) => ({
103
- ...team,
104
- teamTypeName: TEAM_TYPE_LABELS[team["teamtype"]] ?? "Unknown",
105
- }));
106
- return formatData(`${teams.length} teams found`, { teams, count: teams.length }, ["Use dataverse_assign with a team ID to assign records to a team"]);
107
- }
108
- case "dataverse_assign_role_to_team": {
109
- const { teamId, roleId } = AssignRoleToTeamInput.parse(args);
110
- try {
111
- await client.associate("teams", teamId, "teamroles_association", "roles", roleId);
112
- }
113
- catch (err) {
114
- const msg = err instanceof Error ? err.message : String(err);
115
- if (msg.toLowerCase().includes("duplicate") ||
116
- msg.includes("0x80040237")) {
117
- return formatData("Role is already assigned to this team.", { teamId, roleId, status: "already_assigned" }, ["Use dataverse_list_teams to view current team configuration"]);
118
- }
119
- throw err;
120
- }
121
- return formatData("Role assigned to team successfully.", { teamId, roleId, status: "assigned" }, ["All members of this team now inherit the assigned role"]);
122
- }
123
- default:
124
- throw new Error(`Unknown team tool: ${name}`);
125
- }
126
- }
127
- //# sourceMappingURL=teams.tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teams.tools.js","sourceRoot":"","sources":["../../src/tools/teams.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,gBAAgB,GAA2B;IAC/C,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;CACd,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,iDAAiD;SAC3D,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,8GAA8G;YAC9G,yEAAyE;YACzE,kEAAkE;YAClE,wFAAwF;YACxF,2BAA2B;QAC7B,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAClB,WAAW,EACT,0EAA0E;iBAC7E;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,WAAW,EACT,8FAA8F;YAC9F,iGAAiG;YACjG,wFAAwF;YACxF,wFAAwF;YACxF,uHAAuH;QACzH,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC3D,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;iBACnD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,8CAA8C;iBAC5D;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;SAC1C;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,IAAa,EACb,MAA+B;IAE/B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG;gBACb,QAAQ;gBACR,MAAM;gBACN,UAAU;gBACV,aAAa;gBACb,WAAW;gBACX,WAAW;gBACX,uBAAuB;aACxB,CAAC;YACF,MAAM,YAAY,GAKd,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,YAAY,CAAC,MAAM,GAAG,eAAe,QAAQ,EAAE,CAAC;YAClD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,OAAO,EACP,YAAY,CACb,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,IAAI;gBACP,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAW,CAAC,IAAI,SAAS;aACxE,CAAC,CAAC,CAAC;YACJ,OAAO,UAAU,CACf,GAAG,KAAK,CAAC,MAAM,cAAc,EAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAC9B,CAAC,iEAAiE,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;YACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,SAAS,CACpB,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,OAAO,EACP,MAAM,CACP,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IACE,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACvC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC1B,CAAC;oBACD,OAAO,UAAU,CACf,wCAAwC,EACxC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAC9C,CAAC,6DAA6D,CAAC,CAChE,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,UAAU,CACf,qCAAqC,EACrC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EACtC,CAAC,wDAAwD,CAAC,CAC3D,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -1,35 +0,0 @@
1
- import type { DataverseAdvancedClient } from "../dataverse/dataverse-client-advanced.js";
2
- import type { ProgressReporter } from "./progress.js";
3
- export interface ToolAnnotations {
4
- readOnlyHint?: boolean;
5
- destructiveHint?: boolean;
6
- idempotentHint?: boolean;
7
- openWorldHint?: boolean;
8
- }
9
- export interface ToolDefinition {
10
- name: string;
11
- description: string;
12
- inputSchema: Record<string, unknown>;
13
- annotations?: ToolAnnotations;
14
- }
15
- export type ToolResult = {
16
- content: Array<{
17
- type: "text";
18
- text: string;
19
- }>;
20
- };
21
- export type ToolHandler = (name: string, args: unknown, client: DataverseAdvancedClient, progress?: ProgressReporter) => Promise<ToolResult>;
22
- export interface ToolModule {
23
- tools: ToolDefinition[];
24
- handler: ToolHandler;
25
- }
26
- export declare class ToolRegistry {
27
- private readonly map;
28
- register(mod: ToolModule): void;
29
- getHandler(name: string): ToolHandler | undefined;
30
- getAllDefinitions(): ToolDefinition[];
31
- has(name: string): boolean;
32
- get size(): number;
33
- }
34
- export declare function createToolRegistry(modules: ToolModule[]): ToolRegistry;
35
- //# sourceMappingURL=tool-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/tools/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,CAAC,EAAE,gBAAgB,KACxB,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,WAAW,CAAC;CACtB;AASD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAEpD,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAS/B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIjD,iBAAiB,IAAI,cAAc,EAAE;IAIrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,CAMtE"}
@@ -1,31 +0,0 @@
1
- export class ToolRegistry {
2
- map = new Map();
3
- register(mod) {
4
- for (const tool of mod.tools) {
5
- if (this.map.has(tool.name)) {
6
- throw new Error(`Duplicate tool name: ${tool.name}`);
7
- }
8
- this.map.set(tool.name, { definition: tool, handler: mod.handler });
9
- }
10
- }
11
- getHandler(name) {
12
- return this.map.get(name)?.handler;
13
- }
14
- getAllDefinitions() {
15
- return Array.from(this.map.values()).map((e) => e.definition);
16
- }
17
- has(name) {
18
- return this.map.has(name);
19
- }
20
- get size() {
21
- return this.map.size;
22
- }
23
- }
24
- export function createToolRegistry(modules) {
25
- const registry = new ToolRegistry();
26
- for (const mod of modules) {
27
- registry.register(mod);
28
- }
29
- return registry;
30
- }
31
- //# sourceMappingURL=tool-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tools/tool-registry.ts"],"names":[],"mappings":"AAwCA,MAAM,OAAO,YAAY;IACN,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEpD,QAAQ,CAAC,GAAe;QACtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACrC,CAAC;IAED,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACtD,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,75 +0,0 @@
1
- import type { DataverseAdvancedClient } from "../dataverse/dataverse-client-advanced.js";
2
- export declare const traceTools: ({
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- top: {
9
- type: string;
10
- description: string;
11
- };
12
- pluginTypeFilter: {
13
- type: string;
14
- description: string;
15
- };
16
- messageFilter: {
17
- type: string;
18
- description: string;
19
- };
20
- entityFilter: {
21
- type: string;
22
- description: string;
23
- };
24
- exceptionsOnly: {
25
- type: string;
26
- description: string;
27
- };
28
- failedOnly?: never;
29
- };
30
- required: never[];
31
- };
32
- annotations: {
33
- readOnlyHint: boolean;
34
- destructiveHint: boolean;
35
- idempotentHint: boolean;
36
- openWorldHint: boolean;
37
- };
38
- } | {
39
- name: string;
40
- description: string;
41
- inputSchema: {
42
- type: "object";
43
- properties: {
44
- top: {
45
- type: string;
46
- description: string;
47
- };
48
- failedOnly: {
49
- type: string;
50
- description: string;
51
- };
52
- entityFilter: {
53
- type: string;
54
- description: string;
55
- };
56
- pluginTypeFilter?: never;
57
- messageFilter?: never;
58
- exceptionsOnly?: never;
59
- };
60
- required: never[];
61
- };
62
- annotations: {
63
- readOnlyHint: boolean;
64
- destructiveHint: boolean;
65
- idempotentHint: boolean;
66
- openWorldHint: boolean;
67
- };
68
- })[];
69
- export declare function handleTraceTool(name: string, args: unknown, client: DataverseAdvancedClient): Promise<{
70
- content: Array<{
71
- type: "text";
72
- text: string;
73
- }>;
74
- }>;
75
- //# sourceMappingURL=trace.tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace.tools.d.ts","sourceRoot":"","sources":["../../src/tools/trace.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AA4DzF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsEtB,CAAC;AAwBF,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAwH7D"}