@newrelic/preflight 1.4.5 → 1.4.7
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/platforms/continue-adapter.d.ts.map +1 -1
- package/dist/platforms/continue-adapter.js +47 -27
- package/dist/platforms/continue-adapter.js.map +1 -1
- package/dist/platforms/zed-adapter.d.ts.map +1 -1
- package/dist/platforms/zed-adapter.js +47 -21
- package/dist/platforms/zed-adapter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/continue-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"continue-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/continue-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAqCpB,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,YAAY,cAAc;IAE7B,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxD,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB;IAwBnD,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,IAAI,uBAAuB;IAO7C,0BAA0B,IAAI,MAAM;IA6BpC,WAAW,IAAI,OAAO;CAQvB"}
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
const CONTINUE_TOOL_MAP = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
read_file: 'Read',
|
|
3
|
+
read_file_range: 'Read',
|
|
4
|
+
read_currently_open_file: 'Read',
|
|
5
|
+
edit_existing_file: 'Edit',
|
|
6
|
+
single_find_and_replace: 'Edit',
|
|
7
|
+
multi_edit: 'MultiEdit',
|
|
8
|
+
create_new_file: 'Write',
|
|
9
|
+
run_terminal_command: 'Bash',
|
|
10
|
+
grep_search: 'Grep',
|
|
11
|
+
file_glob_search: 'Glob',
|
|
12
|
+
ls: 'Glob',
|
|
13
|
+
view_subdirectory: 'Glob',
|
|
14
|
+
view_repo_map: 'Glob',
|
|
15
|
+
search_web: 'WebSearch',
|
|
16
|
+
fetch_url_content: 'WebFetch',
|
|
17
|
+
read_skill: 'Skill',
|
|
15
18
|
};
|
|
16
19
|
export class ContinueAdapter {
|
|
17
20
|
platformName = 'continue';
|
|
18
21
|
async initialize(_config) {
|
|
19
|
-
// Continue
|
|
22
|
+
// Continue's native agent (VS Code/JetBrains extension and CLI) has no
|
|
23
|
+
// PreToolUse/PostToolUse-style hook mechanism for its built-in tools
|
|
24
|
+
// (read_file, edit_existing_file, run_terminal_command, etc.). Continue
|
|
25
|
+
// supports MCP only as a client: it can call out to an MCP server like
|
|
26
|
+
// Preflight, but that only surfaces calls Continue's agent chooses to make
|
|
27
|
+
// to Preflight's own tools, never a callback for Continue's built-in tool
|
|
28
|
+
// calls. See getHookInstallInstructions() for the real integration path.
|
|
20
29
|
}
|
|
21
30
|
normalizeToolCall(raw) {
|
|
22
31
|
const event = raw;
|
|
@@ -51,19 +60,30 @@ export class ContinueAdapter {
|
|
|
51
60
|
}
|
|
52
61
|
getHookInstallInstructions() {
|
|
53
62
|
return [
|
|
54
|
-
'Continue
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
63
|
-
'
|
|
64
|
-
'
|
|
65
|
-
'
|
|
66
|
-
'
|
|
63
|
+
'Continue Setup:',
|
|
64
|
+
'',
|
|
65
|
+
"Continue's native agent has no hook mechanism — Preflight cannot",
|
|
66
|
+
'observe calls to built-in tools (read_file, edit_existing_file,',
|
|
67
|
+
'run_terminal_command, etc.) the way it does for Claude Code.',
|
|
68
|
+
'',
|
|
69
|
+
'What Preflight CAN see: calls Continue routes to its own MCP tools.',
|
|
70
|
+
'1. Create a folder .continue/mcpServers in your workspace root.',
|
|
71
|
+
'2. Add a file preflight.yaml with:',
|
|
72
|
+
' name: Preflight mcpServer',
|
|
73
|
+
' version: 0.0.1',
|
|
74
|
+
' schema: v1',
|
|
75
|
+
' mcpServers:',
|
|
76
|
+
' - name: preflight',
|
|
77
|
+
' command: npx',
|
|
78
|
+
' args: ["preflight", "--stdio"]',
|
|
79
|
+
' env:',
|
|
80
|
+
' NEW_RELIC_LICENSE_KEY: <your-key>',
|
|
81
|
+
' NEW_RELIC_ACCOUNT_ID: <your-account-id>',
|
|
82
|
+
'3. Reload Continue.',
|
|
83
|
+
'',
|
|
84
|
+
'Note: the continuedev/continue repository is no longer actively maintained',
|
|
85
|
+
'and is read-only for all users as of its final 2.0.0',
|
|
86
|
+
'release, so this integration path is unlikely to gain deeper hooks.',
|
|
67
87
|
].join('\n');
|
|
68
88
|
}
|
|
69
89
|
isSupported() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-adapter.js","sourceRoot":"","sources":["../../src/platforms/continue-adapter.ts"],"names":[],"mappings":"AAOA,MAAM,iBAAiB,GAA2B;IAChD,
|
|
1
|
+
{"version":3,"file":"continue-adapter.js","sourceRoot":"","sources":["../../src/platforms/continue-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zed-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/zed-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"zed-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/zed-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAwCpB,qBAAa,UAAW,YAAW,eAAe;IAChD,QAAQ,CAAC,YAAY,SAAS;IAExB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB;IAqBnD,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,IAAI,uBAAuB;IAS7C,0BAA0B,IAAI,MAAM;IA2BpC,WAAW,IAAI,OAAO;CAQvB"}
|
|
@@ -1,22 +1,39 @@
|
|
|
1
|
+
// Maps Zed's real built-in agent tool names (confirmed via
|
|
2
|
+
// https://zed.dev/docs/ai/tools.html) to the normalized Claude Code tool
|
|
3
|
+
// vocabulary. Zed's native agent has no hook/callback mechanism (see
|
|
4
|
+
// initialize()'s comment below), so these entries are currently unreachable
|
|
5
|
+
// from the real hook pipeline — this map exists for correctness and for any
|
|
6
|
+
// future Zed hook capability, not because any Zed event reaches it today.
|
|
7
|
+
// `diagnostics`, `copy_path`, `move_path`, and `create_directory` are real
|
|
8
|
+
// Zed tools with no named Claude Code equivalent and are deliberately left
|
|
9
|
+
// unmapped (they fall through to 'Unknown' with platformToolName preserved).
|
|
1
10
|
const ZED_TOOL_MAP = {
|
|
2
|
-
open_file: 'Read',
|
|
3
11
|
read_file: 'Read',
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
edit_file: 'Edit',
|
|
7
|
-
delete_file: 'Delete',
|
|
8
|
-
search_files: 'Glob',
|
|
9
|
-
find_in_files: 'Grep',
|
|
10
|
-
search_in_file: 'Grep',
|
|
11
|
-
execute_command: 'Bash',
|
|
12
|
-
run_command: 'Bash',
|
|
13
|
-
list_files: 'Glob',
|
|
12
|
+
find_path: 'Glob',
|
|
13
|
+
grep: 'Grep',
|
|
14
14
|
list_directory: 'Glob',
|
|
15
|
+
fetch: 'WebFetch',
|
|
16
|
+
search_web: 'WebSearch',
|
|
17
|
+
edit_file: 'Edit',
|
|
18
|
+
write_file: 'Write',
|
|
19
|
+
delete_path: 'Delete',
|
|
20
|
+
terminal: 'Bash',
|
|
21
|
+
spawn_agent: 'Agent',
|
|
22
|
+
skill: 'Skill',
|
|
15
23
|
};
|
|
16
24
|
export class ZedAdapter {
|
|
17
25
|
platformName = 'zed';
|
|
18
26
|
async initialize(_config) {
|
|
19
|
-
// Zed
|
|
27
|
+
// Zed's native agent has no hook/callback mechanism for tool-call
|
|
28
|
+
// interception (confirmed: https://zed.dev/docs/ai/mcp.html — Zed
|
|
29
|
+
// supports only MCP's Tools and Prompts features, with no notification
|
|
30
|
+
// for host-side tool calls). As a Zed MCP "context server", Preflight
|
|
31
|
+
// can only receive calls Zed's agent makes to Preflight's own exposed
|
|
32
|
+
// tools — it cannot observe Zed's built-in read_file/edit_file/terminal
|
|
33
|
+
// calls. When Zed runs another coding agent (Claude Code, Cursor, etc.)
|
|
34
|
+
// as an External Agent via the Agent Client Protocol
|
|
35
|
+
// (https://zed.dev/docs/ai/external-agents.html), that agent's own
|
|
36
|
+
// native hooks already capture its tool calls independently of Zed.
|
|
20
37
|
}
|
|
21
38
|
normalizeToolCall(raw) {
|
|
22
39
|
const event = raw;
|
|
@@ -51,18 +68,27 @@ export class ZedAdapter {
|
|
|
51
68
|
getHookInstallInstructions() {
|
|
52
69
|
return [
|
|
53
70
|
'Zed Editor Setup:',
|
|
54
|
-
|
|
55
|
-
'
|
|
71
|
+
"1. Zed's native agent has no hook mechanism for tool-call capture —",
|
|
72
|
+
' Preflight configured as a Zed MCP server only sees calls made to',
|
|
73
|
+
" its own tools, not Zed's built-in read_file/edit_file/terminal calls.",
|
|
74
|
+
'2. To use Preflight as an MCP context server in Zed (for its own',
|
|
75
|
+
' observability tools), open Settings -> AI -> MCP Servers, click',
|
|
76
|
+
' "Add Server", and add:',
|
|
56
77
|
' {',
|
|
57
|
-
' "
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
78
|
+
' "context_servers": {',
|
|
79
|
+
' "preflight": {',
|
|
80
|
+
' "command": "npx",',
|
|
81
|
+
' "args": ["preflight", "--stdio"],',
|
|
82
|
+
' "env": {',
|
|
83
|
+
' "NEW_RELIC_LICENSE_KEY": "<your-key>",',
|
|
84
|
+
' "NEW_RELIC_ACCOUNT_ID": "<your-account-id>"',
|
|
85
|
+
' }',
|
|
86
|
+
' }',
|
|
63
87
|
' }',
|
|
64
88
|
' }',
|
|
65
|
-
'3.
|
|
89
|
+
'3. For full tool-call observability, run Claude Code (or another',
|
|
90
|
+
' already-supported platform) as a Zed External Agent instead —',
|
|
91
|
+
' its own native hooks capture tool calls independently of Zed.',
|
|
66
92
|
].join('\n');
|
|
67
93
|
}
|
|
68
94
|
isSupported() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zed-adapter.js","sourceRoot":"","sources":["../../src/platforms/zed-adapter.ts"],"names":[],"mappings":"AAOA,MAAM,YAAY,GAA2B;IAC3C,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,
|
|
1
|
+
{"version":3,"file":"zed-adapter.js","sourceRoot":"","sources":["../../src/platforms/zed-adapter.ts"],"names":[],"mappings":"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"}
|