optimus-tool-call 0.2.2 → 0.2.5
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/capture-prompt.d.ts +14 -0
- package/dist/capture-prompt.d.ts.map +1 -0
- package/dist/capture-prompt.js +173 -0
- package/dist/capture-prompt.js.map +1 -0
- package/dist/index.js +47 -91
- package/dist/index.js.map +1 -1
- package/dist/lib/endpoint-config.d.ts +1 -1
- package/dist/lib/endpoint-config.d.ts.map +1 -1
- package/dist/lib/endpoint-config.js +1 -1
- package/dist/lib/endpoint-config.js.map +1 -1
- package/dist/lib/machine-auth.d.ts +1 -1
- package/dist/lib/machine-auth.d.ts.map +1 -1
- package/dist/lib/machine-auth.js +1 -1
- package/dist/lib/machine-auth.js.map +1 -1
- package/dist/lib/startup-sync.js +1 -1
- package/dist/lib/startup-sync.js.map +1 -1
- package/dist/lib/streaming.d.ts.map +1 -1
- package/dist/lib/streaming.js +34 -7
- package/dist/lib/streaming.js.map +1 -1
- package/dist/lib/telemetry/canonical.d.ts +26 -0
- package/dist/lib/telemetry/canonical.d.ts.map +1 -0
- package/dist/lib/telemetry/canonical.js +153 -0
- package/dist/lib/telemetry/canonical.js.map +1 -0
- package/dist/lib/telemetry/index.d.ts +1 -0
- package/dist/lib/telemetry/index.d.ts.map +1 -1
- package/dist/lib/telemetry/index.js +1 -0
- package/dist/lib/telemetry/index.js.map +1 -1
- package/dist/lib/tofu.d.ts +14 -0
- package/dist/lib/tofu.d.ts.map +1 -0
- package/dist/lib/tofu.js +39 -0
- package/dist/lib/tofu.js.map +1 -0
- package/dist/test/canonical.test.d.ts +2 -0
- package/dist/test/canonical.test.d.ts.map +1 -0
- package/dist/test/canonical.test.js +117 -0
- package/dist/test/canonical.test.js.map +1 -0
- package/dist/test/endpoint-config.test.js +4 -4
- package/dist/test/endpoint-config.test.js.map +1 -1
- package/dist/test/integration-canonical.test.d.ts +2 -0
- package/dist/test/integration-canonical.test.d.ts.map +1 -0
- package/dist/test/integration-canonical.test.js +157 -0
- package/dist/test/integration-canonical.test.js.map +1 -0
- package/package.json +6 -5
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { test } from "node:test";
|
|
2
|
+
import assert from "node:assert";
|
|
3
|
+
import { buildTelemetryEvent } from "../lib/telemetry.js";
|
|
4
|
+
import { normalizeToCanonical } from "../lib/telemetry/canonical.js";
|
|
5
|
+
/**
|
|
6
|
+
* Integration tests verifying that Claude and Cursor produce identical
|
|
7
|
+
* telemetry events for the same tool invocations.
|
|
8
|
+
*/
|
|
9
|
+
test("Integration: Read /etc/passwd from both agents produces same event", () => {
|
|
10
|
+
// Claude hook payload
|
|
11
|
+
const claudeRaw = {
|
|
12
|
+
hook_event_name: "PreToolUse",
|
|
13
|
+
tool_name: "Read",
|
|
14
|
+
tool_input: { file_path: "/etc/passwd" },
|
|
15
|
+
session_id: "session-123",
|
|
16
|
+
cwd: "/home/user",
|
|
17
|
+
};
|
|
18
|
+
// Cursor hook payload (same action, different format)
|
|
19
|
+
const cursorRaw = {
|
|
20
|
+
toolUse: { name: "Read", input: { file_path: "/etc/passwd" } },
|
|
21
|
+
sessionId: "session-123",
|
|
22
|
+
cwd: "/home/user",
|
|
23
|
+
};
|
|
24
|
+
// Normalize both
|
|
25
|
+
const claudeCanonical = normalizeToCanonical(claudeRaw);
|
|
26
|
+
const cursorCanonical = normalizeToCanonical(cursorRaw);
|
|
27
|
+
// Build telemetry events
|
|
28
|
+
const claudeEvent = buildTelemetryEvent({
|
|
29
|
+
tool_name: claudeCanonical.tool_name,
|
|
30
|
+
tool_input: claudeCanonical.tool_input,
|
|
31
|
+
session_id: claudeCanonical.session_id,
|
|
32
|
+
cwd: claudeCanonical.cwd,
|
|
33
|
+
hook_event_name: claudeCanonical.hook_event_name,
|
|
34
|
+
raw_event: claudeCanonical.raw_event,
|
|
35
|
+
}, "claude", claudeCanonical.session_id);
|
|
36
|
+
const cursorEvent = buildTelemetryEvent({
|
|
37
|
+
tool_name: cursorCanonical.tool_name,
|
|
38
|
+
tool_input: cursorCanonical.tool_input,
|
|
39
|
+
session_id: cursorCanonical.session_id,
|
|
40
|
+
cwd: cursorCanonical.cwd,
|
|
41
|
+
hook_event_name: cursorCanonical.hook_event_name,
|
|
42
|
+
raw_event: cursorCanonical.raw_event,
|
|
43
|
+
}, "cursor", cursorCanonical.session_id);
|
|
44
|
+
// Verify critical fields match (except agent_identity which should differ)
|
|
45
|
+
assert(claudeEvent);
|
|
46
|
+
assert(cursorEvent);
|
|
47
|
+
assert.strictEqual(claudeEvent.event_type, cursorEvent.event_type);
|
|
48
|
+
assert.strictEqual(claudeEvent.session_id, cursorEvent.session_id);
|
|
49
|
+
assert.strictEqual(claudeEvent.working_directory, cursorEvent.working_directory);
|
|
50
|
+
assert.strictEqual(claudeEvent.tool_call_metadata.tool_name, cursorEvent.tool_call_metadata.tool_name);
|
|
51
|
+
assert.deepEqual(claudeEvent.tool_call_metadata.tool_input, cursorEvent.tool_call_metadata.tool_input);
|
|
52
|
+
// Agent identity should be different
|
|
53
|
+
assert.strictEqual(claudeEvent.agent_identity, "claude");
|
|
54
|
+
assert.strictEqual(cursorEvent.agent_identity, "cursor");
|
|
55
|
+
});
|
|
56
|
+
test("Integration: Dangerous shell command from both agents", () => {
|
|
57
|
+
// Claude preToolUse with bash command
|
|
58
|
+
const claudeRaw = {
|
|
59
|
+
hook_event_name: "PreToolUse",
|
|
60
|
+
tool_name: "Bash",
|
|
61
|
+
tool_input: { command: "rm -rf /var/log" },
|
|
62
|
+
user_prompt: "clean up logs",
|
|
63
|
+
session_id: "claude-sess",
|
|
64
|
+
};
|
|
65
|
+
// Cursor preToolUse with bash command (different field names)
|
|
66
|
+
const cursorRaw = {
|
|
67
|
+
toolUse: {
|
|
68
|
+
name: "Bash",
|
|
69
|
+
input: { command: "rm -rf /var/log" },
|
|
70
|
+
},
|
|
71
|
+
user_prompt: "clean up logs",
|
|
72
|
+
sessionId: "cursor-sess",
|
|
73
|
+
};
|
|
74
|
+
const claudeCanonical = normalizeToCanonical(claudeRaw);
|
|
75
|
+
const cursorCanonical = normalizeToCanonical(cursorRaw);
|
|
76
|
+
// Tool information should be identical
|
|
77
|
+
assert.strictEqual(claudeCanonical.tool_name, cursorCanonical.tool_name);
|
|
78
|
+
assert.strictEqual(claudeCanonical.tool_name, "Bash");
|
|
79
|
+
assert.deepEqual(claudeCanonical.tool_input.command, cursorCanonical.tool_input.command);
|
|
80
|
+
assert.strictEqual(claudeCanonical.user_prompt, cursorCanonical.user_prompt);
|
|
81
|
+
// But agents should be detected correctly
|
|
82
|
+
assert.strictEqual(claudeCanonical.agent, "claude");
|
|
83
|
+
assert.strictEqual(cursorCanonical.agent, "cursor");
|
|
84
|
+
});
|
|
85
|
+
test("Integration: Web operations from both agents", () => {
|
|
86
|
+
const claudeRaw = {
|
|
87
|
+
hook_event_name: "PreToolUse",
|
|
88
|
+
tool_name: "WebFetch",
|
|
89
|
+
tool_input: { url: "https://api.github.com/user", prompt: "check auth" },
|
|
90
|
+
user_prompt: "verify github access",
|
|
91
|
+
};
|
|
92
|
+
const cursorRaw = {
|
|
93
|
+
toolName: "WebFetch",
|
|
94
|
+
toolInput: { url: "https://api.github.com/user", prompt: "check auth" },
|
|
95
|
+
userPrompt: "verify github access",
|
|
96
|
+
};
|
|
97
|
+
const claudeCanonical = normalizeToCanonical(claudeRaw);
|
|
98
|
+
const cursorCanonical = normalizeToCanonical(cursorRaw);
|
|
99
|
+
assert.strictEqual(claudeCanonical.tool_name, "WebFetch");
|
|
100
|
+
assert.strictEqual(cursorCanonical.tool_name, "WebFetch");
|
|
101
|
+
assert.deepEqual(claudeCanonical.tool_input, cursorCanonical.tool_input);
|
|
102
|
+
});
|
|
103
|
+
test("Integration: MCP tool invocations from both agents", () => {
|
|
104
|
+
const claudeRaw = {
|
|
105
|
+
hook_event_name: "PreToolUse",
|
|
106
|
+
tool_name: "mcp__sequential_thinking__think",
|
|
107
|
+
tool_input: { thought: "this is complex" },
|
|
108
|
+
};
|
|
109
|
+
const cursorRaw = {
|
|
110
|
+
toolName: "mcp__sequential_thinking__think",
|
|
111
|
+
toolInput: { thought: "this is complex" },
|
|
112
|
+
};
|
|
113
|
+
const claudeCanonical = normalizeToCanonical(claudeRaw);
|
|
114
|
+
const cursorCanonical = normalizeToCanonical(cursorRaw);
|
|
115
|
+
assert.strictEqual(claudeCanonical.tool_name, cursorCanonical.tool_name);
|
|
116
|
+
assert.deepEqual(claudeCanonical.tool_input, cursorCanonical.tool_input);
|
|
117
|
+
});
|
|
118
|
+
test("Integration: Cursor beforeShellExecution maps to same canonical as Claude preToolUse Bash", () => {
|
|
119
|
+
// Claude preToolUse with Bash
|
|
120
|
+
const claudeRaw = {
|
|
121
|
+
hook_event_name: "PreToolUse",
|
|
122
|
+
tool_name: "Bash",
|
|
123
|
+
tool_input: { command: "curl -X GET https://api.example.com" },
|
|
124
|
+
};
|
|
125
|
+
// Cursor beforeShellExecution with same command
|
|
126
|
+
const cursorRaw = {
|
|
127
|
+
command: "curl -X GET https://api.example.com",
|
|
128
|
+
};
|
|
129
|
+
const claudeCanonical = normalizeToCanonical(claudeRaw);
|
|
130
|
+
const cursorCanonical = normalizeToCanonical(cursorRaw);
|
|
131
|
+
// Both should identify as shell operations
|
|
132
|
+
assert.strictEqual(claudeCanonical.tool_name, "Bash");
|
|
133
|
+
assert.strictEqual(cursorCanonical.tool_name, "Bash");
|
|
134
|
+
// Tool input should be normalized the same way
|
|
135
|
+
assert.deepEqual(claudeCanonical.tool_input, cursorCanonical.tool_input);
|
|
136
|
+
assert.strictEqual(claudeCanonical.tool_input.command, "curl -X GET https://api.example.com");
|
|
137
|
+
});
|
|
138
|
+
test("Integration: Write operations with sensitivity", () => {
|
|
139
|
+
const claudeRaw = {
|
|
140
|
+
hook_event_name: "PreToolUse",
|
|
141
|
+
tool_name: "Write",
|
|
142
|
+
tool_input: { file_path: "~/.ssh/authorized_keys" },
|
|
143
|
+
user_prompt: "add SSH key",
|
|
144
|
+
};
|
|
145
|
+
const cursorRaw = {
|
|
146
|
+
tool: { name: "Write", input: { file_path: "~/.ssh/authorized_keys" } },
|
|
147
|
+
userPrompt: "add SSH key",
|
|
148
|
+
};
|
|
149
|
+
const claudeCanonical = normalizeToCanonical(claudeRaw);
|
|
150
|
+
const cursorCanonical = normalizeToCanonical(cursorRaw);
|
|
151
|
+
// Sensitive path should be preserved identically
|
|
152
|
+
assert.strictEqual(claudeCanonical.tool_name, "Write");
|
|
153
|
+
assert.strictEqual(cursorCanonical.tool_name, "Write");
|
|
154
|
+
assert.deepEqual(claudeCanonical.tool_input, cursorCanonical.tool_input);
|
|
155
|
+
assert.strictEqual(claudeCanonical.tool_input.file_path, "~/.ssh/authorized_keys");
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=integration-canonical.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-canonical.test.js","sourceRoot":"","sources":["../../src/test/integration-canonical.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optimus-tool-call",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Agentic audit sensor — streams raw tool call metadata; the Optimus backend classifies on ingest",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"optimus-tool-call": "./dist/index.js"
|
|
7
|
+
"optimus-tool-call": "./dist/index.js",
|
|
8
|
+
"optimus-capture-prompt": "./dist/capture-prompt.js"
|
|
8
9
|
},
|
|
9
10
|
"main": "./dist/index.js",
|
|
10
11
|
"scripts": {
|
|
@@ -25,12 +26,12 @@
|
|
|
25
26
|
"repository": {
|
|
26
27
|
"type": "git",
|
|
27
28
|
"url": "git+https://github.com/optimuslabs-io/optimus-secure-fdn.git",
|
|
28
|
-
"directory": "
|
|
29
|
+
"directory": "npx_packages/production/optimus-tool-call"
|
|
29
30
|
},
|
|
30
31
|
"bugs": {
|
|
31
32
|
"url": "https://github.com/optimuslabs-io/optimus-secure-fdn/issues"
|
|
32
33
|
},
|
|
33
|
-
"homepage": "https://github.com/optimuslabs-io/optimus-secure-fdn/tree/main/
|
|
34
|
+
"homepage": "https://github.com/optimuslabs-io/optimus-secure-fdn/tree/main/npx_packages/production/optimus-tool-call#readme",
|
|
34
35
|
"files": [
|
|
35
36
|
"dist/**/*",
|
|
36
37
|
"README.md"
|
|
@@ -44,6 +45,6 @@
|
|
|
44
45
|
"typescript": "^5.0.0"
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"optimus-tofu": "^0.1.
|
|
48
|
+
"optimus-tofu": "^0.1.8"
|
|
48
49
|
}
|
|
49
50
|
}
|