@kdonev/termscape 0.1.4 → 0.1.6

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 (61) hide show
  1. package/README.md +17 -7
  2. package/dist/agents/profiles.d.ts +16 -0
  3. package/dist/agents/profiles.d.ts.map +1 -1
  4. package/dist/agents/profiles.js +43 -5
  5. package/dist/agents/profiles.js.map +1 -1
  6. package/dist/agents/templates.d.ts +15 -0
  7. package/dist/agents/templates.d.ts.map +1 -1
  8. package/dist/agents/templates.js +16 -0
  9. package/dist/agents/templates.js.map +1 -1
  10. package/dist/agents/wiring.d.ts.map +1 -1
  11. package/dist/agents/wiring.js +33 -4
  12. package/dist/agents/wiring.js.map +1 -1
  13. package/dist/cli-args.d.ts +4 -0
  14. package/dist/cli-args.d.ts.map +1 -1
  15. package/dist/cli-args.js +2 -0
  16. package/dist/cli-args.js.map +1 -1
  17. package/dist/cli.js +38 -16
  18. package/dist/cli.js.map +1 -1
  19. package/dist/db/migrations.d.ts.map +1 -1
  20. package/dist/db/migrations.js +12 -0
  21. package/dist/db/migrations.js.map +1 -1
  22. package/dist/db/store.d.ts +7 -0
  23. package/dist/db/store.d.ts.map +1 -1
  24. package/dist/db/store.js +16 -0
  25. package/dist/db/store.js.map +1 -1
  26. package/dist/hub.d.ts +85 -25
  27. package/dist/hub.d.ts.map +1 -1
  28. package/dist/hub.js +148 -28
  29. package/dist/hub.js.map +1 -1
  30. package/dist/hub.tgz +0 -0
  31. package/dist/protocol/peer.d.ts +17 -0
  32. package/dist/protocol/peer.d.ts.map +1 -1
  33. package/dist/protocol/peer.js +30 -0
  34. package/dist/protocol/peer.js.map +1 -1
  35. package/dist/remote/peer-serve.d.ts.map +1 -1
  36. package/dist/remote/peer-serve.js +1 -0
  37. package/dist/remote/peer-serve.js.map +1 -1
  38. package/dist/remote/registry.d.ts +1 -0
  39. package/dist/remote/registry.d.ts.map +1 -1
  40. package/dist/remote/registry.js.map +1 -1
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +18 -7
  43. package/dist/server.js.map +1 -1
  44. package/dist/session/manager.d.ts +14 -0
  45. package/dist/session/manager.d.ts.map +1 -1
  46. package/dist/session/manager.js +28 -0
  47. package/dist/session/manager.js.map +1 -1
  48. package/dist/window/app-window.d.ts +2 -0
  49. package/dist/window/app-window.d.ts.map +1 -0
  50. package/dist/window/app-window.js +117 -0
  51. package/dist/window/app-window.js.map +1 -0
  52. package/dist/window/open-window.d.ts +38 -0
  53. package/dist/window/open-window.d.ts.map +1 -0
  54. package/dist/window/open-window.js +76 -0
  55. package/dist/window/open-window.js.map +1 -0
  56. package/package.json +5 -2
  57. package/web/assets/index-BgOaaAFO.js +111 -0
  58. package/web/assets/index-gfbbNQK4.css +1 -0
  59. package/web/index.html +2 -2
  60. package/web/assets/index-Z03Ta4g3.js +0 -111
  61. package/web/assets/index-u_uCiaPD.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
package/dist/hub.d.ts CHANGED
@@ -12,7 +12,12 @@ import { SessionManager } from './session/manager.js';
12
12
  import type { AgentApi } from './mcp/server.js';
13
13
  import { PeerRegistry } from './remote/registry.js';
14
14
  import { type Uplink } from './remote/peer-serve.js';
15
- export declare const HUB_VERSION = "0.1.4";
15
+ /** One template as list_templates shows it: described, with its env named but not given. */
16
+ type TemplateView = Omit<AgentTemplateInfo, 'env' | 'error'> & {
17
+ envNames: string[];
18
+ error: string | null;
19
+ };
20
+ export declare const HUB_VERSION = "0.1.6";
16
21
  /** How many agents one workspace may hold, bounding runaway recursive spawns. */
17
22
  export declare const DEFAULT_SPAWN_CAP = 12;
18
23
  export interface HubOptions {
@@ -283,6 +288,14 @@ export declare class Hub extends EventEmitter implements AgentApi {
283
288
  cwd?: string;
284
289
  spawnedBy?: string | null;
285
290
  }): Promise<Session>;
291
+ /**
292
+ * Start a session from a template already resolved, locally or on a host.
293
+ *
294
+ * Split from startSession for spawn_agent on an attached hub, whose
295
+ * template may have been resolved by the canvas: resolving its id again
296
+ * here would look it up in a registry that has never heard of it.
297
+ */
298
+ private startPicked;
286
299
  /**
287
300
  * Start an agent whose template has already been resolved to values.
288
301
  *
@@ -300,11 +313,34 @@ export declare class Hub extends EventEmitter implements AgentApi {
300
313
  model?: string;
301
314
  effort?: string;
302
315
  prompt?: string;
316
+ /**
317
+ * What to type in again when the agent clears its conversation, if that
318
+ * is not all of `prompt`. spawn_agent is the case: its opening is the
319
+ * template's instruction and the spawning agent's task merged into one,
320
+ * and a cleared agent should be told who it is again, not handed the
321
+ * same task a second time. Null for nothing; absent for all of `prompt`.
322
+ */
323
+ restorePrompt?: string | null;
303
324
  env?: Record<string, string>;
304
325
  name?: string;
305
326
  cwd?: string;
306
327
  spawnedBy?: string | null;
307
328
  }): Promise<Session>;
329
+ /**
330
+ * The agent cleared its conversation, so type its opening in again.
331
+ *
332
+ * Claude Code's `/clear` starts a new conversation in the same process, and
333
+ * everything the opening instruction told it - the role a template gave it,
334
+ * what the human said it was for - goes with the old one. The brief does
335
+ * not need this when it rode in on a flag, since that is system prompt and
336
+ * survives; a typed brief is conversation like the instruction, so it goes
337
+ * first here exactly as it did at start.
338
+ *
339
+ * Reported by the agent's own SessionStart hook (see wiring.ts), so this
340
+ * fires for a clear and never for a start or a resume, which must not
341
+ * repeat the opening.
342
+ */
343
+ restoreOpeningAfterClear(sessionId: string): void;
308
344
  /**
309
345
  * The brief for an agent that cannot be handed one, or null.
310
346
  *
@@ -390,31 +426,32 @@ export declare class Hub extends EventEmitter implements AgentApi {
390
426
  * knowing that a template exists is what an agent needs to use it, and the
391
427
  * values in there are credentials more often than not.
392
428
  */
393
- listTemplates(sessionId: string, id?: string): Promise<{
394
- id: string;
395
- description: string;
396
- agent: string;
397
- model: string | null;
398
- effort: string | null;
399
- prompt: string | null;
400
- /** Names only, so a template's own config is described but not leaked. */
401
- envNames: string[];
402
- error: string | null;
403
- source: "derived" | "stored" | "file";
404
- } | {
405
- templates: {
406
- id: string;
407
- description: string;
408
- agent: string;
409
- model: string | null;
410
- effort: string | null;
411
- prompt: string | null;
412
- /** Names only, so a template's own config is described but not leaked. */
413
- envNames: string[];
414
- error: string | null;
415
- source: "derived" | "stored" | "file";
416
- }[];
429
+ listTemplates(sessionId: string, id?: string): Promise<TemplateView | {
430
+ templates: TemplateView[];
417
431
  }>;
432
+ /** This hub's own templates, in the shape list_templates answers with. */
433
+ private templateViews;
434
+ /**
435
+ * An attached hub's list: what the canvas has, over what this hub has.
436
+ *
437
+ * Templates are made on the canvas, so an agent over here that could only
438
+ * see this hub's own list never saw the ones a human had just added. The
439
+ * canvas's derived templates are left out - they describe the canvas
440
+ * machine's agents, and this machine's own are already in the local list.
441
+ * A link that cannot answer leaves the local list, which is still true.
442
+ */
443
+ private templateViewsWithCanvas;
444
+ /**
445
+ * The canvas answering an attached hub's spawn_agent: what `profile` means
446
+ * here, with the caller's own template standing in when it named none.
447
+ *
448
+ * `picked: null` for anything the canvas did not make - a bare agent id, or
449
+ * a template derived from one - which the asking hub then resolves against
450
+ * its own config, since that is what it will actually launch. A template
451
+ * that exists but cannot be used is an answer rather than a failed relay, so
452
+ * the asking hub can tell it apart from a link that did not answer.
453
+ */
454
+ private pickTemplateFor;
418
455
  /**
419
456
  * Every machine on the canvas, for `spawn_agent`'s `host` to name and
420
457
  * `list_hosts` to report. Relayed rather than answered locally on an
@@ -510,6 +547,22 @@ export declare class Hub extends EventEmitter implements AgentApi {
510
547
  to: string;
511
548
  deliveredAt: number | null;
512
549
  }>;
550
+ /**
551
+ * What a spawn_agent `profile` resolves to for this caller.
552
+ *
553
+ * The child starts the way its parent did: from the same template, so the
554
+ * model and effort the template chose are not silently dropped in favour
555
+ * of the bare agent's defaults. A template that has been deleted or has
556
+ * since failed to load falls back to the agent itself — a spawn must not
557
+ * die because config changed under a running parent; a profile the
558
+ * spawning agent named explicitly always wins.
559
+ *
560
+ * On an attached hub the canvas is asked first, because that is where
561
+ * templates are made (see templateViewsWithCanvas). Only a template the
562
+ * canvas actually holds comes back from there; anything else, and any link
563
+ * that does not answer, is resolved against this hub's own config.
564
+ */
565
+ private pickSpawnTemplate;
513
566
  spawnAgent(sessionId: string, opts: {
514
567
  profile?: string;
515
568
  name?: string;
@@ -550,6 +603,12 @@ export declare class Hub extends EventEmitter implements AgentApi {
550
603
  * before the program is reading it; the wait is for output to arrive and
551
604
  * then pause, which is as close to "it has drawn its prompt" as this gets
552
605
  * without knowing the CLI.
606
+ *
607
+ * `alreadyUp` is for a CLI that has been running all along and is only
608
+ * redrawing, as after a `/clear`. It may already have finished drawing by
609
+ * the time this is called, and an idle one then prints nothing at all - so
610
+ * the pause is counted from now as well as from its next output, and
611
+ * running out of patience still types rather than giving up.
553
612
  */
554
613
  private typeWhenReady;
555
614
  readScreen(sessionId: string, address: string, lines?: number): Promise<unknown>;
@@ -568,4 +627,5 @@ export declare class Hub extends EventEmitter implements AgentApi {
568
627
  messages(): Message[];
569
628
  shutdown(): void;
570
629
  }
630
+ export {};
571
631
  //# sourceMappingURL=hub.d.ts.map
package/dist/hub.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
package/dist/hub.js CHANGED
@@ -6,7 +6,7 @@ import { openDb } from './db/index.js';
6
6
  import { Store } from './db/store.js';
7
7
  import { briefMode, ProfileRegistry } from './agents/profiles.js';
8
8
  import { AgentDetector } from './agents/detect.js';
9
- import { TemplateRegistry, validate as validateTemplate } from './agents/templates.js';
9
+ import { TemplateRegistry, overlayCanvasTemplates, validate as validateTemplate, } from './agents/templates.js';
10
10
  import { TokenRegistry } from './agents/tokens.js';
11
11
  import { Shares } from './agents/shares.js';
12
12
  import { MessageRouter } from './agents/router.js';
@@ -19,7 +19,7 @@ import { deploy } from './remote/deployer.js';
19
19
  import { hubTarballPath } from './remote/tarball.js';
20
20
  import { paths } from './paths.js';
21
21
  import { checkFolder, folderName } from './folders.js';
22
- export const HUB_VERSION = '0.1.4';
22
+ export const HUB_VERSION = '0.1.6';
23
23
  /**
24
24
  * How long changes are pooled before every attached machine is told the
25
25
  * canvas has moved on. A status change is a session change, and agents change
@@ -142,6 +142,10 @@ export class Hub extends EventEmitter {
142
142
  return void done(this.readScreenAt(ask.address, ask.lines));
143
143
  case 'listHosts':
144
144
  return void done(Promise.resolve(this.hostsView(fromHostId)));
145
+ case 'listTemplates':
146
+ return void done(Promise.resolve(this.templateViews()));
147
+ case 'pickTemplate':
148
+ return void done(Promise.resolve(this.pickTemplateFor(ask)));
145
149
  case 'spawn':
146
150
  return void done(this.spawnFrom(ask, fromHostId));
147
151
  }
@@ -680,10 +684,19 @@ export class Hub extends EventEmitter {
680
684
  };
681
685
  }
682
686
  async startSession(opts) {
687
+ return this.startPicked(opts, this.resolveTemplate(opts));
688
+ }
689
+ /**
690
+ * Start a session from a template already resolved, locally or on a host.
691
+ *
692
+ * Split from startSession for spawn_agent on an attached hub, whose
693
+ * template may have been resolved by the canvas: resolving its id again
694
+ * here would look it up in a registry that has never heard of it.
695
+ */
696
+ async startPicked(opts, picked) {
683
697
  const ws = this.store.getWorkspace(opts.workspaceId);
684
698
  if (!ws)
685
699
  throw new Error(`unknown workspace ${opts.workspaceId}`);
686
- const picked = this.resolveTemplate(opts);
687
700
  // A workspace that belongs to a host runs its agents there. The peer owns
688
701
  // the PTY; what comes back is a session we show on our own canvas.
689
702
  if (ws.hostId) {
@@ -700,6 +713,7 @@ export class Hub extends EventEmitter {
700
713
  model: picked.model,
701
714
  effort: picked.effort,
702
715
  prompt: picked.prompt,
716
+ restorePrompt: picked.restorePrompt,
703
717
  // Values, like the model and the effort beside it: the template lives
704
718
  // here and the far side has never heard of it.
705
719
  env: picked.env,
@@ -752,8 +766,33 @@ export class Hub extends EventEmitter {
752
766
  .join('\n\n');
753
767
  if (opening)
754
768
  void this.deliverOpeningInstruction(session.id, opening);
769
+ this.store.setOpeningPrompt(session.id, opts.restorePrompt === undefined ? (opts.prompt ?? null) : opts.restorePrompt);
755
770
  return session;
756
771
  }
772
+ /**
773
+ * The agent cleared its conversation, so type its opening in again.
774
+ *
775
+ * Claude Code's `/clear` starts a new conversation in the same process, and
776
+ * everything the opening instruction told it - the role a template gave it,
777
+ * what the human said it was for - goes with the old one. The brief does
778
+ * not need this when it rode in on a flag, since that is system prompt and
779
+ * survives; a typed brief is conversation like the instruction, so it goes
780
+ * first here exactly as it did at start.
781
+ *
782
+ * Reported by the agent's own SessionStart hook (see wiring.ts), so this
783
+ * fires for a clear and never for a start or a resume, which must not
784
+ * repeat the opening.
785
+ */
786
+ restoreOpeningAfterClear(sessionId) {
787
+ const session = this.sessions.get(sessionId);
788
+ if (!session)
789
+ return;
790
+ const opening = [this.typedBrief(session), this.store.getOpeningPrompt(sessionId)]
791
+ .filter((part) => !!part)
792
+ .join('\n\n');
793
+ if (opening)
794
+ void this.typeWhenReady(sessionId, opening, { alreadyUp: true });
795
+ }
757
796
  /**
758
797
  * The brief for an agent that cannot be handed one, or null.
759
798
  *
@@ -919,7 +958,17 @@ export class Hub extends EventEmitter {
919
958
  */
920
959
  async listTemplates(sessionId, id) {
921
960
  this.requireSession(sessionId);
922
- const shown = this.templates.info().map((t) => ({
961
+ const shown = this.uplink?.attached ? await this.templateViewsWithCanvas() : this.templateViews();
962
+ if (id === undefined)
963
+ return { templates: shown };
964
+ const one = shown.find((t) => t.id === id);
965
+ if (!one)
966
+ throw new Error(`no template "${id}"`);
967
+ return one;
968
+ }
969
+ /** This hub's own templates, in the shape list_templates answers with. */
970
+ templateViews() {
971
+ return this.templates.info().map((t) => ({
923
972
  id: t.id,
924
973
  description: t.description,
925
974
  agent: t.agent,
@@ -934,12 +983,48 @@ export class Hub extends EventEmitter {
934
983
  error: t.error,
935
984
  source: t.source,
936
985
  }));
937
- if (id === undefined)
938
- return { templates: shown };
939
- const one = shown.find((t) => t.id === id);
940
- if (!one)
941
- throw new Error(`no template "${id}"`);
942
- return one;
986
+ }
987
+ /**
988
+ * An attached hub's list: what the canvas has, over what this hub has.
989
+ *
990
+ * Templates are made on the canvas, so an agent over here that could only
991
+ * see this hub's own list never saw the ones a human had just added. The
992
+ * canvas's derived templates are left out - they describe the canvas
993
+ * machine's agents, and this machine's own are already in the local list.
994
+ * A link that cannot answer leaves the local list, which is still true.
995
+ */
996
+ async templateViewsWithCanvas() {
997
+ const local = this.templateViews();
998
+ try {
999
+ const canvas = await this.uplink.ask({ t: 'listTemplates' });
1000
+ return overlayCanvasTemplates(canvas, local);
1001
+ }
1002
+ catch {
1003
+ return local;
1004
+ }
1005
+ }
1006
+ /**
1007
+ * The canvas answering an attached hub's spawn_agent: what `profile` means
1008
+ * here, with the caller's own template standing in when it named none.
1009
+ *
1010
+ * `picked: null` for anything the canvas did not make - a bare agent id, or
1011
+ * a template derived from one - which the asking hub then resolves against
1012
+ * its own config, since that is what it will actually launch. A template
1013
+ * that exists but cannot be used is an answer rather than a failed relay, so
1014
+ * the asking hub can tell it apart from a link that did not answer.
1015
+ */
1016
+ pickTemplateFor(ask) {
1017
+ const inherited = ask.parentTemplate ? this.templates.get(ask.parentTemplate) : null;
1018
+ const id = ask.profile ?? (inherited && !inherited.error ? ask.parentTemplate : ask.parentProfile);
1019
+ const t = this.templates.get(id);
1020
+ if (!t || t.source === 'derived')
1021
+ return { picked: null };
1022
+ try {
1023
+ return { picked: this.resolveTemplate({ profile: id }) };
1024
+ }
1025
+ catch (err) {
1026
+ return { error: err.message };
1027
+ }
943
1028
  }
944
1029
  /**
945
1030
  * Every machine on the canvas, for `spawn_agent`'s `host` to name and
@@ -1320,16 +1405,46 @@ export class Hub extends EventEmitter {
1320
1405
  throw err;
1321
1406
  }
1322
1407
  }
1408
+ /**
1409
+ * What a spawn_agent `profile` resolves to for this caller.
1410
+ *
1411
+ * The child starts the way its parent did: from the same template, so the
1412
+ * model and effort the template chose are not silently dropped in favour
1413
+ * of the bare agent's defaults. A template that has been deleted or has
1414
+ * since failed to load falls back to the agent itself — a spawn must not
1415
+ * die because config changed under a running parent; a profile the
1416
+ * spawning agent named explicitly always wins.
1417
+ *
1418
+ * On an attached hub the canvas is asked first, because that is where
1419
+ * templates are made (see templateViewsWithCanvas). Only a template the
1420
+ * canvas actually holds comes back from there; anything else, and any link
1421
+ * that does not answer, is resolved against this hub's own config.
1422
+ */
1423
+ async pickSpawnTemplate(me, profile) {
1424
+ if (this.uplink?.attached) {
1425
+ let answer = null;
1426
+ try {
1427
+ answer = await this.uplink.ask({
1428
+ t: 'pickTemplate',
1429
+ profile,
1430
+ parentTemplate: me.template,
1431
+ parentProfile: me.profile,
1432
+ });
1433
+ }
1434
+ catch {
1435
+ // The link, not the template: resolve here as if there were none.
1436
+ }
1437
+ if (answer && 'error' in answer)
1438
+ throw new Error(answer.error);
1439
+ if (answer?.picked)
1440
+ return answer.picked;
1441
+ }
1442
+ const inherited = me.template ? this.templates.get(me.template) : null;
1443
+ const inherit = profile ?? (inherited && !inherited.error ? me.template : me.profile);
1444
+ return this.resolveTemplate({ profile: inherit });
1445
+ }
1323
1446
  async spawnAgent(sessionId, opts) {
1324
1447
  const me = this.requireSession(sessionId);
1325
- // The child starts the way its parent did: from the same template, so the
1326
- // model and effort the template chose are not silently dropped in favour
1327
- // of the bare agent's defaults. A template that has been deleted or has
1328
- // since failed to load falls back to the agent itself — a spawn must not
1329
- // die because config changed under a running parent; a profile the
1330
- // spawning agent named explicitly always wins.
1331
- const inherited = me.template ? this.templates.get(me.template) : null;
1332
- const inherit = opts.profile ?? (inherited && !inherited.error ? me.template : me.profile);
1333
1448
  /*
1334
1449
  * Resolved, and the opening instruction built, ahead of the workspace: a
1335
1450
  * `host` needs the resolved agent id before it can even ask whether that
@@ -1342,7 +1457,7 @@ export class Hub extends EventEmitter {
1342
1457
  * order, so the opening merges here and rides to the child however it
1343
1458
  * gets there.
1344
1459
  */
1345
- const picked = this.resolveTemplate({ profile: inherit });
1460
+ const picked = await this.pickSpawnTemplate(me, opts.profile);
1346
1461
  const instruction = opts.prompt ? `[from ${me.address}] ${opts.prompt}` : null;
1347
1462
  const opening = [picked.prompt, instruction].filter(Boolean).join('\n\n') || undefined;
1348
1463
  // A `host` naming something beyond this hub's own machine has to go up
@@ -1362,6 +1477,7 @@ export class Hub extends EventEmitter {
1362
1477
  effort: picked.effort,
1363
1478
  env: picked.env,
1364
1479
  opening,
1480
+ restore: picked.prompt ?? null,
1365
1481
  promptGiven: !!opts.prompt,
1366
1482
  }, { timeoutMs: SPAWN_RELAY_TIMEOUT_MS });
1367
1483
  }
@@ -1388,13 +1504,7 @@ export class Hub extends EventEmitter {
1388
1504
  throw new Error(`unknown workspace "${opts.workspace}"`);
1389
1505
  ws = found;
1390
1506
  }
1391
- const child = await this.startSession({
1392
- workspaceId: ws.id,
1393
- profile: inherit,
1394
- name: opts.name,
1395
- spawnedBy: me.id,
1396
- prompt: opening,
1397
- });
1507
+ const child = await this.startPicked({ workspaceId: ws.id, name: opts.name, spawnedBy: me.id }, { ...picked, prompt: opening, restorePrompt: picked.prompt ?? null });
1398
1508
  return {
1399
1509
  address: child.address,
1400
1510
  workspace: ws.name,
@@ -1431,6 +1541,7 @@ export class Hub extends EventEmitter {
1431
1541
  model: ask.model,
1432
1542
  effort: ask.effort,
1433
1543
  prompt: ask.opening,
1544
+ restorePrompt: ask.restore ?? null,
1434
1545
  env: ask.env,
1435
1546
  name: ask.name,
1436
1547
  // See the known gap noted on spawn_agent's `host`: the spawner
@@ -1446,6 +1557,7 @@ export class Hub extends EventEmitter {
1446
1557
  model: ask.model,
1447
1558
  effort: ask.effort,
1448
1559
  prompt: ask.opening,
1560
+ restorePrompt: ask.restore ?? null,
1449
1561
  env: ask.env,
1450
1562
  name: ask.name,
1451
1563
  spawnedBy: null,
@@ -1475,8 +1587,14 @@ export class Hub extends EventEmitter {
1475
1587
  * before the program is reading it; the wait is for output to arrive and
1476
1588
  * then pause, which is as close to "it has drawn its prompt" as this gets
1477
1589
  * without knowing the CLI.
1590
+ *
1591
+ * `alreadyUp` is for a CLI that has been running all along and is only
1592
+ * redrawing, as after a `/clear`. It may already have finished drawing by
1593
+ * the time this is called, and an idle one then prints nothing at all - so
1594
+ * the pause is counted from now as well as from its next output, and
1595
+ * running out of patience still types rather than giving up.
1478
1596
  */
1479
- async typeWhenReady(sessionId, text) {
1597
+ async typeWhenReady(sessionId, text, opts = {}) {
1480
1598
  const pty = this.sessions.pty(sessionId);
1481
1599
  if (!pty)
1482
1600
  return;
@@ -1491,9 +1609,11 @@ export class Hub extends EventEmitter {
1491
1609
  res(v);
1492
1610
  };
1493
1611
  const onData = () => setTimeout(() => done(true), 1200);
1494
- const timer = setTimeout(() => done(false), 20_000);
1612
+ const timer = setTimeout(() => done(!!opts.alreadyUp), 20_000);
1495
1613
  timer.unref?.();
1496
1614
  pty.on('data', onData);
1615
+ if (opts.alreadyUp)
1616
+ onData();
1497
1617
  });
1498
1618
  if (!ready || !pty.running)
1499
1619
  return;