agent-common 1.0.2 → 1.0.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.0.3] - 2026-04-07
4
+
5
+ - `startMcpServer`:
6
+ - `handleTool` may return a Promise (async tool handlers).
7
+ - `tools` may be a function returning the list (dynamic tool lists).
8
+ - New `formatResult(result, toolName)` to customize tool response text (e.g. append a trailing instructions footer).
9
+ - New `onToolCalled(name, args, notify)` post-response hook with an injected `notify(method, params)` callback for emitting JSON-RPC notifications like `notifications/tools/list_changed`.
10
+ - New `capabilities` option to override the default `{ tools: {} }` (e.g. `{ tools: { listChanged: true } }`).
11
+ - New `logLabel` for stderr error prefixes.
12
+ - `McpServerHandle` now exposes `notify(method, params)`.
13
+
3
14
  ## [1.0.2] - 2026-04-07
4
15
 
5
16
  - `setupWebSocket`:
@@ -1,16 +1,24 @@
1
1
  import type { ToolDefinition } from '../types.js';
2
+ export type ToolList = ToolDefinition[] | (() => ToolDefinition[]);
3
+ export type NotifyFn = (method: string, params?: unknown) => void;
2
4
  export interface McpServerOptions {
3
5
  serverInfo: {
4
6
  name: string;
5
7
  version: string;
6
8
  };
7
- tools: ToolDefinition[];
8
- handleTool: (name: string, args: Record<string, unknown>) => unknown;
9
+ tools: ToolList;
10
+ handleTool: (name: string, args: Record<string, unknown>) => unknown | Promise<unknown>;
9
11
  onInitialize?: () => void;
12
+ formatResult?: (result: unknown, toolName: string) => string;
13
+ onToolCalled?: (name: string, args: Record<string, unknown>, notify: NotifyFn) => void;
14
+ capabilities?: Record<string, unknown>;
10
15
  protocolVersion?: string;
16
+ /** Label used in stderr error prefixes. Default: "agent-common". */
17
+ logLabel?: string;
11
18
  }
12
19
  export interface McpServerHandle {
13
20
  close(): void;
21
+ notify: NotifyFn;
14
22
  }
15
23
  export declare function startMcpServer(opts: McpServerOptions): McpServerHandle;
16
24
  //# sourceMappingURL=mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/transport/mcp.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAmC,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CA6GtE"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/transport/mcp.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAmC,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnF,MAAM,MAAM,QAAQ,GAAG,cAAc,EAAE,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAoKtE"}
@@ -2,20 +2,51 @@
2
2
  // agent-common — MCP transport
3
3
  //
4
4
  // Generic JSON-RPC over stdio dispatcher. The consumer provides:
5
- // - tools: ToolDefinition[]
6
- // - handleTool(name, args): unknown (the per-tool dispatcher)
7
5
  // - serverInfo: { name, version }
8
- // - onInitialize(): optional hook (e.g. to start the dashboard)
6
+ // - tools: ToolDefinition[] | () => ToolDefinition[] (dynamic supported)
7
+ // - handleTool(name, args): unknown | Promise<unknown> (async supported)
8
+ // - onInitialize(): optional hook fired on MCP initialize
9
+ // - formatResult?: custom JSON → text formatting for tool responses
10
+ // - onToolCalled?: post-response hook with a `notify` callback to emit
11
+ // JSON-RPC notifications like `notifications/tools/list_changed`
12
+ // - capabilities?: custom capabilities object merged over the default
9
13
  // =============================================================================
10
14
  import { createInterface } from 'readline';
11
15
  import { KitError } from '../types.js';
12
16
  export function startMcpServer(opts) {
13
17
  const protocolVersion = opts.protocolVersion ?? '2024-11-05';
14
- const capabilities = { tools: {} };
18
+ const capabilities = opts.capabilities ?? { tools: {} };
19
+ const label = opts.logLabel ?? 'agent-common';
15
20
  function writeResponse(response) {
16
21
  process.stdout.write(JSON.stringify(response) + '\n');
17
22
  }
18
- function handleRequest(request) {
23
+ const notify = (method, params) => {
24
+ const payload = { jsonrpc: '2.0', method };
25
+ if (params !== undefined)
26
+ payload.params = params;
27
+ process.stdout.write(JSON.stringify(payload) + '\n');
28
+ };
29
+ function resolveTools() {
30
+ return typeof opts.tools === 'function' ? opts.tools() : opts.tools;
31
+ }
32
+ function formatToolText(result, toolName) {
33
+ return opts.formatResult
34
+ ? opts.formatResult(result, toolName)
35
+ : JSON.stringify(result, null, 2);
36
+ }
37
+ function errorResponse(id, err) {
38
+ const message = err instanceof Error ? err.message : String(err);
39
+ const code = err instanceof KitError ? err.code : 'UNKNOWN_ERROR';
40
+ return {
41
+ jsonrpc: '2.0',
42
+ id,
43
+ result: {
44
+ content: [{ type: 'text', text: `Error [${code}]: ${message}` }],
45
+ isError: true,
46
+ },
47
+ };
48
+ }
49
+ async function handleRequest(request) {
19
50
  const { method, params, id } = request;
20
51
  switch (method) {
21
52
  case 'initialize':
@@ -24,7 +55,9 @@ export function startMcpServer(opts) {
24
55
  opts.onInitialize();
25
56
  }
26
57
  catch (err) {
27
- process.stderr.write('[agent-common] onInitialize error: ' +
58
+ process.stderr.write('[' +
59
+ label +
60
+ '] onInitialize error: ' +
28
61
  (err instanceof Error ? err.message : String(err)) +
29
62
  '\n');
30
63
  }
@@ -41,7 +74,7 @@ export function startMcpServer(opts) {
41
74
  case 'notifications/initialized':
42
75
  return null;
43
76
  case 'tools/list':
44
- return { jsonrpc: '2.0', id, result: { tools: opts.tools } };
77
+ return { jsonrpc: '2.0', id, result: { tools: resolveTools() } };
45
78
  case 'tools/call': {
46
79
  const toolName = String(params?.name ?? '');
47
80
  const rawArgs = params?.arguments;
@@ -49,26 +82,32 @@ export function startMcpServer(opts) {
49
82
  ? rawArgs
50
83
  : {};
51
84
  try {
52
- const result = opts.handleTool(toolName, toolArgs);
85
+ const raw = opts.handleTool(toolName, toolArgs);
86
+ const result = raw instanceof Promise ? await raw : raw;
53
87
  return {
54
88
  jsonrpc: '2.0',
55
89
  id,
56
90
  result: {
57
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
91
+ content: [{ type: 'text', text: formatToolText(result, toolName) }],
58
92
  },
59
93
  };
60
94
  }
61
95
  catch (err) {
62
- const message = err instanceof Error ? err.message : String(err);
63
- const code = err instanceof KitError ? err.code : 'UNKNOWN_ERROR';
64
- return {
65
- jsonrpc: '2.0',
66
- id,
67
- result: {
68
- content: [{ type: 'text', text: `Error [${code}]: ${message}` }],
69
- isError: true,
70
- },
71
- };
96
+ return errorResponse(id, err);
97
+ }
98
+ finally {
99
+ if (opts.onToolCalled) {
100
+ try {
101
+ opts.onToolCalled(toolName, toolArgs, notify);
102
+ }
103
+ catch (err) {
104
+ process.stderr.write('[' +
105
+ label +
106
+ '] onToolCalled error: ' +
107
+ (err instanceof Error ? err.message : String(err)) +
108
+ '\n');
109
+ }
110
+ }
72
111
  }
73
112
  }
74
113
  case 'ping':
@@ -85,14 +124,14 @@ export function startMcpServer(opts) {
85
124
  rl.on('line', (line) => {
86
125
  if (!line.trim())
87
126
  return;
127
+ let request;
88
128
  try {
89
- const request = JSON.parse(line);
90
- const response = handleRequest(request);
91
- if (response)
92
- writeResponse(response);
129
+ request = JSON.parse(line);
93
130
  }
94
131
  catch (err) {
95
- process.stderr.write('[agent-common] JSON-RPC parse error: ' +
132
+ process.stderr.write('[' +
133
+ label +
134
+ '] JSON-RPC parse error: ' +
96
135
  (err instanceof Error ? err.message : String(err)) +
97
136
  '\n');
98
137
  writeResponse({
@@ -100,12 +139,26 @@ export function startMcpServer(opts) {
100
139
  id: null,
101
140
  error: { code: -32700, message: 'Parse error' },
102
141
  });
142
+ return;
103
143
  }
144
+ handleRequest(request)
145
+ .then((response) => {
146
+ if (response)
147
+ writeResponse(response);
148
+ })
149
+ .catch((err) => {
150
+ process.stderr.write('[' +
151
+ label +
152
+ '] Handler error: ' +
153
+ (err instanceof Error ? err.message : String(err)) +
154
+ '\n');
155
+ });
104
156
  });
105
157
  return {
106
158
  close() {
107
159
  rl.close();
108
160
  },
161
+ notify,
109
162
  };
110
163
  }
111
164
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/transport/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/transport/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-common",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Shared foundation for agent-* MCP servers — SQLite, REST, WebSocket, MCP, cleanup, events, dashboard scaffolding",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",