agentgui 1.0.302 → 1.0.304

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentgui",
3
- "version": "1.0.302",
3
+ "version": "1.0.304",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "server.js",
@@ -30,7 +30,7 @@
30
30
  "fsbrowse": "^0.2.18",
31
31
  "google-auth-library": "^10.5.0",
32
32
  "onnxruntime-node": "^1.24.1",
33
- "webtalk": "file:../webtalk",
33
+ "webtalk": "^1.0.20",
34
34
  "ws": "^8.14.2"
35
35
  },
36
36
  "overrides": {
package/static/index.html CHANGED
@@ -2257,35 +2257,28 @@
2257
2257
  }
2258
2258
 
2259
2259
  /* --- Inline Tool Result (nested inside tool_use) --- */
2260
- .tool-result-inline {
2261
- border-top: 1px solid #bbf7d0;
2262
- overflow: hidden;
2260
+ /* Tool Result Blocks - Folded by default with status icons */
2261
+ .folded-tool.block-type-tool_result {
2262
+ margin-bottom: 0.375rem;
2263
2263
  }
2264
- html.dark .tool-result-inline { border-top-color: #166534; }
2265
- .tool-result-status {
2266
- display: flex;
2267
- align-items: center;
2268
- gap: 0.375rem;
2269
- padding: 0.3rem 0.625rem;
2270
- font-size: 0.75rem;
2271
- line-height: 1.3;
2272
- cursor: default;
2273
- user-select: none;
2264
+ .folded-tool.folded-tool-success {
2265
+ background: #f0fdf4;
2266
+ }
2267
+ html.dark .folded-tool.folded-tool-success {
2268
+ background: #0a1f0f;
2269
+ }
2270
+ .folded-tool.folded-tool-success > .folded-tool-bar {
2271
+ background: #dcfce7;
2272
+ }
2273
+ html.dark .folded-tool.folded-tool-success > .folded-tool-bar {
2274
+ background: #0f2b1a;
2275
+ }
2276
+ .folded-tool.folded-tool-success > .folded-tool-bar::before {
2277
+ color: #16a34a;
2278
+ }
2279
+ html.dark .folded-tool.folded-tool-success > .folded-tool-bar::before {
2280
+ color: #4ade80;
2274
2281
  }
2275
- .tool-result-status::-webkit-details-marker { display: none; }
2276
- .tool-result-status::marker { display: none; content: ''; }
2277
- .tool-result-inline > .folded-tool-body { border-top: 1px solid #bbf7d0; }
2278
- html.dark .tool-result-inline > .folded-tool-body { border-top-color: #166534; }
2279
- .tool-result-error { background: #fef2f2; border-top-color: #fecaca; }
2280
- html.dark .tool-result-error { background: #1f0a0a; border-top-color: #991b1b; }
2281
- .tool-result-error .folded-tool-icon { color: #dc2626; }
2282
- html.dark .tool-result-error .folded-tool-icon { color: #f87171; }
2283
- .tool-result-error .folded-tool-name { color: #991b1b; }
2284
- html.dark .tool-result-error .folded-tool-name { color: #fca5a5; }
2285
- .tool-result-error .folded-tool-desc { color: #b91c1c; }
2286
- html.dark .tool-result-error .folded-tool-desc { color: #f87171; }
2287
- .tool-result-error > .folded-tool-body { border-top-color: #fecaca; }
2288
- html.dark .tool-result-error > .folded-tool-body { border-top-color: #991b1b; }
2289
2282
 
2290
2283
  /* --- Consecutive Block Joining --- */
2291
2284
  .streaming-blocks > * + *,
@@ -1210,35 +1210,31 @@ class StreamingRenderer {
1210
1210
  const isError = block.is_error || false;
1211
1211
  const content = block.content || '';
1212
1212
  const contentStr = typeof content === 'string' ? content : JSON.stringify(content, null, 2);
1213
- const parentIsOpen = context.parentIsOpen !== undefined ? context.parentIsOpen : true;
1214
1213
 
1215
- const wrapper = document.createElement('div');
1216
- wrapper.className = 'tool-result-inline' + (isError ? ' tool-result-error' : ' tool-result-success');
1217
- wrapper.dataset.eventType = 'tool_result';
1218
- if (block.tool_use_id) wrapper.dataset.toolUseId = block.tool_use_id;
1219
- wrapper.classList.add(this._getBlockTypeClass('tool_result'));
1214
+ const details = document.createElement('details');
1215
+ details.className = 'folded-tool' + (isError ? ' folded-tool-error' : ' folded-tool-success');
1216
+ details.dataset.eventType = 'tool_result';
1217
+ if (block.tool_use_id) details.dataset.toolUseId = block.tool_use_id;
1218
+ details.classList.add(this._getBlockTypeClass('tool_result'));
1220
1219
 
1221
- const header = document.createElement('div');
1222
- header.className = 'tool-result-status';
1220
+ const summary = document.createElement('summary');
1221
+ summary.className = 'folded-tool-bar';
1223
1222
  const iconSvg = isError
1224
1223
  ? '<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"/></svg>'
1225
1224
  : '<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>';
1226
- header.innerHTML = `
1225
+ summary.innerHTML = `
1227
1226
  <span class="folded-tool-icon">${iconSvg}</span>
1228
1227
  <span class="folded-tool-name">${isError ? 'Error' : 'Success'}</span>
1229
1228
  `;
1230
- wrapper.appendChild(header);
1229
+ details.appendChild(summary);
1231
1230
 
1232
1231
  const renderedContent = StreamingRenderer.renderSmartContentHTML(contentStr, this.escapeHtml.bind(this), true);
1233
1232
  const body = document.createElement('div');
1234
1233
  body.className = 'folded-tool-body';
1235
- if (!parentIsOpen) {
1236
- body.style.display = 'none';
1237
- }
1238
1234
  body.innerHTML = renderedContent;
1239
- wrapper.appendChild(body);
1235
+ details.appendChild(body);
1240
1236
 
1241
- return wrapper;
1237
+ return details;
1242
1238
  }
1243
1239
 
1244
1240
  /**