daedalus-cli 3.72.0 → 3.73.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.
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
2
2
  import fs from 'node:fs';
3
- import { handleRequest, server, getTelemetryRate, setTelemetryRate } from './server.js';
3
+ import { handleRequest, server, getTelemetryRate, setTelemetryRate, registerHistoryProvider, registerContextFilesProvider, registerSessionProvider, registerModelProvider } from './server.js';
4
4
  vi.mock('node:fs');
5
5
  describe('WebUI Server', () => {
6
6
  let mockReq;
@@ -48,11 +48,11 @@ describe('WebUI Server', () => {
48
48
  expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'image/svg+xml; charset=utf-8' });
49
49
  expect(endSpy).toHaveBeenCalledWith('<svg>icon</svg>');
50
50
  });
51
- it('should serve /favicon.ico with image/svg+xml header', () => {
51
+ it('should serve /favicon.ico with image/x-icon header', () => {
52
52
  mockReq.url = '/favicon.ico';
53
53
  vi.mocked(fs.readFileSync).mockReturnValue('<svg>icon</svg>');
54
54
  handleRequest(mockReq, mockRes);
55
- expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'image/svg+xml; charset=utf-8' });
55
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'image/x-icon' });
56
56
  expect(endSpy).toHaveBeenCalledWith('<svg>icon</svg>');
57
57
  });
58
58
  });
@@ -114,6 +114,260 @@ describe('WebUI Server', () => {
114
114
  expect(setTelemetryRate(100000)).toBe(60000); // Clamped to max 60000
115
115
  });
116
116
  });
117
+ describe('POST /api/chat', () => {
118
+ it('should reject missing message with 400', async () => {
119
+ mockReq.url = '/api/chat';
120
+ mockReq.method = 'POST';
121
+ const onHandlers = {};
122
+ mockReq.on = vi.fn().mockImplementation((evt, cb) => {
123
+ onHandlers[evt] = cb;
124
+ return mockReq;
125
+ });
126
+ handleRequest(mockReq, mockRes);
127
+ // Emit empty body
128
+ onHandlers['data']?.(Buffer.from(JSON.stringify({})));
129
+ onHandlers['end']?.();
130
+ await new Promise(resolve => setTimeout(resolve, 10));
131
+ expect(writeHeadSpy).toHaveBeenCalledWith(400, { 'Content-Type': 'application/json' });
132
+ expect(endSpy).toHaveBeenCalled();
133
+ });
134
+ it('should process chat message with echo fallback when no handler registered', async () => {
135
+ mockReq.url = '/api/chat';
136
+ mockReq.method = 'POST';
137
+ const onHandlers = {};
138
+ mockReq.on = vi.fn().mockImplementation((evt, cb) => {
139
+ onHandlers[evt] = cb;
140
+ return mockReq;
141
+ });
142
+ handleRequest(mockReq, mockRes);
143
+ onHandlers['data']?.(Buffer.from(JSON.stringify({ message: 'Hello Daedalus' })));
144
+ onHandlers['end']?.();
145
+ await new Promise(resolve => setTimeout(resolve, 10));
146
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
147
+ const responseData = JSON.parse(endSpy.mock.calls[0][0]);
148
+ expect(responseData.status).toBe('ok');
149
+ });
150
+ });
151
+ describe('GET /api/files', () => {
152
+ it('should return project tree JSON', () => {
153
+ mockReq.url = '/api/files';
154
+ mockReq.method = 'GET';
155
+ vi.mocked(fs.existsSync).mockReturnValue(false);
156
+ vi.mocked(fs.readdirSync).mockReturnValue([
157
+ { name: 'src', isDirectory: () => true, isFile: () => false },
158
+ { name: 'package.json', isDirectory: () => false, isFile: () => true },
159
+ ]);
160
+ handleRequest(mockReq, mockRes);
161
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
162
+ expect(endSpy).toHaveBeenCalled();
163
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
164
+ expect(body).toHaveProperty('cwd');
165
+ expect(body).toHaveProperty('tree');
166
+ expect(Array.isArray(body.tree)).toBe(true);
167
+ });
168
+ });
169
+ describe('GET /api/history', () => {
170
+ it('should return empty history when no provider is registered', () => {
171
+ registerHistoryProvider(null);
172
+ mockReq.url = '/api/history';
173
+ mockReq.method = 'GET';
174
+ handleRequest(mockReq, mockRes);
175
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
176
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
177
+ expect(body).toEqual({ history: [] });
178
+ });
179
+ it('should return history from registered provider', () => {
180
+ registerHistoryProvider(() => [
181
+ { role: 'user', text: 'hello' },
182
+ { role: 'assistant', text: 'hi' },
183
+ ]);
184
+ mockReq.url = '/api/history';
185
+ mockReq.method = 'GET';
186
+ handleRequest(mockReq, mockRes);
187
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
188
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
189
+ expect(body.history).toHaveLength(2);
190
+ expect(body.history[0].text).toBe('hello');
191
+ });
192
+ });
193
+ describe('GET and DELETE /api/context', () => {
194
+ it('should return context files from provider', () => {
195
+ registerContextFilesProvider({
196
+ getFiles: () => ['src/index.ts', 'package.json'],
197
+ removeFile: vi.fn().mockReturnValue(true),
198
+ });
199
+ mockReq.url = '/api/context';
200
+ mockReq.method = 'GET';
201
+ handleRequest(mockReq, mockRes);
202
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
203
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
204
+ expect(body.files).toEqual(['src/index.ts', 'package.json']);
205
+ });
206
+ it('should remove file via DELETE /api/context', async () => {
207
+ const removeMock = vi.fn().mockReturnValue(true);
208
+ registerContextFilesProvider({
209
+ getFiles: () => ['src/index.ts'],
210
+ removeFile: removeMock,
211
+ });
212
+ mockReq.url = '/api/context';
213
+ mockReq.method = 'DELETE';
214
+ let dataCb;
215
+ let endCb;
216
+ mockReq.on = vi.fn((event, cb) => {
217
+ if (event === 'data')
218
+ dataCb = cb;
219
+ if (event === 'end')
220
+ endCb = cb;
221
+ return mockReq;
222
+ });
223
+ handleRequest(mockReq, mockRes);
224
+ dataCb(JSON.stringify({ file: 'src/index.ts' }));
225
+ await endCb();
226
+ expect(removeMock).toHaveBeenCalledWith('src/index.ts');
227
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
228
+ });
229
+ });
230
+ describe('/api/sessions endpoints', () => {
231
+ it('GET /api/sessions should return list of sessions', () => {
232
+ registerSessionProvider({
233
+ listSessions: () => [
234
+ { id: 'sess-1', title: 'Test Session', created_at: 1000, updated_at: 2000, turns_count: 3 },
235
+ ],
236
+ resumeSession: vi.fn(),
237
+ newSession: vi.fn(),
238
+ deleteSession: vi.fn(),
239
+ });
240
+ mockReq.url = '/api/sessions';
241
+ mockReq.method = 'GET';
242
+ handleRequest(mockReq, mockRes);
243
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
244
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
245
+ expect(body.sessions).toHaveLength(1);
246
+ expect(body.sessions[0].id).toBe('sess-1');
247
+ });
248
+ it('POST /api/sessions/resume should resume a session', async () => {
249
+ const resumeMock = vi.fn().mockResolvedValue(true);
250
+ registerSessionProvider({
251
+ listSessions: () => [],
252
+ resumeSession: resumeMock,
253
+ newSession: vi.fn(),
254
+ deleteSession: vi.fn(),
255
+ });
256
+ mockReq.url = '/api/sessions/resume';
257
+ mockReq.method = 'POST';
258
+ let dataCb;
259
+ let endCb;
260
+ mockReq.on = vi.fn((event, cb) => {
261
+ if (event === 'data')
262
+ dataCb = cb;
263
+ if (event === 'end')
264
+ endCb = cb;
265
+ return mockReq;
266
+ });
267
+ handleRequest(mockReq, mockRes);
268
+ dataCb(JSON.stringify({ sessionId: 'sess-1' }));
269
+ await endCb();
270
+ await new Promise(resolve => setTimeout(resolve, 10));
271
+ expect(resumeMock).toHaveBeenCalledWith('sess-1');
272
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
273
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
274
+ expect(body.success).toBe(true);
275
+ expect(body.sessionId).toBe('sess-1');
276
+ });
277
+ it('POST /api/sessions/new should create a new session', async () => {
278
+ const newMock = vi.fn().mockResolvedValue('new-sess-123');
279
+ registerSessionProvider({
280
+ listSessions: () => [],
281
+ resumeSession: vi.fn(),
282
+ newSession: newMock,
283
+ deleteSession: vi.fn(),
284
+ });
285
+ mockReq.url = '/api/sessions/new';
286
+ mockReq.method = 'POST';
287
+ handleRequest(mockReq, mockRes);
288
+ await new Promise(resolve => setTimeout(resolve, 10));
289
+ expect(newMock).toHaveBeenCalled();
290
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
291
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
292
+ expect(body.success).toBe(true);
293
+ expect(body.sessionId).toBe('new-sess-123');
294
+ });
295
+ it('DELETE /api/sessions should delete a session', async () => {
296
+ const deleteMock = vi.fn().mockResolvedValue(true);
297
+ registerSessionProvider({
298
+ listSessions: () => [],
299
+ resumeSession: vi.fn(),
300
+ newSession: vi.fn(),
301
+ deleteSession: deleteMock,
302
+ });
303
+ mockReq.url = '/api/sessions';
304
+ mockReq.method = 'DELETE';
305
+ let dataCb;
306
+ let endCb;
307
+ mockReq.on = vi.fn((event, cb) => {
308
+ if (event === 'data')
309
+ dataCb = cb;
310
+ if (event === 'end')
311
+ endCb = cb;
312
+ return mockReq;
313
+ });
314
+ handleRequest(mockReq, mockRes);
315
+ dataCb(JSON.stringify({ sessionId: 'sess-1' }));
316
+ await endCb();
317
+ await new Promise(resolve => setTimeout(resolve, 10));
318
+ expect(deleteMock).toHaveBeenCalledWith('sess-1');
319
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
320
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
321
+ expect(body.success).toBe(true);
322
+ });
323
+ });
324
+ describe('/api/models endpoints', () => {
325
+ it('GET /api/models should return active model and available models', () => {
326
+ registerModelProvider({
327
+ getActiveModel: () => 'claude-3-5-sonnet',
328
+ getAvailableModels: () => [
329
+ { id: 'auto', name: 'Auto Router' },
330
+ { id: 'claude-3-5-sonnet', name: 'Claude 3.5 Sonnet' },
331
+ ],
332
+ switchModel: vi.fn(),
333
+ });
334
+ mockReq.url = '/api/models';
335
+ mockReq.method = 'GET';
336
+ handleRequest(mockReq, mockRes);
337
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
338
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
339
+ expect(body.activeModel).toBe('claude-3-5-sonnet');
340
+ expect(body.availableModels).toHaveLength(2);
341
+ });
342
+ it('POST /api/models/switch should switch active model', async () => {
343
+ const switchMock = vi.fn().mockResolvedValue(true);
344
+ registerModelProvider({
345
+ getActiveModel: () => 'auto',
346
+ getAvailableModels: () => [],
347
+ switchModel: switchMock,
348
+ });
349
+ mockReq.url = '/api/models/switch';
350
+ mockReq.method = 'POST';
351
+ let dataCb;
352
+ let endCb;
353
+ mockReq.on = vi.fn((event, cb) => {
354
+ if (event === 'data')
355
+ dataCb = cb;
356
+ if (event === 'end')
357
+ endCb = cb;
358
+ return mockReq;
359
+ });
360
+ handleRequest(mockReq, mockRes);
361
+ dataCb(JSON.stringify({ model: 'gpt-4o' }));
362
+ await endCb();
363
+ await new Promise(resolve => setTimeout(resolve, 10));
364
+ expect(switchMock).toHaveBeenCalledWith('gpt-4o');
365
+ expect(writeHeadSpy).toHaveBeenCalledWith(200, { 'Content-Type': 'application/json' });
366
+ const body = JSON.parse(endSpy.mock.calls[0][0]);
367
+ expect(body.success).toBe(true);
368
+ expect(body.activeModel).toBe('gpt-4o');
369
+ });
370
+ });
117
371
  describe('Other routes', () => {
118
372
  it('should return 404 for unknown routes', () => {
119
373
  mockReq.url = '/unknown';
@@ -1 +1 @@
1
- {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/webui/server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/webui/server.test.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,26 @@ export interface IResponse {
20
20
  /** JSON payload returned to the client */
21
21
  data: any;
22
22
  }
23
+ export interface WebuiChatMessageEvent {
24
+ type: 'chat_token' | 'chat_tool_start' | 'chat_tool_result' | 'chat_done' | 'chat_error';
25
+ id?: string;
26
+ text?: string;
27
+ role?: 'user' | 'assistant' | 'system';
28
+ tool?: string;
29
+ content?: string;
30
+ timestamp: number;
31
+ imageBase64?: string;
32
+ }
33
+ export interface WebuiChatRequest {
34
+ message: string;
35
+ role?: string;
36
+ imageBase64?: string;
37
+ fileName?: string;
38
+ }
39
+ export interface FileNode {
40
+ name: string;
41
+ type: 'file' | 'dir';
42
+ path: string;
43
+ children?: FileNode[];
44
+ }
23
45
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webui/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,GAAG,CAAC;CACX"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webui/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,WAAW,GAAG,YAAY,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daedalus-cli",
3
- "version": "3.72.0",
3
+ "version": "3.73.0",
4
4
  "description": "Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing",
5
5
  "type": "module",
6
6
  "bin": {