pi-fabric 0.21.21 → 0.21.22

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 (33) hide show
  1. package/dist/fabric-state.d.ts.map +1 -1
  2. package/dist/fabric-state.js +7 -2
  3. package/dist/fabric-state.js.map +1 -1
  4. package/dist/log-tail.d.ts +2 -2
  5. package/dist/log-tail.d.ts.map +1 -1
  6. package/dist/log-tail.js +8 -5
  7. package/dist/log-tail.js.map +1 -1
  8. package/dist/providers/agents-provider.d.ts.map +1 -1
  9. package/dist/providers/agents-provider.js +40 -19
  10. package/dist/providers/agents-provider.js.map +1 -1
  11. package/dist/subagents/transports/localterm-transport.d.ts.map +1 -1
  12. package/dist/subagents/transports/localterm-transport.js +5 -11
  13. package/dist/subagents/transports/localterm-transport.js.map +1 -1
  14. package/dist/subagents/transports/process-utils.d.ts +1 -0
  15. package/dist/subagents/transports/process-utils.d.ts.map +1 -1
  16. package/dist/subagents/transports/process-utils.js +12 -7
  17. package/dist/subagents/transports/process-utils.js.map +1 -1
  18. package/dist/ui/controller.d.ts.map +1 -1
  19. package/dist/ui/controller.js +6 -4
  20. package/dist/ui/controller.js.map +1 -1
  21. package/dist/ui/dashboard.d.ts +16 -6
  22. package/dist/ui/dashboard.d.ts.map +1 -1
  23. package/dist/ui/dashboard.js +88 -41
  24. package/dist/ui/dashboard.js.map +1 -1
  25. package/dist/ui/fabric-render.d.ts +0 -6
  26. package/dist/ui/fabric-render.d.ts.map +1 -1
  27. package/dist/ui/fabric-render.js +57 -87
  28. package/dist/ui/fabric-render.js.map +1 -1
  29. package/dist/ui/transcript.d.ts +4 -4
  30. package/dist/ui/transcript.d.ts.map +1 -1
  31. package/dist/ui/transcript.js +240 -225
  32. package/dist/ui/transcript.js.map +1 -1
  33. package/package.json +1 -1
@@ -24,6 +24,17 @@ export const commandAvailable = async (command) => {
24
24
  }
25
25
  };
26
26
  const shellQuote = (value) => `'${value.replaceAll("'", `'"'"'`)}'`;
27
+ export const processIsAlive = (pid) => {
28
+ if (!Number.isSafeInteger(pid) || pid <= 0)
29
+ return false;
30
+ try {
31
+ process.kill(pid, 0);
32
+ return true;
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ };
27
38
  export const workerCommand = (workerPath, workerArguments) => [process.execPath, workerPath, ...workerArguments].map(shellQuote).join(" ");
28
39
  export const spawnDetached = (workerPath, workerArguments, cwd) => {
29
40
  const child = spawn(process.execPath, [workerPath, ...workerArguments], {
@@ -44,13 +55,7 @@ export const spawnDetached = (workerPath, workerArguments, cwd) => {
44
55
  catch { /* process group already exited */ }
45
56
  },
46
57
  async isAlive() {
47
- try {
48
- process.kill(pid, 0);
49
- return true;
50
- }
51
- catch {
52
- return false;
53
- }
58
+ return processIsAlive(pid);
54
59
  },
55
60
  };
56
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../../src/subagents/transports/process-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../../src/subagents/transports/process-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAkB,KAAK,uBAAuB,EAA0C,MAAM,YAAY,CAAC;AAkClH,qBAAa,kBAAkB;;IAsB3B,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;gBADzC,KAAK,EAAE,WAAW,EAClB,mBAAmB,CAAC,EAAE,mBAAmB,YAAA;IAGpD,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAetC,IAAI,IAAI,IAAI;IA8BN,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkK7D,QAAQ,IAAI,uBAAuB;CA2IpC"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAkB,KAAK,uBAAuB,EAA0C,MAAM,YAAY,CAAC;AAkClH,qBAAa,kBAAkB;;IAsB3B,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;gBADzC,KAAK,EAAE,WAAW,EAClB,mBAAmB,CAAC,EAAE,mBAAmB,YAAA;IAGpD,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAetC,IAAI,IAAI,IAAI;IA8BN,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuK7D,QAAQ,IAAI,uBAAuB;CA2IpC"}
@@ -207,20 +207,22 @@ export class FabricUiController {
207
207
  this.#dashboardOpen = true;
208
208
  this.#schedulePoll(true);
209
209
  try {
210
- await context.ui.custom((tui, theme, _keybindings, done) => {
210
+ await context.ui.custom((tui, theme, keybindings, done) => {
211
211
  this.#dashboardTui = tui;
212
212
  return new FabricDashboard(tui, theme, () => this.#snapshot, () => done(undefined), {
213
213
  modelSource,
214
+ keybindings,
214
215
  ...(this.codePreviewSettings
215
216
  ? { codePreviewSettings: this.codePreviewSettings }
216
217
  : {}),
217
218
  ...(claudeModelSource ? { claudeModelSource } : {}),
218
219
  onTargetMessage,
219
220
  onAgentStop,
220
- agentTranscript: (agent) => this.#transcripts.read(this.#agentTranscriptSource(agent)),
221
- actorTranscript: (actor) => this.#transcripts.read(this.#actorTranscriptSource(actor)),
221
+ agentTranscript: (agent, followLatest) => this.#transcripts.read(this.#agentTranscriptSource(agent), followLatest),
222
+ actorTranscript: (actor, followLatest) => this.#transcripts.read(this.#actorTranscriptSource(actor), followLatest),
222
223
  loadOlderTranscript: (target) => this.#transcripts.loadOlder(this.#transcriptSource(target)),
223
- loadFullTranscript: (target) => this.#transcripts.loadAll(this.#transcriptSource(target)),
224
+ loadNewerTranscript: (target) => this.#transcripts.loadNewer(this.#transcriptSource(target)),
225
+ loadLatestTranscript: (target) => this.#transcripts.loadLatest(this.#transcriptSource(target)),
224
226
  onActorModel,
225
227
  onActorThinking,
226
228
  onActorEvents,
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/ui/controller.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ export interface FabricDashboardMessageTarget {
13
13
  kind: "main" | "peer" | "agent" | "actor" | "meshParticipant";
14
14
  }
15
15
  type FabricTranscriptTarget = FabricUiAgent | FabricUiActor;
16
+ interface FabricDashboardKeybindings {
17
+ matches(data: string, keybinding: "app.tools.expand"): boolean;
18
+ getKeys(keybinding: "app.tools.expand"): string[];
19
+ }
16
20
  export declare class FabricDashboard implements Component, Focusable {
17
21
  readonly tui: TUI;
18
22
  readonly theme: Theme;
@@ -34,8 +38,8 @@ export declare class FabricDashboard implements Component, Focusable {
34
38
  private detailId;
35
39
  private detailScroll;
36
40
  private detailMaxScroll;
37
- private transcriptRenderedLines;
38
- private preserveTranscriptLines;
41
+ private transcriptPageAnchor;
42
+ private transcriptToolsExpanded;
39
43
  private detailSelectionRestore;
40
44
  private detailView;
41
45
  private transcriptFollowing;
@@ -56,7 +60,8 @@ export declare class FabricDashboard implements Component, Focusable {
56
60
  private readonly agentTranscript;
57
61
  private readonly actorTranscript;
58
62
  private readonly loadOlderTranscript;
59
- private readonly loadFullTranscript;
63
+ private readonly loadNewerTranscript;
64
+ private readonly loadLatestTranscript;
60
65
  private readonly onActorModel;
61
66
  private readonly onActorThinking;
62
67
  private readonly onActorEvents;
@@ -67,19 +72,22 @@ export declare class FabricDashboard implements Component, Focusable {
67
72
  private readonly onExportActor;
68
73
  private readonly onRemoveGlobalActor;
69
74
  private readonly codePreviewSettings;
75
+ private readonly keybindings;
70
76
  private pickerActorName;
71
77
  constructor(tui: TUI, theme: Theme, snapshot: () => FabricDashboardSnapshot, done: () => void, options?: {
72
78
  modelSource?: ModelSource;
73
79
  codePreviewSettings?: CodePreviewSettings;
80
+ keybindings?: FabricDashboardKeybindings;
74
81
  claudeModelSource?: ModelSource;
75
82
  onAgentSteer?: (agentId: string, message: string) => void;
76
83
  onAgentFollowUp?: (agentId: string, message: string) => void;
77
84
  onAgentStop?: (agentId: string) => void;
78
85
  onTargetMessage?: (target: FabricDashboardMessageTarget, message: string, delivery: FabricAgentMessageDelivery) => void;
79
- agentTranscript?: (agent: FabricUiAgent) => FabricAgentTranscript;
80
- actorTranscript?: (actor: FabricUiActor) => FabricAgentTranscript;
86
+ agentTranscript?: (agent: FabricUiAgent, followLatest: boolean) => FabricAgentTranscript;
87
+ actorTranscript?: (actor: FabricUiActor, followLatest: boolean) => FabricAgentTranscript;
81
88
  loadOlderTranscript?: (target: FabricTranscriptTarget) => boolean;
82
- loadFullTranscript?: (target: FabricTranscriptTarget) => boolean;
89
+ loadNewerTranscript?: (target: FabricTranscriptTarget) => boolean;
90
+ loadLatestTranscript?: (target: FabricTranscriptTarget) => boolean;
83
91
  onActorModel?: (actorId: string, model: string | undefined) => void;
84
92
  onActorThinking?: (actorId: string, thinking: FabricThinking | undefined) => void;
85
93
  onActorEvents?: (actorId: string, events: FabricActorHostEvent[]) => void;
@@ -97,6 +105,8 @@ export declare class FabricDashboard implements Component, Focusable {
97
105
  private transcriptTarget;
98
106
  private hasTranscript;
99
107
  private transcriptFor;
108
+ private matchesTranscriptToolToggle;
109
+ private transcriptToolToggleHint;
100
110
  private messageTarget;
101
111
  private canMessage;
102
112
  private openAgentMessageEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAcxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA4BvE,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMpE,OAAO,KAAK,EAAE,qBAAqB,EAAyB,MAAM,iBAAiB,CAAC;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2CxF,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,iBAAiB,CAAC;CAC/D;AAED,KAAK,sBAAsB,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5D,UAAU,0BAA0B;IAClC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC/D,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAAC;CACnD;AAED,qBAAa,eAAgB,YAAW,SAAS,EAAE,SAAS;IA2FxD,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,uBAAuB;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI;IA7F3B,OAAO,UAAS;IAChB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,sBAAsB,CAEhB;IACd,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4D;IAC/F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAwC;IAC5E,OAAO,CAAC,IAAI,CAQY;IACxB,OAAO,CAAC,MAAM,CAIA;IACd,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB,CAEZ;IACd,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2D;IACxF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2D;IAC3F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAMlB;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe,CAElB;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe,CAElB;IACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4D;IAChG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4D;IAChG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4D;IACjG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAEf;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe,CAElB;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEhB;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAEtB;IACd,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAEvB;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;IAC9E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgD;IACpF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;IACrE,OAAO,CAAC,eAAe,CAAqB;gBAGjC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,uBAAuB,EACvC,IAAI,EAAE,MAAM,IAAI,EACzB,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,WAAW,CAAC,EAAE,0BAA0B,CAAC;QACzC,iBAAiB,CAAC,EAAE,WAAW,CAAC;QAChC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,4BAA4B,EACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,0BAA0B,KACjC,IAAI,CAAC;QACV,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,OAAO,KAClB,qBAAqB,CAAC;QAC3B,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,OAAO,KAClB,qBAAqB,CAAC;QAC3B,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;QAClE,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;QAClE,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;QACnE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACpE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;QAClF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;QAC1E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;QACtE,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7E,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;QAChD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,mBAAmB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;KAClD;IA2BR,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAqZ/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAiD/B,UAAU,IAAI,IAAI;IAIlB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,UAAU;IA0DlB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,gBAAgB;IAMxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,cAAc;IA4NtB,OAAO,CAAC,kBAAkB;IAuE1B,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,iBAAiB;IA4EzB,OAAO,CAAC,YAAY;IA4DpB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,mBAAmB;IA4E3B,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,WAAW;IA8SnB,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,SAAS;IAmCjB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,GAAG;CAOZ"}
@@ -42,6 +42,8 @@ const transcriptMarkdownTheme = (theme, invalidate) => ({
42
42
  highlightCode: (code, lang) => highlightCode(code, lang ?? "", invalidate) ??
43
43
  code.split("\n").map((line) => theme.fg("mdCodeBlock", line)),
44
44
  });
45
+ const TRANSCRIPT_EXPANDED_TOOL_LINES = 40;
46
+ const TRANSCRIPT_STRUCTURED_LINES = 40;
45
47
  const safeMarkdownText = (value) => value
46
48
  .replace(/\x1b\[[0-?]*[ -/]*[@-~]/g, "")
47
49
  .replace(/\r\n?/g, "\n")
@@ -67,8 +69,8 @@ export class FabricDashboard {
67
69
  detailId;
68
70
  detailScroll = 0;
69
71
  detailMaxScroll = 0;
70
- transcriptRenderedLines = 0;
71
- preserveTranscriptLines;
72
+ transcriptPageAnchor;
73
+ transcriptToolsExpanded = false;
72
74
  detailSelectionRestore;
73
75
  detailView = "summary";
74
76
  transcriptFollowing = true;
@@ -89,7 +91,8 @@ export class FabricDashboard {
89
91
  agentTranscript;
90
92
  actorTranscript;
91
93
  loadOlderTranscript;
92
- loadFullTranscript;
94
+ loadNewerTranscript;
95
+ loadLatestTranscript;
93
96
  onActorModel;
94
97
  onActorThinking;
95
98
  onActorEvents;
@@ -100,6 +103,7 @@ export class FabricDashboard {
100
103
  onExportActor;
101
104
  onRemoveGlobalActor;
102
105
  codePreviewSettings;
106
+ keybindings;
103
107
  pickerActorName;
104
108
  constructor(tui, theme, snapshot, done, options = {}) {
105
109
  this.tui = tui;
@@ -109,6 +113,7 @@ export class FabricDashboard {
109
113
  this.focused = true;
110
114
  this.modelSource = options.modelSource;
111
115
  this.codePreviewSettings = options.codePreviewSettings;
116
+ this.keybindings = options.keybindings;
112
117
  this.claudeModelSource = options.claudeModelSource;
113
118
  this.onAgentSteer = options.onAgentSteer;
114
119
  this.onAgentFollowUp = options.onAgentFollowUp;
@@ -117,7 +122,8 @@ export class FabricDashboard {
117
122
  this.agentTranscript = options.agentTranscript;
118
123
  this.actorTranscript = options.actorTranscript;
119
124
  this.loadOlderTranscript = options.loadOlderTranscript;
120
- this.loadFullTranscript = options.loadFullTranscript;
125
+ this.loadNewerTranscript = options.loadNewerTranscript;
126
+ this.loadLatestTranscript = options.loadLatestTranscript;
121
127
  this.onActorModel = options.onActorModel;
122
128
  this.onActorThinking = options.onActorThinking;
123
129
  this.onActorEvents = options.onActorEvents;
@@ -192,10 +198,14 @@ export class FabricDashboard {
192
198
  if (detail && this.hasTranscript(detail)) {
193
199
  this.detailView = this.detailView === "summary" ? "transcript" : "summary";
194
200
  this.detailScroll = 0;
195
- this.preserveTranscriptLines = undefined;
201
+ this.transcriptPageAnchor = undefined;
196
202
  this.transcriptFollowing = true;
197
203
  }
198
204
  }
205
+ else if (this.detailView === "transcript" &&
206
+ this.matchesTranscriptToolToggle(data)) {
207
+ this.transcriptToolsExpanded = !this.transcriptToolsExpanded;
208
+ }
199
209
  else if (matchesKey(data, Key.up) || data === "k") {
200
210
  if (this.detailScroll > 0) {
201
211
  if (this.detailView === "transcript")
@@ -206,7 +216,7 @@ export class FabricDashboard {
206
216
  const detail = allEntities.find((entity) => entity.id === this.detailId);
207
217
  const target = detail ? this.transcriptTarget(detail) : undefined;
208
218
  if (target && this.loadOlderTranscript?.(target)) {
209
- this.preserveTranscriptLines = this.transcriptRenderedLines;
219
+ this.transcriptPageAnchor = "end";
210
220
  this.transcriptFollowing = false;
211
221
  }
212
222
  }
@@ -217,19 +227,27 @@ export class FabricDashboard {
217
227
  this.transcriptFollowing = false;
218
228
  this.detailScroll++;
219
229
  }
230
+ else if (this.detailView === "transcript") {
231
+ const detail = allEntities.find((entity) => entity.id === this.detailId);
232
+ const target = detail ? this.transcriptTarget(detail) : undefined;
233
+ if (target && this.loadNewerTranscript?.(target)) {
234
+ this.transcriptPageAnchor = "start";
235
+ this.transcriptFollowing = false;
236
+ }
237
+ }
220
238
  }
221
239
  else if (data === "G" && this.detailView === "transcript") {
222
- this.preserveTranscriptLines = undefined;
240
+ const detail = allEntities.find((entity) => entity.id === this.detailId);
241
+ const target = detail ? this.transcriptTarget(detail) : undefined;
242
+ if (target)
243
+ this.loadLatestTranscript?.(target);
244
+ this.transcriptPageAnchor = undefined;
223
245
  this.transcriptFollowing = true;
224
246
  this.detailScroll = this.detailMaxScroll;
225
247
  }
226
248
  else if (matchesKey(data, Key.home) || data === "g") {
227
249
  if (this.detailView === "transcript") {
228
- const detail = allEntities.find((entity) => entity.id === this.detailId);
229
- const target = detail ? this.transcriptTarget(detail) : undefined;
230
- if (target)
231
- this.loadFullTranscript?.(target);
232
- this.preserveTranscriptLines = undefined;
250
+ this.transcriptPageAnchor = undefined;
233
251
  this.transcriptFollowing = false;
234
252
  }
235
253
  this.detailScroll = 0;
@@ -450,7 +468,7 @@ export class FabricDashboard {
450
468
  this.detailId = selected.id;
451
469
  this.detailView = "transcript";
452
470
  this.detailScroll = 0;
453
- this.preserveTranscriptLines = undefined;
471
+ this.transcriptPageAnchor = undefined;
454
472
  this.transcriptFollowing = true;
455
473
  }
456
474
  }
@@ -581,12 +599,28 @@ export class FabricDashboard {
581
599
  (entity.kind === "actor" && this.actorTranscript !== undefined));
582
600
  }
583
601
  transcriptFor(entity) {
584
- if (entity.kind === "agent")
585
- return this.agentTranscript?.(entity.value);
586
- if (entity.kind === "actor")
587
- return this.actorTranscript?.(entity.value);
602
+ if (entity.kind === "agent") {
603
+ return this.agentTranscript?.(entity.value, this.transcriptFollowing);
604
+ }
605
+ if (entity.kind === "actor") {
606
+ return this.actorTranscript?.(entity.value, this.transcriptFollowing);
607
+ }
588
608
  return undefined;
589
609
  }
610
+ matchesTranscriptToolToggle(data) {
611
+ if (this.keybindings)
612
+ return this.keybindings.matches(data, "app.tools.expand");
613
+ const keybindings = getKeybindings();
614
+ const keys = keybindings.getKeys("app.tools.expand");
615
+ return keys.length > 0
616
+ ? keybindings.matches(data, "app.tools.expand")
617
+ : matchesKey(data, Key.ctrl("o"));
618
+ }
619
+ transcriptToolToggleHint() {
620
+ const keys = (this.keybindings ?? getKeybindings()).getKeys("app.tools.expand");
621
+ const key = keys.length > 0 ? keys.join("/") : this.keybindings ? "unbound" : "ctrl+o";
622
+ return `${key} ${this.transcriptToolsExpanded ? "collapse" : "expand"} tools`;
623
+ }
590
624
  messageTarget(entity) {
591
625
  if (entity.kind === "main") {
592
626
  return { id: entity.value.id, name: "Main", kind: "main" };
@@ -724,7 +758,10 @@ export class FabricDashboard {
724
758
  ...(agentActions.length > 1 ? [["Agents", agentActions.join(" · ")]] : []),
725
759
  ...(actorActions.length > 0 ? [["Actors", actorActions.join(" · ")]] : []),
726
760
  ...(templateActions.length > 0 ? [["Templates", templateActions.join(" · ")]] : []),
727
- ["Details", "↑↓/jk scroll · g top · t transcript/summary · G resume follow · ? close help"],
761
+ [
762
+ "Details",
763
+ `↑↓/jk lazy scroll · g page top · G live tail · ${this.transcriptToolToggleHint()} · t transcript/summary · ? close help`,
764
+ ],
728
765
  ];
729
766
  for (const [label, value] of help) {
730
767
  const prefix = `${this.theme.fg("accent", `${label}:`)} `;
@@ -1256,15 +1293,13 @@ export class FabricDashboard {
1256
1293
  if (transcriptView && this.transcriptFollowing) {
1257
1294
  this.detailScroll = maxScroll;
1258
1295
  }
1259
- else if (transcriptView && this.preserveTranscriptLines !== undefined) {
1260
- this.detailScroll = Math.max(0, Math.min(maxScroll, content.length - this.preserveTranscriptLines));
1261
- this.preserveTranscriptLines = undefined;
1296
+ else if (transcriptView && this.transcriptPageAnchor) {
1297
+ this.detailScroll = this.transcriptPageAnchor === "end" ? maxScroll : 0;
1298
+ this.transcriptPageAnchor = undefined;
1262
1299
  }
1263
1300
  else {
1264
1301
  this.detailScroll = Math.max(0, Math.min(this.detailScroll, maxScroll));
1265
1302
  }
1266
- if (transcriptView)
1267
- this.transcriptRenderedLines = content.length;
1268
1303
  const visible = content.slice(this.detailScroll, this.detailScroll + maxBody);
1269
1304
  for (const line of visible)
1270
1305
  lines.push(this.row(width, line));
@@ -1275,7 +1310,7 @@ export class FabricDashboard {
1275
1310
  ? ` · ${this.detailScroll + 1}-${Math.min(content.length, this.detailScroll + maxBody)}/${content.length}`
1276
1311
  : "";
1277
1312
  const navigation = transcriptView
1278
- ? `↑↓/jk scroll · g top · G follow:${this.transcriptFollowing ? "on" : "off"}/bottom · t summary · esc back${range}`
1313
+ ? `↑↓/jk lazy scroll · ${this.transcriptToolToggleHint()} · g page top · G follow:${this.transcriptFollowing ? "on" : "off"}/live tail · t summary · esc back${range}`
1279
1314
  : `↑↓/jk scroll · ${this.hasTranscript(entity) ? "t transcript · " : ""}esc back${range}`;
1280
1315
  lines.push(this.row(width, this.theme.fg("dim", navigation)));
1281
1316
  for (const actionLine of actionLines) {
@@ -1300,7 +1335,7 @@ export class FabricDashboard {
1300
1335
  }
1301
1336
  const lines = [];
1302
1337
  if (transcript.hasMore ?? transcript.truncated) {
1303
- lines.push(this.theme.fg("dim", "↑ earlier activity omitted · press g to load the true top"));
1338
+ lines.push(this.theme.fg("dim", "↑ older activity available · scroll past the top to load"));
1304
1339
  }
1305
1340
  for (const entry of transcript.entries) {
1306
1341
  if (entry.kind === "tool") {
@@ -1327,17 +1362,14 @@ export class FabricDashboard {
1327
1362
  lines.push(truncateToWidth(` ${line}`, width, ""));
1328
1363
  }
1329
1364
  }
1365
+ if (transcript.hasNewer) {
1366
+ lines.push(this.theme.fg("dim", "↓ newer activity available · scroll past the bottom to load"));
1367
+ }
1330
1368
  return lines;
1331
1369
  }
1332
1370
  transcriptToolLines(entry, width, transcriptCwd) {
1333
1371
  const depth = Math.max(0, entry.depth ?? 0);
1334
1372
  const padding = " ".repeat(depth);
1335
- if (!entry.args && entry.text) {
1336
- const status = entry.status ?? "completed";
1337
- return [
1338
- truncateToWidth(colorStatus(this.theme, status, `${padding}${entry.label} · ${status} · ${safeText(entry.text)}`), width, ""),
1339
- ];
1340
- }
1341
1373
  const bodyPadding = `${padding} `;
1342
1374
  const glyph = colorStatus(this.theme, entry.status ?? "completed", statusGlyph(entry.status ?? "completed"));
1343
1375
  const status = entry.status === "running" ? " · running" : entry.status === "failed" ? " · failed" : "";
@@ -1351,14 +1383,19 @@ export class FabricDashboard {
1351
1383
  : undefined;
1352
1384
  const title = context ? coreToolTitle(audit, this.theme, context) : null;
1353
1385
  const headline = title ?? this.theme.fg("toolTitle", this.theme.bold(entry.toolName ?? entry.label));
1386
+ const collapsedSummary = !this.transcriptToolsExpanded && entry.text
1387
+ ? ` · ${safeText(entry.text).replace(/\s+/g, " ").trim()}`
1388
+ : "";
1354
1389
  const lines = [
1355
- truncateToWidth(`${padding}${glyph} ${headline}${this.theme.fg("dim", status)}`, width, ""),
1390
+ truncateToWidth(`${padding}${glyph} ${headline}${this.theme.fg("dim", `${status}${collapsedSummary}`)}`, width, ""),
1356
1391
  ];
1392
+ if (!this.transcriptToolsExpanded)
1393
+ return lines;
1357
1394
  const rendered = context
1358
1395
  ? renderCoreToolBody(audit, this.theme, {
1359
1396
  ...context,
1360
1397
  expanded: true,
1361
- maxLines: 200,
1398
+ maxLines: TRANSCRIPT_EXPANDED_TOOL_LINES,
1362
1399
  toolCallBackground: false,
1363
1400
  })
1364
1401
  : null;
@@ -1416,14 +1453,24 @@ export class FabricDashboard {
1416
1453
  const yaml = formatJsonAsYaml(value) ?? safeText(value);
1417
1454
  if (!yaml)
1418
1455
  return [];
1419
- const highlighted = highlightCode(yaml, "yaml", this.highlightInvalidate) ??
1420
- yaml.split("\n").map((line) => this.theme.fg("mdCodeBlock", line || " "));
1456
+ const yamlLines = yaml.split("\n");
1457
+ const shownYamlLines = yamlLines.slice(0, TRANSCRIPT_STRUCTURED_LINES);
1458
+ const highlighted = highlightCode(shownYamlLines.join("\n"), "yaml", this.highlightInvalidate) ??
1459
+ shownYamlLines.map((line) => this.theme.fg("mdCodeBlock", line || " "));
1421
1460
  const lines = [truncateToWidth(`${padding}${this.theme.fg("dim", `${label}:`)}`, width, "")];
1422
1461
  const nestedPadding = `${padding} `;
1423
1462
  for (const row of highlighted) {
1424
1463
  for (const wrapped of wrapTextWithAnsi(row, Math.max(1, width - visibleWidth(nestedPadding)))) {
1425
1464
  lines.push(truncateToWidth(`${nestedPadding}${wrapped}`, width, ""));
1465
+ if (lines.length > TRANSCRIPT_STRUCTURED_LINES)
1466
+ break;
1426
1467
  }
1468
+ if (lines.length > TRANSCRIPT_STRUCTURED_LINES)
1469
+ break;
1470
+ }
1471
+ const hiddenLines = Math.max(0, yamlLines.length - shownYamlLines.length);
1472
+ if (hiddenLines > 0) {
1473
+ lines.push(this.theme.fg("dim", `${nestedPadding}… ${hiddenLines} more lines`));
1427
1474
  }
1428
1475
  return lines;
1429
1476
  }
@@ -1925,6 +1972,7 @@ export class FabricDashboard {
1925
1972
  this.detailId = undefined;
1926
1973
  this.detailScroll = 0;
1927
1974
  this.detailMaxScroll = 0;
1975
+ this.transcriptPageAnchor = undefined;
1928
1976
  this.detailSelectionRestore = undefined;
1929
1977
  this.detailView = "summary";
1930
1978
  this.transcriptFollowing = true;
@@ -1952,6 +2000,7 @@ export class FabricDashboard {
1952
2000
  this.detailId = undefined;
1953
2001
  this.detailScroll = 0;
1954
2002
  this.detailMaxScroll = 0;
2003
+ this.transcriptPageAnchor = undefined;
1955
2004
  this.detailView = "summary";
1956
2005
  this.transcriptFollowing = true;
1957
2006
  }
@@ -1966,18 +2015,16 @@ export class FabricDashboard {
1966
2015
  if (transcriptView && this.transcriptFollowing) {
1967
2016
  this.detailScroll = this.detailMaxScroll;
1968
2017
  }
1969
- else if (transcriptView && this.preserveTranscriptLines !== undefined) {
1970
- this.detailScroll = Math.max(0, Math.min(this.detailMaxScroll, content.length - this.preserveTranscriptLines));
1971
- this.preserveTranscriptLines = undefined;
2018
+ else if (transcriptView && this.transcriptPageAnchor) {
2019
+ this.detailScroll = this.transcriptPageAnchor === "end" ? this.detailMaxScroll : 0;
2020
+ this.transcriptPageAnchor = undefined;
1972
2021
  }
1973
2022
  else {
1974
2023
  this.detailScroll = Math.max(0, Math.min(this.detailScroll, this.detailMaxScroll));
1975
2024
  }
1976
- if (transcriptView)
1977
- this.transcriptRenderedLines = content.length;
1978
2025
  const title = `${entity.label}${transcriptView ? " · transcript" : ""}`;
1979
2026
  const hint = transcriptView
1980
- ? `g top · G follow:${this.transcriptFollowing ? "on" : "off"}/bottom · t summary · esc`
2027
+ ? `${this.transcriptToolToggleHint()} · g page top · G follow:${this.transcriptFollowing ? "on" : "off"}/tail · t summary · esc`
1981
2028
  : `${this.hasTranscript(entity) ? "t transcript · " : ""}esc`;
1982
2029
  return [title, ...content.slice(this.detailScroll, this.detailScroll + maxBody), hint]
1983
2030
  .map((line) => truncateToWidth(line, width, ""))