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.
- package/CAPABILITIES.md +1049 -992
- package/README.md +92 -80
- package/config.example.json +0 -1
- package/dist/auth/auth-provider.factory.d.ts +2 -2
- package/dist/auth/auth-provider.factory.js +4 -4
- package/dist/auth/msal-auth-provider.d.ts +2 -2
- package/dist/auth/msal-auth-provider.d.ts.map +1 -1
- package/dist/auth/msal-auth-provider.js +9 -7
- package/dist/auth/msal-auth-provider.js.map +1 -1
- package/dist/auth/pac-auth-provider.d.ts +1 -1
- package/dist/auth/pac-auth-provider.d.ts.map +1 -1
- package/dist/auth/pac-auth-provider.js +39 -35
- package/dist/auth/pac-auth-provider.js.map +1 -1
- package/dist/config/config.loader.d.ts +1 -1
- package/dist/config/config.loader.js +25 -28
- package/dist/config/config.loader.js.map +1 -1
- package/dist/config/config.schema.d.ts +1 -4
- package/dist/config/config.schema.d.ts.map +1 -1
- package/dist/config/config.schema.js +11 -11
- package/dist/config/config.schema.js.map +1 -1
- package/dist/dataverse/dataverse-client-advanced.d.ts +1 -1
- package/dist/dataverse/dataverse-client-advanced.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client-advanced.js +70 -39
- package/dist/dataverse/dataverse-client-advanced.js.map +1 -1
- package/dist/dataverse/dataverse-client.actions.d.ts +11 -0
- package/dist/dataverse/dataverse-client.actions.d.ts.map +1 -0
- package/dist/dataverse/dataverse-client.actions.js +25 -0
- package/dist/dataverse/dataverse-client.actions.js.map +1 -0
- package/dist/dataverse/dataverse-client.batch.d.ts +2 -2
- package/dist/dataverse/dataverse-client.batch.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.batch.js +12 -12
- package/dist/dataverse/dataverse-client.batch.js.map +1 -1
- package/dist/dataverse/dataverse-client.d.ts +5 -8
- package/dist/dataverse/dataverse-client.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.js +81 -81
- package/dist/dataverse/dataverse-client.js.map +1 -1
- package/dist/dataverse/dataverse-client.metadata.d.ts +3 -3
- package/dist/dataverse/dataverse-client.metadata.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.metadata.js +45 -45
- package/dist/dataverse/dataverse-client.metadata.js.map +1 -1
- package/dist/dataverse/dataverse-client.utils.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.utils.js +5 -5
- package/dist/dataverse/dataverse-client.utils.js.map +1 -1
- package/dist/dataverse/http-client.d.ts +1 -1
- package/dist/dataverse/http-client.d.ts.map +1 -1
- package/dist/dataverse/http-client.js +25 -18
- package/dist/dataverse/http-client.js.map +1 -1
- package/dist/dataverse/types.d.ts +5 -5
- package/dist/server.js +57 -57
- package/dist/server.js.map +1 -1
- package/dist/setup-auth.js +8 -8
- package/dist/setup-auth.js.map +1 -1
- package/dist/tools/actions.tools.d.ts +2 -2
- package/dist/tools/actions.tools.d.ts.map +1 -1
- package/dist/tools/actions.tools.js +108 -65
- package/dist/tools/actions.tools.js.map +1 -1
- package/dist/tools/annotations.tools.d.ts +2 -2
- package/dist/tools/annotations.tools.d.ts.map +1 -1
- package/dist/tools/annotations.tools.js +79 -70
- package/dist/tools/annotations.tools.js.map +1 -1
- package/dist/tools/audit.tools.d.ts +2 -2
- package/dist/tools/audit.tools.d.ts.map +1 -1
- package/dist/tools/audit.tools.js +51 -48
- package/dist/tools/audit.tools.js.map +1 -1
- package/dist/tools/auth.tools.d.ts +2 -2
- package/dist/tools/auth.tools.d.ts.map +1 -1
- package/dist/tools/auth.tools.js +9 -7
- package/dist/tools/auth.tools.js.map +1 -1
- package/dist/tools/batch.tools.d.ts +2 -2
- package/dist/tools/batch.tools.d.ts.map +1 -1
- package/dist/tools/batch.tools.js +39 -26
- package/dist/tools/batch.tools.js.map +1 -1
- package/dist/tools/crud.tools.d.ts +2 -2
- package/dist/tools/crud.tools.d.ts.map +1 -1
- package/dist/tools/crud.tools.js +140 -83
- package/dist/tools/crud.tools.js.map +1 -1
- package/dist/tools/customization.tools.d.ts +2 -2
- package/dist/tools/customization.tools.d.ts.map +1 -1
- package/dist/tools/customization.tools.js +72 -62
- package/dist/tools/customization.tools.js.map +1 -1
- package/dist/tools/environment.tools.d.ts +2 -2
- package/dist/tools/environment.tools.d.ts.map +1 -1
- package/dist/tools/environment.tools.js +62 -55
- package/dist/tools/environment.tools.js.map +1 -1
- package/dist/tools/file.tools.d.ts +2 -2
- package/dist/tools/file.tools.d.ts.map +1 -1
- package/dist/tools/file.tools.js +63 -44
- package/dist/tools/file.tools.js.map +1 -1
- package/dist/tools/impersonate.tools.d.ts +3 -3
- package/dist/tools/impersonate.tools.d.ts.map +1 -1
- package/dist/tools/impersonate.tools.js +22 -20
- package/dist/tools/impersonate.tools.js.map +1 -1
- package/dist/tools/metadata.tools.d.ts +2 -2
- package/dist/tools/metadata.tools.d.ts.map +1 -1
- package/dist/tools/metadata.tools.js +110 -75
- package/dist/tools/metadata.tools.js.map +1 -1
- package/dist/tools/org.tools.d.ts +2 -2
- package/dist/tools/org.tools.d.ts.map +1 -1
- package/dist/tools/org.tools.js +21 -15
- package/dist/tools/org.tools.js.map +1 -1
- package/dist/tools/quality.tools.d.ts +2 -2
- package/dist/tools/quality.tools.d.ts.map +1 -1
- package/dist/tools/quality.tools.js +19 -17
- package/dist/tools/quality.tools.js.map +1 -1
- package/dist/tools/query.tools.d.ts +2 -2
- package/dist/tools/query.tools.d.ts.map +1 -1
- package/dist/tools/query.tools.js +81 -58
- package/dist/tools/query.tools.js.map +1 -1
- package/dist/tools/relations.tools.d.ts +2 -2
- package/dist/tools/relations.tools.d.ts.map +1 -1
- package/dist/tools/relations.tools.js +62 -26
- package/dist/tools/relations.tools.js.map +1 -1
- package/dist/tools/search.tools.d.ts +2 -2
- package/dist/tools/search.tools.d.ts.map +1 -1
- package/dist/tools/search.tools.js +45 -45
- package/dist/tools/search.tools.js.map +1 -1
- package/dist/tools/solution.tools.d.ts +2 -2
- package/dist/tools/solution.tools.d.ts.map +1 -1
- package/dist/tools/solution.tools.js +89 -55
- package/dist/tools/solution.tools.js.map +1 -1
- package/dist/tools/teams.tools.d.ts +2 -2
- package/dist/tools/teams.tools.d.ts.map +1 -1
- package/dist/tools/teams.tools.js +33 -29
- package/dist/tools/teams.tools.js.map +1 -1
- package/dist/tools/trace.tools.d.ts +2 -2
- package/dist/tools/trace.tools.d.ts.map +1 -1
- package/dist/tools/trace.tools.js +111 -101
- package/dist/tools/trace.tools.js.map +1 -1
- package/dist/tools/tracking.tools.d.ts +2 -2
- package/dist/tools/tracking.tools.d.ts.map +1 -1
- package/dist/tools/tracking.tools.js +16 -14
- package/dist/tools/tracking.tools.js.map +1 -1
- package/dist/tools/users.tools.d.ts +2 -2
- package/dist/tools/users.tools.d.ts.map +1 -1
- package/dist/tools/users.tools.js +62 -57
- package/dist/tools/users.tools.js.map +1 -1
- package/dist/tools/validation.utils.d.ts +1 -1
- package/dist/tools/validation.utils.d.ts.map +1 -1
- package/dist/tools/validation.utils.js +9 -3
- package/dist/tools/validation.utils.js.map +1 -1
- package/dist/tools/views.tools.d.ts +2 -2
- package/dist/tools/views.tools.d.ts.map +1 -1
- package/dist/tools/views.tools.js +32 -24
- package/dist/tools/views.tools.js.map +1 -1
- package/package.json +81 -81
- package/server.json +59 -4
package/dist/tools/crud.tools.js
CHANGED
|
@@ -1,108 +1,123 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
import { esc } from
|
|
3
|
-
import { safeEntitySetName } from
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { esc } from "../dataverse/dataverse-client.utils.js";
|
|
3
|
+
import { safeEntitySetName } from "./validation.utils.js";
|
|
4
4
|
export const crudTools = [
|
|
5
5
|
{
|
|
6
|
-
name:
|
|
7
|
-
description:
|
|
6
|
+
name: "dataverse_get",
|
|
7
|
+
description: "Retrieves a single Dataverse record by its GUID. Use when you already know the exact record ID and want specific fields — faster and more precise than dataverse_query with a GUID filter. Specify select to limit returned columns and reduce payload size.",
|
|
8
8
|
inputSchema: {
|
|
9
|
-
type:
|
|
9
|
+
type: "object",
|
|
10
10
|
properties: {
|
|
11
|
-
entitySetName: { type:
|
|
12
|
-
id: { type:
|
|
11
|
+
entitySetName: { type: "string", description: "OData entity set name" },
|
|
12
|
+
id: { type: "string", description: "Record GUID" },
|
|
13
13
|
select: {
|
|
14
|
-
type:
|
|
15
|
-
items: { type:
|
|
16
|
-
description:
|
|
14
|
+
type: "array",
|
|
15
|
+
items: { type: "string" },
|
|
16
|
+
description: "Columns to return",
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
|
-
required: [
|
|
19
|
+
required: ["entitySetName", "id"],
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
name:
|
|
23
|
+
name: "dataverse_create",
|
|
24
24
|
description: 'Creates a new record in a Dataverse table and returns the new record\'s GUID. Use dataverse_get_table_metadata first to confirm correct logical field names and required fields. For setting lookup fields, use the format "_fieldname_value" with the related record GUID. For bulk creation of multiple records, consider dataverse_batch_execute to reduce HTTP round-trips.',
|
|
25
25
|
inputSchema: {
|
|
26
|
-
type:
|
|
26
|
+
type: "object",
|
|
27
27
|
properties: {
|
|
28
|
-
entitySetName: { type:
|
|
28
|
+
entitySetName: { type: "string", description: "OData entity set name" },
|
|
29
29
|
data: {
|
|
30
|
-
type:
|
|
31
|
-
description:
|
|
30
|
+
type: "object",
|
|
31
|
+
description: "Record data as key-value pairs using logical names",
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
|
-
required: [
|
|
34
|
+
required: ["entitySetName", "data"],
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
|
-
name:
|
|
39
|
-
description:
|
|
38
|
+
name: "dataverse_update",
|
|
39
|
+
description: "Updates an existing Dataverse record using PATCH semantics — only the fields provided in data are changed, all other fields remain unchanged. Requires the record GUID. Use dataverse_upsert instead if you want to create-or-update using an alternate key without knowing the GUID upfront.",
|
|
40
40
|
inputSchema: {
|
|
41
|
-
type:
|
|
41
|
+
type: "object",
|
|
42
42
|
properties: {
|
|
43
|
-
entitySetName: { type:
|
|
44
|
-
id: { type:
|
|
45
|
-
data: { type:
|
|
43
|
+
entitySetName: { type: "string" },
|
|
44
|
+
id: { type: "string", description: "Record GUID" },
|
|
45
|
+
data: { type: "object", description: "Fields to update" },
|
|
46
46
|
etag: {
|
|
47
|
-
type:
|
|
48
|
-
description:
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "ETag value from a prior dataverse_get response. When provided, the update only succeeds if the record has not been modified since (optimistic concurrency). Prevents lost updates.",
|
|
49
49
|
},
|
|
50
50
|
},
|
|
51
|
-
required: [
|
|
51
|
+
required: ["entitySetName", "id", "data"],
|
|
52
52
|
},
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
|
-
name:
|
|
56
|
-
description:
|
|
55
|
+
name: "dataverse_delete",
|
|
56
|
+
description: "Permanently deletes a Dataverse record by its GUID. This operation is irreversible — you MUST set confirm=true to proceed. Use dataverse_list_dependencies to check if the record is referenced by workflows, plugins, or other components before deleting shared or configuration records.",
|
|
57
57
|
inputSchema: {
|
|
58
|
-
type:
|
|
58
|
+
type: "object",
|
|
59
59
|
properties: {
|
|
60
|
-
entitySetName: { type:
|
|
61
|
-
id: { type:
|
|
62
|
-
confirm: {
|
|
60
|
+
entitySetName: { type: "string" },
|
|
61
|
+
id: { type: "string", description: "Record GUID" },
|
|
62
|
+
confirm: {
|
|
63
|
+
type: "boolean",
|
|
64
|
+
description: "Must be explicitly true to proceed with deletion",
|
|
65
|
+
},
|
|
63
66
|
},
|
|
64
|
-
required: [
|
|
67
|
+
required: ["entitySetName", "id", "confirm"],
|
|
65
68
|
},
|
|
66
69
|
},
|
|
67
70
|
{
|
|
68
|
-
name:
|
|
71
|
+
name: "dataverse_upsert",
|
|
69
72
|
description: 'Creates or updates a Dataverse record using an alternate key (no GUID needed). Returns operation="created" or "updated". Use mode="createOnly" to fail with an error if the record already exists, or mode="updateOnly" to fail if the record does not exist. Default mode="upsert" creates or updates. Supports compound alternate keys via the alternateKeys parameter.',
|
|
70
73
|
inputSchema: {
|
|
71
|
-
type:
|
|
74
|
+
type: "object",
|
|
72
75
|
properties: {
|
|
73
|
-
entitySetName: { type:
|
|
74
|
-
alternateKey: {
|
|
75
|
-
|
|
76
|
+
entitySetName: { type: "string" },
|
|
77
|
+
alternateKey: {
|
|
78
|
+
type: "string",
|
|
79
|
+
description: "Alternate key attribute name (for single key)",
|
|
80
|
+
},
|
|
81
|
+
alternateKeyValue: {
|
|
82
|
+
type: "string",
|
|
83
|
+
description: "Alternate key value (for single key)",
|
|
84
|
+
},
|
|
76
85
|
alternateKeys: {
|
|
77
|
-
type:
|
|
86
|
+
type: "object",
|
|
78
87
|
description: 'Compound alternate key as key-value map (e.g., {"key1":"val1","key2":"val2"}). Use instead of alternateKey/alternateKeyValue for multi-field keys.',
|
|
79
88
|
},
|
|
80
|
-
data: { type:
|
|
89
|
+
data: { type: "object", description: "Record data" },
|
|
81
90
|
mode: {
|
|
82
|
-
type:
|
|
83
|
-
enum: [
|
|
84
|
-
description:
|
|
91
|
+
type: "string",
|
|
92
|
+
enum: ["upsert", "createOnly", "updateOnly"],
|
|
93
|
+
description: "upsert=create or update (default), createOnly=fail if exists, updateOnly=fail if not found",
|
|
85
94
|
},
|
|
86
95
|
},
|
|
87
|
-
required: [
|
|
96
|
+
required: ["entitySetName", "data"],
|
|
88
97
|
},
|
|
89
98
|
},
|
|
90
99
|
{
|
|
91
|
-
name:
|
|
92
|
-
description:
|
|
100
|
+
name: "dataverse_assign",
|
|
101
|
+
description: "Assigns a Dataverse record to a different user or team owner. Sets the ownerid lookup field using the OData bind syntax.",
|
|
93
102
|
inputSchema: {
|
|
94
|
-
type:
|
|
103
|
+
type: "object",
|
|
95
104
|
properties: {
|
|
96
|
-
entitySetName: {
|
|
97
|
-
|
|
105
|
+
entitySetName: {
|
|
106
|
+
type: "string",
|
|
107
|
+
description: "OData entity set name of the record to assign",
|
|
108
|
+
},
|
|
109
|
+
id: { type: "string", description: "Record GUID" },
|
|
98
110
|
ownerType: {
|
|
99
|
-
type:
|
|
100
|
-
enum: [
|
|
111
|
+
type: "string",
|
|
112
|
+
enum: ["systemuser", "team"],
|
|
101
113
|
description: 'Type of the new owner: "systemuser" for a user, "team" for a team',
|
|
102
114
|
},
|
|
103
|
-
ownerId: {
|
|
115
|
+
ownerId: {
|
|
116
|
+
type: "string",
|
|
117
|
+
description: "GUID of the user or team to assign the record to",
|
|
118
|
+
},
|
|
104
119
|
},
|
|
105
|
-
required: [
|
|
120
|
+
required: ["entitySetName", "id", "ownerType", "ownerId"],
|
|
106
121
|
},
|
|
107
122
|
},
|
|
108
123
|
];
|
|
@@ -126,86 +141,128 @@ const DeleteInput = z.object({
|
|
|
126
141
|
id: z.string().uuid(),
|
|
127
142
|
confirm: z.boolean(),
|
|
128
143
|
});
|
|
129
|
-
const UpsertInput = z
|
|
144
|
+
const UpsertInput = z
|
|
145
|
+
.object({
|
|
130
146
|
entitySetName: safeEntitySetName,
|
|
131
147
|
alternateKey: z.string().min(1).optional(),
|
|
132
148
|
alternateKeyValue: z.string().min(1).optional(),
|
|
133
149
|
alternateKeys: z.record(z.string()).optional(),
|
|
134
150
|
data: z.record(z.unknown()),
|
|
135
|
-
mode: z
|
|
136
|
-
.
|
|
137
|
-
|
|
151
|
+
mode: z
|
|
152
|
+
.enum(["upsert", "createOnly", "updateOnly"])
|
|
153
|
+
.default("upsert")
|
|
154
|
+
.optional()
|
|
155
|
+
.describe("upsert=create or update (default), createOnly=fail if exists, updateOnly=fail if not found"),
|
|
156
|
+
})
|
|
157
|
+
.refine((d) => (d.alternateKey && d.alternateKeyValue) ||
|
|
158
|
+
(d.alternateKeys && Object.keys(d.alternateKeys).length > 0), {
|
|
159
|
+
message: "Provide either (alternateKey + alternateKeyValue) or alternateKeys",
|
|
160
|
+
});
|
|
138
161
|
const AssignInput = z.object({
|
|
139
162
|
entitySetName: safeEntitySetName,
|
|
140
163
|
id: z.string().uuid(),
|
|
141
|
-
ownerType: z.enum([
|
|
164
|
+
ownerType: z.enum(["systemuser", "team"]),
|
|
142
165
|
ownerId: z.string().uuid(),
|
|
143
166
|
});
|
|
144
167
|
export async function handleCrudTool(name, args, client) {
|
|
145
168
|
switch (name) {
|
|
146
|
-
case
|
|
169
|
+
case "dataverse_get": {
|
|
147
170
|
const { entitySetName, id, select } = GetInput.parse(args);
|
|
148
171
|
const { record, etag } = await client.getRecord(entitySetName, id, select);
|
|
149
172
|
return {
|
|
150
|
-
content: [
|
|
151
|
-
|
|
173
|
+
content: [
|
|
174
|
+
{
|
|
175
|
+
type: "text",
|
|
152
176
|
text: JSON.stringify({ id, record, etag }, null, 2),
|
|
153
|
-
}
|
|
177
|
+
},
|
|
178
|
+
],
|
|
154
179
|
};
|
|
155
180
|
}
|
|
156
|
-
case
|
|
181
|
+
case "dataverse_create": {
|
|
157
182
|
const { entitySetName, data } = CreateInput.parse(args);
|
|
158
183
|
const id = await client.createRecord(entitySetName, data);
|
|
159
184
|
return {
|
|
160
|
-
content: [
|
|
185
|
+
content: [
|
|
186
|
+
{
|
|
187
|
+
type: "text",
|
|
188
|
+
text: JSON.stringify({ id, message: "Record created successfully" }, null, 2),
|
|
189
|
+
},
|
|
190
|
+
],
|
|
161
191
|
};
|
|
162
192
|
}
|
|
163
|
-
case
|
|
193
|
+
case "dataverse_update": {
|
|
164
194
|
const { entitySetName, id, data, etag } = UpdateInput.parse(args);
|
|
165
195
|
await client.updateRecord(entitySetName, id, data, etag);
|
|
166
|
-
return {
|
|
196
|
+
return {
|
|
197
|
+
content: [
|
|
198
|
+
{
|
|
199
|
+
type: "text",
|
|
200
|
+
text: JSON.stringify({ message: "Record updated successfully" }),
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
};
|
|
167
204
|
}
|
|
168
|
-
case
|
|
205
|
+
case "dataverse_delete": {
|
|
169
206
|
const { entitySetName, id, confirm } = DeleteInput.parse(args);
|
|
170
207
|
if (!confirm) {
|
|
171
208
|
return {
|
|
172
|
-
content: [
|
|
173
|
-
|
|
209
|
+
content: [
|
|
210
|
+
{
|
|
211
|
+
type: "text",
|
|
174
212
|
text: JSON.stringify({
|
|
175
213
|
message: `Deletion not performed. Set 'confirm: true' to delete record '${id}' from '${entitySetName}'.`,
|
|
176
214
|
}),
|
|
177
|
-
}
|
|
215
|
+
},
|
|
216
|
+
],
|
|
178
217
|
};
|
|
179
218
|
}
|
|
180
219
|
await client.deleteRecord(entitySetName, id);
|
|
181
|
-
return {
|
|
220
|
+
return {
|
|
221
|
+
content: [
|
|
222
|
+
{
|
|
223
|
+
type: "text",
|
|
224
|
+
text: JSON.stringify({ message: "Record deleted successfully" }),
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
};
|
|
182
228
|
}
|
|
183
|
-
case
|
|
229
|
+
case "dataverse_upsert": {
|
|
184
230
|
const parsed = UpsertInput.parse(args);
|
|
185
|
-
const { entitySetName, alternateKey, alternateKeyValue, alternateKeys, data, mode =
|
|
231
|
+
const { entitySetName, alternateKey, alternateKeyValue, alternateKeys, data, mode = "upsert", } = parsed;
|
|
186
232
|
let keySegment;
|
|
187
233
|
if (alternateKeys && Object.keys(alternateKeys).length > 0) {
|
|
188
234
|
keySegment = Object.entries(alternateKeys)
|
|
189
235
|
.map(([k, v]) => `${esc(k)}='${esc(v)}'`)
|
|
190
|
-
.join(
|
|
236
|
+
.join(",");
|
|
191
237
|
}
|
|
192
|
-
const result = await client.upsertRecord(entitySetName, alternateKey ??
|
|
238
|
+
const result = await client.upsertRecord(entitySetName, alternateKey ?? "", alternateKeyValue ?? "", data, mode, keySegment);
|
|
193
239
|
return {
|
|
194
|
-
content: [
|
|
195
|
-
|
|
240
|
+
content: [
|
|
241
|
+
{
|
|
242
|
+
type: "text",
|
|
196
243
|
text: JSON.stringify({
|
|
197
244
|
operation: result.operation,
|
|
198
245
|
id: result.id,
|
|
199
246
|
message: `Record ${result.operation} successfully`,
|
|
200
247
|
}, null, 2),
|
|
201
|
-
}
|
|
248
|
+
},
|
|
249
|
+
],
|
|
202
250
|
};
|
|
203
251
|
}
|
|
204
|
-
case
|
|
252
|
+
case "dataverse_assign": {
|
|
205
253
|
const { entitySetName, id, ownerType, ownerId } = AssignInput.parse(args);
|
|
206
|
-
const entityRef = ownerType ===
|
|
207
|
-
await client.updateRecord(entitySetName, id, {
|
|
208
|
-
|
|
254
|
+
const entityRef = ownerType === "systemuser" ? "systemusers" : "teams";
|
|
255
|
+
await client.updateRecord(entitySetName, id, {
|
|
256
|
+
"ownerid@odata.bind": `/${entityRef}(${ownerId})`,
|
|
257
|
+
});
|
|
258
|
+
return {
|
|
259
|
+
content: [
|
|
260
|
+
{
|
|
261
|
+
type: "text",
|
|
262
|
+
text: JSON.stringify({ message: "Record assigned successfully" }),
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
};
|
|
209
266
|
}
|
|
210
267
|
default:
|
|
211
268
|
throw new Error(`Unknown CRUD tool: ${name}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.tools.js","sourceRoot":"","sources":["../../src/tools/crud.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,wCAAwC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,
|
|
1
|
+
{"version":3,"file":"crud.tools.js","sourceRoot":"","sources":["../../src/tools/crud.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataverseAdvancedClient } from
|
|
1
|
+
import type { DataverseAdvancedClient } from "../dataverse/dataverse-client-advanced.js";
|
|
2
2
|
export declare const customizationTools: ({
|
|
3
3
|
name: string;
|
|
4
4
|
description: string;
|
|
@@ -68,7 +68,7 @@ export declare const customizationTools: ({
|
|
|
68
68
|
})[];
|
|
69
69
|
export declare function handleCustomizationTool(name: string, args: unknown, client: DataverseAdvancedClient): Promise<{
|
|
70
70
|
content: Array<{
|
|
71
|
-
type:
|
|
71
|
+
type: "text";
|
|
72
72
|
text: string;
|
|
73
73
|
}>;
|
|
74
74
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customization.tools.d.ts","sourceRoot":"","sources":["../../src/tools/customization.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAoBzF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"customization.tools.d.ts","sourceRoot":"","sources":["../../src/tools/customization.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAoBzF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8D9B,CAAC;AAoCF,wBAAsB,uBAAuB,CAC3C,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,CAoJ7D"}
|