@cleocode/cleo-os 2026.4.37 → 2026.4.39

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.
@@ -7,19 +7,10 @@
7
7
  * Loaded by: Pi via `--extension <path>` injected by CleoOS cli.ts
8
8
  *
9
9
  * On `session_start`, displays a branded CleoOS welcome panel with:
10
- * - ASCII art CLEO logo
11
10
  * - Project name and CLEO task summary (pending / active / done)
12
- * - Last 3 brain decisions ("what we decided recently")
13
- * - Memory bridge summary (total entries, % verified, top 3 cited)
14
- * - Quick action hints based on current state
15
11
  * - Current focused task (if any)
16
12
  * - Last session handoff note from the memory bridge
17
13
  *
18
- * Also registers:
19
- * - `/cleo:status` — on-demand project status refresh
20
- * - `/cleo:focus <task-id>` — focus on a task
21
- * - `/cleo:end-session [note]` — end the current session
22
- *
23
14
  * All data is fetched via the `cleo` CLI (best-effort). If any call
24
15
  * fails, the banner degrades gracefully — Pi is never crashed.
25
16
  *
@@ -159,102 +150,6 @@ export function parseCurrentTask(stdout) {
159
150
  return null;
160
151
  }
161
152
  }
162
- /**
163
- * Parse the last 3 decisions from `cleo memory decision-find --json` output.
164
- *
165
- * @param stdout - Raw stdout from the CLI call.
166
- * @returns Array of up to 3 decision entries.
167
- */
168
- export function parseRecentDecisions(stdout) {
169
- try {
170
- const parsed = JSON.parse(stdout);
171
- const data = (parsed["data"] ?? parsed);
172
- const rawDecisions = data["decisions"];
173
- if (!Array.isArray(rawDecisions))
174
- return [];
175
- return rawDecisions
176
- .slice(0, 3)
177
- .map((d) => {
178
- const entry = d;
179
- const id = typeof entry["id"] === "string" ? entry["id"] : "";
180
- const title = typeof entry["title"] === "string"
181
- ? entry["title"]
182
- : typeof entry["summary"] === "string"
183
- ? entry["summary"]
184
- : "";
185
- const date = typeof entry["date"] === "string"
186
- ? entry["date"].slice(0, 10)
187
- : typeof entry["createdAt"] === "string"
188
- ? entry["createdAt"].slice(0, 10)
189
- : "";
190
- return { id, title, date };
191
- })
192
- .filter((d) => d.title.length > 0);
193
- }
194
- catch {
195
- return [];
196
- }
197
- }
198
- /**
199
- * Parse memory bridge statistics from `.cleo/memory-bridge.md`.
200
- *
201
- * Counts total list items across all sections and extracts the
202
- * top 3 cited items (items appearing in the "Recent Decisions" or
203
- * "Key Learnings" sections).
204
- *
205
- * @param content - Raw memory-bridge.md content.
206
- * @returns Memory bridge statistics.
207
- */
208
- export function parseMemoryBridgeStats(content) {
209
- if (!content || content.length === 0) {
210
- return { totalEntries: 0, topThree: [] };
211
- }
212
- // Count all list items (lines starting with "- " or "* ")
213
- const allItems = content.match(/^[-*]\s+\[.+?\].+/gm) ?? [];
214
- const totalEntries = allItems.length;
215
- // Extract top 3 from "Key Learnings" or "Recent Decisions" sections
216
- const learningsMatch = content.match(/## Key Learnings\n([\s\S]*?)(?=\n##|\s*$)/m);
217
- const decisionsMatch = content.match(/## Recent Decisions\n([\s\S]*?)(?=\n##|\s*$)/m);
218
- const topSection = (learningsMatch?.[1] ?? decisionsMatch?.[1] ?? "");
219
- const topItems = (topSection.match(/^[-*]\s+\[.+?\]\s+(.+)/gm) ?? [])
220
- .slice(0, 3)
221
- .map((line) => {
222
- // Strip the "- [ID] " prefix, keep the description
223
- return line.replace(/^[-*]\s+\[.+?\]\s+/, "").trim();
224
- })
225
- .filter((s) => s.length > 0);
226
- return { totalEntries, topThree: topItems };
227
- }
228
- /**
229
- * Build quick-action hints based on current project state.
230
- *
231
- * Generates context-sensitive suggestions so the operator knows
232
- * immediately what to do next without running extra commands.
233
- *
234
- * @param tasks - Task summary counts.
235
- * @param session - Current session state.
236
- * @param currentTask - Currently focused task, or null.
237
- * @returns Quick-action hints.
238
- */
239
- export function buildQuickHints(tasks, session, currentTask) {
240
- const hints = [];
241
- if (!session.active) {
242
- hints.push("No active session — run `cleo session start` to begin");
243
- }
244
- else if (!currentTask && tasks.pending > 0) {
245
- hints.push(`${tasks.pending} ready tasks — run \`cleo next\` to pick one`);
246
- }
247
- else if (currentTask) {
248
- hints.push(`Working on [${currentTask.id}] — run \`cleo complete ${currentTask.id}\` when done`);
249
- }
250
- if (tasks.blocked > 0) {
251
- hints.push(`${tasks.blocked} blocked task(s) — run \`cleo blockers\` to review`);
252
- }
253
- if (hints.length === 0 && tasks.total === 0) {
254
- hints.push("No tasks yet — run `cleo add \"<task title>\"` to start");
255
- }
256
- return { hints };
257
- }
258
153
  /**
259
154
  * Read the last session handoff note from `.cleo/memory-bridge.md`.
260
155
  *
@@ -321,29 +216,12 @@ function padBannerLine(rawContent, styledContent, innerWidth) {
321
216
  " ".repeat(pad) +
322
217
  accentPrimary(BOX_VERTICAL));
323
218
  }
324
- /**
325
- * ASCII art CLEO logo lines (no ANSI — caller applies color).
326
- *
327
- * Rendered in a compact 3-row form that fits within the 54-char banner width.
328
- */
329
- const CLEO_ASCII_LOGO = [
330
- " ██████╗██╗ ███████╗ ██████╗",
331
- " ██╔════╝██║ ██╔════╝██╔═══██╗",
332
- " ██║ ██║ █████╗ ██║ ██║",
333
- " ██║ ██║ ██╔══╝ ██║ ██║",
334
- " ╚██████╗███████╗███████╗╚██████╔╝",
335
- " ╚═════╝╚══════╝╚══════╝ ╚═════╝",
336
- ];
337
219
  /**
338
220
  * Build the full CleoOS startup banner.
339
221
  *
340
222
  * Renders a box-drawing widget with:
341
- * - ASCII art CLEO logo
342
223
  * - Branded header with forge icon
343
224
  * - Task counts (active / pending / done / blocked)
344
- * - Last 3 brain decisions
345
- * - Memory bridge summary
346
- * - Quick action hints
347
225
  * - Current task title (if any)
348
226
  * - Session info (name + ID)
349
227
  * - Last session handoff note (from memory-bridge.md or session data)
@@ -353,12 +231,9 @@ const CLEO_ASCII_LOGO = [
353
231
  * @param currentTask - Currently focused task, or null.
354
232
  * @param handoffNote - Last session handoff note, or null.
355
233
  * @param projectName - Project display name.
356
- * @param decisions - Recent brain decisions (up to 3).
357
- * @param memStats - Memory bridge statistics.
358
- * @param hints - Quick-action hints.
359
234
  * @returns Array of ANSI-styled banner lines.
360
235
  */
361
- export function buildStartupBanner(tasks, session, currentTask, handoffNote, projectName, decisions = [], memStats = { totalEntries: 0, topThree: [] }, hints = { hints: [] }) {
236
+ export function buildStartupBanner(tasks, session, currentTask, handoffNote, projectName) {
362
237
  // Inner width: characters between the two vertical border chars
363
238
  // (not counting the leading space + BOX_VERTICAL or trailing BOX_VERTICAL)
364
239
  const INNER = 52;
@@ -366,16 +241,14 @@ export function buildStartupBanner(tasks, session, currentTask, handoffNote, pro
366
241
  const lines = [];
367
242
  // ── Top border ────────────────────────────────────────────────────────
368
243
  lines.push(accentPrimary(BOX_TOP_LEFT + hBar + BOX_TOP_RIGHT));
369
- // ── ASCII Logo ────────────────────────────────────────────────────────
370
- for (const logoLine of CLEO_ASCII_LOGO) {
371
- // Pad to INNER width so border chars align
372
- lines.push(padBannerLine(logoLine + " ", accentPrimary(logoLine), INNER));
373
- }
374
244
  // ── Header row ────────────────────────────────────────────────────────
375
- const headerRaw = ` ${ICON_FORGE} Agentic Dev Forge ${ICON_FORGE} ${truncate(projectName, 18)}`;
376
- lines.push(padBannerLine(" " + headerRaw + " ", " " + bold(accentPrimary(`${ICON_FORGE} Agentic Dev Forge ${ICON_FORGE}`)) +
377
- accentPrimary(" ") +
378
- bold(textSecondary(truncate(projectName, 18))), INNER));
245
+ const headerRaw = ` ${ICON_FORGE} C L E O O S ${ICON_FORGE} ${truncate(projectName, 24)}`;
246
+ lines.push(padBannerLine(" " + headerRaw + " ", " " + bold(accentPrimary(`${ICON_FORGE} C L E O O S ${ICON_FORGE}`)) +
247
+ accentPrimary(" ") +
248
+ bold(textSecondary(truncate(projectName, 24))), INNER));
249
+ // ── Subtitle ──────────────────────────────────────────────────────────
250
+ const subtitleRaw = " The Agentic Development Forge";
251
+ lines.push(padBannerLine(" " + subtitleRaw + " ", " " + textSecondary("The Agentic Development Forge"), INNER));
379
252
  // ── Task summary divider ──────────────────────────────────────────────
380
253
  lines.push(accentPrimary(BOX_LEFT_T + hBar + BOX_RIGHT_T));
381
254
  // ── Task counts ───────────────────────────────────────────────────────
@@ -416,39 +289,6 @@ export function buildStartupBanner(tasks, session, currentTask, handoffNote, pro
416
289
  const sessionStyled = ` ${textSecondary("Session:")} ` + accentPrimary(sessionName);
417
290
  lines.push(padBannerLine(" " + sessionRaw + " ", sessionStyled, INNER));
418
291
  }
419
- // ── Memory bridge stats ───────────────────────────────────────────────
420
- if (memStats.totalEntries > 0) {
421
- lines.push(accentPrimary(BOX_LEFT_T + hBar + BOX_RIGHT_T));
422
- const memRaw = ` Memory: ${memStats.totalEntries} entries`;
423
- const memStyled = ` ${textSecondary("Memory:")} ` + accentSuccess(String(memStats.totalEntries)) +
424
- textSecondary(" entries");
425
- lines.push(padBannerLine(" " + memRaw + " ", memStyled, INNER));
426
- for (const item of memStats.topThree) {
427
- const truncItem = truncate(item, INNER - 6);
428
- lines.push(padBannerLine(` * ${truncItem} `, ` ${textTertiary("*")} ${textSecondary(truncItem)}`, INNER));
429
- }
430
- }
431
- // ── Recent decisions ──────────────────────────────────────────────────
432
- if (decisions.length > 0) {
433
- lines.push(accentPrimary(BOX_LEFT_T + hBar + BOX_RIGHT_T));
434
- const decHeaderRaw = " What we decided recently:";
435
- lines.push(padBannerLine(" " + decHeaderRaw + " ", " " + bold(textSecondary("What we decided recently:")), INNER));
436
- for (const dec of decisions) {
437
- const label = dec.date ? `[${dec.date}]` : `[${dec.id}]`;
438
- const decRaw = ` ${label} ${truncate(dec.title, INNER - label.length - 5)}`;
439
- const decStyled = ` ${textTertiary(label)} ` +
440
- textSecondary(truncate(dec.title, INNER - label.length - 5));
441
- lines.push(padBannerLine(" " + decRaw + " ", decStyled, INNER));
442
- }
443
- }
444
- // ── Quick action hints ────────────────────────────────────────────────
445
- if (hints.hints.length > 0) {
446
- lines.push(accentPrimary(BOX_LEFT_T + hBar + BOX_RIGHT_T));
447
- for (const hint of hints.hints) {
448
- const truncHint = truncate(hint, INNER - 5);
449
- lines.push(padBannerLine(` > ${truncHint} `, ` ${accentWarning(">")} ${accentWarning(truncHint)}`, INNER));
450
- }
451
- }
452
292
  // ── Handoff note ──────────────────────────────────────────────────────
453
293
  const note = handoffNote ?? session.handoffNote;
454
294
  if (note) {
@@ -520,103 +360,13 @@ export function detectProjectName(projectDir) {
520
360
  // ============================================================================
521
361
  // Pi extension factory
522
362
  // ============================================================================
523
- // ============================================================================
524
- // Shared fetch helper (used by both session_start and /cleo:status)
525
- // ============================================================================
526
- /**
527
- * Fetch all data needed to render the startup banner.
528
- *
529
- * All CLI calls are issued in parallel and are best-effort — no failure
530
- * will throw or block. Returns a fully-populated data bundle.
531
- *
532
- * @param cwd - Project root directory.
533
- * @returns All banner data.
534
- */
535
- async function fetchBannerData(cwd) {
536
- const [dashResult, sessionResult, currentResult, decisionsResult] = await Promise.allSettled([
537
- execFileAsync("cleo", ["dash", "--json"], { timeout: 8_000, cwd }),
538
- execFileAsync("cleo", ["session", "status", "--json"], { timeout: 8_000, cwd }),
539
- execFileAsync("cleo", ["current", "--json"], { timeout: 8_000, cwd }),
540
- execFileAsync("cleo", ["memory", "decision-find", "--limit", "3", "--json"], {
541
- timeout: 8_000,
542
- cwd,
543
- }),
544
- ]);
545
- const tasks = dashResult.status === "fulfilled"
546
- ? parseDashSummary(dashResult.value.stdout)
547
- : { active: 0, pending: 0, done: 0, total: 0, blocked: 0 };
548
- const session = sessionResult.status === "fulfilled"
549
- ? parseSessionInfo(sessionResult.value.stdout)
550
- : { active: false, id: "", name: "", currentTaskId: null, handoffNote: null };
551
- const currentTask = currentResult.status === "fulfilled"
552
- ? parseCurrentTask(currentResult.value.stdout)
553
- : null;
554
- const decisions = decisionsResult.status === "fulfilled"
555
- ? parseRecentDecisions(decisionsResult.value.stdout)
556
- : [];
557
- // Memory bridge stats — synchronous read from filesystem
558
- const bridgeContent = readMemoryBridgeContent(cwd);
559
- const memStats = bridgeContent
560
- ? parseMemoryBridgeStats(bridgeContent)
561
- : { totalEntries: 0, topThree: [] };
562
- const handoffNote = bridgeContent ? extractNoteFromBridgeContent(bridgeContent) : null;
563
- const projectName = detectProjectName(cwd);
564
- const hints = buildQuickHints(tasks, session, currentTask);
565
- return { tasks, session, currentTask, handoffNote, projectName, decisions, memStats, hints };
566
- }
567
- /**
568
- * Read raw `.cleo/memory-bridge.md` content.
569
- *
570
- * Returns null when the file does not exist or cannot be read.
571
- *
572
- * @param projectDir - The project root directory.
573
- * @returns The raw file content, or null.
574
- */
575
- function readMemoryBridgeContent(projectDir) {
576
- try {
577
- const bridgePath = join(projectDir, ".cleo", "memory-bridge.md");
578
- if (!existsSync(bridgePath))
579
- return null;
580
- const content = readFileSync(bridgePath, "utf-8");
581
- return content.length > 0 ? content : null;
582
- }
583
- catch {
584
- return null;
585
- }
586
- }
587
- /**
588
- * Extract the last session handoff note from raw memory-bridge.md content.
589
- *
590
- * Prefers the `## Last Session` section's `Note:` line.
591
- *
592
- * @param content - Raw memory-bridge.md content.
593
- * @returns The last session note, or null.
594
- */
595
- function extractNoteFromBridgeContent(content) {
596
- try {
597
- const noteMatch = content.match(/[-*]\s+\*\*Note\*\*:\s*(.+)/m);
598
- if (noteMatch?.[1])
599
- return noteMatch[1].trim();
600
- const altMatch = content.match(/\*\*Note\*\*[:\s]+(.+)/m);
601
- if (altMatch?.[1])
602
- return altMatch[1].trim();
603
- return null;
604
- }
605
- catch {
606
- return null;
607
- }
608
- }
609
- // ============================================================================
610
- // Pi extension factory
611
- // ============================================================================
612
363
  /**
613
364
  * Pi extension factory for the CleoOS branded startup experience.
614
365
  *
615
- * Registers:
616
- * - `session_start` fetches all data, renders the branded startup banner
617
- * - `/cleo:status` on-demand project status refresh
618
- * - `/cleo:focus <task-id>` focus on a task from inside Pi
619
- * - `/cleo:end-session [note]` — end the current session from inside Pi
366
+ * Registers a `session_start` handler that:
367
+ * 1. Fetches project, task, and session data via `cleo` CLI in parallel
368
+ * 2. Reads the memory-bridge.md handoff note
369
+ * 3. Renders the branded startup banner as a Pi UI widget
620
370
  *
621
371
  * All operations are best-effort — failures are silently swallowed so Pi
622
372
  * is never blocked by CLEO unavailability.
@@ -625,15 +375,43 @@ function extractNoteFromBridgeContent(content) {
625
375
  */
626
376
  export default function (pi) {
627
377
  pi.on("session_start", async (_event, ctx) => {
628
- const data = await fetchBannerData(ctx.cwd);
629
- const bannerLines = buildStartupBanner(data.tasks, data.session, data.currentTask, data.handoffNote, data.projectName, data.decisions, data.memStats, data.hints);
378
+ // Fetch dash + session status in parallel (best-effort)
379
+ const [dashResult, sessionResult, currentResult] = await Promise.allSettled([
380
+ execFileAsync("cleo", ["dash", "--json"], {
381
+ timeout: 8_000,
382
+ cwd: ctx.cwd,
383
+ }),
384
+ execFileAsync("cleo", ["session", "status", "--json"], {
385
+ timeout: 8_000,
386
+ cwd: ctx.cwd,
387
+ }),
388
+ execFileAsync("cleo", ["current", "--json"], {
389
+ timeout: 8_000,
390
+ cwd: ctx.cwd,
391
+ }),
392
+ ]);
393
+ const tasks = dashResult.status === "fulfilled"
394
+ ? parseDashSummary(dashResult.value.stdout)
395
+ : { active: 0, pending: 0, done: 0, total: 0, blocked: 0 };
396
+ const session = sessionResult.status === "fulfilled"
397
+ ? parseSessionInfo(sessionResult.value.stdout)
398
+ : { active: false, id: "", name: "", currentTaskId: null, handoffNote: null };
399
+ const currentTask = currentResult.status === "fulfilled"
400
+ ? parseCurrentTask(currentResult.value.stdout)
401
+ : null;
402
+ // Read handoff note from memory-bridge.md (synchronous, fast)
403
+ const handoffNote = readMemoryBridgeNote(ctx.cwd);
404
+ // Detect project name from filesystem
405
+ const projectName = detectProjectName(ctx.cwd);
406
+ // Build and display the banner
407
+ const bannerLines = buildStartupBanner(tasks, session, currentTask, handoffNote, projectName);
630
408
  if (ctx.hasUI) {
631
409
  ctx.ui.setWidget("cleo-startup-banner", bannerLines, {
632
410
  placement: "aboveEditor",
633
411
  });
634
- // Compact status bar entry
635
- const taskSummary = `${data.tasks.active}a ${data.tasks.pending}p ${data.tasks.done}d`;
636
- ctx.ui.setStatus("cleo-startup", `${ICON_FORGE} ${data.projectName.split("/").pop() ?? data.projectName} [${taskSummary}]`);
412
+ // Also set a compact status bar entry
413
+ const taskSummary = `${tasks.active}a ${tasks.pending}p ${tasks.done}d`;
414
+ ctx.ui.setStatus("cleo-startup", `${ICON_FORGE} ${projectName.split("/").pop() ?? projectName} [${taskSummary}]`);
637
415
  }
638
416
  else {
639
417
  // No UI — print to stderr as a text summary (visible in TTY mode)
@@ -644,85 +422,38 @@ export default function (pi) {
644
422
  // Command: /cleo:status — on-demand project status refresh
645
423
  // -------------------------------------------------------------------------
646
424
  pi.registerCommand("cleo:status", {
647
- description: "Show CleoOS project status: tasks, session, decisions, and hints",
425
+ description: "Show CleoOS project status: tasks, session, and last handoff",
648
426
  handler: async (_args, ctx) => {
649
- const data = await fetchBannerData(ctx.cwd);
650
- const bannerLines = buildStartupBanner(data.tasks, data.session, data.currentTask, data.handoffNote, data.projectName, data.decisions, data.memStats, data.hints);
651
- // Refresh the widget too
652
- if (ctx.hasUI) {
653
- ctx.ui.setWidget("cleo-startup-banner", bannerLines, {
654
- placement: "aboveEditor",
655
- });
656
- ctx.ui.notify("CleoOS status refreshed", "info");
657
- }
427
+ const [dashResult, sessionResult, currentResult] = await Promise.allSettled([
428
+ execFileAsync("cleo", ["dash", "--json"], { timeout: 8_000, cwd: ctx.cwd }),
429
+ execFileAsync("cleo", ["session", "status", "--json"], { timeout: 8_000, cwd: ctx.cwd }),
430
+ execFileAsync("cleo", ["current", "--json"], { timeout: 8_000, cwd: ctx.cwd }),
431
+ ]);
432
+ const tasks = dashResult.status === "fulfilled"
433
+ ? parseDashSummary(dashResult.value.stdout)
434
+ : { active: 0, pending: 0, done: 0, total: 0, blocked: 0 };
435
+ const session = sessionResult.status === "fulfilled"
436
+ ? parseSessionInfo(sessionResult.value.stdout)
437
+ : { active: false, id: "", name: "", currentTaskId: null, handoffNote: null };
438
+ const currentTask = currentResult.status === "fulfilled"
439
+ ? parseCurrentTask(currentResult.value.stdout)
440
+ : null;
441
+ const handoffNote = readMemoryBridgeNote(ctx.cwd);
442
+ const projectName = detectProjectName(ctx.cwd);
443
+ const bannerLines = buildStartupBanner(tasks, session, currentTask, handoffNote, projectName);
658
444
  pi.sendMessage({
659
445
  customType: "cleo-status",
660
446
  content: bannerLines.join("\n"),
661
447
  display: true,
662
448
  }, { triggerTurn: false });
663
- },
664
- });
665
- // -------------------------------------------------------------------------
666
- // Command: /cleo:focus <task-id> — focus on a task
667
- // -------------------------------------------------------------------------
668
- pi.registerCommand("cleo:focus", {
669
- description: "Focus on a CLEO task: /cleo:focus <task-id>",
670
- handler: async (args, ctx) => {
671
- const taskId = args.trim();
672
- if (!taskId) {
673
- pi.sendMessage({
674
- customType: "cleo-focus",
675
- content: "Usage: /cleo:focus <task-id>",
676
- display: true,
677
- }, { triggerTurn: false });
678
- return;
679
- }
680
- let resultText;
681
- try {
682
- const { stdout } = await execFileAsync("cleo", ["start", taskId], { timeout: 8_000, cwd: ctx.cwd });
683
- resultText = stdout.trim() || `Focused on task ${taskId}`;
684
- }
685
- catch (err) {
686
- resultText = `Failed to focus on ${taskId}: ${err instanceof Error ? err.message : String(err)}`;
687
- }
688
- pi.sendMessage({
689
- customType: "cleo-focus",
690
- content: resultText,
691
- display: true,
692
- }, { triggerTurn: false });
693
- if (ctx.hasUI) {
694
- ctx.ui.notify(`Focused: ${taskId}`, "info");
695
- }
696
- },
697
- });
698
- // -------------------------------------------------------------------------
699
- // Command: /cleo:end-session [note] — end the current CLEO session
700
- // -------------------------------------------------------------------------
701
- pi.registerCommand("cleo:end-session", {
702
- description: "End the current CLEO session with an optional handoff note",
703
- handler: async (args, ctx) => {
704
- const note = args.trim() || "Session ended from CleoOS Hearth";
705
- let resultText;
706
- try {
707
- const { stdout } = await execFileAsync("cleo", ["session", "end", "--note", note], { timeout: 15_000, cwd: ctx.cwd });
708
- resultText = stdout.trim() || "Session ended";
709
- }
710
- catch (err) {
711
- resultText = `Failed to end session: ${err instanceof Error ? err.message : String(err)}`;
712
- }
713
- pi.sendMessage({
714
- customType: "cleo-end-session",
715
- content: resultText,
716
- display: true,
717
- }, { triggerTurn: false });
718
449
  if (ctx.hasUI) {
719
- ctx.ui.notify("CLEO session ended", "info");
450
+ ctx.ui.notify("CleoOS status refreshed", "info");
720
451
  }
721
452
  },
722
453
  });
723
- // session_shutdown: no cleanup needed Pi clears widgets on shutdown
454
+ // session_shutdown: remove the startup banner widget
724
455
  pi.on("session_shutdown", async () => {
725
- // Intentional no-op
456
+ // No cleanup needed — Pi clears widgets on shutdown
726
457
  });
727
458
  }
728
459
  //# sourceMappingURL=cleo-startup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleo-startup.js","sourceRoot":"","sources":["cleo-startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleo-startup.js","sourceRoot":"","sources":["cleo-startup.ts"],"names":[],"mappings":"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"}