@mcp-consultant-tools/sharepoint 21.0.0-beta.2 → 21.0.0-beta.4
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/build/SharePointService.d.ts +9 -0
- package/build/SharePointService.d.ts.map +1 -1
- package/build/SharePointService.js +13 -0
- package/build/SharePointService.js.map +1 -1
- package/build/http-server.d.ts +3 -0
- package/build/http-server.d.ts.map +1 -0
- package/build/http-server.js +216 -0
- package/build/http-server.js.map +1 -0
- package/build/index.d.ts +6 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +42 -1036
- package/build/index.js.map +1 -1
- package/build/services/FileOperationsService.d.ts +52 -0
- package/build/services/FileOperationsService.d.ts.map +1 -0
- package/build/services/FileOperationsService.js +451 -0
- package/build/services/FileOperationsService.js.map +1 -0
- package/build/tools/prompts.d.ts +11 -0
- package/build/tools/prompts.d.ts.map +1 -0
- package/build/tools/prompts.js +470 -0
- package/build/tools/prompts.js.map +1 -0
- package/build/tools/read-tools.d.ts +13 -0
- package/build/tools/read-tools.d.ts.map +1 -0
- package/build/tools/read-tools.js +271 -0
- package/build/tools/read-tools.js.map +1 -0
- package/build/tools/write-tools.d.ts +14 -0
- package/build/tools/write-tools.d.ts.map +1 -0
- package/build/tools/write-tools.js +137 -0
- package/build/tools/write-tools.js.map +1 -0
- package/build/types/sharepoint-types.d.ts +34 -0
- package/build/types/sharepoint-types.d.ts.map +1 -1
- package/build/utils/tool-examples.d.ts +35 -0
- package/build/utils/tool-examples.d.ts.map +1 -0
- package/build/utils/tool-examples.js +55 -0
- package/build/utils/tool-examples.js.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharePoint Read Tools
|
|
3
|
+
*
|
|
4
|
+
* 15 existing read-only tools + 1 new spo-download-file tool.
|
|
5
|
+
* Extracted from index.ts for file size management.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { descWithExamples, SITE_ID_EXAMPLES, DRIVE_ID_EXAMPLES, FILE_PATH_EXAMPLES } from '../utils/tool-examples.js';
|
|
9
|
+
/**
|
|
10
|
+
* Register all read-only SharePoint tools with the MCP server
|
|
11
|
+
*/
|
|
12
|
+
export function registerReadTools(server, getService, getFileOps, getPPService) {
|
|
13
|
+
server.tool("spo-list-sites", "List all configured SharePoint sites (active and inactive)", {}, async () => {
|
|
14
|
+
try {
|
|
15
|
+
const service = getService();
|
|
16
|
+
const sites = service.getAllSites();
|
|
17
|
+
return { content: [{ type: "text", text: JSON.stringify(sites, null, 2) }] };
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error("Error listing SharePoint sites:", error);
|
|
21
|
+
return { content: [{ type: "text", text: `Failed to list sites: ${error.message}` }], isError: true };
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
server.tool("spo-get-site-info", "Get detailed site information including metadata, created/modified dates, and owner info", {
|
|
25
|
+
siteId: z.string().describe(descWithExamples("Site ID from configuration (use spo-list-sites to find IDs)", SITE_ID_EXAMPLES)),
|
|
26
|
+
}, async ({ siteId }) => {
|
|
27
|
+
try {
|
|
28
|
+
const service = getService();
|
|
29
|
+
const siteInfo = await service.getSiteInfo(siteId);
|
|
30
|
+
return { content: [{ type: "text", text: JSON.stringify(siteInfo, null, 2) }] };
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error("Error getting SharePoint site info:", error);
|
|
34
|
+
return { content: [{ type: "text", text: `Failed to get site info: ${error.message}` }], isError: true };
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
server.tool("spo-test-connection", "Test connectivity to a SharePoint site and verify permissions (Sites.Read.All and Files.Read.All required)", {
|
|
38
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
39
|
+
}, async ({ siteId }) => {
|
|
40
|
+
try {
|
|
41
|
+
const service = getService();
|
|
42
|
+
const result = await service.testConnection(siteId);
|
|
43
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
console.error("Error testing SharePoint connection:", error);
|
|
47
|
+
return { content: [{ type: "text", text: `Failed to test connection: ${error.message}` }], isError: true };
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
server.tool("spo-list-drives", "List all document libraries (drives) in a SharePoint site with metadata", {
|
|
51
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
52
|
+
}, async ({ siteId }) => {
|
|
53
|
+
try {
|
|
54
|
+
const service = getService();
|
|
55
|
+
const drives = await service.listDrives(siteId);
|
|
56
|
+
return { content: [{ type: "text", text: JSON.stringify(drives, null, 2) }] };
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
console.error("Error listing SharePoint drives:", error);
|
|
60
|
+
return { content: [{ type: "text", text: `Failed to list drives: ${error.message}` }], isError: true };
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
server.tool("spo-get-drive-info", "Get detailed document library information including quota, owner, and created/modified dates", {
|
|
64
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
65
|
+
driveId: z.string().describe(descWithExamples("Drive ID (use spo-list-drives to find IDs)", DRIVE_ID_EXAMPLES)),
|
|
66
|
+
}, async ({ siteId, driveId }) => {
|
|
67
|
+
try {
|
|
68
|
+
const service = getService();
|
|
69
|
+
const driveInfo = await service.getDriveInfo(siteId, driveId);
|
|
70
|
+
return { content: [{ type: "text", text: JSON.stringify(driveInfo, null, 2) }] };
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error("Error getting SharePoint drive info:", error);
|
|
74
|
+
return { content: [{ type: "text", text: `Failed to get drive info: ${error.message}` }], isError: true };
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
server.tool("spo-clear-cache", "Clear cached SharePoint responses (useful after site changes or for troubleshooting)", {
|
|
78
|
+
siteId: z.string().optional().describe("Clear cache for specific site only (optional)"),
|
|
79
|
+
pattern: z.string().optional().describe("Clear only cache entries matching this pattern (optional)"),
|
|
80
|
+
}, async ({ siteId, pattern }) => {
|
|
81
|
+
try {
|
|
82
|
+
const service = getService();
|
|
83
|
+
const clearedCount = service.clearCache(pattern, siteId);
|
|
84
|
+
return { content: [{ type: "text", text: JSON.stringify({ clearedCount, message: `Cleared ${clearedCount} cache entries` }, null, 2) }] };
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.error("Error clearing SharePoint cache:", error);
|
|
88
|
+
return { content: [{ type: "text", text: `Failed to clear cache: ${error.message}` }], isError: true };
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
server.tool("spo-list-items", "List all files and folders in a document library or folder", {
|
|
92
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
93
|
+
driveId: z.string().describe("Drive ID"),
|
|
94
|
+
folderId: z.string().optional().describe("Folder ID (optional, defaults to root)"),
|
|
95
|
+
}, async ({ siteId, driveId, folderId }) => {
|
|
96
|
+
try {
|
|
97
|
+
const service = getService();
|
|
98
|
+
const items = await service.listItems(siteId, driveId, folderId);
|
|
99
|
+
return { content: [{ type: "text", text: JSON.stringify(items, null, 2) }] };
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error("Error listing SharePoint items:", error);
|
|
103
|
+
return { content: [{ type: "text", text: `Failed to list items: ${error.message}` }], isError: true };
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
server.tool("spo-get-item", "Get detailed file or folder metadata by ID", {
|
|
107
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
108
|
+
driveId: z.string().describe("Drive ID"),
|
|
109
|
+
itemId: z.string().describe("Item ID"),
|
|
110
|
+
}, async ({ siteId, driveId, itemId }) => {
|
|
111
|
+
try {
|
|
112
|
+
const service = getService();
|
|
113
|
+
const item = await service.getItem(siteId, driveId, itemId);
|
|
114
|
+
return { content: [{ type: "text", text: JSON.stringify(item, null, 2) }] };
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
console.error("Error getting SharePoint item:", error);
|
|
118
|
+
return { content: [{ type: "text", text: `Failed to get item: ${error.message}` }], isError: true };
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
server.tool("spo-get-item-by-path", "Get file or folder metadata by path (relative to drive root)", {
|
|
122
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
123
|
+
driveId: z.string().describe("Drive ID"),
|
|
124
|
+
path: z.string().describe(descWithExamples("Item path relative to drive root", FILE_PATH_EXAMPLES)),
|
|
125
|
+
}, async ({ siteId, driveId, path }) => {
|
|
126
|
+
try {
|
|
127
|
+
const service = getService();
|
|
128
|
+
const item = await service.getItemByPath(siteId, driveId, path);
|
|
129
|
+
return { content: [{ type: "text", text: JSON.stringify(item, null, 2) }] };
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
console.error("Error getting SharePoint item by path:", error);
|
|
133
|
+
return { content: [{ type: "text", text: `Failed to get item by path: ${error.message}` }], isError: true };
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
server.tool("spo-search-items", "Search for files by filename or metadata (filename and metadata search only, not full-text)", {
|
|
137
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
138
|
+
query: z.string().describe("Search query"),
|
|
139
|
+
driveId: z.string().optional().describe("Limit search to specific drive (optional)"),
|
|
140
|
+
limit: z.number().optional().describe("Maximum results (default: 100, max configured in SHAREPOINT_MAX_SEARCH_RESULTS)"),
|
|
141
|
+
}, async ({ siteId, query, driveId, limit }) => {
|
|
142
|
+
try {
|
|
143
|
+
const service = getService();
|
|
144
|
+
const result = await service.searchItems(siteId, query, driveId, limit);
|
|
145
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
console.error("Error searching SharePoint items:", error);
|
|
149
|
+
return { content: [{ type: "text", text: `Failed to search items: ${error.message}` }], isError: true };
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
server.tool("spo-get-recent-items", "Get recently modified items in a document library", {
|
|
153
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
154
|
+
driveId: z.string().describe("Drive ID"),
|
|
155
|
+
limit: z.number().optional().describe("Maximum results (default: 20, max: 100)"),
|
|
156
|
+
days: z.number().optional().describe("Days back to search (default: 30)"),
|
|
157
|
+
}, async ({ siteId, driveId, limit, days }) => {
|
|
158
|
+
try {
|
|
159
|
+
const service = getService();
|
|
160
|
+
const items = await service.getRecentItems(siteId, driveId, limit, days);
|
|
161
|
+
return { content: [{ type: "text", text: JSON.stringify(items, null, 2) }] };
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error("Error getting recent SharePoint items:", error);
|
|
165
|
+
return { content: [{ type: "text", text: `Failed to get recent items: ${error.message}` }], isError: true };
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
server.tool("spo-get-folder-structure", "Get recursive folder tree structure (useful for understanding site organization)", {
|
|
169
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
170
|
+
driveId: z.string().describe("Drive ID"),
|
|
171
|
+
folderId: z.string().optional().describe("Root folder ID (optional, defaults to drive root)"),
|
|
172
|
+
depth: z.number().optional().describe("Recursion depth (default: 3, max: 10)"),
|
|
173
|
+
}, async ({ siteId, driveId, folderId, depth }) => {
|
|
174
|
+
try {
|
|
175
|
+
const service = getService();
|
|
176
|
+
const tree = await service.getFolderStructure(siteId, driveId, folderId, depth);
|
|
177
|
+
return { content: [{ type: "text", text: JSON.stringify(tree, null, 2) }] };
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
console.error("Error getting SharePoint folder structure:", error);
|
|
181
|
+
return { content: [{ type: "text", text: `Failed to get folder structure: ${error.message}` }], isError: true };
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
server.tool("spo-get-crm-doc-locs", "Get SharePoint document locations configured in PowerPlatform Dataverse (sharepointdocumentlocation entity)", {
|
|
185
|
+
entityName: z.string().optional().describe("Filter by entity logical name (e.g., 'account', 'contact')"),
|
|
186
|
+
recordId: z.string().optional().describe("Filter by specific record ID (GUID)"),
|
|
187
|
+
}, async ({ entityName, recordId }) => {
|
|
188
|
+
try {
|
|
189
|
+
const spoService = getService();
|
|
190
|
+
const ppService = getPPService();
|
|
191
|
+
const locations = await spoService.getCrmDocumentLocations(ppService, entityName, recordId);
|
|
192
|
+
return { content: [{ type: "text", text: JSON.stringify(locations, null, 2) }] };
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
console.error("Error getting CRM document locations:", error);
|
|
196
|
+
return { content: [{ type: "text", text: `Failed to get CRM document locations: ${error.message}` }], isError: true };
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
server.tool("spo-validate-doc-loc", "Validate that a PowerPlatform document location configuration matches the actual SharePoint site structure. Checks site accessibility, folder existence, and file counts. Returns validation status (valid/warning/error) with issues and recommendations.", {
|
|
200
|
+
documentLocationId: z.string().describe("GUID of the sharepointdocumentlocation record in PowerPlatform"),
|
|
201
|
+
}, async ({ documentLocationId }) => {
|
|
202
|
+
try {
|
|
203
|
+
const spoService = getService();
|
|
204
|
+
const ppService = getPPService();
|
|
205
|
+
const result = await spoService.validateDocumentLocation(ppService, documentLocationId);
|
|
206
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.error("Error validating document location:", error);
|
|
210
|
+
return { content: [{ type: "text", text: `Failed to validate document location: ${error.message}` }], isError: true };
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
server.tool("spo-verify-doc-mig", "Verify that documents were successfully migrated from source to target SharePoint folder. Compares file counts, sizes, names, and modified dates. Returns migration status (complete/incomplete/failed) with success rate and detailed comparison.", {
|
|
214
|
+
sourceSiteId: z.string().describe("Source SharePoint site ID"),
|
|
215
|
+
sourcePath: z.string().describe("Source folder path (e.g., '/Documents/Archive')"),
|
|
216
|
+
targetSiteId: z.string().describe("Target SharePoint site ID"),
|
|
217
|
+
targetPath: z.string().describe("Target folder path (e.g., '/NewLibrary/Archive')"),
|
|
218
|
+
}, async ({ sourceSiteId, sourcePath, targetSiteId, targetPath }) => {
|
|
219
|
+
try {
|
|
220
|
+
const spoService = getService();
|
|
221
|
+
const ppService = getPPService();
|
|
222
|
+
const result = await spoService.verifyDocumentMigration(ppService, sourceSiteId, sourcePath, targetSiteId, targetPath);
|
|
223
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
console.error("Error verifying document migration:", error);
|
|
227
|
+
return { content: [{ type: "text", text: `Failed to verify document migration: ${error.message}` }], isError: true };
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
// ========================================
|
|
231
|
+
// NEW: Download file (read operation, no flag)
|
|
232
|
+
// ========================================
|
|
233
|
+
server.tool("spo-download-file", "Download file content from SharePoint. Text files (json, csv, txt, xml, etc.) returned as UTF-8 string. Binary files (docx, pdf, xlsx, etc.) returned as base64-encoded string. Use itemId or path to identify the file.", {
|
|
234
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
235
|
+
driveId: z.string().describe("Drive ID"),
|
|
236
|
+
itemId: z.string().optional().describe("Item ID (use this OR path, not both)"),
|
|
237
|
+
path: z.string().optional().describe(descWithExamples("File path relative to drive root (use this OR itemId, not both)", FILE_PATH_EXAMPLES)),
|
|
238
|
+
}, async ({ siteId, driveId, itemId, path }) => {
|
|
239
|
+
try {
|
|
240
|
+
if (!itemId && !path) {
|
|
241
|
+
return {
|
|
242
|
+
content: [{ type: "text", text: "Error: Provide either 'itemId' or 'path' to identify the file." }],
|
|
243
|
+
isError: true,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
const fileOps = getFileOps();
|
|
247
|
+
const byPath = !itemId;
|
|
248
|
+
const identifier = itemId || path;
|
|
249
|
+
const result = await fileOps.downloadFile(siteId, driveId, identifier, byPath);
|
|
250
|
+
return {
|
|
251
|
+
content: [{
|
|
252
|
+
type: "text",
|
|
253
|
+
text: JSON.stringify({
|
|
254
|
+
fileName: result.fileName,
|
|
255
|
+
mimeType: result.mimeType,
|
|
256
|
+
encoding: result.encoding,
|
|
257
|
+
size: result.size,
|
|
258
|
+
itemId: result.itemId,
|
|
259
|
+
webUrl: result.webUrl,
|
|
260
|
+
content: result.content,
|
|
261
|
+
}, null, 2),
|
|
262
|
+
}],
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
console.error("Error downloading file:", error);
|
|
267
|
+
return { content: [{ type: "text", text: `Failed to download file: ${error.message}` }], isError: true };
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=read-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-tools.js","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEtH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAW,EACX,UAAmC,EACnC,UAAuC,EACvC,YAAuB;IAGvB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,4DAA4D,EAC5D,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,0FAA0F,EAC1F;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,6DAA6D,EAAE,gBAAgB,CAAC,CAAC;KAC/H,EACD,KAAK,EAAE,EAAE,MAAM,EAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,4GAA4G,EAC5G;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAC1D,EACD,KAAK,EAAE,EAAE,MAAM,EAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,yEAAyE,EACzE;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAC1D,EACD,KAAK,EAAE,EAAE,MAAM,EAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,8FAA8F,EAC9F;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,4CAA4C,EAAE,iBAAiB,CAAC,CAAC;KAChH,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAO,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,sFAAsF,EACtF;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QACvF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;KACrG,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAO,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,YAAY,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5I,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,4DAA4D,EAC5D;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACnF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAO,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,4CAA4C,EAC5C;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACvC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAO,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtG,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,8DAA8D,EAC9D;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC;KACpG,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAO,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,6FAA6F,EAC7F;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;KACzH,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAO,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,mDAAmD,EACnD;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAC1E,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAO,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,kFAAkF,EAClF;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC7F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KAC/E,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAO,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,6GAA6G,EAC7G;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;QACxG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAChF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAO,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,4PAA4P,EAC5P;QACE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;KAC1G,EACD,KAAK,EAAE,EAAE,kBAAkB,EAAO,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YACxF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,oPAAoP,EACpP;QACE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAClF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KACpF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAO,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YACvH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2CAA2C;IAC3C,+CAA+C;IAC/C,2CAA2C;IAE3C,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,0NAA0N,EAC1N;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC9E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,gBAAgB,CAAC,iEAAiE,EAAE,kBAAkB,CAAC,CACxG;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAO,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gEAAgE,EAAE,CAAC;oBACnG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC;YAElC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAE/E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,OAAO,EAAE,MAAM,CAAC,OAAO;yBACxB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharePoint Write Tools
|
|
3
|
+
*
|
|
4
|
+
* 6 write tools that require feature flags:
|
|
5
|
+
* - SHAREPOINT_ENABLE_WRITE: upload, create folder, move, copy, rename
|
|
6
|
+
* - SHAREPOINT_ENABLE_DELETE: delete (separate, more dangerous)
|
|
7
|
+
*/
|
|
8
|
+
import type { SharePointService } from '../SharePointService.js';
|
|
9
|
+
import type { FileOperationsService } from '../services/FileOperationsService.js';
|
|
10
|
+
/**
|
|
11
|
+
* Register all write SharePoint tools with the MCP server
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerWriteTools(server: any, getService: () => SharePointService, getFileOps: () => FileOperationsService, checkWrite: () => void, checkDelete: () => void): void;
|
|
14
|
+
//# sourceMappingURL=write-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAGlF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,MAAM,iBAAiB,EACnC,UAAU,EAAE,MAAM,qBAAqB,EACvC,UAAU,EAAE,MAAM,IAAI,EACtB,WAAW,EAAE,MAAM,IAAI,GACtB,IAAI,CAqKN"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharePoint Write Tools
|
|
3
|
+
*
|
|
4
|
+
* 6 write tools that require feature flags:
|
|
5
|
+
* - SHAREPOINT_ENABLE_WRITE: upload, create folder, move, copy, rename
|
|
6
|
+
* - SHAREPOINT_ENABLE_DELETE: delete (separate, more dangerous)
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import { descWithExamples, UPLOAD_PATH_EXAMPLES, FOLDER_NAME_EXAMPLES } from '../utils/tool-examples.js';
|
|
10
|
+
/**
|
|
11
|
+
* Register all write SharePoint tools with the MCP server
|
|
12
|
+
*/
|
|
13
|
+
export function registerWriteTools(server, getService, getFileOps, checkWrite, checkDelete) {
|
|
14
|
+
server.tool("spo-upload-file", "Upload a file to a SharePoint document library. Requires SHAREPOINT_ENABLE_WRITE=true. For text content use encoding 'utf-8' (default), for binary content use 'base64'. Files up to SHAREPOINT_MAX_UPLOAD_SIZE_MB (default 100MB) are supported.", {
|
|
15
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
16
|
+
driveId: z.string().describe("Drive ID"),
|
|
17
|
+
path: z.string().describe(descWithExamples("Target file path relative to drive root (including filename)", UPLOAD_PATH_EXAMPLES)),
|
|
18
|
+
content: z.string().describe("File content (text string or base64-encoded binary)"),
|
|
19
|
+
encoding: z.enum(['utf-8', 'base64']).optional().describe("Content encoding: 'utf-8' for text (default), 'base64' for binary"),
|
|
20
|
+
overwrite: z.boolean().optional().describe("Overwrite if file exists (default: false, will fail if file exists)"),
|
|
21
|
+
}, async ({ siteId, driveId, path, content, encoding, overwrite }) => {
|
|
22
|
+
try {
|
|
23
|
+
checkWrite();
|
|
24
|
+
const fileOps = getFileOps();
|
|
25
|
+
const result = await fileOps.uploadFile(siteId, driveId, path, content, encoding || 'utf-8', overwrite || false);
|
|
26
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error("Error uploading file:", error);
|
|
30
|
+
return { content: [{ type: "text", text: `Failed to upload file: ${error.message}` }], isError: true };
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
server.tool("spo-create-folder", "Create a new folder in a SharePoint document library. Requires SHAREPOINT_ENABLE_WRITE=true.", {
|
|
34
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
35
|
+
driveId: z.string().describe("Drive ID"),
|
|
36
|
+
parentPath: z.string().describe(descWithExamples("Parent folder path (use '/' for drive root)", [
|
|
37
|
+
{ label: "Drive root", value: "/" },
|
|
38
|
+
{ label: "Subfolder", value: "/Projects/2024" },
|
|
39
|
+
])),
|
|
40
|
+
folderName: z.string().describe(descWithExamples("Name for the new folder", FOLDER_NAME_EXAMPLES)),
|
|
41
|
+
}, async ({ siteId, driveId, parentPath, folderName }) => {
|
|
42
|
+
try {
|
|
43
|
+
checkWrite();
|
|
44
|
+
const fileOps = getFileOps();
|
|
45
|
+
const result = await fileOps.createFolder(siteId, driveId, parentPath, folderName);
|
|
46
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error("Error creating folder:", error);
|
|
50
|
+
return { content: [{ type: "text", text: `Failed to create folder: ${error.message}` }], isError: true };
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
server.tool("spo-delete-item", "Delete a file or folder from SharePoint. Requires SHAREPOINT_ENABLE_DELETE=true AND confirm=true. This action is IRREVERSIBLE - the item is moved to the site recycle bin.", {
|
|
54
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
55
|
+
driveId: z.string().describe("Drive ID"),
|
|
56
|
+
itemId: z.string().describe("ID of the file or folder to delete"),
|
|
57
|
+
confirm: z.boolean().describe("Must be set to true to confirm deletion. Safety mechanism to prevent accidental deletions."),
|
|
58
|
+
}, async ({ siteId, driveId, itemId, confirm }) => {
|
|
59
|
+
try {
|
|
60
|
+
checkDelete();
|
|
61
|
+
if (!confirm) {
|
|
62
|
+
return {
|
|
63
|
+
content: [{ type: "text", text: "Deletion cancelled: 'confirm' must be set to true. This is a safety mechanism - set confirm=true to proceed with deletion." }],
|
|
64
|
+
isError: true,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const fileOps = getFileOps();
|
|
68
|
+
const result = await fileOps.deleteItem(siteId, driveId, itemId);
|
|
69
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error("Error deleting item:", error);
|
|
73
|
+
return { content: [{ type: "text", text: `Failed to delete item: ${error.message}` }], isError: true };
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
server.tool("spo-move-item", "Move a file or folder to a new location within or across document libraries. Requires SHAREPOINT_ENABLE_WRITE=true.", {
|
|
77
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
78
|
+
driveId: z.string().describe("Source drive ID"),
|
|
79
|
+
itemId: z.string().describe("ID of the file or folder to move"),
|
|
80
|
+
targetDriveId: z.string().describe("Target drive ID (can be same as source for moves within a library)"),
|
|
81
|
+
targetParentPath: z.string().describe(descWithExamples("Target parent folder path in the target drive", [
|
|
82
|
+
{ label: "Drive root", value: "/" },
|
|
83
|
+
{ label: "Subfolder", value: "/Archive/2024" },
|
|
84
|
+
])),
|
|
85
|
+
}, async ({ siteId, driveId, itemId, targetDriveId, targetParentPath }) => {
|
|
86
|
+
try {
|
|
87
|
+
checkWrite();
|
|
88
|
+
const fileOps = getFileOps();
|
|
89
|
+
const result = await fileOps.moveItem(siteId, driveId, itemId, targetDriveId, targetParentPath);
|
|
90
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error("Error moving item:", error);
|
|
94
|
+
return { content: [{ type: "text", text: `Failed to move item: ${error.message}` }], isError: true };
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
server.tool("spo-copy-item", "Copy a file or folder to a new location. Requires SHAREPOINT_ENABLE_WRITE=true. Copy is asynchronous - the operation may take a moment to complete for large files.", {
|
|
98
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
99
|
+
driveId: z.string().describe("Source drive ID"),
|
|
100
|
+
itemId: z.string().describe("ID of the file or folder to copy"),
|
|
101
|
+
targetDriveId: z.string().describe("Target drive ID"),
|
|
102
|
+
targetParentPath: z.string().describe(descWithExamples("Target parent folder path in the target drive", [
|
|
103
|
+
{ label: "Drive root", value: "/" },
|
|
104
|
+
{ label: "Subfolder", value: "/Backup/Latest" },
|
|
105
|
+
])),
|
|
106
|
+
newName: z.string().optional().describe("Optional new name for the copy (defaults to original name)"),
|
|
107
|
+
}, async ({ siteId, driveId, itemId, targetDriveId, targetParentPath, newName }) => {
|
|
108
|
+
try {
|
|
109
|
+
checkWrite();
|
|
110
|
+
const fileOps = getFileOps();
|
|
111
|
+
const result = await fileOps.copyItem(siteId, driveId, itemId, targetDriveId, targetParentPath, newName);
|
|
112
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.error("Error copying item:", error);
|
|
116
|
+
return { content: [{ type: "text", text: `Failed to copy item: ${error.message}` }], isError: true };
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
server.tool("spo-rename-item", "Rename a file or folder in SharePoint. Requires SHAREPOINT_ENABLE_WRITE=true.", {
|
|
120
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
121
|
+
driveId: z.string().describe("Drive ID"),
|
|
122
|
+
itemId: z.string().describe("ID of the file or folder to rename"),
|
|
123
|
+
newName: z.string().describe("New name for the file or folder (include file extension for files)"),
|
|
124
|
+
}, async ({ siteId, driveId, itemId, newName }) => {
|
|
125
|
+
try {
|
|
126
|
+
checkWrite();
|
|
127
|
+
const fileOps = getFileOps();
|
|
128
|
+
const result = await fileOps.renameItem(siteId, driveId, itemId, newName);
|
|
129
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
console.error("Error renaming item:", error);
|
|
133
|
+
return { content: [{ type: "text", text: `Failed to rename item: ${error.message}` }], isError: true };
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=write-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-tools.js","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -210,4 +210,38 @@ export interface ConnectionTestResult {
|
|
|
210
210
|
error?: string;
|
|
211
211
|
timestamp: string;
|
|
212
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* File Download Result
|
|
215
|
+
*/
|
|
216
|
+
export interface FileDownloadResult {
|
|
217
|
+
content: string;
|
|
218
|
+
encoding: 'utf-8' | 'base64';
|
|
219
|
+
mimeType: string;
|
|
220
|
+
fileName: string;
|
|
221
|
+
size: number;
|
|
222
|
+
itemId: string;
|
|
223
|
+
webUrl: string;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* File Upload Result
|
|
227
|
+
*/
|
|
228
|
+
export interface FileUploadResult {
|
|
229
|
+
itemId: string;
|
|
230
|
+
name: string;
|
|
231
|
+
webUrl: string;
|
|
232
|
+
size: number;
|
|
233
|
+
createdDateTime: string;
|
|
234
|
+
lastModifiedDateTime: string;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* File Operation Result (move, copy, rename, delete, create folder)
|
|
238
|
+
*/
|
|
239
|
+
export interface FileOperationResult {
|
|
240
|
+
success: boolean;
|
|
241
|
+
operation: 'move' | 'copy' | 'rename' | 'delete' | 'createFolder';
|
|
242
|
+
itemId?: string;
|
|
243
|
+
name?: string;
|
|
244
|
+
webUrl?: string;
|
|
245
|
+
message: string;
|
|
246
|
+
}
|
|
213
247
|
//# sourceMappingURL=sharepoint-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharepoint-types.d.ts","sourceRoot":"","sources":["../../src/types/sharepoint-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sharepoint-types.d.ts","sourceRoot":"","sources":["../../src/types/sharepoint-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Examples for SharePoint Tools
|
|
3
|
+
* Provides examples to improve LLM accuracy when using these tools
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Helper to append examples to Zod describe() strings
|
|
7
|
+
* @param description The base parameter description
|
|
8
|
+
* @param examples Array of label/value pairs
|
|
9
|
+
* @returns Combined description with formatted examples
|
|
10
|
+
*/
|
|
11
|
+
export declare function descWithExamples(description: string, examples: {
|
|
12
|
+
label: string;
|
|
13
|
+
value: string;
|
|
14
|
+
}[]): string;
|
|
15
|
+
export declare const SITE_ID_EXAMPLES: {
|
|
16
|
+
label: string;
|
|
17
|
+
value: string;
|
|
18
|
+
}[];
|
|
19
|
+
export declare const DRIVE_ID_EXAMPLES: {
|
|
20
|
+
label: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}[];
|
|
23
|
+
export declare const FILE_PATH_EXAMPLES: {
|
|
24
|
+
label: string;
|
|
25
|
+
value: string;
|
|
26
|
+
}[];
|
|
27
|
+
export declare const UPLOAD_PATH_EXAMPLES: {
|
|
28
|
+
label: string;
|
|
29
|
+
value: string;
|
|
30
|
+
}[];
|
|
31
|
+
export declare const FOLDER_NAME_EXAMPLES: {
|
|
32
|
+
label: string;
|
|
33
|
+
value: string;
|
|
34
|
+
}[];
|
|
35
|
+
//# sourceMappingURL=tool-examples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-examples.d.ts","sourceRoot":"","sources":["../../src/utils/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC3C,MAAM,CAMR;AAMD,eAAO,MAAM,gBAAgB;;;GAI5B,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;GAE7B,CAAC;AAMF,eAAO,MAAM,kBAAkB;;;GAI9B,CAAC;AAMF,eAAO,MAAM,oBAAoB;;;GAGhC,CAAC;AAMF,eAAO,MAAM,oBAAoB;;;GAGhC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Examples for SharePoint Tools
|
|
3
|
+
* Provides examples to improve LLM accuracy when using these tools
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Helper to append examples to Zod describe() strings
|
|
7
|
+
* @param description The base parameter description
|
|
8
|
+
* @param examples Array of label/value pairs
|
|
9
|
+
* @returns Combined description with formatted examples
|
|
10
|
+
*/
|
|
11
|
+
export function descWithExamples(description, examples) {
|
|
12
|
+
if (examples.length === 0)
|
|
13
|
+
return description;
|
|
14
|
+
const exampleLines = examples
|
|
15
|
+
.map(ex => ` - ${ex.label}: \`${ex.value}\``)
|
|
16
|
+
.join('\n');
|
|
17
|
+
return `${description}\n\nExamples:\n${exampleLines}`;
|
|
18
|
+
}
|
|
19
|
+
// ========================================
|
|
20
|
+
// Site ID Examples
|
|
21
|
+
// ========================================
|
|
22
|
+
export const SITE_ID_EXAMPLES = [
|
|
23
|
+
{ label: "Named site", value: "intranet" },
|
|
24
|
+
{ label: "Default site", value: "default" },
|
|
25
|
+
{ label: "Project site", value: "project-alpha" },
|
|
26
|
+
];
|
|
27
|
+
// ========================================
|
|
28
|
+
// Drive ID Examples
|
|
29
|
+
// ========================================
|
|
30
|
+
export const DRIVE_ID_EXAMPLES = [
|
|
31
|
+
{ label: "Drive GUID", value: "b!abc123..." },
|
|
32
|
+
];
|
|
33
|
+
// ========================================
|
|
34
|
+
// File Path Examples
|
|
35
|
+
// ========================================
|
|
36
|
+
export const FILE_PATH_EXAMPLES = [
|
|
37
|
+
{ label: "Root file", value: "/Report.xlsx" },
|
|
38
|
+
{ label: "Nested file", value: "/Projects/2024/proposal.docx" },
|
|
39
|
+
{ label: "Folder path", value: "/Shared Documents/Archive" },
|
|
40
|
+
];
|
|
41
|
+
// ========================================
|
|
42
|
+
// Upload Path Examples
|
|
43
|
+
// ========================================
|
|
44
|
+
export const UPLOAD_PATH_EXAMPLES = [
|
|
45
|
+
{ label: "Root upload", value: "/NewFile.txt" },
|
|
46
|
+
{ label: "Subfolder upload", value: "/Reports/Q1/summary.csv" },
|
|
47
|
+
];
|
|
48
|
+
// ========================================
|
|
49
|
+
// Folder Name Examples
|
|
50
|
+
// ========================================
|
|
51
|
+
export const FOLDER_NAME_EXAMPLES = [
|
|
52
|
+
{ label: "Simple folder", value: "Archive" },
|
|
53
|
+
{ label: "Dated folder", value: "2024-Q1-Reports" },
|
|
54
|
+
];
|
|
55
|
+
//# sourceMappingURL=tool-examples.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../../src/utils/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,QAA4C;IAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ;SAC1B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;SAC7C,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,GAAG,WAAW,kBAAkB,YAAY,EAAE,CAAC;AACxD,CAAC;AAED,2CAA2C;AAC3C,mBAAmB;AACnB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE;IAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;CAClD,CAAC;AAEF,2CAA2C;AAC3C,oBAAoB;AACpB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;CAC9C,CAAC;AAEF,2CAA2C;AAC3C,qBAAqB;AACrB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;IAC7C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,8BAA8B,EAAE;IAC/D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,2BAA2B,EAAE;CAC7D,CAAC;AAEF,2CAA2C;AAC3C,uBAAuB;AACvB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;IAC/C,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,yBAAyB,EAAE;CAChE,CAAC;AAEF,2CAA2C;AAC3C,uBAAuB;AACvB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE;CACpD,CAAC"}
|