@exaudeus/workrail 0.0.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +223 -0
  2. package/dist/application/app.d.ts +32 -0
  3. package/dist/application/app.d.ts.map +1 -0
  4. package/dist/application/app.js +133 -0
  5. package/dist/application/app.js.map +1 -0
  6. package/dist/application/services/validation-engine.d.ts +102 -0
  7. package/dist/application/services/validation-engine.d.ts.map +1 -0
  8. package/dist/application/services/validation-engine.js +293 -0
  9. package/dist/application/services/validation-engine.js.map +1 -0
  10. package/dist/application/services/workflow-service.d.ts +47 -0
  11. package/dist/application/services/workflow-service.d.ts.map +1 -0
  12. package/dist/application/services/workflow-service.js +80 -0
  13. package/dist/application/services/workflow-service.js.map +1 -0
  14. package/dist/application/use-cases/get-next-step.d.ts +22 -0
  15. package/dist/application/use-cases/get-next-step.d.ts.map +1 -0
  16. package/dist/application/use-cases/get-next-step.js +21 -0
  17. package/dist/application/use-cases/get-next-step.js.map +1 -0
  18. package/dist/application/use-cases/get-workflow.d.ts +13 -0
  19. package/dist/application/use-cases/get-workflow.d.ts.map +1 -0
  20. package/dist/application/use-cases/get-workflow.js +26 -0
  21. package/dist/application/use-cases/get-workflow.js.map +1 -0
  22. package/dist/application/use-cases/list-workflows.d.ts +13 -0
  23. package/dist/application/use-cases/list-workflows.d.ts.map +1 -0
  24. package/dist/application/use-cases/list-workflows.js +21 -0
  25. package/dist/application/use-cases/list-workflows.js.map +1 -0
  26. package/dist/application/use-cases/validate-step-output.d.ts +20 -0
  27. package/dist/application/use-cases/validate-step-output.d.ts.map +1 -0
  28. package/dist/application/use-cases/validate-step-output.js +21 -0
  29. package/dist/application/use-cases/validate-step-output.js.map +1 -0
  30. package/dist/application/validation.d.ts +6 -0
  31. package/dist/application/validation.d.ts.map +1 -0
  32. package/dist/application/validation.js +19 -0
  33. package/dist/application/validation.js.map +1 -0
  34. package/dist/cli.d.ts +3 -0
  35. package/dist/cli.d.ts.map +1 -0
  36. package/dist/cli.js +106 -0
  37. package/dist/cli.js.map +1 -0
  38. package/dist/container.d.ts +22 -0
  39. package/dist/container.d.ts.map +1 -0
  40. package/dist/container.js +25 -0
  41. package/dist/container.js.map +1 -0
  42. package/dist/core/error-handler.d.ts +93 -0
  43. package/dist/core/error-handler.d.ts.map +1 -0
  44. package/dist/core/error-handler.js +336 -0
  45. package/dist/core/error-handler.js.map +1 -0
  46. package/dist/domain/index.d.ts +3 -0
  47. package/dist/domain/index.d.ts.map +1 -0
  48. package/dist/domain/index.js +6 -0
  49. package/dist/domain/index.js.map +1 -0
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +30 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/infrastructure/index.d.ts +3 -0
  55. package/dist/infrastructure/index.d.ts.map +1 -0
  56. package/dist/infrastructure/index.js +6 -0
  57. package/dist/infrastructure/index.js.map +1 -0
  58. package/dist/infrastructure/rpc/handler.d.ts +26 -0
  59. package/dist/infrastructure/rpc/handler.d.ts.map +1 -0
  60. package/dist/infrastructure/rpc/handler.js +91 -0
  61. package/dist/infrastructure/rpc/handler.js.map +1 -0
  62. package/dist/infrastructure/rpc/index.d.ts +2 -0
  63. package/dist/infrastructure/rpc/index.d.ts.map +1 -0
  64. package/dist/infrastructure/rpc/index.js +5 -0
  65. package/dist/infrastructure/rpc/index.js.map +1 -0
  66. package/dist/infrastructure/rpc/server.d.ts +4 -0
  67. package/dist/infrastructure/rpc/server.d.ts.map +1 -0
  68. package/dist/infrastructure/rpc/server.js +40 -0
  69. package/dist/infrastructure/rpc/server.js.map +1 -0
  70. package/dist/infrastructure/storage/caching-workflow-storage.d.ts +22 -0
  71. package/dist/infrastructure/storage/caching-workflow-storage.d.ts.map +1 -0
  72. package/dist/infrastructure/storage/caching-workflow-storage.js +61 -0
  73. package/dist/infrastructure/storage/caching-workflow-storage.js.map +1 -0
  74. package/dist/infrastructure/storage/file-workflow-storage.d.ts +56 -0
  75. package/dist/infrastructure/storage/file-workflow-storage.d.ts.map +1 -0
  76. package/dist/infrastructure/storage/file-workflow-storage.js +206 -0
  77. package/dist/infrastructure/storage/file-workflow-storage.js.map +1 -0
  78. package/dist/infrastructure/storage/in-memory-storage.d.ts +17 -0
  79. package/dist/infrastructure/storage/in-memory-storage.d.ts.map +1 -0
  80. package/dist/infrastructure/storage/in-memory-storage.js +43 -0
  81. package/dist/infrastructure/storage/in-memory-storage.js.map +1 -0
  82. package/dist/infrastructure/storage/index.d.ts +6 -0
  83. package/dist/infrastructure/storage/index.d.ts.map +1 -0
  84. package/dist/infrastructure/storage/index.js +9 -0
  85. package/dist/infrastructure/storage/index.js.map +1 -0
  86. package/dist/infrastructure/storage/schema-validating-workflow-storage.d.ts +23 -0
  87. package/dist/infrastructure/storage/schema-validating-workflow-storage.d.ts.map +1 -0
  88. package/dist/infrastructure/storage/schema-validating-workflow-storage.js +70 -0
  89. package/dist/infrastructure/storage/schema-validating-workflow-storage.js.map +1 -0
  90. package/dist/infrastructure/storage/storage.d.ts +16 -0
  91. package/dist/infrastructure/storage/storage.d.ts.map +1 -0
  92. package/dist/infrastructure/storage/storage.js +32 -0
  93. package/dist/infrastructure/storage/storage.js.map +1 -0
  94. package/dist/mcp-server-simple.js +391 -0
  95. package/dist/mcp-server.d.ts +3 -0
  96. package/dist/mcp-server.d.ts.map +1 -0
  97. package/dist/mcp-server.js +223 -0
  98. package/dist/mcp-server.js.map +1 -0
  99. package/dist/tools/mcp_initialize.d.ts +3 -0
  100. package/dist/tools/mcp_initialize.d.ts.map +1 -0
  101. package/dist/tools/mcp_initialize.js +52 -0
  102. package/dist/tools/mcp_initialize.js.map +1 -0
  103. package/dist/tools/mcp_shutdown.d.ts +3 -0
  104. package/dist/tools/mcp_shutdown.d.ts.map +1 -0
  105. package/dist/tools/mcp_shutdown.js +11 -0
  106. package/dist/tools/mcp_shutdown.js.map +1 -0
  107. package/dist/tools/mcp_tools_list.d.ts +3 -0
  108. package/dist/tools/mcp_tools_list.d.ts.map +1 -0
  109. package/dist/tools/mcp_tools_list.js +61 -0
  110. package/dist/tools/mcp_tools_list.js.map +1 -0
  111. package/dist/types/mcp-types.d.ts +251 -0
  112. package/dist/types/mcp-types.d.ts.map +1 -0
  113. package/dist/types/mcp-types.js +27 -0
  114. package/dist/types/mcp-types.js.map +1 -0
  115. package/dist/types/server.d.ts +5 -0
  116. package/dist/types/server.d.ts.map +1 -0
  117. package/dist/types/server.js +3 -0
  118. package/dist/types/server.js.map +1 -0
  119. package/dist/types/storage.d.ts +27 -0
  120. package/dist/types/storage.d.ts.map +1 -0
  121. package/dist/types/storage.js +6 -0
  122. package/dist/types/storage.js.map +1 -0
  123. package/dist/types/workflow-types.d.ts +251 -0
  124. package/dist/types/workflow-types.d.ts.map +1 -0
  125. package/dist/types/workflow-types.js +5 -0
  126. package/dist/types/workflow-types.js.map +1 -0
  127. package/dist/utils/condition-evaluator.d.ts +32 -0
  128. package/dist/utils/condition-evaluator.d.ts.map +1 -0
  129. package/dist/utils/condition-evaluator.js +105 -0
  130. package/dist/utils/condition-evaluator.js.map +1 -0
  131. package/dist/utils/config.d.ts +195 -0
  132. package/dist/utils/config.d.ts.map +1 -0
  133. package/dist/utils/config.js +332 -0
  134. package/dist/utils/config.js.map +1 -0
  135. package/dist/validation/request-validator.d.ts +9 -0
  136. package/dist/validation/request-validator.d.ts.map +1 -0
  137. package/dist/validation/request-validator.js +32 -0
  138. package/dist/validation/request-validator.js.map +1 -0
  139. package/dist/validation/response-validator.d.ts +9 -0
  140. package/dist/validation/response-validator.d.ts.map +1 -0
  141. package/dist/validation/response-validator.js +83 -0
  142. package/dist/validation/response-validator.js.map +1 -0
  143. package/dist/validation/schemas.d.ts +6 -0
  144. package/dist/validation/schemas.d.ts.map +1 -0
  145. package/dist/validation/schemas.js +52 -0
  146. package/dist/validation/schemas.js.map +1 -0
  147. package/package.json +48 -0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=mcp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,223 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
5
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
6
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
7
+ const container_js_1 = require("./container.js");
8
+ class WorkflowOrchestrationServer {
9
+ container;
10
+ constructor() {
11
+ this.container = (0, container_js_1.createAppContainer)();
12
+ }
13
+ async callWorkflowMethod(method, params) {
14
+ try {
15
+ // Use the workflow service directly
16
+ const { workflowService } = this.container;
17
+ let result;
18
+ switch (method) {
19
+ case 'workflow_list':
20
+ const workflows = await workflowService.listWorkflowSummaries();
21
+ result = { workflows };
22
+ break;
23
+ case 'workflow_get':
24
+ result = await workflowService.getWorkflowById(params.id);
25
+ break;
26
+ case 'workflow_next':
27
+ result = await workflowService.getNextStep(params.workflowId, params.completedSteps || [], params.context);
28
+ break;
29
+ case 'workflow_validate':
30
+ result = await workflowService.validateStepOutput(params.workflowId, params.stepId, params.output);
31
+ break;
32
+ default:
33
+ throw new Error(`Unknown method: ${method}`);
34
+ }
35
+ return {
36
+ content: [{
37
+ type: "text",
38
+ text: JSON.stringify(result, null, 2)
39
+ }]
40
+ };
41
+ }
42
+ catch (error) {
43
+ console.error(`Workflow method ${method} failed:`, error);
44
+ return {
45
+ content: [{
46
+ type: "text",
47
+ text: JSON.stringify({
48
+ error: error instanceof Error ? error.message : String(error),
49
+ method,
50
+ params
51
+ }, null, 2)
52
+ }],
53
+ isError: true
54
+ };
55
+ }
56
+ }
57
+ async listWorkflows() {
58
+ return this.callWorkflowMethod('workflow_list', {});
59
+ }
60
+ async getWorkflow(workflowId) {
61
+ return this.callWorkflowMethod('workflow_get', { id: workflowId });
62
+ }
63
+ async getNextStep(workflowId, completedSteps = [], context) {
64
+ return this.callWorkflowMethod('workflow_next', { workflowId, completedSteps, context });
65
+ }
66
+ async validateStep(workflowId, stepId, output) {
67
+ return this.callWorkflowMethod('workflow_validate', { workflowId, stepId, output });
68
+ }
69
+ }
70
+ // Define the workflow orchestration tools
71
+ const WORKFLOW_LIST_TOOL = {
72
+ name: "workflow_list",
73
+ description: `Your primary tool for any complex or multi-step request. Call this FIRST to see if a reliable, pre-defined workflow exists, as this is the preferred method over improvisation.
74
+
75
+ Your process:
76
+ 1. Call this tool to get a list of available workflows.
77
+ 2. Analyze the returned descriptions to find a match for the user's goal.
78
+ 3. If a good match is found, suggest it to the user and use \`workflow_get\` to start.
79
+ 4. If NO match is found, inform the user and then attempt to solve the task using your general abilities.`,
80
+ inputSchema: {
81
+ type: "object",
82
+ properties: {},
83
+ additionalProperties: false
84
+ }
85
+ };
86
+ const WORKFLOW_GET_TOOL = {
87
+ name: "workflow_get",
88
+ description: `Starts a specific workflow and retrieves its first step. Call this tool AFTER you have used \`workflow_list\` and the user has confirmed which workflow to start.`,
89
+ inputSchema: {
90
+ type: "object",
91
+ properties: {
92
+ workflowId: {
93
+ type: "string",
94
+ description: "The unique identifier of the workflow to retrieve",
95
+ pattern: "^[A-Za-z0-9_-]+$"
96
+ }
97
+ },
98
+ required: ["workflowId"],
99
+ additionalProperties: false
100
+ }
101
+ };
102
+ const WORKFLOW_NEXT_TOOL = {
103
+ name: "workflow_next",
104
+ description: `Executes a workflow by getting the next step. Use this tool in a loop to progress through a workflow. You must provide the \`workflowId\` and a list of \`completedSteps\`. For conditional workflows, provide \`context\` with variables that will be used to evaluate step conditions.`,
105
+ inputSchema: {
106
+ type: "object",
107
+ properties: {
108
+ workflowId: {
109
+ type: "string",
110
+ description: "The unique identifier of the workflow",
111
+ pattern: "^[A-Za-z0-9_-]+$"
112
+ },
113
+ completedSteps: {
114
+ type: "array",
115
+ items: {
116
+ type: "string",
117
+ pattern: "^[A-Za-z0-9_-]+$"
118
+ },
119
+ description: "Array of step IDs that have been completed",
120
+ default: []
121
+ },
122
+ context: {
123
+ type: "object",
124
+ description: "Optional context variables for conditional step execution",
125
+ additionalProperties: true
126
+ }
127
+ },
128
+ required: ["workflowId"],
129
+ additionalProperties: false
130
+ }
131
+ };
132
+ const WORKFLOW_VALIDATE_TOOL = {
133
+ name: "workflow_validate",
134
+ description: `(Optional but Recommended) Verifies the output of a step before proceeding. Use this after completing a step to check if your work is valid to prevent errors.`,
135
+ inputSchema: {
136
+ type: "object",
137
+ properties: {
138
+ workflowId: {
139
+ type: "string",
140
+ description: "The unique identifier of the workflow",
141
+ pattern: "^[A-Za-z0-9_-]+$"
142
+ },
143
+ stepId: {
144
+ type: "string",
145
+ description: "The unique identifier of the step to validate",
146
+ pattern: "^[A-Za-z0-9_-]+$"
147
+ },
148
+ output: {
149
+ type: "string",
150
+ description: "The output or result produced for this step",
151
+ maxLength: 10000
152
+ }
153
+ },
154
+ required: ["workflowId", "stepId", "output"],
155
+ additionalProperties: false
156
+ }
157
+ };
158
+ // Create and configure the MCP server
159
+ const server = new index_js_1.Server({
160
+ name: "workflow-orchestration-server",
161
+ version: "0.0.1",
162
+ }, {
163
+ capabilities: {
164
+ tools: {},
165
+ },
166
+ });
167
+ const workflowServer = new WorkflowOrchestrationServer();
168
+ // Register request handlers
169
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
170
+ tools: [
171
+ WORKFLOW_LIST_TOOL,
172
+ WORKFLOW_GET_TOOL,
173
+ WORKFLOW_NEXT_TOOL,
174
+ WORKFLOW_VALIDATE_TOOL
175
+ ],
176
+ }));
177
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
178
+ const { name, arguments: args } = request.params;
179
+ switch (name) {
180
+ case "workflow_list":
181
+ return await workflowServer.listWorkflows();
182
+ case "workflow_get":
183
+ if (!args?.['workflowId']) {
184
+ return {
185
+ content: [{ type: "text", text: "Error: workflowId parameter is required" }],
186
+ isError: true
187
+ };
188
+ }
189
+ return await workflowServer.getWorkflow(args['workflowId']);
190
+ case "workflow_next":
191
+ if (!args?.['workflowId']) {
192
+ return {
193
+ content: [{ type: "text", text: "Error: workflowId parameter is required" }],
194
+ isError: true
195
+ };
196
+ }
197
+ return await workflowServer.getNextStep(args['workflowId'], args['completedSteps'] || [], args['context']);
198
+ case "workflow_validate":
199
+ if (!args?.['workflowId'] || !args?.['stepId'] || !args?.['output']) {
200
+ return {
201
+ content: [{ type: "text", text: "Error: workflowId, stepId, and output parameters are required" }],
202
+ isError: true
203
+ };
204
+ }
205
+ return await workflowServer.validateStep(args['workflowId'], args['stepId'], args['output']);
206
+ default:
207
+ return {
208
+ content: [{ type: "text", text: `Unknown tool: ${name}` }],
209
+ isError: true
210
+ };
211
+ }
212
+ });
213
+ // Start the server
214
+ async function runServer() {
215
+ const transport = new stdio_js_1.StdioServerTransport();
216
+ await server.connect(transport);
217
+ console.error("Workflow Orchestration MCP Server running on stdio");
218
+ }
219
+ runServer().catch((error) => {
220
+ console.error("Fatal error running server:", error);
221
+ process.exit(1);
222
+ });
223
+ //# sourceMappingURL=mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { MCPInitializeRequest, MCPInitializeResponse } from '../types/mcp-types';
2
+ export declare function initializeHandler(request: MCPInitializeRequest): Promise<MCPInitializeResponse>;
3
+ //# sourceMappingURL=mcp_initialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_initialize.d.ts","sourceRoot":"","sources":["../../src/tools/mcp_initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAiB,MAAM,oBAAoB,CAAC;AAMhG,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA6DhC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initializeHandler = initializeHandler;
4
+ const mcp_types_1 = require("../types/mcp-types");
5
+ const error_handler_1 = require("../core/error-handler");
6
+ // Supported MCP protocol versions
7
+ const SUPPORTED_PROTOCOL_VERSIONS = ['2024-11-05'];
8
+ async function initializeHandler(request) {
9
+ // Validate required parameters
10
+ if (!request.params) {
11
+ throw new error_handler_1.MCPError(mcp_types_1.MCPErrorCodes.INVALID_PARAMS, 'Invalid params: params object is required');
12
+ }
13
+ const { protocolVersion, capabilities } = request.params;
14
+ // Validate protocolVersion is provided
15
+ if (!protocolVersion) {
16
+ throw new error_handler_1.MCPError(mcp_types_1.MCPErrorCodes.INVALID_PARAMS, 'Invalid params: protocolVersion is required');
17
+ }
18
+ // Validate capabilities is provided
19
+ if (!capabilities) {
20
+ throw new error_handler_1.MCPError(mcp_types_1.MCPErrorCodes.INVALID_PARAMS, 'Invalid params: capabilities is required');
21
+ }
22
+ // Validate protocol version is supported
23
+ if (!SUPPORTED_PROTOCOL_VERSIONS.includes(protocolVersion)) {
24
+ throw new error_handler_1.MCPError(mcp_types_1.MCPErrorCodes.SERVER_ERROR, 'Unsupported protocol version', {
25
+ supportedVersions: SUPPORTED_PROTOCOL_VERSIONS,
26
+ requestedVersion: protocolVersion
27
+ });
28
+ }
29
+ // Return successful initialization response
30
+ return {
31
+ jsonrpc: '2.0',
32
+ id: request.id,
33
+ result: {
34
+ protocolVersion: protocolVersion,
35
+ capabilities: {
36
+ tools: {
37
+ listChanged: false, // Tools are static - never change
38
+ notifyProgress: false
39
+ },
40
+ resources: {
41
+ listChanged: false // No resources supported
42
+ }
43
+ },
44
+ serverInfo: {
45
+ name: 'workflow-lookup',
46
+ version: '0.0.1',
47
+ description: 'MCP server for workflow orchestration and guidance'
48
+ }
49
+ }
50
+ };
51
+ }
52
+ //# sourceMappingURL=mcp_initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_initialize.js","sourceRoot":"","sources":["../../src/tools/mcp_initialize.ts"],"names":[],"mappings":";;AAMA,8CA+DC;AArED,kDAAgG;AAChG,yDAAiD;AAEjD,kCAAkC;AAClC,MAAM,2BAA2B,GAAG,CAAC,YAAY,CAAC,CAAC;AAE5C,KAAK,UAAU,iBAAiB,CACrC,OAA6B;IAE7B,+BAA+B;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,wBAAQ,CAChB,yBAAa,CAAC,cAAc,EAC5B,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzD,uCAAuC;IACvC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,wBAAQ,CAChB,yBAAa,CAAC,cAAc,EAC5B,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,wBAAQ,CAChB,yBAAa,CAAC,cAAc,EAC5B,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAQ,CAChB,yBAAa,CAAC,YAAY,EAC1B,8BAA8B,EAC9B;YACE,iBAAiB,EAAE,2BAA2B;YAC9C,gBAAgB,EAAE,eAAe;SAClC,CACF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE;YACN,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE;gBACZ,KAAK,EAAE;oBACL,WAAW,EAAE,KAAK,EAAE,kCAAkC;oBACtD,cAAc,EAAE,KAAK;iBACtB;gBACD,SAAS,EAAE;oBACT,WAAW,EAAE,KAAK,CAAC,yBAAyB;iBAC7C;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,oDAAoD;aAClE;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MCPShutdownRequest, MCPShutdownResponse } from '../types/mcp-types';
2
+ export declare function shutdownHandler(request: MCPShutdownRequest): Promise<MCPShutdownResponse>;
3
+ //# sourceMappingURL=mcp_shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_shutdown.d.ts","sourceRoot":"","sources":["../../src/tools/mcp_shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAM9B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shutdownHandler = shutdownHandler;
4
+ async function shutdownHandler(request) {
5
+ return {
6
+ jsonrpc: '2.0',
7
+ id: request.id,
8
+ result: null
9
+ };
10
+ }
11
+ //# sourceMappingURL=mcp_shutdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_shutdown.js","sourceRoot":"","sources":["../../src/tools/mcp_shutdown.ts"],"names":[],"mappings":";;AAEA,0CAQC;AARM,KAAK,UAAU,eAAe,CACnC,OAA2B;IAE3B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MCPToolsListRequest, MCPToolsListResponse } from '../types/mcp-types';
2
+ export declare function toolsListHandler(request: MCPToolsListRequest): Promise<MCPToolsListResponse>;
3
+ //# sourceMappingURL=mcp_tools_list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_tools_list.d.ts","sourceRoot":"","sources":["../../src/tools/mcp_tools_list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAW,MAAM,oBAAoB,CAAC;AAmDxF,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAQ/B"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toolsListHandler = toolsListHandler;
4
+ const tools = [
5
+ {
6
+ name: 'workflow_list',
7
+ description: 'List all available workflows',
8
+ inputSchema: {}
9
+ },
10
+ {
11
+ name: 'workflow_get',
12
+ description: 'Retrieve a workflow by id',
13
+ inputSchema: {
14
+ type: 'object',
15
+ properties: {
16
+ id: { type: 'string' }
17
+ },
18
+ required: ['id']
19
+ }
20
+ },
21
+ {
22
+ name: 'workflow_next',
23
+ description: 'Get guidance for the next step of a workflow',
24
+ inputSchema: {
25
+ type: 'object',
26
+ properties: {
27
+ workflowId: { type: 'string' },
28
+ completedSteps: { type: 'array', items: { type: 'string' } },
29
+ context: {
30
+ type: 'object',
31
+ description: 'Optional execution context for evaluating step conditions',
32
+ additionalProperties: true
33
+ }
34
+ },
35
+ required: ['workflowId', 'completedSteps']
36
+ }
37
+ },
38
+ {
39
+ name: 'workflow_validate',
40
+ description: 'Validate output for a workflow step',
41
+ inputSchema: {
42
+ type: 'object',
43
+ properties: {
44
+ workflowId: { type: 'string' },
45
+ stepId: { type: 'string' },
46
+ output: { type: 'string' }
47
+ },
48
+ required: ['workflowId', 'stepId', 'output']
49
+ }
50
+ }
51
+ ];
52
+ async function toolsListHandler(request) {
53
+ return {
54
+ jsonrpc: '2.0',
55
+ id: request.id,
56
+ result: {
57
+ tools
58
+ }
59
+ };
60
+ }
61
+ //# sourceMappingURL=mcp_tools_list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_tools_list.js","sourceRoot":"","sources":["../../src/tools/mcp_tools_list.ts"],"names":[],"mappings":";;AAmDA,4CAUC;AA3DD,MAAM,KAAK,GAAc;IACvB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,EAAE;KAChB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACvB;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC5D,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2DAA2D;oBACxE,oBAAoB,EAAE,IAAI;iBAC3B;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;SAC3C;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC7C;KACF;CACF,CAAC;AAEK,KAAK,UAAU,gBAAgB,CACpC,OAA4B;IAE5B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE;YACN,KAAK;SACN;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,251 @@
1
+ export interface JSONRPCRequest {
2
+ jsonrpc: "2.0";
3
+ id: number | string;
4
+ method: string;
5
+ params?: any;
6
+ }
7
+ export interface JSONRPCResponse {
8
+ jsonrpc: "2.0";
9
+ id: number | string | null;
10
+ result?: any;
11
+ error?: JSONRPCError;
12
+ }
13
+ export interface JSONRPCError {
14
+ code: number;
15
+ message: string;
16
+ data?: any;
17
+ }
18
+ export interface MCPInitializeRequest extends JSONRPCRequest {
19
+ method: "initialize";
20
+ params: {
21
+ protocolVersion: string;
22
+ capabilities: {
23
+ tools?: Record<string, any>;
24
+ resources?: Record<string, any>;
25
+ };
26
+ clientInfo?: {
27
+ name: string;
28
+ version: string;
29
+ };
30
+ };
31
+ }
32
+ export interface MCPInitializeResponse extends JSONRPCResponse {
33
+ result: {
34
+ protocolVersion: string;
35
+ capabilities: {
36
+ tools: {
37
+ listChanged?: boolean;
38
+ notifyProgress?: boolean;
39
+ };
40
+ resources: {
41
+ listChanged?: boolean;
42
+ };
43
+ };
44
+ serverInfo: {
45
+ name: string;
46
+ version: string;
47
+ description: string;
48
+ };
49
+ };
50
+ }
51
+ export interface MCPToolsListRequest extends JSONRPCRequest {
52
+ method: "tools/list";
53
+ params: Record<string, never>;
54
+ }
55
+ export interface MCPTool {
56
+ name: string;
57
+ description: string;
58
+ inputSchema: Record<string, any>;
59
+ outputSchema?: Record<string, any>;
60
+ examples?: {
61
+ request: Record<string, any>;
62
+ response: Record<string, any>;
63
+ };
64
+ }
65
+ export interface MCPToolsListResponse extends JSONRPCResponse {
66
+ result: {
67
+ tools: MCPTool[];
68
+ };
69
+ }
70
+ export interface MCPToolCallRequest extends JSONRPCRequest {
71
+ method: string;
72
+ params: Record<string, any>;
73
+ }
74
+ export interface MCPToolCallResponse extends JSONRPCResponse {
75
+ result: any;
76
+ }
77
+ export interface MCPShutdownRequest extends JSONRPCRequest {
78
+ method: "shutdown";
79
+ params: Record<string, never>;
80
+ }
81
+ export interface MCPShutdownResponse extends JSONRPCResponse {
82
+ result: null;
83
+ }
84
+ export declare enum MCPErrorCodes {
85
+ PARSE_ERROR = -32700,
86
+ INVALID_REQUEST = -32600,
87
+ METHOD_NOT_FOUND = -32601,
88
+ INVALID_PARAMS = -32602,
89
+ INTERNAL_ERROR = -32603,
90
+ SERVER_ERROR = -32000,
91
+ WORKFLOW_NOT_FOUND = -32001,
92
+ INVALID_WORKFLOW = -32002,
93
+ STEP_NOT_FOUND = -32003,
94
+ VALIDATION_ERROR = -32004,
95
+ STATE_ERROR = -32005,
96
+ STORAGE_ERROR = -32006,
97
+ SECURITY_ERROR = -32007
98
+ }
99
+ export interface WorkflowListRequest extends MCPToolCallRequest {
100
+ method: "workflow_list";
101
+ params: Record<string, never>;
102
+ }
103
+ export interface WorkflowSummary {
104
+ id: string;
105
+ name: string;
106
+ description: string;
107
+ category: string;
108
+ version: string;
109
+ }
110
+ export interface WorkflowListResponse extends MCPToolCallResponse {
111
+ result: {
112
+ workflows: WorkflowSummary[];
113
+ };
114
+ }
115
+ export interface WorkflowGetRequest extends MCPToolCallRequest {
116
+ method: "workflow_get";
117
+ params: {
118
+ id: string;
119
+ };
120
+ }
121
+ export interface WorkflowStep {
122
+ id: string;
123
+ title: string;
124
+ prompt: string;
125
+ guidance?: string[];
126
+ askForFiles?: boolean;
127
+ requireConfirmation?: boolean;
128
+ runCondition?: object;
129
+ }
130
+ export interface Workflow {
131
+ id: string;
132
+ name: string;
133
+ description: string;
134
+ version: string;
135
+ preconditions?: string[];
136
+ clarificationPrompts?: string[];
137
+ steps: WorkflowStep[];
138
+ metaGuidance?: string[];
139
+ }
140
+ export interface WorkflowGetResponse extends MCPToolCallResponse {
141
+ result: Workflow;
142
+ }
143
+ export interface WorkflowNextRequest extends MCPToolCallRequest {
144
+ method: "workflow_next";
145
+ params: {
146
+ workflowId: string;
147
+ currentStep?: string;
148
+ completedSteps: string[];
149
+ context?: Record<string, any>;
150
+ };
151
+ }
152
+ export interface WorkflowGuidance {
153
+ prompt: string;
154
+ modelHint?: string;
155
+ requiresConfirmation?: boolean;
156
+ validationCriteria?: string[];
157
+ }
158
+ export interface WorkflowNextResponse extends MCPToolCallResponse {
159
+ result: {
160
+ step: WorkflowStep | null;
161
+ guidance: WorkflowGuidance;
162
+ isComplete: boolean;
163
+ };
164
+ }
165
+ export interface WorkflowValidateRequest extends MCPToolCallRequest {
166
+ method: "workflow_validate";
167
+ params: {
168
+ workflowId: string;
169
+ stepId: string;
170
+ output: string;
171
+ };
172
+ }
173
+ export interface WorkflowValidateResponse extends MCPToolCallResponse {
174
+ result: {
175
+ valid: boolean;
176
+ issues?: string[];
177
+ suggestions?: string[];
178
+ };
179
+ }
180
+ export interface WorkflowState {
181
+ workflowId: string;
182
+ currentStep?: string;
183
+ completedSteps: string[];
184
+ context: Record<string, any>;
185
+ startedAt: Date;
186
+ lastUpdated: Date;
187
+ }
188
+ export interface WorkflowExecution {
189
+ id: string;
190
+ workflowId: string;
191
+ state: WorkflowState;
192
+ status: 'running' | 'completed' | 'failed' | 'paused';
193
+ error?: string;
194
+ }
195
+ export interface ValidationRule {
196
+ type: 'required' | 'pattern' | 'length' | 'custom';
197
+ field: string;
198
+ message: string;
199
+ validator?: (value: any) => boolean;
200
+ }
201
+ export interface ValidationResult {
202
+ valid: boolean;
203
+ errors: ValidationError[];
204
+ }
205
+ export interface ValidationError {
206
+ field: string;
207
+ message: string;
208
+ code: string;
209
+ }
210
+ export interface ServerConfig {
211
+ port: number;
212
+ host: string;
213
+ environment: string;
214
+ logLevel: string;
215
+ workflowStorage: {
216
+ type: 'file' | 'database';
217
+ path: string;
218
+ };
219
+ security: {
220
+ jwtSecret: string;
221
+ apiKey?: string;
222
+ maxInputSize: number;
223
+ rateLimit: {
224
+ windowMs: number;
225
+ max: number;
226
+ };
227
+ };
228
+ performance: {
229
+ cacheTTL: number;
230
+ maxConcurrentRequests: number;
231
+ memoryLimit: string;
232
+ };
233
+ }
234
+ export interface LogEntry {
235
+ timestamp: Date;
236
+ level: 'debug' | 'info' | 'warn' | 'error';
237
+ message: string;
238
+ context?: Record<string, any>;
239
+ error?: Error;
240
+ }
241
+ export interface LogConfig {
242
+ level: string;
243
+ format: 'json' | 'text';
244
+ destination: 'console' | 'file' | 'both';
245
+ filePath?: string;
246
+ }
247
+ export type MCPRequest = MCPInitializeRequest | MCPToolsListRequest | MCPToolCallRequest | MCPShutdownRequest;
248
+ export type MCPResponse = MCPInitializeResponse | MCPToolsListResponse | MCPToolCallResponse | MCPShutdownResponse;
249
+ export type WorkflowToolRequest = WorkflowListRequest | WorkflowGetRequest | WorkflowNextRequest | WorkflowValidateRequest;
250
+ export type WorkflowToolResponse = WorkflowListResponse | WorkflowGetResponse | WorkflowNextResponse | WorkflowValidateResponse;
251
+ //# sourceMappingURL=mcp-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-types.d.ts","sourceRoot":"","sources":["../../src/types/mcp-types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAMD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACjC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE;YACZ,KAAK,EAAE;gBACL,WAAW,CAAC,EAAE,OAAO,CAAC;gBACtB,cAAc,CAAC,EAAE,OAAO,CAAC;aAC1B,CAAC;YACF,SAAS,EAAE;gBACT,WAAW,CAAC,EAAE,OAAO,CAAC;aACvB,CAAC;SACH,CAAC;QACF,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,EAAE,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,MAAM,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,MAAM,EAAE,IAAI,CAAC;CACd;AAMD,oBAAY,aAAa;IAEvB,WAAW,SAAS;IACpB,eAAe,SAAS;IACxB,gBAAgB,SAAS;IACzB,cAAc,SAAS;IACvB,cAAc,SAAS;IAGvB,YAAY,SAAS;IACrB,kBAAkB,SAAS;IAC3B,gBAAgB,SAAS;IACzB,cAAc,SAAS;IACvB,gBAAgB,SAAS;IACzB,WAAW,SAAS;IACpB,aAAa,SAAS;IACtB,cAAc,SAAS;CACxB;AAMD,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,MAAM,EAAE;QACN,SAAS,EAAE,eAAe,EAAE,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,MAAM,EAAE;QACN,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;QAC1B,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAMD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;YACT,QAAQ,EAAE,MAAM,CAAC;YACjB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAMD,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,MAAM,UAAU,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,WAAW,GACnB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAC5B,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,wBAAwB,CAAC"}