@newrelic/preflight 1.8.0 → 1.10.0
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/cline-adapter.d.ts +15 -0
- package/dist/platforms/cline-adapter.d.ts.map +1 -0
- package/dist/platforms/cline-adapter.js +105 -0
- package/dist/platforms/cline-adapter.js.map +1 -0
- package/dist/platforms/codex-adapter.d.ts +15 -0
- package/dist/platforms/codex-adapter.d.ts.map +1 -0
- package/dist/platforms/codex-adapter.js +107 -0
- package/dist/platforms/codex-adapter.js.map +1 -0
- package/dist/platforms/index.d.ts +2 -0
- package/dist/platforms/index.d.ts.map +1 -1
- package/dist/platforms/index.js +2 -0
- package/dist/platforms/index.js.map +1 -1
- package/dist/platforms/platform-registry.d.ts.map +1 -1
- package/dist/platforms/platform-registry.js +4 -0
- package/dist/platforms/platform-registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NormalizedToolCall, PlatformAdapter, PlatformConfig, PlatformSessionMetadata } from './types.js';
|
|
2
|
+
export declare class ClineAdapter implements PlatformAdapter {
|
|
3
|
+
readonly platformName = "cline";
|
|
4
|
+
readonly visibilityLevel: "mcp-tools-only";
|
|
5
|
+
readonly capabilities: {
|
|
6
|
+
instructionFilePaths: readonly [".clinerules/"];
|
|
7
|
+
};
|
|
8
|
+
initialize(_config: PlatformConfig): Promise<void>;
|
|
9
|
+
normalizeToolCall(raw: unknown): NormalizedToolCall;
|
|
10
|
+
mapToolName(platformToolName: string): string;
|
|
11
|
+
getSessionMetadata(): PlatformSessionMetadata;
|
|
12
|
+
getHookInstallInstructions(): string;
|
|
13
|
+
isSupported(): boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=cline-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/cline-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAgDpB,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,YAAY,WAAW;IAChC,QAAQ,CAAC,eAAe,EAAG,gBAAgB,CAAU;IACrD,QAAQ,CAAC,YAAY;;MAAuD;IAEtE,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB;IAsBnD,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,IAAI,uBAAuB;IAM7C,0BAA0B,IAAI,MAAM;IA6BpC,WAAW,IAAI,OAAO;CAGvB"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps Cline's built-in tool names to the normalized Claude Code tool
|
|
3
|
+
* vocabulary. Source: docs.cline.bot/tools-reference/all-cline-tools,
|
|
4
|
+
* whose "Legacy Tool Names vs Current Runtime Tools" section names
|
|
5
|
+
* execute_command, read_file, and replace_in_file directly as tool names
|
|
6
|
+
* that appear in "older docs/examples" — contrasted with the newer
|
|
7
|
+
* "ClineCore" SDK runtime's read_files/apply_patch/bash/etc. That page does
|
|
8
|
+
* not state which surface (VS Code/JetBrains extension vs. SDK/CLI) emits
|
|
9
|
+
* which name set, and does not enumerate a complete historical tool list —
|
|
10
|
+
* so it's unconfirmed whether the current extension still emits these
|
|
11
|
+
* exact names today. Since visibilityLevel is 'mcp-tools-only' (see
|
|
12
|
+
* initialize() below), this map is currently unreachable from any real
|
|
13
|
+
* hook pipeline regardless. It exists for correctness and any future hook
|
|
14
|
+
* capability, same as Zed's and Continue's tool maps. Other real or
|
|
15
|
+
* reported Cline tool names (write_to_file, search_files, list_files,
|
|
16
|
+
* browser_action, use_mcp_tool, ask_followup_question, attempt_completion,
|
|
17
|
+
* new_task, plan_mode_respond, etc.) are left unmapped rather than guessed
|
|
18
|
+
* at without a documented source — mapToolName has no pass-through
|
|
19
|
+
* fallback, so an omitted key falls through to 'Unknown' with the original
|
|
20
|
+
* name preserved.
|
|
21
|
+
*/
|
|
22
|
+
const CLINE_TOOL_MAP = {
|
|
23
|
+
execute_command: 'Bash',
|
|
24
|
+
read_file: 'Read',
|
|
25
|
+
replace_in_file: 'Edit',
|
|
26
|
+
};
|
|
27
|
+
function isClineToolCallEvent(x) {
|
|
28
|
+
return typeof x === 'object' && x !== null;
|
|
29
|
+
}
|
|
30
|
+
export class ClineAdapter {
|
|
31
|
+
platformName = 'cline';
|
|
32
|
+
visibilityLevel = 'mcp-tools-only';
|
|
33
|
+
capabilities = { instructionFilePaths: ['.clinerules/'] };
|
|
34
|
+
async initialize(_config) {
|
|
35
|
+
// Cline's VS Code/JetBrains extension has no hook/callback mechanism for
|
|
36
|
+
// built-in tool-call interception (confirmed: docs.cline.bot/customization/plugins
|
|
37
|
+
// and docs.cline.bot/tools-reference/all-cline-tools both state Plugins/Custom
|
|
38
|
+
// Tools are "not applicable on VSCode and JetBrains Extension for now" — only
|
|
39
|
+
// Cline SDK, CLI, and Kanban support the beforeTool/afterTool lifecycle hooks
|
|
40
|
+
// documented at docs.cline.bot/sdk/plugins). As a Cline MCP server, Preflight
|
|
41
|
+
// can only receive calls Cline's agent makes to Preflight's own exposed tools —
|
|
42
|
+
// it cannot observe Cline's built-in execute_command/read_file/write_to_file/
|
|
43
|
+
// etc. calls.
|
|
44
|
+
}
|
|
45
|
+
normalizeToolCall(raw) {
|
|
46
|
+
const event = isClineToolCallEvent(raw) ? raw : {};
|
|
47
|
+
const platformToolName = event.tool ?? event.toolName ?? 'unknown';
|
|
48
|
+
const toolName = CLINE_TOOL_MAP[platformToolName] ?? 'Unknown';
|
|
49
|
+
const filePath = event.filePath ?? event.path;
|
|
50
|
+
return {
|
|
51
|
+
toolName,
|
|
52
|
+
platformToolName,
|
|
53
|
+
platform: this.platformName,
|
|
54
|
+
timestamp: event.timestamp ?? Date.now(),
|
|
55
|
+
durationMs: event.durationMs ?? null,
|
|
56
|
+
success: event.success ?? true,
|
|
57
|
+
...(event.error !== undefined && { error: event.error }),
|
|
58
|
+
...(event.inputSizeBytes !== undefined && { inputSizeBytes: event.inputSizeBytes }),
|
|
59
|
+
...(event.outputSizeBytes !== undefined && { outputSizeBytes: event.outputSizeBytes }),
|
|
60
|
+
...(filePath !== undefined && { filePath }),
|
|
61
|
+
...(event.command !== undefined && { command: event.command }),
|
|
62
|
+
...(event.sessionId !== undefined && { sessionId: event.sessionId }),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
mapToolName(platformToolName) {
|
|
66
|
+
return CLINE_TOOL_MAP[platformToolName] ?? 'Unknown';
|
|
67
|
+
}
|
|
68
|
+
getSessionMetadata() {
|
|
69
|
+
return {
|
|
70
|
+
platform: this.platformName,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
getHookInstallInstructions() {
|
|
74
|
+
return [
|
|
75
|
+
'Cline Setup:',
|
|
76
|
+
'',
|
|
77
|
+
"Cline's VS Code/JetBrains extension has no hook mechanism for tool-call",
|
|
78
|
+
'capture — Preflight configured as a Cline MCP server only sees calls made',
|
|
79
|
+
"to its own tools, not Cline's built-in execute_command/read_file/",
|
|
80
|
+
'write_to_file/etc. calls.',
|
|
81
|
+
'',
|
|
82
|
+
'1. Extension: open the Cline panel, click the MCP Servers icon, open the',
|
|
83
|
+
' Configure tab, click "Configure MCP Servers", and add to mcpServers:',
|
|
84
|
+
' {',
|
|
85
|
+
' "mcpServers": {',
|
|
86
|
+
' "preflight": {',
|
|
87
|
+
' "command": "npx",',
|
|
88
|
+
' "args": ["preflight", "--stdio"],',
|
|
89
|
+
' "env": {',
|
|
90
|
+
' "MCP_CLIENT": "cline",',
|
|
91
|
+
' "NEW_RELIC_LICENSE_KEY": "<your-key>",',
|
|
92
|
+
' "NEW_RELIC_ACCOUNT_ID": "<your-account-id>"',
|
|
93
|
+
' }',
|
|
94
|
+
' }',
|
|
95
|
+
' }',
|
|
96
|
+
' }',
|
|
97
|
+
'2. CLI: edit ~/.cline/mcp.json with the same shape, or run `cline mcp`.',
|
|
98
|
+
'3. Restart Cline / reload the extension.',
|
|
99
|
+
].join('\n');
|
|
100
|
+
}
|
|
101
|
+
isSupported() {
|
|
102
|
+
return process.env.MCP_CLIENT === 'cline' || process.env.NEW_RELIC_AI_PLATFORM === 'cline';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=cline-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-adapter.js","sourceRoot":"","sources":["../../src/platforms/cline-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NormalizedToolCall, PlatformAdapter, PlatformConfig, PlatformSessionMetadata } from './types.js';
|
|
2
|
+
export declare class CodexAdapter implements PlatformAdapter {
|
|
3
|
+
readonly platformName = "codex";
|
|
4
|
+
readonly visibilityLevel: "full-hooks";
|
|
5
|
+
readonly capabilities: {
|
|
6
|
+
instructionFilePaths: readonly ["AGENTS.md"];
|
|
7
|
+
};
|
|
8
|
+
initialize(_config: PlatformConfig): Promise<void>;
|
|
9
|
+
normalizeToolCall(raw: unknown): NormalizedToolCall;
|
|
10
|
+
mapToolName(platformToolName: string): string;
|
|
11
|
+
getSessionMetadata(): PlatformSessionMetadata;
|
|
12
|
+
getHookInstallInstructions(): string;
|
|
13
|
+
isSupported(): boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=codex-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/codex-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAsDpB,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,YAAY,WAAW;IAChC,QAAQ,CAAC,eAAe,EAAG,YAAY,CAAU;IAKjD,QAAQ,CAAC,YAAY;;MAAoD;IAEnE,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB;IAsBnD,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,IAAI,uBAAuB;IAM7C,0BAA0B,IAAI,MAAM;IA4BpC,WAAW,IAAI,OAAO;CAGvB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps OpenAI Codex's built-in tool names to the normalized Claude Code tool
|
|
3
|
+
* vocabulary. Source: developers.openai.com/codex/hooks's "Tool coverage"
|
|
4
|
+
* table and PreToolUse/PostToolUse field reference. Codex's own hook
|
|
5
|
+
* payload already reports shell commands and unified-exec (exec_command)
|
|
6
|
+
* calls alike with the canonical literal tool_name "Bash", so no
|
|
7
|
+
* translation is needed there. apply_patch always reports tool_name
|
|
8
|
+
* literally as "apply_patch" (never "Edit" or "Write", even though Codex's
|
|
9
|
+
* own hook *matcher* config lets a user alias-match it as either) — mapped
|
|
10
|
+
* here to 'Edit' as a single collapsed value, since a patch body can touch
|
|
11
|
+
* multiple files with mixed add/update/delete actions and there's no clean
|
|
12
|
+
* 1:1 mapping to Preflight's Read/Write/Edit vocabulary regardless of
|
|
13
|
+
* approach (same precedent as Windsurf's pre_write_code -> 'Edit'). This
|
|
14
|
+
* means Codex's apply_patch calls don't get collector-script.ts's Edit-
|
|
15
|
+
* specific metadata extraction (oldStringLength/newStringLength/etc.),
|
|
16
|
+
* since that switches on the raw tool_name ("apply_patch", not "Edit")
|
|
17
|
+
* before mapToolName() ever runs — the same pre-existing gap Gemini CLI's
|
|
18
|
+
* replace and Droid's Create/Execute/Task calls are already in.
|
|
19
|
+
* spawn_agent's tool_name is confirmed literal (the coverage table's note
|
|
20
|
+
* "spawn_agent also matches Agent" documents Agent as a matcher *alias*,
|
|
21
|
+
* not the payload's actual tool_name value) -> mapped to 'Agent'.
|
|
22
|
+
* update_plan has no confirmed Preflight canonical equivalent and is left
|
|
23
|
+
* unmapped -> falls through to 'Unknown' with the original name preserved.
|
|
24
|
+
* Hosted tools (e.g. WebSearch) are confirmed unobservable by Codex's own
|
|
25
|
+
* hooks and are never reported through this path at all — see Known gaps
|
|
26
|
+
* in docs/ADAPTERS.md.
|
|
27
|
+
*/
|
|
28
|
+
const CODEX_TOOL_MAP = {
|
|
29
|
+
Bash: 'Bash',
|
|
30
|
+
apply_patch: 'Edit',
|
|
31
|
+
spawn_agent: 'Agent',
|
|
32
|
+
};
|
|
33
|
+
function isCodexToolCallEvent(x) {
|
|
34
|
+
return typeof x === 'object' && x !== null;
|
|
35
|
+
}
|
|
36
|
+
export class CodexAdapter {
|
|
37
|
+
platformName = 'codex';
|
|
38
|
+
visibilityLevel = 'full-hooks';
|
|
39
|
+
// developers.openai.com/codex/config-file/config-reference's
|
|
40
|
+
// model_instructions_file field: "Replacement for built-in instructions
|
|
41
|
+
// instead of AGENTS.md." Same convention Droid, Cursor, and Gemini CLI
|
|
42
|
+
// also read.
|
|
43
|
+
capabilities = { instructionFilePaths: ['AGENTS.md'] };
|
|
44
|
+
async initialize(_config) {
|
|
45
|
+
// Codex hooks are configured externally (hooks.json or inline [hooks]
|
|
46
|
+
// tables in config.toml).
|
|
47
|
+
}
|
|
48
|
+
normalizeToolCall(raw) {
|
|
49
|
+
const event = isCodexToolCallEvent(raw) ? raw : {};
|
|
50
|
+
const platformToolName = event.tool ?? event.toolName ?? 'unknown';
|
|
51
|
+
const toolName = CODEX_TOOL_MAP[platformToolName] ?? 'Unknown';
|
|
52
|
+
const filePath = event.filePath ?? event.path;
|
|
53
|
+
return {
|
|
54
|
+
toolName,
|
|
55
|
+
platformToolName,
|
|
56
|
+
platform: this.platformName,
|
|
57
|
+
timestamp: event.timestamp ?? Date.now(),
|
|
58
|
+
durationMs: event.durationMs ?? null,
|
|
59
|
+
success: event.success ?? true,
|
|
60
|
+
...(event.error !== undefined && { error: event.error }),
|
|
61
|
+
...(event.inputSizeBytes !== undefined && { inputSizeBytes: event.inputSizeBytes }),
|
|
62
|
+
...(event.outputSizeBytes !== undefined && { outputSizeBytes: event.outputSizeBytes }),
|
|
63
|
+
...(filePath !== undefined && { filePath }),
|
|
64
|
+
...(event.command !== undefined && { command: event.command }),
|
|
65
|
+
...(event.sessionId !== undefined && { sessionId: event.sessionId }),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
mapToolName(platformToolName) {
|
|
69
|
+
return CODEX_TOOL_MAP[platformToolName] ?? 'Unknown';
|
|
70
|
+
}
|
|
71
|
+
getSessionMetadata() {
|
|
72
|
+
return {
|
|
73
|
+
platform: this.platformName,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
getHookInstallInstructions() {
|
|
77
|
+
return [
|
|
78
|
+
'OpenAI Codex Setup:',
|
|
79
|
+
'',
|
|
80
|
+
'1. Add a PreToolUse/PostToolUse hook pair matching all tools to hooks.json',
|
|
81
|
+
' (~/.codex/hooks.json user scope, or <repo>/.codex/hooks.json project scope):',
|
|
82
|
+
' {',
|
|
83
|
+
' "hooks": {',
|
|
84
|
+
' "PreToolUse": [',
|
|
85
|
+
' { "matcher": "*", "hooks": [{ "type": "command", "command": "preflight-collector" }] }',
|
|
86
|
+
' ],',
|
|
87
|
+
' "PostToolUse": [',
|
|
88
|
+
' { "matcher": "*", "hooks": [{ "type": "command", "command": "preflight-collector" }] }',
|
|
89
|
+
' ]',
|
|
90
|
+
' }',
|
|
91
|
+
' }',
|
|
92
|
+
'2. Non-managed hooks require one-time review and trust before they run —',
|
|
93
|
+
' run `/hooks` in the Codex CLI to review and trust this hook definition.',
|
|
94
|
+
'3. Ensure preflight-collector is on your PATH (npm link, or npm install -g @newrelic/preflight)',
|
|
95
|
+
'4. Register the Preflight MCP server:',
|
|
96
|
+
' codex mcp add preflight --env MCP_CLIENT=codex \\',
|
|
97
|
+
' --env NEW_RELIC_LICENSE_KEY=<your-key> \\',
|
|
98
|
+
' --env NEW_RELIC_ACCOUNT_ID=<your-account-id> \\',
|
|
99
|
+
' -- npx preflight --stdio',
|
|
100
|
+
'5. Restart Codex',
|
|
101
|
+
].join('\n');
|
|
102
|
+
}
|
|
103
|
+
isSupported() {
|
|
104
|
+
return process.env.MCP_CLIENT === 'codex' || process.env.NEW_RELIC_AI_PLATFORM === 'codex';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=codex-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/platforms/codex-adapter.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;CACrB,CAAC;AAiBF,SAAS,oBAAoB,CAAC,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,OAAO,YAAY;IACd,YAAY,GAAG,OAAO,CAAC;IACvB,eAAe,GAAG,YAAqB,CAAC;IACjD,6DAA6D;IAC7D,wEAAwE;IACxE,uEAAuE;IACvE,aAAa;IACJ,YAAY,GAAG,EAAE,oBAAoB,EAAE,CAAC,WAAW,CAAU,EAAE,CAAC;IAEzE,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,sEAAsE;QACtE,0BAA0B;IAC5B,CAAC;IAED,iBAAiB,CAAC,GAAY;QAC5B,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;QAE9C,OAAO;YACL,QAAQ;YACR,gBAAgB;YAChB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YACxC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YACtF,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,gBAAwB;QAClC,OAAO,cAAc,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IACvD,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY;SAC5B,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO;YACL,qBAAqB;YACrB,EAAE;YACF,4EAA4E;YAC5E,iFAAiF;YACjF,MAAM;YACN,iBAAiB;YACjB,wBAAwB;YACxB,iGAAiG;YACjG,WAAW;YACX,yBAAyB;YACzB,iGAAiG;YACjG,UAAU;YACV,QAAQ;YACR,MAAM;YACN,0EAA0E;YAC1E,4EAA4E;YAC5E,iGAAiG;YACjG,uCAAuC;YACvC,sDAAsD;YACtD,gDAAgD;YAChD,sDAAsD;YACtD,+BAA+B;YAC/B,kBAAkB;SACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,WAAW;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,OAAO,CAAC;IAC7F,CAAC;CACF"}
|
|
@@ -11,6 +11,8 @@ export { AmazonQAdapter } from './amazon-q-adapter.js';
|
|
|
11
11
|
export { KiroAdapter } from './kiro-adapter.js';
|
|
12
12
|
export { DroidAdapter } from './droid-adapter.js';
|
|
13
13
|
export { GeminiCliAdapter } from './gemini-cli-adapter.js';
|
|
14
|
+
export { ClineAdapter } from './cline-adapter.js';
|
|
15
|
+
export { CodexAdapter } from './codex-adapter.js';
|
|
14
16
|
export { GenericMcpAdapter, validateReportToolCallInput } from './generic-mcp-adapter.js';
|
|
15
17
|
export type { ReportToolCallInput, ReportSessionStartInput, ReportSessionEndInput, } from './generic-mcp-adapter.js';
|
|
16
18
|
export { REPORT_TOOL_CALL_TOOL, REPORT_SESSION_START_TOOL, REPORT_SESSION_END_TOOL, } from './generic-mcp-adapter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC1F,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC1F,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/platforms/index.js
CHANGED
|
@@ -9,6 +9,8 @@ export { AmazonQAdapter } from './amazon-q-adapter.js';
|
|
|
9
9
|
export { KiroAdapter } from './kiro-adapter.js';
|
|
10
10
|
export { DroidAdapter } from './droid-adapter.js';
|
|
11
11
|
export { GeminiCliAdapter } from './gemini-cli-adapter.js';
|
|
12
|
+
export { ClineAdapter } from './cline-adapter.js';
|
|
13
|
+
export { CodexAdapter } from './codex-adapter.js';
|
|
12
14
|
export { GenericMcpAdapter, validateReportToolCallInput } from './generic-mcp-adapter.js';
|
|
13
15
|
export { REPORT_TOOL_CALL_TOOL, REPORT_SESSION_START_TOOL, REPORT_SESSION_END_TOOL, } from './generic-mcp-adapter.js';
|
|
14
16
|
export { PlatformRegistry, createDefaultRegistry } from './platform-registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAM1F,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAM1F,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-registry.d.ts","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"platform-registry.d.ts","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAiB3E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,MAAM,CAAgC;IAE9C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAKxC,MAAM,IAAI,eAAe,GAAG,IAAI;IAahC,SAAS,IAAI,eAAe;IAY5B,aAAa,IAAI,SAAS,eAAe,EAAE;CAG5C;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,CAgBxD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAKvF"}
|
|
@@ -9,6 +9,8 @@ import { AmazonQAdapter } from './amazon-q-adapter.js';
|
|
|
9
9
|
import { KiroAdapter } from './kiro-adapter.js';
|
|
10
10
|
import { DroidAdapter } from './droid-adapter.js';
|
|
11
11
|
import { GeminiCliAdapter } from './gemini-cli-adapter.js';
|
|
12
|
+
import { ClineAdapter } from './cline-adapter.js';
|
|
13
|
+
import { CodexAdapter } from './codex-adapter.js';
|
|
12
14
|
import { GenericMcpAdapter } from './generic-mcp-adapter.js';
|
|
13
15
|
const logger = createLogger('platform-registry');
|
|
14
16
|
export class PlatformRegistry {
|
|
@@ -54,6 +56,8 @@ export function createDefaultRegistry() {
|
|
|
54
56
|
registry.register(new KiroAdapter());
|
|
55
57
|
registry.register(new DroidAdapter());
|
|
56
58
|
registry.register(new GeminiCliAdapter());
|
|
59
|
+
registry.register(new ClineAdapter());
|
|
60
|
+
registry.register(new CodexAdapter());
|
|
57
61
|
registry.register(new GenericMcpAdapter()); // always last
|
|
58
62
|
return registry;
|
|
59
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"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"}
|