daedalus-cli 1.27.0 → 1.27.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.27.1](https://github.com/bgill55/daedalus/compare/v1.27.0...v1.27.1) (2026-06-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * prevent session auto-naming from using leaked system prompt text ([f06a493](https://github.com/bgill55/daedalus/commit/f06a493d4ac9956a91999573fcb73ecb82988535))
7
+
1
8
  # [1.27.0](https://github.com/bgill55/daedalus/compare/v1.26.2...v1.27.0) (2026-06-24)
2
9
 
3
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../src/extraction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuBtD,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAyHf"}
1
+ {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../src/extraction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuCtD,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAoIf"}
@@ -5,6 +5,21 @@ const LEARNING_TOOLS = new Set([
5
5
  ]);
6
6
  let extractionTurnCount = 0;
7
7
  const EXTRACTION_INTERVAL = 5;
8
+ function isValidTitle(title) {
9
+ if (!title || title.length < 3 || title.length > 50)
10
+ return false;
11
+ if (/^Session on/i.test(title))
12
+ return false;
13
+ const lowered = title.toLowerCase();
14
+ if (lowered.includes('generate a very short') ||
15
+ lowered.includes('return only the') ||
16
+ lowered.includes('descriptive title') ||
17
+ lowered.includes('do not say') ||
18
+ /^(title|generate|create|write a?\s)/i.test(lowered)) {
19
+ return false;
20
+ }
21
+ return true;
22
+ }
8
23
  function recentTurnHasLearningSignal(messages) {
9
24
  const lastMsgs = messages.slice(-10);
10
25
  for (const msg of lastMsgs) {
@@ -37,23 +52,31 @@ export async function extractAndSave(router, sessionManager, messages) {
37
52
  .map(m => `${m.role}: ${typeof m.content === 'string' ? m.content : JSON.stringify(m.content)}`)
38
53
  .join('\n');
39
54
  try {
55
+ const NAMING_PROMPT = 'Generate a very short, concise, and descriptive title (3 to 5 words) for this conversation based on the messages. Return ONLY the plain text title, no quotes, no markdown, no punctuation, and no meta-text (do not say "Title:").';
56
+ const FALLBACK_PROMPT = 'Write a 3-5 word title for this conversation. Output only the title, nothing else.';
40
57
  const titleResponse = await router.chat.completions.create({
41
58
  model: 'auto',
42
59
  messages: [
43
- {
44
- role: 'system',
45
- content: 'Generate a very short, concise, and descriptive title (3 to 5 words) for this conversation based on the messages. Return ONLY the plain text title, no quotes, no markdown, no punctuation, and no meta-text (do not say "Title:").'
46
- },
47
- {
48
- role: 'user',
49
- content: conversationBrief
50
- }
60
+ { role: 'system', content: NAMING_PROMPT },
61
+ { role: 'user', content: conversationBrief }
51
62
  ],
52
63
  temperature: 0.3,
53
- max_tokens: 20
64
+ max_tokens: 20,
54
65
  });
55
- const newTitle = (titleResponse.choices[0]?.message?.content || '').trim().replace(/^["']|["']$/g, '');
56
- if (newTitle && newTitle.length > 2 && !/^Session on/i.test(newTitle)) {
66
+ let newTitle = (titleResponse.choices[0]?.message?.content || '').trim().replace(/^["']|["']$/g, '');
67
+ if (!isValidTitle(newTitle)) {
68
+ const retryResponse = await router.chat.completions.create({
69
+ model: 'auto',
70
+ messages: [
71
+ { role: 'system', content: FALLBACK_PROMPT },
72
+ { role: 'user', content: conversationBrief }
73
+ ],
74
+ temperature: 0.3,
75
+ max_tokens: 20,
76
+ });
77
+ newTitle = (retryResponse.choices[0]?.message?.content || '').trim().replace(/^["']|["']$/g, '');
78
+ }
79
+ if (isValidTitle(newTitle)) {
57
80
  sessionManager.updateSessionTitle(newTitle);
58
81
  console.log(` ${pc.dim('[')} ${pc.dim('auto-named session:')} ${pc.cyan(newTitle)} ${pc.dim(']')}`);
59
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.js","sourceRoot":"","sources":["../src/extraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extraction.js","sourceRoot":"","sources":["../src/extraction.ts"],"names":[],"mappings":"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"}
@@ -130,5 +130,101 @@ describe('Fact extraction', () => {
130
130
  await extractAndSave(mockRouter, mockSessionManager, messages);
131
131
  expect(mockSessionManager.addFact).toHaveBeenCalledWith('framework', 'vitest', 'agent');
132
132
  });
133
+ it('auto-names session with valid title from model', async () => {
134
+ const messages = [
135
+ { role: 'user', content: 'fix the bug' },
136
+ { role: 'assistant', content: 'I have successfully patched the file and the bug is now fixed.' },
137
+ ];
138
+ const mockRouter = {
139
+ chat: {
140
+ completions: {
141
+ create: vi.fn().mockResolvedValue({
142
+ choices: [{ message: { content: 'Bug Fix Session' } }],
143
+ }),
144
+ },
145
+ },
146
+ };
147
+ const mockSessionManager = {
148
+ sessionTitle: 'New Session',
149
+ loadMemory: vi.fn().mockReturnValue({ facts: [] }),
150
+ addFact: vi.fn(),
151
+ updateSessionTitle: vi.fn(),
152
+ };
153
+ await extractAndSave(mockRouter, mockSessionManager, messages);
154
+ expect(mockRouter.chat.completions.create).toHaveBeenCalledTimes(1);
155
+ expect(mockSessionManager.updateSessionTitle).toHaveBeenCalledWith('Bug Fix Session');
156
+ });
157
+ it('skips invalid titles and does not rename session', async () => {
158
+ const messages = [
159
+ { role: 'user', content: 'hello' },
160
+ { role: 'assistant', content: 'Hello! How can I help you today? I am ready to assist with your coding tasks and answer any questions you might have.' },
161
+ ];
162
+ const mockRouter = {
163
+ chat: {
164
+ completions: {
165
+ create: vi
166
+ .fn()
167
+ .mockResolvedValueOnce({
168
+ choices: [{ message: { content: 'Generate a very short, concise title for this conversation' } }],
169
+ })
170
+ .mockResolvedValueOnce({
171
+ choices: [{ message: { content: 'Descriptive Title Here' } }],
172
+ }),
173
+ },
174
+ },
175
+ };
176
+ const mockSessionManager = {
177
+ sessionTitle: 'New Session',
178
+ loadMemory: vi.fn().mockReturnValue({ facts: [] }),
179
+ addFact: vi.fn(),
180
+ updateSessionTitle: vi.fn(),
181
+ };
182
+ await extractAndSave(mockRouter, mockSessionManager, messages);
183
+ expect(mockRouter.chat.completions.create).toHaveBeenCalledTimes(2);
184
+ expect(mockSessionManager.updateSessionTitle).not.toHaveBeenCalled();
185
+ });
186
+ it('does not auto-name when there are no user messages', async () => {
187
+ const messages = [
188
+ { role: 'assistant', content: 'hi' },
189
+ ];
190
+ const mockRouter = {
191
+ chat: {
192
+ completions: {
193
+ create: vi.fn(),
194
+ },
195
+ },
196
+ };
197
+ const mockSessionManager = {
198
+ sessionTitle: 'New Session',
199
+ loadMemory: vi.fn().mockReturnValue({ facts: [] }),
200
+ addFact: vi.fn(),
201
+ updateSessionTitle: vi.fn(),
202
+ };
203
+ await extractAndSave(mockRouter, mockSessionManager, messages);
204
+ expect(mockRouter.chat.completions.create).not.toHaveBeenCalled();
205
+ expect(mockSessionManager.updateSessionTitle).not.toHaveBeenCalled();
206
+ });
207
+ it('does not auto-name custom-titled sessions', async () => {
208
+ const messages = [
209
+ { role: 'user', content: 'hello' },
210
+ { role: 'assistant', content: 'hi' },
211
+ ];
212
+ const mockRouter = {
213
+ chat: {
214
+ completions: {
215
+ create: vi.fn(),
216
+ },
217
+ },
218
+ };
219
+ const mockSessionManager = {
220
+ sessionTitle: 'My Custom Title',
221
+ loadMemory: vi.fn().mockReturnValue({ facts: [] }),
222
+ addFact: vi.fn(),
223
+ updateSessionTitle: vi.fn(),
224
+ };
225
+ await extractAndSave(mockRouter, mockSessionManager, messages);
226
+ expect(mockRouter.chat.completions.create).not.toHaveBeenCalled();
227
+ expect(mockSessionManager.updateSessionTitle).not.toHaveBeenCalled();
228
+ });
133
229
  });
134
230
  //# sourceMappingURL=extraction.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.test.js","sourceRoot":"","sources":["../src/extraction.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extraction.test.js","sourceRoot":"","sources":["../src/extraction.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAE/B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;YACxC;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;iBAC5E;aACF;YACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE;SACxD,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;wBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE,EAAE,CAAC;qBACnF,CAAC;iBACH;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC9D,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE;SAC3C,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;aACjC;SACF,CAAC;QACF,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;YACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE;YAC1C;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;iBAC5E;aACF;YACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE;SACrD,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;wBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,EAAE,CAAC;qBAC9E,CAAC;iBACH;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBAClC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;aAC3E,CAAC;YACF,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YAC9B;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;iBACjF;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;iBAC1D;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,MAAM,CAAC,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;YACvC;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;iBAC5E;aACF;YACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE;SACrD,CAAC;QAEF,MAAM,WAAW,GAAG,+HAA+H,CAAC;QAEpJ,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;wBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;qBACjD,CAAC;iBACH;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;YACxC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gEAAgE,EAAE;SACjG,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;wBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC;qBACvD,CAAC;iBACH;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC5B,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uHAAuH,EAAE;SACxJ,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE;yBACP,EAAE,EAAE;yBACJ,qBAAqB,CAAC;wBACrB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,4DAA4D,EAAE,EAAE,CAAC;qBAClG,CAAC;yBACD,qBAAqB,CAAC;wBACrB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,CAAC;qBAC9D,CAAC;iBACL;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC5B,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;SACrC,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;iBAChB;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC5B,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;SACrC,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;iBAChB;aACF;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC5B,CAAC;QAEF,MAAM,cAAc,CAAC,UAAiB,EAAE,kBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -38,7 +38,7 @@ export function printUserTurn(userMessage) {
38
38
  wrapped.push(...wrapLine(line, termW));
39
39
  const contentW = wrapped.reduce((m, l) => Math.max(m, stripAnsi(l).length), 0);
40
40
  const boxW = Math.max(20, contentW) + 2;
41
- console.log(`\n ${pc.dim('╭─')} ${pc.bold('You')} ${pc.dim(`─${'─'.repeat(Math.max(0, boxW - 4))}╮`)}`);
41
+ console.log(`\n ${pc.dim('╭─')} ${pc.bold('You')} ${pc.dim(`─${'─'.repeat(Math.max(0, boxW - 5))}╮`)}`);
42
42
  for (const part of wrapped) {
43
43
  const pad = ' '.repeat(Math.max(0, boxW - stripAnsi(part).length));
44
44
  console.log(` ${bar} ${pc.white(part)}${pad} ${bar}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daedalus-cli",
3
- "version": "1.27.0",
3
+ "version": "1.27.1",
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": {