@agent-link/server 0.1.45 → 0.1.46
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 +1 -1
- package/web/app.js +4 -4
- package/web/modules/connection.js +8 -2
- package/web/style.css +7 -0
package/package.json
CHANGED
package/web/app.js
CHANGED
|
@@ -403,8 +403,7 @@ const App = {
|
|
|
403
403
|
<template v-if="msg.role === 'user'">
|
|
404
404
|
<div class="message-role-label user-label">You</div>
|
|
405
405
|
<div class="message-bubble user-bubble" :title="formatTimestamp(msg.timestamp)">
|
|
406
|
-
<div
|
|
407
|
-
<div v-else class="message-content">{{ msg.content }}</div>
|
|
406
|
+
<div class="message-content">{{ msg.content }}</div>
|
|
408
407
|
<div v-if="msg.attachments && msg.attachments.length" class="message-attachments">
|
|
409
408
|
<div v-for="(att, ai) in msg.attachments" :key="ai" class="message-attachment-chip">
|
|
410
409
|
<img v-if="att.isImage && att.thumbUrl" :src="att.thumbUrl" class="message-attachment-thumb" />
|
|
@@ -506,14 +505,15 @@ const App = {
|
|
|
506
505
|
</div>
|
|
507
506
|
|
|
508
507
|
<!-- System message -->
|
|
509
|
-
<div v-else-if="msg.role === 'system'" :class="['system-msg', { 'compact-msg': msg.isCompactStart }]">
|
|
508
|
+
<div v-else-if="msg.role === 'system'" :class="['system-msg', { 'compact-msg': msg.isCompactStart, 'command-output-msg': msg.isCommandOutput }]">
|
|
510
509
|
<template v-if="msg.isCompactStart && !msg.compactDone">
|
|
511
510
|
<span class="compact-inline-spinner"></span>
|
|
512
511
|
</template>
|
|
513
512
|
<template v-if="msg.isCompactStart && msg.compactDone">
|
|
514
513
|
<span class="compact-done-icon">✓</span>
|
|
515
514
|
</template>
|
|
516
|
-
|
|
515
|
+
<div v-if="msg.isCommandOutput" class="message-content markdown-body" v-html="getRenderedContent(msg)"></div>
|
|
516
|
+
<template v-else>{{ msg.content }}</template>
|
|
517
517
|
</div>
|
|
518
518
|
</div>
|
|
519
519
|
|
|
@@ -183,7 +183,7 @@ export function createConnection(deps) {
|
|
|
183
183
|
streaming.flushReveal();
|
|
184
184
|
finalizeStreamingMsg(scheduleHighlight);
|
|
185
185
|
messages.value.push({
|
|
186
|
-
id: streaming.nextId(), role: '
|
|
186
|
+
id: streaming.nextId(), role: 'system',
|
|
187
187
|
content: msg.content, isCommandOutput: true,
|
|
188
188
|
timestamp: new Date(),
|
|
189
189
|
});
|
|
@@ -263,10 +263,16 @@ export function createConnection(deps) {
|
|
|
263
263
|
content: h.content, contextExpanded: false,
|
|
264
264
|
timestamp: h.timestamp ? new Date(h.timestamp) : new Date(),
|
|
265
265
|
});
|
|
266
|
+
} else if (h.isCommandOutput) {
|
|
267
|
+
batch.push({
|
|
268
|
+
id: streaming.nextId(), role: 'system',
|
|
269
|
+
content: h.content, isCommandOutput: true,
|
|
270
|
+
timestamp: h.timestamp ? new Date(h.timestamp) : new Date(),
|
|
271
|
+
});
|
|
266
272
|
} else {
|
|
267
273
|
batch.push({
|
|
268
274
|
id: streaming.nextId(), role: 'user',
|
|
269
|
-
content: h.content,
|
|
275
|
+
content: h.content,
|
|
270
276
|
timestamp: h.timestamp ? new Date(h.timestamp) : new Date(),
|
|
271
277
|
});
|
|
272
278
|
}
|
package/web/style.css
CHANGED
|
@@ -1190,6 +1190,13 @@ body {
|
|
|
1190
1190
|
padding: 0.25rem 0;
|
|
1191
1191
|
}
|
|
1192
1192
|
|
|
1193
|
+
.system-msg.command-output-msg {
|
|
1194
|
+
text-align: left;
|
|
1195
|
+
font-style: normal;
|
|
1196
|
+
font-size: 0.85rem;
|
|
1197
|
+
padding: 0.5rem 0;
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1193
1200
|
/* ── History loading indicator ── */
|
|
1194
1201
|
.history-loading {
|
|
1195
1202
|
display: flex;
|