@tacuchi/agent-workflow-cli 21.3.0 → 21.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/application/capability/wrapper.js +8 -7
  2. package/dist/application/capability/wrapper.js.map +1 -1
  3. package/dist/application/dev-only-services.js +63 -15
  4. package/dist/application/dev-only-services.js.map +1 -1
  5. package/dist/application/self/host-states.js +11 -0
  6. package/dist/application/self/host-states.js.map +1 -1
  7. package/dist/application/self/install-skill.js +15 -3
  8. package/dist/application/self/install-skill.js.map +1 -1
  9. package/dist/cli/commands/capability.js +8 -4
  10. package/dist/cli/commands/capability.js.map +1 -1
  11. package/dist/cli/commands/dev-only.js +7 -3
  12. package/dist/cli/commands/dev-only.js.map +1 -1
  13. package/dist/cli/commands/flow.js +5 -0
  14. package/dist/cli/commands/flow.js.map +1 -1
  15. package/dist/cli/commands/skills.js +14 -3
  16. package/dist/cli/commands/skills.js.map +1 -1
  17. package/dist/cli/tui/components/host-admin-section.js +31 -3
  18. package/dist/cli/tui/components/host-admin-section.js.map +1 -1
  19. package/dist/cli/tui/components/logs-section.js +26 -5
  20. package/dist/cli/tui/components/logs-section.js.map +1 -1
  21. package/dist/cli/tui/components/notification-banner.js +10 -0
  22. package/dist/cli/tui/components/notification-banner.js.map +1 -1
  23. package/dist/cli/tui/components/notification-stack.js +17 -1
  24. package/dist/cli/tui/components/notification-stack.js.map +1 -1
  25. package/dist/cli/tui/notification-center.js +9 -0
  26. package/dist/cli/tui/notification-center.js.map +1 -1
  27. package/dist/cli/tui/tabs/mcp-tab.js +26 -2
  28. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  29. package/dist/cli/tui/tabs/project-tab.js +101 -46
  30. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  31. package/dist/cli/tui/tabs/skills-tab.js +80 -16
  32. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  33. package/dist/cli/tui/use-list-window.js +53 -0
  34. package/dist/cli/tui/use-list-window.js.map +1 -0
  35. package/dist/domain/design/maturity.js +8 -6
  36. package/dist/domain/design/maturity.js.map +1 -1
  37. package/dist/domain/design/visual-evidence.js +11 -27
  38. package/dist/domain/design/visual-evidence.js.map +1 -1
  39. package/dist/domain/harnesses.js +9 -1
  40. package/dist/domain/harnesses.js.map +1 -1
  41. package/dist/domain/resource-policy.js +111 -0
  42. package/dist/domain/resource-policy.js.map +1 -0
  43. package/package.json +1 -1
  44. package/skills/w/harness/HARNESS.md +25 -2
  45. package/skills/w/loops/CHASSIS.md +2 -2
  46. package/skills/w/loops/plan-new-loop/LOOP.md +4 -3
  47. package/skills/w/loops/spec-refine-loop/LOOP.md +2 -2
  48. package/skills/w/modules/DESIGN-REFERENCES.md +14 -12
  49. package/skills/w/roles/design/ROLE.md +9 -5
@@ -10,16 +10,18 @@ import { removeSource } from "../../../application/source-remove-service.js";
10
10
  import { DetailPanel, } from "../components/detail-panel.js";
11
11
  import { FlowResultView } from "../components/git-flow-actions.js";
12
12
  import { ListRow } from "../components/list-row.js";
13
+ import { notificationStackRows } from "../components/notification-stack.js";
13
14
  import { PageHead } from "../components/page-head.js";
14
- import { ProcessList } from "../components/process-list.js";
15
15
  import { QuickActions } from "../components/quick-actions.js";
16
16
  import { SectionHead } from "../components/section-head.js";
17
17
  import { SourceLaunchForm } from "../components/source-launch-form.js";
18
18
  import { StatTile } from "../components/stat-tile.js";
19
19
  import { WorkspaceInitForm } from "../components/workspace-init-form.js";
20
20
  import { useLockWhile } from "../input-lock.js";
21
+ import { useNotificationItems } from "../notification-center.js";
21
22
  import { rowWidth } from "../row-width.js";
22
23
  import { colors, icons } from "../theme.js";
24
+ import { useListWindow, windowRangeHint } from "../use-list-window.js";
23
25
  /**
24
26
  * Operational-log line for a launch/relaunch: ok · fallback background (warn,
25
27
  * carrying WHY the window never opened — the exported log is the
@@ -161,6 +163,17 @@ const FLOW_ACTIONS = [
161
163
  ];
162
164
  /** First per-source detail action: launch the app locally. */
163
165
  const LAUNCH_ACTION = { id: "launch", name: "Lanzar en local" };
166
+ /**
167
+ * The three operations offered per `running` process of the selected source —
168
+ * the same ones the removed process region carried on x/r/o. No description:
169
+ * the row spells the profile and the PID, and the panel's remaining width
170
+ * would truncate one to a single cell.
171
+ */
172
+ const PROCESS_OPS = {
173
+ stop: "Detener",
174
+ relaunch: "Re-lanzar",
175
+ log: "Ver log",
176
+ };
164
177
  /**
165
178
  * Indentation (marginLeft) of the SOURCES rows container. Passed as `indent`
166
179
  * to {@link rowWidth} so the row width subtracts that marginLeft — otherwise
@@ -170,12 +183,24 @@ const LAUNCH_ACTION = { id: "launch", name: "Lanzar en local" };
170
183
  * not indent its list (indent 0), which is why it never hit this wrap.
171
184
  */
172
185
  const SOURCES_ROWS_INDENT = 2;
186
+ // Terminal rows eaten around the SOURCES list, handed to `useListWindow` so the
187
+ // active row never clips under app.tsx's `overflowY="hidden"` (same accounting
188
+ // style as rowWidth for width / HOSTS_LIST_RESERVED_ROWS in host-admin-section):
189
+ // - app shell: ScreenFrame border+paddingY (4) + HomeHeader (2 lines + 1 margin)
190
+ // + TabBar (1 line + 2 border) + tab content box border+paddingY (4)
191
+ // + HomeFooter (1 line + 1 margin) = 16
192
+ // - this tab, fixed: PageHead (1 + 1 margin) + StatTile row (3 + 1 margin)
193
+ // + Sources SectionHead (1) + QuickActions (2 + 1 marginTop) = 10
194
+ // - 1 slack: better one row short than a clipped active row.
195
+ // The data-driven rows (description, warnings) and the NotificationStack height
196
+ // (0 unless a banner is visible) are added per render — see `reservedRows` in
197
+ // Initialized. Nothing renders below the list anymore (SPEC 019).
198
+ const SOURCES_LIST_RESERVED_ROWS = 27;
173
199
  function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
174
200
  const dirty = data.git?.dirty ?? 0;
175
201
  const totalSources = data.sources.length;
176
202
  const dirtySources = data.sources.filter((s) => s.dirty).length;
177
203
  const workingEntries = Object.entries(data.workingBranches);
178
- const qaEntries = Object.entries(data.qaBranches);
179
204
  const home = ctx.env.homeDir();
180
205
  const shortName = deriveShortName(data.workspaceName, basename(data.workspacePath));
181
206
  const description = deriveDescription(data.workspaceName);
@@ -186,10 +211,36 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
186
211
  const hasSources = totalSources > 0;
187
212
  const [cursor, setCursor] = useState(0);
188
213
  const [actionCursor, setActionCursor] = useState(0);
189
- const [processCursor, setProcessCursor] = useState(0);
190
214
  const [mode, setMode] = useState({ kind: "list" });
191
215
  const processes = data.processes;
192
- const runningCount = useMemo(() => processes.filter((p) => p.state === "running").length, [processes]);
216
+ // Active processes per source alias: the source row's chip and the global
217
+ // tile both read from here, so "active" has one definition. `stopped` and
218
+ // `exited` records are history and never counted (SPEC 019).
219
+ const runningBySource = useMemo(() => {
220
+ const byAlias = new Map();
221
+ for (const p of processes) {
222
+ if (p.state === "running")
223
+ byAlias.set(p.sourceAlias, (byAlias.get(p.sourceAlias) ?? 0) + 1);
224
+ }
225
+ return byAlias;
226
+ }, [processes]);
227
+ const runningCount = useMemo(() => [...runningBySource.values()].reduce((total, n) => total + n, 0), [runningBySource]);
228
+ // Window over the SOURCES list: the shell clips overflow, so only the slice
229
+ // around the cursor renders — the active row can never walk off-screen.
230
+ // `reservedRows` adds the data-driven chrome to the static count: the
231
+ // description and warnings blocks above the list, plus the NotificationStack
232
+ // height while a banner is visible (0 otherwise). rows=0 (non-TTY) → the
233
+ // hook returns the whole list and nothing changes.
234
+ const notifItems = useNotificationItems();
235
+ const warningsRows = data.warnings.length > 0 ? Math.min(data.warnings.length, 3) + 2 : 0;
236
+ const reservedRows = SOURCES_LIST_RESERVED_ROWS +
237
+ notificationStackRows(notifItems) +
238
+ (description ? 2 : 0) +
239
+ warningsRows;
240
+ const win = useListWindow(targets.length, cursor, reservedRows);
241
+ const winEnd = win.start + win.visible;
242
+ // Overflow indicator for the SectionHead hint slot (no extra terminal row).
243
+ const rangeHint = windowRangeHint(win, targets.length);
193
244
  // Deps for the source-launch service. `baseEnv` = the real process env so the
194
245
  // child inherits PATH etc.; params/profile are layered on at resolve time.
195
246
  // `resolveSourcePath` enables on-demand descriptor generation (first launch).
@@ -281,23 +332,34 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
281
332
  lines: lines.length > 0 ? lines : ["(log vacío o no encontrado)", record.logPath],
282
333
  });
283
334
  }, [ctx.fs]);
284
- // The detail panel (and the in-flight flow) block the global keys; the base
285
- // list lets them through.
286
- useLockWhile(mode.kind !== "list");
335
+ // Global keys are locked for every mode except the plain list and the detail
336
+ // panel (its ↑↓ ⏎ esc don't collide with the globals). MCP/Skills policy.
337
+ useLockWhile(mode.kind !== "list" && mode.kind !== "detail");
287
338
  const detailOpen = mode.kind === "detail";
288
339
  const currentTarget = targets[cursor] ?? ALL_SOURCES;
289
340
  const isAllTarget = currentTarget === ALL_SOURCES;
290
341
  const currentSource = isAllTarget
291
342
  ? null
292
343
  : (data.sources.find((s) => s.alias === currentTarget) ?? null);
344
+ // The selected source's own active processes — what its detail panel can
345
+ // operate now that no process list exists.
346
+ const sourceProcesses = useMemo(() => currentSource
347
+ ? processes.filter((p) => p.state === "running" && p.sourceAlias === currentSource.alias)
348
+ : [], [processes, currentSource]);
293
349
  // Detail-panel actions for the current target: a per-source "Lanzar en local"
294
- // (only for real sources), the git-flow actions, and a destructive "Quitar del
295
- // workspace" last (only for real sources, never for "all sources").
350
+ // (only for real sources), the git-flow actions, one triplet per active
351
+ // process, and a destructive "Quitar del workspace" last (only for real
352
+ // sources, never for "all sources").
296
353
  const detailItems = useMemo(() => [
297
354
  ...(currentSource ? [{ kind: "launch" }] : []),
298
355
  ...FLOW_ACTIONS.map((a) => ({ kind: "flow", action: a.id })),
356
+ ...sourceProcesses.flatMap((record) => [
357
+ { kind: "proc", op: "stop", record },
358
+ { kind: "proc", op: "relaunch", record },
359
+ { kind: "proc", op: "log", record },
360
+ ]),
299
361
  ...(currentSource ? [{ kind: "remove" }] : []),
300
- ], [currentSource]);
362
+ ], [currentSource, sourceProcesses]);
301
363
  const runFlow = useCallback(async (action) => {
302
364
  const target = targets[cursor] ?? ALL_SOURCES;
303
365
  const isAll = target === ALL_SOURCES;
@@ -347,14 +409,10 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
347
409
  });
348
410
  await onReload?.();
349
411
  }, [ctx, onReload]);
350
- // Sources list shortcuts (↑↓ navigate · ⏎ open panel · p processes · g git status).
412
+ // Sources list shortcuts (↑↓ navigate · ⏎ open panel · g git status).
351
413
  const handleListKey = useCallback((input, key) => {
352
414
  if (input === "g")
353
415
  return void onRunAction?.("git:status");
354
- if (input === "p" && processes.length > 0) {
355
- setProcessCursor(0);
356
- return setMode({ kind: "process" });
357
- }
358
416
  if (!hasSources)
359
417
  return;
360
418
  if (key.upArrow)
@@ -365,7 +423,7 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
365
423
  setActionCursor(0);
366
424
  setMode({ kind: "detail" });
367
425
  }
368
- }, [hasSources, onRunAction, targets.length, processes.length]);
426
+ }, [hasSources, onRunAction, targets.length]);
369
427
  // Side panel actions (↑↓ navigate · ⏎ run · esc close).
370
428
  const handleDetailKey = useCallback((key) => {
371
429
  if (key.upArrow)
@@ -386,6 +444,13 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
386
444
  return void beginLaunch(currentSource.alias);
387
445
  return;
388
446
  }
447
+ if (item.kind === "proc") {
448
+ if (item.op === "stop")
449
+ return void doStop(item.record);
450
+ if (item.op === "relaunch")
451
+ return void doRelaunch(item.record);
452
+ return void doViewLog(item.record);
453
+ }
389
454
  if (item.kind === "remove") {
390
455
  if (currentSource)
391
456
  return setMode({ kind: "confirm-remove", alias: currentSource.alias });
@@ -393,25 +458,7 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
393
458
  }
394
459
  void runFlow(item.action);
395
460
  }
396
- }, [actionCursor, detailItems, currentSource, runFlow, beginLaunch]);
397
- // "process" mode: navigates the launched-processes section (x stop · r relaunch · o log).
398
- const handleProcessKey = useCallback((input, key) => {
399
- if (key.escape)
400
- return setMode({ kind: "list" });
401
- if (key.upArrow)
402
- return setProcessCursor((c) => Math.max(0, c - 1));
403
- if (key.downArrow)
404
- return setProcessCursor((c) => Math.min(processes.length - 1, c + 1));
405
- const record = processes[processCursor];
406
- if (!record)
407
- return;
408
- if (input === "x")
409
- return void doStop(record);
410
- if (input === "r")
411
- return void doRelaunch(record);
412
- if (input === "o")
413
- return void doViewLog(record);
414
- }, [processes, processCursor, doStop, doRelaunch, doViewLog]);
461
+ }, [actionCursor, detailItems, currentSource, runFlow, beginLaunch, doStop, doRelaunch, doViewLog]);
415
462
  // Collision: stops the existing process and launches the requested one (with its values).
416
463
  const confirmRelaunch = useCallback(async (req, existing) => {
417
464
  setMode({ kind: "busy", label: `Re-lanzando ${req.alias}…` });
@@ -427,8 +474,6 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
427
474
  return handleListKey(input, key);
428
475
  if (mode.kind === "detail")
429
476
  return handleDetailKey(key);
430
- if (mode.kind === "process")
431
- return handleProcessKey(input, key);
432
477
  if (mode.kind === "collision") {
433
478
  if (key.escape)
434
479
  setMode({ kind: "list" });
@@ -437,8 +482,10 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
437
482
  return;
438
483
  }
439
484
  if (mode.kind === "confirm-remove") {
485
+ // Cancel returns to the detail panel the confirm was launched from
486
+ // (same as the MCP/Skills tabs), not all the way to the list.
440
487
  if (key.escape || input === "n" || input === "N")
441
- setMode({ kind: "list" });
488
+ setMode({ kind: "detail" });
442
489
  else if (input === "y" || input === "Y")
443
490
  void doRemove(mode.alias);
444
491
  return;
@@ -488,6 +535,11 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
488
535
  ? { name: LAUNCH_ACTION.name, description: "abre una terminal" }
489
536
  : { name: LAUNCH_ACTION.name, description: "no lanzable — sin comando detectado" };
490
537
  }
538
+ if (it.kind === "proc") {
539
+ return {
540
+ name: `${PROCESS_OPS[it.op]} · ${it.record.profile ?? "default"} (PID ${it.record.pid})`,
541
+ };
542
+ }
491
543
  if (it.kind === "remove") {
492
544
  return { name: "Quitar del workspace", description: "detach + poda bloque + scripts" };
493
545
  }
@@ -496,13 +548,17 @@ function Initialized({ ctx, data, isActive, onRunAction, onReload }) {
496
548
  });
497
549
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: `Workspace · ${shortName}`, action: _jsx(Text, { color: colors.faint, children: wsPath }) }), description ? (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.dim, wrap: "truncate-end", children: description }) })) : null, data.warnings.length > 0 ? (_jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [_jsxs(Text, { color: colors.warn, wrap: "truncate-end", children: [icons.alertDot, " ", data.warnings.length, " advertencia", data.warnings.length > 1 ? "s" : "", " al cargar el workspace (datos parciales)"] }), data.warnings.slice(0, 3).map((w, i) => (_jsxs(Text, { color: colors.faint, wrap: "truncate-end", children: [" ", w] }, `${i}-${w.slice(0, 16)}`)))] })) : null, _jsxs(Box, { flexDirection: "row", marginBottom: 1, children: [_jsx(StatTile, { label: "git", value: data.git?.branch ?? "—", sub: statGitSub(data), accent: true }), _jsx(StatTile, { label: "working tree", value: `${dirty} dirty`, sub: `${data.git?.staged ?? 0} staged · ${data.git?.untracked ?? 0} untracked`, tone: dirty > 0 ? "warn" : "dim" }), _jsx(StatTile, { label: "sources", value: `${totalSources}`, sub: `${dirtySources} dirty`, tone: totalSources > 0 ? "accent" : "dim" }), _jsx(StatTile, { label: "working branches", value: `${workingEntries.length}`, sub: workingEntries.length > 0 ? "declared" : "none", tone: workingEntries.length > 0 ? "accent" : "dim" }), _jsx(StatTile, { label: "procesos", value: `${runningCount}`, sub: processes.length > runningCount
498
550
  ? `${processes.length - runningCount} inactivos`
499
- : "running", tone: runningCount > 0 ? "accent" : "dim" })] }), _jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: [hasSources ? (_jsxs(_Fragment, { children: [_jsx(SectionHead, { label: "Sources", count: totalSources, marginTop: 0, rightAction: detailOpen ? "esc to close detail" : "↑↓ select · ⏎ actions" }), _jsxs(Box, { marginLeft: SOURCES_ROWS_INDENT, flexDirection: "column", children: [data.sources.map((s, i) => (_jsx(SourceRow, { source: s, active: i === cursor, widthHint: rowWidth(stdout?.columns, detailOpen, SOURCES_ROWS_INDENT) }, s.alias))), _jsx(ListRow, { icon: icons.diamond, title: "all sources", subtitle: `aplica a las ${totalSources} fuentes`, chevron: true, active: cursor === targets.length - 1, widthHint: rowWidth(stdout?.columns, detailOpen, SOURCES_ROWS_INDENT) })] })] })) : null, _jsx(BranchList, { label: "Ramas de trabajo actuales", entries: workingEntries, emptyHint: "(no working branches declared)" }), qaEntries.length > 0 ? (_jsx(BranchList, { label: "Ramas QA actuales", entries: qaEntries })) : null, _jsx(ProcessList, { processes: processes, cursor: processCursor, focused: mode.kind === "process", widthHint: rowWidth(stdout?.columns, detailOpen, SOURCES_ROWS_INDENT) })] }), detailOpen ? (_jsx(SourceActionsPanel, { isAll: isAllTarget, name: isAllTarget ? "all sources" : currentTarget, source: currentSource, totalSources: totalSources, actions: detailActions, focusedAction: actionCursor })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
551
+ : "running", tone: runningCount > 0 ? "accent" : "dim" })] }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: hasSources ? (_jsxs(_Fragment, { children: [_jsx(SectionHead, { label: "Sources", count: totalSources, marginTop: 0, ...(rangeHint ? { hint: rangeHint } : {}), rightAction: detailOpen ? "esc to close detail" : "↑↓ select · ⏎ actions" }), _jsx(Box, { marginLeft: SOURCES_ROWS_INDENT, flexDirection: "column", children: targets.slice(win.start, winEnd).map((target, offset) => {
552
+ const i = win.start + offset;
553
+ // The last target is the "all sources" sentinel, not a source.
554
+ const source = target === ALL_SOURCES ? undefined : data.sources[i];
555
+ return source ? (_jsx(SourceRow, { source: source, running: runningBySource.get(source.alias) ?? 0, active: i === cursor, widthHint: rowWidth(stdout?.columns, detailOpen, SOURCES_ROWS_INDENT) }, source.alias)) : (_jsx(ListRow, { icon: icons.diamond, title: "all sources", subtitle: `aplica a las ${totalSources} fuentes`, chevron: true, active: i === cursor, widthHint: rowWidth(stdout?.columns, detailOpen, SOURCES_ROWS_INDENT) }, ALL_SOURCES));
556
+ }) })] })) : null }), detailOpen ? (_jsx(SourceActionsPanel, { isAll: isAllTarget, name: isAllTarget ? "all sources" : currentTarget, source: currentSource, totalSources: totalSources, actions: detailActions, focusedAction: actionCursor })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
500
557
  { key: "⏎", label: "source actions" },
501
- ...(processes.length > 0 ? [{ key: "p", label: "manage processes" }] : []),
502
558
  { key: "g", label: "git status" },
503
559
  ] }) })] }));
504
560
  }
505
- function SourceRow({ source, active, widthHint, }) {
561
+ function SourceRow({ source, running, active, widthHint, }) {
506
562
  const status = source.dirty ? `${source.changedFiles} dirty` : "in sync";
507
563
  const branch = source.branch ?? source.mainBranch;
508
564
  // Commits carried by the branch itself; "—" when it cannot be measured (on
@@ -511,11 +567,10 @@ function SourceRow({ source, active, widthHint, }) {
511
567
  const commits = source.commitCount === null
512
568
  ? { label: "—", tone: "dim" }
513
569
  : { label: `+${source.commitCount}`, tone: "accent" };
514
- return (_jsx(ListRow, { icon: icons.diamond, iconActive: true, title: source.alias, subtitle: `main ${source.mainBranch}`, meta: [commits, { label: status, tone: source.dirty ? "warn" : "ok" }], state: { label: `${icons.branch} ${branch}`, tone: "dim" }, chevron: true, active: active, widthHint: widthHint }));
515
- }
516
- /** "Ramas …" section one `◆ alias ↳ branch` row per WORKSPACE block entry. */
517
- function BranchList({ label, entries, emptyHint, }) {
518
- return (_jsxs(_Fragment, { children: [_jsx(SectionHead, { label: label, count: entries.length, marginTop: 1 }), _jsx(Box, { marginLeft: 2, flexDirection: "column", children: entries.length > 0 ? (entries.map(([alias, branch]) => (_jsxs(Box, { children: [_jsxs(Text, { color: colors.accent, children: [icons.diamond, " "] }), _jsx(Text, { color: colors.bright, bold: true, children: alias }), _jsx(Box, { flexGrow: 1 }), _jsxs(Text, { color: colors.dim, children: [icons.branch, " ", branch] })] }, alias)))) : emptyHint ? (_jsx(Text, { color: colors.faint, children: emptyHint })) : null })] }));
570
+ // Live activity, after the git chips: the dot is textual (never color alone)
571
+ // and the count is the source's own `running` total (SPEC 019).
572
+ const activity = running > 0 ? [{ label: `● ${running} running`, tone: "ok" }] : [];
573
+ return (_jsx(ListRow, { icon: icons.diamond, iconActive: true, title: source.alias, subtitle: `main ${source.mainBranch}`, meta: [commits, { label: status, tone: source.dirty ? "warn" : "ok" }, ...activity], state: { label: `${icons.branch} ${branch}`, tone: "dim" }, chevron: true, active: active, widthHint: widthHint }));
519
574
  }
520
575
  /** Side panel of git-flow actions for the selected source (or "all sources"). */
521
576
  function SourceActionsPanel({ isAll, name, source, totalSources, actions, focusedAction, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"project-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/project-tab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/project-tab.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // (installed → unmanaged → registered → recommended), detail with per-status
4
4
  // actions (unmanaged = informational) and an [a] wizard: source → picker →
5
5
  // third-party warning → register.
6
+ // The list opens PROJECTED to the recommended seed and `t` toggles to every
7
+ // detected skill (SPEC 019) — a view mode, not a second data source.
6
8
  // Backed by skills-manager; the `w` bundle administration lives in
7
9
  // [Workline] (HostAdminSection).
8
10
  import { Box, Text, useInput, useStdout } from "ink";
@@ -13,18 +15,36 @@ import { ConfirmBanner } from "../components/confirm-banner.js";
13
15
  import { DetailPanel } from "../components/detail-panel.js";
14
16
  import { InputPrompt } from "../components/input-prompt.js";
15
17
  import { ListRow } from "../components/list-row.js";
18
+ import { notificationStackRows } from "../components/notification-stack.js";
16
19
  import { PageHead } from "../components/page-head.js";
17
20
  import { QuickActions } from "../components/quick-actions.js";
18
21
  import { SectionHead } from "../components/section-head.js";
19
22
  import { RECOMMENDED_SKILLS } from "../data/recommended-skills.js";
20
23
  import { useLockWhile } from "../input-lock.js";
24
+ import { useNotificationItems } from "../notification-center.js";
21
25
  import { rowWidth } from "../row-width.js";
22
26
  import { colors, icons } from "../theme.js";
23
27
  import { useListDetailKeys } from "../use-list-detail-keys.js";
28
+ import { useListWindow, windowRangeHint } from "../use-list-window.js";
24
29
  import { useOnMount } from "../use-on-mount.js";
25
30
  // Derived from the engine's own replica list — the four places that used to
26
31
  // spell "Claude, Gemini" by hand went stale the moment a replica host changed.
27
32
  const REPLICA_LABELS = REPLICA_HOST_LABELS.join(", ");
33
+ // Rows the chrome consumes around the skills list; the window (useListWindow)
34
+ // gets what remains of the viewport:
35
+ // app shell 16 = ScreenFrame border+paddingY 4 · HomeHeader 3 (2 rows +
36
+ // marginBottom) · TabBar 3 (border + row) · tab content box
37
+ // border+paddingY 4 · HomeFooter 2 (marginTop + row)
38
+ // this tab 6 = PageHead 2 (row + marginBottom) · SectionHead 1 ·
39
+ // QuickActions 3 (marginTop + rule + keys)
40
+ const SKILLS_LIST_RESERVED_ROWS = 22;
41
+ // The `filtered` mode's projection: the seed's names, whatever their status.
42
+ // A Set because the seed is scanned once per rendered list.
43
+ const RECOMMENDED_NAMES = new Set(RECOMMENDED_SKILLS.map((s) => s.name));
44
+ /** Rows visible in the current mode: the whole list, or just the seed's. */
45
+ function projectSkills(all, showAll) {
46
+ return showAll ? all : all.filter((s) => RECOMMENDED_NAMES.has(s.name));
47
+ }
28
48
  const STATUS_GLYPH = {
29
49
  installed: { glyph: "◆", active: true, tone: "ok" },
30
50
  unmanaged: { glyph: "◈", active: true, tone: "warn" },
@@ -34,11 +54,19 @@ const STATUS_GLYPH = {
34
54
  export function SkillsTab({ ctx, isActive, onToast }) {
35
55
  const [items, setItems] = useState([]);
36
56
  const [mode, setMode] = useState({ kind: "list" });
37
- // Mirror of items to preserve the selection BY NAME across refresh: the
38
- // list re-orders after every operation (installed→registered→recommended)
39
- // and a numeric cursor would jump to another skill.
40
- const itemsRef = useRef([]);
57
+ // View mode, local and unpersisted: every mount opens on the seed (SPEC 019).
58
+ const [showAll, setShowAll] = useState(false);
59
+ // Mirror of the VISIBLE rows to preserve the selection BY NAME when they
60
+ // change a refresh re-orders the list (installed→registered→recommended)
61
+ // and the toggle re-projects it, so a numeric cursor would land on another
62
+ // skill. Assigned during render, so a callback reads the rows the user is
63
+ // actually looking at.
64
+ const visibleRef = useRef([]);
41
65
  const { stdout } = useStdout();
66
+ // Rows the active mode shows. `items` keeps the FULL list so the PageHead
67
+ // totals stay global — only the section's rows follow the mode.
68
+ const visible = useMemo(() => projectSkills(items, showAll), [items, showAll]);
69
+ visibleRef.current = visible;
42
70
  useLockWhile(mode.kind !== "list" && mode.kind !== "detail");
43
71
  // `detailActions` needs `current` (→ the hook's cursor), so its length
44
72
  // reaches the hook one render late via this ref. Safe: the list cannot
@@ -54,7 +82,7 @@ export function SkillsTab({ ctx, isActive, onToast }) {
54
82
  : mode.kind === "confirm"
55
83
  ? "confirm"
56
84
  : "off",
57
- listLen: items.length,
85
+ listLen: visible.length,
58
86
  actionsLen: actionsLenRef.current,
59
87
  onAdd: () => setMode({ kind: "wizard-source" }),
60
88
  onOpenDetail: () => setMode({ kind: "detail" }),
@@ -78,23 +106,36 @@ export function SkillsTab({ ctx, isActive, onToast }) {
78
106
  }
79
107
  },
80
108
  });
109
+ // Windowed slice of the skills list (shared hook): renders only the rows
110
+ // that fit the viewport, following the cursor at the edges. Non-TTY
111
+ // (unknown height) → the whole list renders, as before. The window derives
112
+ // from the cursor only — the by-name selection across refresh is untouched.
113
+ // The NotificationStack height joins the reservation so a visible banner
114
+ // can't clip the active row.
115
+ const notifItems = useNotificationItems();
116
+ const listWindow = useListWindow(visible.length, cursor, SKILLS_LIST_RESERVED_ROWS + notificationStackRows(notifItems));
117
+ // Re-anchors the cursor when the visible rows change (refresh or mode
118
+ // toggle): the same skill stays selected if it survives, otherwise the
119
+ // cursor clamps to the new list.
120
+ const reanchorCursor = useCallback((next) => {
121
+ setCursor((c) => {
122
+ const prevName = visibleRef.current[c]?.name;
123
+ const idx = prevName === undefined ? -1 : next.findIndex((s) => s.name === prevName);
124
+ return idx >= 0 ? idx : Math.min(Math.max(0, c), Math.max(0, next.length - 1));
125
+ });
126
+ }, [setCursor]);
81
127
  const refresh = useCallback(async () => {
82
128
  try {
83
129
  const next = await listSkills(ctx, RECOMMENDED_SKILLS);
84
- setCursor((c) => {
85
- const prevName = itemsRef.current[c]?.name;
86
- const idx = prevName === undefined ? -1 : next.findIndex((s) => s.name === prevName);
87
- return idx >= 0 ? idx : Math.min(Math.max(0, c), Math.max(0, next.length - 1));
88
- });
89
- itemsRef.current = next;
130
+ reanchorCursor(projectSkills(next, showAll));
90
131
  setItems(next);
91
132
  }
92
133
  catch (err) {
93
134
  onToast?.({ tone: "err", title: "Error loading skills", body: err.message });
94
135
  }
95
- }, [ctx, onToast, setCursor]);
136
+ }, [ctx, onToast, reanchorCursor, showAll]);
96
137
  useOnMount(() => void refresh());
97
- const current = items[cursor] ?? null;
138
+ const current = visible[cursor] ?? null;
98
139
  const installedCount = items.filter((s) => s.status === "installed").length;
99
140
  const unmanagedCount = items.filter((s) => s.status === "unmanaged").length;
100
141
  const registeredCount = items.filter((s) => s.status === "registered").length;
@@ -232,6 +273,17 @@ export function SkillsTab({ ctx, isActive, onToast }) {
232
273
  return;
233
274
  }
234
275
  }, [ctx, current, runAction]);
276
+ // input — `t` toggles the list mode (seed only ↔ every detected skill).
277
+ // Its own handler on purpose: `useListDetailKeys` is the shared machinery of
278
+ // the list tabs and this key belongs to this one.
279
+ useInput((input) => {
280
+ if (!isActive || (mode.kind !== "list" && mode.kind !== "detail"))
281
+ return;
282
+ if (input !== "t" && input !== "T")
283
+ return;
284
+ reanchorCursor(projectSkills(items, !showAll));
285
+ setShowAll((v) => !v);
286
+ }, { isActive });
235
287
  // input — wizard-source esc
236
288
  useInput((_input, key) => {
237
289
  if (!isActive || mode.kind !== "wizard-source")
@@ -305,14 +357,23 @@ export function SkillsTab({ ctx, isActive, onToast }) {
305
357
  }, [ctx, onToast]);
306
358
  const overlayVisible = mode.kind !== "list";
307
359
  const home = ctx.env.homeDir();
360
+ // Visible-range indicator for the SectionHead hint slot — only when the
361
+ // window hides rows (consumes no extra terminal row); it keeps priority over
362
+ // the mode hint, which QuickActions announces anyway.
363
+ const listRangeHint = windowRangeHint(listWindow, visible.length);
364
+ const modeHint = showAll ? "all skills · t show recommended" : "recommended only · t show all";
308
365
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "Skills", count: {
309
366
  label: `${installedCount} installed${unmanagedCount > 0 ? ` · ${unmanagedCount} unmanaged` : ""} · ${registeredCount} registered · ${recommendedCount} recommended`,
310
367
  tone: installedCount > 0 ? "accent" : "warn",
311
- }, action: _jsx(Text, { color: colors.mute, children: "~/.agents/skills + host replicas" }) }), _jsx(SectionHead, { label: "Skills", count: items.length, hint: "installed \u2192 unmanaged \u2192 registered \u2192 recommended", ...(overlayVisible ? { rightAction: "esc to close" } : {}), marginTop: 0 }), _jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: [items.map((s, i) => {
368
+ }, action: _jsx(Text, { color: colors.mute, children: "~/.agents/skills + host replicas" }) }), _jsx(SectionHead, { label: "Skills", count: visible.length, hint: listRangeHint ?? modeHint, ...(mode.kind.startsWith("wizard")
369
+ ? { rightAction: "esc cancel" }
370
+ : mode.kind === "detail" || mode.kind === "confirm"
371
+ ? { rightAction: "esc to close detail" }
372
+ : {}), marginTop: 0 }), _jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: [visible.slice(listWindow.start, listWindow.start + listWindow.visible).map((s, i) => {
312
373
  const glyph = STATUS_GLYPH[s.status];
313
374
  return (_jsx(ListRow, { icon: glyph.glyph, iconActive: glyph.active, title: s.name, subtitle: s.status === "unmanaged" && s.source === ""
314
375
  ? "outside the registry"
315
- : `${s.source}${s.ref ? ` #${s.ref}` : ""}`, meta: s.mode === "copy" ? [{ label: "copy", tone: "warn" }] : [], state: { label: s.status, tone: glyph.tone }, chevron: true, active: cursor === i, dimmed: mode.kind.startsWith("wizard"), widthHint: rowWidth(stdout?.columns, overlayVisible) }, s.name));
376
+ : `${s.source}${s.ref ? ` #${s.ref}` : ""}`, meta: s.mode === "copy" ? [{ label: "copy", tone: "warn" }] : [], state: { label: s.status, tone: glyph.tone }, chevron: true, active: listWindow.start + i === cursor, dimmed: mode.kind.startsWith("wizard"), widthHint: rowWidth(stdout?.columns, overlayVisible) }, s.name));
316
377
  }), mode.kind === "wizard-source" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHead, { label: "Add skill", hint: "Step 1 \u00B7 Source", rightAction: "\u23CE inspect \u00B7 esc cancel" }), _jsx(Box, { marginLeft: 2, children: _jsx(InputPrompt, { message: "source (owner/repo \u00B7 git URL \u00B7 absolute path):", onSubmit: (value) => {
317
378
  const source = value.trim();
318
379
  if (!source) {
@@ -334,7 +395,10 @@ export function SkillsTab({ ctx, isActive, onToast }) {
334
395
  ? "Deletes canonical + replica; the registration stays."
335
396
  : current.status === "installed"
336
397
  ? "Uninstalls and drops the registration. A recommended skill returns to the recommended list."
337
- : "Drops the registration. A recommended skill returns to the recommended list." })) : null })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [{ key: "a", label: "add skill" }] }) })] }));
398
+ : "Drops the registration. A recommended skill returns to the recommended list." })) : null })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
399
+ { key: "a", label: "add skill" },
400
+ { key: "t", label: showAll ? "show recommended" : "show all" },
401
+ ] }) })] }));
338
402
  }
339
403
  function detailMeta(item, home) {
340
404
  const source = `${item.source}${item.ref ? ` #${item.ref}` : ""}`;