mcp-dataverse 0.1.5 → 0.1.7

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 (146) hide show
  1. package/CAPABILITIES.md +1049 -992
  2. package/README.md +92 -80
  3. package/config.example.json +0 -1
  4. package/dist/auth/auth-provider.factory.d.ts +2 -2
  5. package/dist/auth/auth-provider.factory.js +4 -4
  6. package/dist/auth/msal-auth-provider.d.ts +2 -2
  7. package/dist/auth/msal-auth-provider.d.ts.map +1 -1
  8. package/dist/auth/msal-auth-provider.js +9 -7
  9. package/dist/auth/msal-auth-provider.js.map +1 -1
  10. package/dist/auth/pac-auth-provider.d.ts +1 -1
  11. package/dist/auth/pac-auth-provider.d.ts.map +1 -1
  12. package/dist/auth/pac-auth-provider.js +39 -35
  13. package/dist/auth/pac-auth-provider.js.map +1 -1
  14. package/dist/config/config.loader.d.ts +1 -1
  15. package/dist/config/config.loader.js +25 -28
  16. package/dist/config/config.loader.js.map +1 -1
  17. package/dist/config/config.schema.d.ts +1 -4
  18. package/dist/config/config.schema.d.ts.map +1 -1
  19. package/dist/config/config.schema.js +11 -11
  20. package/dist/config/config.schema.js.map +1 -1
  21. package/dist/dataverse/dataverse-client-advanced.d.ts +1 -1
  22. package/dist/dataverse/dataverse-client-advanced.d.ts.map +1 -1
  23. package/dist/dataverse/dataverse-client-advanced.js +70 -39
  24. package/dist/dataverse/dataverse-client-advanced.js.map +1 -1
  25. package/dist/dataverse/dataverse-client.actions.d.ts +11 -0
  26. package/dist/dataverse/dataverse-client.actions.d.ts.map +1 -0
  27. package/dist/dataverse/dataverse-client.actions.js +25 -0
  28. package/dist/dataverse/dataverse-client.actions.js.map +1 -0
  29. package/dist/dataverse/dataverse-client.batch.d.ts +2 -2
  30. package/dist/dataverse/dataverse-client.batch.d.ts.map +1 -1
  31. package/dist/dataverse/dataverse-client.batch.js +12 -12
  32. package/dist/dataverse/dataverse-client.batch.js.map +1 -1
  33. package/dist/dataverse/dataverse-client.d.ts +5 -8
  34. package/dist/dataverse/dataverse-client.d.ts.map +1 -1
  35. package/dist/dataverse/dataverse-client.js +81 -81
  36. package/dist/dataverse/dataverse-client.js.map +1 -1
  37. package/dist/dataverse/dataverse-client.metadata.d.ts +3 -3
  38. package/dist/dataverse/dataverse-client.metadata.d.ts.map +1 -1
  39. package/dist/dataverse/dataverse-client.metadata.js +45 -45
  40. package/dist/dataverse/dataverse-client.metadata.js.map +1 -1
  41. package/dist/dataverse/dataverse-client.utils.d.ts.map +1 -1
  42. package/dist/dataverse/dataverse-client.utils.js +5 -5
  43. package/dist/dataverse/dataverse-client.utils.js.map +1 -1
  44. package/dist/dataverse/http-client.d.ts +1 -1
  45. package/dist/dataverse/http-client.d.ts.map +1 -1
  46. package/dist/dataverse/http-client.js +25 -18
  47. package/dist/dataverse/http-client.js.map +1 -1
  48. package/dist/dataverse/types.d.ts +5 -5
  49. package/dist/server.js +57 -57
  50. package/dist/server.js.map +1 -1
  51. package/dist/setup-auth.js +8 -8
  52. package/dist/setup-auth.js.map +1 -1
  53. package/dist/tools/actions.tools.d.ts +2 -2
  54. package/dist/tools/actions.tools.d.ts.map +1 -1
  55. package/dist/tools/actions.tools.js +108 -65
  56. package/dist/tools/actions.tools.js.map +1 -1
  57. package/dist/tools/annotations.tools.d.ts +2 -2
  58. package/dist/tools/annotations.tools.d.ts.map +1 -1
  59. package/dist/tools/annotations.tools.js +79 -70
  60. package/dist/tools/annotations.tools.js.map +1 -1
  61. package/dist/tools/audit.tools.d.ts +2 -2
  62. package/dist/tools/audit.tools.d.ts.map +1 -1
  63. package/dist/tools/audit.tools.js +51 -48
  64. package/dist/tools/audit.tools.js.map +1 -1
  65. package/dist/tools/auth.tools.d.ts +2 -2
  66. package/dist/tools/auth.tools.d.ts.map +1 -1
  67. package/dist/tools/auth.tools.js +9 -7
  68. package/dist/tools/auth.tools.js.map +1 -1
  69. package/dist/tools/batch.tools.d.ts +2 -2
  70. package/dist/tools/batch.tools.d.ts.map +1 -1
  71. package/dist/tools/batch.tools.js +39 -26
  72. package/dist/tools/batch.tools.js.map +1 -1
  73. package/dist/tools/crud.tools.d.ts +2 -2
  74. package/dist/tools/crud.tools.d.ts.map +1 -1
  75. package/dist/tools/crud.tools.js +140 -83
  76. package/dist/tools/crud.tools.js.map +1 -1
  77. package/dist/tools/customization.tools.d.ts +2 -2
  78. package/dist/tools/customization.tools.d.ts.map +1 -1
  79. package/dist/tools/customization.tools.js +72 -62
  80. package/dist/tools/customization.tools.js.map +1 -1
  81. package/dist/tools/environment.tools.d.ts +2 -2
  82. package/dist/tools/environment.tools.d.ts.map +1 -1
  83. package/dist/tools/environment.tools.js +62 -55
  84. package/dist/tools/environment.tools.js.map +1 -1
  85. package/dist/tools/file.tools.d.ts +2 -2
  86. package/dist/tools/file.tools.d.ts.map +1 -1
  87. package/dist/tools/file.tools.js +63 -44
  88. package/dist/tools/file.tools.js.map +1 -1
  89. package/dist/tools/impersonate.tools.d.ts +3 -3
  90. package/dist/tools/impersonate.tools.d.ts.map +1 -1
  91. package/dist/tools/impersonate.tools.js +22 -20
  92. package/dist/tools/impersonate.tools.js.map +1 -1
  93. package/dist/tools/metadata.tools.d.ts +2 -2
  94. package/dist/tools/metadata.tools.d.ts.map +1 -1
  95. package/dist/tools/metadata.tools.js +110 -75
  96. package/dist/tools/metadata.tools.js.map +1 -1
  97. package/dist/tools/org.tools.d.ts +2 -2
  98. package/dist/tools/org.tools.d.ts.map +1 -1
  99. package/dist/tools/org.tools.js +21 -15
  100. package/dist/tools/org.tools.js.map +1 -1
  101. package/dist/tools/quality.tools.d.ts +2 -2
  102. package/dist/tools/quality.tools.d.ts.map +1 -1
  103. package/dist/tools/quality.tools.js +19 -17
  104. package/dist/tools/quality.tools.js.map +1 -1
  105. package/dist/tools/query.tools.d.ts +2 -2
  106. package/dist/tools/query.tools.d.ts.map +1 -1
  107. package/dist/tools/query.tools.js +81 -58
  108. package/dist/tools/query.tools.js.map +1 -1
  109. package/dist/tools/relations.tools.d.ts +2 -2
  110. package/dist/tools/relations.tools.d.ts.map +1 -1
  111. package/dist/tools/relations.tools.js +62 -26
  112. package/dist/tools/relations.tools.js.map +1 -1
  113. package/dist/tools/search.tools.d.ts +2 -2
  114. package/dist/tools/search.tools.d.ts.map +1 -1
  115. package/dist/tools/search.tools.js +45 -45
  116. package/dist/tools/search.tools.js.map +1 -1
  117. package/dist/tools/solution.tools.d.ts +2 -2
  118. package/dist/tools/solution.tools.d.ts.map +1 -1
  119. package/dist/tools/solution.tools.js +89 -55
  120. package/dist/tools/solution.tools.js.map +1 -1
  121. package/dist/tools/teams.tools.d.ts +2 -2
  122. package/dist/tools/teams.tools.d.ts.map +1 -1
  123. package/dist/tools/teams.tools.js +33 -29
  124. package/dist/tools/teams.tools.js.map +1 -1
  125. package/dist/tools/trace.tools.d.ts +2 -2
  126. package/dist/tools/trace.tools.d.ts.map +1 -1
  127. package/dist/tools/trace.tools.js +111 -101
  128. package/dist/tools/trace.tools.js.map +1 -1
  129. package/dist/tools/tracking.tools.d.ts +2 -2
  130. package/dist/tools/tracking.tools.d.ts.map +1 -1
  131. package/dist/tools/tracking.tools.js +16 -14
  132. package/dist/tools/tracking.tools.js.map +1 -1
  133. package/dist/tools/users.tools.d.ts +2 -2
  134. package/dist/tools/users.tools.d.ts.map +1 -1
  135. package/dist/tools/users.tools.js +62 -57
  136. package/dist/tools/users.tools.js.map +1 -1
  137. package/dist/tools/validation.utils.d.ts +1 -1
  138. package/dist/tools/validation.utils.d.ts.map +1 -1
  139. package/dist/tools/validation.utils.js +9 -3
  140. package/dist/tools/validation.utils.js.map +1 -1
  141. package/dist/tools/views.tools.d.ts +2 -2
  142. package/dist/tools/views.tools.d.ts.map +1 -1
  143. package/dist/tools/views.tools.js +32 -24
  144. package/dist/tools/views.tools.js.map +1 -1
  145. package/package.json +81 -81
  146. package/server.json +59 -4
@@ -1,4 +1,4 @@
1
- import type { DataverseAdvancedClient } from '../dataverse/dataverse-client-advanced.js';
1
+ import type { DataverseAdvancedClient } from "../dataverse/dataverse-client-advanced.js";
2
2
  export declare const auditTools: {
3
3
  name: string;
4
4
  description: string;
@@ -38,7 +38,7 @@ export declare const auditTools: {
38
38
  }[];
39
39
  export declare function handleAuditTool(name: string, args: unknown, client: DataverseAdvancedClient): Promise<{
40
40
  content: Array<{
41
- type: 'text';
41
+ type: "text";
42
42
  text: string;
43
43
  }>;
44
44
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.tools.d.ts","sourceRoot":"","sources":["../../src/tools/audit.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAmBzF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCtB,CAAC;AAgEF,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,CA+E7D"}
1
+ {"version":3,"file":"audit.tools.d.ts","sourceRoot":"","sources":["../../src/tools/audit.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAsBzF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CtB,CAAC;AAoEF,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,CA+E7D"}
@@ -1,49 +1,52 @@
1
- import { z } from 'zod';
2
- import { esc } from '../dataverse/dataverse-client.utils.js';
1
+ import { z } from "zod";
2
+ import { esc } from "../dataverse/dataverse-client.utils.js";
3
3
  const AUDIT_ACTION_NAMES = {
4
- 1: 'Create',
5
- 2: 'Update',
6
- 3: 'Delete',
7
- 4: 'Activate',
8
- 5: 'Deactivate',
9
- 11: 'Share',
10
- 12: 'Unshare',
11
- 13: 'Assign',
12
- 104: 'Access',
4
+ 1: "Create",
5
+ 2: "Update",
6
+ 3: "Delete",
7
+ 4: "Activate",
8
+ 5: "Deactivate",
9
+ 11: "Share",
10
+ 12: "Unshare",
11
+ 13: "Assign",
12
+ 104: "Access",
13
13
  };
14
- const AUDIT_ACTION_CODES = Object.fromEntries(Object.entries(AUDIT_ACTION_NAMES).map(([code, name]) => [name, Number(code)]));
14
+ const AUDIT_ACTION_CODES = Object.fromEntries(Object.entries(AUDIT_ACTION_NAMES).map(([code, name]) => [
15
+ name,
16
+ Number(code),
17
+ ]));
15
18
  export const auditTools = [
16
19
  {
17
- name: 'dataverse_get_audit_log',
18
- description: 'Retrieves audit log entries from Dataverse. Returns operation details, user info, and parsed change data for each entry. ' +
19
- 'At least one filter (recordId, entityLogicalName, userId, fromDate, or operations) is recommended to avoid large result sets. ' +
20
- 'Audit must be enabled on the environment and table — returns a clear error if auditing is disabled (HTTP 403).',
20
+ name: "dataverse_get_audit_log",
21
+ description: "Retrieves audit log entries from Dataverse. Returns operation details, user info, and parsed change data for each entry. " +
22
+ "At least one filter (recordId, entityLogicalName, userId, fromDate, or operations) is recommended to avoid large result sets. " +
23
+ "Audit must be enabled on the environment and table — returns a clear error if auditing is disabled (HTTP 403).",
21
24
  inputSchema: {
22
- type: 'object',
25
+ type: "object",
23
26
  properties: {
24
27
  recordId: {
25
- type: 'string',
26
- description: 'GUID of a specific record to retrieve audit entries for',
28
+ type: "string",
29
+ description: "GUID of a specific record to retrieve audit entries for",
27
30
  },
28
31
  entityLogicalName: {
29
- type: 'string',
32
+ type: "string",
30
33
  description: 'Logical name of the entity to filter audit entries (e.g., "account", "contact")',
31
34
  },
32
35
  userId: {
33
- type: 'string',
34
- description: 'GUID of the user who made the changes',
36
+ type: "string",
37
+ description: "GUID of the user who made the changes",
35
38
  },
36
39
  fromDate: {
37
- type: 'string',
38
- description: 'ISO 8601 date string — only return audit entries created on or after this date',
40
+ type: "string",
41
+ description: "ISO 8601 date string — only return audit entries created on or after this date",
39
42
  },
40
43
  top: {
41
- type: 'number',
42
- description: 'Maximum number of audit entries to return (default: 50, max: 500)',
44
+ type: "number",
45
+ description: "Maximum number of audit entries to return (default: 50, max: 500)",
43
46
  },
44
47
  operations: {
45
- type: 'array',
46
- items: { type: 'string' },
48
+ type: "array",
49
+ items: { type: "string" },
47
50
  description: 'Filter by operation names: "Create", "Update", "Delete", "Activate", "Deactivate", "Share", "Unshare", "Assign", "Access"',
48
51
  },
49
52
  },
@@ -78,8 +81,8 @@ function mapAuditRecord(record) {
78
81
  actionName: AUDIT_ACTION_NAMES[record.action] ?? `Unknown(${record.action})`,
79
82
  createdOn: record.createdon,
80
83
  userId: record._userid_value,
81
- userFullName: record.userid?.fullname ?? '',
82
- userDomainName: record.userid?.domainname ?? '',
84
+ userFullName: record.userid?.fullname ?? "",
85
+ userDomainName: record.userid?.domainname ?? "",
83
86
  objectId: record._objectid_value,
84
87
  objectTypeCode: record.objecttypecode,
85
88
  changes: parseChangeData(record.changedata),
@@ -87,7 +90,7 @@ function mapAuditRecord(record) {
87
90
  }
88
91
  export async function handleAuditTool(name, args, client) {
89
92
  switch (name) {
90
- case 'dataverse_get_audit_log': {
93
+ case "dataverse_get_audit_log": {
91
94
  const params = AuditInput.parse(args);
92
95
  const filters = [];
93
96
  if (params.recordId) {
@@ -108,32 +111,32 @@ export async function handleAuditTool(name, args, client) {
108
111
  .map((op) => AUDIT_ACTION_CODES[op])
109
112
  .filter((code) => code !== undefined);
110
113
  if (codes.length > 0) {
111
- const orClauses = codes.map((c) => `action eq ${c}`).join(' or ');
114
+ const orClauses = codes.map((c) => `action eq ${c}`).join(" or ");
112
115
  filters.push(`(${orClauses})`);
113
116
  }
114
117
  }
115
118
  try {
116
- const result = await client.query('audits', {
119
+ const result = await client.query("audits", {
117
120
  select: [
118
- 'auditid',
119
- 'action',
120
- 'operation',
121
- 'createdon',
122
- '_objectid_value',
123
- 'objecttypecode',
124
- 'changedata',
125
- '_userid_value',
121
+ "auditid",
122
+ "action",
123
+ "operation",
124
+ "createdon",
125
+ "_objectid_value",
126
+ "objecttypecode",
127
+ "changedata",
128
+ "_userid_value",
126
129
  ],
127
- ...(filters.length > 0 ? { filter: filters.join(' and ') } : {}),
128
- orderby: 'createdon desc',
130
+ ...(filters.length > 0 ? { filter: filters.join(" and ") } : {}),
131
+ orderby: "createdon desc",
129
132
  top: params.top,
130
- expand: 'userid($select=fullname,domainname)',
133
+ expand: "userid($select=fullname,domainname)",
131
134
  });
132
135
  const entries = result.value.map(mapAuditRecord);
133
136
  return {
134
137
  content: [
135
138
  {
136
- type: 'text',
139
+ type: "text",
137
140
  text: JSON.stringify({ entries, count: entries.length }, null, 2),
138
141
  },
139
142
  ],
@@ -141,14 +144,14 @@ export async function handleAuditTool(name, args, client) {
141
144
  }
142
145
  catch (error) {
143
146
  const message = error instanceof Error ? error.message : String(error);
144
- if (message.includes('403') || message.includes('Forbidden')) {
147
+ if (message.includes("403") || message.includes("Forbidden")) {
145
148
  return {
146
149
  content: [
147
150
  {
148
- type: 'text',
151
+ type: "text",
149
152
  text: JSON.stringify({
150
153
  isError: true,
151
- error: 'Audit log access denied (HTTP 403). Ensure auditing is enabled on the Dataverse environment and the target table, and that the authenticated user has sufficient privileges.',
154
+ error: "Audit log access denied (HTTP 403). Ensure auditing is enabled on the Dataverse environment and the target table, and that the authenticated user has sufficient privileges.",
152
155
  }),
153
156
  },
154
157
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"audit.tools.js","sourceRoot":"","sources":["../../src/tools/audit.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.tools.js","sourceRoot":"","sources":["../../src/tools/audit.tools.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DataverseClient } from '../dataverse/dataverse-client.js';
1
+ import type { DataverseClient } from "../dataverse/dataverse-client.js";
2
2
  export declare const authTools: {
3
3
  name: string;
4
4
  description: string;
@@ -10,7 +10,7 @@ export declare const authTools: {
10
10
  }[];
11
11
  export declare function handleAuthTool(name: string, _args: unknown, client: DataverseClient): Promise<{
12
12
  content: Array<{
13
- type: 'text';
13
+ type: "text";
14
14
  text: string;
15
15
  }>;
16
16
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.tools.d.ts","sourceRoot":"","sources":["../../src/tools/auth.tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,eAAO,MAAM,SAAS;;;;;;;;GAUrB,CAAC;AAEF,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAiB7D"}
1
+ {"version":3,"file":"auth.tools.d.ts","sourceRoot":"","sources":["../../src/tools/auth.tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,eAAO,MAAM,SAAS;;;;;;;;GAWrB,CAAC;AAEF,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAuB7D"}
@@ -1,20 +1,21 @@
1
1
  export const authTools = [
2
2
  {
3
- name: 'dataverse_whoami',
4
- description: 'Returns the current authenticated user context from Dataverse WhoAmI: userId, businessUnitId, organizationId, organizationName, and environmentUrl. Use this to verify authentication is working, retrieve the current user context, or obtain IDs needed for subsequent operations.',
3
+ name: "dataverse_whoami",
4
+ description: "Returns the current authenticated user context from Dataverse WhoAmI: userId, businessUnitId, organizationId, organizationName, and environmentUrl. Use this to verify authentication is working, retrieve the current user context, or obtain IDs needed for subsequent operations.",
5
5
  inputSchema: {
6
- type: 'object',
6
+ type: "object",
7
7
  properties: {},
8
8
  required: [],
9
9
  },
10
10
  },
11
11
  ];
12
12
  export async function handleAuthTool(name, _args, client) {
13
- if (name === 'dataverse_whoami') {
13
+ if (name === "dataverse_whoami") {
14
14
  const result = await client.whoAmI();
15
15
  return {
16
- content: [{
17
- type: 'text',
16
+ content: [
17
+ {
18
+ type: "text",
18
19
  text: JSON.stringify({
19
20
  userId: result.UserId,
20
21
  businessUnitId: result.BusinessUnitId,
@@ -22,7 +23,8 @@ export async function handleAuthTool(name, _args, client) {
22
23
  organizationName: result.OrganizationName,
23
24
  environmentUrl: result.EnvironmentUrl,
24
25
  }, null, 2),
25
- }],
26
+ },
27
+ ],
26
28
  };
27
29
  }
28
30
  throw new Error(`Unknown auth tool: ${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"auth.tools.js","sourceRoot":"","sources":["../../src/tools/auth.tools.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sRAAsR;QACnS,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,KAAc,EACd,MAAuB;IAEvB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;wBACzC,cAAc,EAAE,MAAM,CAAC,cAAc;qBACtC,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"auth.tools.js","sourceRoot":"","sources":["../../src/tools/auth.tools.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,sRAAsR;QACxR,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,KAAc,EACd,MAAuB;IAEvB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;wBACzC,cAAc,EAAE,MAAM,CAAC,cAAc;qBACtC,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { DataverseBatchClient } from '../dataverse/dataverse-client.batch.js';
1
+ import type { DataverseBatchClient } from "../dataverse/dataverse-client.batch.js";
2
2
  export declare const batchTools: {
3
3
  name: string;
4
4
  description: string;
@@ -38,7 +38,7 @@ export declare const batchTools: {
38
38
  }[];
39
39
  export declare function handleBatchTool(name: string, args: unknown, client: DataverseBatchClient): Promise<{
40
40
  content: Array<{
41
- type: 'text';
41
+ type: "text";
42
42
  text: string;
43
43
  }>;
44
44
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"batch.tools.d.ts","sourceRoot":"","sources":["../../src/tools/batch.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGnF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCtB,CAAC;AA8BF,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAc7D"}
1
+ {"version":3,"file":"batch.tools.d.ts","sourceRoot":"","sources":["../../src/tools/batch.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGnF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCtB,CAAC;AA6BF,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAmB7D"}
@@ -1,49 +1,57 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  export const batchTools = [
3
3
  {
4
- name: 'dataverse_batch_execute',
5
- description: 'Executes multiple Dataverse operations in a single HTTP $batch request to reduce network round-trips and improve throughput. Accepts up to 1000 individual GET, POST, PATCH, or DELETE requests. Use for bulk creates, updates, or deletes that need to be grouped for performance. Set useChangeset=true to wrap all mutating operations (POST/PATCH/DELETE) in an atomic changeset — a failure rolls back ALL changeset operations. Individual per-operation results (status, body) are returned as an array in the same order as the input requests.',
4
+ name: "dataverse_batch_execute",
5
+ description: "Executes multiple Dataverse operations in a single HTTP $batch request to reduce network round-trips and improve throughput. Accepts up to 1000 individual GET, POST, PATCH, or DELETE requests. Use for bulk creates, updates, or deletes that need to be grouped for performance. Set useChangeset=true to wrap all mutating operations (POST/PATCH/DELETE) in an atomic changeset — a failure rolls back ALL changeset operations. Individual per-operation results (status, body) are returned as an array in the same order as the input requests.",
6
6
  inputSchema: {
7
- type: 'object',
7
+ type: "object",
8
8
  properties: {
9
9
  requests: {
10
- type: 'array',
11
- description: 'Array of batch requests to execute',
10
+ type: "array",
11
+ description: "Array of batch requests to execute",
12
12
  items: {
13
- type: 'object',
13
+ type: "object",
14
14
  properties: {
15
15
  method: {
16
- type: 'string',
17
- enum: ['GET', 'POST', 'PATCH', 'DELETE'],
18
- description: 'HTTP method',
16
+ type: "string",
17
+ enum: ["GET", "POST", "PATCH", "DELETE"],
18
+ description: "HTTP method",
19
19
  },
20
20
  url: {
21
- type: 'string',
21
+ type: "string",
22
22
  description: 'Relative URL (e.g., "accounts(guid)" or "contacts")',
23
23
  },
24
24
  body: {
25
- type: 'object',
26
- description: 'Request body for POST/PATCH operations',
25
+ type: "object",
26
+ description: "Request body for POST/PATCH operations",
27
27
  },
28
28
  },
29
- required: ['method', 'url'],
29
+ required: ["method", "url"],
30
30
  },
31
31
  },
32
32
  useChangeset: {
33
- type: 'boolean',
34
- description: 'Wrap mutating operations (POST/PATCH/DELETE) in an atomic changeset. A failure rolls back ALL operations in the changeset. Defaults to false.',
33
+ type: "boolean",
34
+ description: "Wrap mutating operations (POST/PATCH/DELETE) in an atomic changeset. A failure rolls back ALL operations in the changeset. Defaults to false.",
35
35
  },
36
36
  },
37
- required: ['requests'],
37
+ required: ["requests"],
38
38
  },
39
39
  },
40
40
  ];
41
41
  const BatchRequestItemSchema = z.object({
42
- method: z.enum(['GET', 'POST', 'PATCH', 'DELETE']),
43
- url: z.string().min(1)
44
- .refine(v => !/[\r\n]/.test(v), { message: 'Batch URL must not contain CR or LF characters' })
45
- .refine(v => !v.startsWith('http'), { message: 'Batch URL must be a relative path, not an absolute URL' })
46
- .refine(v => !/(\.\.[\/\\])|(^\.\.$)/.test(v), { message: 'Batch URL must not contain path traversal sequences' }),
42
+ method: z.enum(["GET", "POST", "PATCH", "DELETE"]),
43
+ url: z
44
+ .string()
45
+ .min(1)
46
+ .refine((v) => !/[\r\n]/.test(v), {
47
+ message: "Batch URL must not contain CR or LF characters",
48
+ })
49
+ .refine((v) => !v.startsWith("http"), {
50
+ message: "Batch URL must be a relative path, not an absolute URL",
51
+ })
52
+ .refine((v) => !/(\.\.[\/\\])|(^\.\.$)/.test(v), {
53
+ message: "Batch URL must not contain path traversal sequences",
54
+ }),
47
55
  body: z.record(z.unknown()).optional(),
48
56
  });
49
57
  const BatchExecuteInput = z.object({
@@ -51,19 +59,24 @@ const BatchExecuteInput = z.object({
51
59
  useChangeset: z
52
60
  .boolean()
53
61
  .default(false)
54
- .describe('Wrap mutating operations (POST/PATCH/DELETE) in an atomic changeset. A failure rolls back ALL operations in the changeset.'),
62
+ .describe("Wrap mutating operations (POST/PATCH/DELETE) in an atomic changeset. A failure rolls back ALL operations in the changeset."),
55
63
  });
56
64
  export async function handleBatchTool(name, args, client) {
57
- if (name === 'dataverse_batch_execute') {
65
+ if (name === "dataverse_batch_execute") {
58
66
  const { requests, useChangeset } = BatchExecuteInput.parse(args);
59
- const batchRequests = requests.map(r => ({
67
+ const batchRequests = requests.map((r) => ({
60
68
  method: r.method,
61
69
  url: r.url,
62
70
  body: r.body,
63
71
  }));
64
72
  const results = await client.batchExecute(batchRequests, useChangeset);
65
73
  return {
66
- content: [{ type: 'text', text: JSON.stringify({ results, count: results.length }, null, 2) }],
74
+ content: [
75
+ {
76
+ type: "text",
77
+ text: JSON.stringify({ results, count: results.length }, null, 2),
78
+ },
79
+ ],
67
80
  };
68
81
  }
69
82
  throw new Error(`Unknown batch tool: ${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"batch.tools.js","sourceRoot":"","sources":["../../src/tools/batch.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch.tools.js","sourceRoot":"","sources":["../../src/tools/batch.tools.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DataverseClient } from '../dataverse/dataverse-client.js';
1
+ import type { DataverseClient } from "../dataverse/dataverse-client.js";
2
2
  export declare const crudTools: ({
3
3
  name: string;
4
4
  description: string;
@@ -199,7 +199,7 @@ export declare const crudTools: ({
199
199
  })[];
200
200
  export declare function handleCrudTool(name: string, args: unknown, client: DataverseClient): Promise<{
201
201
  content: Array<{
202
- type: 'text';
202
+ type: "text";
203
203
  text: string;
204
204
  }>;
205
205
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"crud.tools.d.ts","sourceRoot":"","sources":["../../src/tools/crud.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAIxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwGrB,CAAC;AA8CF,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqE7D"}
1
+ {"version":3,"file":"crud.tools.d.ts","sourceRoot":"","sources":["../../src/tools/crud.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAIxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiIrB,CAAC;AA0DF,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAiI7D"}