agent-recorder 2.0.11 → 2.0.13

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 (141) hide show
  1. package/dist/bundle.js +4 -0
  2. package/dist/bundle.js.map +1 -1
  3. package/dist/embed.d.ts +21 -0
  4. package/dist/embed.d.ts.map +1 -0
  5. package/dist/embed.js +22 -0
  6. package/dist/embed.js.map +1 -0
  7. package/package.json +8 -1
  8. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js +1 -0
  9. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js.map +1 -1
  10. package/vendor/node_modules/@agent-recorder/cli/commands/mcp-server.d.ts +11 -0
  11. package/vendor/node_modules/@agent-recorder/cli/commands/mcp-server.d.ts.map +1 -0
  12. package/vendor/node_modules/@agent-recorder/cli/commands/mcp-server.js +442 -0
  13. package/vendor/node_modules/@agent-recorder/cli/commands/mcp-server.js.map +1 -0
  14. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d.ts +2 -51
  15. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d.ts.map +1 -1
  16. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.js +2 -113
  17. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.js.map +1 -1
  18. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.js +1 -1
  19. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.js.map +1 -1
  20. package/vendor/node_modules/@agent-recorder/cli/index.js +10 -0
  21. package/vendor/node_modules/@agent-recorder/cli/index.js.map +1 -1
  22. package/vendor/node_modules/@agent-recorder/cli/package.json +1 -1
  23. package/vendor/node_modules/@agent-recorder/core/claude-config.d.ts +23 -0
  24. package/vendor/node_modules/@agent-recorder/core/claude-config.d.ts.map +1 -1
  25. package/vendor/node_modules/@agent-recorder/core/claude-config.js +50 -0
  26. package/vendor/node_modules/@agent-recorder/core/claude-config.js.map +1 -1
  27. package/vendor/node_modules/@agent-recorder/core/config.d.ts +6 -1
  28. package/vendor/node_modules/@agent-recorder/core/config.d.ts.map +1 -1
  29. package/vendor/node_modules/@agent-recorder/core/config.js +4 -1
  30. package/vendor/node_modules/@agent-recorder/core/config.js.map +1 -1
  31. package/vendor/node_modules/@agent-recorder/core/db/events-complete.test.d.ts +5 -0
  32. package/vendor/node_modules/@agent-recorder/core/db/events-complete.test.d.ts.map +1 -0
  33. package/vendor/node_modules/@agent-recorder/core/db/events-complete.test.js +133 -0
  34. package/vendor/node_modules/@agent-recorder/core/db/events-complete.test.js.map +1 -0
  35. package/vendor/node_modules/@agent-recorder/core/db/events.d.ts +23 -36
  36. package/vendor/node_modules/@agent-recorder/core/db/events.d.ts.map +1 -1
  37. package/vendor/node_modules/@agent-recorder/core/db/events.js +70 -2
  38. package/vendor/node_modules/@agent-recorder/core/db/events.js.map +1 -1
  39. package/vendor/node_modules/@agent-recorder/core/db/events.test.js +62 -1
  40. package/vendor/node_modules/@agent-recorder/core/db/events.test.js.map +1 -1
  41. package/vendor/node_modules/@agent-recorder/core/db/index.d.ts +1 -1
  42. package/vendor/node_modules/@agent-recorder/core/db/index.d.ts.map +1 -1
  43. package/vendor/node_modules/@agent-recorder/core/db/index.js +1 -1
  44. package/vendor/node_modules/@agent-recorder/core/db/index.js.map +1 -1
  45. package/vendor/node_modules/@agent-recorder/core/db/sessions.d.ts +2 -5
  46. package/vendor/node_modules/@agent-recorder/core/db/sessions.d.ts.map +1 -1
  47. package/vendor/node_modules/@agent-recorder/core/db/sessions.js.map +1 -1
  48. package/vendor/node_modules/@agent-recorder/core/migrations/007_add_correlation_id.sql +11 -0
  49. package/vendor/node_modules/@agent-recorder/core/package.json +1 -1
  50. package/vendor/node_modules/@agent-recorder/core/types/index.d.ts +4 -2
  51. package/vendor/node_modules/@agent-recorder/core/types/index.d.ts.map +1 -1
  52. package/vendor/node_modules/@agent-recorder/core/types/index.js +3 -0
  53. package/vendor/node_modules/@agent-recorder/core/types/index.js.map +1 -1
  54. package/vendor/node_modules/@agent-recorder/core/utils/redact.d.ts.map +1 -1
  55. package/vendor/node_modules/@agent-recorder/core/utils/redact.js +6 -3
  56. package/vendor/node_modules/@agent-recorder/core/utils/redact.js.map +1 -1
  57. package/vendor/node_modules/@agent-recorder/core/utils/redact.test.d.ts +6 -0
  58. package/vendor/node_modules/@agent-recorder/core/utils/redact.test.d.ts.map +1 -0
  59. package/vendor/node_modules/@agent-recorder/core/utils/redact.test.js +82 -0
  60. package/vendor/node_modules/@agent-recorder/core/utils/redact.test.js.map +1 -0
  61. package/vendor/node_modules/@agent-recorder/hooks/package.json +1 -1
  62. package/vendor/node_modules/@agent-recorder/service/daemon-context.d.ts +14 -0
  63. package/vendor/node_modules/@agent-recorder/service/daemon-context.d.ts.map +1 -0
  64. package/vendor/node_modules/@agent-recorder/service/daemon-context.js +15 -0
  65. package/vendor/node_modules/@agent-recorder/service/daemon-context.js.map +1 -0
  66. package/vendor/node_modules/@agent-recorder/service/index.d.ts +1 -8
  67. package/vendor/node_modules/@agent-recorder/service/index.d.ts.map +1 -1
  68. package/vendor/node_modules/@agent-recorder/service/index.js +14 -22
  69. package/vendor/node_modules/@agent-recorder/service/index.js.map +1 -1
  70. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts +27 -0
  71. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts.map +1 -1
  72. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js +109 -34
  73. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js.map +1 -1
  74. package/vendor/node_modules/@agent-recorder/service/mcp/types.d.ts +5 -31
  75. package/vendor/node_modules/@agent-recorder/service/mcp/types.d.ts.map +1 -1
  76. package/vendor/node_modules/@agent-recorder/service/mcp/types.js +3 -1
  77. package/vendor/node_modules/@agent-recorder/service/mcp/types.js.map +1 -1
  78. package/vendor/node_modules/@agent-recorder/service/mcp/upstreams-cache.test.d.ts +5 -0
  79. package/vendor/node_modules/@agent-recorder/service/mcp/upstreams-cache.test.d.ts.map +1 -0
  80. package/vendor/node_modules/@agent-recorder/service/mcp/upstreams-cache.test.js +66 -0
  81. package/vendor/node_modules/@agent-recorder/service/mcp/upstreams-cache.test.js.map +1 -0
  82. package/vendor/node_modules/@agent-recorder/service/package.json +1 -1
  83. package/vendor/node_modules/@agent-recorder/service/routes/events.d.ts.map +1 -1
  84. package/vendor/node_modules/@agent-recorder/service/routes/events.js +42 -1
  85. package/vendor/node_modules/@agent-recorder/service/routes/events.js.map +1 -1
  86. package/vendor/node_modules/@agent-recorder/service/routes/health.d.ts +6 -1
  87. package/vendor/node_modules/@agent-recorder/service/routes/health.d.ts.map +1 -1
  88. package/vendor/node_modules/@agent-recorder/service/routes/health.js +5 -6
  89. package/vendor/node_modules/@agent-recorder/service/routes/health.js.map +1 -1
  90. package/vendor/node_modules/@agent-recorder/service/routes/hooks.d.ts +20 -0
  91. package/vendor/node_modules/@agent-recorder/service/routes/hooks.d.ts.map +1 -1
  92. package/vendor/node_modules/@agent-recorder/service/routes/hooks.js +391 -47
  93. package/vendor/node_modules/@agent-recorder/service/routes/hooks.js.map +1 -1
  94. package/vendor/node_modules/@agent-recorder/service/routes/hooks.test.d.ts +9 -0
  95. package/vendor/node_modules/@agent-recorder/service/routes/hooks.test.d.ts.map +1 -0
  96. package/vendor/node_modules/@agent-recorder/service/routes/hooks.test.js +340 -0
  97. package/vendor/node_modules/@agent-recorder/service/routes/hooks.test.js.map +1 -0
  98. package/vendor/node_modules/@agent-recorder/service/routes/isToolResponseError.test.d.ts +8 -0
  99. package/vendor/node_modules/@agent-recorder/service/routes/isToolResponseError.test.d.ts.map +1 -0
  100. package/vendor/node_modules/@agent-recorder/service/routes/isToolResponseError.test.js +65 -0
  101. package/vendor/node_modules/@agent-recorder/service/routes/isToolResponseError.test.js.map +1 -0
  102. package/vendor/node_modules/@agent-recorder/service/routes/sessions.d.ts.map +1 -1
  103. package/vendor/node_modules/@agent-recorder/service/routes/sessions.js +19 -1
  104. package/vendor/node_modules/@agent-recorder/service/routes/sessions.js.map +1 -1
  105. package/vendor/node_modules/@agent-recorder/service/routes/stdio.d.ts.map +1 -1
  106. package/vendor/node_modules/@agent-recorder/service/routes/stdio.js +20 -1
  107. package/vendor/node_modules/@agent-recorder/service/routes/stdio.js.map +1 -1
  108. package/vendor/node_modules/@agent-recorder/service/server.d.ts +3 -0
  109. package/vendor/node_modules/@agent-recorder/service/server.d.ts.map +1 -1
  110. package/vendor/node_modules/@agent-recorder/service/server.js +27 -3
  111. package/vendor/node_modules/@agent-recorder/service/server.js.map +1 -1
  112. package/vendor/node_modules/@agent-recorder/stdio-proxy/package.json +1 -1
  113. package/vendor/node_modules/@agent-recorder/stdio-proxy/types.d.ts +3 -19
  114. package/vendor/node_modules/@agent-recorder/stdio-proxy/types.d.ts.map +1 -1
  115. package/vendor/node_modules/@agent-recorder/stdio-proxy/types.js +2 -1
  116. package/vendor/node_modules/@agent-recorder/stdio-proxy/types.js.map +1 -1
  117. package/vendor/node_modules/@agent-recorder/{core/types → types}/events.d.ts +5 -0
  118. package/vendor/node_modules/@agent-recorder/types/events.d.ts.map +1 -0
  119. package/vendor/node_modules/@agent-recorder/types/events.js +9 -0
  120. package/vendor/node_modules/@agent-recorder/types/events.js.map +1 -0
  121. package/vendor/node_modules/@agent-recorder/types/index.d.ts +12 -0
  122. package/vendor/node_modules/@agent-recorder/types/index.d.ts.map +1 -0
  123. package/vendor/node_modules/@agent-recorder/types/index.js +9 -0
  124. package/vendor/node_modules/@agent-recorder/types/index.js.map +1 -0
  125. package/vendor/node_modules/@agent-recorder/types/jsonrpc.d.ts +35 -0
  126. package/vendor/node_modules/@agent-recorder/types/jsonrpc.d.ts.map +1 -0
  127. package/vendor/node_modules/@agent-recorder/types/jsonrpc.js +6 -0
  128. package/vendor/node_modules/@agent-recorder/types/jsonrpc.js.map +1 -0
  129. package/vendor/node_modules/@agent-recorder/types/package.json +12 -0
  130. package/vendor/node_modules/@agent-recorder/{core/types → types}/session.d.ts +6 -0
  131. package/vendor/node_modules/@agent-recorder/types/session.d.ts.map +1 -0
  132. package/vendor/node_modules/@agent-recorder/{core/types → types}/session.js.map +1 -1
  133. package/vendor/node_modules/@agent-recorder/types/storage.d.ts +78 -0
  134. package/vendor/node_modules/@agent-recorder/types/storage.d.ts.map +1 -0
  135. package/vendor/node_modules/@agent-recorder/types/storage.js +9 -0
  136. package/vendor/node_modules/@agent-recorder/types/storage.js.map +1 -0
  137. package/vendor/node_modules/@agent-recorder/core/types/events.d.ts.map +0 -1
  138. package/vendor/node_modules/@agent-recorder/core/types/events.js +0 -6
  139. package/vendor/node_modules/@agent-recorder/core/types/events.js.map +0 -1
  140. package/vendor/node_modules/@agent-recorder/core/types/session.d.ts.map +0 -1
  141. /package/vendor/node_modules/@agent-recorder/{core/types → types}/session.js +0 -0
package/dist/bundle.js CHANGED
@@ -12,6 +12,10 @@ const __dirname = path.dirname(__filename);
12
12
  const distRoot = path.join(__dirname, "..");
13
13
  const packagesRoot = path.join(distRoot, "..");
14
14
  const packages = [
15
+ {
16
+ name: "@agent-recorder/types",
17
+ srcDir: "types",
18
+ },
15
19
  {
16
20
  name: "@agent-recorder/core",
17
21
  srcDir: "core",
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Agent Recorder — Embeddable API
3
+ *
4
+ * Use this import to embed Agent Recorder's recording capabilities
5
+ * into your own agent, orchestrator, or tool.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createMcpProxy, createServer, startServer } from "agent-recorder/embed";
10
+ * ```
11
+ *
12
+ * This module re-exports the composable building blocks:
13
+ * - MCP proxy (transparent forward + record)
14
+ * - REST API server (session and event inspection)
15
+ * - Session management
16
+ * - Type definitions (events, sessions, storage adapter)
17
+ */
18
+ export type { EventType, EventStatus, ErrorCategory, BaseEvent, AgentCallEvent, SubagentCallEvent, SkillCallEvent, ToolCallEvent, RecordedEvent, SessionStatus, Session, StorageAdapter, InsertEventInput, EventQueryOptions, EventFilterOptions, } from "@agent-recorder/types";
19
+ export { createServer, startServer, createMcpProxy, createSessionManager, type DaemonHandle, } from "@agent-recorder/service";
20
+ export { openDatabase, openMemoryDatabase, runMigrations, getDefaultMigrationsDir, loadConfig, type Config, } from "@agent-recorder/core";
21
+ //# sourceMappingURL=embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,KAAK,MAAM,GACZ,MAAM,sBAAsB,CAAC"}
package/dist/embed.js ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Agent Recorder — Embeddable API
3
+ *
4
+ * Use this import to embed Agent Recorder's recording capabilities
5
+ * into your own agent, orchestrator, or tool.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createMcpProxy, createServer, startServer } from "agent-recorder/embed";
10
+ * ```
11
+ *
12
+ * This module re-exports the composable building blocks:
13
+ * - MCP proxy (transparent forward + record)
14
+ * - REST API server (session and event inspection)
15
+ * - Session management
16
+ * - Type definitions (events, sessions, storage adapter)
17
+ */
18
+ // Service — composable building blocks
19
+ export { createServer, startServer, createMcpProxy, createSessionManager, } from "@agent-recorder/service";
20
+ // Core — database and utilities
21
+ export { openDatabase, openMemoryDatabase, runMigrations, getDefaultMigrationsDir, loadConfig, } from "@agent-recorder/core";
22
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAwBH,uCAAuC;AACvC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;AAEjC,gCAAgC;AAChC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,UAAU,GAEX,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-recorder",
3
- "version": "2.0.11",
3
+ "version": "2.0.13",
4
4
  "description": "Local-first flight recorder for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,6 +12,10 @@
12
12
  ".": {
13
13
  "types": "./dist/index.d.ts",
14
14
  "import": "./dist/index.js"
15
+ },
16
+ "./embed": {
17
+ "types": "./dist/embed.d.ts",
18
+ "import": "./dist/embed.js"
15
19
  }
16
20
  },
17
21
  "files": [
@@ -50,6 +54,9 @@
50
54
  "author": "Edyta Kucharska",
51
55
  "license": "MIT",
52
56
  "devDependencies": {
57
+ "@agent-recorder/core": "workspace:*",
58
+ "@agent-recorder/service": "workspace:*",
59
+ "@agent-recorder/types": "workspace:*",
53
60
  "@types/node": "^22.0.0"
54
61
  }
55
62
  }
@@ -17,6 +17,7 @@ function mockEvent(overrides = {}) {
17
17
  toolName: "read_file",
18
18
  mcpMethod: "tools/call",
19
19
  upstreamKey: null,
20
+ correlationId: null,
20
21
  startedAt: "2024-01-01T00:00:00.000Z",
21
22
  endedAt: "2024-01-01T00:00:01.000Z",
22
23
  status: "success",
@@ -1 +1 @@
1
- {"version":3,"file":"session-analytics.test.js","sourceRoot":"","sources":["../../src/analytics/session-analytics.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-analytics.test.js","sourceRoot":"","sources":["../../src/analytics/session-analytics.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP Server command - exposes Agent Recorder observability tools via MCP protocol.
3
+ * Uses Streamable HTTP transport (JSON-RPC 2.0 over HTTP POST).
4
+ * Binds to 0.0.0.0 so it can be tunneled via ngrok for cloud clients.
5
+ */
6
+ export interface McpServerOptions {
7
+ port?: string;
8
+ host?: string;
9
+ }
10
+ export declare function mcpServerCommand(options?: McpServerOptions): Promise<void>;
11
+ //# sourceMappingURL=mcp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/commands/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAogBH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -0,0 +1,442 @@
1
+ /**
2
+ * MCP Server command - exposes Agent Recorder observability tools via MCP protocol.
3
+ * Uses Streamable HTTP transport (JSON-RPC 2.0 over HTTP POST).
4
+ * Binds to 0.0.0.0 so it can be tunneled via ngrok for cloud clients.
5
+ */
6
+ import * as http from "node:http";
7
+ import { getActualListenPort } from "@agent-recorder/core";
8
+ const DAEMON_NOT_RUNNING_MSG = "Agent Recorder daemon not running. Start with: agent-recorder start";
9
+ function getDaemonBaseUrl() {
10
+ return `http://127.0.0.1:${getActualListenPort()}`;
11
+ }
12
+ async function fetchDaemon(path) {
13
+ const response = await fetch(`${getDaemonBaseUrl()}${path}`);
14
+ if (!response.ok) {
15
+ throw new Error(`HTTP ${response.status}`);
16
+ }
17
+ return response.json();
18
+ }
19
+ function isConnectError(error) {
20
+ if (error instanceof Error) {
21
+ return (error.message.includes("ECONNREFUSED") ||
22
+ error.message.includes("fetch failed") ||
23
+ error.message.includes("ENOTFOUND"));
24
+ }
25
+ return false;
26
+ }
27
+ // Tool definitions for MCP tools/list
28
+ const toolDefinitions = [
29
+ {
30
+ name: "check_health",
31
+ description: "Check if the Agent Recorder daemon is running and healthy",
32
+ inputSchema: {
33
+ type: "object",
34
+ properties: {},
35
+ required: [],
36
+ },
37
+ },
38
+ {
39
+ name: "list_sessions",
40
+ description: "List recent recording sessions",
41
+ inputSchema: {
42
+ type: "object",
43
+ properties: {
44
+ limit: {
45
+ type: "number",
46
+ description: "Maximum number of sessions to return (default: 10)",
47
+ },
48
+ },
49
+ required: [],
50
+ },
51
+ },
52
+ {
53
+ name: "get_session_summary",
54
+ description: "Get a structured summary of a specific session including tool usage and errors",
55
+ inputSchema: {
56
+ type: "object",
57
+ properties: {
58
+ session_id: {
59
+ type: "string",
60
+ description: "The session ID to summarize",
61
+ },
62
+ },
63
+ required: ["session_id"],
64
+ },
65
+ },
66
+ {
67
+ name: "get_errors",
68
+ description: "Get error events from a specific session",
69
+ inputSchema: {
70
+ type: "object",
71
+ properties: {
72
+ session_id: {
73
+ type: "string",
74
+ description: "The session ID to inspect",
75
+ },
76
+ },
77
+ required: ["session_id"],
78
+ },
79
+ },
80
+ {
81
+ name: "get_tool_call_stats",
82
+ description: "Get per-tool call statistics for a specific session",
83
+ inputSchema: {
84
+ type: "object",
85
+ properties: {
86
+ session_id: {
87
+ type: "string",
88
+ description: "The session ID to analyze",
89
+ },
90
+ },
91
+ required: ["session_id"],
92
+ },
93
+ },
94
+ {
95
+ name: "get_latest_session_summary",
96
+ description: "Get a structured summary of the most recent session",
97
+ inputSchema: {
98
+ type: "object",
99
+ properties: {},
100
+ required: [],
101
+ },
102
+ },
103
+ ];
104
+ async function toolCheckHealth() {
105
+ try {
106
+ const health = await fetchDaemon("/api/health");
107
+ return `Agent Recorder is running. Status: ${health.status}, PID: ${health.pid}, Uptime: ${Math.round(health.uptime)}s, Mode: ${health.mode}`;
108
+ }
109
+ catch (error) {
110
+ if (isConnectError(error)) {
111
+ return DAEMON_NOT_RUNNING_MSG;
112
+ }
113
+ return `Health check failed: ${String(error)}`;
114
+ }
115
+ }
116
+ async function toolListSessions(limit = 10) {
117
+ try {
118
+ const sessions = await fetchDaemon("/api/sessions");
119
+ const sliced = sessions.slice(0, limit);
120
+ if (sliced.length === 0) {
121
+ return "No sessions found.";
122
+ }
123
+ const rows = sliced.map((s) => ({
124
+ id: s.id,
125
+ status: s.status,
126
+ created_at: s.startedAt,
127
+ event_count: null,
128
+ }));
129
+ return JSON.stringify(rows, null, 2);
130
+ }
131
+ catch (error) {
132
+ if (isConnectError(error)) {
133
+ return DAEMON_NOT_RUNNING_MSG;
134
+ }
135
+ return `Failed to list sessions: ${String(error)}`;
136
+ }
137
+ }
138
+ async function buildSessionSummary(sessionId) {
139
+ const [session, events] = await Promise.all([
140
+ fetchDaemon(`/api/sessions/${sessionId}`),
141
+ fetchDaemon(`/api/sessions/${sessionId}/events`),
142
+ ]);
143
+ const toolCalls = events.filter((e) => e.eventType === "tool_call" && e.toolName);
144
+ const errorEvents = events.filter((e) => e.status === "error");
145
+ const toolsUsed = [
146
+ ...new Set(toolCalls.map((e) => e.toolName).filter(Boolean)),
147
+ ];
148
+ const summary = {
149
+ session_id: session.id,
150
+ status: session.status,
151
+ started_at: session.startedAt,
152
+ ended_at: session.endedAt ?? null,
153
+ total_events: events.length,
154
+ total_tool_calls: toolCalls.length,
155
+ tools_used: toolsUsed,
156
+ error_count: errorEvents.length,
157
+ errors: errorEvents.slice(0, 5).map((e) => ({
158
+ tool: e.toolName ?? e.skillName ?? "-",
159
+ message: e.errorCategory ?? "unknown",
160
+ timestamp: e.startedAt ?? "",
161
+ event_type: e.eventType,
162
+ })),
163
+ health: errorEvents.length === 0 ? "Clean" : "Errors detected",
164
+ };
165
+ return JSON.stringify(summary, null, 2);
166
+ }
167
+ async function toolGetSessionSummary(sessionId) {
168
+ try {
169
+ return await buildSessionSummary(sessionId);
170
+ }
171
+ catch (error) {
172
+ if (isConnectError(error)) {
173
+ return DAEMON_NOT_RUNNING_MSG;
174
+ }
175
+ return `Failed to get session summary: ${String(error)}`;
176
+ }
177
+ }
178
+ async function toolGetErrors(sessionId) {
179
+ try {
180
+ const events = await fetchDaemon(`/api/sessions/${sessionId}/events`);
181
+ const errors = events
182
+ .filter((e) => e.status === "error")
183
+ .map((e) => ({
184
+ tool: e.toolName ?? e.skillName ?? "-",
185
+ message: e.errorCategory ?? "unknown",
186
+ timestamp: e.startedAt ?? "",
187
+ event_type: e.eventType,
188
+ }));
189
+ if (errors.length === 0) {
190
+ return "No errors found in this session.";
191
+ }
192
+ return JSON.stringify(errors, null, 2);
193
+ }
194
+ catch (error) {
195
+ if (isConnectError(error)) {
196
+ return DAEMON_NOT_RUNNING_MSG;
197
+ }
198
+ return `Failed to get errors: ${String(error)}`;
199
+ }
200
+ }
201
+ async function toolGetToolCallStats(sessionId) {
202
+ try {
203
+ const events = await fetchDaemon(`/api/sessions/${sessionId}/events`);
204
+ const toolCalls = events.filter((e) => e.eventType === "tool_call" && e.toolName);
205
+ const statsMap = new Map();
206
+ for (const event of toolCalls) {
207
+ const tool = event.toolName;
208
+ const existing = statsMap.get(tool) ?? { calls: 0, errors: 0 };
209
+ existing.calls++;
210
+ if (event.status === "error") {
211
+ existing.errors++;
212
+ }
213
+ statsMap.set(tool, existing);
214
+ }
215
+ const stats = Array.from(statsMap.entries()).map(([tool, s]) => ({
216
+ tool,
217
+ calls: s.calls,
218
+ errors: s.errors,
219
+ success_rate: s.calls > 0
220
+ ? `${(((s.calls - s.errors) / s.calls) * 100).toFixed(1)}%`
221
+ : "N/A",
222
+ }));
223
+ if (stats.length === 0) {
224
+ return "No tool calls found in this session.";
225
+ }
226
+ return JSON.stringify(stats, null, 2);
227
+ }
228
+ catch (error) {
229
+ if (isConnectError(error)) {
230
+ return DAEMON_NOT_RUNNING_MSG;
231
+ }
232
+ return `Failed to get tool call stats: ${String(error)}`;
233
+ }
234
+ }
235
+ async function toolGetLatestSessionSummary() {
236
+ try {
237
+ const sessions = await fetchDaemon("/api/sessions");
238
+ if (sessions.length === 0) {
239
+ return "No sessions found.";
240
+ }
241
+ const sorted = [...sessions].sort((a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime());
242
+ return await buildSessionSummary(sorted[0].id);
243
+ }
244
+ catch (error) {
245
+ if (isConnectError(error)) {
246
+ return DAEMON_NOT_RUNNING_MSG;
247
+ }
248
+ return `Failed to get latest session: ${String(error)}`;
249
+ }
250
+ }
251
+ async function dispatchTool(name, args) {
252
+ switch (name) {
253
+ case "check_health":
254
+ return toolCheckHealth();
255
+ case "list_sessions":
256
+ return toolListSessions(args["limit"] ?? 10);
257
+ case "get_session_summary":
258
+ return toolGetSessionSummary(args["session_id"]);
259
+ case "get_errors":
260
+ return toolGetErrors(args["session_id"]);
261
+ case "get_tool_call_stats":
262
+ return toolGetToolCallStats(args["session_id"]);
263
+ case "get_latest_session_summary":
264
+ return toolGetLatestSessionSummary();
265
+ default:
266
+ throw new Error(`Unknown tool: ${name}`);
267
+ }
268
+ }
269
+ async function handleRpcRequest(request) {
270
+ const { id, method, params } = request;
271
+ switch (method) {
272
+ case "initialize":
273
+ return {
274
+ jsonrpc: "2.0",
275
+ id,
276
+ result: {
277
+ protocolVersion: "2024-11-05",
278
+ capabilities: { tools: {} },
279
+ serverInfo: {
280
+ name: "agent-recorder-mcp",
281
+ version: "1.0.0",
282
+ },
283
+ },
284
+ };
285
+ case "notifications/initialized":
286
+ return { jsonrpc: "2.0", id, result: {} };
287
+ case "tools/list":
288
+ return {
289
+ jsonrpc: "2.0",
290
+ id,
291
+ result: { tools: toolDefinitions },
292
+ };
293
+ case "tools/call": {
294
+ const toolName = params?.["name"];
295
+ const toolArgs = params?.["arguments"] ?? {};
296
+ if (!toolName) {
297
+ return {
298
+ jsonrpc: "2.0",
299
+ id,
300
+ error: { code: -32602, message: "Missing tool name" },
301
+ };
302
+ }
303
+ if (!toolDefinitions.find((t) => t.name === toolName)) {
304
+ return {
305
+ jsonrpc: "2.0",
306
+ id,
307
+ error: { code: -32602, message: `Unknown tool: ${toolName}` },
308
+ };
309
+ }
310
+ try {
311
+ const text = await dispatchTool(toolName, toolArgs);
312
+ return {
313
+ jsonrpc: "2.0",
314
+ id,
315
+ result: {
316
+ content: [{ type: "text", text }],
317
+ },
318
+ };
319
+ }
320
+ catch (error) {
321
+ return {
322
+ jsonrpc: "2.0",
323
+ id,
324
+ result: {
325
+ content: [{ type: "text", text: `Error: ${String(error)}` }],
326
+ isError: true,
327
+ },
328
+ };
329
+ }
330
+ }
331
+ default:
332
+ return {
333
+ jsonrpc: "2.0",
334
+ id,
335
+ error: { code: -32601, message: `Method not found: ${method}` },
336
+ };
337
+ }
338
+ }
339
+ function startMcpServer(host, port) {
340
+ const server = http.createServer((req, res) => {
341
+ if (req.method === "OPTIONS") {
342
+ res.writeHead(204, {
343
+ "Access-Control-Allow-Origin": "*",
344
+ "Access-Control-Allow-Methods": "POST, OPTIONS",
345
+ "Access-Control-Allow-Headers": "Content-Type",
346
+ });
347
+ res.end();
348
+ return;
349
+ }
350
+ if (req.method !== "POST") {
351
+ res.writeHead(405, { "Content-Type": "application/json" });
352
+ res.end(JSON.stringify({ error: "Method not allowed" }));
353
+ return;
354
+ }
355
+ let body = "";
356
+ req.on("data", (chunk) => {
357
+ body += chunk;
358
+ });
359
+ req.on("end", () => {
360
+ let request;
361
+ try {
362
+ request = JSON.parse(body);
363
+ }
364
+ catch {
365
+ res.writeHead(400, { "Content-Type": "application/json" });
366
+ res.end(JSON.stringify({
367
+ jsonrpc: "2.0",
368
+ id: null,
369
+ error: { code: -32700, message: "Parse error" },
370
+ }));
371
+ return;
372
+ }
373
+ if (request.jsonrpc !== "2.0" || !request.method) {
374
+ res.writeHead(400, { "Content-Type": "application/json" });
375
+ res.end(JSON.stringify({
376
+ jsonrpc: "2.0",
377
+ id: request.id ?? null,
378
+ error: { code: -32600, message: "Invalid Request" },
379
+ }));
380
+ return;
381
+ }
382
+ handleRpcRequest(request)
383
+ .then((response) => {
384
+ res.writeHead(200, {
385
+ "Content-Type": "application/json",
386
+ "Access-Control-Allow-Origin": "*",
387
+ });
388
+ res.end(JSON.stringify(response));
389
+ })
390
+ .catch((error) => {
391
+ res.writeHead(500, { "Content-Type": "application/json" });
392
+ res.end(JSON.stringify({
393
+ jsonrpc: "2.0",
394
+ id: request.id ?? null,
395
+ error: { code: -32603, message: String(error) },
396
+ }));
397
+ });
398
+ });
399
+ });
400
+ server.on("error", (err) => {
401
+ if (err.code === "EADDRINUSE") {
402
+ console.error(`Port ${port} is already in use. Stop the existing instance or use --port to choose another.`);
403
+ }
404
+ else {
405
+ console.error(`Server error: ${err.message}`);
406
+ }
407
+ process.exit(1);
408
+ });
409
+ server.listen(port, host, () => {
410
+ console.log(`Agent Recorder MCP server listening on http://${host}:${port}/`);
411
+ console.log("");
412
+ console.log("Available tools:");
413
+ for (const tool of toolDefinitions) {
414
+ console.log(` - ${tool.name}`);
415
+ }
416
+ console.log("");
417
+ console.log("Connect MCP clients to this URL.");
418
+ console.log("Press Ctrl+C to stop.");
419
+ });
420
+ return server;
421
+ }
422
+ export async function mcpServerCommand(options = {}) {
423
+ const port = parseInt(options.port ?? "8789", 10);
424
+ const host = options.host ?? "0.0.0.0";
425
+ if (isNaN(port) || port < 1 || port > 65535) {
426
+ console.error(`Invalid port: ${options.port}`);
427
+ process.exit(1);
428
+ }
429
+ const server = startMcpServer(host, port);
430
+ process.on("SIGINT", () => {
431
+ console.log("\nShutting down MCP server...");
432
+ server.close(() => {
433
+ process.exit(0);
434
+ });
435
+ });
436
+ process.on("SIGTERM", () => {
437
+ server.close(() => {
438
+ process.exit(0);
439
+ });
440
+ });
441
+ }
442
+ //# sourceMappingURL=mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/commands/mcp-server.ts"],"names":[],"mappings":"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"}