@helmisatria/mcp-chrome-bridge 1.0.30

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 (129) hide show
  1. package/README.md +183 -0
  2. package/dist/README.md +25 -0
  3. package/dist/agent/attachment-service.d.ts +83 -0
  4. package/dist/agent/attachment-service.js +370 -0
  5. package/dist/agent/attachment-service.js.map +1 -0
  6. package/dist/agent/ccr-detector.d.ts +59 -0
  7. package/dist/agent/ccr-detector.js +311 -0
  8. package/dist/agent/ccr-detector.js.map +1 -0
  9. package/dist/agent/chat-service.d.ts +50 -0
  10. package/dist/agent/chat-service.js +439 -0
  11. package/dist/agent/chat-service.js.map +1 -0
  12. package/dist/agent/db/client.d.ts +26 -0
  13. package/dist/agent/db/client.js +244 -0
  14. package/dist/agent/db/client.js.map +1 -0
  15. package/dist/agent/db/index.d.ts +5 -0
  16. package/dist/agent/db/index.js +22 -0
  17. package/dist/agent/db/index.js.map +1 -0
  18. package/dist/agent/db/schema.d.ts +711 -0
  19. package/dist/agent/db/schema.js +121 -0
  20. package/dist/agent/db/schema.js.map +1 -0
  21. package/dist/agent/directory-picker.d.ts +11 -0
  22. package/dist/agent/directory-picker.js +149 -0
  23. package/dist/agent/directory-picker.js.map +1 -0
  24. package/dist/agent/engines/claude.d.ts +79 -0
  25. package/dist/agent/engines/claude.js +1338 -0
  26. package/dist/agent/engines/claude.js.map +1 -0
  27. package/dist/agent/engines/codex.d.ts +48 -0
  28. package/dist/agent/engines/codex.js +822 -0
  29. package/dist/agent/engines/codex.js.map +1 -0
  30. package/dist/agent/engines/types.d.ts +133 -0
  31. package/dist/agent/engines/types.js +3 -0
  32. package/dist/agent/engines/types.js.map +1 -0
  33. package/dist/agent/message-service.d.ts +56 -0
  34. package/dist/agent/message-service.js +198 -0
  35. package/dist/agent/message-service.js.map +1 -0
  36. package/dist/agent/open-project.d.ts +25 -0
  37. package/dist/agent/open-project.js +469 -0
  38. package/dist/agent/open-project.js.map +1 -0
  39. package/dist/agent/project-service.d.ts +49 -0
  40. package/dist/agent/project-service.js +254 -0
  41. package/dist/agent/project-service.js.map +1 -0
  42. package/dist/agent/project-types.d.ts +27 -0
  43. package/dist/agent/project-types.js +3 -0
  44. package/dist/agent/project-types.js.map +1 -0
  45. package/dist/agent/session-service.d.ts +198 -0
  46. package/dist/agent/session-service.js +292 -0
  47. package/dist/agent/session-service.js.map +1 -0
  48. package/dist/agent/storage.d.ts +27 -0
  49. package/dist/agent/storage.js +73 -0
  50. package/dist/agent/storage.js.map +1 -0
  51. package/dist/agent/stream-manager.d.ts +42 -0
  52. package/dist/agent/stream-manager.js +243 -0
  53. package/dist/agent/stream-manager.js.map +1 -0
  54. package/dist/agent/tool-bridge.d.ts +44 -0
  55. package/dist/agent/tool-bridge.js +50 -0
  56. package/dist/agent/tool-bridge.js.map +1 -0
  57. package/dist/agent/types.d.ts +6 -0
  58. package/dist/agent/types.js +3 -0
  59. package/dist/agent/types.js.map +1 -0
  60. package/dist/cli.d.ts +2 -0
  61. package/dist/cli.js +224 -0
  62. package/dist/cli.js.map +1 -0
  63. package/dist/constant/index.d.ts +60 -0
  64. package/dist/constant/index.js +80 -0
  65. package/dist/constant/index.js.map +1 -0
  66. package/dist/file-handler.d.ts +41 -0
  67. package/dist/file-handler.js +295 -0
  68. package/dist/file-handler.js.map +1 -0
  69. package/dist/index.d.ts +2 -0
  70. package/dist/index.js +35 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/mcp/mcp-server-stdio.d.ts +72 -0
  73. package/dist/mcp/mcp-server-stdio.js +143 -0
  74. package/dist/mcp/mcp-server-stdio.js.map +1 -0
  75. package/dist/mcp/mcp-server.d.ts +36 -0
  76. package/dist/mcp/mcp-server.js +26 -0
  77. package/dist/mcp/mcp-server.js.map +1 -0
  78. package/dist/mcp/register-tools.d.ts +2 -0
  79. package/dist/mcp/register-tools.js +148 -0
  80. package/dist/mcp/register-tools.js.map +1 -0
  81. package/dist/mcp/stdio-config.json +3 -0
  82. package/dist/native-messaging-host.d.ts +42 -0
  83. package/dist/native-messaging-host.js +312 -0
  84. package/dist/native-messaging-host.js.map +1 -0
  85. package/dist/run_host.bat +194 -0
  86. package/dist/run_host.sh +264 -0
  87. package/dist/scripts/browser-config.d.ts +28 -0
  88. package/dist/scripts/browser-config.js +229 -0
  89. package/dist/scripts/browser-config.js.map +1 -0
  90. package/dist/scripts/build.d.ts +1 -0
  91. package/dist/scripts/build.js +126 -0
  92. package/dist/scripts/build.js.map +1 -0
  93. package/dist/scripts/constant.d.ts +4 -0
  94. package/dist/scripts/constant.js +8 -0
  95. package/dist/scripts/constant.js.map +1 -0
  96. package/dist/scripts/doctor.d.ts +70 -0
  97. package/dist/scripts/doctor.js +930 -0
  98. package/dist/scripts/doctor.js.map +1 -0
  99. package/dist/scripts/postinstall.d.ts +2 -0
  100. package/dist/scripts/postinstall.js +246 -0
  101. package/dist/scripts/postinstall.js.map +1 -0
  102. package/dist/scripts/register-dev.d.ts +1 -0
  103. package/dist/scripts/register-dev.js +5 -0
  104. package/dist/scripts/register-dev.js.map +1 -0
  105. package/dist/scripts/register.d.ts +2 -0
  106. package/dist/scripts/register.js +28 -0
  107. package/dist/scripts/register.js.map +1 -0
  108. package/dist/scripts/report.d.ts +96 -0
  109. package/dist/scripts/report.js +686 -0
  110. package/dist/scripts/report.js.map +1 -0
  111. package/dist/scripts/utils.d.ts +64 -0
  112. package/dist/scripts/utils.js +443 -0
  113. package/dist/scripts/utils.js.map +1 -0
  114. package/dist/server/index.d.ts +35 -0
  115. package/dist/server/index.js +312 -0
  116. package/dist/server/index.js.map +1 -0
  117. package/dist/server/routes/agent.d.ts +21 -0
  118. package/dist/server/routes/agent.js +971 -0
  119. package/dist/server/routes/agent.js.map +1 -0
  120. package/dist/server/routes/index.d.ts +4 -0
  121. package/dist/server/routes/index.js +9 -0
  122. package/dist/server/routes/index.js.map +1 -0
  123. package/dist/trace-analyzer.d.ts +14 -0
  124. package/dist/trace-analyzer.js +113 -0
  125. package/dist/trace-analyzer.js.map +1 -0
  126. package/dist/util/logger.d.ts +1 -0
  127. package/dist/util/logger.js +43 -0
  128. package/dist/util/logger.js.map +1 -0
  129. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agent/engines/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import type { AgentAttachment, RealtimeEvent } from '../types';
2
+ import type { CodexEngineConfig } from 'chrome-mcp-shared';
3
+ export interface EngineInitOptions {
4
+ sessionId: string;
5
+ instruction: string;
6
+ model?: string;
7
+ projectRoot?: string;
8
+ requestId: string;
9
+ /**
10
+ * AbortSignal for cancellation support.
11
+ */
12
+ signal?: AbortSignal;
13
+ /**
14
+ * Optional attachments (images/files) to include with the instruction.
15
+ * Note: When using persisted attachments, use resolvedImagePaths instead.
16
+ */
17
+ attachments?: AgentAttachment[];
18
+ /**
19
+ * Resolved absolute paths to persisted image files.
20
+ * These are used by engines instead of writing temp files from base64.
21
+ * Set by chat-service after saving attachments to persistent storage.
22
+ */
23
+ resolvedImagePaths?: string[];
24
+ /**
25
+ * Optional project ID for session persistence.
26
+ * When provided, engines can use this to save/load session state.
27
+ */
28
+ projectId?: string;
29
+ /**
30
+ * Optional database session ID (sessions.id) for session-scoped configuration and persistence.
31
+ */
32
+ dbSessionId?: string;
33
+ /**
34
+ * Optional session-scoped permission mode override (Claude SDK option).
35
+ */
36
+ permissionMode?: string;
37
+ /**
38
+ * Optional session-scoped permission bypass override (Claude SDK option).
39
+ */
40
+ allowDangerouslySkipPermissions?: boolean;
41
+ /**
42
+ * Optional session-scoped system prompt configuration.
43
+ */
44
+ systemPromptConfig?: unknown;
45
+ /**
46
+ * Optional session-scoped engine option overrides.
47
+ */
48
+ optionsConfig?: unknown;
49
+ /**
50
+ * Optional Claude session ID (UUID) for resuming a previous session.
51
+ * Only applicable to ClaudeEngine; retrieved from sessions.engineSessionId (preferred)
52
+ * or project's activeClaudeSessionId (legacy fallback).
53
+ */
54
+ resumeClaudeSessionId?: string;
55
+ /**
56
+ * Whether to use Claude Code Router (CCR) for this request.
57
+ * Only applicable to ClaudeEngine; when true, CCR will be auto-detected.
58
+ */
59
+ useCcr?: boolean;
60
+ /**
61
+ * Optional Codex-specific configuration overrides.
62
+ * Only applicable to CodexEngine; merged with DEFAULT_CODEX_CONFIG.
63
+ */
64
+ codexConfig?: Partial<CodexEngineConfig>;
65
+ }
66
+ /**
67
+ * Callback to persist Claude session ID after initialization.
68
+ */
69
+ export type ClaudeSessionPersistCallback = (sessionId: string) => Promise<void>;
70
+ /**
71
+ * Management information extracted from Claude SDK system:init message.
72
+ */
73
+ export interface ClaudeManagementInfo {
74
+ tools?: string[];
75
+ agents?: string[];
76
+ /** Plugins with name and path (SDK returns { name, path }[]) */
77
+ plugins?: Array<{
78
+ name: string;
79
+ path?: string;
80
+ }>;
81
+ skills?: string[];
82
+ mcpServers?: Array<{
83
+ name: string;
84
+ status: string;
85
+ }>;
86
+ slashCommands?: string[];
87
+ model?: string;
88
+ permissionMode?: string;
89
+ cwd?: string;
90
+ outputStyle?: string;
91
+ betas?: string[];
92
+ claudeCodeVersion?: string;
93
+ apiKeySource?: string;
94
+ }
95
+ /**
96
+ * Callback to persist management information after SDK initialization.
97
+ */
98
+ export type ManagementInfoPersistCallback = (info: ClaudeManagementInfo) => Promise<void>;
99
+ export type EngineName = 'claude' | 'codex' | 'cursor' | 'qwen' | 'glm';
100
+ export interface EngineExecutionContext {
101
+ /**
102
+ * Emit a realtime event to all connected clients for the current session.
103
+ */
104
+ emit(event: RealtimeEvent): void;
105
+ /**
106
+ * Optional callback to persist Claude session ID after SDK initialization.
107
+ * Only called by ClaudeEngine when projectId is provided.
108
+ */
109
+ persistClaudeSessionId?: ClaudeSessionPersistCallback;
110
+ /**
111
+ * Optional callback to persist management information after SDK initialization.
112
+ * Only called by ClaudeEngine when dbSessionId is provided.
113
+ */
114
+ persistManagementInfo?: ManagementInfoPersistCallback;
115
+ }
116
+ export interface AgentEngine {
117
+ name: EngineName;
118
+ /**
119
+ * Whether this engine can act as an MCP client natively.
120
+ */
121
+ supportsMcp?: boolean;
122
+ initializeAndRun(options: EngineInitOptions, ctx: EngineExecutionContext): Promise<void>;
123
+ }
124
+ /**
125
+ * Represents a running engine execution that can be cancelled.
126
+ */
127
+ export interface RunningExecution {
128
+ requestId: string;
129
+ sessionId: string;
130
+ engineName: EngineName;
131
+ abortController: AbortController;
132
+ startedAt: Date;
133
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/engines/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import type { AgentRole, AgentStoredMessage } from 'chrome-mcp-shared';
2
+ export type { AgentStoredMessage };
3
+ export interface CreateAgentStoredMessageInput {
4
+ projectId: string;
5
+ role: AgentRole;
6
+ messageType: AgentStoredMessage['messageType'];
7
+ content: string;
8
+ metadata?: Record<string, unknown>;
9
+ sessionId?: string;
10
+ conversationId?: string | null;
11
+ cliSource?: string;
12
+ requestId?: string;
13
+ id?: string;
14
+ createdAt?: string;
15
+ }
16
+ /**
17
+ * Get messages by project ID with pagination.
18
+ * Returns messages sorted by creation time (oldest first).
19
+ */
20
+ export declare function getMessagesByProjectId(projectId: string, limit?: number, offset?: number): Promise<AgentStoredMessage[]>;
21
+ /**
22
+ * Get the total count of messages for a project.
23
+ */
24
+ export declare function getMessagesCountByProjectId(projectId: string): Promise<number>;
25
+ /**
26
+ * Create a new message.
27
+ */
28
+ export declare function createMessage(input: CreateAgentStoredMessageInput): Promise<AgentStoredMessage>;
29
+ /**
30
+ * Delete messages by project ID.
31
+ * Optionally filter by conversation ID.
32
+ * Returns the number of deleted messages.
33
+ */
34
+ export declare function deleteMessagesByProjectId(projectId: string, conversationId?: string): Promise<number>;
35
+ /**
36
+ * Get messages by session ID with optional pagination.
37
+ * Returns messages sorted by creation time (oldest first).
38
+ *
39
+ * @param sessionId - The session ID to filter by
40
+ * @param limit - Maximum number of messages to return (0 = no limit)
41
+ * @param offset - Number of messages to skip
42
+ */
43
+ export declare function getMessagesBySessionId(sessionId: string, limit?: number, offset?: number): Promise<AgentStoredMessage[]>;
44
+ /**
45
+ * Get count of messages by session ID.
46
+ */
47
+ export declare function getMessagesCountBySessionId(sessionId: string): Promise<number>;
48
+ /**
49
+ * Delete all messages for a session.
50
+ * Returns the number of deleted messages.
51
+ */
52
+ export declare function deleteMessagesBySessionId(sessionId: string): Promise<number>;
53
+ /**
54
+ * Get messages by request ID.
55
+ */
56
+ export declare function getMessagesByRequestId(requestId: string): Promise<AgentStoredMessage[]>;
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMessagesByProjectId = getMessagesByProjectId;
4
+ exports.getMessagesCountByProjectId = getMessagesCountByProjectId;
5
+ exports.createMessage = createMessage;
6
+ exports.deleteMessagesByProjectId = deleteMessagesByProjectId;
7
+ exports.getMessagesBySessionId = getMessagesBySessionId;
8
+ exports.getMessagesCountBySessionId = getMessagesCountBySessionId;
9
+ exports.deleteMessagesBySessionId = deleteMessagesBySessionId;
10
+ exports.getMessagesByRequestId = getMessagesByRequestId;
11
+ /**
12
+ * Message Service - Database-backed implementation using Drizzle ORM.
13
+ *
14
+ * Provides CRUD operations for agent chat messages with:
15
+ * - Type-safe database queries
16
+ * - Efficient indexed queries
17
+ * - Consistent with AgentStoredMessage interface from shared types
18
+ */
19
+ const node_crypto_1 = require("node:crypto");
20
+ const drizzle_orm_1 = require("drizzle-orm");
21
+ const db_1 = require("./db");
22
+ // ============================================================
23
+ // Type Conversion
24
+ // ============================================================
25
+ /**
26
+ * Convert database row to AgentStoredMessage interface.
27
+ */
28
+ function rowToMessage(row) {
29
+ var _a;
30
+ return {
31
+ id: row.id,
32
+ projectId: row.projectId,
33
+ sessionId: row.sessionId,
34
+ conversationId: row.conversationId,
35
+ role: row.role,
36
+ content: row.content,
37
+ messageType: row.messageType,
38
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
39
+ cliSource: row.cliSource,
40
+ requestId: (_a = row.requestId) !== null && _a !== void 0 ? _a : undefined,
41
+ createdAt: row.createdAt,
42
+ };
43
+ }
44
+ // ============================================================
45
+ // Public API
46
+ // ============================================================
47
+ /**
48
+ * Get messages by project ID with pagination.
49
+ * Returns messages sorted by creation time (oldest first).
50
+ */
51
+ async function getMessagesByProjectId(projectId, limit = 50, offset = 0) {
52
+ const db = (0, db_1.getDb)();
53
+ const query = db
54
+ .select()
55
+ .from(db_1.messages)
56
+ .where((0, drizzle_orm_1.eq)(db_1.messages.projectId, projectId))
57
+ .orderBy((0, drizzle_orm_1.asc)(db_1.messages.createdAt));
58
+ // Apply pagination if specified
59
+ if (limit > 0) {
60
+ query.limit(limit);
61
+ }
62
+ if (offset > 0) {
63
+ query.offset(offset);
64
+ }
65
+ const rows = await query;
66
+ return rows.map(rowToMessage);
67
+ }
68
+ /**
69
+ * Get the total count of messages for a project.
70
+ */
71
+ async function getMessagesCountByProjectId(projectId) {
72
+ var _a, _b;
73
+ const db = (0, db_1.getDb)();
74
+ const result = await db
75
+ .select({ count: (0, drizzle_orm_1.count)() })
76
+ .from(db_1.messages)
77
+ .where((0, drizzle_orm_1.eq)(db_1.messages.projectId, projectId));
78
+ return (_b = (_a = result[0]) === null || _a === void 0 ? void 0 : _a.count) !== null && _b !== void 0 ? _b : 0;
79
+ }
80
+ /**
81
+ * Create a new message.
82
+ */
83
+ async function createMessage(input) {
84
+ var _a, _b, _c, _d;
85
+ const db = (0, db_1.getDb)();
86
+ const now = new Date().toISOString();
87
+ const messageData = {
88
+ id: ((_a = input.id) === null || _a === void 0 ? void 0 : _a.trim()) || (0, node_crypto_1.randomUUID)(),
89
+ projectId: input.projectId,
90
+ sessionId: input.sessionId || '',
91
+ conversationId: (_b = input.conversationId) !== null && _b !== void 0 ? _b : null,
92
+ role: input.role,
93
+ content: input.content,
94
+ messageType: input.messageType,
95
+ metadata: input.metadata ? JSON.stringify(input.metadata) : null,
96
+ cliSource: (_c = input.cliSource) !== null && _c !== void 0 ? _c : null,
97
+ requestId: (_d = input.requestId) !== null && _d !== void 0 ? _d : null,
98
+ createdAt: input.createdAt || now,
99
+ };
100
+ await db
101
+ .insert(db_1.messages)
102
+ .values(messageData)
103
+ .onConflictDoUpdate({
104
+ target: db_1.messages.id,
105
+ set: {
106
+ role: messageData.role,
107
+ messageType: messageData.messageType,
108
+ content: messageData.content,
109
+ metadata: messageData.metadata,
110
+ sessionId: messageData.sessionId,
111
+ conversationId: messageData.conversationId,
112
+ cliSource: messageData.cliSource,
113
+ requestId: messageData.requestId,
114
+ },
115
+ });
116
+ return rowToMessage(messageData);
117
+ }
118
+ /**
119
+ * Delete messages by project ID.
120
+ * Optionally filter by conversation ID.
121
+ * Returns the number of deleted messages.
122
+ */
123
+ async function deleteMessagesByProjectId(projectId, conversationId) {
124
+ const db = (0, db_1.getDb)();
125
+ // Get count before deletion
126
+ const beforeCount = await getMessagesCountByProjectId(projectId);
127
+ if (conversationId) {
128
+ await db
129
+ .delete(db_1.messages)
130
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(db_1.messages.projectId, projectId), (0, drizzle_orm_1.eq)(db_1.messages.conversationId, conversationId)));
131
+ }
132
+ else {
133
+ await db.delete(db_1.messages).where((0, drizzle_orm_1.eq)(db_1.messages.projectId, projectId));
134
+ }
135
+ // Get count after deletion to calculate deleted count
136
+ const afterCount = await getMessagesCountByProjectId(projectId);
137
+ return beforeCount - afterCount;
138
+ }
139
+ /**
140
+ * Get messages by session ID with optional pagination.
141
+ * Returns messages sorted by creation time (oldest first).
142
+ *
143
+ * @param sessionId - The session ID to filter by
144
+ * @param limit - Maximum number of messages to return (0 = no limit)
145
+ * @param offset - Number of messages to skip
146
+ */
147
+ async function getMessagesBySessionId(sessionId, limit = 0, offset = 0) {
148
+ const db = (0, db_1.getDb)();
149
+ const query = db
150
+ .select()
151
+ .from(db_1.messages)
152
+ .where((0, drizzle_orm_1.eq)(db_1.messages.sessionId, sessionId))
153
+ .orderBy((0, drizzle_orm_1.asc)(db_1.messages.createdAt));
154
+ if (limit > 0) {
155
+ query.limit(limit);
156
+ }
157
+ if (offset > 0) {
158
+ query.offset(offset);
159
+ }
160
+ const rows = await query;
161
+ return rows.map(rowToMessage);
162
+ }
163
+ /**
164
+ * Get count of messages by session ID.
165
+ */
166
+ async function getMessagesCountBySessionId(sessionId) {
167
+ var _a, _b;
168
+ const db = (0, db_1.getDb)();
169
+ const result = await db
170
+ .select({ count: (0, drizzle_orm_1.count)() })
171
+ .from(db_1.messages)
172
+ .where((0, drizzle_orm_1.eq)(db_1.messages.sessionId, sessionId));
173
+ return (_b = (_a = result[0]) === null || _a === void 0 ? void 0 : _a.count) !== null && _b !== void 0 ? _b : 0;
174
+ }
175
+ /**
176
+ * Delete all messages for a session.
177
+ * Returns the number of deleted messages.
178
+ */
179
+ async function deleteMessagesBySessionId(sessionId) {
180
+ const db = (0, db_1.getDb)();
181
+ const beforeCount = await getMessagesCountBySessionId(sessionId);
182
+ await db.delete(db_1.messages).where((0, drizzle_orm_1.eq)(db_1.messages.sessionId, sessionId));
183
+ const afterCount = await getMessagesCountBySessionId(sessionId);
184
+ return beforeCount - afterCount;
185
+ }
186
+ /**
187
+ * Get messages by request ID.
188
+ */
189
+ async function getMessagesByRequestId(requestId) {
190
+ const db = (0, db_1.getDb)();
191
+ const rows = await db
192
+ .select()
193
+ .from(db_1.messages)
194
+ .where((0, drizzle_orm_1.eq)(db_1.messages.requestId, requestId))
195
+ .orderBy((0, drizzle_orm_1.asc)(db_1.messages.createdAt));
196
+ return rows.map(rowToMessage);
197
+ }
198
+ //# sourceMappingURL=message-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-service.js","sourceRoot":"","sources":["../../src/agent/message-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { OpenProjectResponse, OpenProjectTarget } from 'chrome-mcp-shared';
2
+ /**
3
+ * Open a file in VS Code at a specific line/column.
4
+ *
5
+ * Uses 'code -g file:line:col' syntax for goto functionality.
6
+ * Also opens the project root with -r to reuse existing window.
7
+ *
8
+ * Security:
9
+ * - Validates that file path stays within project root
10
+ * - Uses spawn with args array (no shell interpolation)
11
+ *
12
+ * @param projectRoot - Project root directory (for security validation and -r flag)
13
+ * @param filePath - File path (relative or absolute)
14
+ * @param line - Optional line number (1-based)
15
+ * @param column - Optional column number (1-based)
16
+ */
17
+ export declare function openFileInVSCode(projectRoot: string, filePath: string, line?: number, column?: number): Promise<OpenProjectResponse>;
18
+ /**
19
+ * Open a project directory in the specified target application.
20
+ *
21
+ * @param rootPath - The project directory path
22
+ * @param target - 'vscode' or 'terminal'
23
+ * @returns Response indicating success or failure with error message
24
+ */
25
+ export declare function openProjectDirectory(rootPath: string, target: OpenProjectTarget): Promise<OpenProjectResponse>;