@powerhousedao/reactor-mcp 4.1.0-dev.4 → 4.1.0-dev.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/mcp/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG/D,eAAO,MAAM,eAAe;;;;;;;;;CASG,CAAC;AAEhC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBA,CAAC;AAEhC,eAAO,MAAM,gBAAgB;;;;;;;;;CASE,CAAC;AAEhC,eAAO,MAAM,kBAAkB;;;;;;;;;CASA,CAAC;AAEhC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CK,CAAC;AAEhC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDE,CAAC;AAIhC,eAAO,MAAM,aAAa;;;;;;;CAOK,CAAC;AAEhC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CM,CAAC;AAEhC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAoBM,CAAC;AAEhC,eAAO,MAAM,eAAe;;;;;;;;;CASG,CAAC;AAEhC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CA,CAAC;AAEhC,KAAK,UAAU,CAAC,CAAC,SAAS,SAAS,UAAU,EAAE,IAAI;KAChD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAC5E,CAAC;AAIF,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYJ,CAAC;AAGX,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1D,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB;;;;GA6H3E"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/mcp/reactor.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,7 @@
1
+ import { generateId } from "document-model";
2
+ import { DocumentModelStateSchema } from "document-model/document-model/gen/schema/zod";
1
3
  import { z } from "zod";
2
- import { toolWithCallback } from "./utils.js";
3
- export const getDocumentTool = {
4
- name: "getDocument",
5
- description: "Retrieve a document by its ID",
6
- inputSchema: {
7
- id: z.string().describe("ID of the document to retrieve"),
8
- },
9
- outputSchema: {
10
- document: z.object({}).describe("Document object"), // TODO: Define document schema
11
- },
12
- };
4
+ import { toolWithCallback, validateDocumentModelAction } from "./utils.js";
13
5
  export const createDocumentTool = {
14
6
  name: "createDocument",
15
7
  description: "Create a new document",
@@ -18,22 +10,17 @@ export const createDocumentTool = {
18
10
  documentId: z.string().optional().describe("Optional ID for the document"),
19
11
  },
20
12
  outputSchema: {
21
- result: z
22
- .object({
23
- status: z
24
- .enum(["SUCCESS", "CONFLICT", "MISSING", "ERROR"])
25
- .describe("Operation status"),
26
- error: z
27
- .string()
28
- .optional()
29
- .describe("Error details if operation failed"), // TODO: Define error schema
30
- operations: z
31
- .array(z.object({}))
32
- .describe("Array of operations created"), // TODO: Define operation schema
33
- document: z.object({}).optional().describe("Updated document"), // TODO: Define document schema
34
- signals: z.array(z.object({})).describe("Array of signals generated"), // TODO: Define signal schema
35
- })
36
- .describe("Operation result"),
13
+ documentId: z.string().describe("ID of the created document"),
14
+ },
15
+ };
16
+ export const getDocumentTool = {
17
+ name: "getDocument",
18
+ description: "Retrieve a document by its ID",
19
+ inputSchema: {
20
+ id: z.string().describe("ID of the document to retrieve"),
21
+ },
22
+ outputSchema: {
23
+ document: z.object({}).describe("The retrieved Document"),
37
24
  },
38
25
  };
39
26
  export const getDocumentsTool = {
@@ -56,103 +43,74 @@ export const deleteDocumentTool = {
56
43
  success: z.boolean().describe("Whether the deletion was successful"),
57
44
  },
58
45
  };
59
- export const addActionTool = {
60
- name: "addAction",
61
- description: "Add an action to a document",
46
+ export const addActionsTool = {
47
+ name: "addActions",
48
+ description: "Adds actions to a document",
62
49
  inputSchema: {
63
50
  documentId: z.string().describe("ID of the document"),
64
- action: z
51
+ actions: z
52
+ .array(z
65
53
  .object({
66
54
  type: z.string().describe("The name of the action"),
67
- input: z
68
- .union([
69
- z.string(),
70
- z.number(),
71
- z.boolean(),
72
- z.object({}),
73
- z.array(z.any()),
74
- z.null(),
75
- ])
76
- .describe("The payload of the action"),
55
+ input: z.unknown().describe("The payload of the action"),
77
56
  scope: z.string().describe("The scope of the action"),
78
- context: z.object({}).optional().describe("Optional action context"), // TODO: Define context schema
79
- })
80
- .strict()
81
- .describe("Action to add to the document"),
82
- },
83
- outputSchema: {
84
- result: z
85
- .object({
86
- status: z
87
- .enum(["SUCCESS", "CONFLICT", "MISSING", "ERROR"])
88
- .describe("Operation status"),
89
- error: z
90
- .string()
57
+ context: z
58
+ .object({})
91
59
  .optional()
92
- .describe("Error details if operation failed"), // TODO: Define error schema
93
- operations: z
94
- .array(z.object({}))
95
- .describe("Array of operations created"), // TODO: Define operation schema
96
- document: z.object({}).optional().describe("Updated document"), // TODO: Define document schema
97
- signals: z.array(z.object({})).describe("Array of signals generated"), // TODO: Define signal schema
60
+ .describe("Optional action context"), // TODO: Define context schema
98
61
  })
99
- .describe("Operation result"),
100
- },
101
- };
102
- export const addOperationTool = {
103
- name: "addOperation",
104
- description: "Add an operation to a document",
105
- inputSchema: {
106
- documentId: z.string().describe("ID of the document"),
107
- operation: z
108
- .object({
109
- type: z.string().describe("The name of the action"),
110
- input: z
111
- .union([
112
- z.string(),
113
- z.number(),
114
- z.boolean(),
115
- z.object({}),
116
- z.array(z.any()),
117
- z.null(),
118
- ])
119
- .describe("The payload of the action"),
120
- scope: z.string().describe("The scope of the action"),
121
- index: z.number().describe("Position of the operation in the history"),
122
- timestamp: z
123
- .string()
124
- .describe("Timestamp of when the operation was added"),
125
- hash: z.string().describe("Hash of the resulting document data"),
126
- skip: z.number().describe("The number of operations skipped"),
127
- error: z
128
- .string()
129
- .optional()
130
- .describe("Error message for a failed action"),
131
- id: z.string().optional().describe("Unique operation id"),
132
- context: z.object({}).optional().describe("Optional action context"), // TODO: Define context schema
133
- })
134
- .strict()
135
- .describe("Operation to add to the document"),
62
+ .strict())
63
+ .describe("Action to add to the document"),
136
64
  },
137
65
  outputSchema: {
138
- result: z
139
- .object({
140
- status: z
141
- .enum(["SUCCESS", "CONFLICT", "MISSING", "ERROR"])
142
- .describe("Operation status"),
143
- error: z
144
- .string()
145
- .optional()
146
- .describe("Error details if operation failed"), // TODO: Define error schema
147
- operations: z
148
- .array(z.object({}))
149
- .describe("Array of operations created"), // TODO: Define operation schema
150
- document: z.object({}).optional().describe("Updated document"), // TODO: Define document schema
151
- signals: z.array(z.object({})).describe("Array of signals generated"), // TODO: Define signal schema
152
- })
153
- .describe("Operation result"),
66
+ success: z.boolean().describe("Whether the actions were added"),
154
67
  },
155
68
  };
69
+ // export const addOperationTool = {
70
+ // name: "addOperation",
71
+ // description: "Add an operation to a document",
72
+ // inputSchema: {
73
+ // documentId: z.string().describe("ID of the document"),
74
+ // operation: z
75
+ // .object({
76
+ // type: z.string().describe("The name of the action"),
77
+ // input: z.unknown().describe("The payload of the action"),
78
+ // scope: z.string().describe("The scope of the action"),
79
+ // index: z.number().describe("Position of the operation in the history"),
80
+ // timestamp: z
81
+ // .string()
82
+ // .describe("Timestamp of when the operation was added"),
83
+ // hash: z.string().describe("Hash of the resulting document data"),
84
+ // skip: z.number().describe("The number of operations skipped"),
85
+ // error: z
86
+ // .string()
87
+ // .optional()
88
+ // .describe("Error message for a failed action"),
89
+ // id: z.string().optional().describe("Unique operation id"),
90
+ // context: z.object({}).optional().describe("Optional action context"), // TODO: Define context schema
91
+ // })
92
+ // .strict()
93
+ // .describe("Operation to add to the document"),
94
+ // },
95
+ // outputSchema: {
96
+ // result: z
97
+ // .object({
98
+ // status: z
99
+ // .enum(["SUCCESS", "CONFLICT", "MISSING", "ERROR"])
100
+ // .describe("Operation status"),
101
+ // error: z
102
+ // .string()
103
+ // .optional()
104
+ // .describe("Error details if operation failed"), // TODO: Define error schema
105
+ // operations: z
106
+ // .array(z.object({}))
107
+ // .describe("Array of operations created"), // TODO: Define operation schema
108
+ // document: z.object({}).optional().describe("Updated document"), // TODO: Define document schema
109
+ // signals: z.array(z.object({})).describe("Array of signals generated"), // TODO: Define signal schema
110
+ // })
111
+ // .describe("Operation result"),
112
+ // },
113
+ // } as const satisfies ToolSchema;
156
114
  // Drive Operation Tools
157
115
  export const getDrivesTool = {
158
116
  name: "getDrives",
@@ -202,7 +160,7 @@ export const addDriveTool = {
202
160
  .describe("Drive configuration"),
203
161
  },
204
162
  outputSchema: {
205
- drive: z.object({}).describe("Created drive document"), // TODO: Define DocumentDriveDocument schema
163
+ driveId: z.string().describe("ID of the created drive"),
206
164
  },
207
165
  };
208
166
  export const getDriveTool = {
@@ -280,7 +238,36 @@ export const addRemoteDriveTool = {
280
238
  .describe("Remote drive options"),
281
239
  },
282
240
  outputSchema: {
283
- drive: z.object({}).describe("Connected remote drive document"), // TODO: Define DocumentDriveDocument schema
241
+ driveId: z.string().describe("ID of the added remote drive"),
242
+ },
243
+ };
244
+ export const getDocumentModelSchemaTool = {
245
+ name: "getDocumentModelSchema",
246
+ description: "Get the schema of a document model",
247
+ inputSchema: {
248
+ type: z.string().describe("Type of the document model"),
249
+ },
250
+ outputSchema: {
251
+ schema: DocumentModelStateSchema().describe("Schema of the document model"),
252
+ },
253
+ };
254
+ export const getDocumentModelsTool = {
255
+ name: "getDocumentModels",
256
+ description: "Get the list of document models",
257
+ inputSchema: {},
258
+ outputSchema: {
259
+ documentModels: z
260
+ .array(z.object({
261
+ name: z.string().describe("Name of the document model"),
262
+ type: z.string().describe("Type of the document model"),
263
+ description: z.string().describe("Description of the document model"),
264
+ extension: z.string().describe("Extension of the document model"),
265
+ authorName: z.string().describe("Author name of the document model"),
266
+ authorWebsite: z
267
+ .string()
268
+ .describe("Author website of the document model"),
269
+ }))
270
+ .describe("List of available document models"),
284
271
  },
285
272
  };
286
273
  // All tools array for type inference
@@ -290,33 +277,43 @@ const allTools = [
290
277
  createDocumentTool,
291
278
  getDocumentsTool,
292
279
  deleteDocumentTool,
293
- addActionTool,
294
- addOperationTool,
280
+ addActionsTool,
281
+ // addOperationTool,
295
282
  getDrivesTool,
296
283
  addDriveTool,
297
284
  getDriveTool,
298
285
  deleteDriveTool,
299
286
  addRemoteDriveTool,
287
+ getDocumentModelSchemaTool,
288
+ getDocumentModelsTool,
300
289
  ];
301
290
  export async function createReactorMcpProvider(reactor) {
302
291
  await reactor.initialize();
292
+ function getDocumentModelModule(documentType) {
293
+ const documentModels = reactor.getDocumentModelModules();
294
+ const documentModel = documentModels.find((model) => model.documentModel.id === documentType);
295
+ return documentModel;
296
+ }
303
297
  const tools = {
304
298
  getDocument: toolWithCallback(getDocumentTool, async (params) => {
305
- const doc = await reactor.getDocument(params.id);
306
- return { document: doc };
299
+ const { header, state } = await reactor.getDocument(params.id);
300
+ return { document: { header, state } };
307
301
  }),
308
302
  createDocument: toolWithCallback(createDocumentTool, async (params) => {
309
303
  // Create document input based on provided parameters
310
304
  const createInput = {
311
305
  documentType: params.documentType,
312
- ...(params.documentId && { id: params.documentId }),
306
+ id: params.documentId ?? generateId(),
313
307
  };
314
308
  const result = await reactor.queueDocument(createInput);
309
+ if (result.status !== "SUCCESS") {
310
+ throw new Error(`${result.status}: ${result.error?.message}`);
311
+ }
312
+ if (!result.document?.header.id) {
313
+ throw new Error("Created document doesn't have an Id");
314
+ }
315
315
  return {
316
- result: {
317
- ...result,
318
- error: result.error?.message,
319
- },
316
+ documentId: result.document.header.id,
320
317
  };
321
318
  }),
322
319
  getDocuments: toolWithCallback(getDocumentsTool, async (params) => {
@@ -332,26 +329,56 @@ export async function createReactorMcpProvider(reactor) {
332
329
  return { success: false };
333
330
  }
334
331
  }),
335
- addAction: toolWithCallback(addActionTool, async (params) => {
336
- const result = await reactor.addAction(params.documentId, params.action);
337
- return {
338
- result: {
339
- ...result,
340
- error: result.error?.message,
341
- },
342
- };
343
- }),
344
- addOperation: toolWithCallback(addOperationTool, async (params) => {
345
- const result = await reactor.addOperation(params.documentId, params.operation);
332
+ addActions: toolWithCallback(addActionsTool, async (params) => {
333
+ const document = await reactor.getDocument(params.documentId);
334
+ const documentModel = getDocumentModelModule(document.header.documentType);
335
+ if (!documentModel) {
336
+ throw new Error(`Document model for document type '${document.header.documentType}' not found`);
337
+ }
338
+ const actions = params.actions.map((paramAction) => {
339
+ const action = {
340
+ ...paramAction,
341
+ input: paramAction.input ?? {},
342
+ };
343
+ const actionValidation = validateDocumentModelAction(documentModel, action);
344
+ if (!actionValidation.isValid) {
345
+ throw new Error(`Invalid action ${JSON.stringify(action)}: ${actionValidation.errors.join(", ")}`);
346
+ }
347
+ return action;
348
+ });
349
+ const result = await reactor.addActions(params.documentId, actions);
350
+ if (result.status !== "SUCCESS") {
351
+ throw new Error(`${result.status}: ${result.error?.message}`);
352
+ }
353
+ const operationErrors = result.operations
354
+ .filter((operation) => operation.error !== undefined)
355
+ .map((operation) => ({
356
+ type: operation.type,
357
+ input: operation.input,
358
+ error: operation.error,
359
+ }));
360
+ if (operationErrors.length > 0) {
361
+ throw new Error(`Some of the actions failed: ${JSON.stringify(operationErrors)}`);
362
+ }
346
363
  return {
347
- result: {
348
- ...result,
349
- error: typeof result.error === "string"
350
- ? result.error
351
- : result.error?.message,
352
- },
364
+ success: true,
353
365
  };
354
366
  }),
367
+ // addOperation: toolWithCallback(addOperationTool, async (params) => {
368
+ // const result = await reactor.addOperation(params.documentId, {
369
+ // ...params.operation,
370
+ // input: params.operation.input ?? {},
371
+ // });
372
+ // return {
373
+ // result: {
374
+ // ...result,
375
+ // error:
376
+ // typeof result.error === "string"
377
+ // ? result.error
378
+ // : result.error?.message,
379
+ // },
380
+ // };
381
+ // }),
355
382
  // Drive operation implementations
356
383
  getDrives: toolWithCallback(getDrivesTool, async () => {
357
384
  const driveIds = await reactor.getDrives();
@@ -360,12 +387,12 @@ export async function createReactorMcpProvider(reactor) {
360
387
  addDrive: toolWithCallback(addDriveTool, async (params) => {
361
388
  // Extract preferredEditor and create proper DriveInput
362
389
  const { preferredEditor, ...driveInput } = params.driveInput;
363
- const drive = await reactor.addDrive(driveInput, preferredEditor);
364
- return { drive };
390
+ const result = await reactor.addDrive(driveInput, preferredEditor);
391
+ return { driveId: result.header.id };
365
392
  }),
366
393
  getDrive: toolWithCallback(getDriveTool, async (params) => {
367
- const drive = await reactor.getDrive(params.driveId, params.options);
368
- return { drive };
394
+ const { header, state } = await reactor.getDrive(params.driveId, params.options);
395
+ return { drive: { header, state } };
369
396
  }),
370
397
  deleteDrive: toolWithCallback(deleteDriveTool, async (params) => {
371
398
  try {
@@ -394,7 +421,31 @@ export async function createReactorMcpProvider(reactor) {
394
421
  },
395
422
  }),
396
423
  });
397
- return { drive };
424
+ return { driveId: drive.header.id };
425
+ }),
426
+ getDocumentModels: toolWithCallback(getDocumentModelsTool, () => {
427
+ const documentModels = reactor.getDocumentModelModules();
428
+ return {
429
+ documentModels: documentModels.map((model) => {
430
+ const schema = model.documentModel;
431
+ return {
432
+ name: schema.name,
433
+ type: schema.id,
434
+ description: schema.description,
435
+ extension: schema.extension,
436
+ authorName: schema.author.name,
437
+ authorWebsite: schema.author.website ?? "",
438
+ };
439
+ }),
440
+ };
441
+ }),
442
+ getDocumentModelSchema: toolWithCallback(getDocumentModelSchemaTool, (params) => {
443
+ const documentModel = getDocumentModelModule(params.type);
444
+ const schema = documentModel?.documentModel;
445
+ if (!schema) {
446
+ throw new Error(`Document model '${params.type}' not found`);
447
+ }
448
+ return { schema };
398
449
  }),
399
450
  };
400
451
  const resources = {};
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/mcp/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/mcp/reactor.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE;QACX,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAC3E;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAC9D;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE;QACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC1D;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC1D;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,2BAA2B;IACxC,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACjD;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACnE;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAChE;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACrE;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,4BAA4B;IACzC,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACrD,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACnD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACrD,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC,EAAE,CAAC;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;SACvE,CAAC;aACD,MAAM,EAAE,CACZ;aACA,QAAQ,CAAC,+BAA+B,CAAC;KAC7C;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAChE;CAC4B,CAAC;AAEhC,oCAAoC;AACpC,0BAA0B;AAC1B,mDAAmD;AACnD,mBAAmB;AACnB,6DAA6D;AAC7D,mBAAmB;AACnB,kBAAkB;AAClB,+DAA+D;AAC/D,oEAAoE;AACpE,iEAAiE;AACjE,kFAAkF;AAClF,uBAAuB;AACvB,sBAAsB;AACtB,oEAAoE;AACpE,4EAA4E;AAC5E,yEAAyE;AACzE,mBAAmB;AACnB,sBAAsB;AACtB,wBAAwB;AACxB,4DAA4D;AAC5D,qEAAqE;AACrE,+GAA+G;AAC/G,WAAW;AACX,kBAAkB;AAClB,uDAAuD;AACvD,OAAO;AACP,oBAAoB;AACpB,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,+DAA+D;AAC/D,2CAA2C;AAC3C,mBAAmB;AACnB,sBAAsB;AACtB,wBAAwB;AACxB,yFAAyF;AACzF,wBAAwB;AACxB,iCAAiC;AACjC,uFAAuF;AACvF,0GAA0G;AAC1G,+GAA+G;AAC/G,WAAW;AACX,uCAAuC;AACvC,OAAO;AACP,mCAAmC;AAEnC,wBAAwB;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,EAAE;IACf,YAAY,EAAE;QACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC7D;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE;QACX,UAAU,EAAE,CAAC;aACV,MAAM,CAAC;YACN,MAAM,EAAE,CAAC;iBACN,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC9C,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,6BAA6B,CAAC;aAC3C,CAAC;iBACD,QAAQ,CAAC,yBAAyB,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2BAA2B,CAAC;YACxC,KAAK,EAAE,CAAC;iBACL,MAAM,CAAC;gBACN,gBAAgB,EAAE,CAAC;qBAChB,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,oCAAoC,CAAC;gBACjD,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,cAAc,CAAC;aAC5B,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,iCAAiC,CAAC;SAC/C,CAAC;aACD,QAAQ,CAAC,qBAAqB,CAAC;KACnC;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACxD;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC3D,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,SAAS,EAAE,CAAC;iBACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0BAA0B,CAAC;YACvC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACvE,2CAA2C;SAC5C,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,+BAA+B,CAAC;KAC7C;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,4CAA4C;KAC7F;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC1D;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACrE;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,2BAA2B;IACxC,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACnD,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC;iBAChB,OAAO,EAAE;iBACT,QAAQ,CAAC,oCAAoC,CAAC;YACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACtE,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC;gBACN,MAAM,EAAE,CAAC;qBACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,eAAe,CAAC;gBAC5B,UAAU,EAAE,CAAC;qBACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,oBAAoB,CAAC;gBACjC,YAAY,EAAE,CAAC;qBACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,CAAC;qBACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,cAAc,CAAC;aAC5B,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,sBAAsB,CAAC;YACnC,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+BAA+B,CAAC;SAC7C,CAAC;aACD,QAAQ,CAAC,sBAAsB,CAAC;KACpC;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAC7D;CAC4B,CAAC;AAMhC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE;QACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACxD;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,wBAAwB,EAAE,CAAC,QAAQ,CACzC,8BAA8B,CACgB;KACjD;CAC4B,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,iCAAiC;IAC9C,WAAW,EAAE,EAAE;IACf,YAAY,EAAE;QACZ,cAAc,EAAE,CAAC;aACd,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACpE,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CAAC,sCAAsC,CAAC;SACpD,CAAC,CACH;aACA,QAAQ,CAAC,mCAAmC,CAAC;KACjD;CAC4B,CAAC;AAMhC,qCAAqC;AACrC,6DAA6D;AAC7D,MAAM,QAAQ,GAAG;IACf,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,0BAA0B;IAC1B,qBAAqB;CACb,CAAC;AAKX,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAA6B;IAC1E,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAE3B,SAAS,sBAAsB,CAAC,YAAoB;QAClD,MAAM,cAAc,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,YAAY,CACnD,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,WAAW,EAAE,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACzC,CAAC,CAAC;QAEF,cAAc,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpE,qDAAqD;YACrD,MAAM,WAAW,GAAG;gBAClB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,EAAE,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE;aACtC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;aACtC,CAAC;QACJ,CAAC,CAAC;QAEF,YAAY,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAChE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChE,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,cAAc,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpE,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEF,UAAU,EAAE,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9D,MAAM,aAAa,GAAG,sBAAsB,CAC1C,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC7B,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,CAAC,MAAM,CAAC,YAAY,aAAa,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBACjD,MAAM,MAAM,GAAG;oBACb,GAAG,WAAW;oBACd,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;iBAC/B,CAAC;gBACF,MAAM,gBAAgB,GAAG,2BAA2B,CAClD,aAAa,EACb,MAAM,CACP,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEpE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU;iBACtC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC;iBACpD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACnB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC,CAAC,CAAC;YACN,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CACjE,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC,CAAC;QAEF,uEAAuE;QACvE,mEAAmE;QACnE,2BAA2B;QAC3B,2CAA2C;QAC3C,QAAQ;QACR,aAAa;QACb,gBAAgB;QAChB,mBAAmB;QACnB,eAAe;QACf,2CAA2C;QAC3C,2BAA2B;QAC3B,qCAAqC;QACrC,SAAS;QACT,OAAO;QACP,MAAM;QAEN,kCAAkC;QAClC,SAAS,EAAE,gBAAgB,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3C,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,QAAQ,EAAE,gBAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxD,uDAAuD;YACvD,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACvC,CAAC,CAAC;QAEF,QAAQ,EAAE,gBAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAC9C,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CACf,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,CAAC,CAAC;QAEF,WAAW,EAAE,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9D,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEF,cAAc,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YACnE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE;gBACrD,GAAG,WAAW;gBACd,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,WAAW,IAAI,IAAI;gBAChC,GAAG,CAAC,UAAU,IAAI;oBAChB,UAAU,EAAE;wBACV,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;wBAChE,UAAU,EACR,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU;wBAClE,YAAY,EACV,UAAU,CAAC,YAAY,KAAK,SAAS;4BACnC,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,UAAU,CAAC,YAAY;wBAC7B,KAAK,EAAE,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;qBAC9D;iBACF,CAAC;aACH,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACtC,CAAC,CAAC;QAEF,iBAAiB,EAAE,gBAAgB,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACzD,OAAO;gBACL,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;oBACnC,OAAO;wBACL,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,EAAE;wBACf,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;wBAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;qBAC3C,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC;QAEF,sBAAsB,EAAE,gBAAgB,CACtC,0BAA0B,EAC1B,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,aAAa,EAAE,aAAa,CAAC;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,CACF;KACO,CAAC;IAEX,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,OAAO;QACL,KAAK;QACL,SAAS;QACT,OAAO;KACC,CAAC;AACb,CAAC"}
@@ -1,4 +1,6 @@
1
- import { z } from "zod";
1
+ import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import { type Action, type DocumentModelModule } from "document-model";
3
+ import { type z } from "zod";
2
4
  import type { ResolveZodSchema, ToolSchema } from "./types.js";
3
5
  export declare class InvalidToolOutputError extends Error {
4
6
  constructor(zodError: z.ZodError);
@@ -12,25 +14,10 @@ export declare class InvalidToolOutputError extends Error {
12
14
  * callback throws an error, the result will have isError set to true and the error message in the content.
13
15
  */
14
16
  export declare function toolWithCallback<T extends ToolSchema>(tool: T, toolCallback: (args: ResolveZodSchema<T["inputSchema"]>) => ResolveZodSchema<T["outputSchema"]> | Promise<ResolveZodSchema<T["outputSchema"]>>): T & {
15
- callback: (args: ResolveZodSchema<T["inputSchema"]>) => Promise<{
16
- readonly content: {
17
- type: "text";
18
- text: string;
19
- mimeType: string;
20
- }[];
21
- readonly structuredContent: {
22
- [x: string]: any;
23
- } | undefined;
24
- isError?: undefined;
25
- } | {
26
- readonly isError: true;
27
- readonly content: [{
28
- readonly type: "text";
29
- readonly text: `Error: ${string}`;
30
- }];
31
- readonly structuredContent: {
32
- readonly error: string;
33
- };
34
- }>;
17
+ callback: (args: ResolveZodSchema<T["inputSchema"]>) => Promise<CallToolResult>;
18
+ };
19
+ export declare function validateDocumentModelAction(documentModelModule: DocumentModelModule, action: Action): {
20
+ isValid: boolean;
21
+ errors: string[];
35
22
  };
36
23
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;CAKjC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACnD,IAAI,EAAE,CAAC,EACP,YAAY,EAAE,CACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAEtC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;qBAKX,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;EAyCxE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;CAKjC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACnD,IAAI,EAAE,CAAC,EACP,YAAY,EAAE,CACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAEtC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;qBAGxC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KACvC,OAAO,CAAC,cAAc,CAAC;EA8B3B;AAED,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyExC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { camelCase } from "change-case";
2
2
  export class InvalidToolOutputError extends Error {
3
3
  constructor(zodError) {
4
4
  super("Invalid tool output\n" + zodError.message);
@@ -15,27 +15,17 @@ export class InvalidToolOutputError extends Error {
15
15
  * callback throws an error, the result will have isError set to true and the error message in the content.
16
16
  */
17
17
  export function toolWithCallback(tool, toolCallback) {
18
- const outputSchema = tool.outputSchema
19
- ? z.object(tool.outputSchema)
20
- : undefined;
21
18
  const wrappedCallback = async (args) => {
22
19
  try {
23
20
  const result = await toolCallback(args);
24
- const validResult = outputSchema?.safeParse(result);
25
- if (validResult && !validResult.success) {
26
- throw new InvalidToolOutputError(validResult.error);
27
- }
28
21
  return {
29
- content: outputSchema
30
- ? []
31
- : [
32
- {
33
- type: "text",
34
- text: JSON.stringify(result),
35
- mimeType: "application/json",
36
- },
37
- ],
38
- structuredContent: outputSchema ? result : undefined,
22
+ content: [
23
+ {
24
+ type: "text",
25
+ text: JSON.stringify(result),
26
+ },
27
+ ],
28
+ structuredContent: result,
39
29
  };
40
30
  }
41
31
  catch (error) {
@@ -48,9 +38,6 @@ export function toolWithCallback(tool, toolCallback) {
48
38
  text: `Error: ${errorString}`,
49
39
  },
50
40
  ],
51
- structuredContent: {
52
- error: errorString,
53
- },
54
41
  };
55
42
  }
56
43
  };
@@ -59,4 +46,55 @@ export function toolWithCallback(tool, toolCallback) {
59
46
  callback: wrappedCallback,
60
47
  };
61
48
  }
49
+ export function validateDocumentModelAction(documentModelModule, action) {
50
+ const errors = [];
51
+ const documentModelState = documentModelModule.documentModel;
52
+ // Get the latest specification
53
+ if (!documentModelState.specifications ||
54
+ documentModelState.specifications.length === 0) {
55
+ errors.push("Document model has no specifications");
56
+ return { isValid: false, errors };
57
+ }
58
+ const latestSpec = documentModelState.specifications[documentModelState.specifications.length - 1];
59
+ // Search through modules to find the operation that matches the action type (in SCREAMING_SNAKE_CASE)
60
+ let operation = null;
61
+ for (const module of latestSpec.modules) {
62
+ const foundOp = module.operations.find((op) => op.name === action.type);
63
+ if (foundOp) {
64
+ operation = foundOp;
65
+ break;
66
+ }
67
+ }
68
+ if (!operation) {
69
+ errors.push(`Operation "${action.type}" is not defined in any module of the document model`);
70
+ return { isValid: false, errors };
71
+ }
72
+ // Convert action type from SCREAMING_SNAKE_CASE to camelCase to match action creators
73
+ const camelCaseActionType = camelCase(action.type);
74
+ // Check if action creator exists in documentModelModule.actions
75
+ const actionCreator = documentModelModule.actions[camelCaseActionType];
76
+ if (!actionCreator) {
77
+ errors.push(`Action creator "${camelCaseActionType}" for action type "${action.type}" is not defined in documentModelDocumentModelModule.actions`);
78
+ return { isValid: false, errors };
79
+ }
80
+ // Validate the operation using the action creator. TODO: Use document model exported validators directly
81
+ let inputError = null;
82
+ try {
83
+ actionCreator(action.input);
84
+ }
85
+ catch (e) {
86
+ inputError = e instanceof Error ? e : new Error(JSON.stringify(e));
87
+ }
88
+ if (inputError) {
89
+ errors.push(`Input validation error: ${inputError.message}`);
90
+ }
91
+ // Validate scope if operation defines one
92
+ if (operation.scope && action.scope !== operation.scope) {
93
+ errors.push(`Action scope "${action.scope}" does not match operation scope "${operation.scope}"`);
94
+ }
95
+ return {
96
+ isValid: errors.length === 0,
97
+ errors,
98
+ };
99
+ }
62
100
  //# sourceMappingURL=utils.js.map