mcp-dataverse 0.2.4 → 0.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 (116) hide show
  1. package/README.md +35 -25
  2. package/dist/doctor.d.ts +7 -0
  3. package/dist/doctor.d.ts.map +1 -0
  4. package/dist/doctor.js +103 -0
  5. package/dist/doctor.js.map +1 -0
  6. package/dist/http-server.d.ts +3 -0
  7. package/dist/http-server.d.ts.map +1 -0
  8. package/dist/http-server.js +61 -0
  9. package/dist/http-server.js.map +1 -0
  10. package/dist/install.d.ts.map +1 -1
  11. package/dist/install.js +111 -51
  12. package/dist/install.js.map +1 -1
  13. package/dist/server.js +112 -110
  14. package/dist/server.js.map +1 -1
  15. package/dist/tools/actions.tools.d.ts +36 -0
  16. package/dist/tools/actions.tools.d.ts.map +1 -1
  17. package/dist/tools/actions.tools.js +53 -18
  18. package/dist/tools/actions.tools.js.map +1 -1
  19. package/dist/tools/annotations.tools.d.ts +12 -0
  20. package/dist/tools/annotations.tools.d.ts.map +1 -1
  21. package/dist/tools/annotations.tools.js +24 -25
  22. package/dist/tools/annotations.tools.js.map +1 -1
  23. package/dist/tools/audit.tools.d.ts +6 -0
  24. package/dist/tools/audit.tools.d.ts.map +1 -1
  25. package/dist/tools/audit.tools.js +8 -8
  26. package/dist/tools/audit.tools.js.map +1 -1
  27. package/dist/tools/auth.tools.d.ts +6 -0
  28. package/dist/tools/auth.tools.d.ts.map +1 -1
  29. package/dist/tools/auth.tools.js +17 -13
  30. package/dist/tools/auth.tools.js.map +1 -1
  31. package/dist/tools/batch.tools.d.ts +6 -0
  32. package/dist/tools/batch.tools.d.ts.map +1 -1
  33. package/dist/tools/batch.tools.js +11 -8
  34. package/dist/tools/batch.tools.js.map +1 -1
  35. package/dist/tools/crud.tools.d.ts +36 -0
  36. package/dist/tools/crud.tools.d.ts.map +1 -1
  37. package/dist/tools/crud.tools.js +58 -52
  38. package/dist/tools/crud.tools.js.map +1 -1
  39. package/dist/tools/customization.tools.d.ts +18 -0
  40. package/dist/tools/customization.tools.d.ts.map +1 -1
  41. package/dist/tools/customization.tools.js +27 -29
  42. package/dist/tools/customization.tools.js.map +1 -1
  43. package/dist/tools/environment.tools.d.ts +12 -0
  44. package/dist/tools/environment.tools.d.ts.map +1 -1
  45. package/dist/tools/environment.tools.js +15 -6
  46. package/dist/tools/environment.tools.js.map +1 -1
  47. package/dist/tools/file.tools.d.ts +12 -0
  48. package/dist/tools/file.tools.d.ts.map +1 -1
  49. package/dist/tools/file.tools.js +29 -30
  50. package/dist/tools/file.tools.js.map +1 -1
  51. package/dist/tools/impersonate.tools.d.ts +6 -0
  52. package/dist/tools/impersonate.tools.d.ts.map +1 -1
  53. package/dist/tools/impersonate.tools.js +12 -12
  54. package/dist/tools/impersonate.tools.js.map +1 -1
  55. package/dist/tools/metadata.tools.d.ts +42 -0
  56. package/dist/tools/metadata.tools.d.ts.map +1 -1
  57. package/dist/tools/metadata.tools.js +92 -47
  58. package/dist/tools/metadata.tools.js.map +1 -1
  59. package/dist/tools/org.tools.d.ts +6 -0
  60. package/dist/tools/org.tools.d.ts.map +1 -1
  61. package/dist/tools/org.tools.js +10 -8
  62. package/dist/tools/org.tools.js.map +1 -1
  63. package/dist/tools/output.utils.d.ts +21 -0
  64. package/dist/tools/output.utils.d.ts.map +1 -0
  65. package/dist/tools/output.utils.js +31 -0
  66. package/dist/tools/output.utils.js.map +1 -0
  67. package/dist/tools/quality.tools.d.ts +6 -0
  68. package/dist/tools/quality.tools.d.ts.map +1 -1
  69. package/dist/tools/quality.tools.js +8 -3
  70. package/dist/tools/quality.tools.js.map +1 -1
  71. package/dist/tools/query.tools.d.ts +18 -0
  72. package/dist/tools/query.tools.d.ts.map +1 -1
  73. package/dist/tools/query.tools.js +42 -9
  74. package/dist/tools/query.tools.js.map +1 -1
  75. package/dist/tools/relations.tools.d.ts +12 -0
  76. package/dist/tools/relations.tools.d.ts.map +1 -1
  77. package/dist/tools/relations.tools.js +15 -20
  78. package/dist/tools/relations.tools.js.map +1 -1
  79. package/dist/tools/search.tools.d.ts +6 -0
  80. package/dist/tools/search.tools.d.ts.map +1 -1
  81. package/dist/tools/search.tools.js +11 -3
  82. package/dist/tools/search.tools.js.map +1 -1
  83. package/dist/tools/solution.tools.d.ts +18 -0
  84. package/dist/tools/solution.tools.d.ts.map +1 -1
  85. package/dist/tools/solution.tools.js +29 -14
  86. package/dist/tools/solution.tools.js.map +1 -1
  87. package/dist/tools/teams.tools.d.ts +6 -0
  88. package/dist/tools/teams.tools.d.ts.map +1 -1
  89. package/dist/tools/teams.tools.js +8 -8
  90. package/dist/tools/teams.tools.js.map +1 -1
  91. package/dist/tools/tool-registry.d.ts +34 -0
  92. package/dist/tools/tool-registry.d.ts.map +1 -0
  93. package/dist/tools/tool-registry.js +31 -0
  94. package/dist/tools/tool-registry.js.map +1 -0
  95. package/dist/tools/trace.tools.d.ts +12 -0
  96. package/dist/tools/trace.tools.d.ts.map +1 -1
  97. package/dist/tools/trace.tools.js +17 -6
  98. package/dist/tools/trace.tools.js.map +1 -1
  99. package/dist/tools/tracking.tools.d.ts +6 -0
  100. package/dist/tools/tracking.tools.d.ts.map +1 -1
  101. package/dist/tools/tracking.tools.js +13 -3
  102. package/dist/tools/tracking.tools.js.map +1 -1
  103. package/dist/tools/users.tools.d.ts +12 -0
  104. package/dist/tools/users.tools.d.ts.map +1 -1
  105. package/dist/tools/users.tools.js +21 -22
  106. package/dist/tools/users.tools.js.map +1 -1
  107. package/dist/tools/views.tools.d.ts +6 -0
  108. package/dist/tools/views.tools.d.ts.map +1 -1
  109. package/dist/tools/views.tools.js +15 -16
  110. package/dist/tools/views.tools.js.map +1 -1
  111. package/dist/transport.d.ts +6 -0
  112. package/dist/transport.d.ts.map +1 -0
  113. package/dist/transport.js +21 -0
  114. package/dist/transport.js.map +1 -0
  115. package/package.json +2 -1
  116. package/server.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { esc } from "../dataverse/dataverse-client.utils.js";
3
+ import { formatData } from "./output.utils.js";
3
4
  import { safeEntitySetName } from "./validation.utils.js";
4
5
  const GetAnnotationsInput = z.object({
5
6
  recordId: z.string().uuid(),
@@ -48,6 +49,12 @@ export const annotationTools = [
48
49
  },
49
50
  required: ["recordId"],
50
51
  },
52
+ annotations: {
53
+ readOnlyHint: true,
54
+ destructiveHint: false,
55
+ idempotentHint: true,
56
+ openWorldHint: true,
57
+ },
51
58
  },
52
59
  {
53
60
  name: "dataverse_create_annotation",
@@ -86,6 +93,12 @@ export const annotationTools = [
86
93
  },
87
94
  required: ["recordId", "entitySetName"],
88
95
  },
96
+ annotations: {
97
+ readOnlyHint: false,
98
+ destructiveHint: false,
99
+ idempotentHint: false,
100
+ openWorldHint: true,
101
+ },
89
102
  },
90
103
  ];
91
104
  export async function handleAnnotationTool(name, args, client) {
@@ -139,18 +152,11 @@ export async function handleAnnotationTool(name, args, client) {
139
152
  }
140
153
  return result;
141
154
  });
142
- return {
143
- content: [
144
- {
145
- type: "text",
146
- text: JSON.stringify({
147
- recordId: params.recordId,
148
- annotations,
149
- count: annotations.length,
150
- }, null, 2),
151
- },
152
- ],
153
- };
155
+ return formatData(`${annotations.length} annotations found for record ${params.recordId}`, {
156
+ recordId: params.recordId,
157
+ annotations,
158
+ count: annotations.length,
159
+ }, ["Use dataverse_create_annotation to add a note or attachment"]);
154
160
  }
155
161
  case "dataverse_create_annotation": {
156
162
  const params = CreateAnnotationInput.parse(args);
@@ -170,19 +176,12 @@ export async function handleAnnotationTool(name, args, client) {
170
176
  data["isdocument"] = true;
171
177
  }
172
178
  const annotationId = await client.createRecord("annotations", data);
173
- return {
174
- content: [
175
- {
176
- type: "text",
177
- text: JSON.stringify({
178
- created: true,
179
- annotationId,
180
- parentRecordId: params.recordId,
181
- entitySetName: params.entitySetName,
182
- }, null, 2),
183
- },
184
- ],
185
- };
179
+ return formatData(`Created annotation ${annotationId}`, {
180
+ created: true,
181
+ annotationId,
182
+ parentRecordId: params.recordId,
183
+ entitySetName: params.entitySetName,
184
+ }, ["Use dataverse_get_annotations to list all notes for this record"]);
186
185
  }
187
186
  default:
188
187
  throw new Error(`Unknown annotation tool: ${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.tools.js","sourceRoot":"","sources":["../../src/tools/annotations.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.tools.js","sourceRoot":"","sources":["../../src/tools/annotations.tools.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,12 @@ export declare const auditTools: {
35
35
  };
36
36
  required: never[];
37
37
  };
38
+ annotations: {
39
+ readOnlyHint: boolean;
40
+ destructiveHint: boolean;
41
+ idempotentHint: boolean;
42
+ openWorldHint: boolean;
43
+ };
38
44
  }[];
39
45
  export declare function handleAuditTool(name: string, args: unknown, client: DataverseAdvancedClient): Promise<{
40
46
  content: Array<{
@@ -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;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
+ {"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;AAuBzF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDtB,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,CA4E7D"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { esc } from "../dataverse/dataverse-client.utils.js";
3
+ import { formatData } from "./output.utils.js";
3
4
  const AUDIT_ACTION_NAMES = {
4
5
  1: "Create",
5
6
  2: "Update",
@@ -52,6 +53,12 @@ export const auditTools = [
52
53
  },
53
54
  required: [],
54
55
  },
56
+ annotations: {
57
+ readOnlyHint: true,
58
+ destructiveHint: false,
59
+ idempotentHint: true,
60
+ openWorldHint: true,
61
+ },
55
62
  },
56
63
  ];
57
64
  const AuditInput = z.object({
@@ -133,14 +140,7 @@ export async function handleAuditTool(name, args, client) {
133
140
  expand: "userid($select=fullname,domainname)",
134
141
  });
135
142
  const entries = result.value.map(mapAuditRecord);
136
- return {
137
- content: [
138
- {
139
- type: "text",
140
- text: JSON.stringify({ entries, count: entries.length }, null, 2),
141
- },
142
- ],
143
- };
143
+ return formatData(`${entries.length} audit records for ${params.entityLogicalName ?? params.recordId ?? "query"}`, { entries, count: entries.length }, ["Filter by operation type for specific changes"]);
144
144
  }
145
145
  catch (error) {
146
146
  const message = error instanceof Error ? error.message : String(error);
@@ -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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"}
@@ -7,6 +7,12 @@ export declare const authTools: {
7
7
  properties: {};
8
8
  required: never[];
9
9
  };
10
+ annotations: {
11
+ readOnlyHint: boolean;
12
+ destructiveHint: boolean;
13
+ idempotentHint: boolean;
14
+ openWorldHint: boolean;
15
+ };
10
16
  }[];
11
17
  export declare function handleAuthTool(name: string, _args: unknown, client: DataverseClient): Promise<{
12
18
  content: Array<{
@@ -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;;;;;;;;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
+ {"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;AAGxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;GAiBrB,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,CAgB7D"}
@@ -1,3 +1,4 @@
1
+ import { formatData } from "./output.utils.js";
1
2
  export const authTools = [
2
3
  {
3
4
  name: "dataverse_whoami",
@@ -7,25 +8,28 @@ export const authTools = [
7
8
  properties: {},
8
9
  required: [],
9
10
  },
11
+ annotations: {
12
+ readOnlyHint: true,
13
+ destructiveHint: false,
14
+ idempotentHint: true,
15
+ openWorldHint: true,
16
+ },
10
17
  },
11
18
  ];
12
19
  export async function handleAuthTool(name, _args, client) {
13
20
  if (name === "dataverse_whoami") {
14
21
  const result = await client.whoAmI();
15
- return {
16
- content: [
17
- {
18
- type: "text",
19
- text: JSON.stringify({
20
- userId: result.UserId,
21
- businessUnitId: result.BusinessUnitId,
22
- organizationId: result.OrganizationId,
23
- organizationName: result.OrganizationName,
24
- environmentUrl: result.EnvironmentUrl,
25
- }, null, 2),
26
- },
27
- ],
22
+ const data = {
23
+ userId: result.UserId,
24
+ businessUnitId: result.BusinessUnitId,
25
+ organizationId: result.OrganizationId,
26
+ organizationName: result.OrganizationName,
27
+ environmentUrl: result.EnvironmentUrl,
28
28
  };
29
+ return formatData(`Authenticated as ${result.OrganizationName}`, data, [
30
+ "Use dataverse_list_tables to discover available tables",
31
+ "Use dataverse_get_table_metadata to inspect a table schema",
32
+ ]);
29
33
  }
30
34
  throw new Error(`Unknown auth tool: ${name}`);
31
35
  }
@@ -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,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
+ {"version":3,"file":"auth.tools.js","sourceRoot":"","sources":["../../src/tools/auth.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,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;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;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,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,OAAO,UAAU,CAAC,oBAAoB,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE;YACrE,wDAAwD;YACxD,4DAA4D;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -35,6 +35,12 @@ export declare const batchTools: {
35
35
  };
36
36
  required: string[];
37
37
  };
38
+ annotations: {
39
+ readOnlyHint: boolean;
40
+ destructiveHint: boolean;
41
+ idempotentHint: boolean;
42
+ openWorldHint: boolean;
43
+ };
38
44
  }[];
39
45
  export declare function handleBatchTool(name: string, args: unknown, client: DataverseBatchClient): Promise<{
40
46
  content: Array<{
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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;AAInF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CtB,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,CAqB7D"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { formatData } from "./output.utils.js";
2
3
  export const batchTools = [
3
4
  {
4
5
  name: "dataverse_batch_execute",
@@ -36,6 +37,12 @@ export const batchTools = [
36
37
  },
37
38
  required: ["requests"],
38
39
  },
40
+ annotations: {
41
+ readOnlyHint: false,
42
+ destructiveHint: false,
43
+ idempotentHint: false,
44
+ openWorldHint: true,
45
+ },
39
46
  },
40
47
  ];
41
48
  const BatchRequestItemSchema = z.object({
@@ -70,14 +77,10 @@ export async function handleBatchTool(name, args, client) {
70
77
  body: r.body,
71
78
  }));
72
79
  const results = await client.batchExecute(batchRequests, useChangeset);
73
- return {
74
- content: [
75
- {
76
- type: "text",
77
- text: JSON.stringify({ results, count: results.length }, null, 2),
78
- },
79
- ],
80
- };
80
+ const successCount = results.filter((r) => r["status"] >= 200 && r["status"] < 300).length;
81
+ return formatData(`Batch executed: ${successCount}/${results.length} operations succeeded`, { results, count: results.length }, [
82
+ "Use batch for bulk create/update operations to reduce HTTP round-trips",
83
+ ]);
81
84
  }
82
85
  throw new Error(`Unknown batch tool: ${name}`);
83
86
  }
@@ -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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"}
@@ -32,6 +32,12 @@ export declare const crudTools: ({
32
32
  };
33
33
  required: string[];
34
34
  };
35
+ annotations: {
36
+ readOnlyHint: boolean;
37
+ destructiveHint: boolean;
38
+ idempotentHint: boolean;
39
+ openWorldHint: boolean;
40
+ };
35
41
  } | {
36
42
  name: string;
37
43
  description: string;
@@ -59,6 +65,12 @@ export declare const crudTools: ({
59
65
  };
60
66
  required: string[];
61
67
  };
68
+ annotations: {
69
+ readOnlyHint: boolean;
70
+ destructiveHint: boolean;
71
+ idempotentHint: boolean;
72
+ openWorldHint: boolean;
73
+ };
62
74
  } | {
63
75
  name: string;
64
76
  description: string;
@@ -92,6 +104,12 @@ export declare const crudTools: ({
92
104
  };
93
105
  required: string[];
94
106
  };
107
+ annotations: {
108
+ readOnlyHint: boolean;
109
+ destructiveHint: boolean;
110
+ idempotentHint: boolean;
111
+ openWorldHint: boolean;
112
+ };
95
113
  } | {
96
114
  name: string;
97
115
  description: string;
@@ -122,6 +140,12 @@ export declare const crudTools: ({
122
140
  };
123
141
  required: string[];
124
142
  };
143
+ annotations: {
144
+ readOnlyHint: boolean;
145
+ destructiveHint: boolean;
146
+ idempotentHint: boolean;
147
+ openWorldHint: boolean;
148
+ };
125
149
  } | {
126
150
  name: string;
127
151
  description: string;
@@ -162,6 +186,12 @@ export declare const crudTools: ({
162
186
  };
163
187
  required: string[];
164
188
  };
189
+ annotations: {
190
+ readOnlyHint: boolean;
191
+ destructiveHint: boolean;
192
+ idempotentHint: boolean;
193
+ openWorldHint: boolean;
194
+ };
165
195
  } | {
166
196
  name: string;
167
197
  description: string;
@@ -196,6 +226,12 @@ export declare const crudTools: ({
196
226
  };
197
227
  required: string[];
198
228
  };
229
+ annotations: {
230
+ readOnlyHint: boolean;
231
+ destructiveHint: boolean;
232
+ idempotentHint: boolean;
233
+ openWorldHint: boolean;
234
+ };
199
235
  })[];
200
236
  export declare function handleCrudTool(name: string, args: unknown, client: DataverseClient): Promise<{
201
237
  content: Array<{
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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;AAKxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqKrB,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,CAkH7D"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { esc } from "../dataverse/dataverse-client.utils.js";
3
+ import { formatData } from "./output.utils.js";
3
4
  import { safeEntitySetName } from "./validation.utils.js";
4
5
  export const crudTools = [
5
6
  {
@@ -18,6 +19,12 @@ export const crudTools = [
18
19
  },
19
20
  required: ["entitySetName", "id"],
20
21
  },
22
+ annotations: {
23
+ readOnlyHint: true,
24
+ destructiveHint: false,
25
+ idempotentHint: true,
26
+ openWorldHint: true,
27
+ },
21
28
  },
22
29
  {
23
30
  name: "dataverse_create",
@@ -33,6 +40,12 @@ export const crudTools = [
33
40
  },
34
41
  required: ["entitySetName", "data"],
35
42
  },
43
+ annotations: {
44
+ readOnlyHint: false,
45
+ destructiveHint: false,
46
+ idempotentHint: false,
47
+ openWorldHint: true,
48
+ },
36
49
  },
37
50
  {
38
51
  name: "dataverse_update",
@@ -50,6 +63,12 @@ export const crudTools = [
50
63
  },
51
64
  required: ["entitySetName", "id", "data"],
52
65
  },
66
+ annotations: {
67
+ readOnlyHint: false,
68
+ destructiveHint: false,
69
+ idempotentHint: true,
70
+ openWorldHint: true,
71
+ },
53
72
  },
54
73
  {
55
74
  name: "dataverse_delete",
@@ -66,6 +85,12 @@ export const crudTools = [
66
85
  },
67
86
  required: ["entitySetName", "id", "confirm"],
68
87
  },
88
+ annotations: {
89
+ readOnlyHint: false,
90
+ destructiveHint: true,
91
+ idempotentHint: true,
92
+ openWorldHint: true,
93
+ },
69
94
  },
70
95
  {
71
96
  name: "dataverse_upsert",
@@ -95,6 +120,12 @@ export const crudTools = [
95
120
  },
96
121
  required: ["entitySetName", "data"],
97
122
  },
123
+ annotations: {
124
+ readOnlyHint: false,
125
+ destructiveHint: false,
126
+ idempotentHint: true,
127
+ openWorldHint: true,
128
+ },
98
129
  },
99
130
  {
100
131
  name: "dataverse_assign",
@@ -119,6 +150,12 @@ export const crudTools = [
119
150
  },
120
151
  required: ["entitySetName", "id", "ownerType", "ownerId"],
121
152
  },
153
+ annotations: {
154
+ readOnlyHint: false,
155
+ destructiveHint: false,
156
+ idempotentHint: true,
157
+ openWorldHint: true,
158
+ },
122
159
  },
123
160
  ];
124
161
  const GetInput = z.object({
@@ -169,38 +206,26 @@ export async function handleCrudTool(name, args, client) {
169
206
  case "dataverse_get": {
170
207
  const { entitySetName, id, select } = GetInput.parse(args);
171
208
  const { record, etag } = await client.getRecord(entitySetName, id, select);
172
- return {
173
- content: [
174
- {
175
- type: "text",
176
- text: JSON.stringify({ id, record, etag }, null, 2),
177
- },
178
- ],
179
- };
209
+ return formatData(`Retrieved record ${id} from ${entitySetName}`, { id, record, etag }, [
210
+ "Use dataverse_update to modify this record",
211
+ "Use dataverse_get_relationships to explore related records",
212
+ ]);
180
213
  }
181
214
  case "dataverse_create": {
182
215
  const { entitySetName, data } = CreateInput.parse(args);
183
216
  const id = await client.createRecord(entitySetName, data);
184
- return {
185
- content: [
186
- {
187
- type: "text",
188
- text: JSON.stringify({ id, message: "Record created successfully" }, null, 2),
189
- },
190
- ],
191
- };
217
+ return formatData(`Created record ${id} in ${entitySetName}`, { id, message: "Record created successfully" }, [
218
+ "Use dataverse_get to retrieve the full record",
219
+ "Use dataverse_associate to link related records",
220
+ ]);
192
221
  }
193
222
  case "dataverse_update": {
194
223
  const { entitySetName, id, data, etag } = UpdateInput.parse(args);
195
224
  await client.updateRecord(entitySetName, id, data, etag);
196
- return {
197
- content: [
198
- {
199
- type: "text",
200
- text: JSON.stringify({ message: "Record updated successfully" }),
201
- },
202
- ],
203
- };
225
+ return formatData(`Updated record ${id} in ${entitySetName}`, { message: "Record updated successfully" }, [
226
+ "Use dataverse_get to verify the update",
227
+ "Use etag parameter for optimistic concurrency",
228
+ ]);
204
229
  }
205
230
  case "dataverse_delete": {
206
231
  const { entitySetName, id, confirm } = DeleteInput.parse(args);
@@ -217,14 +242,7 @@ export async function handleCrudTool(name, args, client) {
217
242
  };
218
243
  }
219
244
  await client.deleteRecord(entitySetName, id);
220
- return {
221
- content: [
222
- {
223
- type: "text",
224
- text: JSON.stringify({ message: "Record deleted successfully" }),
225
- },
226
- ],
227
- };
245
+ return formatData(`Deleted record ${id} from ${entitySetName}`, { message: "Record deleted successfully" }, ["This operation is irreversible"]);
228
246
  }
229
247
  case "dataverse_upsert": {
230
248
  const parsed = UpsertInput.parse(args);
@@ -236,18 +254,11 @@ export async function handleCrudTool(name, args, client) {
236
254
  .join(",");
237
255
  }
238
256
  const result = await client.upsertRecord(entitySetName, alternateKey ?? "", alternateKeyValue ?? "", data, mode, keySegment);
239
- return {
240
- content: [
241
- {
242
- type: "text",
243
- text: JSON.stringify({
244
- operation: result.operation,
245
- id: result.id,
246
- message: `Record ${result.operation} successfully`,
247
- }, null, 2),
248
- },
249
- ],
250
- };
257
+ return formatData(`Upsert ${result.operation}: record in ${entitySetName}`, {
258
+ operation: result.operation,
259
+ id: result.id,
260
+ message: `Record ${result.operation} successfully`,
261
+ }, ["Use dataverse_get_entity_key to verify alternate key definitions"]);
251
262
  }
252
263
  case "dataverse_assign": {
253
264
  const { entitySetName, id, ownerType, ownerId } = AssignInput.parse(args);
@@ -255,14 +266,9 @@ export async function handleCrudTool(name, args, client) {
255
266
  await client.updateRecord(entitySetName, id, {
256
267
  "ownerid@odata.bind": `/${entityRef}(${ownerId})`,
257
268
  });
258
- return {
259
- content: [
260
- {
261
- type: "text",
262
- text: JSON.stringify({ message: "Record assigned successfully" }),
263
- },
264
- ],
265
- };
269
+ return formatData(`Assigned record ${id} in ${entitySetName} to new owner`, { message: "Record assigned successfully" }, [
270
+ "Use dataverse_list_users or dataverse_list_teams to find valid owners",
271
+ ]);
266
272
  }
267
273
  default:
268
274
  throw new Error(`Unknown CRUD tool: ${name}`);