agent-recorder 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.
- package/dist/bundle.js +8 -0
- package/dist/bundle.js.map +1 -1
- package/package.json +4 -2
- package/vendor/node_modules/@agent-recorder/cli/commands/hooks.d.ts +12 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/hooks.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/hooks.js +182 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/hooks.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/upstream.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/commands/upstream.js +21 -0
- package/vendor/node_modules/@agent-recorder/cli/commands/upstream.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/index.js +23 -0
- package/vendor/node_modules/@agent-recorder/cli/index.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/cli/package.json +1 -1
- package/vendor/node_modules/@agent-recorder/hooks/handler.d.ts +24 -0
- package/vendor/node_modules/@agent-recorder/hooks/handler.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/hooks/handler.js +132 -0
- package/vendor/node_modules/@agent-recorder/hooks/handler.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/hooks/index.d.ts +8 -0
- package/vendor/node_modules/@agent-recorder/hooks/index.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/hooks/index.js +8 -0
- package/vendor/node_modules/@agent-recorder/hooks/index.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/hooks/package.json +12 -0
- package/vendor/node_modules/@agent-recorder/hooks/types.d.ts +94 -0
- package/vendor/node_modules/@agent-recorder/hooks/types.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/hooks/types.js +8 -0
- package/vendor/node_modules/@agent-recorder/hooks/types.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js +68 -0
- package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/routes/hooks.d.ts +15 -0
- package/vendor/node_modules/@agent-recorder/service/routes/hooks.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/service/routes/hooks.js +166 -0
- package/vendor/node_modules/@agent-recorder/service/routes/hooks.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/service/routes/stdio.d.ts +14 -0
- package/vendor/node_modules/@agent-recorder/service/routes/stdio.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/service/routes/stdio.js +85 -0
- package/vendor/node_modules/@agent-recorder/service/routes/stdio.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/service/server.d.ts +1 -0
- package/vendor/node_modules/@agent-recorder/service/server.d.ts.map +1 -1
- package/vendor/node_modules/@agent-recorder/service/server.js +5 -1
- package/vendor/node_modules/@agent-recorder/service/server.js.map +1 -1
- package/vendor/node_modules/@agent-recorder/stdio-proxy/cli.d.ts +22 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/cli.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/cli.js +158 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/cli.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/index.d.ts +9 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/index.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/index.js +8 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/index.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/package.json +12 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/proxy.d.ts +45 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/proxy.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/proxy.js +293 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/proxy.js.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/types.d.ts +68 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/types.d.ts.map +1 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/types.js +5 -0
- package/vendor/node_modules/@agent-recorder/stdio-proxy/types.js.map +1 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Hook Event Types
|
|
3
|
+
*
|
|
4
|
+
* These types represent the JSON payloads that Claude Code passes to hooks via stdin.
|
|
5
|
+
* See: https://code.claude.com/docs/en/hooks
|
|
6
|
+
*/
|
|
7
|
+
/** Base hook event with common fields */
|
|
8
|
+
export interface BaseHookEvent {
|
|
9
|
+
/** Unique session identifier */
|
|
10
|
+
session_id: string;
|
|
11
|
+
/** Path to the full transcript JSON file */
|
|
12
|
+
transcript_path?: string;
|
|
13
|
+
}
|
|
14
|
+
/** PreToolUse hook - fires BEFORE a tool is executed */
|
|
15
|
+
export interface PreToolUseEvent extends BaseHookEvent {
|
|
16
|
+
hook_type: "PreToolUse";
|
|
17
|
+
/** Name of the tool being called (e.g., "Bash", "Read", "mcp__figma__get_file") */
|
|
18
|
+
tool_name: string;
|
|
19
|
+
/** Input parameters for the tool */
|
|
20
|
+
tool_input: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
/** PostToolUse hook - fires AFTER a tool completes successfully */
|
|
23
|
+
export interface PostToolUseEvent extends BaseHookEvent {
|
|
24
|
+
hook_type: "PostToolUse";
|
|
25
|
+
/** Name of the tool that was called */
|
|
26
|
+
tool_name: string;
|
|
27
|
+
/** Input parameters that were passed to the tool */
|
|
28
|
+
tool_input: Record<string, unknown>;
|
|
29
|
+
/** Response/output from the tool */
|
|
30
|
+
tool_response: unknown;
|
|
31
|
+
}
|
|
32
|
+
/** Stop hook - fires when the main agent finishes responding */
|
|
33
|
+
export interface StopEvent extends BaseHookEvent {
|
|
34
|
+
hook_type: "Stop";
|
|
35
|
+
/** Whether this stop was triggered by a previous stop hook */
|
|
36
|
+
stop_hook_active?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** SubagentStop hook - fires when a subagent (Task tool) completes */
|
|
39
|
+
export interface SubagentStopEvent extends BaseHookEvent {
|
|
40
|
+
hook_type: "SubagentStop";
|
|
41
|
+
/** Subagent type that completed */
|
|
42
|
+
subagent_type?: string;
|
|
43
|
+
}
|
|
44
|
+
/** SessionStart hook - fires when a session begins */
|
|
45
|
+
export interface SessionStartEvent extends BaseHookEvent {
|
|
46
|
+
hook_type: "SessionStart";
|
|
47
|
+
/** How the session was started (e.g., "new", "resume") */
|
|
48
|
+
start_source?: string;
|
|
49
|
+
}
|
|
50
|
+
/** SessionEnd hook - fires when a session ends */
|
|
51
|
+
export interface SessionEndEvent extends BaseHookEvent {
|
|
52
|
+
hook_type: "SessionEnd";
|
|
53
|
+
/** Reason for session end */
|
|
54
|
+
end_reason?: string;
|
|
55
|
+
/** Session statistics */
|
|
56
|
+
statistics?: {
|
|
57
|
+
duration_ms?: number;
|
|
58
|
+
tool_calls?: number;
|
|
59
|
+
tokens_used?: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** Notification hook - fires when Claude sends a notification */
|
|
63
|
+
export interface NotificationEvent extends BaseHookEvent {
|
|
64
|
+
hook_type: "Notification";
|
|
65
|
+
/** Notification message */
|
|
66
|
+
message: string;
|
|
67
|
+
}
|
|
68
|
+
/** PreCompact hook - fires before context compaction */
|
|
69
|
+
export interface PreCompactEvent extends BaseHookEvent {
|
|
70
|
+
hook_type: "PreCompact";
|
|
71
|
+
}
|
|
72
|
+
/** Union of all hook event types */
|
|
73
|
+
export type HookEvent = PreToolUseEvent | PostToolUseEvent | StopEvent | SubagentStopEvent | SessionStartEvent | SessionEndEvent | NotificationEvent | PreCompactEvent;
|
|
74
|
+
/** Hook output for controlling Claude's behavior */
|
|
75
|
+
export interface HookOutput {
|
|
76
|
+
/** Decision: approve, block, allow, deny */
|
|
77
|
+
decision?: "approve" | "block" | "allow" | "deny";
|
|
78
|
+
/** Reason shown to Claude */
|
|
79
|
+
reason?: string;
|
|
80
|
+
/** For Stop hooks: force continuation */
|
|
81
|
+
continue?: boolean;
|
|
82
|
+
/** Modified tool input (PreToolUse only) */
|
|
83
|
+
updatedInput?: Record<string, unknown>;
|
|
84
|
+
/** Suppress hook output from transcript */
|
|
85
|
+
suppressOutput?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/** Configuration for the hook handler */
|
|
88
|
+
export interface HookConfig {
|
|
89
|
+
/** Agent Recorder service URL (default: http://127.0.0.1:8787) */
|
|
90
|
+
serviceUrl: string;
|
|
91
|
+
/** Enable debug logging */
|
|
92
|
+
debug: boolean;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,SAAS,EAAE,YAAY,CAAC;IACxB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,SAAS,EAAE,aAAa,CAAC;IACzB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,oCAAoC;IACpC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,gEAAgE;AAChE,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,SAAS,EAAE,cAAc,CAAC;IAC1B,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,SAAS,EAAE,cAAc,CAAC;IAC1B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,SAAS,EAAE,cAAc,CAAC;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,oCAAoC;AACpC,MAAM,MAAM,SAAS,GACjB,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,CAAC;AAEpB,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,EAAE,OAAO,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/mcp/proxy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AA0DjE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,eAAe,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAoPD;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/mcp/proxy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AA0DjE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,eAAe,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAoPD;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAia/B"}
|
|
@@ -427,6 +427,74 @@ export async function createMcpProxy(options) {
|
|
|
427
427
|
});
|
|
428
428
|
}
|
|
429
429
|
clearTimeout(timeoutId);
|
|
430
|
+
// Check for HTTP-level errors before parsing response body
|
|
431
|
+
if (!downstreamResponse.ok) {
|
|
432
|
+
const statusCode = downstreamResponse.status;
|
|
433
|
+
const statusText = downstreamResponse.statusText;
|
|
434
|
+
// Try to read response body for more details
|
|
435
|
+
let errorBody = "";
|
|
436
|
+
try {
|
|
437
|
+
errorBody = await downstreamResponse.text();
|
|
438
|
+
}
|
|
439
|
+
catch {
|
|
440
|
+
// Ignore if we can't read body
|
|
441
|
+
}
|
|
442
|
+
// Log detailed error
|
|
443
|
+
console.error(`Downstream returned HTTP ${statusCode} ${statusText}`);
|
|
444
|
+
console.error(` Target URL: ${finalDownstreamUrl}`);
|
|
445
|
+
console.error(` Upstream key: ${finalUpstreamKey ?? "(legacy mode)"}`);
|
|
446
|
+
if (debugProxy && errorBody) {
|
|
447
|
+
console.error(` Response body: ${errorBody.slice(0, 200)}`);
|
|
448
|
+
}
|
|
449
|
+
// Map HTTP status to user-friendly message
|
|
450
|
+
let userMessage;
|
|
451
|
+
let category;
|
|
452
|
+
if (statusCode === 401 || statusCode === 403) {
|
|
453
|
+
userMessage = `Authentication failed (HTTP ${statusCode}). The upstream server rejected the credentials.`;
|
|
454
|
+
category = "auth_error";
|
|
455
|
+
// Extra hint for common OAuth-only servers
|
|
456
|
+
console.error(" Note: Some MCP servers (e.g., Figma remote) only support OAuth, not Personal Access Tokens.");
|
|
457
|
+
}
|
|
458
|
+
else if (statusCode === 404) {
|
|
459
|
+
userMessage = `Upstream endpoint not found (HTTP ${statusCode}). Check the URL is correct.`;
|
|
460
|
+
category = "not_found";
|
|
461
|
+
}
|
|
462
|
+
else if (statusCode >= 500) {
|
|
463
|
+
userMessage = `Upstream server error (HTTP ${statusCode} ${statusText})`;
|
|
464
|
+
category = "server_error";
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
userMessage = `Upstream returned HTTP ${statusCode} ${statusText}`;
|
|
468
|
+
category = "http_error";
|
|
469
|
+
}
|
|
470
|
+
// Record failed tool call if applicable
|
|
471
|
+
if (isToolCall && toolName && sessionId) {
|
|
472
|
+
const endedAt = new Date().toISOString();
|
|
473
|
+
recordToolCall({
|
|
474
|
+
db,
|
|
475
|
+
sessionId,
|
|
476
|
+
toolName,
|
|
477
|
+
mcpMethod: "tools/call",
|
|
478
|
+
upstreamKey: finalUpstreamKey,
|
|
479
|
+
input: toolInput,
|
|
480
|
+
output: { error: userMessage, httpStatus: statusCode },
|
|
481
|
+
status: "error",
|
|
482
|
+
startedAt,
|
|
483
|
+
endedAt,
|
|
484
|
+
redactKeys,
|
|
485
|
+
debugProxy,
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
return reply.code(502).send({
|
|
489
|
+
jsonrpc: "2.0",
|
|
490
|
+
error: {
|
|
491
|
+
code: -32000,
|
|
492
|
+
message: userMessage,
|
|
493
|
+
data: { category, httpStatus: statusCode },
|
|
494
|
+
},
|
|
495
|
+
id: body.id ?? null,
|
|
496
|
+
});
|
|
497
|
+
}
|
|
430
498
|
// Check response content type to handle SSE vs JSON
|
|
431
499
|
const contentType = downstreamResponse.headers.get("content-type") ?? "";
|
|
432
500
|
const isSSE = contentType.includes("text/event-stream");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/mcp/proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/mcp/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks API endpoint - receives events from Claude Code hooks.
|
|
3
|
+
*
|
|
4
|
+
* This endpoint is called by the agent-recorder-hook handler script
|
|
5
|
+
* which is configured in Claude Code's .claude/settings.json.
|
|
6
|
+
*/
|
|
7
|
+
import type { FastifyInstance } from "fastify";
|
|
8
|
+
import type Database from "better-sqlite3";
|
|
9
|
+
interface HooksRoutesOptions {
|
|
10
|
+
db: Database.Database;
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function registerHooksRoutes(app: FastifyInstance, options: HooksRoutesOptions): Promise<void>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAU3C,UAAU,kBAAkB;IAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgFD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0If"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks API endpoint - receives events from Claude Code hooks.
|
|
3
|
+
*
|
|
4
|
+
* This endpoint is called by the agent-recorder-hook handler script
|
|
5
|
+
* which is configured in Claude Code's .claude/settings.json.
|
|
6
|
+
*/
|
|
7
|
+
import { randomUUID } from "node:crypto";
|
|
8
|
+
import { insertEvent, createSession, getSessionById, allocateSequence, } from "@agent-recorder/core";
|
|
9
|
+
/** Get or create a session by ID */
|
|
10
|
+
function getOrCreateSession(db, sessionId) {
|
|
11
|
+
// Check if session exists
|
|
12
|
+
const existing = getSessionById(db, sessionId);
|
|
13
|
+
if (existing) {
|
|
14
|
+
return existing;
|
|
15
|
+
}
|
|
16
|
+
// Create new session with the provided ID
|
|
17
|
+
const now = new Date().toISOString();
|
|
18
|
+
return createSession(db, sessionId, now);
|
|
19
|
+
}
|
|
20
|
+
/** Map Claude Code tool names to our event model */
|
|
21
|
+
function parseToolName(toolName) {
|
|
22
|
+
// MCP tool names are prefixed with "mcp__<server>__<tool>"
|
|
23
|
+
if (toolName.startsWith("mcp__")) {
|
|
24
|
+
const parts = toolName.split("__");
|
|
25
|
+
if (parts.length >= 3) {
|
|
26
|
+
const serverKey = parts[1];
|
|
27
|
+
const mcpToolName = parts.slice(2).join("__");
|
|
28
|
+
return {
|
|
29
|
+
eventType: "tool_call",
|
|
30
|
+
cleanName: mcpToolName ?? toolName,
|
|
31
|
+
upstreamKey: serverKey ?? null,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// Task tool = subagent call
|
|
36
|
+
if (toolName === "Task") {
|
|
37
|
+
return {
|
|
38
|
+
eventType: "subagent_call",
|
|
39
|
+
cleanName: toolName,
|
|
40
|
+
upstreamKey: null,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// Skill tool = skill call
|
|
44
|
+
if (toolName === "Skill") {
|
|
45
|
+
return {
|
|
46
|
+
eventType: "skill_call",
|
|
47
|
+
cleanName: toolName,
|
|
48
|
+
upstreamKey: null,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// Built-in tools (Bash, Read, Write, Edit, Glob, Grep, etc.)
|
|
52
|
+
return {
|
|
53
|
+
eventType: "tool_call",
|
|
54
|
+
cleanName: toolName,
|
|
55
|
+
upstreamKey: "builtin",
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export async function registerHooksRoutes(app, options) {
|
|
59
|
+
const { db, debug = false } = options;
|
|
60
|
+
// Receive hook events from Claude Code
|
|
61
|
+
app.post("/api/hooks", async (request, reply) => {
|
|
62
|
+
const startTime = Date.now();
|
|
63
|
+
try {
|
|
64
|
+
const payload = request.body;
|
|
65
|
+
if (debug) {
|
|
66
|
+
console.log(`[hooks] Received ${payload.hook_type} for session ${payload.session_id}`);
|
|
67
|
+
}
|
|
68
|
+
// Ensure session exists
|
|
69
|
+
const session = getOrCreateSession(db, payload.session_id);
|
|
70
|
+
// Handle different hook types
|
|
71
|
+
switch (payload.hook_type) {
|
|
72
|
+
case "PreToolUse": {
|
|
73
|
+
// We record on PostToolUse to get the response, but we could
|
|
74
|
+
// optionally record PreToolUse for "started" events
|
|
75
|
+
if (debug) {
|
|
76
|
+
console.log(`[hooks] PreToolUse: ${payload.tool_name} (not recording yet)`);
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case "PostToolUse": {
|
|
81
|
+
if (!payload.tool_name) {
|
|
82
|
+
return reply.code(400).send({ error: "Missing tool_name" });
|
|
83
|
+
}
|
|
84
|
+
const { eventType, cleanName, upstreamKey } = parseToolName(payload.tool_name);
|
|
85
|
+
const now = new Date().toISOString();
|
|
86
|
+
const sequence = allocateSequence(db, session.id);
|
|
87
|
+
const eventInput = {
|
|
88
|
+
id: randomUUID(),
|
|
89
|
+
sessionId: session.id,
|
|
90
|
+
parentEventId: null,
|
|
91
|
+
sequence,
|
|
92
|
+
eventType,
|
|
93
|
+
agentRole: "main",
|
|
94
|
+
agentName: "claude-code",
|
|
95
|
+
toolName: cleanName,
|
|
96
|
+
mcpMethod: "tools/call",
|
|
97
|
+
upstreamKey: upstreamKey,
|
|
98
|
+
startedAt: now,
|
|
99
|
+
endedAt: now,
|
|
100
|
+
status: "success", // PostToolUse only fires on success
|
|
101
|
+
inputJson: payload.tool_input
|
|
102
|
+
? JSON.stringify(payload.tool_input)
|
|
103
|
+
: null,
|
|
104
|
+
outputJson: payload.tool_response
|
|
105
|
+
? JSON.stringify(payload.tool_response)
|
|
106
|
+
: null,
|
|
107
|
+
};
|
|
108
|
+
const event = insertEvent(db, eventInput);
|
|
109
|
+
if (debug) {
|
|
110
|
+
console.log(`[hooks] Recorded ${eventType}: ${cleanName} (event ${event.id})`);
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
case "Stop": {
|
|
115
|
+
// Agent finished - could record session end metadata
|
|
116
|
+
if (debug) {
|
|
117
|
+
console.log(`[hooks] Stop: session ${payload.session_id}`);
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
case "SubagentStop": {
|
|
122
|
+
// Subagent finished - could update parent event
|
|
123
|
+
if (debug) {
|
|
124
|
+
console.log(`[hooks] SubagentStop: ${payload.subagent_type ?? "unknown"}`);
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case "SessionStart": {
|
|
129
|
+
if (debug) {
|
|
130
|
+
console.log(`[hooks] SessionStart: ${payload.session_id} (${payload.start_source ?? "unknown"})`);
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case "SessionEnd": {
|
|
135
|
+
if (debug) {
|
|
136
|
+
console.log(`[hooks] SessionEnd: ${payload.session_id} (${payload.end_reason ?? "unknown"})`);
|
|
137
|
+
if (payload.statistics) {
|
|
138
|
+
console.log(`[hooks] Statistics:`, payload.statistics);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
default: {
|
|
144
|
+
if (debug) {
|
|
145
|
+
console.log(`[hooks] Unknown hook type: ${payload.hook_type}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const elapsed = Date.now() - startTime;
|
|
150
|
+
if (debug) {
|
|
151
|
+
console.log(`[hooks] Processed in ${elapsed}ms`);
|
|
152
|
+
}
|
|
153
|
+
return reply.code(200).send({ ok: true });
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
console.error("[hooks] Error processing hook event:", error);
|
|
157
|
+
// Fail open - return 200 to not block Claude
|
|
158
|
+
return reply.code(200).send({ ok: true, error: "logged" });
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
// Health check for hooks endpoint
|
|
162
|
+
app.get("/api/hooks/health", async () => {
|
|
163
|
+
return { status: "ok", mode: "hooks" };
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STDIO Proxy telemetry endpoint.
|
|
3
|
+
*
|
|
4
|
+
* Receives telemetry from the STDIO proxy (agent-recorder-proxy).
|
|
5
|
+
*/
|
|
6
|
+
import type { FastifyInstance } from "fastify";
|
|
7
|
+
import type Database from "better-sqlite3";
|
|
8
|
+
interface StdioRoutesOptions {
|
|
9
|
+
db: Database.Database;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function registerStdioRoutes(app: FastifyInstance, options: StdioRoutesOptions): Promise<void>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=stdio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/routes/stdio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAU3C,UAAU,kBAAkB;IAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAmDD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsEf"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STDIO Proxy telemetry endpoint.
|
|
3
|
+
*
|
|
4
|
+
* Receives telemetry from the STDIO proxy (agent-recorder-proxy).
|
|
5
|
+
*/
|
|
6
|
+
import { randomUUID } from "node:crypto";
|
|
7
|
+
import { insertEvent, createSession, getSessionById, allocateSequence, } from "@agent-recorder/core";
|
|
8
|
+
/** Get or create a session by ID */
|
|
9
|
+
function getOrCreateSession(db, sessionId) {
|
|
10
|
+
const existing = getSessionById(db, sessionId);
|
|
11
|
+
if (existing) {
|
|
12
|
+
return existing;
|
|
13
|
+
}
|
|
14
|
+
const now = new Date().toISOString();
|
|
15
|
+
return createSession(db, sessionId, now);
|
|
16
|
+
}
|
|
17
|
+
/** Parse tool name from JSON-RPC params */
|
|
18
|
+
function extractToolInfo(raw, method) {
|
|
19
|
+
try {
|
|
20
|
+
const parsed = JSON.parse(raw);
|
|
21
|
+
if (method === "tools/call" && parsed.params?.name) {
|
|
22
|
+
return {
|
|
23
|
+
toolName: parsed.params.name,
|
|
24
|
+
input: parsed.params.arguments,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Ignore parse errors
|
|
30
|
+
}
|
|
31
|
+
return { toolName: null, input: null };
|
|
32
|
+
}
|
|
33
|
+
export async function registerStdioRoutes(app, options) {
|
|
34
|
+
const { db, debug = false } = options;
|
|
35
|
+
// Receive telemetry from STDIO proxy
|
|
36
|
+
app.post("/api/stdio", async (request, reply) => {
|
|
37
|
+
try {
|
|
38
|
+
const payload = request.body;
|
|
39
|
+
if (debug) {
|
|
40
|
+
console.log(`[stdio] Received ${payload.direction}: ${payload.method ?? "response"}`);
|
|
41
|
+
}
|
|
42
|
+
// Only record tool calls (not all MCP traffic)
|
|
43
|
+
if (payload.direction === "request" &&
|
|
44
|
+
payload.method === "tools/call") {
|
|
45
|
+
const sessionId = payload.sessionId ?? "stdio-" + randomUUID();
|
|
46
|
+
const session = getOrCreateSession(db, sessionId);
|
|
47
|
+
const sequence = allocateSequence(db, session.id);
|
|
48
|
+
const { toolName, input } = extractToolInfo(payload.raw, payload.method);
|
|
49
|
+
const eventInput = {
|
|
50
|
+
id: randomUUID(),
|
|
51
|
+
sessionId: session.id,
|
|
52
|
+
parentEventId: null,
|
|
53
|
+
sequence,
|
|
54
|
+
eventType: "tool_call",
|
|
55
|
+
agentRole: "main",
|
|
56
|
+
agentName: "mcp-client",
|
|
57
|
+
toolName: toolName,
|
|
58
|
+
mcpMethod: payload.method,
|
|
59
|
+
upstreamKey: "stdio",
|
|
60
|
+
startedAt: payload.timestamp,
|
|
61
|
+
endedAt: null,
|
|
62
|
+
status: "running",
|
|
63
|
+
inputJson: input ? JSON.stringify(input) : null,
|
|
64
|
+
outputJson: null,
|
|
65
|
+
};
|
|
66
|
+
insertEvent(db, eventInput);
|
|
67
|
+
if (debug) {
|
|
68
|
+
console.log(`[stdio] Recorded tool call: ${toolName}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// TODO: Match responses to requests by id to update status and output
|
|
72
|
+
return reply.code(200).send({ ok: true });
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error("[stdio] Error processing telemetry:", error);
|
|
76
|
+
// Fail open - don't block the proxy
|
|
77
|
+
return reply.code(200).send({ ok: true, error: "logged" });
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
// Health check for stdio endpoint
|
|
81
|
+
app.get("/api/stdio/health", async () => {
|
|
82
|
+
return { status: "ok", mode: "stdio" };
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/routes/stdio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAO3C,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAkB1B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -6,11 +6,13 @@ import Fastify, {} from "fastify";
|
|
|
6
6
|
import { registerHealthRoutes } from "./routes/health.js";
|
|
7
7
|
import { registerSessionsRoutes } from "./routes/sessions.js";
|
|
8
8
|
import { registerEventsRoutes } from "./routes/events.js";
|
|
9
|
+
import { registerHooksRoutes } from "./routes/hooks.js";
|
|
10
|
+
import { registerStdioRoutes } from "./routes/stdio.js";
|
|
9
11
|
/**
|
|
10
12
|
* Create a configured Fastify server instance.
|
|
11
13
|
*/
|
|
12
14
|
export async function createServer(options) {
|
|
13
|
-
const { db, currentSessionId } = options;
|
|
15
|
+
const { db, currentSessionId, debug } = options;
|
|
14
16
|
const app = Fastify({
|
|
15
17
|
logger: true,
|
|
16
18
|
});
|
|
@@ -21,6 +23,8 @@ export async function createServer(options) {
|
|
|
21
23
|
currentSessionId: currentSessionId ?? null,
|
|
22
24
|
});
|
|
23
25
|
await registerEventsRoutes(app, { db });
|
|
26
|
+
await registerHooksRoutes(app, { db, debug: debug ?? false });
|
|
27
|
+
await registerStdioRoutes(app, { db, debug: debug ?? false });
|
|
24
28
|
return app;
|
|
25
29
|
}
|
|
26
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,OAAO,EAAE,EAAwB,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,OAAO,EAAE,EAAwB,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQxD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA4B;IAE5B,MAAM,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhD,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,sBAAsB,CAAC,GAAG,EAAE;QAChC,EAAE;QACF,gBAAgB,EAAE,gBAAgB,IAAI,IAAI;KAC3C,CAAC,CAAC;IACH,MAAM,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9D,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAE9D,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAoB,EACpB,IAAY;IAEZ,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,IAAI;QACJ,IAAI,EAAE,WAAW,EAAE,iBAAiB;KACrC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,uDAAuD,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|