tabminal 3.0.18 → 3.0.19

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 (2) hide show
  1. package/package.json +1 -1
  2. package/public/app.js +23 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabminal",
3
- "version": "3.0.18",
3
+ "version": "3.0.19",
4
4
  "description": "Tab(ter)minal, a Cloud-Native terminal and ACP agent workspace for desktop, tablet, and phone.",
5
5
  "type": "module",
6
6
  "bin": {
package/public/app.js CHANGED
@@ -5820,12 +5820,13 @@ class EditorManager {
5820
5820
  36
5821
5821
  );
5822
5822
  const timeline = getAgentTimelineItems(agentTab);
5823
- const shouldPinToBottom = wasNearBottom || (
5823
+ const isNearLatestWindow = isAgentTranscriptWindowNearLatest(
5824
+ agentTab,
5825
+ timeline.length
5826
+ );
5827
+ const shouldPinToBottom = !options.preserveTranscriptAnchor && (
5824
5828
  agentTab.scrollToBottomOnNextRender
5825
- && isAgentTranscriptWindowNearLatest(
5826
- agentTab,
5827
- timeline.length
5828
- )
5829
+ || (wasNearBottom && isNearLatestWindow)
5829
5830
  );
5830
5831
  const transcriptWindow = getAgentTranscriptWindow(
5831
5832
  agentTab,
@@ -6377,8 +6378,13 @@ class EditorManager {
6377
6378
  );
6378
6379
  node.className = `agent-tool-call state-${toolStatusClass}`;
6379
6380
 
6381
+ const status = document.createElement('span');
6382
+ status.className = `agent-status-pill ${toolStatusClass}`;
6383
+ status.textContent = getAgentStatusLabel(toolStatusClass);
6384
+
6380
6385
  node.appendChild(buildAgentTimelineHeader(
6381
- buildAgentTimelineRoleLabel(agentTab, 'tool')
6386
+ buildAgentTimelineRoleLabel(agentTab, 'tool'),
6387
+ status
6382
6388
  ));
6383
6389
 
6384
6390
  const header = document.createElement('div');
@@ -6388,12 +6394,7 @@ class EditorManager {
6388
6394
  title.className = 'agent-tool-call-title';
6389
6395
  title.textContent = getAgentToolTitle(toolCall);
6390
6396
 
6391
- const status = document.createElement('span');
6392
- status.className = `agent-status-pill ${toolStatusClass}`;
6393
- status.textContent = getAgentStatusLabel(toolStatusClass);
6394
-
6395
6397
  header.appendChild(title);
6396
- header.appendChild(status);
6397
6398
  node.appendChild(header);
6398
6399
 
6399
6400
  const meta = document.createElement('div');
@@ -6479,13 +6480,18 @@ class EditorManager {
6479
6480
  );
6480
6481
  card.className = `agent-permission-card state-${permissionStatusClass}`;
6481
6482
 
6483
+ const status = document.createElement('span');
6484
+ status.className = `agent-status-pill ${permissionStatusClass}`;
6485
+ status.textContent = getAgentPermissionStatusLabel(permission);
6486
+
6482
6487
  card.appendChild(buildAgentTimelineHeader(
6483
6488
  buildAgentTimelineRoleLabel(
6484
6489
  agentTab,
6485
6490
  permission.status === 'pending'
6486
6491
  ? 'permission request'
6487
6492
  : 'permission'
6488
- )
6493
+ ),
6494
+ status
6489
6495
  ));
6490
6496
 
6491
6497
  const titleRow = document.createElement('div');
@@ -6495,12 +6501,7 @@ class EditorManager {
6495
6501
  title.className = 'agent-permission-title';
6496
6502
  title.textContent = getAgentPermissionTitle(permission);
6497
6503
 
6498
- const status = document.createElement('span');
6499
- status.className = `agent-status-pill ${permissionStatusClass}`;
6500
- status.textContent = getAgentPermissionStatusLabel(permission);
6501
-
6502
6504
  titleRow.appendChild(title);
6503
- titleRow.appendChild(status);
6504
6505
  card.appendChild(titleRow);
6505
6506
 
6506
6507
  const meta = document.createElement('div');
@@ -11576,9 +11577,7 @@ function getAgentMessageTimeLabel(message) {
11576
11577
  return timestamp.toLocaleString();
11577
11578
  }
11578
11579
 
11579
- function buildAgentTimelineHeader(
11580
- roleLabel
11581
- ) {
11580
+ function buildAgentTimelineHeader(roleLabel, trailingNode = null) {
11582
11581
  const header = document.createElement('div');
11583
11582
  header.className = 'agent-message-header';
11584
11583
 
@@ -11587,6 +11586,10 @@ function buildAgentTimelineHeader(
11587
11586
  role.textContent = roleLabel;
11588
11587
  header.appendChild(role);
11589
11588
 
11589
+ if (trailingNode) {
11590
+ header.appendChild(trailingNode);
11591
+ }
11592
+
11590
11593
  return header;
11591
11594
  }
11592
11595