@agent-link/agent 0.1.253 → 0.1.254
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/session-export.js +367 -28
- package/dist/session-export.js.map +1 -1
- package/package.json +2 -1
package/dist/session-export.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { marked, Parser } from 'marked';
|
|
1
2
|
const FORMATTERS = {
|
|
2
3
|
markdown: formatMarkdown,
|
|
3
4
|
html: formatHtml,
|
|
4
5
|
};
|
|
5
6
|
const EXPORT_FOOTER = 'Powered by msclaude.ai';
|
|
7
|
+
const MARKED_CDN_URL = 'https://cdn.jsdelivr.net/npm/marked@17.0.6/marked.min.js';
|
|
6
8
|
export function isSessionExportFormat(value) {
|
|
7
9
|
return typeof value === 'string' && value in FORMATTERS;
|
|
8
10
|
}
|
|
@@ -94,48 +96,242 @@ function escapeMarkdownTable(value) {
|
|
|
94
96
|
return value.replace(/\|/g, '\\|').replace(/\r?\n/g, ' ');
|
|
95
97
|
}
|
|
96
98
|
function formatHtml(metadata, messages) {
|
|
99
|
+
const counts = getMessageCounts(messages);
|
|
97
100
|
const sections = messages.map((message, index) => renderHtmlMessage(message, index)).join('\n');
|
|
101
|
+
const toc = renderHtmlToc(messages);
|
|
98
102
|
const content = `<!doctype html>
|
|
99
103
|
<html lang="en">
|
|
100
104
|
<head>
|
|
101
105
|
<meta charset="utf-8">
|
|
102
106
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
103
|
-
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:;">
|
|
107
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline' https://cdn.jsdelivr.net; style-src 'unsafe-inline'; img-src data: https:; base-uri 'none'; form-action 'none';">
|
|
104
108
|
<title>${escapeHtml(metadata.title)}</title>
|
|
105
109
|
<style>
|
|
106
|
-
:root {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
:root {
|
|
111
|
+
color-scheme: light dark;
|
|
112
|
+
--bg: #0f172a;
|
|
113
|
+
--surface: #111827;
|
|
114
|
+
--surface-2: #172033;
|
|
115
|
+
--panel: #111827;
|
|
116
|
+
--text: #e5e7eb;
|
|
117
|
+
--muted: #94a3b8;
|
|
118
|
+
--border: #334155;
|
|
119
|
+
--accent: #60a5fa;
|
|
120
|
+
--accent-soft: rgba(96, 165, 250, .14);
|
|
121
|
+
--user-bg: rgba(59, 130, 246, .16);
|
|
122
|
+
--assistant-bg: #111827;
|
|
123
|
+
--tool-bg: rgba(148, 163, 184, .09);
|
|
124
|
+
--shadow: 0 18px 44px rgba(2, 6, 23, .25);
|
|
125
|
+
}
|
|
126
|
+
@media (prefers-color-scheme: light) {
|
|
127
|
+
:root {
|
|
128
|
+
--bg: #f4f7fb;
|
|
129
|
+
--surface: #ffffff;
|
|
130
|
+
--surface-2: #f8fafc;
|
|
131
|
+
--panel: #ffffff;
|
|
132
|
+
--text: #0f172a;
|
|
133
|
+
--muted: #64748b;
|
|
134
|
+
--border: #dbe3ef;
|
|
135
|
+
--accent: #2563eb;
|
|
136
|
+
--accent-soft: rgba(37, 99, 235, .1);
|
|
137
|
+
--user-bg: #eff6ff;
|
|
138
|
+
--assistant-bg: #ffffff;
|
|
139
|
+
--tool-bg: #f8fafc;
|
|
140
|
+
--shadow: 0 16px 38px rgba(15, 23, 42, .08);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
* { box-sizing: border-box; }
|
|
144
|
+
html { scroll-behavior: smooth; }
|
|
145
|
+
body { margin: 0; background: radial-gradient(circle at top left, var(--accent-soft), transparent 32rem), var(--bg); color: var(--text); font: 14px/1.62 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
|
|
146
|
+
a { color: var(--accent); }
|
|
147
|
+
.page-shell { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 960px); gap: 24px; max-width: 1280px; margin: 0 auto; padding: 32px 20px 64px; }
|
|
148
|
+
main { min-width: 0; }
|
|
149
|
+
.toc { position: sticky; top: 18px; align-self: start; max-height: calc(100vh - 36px); overflow: auto; padding: 16px; border: 1px solid var(--border); border-radius: 16px; background: color-mix(in srgb, var(--surface) 88%, transparent); box-shadow: var(--shadow); }
|
|
150
|
+
.toc h2 { margin: 0 0 10px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
|
|
151
|
+
.toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
|
|
152
|
+
.toc a { display: grid; grid-template-columns: auto 1fr; gap: 7px; padding: 8px; border-radius: 10px; color: var(--text); text-decoration: none; }
|
|
153
|
+
.toc a:hover { background: var(--accent-soft); }
|
|
154
|
+
.toc .toc-index { color: var(--muted); font-variant-numeric: tabular-nums; }
|
|
155
|
+
.toc .toc-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
156
|
+
.toc .toc-summary { grid-column: 2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 12px; }
|
|
157
|
+
.export-header { margin-bottom: 22px; padding: 28px; border: 1px solid var(--border); border-radius: 20px; background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 95%, transparent), var(--surface)); box-shadow: var(--shadow); }
|
|
158
|
+
.eyebrow { margin: 0 0 8px; color: var(--muted); font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
|
|
159
|
+
h1 { margin: 0; font-size: clamp(28px, 4vw, 42px); line-height: 1.12; letter-spacing: -.03em; }
|
|
160
|
+
.subtitle { margin: 12px 0 0; color: var(--muted); }
|
|
161
|
+
.stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
|
|
162
|
+
.stat { padding: 7px 10px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 12px; }
|
|
163
|
+
.header-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
|
|
164
|
+
button.export-action { border: 1px solid var(--border); border-radius: 10px; padding: 7px 10px; background: var(--panel); color: var(--text); font: inherit; cursor: pointer; }
|
|
165
|
+
button.export-action:hover { border-color: var(--accent); color: var(--accent); }
|
|
166
|
+
.meta-details { margin-top: 16px; color: var(--muted); }
|
|
167
|
+
.meta-details summary { cursor: pointer; color: var(--muted); font-weight: 600; }
|
|
168
|
+
.meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin-top: 10px; font-size: 12px; }
|
|
169
|
+
.meta code { color: var(--text); overflow-wrap: anywhere; }
|
|
170
|
+
.message { border: 1px solid var(--border); border-radius: 16px; padding: 18px; margin: 16px 0; background: var(--panel); box-shadow: 0 6px 22px rgba(15, 23, 42, 0.07); scroll-margin-top: 18px; }
|
|
171
|
+
.message-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
|
|
172
|
+
.message h2 { margin: 0; font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--accent); }
|
|
173
|
+
.message-time { color: var(--muted); font-size: 12px; white-space: nowrap; }
|
|
174
|
+
.message-user { margin-left: auto; max-width: 86%; background: var(--user-bg); }
|
|
175
|
+
.message-assistant { background: var(--assistant-bg); }
|
|
176
|
+
.message-tool { background: var(--tool-bg); box-shadow: none; }
|
|
177
|
+
.message-tool h2 { color: var(--muted); }
|
|
178
|
+
.plain-content, pre { white-space: pre-wrap; word-break: break-word; }
|
|
179
|
+
.content { word-break: break-word; }
|
|
180
|
+
.markdown-body > :first-child { margin-top: 0; }
|
|
181
|
+
.markdown-body > :last-child { margin-bottom: 0; }
|
|
182
|
+
.markdown-body p, .markdown-body ul, .markdown-body ol, .markdown-body blockquote, .markdown-body pre, .markdown-body table { margin: 0 0 12px; }
|
|
183
|
+
.markdown-body h1, .markdown-body h2, .markdown-body h3 { margin: 20px 0 10px; line-height: 1.25; letter-spacing: -.02em; text-transform: none; color: var(--text); }
|
|
184
|
+
.markdown-body h1 { font-size: 1.65rem; }
|
|
185
|
+
.markdown-body h2 { font-size: 1.35rem; }
|
|
186
|
+
.markdown-body h3 { font-size: 1.12rem; }
|
|
187
|
+
.markdown-body ul, .markdown-body ol { padding-left: 24px; }
|
|
188
|
+
.markdown-body blockquote { border-left: 3px solid var(--border); padding-left: 12px; color: var(--muted); }
|
|
189
|
+
.markdown-body code { padding: 1px 4px; border-radius: 4px; background: rgba(148, 163, 184, 0.16); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
|
|
190
|
+
.markdown-body pre code { padding: 0; background: transparent; }
|
|
191
|
+
.markdown-body table { border-collapse: collapse; width: 100%; overflow: auto; display: block; }
|
|
192
|
+
.markdown-body th, .markdown-body td { border: 1px solid var(--border); padding: 6px 8px; }
|
|
193
|
+
.markdown-body a { color: var(--accent); }
|
|
117
194
|
pre { margin: 10px 0 0; padding: 12px; border-radius: 8px; background: rgba(148, 163, 184, 0.14); overflow-x: auto; }
|
|
195
|
+
.code-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 6px 8px; border: 1px solid var(--border); border-bottom: 0; border-radius: 8px 8px 0 0; color: var(--muted); background: rgba(148, 163, 184, 0.08); font-size: 12px; }
|
|
196
|
+
.code-toolbar + pre { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
|
|
197
|
+
.code-copy { border: 0; background: transparent; color: var(--muted); cursor: pointer; font: inherit; }
|
|
198
|
+
.code-copy:hover { color: var(--accent); }
|
|
118
199
|
details { margin-top: 8px; }
|
|
119
200
|
summary { cursor: pointer; color: var(--accent); font-weight: 600; }
|
|
201
|
+
.tool-summary { margin: 0; color: var(--muted); }
|
|
202
|
+
.tool-details { border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; background: color-mix(in srgb, var(--surface-2) 70%, transparent); }
|
|
203
|
+
.tool-details summary { color: var(--muted); }
|
|
120
204
|
.empty { color: var(--muted); font-style: italic; }
|
|
121
205
|
footer { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; text-align: center; opacity: .7; }
|
|
206
|
+
@media (max-width: 920px) {
|
|
207
|
+
.page-shell { display: block; padding: 16px 12px 48px; }
|
|
208
|
+
.toc { position: static; max-height: 260px; margin-bottom: 16px; }
|
|
209
|
+
.message-user { max-width: none; margin-left: 0; }
|
|
210
|
+
}
|
|
211
|
+
@media print {
|
|
212
|
+
:root { color-scheme: light; --bg: #fff; --surface: #fff; --surface-2: #fff; --panel: #fff; --text: #111827; --muted: #4b5563; --border: #d1d5db; --accent: #1d4ed8; --shadow: none; }
|
|
213
|
+
body { background: #fff; }
|
|
214
|
+
.page-shell { display: block; max-width: none; padding: 0; }
|
|
215
|
+
.toc { position: static; max-height: none; box-shadow: none; break-after: page; }
|
|
216
|
+
.export-header, .message { box-shadow: none; break-inside: avoid; }
|
|
217
|
+
.header-actions, .code-copy { display: none !important; }
|
|
218
|
+
details.tool-details:not([open]) > :not(summary) { display: none !important; }
|
|
219
|
+
a { color: #1d4ed8; text-decoration: none; }
|
|
220
|
+
}
|
|
122
221
|
</style>
|
|
123
222
|
</head>
|
|
124
223
|
<body>
|
|
125
|
-
<
|
|
126
|
-
|
|
224
|
+
<div class="page-shell">
|
|
225
|
+
${toc}
|
|
226
|
+
<main>
|
|
227
|
+
<header class="export-header">
|
|
228
|
+
<p class="eyebrow">AgentLink session export</p>
|
|
127
229
|
<h1>${escapeHtml(metadata.title)}</h1>
|
|
128
|
-
<
|
|
129
|
-
|
|
130
|
-
<span
|
|
131
|
-
<span
|
|
132
|
-
<span
|
|
133
|
-
<span
|
|
230
|
+
<p class="subtitle">Shared conversation transcript exported ${escapeHtml(formatDate(metadata.exportedAt))}.</p>
|
|
231
|
+
<div class="stats">
|
|
232
|
+
<span class="stat">${counts.total} messages</span>
|
|
233
|
+
<span class="stat">${counts.user} user</span>
|
|
234
|
+
<span class="stat">${counts.assistant} assistant</span>
|
|
235
|
+
<span class="stat">${counts.tool} tools collapsed</span>
|
|
236
|
+
<span class="stat">${escapeHtml(metadata.backend)}</span>
|
|
237
|
+
</div>
|
|
238
|
+
<div class="header-actions">
|
|
239
|
+
<button type="button" class="export-action" data-action="expand-tools">Expand all tools</button>
|
|
240
|
+
<button type="button" class="export-action" data-action="collapse-tools">Collapse all tools</button>
|
|
241
|
+
<button type="button" class="export-action" data-action="print">Print / Save PDF</button>
|
|
134
242
|
</div>
|
|
243
|
+
<details class="meta-details">
|
|
244
|
+
<summary>Technical metadata</summary>
|
|
245
|
+
<div class="meta">
|
|
246
|
+
<span>Session ID</span><code>${escapeHtml(metadata.sessionId)}</code>
|
|
247
|
+
<span>Backend</span><span>${escapeHtml(metadata.backend)}</span>
|
|
248
|
+
<span>Workdir</span><code>${metadata.workDir ? escapeHtml(metadata.workDir) : '-'}</code>
|
|
249
|
+
<span>Last modified</span><span>${metadata.lastModified ? escapeHtml(formatDate(metadata.lastModified)) : '-'}</span>
|
|
250
|
+
<span>Exported at</span><span>${escapeHtml(formatDate(metadata.exportedAt))}</span>
|
|
251
|
+
</div>
|
|
252
|
+
</details>
|
|
135
253
|
</header>
|
|
136
254
|
${sections}
|
|
137
255
|
<footer>${escapeHtml(EXPORT_FOOTER)}</footer>
|
|
138
256
|
</main>
|
|
257
|
+
</div>
|
|
258
|
+
<script src="${MARKED_CDN_URL}"></script>
|
|
259
|
+
<script>
|
|
260
|
+
(() => {
|
|
261
|
+
const markedLib = window.marked;
|
|
262
|
+
|
|
263
|
+
const escapeHtml = (value) => String(value)
|
|
264
|
+
.replace(/&/g, '&')
|
|
265
|
+
.replace(/</g, '<')
|
|
266
|
+
.replace(/>/g, '>')
|
|
267
|
+
.replace(/"/g, '"')
|
|
268
|
+
.replace(/'/g, ''');
|
|
269
|
+
const isSafeHref = (href) => {
|
|
270
|
+
const trimmed = String(href || '').trim();
|
|
271
|
+
if (!trimmed) return false;
|
|
272
|
+
if (trimmed.startsWith('#')) return true;
|
|
273
|
+
try {
|
|
274
|
+
const url = new URL(trimmed, 'https://msclaude.ai');
|
|
275
|
+
return url.protocol === 'http:' || url.protocol === 'https:' || url.protocol === 'mailto:';
|
|
276
|
+
} catch {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
if (markedLib) {
|
|
282
|
+
const renderer = new markedLib.Renderer();
|
|
283
|
+
renderer.html = ({ text }) => escapeHtml(text);
|
|
284
|
+
renderer.link = ({ href, title, tokens }) => {
|
|
285
|
+
const text = markedLib.Parser.parseInline(tokens, { renderer });
|
|
286
|
+
if (!isSafeHref(href)) return text;
|
|
287
|
+
const titleAttr = title ? \` title="\${escapeHtml(title)}"\` : '';
|
|
288
|
+
return \`<a href="\${escapeHtml(href)}"\${titleAttr} target="_blank" rel="noopener noreferrer">\${text}</a>\`;
|
|
289
|
+
};
|
|
290
|
+
renderer.image = ({ text }) => escapeHtml(text);
|
|
291
|
+
|
|
292
|
+
document.querySelectorAll('script.markdown-source').forEach((sourceEl) => {
|
|
293
|
+
const target = sourceEl.nextElementSibling;
|
|
294
|
+
if (!target || !target.classList.contains('markdown-body')) return;
|
|
295
|
+
try {
|
|
296
|
+
const markdown = JSON.parse(sourceEl.textContent || '""');
|
|
297
|
+
target.innerHTML = markedLib.parse(markdown, { async: false, breaks: true, gfm: true, renderer });
|
|
298
|
+
} catch {
|
|
299
|
+
target.classList.add('markdown-render-failed');
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
const setToolOpen = (open) => {
|
|
305
|
+
document.querySelectorAll('details.tool-details').forEach((detail) => { detail.open = open; });
|
|
306
|
+
};
|
|
307
|
+
document.querySelector('[data-action="expand-tools"]')?.addEventListener('click', () => setToolOpen(true));
|
|
308
|
+
document.querySelector('[data-action="collapse-tools"]')?.addEventListener('click', () => setToolOpen(false));
|
|
309
|
+
document.querySelector('[data-action="print"]')?.addEventListener('click', () => window.print());
|
|
310
|
+
|
|
311
|
+
document.querySelectorAll('.markdown-body pre').forEach((pre) => {
|
|
312
|
+
if (pre.previousElementSibling?.classList.contains('code-toolbar')) return;
|
|
313
|
+
const code = pre.querySelector('code');
|
|
314
|
+
const language = Array.from(code?.classList || [])
|
|
315
|
+
.find((name) => name.startsWith('language-'))
|
|
316
|
+
?.replace('language-', '') || 'code';
|
|
317
|
+
const toolbar = document.createElement('div');
|
|
318
|
+
toolbar.className = 'code-toolbar';
|
|
319
|
+
toolbar.innerHTML = \`<span>\${escapeHtml(language)}</span><button type="button" class="code-copy">Copy</button>\`;
|
|
320
|
+
toolbar.querySelector('button')?.addEventListener('click', async (event) => {
|
|
321
|
+
const button = event.currentTarget;
|
|
322
|
+
try {
|
|
323
|
+
await navigator.clipboard.writeText(code?.textContent || pre.textContent || '');
|
|
324
|
+
button.textContent = 'Copied';
|
|
325
|
+
setTimeout(() => { button.textContent = 'Copy'; }, 1600);
|
|
326
|
+
} catch {
|
|
327
|
+
button.textContent = 'Copy failed';
|
|
328
|
+
setTimeout(() => { button.textContent = 'Copy'; }, 1600);
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
pre.parentNode?.insertBefore(toolbar, pre);
|
|
332
|
+
});
|
|
333
|
+
})();
|
|
334
|
+
</script>
|
|
139
335
|
</body>
|
|
140
336
|
</html>
|
|
141
337
|
`;
|
|
@@ -145,22 +341,157 @@ function formatHtml(metadata, messages) {
|
|
|
145
341
|
content,
|
|
146
342
|
};
|
|
147
343
|
}
|
|
344
|
+
function getMessageCounts(messages) {
|
|
345
|
+
let user = 0;
|
|
346
|
+
let tool = 0;
|
|
347
|
+
let assistant = 0;
|
|
348
|
+
for (const message of messages) {
|
|
349
|
+
if (message.role === 'user' && !message.isCommandOutput)
|
|
350
|
+
user++;
|
|
351
|
+
else if (message.role === 'tool')
|
|
352
|
+
tool++;
|
|
353
|
+
else
|
|
354
|
+
assistant++;
|
|
355
|
+
}
|
|
356
|
+
return { total: messages.length, user, assistant, tool };
|
|
357
|
+
}
|
|
358
|
+
function renderHtmlToc(messages) {
|
|
359
|
+
const visibleMessages = messages
|
|
360
|
+
.map((message, index) => ({ message, index }))
|
|
361
|
+
.filter(({ message }) => message.role !== 'tool');
|
|
362
|
+
if (visibleMessages.length === 0)
|
|
363
|
+
return '<nav class="toc" aria-label="Conversation outline"><h2>Contents</h2><p class="empty">No non-tool messages</p></nav>';
|
|
364
|
+
const items = visibleMessages.map(({ message, index }) => {
|
|
365
|
+
const label = messageLabel(message);
|
|
366
|
+
const summary = summarizeMessage(message);
|
|
367
|
+
return `<li><a class="toc-link" href="#${messageId(index)}"><span class="toc-index">${index + 1}</span><span class="toc-title">${escapeHtml(label)}</span><span class="toc-summary">${escapeHtml(summary)}</span></a></li>`;
|
|
368
|
+
}).join('\n');
|
|
369
|
+
return `<nav class="toc" aria-label="Conversation outline"><h2>Contents</h2><ol>${items}</ol></nav>`;
|
|
370
|
+
}
|
|
371
|
+
function messageId(index) {
|
|
372
|
+
return `message-${index + 1}`;
|
|
373
|
+
}
|
|
374
|
+
function messageLabel(message) {
|
|
375
|
+
if (message.role === 'tool')
|
|
376
|
+
return `Tool: ${message.toolName || 'Unknown'}`;
|
|
377
|
+
if (message.isThinking)
|
|
378
|
+
return 'Assistant thinking';
|
|
379
|
+
if (message.isCommandOutput)
|
|
380
|
+
return 'Command output';
|
|
381
|
+
if (message.role === 'user')
|
|
382
|
+
return 'User';
|
|
383
|
+
if (message.role === 'skill-context')
|
|
384
|
+
return `Skill context${message.skillName ? `: ${message.skillName}` : ''}`;
|
|
385
|
+
return 'Assistant';
|
|
386
|
+
}
|
|
387
|
+
function messageRoleClass(message) {
|
|
388
|
+
if (message.role === 'user' && !message.isCommandOutput)
|
|
389
|
+
return 'message-user';
|
|
390
|
+
if (message.role === 'tool')
|
|
391
|
+
return 'message-tool';
|
|
392
|
+
return 'message-assistant';
|
|
393
|
+
}
|
|
394
|
+
function summarizeMessage(message) {
|
|
395
|
+
if (message.role === 'tool')
|
|
396
|
+
return getToolSummaryForExport(message);
|
|
397
|
+
const text = stringifyContent(message.content).replace(/\s+/g, ' ').trim();
|
|
398
|
+
if (!text)
|
|
399
|
+
return 'No content';
|
|
400
|
+
return text.length > 88 ? `${text.slice(0, 85)}...` : text;
|
|
401
|
+
}
|
|
402
|
+
function getToolSummaryForExport(message) {
|
|
403
|
+
const name = message.toolName || 'Tool';
|
|
404
|
+
const input = parseMaybeJson(message.toolInput);
|
|
405
|
+
if (input && typeof input === 'object' && !Array.isArray(input)) {
|
|
406
|
+
const obj = input;
|
|
407
|
+
const file = firstString(obj, ['file_path', 'filePath', 'path']);
|
|
408
|
+
if (file)
|
|
409
|
+
return `${name} ${file}`;
|
|
410
|
+
const command = firstString(obj, ['command', 'cmd']);
|
|
411
|
+
if (command)
|
|
412
|
+
return `${name}: ${command.length > 88 ? `${command.slice(0, 85)}...` : command}`;
|
|
413
|
+
const pattern = firstString(obj, ['pattern', 'query', 'searchText']);
|
|
414
|
+
if (pattern)
|
|
415
|
+
return `${name}: ${pattern}`;
|
|
416
|
+
}
|
|
417
|
+
return message.toolOutput ? `${name} completed` : name;
|
|
418
|
+
}
|
|
419
|
+
function firstString(obj, keys) {
|
|
420
|
+
for (const key of keys) {
|
|
421
|
+
const value = obj[key];
|
|
422
|
+
if (typeof value === 'string' && value.trim())
|
|
423
|
+
return value.trim();
|
|
424
|
+
}
|
|
425
|
+
return '';
|
|
426
|
+
}
|
|
427
|
+
function parseMaybeJson(value) {
|
|
428
|
+
const text = stringifyContent(value);
|
|
429
|
+
if (!text)
|
|
430
|
+
return null;
|
|
431
|
+
try {
|
|
432
|
+
return JSON.parse(text);
|
|
433
|
+
}
|
|
434
|
+
catch {
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
148
438
|
function renderHtmlMessage(message, index) {
|
|
149
|
-
const title =
|
|
439
|
+
const title = messageLabel(message);
|
|
440
|
+
const id = messageId(index);
|
|
441
|
+
const roleClass = messageRoleClass(message);
|
|
442
|
+
const timestamp = message.timestamp ? `<span class="message-time">${escapeHtml(formatDate(message.timestamp))}</span>` : '';
|
|
150
443
|
if (message.role === 'tool') {
|
|
444
|
+
const summary = summarizeMessage(message);
|
|
151
445
|
const input = message.toolInput
|
|
152
|
-
? `<details
|
|
446
|
+
? `<details class="tool-details"><summary>Input</summary><pre>${escapeHtml(prettyJson(message.toolInput))}</pre></details>`
|
|
153
447
|
: '';
|
|
154
448
|
const output = message.toolOutput
|
|
155
|
-
? `<details><summary>Output</summary><pre>${escapeHtml(message.toolOutput)}</pre></details>`
|
|
449
|
+
? `<details class="tool-details"><summary>Output</summary><pre>${escapeHtml(message.toolOutput)}</pre></details>`
|
|
156
450
|
: '';
|
|
157
451
|
const empty = !input && !output ? '<p class="empty">No input or output captured.</p>' : '';
|
|
158
|
-
return `<section class="message
|
|
452
|
+
return `<section id="${id}" class="message ${roleClass}"><div class="message-header"><h2>${escapeHtml(title)}</h2>${timestamp}</div><p class="tool-summary">${escapeHtml(summary)}</p>${input}${output}${empty}</section>`;
|
|
453
|
+
}
|
|
454
|
+
const content = message.content && shouldRenderMarkdown(message)
|
|
455
|
+
? `<script type="application/json" class="markdown-source">${jsonScriptContent(message.content)}</script><div class="content markdown-body">${renderSafeMarkdown(message.content)}</div>`
|
|
456
|
+
: message.content
|
|
457
|
+
? `<div class="content plain-content">${escapeHtml(message.content)}</div>`
|
|
458
|
+
: '<p class="empty">No content</p>';
|
|
459
|
+
return `<section id="${id}" class="message ${roleClass}"><div class="message-header"><h2>${escapeHtml(title)}</h2>${timestamp}</div>${content}</section>`;
|
|
460
|
+
}
|
|
461
|
+
function shouldRenderMarkdown(message) {
|
|
462
|
+
return (message.role !== 'user' && message.role !== 'tool') || !!message.isCommandOutput;
|
|
463
|
+
}
|
|
464
|
+
function renderSafeMarkdown(content) {
|
|
465
|
+
const renderer = new marked.Renderer();
|
|
466
|
+
renderer.html = ({ text }) => escapeHtml(text);
|
|
467
|
+
renderer.link = ({ href, title, tokens }) => {
|
|
468
|
+
const text = Parser.parseInline(tokens, { renderer });
|
|
469
|
+
if (!isSafeHref(href))
|
|
470
|
+
return text;
|
|
471
|
+
const titleAttr = title ? ` title="${escapeHtml(title)}"` : '';
|
|
472
|
+
return `<a href="${escapeHtml(href)}"${titleAttr} target="_blank" rel="noopener noreferrer">${text}</a>`;
|
|
473
|
+
};
|
|
474
|
+
renderer.image = ({ text }) => escapeHtml(text);
|
|
475
|
+
return marked.parse(content, {
|
|
476
|
+
async: false,
|
|
477
|
+
breaks: true,
|
|
478
|
+
gfm: true,
|
|
479
|
+
renderer,
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
function isSafeHref(href) {
|
|
483
|
+
const trimmed = href.trim();
|
|
484
|
+
if (!trimmed)
|
|
485
|
+
return false;
|
|
486
|
+
if (trimmed.startsWith('#'))
|
|
487
|
+
return true;
|
|
488
|
+
try {
|
|
489
|
+
const url = new URL(trimmed, 'https://msclaude.ai');
|
|
490
|
+
return url.protocol === 'http:' || url.protocol === 'https:' || url.protocol === 'mailto:';
|
|
491
|
+
}
|
|
492
|
+
catch {
|
|
493
|
+
return false;
|
|
159
494
|
}
|
|
160
|
-
const content = message.content
|
|
161
|
-
? `<div class="content">${escapeHtml(message.content)}</div>`
|
|
162
|
-
: '<p class="empty">No content</p>';
|
|
163
|
-
return `<section class="message ${escapeHtml(message.role)}"><h2>${escapeHtml(title)}</h2>${content}</section>`;
|
|
164
495
|
}
|
|
165
496
|
function prettyJson(value) {
|
|
166
497
|
const text = stringifyContent(value);
|
|
@@ -179,6 +510,14 @@ function escapeHtml(value) {
|
|
|
179
510
|
.replace(/"/g, '"')
|
|
180
511
|
.replace(/'/g, ''');
|
|
181
512
|
}
|
|
513
|
+
function jsonScriptContent(value) {
|
|
514
|
+
return JSON.stringify(value)
|
|
515
|
+
.replace(/</g, '\\u003c')
|
|
516
|
+
.replace(/>/g, '\\u003e')
|
|
517
|
+
.replace(/&/g, '\\u0026')
|
|
518
|
+
.replace(/\u2028/g, '\\u2028')
|
|
519
|
+
.replace(/\u2029/g, '\\u2029');
|
|
520
|
+
}
|
|
182
521
|
function stringifyContent(value) {
|
|
183
522
|
if (typeof value === 'string')
|
|
184
523
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-export.js","sourceRoot":"","sources":["../src/session-export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-export.js","sourceRoot":"","sources":["../src/session-export.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-link/agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.254",
|
|
4
4
|
"description": "AgentLink local agent CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"commander": "^12.0.0",
|
|
44
44
|
"cron-parser": "^5.5.0",
|
|
45
45
|
"js-yaml": "^4.1.1",
|
|
46
|
+
"marked": "^17.0.6",
|
|
46
47
|
"node-cron": "^4.2.1",
|
|
47
48
|
"node-pty": "^1.1.0",
|
|
48
49
|
"qrcode-terminal": "^0.12.0",
|