@cplace/mcp-server 1.10.9 → 1.11.1
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/README.md +14 -2
- package/dist/api.d.ts +11 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +117 -29
- package/dist/api.js.map +1 -1
- package/dist/plugins/low-code.d.ts.map +1 -1
- package/dist/plugins/low-code.js +16 -1
- package/dist/plugins/low-code.js.map +1 -1
- package/dist/searchSchema.d.ts +1 -1
- package/dist/searchSchema.d.ts.map +1 -1
- package/dist/searchSchema.js +143 -86
- package/dist/searchSchema.js.map +1 -1
- package/dist/tools/documents.d.ts +23 -0
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +162 -0
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/enum-provider-simulation.d.ts +20 -0
- package/dist/tools/enum-provider-simulation.d.ts.map +1 -0
- package/dist/tools/enum-provider-simulation.js +139 -0
- package/dist/tools/enum-provider-simulation.js.map +1 -0
- package/dist/tools/enum-providers.d.ts +45 -0
- package/dist/tools/enum-providers.d.ts.map +1 -0
- package/dist/tools/enum-providers.js +190 -0
- package/dist/tools/enum-providers.js.map +1 -0
- package/dist/tools/layout.d.ts.map +1 -1
- package/dist/tools/layout.js +0 -2
- package/dist/tools/layout.js.map +1 -1
- package/dist/tools/page-action-simulation.d.ts +2 -2
- package/dist/tools/page-action-simulation.d.ts.map +1 -1
- package/dist/tools/page-action-simulation.js +10 -6
- package/dist/tools/page-action-simulation.js.map +1 -1
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +4 -0
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/ppt-export-schemas.d.ts +8 -8
- package/dist/tools/ppt-export.d.ts +8 -8
- package/dist/tools/search.d.ts +2 -2
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +13 -11
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/type-management.d.ts +41 -6
- package/dist/tools/type-management.d.ts.map +1 -1
- package/dist/tools/type-management.js +131 -4
- package/dist/tools/type-management.js.map +1 -1
- package/dist/tools/type-messages.d.ts +42 -0
- package/dist/tools/type-messages.d.ts.map +1 -0
- package/dist/tools/type-messages.js +139 -0
- package/dist/tools/type-messages.js.map +1 -0
- package/dist/tools/widget-simulation.d.ts +2 -2
- package/dist/tools/widget-simulation.d.ts.map +1 -1
- package/dist/tools/widget-simulation.js +9 -5
- package/dist/tools/widget-simulation.js.map +1 -1
- package/dist/utils/fileIO.d.ts +12 -0
- package/dist/utils/fileIO.d.ts.map +1 -0
- package/dist/utils/fileIO.js +38 -0
- package/dist/utils/fileIO.js.map +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +55 -30
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -146,6 +146,17 @@ export const TYPE_MANAGEMENT_TOOL_DEFINITIONS = {
|
|
|
146
146
|
.string()
|
|
147
147
|
.optional()
|
|
148
148
|
.describe("Prefix for attribute names (e.g., 'cf.mycompany.risk' - no trailing dot)"),
|
|
149
|
+
nameTableColumnWidth: z
|
|
150
|
+
.number()
|
|
151
|
+
.int()
|
|
152
|
+
.optional()
|
|
153
|
+
.describe('Width of the name column in tables, in pixels. -1 = default/auto width.'),
|
|
154
|
+
instancesPageUID: z
|
|
155
|
+
.string()
|
|
156
|
+
.optional()
|
|
157
|
+
.describe('Page UID of a custom overview page for this type. Must be a page in the same ' +
|
|
158
|
+
"workspace as the type. Pass '' (empty string) to clear the link on update. " +
|
|
159
|
+
"Pairs with 'enableIconLink' (the type icon links to this page)."),
|
|
149
160
|
localizedPageNamesMode: z
|
|
150
161
|
.enum(['none', 'optional', 'optional_with_dialog', 'mandatory'])
|
|
151
162
|
.optional()
|
|
@@ -188,15 +199,63 @@ export const TYPE_MANAGEMENT_TOOL_DEFINITIONS = {
|
|
|
188
199
|
.describe('Localized error messages for pattern validation'),
|
|
189
200
|
precision: z.number().optional().describe('Decimal precision (-1 for unlimited)'),
|
|
190
201
|
suffix: z.record(z.string()).optional().describe('Localized suffix text'),
|
|
191
|
-
specificity: z
|
|
202
|
+
specificity: z
|
|
203
|
+
.enum(['DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR'])
|
|
204
|
+
.optional()
|
|
205
|
+
.describe("For 'date' constraints: granularity of the date value (default: 'DAY'). " +
|
|
206
|
+
"Time-of-day is controlled by the separate 'withTime' boolean, not by specificity. " +
|
|
207
|
+
"Note: the old values 'date'/'datetime'/'time' were never functional and are rejected."),
|
|
192
208
|
withTime: z.boolean().optional().describe('Include time component'),
|
|
193
|
-
dateFormat: z
|
|
209
|
+
dateFormat: z
|
|
210
|
+
.enum([
|
|
211
|
+
'YEAR_SHORT',
|
|
212
|
+
'YEAR_LONG',
|
|
213
|
+
'QUARTER_SLASH_YEAR_SHORT',
|
|
214
|
+
'QUARTER_SLASH_YEAR_LONG',
|
|
215
|
+
'QUARTER_DOT_YEAR_SHORT',
|
|
216
|
+
'QUARTER_DOT_YEAR_LONG',
|
|
217
|
+
'MONTH_SHORT_YEAR_SHORT',
|
|
218
|
+
'MONTH_SHORT',
|
|
219
|
+
'MONTH_FULL',
|
|
220
|
+
'MONTH_LONG',
|
|
221
|
+
'MONTH_SHORT_YEAR_SHORT_UNIFORM',
|
|
222
|
+
'MONTH_SHORT_YEAR_LONG',
|
|
223
|
+
'WEEK_YEAR_SHORT',
|
|
224
|
+
'WEEK_YEAR_LONG',
|
|
225
|
+
'DAY_ALL_SHORT',
|
|
226
|
+
'DAY_YEAR_LONG',
|
|
227
|
+
'DAY_MONTH_YEAR_LONG',
|
|
228
|
+
'DAY_NO_YEAR_UNIFORM',
|
|
229
|
+
'DAY_YEAR_SHORT_UNIFORM',
|
|
230
|
+
'DAY_YEAR_LONG_UNIFORM',
|
|
231
|
+
'ISO_8601',
|
|
232
|
+
'ISO_8601_RAW',
|
|
233
|
+
'DAY_WEEK_WEEKDAY_YEAR',
|
|
234
|
+
])
|
|
235
|
+
.optional()
|
|
236
|
+
.describe("For 'date' constraints: display format key. Patterns are locale-dependent (EN / DE): " +
|
|
237
|
+
'YEAR_SHORT = yy / yy; YEAR_LONG = yyyy / yyyy; ' +
|
|
238
|
+
'QUARTER_SLASH_YEAR_SHORT = QQQ/yy; QUARTER_SLASH_YEAR_LONG = QQQ/yyyy; ' +
|
|
239
|
+
'QUARTER_DOT_YEAR_SHORT = QQQ.yy; QUARTER_DOT_YEAR_LONG = QQQ.yyyy; ' +
|
|
240
|
+
'MONTH_SHORT_YEAR_SHORT = MM/yy / MM.yy; MONTH_SHORT = MM/yyyy / MM.yyyy; ' +
|
|
241
|
+
'MONTH_FULL = MMMM yyyy; MONTH_LONG = MMM yyyy; ' +
|
|
242
|
+
'MONTH_SHORT_YEAR_SHORT_UNIFORM = MM/yy; MONTH_SHORT_YEAR_LONG = MM/yyyy; ' +
|
|
243
|
+
'WEEK_YEAR_SHORT = ww/YY; WEEK_YEAR_LONG = ww/YYYY; ' +
|
|
244
|
+
'DAY_ALL_SHORT = MM/dd/yy / dd.MM.yy; DAY_YEAR_LONG = MM/dd/yyyy / dd.MM.yyyy; ' +
|
|
245
|
+
'DAY_MONTH_YEAR_LONG = dd-MMM-yyyy; DAY_NO_YEAR_UNIFORM = dd.MM.; ' +
|
|
246
|
+
'DAY_YEAR_SHORT_UNIFORM = dd.MM.yy; DAY_YEAR_LONG_UNIFORM = dd.MM.yyyy; ' +
|
|
247
|
+
'ISO_8601 = yyyy-MM-dd; ISO_8601_RAW = yyyyMMdd; DAY_WEEK_WEEKDAY_YEAR = ww.e/YY. ' +
|
|
248
|
+
"When omitted, the specificity's default format applies. " +
|
|
249
|
+
"Read responses return this key as 'dateFormatKey'. " +
|
|
250
|
+
'Free-form patterns (e.g. "dd.MM.yyyy") are not accepted.'),
|
|
194
251
|
targetTypeNames: z
|
|
195
252
|
.array(z.string())
|
|
196
253
|
.optional()
|
|
197
254
|
.describe("For 'reference' constraints: target type internal names (e.g., ['cf.example.targetType']). " +
|
|
198
255
|
"Required when targetEntityKind is 'page' or omitted. " +
|
|
199
|
-
"Not needed when targetEntityKind is 'person', 'group', 'principal', or 'document'."
|
|
256
|
+
"Not needed when targetEntityKind is 'person', 'group', 'principal', or 'document'. " +
|
|
257
|
+
'Each target type must already exist. For self-referencing attributes, ' +
|
|
258
|
+
'create the type first, then add the attribute referencing it in a separate call.'),
|
|
200
259
|
targetEntityKind: z
|
|
201
260
|
.string()
|
|
202
261
|
.optional()
|
|
@@ -205,7 +264,37 @@ export const TYPE_MANAGEMENT_TOOL_DEFINITIONS = {
|
|
|
205
264
|
'When set to a non-page kind, targetTypeNames is not required.'),
|
|
206
265
|
sameWorkspace: z.boolean().optional().describe('Restrict to same workspace'),
|
|
207
266
|
isHierarchy: z.boolean().optional().describe('Whether this is a hierarchical reference'),
|
|
208
|
-
inverseRoleName: z
|
|
267
|
+
inverseRoleName: z
|
|
268
|
+
.record(z.string())
|
|
269
|
+
.optional()
|
|
270
|
+
.describe('Localized inverse role name shown on the referenced page - e.g., ' +
|
|
271
|
+
'{"en": "Referenced by", "de": "Referenziert von"}. ' +
|
|
272
|
+
'On update, the whole localized map is replaced.'),
|
|
273
|
+
showCreateNewButton: z
|
|
274
|
+
.boolean()
|
|
275
|
+
.optional()
|
|
276
|
+
.describe("For 'reference' constraints: show the 'Create new' button next to the reference picker (default: true)"),
|
|
277
|
+
showInverseRoleAsList: z
|
|
278
|
+
.boolean()
|
|
279
|
+
.optional()
|
|
280
|
+
.describe("For 'reference' constraints: display the inverse role as a list on the referenced page (default: false)"),
|
|
281
|
+
hideAdditionalReferenceInformation: z
|
|
282
|
+
.boolean()
|
|
283
|
+
.optional()
|
|
284
|
+
.describe("For 'reference' constraints: hide additional reference information (default: false)"),
|
|
285
|
+
showLinkAsTextOnly: z
|
|
286
|
+
.boolean()
|
|
287
|
+
.optional()
|
|
288
|
+
.describe("For 'reference' constraints: render the reference link as plain text (default: false)"),
|
|
289
|
+
sortOrderForReference: z
|
|
290
|
+
.object({
|
|
291
|
+
sortColumn: z
|
|
292
|
+
.string()
|
|
293
|
+
.describe("Attribute internal name to sort by (e.g., '_name_' for the page name)"),
|
|
294
|
+
sortOrder: z.enum(['asc', 'desc']).describe('Sort direction'),
|
|
295
|
+
})
|
|
296
|
+
.optional()
|
|
297
|
+
.describe("For 'reference' constraints: sort order for reference auto-completion suggestions"),
|
|
209
298
|
elements: z
|
|
210
299
|
.array(z.object({
|
|
211
300
|
value: z.string().describe('Enumeration value'),
|
|
@@ -248,6 +337,24 @@ export const TYPE_MANAGEMENT_TOOL_DEFINITIONS = {
|
|
|
248
337
|
showValuesWithLineBreak: z.boolean().optional().describe('Display values with line breaks'),
|
|
249
338
|
showInAttributesWidget: z.boolean().optional().describe('Show in attribute widgets'),
|
|
250
339
|
showInColumnSelection: z.boolean().optional().describe('Include in column selection'),
|
|
340
|
+
tableColumnWidth: z
|
|
341
|
+
.number()
|
|
342
|
+
.int()
|
|
343
|
+
.optional()
|
|
344
|
+
.describe('Column width in tables, in pixels. -1 = default/auto width.'),
|
|
345
|
+
queryableForScripting: z
|
|
346
|
+
.boolean()
|
|
347
|
+
.optional()
|
|
348
|
+
.describe('Whether the attribute can be queried from low-code scripts (default: false)'),
|
|
349
|
+
defaultValues: z
|
|
350
|
+
.array(z.any())
|
|
351
|
+
.optional()
|
|
352
|
+
.describe('Default values for new pages, validated against the attribute constraint. ' +
|
|
353
|
+
'Examples by constraint type — string: ["Draft"]; number: [5]; boolean: [true]; ' +
|
|
354
|
+
'enumeration: ["high"] (must be an element); reference: page UID(s); ' +
|
|
355
|
+
'date: ISO date string (e.g. "2026-06-01"). ' +
|
|
356
|
+
'Single-valued attributes accept at most one value. ' +
|
|
357
|
+
'Mismatched values are rejected with an error. Empty array clears the defaults.'),
|
|
251
358
|
},
|
|
252
359
|
annotations: { title: 'Manage Attribute Definition' },
|
|
253
360
|
},
|
|
@@ -345,6 +452,10 @@ export function registerTypeManagementTools(server, client) {
|
|
|
345
452
|
requestBody.autocompleteDetailsPattern = params.autocompleteDetailsPattern;
|
|
346
453
|
if (params.internalAttributeNamePrefix)
|
|
347
454
|
requestBody.internalAttributeNamePrefix = params.internalAttributeNamePrefix;
|
|
455
|
+
if (params.nameTableColumnWidth !== undefined)
|
|
456
|
+
requestBody.nameTableColumnWidth = params.nameTableColumnWidth;
|
|
457
|
+
if (params.instancesPageUID !== undefined)
|
|
458
|
+
requestBody.instancesPageUID = params.instancesPageUID;
|
|
348
459
|
if (params.localizedPageNamesMode)
|
|
349
460
|
requestBody.localizedPageNamesMode = params.localizedPageNamesMode;
|
|
350
461
|
const result = await client.makeApiRequest('json/type-definition', 'POST', undefined, requestBody);
|
|
@@ -402,6 +513,10 @@ export function registerTypeManagementTools(server, client) {
|
|
|
402
513
|
requestBody.displayNameGenerationPattern = params.displayNameGenerationPattern;
|
|
403
514
|
if (params.autocompleteDetailsPattern !== undefined)
|
|
404
515
|
requestBody.autocompleteDetailsPattern = params.autocompleteDetailsPattern;
|
|
516
|
+
if (params.nameTableColumnWidth !== undefined)
|
|
517
|
+
requestBody.nameTableColumnWidth = params.nameTableColumnWidth;
|
|
518
|
+
if (params.instancesPageUID !== undefined)
|
|
519
|
+
requestBody.instancesPageUID = params.instancesPageUID;
|
|
405
520
|
if (params.localizedPageNamesMode)
|
|
406
521
|
requestBody.localizedPageNamesMode = params.localizedPageNamesMode;
|
|
407
522
|
const result = await client.makeApiRequest('json/type-definition', 'PATCH', undefined, requestBody);
|
|
@@ -539,6 +654,12 @@ export function registerTypeManagementTools(server, client) {
|
|
|
539
654
|
requestBody.showInAttributesWidget = params.showInAttributesWidget;
|
|
540
655
|
if (params.showInColumnSelection !== undefined)
|
|
541
656
|
requestBody.showInColumnSelection = params.showInColumnSelection;
|
|
657
|
+
if (params.tableColumnWidth !== undefined)
|
|
658
|
+
requestBody.tableColumnWidth = params.tableColumnWidth;
|
|
659
|
+
if (params.queryableForScripting !== undefined)
|
|
660
|
+
requestBody.queryableForScripting = params.queryableForScripting;
|
|
661
|
+
if (params.defaultValues !== undefined)
|
|
662
|
+
requestBody.defaultValues = params.defaultValues;
|
|
542
663
|
const result = await client.makeApiRequest('json/attribute-definition', 'POST', undefined, requestBody);
|
|
543
664
|
debugLogWithTag('ATTRIBUTE_CREATION', `Successfully created attribute: ${params.attributeName}`);
|
|
544
665
|
return {
|
|
@@ -597,6 +718,12 @@ export function registerTypeManagementTools(server, client) {
|
|
|
597
718
|
requestBody.showInAttributesWidget = params.showInAttributesWidget;
|
|
598
719
|
if (params.showInColumnSelection !== undefined)
|
|
599
720
|
requestBody.showInColumnSelection = params.showInColumnSelection;
|
|
721
|
+
if (params.tableColumnWidth !== undefined)
|
|
722
|
+
requestBody.tableColumnWidth = params.tableColumnWidth;
|
|
723
|
+
if (params.queryableForScripting !== undefined)
|
|
724
|
+
requestBody.queryableForScripting = params.queryableForScripting;
|
|
725
|
+
if (params.defaultValues !== undefined)
|
|
726
|
+
requestBody.defaultValues = params.defaultValues;
|
|
600
727
|
const result = await client.makeApiRequest('json/attribute-definition', 'PATCH', undefined, requestBody);
|
|
601
728
|
debugLogWithTag('ATTRIBUTE_UPDATE', `Successfully updated attribute: ${params.attributeName}`);
|
|
602
729
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-management.js","sourceRoot":"","sources":["../../src/tools/type-management.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,2BAA2B,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAG1F,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AACpE,MAAM,gCAAgC,GAAG,oCAAoC,CAAC;AAC9E,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AACpE,MAAM,gCAAgC,GAAG,oCAAoC,CAAC;AAC9E,MAAM,iCAAiC,GAAG,qCAAqC,CAAC;AAUhF,IAAI,2BAA2B,GAAsC,IAAI,CAAC;AAE1E,MAAM,iCAAiC,GACrC,2UAA2U,CAAC;AAE9U,MAAM,UAAU,yCAAyC,CACvD,WAA8C;IAE9C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,IAAI,GACR,EAAE,CAAC,qBAAqB,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;gBAC7D,CAAC,CAAC,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxD,CAAC,CAAC,kBAAkB,CAAC;YACzB,OAAO,KAAK,EAAE,CAAC,cAAc,KAAK,IAAI,GAAG,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,iCAAiC,qDAAqD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0EAA0E,CAAC;IAC7L,CAAC;IACD,OAAO,GAAG,iCAAiC,qJAAqJ,CAAC;AACnM,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,MAAuB;IAC1E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAQ,MAAM,MAAM,CAAC,cAAc,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACvF,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,2BAA2B,GAAG,OAAqC,CAAC;gBAEpE,gCAAgC,CAAC,gCAAgC,CAAC,CAAC,WAAW;oBAC5E,yCAAyC,CAAC,2BAA2B,CAAC,CAAC;gBACzE,eAAe,CACb,iBAAiB,EACjB,4CAA4C,OAAO,CAAC,MAAM,UAAU,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe,CACb,iBAAiB,EACjB,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1G,CAAC;QACF,2BAA2B,GAAG,IAAI,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CAAC,SAAiB;IAC3D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClG,IAAI,aAAa,IAAI,iBAAiB,EAAE,CAAC;QACvC,OAAO,CACL,SAAS;YACT,+HAA+H,CAChI,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAID,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,CAAC,2BAA2B,CAAC,EAAE;QAC7B,WAAW,EACT,8NAA8N;QAChO,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC1B,QAAQ,CACP,2FAA2F,CAC5F;YAGH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;YAGH,cAAc,EAAE,CAAC;iBACd,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,6EAA6E,CAAC;YAC1F,eAAe,EAAE,CAAC;iBACf,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,+EAA+E,CAAC;YAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAG/D,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAG3F,OAAO,EAAE,CAAC;iBACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,6EAA6E,CAAC;YAC1F,OAAO,EAAE,CAAC;iBACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,iBAAiB,EAAE,CAAC;iBACjB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YACnE,iBAAiB,EAAE,CAAC;iBACjB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YAGnE,qBAAqB,EAAE,CAAC;iBACrB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,8DAA8D,CAAC;YAC3E,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;YACjE,qBAAqB,EAAE,CAAC;iBACrB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,kBAAkB,EAAE,CAAC;iBAClB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,cAAc,EAAE,CAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,cAAc,EAAE,CAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,eAAe,EAAE,CAAC;iBACf,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,qBAAqB,EAAE,CAAC;iBACrB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,8DAA8D,CAAC;YAG3E,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4FAA4F,CAC7F;YACH,qBAAqB,EAAE,CAAC;iBACrB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,6iBAA6iB,CAC9iB;YACH,4BAA4B,EAAE,CAAC;iBAC5B,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mVAAmV,CACpV;YACH,0BAA0B,EAAE,CAAC;iBAC1B,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iRAAiR,CAClR;YACH,2BAA2B,EAAE,CAAC;iBAC3B,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0EAA0E,CAAC;YAGvF,sBAAsB,EAAE,CAAC;iBACtB,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC;iBAC/D,QAAQ,EAAE;iBACV,QAAQ,CAAC,uBAAuB,CAAC;SACrC;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;KACjD;IACD,CAAC,gCAAgC,CAAC,EAAE;QAClC,WAAW,EAAE,yCAAyC,CAAC,2BAA2B,CAAC;QACnF,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC1B,QAAQ,CACP,qGAAqG,CACtG;YAGH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACxE,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CACP,oFAAoF,CACrF;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CACP,qMAAqM,CACtM;YAGH,YAAY,EAAE,CAAC;iBACZ,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;iBAC7D,QAAQ,EAAE;iBACV,QAAQ,CACP,6FAA6F,CAC9F;YACH,gBAAgB,EAAE,CAAC;iBAChB,MAAM,CAAC;gBACN,cAAc,EAAE,CAAC;qBACd,MAAM,EAAE;qBACR,QAAQ,CACP,yEAAyE;oBACvE,6EAA6E;oBAC7E,0CAA0C;oBAC1C,iFAAiF;oBACjF,4DAA4D;oBAC5D,gFAAgF;oBAChF,sFAAsF,CACzF;gBAEH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;gBAC9E,mBAAmB,EAAE,CAAC;qBACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBAClB,QAAQ,EAAE;qBACV,QAAQ,CAAC,iDAAiD,CAAC;gBAE9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBACjF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAEzE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACzF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAE5D,eAAe,EAAE,CAAC;qBACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,CACP,6FAA6F;oBAC3F,uDAAuD;oBACvD,oFAAoF,CACvF;gBACH,gBAAgB,EAAE,CAAC;qBAChB,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,gGAAgG;oBAC9F,oFAAoF;oBACpF,+DAA+D,CAClE;gBACH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBAC5E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;gBACxF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAExF,QAAQ,EAAE,CAAC;qBACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;oBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;oBACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;iBAC3D,CAAC,CACH;qBACA,QAAQ,EAAE;qBACV,QAAQ,CAAC,0EAA0E,CAAC;gBAEvF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;gBACtF,kBAAkB,EAAE,CAAC;qBAClB,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,6CAA6C,CAAC;gBAE1D,mBAAmB,EAAE,CAAC;qBACnB,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,gFAAgF,CACjF;gBACH,kBAAkB,EAAE,CAAC;qBAClB,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,kHAAkH,CACnH;aACJ,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CACP,qIAAqI,CACtI;YAGH,cAAc,EAAE,CAAC;iBACd,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CACP,iFAAiF,CAClF;YACH,mBAAmB,EAAE,CAAC;iBACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,oEAAoE,CAAC;YACjF,kBAAkB,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,oEAAoE,CAAC;YAGjF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC3E,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACpE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC5E,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC3F,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACpF,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SACtF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE;KACtD;IACD,CAAC,2BAA2B,CAAC,EAAE;QAC7B,WAAW,EACT,oMAAoM;QACtM,WAAW,EAAE;YACX,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,CAAC,oEAAoE,CAAC;YACjF,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CACP,uGAAuG,CACxG;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;KACjD;IACD,CAAC,gCAAgC,CAAC,EAAE;QAClC,WAAW,EACT,yIAAyI;QAC3I,WAAW,EAAE;YACX,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,CAAC,oEAAoE,CAAC;YACjF,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CACP,6FAA6F,CAC9F;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CACP,mFAAmF,CACpF;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE;KACtD;IACD,CAAC,iCAAiC,CAAC,EAAE;QACnC,WAAW,EACT,gQAAgQ;QAClQ,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE;KACvD;CACF,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAuB;IAEpF,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B,gCAAgC,CAAC,2BAA2B,CAAC,EAC7D,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAElC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACpD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,8EAA8E;6BACrF;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,eAAe,CACb,eAAe,EACf,6BAA6B,MAAM,CAAC,gBAAgB,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAC3F,CAAC;gBAGF,MAAM,WAAW,GAAQ;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,gBAAgB;iBACtC,CAAC;gBAGF,IAAI,MAAM,CAAC,cAAc;oBAAE,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC9E,IAAI,MAAM,CAAC,eAAe;oBAAE,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACjF,IAAI,MAAM,CAAC,WAAW;oBAAE,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACrE,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;gBAC5D,IAAI,MAAM,CAAC,OAAO;oBAAE,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzD,IAAI,MAAM,CAAC,OAAO;oBAAE,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;oBACxC,WAAW,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;gBAC3D,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;oBACxC,WAAW,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;gBAC3D,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;oBAAE,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBACzF,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACzC,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBAC7D,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;oBACrC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACrD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;oBACrC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACrD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;oBACtC,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACvD,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,QAAQ;oBAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC5D,IAAI,MAAM,CAAC,qBAAqB;oBAC9B,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,4BAA4B;oBACrC,WAAW,CAAC,4BAA4B,GAAG,MAAM,CAAC,4BAA4B,CAAC;gBACjF,IAAI,MAAM,CAAC,0BAA0B;oBACnC,WAAW,CAAC,0BAA0B,GAAG,MAAM,CAAC,0BAA0B,CAAC;gBAC7E,IAAI,MAAM,CAAC,2BAA2B;oBACpC,WAAW,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC;gBAC/E,IAAI,MAAM,CAAC,sBAAsB;oBAC/B,WAAW,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;gBAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACxC,sBAAsB,EACtB,MAAM,EACN,SAAS,EACT,WAAW,CACZ,CAAC;gBAEF,eAAe,CACb,eAAe,EACf,yCAAyC,MAAM,CAAC,gBAAgB,EAAE,CACnE,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAGN,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACpD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,8EAA8E;6BACrF;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,eAAe,CACb,aAAa,EACb,6BAA6B,MAAM,CAAC,gBAAgB,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAC3F,CAAC;gBAGF,MAAM,WAAW,GAAQ;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;iBAC1C,CAAC;gBAGF,IAAI,MAAM,CAAC,cAAc;oBAAE,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC9E,IAAI,MAAM,CAAC,eAAe;oBAAE,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACjF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;oBAAE,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACnF,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;oBACrC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACrD,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;oBAAE,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBACzF,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACzC,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBAC7D,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;oBACrC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACrD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;oBACtC,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACvD,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC1E,IAAI,MAAM,CAAC,2BAA2B,KAAK,SAAS;oBAClD,WAAW,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC;gBAC/E,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBACnE,IAAI,MAAM,CAAC,4BAA4B,KAAK,SAAS;oBACnD,WAAW,CAAC,4BAA4B,GAAG,MAAM,CAAC,4BAA4B,CAAC;gBACjF,IAAI,MAAM,CAAC,0BAA0B,KAAK,SAAS;oBACjD,WAAW,CAAC,0BAA0B,GAAG,MAAM,CAAC,0BAA0B,CAAC;gBAC7E,IAAI,MAAM,CAAC,sBAAsB;oBAC/B,WAAW,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;gBAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACxC,sBAAsB,EACtB,OAAO,EACP,SAAS,EACT,WAAW,CACZ,CAAC;gBAEF,eAAe,CACb,aAAa,EACb,yCAAyC,MAAM,CAAC,gBAAgB,EAAE,CACnE,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9E,eAAe,CACb,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAC/D,SAAS,aAAa,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpG,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,aAAa,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC1G;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CACjB,gCAAgC,EAChC,gCAAgC,CAAC,gCAAgC,CAAC,EAClE,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAElC,IACE,CAAC,MAAM,CAAC,WAAW;oBACnB,CAAC,MAAM,CAAC,gBAAgB;oBACxB,CAAC,MAAM,CAAC,aAAa;oBACrB,CAAC,MAAM,CAAC,gBAAgB,EACxB,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,gHAAgH;6BACvH;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAGD,IAAK,MAAM,CAAC,gBAAwB,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;oBAC5E,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,+FAA+F;6BACtG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAGD,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC;gBAClD,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;oBAC5D,IACE,UAAU;wBACV,UAAU,KAAK,MAAM;wBACrB,CAAC,2BAA2B,CAAC,QAAQ,CACnC,UAA0D,CAC3D,EACD,CAAC;wBACD,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,oCAAoC,UAAU,uIAAuI;iCAC5L;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBACD,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,QAAQ,CAChE,UAA0D,CAC3D,CAAC;oBACF,IACE,CAAC,qBAAqB;wBACtB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe;4BACvC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,EACvD,CAAC;wBACD,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,iSAAiS;iCACxS;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,KAAK,iBAAiB,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC;oBAC3D,IACE,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ;wBACjC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAC7C,CAAC;wBACD,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,iGAAiG;iCACxG;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;oBAC7B,IACE,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB;wBAC5C,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAC3C,CAAC;wBACD,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,2GAA2G;iCAClH;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,eAAe,CACb,oBAAoB,EACpB,uBAAuB,MAAM,CAAC,aAAa,cAAc,MAAM,CAAC,gBAAgB,kBAAkB,MAAM,CAAC,WAAW,EAAE,CACvH,CAAC;gBAGF,MAAM,WAAW,GAAQ;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,0BAA0B,EAAE,MAAM,CAAC,gBAAgB;oBACnD,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;iBAC1C,CAAC;gBAGF,IAAI,MAAM,CAAC,YAAY;oBAAE,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBAGxE,IAAI,MAAM,CAAC,cAAc;oBAAE,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC9E,IAAI,MAAM,CAAC,mBAAmB;oBAC5B,WAAW,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;gBAC/D,IAAI,MAAM,CAAC,kBAAkB;oBAAE,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBAC1F,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC1E,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;oBAAE,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACtF,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;oBACtC,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACvD,IAAI,MAAM,CAAC,uBAAuB,KAAK,SAAS;oBAC9C,WAAW,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;gBACvE,IAAI,MAAM,CAAC,sBAAsB,KAAK,SAAS;oBAC7C,WAAW,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;gBACrE,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBAEnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACxC,2BAA2B,EAC3B,MAAM,EACN,SAAS,EACT,WAAW,CACZ,CAAC;gBAEF,eAAe,CACb,oBAAoB,EACpB,mCAAmC,MAAM,CAAC,aAAa,EAAE,CAC1D,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAGN,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC7E,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,6FAA6F;6BACpG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAGD,IACE,MAAM,CAAC,gBAAgB;oBACtB,MAAM,CAAC,gBAAwB,CAAC,wBAAwB,KAAK,SAAS,EACvE,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,+FAA+F;6BACtG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,eAAe,CACb,kBAAkB,EAClB,uBAAuB,MAAM,CAAC,aAAa,cAAc,MAAM,CAAC,gBAAgB,kBAAkB,MAAM,CAAC,WAAW,EAAE,CACvH,CAAC;gBAGF,MAAM,WAAW,GAAQ;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,0BAA0B,EAAE,MAAM,CAAC,gBAAgB;oBACnD,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC,CAAC;gBAGF,IAAI,MAAM,CAAC,YAAY;oBAAE,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACxE,IAAI,MAAM,CAAC,gBAAgB;oBAAE,WAAW,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACpF,IAAI,MAAM,CAAC,cAAc;oBAAE,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC9E,IAAI,MAAM,CAAC,mBAAmB;oBAC5B,WAAW,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;gBAC/D,IAAI,MAAM,CAAC,kBAAkB;oBAAE,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBAC1F,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC1E,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;oBAAE,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACtF,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;oBACtC,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACvD,IAAI,MAAM,CAAC,uBAAuB,KAAK,SAAS;oBAC9C,WAAW,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;gBACvE,IAAI,MAAM,CAAC,sBAAsB,KAAK,SAAS;oBAC7C,WAAW,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;gBACrE,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBAEnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACxC,2BAA2B,EAC3B,OAAO,EACP,SAAS,EACT,WAAW,CACZ,CAAC;gBAEF,eAAe,CACb,kBAAkB,EAClB,mCAAmC,MAAM,CAAC,aAAa,EAAE,CAC1D,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9E,eAAe,CACb,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,EACzE,SAAS,aAAa,eAAe,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9F,CAAC;YAEF,MAAM,OAAO,GAAG,SAAS,aAAa,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC,CAAC,OAAO,CAAC;qBAClD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CACjB,iCAAiC,EACjC,gCAAgC,CAAC,iCAAiC,CAAC,EACnE,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YAClF,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,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACzG;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B,gCAAgC,CAAC,2BAA2B,CAAC,EAC7D,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC1C,eAAe,CACb,aAAa,EACb,6BAA6B,gBAAgB,kBAAkB,WAAW,EAAE,CAC7E,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAAE,QAAQ,EAAE;gBAC3E,WAAW;gBACX,0BAA0B,EAAE,gBAAgB;aAC7C,CAAC,CAAC;YAEH,eAAe,CACb,aAAa,EACb,yCAAyC,gBAAgB,GAAG,CAC7D,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAClG;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CACjB,gCAAgC,EAChC,gCAAgC,CAAC,gCAAgC,CAAC,EAClE,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,EAAE;QACzD,eAAe,CACb,kBAAkB,EAClB,uBAAuB,aAAa,gBAAgB,gBAAgB,kBAAkB,WAAW,EAAE,CACpG,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,2BAA2B,EAAE,QAAQ,EAAE;gBAChF,WAAW;gBACX,0BAA0B,EAAE,gBAAgB;gBAC5C,aAAa;aACd,CAAC,CAAC;YAEH,eAAe,CAAC,kBAAkB,EAAE,mCAAmC,aAAa,GAAG,CAAC,CAAC;YACzF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACvG;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"type-management.js","sourceRoot":"","sources":["../../src/tools/type-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { CplaceApiClient } from '../api.js';
|
|
4
|
+
export declare function formatTypeMessageError(prefix: string, error: unknown): string;
|
|
5
|
+
export declare const TYPE_MESSAGE_TOOL_DEFINITIONS: {
|
|
6
|
+
readonly cplace_get_type_messages: {
|
|
7
|
+
readonly description: string;
|
|
8
|
+
readonly inputSchema: {
|
|
9
|
+
readonly workspaceId: z.ZodString;
|
|
10
|
+
readonly typeInternalName: z.ZodString;
|
|
11
|
+
};
|
|
12
|
+
readonly annotations: {
|
|
13
|
+
readonly title: "Get Type Messages";
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
readonly cplace_manage_type_message: {
|
|
17
|
+
readonly description: string;
|
|
18
|
+
readonly inputSchema: {
|
|
19
|
+
readonly operation: z.ZodEnum<["create", "update"]>;
|
|
20
|
+
readonly workspaceId: z.ZodString;
|
|
21
|
+
readonly typeInternalName: z.ZodString;
|
|
22
|
+
readonly key: z.ZodString;
|
|
23
|
+
readonly localizations: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
24
|
+
};
|
|
25
|
+
readonly annotations: {
|
|
26
|
+
readonly title: "Manage Type Message";
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
readonly cplace_delete_type_message: {
|
|
30
|
+
readonly description: string;
|
|
31
|
+
readonly inputSchema: {
|
|
32
|
+
readonly workspaceId: z.ZodString;
|
|
33
|
+
readonly typeInternalName: z.ZodString;
|
|
34
|
+
readonly key: z.ZodString;
|
|
35
|
+
};
|
|
36
|
+
readonly annotations: {
|
|
37
|
+
readonly title: "Delete Type Message";
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export declare function registerTypeMessageTools(server: McpServer, client: CplaceApiClient): void;
|
|
42
|
+
//# sourceMappingURL=type-messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-messages.d.ts","sourceRoot":"","sources":["../../src/tools/type-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAa5C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAM7E;AAGD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC;AAEX,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAqGlF"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { debugLogWithTag } from '../logger.js';
|
|
3
|
+
const TOOL_GET_TYPE_MESSAGES = 'cplace_get_type_messages';
|
|
4
|
+
const TOOL_MANAGE_TYPE_MESSAGE = 'cplace_manage_type_message';
|
|
5
|
+
const TOOL_DELETE_TYPE_MESSAGE = 'cplace_delete_type_message';
|
|
6
|
+
export function formatTypeMessageError(prefix, error) {
|
|
7
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
8
|
+
if (message.includes('(Status: 404)')) {
|
|
9
|
+
return `${prefix}: ${message}\nThis may mean the cplace instance does not yet support type message endpoints. Check with cplace_check_version_compatibility.`;
|
|
10
|
+
}
|
|
11
|
+
return `${prefix}: ${message}`;
|
|
12
|
+
}
|
|
13
|
+
export const TYPE_MESSAGE_TOOL_DEFINITIONS = {
|
|
14
|
+
[TOOL_GET_TYPE_MESSAGES]: {
|
|
15
|
+
description: 'Retrieves all type messages (No-Code messages) of a type as a parsed map of key → {origin, localizations}. ' +
|
|
16
|
+
"Type messages are the localized strings low-code scripts (validators, change listeners, widgets) resolve at runtime via messages.get('<key>', [param0, param1]). " +
|
|
17
|
+
'Use this to verify messages after a write or to check whether a key exists before creating or updating it. ' +
|
|
18
|
+
'Much cheaper than cplace_get_type_datamodel for this purpose.',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
workspaceId: z.string().describe("The workspace identifier (e.g., 'abc123')"),
|
|
21
|
+
typeInternalName: z
|
|
22
|
+
.string()
|
|
23
|
+
.describe("The internal name of the type definition (e.g., 'cf.example.task')"),
|
|
24
|
+
},
|
|
25
|
+
annotations: { title: 'Get Type Messages' },
|
|
26
|
+
},
|
|
27
|
+
[TOOL_MANAGE_TYPE_MESSAGE]: {
|
|
28
|
+
description: 'Create or update a type message (No-Code message) on a type definition. ' +
|
|
29
|
+
"Type messages are localized strings that low-code scripts resolve via messages.get('<key>', [param0, param1]); " +
|
|
30
|
+
'message texts support {0}, {1} placeholders filled by those parameters. ' +
|
|
31
|
+
"Create fails if the key already exists, update fails if it doesn't (typo safety — no silent overwrite). " +
|
|
32
|
+
'Update replaces the complete localizations map: languages missing from the call are removed. ' +
|
|
33
|
+
"Keys must match [a-zA-Z0-9._-]+ on create. The message's origin is managed automatically (set to the owning workspace, like the UI does).",
|
|
34
|
+
inputSchema: {
|
|
35
|
+
operation: z
|
|
36
|
+
.enum(['create', 'update'])
|
|
37
|
+
.describe("Operation type: 'create' for new type messages, 'update' for existing type messages"),
|
|
38
|
+
workspaceId: z.string().describe("Required: Target workspace identifier (e.g., 'abc123')"),
|
|
39
|
+
typeInternalName: z
|
|
40
|
+
.string()
|
|
41
|
+
.describe("Required: Target type internal name (e.g., 'cf.example.task')"),
|
|
42
|
+
key: z
|
|
43
|
+
.string()
|
|
44
|
+
.describe("Required: The message key scripts use in messages.get() (e.g., 'msg.saveSuccess'). Must match [a-zA-Z0-9._-]+ on create."),
|
|
45
|
+
localizations: z
|
|
46
|
+
.record(z.string())
|
|
47
|
+
.describe("Required: Map of language code → message text (e.g., { en: 'Saved {0} items', de: '{0} Einträge gespeichert' }). On update this replaces the complete map."),
|
|
48
|
+
},
|
|
49
|
+
annotations: { title: 'Manage Type Message' },
|
|
50
|
+
},
|
|
51
|
+
[TOOL_DELETE_TYPE_MESSAGE]: {
|
|
52
|
+
description: 'Removes a single type message (No-Code message) from a type definition. Other messages of the type are not touched. ' +
|
|
53
|
+
'Scripts still calling messages.get() with the deleted key will fall back to a "message not found" text.',
|
|
54
|
+
inputSchema: {
|
|
55
|
+
workspaceId: z.string().describe("The workspace identifier (e.g., 'abc123')"),
|
|
56
|
+
typeInternalName: z
|
|
57
|
+
.string()
|
|
58
|
+
.describe("The internal name of the type definition (e.g., 'cf.example.task')"),
|
|
59
|
+
key: z.string().describe("The key of the type message to delete (e.g., 'msg.saveSuccess')"),
|
|
60
|
+
},
|
|
61
|
+
annotations: { title: 'Delete Type Message' },
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
export function registerTypeMessageTools(server, client) {
|
|
65
|
+
server.registerTool(TOOL_GET_TYPE_MESSAGES, TYPE_MESSAGE_TOOL_DEFINITIONS[TOOL_GET_TYPE_MESSAGES], async ({ workspaceId, typeInternalName }) => {
|
|
66
|
+
try {
|
|
67
|
+
const result = await client.makeApiRequest('json/type-messages', 'GET', {
|
|
68
|
+
workspaceId,
|
|
69
|
+
typeInternalName,
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return {
|
|
77
|
+
content: [
|
|
78
|
+
{
|
|
79
|
+
type: 'text',
|
|
80
|
+
text: formatTypeMessageError('Error retrieving type messages', error),
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
isError: true,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
server.registerTool(TOOL_MANAGE_TYPE_MESSAGE, TYPE_MESSAGE_TOOL_DEFINITIONS[TOOL_MANAGE_TYPE_MESSAGE], async (params) => {
|
|
88
|
+
try {
|
|
89
|
+
const requestBody = {
|
|
90
|
+
workspaceId: params.workspaceId,
|
|
91
|
+
typeInternalName: params.typeInternalName,
|
|
92
|
+
key: params.key,
|
|
93
|
+
localizations: params.localizations,
|
|
94
|
+
};
|
|
95
|
+
const result = await client.makeApiRequest('json/type-message', params.operation === 'create' ? 'POST' : 'PATCH', undefined, requestBody);
|
|
96
|
+
return {
|
|
97
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
const operationText = params.operation === 'create' ? 'creating' : 'updating';
|
|
102
|
+
return {
|
|
103
|
+
content: [
|
|
104
|
+
{
|
|
105
|
+
type: 'text',
|
|
106
|
+
text: formatTypeMessageError(`Error ${operationText} type message`, error),
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
isError: true,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
server.registerTool(TOOL_DELETE_TYPE_MESSAGE, TYPE_MESSAGE_TOOL_DEFINITIONS[TOOL_DELETE_TYPE_MESSAGE], async ({ workspaceId, typeInternalName, key }) => {
|
|
114
|
+
debugLogWithTag('TYPE_MESSAGE_DELETE', `Deleting type message '${key}' on type '${typeInternalName}'`);
|
|
115
|
+
try {
|
|
116
|
+
const result = await client.makeApiRequest('json/type-message', 'DELETE', {
|
|
117
|
+
workspaceId,
|
|
118
|
+
typeInternalName,
|
|
119
|
+
key,
|
|
120
|
+
});
|
|
121
|
+
debugLogWithTag('TYPE_MESSAGE_DELETE', `Successfully deleted type message '${key}'`);
|
|
122
|
+
return {
|
|
123
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
return {
|
|
128
|
+
content: [
|
|
129
|
+
{
|
|
130
|
+
type: 'text',
|
|
131
|
+
text: formatTypeMessageError('Error deleting type message', error),
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
isError: true,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=type-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-messages.js","sourceRoot":"","sources":["../../src/tools/type-messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ export declare const WIDGET_SIMULATION_TOOL_DEFINITIONS: {
|
|
|
6
6
|
readonly description: "Execute a widget script under the production widget engine context for pre-embed verification.\n\nThis tool mirrors the engine row used by the real widget runtime\n(`evaluateShowAttributeScript` in cplace platform). The bindings, allowed type\nclasses, and read-only posture come from the platform source row — see\n`script-context-cards/widget.md` and `best-practices/low-code/script-contexts.md`.\n\n**Mode**: Read-only — widgets cannot modify data\n**Timeout**: 30 seconds maximum execution time\n\n**Injected bindings** (in addition to the baseline cplace API):\n- `embeddingPage` — WrappedPage hosting the layout this widget renders into\n- `targetEntity` — WrappedPage of the entity the widget is rendered for\n\n**No `pages` binding.** The widget runtime does not inject a pages iterable.\nIf your script needs an iterable of pages, construct one explicitly:\n\n new Search()\n .setEmbeddingEntity(embeddingPage)\n .add(Filters.embeddingSpace())\n .add(Filters.type('cf.myapp.task'))\n .findAllPages()\n .forEach(p => /* ... */)\n\n**Allowed type classes**: `Search`, `Filters` (lowcode wrapper classes).\n\n**Return Value Restrictions**: Same as cplace_execute_script (primitives, flat arrays/objects only).\n\n**When to use**: Before embedding any widget script (scriptingHighcharts, scriptingLineChart,\nlowCodeText, lowCodeButton row variants, dynamicCodeBlockWidget). For other contexts (page\nactions, change listeners, validators, jobs, wizards, button widgets) use the matching\n`cplace_simulate_*` tool — never `cplace_execute_script_write` for context-specific scripts.";
|
|
7
7
|
readonly inputSchema: {
|
|
8
8
|
readonly script: z.ZodString;
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
9
|
+
readonly embeddingPageUID: z.ZodString;
|
|
10
|
+
readonly targetEntityUID: z.ZodString;
|
|
11
11
|
};
|
|
12
12
|
readonly annotations: {
|
|
13
13
|
readonly title: "Simulate Widget Script";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget-simulation.d.ts","sourceRoot":"","sources":["../../src/tools/widget-simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,kCAAkC;;;;;;;;;;;;CAoDrC,CAAC;AAEX,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"widget-simulation.d.ts","sourceRoot":"","sources":["../../src/tools/widget-simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,kCAAkC;;;;;;;;;;;;CAoDrC,CAAC;AAEX,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA+DvF"}
|
|
@@ -42,10 +42,10 @@ actions, change listeners, validators, jobs, wizards, button widgets) use the ma
|
|
|
42
42
|
There is NO \`pages\` binding — construct your own \`new Search()\` (e.g. \`new Search().setEmbeddingEntity(embeddingPage)\`).
|
|
43
43
|
Allowed type classes: Search, Filters. Must return a JSON-serializable value.` +
|
|
44
44
|
CPLACEJS_COMMON_API_CHEAT_SHEET),
|
|
45
|
-
|
|
45
|
+
embeddingPageUID: z
|
|
46
46
|
.string()
|
|
47
47
|
.describe('Page UID hosting the layout (bound as `embeddingPage`). Required.'),
|
|
48
|
-
|
|
48
|
+
targetEntityUID: z
|
|
49
49
|
.string()
|
|
50
50
|
.describe('Page UID of the entity the widget renders for (bound as `targetEntity`). Required.'),
|
|
51
51
|
},
|
|
@@ -53,10 +53,14 @@ Allowed type classes: Search, Filters. Must return a JSON-serializable value.` +
|
|
|
53
53
|
},
|
|
54
54
|
};
|
|
55
55
|
export function registerWidgetSimulationTools(server, client) {
|
|
56
|
-
server.registerTool(TOOL_SIMULATE_WIDGET_SCRIPT, WIDGET_SIMULATION_TOOL_DEFINITIONS[TOOL_SIMULATE_WIDGET_SCRIPT], async ({ script,
|
|
57
|
-
debugLogWithTag('WIDGET_SIM', `Simulating widget script (${script.length} chars) embeddingPage=${
|
|
56
|
+
server.registerTool(TOOL_SIMULATE_WIDGET_SCRIPT, WIDGET_SIMULATION_TOOL_DEFINITIONS[TOOL_SIMULATE_WIDGET_SCRIPT], async ({ script, embeddingPageUID, targetEntityUID }) => {
|
|
57
|
+
debugLogWithTag('WIDGET_SIM', `Simulating widget script (${script.length} chars) embeddingPage=${embeddingPageUID} targetEntity=${targetEntityUID}`);
|
|
58
58
|
try {
|
|
59
|
-
const requestBody = {
|
|
59
|
+
const requestBody = {
|
|
60
|
+
script,
|
|
61
|
+
embeddingPageUid: embeddingPageUID,
|
|
62
|
+
targetEntityUid: targetEntityUID,
|
|
63
|
+
};
|
|
60
64
|
const response = await client.makeApiRequest('json/widget/simulateScript', 'POST', undefined, requestBody);
|
|
61
65
|
const result = { result: response };
|
|
62
66
|
const sizeCheck = checkResponseSize(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget-simulation.js","sourceRoot":"","sources":["../../src/tools/widget-simulation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AAEpE,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,CAAC,2BAA2B,CAAC,EAAE;QAC7B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iGA+BgF;QAC7F,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB;;8EAEsE;gBACpE,+BAA+B,CAClC;YACD,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CAAC,mEAAmE,CAAC;YAChF,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,CACP,oFAAoF,CACrF;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;KACjD;CACO,CAAC;AAEX,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAuB;IACtF,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B,kCAAkC,CAAC,2BAA2B,CAAC,EAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,EAAE;QACtD,eAAe,CACb,YAAY,EACZ,6BAA6B,MAAM,CAAC,MAAM,yBAAyB,gBAAgB,iBAAiB,eAAe,EAAE,CACtH,CAAC;QAEF,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"widget-simulation.js","sourceRoot":"","sources":["../../src/tools/widget-simulation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AAEpE,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,CAAC,2BAA2B,CAAC,EAAE;QAC7B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iGA+BgF;QAC7F,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB;;8EAEsE;gBACpE,+BAA+B,CAClC;YACD,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CAAC,mEAAmE,CAAC;YAChF,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,CACP,oFAAoF,CACrF;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;KACjD;CACO,CAAC;AAEX,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAuB;IACtF,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B,kCAAkC,CAAC,2BAA2B,CAAC,EAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,EAAE;QACtD,eAAe,CACb,YAAY,EACZ,6BAA6B,MAAM,CAAC,MAAM,yBAAyB,gBAAgB,iBAAiB,eAAe,EAAE,CACtH,CAAC;QAEF,IAAI,CAAC;YAGH,MAAM,WAAW,GAA2B;gBAC1C,MAAM;gBACN,gBAAgB,EAAE,gBAAgB;gBAClC,eAAe,EAAE,eAAe;aACjC,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAC1C,4BAA4B,EAC5B,MAAM,EACN,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAEpC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACvB,eAAe,CAAC,YAAY,EAAE,uBAAuB,SAAS,CAAC,UAAU,aAAa,CAAC,CAAC;gBACxF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,uCAAuC,SAAS,CAAC,UAAU,uDAAuD;yBACzH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,eAAe,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;YACtE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CACb,YAAY,EACZ,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnE,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAClG;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function validateAbsolutePath(path: string, paramName: string): string | null;
|
|
2
|
+
export declare function writeFileCreatingParents(targetPath: string, data: Buffer): Promise<void>;
|
|
3
|
+
export declare function validateUploadFile(filePath: string): Promise<{
|
|
4
|
+
ok: true;
|
|
5
|
+
size: number;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
error: string;
|
|
9
|
+
}>;
|
|
10
|
+
export declare function readFileForUpload(filePath: string): Promise<Buffer>;
|
|
11
|
+
export declare function defaultFileName(filePath: string): string;
|
|
12
|
+
//# sourceMappingURL=fileIO.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileIO.d.ts","sourceRoot":"","sources":["../../src/utils/fileIO.ts"],"names":[],"mappings":"AAiBA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKnF;AAKD,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9F;AAQD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBpE;AAKD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzE;AAKD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { mkdir, writeFile, stat, readFile } from 'fs/promises';
|
|
2
|
+
import { isAbsolute, dirname, basename } from 'path';
|
|
3
|
+
export function validateAbsolutePath(path, paramName) {
|
|
4
|
+
if (!isAbsolute(path)) {
|
|
5
|
+
return `Error: ${paramName} must be an absolute path (got: '${path}'). Relative paths are not supported because the MCP server's working directory is not predictable.`;
|
|
6
|
+
}
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
export async function writeFileCreatingParents(targetPath, data) {
|
|
10
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
11
|
+
await writeFile(targetPath, data);
|
|
12
|
+
}
|
|
13
|
+
export async function validateUploadFile(filePath) {
|
|
14
|
+
let stats;
|
|
15
|
+
try {
|
|
16
|
+
stats = await stat(filePath);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return {
|
|
20
|
+
ok: false,
|
|
21
|
+
error: `Error: File not found: '${filePath}'. Check that the path exists and is accessible.`,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (!stats.isFile()) {
|
|
25
|
+
return {
|
|
26
|
+
ok: false,
|
|
27
|
+
error: `Error: Not a regular file: '${filePath}'. Only regular files can be uploaded (directories and special files are not supported).`,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return { ok: true, size: stats.size };
|
|
31
|
+
}
|
|
32
|
+
export async function readFileForUpload(filePath) {
|
|
33
|
+
return readFile(filePath);
|
|
34
|
+
}
|
|
35
|
+
export function defaultFileName(filePath) {
|
|
36
|
+
return basename(filePath);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=fileIO.js.map
|