@agent-link/server 0.1.19 → 0.1.21
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/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/package.json +1 -1
- package/web/app.js +38 -12
- package/web/style.css +24 -0
package/dist/cli.js
CHANGED
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,sBAAsB,EAAE,uBAAuB,EAAE,SAAS,EAC1D,WAAW,EAAE,cAAc,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,wBAAwB,CAAC;KACrC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;KAClD,MAAM,CAAC,cAAc,EAAE,0CAA0C,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,IAAI,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,CAAC,GAAG,UAAU,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ;QAAE,uBAAuB,EAAE,CAAC;IAExC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,uCAAuC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;QACpD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;QAC3B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -41,7 +41,7 @@ export function getLogDir() {
|
|
|
41
41
|
export function killProcess(pid) {
|
|
42
42
|
try {
|
|
43
43
|
if (process.platform === 'win32') {
|
|
44
|
-
execSync(`taskkill /pid ${pid} /f /t`, { stdio: 'ignore' });
|
|
44
|
+
execSync(`taskkill /pid ${pid} /f /t`, { stdio: 'ignore', windowsHide: true });
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
47
|
process.kill(pid, 'SIGTERM');
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAEzC,SAAS,eAAe;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,eAAe,EAAE,CAAC;IAClB,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC;QACH,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0CAA0C;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAEzC,SAAS,eAAe;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,eAAe,EAAE,CAAC;IAClB,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC;QACH,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0CAA0C;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
package/web/app.js
CHANGED
|
@@ -112,6 +112,15 @@ const App = {
|
|
|
112
112
|
const sessionId = ref('');
|
|
113
113
|
const error = ref('');
|
|
114
114
|
const messages = ref([]);
|
|
115
|
+
const visibleLimit = ref(50);
|
|
116
|
+
const hasMoreMessages = computed(() => messages.value.length > visibleLimit.value);
|
|
117
|
+
const visibleMessages = computed(() => {
|
|
118
|
+
if (messages.value.length <= visibleLimit.value) return messages.value;
|
|
119
|
+
return messages.value.slice(messages.value.length - visibleLimit.value);
|
|
120
|
+
});
|
|
121
|
+
function loadMoreMessages() {
|
|
122
|
+
visibleLimit.value += 50;
|
|
123
|
+
}
|
|
115
124
|
const inputText = ref('');
|
|
116
125
|
const isProcessing = ref(false);
|
|
117
126
|
const isCompacting = ref(false);
|
|
@@ -436,8 +445,8 @@ const App = {
|
|
|
436
445
|
// ── Check if previous message is also assistant (to suppress repeated label) ──
|
|
437
446
|
function isPrevAssistant(idx) {
|
|
438
447
|
if (idx <= 0) return false;
|
|
439
|
-
const prev =
|
|
440
|
-
return prev.role === 'assistant' || prev.role === 'tool';
|
|
448
|
+
const prev = visibleMessages.value[idx - 1];
|
|
449
|
+
return prev && (prev.role === 'assistant' || prev.role === 'tool');
|
|
441
450
|
}
|
|
442
451
|
|
|
443
452
|
// ── Context summary toggle ──
|
|
@@ -457,6 +466,8 @@ const App = {
|
|
|
457
466
|
}
|
|
458
467
|
}
|
|
459
468
|
streamingMessageId = null;
|
|
469
|
+
// Trigger syntax highlighting for the finalized message content
|
|
470
|
+
nextTick(scheduleHighlight);
|
|
460
471
|
}
|
|
461
472
|
|
|
462
473
|
// ── Tool expand/collapse ──
|
|
@@ -676,6 +687,7 @@ const App = {
|
|
|
676
687
|
if (window.innerWidth <= 768) sidebarOpen.value = false;
|
|
677
688
|
// Clear current conversation
|
|
678
689
|
messages.value = [];
|
|
690
|
+
visibleLimit.value = 50;
|
|
679
691
|
messageIdCounter = 0;
|
|
680
692
|
streamingMessageId = null;
|
|
681
693
|
pendingText = '';
|
|
@@ -697,6 +709,7 @@ const App = {
|
|
|
697
709
|
// Auto-close sidebar on mobile
|
|
698
710
|
if (window.innerWidth <= 768) sidebarOpen.value = false;
|
|
699
711
|
messages.value = [];
|
|
712
|
+
visibleLimit.value = 50;
|
|
700
713
|
messageIdCounter = 0;
|
|
701
714
|
streamingMessageId = null;
|
|
702
715
|
pendingText = '';
|
|
@@ -928,18 +941,20 @@ const App = {
|
|
|
928
941
|
loadingSessions.value = false;
|
|
929
942
|
} else if (msg.type === 'conversation_resumed') {
|
|
930
943
|
currentClaudeSessionId.value = msg.claudeSessionId;
|
|
931
|
-
//
|
|
944
|
+
// Build history messages in a plain array first, then assign once
|
|
945
|
+
// to avoid triggering Vue reactivity on every individual push.
|
|
932
946
|
if (msg.history && Array.isArray(msg.history)) {
|
|
947
|
+
const batch = [];
|
|
933
948
|
for (const h of msg.history) {
|
|
934
949
|
if (h.role === 'user') {
|
|
935
950
|
if (isContextSummary(h.content)) {
|
|
936
|
-
|
|
951
|
+
batch.push({
|
|
937
952
|
id: ++messageIdCounter, role: 'context-summary',
|
|
938
953
|
content: h.content, contextExpanded: false,
|
|
939
954
|
timestamp: h.timestamp ? new Date(h.timestamp) : new Date(),
|
|
940
955
|
});
|
|
941
956
|
} else {
|
|
942
|
-
|
|
957
|
+
batch.push({
|
|
943
958
|
id: ++messageIdCounter, role: 'user',
|
|
944
959
|
content: h.content, isCommandOutput: !!h.isCommandOutput,
|
|
945
960
|
timestamp: h.timestamp ? new Date(h.timestamp) : new Date(),
|
|
@@ -947,18 +962,18 @@ const App = {
|
|
|
947
962
|
}
|
|
948
963
|
} else if (h.role === 'assistant') {
|
|
949
964
|
// Merge with previous assistant message if consecutive
|
|
950
|
-
const last =
|
|
965
|
+
const last = batch[batch.length - 1];
|
|
951
966
|
if (last && last.role === 'assistant' && !last.isStreaming) {
|
|
952
967
|
last.content += '\n\n' + h.content;
|
|
953
968
|
} else {
|
|
954
|
-
|
|
969
|
+
batch.push({
|
|
955
970
|
id: ++messageIdCounter, role: 'assistant',
|
|
956
971
|
content: h.content, isStreaming: false,
|
|
957
972
|
timestamp: h.timestamp ? new Date(h.timestamp) : new Date(),
|
|
958
973
|
});
|
|
959
974
|
}
|
|
960
975
|
} else if (h.role === 'tool') {
|
|
961
|
-
|
|
976
|
+
batch.push({
|
|
962
977
|
id: ++messageIdCounter, role: 'tool',
|
|
963
978
|
toolId: h.toolId || '', toolName: h.toolName || 'unknown',
|
|
964
979
|
toolInput: h.toolInput || '', hasResult: true,
|
|
@@ -966,7 +981,8 @@ const App = {
|
|
|
966
981
|
});
|
|
967
982
|
}
|
|
968
983
|
}
|
|
969
|
-
|
|
984
|
+
// Single reactive assignment — triggers Vue reactivity only once
|
|
985
|
+
messages.value = batch;
|
|
970
986
|
}
|
|
971
987
|
loadingHistory.value = false;
|
|
972
988
|
// Show ready-for-input hint
|
|
@@ -985,6 +1001,7 @@ const App = {
|
|
|
985
1001
|
} else if (msg.type === 'workdir_changed') {
|
|
986
1002
|
workDir.value = msg.workDir;
|
|
987
1003
|
messages.value = [];
|
|
1004
|
+
visibleLimit.value = 50;
|
|
988
1005
|
messageIdCounter = 0;
|
|
989
1006
|
streamingMessageId = null;
|
|
990
1007
|
pendingText = '';
|
|
@@ -1071,14 +1088,19 @@ const App = {
|
|
|
1071
1088
|
}
|
|
1072
1089
|
}, 300);
|
|
1073
1090
|
}
|
|
1074
|
-
|
|
1091
|
+
// Trigger highlight when messages are added/removed (shallow watch on length)
|
|
1092
|
+
// Deep watch is too expensive for large conversations — it traverses every
|
|
1093
|
+
// property of every message object on every mutation (including streaming ticks).
|
|
1094
|
+
const messageCount = computed(() => messages.value.length);
|
|
1095
|
+
watch(messageCount, () => { nextTick(scheduleHighlight); });
|
|
1075
1096
|
|
|
1076
1097
|
onMounted(() => { connect(); });
|
|
1077
1098
|
onUnmounted(() => { if (ws) ws.close(); });
|
|
1078
1099
|
|
|
1079
1100
|
return {
|
|
1080
1101
|
status, agentName, hostname, workDir, sessionId, error,
|
|
1081
|
-
messages,
|
|
1102
|
+
messages, visibleMessages, hasMoreMessages, loadMoreMessages,
|
|
1103
|
+
inputText, isProcessing, isCompacting, canSend, inputRef,
|
|
1082
1104
|
sendMessage, handleKeydown, cancelExecution,
|
|
1083
1105
|
getRenderedContent, copyMessage, toggleTool, isPrevAssistant, toggleContextSummary,
|
|
1084
1106
|
getToolIcon, getToolSummary, isEditTool, getEditDiffHtml, getFormattedToolInput, autoResize,
|
|
@@ -1208,7 +1230,11 @@ const App = {
|
|
|
1208
1230
|
<span>Loading conversation history...</span>
|
|
1209
1231
|
</div>
|
|
1210
1232
|
|
|
1211
|
-
<div v-
|
|
1233
|
+
<div v-if="hasMoreMessages" class="load-more-wrapper">
|
|
1234
|
+
<button class="load-more-btn" @click="loadMoreMessages">Load earlier messages</button>
|
|
1235
|
+
</div>
|
|
1236
|
+
|
|
1237
|
+
<div v-for="(msg, msgIdx) in visibleMessages" :key="msg.id" :class="['message', 'message-' + msg.role]">
|
|
1212
1238
|
|
|
1213
1239
|
<!-- User message -->
|
|
1214
1240
|
<template v-if="msg.role === 'user'">
|
package/web/style.css
CHANGED
|
@@ -1171,6 +1171,30 @@ body {
|
|
|
1171
1171
|
animation: spin 0.8s linear infinite;
|
|
1172
1172
|
}
|
|
1173
1173
|
|
|
1174
|
+
/* ── Load more button ── */
|
|
1175
|
+
.load-more-wrapper {
|
|
1176
|
+
display: flex;
|
|
1177
|
+
justify-content: center;
|
|
1178
|
+
padding: 0.75rem 0;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
.load-more-btn {
|
|
1182
|
+
background: var(--bg-tertiary);
|
|
1183
|
+
color: var(--text-secondary);
|
|
1184
|
+
border: 1px solid var(--border);
|
|
1185
|
+
border-radius: 6px;
|
|
1186
|
+
padding: 0.4rem 1.2rem;
|
|
1187
|
+
font-size: 0.8rem;
|
|
1188
|
+
cursor: pointer;
|
|
1189
|
+
transition: background 0.15s, color 0.15s;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
.load-more-btn:hover {
|
|
1193
|
+
background: var(--accent);
|
|
1194
|
+
color: #fff;
|
|
1195
|
+
border-color: var(--accent);
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1174
1198
|
/* ── Typing indicator ── */
|
|
1175
1199
|
.typing-indicator {
|
|
1176
1200
|
display: flex;
|