@swestash/agent-lens 0.4.0 → 0.5.0

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.
@@ -1 +1 @@
1
- :root{--bg: #0f1115;--panel: #171a21;--panel2: #1e222b;--border: #2a2f3a;--text: #e6e8ec;--muted: #8b93a3;--accent: #6ea8fe;--user: #7ee0a0;--assistant: #6ea8fe;--tag: #2a2f3a;--err: #ff6b6b;--ok: #7ee0a0;--gold: #e0b85a;--violet: #b98cff;--teal: #4fd1c5;--code-bg: var(--bg)}:root[data-theme=light]{--bg: #ffffff;--panel: #f6f7f9;--panel2: #eceef2;--border: #d5d9e0;--text: #1b1f27;--muted: #5b6472;--accent: #2563eb;--user: #0f9d58;--assistant: #2563eb;--tag: #e4e7ec;--err: #d32f2f;--ok: #15803d;--gold: #b7791f;--violet: #7c3aed;--teal: #0d9488;--code-bg: #eef1f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.ghost{background:transparent}select,input{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px}input:focus,select:focus{border-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-40px;z-index:10;background:var(--panel2);border:1px solid var(--accent);border-radius:6px;padding:6px 12px;transition:top .15s ease}.skip-link:focus{top:8px;text-decoration:none}.topbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:5}.brand{font-weight:700;font-size:16px;color:var(--text);display:inline-flex;align-items:center;gap:8px}.brand-logo{height:22px;width:auto;display:block}.tagline{color:var(--muted);font-size:12px}.topbar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.theme-toggle{font-size:15px;line-height:1;padding:5px 9px}.refresh-btn{font-size:13px;line-height:1;padding:5px 10px;display:inline-flex;align-items:center;gap:4px}.refresh-btn[disabled]{opacity:.65;cursor:default}.refresh-icon{display:inline-block}.refresh-icon.spinning{animation:agentlens-spin .8s linear infinite}@keyframes agentlens-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.refresh-icon.spinning{animation:none}}.content{max-width:1100px;margin:0 auto;padding:20px}.content.wide{max-width:min(1600px,94vw)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.search{display:flex;gap:6px;flex:1;min-width:280px}.search input{flex:1}.muted{color:var(--muted)}.pad{padding:24px 0}.error{color:var(--err);padding:12px;border:1px solid var(--err);border-radius:6px;margin-bottom:12px}table.sessions{width:100%;border-collapse:collapse}.sessions th{text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:8px;border-bottom:1px solid var(--border)}.sessions th.num,.sessions td.num{text-align:right;font-variant-numeric:tabular-nums}.sessions td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.sessions tr:hover td{background:var(--panel)}.title{font-weight:600}.sub{margin-top:4px;display:flex;gap:4px;flex-wrap:wrap}.path{color:var(--muted)}.tag{font-size:11px;background:var(--tag);color:var(--muted);border-radius:4px;padding:1px 6px}.tag.subagent{background:#3a2f10;color:#e0b85a}.tag.meta-type,.tag.meta-depth{margin-left:6px}.tag.meta-depth{background:var(--tag);color:var(--muted)}.schema-banner{background:#3a2f10;color:#e0b85a;border-bottom:1px solid var(--border);padding:8px 16px;font-size:13px;text-align:center}.schema-banner code{background:#0000004d;padding:1px 5px;border-radius:4px}:root[data-theme=light] .schema-banner{background:#fbe9c8;color:#8a5a0f}.pager{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:18px}.page-jump{display:inline-flex;align-items:center}.page-jump select{padding:6px 8px;font-size:13px}.detail-head{margin-bottom:18px}.back{font-size:13px}.detail-head h1{font-size:20px;margin:8px 0}.detail-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--text);font-size:13px}.detail-meta .path,.spawned-by{color:var(--muted)}.export{margin-left:auto;border:1px solid var(--border);border-radius:6px;padding:6px 12px}.subagent-link{display:inline-block;font-size:12px;margin:0 0 4px 10px}.subagents{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-radius:8px}.subagents h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.subagents ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.subagents li{font-size:13px}.wf-run{border:1px solid var(--border);border-radius:6px;margin-top:8px;background:var(--panel2)}.wf-run>summary{cursor:pointer;padding:7px 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;list-style:none}.wf-run>summary::-webkit-details-marker{display:none}.wf-run>summary:before{content:"▸";color:var(--muted);font-size:11px}.wf-run[open]>summary:before{content:"▾"}.wf-run-name{font-weight:600;font-size:13px}.wf-run>ul{padding:0 10px 10px 24px}.wf-run code{font-size:11px;color:var(--muted)}.cmd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:4px 0}.cmd-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 9px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.cmd-args{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}.cmd-out{margin:4px 0 0;padding:6px 10px;border-left:2px solid var(--border);color:var(--muted);font-size:12px;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cmd-note{margin:2px 0}.bash-desc,.bash-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.bash-preview{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.shell{margin-top:6px;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:10px}.shell-cmd{margin:0;white-space:pre-wrap;word-break:break-word;overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.shell-gutter{color:var(--accent);-webkit-user-select:none;user-select:none}.shell-gutter.cont{color:transparent}.shell-out{margin:6px 0 0;padding:8px 10px;white-space:pre-wrap;word-break:break-word;overflow-x:auto;background:var(--code-bg);border-radius:6px;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.bash-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.bash-badge{font-size:11px;color:var(--muted);background:var(--tag);border-radius:6px;padding:1px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.edit-path{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.edit-path .base{font-weight:600;flex:none}.edit-path .dir{color:var(--muted);font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-stat{flex:none;display:inline-flex;gap:6px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.diff-stat .add{color:var(--ok)}.diff-stat .del{color:var(--err)}.diff{margin-top:6px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--code-bg)}.diff-line{display:flex;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.5}.diff-sign{width:2ch;flex:none;text-align:center;-webkit-user-select:none;user-select:none;color:var(--muted)}.diff-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word;padding-right:8px}.diff-line.add{background:color-mix(in srgb,var(--ok) 15%,transparent)}.diff-line.add .diff-sign{color:var(--ok)}.diff-line.del{background:color-mix(in srgb,var(--err) 15%,transparent)}.diff-line.del .diff-sign{color:var(--err)}.diff-line.ctx{color:var(--muted)}.diff-hunk-sep{padding:2px 8px;font-size:11px;color:var(--muted);background:var(--panel2);border-bottom:1px solid var(--border)}.diff-more{padding:4px 8px;font-size:11px;color:var(--muted);font-style:italic}.task-notif{margin:4px 0;padding:7px 10px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel2)}.task-notif-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.task-notif-id{font-size:11px;color:var(--muted)}.task-notif-summary{margin-top:4px;font-size:13px;color:var(--muted)}.task-status{text-transform:lowercase}.task-status-completed{color:var(--ok, #2e7d32);border-color:var(--ok, #2e7d32)}.task-status-failed,.task-status-error{color:var(--err, #c62828);border-color:var(--err, #c62828)}.wf-result{margin-top:14px}.wf-result h2{margin-bottom:6px;display:flex;align-items:baseline;gap:8px}.wf-result-summary{margin:0 0 8px;font-size:14px}.wf-result-body{max-height:520px;overflow:auto}.wf-failures{margin-top:8px}.wf-failures>summary{cursor:pointer;color:var(--muted);font-size:13px}.wf-trunc{margin-top:6px}.rv-root{font-size:13px;line-height:1.55}.json-chev{color:var(--muted);display:inline-block;width:1.1em}.json-number{color:#f0a868}.json-null{color:var(--muted)}.rv-str{overflow-wrap:anywhere}.rv-true{color:var(--user)}.rv-false{color:var(--err)}.rv-metrics{display:flex;flex-wrap:wrap;gap:4px 20px;margin:4px 0 10px}.rv-metric{display:flex;gap:7px;align-items:baseline}.rv-mkey{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.rv-mval{font-weight:600}.rv-list{margin:4px 0;padding-left:18px}.rv-section{margin:3px 0}.rv-sec-head{background:none;border:none;border-radius:0;padding:3px 0;margin:0;cursor:pointer;font:inherit;color:var(--text);text-align:left;width:100%;display:flex;gap:6px;align-items:baseline}.rv-sec-head:hover{text-decoration:none}.rv-sec-name{color:var(--accent);font-weight:600}.rv-sec-body{padding-left:12px;margin-left:4px;border-left:1px solid var(--border)}.rv-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:6px;margin:4px 0}.rv-table{border-collapse:collapse;width:100%;font-size:12.5px}.rv-table th{position:sticky;top:0;background:var(--panel2);text-align:left;padding:5px 9px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.rv-table td{padding:4px 9px;border-bottom:1px solid var(--border);vertical-align:top}.rv-table tr:last-child td{border-bottom:none}.rv-rowkey{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);white-space:nowrap}.transcript{display:flex;flex-direction:column;gap:10px}.transcript-tools{display:flex;align-items:center;gap:12px;margin-bottom:2px}.unturned,.turn{display:flex;flex-direction:column;gap:10px}.turn-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-top:1px dashed var(--border);border-radius:0;padding:8px 4px 4px;font-size:12px;color:var(--accent);position:sticky;top:0;z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.turn-head:hover:not(:disabled){border-color:var(--accent)}.turn-head .turn-chev{margin-left:0;color:var(--muted)}.turn-no{font-weight:600}.turn-preview{color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-stats{margin-left:auto;flex:none}.turn-body{display:flex;flex-direction:column;gap:10px}.turn-body:empty{display:none}.event{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px}.event.ev-user{border-left:3px solid var(--user)}.event.ev-assistant{border-left:3px solid var(--assistant)}.ev-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.ev-who{font-weight:600}.ev-time{margin-left:auto}.text{white-space:pre-wrap;word-break:break-word}.text-wrap{position:relative}.text-wrap.is-clamped .text{max-height:22em;overflow:hidden}.text-wrap.is-clamped:after{content:"";position:absolute;left:0;right:0;top:calc(22em - 48px);height:48px;background:linear-gradient(transparent,var(--panel));pointer-events:none}.show-more{margin-top:6px;position:relative}.transcript-tools .format-toggle{margin-left:auto;display:flex;gap:0}.format-toggle button{border-radius:0}.format-toggle button:first-child{border-radius:6px 0 0 6px}.format-toggle button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.format-toggle button.is-active{background:var(--panel2);color:var(--text);border-color:var(--accent);z-index:1}.text.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin:1em 0 .4em;line-height:1.25;font-weight:600}.md h1{font-size:1.3em}.md h2{font-size:1.18em}.md h3{font-size:1.08em}.md h4,.md h5,.md h6{font-size:1em}.md ul,.md ol{margin:0 0 .7em;padding-left:1.4em}.md li{margin:.15em 0}.md li>ul,.md li>ol{margin-bottom:0}.md a{color:var(--accent);text-decoration:underline}.md code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.md pre{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto;margin:0 0 .7em}.md pre code{background:none;border:none;padding:0;font-size:.85em}.md blockquote{margin:0 0 .7em;padding:.1em 0 .1em .9em;border-left:3px solid var(--border);color:var(--muted)}.md hr{border:none;border-top:1px solid var(--border);margin:1em 0}.md table{border-collapse:collapse;margin:0 0 .7em;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);padding:5px 9px;text-align:left}.md th{background:var(--panel2)}.md img{max-width:100%}.thinking{margin:4px 0}.thinking-toggle{font-size:12px;padding:2px 8px;color:var(--muted)}.thinking-body{white-space:pre-wrap;word-break:break-word;background:var(--panel2);border-radius:6px;padding:10px;margin:6px 0;color:var(--muted);font-size:13px}.tool{margin-top:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel2)}.tool-err{border-color:var(--err)}.tool-head{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;text-align:left}.tool-name{font-weight:600;font-size:13px}.tool-status{font-size:11px;color:var(--muted)}.chev{margin-left:auto;color:var(--muted)}.tool-body{padding:0 10px 10px}.code,.result{white-space:pre-wrap;word-break:break-word;background:var(--code-bg);border-radius:6px;padding:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;overflow-x:auto}.result{color:var(--muted);margin-top:6px;font-family:inherit}.full-result{margin-top:6px}.full-result .show-full{font-size:12px;color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:2px 8px;cursor:pointer}.full-result .code-block{margin-top:6px}.full-result .code{max-height:420px;overflow:auto}.nav{display:flex;gap:4px}.nav-link{color:var(--muted);font-size:13px;padding:4px 10px;border-radius:6px}.nav-link:hover{text-decoration:none;color:var(--text);background:var(--panel2)}.nav-link.active{color:var(--text);background:var(--panel2)}.ctl{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:22px;font-weight:700;margin:4px 0;font-variant-numeric:tabular-nums}.kpi-sub{font-size:11px;color:var(--muted)}.kpi-bd{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.kpi-bd li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;font-size:13px}.kpi-bd-dot{width:9px;height:9px;border-radius:2px}.kpi-bd-name{color:var(--muted)}.kpi-bd-val{font-variant-numeric:tabular-nums;font-weight:600}.kpi-bd-pct{font-variant-numeric:tabular-nums;color:var(--muted);min-width:32px;text-align:right}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;min-width:0}.card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.card-head h3{margin:0;font-size:14px}.card-hint{font-size:11px;color:var(--muted)}.empty{color:var(--muted);font-size:13px;padding:24px 8px}.empty code{background:var(--panel2);padding:1px 5px;border-radius:4px}.classification{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.tag.complexity{background:#2c2440;color:#b98cff}.tag.cat{color:var(--text);background:#243}.tag.cat-feature{background:#173a2a;color:#7ee0a0}.tag.cat-bugfix{background:#3a1d1d;color:#ff9b9b}.tag.cat-refactor{background:#233247;color:#6ea8fe}.tag.cat-docs{background:#2f2a16;color:#e0b85a}.tag.cat-ops{background:#232a33;color:#79c0ff}.tag.cat-review{background:#2c2440;color:#b98cff}.tag.cat-chore{background:var(--tag);color:var(--muted)}.small{font-size:12px}button.small{padding:2px 8px;font-size:12px}.signals{margin-top:8px;max-height:320px;overflow:auto;width:100%}.signals-panel{width:100%;margin-top:8px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:14px}.sig-section{display:flex;flex-direction:column;gap:7px}.sig-h{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text)}.sig-h .muted{font-weight:400;text-transform:none;letter-spacing:0}.sig-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.sig-bar-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;font-size:12px}.sig-bar-label{color:var(--text);text-transform:capitalize}.sig-bar{height:8px;background:var(--code-bg);border-radius:4px;overflow:hidden}.sig-bar-fill{display:block;height:100%;background:var(--accent);border-radius:4px;min-width:2px}.sig-bar-val{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sig-bar-sub{grid-column:2 / -1;font-size:11px;margin-top:-2px}.sig-bar-row.is-win .sig-bar-fill{background:var(--user)}.sig-bar-row.is-win .sig-bar-label{color:var(--user);font-weight:600}.sig-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:12px}.sig-grid dt{color:var(--muted)}.sig-grid dd{margin:0;color:var(--text)}.sig-chips{display:inline-flex;flex-wrap:wrap;gap:4px 6px}.sig-chip{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.sig-files{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--muted);word-break:break-all;max-height:140px;overflow:auto}.skill-head{margin:8px 0 14px}.skill-head h1{margin:0 0 4px;font-size:1.5em}.skill-head-meta{font-size:13px}.skill-version-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px}.skill-version-bar select{max-width:460px}.skill-cards{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}@media(max-width:900px){.skill-cards{grid-template-columns:1fr}}.skill-body{max-height:70vh;overflow:auto}.skill-body-card,.skill-sessions-card{min-width:0}.skill-sessions-card table{width:100%}.sessions th .sort-th{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;font-size:12px;color:var(--muted);cursor:pointer}.sessions th .sort-th:hover:not(:disabled){color:var(--text);border:none}.sessions th .sort-th.is-active{color:var(--text)}.sort-ind{font-size:9px;opacity:.6}.sessions th .sort-th.is-active .sort-ind{color:var(--accent);opacity:1}.filter-select{position:relative;display:inline-block}.filter-select-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:180px;max-width:280px;text-align:left;padding:6px 10px}.filter-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-select .chev{color:var(--muted);font-size:10px}.filter-select-pop{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:240px;max-width:380px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d;padding:6px}.filter-select-search{width:100%;margin-bottom:6px}.filter-select-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.filter-select-opt{padding:6px 8px;border-radius:5px;cursor:pointer;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-select-opt.is-active{background:var(--panel)}.filter-select-opt.is-selected{color:var(--accent);font-weight:600}.filter-select-empty{padding:8px;font-size:13px}.plan-card{margin-top:6px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel2);padding:8px 12px}.plan-card-head{font-weight:600;font-size:13px;margin-bottom:4px}.qa-card{margin-top:6px;border:1px solid var(--border);border-left:3px solid var(--user);border-radius:6px;background:var(--panel2);padding:8px 12px}.qa-card-head{font-weight:600;font-size:13px;margin-bottom:6px}.qa-q{margin:8px 0}.qa-q+.qa-q{border-top:1px solid var(--border);padding-top:8px}.qa-q-head{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.qa-question{font-weight:600;font-size:13px;margin-bottom:6px}.qa-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.qa-opt{display:flex;gap:8px;align-items:baseline;padding:5px 8px;border:1px solid var(--border);border-radius:5px}.qa-opt.is-selected{border-color:var(--ok);background:var(--panel)}.qa-mark{font-size:13px;line-height:1.3}.qa-opt.is-selected .qa-mark{color:var(--ok)}.qa-opt-body{display:flex;flex-direction:column;gap:2px;min-width:0}.qa-opt-label{font-weight:600;font-size:13px}.qa-opt-desc{font-size:12px}.qa-note{margin-top:6px;font-size:13px;color:var(--muted);border-left:2px solid var(--border);padding-left:8px}.copy-btn{font-size:11px;padding:2px 7px;line-height:1.4;color:var(--muted);flex:none}.copy-btn:hover:not(:disabled){color:var(--text)}.copy-hover{opacity:0;transition:opacity .12s}.event:hover .copy-hover,.copy-hover:focus-visible{opacity:1}.ev-copy{margin-left:auto}.code-block{position:relative}.code-block .copy-corner{position:absolute;top:6px;right:6px;z-index:1;background:var(--panel2);opacity:.65}.code-block:hover .copy-corner,.code-block .copy-corner:focus-visible{opacity:1}.launch{margin-top:6px;font-size:13px}.launch-meta{margin-bottom:10px;display:flex;flex-direction:column;gap:4px}.launch-desc{font-size:13px}.launch-metaline{font-size:12px}.launch-metaline code{font-size:11px;color:var(--muted);word-break:break-all}.launch-src>summary{cursor:pointer;font-size:12px;color:var(--muted)}.launch-src pre{margin-top:6px;max-height:320px;overflow:auto}.launch-tasks-head{font-size:12px;color:var(--muted);font-weight:600;margin:4px 0 8px}.launch-card{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel2);padding:8px 12px;margin-bottom:8px}.launch-card-head{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:13px;margin-bottom:6px}.launch-card-idx{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--tag);color:var(--muted);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.launch-card-title{word-break:break-word}.launch-fields{margin:0;display:flex;flex-direction:column;gap:8px}.launch-field>dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.launch-field>dd{margin:0}.launch-text{white-space:pre-wrap;word-break:break-word}.launch-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:3px}.launch-list>li{padding-left:2px}.launch-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.launch-raw{max-height:420px;overflow:auto;margin-top:6px}.wf-launch details>summary{cursor:pointer;list-style:none}.wf-launch details>summary::-webkit-details-marker{display:none}.wf-launch details>summary h2{display:inline-flex;align-items:baseline;gap:6px}.wf-launch details>summary h2:before{content:"▸";color:var(--muted);font-size:12px}.wf-launch details[open]>summary h2:before{content:"▾"}.launch-tool{border-left:3px solid var(--accent);padding:8px 12px}.launch-tool-head{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.wf-phases{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:10px}.wf-phase-chip{display:flex;flex-direction:column;gap:2px;font-size:12px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);min-width:88px}.wf-phase-title{font-weight:600}.wf-phase-desc{color:var(--muted);font-size:11px}.wf-phase-arrow{align-self:center;color:var(--muted);font-size:15px}.wf-logs{margin-top:14px}.wf-logs>summary{cursor:pointer;font-size:13px;font-weight:600}.wf-log-list{margin:8px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.wf-log-list>li{padding:3px 8px;border-radius:4px;background:var(--panel2);white-space:pre-wrap;word-break:break-word}:root[data-theme=light] .brand-logo{filter:brightness(.5) saturate(1.8)}:root[data-theme=light] .tag.subagent{background:#f6e6c8;color:#8a6d1f}:root[data-theme=light] .tag.complexity{background:#ece4fb;color:#6d28d9}:root[data-theme=light] .tag.cat{background:#dff0e6;color:#10633a}:root[data-theme=light] .tag.cat-feature{background:#d8f3e3;color:#0f7a44}:root[data-theme=light] .tag.cat-bugfix{background:#fbe0e0;color:#b12626}:root[data-theme=light] .tag.cat-refactor{background:#dbe8fb;color:#1d4ed8}:root[data-theme=light] .tag.cat-docs{background:#f6ecd0;color:#8a6d1f}:root[data-theme=light] .tag.cat-ops{background:#dceaf8;color:#1a5fa8}:root[data-theme=light] .tag.cat-review{background:#ece4fb;color:#6d28d9}:root[data-theme=light] .json-number{color:#b45309}
1
+ :root{--bg: #0f1115;--panel: #171a21;--panel2: #1e222b;--border: #2a2f3a;--text: #e6e8ec;--muted: #8b93a3;--accent: #6ea8fe;--user: #7ee0a0;--assistant: #6ea8fe;--tag: #2a2f3a;--err: #ff6b6b;--ok: #7ee0a0;--gold: #e0b85a;--violet: #b98cff;--teal: #4fd1c5;--code-bg: var(--bg)}:root[data-theme=light]{--bg: #ffffff;--panel: #f6f7f9;--panel2: #eceef2;--border: #d5d9e0;--text: #1b1f27;--muted: #5b6472;--accent: #2563eb;--user: #0f9d58;--assistant: #2563eb;--tag: #e4e7ec;--err: #d32f2f;--ok: #15803d;--gold: #b7791f;--violet: #7c3aed;--teal: #0d9488;--code-bg: #eef1f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.ghost{background:transparent}select,input{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px}input:focus,select:focus{border-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-40px;z-index:10;background:var(--panel2);border:1px solid var(--accent);border-radius:6px;padding:6px 12px;transition:top .15s ease}.skip-link:focus{top:8px;text-decoration:none}.topbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:5}.brand{font-weight:700;font-size:16px;color:var(--text);display:inline-flex;align-items:center;gap:8px}.brand-logo{height:22px;width:auto;display:block}.tagline{color:var(--muted);font-size:12px}.topbar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.theme-toggle{font-size:15px;line-height:1;padding:5px 9px}.refresh-btn{font-size:13px;line-height:1;padding:5px 10px;display:inline-flex;align-items:center;gap:4px}.refresh-btn[disabled]{opacity:.65;cursor:default}.refresh-icon{display:inline-block}.refresh-icon.spinning{animation:agentlens-spin .8s linear infinite}@keyframes agentlens-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.refresh-icon.spinning{animation:none}}.content{max-width:1100px;margin:0 auto;padding:20px}.content.wide{max-width:min(1600px,94vw)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.search{display:flex;gap:6px;flex:1;min-width:280px}.search input{flex:1}.muted{color:var(--muted)}.pad{padding:24px 0}.error{color:var(--err);padding:12px;border:1px solid var(--err);border-radius:6px;margin-bottom:12px}table.sessions{width:100%;border-collapse:collapse}.sessions th{text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:8px;border-bottom:1px solid var(--border)}.sessions th.num,.sessions td.num{text-align:right;font-variant-numeric:tabular-nums}.sessions td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.sessions tr:hover td{background:var(--panel)}.title{font-weight:600}.sub{margin-top:4px;display:flex;gap:4px;flex-wrap:wrap}.path{color:var(--muted)}.tag{font-size:11px;background:var(--tag);color:var(--muted);border-radius:4px;padding:1px 6px}.tag.subagent{background:#3a2f10;color:#e0b85a}.tag.meta-type,.tag.meta-depth{margin-left:6px}.tag.meta-depth{background:var(--tag);color:var(--muted)}.schema-banner{background:#3a2f10;color:#e0b85a;border-bottom:1px solid var(--border);padding:8px 16px;font-size:13px;text-align:center}.schema-banner code{background:#0000004d;padding:1px 5px;border-radius:4px}:root[data-theme=light] .schema-banner{background:#fbe9c8;color:#8a5a0f}.pager{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:18px}.page-jump{display:inline-flex;align-items:center}.page-jump select{padding:6px 8px;font-size:13px}.detail-head{margin-bottom:18px}.back{font-size:13px}.detail-head h1{font-size:20px;margin:8px 0}.detail-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--text);font-size:13px}.detail-meta .path,.spawned-by{color:var(--muted)}.export{margin-left:auto;border:1px solid var(--border);border-radius:6px;padding:6px 12px}.subagent-link{display:inline-block;font-size:12px;margin:0 0 4px 10px}.subagents{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-radius:8px}.subagents h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.subagents ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.subagents li{font-size:13px}.wf-run{border:1px solid var(--border);border-radius:6px;margin-top:8px;background:var(--panel2)}.wf-run>summary{cursor:pointer;padding:7px 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;list-style:none}.wf-run>summary::-webkit-details-marker{display:none}.wf-run>summary:before{content:"▸";color:var(--muted);font-size:11px}.wf-run[open]>summary:before{content:"▾"}.wf-run-name{font-weight:600;font-size:13px}.wf-run>ul{padding:0 10px 10px 24px}.wf-run code{font-size:11px;color:var(--muted)}.cmd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:4px 0}.cmd-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 9px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.cmd-args{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}.cmd-out{margin:4px 0 0;padding:6px 10px;border-left:2px solid var(--border);color:var(--muted);font-size:12px;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cmd-note{margin:2px 0}.bash-desc,.bash-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.bash-preview{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.shell{margin-top:6px;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:10px}.shell-cmd{margin:0;white-space:pre-wrap;word-break:break-word;overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.shell-gutter{color:var(--accent);-webkit-user-select:none;user-select:none}.shell-gutter.cont{color:transparent}.shell-out{margin:6px 0 0;padding:8px 10px;white-space:pre-wrap;word-break:break-word;overflow-x:auto;background:var(--code-bg);border-radius:6px;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.bash-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.bash-badge{font-size:11px;color:var(--muted);background:var(--tag);border-radius:6px;padding:1px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.edit-path{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.edit-path .base{font-weight:600;flex:none}.edit-path .dir{color:var(--muted);font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-stat{flex:none;display:inline-flex;gap:6px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.diff-stat .add{color:var(--ok)}.diff-stat .del{color:var(--err)}.diff{margin-top:6px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--code-bg)}.diff-line{display:flex;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.5}.diff-sign{width:2ch;flex:none;text-align:center;-webkit-user-select:none;user-select:none;color:var(--muted)}.diff-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word;padding-right:8px}.diff-line.add{background:color-mix(in srgb,var(--ok) 15%,transparent)}.diff-line.add .diff-sign{color:var(--ok)}.diff-line.del{background:color-mix(in srgb,var(--err) 15%,transparent)}.diff-line.del .diff-sign{color:var(--err)}.diff-line.ctx{color:var(--muted)}.diff-hunk-sep{padding:2px 8px;font-size:11px;color:var(--muted);background:var(--panel2);border-bottom:1px solid var(--border)}.diff-more{padding:4px 8px;font-size:11px;color:var(--muted);font-style:italic}.task-notif{margin:4px 0;padding:7px 10px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel2)}.task-notif-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.task-notif-id{font-size:11px;color:var(--muted)}.task-notif-summary{margin-top:4px;font-size:13px;color:var(--muted)}.task-status{text-transform:lowercase}.task-status-completed{color:var(--ok, #2e7d32);border-color:var(--ok, #2e7d32)}.task-status-failed,.task-status-error{color:var(--err, #c62828);border-color:var(--err, #c62828)}.wf-result{margin-top:14px}.wf-result h2{margin-bottom:6px;display:flex;align-items:baseline;gap:8px}.wf-result-summary{margin:0 0 8px;font-size:14px}.wf-result-body{max-height:520px;overflow:auto}.wf-failures{margin-top:8px}.wf-failures>summary{cursor:pointer;color:var(--muted);font-size:13px}.wf-trunc{margin-top:6px}.rv-root{font-size:13px;line-height:1.55}.json-chev{color:var(--muted);display:inline-block;width:1.1em}.json-number{color:#f0a868}.json-null{color:var(--muted)}.rv-str{overflow-wrap:anywhere}.rv-true{color:var(--user)}.rv-false{color:var(--err)}.rv-metrics{display:flex;flex-wrap:wrap;gap:4px 20px;margin:4px 0 10px}.rv-metric{display:flex;gap:7px;align-items:baseline}.rv-mkey{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.rv-mval{font-weight:600}.rv-list{margin:4px 0;padding-left:18px}.rv-section{margin:3px 0}.rv-sec-head{background:none;border:none;border-radius:0;padding:3px 0;margin:0;cursor:pointer;font:inherit;color:var(--text);text-align:left;width:100%;display:flex;gap:6px;align-items:baseline}.rv-sec-head:hover{text-decoration:none}.rv-sec-name{color:var(--accent);font-weight:600}.rv-sec-body{padding-left:12px;margin-left:4px;border-left:1px solid var(--border)}.rv-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:6px;margin:4px 0}.rv-table{border-collapse:collapse;width:100%;font-size:12.5px}.rv-table th{position:sticky;top:0;background:var(--panel2);text-align:left;padding:5px 9px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.rv-table td{padding:4px 9px;border-bottom:1px solid var(--border);vertical-align:top}.rv-table tr:last-child td{border-bottom:none}.rv-rowkey{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);white-space:nowrap}.transcript{display:flex;flex-direction:column;gap:10px}.transcript-tools{display:flex;align-items:center;gap:12px;margin-bottom:2px}.unturned,.turn{display:flex;flex-direction:column;gap:10px}.turn-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-top:1px dashed var(--border);border-radius:0;padding:8px 4px 4px;font-size:12px;color:var(--accent);position:sticky;top:0;z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.turn-head:hover:not(:disabled){border-color:var(--accent)}.turn-head .turn-chev{margin-left:0;color:var(--muted)}.turn-no{font-weight:600}.turn-preview{color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-stats{margin-left:auto;flex:none}.turn-body{display:flex;flex-direction:column;gap:10px}.turn-body:empty{display:none}.event{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px}.event.ev-user{border-left:3px solid var(--user)}.event.ev-assistant{border-left:3px solid var(--assistant)}.ev-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.ev-who{font-weight:600}.ev-time{margin-left:auto}.text{white-space:pre-wrap;word-break:break-word}.text-wrap{position:relative}.text-wrap.is-clamped .text{max-height:22em;overflow:hidden}.text-wrap.is-clamped:after{content:"";position:absolute;left:0;right:0;top:calc(22em - 48px);height:48px;background:linear-gradient(transparent,var(--panel));pointer-events:none}.show-more{margin-top:6px;position:relative}.transcript-tools .format-toggle{margin-left:auto;display:flex;gap:0}.format-toggle button{border-radius:0}.format-toggle button:first-child{border-radius:6px 0 0 6px}.format-toggle button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.format-toggle button.is-active{background:var(--panel2);color:var(--text);border-color:var(--accent);z-index:1}.text.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin:1em 0 .4em;line-height:1.25;font-weight:600}.md h1{font-size:1.3em}.md h2{font-size:1.18em}.md h3{font-size:1.08em}.md h4,.md h5,.md h6{font-size:1em}.md ul,.md ol{margin:0 0 .7em;padding-left:1.4em}.md li{margin:.15em 0}.md li>ul,.md li>ol{margin-bottom:0}.md a{color:var(--accent);text-decoration:underline}.md code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.md pre{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto;margin:0 0 .7em}.md pre code{background:none;border:none;padding:0;font-size:.85em}.md blockquote{margin:0 0 .7em;padding:.1em 0 .1em .9em;border-left:3px solid var(--border);color:var(--muted)}.md hr{border:none;border-top:1px solid var(--border);margin:1em 0}.md table{border-collapse:collapse;margin:0 0 .7em;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);padding:5px 9px;text-align:left}.md th{background:var(--panel2)}.md img{max-width:100%}.thinking{margin:4px 0}.thinking-toggle{font-size:12px;padding:2px 8px;color:var(--muted)}.thinking-body{white-space:pre-wrap;word-break:break-word;background:var(--panel2);border-radius:6px;padding:10px;margin:6px 0;color:var(--muted);font-size:13px}.tool{margin-top:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel2)}.tool-err{border-color:var(--err)}.tool-head{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;text-align:left}.tool-name{font-weight:600;font-size:13px}.tool-status{font-size:11px;color:var(--muted)}.chev{margin-left:auto;color:var(--muted)}.tool-body{padding:0 10px 10px}.code,.result{white-space:pre-wrap;word-break:break-word;background:var(--code-bg);border-radius:6px;padding:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;overflow-x:auto}.result{color:var(--muted);margin-top:6px;font-family:inherit}.full-result{margin-top:6px}.full-result .show-full{font-size:12px;color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:2px 8px;cursor:pointer}.full-result .code-block{margin-top:6px}.full-result .code{max-height:420px;overflow:auto}.nav{display:flex;gap:4px}.nav-link{color:var(--muted);font-size:13px;padding:4px 10px;border-radius:6px}.nav-link:hover{text-decoration:none;color:var(--text);background:var(--panel2)}.nav-link.active{color:var(--text);background:var(--panel2)}.ctl{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:22px;font-weight:700;margin:4px 0;font-variant-numeric:tabular-nums}.kpi-sub{font-size:11px;color:var(--muted)}.kpi-bd{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.kpi-bd li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;font-size:13px}.kpi-bd-dot{width:9px;height:9px;border-radius:2px}.kpi-bd-name{color:var(--muted)}.kpi-bd-val{font-variant-numeric:tabular-nums;font-weight:600}.kpi-bd-pct{font-variant-numeric:tabular-nums;color:var(--muted);min-width:32px;text-align:right}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;min-width:0}.card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.card-head h3{margin:0;font-size:14px}.card-hint{font-size:11px;color:var(--muted)}.empty{color:var(--muted);font-size:13px;padding:24px 8px}.empty code{background:var(--panel2);padding:1px 5px;border-radius:4px}.classification{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.tag.complexity{background:#2c2440;color:#b98cff}.tag.cat{color:var(--text);background:#243}.tag.cat-feature{background:#173a2a;color:#7ee0a0}.tag.cat-bugfix{background:#3a1d1d;color:#ff9b9b}.tag.cat-refactor{background:#233247;color:#6ea8fe}.tag.cat-docs{background:#2f2a16;color:#e0b85a}.tag.cat-ops{background:#232a33;color:#79c0ff}.tag.cat-review{background:#2c2440;color:#b98cff}.tag.cat-chore{background:var(--tag);color:var(--muted)}.small{font-size:12px}button.small{padding:2px 8px;font-size:12px}.signals{margin-top:8px;max-height:320px;overflow:auto;width:100%}.signals-panel{width:100%;margin-top:8px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:14px}.sig-section{display:flex;flex-direction:column;gap:7px}.sig-h{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text)}.sig-h .muted{font-weight:400;text-transform:none;letter-spacing:0}.sig-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.sig-bar-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;font-size:12px}.sig-bar-label{color:var(--text);text-transform:capitalize}.sig-bar{height:8px;background:var(--code-bg);border-radius:4px;overflow:hidden}.sig-bar-fill{display:block;height:100%;background:var(--accent);border-radius:4px;min-width:2px}.sig-bar-val{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sig-bar-sub{grid-column:2 / -1;font-size:11px;margin-top:-2px}.sig-bar-row.is-win .sig-bar-fill{background:var(--user)}.sig-bar-row.is-win .sig-bar-label{color:var(--user);font-weight:600}.sig-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:12px}.sig-grid dt{color:var(--muted)}.sig-grid dd{margin:0;color:var(--text)}.sig-chips{display:inline-flex;flex-wrap:wrap;gap:4px 6px}.sig-chip{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.sig-files{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--muted);word-break:break-all;max-height:140px;overflow:auto}.skill-head{margin:8px 0 14px}.skill-head h1{margin:0 0 4px;font-size:1.5em}.skill-head-meta{font-size:13px}.skill-version-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px}.skill-version-bar select{max-width:460px}.skill-cards{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}@media(max-width:900px){.skill-cards{grid-template-columns:1fr}}.skill-body{max-height:70vh;overflow:auto}.skill-body-card,.skill-sessions-card{min-width:0}.skill-sessions-card table{width:100%}.sessions th .sort-th{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;font-size:12px;color:var(--muted);cursor:pointer}.sessions th .sort-th:hover:not(:disabled){color:var(--text);border:none}.sessions th .sort-th.is-active{color:var(--text)}.sort-ind{font-size:9px;opacity:.6}.sessions th .sort-th.is-active .sort-ind{color:var(--accent);opacity:1}.filter-select{position:relative;display:inline-block}.filter-select-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:180px;max-width:280px;text-align:left;padding:6px 10px}.filter-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-select .chev{color:var(--muted);font-size:10px}.filter-select-pop{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:240px;max-width:380px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d;padding:6px}.filter-select-search{width:100%;margin-bottom:6px}.filter-select-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.filter-select-opt{padding:6px 8px;border-radius:5px;cursor:pointer;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-select-opt.is-active{background:var(--panel)}.filter-select-opt.is-selected{color:var(--accent);font-weight:600}.filter-select-empty{padding:8px;font-size:13px}.plan-card{margin-top:6px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel2);padding:8px 12px}.plan-card-head{font-weight:600;font-size:13px;margin-bottom:4px}.qa-card{margin-top:6px;border:1px solid var(--border);border-left:3px solid var(--user);border-radius:6px;background:var(--panel2);padding:8px 12px}.qa-card-head{font-weight:600;font-size:13px;margin-bottom:6px}.qa-q{margin:8px 0}.qa-q+.qa-q{border-top:1px solid var(--border);padding-top:8px}.qa-q-head{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.qa-question{font-weight:600;font-size:13px;margin-bottom:6px}.qa-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.qa-opt{display:flex;gap:8px;align-items:baseline;padding:5px 8px;border:1px solid var(--border);border-radius:5px}.qa-opt.is-selected{border-color:var(--ok);background:var(--panel)}.qa-mark{font-size:13px;line-height:1.3}.qa-opt.is-selected .qa-mark{color:var(--ok)}.qa-opt-body{display:flex;flex-direction:column;gap:2px;min-width:0}.qa-opt-label{font-weight:600;font-size:13px}.qa-opt-desc{font-size:12px}.qa-note{margin-top:6px;font-size:13px;color:var(--muted);border-left:2px solid var(--border);padding-left:8px}.copy-btn{font-size:11px;padding:2px 7px;line-height:1.4;color:var(--muted);flex:none}.copy-btn:hover:not(:disabled){color:var(--text)}.copy-hover{opacity:0;transition:opacity .12s}.event:hover .copy-hover,.copy-hover:focus-visible{opacity:1}.ev-copy{margin-left:auto}.code-block{position:relative}.code-block .copy-corner{position:absolute;top:6px;right:6px;z-index:1;background:var(--panel2);opacity:.65}.code-block:hover .copy-corner,.code-block .copy-corner:focus-visible{opacity:1}.launch{margin-top:6px;font-size:13px}.launch-meta{margin-bottom:10px;display:flex;flex-direction:column;gap:4px}.launch-desc{font-size:13px}.launch-metaline{font-size:12px}.launch-metaline code{font-size:11px;color:var(--muted);word-break:break-all}.launch-src>summary{cursor:pointer;font-size:12px;color:var(--muted)}.launch-src pre{margin-top:6px;max-height:320px;overflow:auto}.launch-tasks-head{font-size:12px;color:var(--muted);font-weight:600;margin:4px 0 8px}.launch-card{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel2);padding:8px 12px;margin-bottom:8px}.launch-card-head{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:13px;margin-bottom:6px}.launch-card-idx{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--tag);color:var(--muted);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.launch-card-title{word-break:break-word}.launch-fields{margin:0;display:flex;flex-direction:column;gap:8px}.launch-field>dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.launch-field>dd{margin:0}.launch-text{white-space:pre-wrap;word-break:break-word}.launch-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:3px}.launch-list>li{padding-left:2px}.launch-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.launch-raw{max-height:420px;overflow:auto;margin-top:6px}.wf-launch details>summary{cursor:pointer;list-style:none}.wf-launch details>summary::-webkit-details-marker{display:none}.wf-launch details>summary h2{display:inline-flex;align-items:baseline;gap:6px}.wf-launch details>summary h2:before{content:"▸";color:var(--muted);font-size:12px}.wf-launch details[open]>summary h2:before{content:"▾"}.launch-tool{border-left:3px solid var(--accent);padding:8px 12px}.launch-tool-head{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.wf-phases{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:10px}.wf-phase-chip{display:flex;flex-direction:column;gap:2px;font-size:12px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);min-width:88px}.wf-phase-title{font-weight:600}.wf-phase-desc{color:var(--muted);font-size:11px}.wf-phase-arrow{align-self:center;color:var(--muted);font-size:15px}.wf-logs{margin-top:14px}.wf-logs>summary{cursor:pointer;font-size:13px;font-weight:600}.wf-log-list{margin:8px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.wf-log-list>li{padding:3px 8px;border-radius:4px;background:var(--panel2);white-space:pre-wrap;word-break:break-word}:root[data-theme=light] .brand-logo{filter:brightness(.5) saturate(1.8)}:root[data-theme=light] .tag.subagent{background:#f6e6c8;color:#8a6d1f}:root[data-theme=light] .tag.complexity{background:#ece4fb;color:#6d28d9}:root[data-theme=light] .tag.cat{background:#dff0e6;color:#10633a}:root[data-theme=light] .tag.cat-feature{background:#d8f3e3;color:#0f7a44}:root[data-theme=light] .tag.cat-bugfix{background:#fbe0e0;color:#b12626}:root[data-theme=light] .tag.cat-refactor{background:#dbe8fb;color:#1d4ed8}:root[data-theme=light] .tag.cat-docs{background:#f6ecd0;color:#8a6d1f}:root[data-theme=light] .tag.cat-ops{background:#dceaf8;color:#1a5fa8}:root[data-theme=light] .tag.cat-review{background:#ece4fb;color:#6d28d9}:root[data-theme=light] .json-number{color:#b45309}.tag.sev{font-weight:600;text-transform:capitalize}.sev-critical{background:#3a1a1a;color:#ff8f8f}.sev-high{background:#3a2a12;color:#f0a860}.sev-medium{background:#2f2a16;color:#e0b85a}.sev-low{background:#23303f;color:#79c0ff}.sev-info{background:var(--tag);color:var(--muted)}.tag.framework{background:transparent;border:1px solid var(--border);color:var(--muted)}.sev-border-critical{border-left:3px solid var(--err)}.sev-border-high{border-left:3px solid #e0873a}.sev-border-medium{border-left:3px solid var(--gold)}.sev-border-low{border-left:3px solid var(--accent)}.sev-border-info{border-left:3px solid var(--border)}.tool-findings{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}.finding{background:var(--panel);border:1px solid var(--border);border-radius:6px}.finding-head{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:7px 10px;text-align:left;cursor:pointer}.finding-head:hover:not(:disabled){border-color:transparent}.finding-title{font-weight:600;font-size:13px}.finding-head .chev{margin-left:auto;color:var(--muted)}.finding-body{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.finding-evidence{white-space:pre-wrap;word-break:break-word}.security-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.security-banner-text{font-weight:600;font-size:13px}.security-banner-sevs{display:flex;gap:5px;flex-wrap:wrap}.kpi-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.sev-kpis .kpi{min-width:108px}.kpi-btn{display:block;text-align:left;cursor:pointer;color:inherit;font:inherit;text-decoration:none}.kpi-btn:hover{border-color:var(--accent);text-decoration:none}.kpi-btn.is-active{border-color:var(--accent);outline:2px solid var(--accent)}.sev-kpi.sev-critical .kpi-value{color:#ff8f8f}.sev-kpi.sev-high .kpi-value{color:#f0a860}.sev-kpi.sev-medium .kpi-value{color:#e0b85a}.sev-kpi.sev-low .kpi-value{color:#79c0ff}.finding-evidence-cell code{white-space:pre-wrap;word-break:break-word;font-size:12px;color:var(--muted)}.findings-table td{vertical-align:top}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;padding:0 2px;font:inherit}.sec-reference{margin-top:28px}.sec-reference h2{font-size:16px;margin-bottom:4px}.sec-ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:10px}.sec-ref>summary{display:flex;align-items:center;gap:10px;cursor:pointer;flex-wrap:wrap;list-style:none}.sec-ref>summary::-webkit-details-marker{display:none}.sec-ref>summary:before{content:"▸";color:var(--muted)}.sec-ref[open]>summary:before{content:"▾"}.sec-ref-title{font-weight:600}.sec-ref-body{margin:10px 0 0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}.sec-ref-body dt{color:var(--muted);font-size:12px}.sec-ref-body dd{margin:0;font-size:13px;line-height:1.45}.demo-note{margin:0 0 16px;padding:9px 13px;border-radius:8px;font-size:13px;background:var(--panel);border:1px solid var(--border);color:var(--muted)}.demo-note strong{color:var(--text)}.triage-counts{margin:-6px 0 12px}.triage-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.triage-bar button{font-size:13px}.check-col{width:28px;text-align:center}.findings-table .check-col input{cursor:pointer}tr.is-dismissed{opacity:.6}.finding-evidence-cell .tool-tag{margin-right:6px;vertical-align:middle}.finding-actions{white-space:nowrap}.finding-actions .linkish{margin-right:8px}.muted-rules{margin-top:20px}.muted-rules>summary{cursor:pointer;list-style:none}.muted-rules>summary::-webkit-details-marker{display:none}.muted-rules>summary:before{content:"▸ ";color:var(--muted)}.muted-rules[open]>summary:before{content:"▾ "}.muted-rules-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.muted-rules-list li{display:flex;align-items:center;gap:4px;font-size:13px;flex-wrap:wrap}:root[data-theme=light] .sev-critical{background:#fbe0e0;color:#b12626}:root[data-theme=light] .sev-high{background:#f7e2c8;color:#b5651d}:root[data-theme=light] .sev-medium{background:#f6ecd0;color:#8a6d1f}:root[data-theme=light] .sev-low{background:#dceaf8;color:#1a5fa8}:root[data-theme=light] .sev-kpi.sev-critical .kpi-value{color:#b12626}:root[data-theme=light] .sev-kpi.sev-high .kpi-value{color:#b5651d}:root[data-theme=light] .sev-kpi.sev-medium .kpi-value{color:#8a6d1f}:root[data-theme=light] .sev-kpi.sev-low .kpi-value{color:#1a5fa8}
@@ -0,0 +1 @@
1
+ import{j as i}from"./index-DTfBIYUK.js";const n=["critical","high","medium","low","info"];function r({severity:s,count:a}){return i.jsxs("span",{className:"tag sev sev-"+s,children:[s,a!=null?` ${a}`:""]})}export{n as S,r as a};
package/web/index.html CHANGED
@@ -16,8 +16,8 @@
16
16
  document.documentElement.dataset.theme = "dark";
17
17
  }
18
18
  </script>
19
- <script type="module" crossorigin src="/assets/index-Twf3zCly.js"></script>
20
- <link rel="stylesheet" crossorigin href="/assets/index-CXU0GJds.css">
19
+ <script type="module" crossorigin src="/assets/index-DTfBIYUK.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/assets/index-DfoRqKEF.css">
21
21
  </head>
22
22
  <body>
23
23
  <div id="root"></div>
@@ -1,12 +0,0 @@
1
- import{i as G,r as m,d as X,j as s,L as y,h as F,t as Z,f as A,e as C,k as B,l as ss,s as L}from"./index-Twf3zCly.js";import{C as k,p as _}from"./CopyButton-CDLZMZtV.js";import{M as es,r as ts}from"./index-5gOslh3o.js";const J=m.createContext("markdown"),P=m.createContext(new Map),R=m.createContext(!1),H="agentlens.msgFormat";function ns(){try{return localStorage.getItem(H)==="raw"?"raw":"markdown"}catch{return"markdown"}}const W="agentlens.hideTools";function as(){try{return localStorage.getItem(W)==="1"}catch{return!1}}function ls({c:e}){var o;const[t,n]=m.useState(!1),a=m.useId(),l=(o=e.signals)==null?void 0:o.loc;return s.jsxs("div",{className:"classification",children:[s.jsx("span",{className:"tag cat cat-"+(e.category??"none"),children:e.category??"unclassified"}),e.complexity_band&&s.jsxs("span",{className:"tag complexity",children:[e.complexity_band," · ",e.complexity_score]}),l&&s.jsxs("span",{className:"muted small",children:["+",l.added,"/−",l.removed," LoC · ",l.files," files"]}),s.jsxs("button",{className:"ghost small","aria-expanded":t,"aria-controls":a,onClick:()=>n(i=>!i),children:["why ",t?"▾":"▸"]}),t&&(e.signals?s.jsx(is,{id:a,s:e.signals,category:e.category}):s.jsx("div",{id:a,className:"muted small pad",children:"No signals recorded for this session."}))]})}const rs={loc:"Lines changed",files:"Files touched",turns:"Turns",tokens:"Work tokens",duration:"Duration",subagents:"Subagents"},M=e=>`${Math.max(0,Math.min(1,e))*100}%`;function E({counts:e}){const t=Object.entries(e).sort((n,a)=>a[1]-n[1]);return t.length===0?s.jsx("span",{className:"muted",children:"—"}):s.jsx("span",{className:"sig-chips",children:t.map(([n,a])=>s.jsxs("span",{className:"sig-chip",children:[n," ",s.jsxs("span",{className:"muted",children:["×",a]})]},n))})}function is({id:e,s:t,category:n}){const[a,l]=m.useState(!1),o=m.useId(),i=t.complexity_weights??{},r=t.complexity_subscores??{},d=Object.keys(i).map(c=>({key:c,weight:i[c],subscore:r[c]??0,pts:i[c]*(r[c]??0)*100})).sort((c,N)=>N.pts-c.pts),u=Math.max(...d.map(c=>c.pts),1e-4),x=Object.entries(t.category_scores??{}).map(([c,N])=>({k:c,v:N})).sort((c,N)=>N.v-c.v),f=Math.max(...x.map(c=>c.v),1e-4),h=x.filter(c=>c.v>.02||c.k===n),j=t.skills&&Object.keys(t.skills).length>0;return s.jsxs("div",{id:e,className:"signals-panel",children:[d.length>0&&s.jsxs("section",{className:"sig-section",children:[s.jsxs("h4",{className:"sig-h",children:["Complexity breakdown ",s.jsx("span",{className:"muted",children:"— what built the score"})]}),s.jsx("ul",{className:"sig-bars",children:d.map(c=>s.jsxs("li",{className:"sig-bar-row",children:[s.jsx("span",{className:"sig-bar-label",children:rs[c.key]??c.key}),s.jsx("span",{className:"sig-bar","aria-hidden":"true",children:s.jsx("span",{className:"sig-bar-fill",style:{width:M(c.pts/u)}})}),s.jsxs("span",{className:"sig-bar-val",children:[c.pts.toFixed(1)," pts"]}),s.jsxs("span",{className:"sig-bar-sub muted",children:[Math.round(c.subscore*100),"% intensity · weight ",Math.round(c.weight*100),"%"]})]},c.key))})]}),h.length>0&&s.jsxs("section",{className:"sig-section",children:[s.jsxs("h4",{className:"sig-h",children:["Category scores ",s.jsxs("span",{className:"muted",children:["— why “",n,"” won"]})]}),s.jsx("ul",{className:"sig-bars",children:h.map(c=>s.jsxs("li",{className:"sig-bar-row"+(c.k===n?" is-win":""),children:[s.jsx("span",{className:"sig-bar-label",children:c.k}),s.jsx("span",{className:"sig-bar","aria-hidden":"true",children:s.jsx("span",{className:"sig-bar-fill",style:{width:M(c.v/f)}})}),s.jsx("span",{className:"sig-bar-val",children:c.v.toFixed(2)})]},c.k))})]}),s.jsxs("section",{className:"sig-section",children:[s.jsx("h4",{className:"sig-h",children:"Evidence"}),s.jsxs("dl",{className:"sig-grid",children:[t.tool_counts&&s.jsxs(s.Fragment,{children:[s.jsx("dt",{children:"Tools"}),s.jsx("dd",{children:s.jsx(E,{counts:t.tool_counts})})]}),j&&s.jsxs(s.Fragment,{children:[s.jsx("dt",{children:"Skills"}),s.jsx("dd",{children:s.jsx(E,{counts:t.skills})})]}),t.subagent_role&&s.jsxs(s.Fragment,{children:[s.jsx("dt",{children:"Subagent role"}),s.jsx("dd",{children:t.subagent_role})]}),t.files&&t.files.length>0&&s.jsxs(s.Fragment,{children:[s.jsxs("dt",{children:["Files (",t.files.length,")"]}),s.jsx("dd",{className:"sig-files",children:t.files.join(", ")})]})]})]}),s.jsx("button",{className:"ghost small","aria-expanded":a,"aria-controls":o,onClick:()=>l(c=>!c),children:a?"Hide raw JSON ▴":"View raw JSON ▾"}),a&&s.jsx("pre",{id:o,className:"code signals",children:JSON.stringify(t,null,2)})]})}function U({t:e}){const[t,n]=m.useState(!1),[a,l]=m.useState(!1),o=m.useId(),i=e.skill_name?`Skill · ${e.skill_name}`:e.tool_name==="Workflow"&&e.workflow_name?`Workflow · ${e.workflow_name}`:e.agent_type?`${e.tool_name} → ${e.agent_type}`:e.tool_name;return s.jsxs("div",{className:"tool "+(e.status==="error"?"tool-err":""),children:[s.jsxs("button",{className:"tool-head","aria-expanded":t,"aria-controls":o,onClick:()=>n(r=>!r),children:[s.jsxs("span",{className:"tool-name",children:["🔧 ",i]}),e.status&&s.jsx("span",{className:"tool-status",children:e.status}),e.total_duration_ms?s.jsx("span",{className:"muted",children:C(e.total_duration_ms)}):null,s.jsx("span",{className:"chev",children:t?"▾":"▸"})]}),e.spawned_session_id&&s.jsx(y,{className:"subagent-link small",to:`/session/${e.spawned_session_id}`,children:"view subagent transcript →"}),e.workflow_run_id&&s.jsxs(y,{className:"subagent-link small",to:`/workflow/${e.workflow_run_id}`,children:["🔀 launched ",e.workflow_agent_count??0," agent",e.workflow_agent_count===1?"":"s"," · ",s.jsx("code",{children:e.workflow_run_id})," →"]}),e.skill_name&&s.jsxs(y,{className:"subagent-link small",to:`/skill/${encodeURIComponent(e.skill_name)}${e.skill_id?`?v=${e.skill_id}`:""}`,children:["📖 view skill",e.skill_id?" version":""," →"]}),t&&s.jsxs("div",{className:"tool-body",id:o,children:[e.input_json&&e.input_json!=="{}"&&s.jsxs("div",{className:"code-block",children:[s.jsx(k,{text:_(e.input_json),className:"copy-corner",title:"Copy tool input JSON"}),s.jsx("pre",{className:"code",children:_(e.input_json)})]}),e.result_summary&&s.jsx("div",{className:"result",children:e.result_summary}),e.full_result&&s.jsxs("div",{className:"full-result",children:[s.jsxs("button",{type:"button",className:"ghost small show-full","aria-expanded":a,onClick:()=>l(r=>!r),children:[a?"Hide":"Show"," full result (",(e.full_result.bytes/1024).toFixed(1)," KB)"]}),a&&s.jsxs("div",{className:"code-block",children:[s.jsx(k,{text:e.full_result.text,className:"copy-corner",title:"Copy full tool result"}),s.jsx("pre",{className:"code",children:e.full_result.text})]})]})]})]})}function D(e){if(!e)return null;try{const t=JSON.parse(e).plan;return typeof t=="string"&&t.trim()?t:null}catch{return null}}function os({plan:e}){return s.jsxs("div",{className:"plan-card",children:[s.jsx("div",{className:"plan-card-head",children:"📋 Approved plan"}),s.jsx(K,{text:e})]})}function cs(e){if(!e)return[];try{const t=JSON.parse(e).questions;return Array.isArray(t)?t:[]}catch{return[]}}function ds(e){if(!e)return{answers:{},annotations:{}};try{const t=JSON.parse(e);if(t&&typeof t=="object"&&t.answers)return{answers:t.answers,annotations:t.annotations??{}}}catch{}return{answers:{},annotations:{}}}function us({t:e}){const[t,n]=m.useState(!1),a=m.useId(),l=cs(e.input_json),{answers:o,annotations:i}=ds(e.result_summary);return l.length===0?s.jsx(U,{t:e}):s.jsxs("div",{className:"qa-card",children:[s.jsxs("div",{className:"qa-card-head",children:["🙋 Question",l.length===1?"":"s"," for the user"]}),l.map((r,d)=>{var N;const u=o[r.question],x=Array.isArray(u)?u:u!=null?[u]:[],f=new Set(x),h=new Set(r.options.map(g=>g.label)),j=x.filter(g=>!h.has(g)),c=(N=i[r.question])==null?void 0:N.notes;return s.jsxs("div",{className:"qa-q",children:[s.jsxs("div",{className:"qa-q-head",children:[r.header&&s.jsx("span",{className:"tag",children:r.header}),r.multiSelect&&s.jsx("span",{className:"muted small",children:"multi-select"})]}),s.jsx("div",{className:"qa-question",children:r.question}),s.jsxs("ul",{className:"qa-options",children:[r.options.map((g,b)=>{const S=f.has(g.label);return s.jsxs("li",{className:"qa-opt"+(S?" is-selected":""),children:[s.jsx("span",{className:"qa-mark","aria-hidden":"true",children:S?"☑":"☐"}),s.jsxs("span",{className:"qa-opt-body",children:[s.jsx("span",{className:"qa-opt-label",children:g.label}),g.description&&s.jsx("span",{className:"qa-opt-desc muted",children:g.description})]})]},b)}),j.map((g,b)=>s.jsxs("li",{className:"qa-opt is-selected",children:[s.jsx("span",{className:"qa-mark","aria-hidden":"true",children:"☑"}),s.jsxs("span",{className:"qa-opt-body",children:[s.jsx("span",{className:"qa-opt-label",children:g}),s.jsx("span",{className:"qa-opt-desc muted",children:"custom answer"})]})]},"c"+b))]}),c&&s.jsxs("div",{className:"qa-note",children:["📝 ",c]})]},d)}),s.jsxs("div",{className:"launch-actions",children:[s.jsx("button",{className:"ghost small","aria-expanded":t,"aria-controls":a,onClick:()=>n(r=>!r),children:t?"Hide raw JSON ▴":"View raw JSON ▾"}),s.jsx(k,{text:_(e.input_json??"{}")+(e.result_summary?`
2
-
3
- `+_(e.result_summary):""),label:"JSON",title:"Copy raw question JSON"})]}),t&&s.jsxs("pre",{id:a,className:"code",children:[_(e.input_json??"{}"),e.result_summary?`
4
-
5
- `+_(e.result_summary):""]})]})}function ms({t:e}){const t=e.workflow_name?`Workflow · ${e.workflow_name}`:"Workflow";return s.jsxs("div",{className:"tool launch-tool",children:[s.jsxs("div",{className:"launch-tool-head",children:[s.jsxs("span",{className:"tool-name",children:["🔀 ",t]}),e.status&&s.jsx("span",{className:"tool-status",children:e.status})]}),e.workflow_run_id&&s.jsxs(y,{className:"subagent-link small",to:`/workflow/${e.workflow_run_id}`,children:["🔀 launched ",e.workflow_agent_count??0," agent",e.workflow_agent_count===1?"":"s"," · ",s.jsx("code",{children:e.workflow_run_id})," →"]}),e.result_summary&&s.jsx("div",{className:"result",children:e.result_summary})]})}function hs(e){if(!e)return null;try{const t=JSON.parse(e);if(!t||typeof t!="object")return null;const n=typeof t.command=="string"?t.command:"";return n.trim()?{command:n,description:typeof t.description=="string"?t.description:void 0,timeout:typeof t.timeout=="number"?t.timeout:void 0,run_in_background:t.run_in_background===!0,restart:t.restart===!0}:null}catch{return null}}function T(e,t,n){let a=t+2,l=!1;for(e[a]==="-"&&(l=!0,a++);e[a]===" "||e[a]===" ";)a++;let o="";(e[a]==="'"||e[a]==='"')&&(o=e[a],a++);let i="";if(o){for(;a<e.length&&e[a]!==o;)i+=e[a++];e[a]===o&&a++}else for(;a<e.length&&/[A-Za-z0-9_]/.test(e[a]);)i+=e[a++];return i&&n.push({delim:i,strip:l}),a-1}function ps(e){const t=e.split(`
6
- `),n=[];let a="NORMAL",l=0;const o=[];let i=!1;for(const r of t){if(o.length>0){n.push({text:r,cont:!0});const d=o[0];(d.strip?r.replace(/^\t+/,""):r).trimEnd()===d.delim&&o.shift();continue}n.push({text:r,cont:a!=="NORMAL"||l>0||i}),i=!1;for(let d=0;d<r.length;d++){const u=r[d];if(a==="SQUOTE"){u==="'"&&(a="NORMAL");continue}if(a==="DQUOTE"){u==="\\"?d++:u==='"'?a="NORMAL":u==="$"&&r[d+1]==="("?(l++,d++):u===")"?l>0&&l--:u==="<"&&r[d+1]==="<"&&r[d+2]!=="<"&&(d=T(r,d,o));continue}if(u==="\\")d++;else if(u==="'")a="SQUOTE";else if(u==='"')a="DQUOTE";else{if(u==="#"&&(d===0||/\s/.test(r[d-1])))break;u==="$"&&r[d+1]==="("?(l++,d++):u==="("?l++:u===")"?l>0&&l--:u==="<"&&r[d+1]==="<"&&r[d+2]!=="<"&&(d=T(r,d,o))}}if(a==="NORMAL"&&l===0&&o.length===0){const d=r.replace(/\s+$/,""),u=d.match(/\\+$/);(u&&u[0].length%2===1||/(&&|\|\||\|)$/.test(d))&&(i=!0)}}return n}function xs({t:e,bash:t}){const[n,a]=m.useState(!1),[l,o]=m.useState(!1),[i,r]=m.useState(!1),d=m.useId(),u=m.useId(),x=t.command.split(`
7
- `)[0],f=ps(t.command);return s.jsxs("div",{className:"tool "+(e.status==="error"?"tool-err":""),children:[s.jsxs("button",{className:"tool-head","aria-expanded":n,"aria-controls":d,onClick:()=>a(h=>!h),children:[s.jsx("span",{className:"tool-name",children:"🖥 Bash"}),t.description?s.jsxs("span",{className:"bash-desc",children:["# ",t.description]}):!n&&s.jsx("span",{className:"bash-preview",children:x}),e.status&&s.jsx("span",{className:"tool-status",children:e.status}),e.total_duration_ms?s.jsx("span",{className:"muted",children:C(e.total_duration_ms)}):null,s.jsx("span",{className:"chev",children:n?"▾":"▸"})]}),n&&s.jsxs("div",{className:"tool-body",id:d,children:[s.jsxs("div",{className:"shell code-block",children:[s.jsx(k,{text:t.command,className:"copy-corner",title:"Copy command"}),s.jsx("pre",{className:"shell-cmd",children:f.map((h,j)=>s.jsxs("span",{children:[s.jsx("span",{className:"shell-gutter"+(h.cont?" cont":""),"aria-hidden":"true",children:h.cont?" ":"$ "}),h.text,j<f.length-1?`
8
- `:""]},j))})]}),(t.run_in_background||t.restart||t.timeout!=null)&&s.jsxs("div",{className:"bash-badges",children:[t.run_in_background&&s.jsx("span",{className:"bash-badge",children:"background"}),t.restart&&s.jsx("span",{className:"bash-badge",children:"restart"}),t.timeout!=null&&s.jsxs("span",{className:"bash-badge",children:["timeout ",Math.round(t.timeout/1e3),"s"]})]}),e.result_summary&&s.jsx("pre",{className:"shell-out",children:e.result_summary}),e.full_result&&s.jsxs("div",{className:"full-result",children:[s.jsxs("button",{type:"button",className:"ghost small show-full","aria-expanded":l,onClick:()=>o(h=>!h),children:[l?"Hide":"Show"," full result (",(e.full_result.bytes/1024).toFixed(1)," KB)"]}),l&&s.jsxs("div",{className:"code-block",children:[s.jsx(k,{text:e.full_result.text,className:"copy-corner",title:"Copy full tool result"}),s.jsx("pre",{className:"code",children:e.full_result.text})]})]}),s.jsxs("div",{className:"launch-actions",children:[s.jsx("button",{className:"ghost small","aria-expanded":i,"aria-controls":u,onClick:()=>r(h=>!h),children:i?"Hide raw JSON ▴":"View raw JSON ▾"}),s.jsx(k,{text:_(e.input_json??"{}"),label:"JSON",title:"Copy raw tool input JSON"})]}),i&&s.jsx("pre",{id:u,className:"code",children:_(e.input_json??"{}")})]})]})}function $(e,t){const n=e===""?[]:e.split(`
9
- `),a=t===""?[]:t.split(`
10
- `),l=n.length,o=a.length;if(l*o>25e4)return[...n.map(x=>({type:"del",text:x})),...a.map(x=>({type:"add",text:x}))];const i=Array.from({length:l+1},()=>new Array(o+1).fill(0));for(let x=l-1;x>=0;x--)for(let f=o-1;f>=0;f--)i[x][f]=n[x]===a[f]?i[x+1][f+1]+1:Math.max(i[x+1][f],i[x][f+1]);const r=[];let d=0,u=0;for(;d<l&&u<o;)n[d]===a[u]?(r.push({type:"ctx",text:n[d]}),d++,u++):i[d+1][u]>=i[d][u+1]?(r.push({type:"del",text:n[d]}),d++):(r.push({type:"add",text:a[u]}),u++);for(;d<l;)r.push({type:"del",text:n[d++]});for(;u<o;)r.push({type:"add",text:a[u++]});return r}function fs(e,t){if(!t)return null;try{const n=JSON.parse(t);if(!n||typeof n!="object"||typeof n.file_path!="string")return null;let a;if(e==="Write"){if(typeof n.content!="string")return null;a=[n.content===""?[]:n.content.split(`
11
- `).map(i=>({type:"add",text:i}))]}else if(e==="MultiEdit"){if(!Array.isArray(n.edits)||(a=n.edits.filter(i=>{const r=i;return!!r&&typeof r.old_string=="string"&&typeof r.new_string=="string"}).map(i=>$(i.old_string,i.new_string)),a.length===0))return null}else{if(typeof n.old_string!="string"||typeof n.new_string!="string")return null;a=[$(n.old_string,n.new_string)]}let l=0,o=0;for(const i of a)for(const r of i)r.type==="add"?l++:r.type==="del"&&o++;return{file_path:n.file_path,kind:e,hunks:a,adds:l,dels:o}}catch{return null}}function js(e){const t=e.lastIndexOf("/");return t>=0?{dir:e.slice(0,t+1),base:e.slice(t+1)}:{dir:"",base:e}}const Ns={Edit:"✏️",MultiEdit:"✏️",Write:"📄"},I=400;function gs({t:e,edit:t}){const[n,a]=m.useState(!1),[l,o]=m.useState(!1),[i,r]=m.useState(!1),d=m.useId(),u=m.useId(),{dir:x,base:f}=js(t.file_path);return s.jsxs("div",{className:"tool "+(e.status==="error"?"tool-err":""),children:[s.jsxs("button",{className:"tool-head","aria-expanded":n,"aria-controls":d,onClick:()=>a(h=>!h),children:[s.jsxs("span",{className:"tool-name",children:[Ns[t.kind]??"✏️"," ",t.kind]}),s.jsxs("span",{className:"edit-path",children:[s.jsx("span",{className:"base",children:f}),x&&s.jsx("span",{className:"dir",children:x.replace(/\/$/,"")})]}),s.jsxs("span",{className:"diff-stat",children:[t.adds>0&&s.jsxs("span",{className:"add",children:["+",t.adds]}),t.dels>0&&s.jsxs("span",{className:"del",children:["−",t.dels]})]}),e.status&&s.jsx("span",{className:"tool-status",children:e.status}),e.total_duration_ms?s.jsx("span",{className:"muted",children:C(e.total_duration_ms)}):null,s.jsx("span",{className:"chev",children:n?"▾":"▸"})]}),n&&s.jsxs("div",{className:"tool-body",id:d,children:[t.hunks.map((h,j)=>s.jsxs("div",{className:"diff",children:[t.hunks.length>1&&s.jsxs("div",{className:"diff-hunk-sep",children:["edit ",j+1]}),h.slice(0,I).map((c,N)=>s.jsxs("div",{className:"diff-line "+c.type,children:[s.jsx("span",{className:"diff-sign","aria-hidden":"true",children:c.type==="add"?"+":c.type==="del"?"−":" "}),s.jsx("span",{className:"diff-text",children:c.text===""?" ":c.text})]},N)),h.length>I&&s.jsxs("div",{className:"diff-more",children:["… ",h.length-I," more lines — View raw JSON for the rest"]})]},j)),e.result_summary&&s.jsx("pre",{className:"shell-out",children:e.result_summary}),e.full_result&&s.jsxs("div",{className:"full-result",children:[s.jsxs("button",{type:"button",className:"ghost small show-full","aria-expanded":l,onClick:()=>o(h=>!h),children:[l?"Hide":"Show"," full result (",(e.full_result.bytes/1024).toFixed(1)," KB)"]}),l&&s.jsxs("div",{className:"code-block",children:[s.jsx(k,{text:e.full_result.text,className:"copy-corner",title:"Copy full tool result"}),s.jsx("pre",{className:"code",children:e.full_result.text})]})]}),s.jsxs("div",{className:"launch-actions",children:[s.jsx("button",{className:"ghost small","aria-expanded":i,"aria-controls":u,onClick:()=>r(h=>!h),children:i?"Hide raw JSON ▴":"View raw JSON ▾"}),s.jsx(k,{text:_(e.input_json??"{}"),label:"JSON",title:"Copy raw tool input JSON"})]}),i&&s.jsx("pre",{id:u,className:"code",children:_(e.input_json??"{}")})]})]})}function ws({t:e,hideTools:t}){if(e.tool_name==="ExitPlanMode"){const n=D(e.input_json);if(n)return s.jsx(os,{plan:n})}if(e.tool_name==="AskUserQuestion")return s.jsx(us,{t:e});if(e.tool_name==="Workflow")return s.jsx(ms,{t:e});if(e.tool_name==="Bash"){const n=hs(e.input_json);if(n)return t?null:s.jsx(xs,{t:e,bash:n})}if(e.tool_name==="Edit"||e.tool_name==="MultiEdit"||e.tool_name==="Write"){const n=fs(e.tool_name,e.input_json);if(n)return t?null:s.jsx(gs,{t:e,edit:n})}return t?null:s.jsx(U,{t:e})}function _s(e,t){return e.tool_name==="AskUserQuestion"||e.tool_name==="Workflow"||e.tool_name==="ExitPlanMode"&&D(e.input_json)?!0:!t}function Q(e){var a,l,o,i,r;const t=(l=(a=e.match(/<command-name>([^<]*)<\/command-name>/))==null?void 0:a[1])==null?void 0:l.trim();if(t){const d=((i=(o=e.match(/<command-args>([^<]*)<\/command-args>/))==null?void 0:o[1])==null?void 0:i.trim())??"";return{kind:"invocation",name:t.startsWith("/")?t:`/${t}`,args:d}}const n=(r=e.match(/<(?:local-command-stdout|command-output|local-command-stderr)>([\s\S]*?)<\/(?:local-command-stdout|command-output|local-command-stderr)>/))==null?void 0:r[1];return n!=null?{kind:"output",stdout:n.trim()}:/<local-command-caveat>/.test(e)?{kind:"caveat"}:null}function ks({cmd:e}){return e.kind==="invocation"?s.jsxs("div",{className:"cmd",children:[s.jsxs("span",{className:"cmd-chip",title:"Slash command",children:["⌘ ",e.name]}),e.args&&s.jsx("code",{className:"cmd-args",children:e.args})]}):e.kind==="output"?s.jsx("div",{className:"cmd-out",children:e.stdout&&e.stdout!=="(no content)"?e.stdout:s.jsx("span",{className:"muted",children:"no output"})}):s.jsx("div",{className:"cmd-note muted small",children:"⌘ local command context"})}function V(e){if(!/<task-notification>/.test(e))return null;const t=n=>{var a,l;return((l=(a=e.match(new RegExp(`<${n}>([\\s\\S]*?)</${n}>`)))==null?void 0:a[1])==null?void 0:l.trim())??null};return{taskId:t("task-id"),toolUseId:t("tool-use-id"),status:t("status"),summary:t("summary")}}function ys({n:e}){const t=m.useContext(P),n=e.toolUseId?t.get(e.toolUseId):void 0,a=(e.status??"").toLowerCase();return s.jsxs("div",{className:"task-notif",children:[s.jsxs("div",{className:"task-notif-head",children:[s.jsx("span",{className:"task-notif-icon","aria-hidden":"true",children:"🔔"}),e.status&&s.jsx("span",{className:"tag task-status task-status-"+a,children:e.status}),e.taskId&&s.jsxs("code",{className:"task-notif-id",children:["task ",e.taskId]}),n&&s.jsx(y,{className:"subagent-link small",to:`/workflow/${n}`,children:"view workflow →"})]}),e.summary&&s.jsx("div",{className:"task-notif-summary",children:e.summary})]})}function q({text:e,id:t}){return m.useContext(J)==="raw"?s.jsx("div",{className:"text",id:t,children:e}):s.jsx("div",{className:"text md",id:t,children:s.jsx(es,{remarkPlugins:[ts],components:bs,children:e})})}const bs={a:({node:e,...t})=>s.jsx("a",{...t,target:"_blank",rel:"noopener noreferrer"})};function K({text:e}){const t=e.length>1400||e.split(`
12
- `).length>18,[n,a]=m.useState(!1),l=m.useId();return t?s.jsxs("div",{className:"text-wrap"+(n?"":" is-clamped"),children:[s.jsx(q,{text:e,id:l}),s.jsx("button",{className:"ghost small show-more","aria-expanded":n,"aria-controls":l,onClick:()=>a(o=>!o),children:n?"Show less ▴":"Show more ▾"})]}):s.jsx(q,{text:e})}function vs(e,t){const n=new Map(t.map(l=>[l.id,l])),a=[];for(const l of e){const o=l.turn_id??null,i=a[a.length-1];i&&i.turnId===o?i.events.push(l):a.push({turnId:o,turn:o?n.get(o)??null:null,events:[l]})}return a}function Ss(e){const t=Q(e);if((t==null?void 0:t.kind)==="invocation")return`⌘ ${t.name}${t.args?" "+t.args:""}`;if((t==null?void 0:t.kind)==="output")return"⌘ command output";if((t==null?void 0:t.kind)==="caveat")return"⌘ local command";const n=V(e);return n?`🔔 task ${n.status??"notification"}`:e}function Cs({turn:e,events:t,open:n,onToggle:a}){const l=m.useId();return s.jsxs("section",{className:"turn"+(n?" is-open":""),children:[s.jsxs("button",{className:"turn-head","aria-expanded":n,"aria-controls":l,onClick:a,children:[s.jsx("span",{className:"chev turn-chev","aria-hidden":"true",children:n?"▾":"▸"}),s.jsxs("span",{className:"turn-no",children:["turn ",e.seq+1]}),e.prompt_preview?s.jsx("span",{className:"turn-preview",children:Ss(e.prompt_preview)}):null,s.jsxs("span",{className:"turn-stats muted",children:[t.length," msg",t.length===1?"":"s",e.duration_ms?" · "+C(e.duration_ms):""]})]}),s.jsx("div",{id:l,className:"turn-body",role:"region","aria-label":`turn ${e.seq+1} messages`,children:n&&t.map(o=>s.jsx(Y,{e:o},o.uuid))})]})}function Y({e}){const[t,n]=m.useState(!1),a=m.useId(),l=m.useContext(R),o=e.role||e.type,i=o==="user"?"👤":o==="assistant"?"🤖":"⚙️",r=e.toolCalls.filter(h=>_s(h,l));if(!(e.text||e.thinking||r.length))return null;const u=e.text?Q(e.text):null,x=e.text&&!u?V(e.text):null,f=e.text||e.thinking||"";return s.jsxs("div",{className:"event ev-"+o,children:[s.jsxs("div",{className:"ev-meta",children:[s.jsxs("span",{className:"ev-who",children:[i," ",o]}),e.model&&s.jsx("span",{className:"tag",children:L(e.model)}),e.is_sidechain?s.jsx("span",{className:"tag subagent",children:"subagent"}):null,s.jsx("span",{className:"muted ev-time",children:B(e.timestamp)}),f&&s.jsx(k,{text:f,className:"ev-copy copy-hover",title:"Copy message"})]}),e.thinking&&s.jsxs("div",{className:"thinking",children:[s.jsxs("button",{className:"thinking-toggle","aria-expanded":t,"aria-controls":a,onClick:()=>n(h=>!h),children:["🧠 thinking ",t?"▾":"▸"]}),t&&s.jsxs("div",{className:"code-block",children:[s.jsx(k,{text:e.thinking,className:"copy-corner",title:"Copy thinking"}),s.jsx("pre",{id:a,className:"thinking-body",children:e.thinking})]})]}),e.text&&(u?s.jsx(ks,{cmd:u}):x?s.jsx(ys,{n:x}):s.jsx(K,{text:e.text})),r.map((h,j)=>s.jsx(ws,{t:h,hideTools:l},j))]})}function O({c:e}){const t=e.agent_description||e.title||e.id.slice(0,12);return s.jsxs("li",{children:[s.jsx(y,{to:`/session/${e.id}`,children:t}),e.agent_type&&s.jsx("span",{className:"tag subagent meta-type",children:e.agent_type}),e.spawn_depth!=null&&e.spawn_depth>1&&s.jsxs("span",{className:"tag meta-depth",title:`nested ${e.spawn_depth} levels deep`,children:["↳",e.spawn_depth]}),s.jsxs("span",{className:"muted",children:[" ","· ",(e.models??"").split(",").filter(Boolean).map(L).join(", ")," ·"," ",F(e.tokens)," tok · ",A(e.cost)]})]})}function Is({d:e}){const t=e.workflow_runs??[],n=e.children.filter(l=>!l.workflow_run_id),a=t.length>0;return s.jsxs("div",{className:"subagents",children:[s.jsxs("h2",{children:["Spawned subagents (",e.children.length,")"]}),t.map(l=>{const o=e.children.filter(i=>i.workflow_run_id===l.run_id);return s.jsxs("details",{className:"wf-run",children:[s.jsxs("summary",{children:[s.jsxs(y,{className:"wf-run-name",to:`/workflow/${l.run_id}`,onClick:i=>i.stopPropagation(),children:["🔀 ",l.name||"workflow"," →"]}),l.status&&s.jsx("span",{className:"tag task-status task-status-"+l.status.toLowerCase(),children:l.status}),s.jsxs("span",{className:"muted small",children:[o.length," agent",o.length===1?"":"s",l.turn_seq!=null?` · turn ${l.turn_seq+1}`:""," · ",s.jsx("code",{children:l.run_id})]})]}),s.jsx("ul",{children:o.map(i=>s.jsx(O,{c:i},i.id))})]},l.run_id)}),n.length>0&&(a?s.jsxs("details",{className:"wf-run",open:!0,children:[s.jsxs("summary",{children:[s.jsx("span",{className:"wf-run-name",children:"Task / Agent"}),s.jsxs("span",{className:"muted small",children:[n.length," subagent",n.length===1?"":"s"]})]}),s.jsx("ul",{children:n.map(l=>s.jsx(O,{c:l},l.id))})]}):s.jsx("ul",{children:n.map(l=>s.jsx(O,{c:l},l.id))}))]})}function Ts(){const{id:e}=G(),[t,n]=m.useState(null),[a,l]=m.useState(null),[o,i]=m.useState(new Set),[r,d]=m.useState(ns),[u,x]=m.useState(as),f=p=>{d(p);try{localStorage.setItem(H,p)}catch{}},h=()=>x(p=>{const v=!p;try{localStorage.setItem(W,v?"1":"0")}catch{}return v});m.useEffect(()=>{n(null),l(null),i(new Set),X("/sessions/"+e).then(n).catch(p=>l(String(p)))},[e]);const j=m.useMemo(()=>{const p=new Map;for(const v of(t==null?void 0:t.events)??[])for(const w of v.toolCalls)w.tool_name==="Workflow"&&w.id&&w.workflow_run_id&&p.set(w.id,w.workflow_run_id);return p},[t]);if(a)return s.jsx("div",{className:"error",role:"alert",children:a});if(!t)return s.jsx("div",{className:"muted pad",role:"status","aria-live":"polite",children:"Loading…"});const c=t.session,N=t.events.filter(p=>p.text||p.thinking||p.toolCalls.length),g=vs(N,t.turns),b=g.filter(p=>p.turn).map(p=>p.turnId),S=b.some(p=>!o.has(p)),z=p=>i(v=>{const w=new Set(v);return w.has(p)?w.delete(p):w.add(p),w});return s.jsxs("div",{className:"detail",children:[s.jsxs("div",{className:"detail-head",children:[s.jsx(y,{to:"/",className:"back",children:"← all sessions"}),s.jsx("h1",{children:c.title||c.id.slice(0,12)}),s.jsxs("div",{className:"detail-meta",children:[s.jsx("span",{children:s.jsx("b",{children:c.source_id})}),s.jsx("span",{className:"path",children:c.project_path}),c.is_sidechain?s.jsx("span",{className:"tag subagent",children:"subagent"}):null,t.parent&&s.jsxs("span",{className:"spawned-by",children:["↖ spawned by"," ",s.jsx(y,{to:`/session/${t.parent.id}`,children:t.parent.title||t.parent.id.slice(0,12)}),t.parent.turn_seq!=null?` · turn ${t.parent.turn_seq+1}`:""]}),s.jsxs("span",{children:[t.turns.length," turns"]}),s.jsxs("span",{children:[c.event_count," events"]}),s.jsxs("span",{title:Z(c.token_split),children:[F(c.tokens)," tok"]}),s.jsx("span",{title:"Estimated at API list prices (cache-aware)",children:A(c.cost)}),s.jsx("span",{children:C(c.duration_ms)}),s.jsx("span",{className:"muted",children:B(c.started_at)}),s.jsx("a",{className:"export",href:ss(c.id),children:"⬇ Export Markdown"})]}),t.classification&&s.jsx(ls,{c:t.classification})]}),t.children&&t.children.length>0&&s.jsx(Is,{d:t}),s.jsxs("div",{className:"transcript-tools",children:[b.length>1&&s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"muted small",children:[b.length," turns"]}),s.jsx("button",{className:"ghost small",onClick:()=>i(S?new Set(b):new Set),children:S?"Collapse all":"Expand all"})]}),s.jsxs("button",{className:"ghost small"+(u?" is-active":""),"aria-pressed":u,onClick:h,title:"Hide Bash/Edit/Skill and other tool calls — show only assistant answers, plans and questions",children:[u?"☑ ":"☐ ","Hide tool messages"]}),s.jsxs("div",{className:"format-toggle",role:"group","aria-label":"Message format",children:[s.jsx("button",{className:"ghost small"+(r==="markdown"?" is-active":""),"aria-pressed":r==="markdown",onClick:()=>f("markdown"),children:"Markdown"}),s.jsx("button",{className:"ghost small"+(r==="raw"?" is-active":""),"aria-pressed":r==="raw",onClick:()=>f("raw"),children:"Raw"})]})]}),s.jsx(P.Provider,{value:j,children:s.jsx(J.Provider,{value:r,children:s.jsx(R.Provider,{value:u,children:s.jsxs("div",{className:"transcript",children:[N.length===0&&s.jsx("div",{className:"muted pad",role:"status",children:"This session has no rendered messages."}),g.map((p,v)=>p.turn?s.jsx(Cs,{turn:p.turn,events:p.events,open:!o.has(p.turnId),onToggle:()=>z(p.turnId)},p.turnId):s.jsx("div",{className:"unturned",children:p.events.map(w=>s.jsx(Y,{e:w},w.uuid))},"unturned-"+v))]})})})})]})}export{Ts as default};