@kenkaiiii/gg-boss 4.3.100 → 4.3.102

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 (44) hide show
  1. package/dist/banner.d.ts +7 -1
  2. package/dist/banner.d.ts.map +1 -1
  3. package/dist/banner.js +2 -2
  4. package/dist/banner.js.map +1 -1
  5. package/dist/boss-store.d.ts +24 -1
  6. package/dist/boss-store.d.ts.map +1 -1
  7. package/dist/boss-store.js +33 -4
  8. package/dist/boss-store.js.map +1 -1
  9. package/dist/boss-system-prompt.d.ts.map +1 -1
  10. package/dist/boss-system-prompt.js +76 -8
  11. package/dist/boss-system-prompt.js.map +1 -1
  12. package/dist/boss-tasks-overlay.d.ts +22 -0
  13. package/dist/boss-tasks-overlay.d.ts.map +1 -0
  14. package/dist/boss-tasks-overlay.js +149 -0
  15. package/dist/boss-tasks-overlay.js.map +1 -0
  16. package/dist/cli.js +9 -8
  17. package/dist/cli.js.map +1 -1
  18. package/dist/orchestrator-app.d.ts.map +1 -1
  19. package/dist/orchestrator-app.js +121 -27
  20. package/dist/orchestrator-app.js.map +1 -1
  21. package/dist/orchestrator.d.ts +26 -0
  22. package/dist/orchestrator.d.ts.map +1 -1
  23. package/dist/orchestrator.js +132 -17
  24. package/dist/orchestrator.js.map +1 -1
  25. package/dist/settings.d.ts +10 -0
  26. package/dist/settings.d.ts.map +1 -0
  27. package/dist/settings.js +38 -0
  28. package/dist/settings.js.map +1 -0
  29. package/dist/slash-commands.d.ts.map +1 -1
  30. package/dist/slash-commands.js +1 -0
  31. package/dist/slash-commands.js.map +1 -1
  32. package/dist/task-tools.d.ts +18 -0
  33. package/dist/task-tools.d.ts.map +1 -0
  34. package/dist/task-tools.js +154 -0
  35. package/dist/task-tools.js.map +1 -0
  36. package/dist/tasks-store.d.ts +52 -0
  37. package/dist/tasks-store.d.ts.map +1 -0
  38. package/dist/tasks-store.js +153 -0
  39. package/dist/tasks-store.js.map +1 -0
  40. package/dist/tools.d.ts +16 -0
  41. package/dist/tools.d.ts.map +1 -1
  42. package/dist/tools.js +4 -1
  43. package/dist/tools.js.map +1 -1
  44. package/package.json +3 -3
package/dist/banner.d.ts CHANGED
@@ -4,8 +4,14 @@ interface BossBannerProps {
4
4
  subtitle: string;
5
5
  /** Third line text (e.g. "↑↓ navigate · enter save"). */
6
6
  hint?: string;
7
+ /**
8
+ * If true, show the standard chat-mode shortcut row (Ctrl+T tasks). Mirrors
9
+ * ggcoder's banner where the third row advertises ^T / ^S / ^P. Override
10
+ * with `hint` for non-chat banners (link picker, task overlay).
11
+ */
12
+ showShortcuts?: boolean;
7
13
  }
8
14
  /** Ink banner — for use inside Ink-rendered screens. */
9
- export declare function BossBanner({ subtitle, hint }: BossBannerProps): React.ReactElement;
15
+ export declare function BossBanner({ subtitle, hint, showShortcuts }: BossBannerProps): React.ReactElement;
10
16
  export {};
11
17
  //# sourceMappingURL=banner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,eAAe;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA2BlF"}
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,eAAe;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAwCjG"}
package/dist/banner.js CHANGED
@@ -3,8 +3,8 @@ import React from "react";
3
3
  import { Box, Text } from "ink";
4
4
  import { AUTHOR, BRAND, COLORS, GRADIENT, LOGO_GAP, LOGO_LINES, VERSION } from "./branding.js";
5
5
  /** Ink banner — for use inside Ink-rendered screens. */
6
- export function BossBanner({ subtitle, hint }) {
7
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0] }), _jsx(Text, { children: LOGO_GAP }), _jsx(Text, { color: COLORS.primary, bold: true, children: BRAND }), _jsxs(Text, { color: COLORS.textDim, children: [" v", VERSION] }), _jsx(Text, { color: COLORS.textDim, children: " \u00B7 By " }), _jsx(Text, { color: COLORS.text, bold: true, children: AUTHOR })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[1] }), _jsx(Text, { children: LOGO_GAP }), _jsx(Text, { color: COLORS.accent, children: subtitle })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[2] }), _jsx(Text, { children: LOGO_GAP }), _jsx(Text, { color: COLORS.textDim, children: hint ?? "" })] })] }));
6
+ export function BossBanner({ subtitle, hint, showShortcuts }) {
7
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0] }), _jsx(Text, { children: LOGO_GAP }), _jsx(Text, { color: COLORS.primary, bold: true, children: BRAND }), _jsxs(Text, { color: COLORS.textDim, children: [" v", VERSION] }), _jsx(Text, { color: COLORS.textDim, children: " \u00B7 By " }), _jsx(Text, { color: COLORS.text, bold: true, children: AUTHOR })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[1] }), _jsx(Text, { children: LOGO_GAP }), _jsx(Text, { color: COLORS.accent, children: subtitle })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[2] }), _jsx(Text, { children: LOGO_GAP }), showShortcuts ? (_jsxs(Text, { children: [_jsx(Text, { color: COLORS.primary, children: "^T" }), _jsx(Text, { color: COLORS.textDim, children: " tasks" }), _jsx(Text, { color: COLORS.textDim, children: " " }), _jsx(Text, { color: COLORS.primary, children: "Tab" }), _jsx(Text, { color: COLORS.textDim, children: " scope" }), _jsx(Text, { color: COLORS.textDim, children: " " }), _jsx(Text, { color: COLORS.primary, children: "ESC" }), _jsx(Text, { color: COLORS.textDim, children: " interrupt" })] })) : (_jsx(Text, { color: COLORS.textDim, children: hint ?? "" }))] })] }));
8
8
  }
9
9
  function GradientText({ text }) {
10
10
  const chars = [];
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAS/F,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAmB;IAC5D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACvD,MAAC,GAAG,eACF,KAAC,YAAY,IAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,GAAI,EACtC,KAAC,IAAI,cAAE,QAAQ,GAAQ,EACvB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,kBAC9B,KAAK,GACD,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,mBAAK,OAAO,IAAQ,EAC/C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,4BAAe,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kBAC3B,MAAM,GACF,IACH,EACN,MAAC,GAAG,eACF,KAAC,YAAY,IAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,GAAI,EACtC,KAAC,IAAI,cAAE,QAAQ,GAAQ,EACvB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,YAAG,QAAQ,GAAQ,IACzC,EACN,MAAC,GAAG,eACF,KAAC,YAAY,IAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,GAAI,EACtC,KAAC,IAAI,cAAE,QAAQ,GAAQ,EACvB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAG,IAAI,IAAI,EAAE,GAAQ,IAC5C,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,IAAI,EAAoB;IAC9C,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CACR,KAAC,IAAI,IAAS,KAAK,EAAE,KAAK,YACvB,EAAE,IADM,CAAC,CAEL,CACR,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAC,IAAI,cAAE,KAAK,GAAQ,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.tsx"],"names":[],"mappings":"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"}
@@ -52,7 +52,22 @@ export interface InfoItem {
52
52
  text: string;
53
53
  level?: "info" | "warning" | "error";
54
54
  }
55
- export type HistoryItem = UserItem | AssistantItem | ToolItem | WorkerEventItem | WorkerErrorItem | InfoItem;
55
+ /**
56
+ * Task-dispatch announcement. Rendered when the user (or boss) fires a batch
57
+ * of tasks via `r` in the overlay or `dispatch_pending`. Structured (vs plain
58
+ * info text) so each project name can be drawn in its own projectColor() —
59
+ * matching the WorkerStatusBar / WorkerEventRow / scope pill conventions.
60
+ */
61
+ export interface TaskDispatchItem {
62
+ kind: "task_dispatch";
63
+ id: string;
64
+ tasks: {
65
+ project: string;
66
+ title: string;
67
+ }[];
68
+ timestamp: number;
69
+ }
70
+ export type HistoryItem = UserItem | AssistantItem | ToolItem | WorkerEventItem | WorkerErrorItem | InfoItem | TaskDispatchItem;
56
71
  export interface StreamingTool {
57
72
  toolCallId: string;
58
73
  name: string;
@@ -82,6 +97,10 @@ export interface WorkerView {
82
97
  name: string;
83
98
  cwd: string;
84
99
  status: WorkerStatus;
100
+ /** When the worker most recently transitioned to "working". Cleared when it
101
+ * goes back to idle/error. Drives the elapsed-time readout in the worker
102
+ * status bar so users can see "yaatuber working · 1:24" while waiting. */
103
+ workStartedAt: number | null;
85
104
  lastSummary?: WorkerTurnSummary;
86
105
  }
87
106
  export interface BossUiState {
@@ -140,6 +159,10 @@ export declare const bossStore: {
140
159
  setWorkerModel(provider: Provider, model: string): void;
141
160
  setLoggedInProviders(providers: Provider[]): void;
142
161
  appendUser(text: string): void;
162
+ appendTaskDispatch(tasks: {
163
+ project: string;
164
+ title: string;
165
+ }[]): void;
143
166
  appendInfo(text: string, level?: InfoItem["level"]): void;
144
167
  setPendingMessages(n: number): void;
145
168
  startStreaming(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"boss-store.d.ts","sourceRoot":"","sources":["../src/boss-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boss-store.d.ts","sourceRoot":"","sources":["../src/boss-store.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,12 @@ export const bossStore = {
72
72
  workerProvider: opts.workerProvider,
73
73
  workerModel: opts.workerModel,
74
74
  loggedInProviders: opts.loggedInProviders,
75
- workers: opts.workers.map((w) => ({ name: w.name, cwd: w.cwd, status: "idle" })),
75
+ workers: opts.workers.map((w) => ({
76
+ name: w.name,
77
+ cwd: w.cwd,
78
+ status: "idle",
79
+ workStartedAt: null,
80
+ })),
76
81
  };
77
82
  notify();
78
83
  },
@@ -95,6 +100,18 @@ export const bossStore = {
95
100
  };
96
101
  notify();
97
102
  },
103
+ appendTaskDispatch(tasks) {
104
+ if (tasks.length === 0)
105
+ return;
106
+ state = {
107
+ ...state,
108
+ history: [
109
+ ...state.history,
110
+ { kind: "task_dispatch", id: id(), tasks, timestamp: Date.now() },
111
+ ],
112
+ };
113
+ notify();
114
+ },
98
115
  appendInfo(text, level = "info") {
99
116
  state = {
100
117
  ...state,
@@ -409,7 +426,17 @@ export const bossStore = {
409
426
  setWorkerStatus(name, status) {
410
427
  state = {
411
428
  ...state,
412
- workers: state.workers.map((w) => (w.name === name ? { ...w, status } : w)),
429
+ workers: state.workers.map((w) => {
430
+ if (w.name !== name)
431
+ return w;
432
+ const nowWorking = status === "working";
433
+ const wasWorking = w.status === "working";
434
+ return {
435
+ ...w,
436
+ status,
437
+ workStartedAt: nowWorking ? (wasWorking ? w.workStartedAt : Date.now()) : null,
438
+ };
439
+ }),
413
440
  };
414
441
  notify();
415
442
  },
@@ -429,7 +456,9 @@ export const bossStore = {
429
456
  timestamp: summary.timestamp,
430
457
  },
431
458
  ],
432
- workers: state.workers.map((w) => w.name === summary.project ? { ...w, status: summary.status, lastSummary: summary } : w),
459
+ workers: state.workers.map((w) => w.name === summary.project
460
+ ? { ...w, status: summary.status, workStartedAt: null, lastSummary: summary }
461
+ : w),
433
462
  };
434
463
  notify();
435
464
  },
@@ -437,7 +466,7 @@ export const bossStore = {
437
466
  state = {
438
467
  ...state,
439
468
  history: [...state.history, { kind: "worker_error", id: id(), project, message, timestamp }],
440
- workers: state.workers.map((w) => (w.name === project ? { ...w, status: "error" } : w)),
469
+ workers: state.workers.map((w) => w.name === project ? { ...w, status: "error", workStartedAt: null } : w),
441
470
  };
442
471
  notify();
443
472
  },
@@ -1 +1 @@
1
- {"version":3,"file":"boss-store.js","sourceRoot":"","sources":["../src/boss-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boss-store.js","sourceRoot":"","sources":["../src/boss-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"boss-system-prompt.d.ts","sourceRoot":"","sources":["../src/boss-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAsFrE"}
1
+ {"version":3,"file":"boss-system-prompt.d.ts","sourceRoot":"","sources":["../src/boss-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CA0JrE"}
@@ -20,16 +20,64 @@ The tag is metadata. Strip it before relaying to a worker — workers should nev
20
20
  Every user-role message is one of:
21
21
 
22
22
  1. A direct user message — respond to the user.
23
- 2. \`[event:worker_turn_complete]\` — a worker finished a turn. Contains project, turn number, tools used (✓/✗), and the worker's final text.
24
- 3. \`[event:worker_error]\` — a worker hit an error. Diagnose, then retry or surface to the user.
23
+ 2. \`[event:worker_turn_complete]\` — a worker finished a turn. Contains project, turn number, tools used (✓/✗), the worker's final text, AND a trailing \`other_workers:\` line listing every other project's current status (e.g. \`other_workers: B(working) C(idle) D(working)\`).
24
+ 3. \`[event:worker_error]\` — a worker hit an error. Diagnose, then retry or surface to the user. Same \`other_workers:\` trailer.
25
+
26
+ **Always read the \`other_workers:\` trailer before deciding "the run is done".** During a parallel dispatch you receive ONE event per finishing worker, in arrival order. It is wrong to treat the event you're processing as "the last one" unless \`other_workers:\` shows every other worker is \`idle\` (or \`error\`). If any are \`working\`, more events are coming — finish your routing for THIS event, then wait.
25
27
 
26
28
  # Your tools
27
29
 
30
+ Worker dispatch:
31
+
28
32
  - \`list_workers()\` — all projects, cwds, current statuses (idle/working/error).
29
33
  - \`get_worker_status(project)\` — single-project status check.
30
- - \`prompt_worker(project, message, fresh?)\` — send a prompt. FIRE-AND-FORGET. Returns immediately; you'll get \`worker_turn_complete\` later. NEVER call this on a worker whose status is "working".
34
+ - \`prompt_worker(project, message, fresh?)\` — send a prompt directly to a worker. FIRE-AND-FORGET. Returns immediately; you'll get \`worker_turn_complete\` later. NEVER call this on a worker whose status is "working".
31
35
  - \`get_worker_summary(project)\` — most recent turn summary. Use to inspect what was actually done.
32
36
 
37
+ Task plan (persistent backlog, visible in the user's Ctrl+T overlay):
38
+
39
+ - \`add_task(project, title, description, fresh?)\` — append a task to the plan. \`title\` is the short label shown in the overlay; \`description\` is what gets sent to the worker when dispatched.
40
+ - \`list_tasks(project?, status?)\` — read the plan. Returns task ids you can act on.
41
+ - \`update_task(id, status?, notes?)\` — mark a task done / blocked / skipped, or add commentary. Use this AFTER a worker_turn_complete to close out the task you dispatched.
42
+ - \`dispatch_pending(project?)\` — send the next pending task. Without a \`project\` arg, dispatches one task per IDLE worker (parallel fan-out). With \`project\`, only that one. Marks each as in_progress.
43
+
44
+ # When to use prompt_worker vs add_task + dispatch_pending
45
+
46
+ - **Single ad-hoc instruction** ("answer a question", "do this one quick thing") → \`prompt_worker\` directly. No need for the task system.
47
+ - **Planning multiple things, especially across projects** → use \`add_task\` to build the plan, then \`dispatch_pending\` to execute. The plan persists across sessions and shows up in the user's overlay.
48
+ - **User says "let's plan some work" / "create some tasks" / "plan tasks for each"** → see "Planning substantive tasks" below.
49
+ - **User says "go" / "run them"** → call \`dispatch_pending\` (no project arg) to fan out across idle workers.
50
+
51
+ # Planning substantive tasks
52
+
53
+ When the user asks you to plan tasks across projects WITHOUT specifying what to do (e.g. "plan some tasks", "create work for each project"), DO NOT default to trivial reconnaissance like "ls -la", "git status", "summarize README". That wastes the parallel infrastructure on output the user could get themselves in 5 seconds.
54
+
55
+ Instead, follow this order of preference:
56
+
57
+ 1. **Recon first, then plan.** Send a quick \`prompt_worker(project, "Read your codebase briefly and report 3-5 concrete improvements you'd recommend — bugs, refactors, missing tests, dead code, type holes, perf issues. Be specific: file paths, what to change, why.")\` to each project IN PARALLEL. When the recon turns complete, READ the recommendations from each \`worker_turn_complete\`, then \`add_task\` for the meaty ones.
58
+
59
+ 2. **Real work, not summaries.** A good task description tells the worker to CHANGE something and includes acceptance criteria the worker can self-check:
60
+ - "Add unit tests for X — run \`pnpm test\` and report failures."
61
+ - "Refactor Y to remove Z duplication. Confirm with \`pnpm check && pnpm lint\`."
62
+ - "Find and fix any \`as any\` casts in src/ that aren't justified by a comment. Run \`pnpm check\`."
63
+ - "Audit the auth flow for token-leakage paths and patch them. Verify with \`pnpm test src/auth\`."
64
+
65
+ 3. **Bad task descriptions** (DO NOT generate these unless explicitly asked):
66
+ - "Run \`ls -la\` and report" — no work, no value.
67
+ - "Summarize README" — no work.
68
+ - "Show git status" — the user can run that.
69
+ - "List package.json scripts" — the user can read that file.
70
+
71
+ 4. **Each \`description\` must include a verification step.** What command/check tells the worker the task is complete? Bake it in. \`pnpm check\`, \`pnpm test\`, \`pnpm lint\`, \`pnpm build\`, or a specific manual check. Workers won't run verification unless you tell them to — and "Status: UNVERIFIED" responses cost you a re-prompt round trip.
72
+
73
+ 5. **Parallel-friendly chunking.** Across N projects, the work should be GENUINELY independent — no task depends on another project's output. If two tasks must coordinate, sequence them or fold them into one project.
74
+
75
+ When in doubt about what work matters, ASK the user "what kind of work?" rather than fabricating busywork. But once you have direction, plan substantively.
76
+
77
+ # Task lifecycle
78
+
79
+ For every task you dispatch (via \`dispatch_pending\` OR via the user pressing Enter in the overlay), a \`worker_turn_complete\` event will arrive eventually. The orchestrator auto-marks the task \`done\` (or \`blocked\` if any tool failed). You can override this with \`update_task\` when you have better signal — e.g. status was DONE but cross-check failed → \`update_task(id, "pending", "re-prompted: ...")\` and re-dispatch.
80
+
33
81
  ## When to set \`fresh: true\`
34
82
 
35
83
  Workers keep their conversation across prompts — useful for follow-ups, harmful when the topic shifts.
@@ -68,13 +116,33 @@ If a red flag fires, re-prompt and STOP this routing — wait for the next worke
68
116
 
69
117
  **Step 2 — if cross-check passes, route off Status:**
70
118
 
71
- - **DONE** — work complete + verified. Give the user a one-line outcome, then dispatch the next step or wait.
72
- - **UNVERIFIED** — work done but no checks ran. If correctness matters, re-prompt to run the relevant verification (tests / typecheck / smoke). If it doesn't, accept and report.
73
- - **PARTIAL** — only some of the task done; rest is in \`Skipped:\`. Decide: re-prompt for the rest, accept what's there, or surface to the user.
74
- - **BLOCKED** — worker is stuck. Read \`Notes:\`. If you can unblock with a different approach, re-prompt with corrections; otherwise surface the blocker to the user.
119
+ - **DONE** — work complete + verified. Update task to done if not already, give the user a one-line outcome, then dispatch the next pending task for that project (or stay silent if none).
120
+ - **UNVERIFIED** — work done but no checks ran. **Default action: re-prompt.** Send \`prompt_worker(project, "Verify your work: run <specific command from the task description> and report the exact output. If it fails, fix the failure and re-run until it passes.")\` and \`update_task(id, "in_progress", "re-prompted: awaiting verification")\`. Only accept UNVERIFIED without re-prompting if the task description explicitly said no verification was needed.
121
+ - **PARTIAL** — only some of the task done; rest is in \`Skipped:\`. **Default action: re-prompt for the rest** with the specific Skipped items quoted back to the worker. Only surface to the user if the worker explicitly says they need more info you don't have.
122
+ - **BLOCKED** — worker is stuck. Read \`Notes:\` carefully. Try ONE corrective re-prompt with a different approach (different command, different file, different strategy). If the worker comes back BLOCKED again on the same thing, then surface to the user with the worker's notes attached. \`update_task(id, "blocked", <one-line summary>)\` only after that second failure.
75
123
  - **INFO** — no work happened, the worker answered a question. Use the answer.
76
124
 
77
- > "Re-prompt" always means: call \`prompt_worker(project, <corrective instruction>)\` again. Use \`fresh: false\` when the worker's prior context is the reason you're re-prompting (you want it to learn from the same thread).
125
+ ## Re-prompt rules be specific, not generic
126
+
127
+ A re-prompt is \`prompt_worker(project, <corrective instruction>, fresh=false)\`. The instruction must be SPECIFIC about what's missing or wrong:
128
+
129
+ - BAD: "verify your work"
130
+ - GOOD: "Run \`pnpm test src/auth/\` and paste the exact output. If any test fails, read the failure, fix the cause, and re-run until green."
131
+
132
+ - BAD: "you skipped some things"
133
+ - GOOD: "You marked these Skipped: 'integration test for refresh token'. Implement that test, run \`pnpm test src/auth/refresh.test.ts\`, and report the result."
134
+
135
+ - BAD: "try again"
136
+ - GOOD: "Your last attempt with \`rg\` failed because the binary isn't installed. Use \`grep -rn\` instead. Specifically: grep -rn 'TODO' src/ and report the count by directory."
137
+
138
+ The worker has full context of its prior turn (you set fresh=false), so don't repeat the original task description — just point at what was missing or wrong, and what to do about it.
139
+
140
+ ## How many re-prompts before giving up
141
+
142
+ - After 1 re-prompt and still UNVERIFIED/BLOCKED → try ONE more with a different angle.
143
+ - After 2 re-prompts on the same task with no progress → surface to the user. Mark the task \`update_task(id, "blocked", <reason>)\`.
144
+
145
+ This keeps the loop bounded — workers don't grind forever on a stuck task.
78
146
 
79
147
  # Style
80
148
 
@@ -1 +1 @@
1
- {"version":3,"file":"boss-system-prompt.js","sourceRoot":"","sources":["../src/boss-system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,QAAuB;IAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/E,OAAO;;;;EAIP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wJA8E2I,CAAC;AACzJ,CAAC"}
1
+ {"version":3,"file":"boss-system-prompt.js","sourceRoot":"","sources":["../src/boss-system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,QAAuB;IAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/E,OAAO;;;;EAIP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wJAkJ2I,CAAC;AACzJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import type { GGBoss } from "./orchestrator.js";
3
+ import type { WorkerView } from "./boss-store.js";
4
+ interface BossTasksOverlayProps {
5
+ boss: GGBoss;
6
+ workers: WorkerView[];
7
+ onClose: () => void;
8
+ }
9
+ /**
10
+ * Multi-project task overlay for gg-boss. Read-mostly: tasks are added by the
11
+ * boss agent (via add_task tool), so the overlay is just a backlog viewer with
12
+ * two actions — delete a stuck task, or run all pending across idle workers.
13
+ *
14
+ * Keybinds (all the user actually needs):
15
+ * ↑↓ / k j navigate
16
+ * d delete selected task
17
+ * r dispatch_pending across all idle workers (parallel fan-out)
18
+ * Esc close
19
+ */
20
+ export declare function BossTasksOverlay({ boss, workers, onClose, }: BossTasksOverlayProps): React.ReactElement;
21
+ export {};
22
+ //# sourceMappingURL=boss-tasks-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boss-tasks-overlay.d.ts","sourceRoot":"","sources":["../src/boss-tasks-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAOxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBlD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA8L5C"}
@@ -0,0 +1,149 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React, { useCallback, useEffect, useRef, useState } from "react";
3
+ import { Box, Text, useInput } from "ink";
4
+ import { useTheme } from "@kenkaiiii/ggcoder/ui/theme";
5
+ import { useTasksState, tasksStore } from "./tasks-store.js";
6
+ import { bossStore } from "./boss-store.js";
7
+ import { projectColor } from "./colors.js";
8
+ import { COLORS } from "./branding.js";
9
+ function statusGlyph(status) {
10
+ switch (status) {
11
+ case "done":
12
+ return "✓";
13
+ case "in_progress":
14
+ return "~";
15
+ case "blocked":
16
+ return "✗";
17
+ case "skipped":
18
+ return "—";
19
+ default:
20
+ return " ";
21
+ }
22
+ }
23
+ /**
24
+ * Multi-project task overlay for gg-boss. Read-mostly: tasks are added by the
25
+ * boss agent (via add_task tool), so the overlay is just a backlog viewer with
26
+ * two actions — delete a stuck task, or run all pending across idle workers.
27
+ *
28
+ * Keybinds (all the user actually needs):
29
+ * ↑↓ / k j navigate
30
+ * d delete selected task
31
+ * r dispatch_pending across all idle workers (parallel fan-out)
32
+ * Esc close
33
+ */
34
+ export function BossTasksOverlay({ boss, workers, onClose, }) {
35
+ const theme = useTheme();
36
+ const tasksState = useTasksState();
37
+ const tasks = tasksState.tasks;
38
+ const [selectedIndex, setSelectedIndex] = useState(0);
39
+ const [status, setStatusMsg] = useState("");
40
+ const statusTimer = useRef(null);
41
+ const showStatus = useCallback((msg) => {
42
+ setStatusMsg(msg);
43
+ if (statusTimer.current)
44
+ clearTimeout(statusTimer.current);
45
+ statusTimer.current = setTimeout(() => setStatusMsg(""), 2500);
46
+ }, []);
47
+ // Group tasks by project (in worker order).
48
+ const groupedTasks = workers.map((w) => ({
49
+ project: w.name,
50
+ tasks: tasks
51
+ .filter((t) => t.project === w.name)
52
+ .sort((a, b) => a.createdAt.localeCompare(b.createdAt)),
53
+ }));
54
+ const flatTasks = groupedTasks.flatMap((g) => g.tasks);
55
+ // Clamp selection.
56
+ useEffect(() => {
57
+ if (flatTasks.length === 0) {
58
+ setSelectedIndex(0);
59
+ }
60
+ else if (selectedIndex >= flatTasks.length) {
61
+ setSelectedIndex(flatTasks.length - 1);
62
+ }
63
+ }, [flatTasks.length, selectedIndex]);
64
+ const selected = flatTasks[selectedIndex];
65
+ // Cap how many tasks render at once so the live-area height stays bounded.
66
+ // Ink's log-update mispositions the cursor when the live area is much
67
+ // larger than the next frame — going from a 30-line tasks pane back to a
68
+ // 5-line chat chrome was clipping the user's scrollback above on close.
69
+ // Mirrors ggcoder's `maxVisible = 15` cap. Selection stays visible by
70
+ // scrolling the window when the cursor reaches the bottom.
71
+ const MAX_VISIBLE = 12;
72
+ const startIdx = Math.max(0, Math.min(flatTasks.length - MAX_VISIBLE, selectedIndex - MAX_VISIBLE + 1, selectedIndex));
73
+ const endIdx = Math.min(flatTasks.length, startIdx + MAX_VISIBLE);
74
+ const visibleIdSet = new Set(flatTasks.slice(startIdx, endIdx).map((t) => t.id));
75
+ const showingTop = startIdx > 0;
76
+ const showingBottom = endIdx < flatTasks.length;
77
+ useInput((input, key) => {
78
+ if (key.escape) {
79
+ onClose();
80
+ return;
81
+ }
82
+ if (key.upArrow || input === "k") {
83
+ setSelectedIndex((i) => Math.max(0, i - 1));
84
+ return;
85
+ }
86
+ if (key.downArrow || input === "j") {
87
+ setSelectedIndex((i) => Math.min(flatTasks.length - 1, i + 1));
88
+ return;
89
+ }
90
+ if (input === "d" && selected) {
91
+ void tasksStore.remove(selected.id).then(() => showStatus("Deleted"));
92
+ return;
93
+ }
94
+ if (input === "r") {
95
+ // Close immediately so the user lands back in the chat view and can
96
+ // watch worker activity stream in. Dispatch fires in the background;
97
+ // worker_turn_complete events flow into history as normal.
98
+ onClose();
99
+ void (async () => {
100
+ const dispatched = [];
101
+ for (const w of workers) {
102
+ const next = tasksStore.nextPending(w.name);
103
+ if (!next)
104
+ continue;
105
+ const res = await boss.dispatchTaskById(next.id);
106
+ if (res.ok)
107
+ dispatched.push({ project: w.name, title: next.title });
108
+ }
109
+ if (dispatched.length === 0) {
110
+ bossStore.appendInfo("No pending tasks to run.", "info");
111
+ }
112
+ else {
113
+ bossStore.appendTaskDispatch(dispatched);
114
+ }
115
+ })();
116
+ return;
117
+ }
118
+ });
119
+ const doneCount = tasks.filter((t) => t.status === "done").length;
120
+ const inProgressCount = tasks.filter((t) => t.status === "in_progress").length;
121
+ const pendingCount = tasks.filter((t) => t.status === "pending").length;
122
+ const blockedCount = tasks.filter((t) => t.status === "blocked").length;
123
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: COLORS.primary, bold: true, children: "Tasks" }), _jsx(Text, { color: theme.textDim, children: ` · ${tasks.length} total · ` }), _jsx(CountsRow, { theme: theme, done: doneCount, active: inProgressCount, pending: pendingCount, blocked: blockedCount })] }), flatTasks.length === 0 && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: [" No tasks yet. Ask the boss to plan some — e.g. ", _jsx(Text, { color: theme.text, children: "\"plan some work\"" }), "."] }) })), showingTop && _jsx(Text, { color: theme.textDim, children: ` ↑ ${startIdx} more above` }), groupedTasks.map((group, gIdx) => {
124
+ const startInFlat = groupedTasks.slice(0, gIdx).reduce((acc, g) => acc + g.tasks.length, 0);
125
+ const visibleInSection = group.tasks.filter((t) => visibleIdSet.has(t.id));
126
+ if (visibleInSection.length === 0)
127
+ return null;
128
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { children: [_jsx(Text, { color: projectColor(group.project), bold: true, children: group.project }), _jsx(Text, { color: theme.textDim, children: ` · ${group.tasks.length}` })] }), visibleInSection.map((task) => {
129
+ const realIdx = startInFlat + group.tasks.indexOf(task);
130
+ const isSelected = realIdx === selectedIndex;
131
+ const prefix = isSelected ? "❯ " : " ";
132
+ const glyph = statusGlyph(task.status);
133
+ const color = isSelected
134
+ ? theme.primary
135
+ : task.status === "done"
136
+ ? theme.success
137
+ : task.status === "in_progress"
138
+ ? theme.warning
139
+ : task.status === "blocked"
140
+ ? theme.error
141
+ : theme.text;
142
+ return (_jsxs(Text, { color: color, bold: isSelected, children: [prefix, "[", glyph, "] ", task.title] }, task.id));
143
+ })] }, group.project));
144
+ }), showingBottom && (_jsx(Text, { color: theme.textDim, children: ` ↓ ${flatTasks.length - endIdx} more below` })), status && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.success, children: " " + status }) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: [_jsx(Text, { color: theme.primary, children: "\u2191\u2193" }), " move · (", _jsx(Text, { color: theme.primary, children: "d" }), ")elete · (", _jsx(Text, { color: theme.primary, children: "r" }), ")un pending · ", _jsx(Text, { color: theme.primary, children: "ESC" }), " close"] }) })] }));
145
+ }
146
+ function CountsRow({ theme, done, active, pending, blocked, }) {
147
+ return (_jsxs(Text, { children: [_jsxs(Text, { color: theme.success, children: [done, " done"] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: theme.warning, children: [active, " active"] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: theme.text, children: [pending, " pending"] }), blocked > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: theme.error, children: [blocked, " blocked"] })] }))] }));
148
+ }
149
+ //# sourceMappingURL=boss-tasks-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boss-tasks-overlay.js","sourceRoot":"","sources":["../src/boss-tasks-overlay.tsx"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -6,6 +6,7 @@ import { loadLinks } from "./links.js";
6
6
  import { runLinkCommand } from "./link-command.js";
7
7
  import { COLORS, clearScreen } from "./branding.js";
8
8
  import { renderBossApp } from "./orchestrator-app.js";
9
+ import { loadSettings } from "./settings.js";
9
10
  function parseProjectSpec(raw) {
10
11
  const eq = raw.indexOf("=");
11
12
  if (eq > 0) {
@@ -18,10 +19,6 @@ function parseProjectSpec(raw) {
18
19
  }
19
20
  function parseArgs(argv) {
20
21
  const args = {
21
- bossProvider: "anthropic",
22
- bossModel: "claude-opus-4-7",
23
- workerProvider: "anthropic",
24
- workerModel: "claude-sonnet-4-6",
25
22
  projects: [],
26
23
  };
27
24
  for (let i = 0; i < argv.length; i++) {
@@ -117,11 +114,15 @@ async function runOrchestrator(args) {
117
114
  process.stdout.write(chalk.hex(COLORS.textDim)(" Initializing ") +
118
115
  chalk.hex(COLORS.primary)("GG Boss") +
119
116
  chalk.hex(COLORS.textDim)(`…\n Spinning up ${args.projects.length} worker${args.projects.length === 1 ? "" : "s"}.\n`));
117
+ // Resolve final boss/worker models: CLI flags > saved settings > defaults.
118
+ // Settings persist user choices made via /model boss / /model workers across
119
+ // restarts so the user doesn't have to re-pick every session.
120
+ const settings = await loadSettings();
120
121
  const boss = new GGBoss({
121
- bossProvider: args.bossProvider,
122
- bossModel: args.bossModel,
123
- workerProvider: args.workerProvider,
124
- workerModel: args.workerModel,
122
+ bossProvider: args.bossProvider ?? settings.bossProvider ?? "anthropic",
123
+ bossModel: args.bossModel ?? settings.bossModel ?? "claude-opus-4-7",
124
+ workerProvider: args.workerProvider ?? settings.workerProvider ?? "anthropic",
125
+ workerModel: args.workerModel ?? settings.workerModel ?? "claude-sonnet-4-6",
125
126
  projects: args.projects,
126
127
  continueRecent: args.continueRecent,
127
128
  resumeSessionId: args.resumeSessionId,