@anastops/mcp-server 2.0.0 → 2.0.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.
@@ -2,13 +2,14 @@
2
2
  * MCP Tool Handlers - Main Router
3
3
  * Routes tool calls to specialized handler modules (v3.0 consolidated)
4
4
  */
5
+ import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
5
6
  import { toolDefinitions } from './tool-definitions.js';
6
7
  export { toolDefinitions };
7
8
  /**
8
- * Main tool call handler
9
- * Validates input, executes handler, and returns formatted response
9
+ * Create tool call handler with server instance
10
+ * Factory function that creates a handler with access to the MCP server
10
11
  */
11
- export declare function handleToolCall(name: string, args: Record<string, unknown>): Promise<{
12
+ export declare function createHandleToolCall(server: Server): (name: string, args: Record<string, unknown>) => Promise<{
12
13
  content: Array<{
13
14
  type: string;
14
15
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkBxD,OAAO,EAAE,eAAe,EAAE,CAAC;AA+K3B;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6ChF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAoBxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmBxD,OAAO,EAAE,eAAe,EAAE,CAAC;AAwL3B;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GACb,CACD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAkDlF"}
@@ -11,7 +11,7 @@ import { sanitizeErrorMessage, tasks, agents, artifacts, memoryStore, safePersis
11
11
  import { handleDispatch, handleRoute, handleBroadcast, handleAggregate, } from './handlers.orchestration.js';
12
12
  import { toolDefinitions } from './tool-definitions.js';
13
13
  import { handleAgentManage, handleAgentQuery } from './v3/agent-tools.js';
14
- import { handleSessionManage, handleSessionQuery, handleSessionQueueConfig, } from './v3/session-tools.js';
14
+ import { handleSessionManage, handleSessionQuery, handleSessionQueueConfig, handleSessionResume, } from './v3/session-tools.js';
15
15
  import { handleTool as handleTaskTool } from './v3/task-tools.js';
16
16
  import { handleDataManage, handleDataQuery, handleSystemQuery, handleLockManage, handleSessionMonitoring, handleConfigManage, } from './v3/utility-tools.js';
17
17
  export { toolDefinitions };
@@ -26,7 +26,7 @@ export { toolDefinitions };
26
26
  * Note: LRUCache is compatible with Map interface for our purposes.
27
27
  * We cast to the expected types for HandlerContext compatibility.
28
28
  */
29
- function createHandlerContext() {
29
+ function createHandlerContext(server) {
30
30
  return {
31
31
  sessions: new Map(), // Not needed for v3 handlers (session-tools manages its own)
32
32
  tasks: tasks,
@@ -35,6 +35,7 @@ function createHandlerContext() {
35
35
  memoryStore,
36
36
  sessionManager: new SessionManager(),
37
37
  registry: AdapterRegistry.getInstance(),
38
+ server,
38
39
  getPersistence,
39
40
  safePersist,
40
41
  };
@@ -48,13 +49,13 @@ function getOutputFormat(args) {
48
49
  /**
49
50
  * Route tool handler to the correct module (v3.0 consolidated)
50
51
  */
51
- async function executeToolHandler(name, args) {
52
+ async function executeToolHandler(name, args, server) {
52
53
  // Create shared context for v3 handlers
53
- const context = createHandlerContext();
54
+ const context = createHandlerContext(server);
54
55
  // V3.0 Consolidated Tools Routing
55
56
  switch (name) {
56
57
  // ========================================================================
57
- // SESSION MANAGEMENT (3 tools)
58
+ // SESSION MANAGEMENT (4 tools)
58
59
  // ========================================================================
59
60
  case 'session_manage':
60
61
  return handleSessionManage(args);
@@ -62,6 +63,8 @@ async function executeToolHandler(name, args) {
62
63
  return handleSessionQuery(args);
63
64
  case 'session_queue_config':
64
65
  return handleSessionQueueConfig(args);
66
+ case 'session_resume':
67
+ return handleSessionResume(args);
65
68
  // ========================================================================
66
69
  // AGENT MANAGEMENT (2 tools)
67
70
  // ========================================================================
@@ -70,12 +73,14 @@ async function executeToolHandler(name, args) {
70
73
  case 'agent_query':
71
74
  return handleAgentQuery(args);
72
75
  // ========================================================================
73
- // TASK MANAGEMENT (4 tools)
76
+ // TASK MANAGEMENT (6 tools)
74
77
  // ========================================================================
75
78
  case 'task_manage':
76
79
  case 'task_execute':
77
80
  case 'task_query':
78
81
  case 'task_retry':
82
+ case 'task_checklist':
83
+ case 'task_subscribe':
79
84
  return handleTaskTool(name, args, context);
80
85
  // ========================================================================
81
86
  // DATA MANAGEMENT (2 tools)
@@ -152,42 +157,44 @@ function formatResultAsTable(toolName, result) {
152
157
  return null;
153
158
  }
154
159
  /**
155
- * Main tool call handler
156
- * Validates input, executes handler, and returns formatted response
160
+ * Create tool call handler with server instance
161
+ * Factory function that creates a handler with access to the MCP server
157
162
  */
158
- export async function handleToolCall(name, args) {
159
- try {
160
- addBreadcrumb(`Tool invoked: ${name}`, { args: JSON.stringify(args).slice(0, 200) }, 'info', 'tool');
161
- const validatedArgs = validateToolInput(name, args);
162
- const result = await executeToolHandler(name, validatedArgs);
163
- const format = getOutputFormat(validatedArgs);
164
- if (format === 'table') {
165
- const formatted = formatResultAsTable(name, result);
166
- if (formatted !== null) {
167
- return {
168
- content: [{ type: 'text', text: formatted }],
169
- };
163
+ export function createHandleToolCall(server) {
164
+ return async function handleToolCall(name, args) {
165
+ try {
166
+ addBreadcrumb(`Tool invoked: ${name}`, { args: JSON.stringify(args).slice(0, 200) }, 'info', 'tool');
167
+ const validatedArgs = validateToolInput(name, args);
168
+ const result = await executeToolHandler(name, validatedArgs, server);
169
+ const format = getOutputFormat(validatedArgs);
170
+ if (format === 'table') {
171
+ const formatted = formatResultAsTable(name, result);
172
+ if (formatted !== null) {
173
+ return {
174
+ content: [{ type: 'text', text: formatted }],
175
+ };
176
+ }
170
177
  }
178
+ return {
179
+ content: [{ type: 'text', text: JSON.stringify(result) }],
180
+ isError: false,
181
+ };
171
182
  }
172
- return {
173
- content: [{ type: 'text', text: JSON.stringify(result) }],
174
- isError: false,
175
- };
176
- }
177
- catch (error) {
178
- const message = sanitizeErrorMessage(error);
179
- setErrorContext({
180
- tool: name,
181
- originalError: error instanceof Error ? error.message : String(error),
182
- });
183
- captureError(error, {
184
- tool: name,
185
- args: JSON.stringify(args).slice(0, 200),
186
- });
187
- return {
188
- content: [{ type: 'text', text: JSON.stringify({ error: message }) }],
189
- isError: true,
190
- };
191
- }
183
+ catch (error) {
184
+ const message = sanitizeErrorMessage(error);
185
+ setErrorContext({
186
+ tool: name,
187
+ originalError: error instanceof Error ? error.message : String(error),
188
+ });
189
+ captureError(error, {
190
+ tool: name,
191
+ args: JSON.stringify(args).slice(0, 200),
192
+ });
193
+ return {
194
+ content: [{ type: 'text', text: JSON.stringify({ error: message }) }],
195
+ isError: true,
196
+ };
197
+ }
198
+ };
192
199
  }
193
200
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"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"}