lsd-pi 1.1.5 → 1.1.6

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 (70) hide show
  1. package/dist/headless-ui.js +2 -0
  2. package/dist/onboarding.js +11 -8
  3. package/dist/resources/extensions/cache-timer/index.js +2 -1
  4. package/dist/resources/extensions/memory/auto-extract.js +39 -6
  5. package/dist/resources/extensions/memory/dream.js +86 -19
  6. package/dist/resources/extensions/subagent/index.js +1 -0
  7. package/dist/welcome-screen.js +43 -14
  8. package/package.json +2 -2
  9. package/packages/pi-coding-agent/dist/core/agent-session.clear-queue.test.d.ts +2 -0
  10. package/packages/pi-coding-agent/dist/core/agent-session.clear-queue.test.d.ts.map +1 -0
  11. package/packages/pi-coding-agent/dist/core/agent-session.clear-queue.test.js +46 -0
  12. package/packages/pi-coding-agent/dist/core/agent-session.clear-queue.test.js.map +1 -0
  13. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  14. package/packages/pi-coding-agent/dist/core/agent-session.js +20 -3
  15. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  16. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts +6 -0
  17. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  18. package/packages/pi-coding-agent/dist/core/settings-manager.js +12 -0
  19. package/packages/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  20. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  21. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.js +31 -24
  22. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -1
  23. package/packages/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  24. package/packages/pi-coding-agent/dist/modes/interactive/components/bash-execution.js +3 -9
  25. package/packages/pi-coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -1
  26. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +4 -0
  27. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  28. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +24 -0
  29. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  30. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts +1 -0
  31. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  32. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +37 -24
  33. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  34. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts +2 -5
  35. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  36. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.js +4 -13
  37. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
  38. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js +3 -3
  39. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  40. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  41. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +13 -5
  42. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  43. package/packages/pi-coding-agent/src/core/agent-session.clear-queue.test.ts +50 -0
  44. package/packages/pi-coding-agent/src/core/agent-session.ts +21 -3
  45. package/packages/pi-coding-agent/src/core/settings-manager.ts +18 -0
  46. package/packages/pi-coding-agent/src/modes/interactive/components/assistant-message.ts +31 -27
  47. package/packages/pi-coding-agent/src/modes/interactive/components/bash-execution.ts +3 -11
  48. package/packages/pi-coding-agent/src/modes/interactive/components/settings-selector.ts +30 -0
  49. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +38 -26
  50. package/packages/pi-coding-agent/src/modes/interactive/components/user-message.ts +5 -19
  51. package/packages/pi-coding-agent/src/modes/interactive/controllers/chat-controller.ts +3 -3
  52. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +13 -5
  53. package/packages/pi-tui/dist/components/__tests__/editor-dropped-image.test.d.ts +2 -0
  54. package/packages/pi-tui/dist/components/__tests__/editor-dropped-image.test.d.ts.map +1 -0
  55. package/packages/pi-tui/dist/components/__tests__/editor-dropped-image.test.js +105 -0
  56. package/packages/pi-tui/dist/components/__tests__/editor-dropped-image.test.js.map +1 -0
  57. package/packages/pi-tui/dist/components/editor.d.ts +4 -0
  58. package/packages/pi-tui/dist/components/editor.d.ts.map +1 -1
  59. package/packages/pi-tui/dist/components/editor.js +57 -3
  60. package/packages/pi-tui/dist/components/editor.js.map +1 -1
  61. package/packages/pi-tui/dist/components/loader.d.ts.map +1 -1
  62. package/packages/pi-tui/dist/components/loader.js +2 -2
  63. package/packages/pi-tui/dist/components/loader.js.map +1 -1
  64. package/packages/pi-tui/src/components/editor.ts +65 -3
  65. package/packages/pi-tui/src/components/loader.ts +2 -2
  66. package/src/resources/extensions/cache-timer/index.ts +2 -1
  67. package/src/resources/extensions/memory/auto-extract.ts +38 -6
  68. package/src/resources/extensions/memory/dream.ts +88 -21
  69. package/src/resources/extensions/memory/tests/auto-extract.test.ts +10 -1
  70. package/src/resources/extensions/subagent/index.ts +1 -0
@@ -267,6 +267,8 @@ export function formatProgress(event, ctx) {
267
267
  const msg = String(event.message ?? '');
268
268
  if (!statusKey && !msg)
269
269
  return null; // suppress empty status lines
270
+ if (statusKey.trim().toLowerCase() === 'cache-timer')
271
+ return null; // never emit cache timer chatter in headless logs
270
272
  // Show meaningful phase transitions
271
273
  if (statusKey) {
272
274
  const label = parsePhaseLabel(statusKey, msg);
@@ -75,9 +75,12 @@ async function loadPico() {
75
75
  catch {
76
76
  // Fallback: return identity functions
77
77
  const identity = (s) => s;
78
- return { cyan: identity, green: identity, yellow: identity, dim: identity, bold: identity, red: identity, reset: identity };
78
+ return { cyan: identity, green: identity, yellow: identity, dim: identity, bold: identity, red: identity, white: identity, reset: identity };
79
79
  }
80
80
  }
81
+ function createWhiteSpinner(p, pc) {
82
+ return p.spinner({ styleFrame: (frame) => pc.white(frame) });
83
+ }
81
84
  // ─── Utilities ────────────────────────────────────────────────────────────────
82
85
  /** Open a URL in the system browser (best-effort, non-blocking) */
83
86
  function openBrowser(url) {
@@ -411,7 +414,7 @@ async function runLspStep(p, pc, settingsManager) {
411
414
  const entry = missing.find((s) => s.name === name);
412
415
  if (!entry)
413
416
  continue;
414
- const s = p.spinner();
417
+ const s = createWhiteSpinner(p, pc);
415
418
  s.start(`Installing ${entry.label}...`);
416
419
  const result = await installServer(name);
417
420
  if (result.success) {
@@ -492,7 +495,7 @@ async function runOAuthFlow(p, pc, authStorage, providerId, oauthMap) {
492
495
  const providerInfo = oauthMap.get(providerId);
493
496
  const providerName = providerInfo?.name ?? providerId;
494
497
  const usesCallbackServer = providerInfo?.usesCallbackServer ?? false;
495
- const s = p.spinner();
498
+ const s = createWhiteSpinner(p, pc);
496
499
  s.start(`Authenticating with ${providerName}...`);
497
500
  try {
498
501
  await authStorage.login(providerId, {
@@ -574,7 +577,7 @@ async function runBedrockSsoFlow(p, pc, authStorage) {
574
577
  if (p.isCancel(region) || !region)
575
578
  return false;
576
579
  const trimmedRegion = String(region).trim();
577
- const s = p.spinner();
580
+ const s = createWhiteSpinner(p, pc);
578
581
  s.start(`Running aws sso login for profile ${trimmedProfile}...`);
579
582
  try {
580
583
  await new Promise((resolve, reject) => {
@@ -888,7 +891,7 @@ async function runRemoteQuestionsStep(p, pc, authStorage) {
888
891
  return null;
889
892
  }
890
893
  // Validate
891
- const s = p.spinner();
894
+ const s = createWhiteSpinner(p, pc);
892
895
  s.start('Validating Slack token...');
893
896
  try {
894
897
  const res = await fetch('https://slack.com/api/auth.test', {
@@ -935,7 +938,7 @@ async function runRemoteQuestionsStep(p, pc, authStorage) {
935
938
  return null;
936
939
  }
937
940
  // Validate
938
- const s = p.spinner();
941
+ const s = createWhiteSpinner(p, pc);
939
942
  s.start('Validating Telegram bot token...');
940
943
  try {
941
944
  const res = await fetch(`https://api.telegram.org/bot${trimmed}/getMe`, {
@@ -965,7 +968,7 @@ async function runRemoteQuestionsStep(p, pc, authStorage) {
965
968
  return null;
966
969
  const trimmedChatId = chatId.trim();
967
970
  // Test send
968
- const ts = p.spinner();
971
+ const ts = createWhiteSpinner(p, pc);
969
972
  ts.start('Testing message delivery...');
970
973
  try {
971
974
  const res = await fetch(`https://api.telegram.org/bot${trimmed}/sendMessage`, {
@@ -995,7 +998,7 @@ async function runRemoteQuestionsStep(p, pc, authStorage) {
995
998
  async function runDiscordChannelStep(p, pc, token) {
996
999
  const headers = { Authorization: `Bot ${token}` };
997
1000
  // Validate token
998
- const s = p.spinner();
1001
+ const s = createWhiteSpinner(p, pc);
999
1002
  s.start('Validating Discord bot token...');
1000
1003
  let auth;
1001
1004
  try {
@@ -15,6 +15,7 @@ import { join } from "node:path";
15
15
  import { getAgentDir } from "@gsd/pi-coding-agent";
16
16
  const STATUS_KEY = "cache-timer";
17
17
  const IS_MEMORY_MAINTENANCE_WORKER = process.env.LSD_MEMORY_EXTRACT === "1" || process.env.LSD_MEMORY_DREAM === "1";
18
+ const IS_CACHE_TIMER_FORCED_OFF = process.env.LSD_DISABLE_CACHE_TIMER === "1" || process.env.GSD_DISABLE_CACHE_TIMER === "1";
18
19
  // ANSI color codes for timer display
19
20
  const ANSI_RESET = "\x1b[0m";
20
21
  const ANSI_YELLOW = "\x1b[33m";
@@ -66,7 +67,7 @@ function formatElapsed(ms) {
66
67
  return `⏱ ${time}`;
67
68
  }
68
69
  export default function cacheTimerExtension(pi) {
69
- if (IS_MEMORY_MAINTENANCE_WORKER) {
70
+ if (IS_MEMORY_MAINTENANCE_WORKER || IS_CACHE_TIMER_FORCED_OFF) {
70
71
  return;
71
72
  }
72
73
  let timer = null;
@@ -15,7 +15,7 @@ import { getMemoryDir } from './memory-paths.js';
15
15
  import { scanMemoryFiles, formatMemoryManifest } from './memory-scan.js';
16
16
  import { normalizeSubagentModel } from '../subagent/model-resolution.js';
17
17
  const AUTO_EXTRACT_ANSI_PATTERN = /\u001B\[[0-?]*[ -/]*[@-~]/g;
18
- const AUTO_EXTRACT_CACHE_TIMER_RE = /^\[phase\]\s+cache-timer\s*$/;
18
+ const AUTO_EXTRACT_CACHE_TIMER_RE = /^\[phase\]\s+cache-timer(?:\s*:\s*.*)?\s*$/i;
19
19
  const AUTO_EXTRACT_SESSION_ENDED_RE = /^\[agent\]\s+Session ended/;
20
20
  const AUTO_EXTRACT_HEADLESS_STATUS_RE = /^\[headless\]\s+Status:\s+(\w+)\s*$/i;
21
21
  export function stripAnsiForAutoExtractLog(text) {
@@ -192,7 +192,7 @@ let completionTimer = null;
192
192
  let hardTimeout = null;
193
193
  let pendingLogText = '';
194
194
  const ANSI_PATTERN = /\u001B\[[0-?]*[ -/]*[@-~]/g;
195
- const CACHE_TIMER_RE = /^\[phase\]\s+cache-timer\s*$/;
195
+ const CACHE_TIMER_RE = /^\[phase\]\s+cache-timer(?:\s*:\s*.*)?\s*$/i;
196
196
  const SESSION_ENDED_RE = /^\[agent\]\s+Session ended/;
197
197
  const HEADLESS_STATUS_RE = /^\[headless\]\s+Status:\s+(\w+)\s*$/i;
198
198
 
@@ -235,7 +235,7 @@ function scheduleCompletion(completion, completionReason) {
235
235
 
236
236
  function flushLogText(text, force = false) {
237
237
  pendingLogText += text;
238
- const parts = pendingLogText.split(/\r?\n/);
238
+ const parts = pendingLogText.split(/(?:\r?\n|\r)/);
239
239
  pendingLogText = force ? '' : (parts.pop() ?? '');
240
240
 
241
241
  const kept = [];
@@ -318,7 +318,10 @@ const bundledPaths = Array.from(
318
318
  new Set(
319
319
  [process.env.GSD_BUNDLED_EXTENSION_PATHS, process.env.LSD_BUNDLED_EXTENSION_PATHS]
320
320
  .filter(Boolean)
321
- .flatMap((value) => String(value).split(delimiter).map((entry) => entry.trim()).filter(Boolean)),
321
+ .flatMap((value) => String(value).split(delimiter).map((entry) => entry.trim()).filter(Boolean))
322
+ // Explicitly disable cache-timer extension for auto-memory workers.
323
+ // It is noisy in headless logs and provides no value for maintenance runs.
324
+ .filter((entry) => !/[\\/]cache-timer[\\/]/i.test(entry)),
322
325
  ),
323
326
  );
324
327
  for (const extensionPath of bundledPaths) childArgs.push('--extension', extensionPath);
@@ -328,7 +331,21 @@ childArgs.push('--bare', '--context', tmpPromptPath, '--context-text', instructi
328
331
  const child = spawn(
329
332
  process.execPath,
330
333
  childArgs,
331
- { cwd, env: { ...process.env, LSD_MEMORY_EXTRACT: '1' }, stdio: ['ignore', 'pipe', 'pipe'] },
334
+ {
335
+ cwd,
336
+ env: {
337
+ ...process.env,
338
+ LSD_MEMORY_EXTRACT: '1',
339
+ // Hard-disable cache timer in maintenance workers.
340
+ LSD_DISABLE_CACHE_TIMER: '1',
341
+ // Memory maintenance workers must not run in auto permission mode.
342
+ // In auto mode, write/edit calls require classifier approval, but headless
343
+ // maintenance workers have no interactive classifier responder.
344
+ // Keep writes safe via extension-level path restrictions instead.
345
+ LUCENT_CODE_PERMISSION_MODE: 'danger-full-access',
346
+ },
347
+ stdio: ['ignore', 'pipe', 'pipe'],
348
+ },
332
349
  );
333
350
 
334
351
  hardTimeout = setTimeout(() => {
@@ -358,13 +375,29 @@ child.on('exit', (code, signal) => {
358
375
  * and spawns a detached headless agent to process it.
359
376
  * Fire-and-forget: the parent can exit without killing the child.
360
377
  */
378
+ function readAutoMemoryEnabled() {
379
+ try {
380
+ const settingsPath = join(getAgentDir(), 'settings.json');
381
+ if (!existsSync(settingsPath))
382
+ return false;
383
+ const raw = readFileSync(settingsPath, 'utf-8');
384
+ const parsed = JSON.parse(raw);
385
+ return parsed.autoMemory === true;
386
+ }
387
+ catch {
388
+ return false;
389
+ }
390
+ }
361
391
  export function extractMemories(ctx, cwd) {
362
392
  // Guard: prevent recursive extraction
363
393
  if (process.env.LSD_MEMORY_EXTRACT === '1')
364
394
  return;
365
- // Guard: user opt-out
395
+ // Guard: user opt-out via env var
366
396
  if (process.env.CLAUDE_CODE_DISABLE_AUTO_MEMORY)
367
397
  return;
398
+ // Guard: auto memory must be enabled in settings (default: disabled)
399
+ if (!readAutoMemoryEnabled())
400
+ return;
368
401
  const entries = ctx.sessionManager.getEntries();
369
402
  // Guard: need at least one user message to extract from
370
403
  const userMessageCount = entries.filter((e) => e.type === 'message' && e.message?.role === 'user').length;
@@ -34,19 +34,21 @@ function readJsonFile(path) {
34
34
  }
35
35
  }
36
36
  function parseAutoDreamSettings(source) {
37
+ // Check top-level autoDream field first (set via /settings UI)
38
+ const topLevel = source.autoDream;
37
39
  const memory = source.memory;
38
- if (!memory || typeof memory !== 'object')
39
- return {};
40
- const settings = memory;
40
+ const nested = (memory && typeof memory === 'object') ? memory : undefined;
41
+ // Top-level takes precedence for enabled; nested.memory for thresholds
42
+ const enabledSource = typeof topLevel === 'boolean' ? topLevel
43
+ : nested && typeof nested.autoDream === 'boolean' ? nested.autoDream
44
+ : undefined;
41
45
  return {
42
- enabled: typeof settings.autoDream === 'boolean'
43
- ? settings.autoDream
44
- : DEFAULT_AUTO_DREAM_SETTINGS.enabled,
45
- minHours: typeof settings.autoDreamMinHours === 'number' && Number.isFinite(settings.autoDreamMinHours)
46
- ? Math.max(1, settings.autoDreamMinHours)
46
+ ...(enabledSource !== undefined ? { enabled: enabledSource } : {}),
47
+ minHours: nested && typeof nested.autoDreamMinHours === 'number' && Number.isFinite(nested.autoDreamMinHours)
48
+ ? Math.max(1, nested.autoDreamMinHours)
47
49
  : DEFAULT_AUTO_DREAM_SETTINGS.minHours,
48
- minSessions: typeof settings.autoDreamMinSessions === 'number' && Number.isFinite(settings.autoDreamMinSessions)
49
- ? Math.max(1, Math.floor(settings.autoDreamMinSessions))
50
+ minSessions: nested && typeof nested.autoDreamMinSessions === 'number' && Number.isFinite(nested.autoDreamMinSessions)
51
+ ? Math.max(1, Math.floor(nested.autoDreamMinSessions))
50
52
  : DEFAULT_AUTO_DREAM_SETTINGS.minSessions,
51
53
  };
52
54
  }
@@ -320,6 +322,13 @@ const { join, delimiter } = require('node:path');
320
322
  const [cliPath, cwd, tmpPromptPath, auditPath, logPath, memoryDir, sessionDir, instruction, model, trigger, priorMtime, sessionCount] = process.argv.slice(1);
321
323
  let finalized = false;
322
324
  let pendingLogText = '';
325
+ let completionState = null;
326
+ let completionTimer = null;
327
+ let hardTimeout = null;
328
+ const ANSI_PATTERN = /\u001B\[[0-?]*[ -/]*[@-~]/g;
329
+ const CACHE_TIMER_RE = /^\[phase\]\s+cache-timer(?:\s*:\s*.*)?\s*$/i;
330
+ const SESSION_ENDED_RE = /^\[agent\]\s+Session ended/;
331
+ const HEADLESS_STATUS_RE = /^\[headless\]\s+Status:\s+(\w+)\s*$/i;
323
332
 
324
333
  function newestMemoryMtime(dir) {
325
334
  try {
@@ -391,6 +400,43 @@ function pruneBrokenMemoryRefs(dir) {
391
400
  }
392
401
  }
393
402
 
403
+ function stripAnsi(text) {
404
+ return String(text).replace(ANSI_PATTERN, '');
405
+ }
406
+
407
+ function classifyLogLine(rawLine) {
408
+ const stripped = stripAnsi(rawLine).trim();
409
+ if (!stripped) {
410
+ return { stripped, keep: false, completion: null, completionReason: null };
411
+ }
412
+ if (CACHE_TIMER_RE.test(stripped)) {
413
+ return { stripped, keep: false, completion: null, completionReason: null };
414
+ }
415
+ if (SESSION_ENDED_RE.test(stripped)) {
416
+ return { stripped, keep: true, completion: 'finished', completionReason: 'session_end_detected' };
417
+ }
418
+ const headlessStatusMatch = stripped.match(HEADLESS_STATUS_RE);
419
+ if (headlessStatusMatch) {
420
+ const status = String(headlessStatusMatch[1] || '').toLowerCase();
421
+ if (status === 'complete') {
422
+ return { stripped, keep: true, completion: 'finished', completionReason: 'headless_status_complete' };
423
+ }
424
+ return { stripped, keep: true, completion: 'failed', completionReason: 'headless_status_' + status };
425
+ }
426
+ return { stripped, keep: true, completion: null, completionReason: null };
427
+ }
428
+
429
+ function scheduleCompletion(completion, completionReason) {
430
+ if (!completion || completionState || completionTimer) return;
431
+ completionState = { completion, completionReason };
432
+ completionTimer = setTimeout(() => {
433
+ finalize(completion, completion === 'finished' ? 0 : 1, null, completionReason);
434
+ try { child.kill('SIGTERM'); } catch {}
435
+ setTimeout(() => { try { child.kill('SIGKILL'); } catch {} }, 2000).unref();
436
+ }, 1500);
437
+ completionTimer.unref();
438
+ }
439
+
394
440
  function writeAudit(status, extra = []) {
395
441
  try {
396
442
  writeFileSync(auditPath, [
@@ -425,9 +471,18 @@ function rollbackLock() {
425
471
 
426
472
  function flushLogText(text, force = false) {
427
473
  pendingLogText += text;
428
- const parts = pendingLogText.split(/\r?\n/);
474
+ const parts = pendingLogText.split(/(?:\r?\n|\r)/);
429
475
  pendingLogText = force ? '' : (parts.pop() ?? '');
430
- const kept = parts.filter((line) => line.trim());
476
+
477
+ const kept = [];
478
+ for (const rawLine of parts) {
479
+ const classified = classifyLogLine(rawLine);
480
+ if (classified.keep) kept.push(rawLine);
481
+ if (classified.completion) {
482
+ scheduleCompletion(classified.completion, classified.completionReason);
483
+ }
484
+ }
485
+
431
486
  if (kept.length > 0) appendFileSync(logPath, kept.join('\n') + '\n');
432
487
  }
433
488
 
@@ -441,6 +496,8 @@ function appendLog(chunk) {
441
496
  function finalize(status, code, signal, completionReason) {
442
497
  if (finalized) return;
443
498
  finalized = true;
499
+ if (completionTimer) clearTimeout(completionTimer);
500
+ if (hardTimeout) clearTimeout(hardTimeout);
444
501
  flushLogText('', true);
445
502
  const beforeBrokenRefs = listBrokenMemoryRefs(memoryDir);
446
503
  const prunedRefs = beforeBrokenRefs.length > 0 ? pruneBrokenMemoryRefs(memoryDir) : [];
@@ -476,7 +533,9 @@ const bundledPaths = Array.from(
476
533
  new Set(
477
534
  [process.env.GSD_BUNDLED_EXTENSION_PATHS, process.env.LSD_BUNDLED_EXTENSION_PATHS]
478
535
  .filter(Boolean)
479
- .flatMap((value) => String(value).split(delimiter).map((entry) => entry.trim()).filter(Boolean)),
536
+ .flatMap((value) => String(value).split(delimiter).map((entry) => entry.trim()).filter(Boolean))
537
+ // Explicitly disable cache-timer extension for dream workers.
538
+ .filter((entry) => !/[\\/]cache-timer[\\/]/i.test(entry)),
480
539
  ),
481
540
  );
482
541
  for (const extensionPath of bundledPaths) childArgs.push('--extension', extensionPath);
@@ -485,12 +544,20 @@ childArgs.push('--bare', '--context', tmpPromptPath, '--context-text', instructi
485
544
 
486
545
  const child = spawn(process.execPath, childArgs, {
487
546
  cwd,
488
- env: { ...process.env, LSD_MEMORY_DREAM: '1' },
547
+ env: {
548
+ ...process.env,
549
+ LSD_MEMORY_DREAM: '1',
550
+ // Hard-disable cache timer in maintenance workers.
551
+ LSD_DISABLE_CACHE_TIMER: '1',
552
+ // Dream workers run headless and cannot answer auto-mode classifier prompts.
553
+ // Force non-auto permissions and rely on memory-extension path/tool guards.
554
+ LUCENT_CODE_PERMISSION_MODE: 'danger-full-access',
555
+ },
489
556
  stdio: ['ignore', 'pipe', 'pipe'],
490
557
  });
491
558
 
492
- const hardTimeout = setTimeout(() => {
493
- finalize('failed', null, 'timeout', 'timeout');
559
+ hardTimeout = setTimeout(() => {
560
+ finalize('failed', null, 'timeout', completionState?.completionReason ?? 'timeout');
494
561
  try { child.kill('SIGTERM'); } catch {}
495
562
  setTimeout(() => { try { child.kill('SIGKILL'); } catch {} }, 2000).unref();
496
563
  }, 180000);
@@ -500,12 +567,12 @@ child.stdout.on('data', appendLog);
500
567
  child.stderr.on('data', appendLog);
501
568
  child.on('error', (err) => {
502
569
  appendLog(String(err && err.stack ? err.stack : err) + '\n');
503
- clearTimeout(hardTimeout);
570
+ flushLogText('', true);
504
571
  finalize('failed', null, 'spawn_error', String(err && err.message ? err.message : err));
505
572
  });
506
573
  child.on('exit', (code, signal) => {
507
- clearTimeout(hardTimeout);
508
- finalize(code === 0 ? 'finished' : 'failed', code, signal, 'child_exit');
574
+ flushLogText('', true);
575
+ finalize(code === 0 ? 'finished' : 'failed', code, signal, completionState?.completionReason ?? 'child_exit');
509
576
  });
510
577
  `;
511
578
  const proc = spawn(process.execPath, [
@@ -1205,6 +1205,7 @@ export default function (pi) {
1205
1205
  theme.fg("accent", agentName) +
1206
1206
  theme.fg("muted", ` [${scope}]`);
1207
1207
  text += `\n ${theme.fg("dim", preview)}`;
1208
+ text += `\n ${theme.fg("muted", "(Ctrl+B to background)")}`;
1208
1209
  return new Text(text, 0, 0);
1209
1210
  },
1210
1211
  renderResult(result, { expanded }, theme) {
@@ -8,7 +8,6 @@
8
8
  import os from 'node:os';
9
9
  import chalk from 'chalk';
10
10
  import { GSD_LOGO_SEGMENTS } from './logo.js';
11
- import { brandNameChalk, LSD_BLUE, LSD_PINK, LSD_YELLOW } from './lsd-brand.js';
12
11
  import { accentHex } from './cli-theme.js';
13
12
  function getShortCwd() {
14
13
  const cwd = process.cwd();
@@ -23,6 +22,28 @@ function visLen(s) {
23
22
  function rpad(s, w) {
24
23
  return s + ' '.repeat(Math.max(0, w - visLen(s)));
25
24
  }
25
+ function parseHex(hex) {
26
+ const raw = hex.trim().replace(/^#/, '');
27
+ const full = raw.length === 3 ? raw.split('').map((c) => c + c).join('') : raw;
28
+ if (!/^[0-9a-fA-F]{6}$/.test(full))
29
+ return null;
30
+ return [
31
+ parseInt(full.slice(0, 2), 16),
32
+ parseInt(full.slice(2, 4), 16),
33
+ parseInt(full.slice(4, 6), 16),
34
+ ];
35
+ }
36
+ function mixHex(baseHex, tintHex, tintWeight = 0.5) {
37
+ const base = parseHex(baseHex);
38
+ const tint = parseHex(tintHex);
39
+ if (!base || !tint)
40
+ return baseHex;
41
+ const w = Math.min(1, Math.max(0, tintWeight));
42
+ const mix = (a, b) => Math.round(a * (1 - w) + b * w);
43
+ const [r, g, b] = [mix(base[0], tint[0]), mix(base[1], tint[1]), mix(base[2], tint[2])];
44
+ const toHex = (n) => n.toString(16).padStart(2, '0');
45
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
46
+ }
26
47
  export function printWelcomeScreen(opts) {
27
48
  if (!process.stderr.isTTY)
28
49
  return;
@@ -31,26 +52,34 @@ export function printWelcomeScreen(opts) {
31
52
  const termWidth = Math.min((process.stderr.columns || 80) - 1, 200);
32
53
  // Narrow terminal fallback
33
54
  if (termWidth < 70) {
34
- process.stderr.write(`\n Lucent Software Developer v${version}\n ${shortCwd}\n\n`);
55
+ process.stderr.write(`\n Looks Sort of Done v${version}\n ${shortCwd}\n\n`);
35
56
  return;
36
57
  }
37
- // ── LSD vibrant colors ───────────────────────────────────────────────────
38
- const YELLOW = LSD_YELLOW;
39
- const BLUE = LSD_BLUE;
40
- const PINK = LSD_PINK;
58
+ // ── Theme-adaptive palette ───────────────────────────────────────────────
59
+ // Keep welcome colors anchored to the active CLI theme accent so the banner
60
+ // feels native regardless of custom themes.
41
61
  const ACCENT = accentHex();
62
+ const LOGO_EDGE = chalk.hex(mixHex(ACCENT, '#111111', 0.55));
63
+ const LOGO_CENTER = chalk.hex(mixHex(ACCENT, '#ffffff', 0.3));
64
+ const TITLE_BASE = chalk.bold;
65
+ const TITLE_MARK = chalk.hex(mixHex(ACCENT, '#ffffff', 0.35)).bold;
66
+ const VERSION = chalk.dim;
67
+ const META = chalk.dim;
68
+ const TOOLS = chalk.dim;
42
69
  // ── Panel widths ────────────────────────────────────────────────────────────
43
70
  // Layout: 1 leading space + LEFT_INNER logo content + 1 inner divider + RIGHT_INNER info
44
71
  // Total: 1 + LEFT_INNER + 1 + RIGHT_INNER = termWidth
45
72
  const LEFT_INNER = 34;
46
73
  const RIGHT_INNER = termWidth - LEFT_INNER - 2; // 2 = leading space + inner divider
47
74
  // ── Bar/divider chars (matching GLYPH.separator + widget ui.bar() style) ────
48
- const H = '─', DV = '│', DS = '├';
75
+ const H = '─';
76
+ const DV = '│';
77
+ const DS = '├';
49
78
  // ── Left rows: blank + 6 logo lines + blank (8 total) ───────────────────────
50
79
  const leftRows = [null, ...GSD_LOGO_SEGMENTS, null];
51
80
  // ── Right rows (8 total, null = divider) ────────────────────────────────────
52
- const titleLeft = ` ${brandNameChalk()}`;
53
- const titleRight = chalk.hex(YELLOW)(`v${version}`);
81
+ const titleLeft = ` ${TITLE_MARK('L')}${TITLE_BASE('ooks Sort of ')}${TITLE_MARK('D')}${TITLE_BASE('one')}`;
82
+ const titleRight = VERSION(`v${version}`);
54
83
  const titleFill = RIGHT_INNER - visLen(titleLeft) - visLen(titleRight);
55
84
  const titleRow = titleLeft + ' '.repeat(Math.max(1, titleFill)) + titleRight;
56
85
  const toolParts = [];
@@ -65,15 +94,15 @@ export function printWelcomeScreen(opts) {
65
94
  if (process.env.CONTEXT7_API_KEY)
66
95
  toolParts.push('Context7 ✓');
67
96
  // Tools summary row
68
- const toolsLeft = toolParts.length > 0 ? chalk.hex(PINK)(' ' + toolParts.join(' · ')) : '';
97
+ const toolsLeft = toolParts.length > 0 ? TOOLS(' ' + toolParts.join(' · ')) : '';
69
98
  const footerRow = rpad(toolsLeft, RIGHT_INNER);
70
99
  const DIVIDER = null;
71
100
  const rightRows = [
72
101
  titleRow,
73
102
  DIVIDER,
74
- modelName ? ` Model ${chalk.hex(ACCENT)(modelName)}` : '',
75
- provider ? ` Provider ${chalk.hex(ACCENT)(provider)}` : '',
76
- ` Directory ${chalk.hex(ACCENT)(shortCwd)}`,
103
+ modelName ? ` Model ${META(modelName)}` : '',
104
+ provider ? ` Provider ${META(provider)}` : '',
105
+ ` Directory ${META(shortCwd)}`,
77
106
  DIVIDER,
78
107
  footerRow,
79
108
  '',
@@ -85,7 +114,7 @@ export function printWelcomeScreen(opts) {
85
114
  for (let i = 0; i < 8; i++) {
86
115
  const row = leftRows[i];
87
116
  const lContent = row
88
- ? rpad(chalk.hex(YELLOW)(row[0]) + chalk.hex(BLUE)(row[1]) + chalk.hex(PINK)(row[2]), LEFT_INNER)
117
+ ? rpad(LOGO_EDGE(row[0]) + LOGO_CENTER(row[1]) + LOGO_EDGE(row[2]), LEFT_INNER)
89
118
  : ' '.repeat(LEFT_INNER);
90
119
  const rRow = rightRows[i];
91
120
  if (rRow === null) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lsd-pi",
3
- "version": "1.1.5",
4
- "description": "LSD — let stuff develop coding agent",
3
+ "version": "1.1.6",
4
+ "description": "LSD — Looks Sort of Done coding agent",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent-session.clear-queue.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session.clear-queue.test.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.clear-queue.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ import { describe, it, mock } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { AgentSession } from "./agent-session.js";
4
+ describe("AgentSession.clearQueue", () => {
5
+ it("avoids duplicate queued prompts when session and agent queues mirror the same user message", () => {
6
+ const clearAllQueues = mock.fn(() => { });
7
+ const fakeSession = {
8
+ _steeringMessages: ["make it in the main accent color"],
9
+ _followUpMessages: [],
10
+ agent: {
11
+ drainUserMessages: () => ({
12
+ steering: [{ role: "user", content: [{ type: "text", text: "make it in the main accent color" }] }],
13
+ followUp: [],
14
+ }),
15
+ clearAllQueues,
16
+ },
17
+ };
18
+ const result = AgentSession.prototype.clearQueue.call(fakeSession);
19
+ assert.deepEqual(result, {
20
+ steering: ["make it in the main accent color"],
21
+ followUp: [],
22
+ });
23
+ assert.deepEqual(fakeSession._steeringMessages, []);
24
+ assert.deepEqual(fakeSession._followUpMessages, []);
25
+ assert.equal(clearAllQueues.mock.callCount(), 1);
26
+ });
27
+ it("keeps extra preserved messages that are not present in session-tracked arrays", () => {
28
+ const fakeSession = {
29
+ _steeringMessages: ["first"],
30
+ _followUpMessages: [],
31
+ agent: {
32
+ drainUserMessages: () => ({
33
+ steering: [
34
+ { role: "user", content: [{ type: "text", text: "first" }] },
35
+ { role: "user", content: [{ type: "text", text: "second" }] },
36
+ ],
37
+ followUp: [],
38
+ }),
39
+ clearAllQueues: () => { },
40
+ },
41
+ };
42
+ const result = AgentSession.prototype.clearQueue.call(fakeSession);
43
+ assert.deepEqual(result.steering, ["first", "second"]);
44
+ });
45
+ });
46
+ //# sourceMappingURL=agent-session.clear-queue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session.clear-queue.test.js","sourceRoot":"","sources":["../../src/core/agent-session.clear-queue.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,4FAA4F,EAAE,GAAG,EAAE;QACrG,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG;YACnB,iBAAiB,EAAE,CAAC,kCAAkC,CAAC;YACvD,iBAAiB,EAAE,EAAE;YACrB,KAAK,EAAE;gBACN,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,EAAE,CAAC;oBACnG,QAAQ,EAAE,EAAE;iBACZ,CAAC;gBACF,cAAc;aACd;SACM,CAAC;QAET,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE;YACxB,QAAQ,EAAE,CAAC,kCAAkC,CAAC;YAC9C,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACxF,MAAM,WAAW,GAAG;YACnB,iBAAiB,EAAE,CAAC,OAAO,CAAC;YAC5B,iBAAiB,EAAE,EAAE;YACrB,KAAK,EAAE;gBACN,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzB,QAAQ,EAAE;wBACT,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;wBAC5D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;qBAC7D;oBACD,QAAQ,EAAE,EAAE;iBACZ,CAAC;gBACF,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;aACxB;SACM,CAAC;QAET,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, mock } from \"node:test\";\nimport assert from \"node:assert/strict\";\nimport { AgentSession } from \"./agent-session.js\";\n\ndescribe(\"AgentSession.clearQueue\", () => {\n\tit(\"avoids duplicate queued prompts when session and agent queues mirror the same user message\", () => {\n\t\tconst clearAllQueues = mock.fn(() => {});\n\t\tconst fakeSession = {\n\t\t\t_steeringMessages: [\"make it in the main accent color\"],\n\t\t\t_followUpMessages: [],\n\t\t\tagent: {\n\t\t\t\tdrainUserMessages: () => ({\n\t\t\t\t\tsteering: [{ role: \"user\", content: [{ type: \"text\", text: \"make it in the main accent color\" }] }],\n\t\t\t\t\tfollowUp: [],\n\t\t\t\t}),\n\t\t\t\tclearAllQueues,\n\t\t\t},\n\t\t} as any;\n\n\t\tconst result = AgentSession.prototype.clearQueue.call(fakeSession);\n\n\t\tassert.deepEqual(result, {\n\t\t\tsteering: [\"make it in the main accent color\"],\n\t\t\tfollowUp: [],\n\t\t});\n\t\tassert.deepEqual(fakeSession._steeringMessages, []);\n\t\tassert.deepEqual(fakeSession._followUpMessages, []);\n\t\tassert.equal(clearAllQueues.mock.callCount(), 1);\n\t});\n\n\tit(\"keeps extra preserved messages that are not present in session-tracked arrays\", () => {\n\t\tconst fakeSession = {\n\t\t\t_steeringMessages: [\"first\"],\n\t\t\t_followUpMessages: [],\n\t\t\tagent: {\n\t\t\t\tdrainUserMessages: () => ({\n\t\t\t\t\tsteering: [\n\t\t\t\t\t\t{ role: \"user\", content: [{ type: \"text\", text: \"first\" }] },\n\t\t\t\t\t\t{ role: \"user\", content: [{ type: \"text\", text: \"second\" }] },\n\t\t\t\t\t],\n\t\t\t\t\tfollowUp: [],\n\t\t\t\t}),\n\t\t\t\tclearAllQueues: () => {},\n\t\t\t},\n\t\t} as any;\n\n\t\tconst result = AgentSession.prototype.clearQueue.call(fakeSession);\n\t\tassert.deepEqual(result.steering, [\"first\", \"second\"]);\n\t});\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}