kumo-cli 1.2.3 → 1.3.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 (50) hide show
  1. package/README.md +5 -4
  2. package/dist/auth/credentialsStore.js +8 -6
  3. package/dist/auth/credentialsStore.js.map +1 -1
  4. package/dist/claude/conversation.js +26 -2
  5. package/dist/claude/conversation.js.map +1 -1
  6. package/dist/claude/goal.js +100 -0
  7. package/dist/claude/goal.js.map +1 -0
  8. package/dist/claude/sessionTasks.js +112 -0
  9. package/dist/claude/sessionTasks.js.map +1 -0
  10. package/dist/claude/transcriptParser.js +11 -0
  11. package/dist/claude/transcriptParser.js.map +1 -1
  12. package/dist/commands/agentPrompt.js +68 -4
  13. package/dist/commands/agentPrompt.js.map +1 -1
  14. package/dist/core/config.js +3 -2
  15. package/dist/core/config.js.map +1 -1
  16. package/dist/engine/claudeArgs.js +5 -0
  17. package/dist/engine/claudeArgs.js.map +1 -1
  18. package/dist/engine/claudeConfig.js +23 -9
  19. package/dist/engine/claudeConfig.js.map +1 -1
  20. package/dist/engine/designLogin.js +112 -0
  21. package/dist/engine/designLogin.js.map +1 -0
  22. package/dist/engine/liveTranscript.js +27 -4
  23. package/dist/engine/liveTranscript.js.map +1 -1
  24. package/dist/engine/notices.js +53 -0
  25. package/dist/engine/notices.js.map +1 -0
  26. package/dist/engine/sessionManager.js +81 -3
  27. package/dist/engine/sessionManager.js.map +1 -1
  28. package/dist/engine/sessionModes.js +50 -0
  29. package/dist/engine/sessionModes.js.map +1 -0
  30. package/dist/engine/settingsCommands.js +24 -0
  31. package/dist/engine/settingsCommands.js.map +1 -1
  32. package/dist/engine/streamSession.js +99 -6
  33. package/dist/engine/streamSession.js.map +1 -1
  34. package/dist/engine/taskTracker.js +87 -13
  35. package/dist/engine/taskTracker.js.map +1 -1
  36. package/dist/engine/toolLabels.js +5 -0
  37. package/dist/engine/toolLabels.js.map +1 -1
  38. package/dist/handlers/runtimeHandlers.js +23 -1
  39. package/dist/handlers/runtimeHandlers.js.map +1 -1
  40. package/dist/handlers/sessionHandlers.js +9 -1
  41. package/dist/handlers/sessionHandlers.js.map +1 -1
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/services/bootstrapService.js +1 -1
  45. package/dist/services/bootstrapService.js.map +1 -1
  46. package/dist/services/cliRuntime.js +14 -0
  47. package/dist/services/cliRuntime.js.map +1 -1
  48. package/dist/services/sessionService.js +27 -4
  49. package/dist/services/sessionService.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,9 +1,11 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { log } from '../core/logger.js';
3
- import { findSessionJsonl } from '../services/sessionService.js';
3
+ import { findSessionJsonl, readSessionGoal, readSessionTasks } from '../services/sessionService.js';
4
4
  import { readAuthStatus } from './settingsCommands.js';
5
5
  import { CONTROL_WHITELIST, LIVE_ONLY_CONTROLS, OWN_PROCESS_CONTROLS, SESSION_SCOPED_CONTROLS, controlPayload, controlTimeoutMs, sanitizeControlResponse, withoutProviderConfig } from './claudeConfig.js';
6
+ import { isPermissionMode } from './permissions.js';
6
7
  import { ClaudeLogin } from './claudeLogin.js';
8
+ import { DesignLogin } from './designLogin.js';
7
9
  import { ProbePool } from './probePool.js';
8
10
  import { NOT_LOGGED_IN_MESSAGE, StreamSession } from './streamSession.js';
9
11
  export const MAX_LIVE_SESSIONS = 6;
@@ -18,6 +20,10 @@ export class SessionManager {
18
20
  config = null;
19
21
  // claude's oauth in a throwaway process while the user signs in
20
22
  login;
23
+ // claude design's own sign-in (`claude design-login`)
24
+ designLogin = new DesignLogin({
25
+ onFinish: (ok, message) => this.options.emit({ type: 'claude_design_login_result', ok, ...(message ? { message } : {}) }),
26
+ });
21
27
  probing = null;
22
28
  probes = new ProbePool(() => this.startProbe());
23
29
  maxLive;
@@ -46,11 +52,13 @@ export class SessionManager {
46
52
  this.recentId = sessionId;
47
53
  const mode = opts.permissionMode && this.permits(opts.permissionMode) ? opts.permissionMode : undefined;
48
54
  let entry = this.entries.get(sessionId);
55
+ if (mode)
56
+ this.rememberMode(sessionId, mode);
49
57
  if (!entry) {
50
58
  entry = {
51
59
  sessionId,
52
60
  model: opts.model,
53
- permissionMode: mode ?? this.defaultPermissionMode,
61
+ permissionMode: mode ?? this.savedMode(sessionId) ?? this.defaultPermissionMode,
54
62
  session: null,
55
63
  starting: null,
56
64
  restartWhenIdle: false,
@@ -66,6 +74,24 @@ export class SessionManager {
66
74
  return true;
67
75
  }
68
76
  has(sessionId) { return this.entries.has(sessionId); }
77
+ // the mode the session runs with, or will run with once it spawns
78
+ permissionModeOf(sessionId) {
79
+ const entry = this.entryFor(sessionId);
80
+ return entry.session?.alive ? entry.session.permissionMode : entry.permissionMode;
81
+ }
82
+ // a restarted cli brings each session's mode back, but bypass only as auto: running every tool
83
+ // unasked is never resumed without the user choosing it again
84
+ savedMode(sessionId) {
85
+ const mode = this.options.modeStore?.get(sessionId);
86
+ return mode === 'bypassPermissions' ? 'auto' : mode;
87
+ }
88
+ // a session that never left the default stays out of the store
89
+ rememberMode(sessionId, mode) {
90
+ const store = this.options.modeStore;
91
+ if (!store || (store.get(sessionId) ?? this.defaultPermissionMode) === mode)
92
+ return;
93
+ store.set(sessionId, mode);
94
+ }
69
95
  isRunning(sessionId) {
70
96
  return this.entries.get(sessionId)?.session?.alive === true;
71
97
  }
@@ -122,6 +148,7 @@ export class SessionManager {
122
148
  throw new Error('bypass permissions is not enabled on this machine (start kumo with --dangerously-skip-permissions)');
123
149
  }
124
150
  entry.permissionMode = mode;
151
+ this.rememberMode(sessionId, mode);
125
152
  this.options.emit({ type: 'claude_status', sessionId, permissionMode: mode });
126
153
  }
127
154
  // restart a live session with --resume so new spawn settings apply; deferred while a turn runs
@@ -236,6 +263,16 @@ export class SessionManager {
236
263
  cancelLogin() {
237
264
  return this.login.cancel();
238
265
  }
266
+ // claude design's sign-in: the page to open on the phone, then the code it shows
267
+ startDesignLogin() {
268
+ return this.designLogin.start(process.cwd());
269
+ }
270
+ submitDesignCode(code) {
271
+ this.designLogin.submitCode(code);
272
+ }
273
+ cancelDesignLogin() {
274
+ this.designLogin.cancel();
275
+ }
239
276
  async finishLogin(error) {
240
277
  this.options.emit({ type: 'claude_login_result', ok: !error, ...(error ? { error: error.message } : {}) });
241
278
  await this.refreshAuth();
@@ -271,6 +308,7 @@ export class SessionManager {
271
308
  // forget first, so a restart running meanwhile does not bring it back
272
309
  if (opts.forget) {
273
310
  this.entries.delete(sessionId);
311
+ this.options.modeStore?.delete(sessionId);
274
312
  if (this.recentId === sessionId)
275
313
  this.recentId = null;
276
314
  }
@@ -278,11 +316,38 @@ export class SessionManager {
278
316
  await entry.starting.catch(() => undefined);
279
317
  await entry.session?.close(opts.reason ?? 'closed');
280
318
  }
319
+ // end the session's process, its running turn interrupted first; the next prompt resumes it
320
+ async stop(sessionId) {
321
+ const session = this.entries.get(sessionId)?.session;
322
+ if (!session?.alive)
323
+ return;
324
+ if (session.state !== 'idle')
325
+ await session.interrupt().catch(() => undefined);
326
+ await this.close(sessionId, { reason: 'stopped' });
327
+ }
281
328
  async closeAll() {
282
329
  await Promise.all([...this.entries.keys()].map((sessionId) => this.close(sessionId)));
330
+ this.designLogin.cancel();
283
331
  await Promise.all([this.probes.close(), this.login.cancel()]);
284
332
  }
285
333
  // emit the current turn state and pending permissions of a live session (re-attach)
334
+ // the tasks of the session's live process; undefined without one
335
+ liveTasks(sessionId) {
336
+ const session = this.entries.get(sessionId)?.session;
337
+ return session?.alive ? session.taskList : undefined;
338
+ }
339
+ // the session's /goal: its live process's, else what its jsonl tells
340
+ goalOf(sessionId) {
341
+ const session = this.entries.get(sessionId)?.session;
342
+ if (session?.alive)
343
+ return session.goal;
344
+ try {
345
+ return readSessionGoal(sessionId);
346
+ }
347
+ catch {
348
+ return null;
349
+ }
350
+ }
286
351
  replay(sessionId) {
287
352
  const session = this.entries.get(sessionId)?.session;
288
353
  if (!session?.alive)
@@ -310,6 +375,7 @@ export class SessionManager {
310
375
  pending: session.pendingRequests,
311
376
  queued: session.queuedPrompts,
312
377
  tasks: session.taskList,
378
+ goal: session.goal,
313
379
  });
314
380
  }
315
381
  return { sessions };
@@ -410,7 +476,13 @@ export class SessionManager {
410
476
  sessionId: entry.sessionId,
411
477
  permissionMode,
412
478
  allowBypass: this.allowBypass,
413
- emit: this.options.emit,
479
+ // a live process reports every mode change, from the app or from claude (a plan approved)
480
+ emit: (msg) => {
481
+ if (msg['type'] === 'claude_status' && isPermissionMode(msg['permissionMode'])) {
482
+ this.rememberMode(entry.sessionId, msg['permissionMode']);
483
+ }
484
+ this.options.emit(msg);
485
+ },
414
486
  console: this.options.console,
415
487
  closeGraceMs: this.options.closeGraceMs,
416
488
  onStateChange: (state) => {
@@ -420,12 +492,18 @@ export class SessionManager {
420
492
  },
421
493
  onConfig: (patch) => this.updateConfig(ownProvider ? withoutProviderConfig(patch) : patch),
422
494
  onAuthFailure: () => { void this.handleAuthFailure(entry.sessionId); },
495
+ readGoal: () => readSessionGoal(entry.sessionId),
423
496
  startupControls: () => [
424
497
  ...(entry.thinking === false ? [{ subtype: 'set_max_thinking_tokens', max_thinking_tokens: 0 }] : []),
425
498
  ...(entry.fast ? [{ subtype: 'apply_flag_settings', settings: { fastMode: true } }] : []),
426
499
  ],
427
500
  onExit: () => this.handleExit(entry, session),
428
501
  });
502
+ // what earlier processes of the chat ran stays listed, and claude takes an active goal up again
503
+ if (resume) {
504
+ session.seedTasks(readSessionTasks(entry.sessionId));
505
+ session.goal = readSessionGoal(entry.sessionId);
506
+ }
429
507
  entry.session = session;
430
508
  entry.spawnedModel = model;
431
509
  this.options.console?.(`[${entry.sessionId.slice(0, 4)}] ● ${resume ? 'resume' : 'new'} session ${entry.sessionId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/engine/sessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/engine/sessionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { kumoDir } from '../auth/credentialsStore.js';
4
+ import { log } from '../core/logger.js';
5
+ import { isPermissionMode } from './permissions.js';
6
+ // the newest this many sessions keep their mode; older ones fall back to the default
7
+ const MAX_SESSIONS = 500;
8
+ // each session's permission mode, kept in the kumo folder so a restarted cli brings it back
9
+ export function fileSessionModeStore(file = path.join(kumoDir(), 'session-modes.json')) {
10
+ const modes = {};
11
+ try {
12
+ const raw = JSON.parse(fs.readFileSync(file, 'utf-8'));
13
+ for (const [sessionId, mode] of Object.entries(raw))
14
+ if (isPermissionMode(mode))
15
+ modes[sessionId] = mode;
16
+ }
17
+ catch {
18
+ // nothing saved yet
19
+ }
20
+ const save = () => {
21
+ const ids = Object.keys(modes);
22
+ for (const sessionId of ids.slice(0, Math.max(0, ids.length - MAX_SESSIONS)))
23
+ delete modes[sessionId];
24
+ try {
25
+ fs.mkdirSync(path.dirname(file), { recursive: true });
26
+ fs.writeFileSync(file, JSON.stringify(modes), 'utf-8');
27
+ }
28
+ catch (error) {
29
+ log(`[session-modes] save failed: ${error}`);
30
+ }
31
+ };
32
+ return {
33
+ get: (sessionId) => modes[sessionId],
34
+ set: (sessionId, mode) => {
35
+ if (modes[sessionId] === mode)
36
+ return;
37
+ // re-inserted so the newest change is the last key, the one pruned last
38
+ delete modes[sessionId];
39
+ modes[sessionId] = mode;
40
+ save();
41
+ },
42
+ delete: (sessionId) => {
43
+ if (!(sessionId in modes))
44
+ return;
45
+ delete modes[sessionId];
46
+ save();
47
+ },
48
+ };
49
+ }
50
+ //# sourceMappingURL=sessionModes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionModes.js","sourceRoot":"","sources":["../../src/engine/sessionModes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,qFAAqF;AACrF,MAAM,YAAY,GAAG,GAAG,CAAC;AAQzB,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,oBAAoB,CAAC;IACpF,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;QAClF,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC3G,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IACD,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACpC,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;gBAAE,OAAO;YACtC,wEAAwE;YACxE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE;YACpB,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;gBAAE,OAAO;YAClC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -121,6 +121,10 @@ const SETTING_EDITS = {
121
121
  return Object.keys(out).length > 0 ? out : null;
122
122
  },
123
123
  },
124
+ chrome: {
125
+ subcommand: 'edit-chrome-settings',
126
+ validate: (edit) => (typeof edit['enabledByDefault'] === 'boolean' ? { enabledByDefault: edit['enabledByDefault'] } : null),
127
+ },
124
128
  };
125
129
  // the last json line a `claude edit-*` / `claude plugin` command printed
126
130
  function lastJson(stdout) {
@@ -145,6 +149,9 @@ export async function editSetting(kind, edit, cwd) {
145
149
  throw new Error(`invalid ${kind} change`);
146
150
  if (kind === 'hook' && input['source'] === 'userSettings')
147
151
  assertUserConfigAllowed();
152
+ // every claude started outside an editor then drives the browser unasked: only with the opt-in
153
+ if (kind === 'chrome' && input['enabledByDefault'] === true)
154
+ assertUserConfigAllowed();
148
155
  const result = await runClaude([spec.subcommand, '--json'], input, cwd);
149
156
  const reply = lastJson(result.stdout);
150
157
  if (reply && reply['ok'] === false)
@@ -153,6 +160,23 @@ export async function editSetting(kind, edit, cwd) {
153
160
  throw failure(result, `save the ${kind} change`);
154
161
  return reply ?? {};
155
162
  }
163
+ // whether Claude Design's design-system access is authorized on this machine
164
+ // (`claude design-login --json --status`)
165
+ export async function readDesignStatus(cwd) {
166
+ const result = await runClaude(['design-login', '--json', '--status'], {}, cwd);
167
+ const reply = lastJson(result.stdout);
168
+ if (!reply || typeof reply['signed_in'] !== 'boolean') {
169
+ // claude says in plain text when it can't tell, e.g. inside another claude session
170
+ const said = stripAnsi(result.stdout).trim();
171
+ throw said ? new Error(said) : failure(result, 'read the Claude Design sign-in state');
172
+ }
173
+ return {
174
+ available: reply['available'] === true,
175
+ signed_in: reply['signed_in'],
176
+ can_sign_in_here: reply['can_sign_in_here'] === true,
177
+ ...(typeof reply['reason'] === 'string' ? { reason: reply['reason'] } : {}),
178
+ };
179
+ }
156
180
  const PLUGIN_ID = /^\w[\w.@:/+-]{0,199}$/;
157
181
  const PLUGIN_SCOPES = new Set(['user', 'project', 'local']);
158
182
  const PLUGIN_TIMEOUT_MS = 180_000;
@@ -1 +1 @@
1
- {"version":3,"file":"settingsCommands.js","sourceRoot":"","sources":["../../src/engine/settingsCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsCommands.js","sourceRoot":"","sources":["../../src/engine/settingsCommands.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,9 @@ import { LiveTranscript } from './liveTranscript.js';
8
8
  import { TaskTracker } from './taskTracker.js';
9
9
  import { readNdjson, writeNdjson } from './ndjson.js';
10
10
  import { buildPermissionResult, isPermissionMode, toPermissionRequest, } from './permissions.js';
11
- import { str } from '../utils/json.js';
11
+ import { obj, str } from '../utils/json.js';
12
+ import { goalAfterFeedback, goalAfterOutput, goalEndText, goalKind } from '../claude/goal.js';
13
+ import { deniedText, notificationLevel, rateLimitText, retryLabel } from './notices.js';
12
14
  import { killTree, OWN_GROUP, trackGroup, untrackGroup } from './processTree.js';
13
15
  import { describeToolUse, shorten } from './toolLabels.js';
14
16
  export { describeToolUse };
@@ -30,6 +32,8 @@ export class StreamSession {
30
32
  // claude's fast_mode_state: off | on | cooldown
31
33
  fastMode;
32
34
  label;
35
+ // the session's /goal, ended ones kept for how they ended
36
+ goal = null;
33
37
  lastActivity = Date.now();
34
38
  initResponse = null;
35
39
  ready = Promise.resolve();
@@ -50,6 +54,8 @@ export class StreamSession {
50
54
  queued = new Set();
51
55
  // the prompt claude is working on
52
56
  current = null;
57
+ // the last usage limit state told (rate_limit_event), so each change is told once
58
+ rateLimit = '';
53
59
  allowBypass;
54
60
  constructor(options) {
55
61
  this.options = options;
@@ -72,6 +78,8 @@ export class StreamSession {
72
78
  get pendingRequests() { return [...this.pending.values()]; }
73
79
  get queuedPrompts() { return [...this.queued]; }
74
80
  get taskList() { return this.tasks.snapshot().map((task) => ({ ...task })); }
81
+ // tasks an earlier process of this session ran (a resumed session), before it starts
82
+ seedTasks(tasks) { this.tasks.seed(tasks); }
75
83
  // spawn the process and kick off initialize; user messages queue until it succeeds
76
84
  start(spec) {
77
85
  if (this.alive)
@@ -144,6 +152,7 @@ export class StreamSession {
144
152
  else {
145
153
  this.queue.push(msg);
146
154
  }
155
+ this.transcript.promptSent(uuid);
147
156
  this.turnStartedAt = Date.now();
148
157
  this.lastActivity = Date.now();
149
158
  this.print(`▶ prompt${images.length ? ` (+${images.length} image)` : ''}: ${shorten(text)}`);
@@ -263,9 +272,11 @@ export class StreamSession {
263
272
  return;
264
273
  case 'assistant':
265
274
  this.handleAssistant(msg);
266
- this.transcript.handle(msg);
275
+ if (!this.handleGoalOutput(msg))
276
+ this.transcript.handle(msg);
267
277
  return;
268
278
  case 'user':
279
+ this.handleGoalFeedback(msg);
269
280
  this.transcript.handle(msg);
270
281
  return;
271
282
  case 'command_lifecycle':
@@ -274,9 +285,71 @@ export class StreamSession {
274
285
  case 'result':
275
286
  this.handleResult(msg);
276
287
  return;
288
+ case 'rate_limit_event':
289
+ this.handleRateLimit(obj(msg['rate_limit_info']));
290
+ return;
277
291
  default: return;
278
292
  }
279
293
  }
294
+ static textOf(msg) {
295
+ const content = obj(msg['message'])['content'];
296
+ if (typeof content === 'string')
297
+ return content;
298
+ return Array.isArray(content) ? content.map(obj).filter((b) => b['type'] === 'text').map((b) => str(b['text'])).join('') : '';
299
+ }
300
+ // what /goal printed, as claude's own synthetic reply: a notice line instead of a reply
301
+ handleGoalOutput(msg) {
302
+ const message = obj(msg['message']);
303
+ if (str(message['model']) !== '<synthetic>' || msg['parent_tool_use_id'])
304
+ return false;
305
+ const text = StreamSession.textOf(msg).trim();
306
+ const goal = goalAfterOutput(text);
307
+ if (goal === undefined)
308
+ return false;
309
+ this.setGoal(goal);
310
+ this.transcript.notice(goalKind(goal), text, str(message['id']) || randomUUID());
311
+ return true;
312
+ }
313
+ // the evaluator judged the goal not met yet, and claude takes another turn
314
+ handleGoalFeedback(msg) {
315
+ if (msg['isSynthetic'] !== true)
316
+ return;
317
+ const goal = goalAfterFeedback(this.goal, StreamSession.textOf(msg));
318
+ if (goal)
319
+ this.setGoal(goal);
320
+ }
321
+ setGoal(goal) {
322
+ this.goal = goal;
323
+ this.emit({ type: 'claude_goal', sessionId: this.sessionId, goal });
324
+ }
325
+ // after a turn, how an active goal ended is only in the jsonl, which claude may still be writing
326
+ refreshGoal(retry = true) {
327
+ const current = this.goal;
328
+ if (!this.options.readGoal || !current?.active)
329
+ return;
330
+ let goal = null;
331
+ try {
332
+ goal = this.options.readGoal();
333
+ }
334
+ catch { }
335
+ if (goal && !goal.active && goal.condition === current.condition) {
336
+ this.setGoal(goal);
337
+ this.transcript.notice(goalKind(goal), goalEndText(goal), randomUUID());
338
+ return;
339
+ }
340
+ if (retry)
341
+ setTimeout(() => this.refreshGoal(false), 500).unref();
342
+ }
343
+ // a usage limit getting close or reached, told once each time its state changes
344
+ handleRateLimit(info) {
345
+ const key = `${str(info['status'])}:${str(info['rateLimitType'])}`;
346
+ if (key === this.rateLimit)
347
+ return;
348
+ this.rateLimit = key;
349
+ const message = rateLimitText(info);
350
+ if (message)
351
+ this.emit({ type: 'notification', sessionId: this.sessionId, level: str(info['status']) === 'rejected' ? 'error' : 'warning', message });
352
+ }
280
353
  handleSystem(msg) {
281
354
  const subtype = msg['subtype'];
282
355
  if (subtype === 'init') {
@@ -311,6 +384,22 @@ export class StreamSession {
311
384
  this.transcript.handle(msg);
312
385
  return;
313
386
  }
387
+ if (subtype === 'api_retry') {
388
+ this.label = retryLabel(msg);
389
+ if (this.state !== 'idle')
390
+ this.setState(this.state, true);
391
+ return;
392
+ }
393
+ if (subtype === 'permission_denied') {
394
+ this.transcript.notice('denied', deniedText(msg), str(msg['uuid']) || randomUUID());
395
+ return;
396
+ }
397
+ if (subtype === 'notification') {
398
+ const message = str(msg['text']);
399
+ if (message)
400
+ this.emit({ type: 'notification', sessionId: this.sessionId, level: notificationLevel(msg), message });
401
+ return;
402
+ }
314
403
  if (this.tasks.handle(msg)) {
315
404
  this.emitTasks();
316
405
  return;
@@ -332,9 +421,14 @@ export class StreamSession {
332
421
  handleAssistant(msg) {
333
422
  if (msg['error'] === 'authentication_failed')
334
423
  this.reportAuthFailure();
424
+ const message = msg['message'];
425
+ // a subagent's message names the model it runs; <synthetic> is claude's own notice
426
+ const model = str(message?.['model']);
427
+ const parent = str(msg['parent_tool_use_id']);
428
+ if (parent && model && !model.startsWith('<') && this.tasks.noteModel(parent, model))
429
+ this.emitTasks();
335
430
  if (this.state === 'idle' && !this.opensTurn(msg))
336
431
  return;
337
- const message = msg['message'];
338
432
  const content = Array.isArray(message?.['content']) ? message['content'] : [];
339
433
  const toolUse = [...content].reverse().find((block) => block['type'] === 'tool_use');
340
434
  let label = this.label;
@@ -370,6 +464,7 @@ export class StreamSession {
370
464
  numTurns: msg['num_turns'],
371
465
  ...(errors ? { errors } : {}),
372
466
  });
467
+ this.refreshGoal();
373
468
  const seconds = (durationMs / 1000).toFixed(1);
374
469
  this.print(isError ? `✗ ${subtype}${msg['terminal_reason'] ? ` (${str(msg['terminal_reason'])})` : ''} ${seconds}s` : `✓ done ${seconds}s`);
375
470
  this.label = undefined;
@@ -407,8 +502,6 @@ export class StreamSession {
407
502
  changed = this.queued.delete(uuid);
408
503
  if (state === 'started') {
409
504
  this.current = uuid;
410
- if (this.tasks.dropEnded())
411
- this.emitTasks();
412
505
  }
413
506
  else if (this.current === uuid) {
414
507
  this.current = null;
@@ -489,7 +582,7 @@ export class StreamSession {
489
582
  this.queued.clear();
490
583
  this.emitQueue();
491
584
  }
492
- if (this.tasks.clear())
585
+ if (this.tasks.endRunning())
493
586
  this.emitTasks();
494
587
  for (const requestId of [...this.pending.keys()]) {
495
588
  this.pending.delete(requestId);