optimus-tool-call 0.1.25 → 0.2.2

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 (116) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.js +10 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/streaming.d.ts.map +1 -1
  5. package/dist/lib/streaming.js +6 -7
  6. package/dist/lib/streaming.js.map +1 -1
  7. package/dist/lib/telemetry/build-event.d.ts +4 -0
  8. package/dist/lib/telemetry/build-event.d.ts.map +1 -1
  9. package/dist/lib/telemetry/build-event.js +12 -123
  10. package/dist/lib/telemetry/build-event.js.map +1 -1
  11. package/dist/lib/telemetry/index.d.ts +1 -2
  12. package/dist/lib/telemetry/index.d.ts.map +1 -1
  13. package/dist/lib/telemetry/index.js +1 -2
  14. package/dist/lib/telemetry/index.js.map +1 -1
  15. package/dist/lib/telemetry/serialize.d.ts.map +1 -1
  16. package/dist/lib/telemetry/serialize.js +2 -4
  17. package/dist/lib/telemetry/serialize.js.map +1 -1
  18. package/dist/lib/telemetry/types.d.ts +2 -6
  19. package/dist/lib/telemetry/types.d.ts.map +1 -1
  20. package/dist/lib/telemetry/wire-metadata.d.ts +10 -0
  21. package/dist/lib/telemetry/wire-metadata.d.ts.map +1 -0
  22. package/dist/lib/telemetry/wire-metadata.js +28 -0
  23. package/dist/lib/telemetry/wire-metadata.js.map +1 -0
  24. package/dist/test/streaming.test.js +10 -49
  25. package/dist/test/streaming.test.js.map +1 -1
  26. package/dist/test/telemetry.test.js +31 -45
  27. package/dist/test/telemetry.test.js.map +1 -1
  28. package/package.json +4 -5
  29. package/dist/lib/classify/builtins.d.ts +0 -7
  30. package/dist/lib/classify/builtins.d.ts.map +0 -1
  31. package/dist/lib/classify/builtins.js +0 -107
  32. package/dist/lib/classify/builtins.js.map +0 -1
  33. package/dist/lib/classify/constants.d.ts +0 -46
  34. package/dist/lib/classify/constants.d.ts.map +0 -1
  35. package/dist/lib/classify/constants.js +0 -56
  36. package/dist/lib/classify/constants.js.map +0 -1
  37. package/dist/lib/classify/dispatch.d.ts +0 -8
  38. package/dist/lib/classify/dispatch.d.ts.map +0 -1
  39. package/dist/lib/classify/dispatch.js +0 -149
  40. package/dist/lib/classify/dispatch.js.map +0 -1
  41. package/dist/lib/classify/flags.d.ts +0 -6
  42. package/dist/lib/classify/flags.d.ts.map +0 -1
  43. package/dist/lib/classify/flags.js +0 -19
  44. package/dist/lib/classify/flags.js.map +0 -1
  45. package/dist/lib/classify/handlers/database-cli.d.ts +0 -3
  46. package/dist/lib/classify/handlers/database-cli.d.ts.map +0 -1
  47. package/dist/lib/classify/handlers/database-cli.js +0 -68
  48. package/dist/lib/classify/handlers/database-cli.js.map +0 -1
  49. package/dist/lib/classify/handlers/docker.d.ts +0 -6
  50. package/dist/lib/classify/handlers/docker.d.ts.map +0 -1
  51. package/dist/lib/classify/handlers/docker.js +0 -65
  52. package/dist/lib/classify/handlers/docker.js.map +0 -1
  53. package/dist/lib/classify/handlers/fs-delete.d.ts +0 -6
  54. package/dist/lib/classify/handlers/fs-delete.d.ts.map +0 -1
  55. package/dist/lib/classify/handlers/fs-delete.js +0 -14
  56. package/dist/lib/classify/handlers/fs-delete.js.map +0 -1
  57. package/dist/lib/classify/handlers/git.d.ts +0 -6
  58. package/dist/lib/classify/handlers/git.d.ts.map +0 -1
  59. package/dist/lib/classify/handlers/git.js +0 -95
  60. package/dist/lib/classify/handlers/git.js.map +0 -1
  61. package/dist/lib/classify/handlers/network-http.d.ts +0 -10
  62. package/dist/lib/classify/handlers/network-http.d.ts.map +0 -1
  63. package/dist/lib/classify/handlers/network-http.js +0 -56
  64. package/dist/lib/classify/handlers/network-http.js.map +0 -1
  65. package/dist/lib/classify/handlers/packages.d.ts +0 -6
  66. package/dist/lib/classify/handlers/packages.d.ts.map +0 -1
  67. package/dist/lib/classify/handlers/packages.js +0 -22
  68. package/dist/lib/classify/handlers/packages.js.map +0 -1
  69. package/dist/lib/classify/handlers/sed-awk.d.ts +0 -10
  70. package/dist/lib/classify/handlers/sed-awk.d.ts.map +0 -1
  71. package/dist/lib/classify/handlers/sed-awk.js +0 -40
  72. package/dist/lib/classify/handlers/sed-awk.js.map +0 -1
  73. package/dist/lib/classify/handlers/shell-and-runtime.d.ts +0 -14
  74. package/dist/lib/classify/handlers/shell-and-runtime.d.ts.map +0 -1
  75. package/dist/lib/classify/handlers/shell-and-runtime.js +0 -92
  76. package/dist/lib/classify/handlers/shell-and-runtime.js.map +0 -1
  77. package/dist/lib/classify/index.d.ts +0 -6
  78. package/dist/lib/classify/index.d.ts.map +0 -1
  79. package/dist/lib/classify/index.js +0 -6
  80. package/dist/lib/classify/index.js.map +0 -1
  81. package/dist/lib/classify/interpreter.d.ts +0 -5
  82. package/dist/lib/classify/interpreter.d.ts.map +0 -1
  83. package/dist/lib/classify/interpreter.js +0 -16
  84. package/dist/lib/classify/interpreter.js.map +0 -1
  85. package/dist/lib/classify/pipeline.d.ts +0 -10
  86. package/dist/lib/classify/pipeline.d.ts.map +0 -1
  87. package/dist/lib/classify/pipeline.js +0 -105
  88. package/dist/lib/classify/pipeline.js.map +0 -1
  89. package/dist/lib/classify.d.ts +0 -2
  90. package/dist/lib/classify.d.ts.map +0 -1
  91. package/dist/lib/classify.js +0 -2
  92. package/dist/lib/classify.js.map +0 -1
  93. package/dist/lib/telemetry/command-tokenize.d.ts +0 -6
  94. package/dist/lib/telemetry/command-tokenize.d.ts.map +0 -1
  95. package/dist/lib/telemetry/command-tokenize.js +0 -38
  96. package/dist/lib/telemetry/command-tokenize.js.map +0 -1
  97. package/dist/lib/telemetry/sensitivity.d.ts +0 -7
  98. package/dist/lib/telemetry/sensitivity.d.ts.map +0 -1
  99. package/dist/lib/telemetry/sensitivity.js +0 -81
  100. package/dist/lib/telemetry/sensitivity.js.map +0 -1
  101. package/dist/test/classify.test.d.ts +0 -2
  102. package/dist/test/classify.test.d.ts.map +0 -1
  103. package/dist/test/classify.test.js +0 -286
  104. package/dist/test/classify.test.js.map +0 -1
  105. package/dist/test/pipeline.test.d.ts +0 -2
  106. package/dist/test/pipeline.test.d.ts.map +0 -1
  107. package/dist/test/pipeline.test.js +0 -139
  108. package/dist/test/pipeline.test.js.map +0 -1
  109. package/dist/test/sensitivity.test.d.ts +0 -2
  110. package/dist/test/sensitivity.test.d.ts.map +0 -1
  111. package/dist/test/sensitivity.test.js +0 -192
  112. package/dist/test/sensitivity.test.js.map +0 -1
  113. package/dist/test/tokenize.test.d.ts +0 -2
  114. package/dist/test/tokenize.test.d.ts.map +0 -1
  115. package/dist/test/tokenize.test.js +0 -157
  116. package/dist/test/tokenize.test.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * optimus-tool-call — agentic audit sensor entry point
4
4
  *
5
- * Reads hook JSON from stdin, classifies tool call, builds telemetry event,
6
- * streams to backend, returns allow response.
5
+ * Reads hook JSON from stdin, builds a raw telemetry event, streams it to the
6
+ * backend (server classifies), returns allow response.
7
7
  */
8
8
  export {};
9
9
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * optimus-tool-call — agentic audit sensor entry point
4
4
  *
5
- * Reads hook JSON from stdin, classifies tool call, builds telemetry event,
6
- * streams to backend, returns allow response.
5
+ * Reads hook JSON from stdin, builds a raw telemetry event, streams it to the
6
+ * backend (server classifies), returns allow response.
7
7
  */
8
8
  import fs from "fs";
9
9
  import { buildTelemetryEvent, eventToDict } from "./lib/telemetry.js";
@@ -44,9 +44,9 @@ async function main() {
44
44
  }
45
45
  // Build telemetry event
46
46
  const agentIdentity = detectAgent();
47
- const event = buildTelemetryEvent(invocation, agentIdentity, undefined);
48
- if (event && event.tool_call_metadata.action_type !== "unknown") {
49
- // Queue event for streaming to backend
47
+ const event = buildTelemetryEvent(invocation, agentIdentity, invocation.session_id);
48
+ if (event) {
49
+ // Server classifies `action_type`; queue raw invocation for all non-null events.
50
50
  await queueEvent(event);
51
51
  if (process.env.OPTIMUS_DEBUG) {
52
52
  const eventDict = eventToDict(event);
@@ -115,10 +115,15 @@ function parseHookPayload(raw) {
115
115
  const normalizedToolInput = inferredShellCommand && !("command" in toolInput)
116
116
  ? { ...toolInput, command: inferredShellCommand }
117
117
  : toolInput;
118
+ const sessionId = getStr(raw.session_id) ??
119
+ getStr(raw.sessionId) ??
120
+ getStr(process.env.CLAUDE_CODE_SESSION_ID ?? null) ??
121
+ null;
118
122
  return {
119
123
  tool_name: toolName,
120
124
  tool_input: normalizedToolInput,
121
125
  tool_use_id: getStr(raw.tool_use_id) ?? getStr(raw.toolUseId),
126
+ session_id: sessionId,
122
127
  cwd: getStr(raw.cwd),
123
128
  hook_event_name: hookEventName,
124
129
  model: getStr(raw.model),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAahD;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBjD;AA0JD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA0BrC"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAchD;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBjD;AAwJD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA0BrC"}
@@ -4,6 +4,7 @@
4
4
  import { createSignature } from "optimus-tofu";
5
5
  import { ensureToolCallAuth } from "./machine-auth.js";
6
6
  import { ensureStartupMetadataSynced } from "./startup-sync.js";
7
+ import { cloneToolCallMetadataForWire } from "./telemetry/wire-metadata.js";
7
8
  import { loadEndpointBase } from "./endpoint-config.js";
8
9
  import { tryResolveHardwareUuid } from "./hardware-uuid.js";
9
10
  // Backend configuration
@@ -60,18 +61,16 @@ export async function flushEvents() {
60
61
  }
61
62
  }
62
63
  /**
63
- * Strip client `user_profile` / `hardware_uuid` from nested metadata so the backend stamps
64
- * identity from `EndpointMachine` (kept fresh via startup + throttled sync in `startup-sync`).
64
+ * Clone events for HTTP: drop metadata keys the backend recomputes (classification,
65
+ * MCP split, identity) so the client cannot spoof them.
65
66
  */
66
67
  function eventsWireFromTelemetry(events) {
67
68
  return events.map((e) => {
68
69
  const raw = JSON.parse(JSON.stringify(e));
69
70
  const meta = raw.tool_call_metadata;
70
- if (meta && typeof meta === "object" && !Array.isArray(meta)) {
71
- const m = { ...meta };
72
- delete m.user_profile;
73
- delete m.hardware_uuid;
74
- raw.tool_call_metadata = m;
71
+ const cleaned = cloneToolCallMetadataForWire(meta);
72
+ if (cleaned !== undefined) {
73
+ raw.tool_call_metadata = cleaned;
75
74
  }
76
75
  return raw;
77
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { TelemetryEvent, ToolInvocation } from "./types.js";
2
2
  /**
3
3
  * Build a telemetry event from a tool invocation.
4
+ *
5
+ * Sends raw hook fields only. Classification (`action_type`, `command_components`,
6
+ * paths, patterns, MCP split) is performed server-side in Django
7
+ * (`tool_call_audit.classification.enrich`).
4
8
  */
5
9
  export declare function buildTelemetryEvent(inv: ToolInvocation | null | undefined, agentIdentity?: string, sessionId?: string | null): TelemetryEvent | null;
6
10
  //# sourceMappingURL=build-event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-event.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/build-event.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAuBjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACtC,aAAa,GAAE,MAAkB,EACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,cAAc,GAAG,IAAI,CAkHvB"}
1
+ {"version":3,"file":"build-event.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/build-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACtC,aAAa,GAAE,MAAkB,EACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,cAAc,GAAG,IAAI,CA0BvB"}
@@ -1,25 +1,9 @@
1
- import { classifyCommandComponents, UNKNOWN, NETWORK_OUTBOUND } from "../classify.js";
2
- import { tokenizeCommand } from "./command-tokenize.js";
3
- import { isCredentialSearchPattern, isSensitivePath } from "./sensitivity.js";
4
- /**
5
- * Parse `mcp__<server>__<tool>` (e.g. mcp__filesystem__read_file) for metadata fields
6
- * expected by the audit API / Django serializer.
7
- */
8
- function parseMcpServerAndTool(toolNameNorm) {
9
- const t = toolNameNorm.trim();
10
- if (!t.toLowerCase().startsWith("mcp__")) {
11
- return { mcp_server: null, mcp_tool: null };
12
- }
13
- const segments = t.split("__");
14
- if (segments.length < 3 || segments[0].toLowerCase() !== "mcp") {
15
- return { mcp_server: null, mcp_tool: null };
16
- }
17
- const mcp_server = segments[1]?.trim() || null;
18
- const mcp_tool = segments.slice(2).join("__").trim() || null;
19
- return { mcp_server, mcp_tool };
20
- }
21
1
  /**
22
2
  * Build a telemetry event from a tool invocation.
3
+ *
4
+ * Sends raw hook fields only. Classification (`action_type`, `command_components`,
5
+ * paths, patterns, MCP split) is performed server-side in Django
6
+ * (`tool_call_audit.classification.enrich`).
23
7
  */
24
8
  export function buildTelemetryEvent(inv, agentIdentity = "unknown", sessionId) {
25
9
  if (!inv) {
@@ -27,98 +11,13 @@ export function buildTelemetryEvent(inv, agentIdentity = "unknown", sessionId) {
27
11
  }
28
12
  const toolName = inv.tool_name;
29
13
  const toolNameNorm = typeof toolName === "string" ? toolName.trim() : "";
30
- const toolNameLower = toolNameNorm.toLowerCase();
31
- let commandComponents = null;
32
- let filePath = null;
33
- let pattern = null;
34
- let actionType = UNKNOWN;
35
- let mcp_server = null;
36
- let mcp_tool = null;
37
- let normalizedToolInput = inv.tool_input || {};
38
- if (toolNameLower === "shell" || toolNameLower === "bash") {
39
- const commandFromInput = inv.tool_input?.command;
40
- const commandFromInputAlt = inv.tool_input?.cmd;
41
- const commandFromRaw = inv.raw_event?.command;
42
- const commandStr = (typeof commandFromInput === "string" && commandFromInput) ||
43
- (typeof commandFromInputAlt === "string" && commandFromInputAlt) ||
44
- (typeof commandFromRaw === "string" && commandFromRaw) ||
45
- null;
46
- if (commandStr && !("command" in normalizedToolInput)) {
47
- normalizedToolInput = { ...normalizedToolInput, command: commandStr };
48
- }
49
- if (commandStr) {
50
- try {
51
- commandComponents = tokenizeCommand(commandStr);
52
- actionType = classifyCommandComponents(commandComponents);
53
- }
54
- catch {
55
- actionType = UNKNOWN;
56
- }
57
- }
58
- }
59
- else if (toolNameLower === "read") {
60
- filePath = inv.tool_input.file_path || null;
61
- actionType = filePath && isSensitivePath(filePath) ? "credential_access" : "filesystem_read";
62
- }
63
- else if (toolNameLower === "write") {
64
- filePath = (inv.tool_input.file_path || inv.tool_input.path) || null;
65
- actionType = filePath && isSensitivePath(filePath) ? "credential_access" : "filesystem_write";
66
- }
67
- else if (toolNameLower === "edit") {
68
- filePath = (inv.tool_input.file_path || inv.tool_input.path) || null;
69
- actionType = filePath && isSensitivePath(filePath) ? "credential_access" : "filesystem_write";
70
- }
71
- else if (toolNameLower === "grep") {
72
- pattern = inv.tool_input.pattern || null;
73
- actionType =
74
- pattern && isCredentialSearchPattern(pattern) ? "credential_search" : "filesystem_read";
75
- }
76
- else if (toolNameLower === "glob") {
77
- const path = inv.tool_input.path || null;
78
- actionType = path && isSensitivePath(path) ? "credential_search" : "filesystem_read";
79
- }
80
- else if (toolNameLower === "webfetch") {
81
- actionType = NETWORK_OUTBOUND;
82
- }
83
- else if (toolNameLower === "websearch") {
84
- actionType = NETWORK_OUTBOUND;
85
- }
86
- else if (toolNameLower.startsWith("mcp__")) {
87
- const parsed = parseMcpServerAndTool(toolNameNorm);
88
- mcp_server = parsed.mcp_server;
89
- mcp_tool = parsed.mcp_tool;
90
- // BUG FIX: mcp__ is just a Claude Code namespace prefix, NOT an MCP server indicator.
91
- // Classify based on the actual operation (filesystem, sequential-thinking, etc.)
92
- // DO NOT treat mcp__filesystem__* as "mcp_tool_call" — they are regular filesystem operations.
93
- if (mcp_server === "filesystem" && mcp_tool) {
94
- // mcp__filesystem__* tools are local filesystem operations
95
- filePath = (inv.tool_input.path || inv.tool_input.file_path) || null;
96
- if (mcp_tool.includes("write") ||
97
- mcp_tool.includes("create") ||
98
- mcp_tool.includes("edit") ||
99
- mcp_tool.includes("move")) {
100
- actionType = filePath && isSensitivePath(filePath) ? "credential_access" : "filesystem_write";
101
- }
102
- else if (mcp_tool.includes("delete") || mcp_tool.includes("remove")) {
103
- actionType = "filesystem_delete";
104
- }
105
- else {
106
- // read, list, get, search operations
107
- actionType = filePath && isSensitivePath(filePath) ? "credential_search" : "filesystem_read";
108
- }
109
- }
110
- else if (mcp_server === "sequential-thinking" || mcp_server === "sequential_thinking") {
111
- // Actual MCP server calls (e.g., thinking/reasoning tools)
112
- actionType = "mcp_tool_call";
113
- }
114
- else {
115
- // Unknown mcp__ tool — default to mcp_tool_call for safety
116
- actionType = "mcp_tool_call";
117
- }
118
- }
119
- else {
120
- actionType = UNKNOWN;
121
- }
14
+ const normalizedToolInput = inv.tool_input || {};
15
+ const meta = {
16
+ tool_name: toolNameNorm || toolName,
17
+ tool_input: normalizedToolInput,
18
+ ...(inv.user_prompt ? { user_prompt: inv.user_prompt } : {}),
19
+ ...(inv.raw_event ? { raw_event: inv.raw_event } : {}),
20
+ };
122
21
  return {
123
22
  timestamp: new Date().toISOString(),
124
23
  agent_identity: agentIdentity,
@@ -127,17 +26,7 @@ export function buildTelemetryEvent(inv, agentIdentity = "unknown", sessionId) {
127
26
  tool_use_id: inv.tool_use_id || null,
128
27
  hook_event_name: inv.hook_event_name || null,
129
28
  working_directory: inv.cwd || null,
130
- tool_call_metadata: {
131
- tool_name: toolNameNorm || toolName,
132
- action_type: actionType,
133
- command_components: commandComponents,
134
- file_path: filePath,
135
- pattern,
136
- ...(mcp_server != null ? { mcp_server } : {}),
137
- ...(mcp_tool != null ? { mcp_tool } : {}),
138
- tool_input: normalizedToolInput,
139
- ...(inv.user_prompt ? { user_prompt: inv.user_prompt } : {}),
140
- },
29
+ tool_call_metadata: meta,
141
30
  };
142
31
  }
143
32
  //# sourceMappingURL=build-event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-event.js","sourceRoot":"","sources":["../../../src/lib/telemetry/build-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-event.js","sourceRoot":"","sources":["../../../src/lib/telemetry/build-event.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAsC,EACtC,gBAAwB,SAAS,EACjC,SAAyB;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;IAC/B,MAAM,YAAY,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,mBAAmB,GAA4B,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IAE1E,MAAM,IAAI,GAAyC;QACjD,SAAS,EAAE,YAAY,IAAI,QAAQ;QACnC,UAAU,EAAE,mBAAmB;QAC/B,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI;QAC5C,iBAAiB,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI;QAClC,kBAAkB,EAAE,IAAI;KACzB,CAAC;AACJ,CAAC"}
@@ -2,8 +2,7 @@
2
2
  * Telemetry — tool invocations to audit events.
3
3
  */
4
4
  export * from "./types.js";
5
- export { tokenizeCommand } from "./command-tokenize.js";
6
- export { isSensitivePath, isCredentialSearchPattern } from "./sensitivity.js";
7
5
  export { eventToDict } from "./serialize.js";
8
6
  export { buildTelemetryEvent } from "./build-event.js";
7
+ export { cloneToolCallMetadataForWire, SERVER_OWNED_TOOL_CALL_METADATA_KEYS, } from "./wire-metadata.js";
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,oBAAoB,CAAC"}
@@ -2,8 +2,7 @@
2
2
  * Telemetry — tool invocations to audit events.
3
3
  */
4
4
  export * from "./types.js";
5
- export { tokenizeCommand } from "./command-tokenize.js";
6
- export { isSensitivePath, isCredentialSearchPattern } from "./sensitivity.js";
7
5
  export { eventToDict } from "./serialize.js";
8
6
  export { buildTelemetryEvent } from "./build-event.js";
7
+ export { cloneToolCallMetadataForWire, SERVER_OWNED_TOOL_CALL_METADATA_KEYS, } from "./wire-metadata.js";
9
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAe1E"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAa1E"}
@@ -8,10 +8,8 @@ export function eventToDict(event) {
8
8
  hook_event_name: event.hook_event_name,
9
9
  working_directory: event.working_directory,
10
10
  tool_name: event.tool_call_metadata?.tool_name,
11
- action_type: event.tool_call_metadata?.action_type,
12
- command_components: event.tool_call_metadata?.command_components,
13
- file_path: event.tool_call_metadata?.file_path,
14
- pattern: event.tool_call_metadata?.pattern,
11
+ tool_input: event.tool_call_metadata?.tool_input,
12
+ user_prompt: event.tool_call_metadata?.user_prompt,
15
13
  };
16
14
  }
17
15
  //# sourceMappingURL=serialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/lib/telemetry/serialize.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAqB;IAC/C,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,SAAS;QAC9C,WAAW,EAAE,KAAK,CAAC,kBAAkB,EAAE,WAAW;QAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,kBAAkB;QAChE,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,SAAS;QAC9C,OAAO,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO;KAC3C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/lib/telemetry/serialize.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAqB;IAC/C,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,SAAS;QAC9C,UAAU,EAAE,KAAK,CAAC,kBAAkB,EAAE,UAAU;QAChD,WAAW,EAAE,KAAK,CAAC,kBAAkB,EAAE,WAAW;KACnD,CAAC;AACJ,CAAC"}
@@ -8,6 +8,7 @@ export interface ToolInvocation {
8
8
  tool_name: string;
9
9
  tool_input: Record<string, unknown>;
10
10
  tool_use_id?: string | null;
11
+ session_id?: string | null;
11
12
  cwd?: string | null;
12
13
  hook_event_name?: string | null;
13
14
  model?: string | null;
@@ -25,14 +26,9 @@ export interface TelemetryEvent {
25
26
  working_directory?: string | null;
26
27
  tool_call_metadata: {
27
28
  tool_name: string;
28
- action_type: string;
29
- command_components?: string[] | null;
30
- file_path?: string | null;
31
- pattern?: string | null;
32
- mcp_server?: string | null;
33
- mcp_tool?: string | null;
34
29
  tool_input?: Record<string, unknown>;
35
30
  user_prompt?: string | null;
31
+ raw_event?: Record<string, unknown>;
36
32
  };
37
33
  }
38
34
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC,eAAO,MAAM,cAAc,UAM1B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,kBAAkB,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC,eAAO,MAAM,cAAc,UAM1B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,kBAAkB,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tool-call metadata keys owned by the Django ingest layer (`enrich_tool_call_metadata`).
3
+ * Keep in sync with the keys popped at the start of ``enrich_tool_call_metadata``.
4
+ * The sensor sends raw hook fields only; strip these before HTTP so spoofed values
5
+ * cannot influence the API.
6
+ */
7
+ export declare const SERVER_OWNED_TOOL_CALL_METADATA_KEYS: readonly ["user_profile", "hardware_uuid", "action_type", "command_components", "file_path", "pattern", "mcp_server", "mcp_tool"];
8
+ /** Return a shallow copy of metadata with server-owned keys removed. */
9
+ export declare function cloneToolCallMetadataForWire(meta: unknown): Record<string, unknown> | undefined;
10
+ //# sourceMappingURL=wire-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-metadata.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/wire-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,mIASvC,CAAC;AAEX,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAS/F"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Tool-call metadata keys owned by the Django ingest layer (`enrich_tool_call_metadata`).
3
+ * Keep in sync with the keys popped at the start of ``enrich_tool_call_metadata``.
4
+ * The sensor sends raw hook fields only; strip these before HTTP so spoofed values
5
+ * cannot influence the API.
6
+ */
7
+ export const SERVER_OWNED_TOOL_CALL_METADATA_KEYS = [
8
+ "user_profile",
9
+ "hardware_uuid",
10
+ "action_type",
11
+ "command_components",
12
+ "file_path",
13
+ "pattern",
14
+ "mcp_server",
15
+ "mcp_tool",
16
+ ];
17
+ /** Return a shallow copy of metadata with server-owned keys removed. */
18
+ export function cloneToolCallMetadataForWire(meta) {
19
+ if (!meta || typeof meta !== "object" || Array.isArray(meta)) {
20
+ return undefined;
21
+ }
22
+ const m = { ...meta };
23
+ for (const k of SERVER_OWNED_TOOL_CALL_METADATA_KEYS) {
24
+ delete m[k];
25
+ }
26
+ return m;
27
+ }
28
+ //# sourceMappingURL=wire-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-metadata.js","sourceRoot":"","sources":["../../../src/lib/telemetry/wire-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,cAAc;IACd,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,WAAW;IACX,SAAS;IACT,YAAY;IACZ,UAAU;CACF,CAAC;AAEX,wEAAwE;AACxE,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,GAAI,IAAgC,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,oCAAoC,EAAE,CAAC;QACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -15,8 +15,7 @@ function createMockEvent() {
15
15
  working_directory: "/tmp",
16
16
  tool_call_metadata: {
17
17
  tool_name: "Bash",
18
- action_type: "filesystem_read",
19
- command_components: ["ls", "-la"],
18
+ tool_input: { command: "ls -la" },
20
19
  },
21
20
  };
22
21
  }
@@ -27,14 +26,13 @@ test("Event object structure - has required fields", () => {
27
26
  assert.strictEqual(event.event_type, "tool_call");
28
27
  assert(event.tool_call_metadata);
29
28
  assert.strictEqual(event.tool_call_metadata.tool_name, "Bash");
30
- assert.strictEqual(event.tool_call_metadata.action_type, "filesystem_read");
29
+ assert.strictEqual(event.tool_call_metadata.tool_input?.command, "ls -la");
31
30
  });
32
31
  test("Event object - metadata structure", () => {
33
32
  const event = createMockEvent();
34
33
  const meta = event.tool_call_metadata;
35
34
  assert.strictEqual(typeof meta.tool_name, "string");
36
- assert.strictEqual(typeof meta.action_type, "string");
37
- assert(Array.isArray(meta.command_components) || meta.command_components === undefined);
35
+ assert(meta.tool_input);
38
36
  });
39
37
  test("Event object - optional fields can be null", () => {
40
38
  const event = {
@@ -43,7 +41,7 @@ test("Event object - optional fields can be null", () => {
43
41
  event_type: "tool_call",
44
42
  tool_call_metadata: {
45
43
  tool_name: "Read",
46
- action_type: "filesystem_read",
44
+ tool_input: { file_path: "/z" },
47
45
  },
48
46
  };
49
47
  assert.strictEqual(event.session_id, undefined);
@@ -64,20 +62,17 @@ test("Event batch structure", () => {
64
62
  const parsed = JSON.parse(json);
65
63
  assert.strictEqual(parsed.events.length, 3);
66
64
  });
67
- test("MCP event - has mcp_server and mcp_tool", () => {
65
+ test("MCP event - tool_name carries server; no client-side mcp split", () => {
68
66
  const event = {
69
67
  timestamp: new Date().toISOString(),
70
68
  agent_identity: "claude",
71
69
  event_type: "tool_call",
72
70
  tool_call_metadata: {
73
71
  tool_name: "mcp__filesystem__read_file",
74
- action_type: "mcp_tool_call",
75
- mcp_server: "filesystem",
76
- mcp_tool: "read_file",
72
+ tool_input: { path: "/" },
77
73
  },
78
74
  };
79
- assert.strictEqual(event.tool_call_metadata.mcp_server, "filesystem");
80
- assert.strictEqual(event.tool_call_metadata.mcp_tool, "read_file");
75
+ assert.strictEqual(event.tool_call_metadata.tool_name, "mcp__filesystem__read_file");
81
76
  });
82
77
  test("Event - excludes undefined nested fields in serialization", () => {
83
78
  const event = {
@@ -86,7 +81,7 @@ test("Event - excludes undefined nested fields in serialization", () => {
86
81
  event_type: "tool_call",
87
82
  tool_call_metadata: {
88
83
  tool_name: "Read",
89
- action_type: "filesystem_read",
84
+ tool_input: { file_path: "/y" },
90
85
  },
91
86
  };
92
87
  const json = JSON.stringify(event);
@@ -105,45 +100,12 @@ test("Event with all optional fields", () => {
105
100
  working_directory: "/home/user/project",
106
101
  tool_call_metadata: {
107
102
  tool_name: "Bash",
108
- action_type: "git_history_rewrite",
109
- command_components: ["git", "push", "--force"],
110
- file_path: null,
111
- pattern: null,
112
103
  tool_input: { command: "git push --force" },
113
104
  },
114
105
  };
115
106
  assert.strictEqual(event.session_id, "session-123");
116
107
  assert.strictEqual(event.working_directory, "/home/user/project");
117
- assert.strictEqual(event.tool_call_metadata.command_components[0], "git");
118
- });
119
- test("Event - different action types", () => {
120
- const actionTypes = [
121
- "filesystem_read",
122
- "filesystem_write",
123
- "filesystem_delete",
124
- "git_safe",
125
- "git_write",
126
- "git_remote_write",
127
- "git_history_rewrite",
128
- "network_outbound",
129
- "network_write",
130
- "package_install",
131
- "lang_exec",
132
- "container_exec",
133
- "unknown",
134
- ];
135
- for (const actionType of actionTypes) {
136
- const event = {
137
- timestamp: new Date().toISOString(),
138
- agent_identity: "test",
139
- event_type: "tool_call",
140
- tool_call_metadata: {
141
- tool_name: "Test",
142
- action_type: actionType,
143
- },
144
- };
145
- assert.strictEqual(event.tool_call_metadata.action_type, actionType);
146
- }
108
+ assert.strictEqual(event.tool_call_metadata.tool_input?.command, "git push --force");
147
109
  });
148
110
  test("Event - different agent identities", () => {
149
111
  const agents = ["claude", "cursor", "copilot", "unknown"];
@@ -154,7 +116,7 @@ test("Event - different agent identities", () => {
154
116
  event_type: "tool_call",
155
117
  tool_call_metadata: {
156
118
  tool_name: "Read",
157
- action_type: "filesystem_read",
119
+ tool_input: { file_path: "/a" },
158
120
  },
159
121
  };
160
122
  assert.strictEqual(event.agent_identity, agent);
@@ -192,7 +154,6 @@ test("Tool input preservation", () => {
192
154
  event_type: "tool_call",
193
155
  tool_call_metadata: {
194
156
  tool_name: "Read",
195
- action_type: "filesystem_read",
196
157
  tool_input: toolInput,
197
158
  },
198
159
  };