@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.
- package/dist/cli.d.ts +4 -15
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +20 -41
- package/dist/cli.js.map +1 -1
- package/extensions/cleo-startup.d.ts +5 -79
- package/extensions/cleo-startup.d.ts.map +1 -1
- package/extensions/cleo-startup.js +66 -335
- package/extensions/cleo-startup.js.map +1 -1
- package/extensions/cleo-startup.ts +94 -463
- package/package.json +3 -3
|
@@ -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
|
|
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}
|
|
376
|
-
lines.push(padBannerLine(" " + headerRaw + " ", " " + bold(accentPrimary(`${ICON_FORGE}
|
|
377
|
-
accentPrimary(" ") +
|
|
378
|
-
bold(textSecondary(truncate(projectName,
|
|
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
|
-
*
|
|
617
|
-
*
|
|
618
|
-
*
|
|
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
|
-
|
|
629
|
-
const
|
|
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
|
-
//
|
|
635
|
-
const taskSummary = `${
|
|
636
|
-
ctx.ui.setStatus("cleo-startup", `${ICON_FORGE} ${
|
|
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,
|
|
425
|
+
description: "Show CleoOS project status: tasks, session, and last handoff",
|
|
648
426
|
handler: async (_args, ctx) => {
|
|
649
|
-
const
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
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("
|
|
450
|
+
ctx.ui.notify("CleoOS status refreshed", "info");
|
|
720
451
|
}
|
|
721
452
|
},
|
|
722
453
|
});
|
|
723
|
-
// session_shutdown:
|
|
454
|
+
// session_shutdown: remove the startup banner widget
|
|
724
455
|
pi.on("session_shutdown", async () => {
|
|
725
|
-
//
|
|
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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"}
|