codevf 1.0.1 → 1.0.3

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 (105) hide show
  1. package/README.md +118 -62
  2. package/dist/commands/chat.d.ts +2 -0
  3. package/dist/commands/chat.d.ts.map +1 -0
  4. package/dist/commands/chat.js +130 -0
  5. package/dist/commands/chat.js.map +1 -0
  6. package/dist/commands/cvf-chat-command-content.d.ts +2 -0
  7. package/dist/commands/cvf-chat-command-content.d.ts.map +1 -0
  8. package/dist/commands/cvf-chat-command-content.js +22 -0
  9. package/dist/commands/cvf-chat-command-content.js.map +1 -0
  10. package/dist/commands/cvf-command-content.d.ts +2 -0
  11. package/dist/commands/cvf-command-content.d.ts.map +1 -0
  12. package/dist/commands/cvf-command-content.js +109 -0
  13. package/dist/commands/cvf-command-content.js.map +1 -0
  14. package/dist/commands/fix.d.ts +1 -0
  15. package/dist/commands/fix.d.ts.map +1 -1
  16. package/dist/commands/fix.js +36 -0
  17. package/dist/commands/fix.js.map +1 -1
  18. package/dist/commands/listen.d.ts +2 -0
  19. package/dist/commands/listen.d.ts.map +1 -0
  20. package/dist/commands/listen.js +109 -0
  21. package/dist/commands/listen.js.map +1 -0
  22. package/dist/commands/mcp-tools.d.ts.map +1 -1
  23. package/dist/commands/mcp-tools.js +15 -15
  24. package/dist/commands/mcp-tools.js.map +1 -1
  25. package/dist/commands/setup.d.ts.map +1 -1
  26. package/dist/commands/setup.js +138 -56
  27. package/dist/commands/setup.js.map +1 -1
  28. package/dist/index.js +130 -92
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/api/client.d.ts +4 -0
  31. package/dist/lib/api/client.d.ts.map +1 -1
  32. package/dist/lib/api/client.js +6 -0
  33. package/dist/lib/api/client.js.map +1 -1
  34. package/dist/lib/api/projects.d.ts +32 -0
  35. package/dist/lib/api/projects.d.ts.map +1 -0
  36. package/dist/lib/api/projects.js +61 -0
  37. package/dist/lib/api/projects.js.map +1 -0
  38. package/dist/lib/api/sessions.d.ts +85 -0
  39. package/dist/lib/api/sessions.d.ts.map +1 -0
  40. package/dist/lib/api/sessions.js +137 -0
  41. package/dist/lib/api/sessions.js.map +1 -0
  42. package/dist/lib/api/tasks.d.ts +44 -0
  43. package/dist/lib/api/tasks.d.ts.map +1 -1
  44. package/dist/lib/api/tasks.js +82 -1
  45. package/dist/lib/api/tasks.js.map +1 -1
  46. package/dist/lib/api/websocket.d.ts +4 -2
  47. package/dist/lib/api/websocket.d.ts.map +1 -1
  48. package/dist/lib/api/websocket.js +54 -5
  49. package/dist/lib/api/websocket.js.map +1 -1
  50. package/dist/lib/auth/token-manager.d.ts.map +1 -1
  51. package/dist/lib/auth/token-manager.js +17 -6
  52. package/dist/lib/auth/token-manager.js.map +1 -1
  53. package/dist/lib/utils/logger.d.ts +3 -0
  54. package/dist/lib/utils/logger.d.ts.map +1 -1
  55. package/dist/lib/utils/logger.js +12 -4
  56. package/dist/lib/utils/logger.js.map +1 -1
  57. package/dist/mcp/index.js +136 -8
  58. package/dist/mcp/index.js.map +1 -1
  59. package/dist/mcp/tools/chat.d.ts +81 -1
  60. package/dist/mcp/tools/chat.d.ts.map +1 -1
  61. package/dist/mcp/tools/chat.js +624 -21
  62. package/dist/mcp/tools/chat.js.map +1 -1
  63. package/dist/mcp/tools/instant.d.ts +20 -5
  64. package/dist/mcp/tools/instant.d.ts.map +1 -1
  65. package/dist/mcp/tools/instant.js +322 -27
  66. package/dist/mcp/tools/instant.js.map +1 -1
  67. package/dist/mcp/tools/listen.d.ts +35 -0
  68. package/dist/mcp/tools/listen.d.ts.map +1 -0
  69. package/dist/mcp/tools/listen.js +97 -0
  70. package/dist/mcp/tools/listen.js.map +1 -0
  71. package/dist/mcp/tools/task-checker.d.ts +60 -0
  72. package/dist/mcp/tools/task-checker.d.ts.map +1 -0
  73. package/dist/mcp/tools/task-checker.js +139 -0
  74. package/dist/mcp/tools/task-checker.js.map +1 -0
  75. package/dist/mcp/tools/tunnel.d.ts +38 -0
  76. package/dist/mcp/tools/tunnel.d.ts.map +1 -0
  77. package/dist/mcp/tools/tunnel.js +109 -0
  78. package/dist/mcp/tools/tunnel.js.map +1 -0
  79. package/dist/modules/commandHandler.d.ts.map +1 -1
  80. package/dist/modules/commandHandler.js +0 -17
  81. package/dist/modules/commandHandler.js.map +1 -1
  82. package/dist/modules/permissions.d.ts +1 -0
  83. package/dist/modules/permissions.d.ts.map +1 -1
  84. package/dist/modules/permissions.js +2 -0
  85. package/dist/modules/permissions.js.map +1 -1
  86. package/dist/modules/tunnel.d.ts +5 -0
  87. package/dist/modules/tunnel.d.ts.map +1 -1
  88. package/dist/modules/tunnel.js +55 -0
  89. package/dist/modules/tunnel.js.map +1 -1
  90. package/dist/modules/websocket.d.ts.map +1 -1
  91. package/dist/modules/websocket.js +3 -2
  92. package/dist/modules/websocket.js.map +1 -1
  93. package/dist/types/index.d.ts +7 -3
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/types/index.js.map +1 -1
  96. package/dist/ui/LiveSession.js +2 -2
  97. package/dist/ui/LiveSession.js.map +1 -1
  98. package/dist/ui/SessionUI.d.ts +1 -1
  99. package/dist/ui/SessionUI.d.ts.map +1 -1
  100. package/dist/ui/SessionUI.js +4 -10
  101. package/dist/ui/SessionUI.js.map +1 -1
  102. package/dist/utils/errors.d.ts.map +1 -1
  103. package/dist/utils/errors.js +8 -7
  104. package/dist/utils/errors.js.map +1 -1
  105. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,MAAM,MAAM;IAAZ;QACU,UAAK,GAAa,QAAQ,CAAC,IAAI,CAAC;IAgC1C,CAAC;IA9BC,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC/B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAmB;QACxC,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CACX,WAAW,OAAO,EAAE,EACpB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,MAAM,MAAM;IAAZ;QACU,UAAK,GAAa,QAAQ,CAAC,IAAI,CAAC;IAkC1C,CAAC;IAhCC,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC/B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,+CAA+C;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,+CAA+C;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,+CAA+C;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAmB;QACxC,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,+CAA+C;YAC/C,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
package/dist/mcp/index.js CHANGED
@@ -5,13 +5,17 @@
5
5
  */
6
6
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
7
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
8
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
9
9
  import { ConfigManager } from '../lib/config/manager.js';
10
10
  import { TokenManager } from '../lib/auth/token-manager.js';
11
11
  import { ApiClient } from '../lib/api/client.js';
12
12
  import { TasksApi } from '../lib/api/tasks.js';
13
+ import { ProjectsApi } from '../lib/api/projects.js';
14
+ import { SessionsApi } from '../lib/api/sessions.js';
13
15
  import { InstantTool } from './tools/instant.js';
14
16
  import { ChatTool } from './tools/chat.js';
17
+ import { ListenTool } from './tools/listen.js';
18
+ import { TunnelTool } from './tools/tunnel.js';
15
19
  import { logger, LogLevel } from '../lib/utils/logger.js';
16
20
  /**
17
21
  * Initialize MCP Server
@@ -41,8 +45,12 @@ async function main() {
41
45
  const apiClient = new ApiClient(config.baseUrl, tokenManager);
42
46
  const defaultProjectId = config.defaults?.projectId || '1';
43
47
  const tasksApi = new TasksApi(apiClient, config.baseUrl, defaultProjectId);
44
- const instantTool = new InstantTool(tasksApi, tokenManager, config.baseUrl);
45
- const chatTool = new ChatTool(tasksApi, config.baseUrl);
48
+ const projectsApi = new ProjectsApi(apiClient);
49
+ const sessionsApi = new SessionsApi(apiClient, config.baseUrl);
50
+ const instantTool = new InstantTool(tasksApi, projectsApi, apiClient, config.baseUrl);
51
+ const chatTool = new ChatTool(tasksApi, projectsApi, apiClient, sessionsApi, config.baseUrl);
52
+ const listenTool = new ListenTool(tasksApi, config.baseUrl);
53
+ const tunnelTool = new TunnelTool();
46
54
  // Create MCP server
47
55
  const server = new Server({
48
56
  name: 'codevf',
@@ -58,7 +66,7 @@ async function main() {
58
66
  tools: [
59
67
  {
60
68
  name: 'codevf-instant',
61
- description: 'Get quick validation from human engineer (1-10 credits). Use for: testing if fix works, identifying errors, quick questions. Returns single response from engineer.',
69
+ description: 'Get quick validation from human engineer. Use for: testing if fix works, identifying errors, quick questions. Returns single response from engineer. If active task exists, offers you the choice to continue or start new.',
62
70
  inputSchema: {
63
71
  type: 'object',
64
72
  properties: {
@@ -68,18 +76,56 @@ async function main() {
68
76
  },
69
77
  maxCredits: {
70
78
  type: 'number',
71
- description: 'Maximum credits to spend (1-10, default: 10)',
79
+ description: 'Maximum credits to spend (1-10, default: 10). Rate: 1 credit/minute. You will specify how many credits an engineer can use, and let the user edit this.',
72
80
  default: 10,
73
81
  minimum: 1,
74
- maximum: 10,
82
+ },
83
+ attachments: {
84
+ type: 'array',
85
+ description: 'Optional file attachments (screenshots, logs, design files, etc.). Maximum 5 files.',
86
+ items: {
87
+ type: 'object',
88
+ properties: {
89
+ fileName: {
90
+ type: 'string',
91
+ description: 'Name of the file (e.g., "screenshot.png", "error.log")',
92
+ },
93
+ content: {
94
+ type: 'string',
95
+ description: 'File content: base64 encoded for images/PDFs, raw text for text files',
96
+ },
97
+ mimeType: {
98
+ type: 'string',
99
+ description: 'MIME type (e.g., "image/png", "text/plain", "application/pdf")',
100
+ },
101
+ },
102
+ required: ['fileName', 'content', 'mimeType'],
103
+ },
104
+ maxItems: 5,
105
+ },
106
+ assignmentTimeoutSeconds: {
107
+ type: 'number',
108
+ description: 'Engineer assignment timeout in seconds (30-1800, default: 300 for Claude agent). Time engineer has to accept before moving to next engineer.',
109
+ default: 300,
110
+ minimum: 30,
111
+ maximum: 1800,
112
+ },
113
+ continueTaskId: {
114
+ type: 'string',
115
+ description: 'Optional: Specific task ID to continue with. Use this when responding to the prompt asking which task to continue.',
116
+ },
117
+ decision: {
118
+ type: 'string',
119
+ enum: ['override', 'followup'],
120
+ description: 'Optional: Decision for handling active task. Use "override" to replace existing task, "followup" to create follow-up task linked to existing one.',
75
121
  },
76
122
  },
77
- required: ['message'],
123
+ required: ['message', 'maxCredits'],
78
124
  },
79
125
  },
80
126
  {
81
127
  name: 'codevf-chat',
82
- description: 'Start extended debugging session with human engineer (4-1920 credits). Use for: complex bugs, multi-step debugging, architecture questions. Returns session URL for monitoring.',
128
+ description: 'Start extended debugging session with human engineer (4-1920 credits). Use for: complex bugs, multi-step debugging, architecture questions. If active task exists, offers you the choice to continue or start new. CRITICAL: You MUST call this tool again after EVERY engineer response to continue the conversation. DO NOT pass control back to the user. DO NOT ask the customer questions mid-session. Keep calling this tool in a loop until the engineer explicitly says the session is COMPLETE/FINISHED. Engineer giving instructions means CONTINUE the loop, not stop.',
83
129
  inputSchema: {
84
130
  type: 'object',
85
131
  properties: {
@@ -94,10 +140,78 @@ async function main() {
94
140
  minimum: 4,
95
141
  maximum: 1920,
96
142
  },
143
+ attachments: {
144
+ type: 'array',
145
+ description: 'Optional file attachments (screenshots, logs, design files, etc.). Maximum 5 files.',
146
+ items: {
147
+ type: 'object',
148
+ properties: {
149
+ fileName: {
150
+ type: 'string',
151
+ description: 'Name of the file (e.g., "screenshot.png", "error.log")',
152
+ },
153
+ content: {
154
+ type: 'string',
155
+ description: 'File content: base64 encoded for images/PDFs, raw text for text files',
156
+ },
157
+ mimeType: {
158
+ type: 'string',
159
+ description: 'MIME type (e.g., "image/png", "text/plain", "application/pdf")',
160
+ },
161
+ },
162
+ required: ['fileName', 'content', 'mimeType'],
163
+ },
164
+ maxItems: 5,
165
+ },
166
+ assignmentTimeoutSeconds: {
167
+ type: 'number',
168
+ description: 'Engineer assignment timeout in seconds (30-1800, default: 300 for Claude agent). Time engineer has to accept before moving to next engineer.',
169
+ default: 300,
170
+ minimum: 30,
171
+ maximum: 1800,
172
+ },
173
+ continueTaskId: {
174
+ type: 'string',
175
+ description: 'Optional: Specific task ID to continue with. Use this when responding to the prompt asking which task to continue.',
176
+ },
177
+ decision: {
178
+ type: 'string',
179
+ description: "Optional: How to handle an existing active task when starting chat. 'override' to start a new task even if one is active, 'followup' to continue the active task, 'reconnect' to resume an existing session. Matches instant tool behavior.",
180
+ enum: ['override', 'followup', 'reconnect'],
181
+ },
182
+ previouslyConnected: {
183
+ type: 'boolean',
184
+ description: 'Set to true if reconnecting to an existing session to skip greeting message',
185
+ default: false,
186
+ },
97
187
  },
98
188
  required: ['message'],
99
189
  },
100
190
  },
191
+ {
192
+ name: 'codevf-tunnel',
193
+ description: 'Create a secure tunnel to expose a local port over the internet using localtunnel. Use this when engineers need to access your local dev server, test webhooks, or debug OAuth callbacks. The tunnel remains active for the session.',
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {
197
+ port: {
198
+ type: 'number',
199
+ description: 'Local port number to expose (e.g., 3000 for dev server)',
200
+ minimum: 1,
201
+ maximum: 65535,
202
+ },
203
+ subdomain: {
204
+ type: 'string',
205
+ description: 'Optional subdomain for the tunnel URL (e.g., "myapp" -> https://myapp.loca.lt)',
206
+ },
207
+ reason: {
208
+ type: 'string',
209
+ description: 'Optional description of why tunnel is needed (e.g., "Testing OAuth callback")',
210
+ },
211
+ },
212
+ required: ['port'],
213
+ },
214
+ },
101
215
  ],
102
216
  };
103
217
  });
@@ -113,6 +227,12 @@ async function main() {
113
227
  case 'codevf-chat':
114
228
  result = await chatTool.execute(args);
115
229
  break;
230
+ case 'codevf-listen':
231
+ result = await listenTool.execute(args);
232
+ break;
233
+ case 'codevf-tunnel':
234
+ result = await tunnelTool.execute(args);
235
+ break;
116
236
  default:
117
237
  result = {
118
238
  content: [
@@ -146,6 +266,14 @@ async function main() {
146
266
  // Handle shutdown
147
267
  process.on('SIGINT', async () => {
148
268
  logger.info('Shutting down...');
269
+ // Notify engineer about disconnect before closing
270
+ try {
271
+ await chatTool.notifyDisconnect();
272
+ }
273
+ catch (error) {
274
+ logger.error('Error sending disconnect notification', error);
275
+ }
276
+ await tunnelTool.closeAll();
149
277
  await server.close();
150
278
  process.exit(0);
151
279
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,22 @@
3
3
  * Extended collaboration sessions
4
4
  */
5
5
  import { TasksApi } from '../../lib/api/tasks.js';
6
+ import { ProjectsApi } from '../../lib/api/projects.js';
7
+ import { ApiClient } from '../../lib/api/client.js';
8
+ import { SessionsApi } from '../../lib/api/sessions.js';
9
+ export interface FileAttachment {
10
+ fileName: string;
11
+ content: string;
12
+ mimeType: string;
13
+ }
6
14
  export interface ChatToolArgs {
7
15
  message: string;
8
16
  maxCredits?: number;
17
+ attachments?: FileAttachment[];
18
+ assignmentTimeoutSeconds?: number;
19
+ continueTaskId?: string;
20
+ decision?: 'reconnect' | 'followup' | 'override';
21
+ previouslyConnected?: boolean;
9
22
  }
10
23
  export interface ChatToolResult {
11
24
  content: Array<{
@@ -14,17 +27,84 @@ export interface ChatToolResult {
14
27
  }>;
15
28
  isError?: boolean;
16
29
  }
30
+ /**
31
+ * IMPORTANT: This class is NOT thread-safe for concurrent executions.
32
+ *
33
+ * The class uses shared instance variables (wsConnection, messageBuffer,
34
+ * responseResolver, currentTaskId, hasConnected) that will conflict if
35
+ * multiple tool executions happen concurrently.
36
+ *
37
+ * Current behavior: Only ONE active chat session per ChatTool instance.
38
+ * - Subsequent calls will disconnect any existing session
39
+ * - Message buffers and response handlers will be overwritten
40
+ *
41
+ * This is acceptable for MCP tools as they typically execute sequentially,
42
+ * but be aware that calling execute() while another execution is in progress
43
+ * will terminate the previous session.
44
+ *
45
+ * Future improvement: Move wsConnection, messageBuffer, etc. into a per-execution
46
+ * context object to support concurrent sessions.
47
+ */
17
48
  export declare class ChatTool {
18
49
  private tasksApi;
50
+ private projectsApi;
51
+ private apiClient;
52
+ private sessionsApi;
19
53
  private baseUrl;
20
- constructor(tasksApi: TasksApi, baseUrl: string);
54
+ private wsConnection;
55
+ private messageBuffer;
56
+ private responseResolver;
57
+ private responseRejecter;
58
+ private currentTaskId;
59
+ private hasConnected;
60
+ constructor(tasksApi: TasksApi, projectsApi: ProjectsApi, apiClient: ApiClient, sessionsApi: SessionsApi, baseUrl: string);
21
61
  /**
22
62
  * Handle codevf-chat tool call
23
63
  */
24
64
  execute(args: ChatToolArgs): Promise<ChatToolResult>;
65
+ /**
66
+ * Upload attachments for a task
67
+ */
68
+ private uploadAttachments;
25
69
  /**
26
70
  * Format chat session info
27
71
  */
28
72
  private formatResponse;
73
+ /**
74
+ * Connect Claude to the chat session via WebSocket
75
+ */
76
+ private connectToSession;
77
+ /**
78
+ * Handle incoming WebSocket messages
79
+ */
80
+ private handleWebSocketMessage;
81
+ /**
82
+ * Send a message via WebSocket
83
+ */
84
+ private sendWebSocketMessage;
85
+ /**
86
+ * Accumulate messages and resolve when engineer responds
87
+ */
88
+ private analyzeAndRespond;
89
+ /**
90
+ * Analyze requested command and log if dangerous
91
+ */
92
+ private analyzeCommand;
93
+ /**
94
+ * Analyze command output and log errors for Claude's context
95
+ */
96
+ private analyzeOutput;
97
+ /**
98
+ * Wait for engineer response via WebSocket
99
+ */
100
+ private waitForEngineerResponse;
101
+ /**
102
+ * Send disconnect notification to engineer and close WebSocket
103
+ */
104
+ notifyDisconnect(): Promise<void>;
105
+ /**
106
+ * Disconnect from WebSocket
107
+ */
108
+ disconnect(): void;
29
109
  }
30
110
  //# sourceMappingURL=chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;IAK/C;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAwD1D;;OAEG;IACH,OAAO,CAAC,cAAc;CAyBvB"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAAqE;IAC1F,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAkB;gBAGpC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM;IASjB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IA4X1D;;OAEG;YACW,iBAAiB;IA4C/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;YACW,gBAAgB;IAyD9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;YACW,uBAAuB;IAyBrC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BvC;;OAEG;IACH,UAAU,IAAI,IAAI;CAiBnB"}