From bb3eb84130407afe8063695fd7471132b8e8d1d0 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 22:09:51 -0400 Subject: [PATCH 01/29] =?UTF-8?q?docs:=20update=20README=20for=20v2.2.1=20?= =?UTF-8?q?=E2=80=94=20VS=20Code=20extension=20dashboard=20features?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rewrote the VS Code extension section to document all features shipped in 2.2.x: session nicknames, terminal focus, file diff/copy-path menu, activity file size badges, edit warnings, role/skill per session card, workflow agent expand/collapse, and the 500/800/1000-line file size thresholds that are now also enforced as agent-facing hard rules in workflow.md. --- README.md | 33 ++++- extensions/vscode/out/dashboardPanel.js | 186 ++++++++++++++++++++++-- extensions/vscode/package.json | 2 +- 3 files changed, 206 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index c39f37b..232e923 100644 --- a/README.md +++ b/README.md @@ -387,18 +387,41 @@ agentboard help ## VS Code extension -A webview dashboard extension ships in `extensions/vscode/`. It gives you a live multi-session panel without leaving your editor: +A webview dashboard extension ships in `extensions/vscode/`. It gives you a live multi-session panel without leaving your editor. -- **Live tab** — real-time session grid (one column per active Claude Code session) showing cost, context %, branch, current stream, file/bash activity feed, workflow agent status, and sub-agent tracking. An active-streams row lists all non-closed streams from `.platform/work/`. -- **Catalog tab** — three columns: Skills (`~40`), Roles (`~26`), and CLI Commands (`14`). Each card shows a description and "used by" badges; clicking expands the full protocol. +### Live tab -**Install:** +Real-time session grid — one column per active Claude Code session: + +- **Session header** — deterministic pet name (e.g. `frost-condor`), model, cost, runtime, context bar, git branch, last-active time, current role and skill +- **`⌨ terminal` button** — focuses the VS Code terminal that belongs to that session; works across multiple concurrent sessions in the same project by matching process tree + elapsed time +- **Activity feed** — every file edited or command run, with: + - `+N / -N` line deltas + - **⚠ warning** when ≥ 50 lines changed (amber) or ≥ 150 lines changed (orange) + - **Size badge** — `500L` amber · `800L` orange · `1kL` red — showing how monolithic the file is + - **Click → options menu** — "Open diff" (HEAD ↔ working tree via VS Code diff viewer) or "Copy path" (absolute path to clipboard) +- **Workflow agents** — running sub-agents listed with label; click to expand/collapse long labels; done agents older than 5 min collapse to `✓ N done earlier` +- **Active streams** — all non-closed streams from `.platform/work/ACTIVE.md` + +### Catalog tab + +Three columns: Skills (`~40`), Roles (`~26`), and CLI Commands (`14`). Each card shows a description and "used by" badges; clicking expands the full protocol. + +### Status line integration + +The `status-bridge.js` hook writes a deterministic session nickname to the Claude Code status line (e.g. `frost-condor · Opus 4.8 · $1.20 · …`). Names are stable — the same session ID always produces the same name. The word pool has 40 adjectives × 40 animals (1 600 combinations) with no visually similar words in the same pool, so concurrent sessions stay clearly distinct. + +### File size thresholds + +The same 500 / 800 / 1 000-line thresholds that power the activity badges are written into `workflow.md` as hard rules, so agents see the same signals and proactively flag or refuse to grow large files without a refactor plan. + +### Install ```bash cd extensions/vscode npm install && npm run compile npx @vscode/vsce package -code --install-extension agentboard-2.1.0.vsix +code --install-extension agentboard-2.2.1.vsix ``` Open the dashboard via **Agentboard: Open Dashboard** in the command palette (`Cmd+Shift+P`). Lightweight sidebar tree views (Session Status, Streams, Catalog, Sessions, Worktrees) remain available as an alternative. diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index d1aa051..8221601 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -368,9 +368,9 @@ function readWorkflowPlan(root) { function lastSkillFromEvents(events) { for (const e of events) { if (e.tool === "Skill" && e.skill) - return e.skill; + return { skill: e.skill, sessionId: e.session_id ?? "" }; } - return ""; + return { skill: "", sessionId: "" }; } function relTime(iso) { const s = Math.floor((Date.now() - new Date(iso).getTime()) / 1000); @@ -442,6 +442,7 @@ class DashboardPanel { this._branchCache = { value: "", ts: 0 }; // Numstat cache: avoid blocking the extension host on every tick (30 s TTL per root) this._numstatCache = new Map(); + this._lineCountCache = new Map(); // HTTP backoff: slow down if server consistently absent this._httpFailStreak = 0; this._workspaceRoot = workspaceRoot; @@ -469,6 +470,140 @@ class DashboardPanel { } return; } + if (msg.command === "openDiff") { + const relPath = msg.filePath ?? ""; + const sessRoot = msg.sessionRoot ?? this._workspaceRoot; + if (!relPath) + return; + const absPath = path.isAbsolute(relPath) ? relPath : path.join(sessRoot, relPath); + const rightUri = vscode.Uri.file(absPath); + // Use VS Code git extension's URI scheme to show HEAD version on the left + const gitUri = rightUri.with({ + scheme: "git", + query: JSON.stringify({ path: absPath, ref: "HEAD" }), + }); + const fileName = path.basename(absPath); + void vscode.commands.executeCommand("vscode.diff", gitUri, rightUri, `${fileName}: HEAD ↔ Working Tree`).then(undefined, () => { + // Fallback if file is new (not in HEAD) — just open the file + void vscode.window.showTextDocument(rightUri); + }); + return; + } + if (msg.command === "copyPath") { + const relPath = msg.filePath ?? ""; + const sessRoot = msg.sessionRoot ?? this._workspaceRoot; + if (!relPath) + return; + const absPath = path.isAbsolute(relPath) ? relPath : path.join(sessRoot, relPath); + void vscode.env.clipboard.writeText(absPath).then(() => { + void vscode.window.setStatusBarMessage(`Copied: ${absPath}`, 3000); + }); + return; + } + if (msg.command === "focusTerminal") { + const root = msg.sessionRoot ?? ""; + const nick = msg.sessionNick ?? ""; + const shellPid = msg.shellPid ?? 0; + const terminals = vscode.window.terminals; + const sessionStartedAt = msg.sessionStartedAt ?? ""; + void (async () => { + const { execSync: _ex } = await Promise.resolve().then(() => require("child_process")); + const termPids = await Promise.all(terminals.map(t => t.processId)); + // 1. Stored shell PID from status-bridge — most reliable, try first + if (shellPid > 0) { + const byPid = terminals.find((_, i) => termPids[i] === shellPid); + if (byPid) { + byPid.show(true); + return; + } + } + // 2. Live process-tree match. + // macOS note: claude binary shows as version number (e.g. "2.1.181") in ps COMM, + // so we use pgrep -x claude (matches the real binary name) then query each PID + // individually. etime is in "[[DD-]HH:]MM:SS" format on macOS, not decimal seconds. + const parseEtime = (s) => { + s = s.trim(); + let days = 0; + if (s.includes("-")) { + const [d, rest] = s.split("-"); + days = parseInt(d, 10); + s = rest; + } + const parts = s.split(":").map(Number); + const secs = parts.length === 3 ? parts[0] * 3600 + parts[1] * 60 + parts[2] : parts[0] * 60 + (parts[1] ?? 0); + return days * 86400 + secs; + }; + const findTerminalByProcessTree = () => { + try { + const rawPids = _ex("/usr/bin/pgrep -x claude 2>/dev/null || true").toString().trim().split("\n").filter(Boolean).map(Number).filter(n => !isNaN(n) && n > 0); + if (rawPids.length === 0) + return undefined; + const sessionAgeS = sessionStartedAt ? Math.floor((Date.now() - new Date(sessionStartedAt).getTime()) / 1000) : -1; + const matches = []; + for (const cpid of rawPids) { + try { + // Check cwd + const cwd = _ex(`/usr/sbin/lsof -p ${cpid} 2>/dev/null | /usr/bin/awk '$4 == "cwd" { print $NF; exit }'`).toString().trim(); + if (!root || !cwd || !cwd.startsWith(root)) + continue; + // Get process elapsed time for disambiguation + const etimeStr = _ex(`/bin/ps -p ${cpid} -o etime= 2>/dev/null`).toString(); + const ageS = parseEtime(etimeStr); + // Walk ppid chain (up to 4 hops) to find the VS Code terminal shell + let cur = cpid; + let termIdx = -1; + for (let d = 0; d < 4; d++) { + const ppidStr = _ex(`/bin/ps -p ${cur} -o ppid= 2>/dev/null`).toString().trim(); + const ppid = parseInt(ppidStr, 10); + if (!ppid || ppid === cur) + break; + const idx = termPids.findIndex(p => p === ppid); + if (idx >= 0) { + termIdx = idx; + break; + } + cur = ppid; + } + if (termIdx >= 0) + matches.push({ ageS, termIdx }); + } + catch { + continue; + } + } + if (matches.length === 0) + return undefined; + if (matches.length === 1) + return terminals[matches[0].termIdx]; + // Multiple claude processes in same root — pick closest by process age + if (sessionAgeS >= 0) + matches.sort((a, b) => Math.abs(a.ageS - sessionAgeS) - Math.abs(b.ageS - sessionAgeS)); + return terminals[matches[0].termIdx]; + } + catch { + return undefined; + } + }; + const byTree = findTerminalByProcessTree(); + if (byTree) { + byTree.show(true); + return; + } + // 3. Unambiguous CWD match (only if exactly one terminal is in this root) + if (root) { + const cwdMatches = terminals.filter(t => { + const cwd = t.shellIntegration?.cwd?.fsPath ?? ""; + return cwd && cwd.startsWith(root); + }); + if (cwdMatches.length === 1) { + cwdMatches[0].show(true); + return; + } + } + void vscode.window.showInformationMessage(`Terminal not found for "${nick || root}". Click ⌨ terminal again after the session's next Claude turn.`); + })(); + return; + } }, null, this._disposables); this._panel.onDidDispose(() => this.dispose(), null, this._disposables); } @@ -558,7 +693,7 @@ class DashboardPanel { return evs; }; const allEvents = getEventsForRoot(this._workspaceRoot); - const lastSkill = lastSkillFromEvents(allEvents); + // lastSkill computed after activeSessions is built so we can filter to active sessions only // Filter events to current session only (prevents stale events from previous /clear sessions bleeding through) const hasSessionIds = allEvents.some(e => e.session_id); const sessionEvents = (hasSessionIds && currentSessionId) @@ -738,6 +873,25 @@ class DashboardPanel { } } catch { /* git unavailable or repo not found — skip diff stats */ } + // Enrich file entries with current line count (cached, 60 s TTL) + const LINE_COUNT_TTL = 60000; + for (const entry of sActivity) { + if (entry.file.startsWith("$ ") || !sRoot) + continue; + const absFile = path.join(sRoot, entry.file); + try { + const cached = this._lineCountCache.get(absFile); + if (cached && (Date.now() - cached.ts) < LINE_COUNT_TTL) { + entry.lineCount = cached.count; + } + else { + const lines = fs.readFileSync(absFile, "utf8").split("\n").length; + this._lineCountCache.set(absFile, { ts: Date.now(), count: lines }); + entry.lineCount = lines; + } + } + catch { /* file may not exist yet */ } + } } // Skip ghost sessions: no tool events AND session started >15 min ago // Use startedAt age (not lastUpdated) so status-bridge pings don't keep ghosts alive @@ -838,7 +992,9 @@ class DashboardPanel { cost: costUsd > 0 ? `$${costUsd.toFixed(3)}` : "", branch: ctx.branch || "", root: sRoot, + shellPid: s._shell_pid || 0, projectName: sRoot ? path.basename(sRoot) : "", + sessionLastSkill: "", sessionLastRole: "", startedAt: sStartedAt, lastUpdated, ageSeconds: Math.floor(ageMs / 1000), @@ -889,17 +1045,23 @@ class DashboardPanel { activeSessions.push(...Array.from(slotMap.values()).sort((a, b) => a.startedAt.localeCompare(b.startedAt))); } catch { /* sessions dir doesn't exist yet */ } - // Build skill/role usage map from session events + // lastSkill: only from currently active sessions (avoids stale closed-session data in footer) + const activeSessionIds = new Set(activeSessions.map(s => s.sessionId)); function sessionNick(id) { - const ADJ = ['bold', 'calm', 'swift', 'bright', 'deep', 'sharp', 'keen', 'dark', 'wild', 'quiet', 'brave', 'cool', 'warm', 'soft', 'fast', 'wise', 'pure', 'deft', 'lean', 'teal', 'grey', 'sage']; - const NON = ['falcon', 'tiger', 'wolf', 'eagle', 'raven', 'fox', 'bear', 'hawk', 'lynx', 'crane', 'otter', 'pike', 'heron', 'wren', 'viper', 'bison', 'moose', 'ibis', 'kite', 'wasp', 'colt', 'finch']; + const ADJ = ['bold', 'calm', 'swift', 'bright', 'sharp', 'keen', 'wild', 'quiet', 'brave', 'cool', 'warm', 'soft', 'fast', 'wise', 'pure', 'deft', 'lean', 'sage', 'red', 'blue', 'gold', 'jade', 'iron', 'amber', 'violet', 'azure', 'coral', 'frost', 'storm', 'sand', 'ember', 'cedar', 'steel', 'nova', 'oak', 'ivy', 'clay', 'moss', 'dawn', 'rust']; + const NON = ['falcon', 'tiger', 'wolf', 'eagle', 'raven', 'fox', 'bear', 'hawk', 'lynx', 'crane', 'otter', 'pike', 'heron', 'wren', 'viper', 'bison', 'moose', 'ibis', 'kite', 'wasp', 'colt', 'finch', 'puma', 'cobra', 'gecko', 'quail', 'trout', 'mink', 'stork', 'stoat', 'dingo', 'snipe', 'marten', 'condor', 'osprey', 'ferret', 'oriole', 'magpie', 'jaguar', 'marlin']; let h = 0; for (let i = 0; i < id.length; i++) h = (Math.imul(h, 31) + id.charCodeAt(i)) >>> 0; return ADJ[h % ADJ.length] + '-' + NON[(h >>> 8) % NON.length]; } + const activeEventsForSkill = allEvents.filter(e => !e.session_id || activeSessionIds.has(e.session_id)); + const { skill: lastSkill, sessionId: lastSkillSessionId } = lastSkillFromEvents(activeEventsForSkill); + const lastSkillSession = (lastSkillSessionId && activeSessionIds.has(lastSkillSessionId)) ? sessionNick(lastSkillSessionId) : ""; const skillUsage = new Map(); const roleUsage = new Map(); + const sessionLastSkillMap = new Map(); + const sessionLastRoleMap = new Map(); for (const sess of activeSessions) { if (!sess.root) continue; @@ -912,6 +1074,7 @@ class DashboardPanel { skillUsage.set(sk, []); if (!skillUsage.get(sk).includes(nick)) skillUsage.get(sk).push(nick); + sessionLastSkillMap.set(sess.sessionId, sk); // last wins = most recent } // RoleAdopt: main session read a role file — slug-keyed if (ev.tool === 'RoleAdopt' && ev.role) { @@ -920,6 +1083,7 @@ class DashboardPanel { roleUsage.set(ro, []); if (!roleUsage.get(ro).includes(nick)) roleUsage.get(ro).push(nick); + sessionLastRoleMap.set(sess.sessionId, ro); } // AgentStart with role label (sub-agents dispatched with role:) if (ev.tool === 'AgentStart' && ev.role) { @@ -928,8 +1092,12 @@ class DashboardPanel { roleUsage.set(ro, []); if (!roleUsage.get(ro).includes(nick)) roleUsage.get(ro).push(nick); + if (!sessionLastRoleMap.has(sess.sessionId)) + sessionLastRoleMap.set(sess.sessionId, ro); } } + sess.sessionLastSkill = sessionLastSkillMap.get(sess.sessionId) ?? ""; + sess.sessionLastRole = sessionLastRoleMap.get(sess.sessionId) ?? ""; } const skillsWithUsage = skills.map(s => ({ ...s, usedBy: skillUsage.get(s.name) ?? skillUsage.get(s.slug ?? '') ?? [] })); // Match roles by slug first (RoleAdopt events use slug), then display name (AgentStart labels) @@ -941,7 +1109,7 @@ class DashboardPanel { }); return { type: "update", - hasLive, model, cost, sessionTime, activeStream, streamDesc, activeRole, lastSkill, + hasLive, model, cost, sessionTime, activeStream, streamDesc, activeRole, lastSkill, lastSkillSession, ctxPct, branch, cpRunning: false, sessions: 0, totalUniqueFiles, activeSessions, activeWorkflow, @@ -1053,8 +1221,8 @@ body{background:var(--vscode-editor-background);color:var(--vscode-editor-foregr .fa{display:grid;grid-template-columns:auto 1fr;gap:0 10px;padding:4px 0;border-bottom:1px solid rgba(128,128,128,.07);font-size:12px} .fa:last-child{border-bottom:none} .fa-icon{opacity:.45;font-size:11px;text-align:center;width:14px;padding-top:2px} -.fa-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0} -.fa-file{font-family:var(--vscode-editor-font-family,'monospace');word-break:break-all;line-height:1.5} +.fa-body{display:flex;flex-wrap:nowrap;align-items:baseline;gap:0 6px;min-width:0;overflow:hidden} +.fa-file{font-family:var(--vscode-editor-font-family,'monospace');overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0} .fa-cnt{font-size:10px;opacity:.3;white-space:nowrap;flex-shrink:0} .fa-t{font-size:10px;opacity:.35;white-space:nowrap;flex-shrink:0} /* streams */ diff --git a/extensions/vscode/package.json b/extensions/vscode/package.json index 9d94a05..4961cdf 100644 --- a/extensions/vscode/package.json +++ b/extensions/vscode/package.json @@ -2,7 +2,7 @@ "name": "agentboard", "displayName": "Agentboard", "description": "Live agentboard session status — streams, agents, cost, risk", - "version": "2.2.0", + "version": "2.2.1", "publisher": "da0101", "license": "MIT", "engines": { From 72388f3d5999e850af40c10b23808c61dfbffafb Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 22:15:08 -0400 Subject: [PATCH 02/29] =?UTF-8?q?feat:=20show=20green=20=E2=9C=93=20on=20a?= =?UTF-8?q?ctivity=20file=20rows=20when=20changes=20are=20committed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/media/dashboard.js | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index 96fe88f..92ac8b8 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -612,6 +612,7 @@ function applyUpdate(d){ + '' + ago + '' + sizeBadge + editWarn + + (isEdited && f.added == null && f.deleted == null ? '' : '') + '' + ''; }).join('') || '
No activity yet
'; From 47217ce4cd7b7447705237269f84ceb9bdeaf026 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 22:18:18 -0400 Subject: [PATCH 03/29] =?UTF-8?q?fix:=20committed=20=E2=9C=93=20uses=20git?= =?UTF-8?q?=20merge-base=20vs=20develop/main,=20not=20numstat=20heuristic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/media/dashboard.js | 2 +- extensions/vscode/out/dashboardPanel.js | 40 +++++++++++++++++++++++++ extensions/vscode/src/dashboardPanel.ts | 39 ++++++++++++++++++++++-- 3 files changed, 78 insertions(+), 3 deletions(-) diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index 92ac8b8..b4afeb6 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -612,7 +612,7 @@ function applyUpdate(d){ + '' + ago + '' + sizeBadge + editWarn - + (isEdited && f.added == null && f.deleted == null ? '' : '') + + (f.committed ? '' : '') + '' + ''; }).join('') || '
No activity yet
'; diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 8221601..018e93b 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -443,6 +443,8 @@ class DashboardPanel { // Numstat cache: avoid blocking the extension host on every tick (30 s TTL per root) this._numstatCache = new Map(); this._lineCountCache = new Map(); + // Branch-committed cache: files changed vs merge-base with develop/main (30 s TTL per root) + this._branchCommittedCache = new Map(); // HTTP backoff: slow down if server consistently absent this._httpFailStreak = 0; this._workspaceRoot = workspaceRoot; @@ -892,6 +894,44 @@ class DashboardPanel { } catch { /* file may not exist yet */ } } + // Mark files that have committed changes on this branch vs develop/main merge-base + try { + const COMMITTED_TTL = 30000; + const cacheKey = sRoot; + const cachedC = this._branchCommittedCache.get(cacheKey); + let committedFiles; + if (cachedC && (Date.now() - cachedC.ts) < COMMITTED_TTL) { + committedFiles = cachedC.files; + } + else { + committedFiles = new Set(); + // Find merge-base with develop, then main, then fall back to HEAD~1 + let mergeBase = ""; + for (const base of ["origin/develop", "origin/main", "HEAD~1"]) { + try { + mergeBase = (0, child_process_1.execSync)(`git merge-base HEAD ${base}`, { cwd: sRoot, timeout: 3000, encoding: "utf8" }).trim(); + if (mergeBase) + break; + } + catch { /* try next */ } + } + if (mergeBase) { + const nameOnly = (0, child_process_1.execSync)(`git diff --name-only ${mergeBase}..HEAD`, { cwd: sRoot, timeout: 3000, encoding: "utf8" }); + for (const line of nameOnly.split("\n")) { + const f2 = line.trim(); + if (f2) + committedFiles.add(f2); + } + } + this._branchCommittedCache.set(cacheKey, { ts: Date.now(), files: committedFiles }); + } + for (const entry of sActivity) { + if (entry.tool === "Edit" || entry.tool === "Write" || entry.tool === "MultiEdit") { + entry.committed = committedFiles.has(entry.file); + } + } + } + catch { /* git unavailable */ } } // Skip ghost sessions: no tool events AND session started >15 min ago // Use startedAt age (not lastUpdated) so status-bridge pings don't keep ghosts alive diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index c139627..098014a 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -356,6 +356,8 @@ export class DashboardPanel { // Numstat cache: avoid blocking the extension host on every tick (30 s TTL per root) private _numstatCache = new Map }>(); private _lineCountCache = new Map(); + // Branch-committed cache: files changed vs merge-base with develop/main (30 s TTL per root) + private _branchCommittedCache = new Map }>(); // HTTP backoff: slow down if server consistently absent private _httpFailStreak = 0; @@ -704,7 +706,7 @@ export class DashboardPanel { sessionLastSkill: string; sessionLastRole: string; startedAt: string; lastUpdated: string; ageSeconds: number; ctxPct: number | null; stream: string; sessionTime: string; - activity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number }[]; + activity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number; committed?: boolean }[]; agents: { label: string; role: string; skill: string; ts: string; done: boolean }[]; hasWorkflow: boolean; workflowAgentCount: number; workflowLabel: string; workflowTranscriptAgents: TranscriptAgent[]; @@ -732,7 +734,7 @@ export class DashboardPanel { return sec < 3600 ? `${Math.floor(sec / 60)}m ${sec % 60}s` : `${Math.floor(sec / 3600)}h ${Math.floor((sec % 3600) / 60)}m`; })() : ""; // Per-session activity feed (deduplicated, most recent first) - const sActivity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number }[] = []; + const sActivity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number; committed?: boolean }[] = []; const sId = (s._session_id as string) || (ctx.session_id as string) || f.replace(".json", ""); if (sRoot) { const allSEvents = getEventsForRoot(sRoot); // cached — no extra file read @@ -792,6 +794,39 @@ export class DashboardPanel { } } catch { /* file may not exist yet */ } } + // Mark files that have committed changes on this branch vs develop/main merge-base + try { + const COMMITTED_TTL = 30_000; + const cacheKey = sRoot; + const cachedC = this._branchCommittedCache.get(cacheKey); + let committedFiles: Set; + if (cachedC && (Date.now() - cachedC.ts) < COMMITTED_TTL) { + committedFiles = cachedC.files; + } else { + committedFiles = new Set(); + // Find merge-base with develop, then main, then fall back to HEAD~1 + let mergeBase = ""; + for (const base of ["origin/develop", "origin/main", "HEAD~1"]) { + try { + mergeBase = execSync(`git merge-base HEAD ${base}`, { cwd: sRoot, timeout: 3000, encoding: "utf8" }).trim(); + if (mergeBase) break; + } catch { /* try next */ } + } + if (mergeBase) { + const nameOnly = execSync(`git diff --name-only ${mergeBase}..HEAD`, { cwd: sRoot, timeout: 3000, encoding: "utf8" }); + for (const line of nameOnly.split("\n")) { + const f2 = line.trim(); + if (f2) committedFiles.add(f2); + } + } + this._branchCommittedCache.set(cacheKey, { ts: Date.now(), files: committedFiles }); + } + for (const entry of sActivity) { + if (entry.tool === "Edit" || entry.tool === "Write" || entry.tool === "MultiEdit") { + entry.committed = committedFiles.has(entry.file); + } + } + } catch { /* git unavailable */ } } // Skip ghost sessions: no tool events AND session started >15 min ago // Use startedAt age (not lastUpdated) so status-bridge pings don't keep ghosts alive From c371ed26058536e456717ebb68826598ed73e4c8 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 22:30:11 -0400 Subject: [PATCH 04/29] =?UTF-8?q?fix:=20=E2=9C=93=20requires=20both=20comm?= =?UTF-8?q?itted=20to=20branch=20AND=20clean=20working=20tree?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/media/dashboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index b4afeb6..0a65909 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -612,7 +612,7 @@ function applyUpdate(d){ + '' + ago + '' + sizeBadge + editWarn - + (f.committed ? '' : '') + + (f.committed && f.added == null && f.deleted == null ? '' : '') + '' + ''; }).join('') || '
No activity yet
'; From e643261a2b95b093a884df2a070f2a5736928abb Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:05:58 -0400 Subject: [PATCH 05/29] =?UTF-8?q?feat:=20role=20launcher=20=E2=80=94=20cli?= =?UTF-8?q?ck=20role=20in=20Catalog=20to=20select,=20see=20linked=20skills?= =?UTF-8?q?,=20launch=20Claude=20with=20role=20pre-seeded?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/media/dashboard.js | 61 ++++++++++++++++++++++++- extensions/vscode/out/dashboardPanel.js | 34 +++++++++++++- extensions/vscode/src/dashboardPanel.ts | 33 ++++++++++++- 3 files changed, 124 insertions(+), 4 deletions(-) diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index 0a65909..7e289d0 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -93,6 +93,49 @@ function ctxBar(pct){ const c=used<50?'#4caf50':used<75?'#ff9800':'#f44336'; return ''+'█'.repeat(fill)+'░'.repeat(10-fill)+' '+used+'%'; } +// Role launcher — selectable role cards with linked skills + launch button +window._selectedRole = window._selectedRole || null; +window._rolesData = window._rolesData || []; + +function renderRolesCol(listId, roles, accentColor) { + window._catExpanded = window._catExpanded || new Set(); + var selected = window._selectedRole; + var h = roles.slice(0, 200).map(function(role, idx) { + var eid = listId + '-' + idx; + var isOpen = window._catExpanded.has(eid); + var hasMore = role.fullDescription && role.fullDescription.length > 10; + var isSelected = selected === (role.slug || role.name); + var usedBy = role.usedBy && role.usedBy.length ? role.usedBy : null; + var linked = role.linkedSkills && role.linkedSkills.length ? role.linkedSkills : []; + + var cardStyle = 'cursor:pointer;border-radius:5px;padding:2px 4px;margin:-2px -4px;transition:background .1s;'; + if (isSelected) cardStyle += 'background:rgba(156,106,247,.1);outline:1px solid rgba(156,106,247,.35);'; + + var row = '
'; + row += '
'; + row += ''+esc(role.name)+''; + if (hasMore) row += ''+(isOpen?'▾':'▸')+''; + if (usedBy) row += usedBy.map(function(n){return ''+esc(n)+'';}).join(''); + row += '
'; + if (role.description) row += ''+esc(role.description.slice(0,120))+''; + if (hasMore) row += '
'+esc(role.fullDescription||'')+'
'; + // Launch panel — only when selected + if (isSelected) { + row += '
'; + if (linked.length) { + row += '
'; + row += linked.map(function(sk){return ''+esc(sk)+'';}).join(''); + row += '
'; + } + row += ''; + row += '
'; + } + row += '
'; + return row; + }).join(''); + html(listId, h); +} + function renderCatalogCol(listId, items, accentColor) { const MAX = 200; window._catExpanded = window._catExpanded || new Set(); @@ -696,7 +739,8 @@ function applyUpdate(d){ txt('cnt-roles',String(d.roleCount)); txt('cnt-cmds',String(d.commands.length)); renderCatalogCol('list-skills',d.skills,'#4a9eff'); - renderCatalogCol('list-roles',d.roles,'#9c6af7'); + window._rolesData = d.roles; + renderRolesCol('list-roles',d.roles,'#9c6af7'); renderCatalogCol('list-cmds',d.commands,'#888'); // footer — global counts only (session-specific data is shown on each session card) @@ -840,6 +884,21 @@ document.addEventListener('click',function(e){ } return; } + // Role launch button + const launchBtn = t.closest('[data-launch-role]'); + if (launchBtn) { + e.stopPropagation(); + vscode.postMessage({command:'launchRole',slug:launchBtn.dataset.launchRole||'',name:launchBtn.dataset.launchRoleName||''}); + return; + } + // Role card selection (toggle) + const roleCard = t.closest('[data-role-select]'); + if (roleCard && !t.closest('[data-launch-role]')) { + var slug2 = roleCard.dataset.roleSelect; + window._selectedRole = window._selectedRole === slug2 ? null : slug2; + renderRolesCol('list-roles', window._rolesData || [], '#9c6af7'); + // Don't return — still allow data-cat-toggle to fire for expand + } // Catalog item expand/collapse const catToggle = t.closest('[data-cat-toggle]'); if (catToggle) { diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 018e93b..89b2bf1 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -142,6 +142,20 @@ function readSkills(root) { function readRoles(root) { const dir = path.join(root, ".platform", "roles"); try { + // Parse explicit pairs from INDEX.md: `role-slug`+ab-skill + const indexPairs = new Map(); + try { + const indexContent = fs.readFileSync(path.join(dir, "INDEX.md"), "utf8"); + const pairRe = /`([a-z][a-z-]+)`\+([a-z][a-z-]+)/g; + let m; + while ((m = pairRe.exec(indexContent)) !== null) { + const [, roleSlug, skillSlug] = m; + if (!indexPairs.has(roleSlug)) + indexPairs.set(roleSlug, []); + indexPairs.get(roleSlug).push(skillSlug); + } + } + catch { /* no INDEX.md */ } return fs.readdirSync(dir).filter(f => f.endsWith(".md") && f !== "INDEX.md").flatMap(f => { try { const content = fs.readFileSync(path.join(dir, f), "utf8"); @@ -149,7 +163,13 @@ function readRoles(root) { const slug = path.basename(f, ".md"); const afterFm = content.replace(/^---[\s\S]*?---\n?/, '').trim(); const fullDescription = extractProse(afterFm); - return [{ name: fm.name ?? fm.slug ?? slug, slug, description: fm.mission ?? fm.description ?? fm.objective ?? '', fullDescription }]; + // Merge INDEX.md pairs with ab-* mentions found in the role file body + const linked = new Set(indexPairs.get(slug) ?? []); + const bodyMatches = afterFm.match(/\bab-[a-z][a-z-]+/g) ?? []; + for (const s of bodyMatches) + linked.add(s); + const linkedSkills = [...linked]; + return [{ name: fm.name ?? fm.slug ?? slug, slug, description: fm.mission ?? fm.description ?? fm.objective ?? '', fullDescription, linkedSkills }]; } catch { return []; @@ -491,6 +511,18 @@ class DashboardPanel { }); return; } + if (msg.command === "launchRole") { + const slug = msg.slug ?? ""; + const name = msg.name ?? slug; + if (!slug) + return; + const terminal = vscode.window.createTerminal({ name: `Claude · ${name}`, cwd: this._workspaceRoot }); + terminal.show(); + const prompt = `Adopt the ${name} role for this session. Read .platform/roles/${slug}.md for your full protocol, mission, and responsibilities. Ask me 2–3 focused intake questions to understand what I need, then begin working.`; + const escaped = prompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); + terminal.sendText(`claude "${escaped}"`, true); + return; + } if (msg.command === "copyPath") { const relPath = msg.filePath ?? ""; const sessRoot = msg.sessionRoot ?? this._workspaceRoot; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 098014a..5329975 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -25,7 +25,7 @@ const AB_CLI_COMMANDS: CatalogItem[] = [ interface ActivityEvent { ts: string; tool: string; stream: string; file?: string; cmd?: string; agent?: string; skill?: string; hook_event_name?: string; session_id?: string; } -interface CatalogItem { name: string; slug?: string; description: string; fullDescription?: string; usedBy?: string[] } +interface CatalogItem { name: string; slug?: string; description: string; fullDescription?: string; usedBy?: string[]; linkedSkills?: string[] } interface StreamEntry { slug: string; type: string; status: string; role: string; objective: string; nextAction: string; branch: string; @@ -132,6 +132,19 @@ function readSkills(root: string): CatalogItem[] { function readRoles(root: string): CatalogItem[] { const dir = path.join(root, ".platform", "roles"); try { + // Parse explicit pairs from INDEX.md: `role-slug`+ab-skill + const indexPairs = new Map(); + try { + const indexContent = fs.readFileSync(path.join(dir, "INDEX.md"), "utf8"); + const pairRe = /`([a-z][a-z-]+)`\+([a-z][a-z-]+)/g; + let m; + while ((m = pairRe.exec(indexContent)) !== null) { + const [, roleSlug, skillSlug] = m; + if (!indexPairs.has(roleSlug)) indexPairs.set(roleSlug, []); + indexPairs.get(roleSlug)!.push(skillSlug); + } + } catch { /* no INDEX.md */ } + return fs.readdirSync(dir).filter(f => f.endsWith(".md") && f !== "INDEX.md").flatMap(f => { try { const content = fs.readFileSync(path.join(dir, f), "utf8"); @@ -139,7 +152,12 @@ function readRoles(root: string): CatalogItem[] { const slug = path.basename(f, ".md"); const afterFm = content.replace(/^---[\s\S]*?---\n?/, '').trim(); const fullDescription = extractProse(afterFm); - return [{ name: fm.name ?? fm.slug ?? slug, slug, description: fm.mission ?? fm.description ?? fm.objective ?? '', fullDescription }]; + // Merge INDEX.md pairs with ab-* mentions found in the role file body + const linked = new Set(indexPairs.get(slug) ?? []); + const bodyMatches = afterFm.match(/\bab-[a-z][a-z-]+/g) ?? []; + for (const s of bodyMatches) linked.add(s); + const linkedSkills = [...linked]; + return [{ name: fm.name ?? fm.slug ?? slug, slug, description: fm.mission ?? fm.description ?? fm.objective ?? '', fullDescription, linkedSkills }]; } catch { return []; } }); } catch { return []; } @@ -437,6 +455,17 @@ export class DashboardPanel { }); return; } + if (msg.command === "launchRole") { + const slug = (msg as {slug?: string; name?: string}).slug ?? ""; + const name = (msg as {slug?: string; name?: string}).name ?? slug; + if (!slug) return; + const terminal = vscode.window.createTerminal({ name: `Claude · ${name}`, cwd: this._workspaceRoot }); + terminal.show(); + const prompt = `Adopt the ${name} role for this session. Read .platform/roles/${slug}.md for your full protocol, mission, and responsibilities. Ask me 2–3 focused intake questions to understand what I need, then begin working.`; + const escaped = prompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); + terminal.sendText(`claude "${escaped}"`, true); + return; + } if (msg.command === "copyPath") { const relPath = (msg as {filePath?: string; sessionRoot?: string}).filePath ?? ""; const sessRoot = (msg as {filePath?: string; sessionRoot?: string}).sessionRoot ?? this._workspaceRoot; From 602024e90f1208fe43a0dd1238638f8d1d8448bf Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:25:59 -0400 Subject: [PATCH 06/29] =?UTF-8?q?feat:=20agent=20delegation=20=E2=80=94=20?= =?UTF-8?q?ab=20delegate=20=20=20opens=20specialist=20terminal?= =?UTF-8?q?=20in=20VS=20Code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/agentboard | 2 + extensions/vscode/agentboard-2.3.0.vsix | Bin 0 -> 54500 bytes extensions/vscode/out/dashboardPanel.js | 41 +++++++++++++ extensions/vscode/package.json | 2 +- extensions/vscode/src/dashboardPanel.ts | 35 +++++++++++ lib/agentboard/commands/delegate.sh | 75 ++++++++++++++++++++++++ 6 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 extensions/vscode/agentboard-2.3.0.vsix create mode 100644 lib/agentboard/commands/delegate.sh diff --git a/bin/agentboard b/bin/agentboard index 2ece210..b963d96 100755 --- a/bin/agentboard +++ b/bin/agentboard @@ -43,6 +43,7 @@ source "$AGENTBOARD_ROOT/lib/agentboard/commands/streams.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/stream_resolve.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/handoff.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/handoff_render.sh" +source "$AGENTBOARD_ROOT/lib/agentboard/commands/delegate.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/progress.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/checkpoint.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/recover.sh" @@ -151,6 +152,7 @@ main() { current-stream) cmd_current_stream "$@" ;; next-action) cmd_next_action "$@" ;; handoff) cmd_handoff "$@" ;; + delegate) cmd_delegate "$@" ;; progress) cmd_progress "$@" ;; checkpoint) cmd_checkpoint "$@" ;; recover) cmd_recover "$@" ;; diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix new file mode 100644 index 0000000000000000000000000000000000000000..a6f923949d18055825c9f5918bec17e241f2a891 GIT binary patch literal 54500 zcmaI7V~`+Sm$qBBZQHhO+qP}nwr$(CZQET{T~%E?{mjJRo%zn}h|G-4KbaY^*S)TL z?X?x8fk99J03aX$xVl$#@^&1lTY&%o;2;42&;S4cOg&so?VK&`?daT`Ej?@v?JUhq zon3mr85>fZt;!iE_3sB<;as|VL z8_v)oM`x){D6T>ZL=&~8PEtB~6r+|X(F7C?mF_2Yol?4lEOU(Sq@JzhqTP;*aXe_* zl|6HnuvC$C7E->8SY5bq>r$!=^RTO&HGBeqzPwut)v(>h5-VNFPL6FR96_cg7!gUw zhxo-cu`@WMz(*s5psW!@1X3gM_xYla;1w1OkHx}?UPZu%va>|5h6xmVz+(P3Qr)*2 z#$+&?!!Fqq&nt>w4J&==2;mX$@0k#m$#uc179TrM>yGoO;Hwu}4>Q%BIea(X#i$~{ zcP@>Mp351#sGW@wrL-fcXGqNNUi_7uy;ufjIqM6@(DLRF*vqa~ zFX%oue>L9+?s%XyF{{2(z2~b}ghs}BJ2b{aZV;0 z1vWNEfz>@#4!^*FaUoJU^U#vTa$K;NdS&<_l6klb)m-WsDFc(I*xyih=)QVl$~vy9 z$u-X%NhPcjO6L=H2QavutD^4-qHEK-g7+?)O7E1x9q$FoXNwKsTdI&Nhhx2NB@_31jQo`&&=gBSKuc8cW__Sp_gb?su*Ivd4aZhpK> zF4Xr!x-x&{rFoR!{&U4aFbd(3C7}~5pvrb0dI8NzEvj!FFJk!3Q}@(Q@uhU?Y{FpZ zVH?fni-h|A8r7(Ej#*tREPGF`@Glb`6$R;F_U{DG0|Wp-{(IFHwzvB`)m`*eJRMA( zb?H28ZG0C7<%Stxzz#n0h^A0$DRB^lY~3+>0O<`%?b2u+i#DJSZxu1iBc0m%f6{qz zv|y@?4D&5k;&tm$lVqF8*{`Z;KG1zL+=j>1#nfoQjui7n9;+E`a%}4d@RRcz%C1H%5X;zBHL#Sb7YD)(Nh7BbR8~yPMUykK%H8)S6Uip!U7^%Qc z3XxO+3|m+Gr!w)&2bm{+g!|fl zk`h+hTBEQq)Ft%@`}&&3VDs|v{ph;0#<(*?qDFJ8ON~rF#x!XykW*P@YzWTLI@A`^ z#0-1x06iEoHIbjPtg_ZH{yGf5B+5ZN7x#g9;XJTMmzuu>q3+{QG6LiY*p{InMhDj_ zb7 z6{Nu-s^bnj<^HCZb1(pae~m})#5EUn2mpXJq<@dc|4cmePNs$?wx)EpCb1g3cG#V$ zefi}ay2Sw`)+FS+G+O436|~#f#=VXPl#br)D-ROG5yEnkaVEe*4eB2NqWh(umaB;0#1M1vW_oIL&euZrRhZ6e5LY8;ULUyt-}ETNI95b5xMvFd9ild)RF5{J

yZ%w(JMN5Uuz_ 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 H_V4}!`a%DX literal 0 HcmV?d00001 diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 89b2bf1..bcd9716 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -1195,9 +1195,50 @@ class DashboardPanel { projectName: path.basename(this._workspaceRoot), }; } + _handleDelegateFile() { + const delegateFile = path.join(os.homedir(), ".agentboard", "delegate.json"); + if (!fs.existsSync(delegateFile)) + return; + let raw; + try { + raw = fs.readFileSync(delegateFile, "utf8"); + fs.unlinkSync(delegateFile); // delete first — prevent duplicate opens on next tick + } + catch { + return; + } + try { + const d = JSON.parse(raw); + if (!d.role || !d.task) + return; + const roles = readRoles(d.root ?? this._workspaceRoot); + const roleItem = roles.find(r => r.slug === d.role); + const roleName = roleItem?.name ?? d.role; + const lines = [ + `Adopt the ${roleName} role for this session.`, + `Read .platform/roles/${d.role}.md for your full protocol, mission, and responsibilities.`, + ]; + if (d.project || d.branch) { + const from = [d.project, d.branch ? `branch: ${d.branch}` : ""].filter(Boolean).join(" — "); + lines.push(`\nHandoff from: ${from}`); + } + if (d.context) + lines.push(d.context); + lines.push(`\nYour task: ${d.task}`); + lines.push(`\nAsk me 2–3 focused intake questions if anything needs clarification, then begin.`); + const prompt = lines.join("\n"); + const escaped = prompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); + const cwd = d.root && fs.existsSync(d.root) ? d.root : this._workspaceRoot; + const terminal = vscode.window.createTerminal({ name: `Claude · ${roleName}`, cwd }); + terminal.show(); + terminal.sendText(`claude "${escaped}"`, true); + } + catch { /* malformed delegate.json — silently ignore */ } + } async _update() { if (!this._initialized) return; + this._handleDelegateFile(); const data = this._buildDataSync(); // HTTP calls for sessions/worktrees: skip entirely when server is consistently absent (backoff) let sessions = []; diff --git a/extensions/vscode/package.json b/extensions/vscode/package.json index 4961cdf..a676c56 100644 --- a/extensions/vscode/package.json +++ b/extensions/vscode/package.json @@ -2,7 +2,7 @@ "name": "agentboard", "displayName": "Agentboard", "description": "Live agentboard session status — streams, agents, cost, risk", - "version": "2.2.1", + "version": "2.3.0", "publisher": "da0101", "license": "MIT", "engines": { diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 5329975..e5fa006 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -1068,9 +1068,44 @@ export class DashboardPanel { }; } + private _handleDelegateFile(): void { + const delegateFile = path.join(os.homedir(), ".agentboard", "delegate.json"); + if (!fs.existsSync(delegateFile)) return; + let raw: string; + try { + raw = fs.readFileSync(delegateFile, "utf8"); + fs.unlinkSync(delegateFile); // delete first — prevent duplicate opens on next tick + } catch { return; } + try { + const d = JSON.parse(raw) as { role?: string; task?: string; context?: string; branch?: string; root?: string; project?: string }; + if (!d.role || !d.task) return; + const roles = readRoles(d.root ?? this._workspaceRoot); + const roleItem = roles.find(r => r.slug === d.role); + const roleName = roleItem?.name ?? d.role; + const lines: string[] = [ + `Adopt the ${roleName} role for this session.`, + `Read .platform/roles/${d.role}.md for your full protocol, mission, and responsibilities.`, + ]; + if (d.project || d.branch) { + const from = [d.project, d.branch ? `branch: ${d.branch}` : ""].filter(Boolean).join(" — "); + lines.push(`\nHandoff from: ${from}`); + } + if (d.context) lines.push(d.context); + lines.push(`\nYour task: ${d.task}`); + lines.push(`\nAsk me 2–3 focused intake questions if anything needs clarification, then begin.`); + const prompt = lines.join("\n"); + const escaped = prompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); + const cwd = d.root && fs.existsSync(d.root) ? d.root : this._workspaceRoot; + const terminal = vscode.window.createTerminal({ name: `Claude · ${roleName}`, cwd }); + terminal.show(); + terminal.sendText(`claude "${escaped}"`, true); + } catch { /* malformed delegate.json — silently ignore */ } + } + private async _update(): Promise { if (!this._initialized) return; + this._handleDelegateFile(); const data = this._buildDataSync() as Record; // HTTP calls for sessions/worktrees: skip entirely when server is consistently absent (backoff) diff --git a/lib/agentboard/commands/delegate.sh b/lib/agentboard/commands/delegate.sh new file mode 100644 index 0000000..3b6dab9 --- /dev/null +++ b/lib/agentboard/commands/delegate.sh @@ -0,0 +1,75 @@ +# delegate.sh — queue a specialist role for VS Code to open in a new terminal +# Usage: agentboard delegate "" +# +# Writes ~/.agentboard/delegate.json, which the VS Code extension detects on its +# next poll tick and opens a new terminal running: +# claude "Adopt the . Context: <...>. Your task: " + +cmd_delegate() { + local role_slug="${1:-}" + local task="${2:-}" + + if [[ -z "$role_slug" || -z "$task" ]]; then + die "Usage: agentboard delegate \"\"" + fi + + # Resolve project root + local root + root="$(git rev-parse --show-toplevel 2>/dev/null)" || root="$PWD" + local project_name + project_name="$(basename "$root")" + + # Current git branch + local branch + branch="$(git -C "$root" rev-parse --abbrev-ref HEAD 2>/dev/null)" || branch="unknown" + + # Build context: What are we building + Current state from BRIEF.md + local context="" + local brief="$root/.platform/work/BRIEF.md" + if [[ -f "$brief" ]]; then + local what_building current_state + what_building="$(markdown_section_excerpt "$brief" "## What we're building" 2>/dev/null)" || what_building="" + current_state="$(markdown_section_excerpt "$brief" "## Current state" 2>/dev/null)" || current_state="" + [[ -n "$what_building" ]] && context="$what_building" + if [[ -n "$current_state" ]]; then + [[ -n "$context" ]] && context="$context + +Current state: $current_state" || context="$current_state" + fi + fi + + # Fall back to the stream objective if BRIEF is empty + if [[ -z "$context" ]]; then + local active="$root/.platform/work/ACTIVE.md" + if [[ -f "$active" ]]; then + context="$(grep -m1 'objective:' "$active" | sed 's/.*objective: *//' | tr -d '"' 2>/dev/null)" || context="" + fi + fi + + # Write JSON via Python3 so arbitrary text is correctly escaped + local delegate_dir="$HOME/.agentboard" + mkdir -p "$delegate_dir" + + ROLE="$role_slug" \ + TASK="$task" \ + CONTEXT="$context" \ + BRANCH="$branch" \ + ROOT="$root" \ + PROJECT="$project_name" \ + python3 -c " +import json, os, datetime +print(json.dumps({ + 'role': os.environ['ROLE'], + 'task': os.environ['TASK'], + 'context': os.environ['CONTEXT'], + 'branch': os.environ['BRANCH'], + 'root': os.environ['ROOT'], + 'project': os.environ['PROJECT'], + 'ts': datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ'), +})) +" > "$delegate_dir/delegate.json" + + ok "Delegation queued → ${role_slug}: ${task}" + printf ' %sVS Code will open a new terminal with Claude as %s%s%s%s.\n' \ + "$C_DIM" "$C_RESET" "$C_BOLD" "$role_slug" "$C_RESET" +} From 6a75efd903e97d5195cd86bd8625ba323439888c Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:40:35 -0400 Subject: [PATCH 07/29] fix: delegate hard-stop warning + template documents ab delegate with no-sub-agent rule --- lib/agentboard/commands/delegate.sh | 6 ++++-- templates/root/CLAUDE.md.template | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/lib/agentboard/commands/delegate.sh b/lib/agentboard/commands/delegate.sh index 3b6dab9..2e82f86 100644 --- a/lib/agentboard/commands/delegate.sh +++ b/lib/agentboard/commands/delegate.sh @@ -70,6 +70,8 @@ print(json.dumps({ " > "$delegate_dir/delegate.json" ok "Delegation queued → ${role_slug}: ${task}" - printf ' %sVS Code will open a new terminal with Claude as %s%s%s%s.\n' \ - "$C_DIM" "$C_RESET" "$C_BOLD" "$role_slug" "$C_RESET" + printf ' VS Code will open a new terminal with Claude as %s%s%s.\n\n' "$C_BOLD" "$role_slug" "$C_RESET" + printf ' %s⚠ YOUR TURN IS DONE. Do NOT continue this work, spawn sub-agents,\n' "$C_YELLOW" + printf ' or use the Agent tool for the delegated task. The specialist terminal\n' + printf ' will open automatically in VS Code. Just stop.%s\n' "$C_RESET" } diff --git a/templates/root/CLAUDE.md.template b/templates/root/CLAUDE.md.template index a594f53..c8928a3 100644 --- a/templates/root/CLAUDE.md.template +++ b/templates/root/CLAUDE.md.template @@ -68,6 +68,28 @@ For `--cumulative-in` / `--cumulative-out` pass Claude Code's **current session This overwrites the stream file's `## Resume state` block with compact "where we are" state and trims the progress log to the last 10 entries. The next agent runs `ab handoff ` and picks up from there — **no re-explaining the feature**. Without this, the next agent has only stale state. +### Delegating to a specialist (multi-agent handoff) + +When the user asks you to hand off work to another role (e.g. "call QA", "delegate to the security engineer", "get the refactor architect to look at this"), run: + +```bash +ab delegate "" +``` + +Example: +```bash +ab delegate qa-engineer "QA the variation carousel refactor on fix/polish-release" +``` + +`ab delegate` writes a handoff packet — your current BRIEF context, branch, and task — to a file that VS Code picks up and opens as a **new terminal** with Claude pre-seeded in that role. + +**After running `ab delegate`, your job is done. Hard stop. Do NOT:** +- Spawn a sub-agent or use the `Agent` tool to do the delegated work +- Continue the task yourself in this session +- Interpret the command output as instructions to do more work + +The specialist opens in their own terminal. You are done. Any further action on the delegated task from your session is a mistake. + ### Reasoning annotation — after significant edits (mandatory) After every Write or Edit that another agent will need to understand, run: From 1054985e2e57fb41ef894767647f9894fc8cb78d Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:48:44 -0400 Subject: [PATCH 08/29] fix: remove duplicate cmd_delegate from control_plane, dedupe dispatch, add to help text --- bin/agentboard | 1 - lib/agentboard/commands/control_plane.sh | 17 ----------------- lib/agentboard/commands/help.sh | 5 +++++ 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/bin/agentboard b/bin/agentboard index b963d96..8a9a2af 100755 --- a/bin/agentboard +++ b/bin/agentboard @@ -174,7 +174,6 @@ main() { start) cmd_cp_start "$@" ;; stop) cmd_cp_stop "$@" ;; sessions) cmd_sessions "$@" ;; - delegate) cmd_delegate "$@" ;; worktree) cmd_worktree "$@" ;; version|-v|--version) cmd_version ;; help|-h|--help) cmd_help ;; diff --git a/lib/agentboard/commands/control_plane.sh b/lib/agentboard/commands/control_plane.sh index 4cf3c4b..74ed67e 100644 --- a/lib/agentboard/commands/control_plane.sh +++ b/lib/agentboard/commands/control_plane.sh @@ -51,23 +51,6 @@ for r in rows: " } -cmd_delegate() { - local task="${*}" - [[ -n "$task" ]] || die "Usage: ab delegate " - _cp_is_running || die "Control plane not running. Run: ab start" - local payload; payload="{\"task\":$(printf "%s" "$task" | python3 -c "import sys,json; print(json.dumps(sys.stdin.read()))")" - local stream_slug; stream_slug="$(frontmatter_value "$(ls .platform/work/*.md 2>/dev/null | head -1)" "slug" 2>/dev/null || true)" - [[ -n "$stream_slug" ]] && payload="${payload},\"stream_slug\":\"${stream_slug}\"" - payload="${payload}}" - curl -sf -m 5 -X POST -H "Content-Type: application/json" -d "$payload" "$(_cp_url)/delegate" 2>/dev/null | python3 -c " -import sys, json -d = json.load(sys.stdin) -print(f'Role: {d[\"role\"][\"name\"]} [{d[\"role\"][\"slug\"]}] (model: {d[\"role\"][\"model\"]})') -print(f'Worktree recommended: {d[\"suggest_worktree\"]}') -print('\n--- Delegation prompt ---') -print(d['prompt']) -" -} cmd_worktree() { local sub="${1:-list}"; shift 2>/dev/null || true diff --git a/lib/agentboard/commands/help.sh b/lib/agentboard/commands/help.sh index b7b6c22..e5203c4 100644 --- a/lib/agentboard/commands/help.sh +++ b/lib/agentboard/commands/help.sh @@ -55,6 +55,11 @@ COMMANDS next-action [slug] Print the canonical next action for a stream --session-id resolve stream from session --quiet print only the action text + delegate "" + Open a new VS Code terminal with Claude pre-seeded + as the given role. Passes current branch + BRIEF + context automatically. HARD STOP after running — + do not spawn sub-agents or continue the task. handoff [stream-slug] Print a low-token provider handoff packet. Shows Resume state (from stream file), warns if stale, appends a "for the agent reading this" From adef96fa4ba4a3f66195a5ce02b2efcfd4a8ed38 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 00:29:50 -0400 Subject: [PATCH 09/29] fix: source delegate.sh in bin/ab (the actual installed entrypoint, not bin/agentboard) --- bin/ab | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/ab b/bin/ab index 7961380..6b652a9 100755 --- a/bin/ab +++ b/bin/ab @@ -43,6 +43,7 @@ source "$AGENTBOARD_ROOT/lib/agentboard/commands/streams.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/stream_resolve.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/handoff.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/handoff_render.sh" +source "$AGENTBOARD_ROOT/lib/agentboard/commands/delegate.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/progress.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/checkpoint.sh" source "$AGENTBOARD_ROOT/lib/agentboard/commands/recover.sh" From ce12440fb4ab9ada3b7028304bce3b256032a008 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 00:32:06 -0400 Subject: [PATCH 10/29] =?UTF-8?q?fix:=20dedup=20delegate=20=E2=80=94=20ign?= =?UTF-8?q?ore=20same=20role+task=20within=2060s=20to=20prevent=20double?= =?UTF-8?q?=20terminal=20open?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 54500 -> 54634 bytes extensions/vscode/out/dashboardPanel.js | 8 ++++++++ extensions/vscode/src/dashboardPanel.ts | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index a6f923949d18055825c9f5918bec17e241f2a891..72a2b88c890f321b71d485064bb39d9b5f9bd38e 100644 GIT binary patch delta 13725 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" dedup + this._lastDelegateTs = 0; // epoch ms of last handled delegate this._workspaceRoot = workspaceRoot; this._panel = panel; const initialData = this._buildDataSync(); @@ -1211,6 +1213,12 @@ class DashboardPanel { const d = JSON.parse(raw); if (!d.role || !d.task) return; + // Dedup: ignore if same role+task was already handled within 60 seconds + const dedupeKey = `${d.role}|${d.task}`; + if (dedupeKey === this._lastDelegateKey && (Date.now() - this._lastDelegateTs) < 60000) + return; + this._lastDelegateKey = dedupeKey; + this._lastDelegateTs = Date.now(); const roles = readRoles(d.root ?? this._workspaceRoot); const roleItem = roles.find(r => r.slug === d.role); const roleName = roleItem?.name ?? d.role; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index e5fa006..81183ad 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -378,6 +378,8 @@ export class DashboardPanel { private _branchCommittedCache = new Map }>(); // HTTP backoff: slow down if server consistently absent private _httpFailStreak = 0; + private _lastDelegateKey = ""; // "|" dedup + private _lastDelegateTs = 0; // epoch ms of last handled delegate static createOrShow(workspaceRoot: string, extensionUri?: vscode.Uri): void { if (extensionUri) DashboardPanel.extensionUri = extensionUri; @@ -1079,6 +1081,11 @@ export class DashboardPanel { try { const d = JSON.parse(raw) as { role?: string; task?: string; context?: string; branch?: string; root?: string; project?: string }; if (!d.role || !d.task) return; + // Dedup: ignore if same role+task was already handled within 60 seconds + const dedupeKey = `${d.role}|${d.task}`; + if (dedupeKey === this._lastDelegateKey && (Date.now() - this._lastDelegateTs) < 60_000) return; + this._lastDelegateKey = dedupeKey; + this._lastDelegateTs = Date.now(); const roles = readRoles(d.root ?? this._workspaceRoot); const roleItem = roles.find(r => r.slug === d.role); const roleName = roleItem?.name ?? d.role; From 62c9e02ff75dfccefe54aa2328a3e89e76d9351a Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 06:50:03 -0400 Subject: [PATCH 11/29] =?UTF-8?q?fix:=20refresh=20button=20visual=20feedba?= =?UTF-8?q?ck=20=E2=80=94=20Refreshing=E2=80=A6=20text=20+=20active=20opac?= =?UTF-8?q?ity=20+=20disabled=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 54634 -> 54723 bytes extensions/vscode/media/dashboard.js | 2 ++ extensions/vscode/out/dashboardPanel.js | 3 ++- extensions/vscode/src/dashboardPanel.ts | 3 ++- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 72a2b88c890f321b71d485064bb39d9b5f9bd38e..69718bd5bab23577b898a4af030c41c9421378ec 100644 GIT binary patch delta 18152 zcmV)RK(oKi`S*gZH247vv`d=kQTvJ-S;D-vn42wx(H! z}qh>UP5Vm`hme|}ERvWSth^B4DaJ|~kT8_|T&@TZG7XMfJ&+oO3*KHs@_FU(Rd z$R!T}KB&O7{NcT2oJQHQ_pJeve+g&~Cym<2M+4HB*Uj{d$#bg{`4ZQEMUGA9ibc)_-uDhdIzB$|I)d^G z_({KDrD+I2$H&KBCuf||Je&@^?|l&-(eVTCZm9cu{`~2;U!OgH7Ti3E zVlnXE{pN4I&g(oDO#S_s^69|)zSnulXf%KD{`I$i_g7x$H5;9)Cg1(dKj81Lm@q#d z!AuRjcfbCH*Ezq4lVsq%`^SHRUdM|x6mgak#={o(Z*nFUc}mVj9;cHQ_j@^;Cp2WO zo$Z}T$J?f}`OvdUA7W`DoWc_Z|G}$oo(9w5-Mym0oTU-V z&qdDYjJLS_w?k+s;!7rreR6Y;ka$d5_tkfDdrS1+y@aI`G4+X}k@ql)FG-kC&VwyB z+d6rcsn&?9@o*=KFHgMTJ)-OAre=S1-qM)0c!$KYYeM8$WB!N)g!g!|n2;a{94v z>0Yut9>*aCoB?7y{^Gdb_d25_3olp%B?kxl`$t}9P8S>t0EN3Zya!z`cmsc4QI@i^ zY>^5aGX8?)p2w7&mI`{~I1wx_NOxsc>=gnI?|d~)WI+0MFCr5(*|eMbCgvg3wHi7h zeR4{^p<>$0vqc)UilOY-aG#Uie%~hpk}i@&ws=W%GG#PkFdNQF;(2!(@Bx&FoTfYmG7m;HyqMq+NpJU% zZ=HBJ2twM#d&uWB)yOR4NK6M0=2ychizicof4WT{_CFgI?G3zkE9QTXPR)WFgnru_ z0`^@#&Exc9(BC?FxC5Ou_Bzf|(dF^a*kE^Wel^6OOWD6}{;1#g2Hrux??Lk+Yy-FJ z;{#aJVHkS4|H1AsyJYz|$(Dm@97QZ03U(#BrjR8`Jm)bVE~l|zT|TEF8>HDXr}M27 zuZ>d|HNZ42m_U2cFXGwn?5ghKp!Ei?NNu0{B z`}3+t_QO$&2Y~b zcuGW?Fm;zRh#7ypmyLeH@F@11mXI}$U3Y$Xfl* zUcc`nrWKr=vvGU7{&3U+OXJdS+Uxs=l8xf=GS2eZU@@PwJfxfr6D9=9k(0t)_4-F_ zRvP62?2j+Al#x&&Zr-Zj7bA`FD@h7f8*R*pF^~rxy%!P~D{`_j_wOe71-JW^{ zck>3tk7M9H#SX9C<@VuMoK>b_b5wfYJ32a2?OEU7{pOb*2>budtM1>r{_MIqH4zK5 z9Ob+LE+{e0v&CeJtGQqjVcrAi=04ncx$}EJ$>Ox-dA=;VvzA=SuEZmpnZ|vfh%GY3 zL_g8;+B$!E#;ybk*jcJjwsvguMpTSJO2I=5yFFN;@BaF~6TSDW!Ik#g`k@{}V-H6Q zA+l78gxQ>>U3rgysgqs6efk9zz&(J_wMcNkT02F`7BOj zF5-~PnII{hF*44x8R4J|$Wrq4m!y@%7mR!fH=2Avw)iq01H(_kEZy?e9sS$$XWu^h z@=t>|-Y82Vuj7R@nRy)#fxV75%7Onv!Ib86uj5@XmU9GiY>_Ea1mPBJ>j)!LK;a0Fcf`EcZIz zWt=70GyR!t4|X|pJ5g@0xl z=YS_&LcjTf3-9gFqS~|P&w@9eB&XN$L_B}N4whLmhW_Xz!4c6*q}MpRf{`)od`g$l zU2>g5VVKhtKr`6TK%n>neomPj@iNB-F5@|V9mO1rXIX~ij7Kq`c@YbSgy(Z4MuLQo z({PF;pHVCwg%=r49*uzpBF`28K8w=}MLG2^g<{xg0M65R4t>mME)bG)J|XXvMxyPEJl_ zvuaM@A~tHNI!>z^jUriRI1*`XxlMo0oF%Vf zSRFj`rEaTrAO4mz=pnO|gr4yrWlQoU6%rb-z^aH_JZ{DO8GY88abH(HwQBPKSI{`g zvb@!TMtW(sZ28?8_jh*t{l0F6KkV!JKUr`=(roFOPe=M2;cbr-I?0M}`$v8A)#{7y z9QFOSH#5L>AXvBUO%;&6+)#hNBK2xO=o>SlH49JCk|hc!O{6FY0*~k2B<5nTJIbPK z&$l&uaC!$U>ERjOQ$ptbAduHmdF+)x2T0 zC~DoAc>p~83LXXvYsLXm&G&fj-$=_qZ=P}S4dZa6wr;{~HluK1E?~Wmmaqon`JJPv z4#m}Dnu9t=@346&0;$=#y_J72(uj@Yltp^&zx(;$Te}CerGceJ-0k+;y z?=Jw~*_B&LseuD1dw74?w=M@*^5F2)C~6A@t+h|oO+X1(p|~paimsZ+d-tnfc%Zgt zRI~siABz6Y6z%rAs#M(uoGXUaSm_eAbwa#0;M(>+)AtCNu$>+9GD{dq=pqfLEJsTc z$JIl@ZUZU-64E^4WEqPoN#gW^MTCQOgOj$ZN2IuEEJCsY7GZzW0jVv%y;XWz{S~_6 zUs6E{vFg~Rx3}cY+hN7n0L}5UENKBZ_&Vw!(r9x4Wi0AkHK!?<%Yxcc zK#ncRITMmG!{M&6Zy3bwj6{x+2iP{(96Xf zrTto*dsE6=Ofi2=g$m{0WI0m^^~Q@N`I1SCAy997yS7}bn|zRtxMjX((22bwmmHYn}wt{32wSq0VV^8sXAK+PE z+l5^3rU$hr9F~z98{B`Y{%!s1VMY6JTvk-|}$*N@-?Cze@v96yvZO%|j4@Jj%TZWvsiaDc6PkeY-(h48h$|~RqHWlYN z!=>7225~0f;6Tr-1Vn9>MUxT(zrFRmvI=Zxhdh->^_-?G!DD|uOOtD|oPzpD@u6DQ zq!qYzyVF&nnblWXXI19ZKl1AoV`Z&Z4f8wpw+dw^peng~MP0rDHz^s2fR7wh)Xfhp z>yy>0>eY2HxLCVI9Tg$Wchzv)U?bT*-cUujzi-SD7b|yX;||q2W9zf68I>X*GW*Sr z1*^h})4?%q@AiLP^R+Tn7204ke%P2bOUbsoBSlNb>(UW#8=T^F%JNu%t@Qs8y=%@A zx`-G!SJj;uO51AaS4-BrW}c{4O`a_)YE>d#bhKzYm73O)1bjvXO|pqC1LGlCBLmBu z%r}pIL;{dYhaV*tCrqHci=7qn?l+HqRFZcA;JcJ}p}&7RdAGLwexNEu>w)WqV)k`0|Lrxx=4fvy2V{AvTJ0<;}BJoU*!IEl-lvV8PhN03VCQ67&{|FBEX&!}Nm~-tuF;h> z+QcIOWA(lAD5LXva{a@31gddR5#K|pRazhK5j1~UcvEnm{E63zdhjm`#WOl%x3{S1 zvlMlsyjf2>?T&KK?{GF>1;g2VPZOjy%D1;UoBKDT+)?00$`b_y?jdLMl3p}29y9s^ z0iLorDnUowU@O9AOavVP`-aoqpd&(GgbpH}5&*~_en-4^E9#+sPCBeb=+=XO`$N_J zv*&-W39f#;2h0|Uh`Y+tH6VPNEeT)DW;DO<5gw-#R0G&w6X|^mzDqqbj5J$5Y1Za@ zsn&^WcT}+wwi{)_hKJtRn)bU0WY-GC)iY4q_d;>?!gvC1Z(9XMX?$8z4Qm*G&@UQ{ z`Rgpd0KdfG{{2?elMcSR%(nr*0kS^B^IU(!ol7dBwyIoaNfyQwq?=H-jh!9xjXhU- zmdJ>LH#WlHEY#S);wS;iL|L72OntQUY!MIA0VixwfXa9PYcHa?44yTyB9#>EeLbbE_!clxSzwW@#Y z&4eOpby|R%Jvw{!^`AfS+^TZV<8d4qvw(8A$b|Y_ob47&@tLOa3>|?2Z@x%4BfGsr zP8j8^8>iiDAxNB#;}i_(1y$7Kzo5C`!JCHV)b_Lqn}c0jS)>d>Px`*oPH(>8)0X#r z|#p! zQ}Erp`7|qBZ_u-BHm4!5@tA*|KF!j}^ZE9+WEm&HgF`dOV$&OMwwi?#c(0$o{Ijo~ zK7Z{E8y1H=;*ASk!}3s2E0#yUceHYO6vQ*5T#fnJ^KV|j>VEboO}MKFnl*p8Yp9RM zeI>e2aT{*11OJ$N@a|p-+490fUxC_HX@6RluIpgm{*A;z&NT?9f!*g&eRZbU8>;)2nH#tgc^xH?J4 zlBMD)9kIkP0%i54{UAceM(~}yjKwubNA~YG{kKD>O3cxQ7K~|sdwYLO`#q6m33wx5 zu~!CuEd!f^G9pmp5x@8$XZe3xFplv~x3?>xN-e9wua*d5AcexyRD?CVx+09Js94b5 z@@G~h&TN|Do_gvJ^bWhu7CC`nylZbz9^tUkpuN?t1~H^-ps4S})39UsZ$*7;78E$- zbhML_)&DE*mxc(0v4(#r4?l^3RZKJu%PUzISGkh4S!%d^Qn7}Nf# zUUdV{YO`pf(!FU1Eea2gI=c@JJG=XPo!;)D?+s+}-r-?K|F73S_E$8m=cY0hN_lLL z)R~mpogVe1|1MnU(RgFaDWSOfAvmsliaSh2_L2LtB>q5mj{JY4SeqKiDh3C4&!V+c zk6;XAv5%_k&ql@2?9_Yr+kYkq0#4%s;({bzZSOO@vxcftmcogmBPvO287B!@;Jrec zwg50;g87Bp`~X{jxk%w`!m|q8m82)WjHIR*$(SW1q)B3$h{(wo{lZ_a7>~Oqit(Hp zfvAY%v}6Z$8OML4lPYGboJhV!IUAUPyno@(AExn77fcr3-jbHfrsbW|E-^N-+gs^S ziY>z_oE9x_)P&mt4JG3OMYX9arZLx74NohQ>|vaczE+tQEr3o5r3vt1wSeKag{&Kt zOZErQ)$fAxj-%qPxQURKJ+g;(Yks-I7C^$>W4BhdHt}S9BRb(G9n-E5iPtHbC~PwD z5tLb8hpaw93*CRI+)*lzeK$54dCQYj*h~trgfHT?Dy_I-^1+0${3@O$ed&2YGNWI$P4(t%4E_ftmwBG0sf-tc!p2<-8@ zrUZ6cM+(%Byrj#3N>vG3d&=MCT~&jcyekl~wTM_3Z}UYqmhO+Eo8!Ch?>MDiH=%-I zgqVAO1He|%PFQphr(v>)7;kyme8D~65;bdJrZm1-AdpfnmgP~aBbfAJNS|`vy>>AY z$J@{@)~ldE!Hx5Fc+r${wOR4c4KqCKA3BI16y9{Io#r0X#VpvYlfA<-?~2o|a&9^< zyv%?X?Meh%aeKGo#aJh`&w~R_PWZSTcTLp+ zS|i!KheM%EUeQ*kN?Wtlw%%%Oy@neFs9J&Qp444xA!mCVMT5dj=!ya|{FYs!#1wOX zBBqScg_ve}EGTAD+TsE(&bho3ZxJ3(QkwL1bB_|95l~SGVv8r>4p*)jj|s>a(YI8P zF2SWJe>^1neXbj9SzhrfgamF0FETDb%ko3GSj0KwBu=@YsYtFdh17y3g}j$9QjW^C zX|~9@Z|zdB-|6dpKx*u?w*9ptFBR>7j3&zaFCfb~)LG7zXoP_eQaDoOX3z#q4P4D1 zSVE2Y(}K5*pQKA{h@uG_2FR!b{fa9fW@=c6<$aqj@LP}1ZfiLPrH*Xt6q>^L?E$IM z@U(%1AmZyuat|_Gt~xoCZXfUIn|5HeFd!}wqRgb-QuH__#?Avcx#l;^t3WF?Gm2{O ze)CJBjd|qD=g*!<-?88RGbv1b#tthfrWV7tUp5&l#oYhREyy>2St;MV+Nd)<1KLYo4dOu`PJ?zq>Y96NF|Vg3a%|GLbbBe< zXnX1wS9im;rmIkXAQyfCfkC$EWI5m7Ue2XVz^y;EVohsA?b;vbZGLR0B?4qkmyW7v z?&#vRFa)bNSkC1pk@(6#EB+ePII1g&Cw~ZnIe3V(OO{{P!N&t`0W`?f;; zeLUrN-^WwlYqumVPQ3#-)c5wRWMu0TY@jHn8vsTiH}E-Ps|ptpgQ7M+>l#5oG3=Of;t$?0<)$ zp~n3Sl}IuulwYufL3}`-ExBWAV+oyebSJOj?u9|B#N`F|EpDWUKvpMga;MiY%?D-; zLH4meQK2(6yuu8h$7#sG&0peP7Q`T7&7(Z0*FBJ`S~qgS1~L?W7N-_3>yTsru4A+> zt#3QA@0h&aQ@U@+EqM4bl6|e-&wpr6${H3I+LivbXYAUfH#Nq#2ma9bUktSS#c{p+ zMFH83m=4$aybqSVw#S=Mc0*j8eS6OW+a$Nvu$(&RQ52Df5aND!H z`3HXie?rdMt%o}Z2q|%KskD4FGf7!ihUjybjkvZ_#Y;9xUUuN#{$%b{xqsSGx2olk z8m^_U7S^d>9CH{f%3U|D;w}>Pat2HFkz#J{Zff%}_K-*`H2>?Q z(25XR5jbn4QYoUj>U{ect$$f;rCD^uA6oKZkveIra;tr;I{NVNa06X*!DpJZ&L?G2 z;Xj^&xrEw(Fr{x1PS<=)o_JC%RXxCv5!>cFT9+`eN#i4NsOoJh-8l9!3ZhGqn#19$ zu9#Nkn}zq;MqFsaOXCM_*FXGDIzjCA$t+&KS?f%Cd@<^(vjzl56@Ngf4jq)UvLq|( zv@lE=Ou?v&9=M?iU=&`=Qcf;;*@uwNlUNi3TGR^bh>k&Y)`1$ag4Kt!h;R+W1JJ zDwyNZiJ&hL^kpNcR%q^;?1lkkA^)sH_DDbu;g9_`3CR9_Z-4)@9>FtY0%2KWOhW>H z#bYvNOO_Kcr777b;L{{}M!$p#GN5%`^n=PVXMn>jc}#iCb$9xECO+;82jw;frs9G41|eO?vTCc7%!*)X?VPh#{c zn@c|>8^bs7+J8axmITCx(_Fm{b;B6zX3R|);FB97@@xA({wFzODX24H4lR+1fIt*q z!V@1V_R2WA#bO$#sMbfW4PI(33DOWhAbW0!)i4FjA1QUo<#ecLzZZbx$oz=gNN)^;bRjTY3 zx5EX&na!$M1f3qskW=lC2A#UC(g{QI&{sH}R0$6>h=q{`E8 z8mRPnHoy)!>LV_*ay!j6F#8_VnK~Yd>O>3?akM(Q3h5G@vBZ*q%)*M98FlK)&`bs{ zgfcQqwST+R#G%^VF*Mg|>v6S|we^RGhow5o1r$dj-C9wb4n8t6f3{U;9^H3!)tJcH&R(bJ z=*x0Dg&pY<`y)}kAYyG&B&f62eQ_Ds*&#pBF~P+Er&0BV55_qNR`||`qrR&LQ;7*2 zxDR-A!?pUCg8I#}$3S$w?uVlcs?aD~4*H}I`2k1?+N;rzHH9Zh$5@%+p+d^{dDO$j z@_$IJFnrwuQL=InSesY{Bj94Bl=uW10{u5Zbp7qKCZB@E+R7Oe+)o9L zieWb6XQ#y(XW@c(W%g^D1Y5f*`Gywp^DGl8M}c~5Art8AZzbx`uyFJguqID~hMKY@ z>CSb^12_huvvkf4WxddV7G)V$bt{4xHgAJv#w z5hsJpfU zE4*=KKLF6skJZGQ?$oindOR59Qt3)nT{9XPV7;<~#|Tn4SGBLKR8M#_ZXM~p3a4f~ zo>F(>DljT(4+z=y{I(!Hw1r7zSAPxsW#QUdw?tJ&vGQ=={rVTAGS#}jO;;DdW30gH zU1WKjHdzji4=Nb$)Z>S(t(%-0zTle0z}ZVG?PQ)n43$Y`D3#LYsmJ%?R9-gsQAKFq zCneku#4NE?FZu}*)d^jt}LxXy6 zW=W*=h^RUWK`A%q@)1~>Z^P*$#W?#yAyZmvXn|9{g)8=-*?w~Op|43#ZgPkzw*4B> zLQ-gsz@O2Kv$|`uB>JGOsZ<+r zewi(yrqfc{p6PgnNS&N=Csal$Oz?%x*>MDaiCzY8{_+pMd)xlQ?|#fbm%av8!A{(P zL!c+}c-F#5(7G0frQT)6D5;}Rc0;@*xT+&d_Y<+vVxn|EN&x{botsqEuk==wOO<>n z8asLa4b*%)ZXV@r|9|1pNbWVh)*ft2F11c4gYOcXjr9Xn!!+6CakdQ{k@nFMspO0z zbKS|Uc}i^StF5OfdFv26)n)} z5LFiZ6*68eq3V-l?l;oJv1YFz%SxB3q7dXh#mH+!Jz_D*=6|;hOX)pbr#?+-6-#6L zy}8Hsp}%#49-X93T#U@gOc=ZY#q#RV?m74x@z%z7a~Hf_zxp;IG=yp!9bRf@Yz1i_ z-k!2GFYmiO@$J=vYVzX+2Lm2j+NAkktASo229_m%&4Y@rcBUj7R-XktX0zr;1a0{W z?quf%i4C4wTz`X!-L^9J*wS15ifthfsC$t=gQpBtU$Do|i)JRs6Dgv_NDJer*>fcux0tYW~!cj5Cc^B}m~@ zX;dvV-K@d>)cm>9e_HO0`&LX)RSPw!MfT%cEp&;eE42d^kMV*~ReFF(Sfa7~*)0*v zU4PQjAWcRf5%4OBwH~WP?@y?s^4f~+IC1r+tj_z~MW*U~UZatc^eIMDQ0u!@x3#UV zOCIgDSf3dct98&;l&q#wSv2?~i1@k-`zb68%7hcV{T+z--?bobEk-$kUt^ji6Hi+! z@wS{T*u2IN%j%*x0``#<^V@cF?dB_V+kf7*ZF|+1v6E-q8pO&eAwE)Rp%zLxHAY3* zq#Z6afWO&v3f}tu|*>E}p{@MYW;yLt73S zTQ1L4X$U3zRfo{Hj(?!ram&h^<<~nOTQycVAKN*uY8;Q7vs*bG=u5N0N`Jnb-D0Y02hyd;5VFzrx^mds}U++Bsj0zQkSR zUIAOQ7cTM~@j`yTNe{pBF9Go)zu7Nw2P8v*ONnT%u7a-S5^( zvojHP+nTM;U%1|4dsN9@Sd+Q1PQh~2@0Vl6RZhd2e1?9NUKRU@9FXDCr<)i__uUud zkBGb*PA%D1{V2x>5K2Tu^Fts97A?JJpCpHhtw+W|(%FTxQH+b*|B|!ua z$YDHg&9=9T#(QxZv8(6f*35s{_pNe#(rD&aE(I%ZZA}*JV>dAe*(+AxMpo?VE<*vm zT|-NyAgit?YiuU11gc4_4|2*n#Pc_v=R%k_A?_P`eWK9+6@Pf-!?pu{Us3v3F9Ptg zOh-xj@z136UoUyq-@>xN-wc`Ke6vjX8ceWu~Xw9Hh53> zFy}Re8rQH7_hC9*<-=47b0gJLO$q~tg)mS(O+HQ-_~fVmr&2_gGiFq{%$hVOA8-tt zmFJwqR_UsQCx4&dtTMZ^{;c|UIS&f%U&79qN7ggy5+ii?hvF-<}8=jk&b*d45Hd)j!>C# zt`(29$$yNk$HE5#|3#WD(-NbO`Qyp!@dmCBwbp!fIe)%ji8cw^YF)(1m%-!>=GM~U zk=T6TdT~t&hmKCLzjabGTMcsLMhkMk{J60jYIj(}5s6MrBj=yT5yQDNP8)jdz{JOC z6ko;>f|w6xkV%N!CAa#%?b%y_SEG&M`RkUY%fST#8C2q}}@zZidMymRaimvOsY9^U&H6gGA4t>10&Dd9>);r_awGJq>Q2M6non?|$>QUgvcl3#R^thkpj%_q~74OGcxC z_piVGyT9@}ui5AvMaO~n?r;79e}Bb<`H9?W;Jy3xFT4)M&JEy^Iq%L+WCHGbFEh-< zA_KNvZL!J<5^BFA{fHMpy?N`GpLepRuXvb=1m#ic2b!=i^F)(Xi=WLvH7eg+l8$x! zbu8fBUSdlu8XSm*%G8!@S)OivP>P;xb|DhAQi=~`BD{}>C1OzShfXqxk14+tlI!7x?-8rdI20Nw3k}A+x5mAQ$yeHHJe{D& z*ECNZPfzvOy{6Chw%ZBfP&MWN-umKGhLd5z6@NC4l2JdqEL&`QE>(=~(WuQdDs8Xq zTwMEZPA-kz80Pwq|Dz_8u`^fjBpS9T{h9{yc~{92M9gy6(Fp*xXHc2M;~rEkWggZQ zlMvUkfvCt|@z2afGYOH({k|kK8z1gV!>jyo+%J<~mLKYJITa-zA?5O`yQ#Zn!$)nM zaer`VS-EABaA&vQ_jh*te%rf{y|>GzC5KFmkjY>rvcicRd=I+|la8y>Fn+Ga3quil-j z^pqV&8Q_`I9AdEQmAZzu@u@m|9#7H}U;V64oMAFqJP1dt^I~YoAA4I`YOW+EYJbU- zu(Y%F3#>XML4`u732Yp?a}Jo(<-W?xga@KNUsR#1N?79rR%7ogn+Pgb8-qndawg?? zvUSpiK^oxI(P2)*+uPQ#8dDYQZ=H}GvcAoxhV+AssP@}B=}K%h^m=sbl}lBxJ^lJ2 zB=IbesJ?)R-Al+-o!2aNp;J_3jeqONFnFg_pZHaLXR}xcJr#0Rtej>AnXC+9&arW3 zS`ZnL89KIVm&ryF0@{kCfbg4NuB6N+K|I#8k08sIlEju{lC1!rR&7zM$ zC{$<-q=RgTtx!-C;u> z2VF-gm8^TisrAEhQ!iEgftBk_1`LLxRvqXtjnX02q&`+23$@gLRW*t+X( zo#@MDT|OBz37dQH;^PtF8W-XZjs)D-%{MySR(F|N6e>@#6%VNMq^?^LkQ%#Kv@3jS z5A>4wP|sOlouLk}bOuo;qahV06GfjZHxIprY*VB3z)ZI^TrdhfIiy~>E( zk&udT+G18pnbkNM>3Gk5ccGkz|4E)_xq5yTlV3|_H2^7}ZEv&QjB!pU?Dm#fugK^} z|PHobsb7O`HOa+Zt7n76tm8}AsnlwFDQc$CEH#37hmEPnv&8=S4#m)lUS^_H3T zPLUZ}X2u)dE2(*5hd5d82P9XUKFi|?re?I>O$Rh|mUX`_-+Inw*(EEbTu0>Hgzamx zu$OYAzfTtSYI^m?OzazGVYf1{pHH*p&J?UprMCg_JmWS)P^q}jS-37cf2dpGC7yy^ zyiWsNS*3>V5`PchMQc6X3k-Z4od#0s*A)y8DiLW;#ne~H{qNh^{pIczS3+}FuT$k` z?J_rOd%hegxKfut`ZrTCOAHV3I(5%SP^S;``a5hnYme9*zWKd&-BIz-kF4R}$bYSu zESh#}d9&W#liU9eh|0hUJucHtlLyzICcl2KLQqki1b?u1`-a+=UG!G-I+1Z(d-wCd zmxIs{vJbC>UL7PP#{@X|x9+=$XAHhu$t`U#Md-^jakYZZm)%fYdFWJ!pg#V;MP8ZJ zvK8qB+%^XC@(MV}zl!dycQryt!?*$i7Iwku!$vxvG{XZdWTj2XUm{l8F~w=J5b}M~V`B0-uIjLwKho(Dy}Y(gc66Ubqtz}I zVYj#QiGQPhxSS+FOthn*z8(zoiM@FM#7L@|<%CqwB%A1&4nZ&mG`QC}7a$D7HiH6b zASl)ZKmyrpKAh6uqXEqX@vn+wfTX=zt!h&~VUtBMuA?uXi{OVz&gfpZ50}F1O@6H88s%ClOf16e{EpIwFEXcci_Y}=(6g>gYAmGs~WqHd}wEx5$sr37L*S^zF1nSk=Pk(bEU@6-$lUs~ zw-))vv(o#2(8`7@*r_+32T$h|s;~BCW&O~oK!#Ly^ zP7Nzv)GC_7n*S0ibaeNF@w{X8HsE>TE?)Swe^q(~GH=`~07G9J_Nx9xO4M$9>mm#i zLpFbrXLBkye#;+{%5ph_sfE|Cm|QF%_bvpw3*t658<$S-WMzD+nAf*7D6BbYgB3| ze``3<`>uYxsjzfmR*c)gDwPZ_gE$K8R)^Ik5_0~EU5UWcTFJpUzGBhvXI%`g8GP}@ z7hgD8PWKM?4)>0#o&i-)y4^j$>`aJ03D)~5sHO(<1=j9&;J>{i-#8P(^fkmV&f-*Q ztal&uYXYVmUr2Z4<;M^e-vTxJcwA8ze?Mrju9RM5Q3kx|0RFqt^A?cwVY7EDYF}aA z^rZ@ThN2;he?|5E?!WwJCEejh0eV#O(3fZiOzQt{n*Fc;s%Unm&(M;^#Ozm4i1z4w z&eG^?8YfW;_qNTK-7_wboW-0W`WPzCw#uS#F`_uXsQv)$ce@VuJWG$OKj09m?$T3~2s@7aKr zBg%NhN-tO$V^xYhHe6jtrq?p|QfPI--c2n_l*FLxy&{K$MR6zmU1I$yl3ADtGQ_^< zw)FfbEW|fR$aCt6Rh-i(BPJ^rSSA`G{$Of(X-|p9BbfY2G1IA zSOU>(Jn$qRuKYu+6!i*-gWO$4)Ou3nf*`Q>cBBdb_!2eWYm`a{8TbOuZ;9$MgFS85hGi$q>_K3XRc-;<>1 zu7=eNKvUTb;V`qA3-;?6f2WsYkSGHAr9sHIcAEsZE=qM3bv5Uk5IsBfx5I>QgV`x=yuJ@Lv7? zUiaIu2#b{Rm1Q_-T!nUSerq94Dr}X*Qks-k5>_uSrqSw^WG8lSb7v)mhM}6SHeN`h z@+yLxKrq^9{bVj9f2~&1RYn^!QCcSi@-h=L!}Y@t;GK0?szq0eW|0zq9lo$9J_Okf zxg|bzCu3mC;+8CJ5V_<>v__ewN?N9hcFg%OsY^BksCgZpEG7ffu37B`2ntb553dQZO#Gvq}kk9W2(eJ#13%{kVwieGsu>&d>k>W zih%bDX##R4jyt6Kzy;TGjLnBQ7I~Ak^tsZINkFaAcu5YaI_K&prRd0-6H`MITn{d! zb$4C6wEmtOf1)FqY1Yh@DX~CDtG(Z#sW$N(-#5vPb$DXY&8n-k?N@Bwqe%-9DE#KI zZD6_3a+Qn81d$Glu7e6x8>b2uoR$^)GmM?I)EIm{7@K9;O#r8rj_tp9>*LW-H!qs2 zhv-g^ytxhvcxh;OX#+=mMMsJg^1{$ZN7eKCGG@!-f0!0@tm*j+Llvlenj+RBg(=F1-B~zm^Do3;69~YMX(GK4#(6d)Y&K#T z-twpCf6t#0Cbtu5(aS83zy}zkOVxW2XXh_S%=vs!n@pfN9zk(Q$EZRt`FSS|%+M*>3bv;+AK5Cr(ozX4E72M8;8 zjb)`g006@0002-+0|XQR2nYxOIyTi@00000lM@dXlbg~Qvri{;1OhrXv&1V11OhrX zv(7JU1OhrXlRPw(13EU zL;NkN`#)L0gf}kah|6q+*MJcu@47br9<0!hwRxZrv0IfKQJ8jw;oD+k`ZQU##9%55$CAcDmOYTujbM( zRas9<-i@CDw?NOY0Dm`=t?D+-cQ*FMxwAC@=$1V{*SALZtUU7fMz?;9g=(fg1%TSG z-q#k+()pBnKmRn?diZ#-{qW(yAOF<9#)f?e@^j_hL)W)J3^`O@sGUiY-k`dtk8lNr zBD-4iFk4K1E=c6h#jx~VdpQ1`-RmEJ3h3GT^pEcT)%$w=#lkKUR8FG zO&Dz=r}iLJ14(i7G=N42*if8^N41G4z<`eI%0Bqqhh+YKaCa$Ufnue*eS6>kR6)<9 z@z|h(J%;~ugMVOoVUKofkyKd8k7^46SA1pp!n!s8`{T#`QqvE|2Jdt(s#9p4DYesM zz2F(c*<_PgtW%n3I3bfkGoXi#iZvPm647D)kVO$sB$uWSnMi;bnzc&NAOxXz;Zfry5Y zB8?C7sZ)GU7s_M+4lmUtY-W>mo2hDZ`>P;;+z^7I=H~Sgy#(q}!iJAUuDbGS8WbEb zvX00hEQ<-Q4YgA>OFU6@3JfV~BgubX6zGOlpoy!Sqxvh(jSfsJEDuG`x3^(8ZybcZ zpti?jTz~dvR1=_ULk!eh9-v;>rrZ!1IL%lW>PU32SO^;~JDVmnoCBhb17C*e$Y? zM`PV(kgm3|#PzYm_Hxa7l?ldqS1Gh^VF00%`-dzWJe$XDoO?LadmP8N|~$b~byrBjC@q@CLUj=uE~9RI&on-5o?m-W!ttRhjd}q)g5R)a-&l> zL#?#`Ev?{Q^-|x;@&gmueC5ItGRR(k|K$NsOiS+I3{_T}>`hIDm^>)K#um>QTJ?;6J}FSm6g?ut&_9T0k>`3f!Tkk;WIvrx*e3#zreuTv{- z4lGp<7gpm8n^|)87DDgsB0YT)Gjt->71xgyo;N7N#V4Z3Q`0HFc(B0RBhIKqSnP1p zmC#-}Fg}T=Vi!P4*5RO%4rKI3`YYr`EMDJIZy0-Ihjx@%De~=Nswa+j?{MVyilTB2 zUj$;D^Wy1!dKn{mhMPP$7J4bYf>p=ci$9nK^wQfr-C6nRKYj#4%x?qp3!scovu>wLyu5508B24)hI(gX6sXOE+>{@`u6PfWk9PxNv*q>{$(K0~P+MeWybN zb?I7(D9LN(9fs)1Wd>{1zi~B#ZZz(F&8i&{Z`v6;oWR12-t4h-J!{sl_@pgF_E7Ei}*RV8VLn39w&Bu9DGcJaiy zNJ&mrgabi44$;xbgL&pP*XbKir1$C@!9%is`6!mz=1s6x2pQW$v3AZyQDPawY=g3u zi|a#mo~99N%*~pfOC66R4{%%AulDat*_^}Nf`&PAjzd7ducubb91N39>@Fx0mc7GW zq6Gy_`F7=|auORt0-HMPks+$9*d1rvU$88TD4ScBr0NOUtcP6$l9rN=n%_+5L<;fl z@h=?#k{WJ1tb|124u0_K%m>U;QxUn1t+~S)v5fDiBPUY zz&`1ygCUNqz8kXuah*DFjr(Sp&sOnH!!$!3qTO6D=LBV z%3pp!lF$gHz`C%lle4i(AdtBR2=sHagkOP|LKB7LyhfU!vZU)hgWfc!q7 zJl>{V2?ahm8kqe&V;AY&{sCKwyw7DA2!#4ckXi{aM7seR9}cN_0u=JyA!~WSG@l4@ SZwB@W3;~}m4V7n|3duhg5jUy; delta 18113 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 Date: Sun, 21 Jun 2026 07:07:49 -0400 Subject: [PATCH 12/29] =?UTF-8?q?fix:=20rename=20terminal=E2=86=92chat=20b?= =?UTF-8?q?utton,=20add=20try/catch=20so=20focus=20failures=20show=20an=20?= =?UTF-8?q?error=20instead=20of=20silence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 54723 -> 54807 bytes extensions/vscode/media/dashboard.js | 2 +- extensions/vscode/out/dashboardPanel.js | 173 ++++++++++++------------ extensions/vscode/src/dashboardPanel.ts | 8 +- 4 files changed, 95 insertions(+), 88 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 69718bd5bab23577b898a4af030c41c9421378ec..2cc0b35cdae67598267ced62df20a8c01c29a3d1 100644 GIT binary patch delta 26887 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 N{p?@dcr*Wb`#=7^Pp<#~ delta 26826 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' + '' + esc(displayName) + '' + '' + esc(s.model) + '' - + '' + + '' + '' + '

' + (s.stream ? 'Stream' + esc(s.stream) + '' : '') diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 5595386..0181e96 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -543,100 +543,105 @@ class DashboardPanel { const terminals = vscode.window.terminals; const sessionStartedAt = msg.sessionStartedAt ?? ""; void (async () => { - const { execSync: _ex } = await Promise.resolve().then(() => require("child_process")); - const termPids = await Promise.all(terminals.map(t => t.processId)); - // 1. Stored shell PID from status-bridge — most reliable, try first - if (shellPid > 0) { - const byPid = terminals.find((_, i) => termPids[i] === shellPid); - if (byPid) { - byPid.show(true); - return; - } - } - // 2. Live process-tree match. - // macOS note: claude binary shows as version number (e.g. "2.1.181") in ps COMM, - // so we use pgrep -x claude (matches the real binary name) then query each PID - // individually. etime is in "[[DD-]HH:]MM:SS" format on macOS, not decimal seconds. - const parseEtime = (s) => { - s = s.trim(); - let days = 0; - if (s.includes("-")) { - const [d, rest] = s.split("-"); - days = parseInt(d, 10); - s = rest; + try { + const { execSync: _ex } = await Promise.resolve().then(() => require("child_process")); + const termPids = await Promise.all(terminals.map(t => t.processId)); + // 1. Stored shell PID from status-bridge — most reliable, try first + if (shellPid > 0) { + const byPid = terminals.find((_, i) => termPids[i] === shellPid); + if (byPid) { + byPid.show(true); + return; + } } - const parts = s.split(":").map(Number); - const secs = parts.length === 3 ? parts[0] * 3600 + parts[1] * 60 + parts[2] : parts[0] * 60 + (parts[1] ?? 0); - return days * 86400 + secs; - }; - const findTerminalByProcessTree = () => { - try { - const rawPids = _ex("/usr/bin/pgrep -x claude 2>/dev/null || true").toString().trim().split("\n").filter(Boolean).map(Number).filter(n => !isNaN(n) && n > 0); - if (rawPids.length === 0) - return undefined; - const sessionAgeS = sessionStartedAt ? Math.floor((Date.now() - new Date(sessionStartedAt).getTime()) / 1000) : -1; - const matches = []; - for (const cpid of rawPids) { - try { - // Check cwd - const cwd = _ex(`/usr/sbin/lsof -p ${cpid} 2>/dev/null | /usr/bin/awk '$4 == "cwd" { print $NF; exit }'`).toString().trim(); - if (!root || !cwd || !cwd.startsWith(root)) - continue; - // Get process elapsed time for disambiguation - const etimeStr = _ex(`/bin/ps -p ${cpid} -o etime= 2>/dev/null`).toString(); - const ageS = parseEtime(etimeStr); - // Walk ppid chain (up to 4 hops) to find the VS Code terminal shell - let cur = cpid; - let termIdx = -1; - for (let d = 0; d < 4; d++) { - const ppidStr = _ex(`/bin/ps -p ${cur} -o ppid= 2>/dev/null`).toString().trim(); - const ppid = parseInt(ppidStr, 10); - if (!ppid || ppid === cur) - break; - const idx = termPids.findIndex(p => p === ppid); - if (idx >= 0) { - termIdx = idx; - break; + // 2. Live process-tree match. + // macOS note: claude binary shows as version number (e.g. "2.1.181") in ps COMM, + // so we use pgrep -x claude (matches the real binary name) then query each PID + // individually. etime is in "[[DD-]HH:]MM:SS" format on macOS, not decimal seconds. + const parseEtime = (s) => { + s = s.trim(); + let days = 0; + if (s.includes("-")) { + const [d, rest] = s.split("-"); + days = parseInt(d, 10); + s = rest; + } + const parts = s.split(":").map(Number); + const secs = parts.length === 3 ? parts[0] * 3600 + parts[1] * 60 + parts[2] : parts[0] * 60 + (parts[1] ?? 0); + return days * 86400 + secs; + }; + const findTerminalByProcessTree = () => { + try { + const rawPids = _ex("/usr/bin/pgrep -x claude 2>/dev/null || true").toString().trim().split("\n").filter(Boolean).map(Number).filter(n => !isNaN(n) && n > 0); + if (rawPids.length === 0) + return undefined; + const sessionAgeS = sessionStartedAt ? Math.floor((Date.now() - new Date(sessionStartedAt).getTime()) / 1000) : -1; + const matches = []; + for (const cpid of rawPids) { + try { + // Check cwd + const cwd = _ex(`/usr/sbin/lsof -p ${cpid} 2>/dev/null | /usr/bin/awk '$4 == "cwd" { print $NF; exit }'`).toString().trim(); + if (!root || !cwd || !cwd.startsWith(root)) + continue; + // Get process elapsed time for disambiguation + const etimeStr = _ex(`/bin/ps -p ${cpid} -o etime= 2>/dev/null`).toString(); + const ageS = parseEtime(etimeStr); + // Walk ppid chain (up to 4 hops) to find the VS Code terminal shell + let cur = cpid; + let termIdx = -1; + for (let d = 0; d < 4; d++) { + const ppidStr = _ex(`/bin/ps -p ${cur} -o ppid= 2>/dev/null`).toString().trim(); + const ppid = parseInt(ppidStr, 10); + if (!ppid || ppid === cur) + break; + const idx = termPids.findIndex(p => p === ppid); + if (idx >= 0) { + termIdx = idx; + break; + } + cur = ppid; } - cur = ppid; + if (termIdx >= 0) + matches.push({ ageS, termIdx }); + } + catch { + continue; } - if (termIdx >= 0) - matches.push({ ageS, termIdx }); - } - catch { - continue; } + if (matches.length === 0) + return undefined; + if (matches.length === 1) + return terminals[matches[0].termIdx]; + // Multiple claude processes in same root — pick closest by process age + if (sessionAgeS >= 0) + matches.sort((a, b) => Math.abs(a.ageS - sessionAgeS) - Math.abs(b.ageS - sessionAgeS)); + return terminals[matches[0].termIdx]; } - if (matches.length === 0) + catch { return undefined; - if (matches.length === 1) - return terminals[matches[0].termIdx]; - // Multiple claude processes in same root — pick closest by process age - if (sessionAgeS >= 0) - matches.sort((a, b) => Math.abs(a.ageS - sessionAgeS) - Math.abs(b.ageS - sessionAgeS)); - return terminals[matches[0].termIdx]; + } + }; + const byTree = findTerminalByProcessTree(); + if (byTree) { + byTree.show(true); + return; } - catch { - return undefined; + // 3. Unambiguous CWD match (only if exactly one terminal is in this root) + if (root) { + const cwdMatches = terminals.filter(t => { + const cwd = t.shellIntegration?.cwd?.fsPath ?? ""; + return cwd && cwd.startsWith(root); + }); + if (cwdMatches.length === 1) { + cwdMatches[0].show(true); + return; + } } - }; - const byTree = findTerminalByProcessTree(); - if (byTree) { - byTree.show(true); - return; + void vscode.window.showInformationMessage(`Chat terminal not found for "${nick || root}". Try clicking ⌨ chat after the session's next tool call.`); } - // 3. Unambiguous CWD match (only if exactly one terminal is in this root) - if (root) { - const cwdMatches = terminals.filter(t => { - const cwd = t.shellIntegration?.cwd?.fsPath ?? ""; - return cwd && cwd.startsWith(root); - }); - if (cwdMatches.length === 1) { - cwdMatches[0].show(true); - return; - } + catch (err) { + void vscode.window.showErrorMessage(`Failed to focus chat terminal: ${err instanceof Error ? err.message : String(err)}`); } - void vscode.window.showInformationMessage(`Terminal not found for "${nick || root}". Click ⌨ terminal again after the session's next Claude turn.`); })(); return; } diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 5804c18..703fa38 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -484,7 +484,7 @@ export class DashboardPanel { const shellPid = (msg as {sessionRoot?: string; sessionNick?: string; shellPid?: number}).shellPid ?? 0; const terminals = vscode.window.terminals; const sessionStartedAt = (msg as {sessionRoot?: string; sessionNick?: string; shellPid?: number; sessionStartedAt?: string}).sessionStartedAt ?? ""; - void (async () => { + void (async () => { try { const { execSync: _ex } = await import("child_process"); const termPids = await Promise.all(terminals.map(t => t.processId)); @@ -558,8 +558,10 @@ export class DashboardPanel { if (cwdMatches.length === 1) { cwdMatches[0].show(true); return; } } - void vscode.window.showInformationMessage(`Terminal not found for "${nick || root}". Click ⌨ terminal again after the session's next Claude turn.`); - })(); + void vscode.window.showInformationMessage(`Chat terminal not found for "${nick || root}". Try clicking ⌨ chat after the session's next tool call.`); + } catch (err) { + void vscode.window.showErrorMessage(`Failed to focus chat terminal: ${err instanceof Error ? err.message : String(err)}`); + } })(); return; } }, From b12217b84864c907d805bf38304c8077bf6e602f Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 07:18:10 -0400 Subject: [PATCH 13/29] =?UTF-8?q?fix:=20terminal=20focus=20=E2=80=94=20rep?= =?UTF-8?q?lace=20fragile=20process-tree=20walk=20with=20PID=20child-scan?= =?UTF-8?q?=20+=20nick=20name=20match;=20remove=20same-terminal=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 54807 -> 54251 bytes extensions/vscode/out/dashboardPanel.js | 106 +++++++----------------- extensions/vscode/src/dashboardPanel.ts | 90 +++++++------------- 3 files changed, 61 insertions(+), 135 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 2cc0b35cdae67598267ced62df20a8c01c29a3d1..40dabc97ddf141079731d43dde3a6b564bac7f75 100644 GIT binary patch delta 19841 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 delta 20403 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 diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 0181e96..a1e65c8 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -469,6 +469,8 @@ class DashboardPanel { this._httpFailStreak = 0; this._lastDelegateKey = ""; // "|" dedup this._lastDelegateTs = 0; // epoch ms of last handled delegate + // nick → terminal name cache so focusTerminal can match by session nick + this._sessionTerminalMap = new Map(); // nick → terminal.name this._workspaceRoot = workspaceRoot; this._panel = panel; const initialData = this._buildDataSync(); @@ -540,93 +542,47 @@ class DashboardPanel { const root = msg.sessionRoot ?? ""; const nick = msg.sessionNick ?? ""; const shellPid = msg.shellPid ?? 0; - const terminals = vscode.window.terminals; - const sessionStartedAt = msg.sessionStartedAt ?? ""; + const terminals = [...vscode.window.terminals]; // snapshot — terminals list can change async void (async () => { try { - const { execSync: _ex } = await Promise.resolve().then(() => require("child_process")); const termPids = await Promise.all(terminals.map(t => t.processId)); - // 1. Stored shell PID from status-bridge — most reliable, try first + // 1. Exact shell PID match (written by status-bridge hook on every tool call) if (shellPid > 0) { const byPid = terminals.find((_, i) => termPids[i] === shellPid); if (byPid) { byPid.show(true); return; } - } - // 2. Live process-tree match. - // macOS note: claude binary shows as version number (e.g. "2.1.181") in ps COMM, - // so we use pgrep -x claude (matches the real binary name) then query each PID - // individually. etime is in "[[DD-]HH:]MM:SS" format on macOS, not decimal seconds. - const parseEtime = (s) => { - s = s.trim(); - let days = 0; - if (s.includes("-")) { - const [d, rest] = s.split("-"); - days = parseInt(d, 10); - s = rest; - } - const parts = s.split(":").map(Number); - const secs = parts.length === 3 ? parts[0] * 3600 + parts[1] * 60 + parts[2] : parts[0] * 60 + (parts[1] ?? 0); - return days * 86400 + secs; - }; - const findTerminalByProcessTree = () => { + // PID no longer matches a live terminal — check if it's a child of any terminal + // (handles cases where claude wraps inside an extra shell layer) try { - const rawPids = _ex("/usr/bin/pgrep -x claude 2>/dev/null || true").toString().trim().split("\n").filter(Boolean).map(Number).filter(n => !isNaN(n) && n > 0); - if (rawPids.length === 0) - return undefined; - const sessionAgeS = sessionStartedAt ? Math.floor((Date.now() - new Date(sessionStartedAt).getTime()) / 1000) : -1; - const matches = []; - for (const cpid of rawPids) { - try { - // Check cwd - const cwd = _ex(`/usr/sbin/lsof -p ${cpid} 2>/dev/null | /usr/bin/awk '$4 == "cwd" { print $NF; exit }'`).toString().trim(); - if (!root || !cwd || !cwd.startsWith(root)) - continue; - // Get process elapsed time for disambiguation - const etimeStr = _ex(`/bin/ps -p ${cpid} -o etime= 2>/dev/null`).toString(); - const ageS = parseEtime(etimeStr); - // Walk ppid chain (up to 4 hops) to find the VS Code terminal shell - let cur = cpid; - let termIdx = -1; - for (let d = 0; d < 4; d++) { - const ppidStr = _ex(`/bin/ps -p ${cur} -o ppid= 2>/dev/null`).toString().trim(); - const ppid = parseInt(ppidStr, 10); - if (!ppid || ppid === cur) - break; - const idx = termPids.findIndex(p => p === ppid); - if (idx >= 0) { - termIdx = idx; - break; - } - cur = ppid; - } - if (termIdx >= 0) - matches.push({ ageS, termIdx }); - } - catch { + const { execSync: _ex } = await Promise.resolve().then(() => require("child_process")); + for (let i = 0; i < termPids.length; i++) { + const tpid = termPids[i]; + if (!tpid) continue; + // Get all descendants of this terminal's shell + const children = _ex(`/usr/bin/pgrep -P ${tpid} 2>/dev/null || true`).toString().trim().split("\n").filter(Boolean).map(Number); + if (children.includes(shellPid)) { + terminals[i].show(true); + return; } } - if (matches.length === 0) - return undefined; - if (matches.length === 1) - return terminals[matches[0].termIdx]; - // Multiple claude processes in same root — pick closest by process age - if (sessionAgeS >= 0) - matches.sort((a, b) => Math.abs(a.ageS - sessionAgeS) - Math.abs(b.ageS - sessionAgeS)); - return terminals[matches[0].termIdx]; - } - catch { - return undefined; } - }; - const byTree = findTerminalByProcessTree(); - if (byTree) { - byTree.show(true); + catch { /* fall through */ } + } + // 2. Nick-based name match — delegate terminals are named "Claude · " + // Regular sessions: try matching nick suffix in terminal name + const nickLower = nick.toLowerCase(); + const byName = terminals.find(t => { + const n = t.name.toLowerCase(); + return n.includes(nickLower) || n.endsWith(nick) || n === `claude · ${nickLower}`; + }); + if (byName) { + byName.show(true); return; } - // 3. Unambiguous CWD match (only if exactly one terminal is in this root) + // 3. shellIntegration CWD match — only when exactly one terminal is in this root if (root) { const cwdMatches = terminals.filter(t => { const cwd = t.shellIntegration?.cwd?.fsPath ?? ""; @@ -637,10 +593,10 @@ class DashboardPanel { return; } } - void vscode.window.showInformationMessage(`Chat terminal not found for "${nick || root}". Try clicking ⌨ chat after the session's next tool call.`); + void vscode.window.showInformationMessage(`⌨ Chat not found for "${nick}". Wait for Claude's next tool call then try again.`); } catch (err) { - void vscode.window.showErrorMessage(`Failed to focus chat terminal: ${err instanceof Error ? err.message : String(err)}`); + void vscode.window.showErrorMessage(`focusTerminal error: ${err instanceof Error ? err.message : String(err)}`); } })(); return; @@ -1242,9 +1198,11 @@ class DashboardPanel { const prompt = lines.join("\n"); const escaped = prompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); const cwd = d.root && fs.existsSync(d.root) ? d.root : this._workspaceRoot; - const terminal = vscode.window.createTerminal({ name: `Claude · ${roleName}`, cwd }); + const termName = `Claude · ${roleName}`; + const terminal = vscode.window.createTerminal({ name: termName, cwd }); terminal.show(); terminal.sendText(`claude "${escaped}"`, true); + this._sessionTerminalMap.set(d.role, termName); } catch { /* malformed delegate.json — silently ignore */ } } diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 703fa38..fc076fd 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -380,6 +380,8 @@ export class DashboardPanel { private _httpFailStreak = 0; private _lastDelegateKey = ""; // "|" dedup private _lastDelegateTs = 0; // epoch ms of last handled delegate + // nick → terminal name cache so focusTerminal can match by session nick + private _sessionTerminalMap = new Map(); // nick → terminal.name static createOrShow(workspaceRoot: string, extensionUri?: vscode.Uri): void { if (extensionUri) DashboardPanel.extensionUri = extensionUri; @@ -482,74 +484,38 @@ export class DashboardPanel { const root = (msg as {sessionRoot?: string; sessionNick?: string; shellPid?: number}).sessionRoot ?? ""; const nick = (msg as {sessionRoot?: string; sessionNick?: string; shellPid?: number}).sessionNick ?? ""; const shellPid = (msg as {sessionRoot?: string; sessionNick?: string; shellPid?: number}).shellPid ?? 0; - const terminals = vscode.window.terminals; - const sessionStartedAt = (msg as {sessionRoot?: string; sessionNick?: string; shellPid?: number; sessionStartedAt?: string}).sessionStartedAt ?? ""; + const terminals = [...vscode.window.terminals]; // snapshot — terminals list can change async void (async () => { try { - const { execSync: _ex } = await import("child_process"); const termPids = await Promise.all(terminals.map(t => t.processId)); - // 1. Stored shell PID from status-bridge — most reliable, try first + // 1. Exact shell PID match (written by status-bridge hook on every tool call) if (shellPid > 0) { const byPid = terminals.find((_, i) => termPids[i] === shellPid); if (byPid) { byPid.show(true); return; } - } - - // 2. Live process-tree match. - // macOS note: claude binary shows as version number (e.g. "2.1.181") in ps COMM, - // so we use pgrep -x claude (matches the real binary name) then query each PID - // individually. etime is in "[[DD-]HH:]MM:SS" format on macOS, not decimal seconds. - const parseEtime = (s: string): number => { - s = s.trim(); - let days = 0; - if (s.includes("-")) { const [d, rest] = s.split("-"); days = parseInt(d, 10); s = rest; } - const parts = s.split(":").map(Number); - const secs = parts.length === 3 ? parts[0]*3600 + parts[1]*60 + parts[2] : parts[0]*60 + (parts[1] ?? 0); - return days * 86400 + secs; - }; - const findTerminalByProcessTree = (): vscode.Terminal | undefined => { + // PID no longer matches a live terminal — check if it's a child of any terminal + // (handles cases where claude wraps inside an extra shell layer) try { - const rawPids = _ex("/usr/bin/pgrep -x claude 2>/dev/null || true").toString().trim().split("\n").filter(Boolean).map(Number).filter(n => !isNaN(n) && n > 0); - if (rawPids.length === 0) return undefined; - - const sessionAgeS = sessionStartedAt ? Math.floor((Date.now() - new Date(sessionStartedAt).getTime()) / 1000) : -1; - interface Match { ageS: number; termIdx: number } - const matches: Match[] = []; - - for (const cpid of rawPids) { - try { - // Check cwd - const cwd = _ex(`/usr/sbin/lsof -p ${cpid} 2>/dev/null | /usr/bin/awk '$4 == "cwd" { print $NF; exit }'`).toString().trim(); - if (!root || !cwd || !cwd.startsWith(root)) continue; - // Get process elapsed time for disambiguation - const etimeStr = _ex(`/bin/ps -p ${cpid} -o etime= 2>/dev/null`).toString(); - const ageS = parseEtime(etimeStr); - // Walk ppid chain (up to 4 hops) to find the VS Code terminal shell - let cur = cpid; - let termIdx = -1; - for (let d = 0; d < 4; d++) { - const ppidStr = _ex(`/bin/ps -p ${cur} -o ppid= 2>/dev/null`).toString().trim(); - const ppid = parseInt(ppidStr, 10); - if (!ppid || ppid === cur) break; - const idx = termPids.findIndex(p => p === ppid); - if (idx >= 0) { termIdx = idx; break; } - cur = ppid; - } - if (termIdx >= 0) matches.push({ ageS, termIdx }); - } catch { continue; } + const { execSync: _ex } = await import("child_process"); + for (let i = 0; i < termPids.length; i++) { + const tpid = termPids[i]; + if (!tpid) continue; + // Get all descendants of this terminal's shell + const children = _ex(`/usr/bin/pgrep -P ${tpid} 2>/dev/null || true`).toString().trim().split("\n").filter(Boolean).map(Number); + if (children.includes(shellPid)) { terminals[i].show(true); return; } } + } catch { /* fall through */ } + } - if (matches.length === 0) return undefined; - if (matches.length === 1) return terminals[matches[0].termIdx]; - // Multiple claude processes in same root — pick closest by process age - if (sessionAgeS >= 0) matches.sort((a, b) => Math.abs(a.ageS - sessionAgeS) - Math.abs(b.ageS - sessionAgeS)); - return terminals[matches[0].termIdx]; - } catch { return undefined; } - }; - - const byTree = findTerminalByProcessTree(); - if (byTree) { byTree.show(true); return; } + // 2. Nick-based name match — delegate terminals are named "Claude · " + // Regular sessions: try matching nick suffix in terminal name + const nickLower = nick.toLowerCase(); + const byName = terminals.find(t => { + const n = t.name.toLowerCase(); + return n.includes(nickLower) || n.endsWith(nick) || n === `claude · ${nickLower}`; + }); + if (byName) { byName.show(true); return; } - // 3. Unambiguous CWD match (only if exactly one terminal is in this root) + // 3. shellIntegration CWD match — only when exactly one terminal is in this root if (root) { const cwdMatches = terminals.filter(t => { const cwd = (t.shellIntegration as { cwd?: vscode.Uri } | undefined)?.cwd?.fsPath ?? ""; @@ -558,9 +524,9 @@ export class DashboardPanel { if (cwdMatches.length === 1) { cwdMatches[0].show(true); return; } } - void vscode.window.showInformationMessage(`Chat terminal not found for "${nick || root}". Try clicking ⌨ chat after the session's next tool call.`); + void vscode.window.showInformationMessage(`⌨ Chat not found for "${nick}". Wait for Claude's next tool call then try again.`); } catch (err) { - void vscode.window.showErrorMessage(`Failed to focus chat terminal: ${err instanceof Error ? err.message : String(err)}`); + void vscode.window.showErrorMessage(`focusTerminal error: ${err instanceof Error ? err.message : String(err)}`); } })(); return; } @@ -1105,9 +1071,11 @@ export class DashboardPanel { const prompt = lines.join("\n"); const escaped = prompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); const cwd = d.root && fs.existsSync(d.root) ? d.root : this._workspaceRoot; - const terminal = vscode.window.createTerminal({ name: `Claude · ${roleName}`, cwd }); + const termName = `Claude · ${roleName}`; + const terminal = vscode.window.createTerminal({ name: termName, cwd }); terminal.show(); terminal.sendText(`claude "${escaped}"`, true); + this._sessionTerminalMap.set(d.role, termName); } catch { /* malformed delegate.json — silently ignore */ } } From 1f566b70c86dd9f21d7df43d7c42f8d5fc3defa4 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 07:23:32 -0400 Subject: [PATCH 14/29] =?UTF-8?q?feat:=20auto-close=20session=20on=20termi?= =?UTF-8?q?nal=20close=20+=20manual=20=C3=97=20dismiss=20button?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 54251 -> 54644 bytes extensions/vscode/media/dashboard.js | 8 +++++ extensions/vscode/out/dashboardPanel.js | 38 ++++++++++++++++++++++++ extensions/vscode/src/dashboardPanel.ts | 28 +++++++++++++++++ 4 files changed, 74 insertions(+) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 40dabc97ddf141079731d43dde3a6b564bac7f75..9b6585311e4969e2e4963859584e842b9a24f8d6 100644 GIT binary patch delta 34343 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 zΠ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 J=*|ED007g_8{+@~ diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index 23bf79a..ccdb4c3 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -418,6 +418,7 @@ function applyUpdate(d){ + '' + esc(displayName) + '' + '' + esc(s.model) + '' + '' + + '' + '
' + '
' + (s.stream ? 'Stream' + esc(s.stream) + '' : '') @@ -825,6 +826,13 @@ document.addEventListener('click',function(e){ } return; } + // Close session button + const closeSessBtn = t.closest('[data-close-session]'); + if(closeSessBtn){ + e.stopPropagation(); + vscode.postMessage({command:'closeSession',sessionId:closeSessBtn.dataset.closeSession||''}); + return; + } // Focus terminal button const ftBtn = t.closest('[data-focus-terminal]'); if(ftBtn){ diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index a1e65c8..17eac91 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -515,6 +515,14 @@ class DashboardPanel { }); return; } + if (msg.command === "closeSession") { + const sessionId = msg.sessionId ?? ""; + if (!sessionId) + return; + this._deleteSessionFile(sessionId); + void this._update(); + return; + } if (msg.command === "launchRole") { const slug = msg.slug ?? ""; const name = msg.name ?? slug; @@ -603,6 +611,28 @@ class DashboardPanel { } }, null, this._disposables); this._panel.onDidDispose(() => this.dispose(), null, this._disposables); + vscode.window.onDidCloseTerminal(async (closed) => { + const pid = await closed.processId; + if (!pid) + return; + const sessDir = path.join(os.homedir(), ".agentboard", "sessions"); + try { + for (const fname of fs.readdirSync(sessDir)) { + if (!fname.endsWith(".json")) + continue; + try { + const raw = fs.readFileSync(path.join(sessDir, fname), "utf8"); + const d = JSON.parse(raw); + if (d._shell_pid === pid) { + fs.unlinkSync(path.join(sessDir, fname)); + void this._update(); + } + } + catch { /* skip */ } + } + } + catch { /* dir missing */ } + }, null, this._disposables); } _buildDataSync() { // Always try live.json first — works regardless of which VS Code window is open @@ -1206,6 +1236,14 @@ class DashboardPanel { } catch { /* malformed delegate.json — silently ignore */ } } + _deleteSessionFile(sessionId) { + const sessDir = path.join(os.homedir(), ".agentboard", "sessions"); + const f = path.join(sessDir, `${sessionId}.json`); + try { + fs.unlinkSync(f); + } + catch { /* already gone */ } + } async _update() { if (!this._initialized) return; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index fc076fd..983ff14 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -459,6 +459,13 @@ export class DashboardPanel { }); return; } + if (msg.command === "closeSession") { + const sessionId = (msg as {sessionId?: string}).sessionId ?? ""; + if (!sessionId) return; + this._deleteSessionFile(sessionId); + void this._update(); + return; + } if (msg.command === "launchRole") { const slug = (msg as {slug?: string; name?: string}).slug ?? ""; const name = (msg as {slug?: string; name?: string}).name ?? slug; @@ -534,6 +541,21 @@ export class DashboardPanel { null, this._disposables ); this._panel.onDidDispose(() => this.dispose(), null, this._disposables); + vscode.window.onDidCloseTerminal(async (closed) => { + const pid = await closed.processId; + if (!pid) return; + const sessDir = path.join(os.homedir(), ".agentboard", "sessions"); + try { + for (const fname of fs.readdirSync(sessDir)) { + if (!fname.endsWith(".json")) continue; + try { + const raw = fs.readFileSync(path.join(sessDir, fname), "utf8"); + const d = JSON.parse(raw) as { _shell_pid?: number }; + if (d._shell_pid === pid) { fs.unlinkSync(path.join(sessDir, fname)); void this._update(); } + } catch { /* skip */ } + } + } catch { /* dir missing */ } + }, null, this._disposables); } private _buildDataSync(): object { @@ -1079,6 +1101,12 @@ export class DashboardPanel { } catch { /* malformed delegate.json — silently ignore */ } } + private _deleteSessionFile(sessionId: string): void { + const sessDir = path.join(os.homedir(), ".agentboard", "sessions"); + const f = path.join(sessDir, `${sessionId}.json`); + try { fs.unlinkSync(f); } catch { /* already gone */ } + } + private async _update(): Promise { if (!this._initialized) return; From c991cf6f169252b8e62f572b46aeb3c0d097fe73 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 07:25:31 -0400 Subject: [PATCH 15/29] =?UTF-8?q?feat:=20green/red=20row=20highlight=20for?= =?UTF-8?q?=20new/deleted=20files=20in=20activity=20=E2=80=94=20git=20stat?= =?UTF-8?q?us=20--porcelain=20per=20session?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 54644 -> 55004 bytes extensions/vscode/media/dashboard.js | 5 +++-- extensions/vscode/out/dashboardPanel.js | 22 ++++++++++++++++++++++ extensions/vscode/src/dashboardPanel.ts | 22 ++++++++++++++++++++-- 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 9b6585311e4969e2e4963859584e842b9a24f8d6..58ac936970e0139c1eefb641331fd330af46f987 100644 GIT binary patch delta 34471 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' + '' + icon + '' + '
' diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 17eac91..de8cd18 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -958,6 +958,28 @@ class DashboardPanel { } catch { /* git unavailable */ } } + // Detect new/deleted files via git status --porcelain + if (sRoot) { + try { + const statusOut = (0, child_process_1.execSync)(`git -C "${sRoot}" status --porcelain 2>/dev/null`, { timeout: 3000, encoding: "utf8" }); + const statusMap = new Map(); + for (const line of statusOut.split("\n")) { + if (line.length < 4) + continue; + const xy = line.slice(0, 2); + const fpath = line.slice(3).trim().replace(/^"(.*)"$/, "$1"); // git quotes paths with spaces + statusMap.set(fpath, xy); + } + for (const entry of sActivity) { + const xy = statusMap.get(entry.file) ?? statusMap.get(entry.file.replace(/\\/g, "/")) ?? ""; + if (xy === "??" || xy[0] === "A" || xy[1] === "A") + entry.isNew = true; + else if (xy[0] === "D" || xy[1] === "D") + entry.isDeleted = true; + } + } + catch { /* git unavailable */ } + } // Skip ghost sessions: no tool events AND session started >15 min ago // Use startedAt age (not lastUpdated) so status-bridge pings don't keep ghosts alive const startedAtAgeMs = sStartedAt ? Date.now() - new Date(sStartedAt).getTime() : Infinity; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 983ff14..710a455 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -727,7 +727,7 @@ export class DashboardPanel { sessionLastSkill: string; sessionLastRole: string; startedAt: string; lastUpdated: string; ageSeconds: number; ctxPct: number | null; stream: string; sessionTime: string; - activity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number; committed?: boolean }[]; + activity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number; committed?: boolean; isNew?: boolean; isDeleted?: boolean }[]; agents: { label: string; role: string; skill: string; ts: string; done: boolean }[]; hasWorkflow: boolean; workflowAgentCount: number; workflowLabel: string; workflowTranscriptAgents: TranscriptAgent[]; @@ -755,7 +755,7 @@ export class DashboardPanel { return sec < 3600 ? `${Math.floor(sec / 60)}m ${sec % 60}s` : `${Math.floor(sec / 3600)}h ${Math.floor((sec % 3600) / 60)}m`; })() : ""; // Per-session activity feed (deduplicated, most recent first) - const sActivity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number; committed?: boolean }[] = []; + const sActivity: { file: string; tool: string; count: number; lastTs: string; added?: number; deleted?: number; lineCount?: number; committed?: boolean; isNew?: boolean; isDeleted?: boolean }[] = []; const sId = (s._session_id as string) || (ctx.session_id as string) || f.replace(".json", ""); if (sRoot) { const allSEvents = getEventsForRoot(sRoot); // cached — no extra file read @@ -849,6 +849,24 @@ export class DashboardPanel { } } catch { /* git unavailable */ } } + // Detect new/deleted files via git status --porcelain + if (sRoot) { + try { + const statusOut = execSync(`git -C "${sRoot}" status --porcelain 2>/dev/null`, { timeout: 3000, encoding: "utf8" }); + const statusMap = new Map(); + for (const line of statusOut.split("\n")) { + if (line.length < 4) continue; + const xy = line.slice(0, 2); + const fpath = line.slice(3).trim().replace(/^"(.*)"$/, "$1"); // git quotes paths with spaces + statusMap.set(fpath, xy); + } + for (const entry of sActivity) { + const xy = statusMap.get(entry.file) ?? statusMap.get(entry.file.replace(/\\/g, "/")) ?? ""; + if (xy === "??" || xy[0] === "A" || xy[1] === "A") entry.isNew = true; + else if (xy[0] === "D" || xy[1] === "D") entry.isDeleted = true; + } + } catch { /* git unavailable */ } + } // Skip ghost sessions: no tool events AND session started >15 min ago // Use startedAt age (not lastUpdated) so status-bridge pings don't keep ghosts alive const startedAtAgeMs = sStartedAt ? Date.now() - new Date(sStartedAt).getTime() : Infinity; From 0ce5487be8e4a73746ab0e563e7bd5a63bd86cc8 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 07:31:56 -0400 Subject: [PATCH 16/29] fix: open file directly for untracked/new files instead of broken diff view --- extensions/vscode/agentboard-2.3.0.vsix | Bin 55004 -> 55343 bytes extensions/vscode/media/dashboard.js | 8 ++++-- extensions/vscode/out/dashboardPanel.js | 32 +++++++++++++++++++++--- extensions/vscode/src/dashboardPanel.ts | 31 ++++++++++++++++++++--- 4 files changed, 62 insertions(+), 9 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 58ac936970e0139c1eefb641331fd330af46f987..8a0a4e7ed1061aafcea86d63751e38152dd0d25c 100644 GIT binary patch delta 30678 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 delta 30274 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' + '' + icon + '' @@ -778,7 +778,7 @@ document.addEventListener('click',function(e){ const menu=document.getElementById('_file-menu'); const fp=menu._filePath||''; const sr=menu._sessionRoot||''; if(fm.dataset.fm==='diff'){ - vscode.postMessage({command:'openDiff',filePath:fp,sessionRoot:sr}); + vscode.postMessage({command:'openDiff',filePath:fp,sessionRoot:sr,isNew:menu._isNew||false}); } else if(fm.dataset.fm==='copy'){ vscode.postMessage({command:'copyPath',filePath:fp,sessionRoot:sr}); } @@ -806,6 +806,10 @@ document.addEventListener('click',function(e){ } menu._filePath=diffEl.dataset.openDiff||''; menu._sessionRoot=diffEl.dataset.sessionRoot||''; + menu._isNew=diffEl.dataset.isNew==='1'; + menu._isDeleted=diffEl.dataset.isDeleted==='1'; + var diffItem=menu.querySelector('[data-fm="diff"]'); + if(diffItem) diffItem.innerHTML=(menu._isNew||menu._isDeleted)?'Open file':'Open diff'; var rect=diffEl.getBoundingClientRect(); menu.style.display='flex'; menu.style.left=Math.min(e.clientX, window.innerWidth-180)+'px'; diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index de8cd18..c8ebb42 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -499,18 +499,44 @@ class DashboardPanel { if (msg.command === "openDiff") { const relPath = msg.filePath ?? ""; const sessRoot = msg.sessionRoot ?? this._workspaceRoot; + const isNewFile = msg.isNew ?? false; if (!relPath) return; - const absPath = path.isAbsolute(relPath) ? relPath : path.join(sessRoot, relPath); + // Resolve absolute path — try sessRoot first, then workspaceRoot + let absPath = path.isAbsolute(relPath) ? relPath : path.join(sessRoot, relPath); + if (!fs.existsSync(absPath)) { + const alt = path.join(this._workspaceRoot, relPath); + if (fs.existsSync(alt)) + absPath = alt; + } const rightUri = vscode.Uri.file(absPath); - // Use VS Code git extension's URI scheme to show HEAD version on the left + // New/untracked files have no HEAD version — open the file directly + if (isNewFile || !fs.existsSync(absPath)) { + if (fs.existsSync(absPath)) { + void vscode.window.showTextDocument(rightUri); + } + else { + void vscode.window.showWarningMessage(`File not found: ${relPath}`); + } + return; + } + // Check if file is tracked by git before attempting diff + try { + const { execSync: _ex } = require("child_process"); + const status = _ex(`git -C "${sessRoot}" status --porcelain -- "${relPath}" 2>/dev/null`).toString().trim(); + if (status.startsWith("??")) { + // Untracked — no HEAD version, just open the file + void vscode.window.showTextDocument(rightUri); + return; + } + } + catch { /* fall through to diff attempt */ } const gitUri = rightUri.with({ scheme: "git", query: JSON.stringify({ path: absPath, ref: "HEAD" }), }); const fileName = path.basename(absPath); void vscode.commands.executeCommand("vscode.diff", gitUri, rightUri, `${fileName}: HEAD ↔ Working Tree`).then(undefined, () => { - // Fallback if file is new (not in HEAD) — just open the file void vscode.window.showTextDocument(rightUri); }); return; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 710a455..9a26cab 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -442,19 +442,42 @@ export class DashboardPanel { return; } if (msg.command === "openDiff") { - const relPath = (msg as {filePath?: string; sessionRoot?: string}).filePath ?? ""; + const relPath = (msg as {filePath?: string; sessionRoot?: string; isNew?: boolean}).filePath ?? ""; const sessRoot = (msg as {filePath?: string; sessionRoot?: string}).sessionRoot ?? this._workspaceRoot; + const isNewFile = (msg as {isNew?: boolean}).isNew ?? false; if (!relPath) return; - const absPath = path.isAbsolute(relPath) ? relPath : path.join(sessRoot, relPath); + // Resolve absolute path — try sessRoot first, then workspaceRoot + let absPath = path.isAbsolute(relPath) ? relPath : path.join(sessRoot, relPath); + if (!fs.existsSync(absPath)) { + const alt = path.join(this._workspaceRoot, relPath); + if (fs.existsSync(alt)) absPath = alt; + } const rightUri = vscode.Uri.file(absPath); - // Use VS Code git extension's URI scheme to show HEAD version on the left + // New/untracked files have no HEAD version — open the file directly + if (isNewFile || !fs.existsSync(absPath)) { + if (fs.existsSync(absPath)) { + void vscode.window.showTextDocument(rightUri); + } else { + void vscode.window.showWarningMessage(`File not found: ${relPath}`); + } + return; + } + // Check if file is tracked by git before attempting diff + try { + const { execSync: _ex } = require("child_process") as typeof import("child_process"); + const status = _ex(`git -C "${sessRoot}" status --porcelain -- "${relPath}" 2>/dev/null`).toString().trim(); + if (status.startsWith("??")) { + // Untracked — no HEAD version, just open the file + void vscode.window.showTextDocument(rightUri); + return; + } + } catch { /* fall through to diff attempt */ } const gitUri = rightUri.with({ scheme: "git", query: JSON.stringify({ path: absPath, ref: "HEAD" }), }); const fileName = path.basename(absPath); void vscode.commands.executeCommand("vscode.diff", gitUri, rightUri, `${fileName}: HEAD ↔ Working Tree`).then(undefined, () => { - // Fallback if file is new (not in HEAD) — just open the file void vscode.window.showTextDocument(rightUri); }); return; From 09736e9e2db64ca9858f8c42bc9e2a57a90c9bc5 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 07:36:20 -0400 Subject: [PATCH 17/29] =?UTF-8?q?fix:=20single-session=20activity=20view?= =?UTF-8?q?=20now=20matches=20multi-column=20=E2=80=94=20rich=20data,=20cl?= =?UTF-8?q?ick-to-diff,=20green/red=20rows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 55343 -> 55423 bytes extensions/vscode/media/dashboard.js | 68 +++++++++++++++++------- 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 8a0a4e7ed1061aafcea86d63751e38152dd0d25c..cf69721af08e2f9c7c1ff074fc8b1daa4af90fa5 100644 GIT binary patch delta 16575 zcmY+r18`tX)GZp@wlQ%gns8#96Wg|v6HIK|w(VqM+n(5Va_77Ey?5V#x=!uhU2Ct} z-F518Rrg*swcua1;0OxR;1C!fATTf>A-r`6M_^zfybTXv(cu5tAgDx=1bAeW1h&Lp zFn`{J$3$jeJ(_&fWycE;b&e{Dr_l{}xxlN}2nQPRt~iLBWhH`O4KyxKNK+B3 zRWGUrYwQ&|8^lw0KS%-*_FH1=c(c_v(Ff%l0p|2-bM!OOpE_gDBZgS$S5FO%wdFEH zIUV-2pB`bd>SZFGH2+W(dsBUB*4>!&tNj)itw#a=UQB;R7ji{u$b6$dm#QTzph=^k zAt$5G4F4@(J*uZ2EABBdQV_v(b?y@*Gw&^vD>j?;?+cUK7cuD6`;2@qP=D z8w`!iym$$J`tuOr1FkS$b+~j85H9YKj%_TmHG;HQ&36f%MKanRL6(CRdDqKOLYE#& zk>Sdu5hoKL3O1o&#PV|9xQ)!c&laQGfFl(hjf5;8FcrYag#`lBQsa&stP9*iweIm6 z#oU@u*^fQLH+#h?IO@_K%f_qJ_UB)Yov+YUa&{svvc!R&bQFYY&p59eoOY;-%q*Q8 zN8XQey#$17)QqHPY}6~SI-U8%oIkyh;>KF171s|-YsTUhd=Ff_c12@qZ)ja1{f^m4 zcYDHSvPm&?n+ls=xS5;P7zhyd54wzr@yyomczjp?D_|OKka;aCRRf)nsDo&cF4JI3 zwvvfV7Q9{J{GC%n8xfl=I>8zaNGKRww9mx;PS*|@l|V@>5cbV{2wmV#U#4JLIg{+< zg81KRgHQ`fWI#N<1eoHbs-i`#?riN@avF^~Q(epVob7*>2(NFGm;)_npF11Yt%4ZM zfusW42MuJSy2!6QW=~K0u|tZ~9#rkTFEse)#Prp{&rX!X%bPj(Z+#@3r%&L=KLd<* zkbOKMytu>j1!DMDh!0aLQwv`#nWgtqO@#ZZMV2w@*<`VJcLx^fQ7gx>*$e~e^)Q|5 zoUj_>^7l}Y)&)(VssK@n%V@D$@+o|?c|C2!JIE+B2fkxMLg5+hgoY>( zyQU%!S$wrUtz^_mLH)E_Qlb|-JG~@Kme8*00&b_pZ3hdkQ(K?6ZtPJEph@Cl*&t5F zOIh$fDEGAFX>d@2$z}-4>eJoGZ#kKa)gzx}qC#U-hW53sWB{*xLh6olOmwi5rc8p2 zFQ2ydh4~JKz73)VEDUed>+$Ykunvpg*Q`#o6X`9Niuq4n;#S{7sOzO!8kc4UrSr9@ zaWB#A`iG3iO%i48Sbxcn=9ykUg8?MFo2}Md4Ys#Z6v@j;AqqfxjwSDoqKjzaj((Wc zZa2}7P4Lvt4A5tFXCnSe-Bl&vupu=gdb>>H;;O#PBxSDG5%qlX8pdK_m5V8n{G<6X zCD=nuR*0F}+2P>U^69vMAick2$9)zu93Q#&z%m-~qTi-oOO~IBs7wVx7aQNN`S40@ zt($&;ni(_fF(gq4a%;L1pd7Hi-cJAQ)T)*Anl!b3Se7kh_B1R_ zdMi`^`z63c=Ox;&C_%W_>s6Z8@BZAH#4p5t_Q8s)n*k=*`nQUTZsh5}?Cgx0h}%>) zQ>yRv$kXR~&e!Q@cIKD{Io`%?dk7X&Y)+8uH{j){+4{m@Y2B*D?ehF0Zdj()Fxwaw zTT%o|CN^>kHx1(@(;fxtFYe3xcZ;G?D>0&hh+>>r!fq)lf$RBi)2>1fVqcGYt1ZYx zU#rKe%v1B6#}KHpM}pM7V}jH;*aASFzF36l46H6|GGvy1lKw>wJvvpztTa^B9dA%g zBhV}7cy1)r)=NcDPM-|RYKdK!iuIiKy)^qEh3y!E%Lma&TUR(Kv7i4g z)5$NPT7ScERP=gsrf;p`-@a4>7B-cO4ul$qgIC@@FIU9-fO%1(@0%3G@ zHSJt2OWFlVcXFiU)o$_OhX79pC}44>3M{4@+|4U2`aHg;Rl`#+$Vh9$#=eHSCB1@7 z0*QgSvXQ^(#P=#hL>f|@5jLYmgO|HcZmFf!wDoEeMah_m3N7f4{qI>|yb?Oyg$gvz z9GzWPh1c%bcJqJLdiaiN3T8u+ZW*1mqdA}7Q;3-vR%DmoIj7HZCffuX0db4T9mn+Q zuPpwXeRm3D&6;kzc5MNmXwqTFT*M~UqD0E1R^S*b7zWZ*RloTQrZt_2PKS=p>pQhkc5<^X&YVb9%eDF0||B zHoECb@LfSVEOykvv|dLt1vZg~nV;_EE%3Lov{!5cLz>wFx`5uZ8MUcxDLtE5ZG7mcgI%Y!se#DS%= ze56ZjymkxyIwK_E+FIB9M6ZqOdCzjg-+%BlyKn}9#2RCV{;P`i1th)sZNCh0F$Sxe z?c%H92^gF$Rf6}Ts_ifX_M9 z@Xe;MIL&4%?QUU;0TR)`V{*?w9kx9P^hdk)oybd@z%-9COH=#|tH~Tp4#K-rsomek zdyoXIr%TO2MMyC|s%X}(+*Hdv5#8kxN*dzYxTXn{)%R^#Lt;v zO{)8+Q$%-!1Z+WxfKlX&PK?r`vc^-bT4A9hts%;-l@rFD1I4p2qe$wJIx!M9H7CD8Ovp7s2IYmhB=|^9s16+>c+;R(FZz;Ks`>!s!fxMr@++-vXb2GTa*=AGlb*a%7 zR$tGB4cq)D1O%IB_m2Yx-54a_?YBY}EklM$5ll_h|5nr^QAoK~+V=~9*lBr#fzP!& zmOY@a&_7H@>6rI`Vt6cmaHC?LX8)0rjC7XQ@p-ZAGGA70jHEI1`wit`*Q6W+Mh#Pv zT-R!^37nQLOA;2;E~p-Se5KKma0!&@OJ}b*b#6nuFE1mJK6T&7<(D!)54f{B67QUwXyDG>(S-lZ4aiGuA-M+qy+kqCMg&?6R!?z%Vq2NuK~Vvo zMjhDWJlhVTU&*hBbd`6(S}UdB|>b$m0jz)Y9zA= z@Tl0O)|JfzYt(LB>}-%9YRTVv?UA{(694Ac)uqlN!_+1YYQSryyYU!h;}78M8EsJu_rCH=yxoz&X3$KCYW0I##*Gca)@JEow@F7w>}uKHRpXX zsyS+j?w#VoTzJK`zRsxwV3(KNkYeWEx@d@J+`GAUJTlL}JZ|vL(Zt=Zn)kBVt`|-6 zv~J)9&R9FAUAo}IL=)AL#tEkSO9Py-rCRD*#Jla6rE1V{m1~EFxLe`aUu!7jKv^Ah zO9+&S3Ar-BtuWuieVCEAapuo-rP^YLIfFggEolp0Z!Ni`YTw>~5+4<#I4x)b6W>u$ zLVC!E6jUdDjVT^R-f@qPK`+IrL1Yhar$8UK*K)U}ij9Ha^cF4}e(8Mf_qTUF?r6`l z2Wi7+?#2sXV>@Knrwv`}S=^7Tlkr@5U{L{sEC>JoozYwdi4C^#E_X#Fk{psO3WZvg zrGsDbSOGD*?A9fKYp&`F!Tp*Pxe1Er5^|TXX9Q(VQvm;Wsv7Nkk`8g2PrMH6(?4O0r(kI3!>psfwQ%)=yjBnS|BI#|7Tqxu~%> zzkzJN$%d1=!OLn2T(bhNVbl1>8GNhe^e9%iZqLuX>7Fm({^eI+t%1`B-B#)hyEU?^ z)#T&xliZRmas)5y_(Lqe=jUKbZAZ?B1^W3|peguy`%=h2H`YdpJ3-5%I@hVBPga5qYE?oe*he=Kh+-Sm87NrMf)T>pLsE_^^T6 zR{C<{m#M-Ji&}^JrCYyDZFVFvoH2wiZR)BF;0XXY#9tQ)(#c^Z&J#+)Fo{bUkK*6) zI07#Invhld^Ed)MrvU4HIt77?c>(Oj)uo(y5A`iCq!k1`(pXYYe6(x<3(3qLDDWXX z75-IgOz@FqYrC{S`%p>MlTH3ROx?f40>;bLM>sXX#{A}Tg|!0Bj(yU38vFrTGeqZT zJOJ=x-Ev|6Hf^tdGQ)Q&7jituuCVg-Zm~l1-a^*Rjt__6$h{^piu*;0EUgUjhf_H* zB?qFHh6*p_AgeN>LS>YTo?WH8OqzAI1^7aqJ0`)AG5^xOY8TwOx9BKEuzMAZ>hDUJ z`s~`D`rH*PX#ohJz%{(>y*FmRw$E~ct$_9=D`gEhN?up9QwFIE$r!IWUu>fL(oTn$ zL<#K=6og+thwzL0-$tA?3;})4m@mabSy^L3|G<`#iwja!3Q3(>KFbnFSs~pEbveyD7IC4RCw@yp0-L$o?E+-RQX0WJ@^_8SDI(6 z2Tm3S>MB4ET8MFYHsInU{C*~@g;^H-+&e3~PxSe2ko;~uYP>rcb)ijuawvv(E;VEJ zLd$AYQzb?20q*x_+mGB7b{U@7JS-D_3HQWmwc!Hvx6??n|MyyD-0UiMXdobQ>H|b7 z#wRwwG0|_0nvi5gZnt|~OP#0|l6@Ctw^pu!16F7tkgO?VrW(a!rcOuw0LvSqEcf-4 z^n8Qn*7zEIdS{;V9`JIwA$+;#`O7vYD0$F-Z5i-{{%V-v*uwn$VHb!dnH|V&9gu-e z01n^RBL&epB>8dxcPC7#14uuH4zu~qfxNoHJA5W78GF?E!jyb5MqlD~$T=}LDA5l< zXauKpk|m_gT9<p=pR-$cj?Io2<#0K%P!-~@@!>J@7| z=5klkZl|<4jNE~6NA1_QuagQ6+bV797aA{#eHuDab1*1tsn|0E@+kZ5)EeO&N7pw{B?TynMSkib=^8I*}(ZPZeozOUmJQNhyffxxTiwl{BqE*OZfn^6y z*ixKEEx5F!^5x%wDxQrEJ>(yZT1ZHl+~LWqp8i`wG0f?Rytj@jgEz&osDk**=(!5Y z_h>u4v{&=@z9X%T zjt&Z`0ohDkKwv9k0pX4zZ};=rPJ-90J4>23;dyGgw4&DCSuaVOh=Z29VivxkF|l^^ zaOEntYKiAl{P$l=o2V=~x6unJ$+QTFgxq>|3#zJ(DFs%~z8$9bQp0N#@RW(U`Zg8i zu0oDx3r{T_XA}7wEf3q9T;yKHK7eeNIXV5k;|kXq0OnVIsfkj7G+|3fz@h}I_jr-( zIxU*E!u58f*JmF`98s{KSVXC$%ROn;{JTqcEtu(=G<_PKl+BPbTHJEjy>%(*sL1Lx z?nLmfh^2_D<+3Lok&yCwRzpkAr|AAW9nw;hT*pi$RXbX)e?lk8m~cpf6;-EO*y+@9 z!gmo|fZEHr=$>M3>^}N{YWI!%qNVff7gi5OhF1T6zeTHNB<+rVqjn2ka?L*sYm%Km z5P!qrC}NUB{LQUP$}3Zl%q_(ctm~#f+k?nj0XPL0V+o2l1wH936L4`Gt0IQL9`Mm7 z^q57YPs|bDl_g4ae!G?oIj>k&~5o`YzWgn6qPzi4(kGd^zO?%Jp7lHP8>A zEaibh=Aa>K!x8YC!eC+OaHGOpw}?VSKkFEQL01Vw(pKosEQU&TVWw{-_DB!@n>G7C{_PO;M@dkdiEzP}ub=z)UZSqsNU_F>?UA^4kS~U#firP$ ziwkM9e;?53Xk_g)IFAt^B5X_Uzc2Hducx`!5Vojafx!n5I}aC#vW_hp4Dz=iw79sR zgZdil;H&UYlADgdn0E*wMUOYqjkb@?0q+ax@8Aq;DIksUkG_LNh0(Aj$_hew<%gPM zW2AzyMr7-)rYAmKLSyr}=a2UGYqMX-(+nYm)5&)nXv#V}&dCSFQD;x)4g8nbY5lJnZpdlasP`fpwFm!>mpoV~V=wcGb1?%H{_}t1~`rfK}$> zDld6IFr&rL(bX-Ey_Q4kCmo4VUaj=sR5ZCik*Mt$4V@AYgSE*#+J0CCv2fvp{RtLg z^Vye|f@4l#uVjMSj}YGIV+;wfphV=K$#8R&t(XTfZ+~m2T|yX!MHOG}0NofeTXeMcWz zvuS@tqG~YYPFm)vlhe$J97-f*NM=}C?pc29JeXO}X1+#K;+>$i1Yh)5ftxQVVplq2 z4Vc;l+*U_mKUW8_3oXC-ZHUlRC6np0GGsrIqOI} z_sk?e(e^g}2&g`Tz~-~G3&vHN!5^f$Tl(kOJU%Y>kgU~*^ZI_Chq3+rn&d~bvNM5@ zL^EnnNERZg1piz_f0_4&L}DdaLQW(>@>D=l?oz;z7NT+I@X({`^E-v0XJ@EL`NvSO78g<>|tIXKcz?!%PZvfl698v(72mVwAV=1 zf3Ep^4lY8TIVDR^Vey8?!U3?lYt@9~mUSH+niAQ5Jb>jiKZBR67LahLe{@y3$p!C`5z?Tl3yv$SWPSoV({PRxk^;@vuTkSABK{ByIn0$>RZ=KC*WD zs&*OZXl1zUiC8zBv6a-$gci3iBPQUCGx#CSBdjLl2J&0r7Si4n3-dAZxtfj=c}1(C zhdEPpa;cnA)xv5t_>t8*aE`otkIRVuyY&4Q5lRKe>N>d|7dEXLAyc1z7|HkHkxR(I z5qO-Eft5Y!He5Uy;Ch)PW^A@6(92bxz6d^gtsU>wwkl9cMfZ9}`DH|(h z`uDk%rIsv;`}3HsxDGp*d+&GB%&uKVD@tk;*a*G#qtB)cU~UNJH+!=DQ-9v~U_x`P zm3dDsbuDxiiZQoOFCXR#OXyBqe9~Q_%y3U{i{q>rrX>DTyw~8Gg`o-g1M_9bLycH$+^yS&;v$oR*_I7 zUC0--|F~$I2fRT8P9q^X>6+gw)`ptKHlD)LG){L zX;fu*8fmJ}`{>Lm0&nE#uWKt%lgocKNCuS_;Spf#(5*{F&+>o#ko2ZNP;HYn!CAPo zkP8MoGu$uqP+2saFL$1A2eTFpYW8O9K63c@uqzTh_05?`m<(x>D;iGOuWq;Ub5NP3 zUnmOn2Gp_-P13N2BHM!3i6D%@x8)N>JlZqOGPQ5(g`xEd!)j5P@{;Dtx^n0WlgRld z_Rm}{2^GXe1D$!rO=@Cp6KmX%W*^BFvmLh|Fd9ZXL7uXkE=;=Wm8B9(=xdeBIN(4c*!sC)%{Q*+VXI5Pmp6w}Wmn}WhXN?pZ;(X=jMeG0vZrs4Y*6wZz zUx3>PhWB4;9CV~lDJtWBwMr60F;+*3-d^o{?*?%biOpJ@DrVZT`H)0vZ7mwZj<>N( z01E`1D`tM*Tm)%nzV023Br_yu4Mk2*NU8$NyQY9lUb%k6B$i9=78X?5r4UT#1#|z0 zBi1OK5r@AyDdgE0b_M9Imc|inxH z(Dywg{!HFSj-y>+-C2q|80mQ`0JeCUl|uElt3k3w<>2S+)(Vjkn1L`eR3R}gkYP35 zH@&X}?xK+Ntz&R=1ySGmps^8EK+fbH*=8Oo@U=^+5$1p-qD>#=3LoU>iBU35Nu{hx zsL}9o=>p6i))|B{ZE~HKK}=?@XhXQ~`ThI`m@uhuM%oc$zU?0vQ1Pk+rdY;B)^v3i zvb)lJQ?aymCAI{AJz<)(q7@w}V6Tv}vBJDMX=&e|6ak$sjO%3r%M4pSMZjrradLIlaqCeKi-#(b{ zr-D!P9uy5k+6X4Lv zv>%3DomP~6Q`GHx8u2@{`jAFVo@f>yQ0Te}*(XS!;nYKXEkrimFI3?vjf-J_374Md z#kH*n7;_t~JrwrHcf~2z1cYNV{S>B1)w1(iacPRUM^NElZ6ruTghHBv(}@#FE2vtN zgxAJ)E8pd@#6+1hcAbncHiX<;mdxL~lV+>o%&BY+cD6DoA0IR+3E9&PQU+n_T zxEzwqLc8osu_E58Bs@9|(4xlMXa>=tH7XuM8W|S*n%MhVMnjDPi?;pUH=ILZXWNfE=I@3| zf@-&1hE78=s8e+UU49Exl)(a2p*y!16DlygmVJsk0;TSu9h1&>~bV|s{5w#l2;m|On;w0-o z>>JEzWtMu?^x-%mGB3KUZqZ+9s)1jIW>oJ?sfvp}y$YSYVbZaptgaflC{y>^;eWX4 z_eFU;J-;bAIS~Dr>{d4^nU2~h^&EXEkJZE^wO9@Sf?|r}>t{e0eHdu;hIv_$su&2JHotuPds@KXX#HDse6M#eaTV^S?rT8N8jV+u}_FRa7z*+1Df zPDX_Rq*+I8az&LN8s7Tu&NI8<_WJ|yXaarII_X{R8ucEtV7kyAVttKr769Ku2>9sIFw zoek1}4THgxy&wm09WRVs#=h=Hsoy^@Sx)^PqjaZ9(%IpD@S^ zaX?Gmg)m?B*J!=Cm_xGoU1n>!^{-=P79Xc^YW7w`W3t zF{#QhWnEb<`O;mFK6i}35HaRgMCt4GRY(-)jSTowu1S?oIs-(vJnAi;S`4R1J(ram zjeVCLY1#KGf`m>O_^l=%f_#4F+v%Soho)2r^%?c~+)X@0oxxo$yPI3t4*Zp-o59fv zaQQwio7xb)7s6_)zY-s+hwm`zy$Mu-c~5#Sb74gr8XKBM^8-quom5e43Czog4yjH9 z_T2}Xj2|V#t}k@%2|73=%@SnYplB_2MO;p8Ew6;z&6#fNjwM!p_FXu~N`IpS?_&Pe z%_I94@6y%$=&%u}KDCU+Z;9N3lStfr5+inl3T2BcGju^l$`orIujY&1~3Cd6irg2UsyP=bhR1=LVdcI0b?i zoak6R@Ve3y;Ju}xDqtBU_cI*X%Oq(E-fFzmlY4g8(L(4Pa@X`uK{iv63TqYx6QoxJ zN2$+qPcg*GqYa=l_y&-g9TAlQ`09(Vgi(;lS8PAM(5e|0UuRQ`zDqz5eu{)sE)#O6 zxfW$SAWq~r;q7~nb(Ven!Q2WK{IK$(s0AhgGOxhWWK=|D2bRWV1ZS`H?WDU#r*cTHqf*+ly1x_jX=fH$v!&atuoa`16n_OOvo8t0HjBJFkdR+Mj-u z^tFV7V;^d=R?fZEmuRCcw^RHi3B!xs=>*5!sE)%XM-c!$*cY8s|5%G<9-G@3?_RB$Q%ZNDa@*P+U!8n78nmwJ;kVqLbd~6NPZza=T`qb9 z6*{TymLo;LX!@XuRyMD&=M*J? zeJ_shIP!5{5Z1H0jr6@TNMHn@vRaM^M%$142r7mEC}D(55ngGua0xI~?GU4@ulbTI zo6xSAflM{lQQMJjVBd``AYqUuYezZf%GlKa^){fY`)AXk@AwS#lga+b!RFFxU?J(` zZ?E&?=Wg#3vU*l=JhonFe+E_X(JT}G-g-=IeZKrpF)F3{tt2pA_ec`Uj4jd;pFfhM zS;bJm+#qUNtj|$B_Zq=oA8g|jR#wwi(>$-IW;C_vdN5StW3U(5 zRl~UK6=Sz_^cu%+wa@{bvCx5t&T={Un5iCOC>+x78n}yR4{Ou$M6kSTBldus!EV<) zj~2Zlehe$YoE{Zszp~`*!#pyHx1J#NZ6qCFj&%V`PVntPThxRKt%OCwRl8B0jTwQ( zrS<8Kioc&hre@l9A$~n)BUz~xJS*O52w*QaNb{UD(6`k1Hh$y{`h$ZwNe^8YIVlAZ zaeHTwpY}VMyWqdtS*z|2E1oM#jfv`PdCj|PUw-GY?;1zEmAr6E-D~M=D}%DM20)4mZlHc{FjftgP#%f zeK*;C%})ptGedEQ*HL-OC%tK3{VuB;WeA=d7i zu$8v&DEOTP9;qqRl|yXjA2zAc%d5 zI6)LBk2y}sLnkb173N4+tAIIw?IGBdj&HZ24wp~JiM->Z^wWA)dq_lI#(i+W3&F{V zcPk2+0F-vp?wjVQNX0w#iWixX!gbHot*RQ?0xZD!VObw^B3#9x#}};^SWu(_+is}y zn)1@Uxg?l5kq^T_u`6?QmVrnbjPtw9sf`>z`Q96Yw0%8d?hbzZ25_)FZ`bVBOx z8g2n%mz(}>0=*n#0!{$AaH$x8P~9*gBPMpgTlq)JwDZ@GjPxoSF60Jxxu3nr{qMUD zk`umU1FY$B&dx)*HsU=zco#X)+9hY82$h+gEiS0{_W+g0tPq1K%PI1&QJ?*OJMOE@ z-~rV++mwPgH-v@`^TI5% z;=bG#Yf&jQNn)K)kx9c+ed^B%y`Hd`Os0v?r*z382N(0^DKNsDiiDT$XwXiZRnnMR z&sZo|uW@y7aCs1$2#X2$z}GyD6_#l&8_!c*r79}BJ@{*|j}lv$$|@=L2y$qgE3UC4 zqTq<4iS)y5&y+C|Q){FoDF3h?8$WS}Tsk;%Hh8`!$TB|T&5{TRbft@$5@Vk8 z0Qp?CATuQlxT!U5>=m(q%us;gz(UA9rCE^K4Rx`!gg_Z!7%c_}d23;DDh&{X^o7Be zm-eM0_Pc~?M|NIr`cnms<{sl{B_>!*d~I-A^wFj_=>OqO8ge(vc~pDQ+wbH(!B{*zGduZ_`rDj8I;|KQ23Ov$No>2l+s_CW74O+Z*~knXh_$2 zq_{k!cDoe9Ewvxt<{tZ4D!YBFwOJKUu`Za&@-|XPd@TaM;>(ZKtvA^Fn8;utOX@BB zhGjOPEk^vwgK(AwHt!%VDF6hk!3(4n6guG+#Q>fo8&}}+-Ci413K7_WI7*O9i~ELa zMOVt-tNB*gr`e%#t5wgeXSMtR-E`{u7naBD6;uzqVVJ)EQEe{uf?`d-_+x7;Ii&qf ztl;pJMma+Wa>>=3(M5k-mIutRZC$ow$o56TF6^mE4r&h9f?CZE&4o8Q8lrhWqJ5+r z!M==~H3QHhGE{5UK|Xes+$xxsTi>Zb7-0x24K-yr{C%N;oZ#V4@Ej&I7Dk?pA*x&I z-G@`9gH{3BS-5h^cs7Z98e>tS!KKEJa|!javClG|cyBuz6S4 z@_Bm8hWZ41US`6|Z%46R5vMKF;T-h9pCP&eM{xl59amUS9cuOihH)VWTVm3!CBnAO zZQkG*ZMfHsQX#a}ehYT2=xeWh!Z3VjOm`XK-zpBoo7t#>RqU4cs#Rr*aQiI`9X1{f zRVO1gXk=p*T1@4vMrNF{aPA{0QaDvCFwSmfOo|g7%~sgRjb0)<;6?u6M{#gGtUE5n zei5Kw1;PZosD&0d`a8Q8-BPbdRh_t`8)>pc3cYqI(*uM%rJ;3J3!$#iqGzD3ShpA;^5EsbXW4;(jlKhJSrJ)Ql{TFHf0u3m1u?mCa2vjgzG+F#&d5Z%KvC!U4cp$wU){6o(RnKttdtLNL zaMfpc=2+!zzqkV{Vqgxrd%=dT3awv&(zF_gc`ne+jeA7cu?#%!YJ-m*h`?;d_ zsr7vz+0soa%^^>dFr2MValNa*W%Y+X=&uR$itKsz_39~^y1)v(WCvpAMu>VcG!!=O zpa#aEU8k5p4(CCj(sp7TE?C@{IHYN_*ygD6b}ADaG|}9aUsWyRh?~iV6841f1Q)B; z-KXmeztC3b!)9At!$1Hn3)H;%@L1+=cVcia455=9PRR_EIyoVCXa)+2J4?B!d88z* znfXERm#eswhAYqk(H`Pe?fooQxgxSUri2RcSdr6_v)PqRw*9EzjPW>vaO$!_y2vf< zZVn}3r<=p1F_w05PB%fkCRIPeu@LWh1J>=$V`eW13nG@onZfXb8Ubp4Qt0Wny?_WcL+s3+5>abnbZGl~`34<`mGJa1zbOM=xEmRS8URXBIqf2Ty-GK`^F@Wsk9KL%3gx@?HIL^ z>#u{6BQ~gTCx&@N*wK2Xxoc7{#FojV|LuudN5`Q&v12Pe%H!r{N3&F-SpXHT9c-68 zemW2OFV_A};)Jmqzq92G6l;8M2{n%HSzo}YO}MgBu&l3=RQAe~{u*|mzG(HkFZ7u) zdn;nR`(NOZyV5o;^e*LGDiVyLnm{I=4htDr6P+&ZGt2RLOv5&O+;PLBXL*kr8-g`L5ZeJKLfsOlPV#}Y^_s*fFh2Z=Vp&zBzNM%a6#cR?-#(QeE7vc zAlP#$1?ab3gwTZ^yUdTPuYCJQ3B77c)o`vF5}J$I!2pw+0*&|~2Htf>okymgxI+3v zq}iv0u6x=igEq+v)e~*qgV%a{Hn>M=mn3$%rtZ(3M!}jEW0n`~+P2Pm=@T`*7x5_* zfYP~R=6)x0Ioa(ZSpa?-pGcbB>hVsm?Tz5tre3>enZ|(%$yv(CV(gFbiW15X23eAB zng|)|*!GCEQIIolDE5Pq)Y}H#-##Cu1$tDWxix+`u21rP+4hR_VI$b&p?t{eC@MS` z;4Ov+mp@#$=9;xUk&<~&Ctb?+85Xuufg(T9$1S!hfA$<^ME5%`^BmakfFH-`rGk=wA1?6Qr`{hM0?CJwS3eD$@6(ie)R zfklO7(9nSnRAw|@NS|sfU66uays?;o!U@ZaUKQAAGUs?O*O~KZ9+f{SX#c}3q zb4&44m!`@(43=4CJEhgvhsB4tDX!||^JQFc#eXU~K5;lXbl2o&Z4h9*Hw*?+Z#?tV?WF0s(8Ov)Oa%4+{8HT}J1 zv9W#PfX|UPiKw_5JU^s!OtosyvDYZ1#${b(;X!S1cWa7Qvn^>G9L(|Ls$>jP{;$|Q zijDD#%w08lNb4eJgSv20tbNp7noR2KSyz`z$h6(yo~W?_Nvi3@vJYr%W8mn6H{0{^ z+l<#VoRT`3&^2u_wg4ZeN#|L3JzINs!O!b|#ZBdO43vdRt zvJwnGZ;C`A1G_H}!D9lS-i$Z`7g5=CYMLg|Y+IEaZ=8Wy zPKYqyyxU@^0@lRMtIXS*u81_-HVSS$(WQ^eWx=L#OL1{+A1MzOP#J88rr|@jN8tUr6y)>2aX&(%rR(bU3kmO zr5cHuKNO5rVF;4Cf&>?lwyhVub-#_X7g(#v^4&C4I-m7c+8~gmg856}!O9ku!5^xb z-F+7(F6ZxX|BPhz$driCJ(NTUK0KzXM(f~he~zcfWYWh)zG_W(t}wH1_CY>wg)h(~ z7f2R2(TdDgqLWNhQD;j;Q#s!Q%u(X zdyJPY@jrKtt@A&(A(l%8>OXtPk1GG4eTgQAL;wZj2mgOX^$FbbLjT0{3BL1z|7q&M z7ruigBrOwxAyX$bEmM*B^Db)t|C1pA`M*!0|2B2P+cF95|Ka<8GSs&4d}`N#00B`! z00ANUzi5y`e+Sb9I%RC@isk!#De~3Lm-lgKsI@se9g+h{@En$ zS)wK}>vPcmd`$K>|KrPbPX6!GB_&>yf=m8?uBHbM6^Q?=1OQq7KdU`U3Z4Xth?PW5 z*$*=RAC?JV9f#NDy6^r4V`U@n+CjMVxV&w*0#}@Xw)}* zB0uM01_Y_$(X$RD$Pob#2GRZ2*tG{*4NA9*_dq_Ot`P`1*2i4$uIMWP2 zF)Zx(;K0+-JZv6XdW5RTQ-ox)?4gbvS9jD#(jy%(<}A4T^LZ@-*lHl>^y z@0iU*!ZKJ9{`NQX^NpK(ibQO7R)2Tv?N#J{x3T!Et9a}lgWyo&BR&F2vO~5AWwAy!nZvt41>y&f zW~699Rj=O9$W+;0c8|x)p{fI`mdxn=O8*A}@2}mhGClL@a*bn~ecv;p;-e$bI#Q}W z|GXzy4g&8S>=@+%rOZ$u7ayN1SEo_znV~=ZAG4ST$oRkSZbCcjFd1`wA5S)-&IV?d zs4zfpzwEz9FS{p<2bTBZsPhoIZ@qHVqs2f0w|jmcZGaQk-TH+NtA{WBAJFe_VARty z()5ae*YCByC!RA*$3(d9*Pp-g^Oqh8p(L|PgC6UL-?FpAB=Qp-<3}!whklIakHMkU zEloYFe>}EaI0(Je{s_~_1}l36hM=}Nz`_DL$G43TqxzbDM&=*G+`)e-GfQhZE@!+0 zI1^dupbP1ArZs51P$_aL;J$r)zD$=RNdZ`K+I07ti&0C-C%=8ZR+2h+@C~nc8j~seFmB^D++@S?tfvVR{O<_lF;G#!0)kHF zLEt0}=;zwHDQnNJ@D1qGGU2Dd(akjzPsoTk8wFde5I^+BqLyy><|w$2wwtE@B#x5E zQSL~mjva9o`?Cr}kLlyRe(0Gen;d{gR1Lr%uroQH1g4_24XeX82 zQt6cfgh%!3w;$6Jmy`tU@hAgN!2i@vNA?KyALP`PM!-qz-H4h5Qe?R)?+x<>cd7|f z7R$>`sH@0$d$vjxsWB(xZMC3@`Uh`nJ%l;`Uv z$WlOGjv}Xu%gl5A@w#rmwnb(D)S_b8ghXYVzZv8LXHA4DPM<;d5JaQ8u@_77Np>|D zu>OL=_RE`p+qdvz&t9U6T!Q|TML1O-QcM-6yFF!##Pk6oCn=+j3z!ZkvmSty|;zC&(2zpy_m^_?N+0V0E3j4Z+k9vX7>q377h?kiSzzg+V z!vlXXLUY|6zjT-}y0cPuFeq$u^l9V2dS5MF8(Y(N!K#B+GqFM@(DNsAtGqiicmc$yj<@ zjaUJ}qbm5Q5c{$l;1F<>|vWal;!s@}J}5300XzwDjQD>C!b8Mg^R` zT|%$4t@hu1M&hYbzzAk%z-;aA<`V0zzeE~>>{Z~Nh6-=-c>YxFt*J0zm2a~+L8j9; zS?Qn0`pZW*XT79hGrxN!pU8@2f(|Wb5`GB+{QR%hAz!TCM55|L?7EvXpOpHP_6}Orkb^% z!Sa!l$fkErVGqLrcBjOC8+xF9$V!jnjMes-$0AhGnnMNJs5k8H>>37S{3#nt;xei6 zGq2lwMP7oDo84&d(FJf>1(Z1c;kmC~$tKz--`r7x#ix~X%bE^7kuM2R~&CU!D z(TsK41;R{DKix258ClU`ieS10c5x=W>E3?p$un`>eBjf^*wK_`FjYT9o|QTJr7(<< zVN{rB>1mq-;4@bT0l%VCrPAhY^(3VkB`Vo32-zX1o`3E8dn)#_J1Horc! zAQVoQLSo2aZmGUYYH(qK>5%6q30|LD!w%;_h|uX*Gu#FYnw%0JH5sJn%f*G&8F;=r z5yicPN#MB$_=(d0y`3P;ZAliStLMIO$UWIq4^{FB*iLQ1pX9N=zS-@`!G8#bPMtes zJ0(Gw$c9c_#3nuB%R)w&^rs`&|3zFw)@yJKy>0OTym2_?0SEURy2)iq-TldaHV^Q4 zK9L7u-=ml+qBjO>$@0iU0OE~rpA7mF5=cFBrZ?7QK=;hE%OZB3$6!P;a84eyshQfZ zo@q=9z;0zO)iFRvAbJ!<_z{8YBaaqx&X&t(GM_)E((I3m5ILu03)FYa1t!Xg(YSH# zp5l_OH-Bf{Ah>cm_sTY3$HmMT4k(?6QGOP}Sit+u3bAkLCfO64wg7v6^nfFP0`oJ? zG7Bu<8SM86j=9@aAlh=qm_BX392oSgj|IB9LJ~WMm*BN#GYH#cqGAqgPuE+hz5fu zEIUAx{8gmEGkLHF4a>-q&4&XDFOo|SMP4>MA~1e9HNkN2LwphF~Om@0-1 z*iXLqob@*|PCetI)kJs<>QC~VcEF*8#ruptmCOdAkKqxn**J6b0EWeOA@U$O8c76u zIOUmjS`19Yl9rGmNaRwY{2M=f-5S?V-#s+iB)XXCHvU~JzX^mXXBlh7z7Xk~mz|wG zZnn~^^09xN>?8kElj#T9-E^7In)}=asG(N-{eph=h&jhjccs8e=SVJaN%~9W5|rQL z)p139>xtpKFttI~WkSy=%}+SjpehT^)2M|q5V2lfa=}$&#TIFjb0AUNa>Bt4a8B)x zHFUk3PV1~$_5G_on;$lZydUJdA^5MG!16W^s1~l#m7H=%F=EXj74sH=px+J3Sy~MqrR;^&} zabJAc+MD@b3e?+eWzi6McNF*mL@!qS=Q+(ptTA#6$)(ZcG9?s|zzF8LB&SF8+>=Gu za_y~O_MZ?m7Kd0n%Yvsr1c~ZO9@c3A2>FW@!C2+q)ir5_p1Jh64d6D(IMBc?f6?Q# z|89-_xN^i_-G0@5gAb4Ef9-O|+~9^2x5mG}nid70Y+Fi9&}e?n7u z6qY+#AAvmnqVvIFtVV+tXWrg#_a&qT?D8EQ(vBWT*zN>x*oYkr>hycz(;LE%KJtny z;zw4Eu|c}V?ixNSfGIUOd(-~t6(i%0QAa&(0)8I*+T0K=q(P-)+P7}q3wjDZ`C^lX zclCjKn`qmTl|UgCUhe7v_PPl5#{&lyipv-gBqScglT7JK$s(3uF^~~f;pH|f2@(!V8=xj2G=gOTkj1TkU)26sKC7Qc z{w@eaFd?cKb0V*vysiHNwc zEQLFIQs@KAO%8xBZ|+;fgufPhrt&(Mlp#y2C)KOu*~tJoQzhkDO|a52Ja?cS$u3j% z!*hnH0gFw=myFb_HPXAeix*Q_$N8{*T~*2NJ{A@JFp2K~wI2umCcE%A6A|sMF!7w7 zZ$Q50baqubXq}FtDASbhlN>i+>o7}~Q+B|OCSp{iC z(J?RW(CoHI?jlKf9}kU17{ZN7ntf;v^fT_El1&Q$gd@fNzQ9}+n22qPXc7u&U(a)Q zBaDrC7+;e3b9O1+fblQsBvIBZL(m=Y70mXDcO@T$Scr2%H!+ZWx(78X_XO#@cH^>lXW ziPkPsQR&gkMPz&2>_eBy2Mzz4ryryq>sge}a4atMl^iUoEvs{N>D4Z?+;TP9TzXn7 zRT5p7W((ew%+*9NA2D#*#t3@QBVtWb(5WoIw0fMM3`o3mSRNS$rA&TzR1W&X%|D+` zqC4>ZR!)8njmTxdWr#89zEO%$e~TYRV>x^g_%?hATZ>hI+`A2F*|2ie zIw>f~q;;o6Fl6V5Rz_5F!rk5Tp7IR{n@2dT@C~Wu)Voh3=Db8ro^s#=W;`T${X3wx z8BUGo*2=VjtJ@(qbB;b8_+fRmr-wZ@Hr$7}q6WAca|iAEgo>uwqM4W@()nbjNiDmH zvQI9blxo4YlO$S3o$eZY%sKW{>FE$Y^k=e>?~n!9!2&<7vd@R3I?W}j?p z< zZjcGeP*p(J^-=%$!uCq@vqrON|FT^@^{!Zruy$8zKxxG_9SjZIUC(^!f-+fy8Ch{w z*nAaod|vbbv9s3(7qj%yQUbtRV*%zFaiZU{==y;AhWEd})RvPFdON4vfcroie~mrr z4CP4E6t-6Cm`P%cq7`Q;w8s1k)Kd7>y;8@+135Vc_vx0``wppqCq*=K9A$i)pKLH{ zRi9|T2e$i|Yu9>$orv2U!H$||R7Rgp1T@9!!@9xr%qBOfkybVW3;yhfuqio&ZD_vVEuV#WtEM2wyv-o+uzfSUgKW|q$%^f-7VKwttVJ$lPa?-oxPsfY|p+aFKTP2+LueRO6QI*bqx(#~z`<{Q*~9KJF{-*dN#m zJz0KfhRzDo)z&PA69mY=_b$oV_wFyHzUm%5Op3~z{0^_vSl)cx%FTwEYAx~9(Pcf& z3KoN?b*FyikpuSxBmPM=+vFYeM_M0AelXwfa)0zxYv0W`->{JrHaKGbVew5ZNy2=* zww+*+3xo_aiytZF+_hncrM%ni_INh`{jbgu!)c>|_Yls>-~xc35*Dn{Ao$u{m^@KL znu~T~KQ(9U^@6VYc*|ous3oyj-LEb9h5wpz{%gp#eE{Lp_-3HXo7`jy7S$KrO1EB!AnF1u@Kk*IyWylmGn^=_O%t|7kQEq>dP$i8-aMVJfhI+DxMgAR*`XWV; zRW<8%-jLNLB$_yrM{!95;!Sz%Db~$ z>rc~C4bi7X5*&aABd?6SdUX-WR9a{x=suOFnZng%8R~se@q3>4ibwkxEbzXzN6<5P zNGj+>tqp)P9A6ty*o!JZ6noHz{#>J}uphs)ASb2vQ`e!7LxMDlQ^@y82BOBiz(!YR zqN{TvwQ5#z@E|LjInetv21t~H+%=H-DDzr@=c}42jF5UQ#c!tK|H!tybQQ`DyRH%KM;x=#nqOB9$AU&cRX?4 zHl%5c+fF0DhwOAdCLGyZ7Eoj6YWK#d$?*a+#)|S)F$HkYgqoG@e(Zg-3L-h+U?O3X z-CKF@4e?r+)0k3cQ}GlgHm5o!#)I$D7F)ssp;Dylx6dHfKdVQf%~J4H_3KJ{9ZpGD zMFJ9{HHCyS$x0)_vwapAKTjg>+pP<+<|>fGBe~?H-4xOs`FJXfS|=lpag&<@u*W|z zzdsdmeq07j4zB4fJ8ZOesjpFtQM-Cl5K7irvIi{}9>iqZ>E{(#7!*{pDvfZQeOK<9 zNhSzJq5oK?ST2B^Co5zE5vsvr*=dh=3IaMz06@B53{qG5OAq=Ys;Sy4ay zXzMr)c&LI445&{R;z2rinc)v@=(n4f)sLZDG`w}k(fp9MT0YU&-cJkxvSTdBd;mTb zw{o5eGsBr^Vmvqc68_0PWg8l5F=wdSW2Ie5k*o6u|1r46x7tvRd4@Zs{( zi~Mnm++XU@94R3zrlZ(4l1W3E8X^I8P5x5d{HznAC9QxM^d``j%6p#@yAnSy(LDjm zE$%URJiIg?RTtJ8M@BHwy@?yk62J%(x;Ev{yLI|tJ$GV@lB__UmJ3$V`CTW2!2&J# zGuv=Pe`yW$xw#@8*Mw8yDjemS3>Tj$ySYkwI(kqNzJ`nkds-~~DGgCyof4K5R7X$^ zZ!n!7{puRnsDY}^Y>=8JENFJV8Y3#$KrKM)`)}({ZQ0l(OTiz3uD%I^Qb2MaHssXX zwXNu*hD))uSHz(jQvQBs6tnyY_Dm7R^)SL(z_uA^kHonV+y zWTP8+AZ<}z!v(?Y&NfV!Xl zHn3zDW@}PbS8yEKWPn$_HGD&#Du(Yxk+&`JP5s`_Um2p6J69+aeL@?4m%*{?cI!%n zd7Oz;P&^pZhsahQ)y>SB)@L>AOZIIlffX2)*Ww!`SnjPYDjYO3A$7F)gSIOa^3rrv zX47DXVYVq_LFS}I3`_^d*^?ZPs5_6u#p1Fo@8r8^|41PuZ2%vzd%M$&hm62zcyB?V z3p9i1+Y#}`t@Dn-)I+2?F`0w3M}{M?Rx07Z2+1rqrQ;;Htf*5Abuk7T^>L3+f|E+E zY?J7$uXS4Bmz@4BsFHD6%XJ;PXN841o8m42SaY^u)~Qy66wW7pFoA|Mh{M2Y-|D*` z#cDbaqucb844`Wyj3&FzBp`-=uC4>jtUSa+ce~~CFE{mZ)1G3cay8K|n@1b9N0dkj zErTZmL)Mp1^o~DpTA3(t`S6h6YX+?f0d|Z)GNrgqEgYj}b|dJYVDHn^1J}w>RPp}F z>LcAu7tihX_*Qw3{d&ohG(2Q=(~xA|k&s44ItBi@07P7Awt^ALB0NIEz(w)R<5mz* zMUoQ$NjJyVEE+0L_WRe?mmI_TQl`YZE=wL)KSHcfpMKlh3HH8CNxhw}h~@mjp4WS@ zLPC6Zz-fk6THDr+^5myaFisjR*^*um+fr_8@5HTT*A009?YNVMf@_qeoO*kCabhq9 zvHPk(2Uu&7TCIJv**_Zd(jyaDce<#EI*Vi0g%E4>3^*}xMhvTeYu>Nrk1Fa)@(ChM z4+v-LHhy*z)cR0%KVB1fa2Q{1wV_`S9#Z#x5a&MVb&*>-Uf}l^^tPFklWOM~fQmBj z05O43WA^7}s1LIqdP%ol^7R_}8iJY5ELO^?0xT^jB1gJCcfmHS!oH@%DsT{$jF*YK(i1fXS&iKsWo#CnpSH_l@$}NCW|GO>n~9 z1GouLS?Nqb<%lo1YvOA0&j_Tn%AokQlFlF zyK!eLbxzb^CKF}F)qJR&5xa`^Ctus{N>s!=E5+F~#A~5#T8TU-My=YdN{HA!16s=_ z6ewHvRo&_eD6M;~3%{>3Z4o1yg&zClU}~TW&;y#pXi`Wrt7hBc7BWZFGDXEd3&;sE zDw0ZR+BVB7ix3eJIp;+&eM%)SeUvcJzmKTXrOUq{mESQATxQ0OBPdstRzTsf8*F=v zT%kd;*nXjeRqmE9#uyV85p|+f0J!mLFCr~fdo?}sY==WQy4n1W-M)ryi&2N|@}>`; zvsz}0$1sa(d8`E-RDhE&<^{QFr5hXNV26?i(4srf18_5e#12O2PL31Pe4*a>B198R zpslF0Hpe{oFujV$G+lZoi;xUdKuBmc1Y5mQ$$eUW7lK@cY7XvLK*|_=17P^1)K}9S zOn;9vN#|~?WM>P|BkHJjN>&V3xuQFn`he@hh7E3QftL`)Rq%Vz-&*-MqSA4gbQ@e} z){2u#{PY8^;VLm=e8P-YD%IHYW8%;%1Gx!upx$8w_1OchLQZQZ?63qd9&TO7382S` zKO6QafH(GTuWtc$;&*Tv00E6vtflyV{rmLjjl>fX8B3`b=)Y_cxeJU1fp8YOm|yu$ z)7bk=(gex`&N+hkm;5TfSpBiiJ*zQ-{I3Segx^Ml`Cj|fP2fGC>!^;AZctCLJ={!K z>Yyn%(*51hoC0b;BdLS9V9EQ#V~7RV&2>GE*(Ll)3+4n#!89Lk0T-ox)N$zW;5ThI zt6i~lnz7R0lfUXIG*;gxD#4O!%o0MO28V=X_fk#dzAIjqXY_v?mQiFH6hEVEOIu?_s;Ko09@XnWE1mq|gjadz!!-!Qdqz&v1a#z_;-vc`UdZ4hin@}7 zhI47<=!CdH&uSP+3YZy=Oh@y$np#kRVhUkrlx*r+9V%SkU}ajjJhy92ZoUr<4JqND zfJBle*wvKFLK0$U{NAErBWSppLhkzdrBTwXUY%qxd2tG9um~d)R*Jc@8m-szj$d@Q zp$eF?Tu5;n2iWbs=JXhDt_gFJ((uHCQi48S6LVjsg)94bIfUn-MUZzy9XreA#aZgH z77w1JF4H_qcJ;TR5$w3TuB4A|%<7e$pHDgQhT#7}`5;y7Au_U6A}eoN^>xHv-yr_I z%semxRHpbGf;h?zrS^9=tf;pNQaJ(|ul-+!JJj-?1_*qgX&e)9>A49jf~%aT(nfeM zMtlR7fZnWHh+_|-lpNE@I4BUBMD$!98hMbYVe;7lRcv%Z(#X;P|5u7BPQGaOQbEB` zyut``1Nq_)Kc?-q3f22dD z5fAXP0T82}U)hsi%-1_Sq198!2Zd%flKq)=odo5AC^$BaKB!@zp_X<^o|k7W09HG|D}6P>1lGYb?Q_4vFcK0lD={@5MCgqUU`wZFmCajg3l)w-`P>=+gM7&kl}b)|E9{t zesmw*iK-r;h#kK_ss!*rFAi&EBE78)0QAv(24AL@OU$5@5U0 zNd-S??5WRc9{Z7@`Z!}~OmT$QuDIgce`U`XE0rFi?3Pi4GTW>p_03MVbiy2Sr*#`I z5i`=coxG;!>{i#ZSl&6&Q5vs>N^H4S7?M_+*f1}&(o0|Qy4{%k$FcQl<8rn2HmLG6 zj`am+>nGv1{jf-)3p!Q+Y%9GZ5dcz`o6GO}{hn1fD@ZHdi>QU`!_XMVY#mmAIWGeY zf61z6bQWl4ngn_nMv#2EOTlGKHW@9yQ4B<$aM zO%{1tDg+NXTVR&GqMJp&ApX4D8TTbT{HOCxIzomHnsJWxF26 z?GOPEgg;@d2_tl6wS|lBnPJIZG9->=uyFtS;($(6YgjBQLaCVA7UA!hos#NrPo0Hj z)xIT`3*2S{pcaf`pcwM#2!Dnj31{!9m%z5h&xs3*`F+zuOn`DNjbyL&p z*vAq9l@8(R_wcKV>L+zX*Ye;F8?jBNYMPuv)&!$lsbFL9gD)bK(^1$f^N_YC)xB${{yq#>+x!#H+C z$R07H-oz#|CBTv*$F{+NO;I-4Y#_29)M#gSbGTC<>GCCYo3p^e`=nzz(Ro2{qgO}j zZyBv0b|FE3#p`$54;?yi-&+@q4|2civ`r;x$MT-FafeI^aJBcBBu9)EPML+N^SSDN zYd*^E`Vwu&l|Rwin9Y3gbCOL$8QUK*I!Jfq_8H!-OMu8KPnc+Np^)zLY)VIgW{`)i zmxqaEPG&F8!LbXt!o+8-`QVcsQb1NJKV!&l)nC(Ri-2*0&rJpyvcjAD<rH$wiuoc+df^`Ds7r|X7 z?yyett@Q5Q!R~5AjwJxqSZND|sl2tcv3-DfRy;jv9mCJRsMxs4i`zulsqD6JW zM~ZHm^rE)_^lgT!*OAdY^IZWZn3Q;B*Cf(3w=bmB*OHya)GU6L8MEJ_Jwj0Hc{#1) zpu^?b6YzEi;m~F2J%rt}i1FD&noY$HykqUDpA_3fnpp)$yx-8NN^m9}&P3{b7v0K6 z0C<^TEGpR1Z;6ceI<(1cDdJ$-TD{l&Qs0g`V_=Y4vO3O0l>a7YCmkrYD%v&R~N#}(AjE7jWt>W3ZoSS=JTcauL*I^cT z{MJ%bd3K@cJ)pHgh(#LaY%7|4{%g{>1aMV64Q>akM(C(CsnS7X66gv)T1B3ddWup; z_v4|H(Jdd1TEdA+>)@Y4*Kt2%@TKk}P`kQybS$Bg+*dV@6?&g(Z_H84YNElMGmI$Q zRCsTohm4_5JF8?1PW-AAw$K^-Js;L(N>2QE$=^|fL(A839c;+1w>?uan2qpM0?;%h z&m(p^AOh{_{rM{j{}yKItDLdu#xb7UTEtQ^aY&c-Pfa!=ZMa z%_t`CfZ3tmk8vFmg|~f7G=O~93_ga|Z2KC-c9h?NxY6siQL%}b^NHOx%I+1*nBirM zvnE)xmtKB5cxu%-aDS1O5Va~*4Y*bjGlzEz6SZ3d{$`XoQ@nPL5-X>DoCvVII$8>- zxvA%oDPjDD*}*C!GgoBKG5kzOY$}}B9UWa_)5(3 z+_h@xTK{V#$a{+SPMVC#ExZXV&{Cw7&%}+bs*bykqe)-Qd3J>(gtBq)0FW}l`qI#< zbM~uuH}}%)yPEm-riS&F18zJR6Z4}Oii*Q$+@6!G_CUL4WV1;qjPuV5x{ccQMyxa& z&57JDkEI*Mpq+Np$^_AxwoM#O1(Eflz$&#y?E9C~evcHAW)j|F-C~syVFD7U*Yyu9u;-;0)|e1&3oEdV>1I$AX|{M6bnI^a^ZV4CCXy8Yo(!8eYBW`&Log&zpS z?|icGePHhBv6_t+w*?PIIa0T0qwUN$#E)Lp*jwS5&&d*llbV`|K;J7fZes6|i>>iU z-5pb^{5ETg3N(|IXOozj<8uM_h-X1L%`lJe(MKJqM+*J^P`x~=C%_Mo5T3yna99R+1FolrT03_zC1mZtV! zMGq+{BzT4mySn1SnM;qkN%0JXql!fAy)VBzm(3YQx%xg=C01>Cr(-c#r@l|6X520hjUnWS*$2|IyfNgV4puo_ zuj~HdF-tW4QDidlP?eZ;9rJ`mX`HEGJftDbiMDBvIy*LY>8^Ob>0?d%Hy@OfS43&6 z7t)N}g{R^sR)E)a;p>NBz4wJ)l`1j59{m$h8FWt{%@U8L|Ldl%Wmf@ z#5Bh)U4q>(EHn<+o0{1Vzoa!a;BeTp8rRi^~HV)1hNV}5k=^3uY! zU-nEg)x<>mxwnkaj7XJ##Xdz@06o9t==;%5W%eGX(4r)ZR{-?8279Ny)z#?zI6zm* zefp(%R_{3*{KexV=o>5?h;V3>wHr-6Uj(VW8aF~DmZhkBIU?_V5u}C-b`bJR5dA9s zyh^mD_Z54Dz8qYV91*U1a0r8+C6?pM>92B)51)L#8yw47F~@_6Ne+QPg=!w{37??6 zwc^XkALC?`#|OyE|GBh0Z|b>r3*=IX;r4Iq{hNH?uDY9a|5xzGK%boRPaMKauS080 zOiYo##XL0dXYDq6>E&t7A-I4+ApDGX=BdNj_;$Na!J_hY4mQ!FnX!J(f}V? z^+qt{rfpXj5P@rK6^i?INL6XeY}XO8;T9Vrng{hyR%gJ1j8L&tALGRIXxPW%9nEjN z*Qw*Qldw)5InfDmiH^?;y9>LGJ4J1CJUlJ6!d$ZLjqBI1oSoji7Y38t>qg57Vr9!4 zV4WGRdV{(hslg;5FP>+jU%U|`&B9ECtI4OxR1!`crSUe?xIpL30u=QlJnTpW#|}|T zl8~G>a0meF^dO{Rq`8-tzsdEftp!ESyiHP(|?;wKN&OPZ$W;|>hHS=E;d?Km?UVjO=L+*)bh(_^yq z$L3Pisw{2n>h(DX|FqSz!ZtRr);TGO+39MPpx^~IvP*Pgz{2i0HYum?Vtvnc`oBvy0zKMC)uN)?Y4kPo?Y`jmRK#FJ}z#s&Z9r zEN}sPYQwL1Cv=CbEzcPuGVdvn2Ntd@nDB2c=HdDi#Vd)6ViDdKltHfRVKAJEQ>BjQ zvzpd&cONtfSTOkSaOxqoon|pbx-qgXHlY_3Vb zEJ-k8LR6>!-mDWNcXCOh4u`%NjIuilnnX%wg z(wc?((L~zzw}HBksX0*{6e-Sl87i~o*%p3n8gvit4H$Z`HCQJ^qaDM&h=8){H2d zMAq-2>9f&l25fLw^@y|3rc44V!+3VwE`1u`Kn@WQPLl~C*x|L-)w0}z4$Y1?>zw+4SLy5sZnF; z7Cq#+w^;4Tx)F~a$-{q!iPLrHfG%;fYc|rh6l$JRGhXBpCUwjR@pfq|77fF==2+k) zYB_vU$517rq)>cz2J#E?!0#>zpvM1WewJ{8AbGxq1hCIRB>!W%jW+?WyaM6mA*|nR z09{V_KU%hKX9SwoJpt0ebIrHSplIAbxnbA%DUmPKJR-^rFbNk0)YU2qx`v0`7qsMG zK|uG!$^w$#xsir~q(m~6nV(mz(O$35sE%*Y)rFkZ>y%H-uUR;)y?gPf+pE%kzjOW* zc)%gv^SIvTD3l?(61@wrJFOBlaQhqyn)1--l_s)(;=a{A|I0s@?C9-RyS$w~_J9?! zHQvWeJ1rmf-YNa<1z!!(7N|o)LrVZ7 zeAj$19AXFEs(~ot${@c#$mrDMKbmr)sT1%pkd(*$SSP5PA=rxY7 zUlOMyDe2bs`vXFB9jY4=W+`XxfTA+Ya$q);J{$wJV@T*v*MsF3w-#66@1ioZbKkef z57NR@+`b(%>4JUsp3>8^Gpcy1PtRSvMC3bblJIxT7c5$&Mc1#deGd1^2^lD%kx;Lr zE9xMJe2nY~fS402{{@HWY!eh-rNT(j!01K*Ov^DGdk)07Ggc3qWXROqk*uNW-}mWPa*ITb%{Im1*-WdOj(+0 zbd51C$XX%c*nEK=QqsrchrJErBRbFlg5e{{#F*wevFB`4`HyOxoROIDPh8!+01ca>F7Hu{I(S1c z3>eD*)5!i4Yd>4bRQjykmrf@FM*KMt*qa(3IHQ+Yl06SKuX+@%4F_=E=g~)?NN=e7 zL>MIQ?gC_*74Z=k{R&75x|}hO(5q0^1>8BNRo+nLA*qR$$kO`LJb{qd8$YI8cR=+n z1mA7`ffEt(K%c$6;{%NT*I+??Ai_Mr*aZkHULz!SrRp7%x#|RR6&_n8!seT0?o`Do zIQ2JKimMBRGs0~k@pXv&Q&2>ABpt36L3WJ}kTx`m;h(sKd&**R~(7;kUbprvcMjj(^ef$9ESxC<5% zrTqTx`!pwiIS>Q(QXv4QT7XMm{@G*uSI1UexRN2PC0CBzsLQ9mUUF7t~f(kg`<%4_~%=@8@^Q6Opxa`Hzh{mAx zS!8NBS*tXh>%cTTk~Pl{4OVx%BtD1=R+&RUU<$sQQfZdDJJl4byLEN@=(YRM`OUAf zH_-9LVn{jy536>O8n`v7a=D`INv&8sV`YjSwPd7~BLJXkua+~78WD!Yi%y$KOCur8 z%hA}JD1QU6QFm4y)PgF6x&Qku*!V?$@em+QF=uxLd@ec|He*GDwK43tqPw!6WucgZ z&dI^Aq^oEMq0~~hkfn=`wsq&wB zvWS(n(GP*=D;qEzm~H5bt@oOIn!lVa?9&A0kKMyV+A$KXWMhX}eO9SWtC9m&b{EQw zhn;dQL{EZW-+HfG^-xi5#57Y5i|sJi;vCf>Tov`I2-22HdXgGF-RWXg>WN=M!dbku z)NBB_6_=KKA)FL-NDsQNgRKizOF?$Ur8(Y*&`iFNG$Wd*Pt7!%znl2QnfirRug z3LLw86XpQg%3AwSFmNZ>&Nbx?)+h%&L19Ov@=$qGjRAr0WircF%eD0(=E8Pi9a_%B z2T6!IJt}c6nK-ij1I0}LY-)Q-6~cC;K7UCLqFO1v-5T8Z=2TRL1@;SYp~~5gO=|#B zP4-o>sg*_GXDjhB7es{Xa`lN#F$#w&pq_x8|&6{fUBr7YjrfRd9jzPXM|la#js zZ=H4}=%Nr9%$bZ0t_DN1&WRDrQq@r5Wj@HtXhk6SoX5yFoG~RmJA^*ssF|i4YQLrF z)9~%iy9e9yOw{QG@u&@veQgkk9u5FUZ?hj+e<|TGxVxTWN%6V6H+rLys}vmnjnfA^ z%HcgTcE3y$0%$$pb~Cav1k4g4Z?X(W%4v{ovPu`nez$PXGWmnEQKuD>ywv*bV5)qZ zod!LHn?P2Td>1jfY;s6Q; z{QdX?q#z9m)pupi_m>|CXdU?q=$``^ieq4fB5%@*Q(=hyVcu4gu2KCrZ2RA^&EHAyYxMv1 zsMqm8u49v|Xa8rBNx>@wAUMfMw3IkWy(@4;^Z$0?|8CsBeZ%`-b6zATeNYl$C`g0< TyCo11^1pWd@8Rf{{_Fie6Hi`^ diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index 8c1cf37..ba1cf55 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -254,31 +254,61 @@ function applyUpdate(d){ } } - // file activity - var _totalFiles = d.totalUniqueFiles || (d.fileActivity && d.fileActivity.length) || 0; - var _shownFiles = d.fileActivity && d.fileActivity.length || 0; + // file activity — use rich session data (with isNew/isDeleted/added/deleted) when available + var _singleSess = (d.activeSessions && d.activeSessions.length === 1) ? d.activeSessions[0] : null; + var _richActivity = _singleSess ? (_singleSess.activity || null) : null; + var _singleRoot = _singleSess ? (_singleSess.root || '') : ''; + var _actFiles = _richActivity || d.fileActivity || []; + var _totalFiles = d.totalUniqueFiles || _actFiles.length || 0; + var _shownFiles = _actFiles.length || 0; var _actLabel = 'Activity this session'; if (_totalFiles > 0) { _actLabel += ' · ' + _totalFiles + ' file' + (_totalFiles !== 1 ? 's' : ''); if (_shownFiles < _totalFiles) _actLabel += ' (showing ' + _shownFiles + ')'; } txt('fa-ttl', _actLabel); - html('fa-list', d.fileActivity&&d.fileActivity.length ? d.fileActivity.map(function(f){ - const isSkillEntry=f.tool==='Skill'; - const isBash=f.tool==='Bash'; - const icon=TOOL_ICON[f.tool]||'·'; - let fname; - if(isSkillEntry) fname='/'+f.file; - else fname=f.file; // full path/command — let .fa-file word-break handle layout - const color=isSkillEntry?'color:#4caf84;font-weight:600':isBash?'color:#ff9800':''; - return '
' - +''+icon+'' - +'
' - +''+esc(fname)+'' - +(f.count>1?'×'+f.count+'':'') - +''+relTime(f.lastTs)+'' - +'
' - +'
'; + html('fa-list', _actFiles.length ? _actFiles.map(function(f){ + const TOOL_ICON_SS={Edit:'✏',Write:'✏',Bash:'$',Read:'👁',WebSearch:'⌕',WebFetch:'⌕',Agent:'◈',Skill:'⚡'}; + const icon = TOOL_ICON_SS[f.tool] || TOOL_ICON[f.tool] || '·'; + const isCmd = f.file.startsWith('$ '); + const isEdited = (f.tool === 'Edit' || f.tool === 'Write' || f.tool === 'MultiEdit') && !isCmd; + const ago = relTime(f.lastTs); + var totalChanged = (f.added || 0) + (f.deleted || 0); + var editWarn = ''; + if (isEdited && totalChanged >= 50) { + var warnColor = totalChanged >= 150 ? '#ff7043' : '#f0b429'; + editWarn = ''; + } + var sizeBadge = ''; + if (f.lineCount) { + var lc = f.lineCount; + var sizeColor = lc >= 1000 ? '#ef5350' : lc >= 800 ? '#ff7043' : lc >= 500 ? '#f0b429' : ''; + if (sizeColor) { + var sizeLabel = lc >= 1000 ? (Math.round(lc/100)/10)+'k' : lc+''; + sizeBadge = ''+sizeLabel+'L'; + } + } + var rowBg = f.isNew ? 'background:rgba(40,200,80,.07);border-left:2px solid rgba(40,200,80,.35);padding-left:4px;' : f.isDeleted ? 'background:rgba(220,60,60,.07);border-left:2px solid rgba(220,60,60,.35);padding-left:4px;' : ''; + var diffAttrs = isEdited + ? ' data-open-diff="'+esc(f.file)+'" data-session-root="'+esc(_singleRoot)+'"'+(f.isNew?' data-is-new="1"':'')+(f.isDeleted?' data-is-deleted="1"':'')+' title="Click for options" style="cursor:pointer;'+rowBg+'"' + : (rowBg ? ' style="'+rowBg+'"' : ''); + return '
' + + ''+icon+'' + + '
' + + ''+esc(f.file)+'' + + (isEdited && (f.added != null || f.deleted != null) + ? '' + + (f.added ? '+'+f.added+'' : '') + + (f.added && f.deleted ? ' / ' : '') + + (f.deleted ? '-'+f.deleted+'' : '') + + '' + : '') + + (f.count > 1 ? '×'+f.count+'' : '') + + ''+ago+'' + + sizeBadge + editWarn + + (f.committed && f.added == null && f.deleted == null ? '' : '') + + '
' + + '
'; }).join('') : '
No edits or commands yet this session
'); // agents / workflow panel From d156e548c4741dbd4024518d7e259be3078ec470 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 07:48:58 -0400 Subject: [PATCH 18/29] =?UTF-8?q?fix:=20remove=20misleading=20COMPACTING?= =?UTF-8?q?=20state=20=E2=80=94=20long-op=20+=20high=20context=20does=20no?= =?UTF-8?q?t=20mean=20compaction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 55423 -> 55309 bytes extensions/vscode/media/dashboard.js | 12 ++---------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index cf69721af08e2f9c7c1ff074fc8b1daa4af90fa5..07a543728db5abc02c4b6abfba752189f4f1c107 100644 GIT binary patch delta 16466 zcmY+r18^r_&@LR?wz;vrv9qz0O|r3VO>E;A+s?+eZEmpf#>Pf>|8LcI@AuBBsjlvM zo}M$O&U8)nbbr=E#@0h3Da%7bVS$0c!GYm_{fTr80fGOu@c|+Z@;@00lR^f8_qEZ_ zybS7}OxBwrYm~A%f&9R|gnwp^E#|1O=;5;ZEj=Kp7Ey!BLv`A^CK=t}=dy%|dA zWJpxJWO~{@2(16Gtbk2C(WKj&$4AtjfsN1K854`VUjl>M(1uZ#cS%TT>}J;sxLjLY z95okzNZcOI&#gVcq2aJ#+0b~Msru0JpXHOTU??EL??pdo-=JUM`}rPDDo-ynev50d zGp_F`x(O-fRPwu>3VOK1<Owo_eS@?W?SmVdj z1UxQ7bS4m;`^C#i)lZw=e&?8FORYCN)zngb;3ee{vlku5%(0qgk5Yn5WYaiJ$biCR ziE=S@vAhIzv4EJ#p9Y`Hle9Zuy>HHkt9HGc(qr}~1D~J;zHV=p8CXnN{v2EHd)*@| z-rt9;Q&aXw5&olPEBMIIK~M%QZ$%(hvcGRqm&`F^Numh5jcXVx?dm(*NnH8Upv&{| zVo{nU7j{*tuno`i3V1i{p2-qqPJeqPKU@ravM@NtE&}HJUV+}1&d*)9?fUtQ^V|2G z50AHZKh2XoRHG7@?N`J1*i}A(_+-=F?$2-_L}fIZlW~ucIwqXy((t%i`+%O0;g&b2 zscmO+U9f=M=EC+$fq$DjXF5Dr#hX+oMNwEJQD+9145BKQtQg zcXg||r#EsMzvv`#@b5D*e_Wsu;M_oC4u5U$5tk99sp-5GXm2M!y)qbBkY#&_97^;M zj$)BXSDp!G;@;%<${pX1uyq1xqgWKXeiIjN0OhsjuG^{!&7R>y#+G73`X(O%P$5sA z4e1GFaEx@}Qo{*QBagn5KEun|-H_$OnjB}hK{)XZRFkqIwUXh^t0a%zakyn$Ub)|# zN7^kwi`22vyg9Bc+9dJ&2@q4tCW0TQZ97l=MO28hI#ATGu&=Mu1{R9AM2KJ^o2^~2 zfH;dMq`nHML3*8n$#LQtvBif(&G{7Te#A+&zDr`OWcz2Dwv*@Cq!|U|0*^F(Ll8|C zirUVwU`UIUG;Ohx;`nM)`s1x_qEwCZ7XkBbmT~*ut7LFlTv-b5u6(`>b^ zE`iuvCXD$Y_h?&oS#6%UdO>68*yP$(AZ~LT=l8J2Kv0ci;vFOD6bBi{3v1MiV1ZV! z(*ScgXC$o^5A#|Ks#w?#t?O6bOhc4o&Zs?C2p~E5<%|NeD)|K4|QhrhiSGMF=te`cX@azC%3|8o1yIYKzi*mwC|rS}TC zE7*T0_)?q~=5cNmw!UnT^?vC&c#~!>Q$ao0@ejc$nvVMP@HfXCj*w#jHkAhO5)jhni z9k?sBnvaB=yQ$8j1A&2ygXtNLl2}_ScMndeRi5@<&`? zFKy&)CzxvB9ON(@pa%o2f|j;t`pmBlxc{;ZR;@W~h>ZxkPjk4qYH#t08<}<{-CsVU z$dBFg3gr%w+dK&Py!XT>Xc{$Kj$B;)om63CjMeM?Q+-8>z#g?a$vbHgJnTDjo8Zi? zpsi9*L{DF>Q3ni}&oH9y`U=jdN{PWIa6w`c!P-Y3Be)p$E7<~JwSNvsDzi%T5eXaK zUk>MNS_g>2g&yQikB}!wM@4)lFb#YrrYGyVs$56^R^IpU^7ALX3F>ef=D+ z%H8R>nQCd{L`Q5Sdg%hUFE`G#h#trCaFL}N=z?v|8m(VFT)BGZja~#DzZ9OVtU1$n zGLr00aOOfro>KtH689W-bv4Py=M5q-0`k;jBawDrBa&F*m_02;T44q5-)BDwRV-%H zvt71VlpgT-JB4+zBtZxu)~v=RhHdnES7SI&rQTxbgxne~C`VG}4u7W6R&a2v*o3I4 zXcd26Uc8N%la=vkJ~dR5n{D9p&Twl7U5(F5B3Q@ZX%5)qyKSt8hyMJ9Q^Pc+>vQoq zlaoVyn~u$xH*7T(%}eE?nUFGrhkv{t*AH!_O5juheb z3C1IaMI5_GNCid2FFHoi<*6_dA6{RDgdXEFlf;6 zAJ->}!UXZKe`S;>c*$3hJ5n<;ONO9<6v`Vj{gA~~SE#MHD6BfatwSXo#$J9Cc*JN%Ac2ah z4t7C)_A0jV4Ia6yCVKavFudtlXDZrY#(W*x#!Kh)#WTLFd8>)Y|EFZV;n2h4*UtLI(`zNJe{bE!r)NK6lDWJRz^}Rk z=irk)C#&hdDSUcXH=^x(Tz=KsodMM9Ye8?ebXQcH+ViB;!L<{R{needoE}MTGmQ+9 zC8tLS>f86?iS+upN^CZtdYqLc)Yc6Ny1$OQl%=_|M~kqiXnXuM3(m=p%>{EyY%@_} znQJjAWeH9|FEtPq^&U0K^meiTsS7I;^YoGSiDY}g0$6N~cy@2=@DYoM!UKm#scUM-39h9Jhk<`5Bo>7l?-VPD7>#DbSK~vIuXUC}P)m6?KXqKVI|RyPdp6 zbP4c`hqnBC5#N!AkDaoqj)0e-Q-RJs8Cf<*FtaDr*O7fN`AgzlYf(G;e6E>DUwE0L zFO1Cc?S)K7H`|}L4uWW#9J)5rc(x_VbaAQ4C5v?c?bKkO^?B-2Jnvk_=aNWrCqBf(R`I-umSCq z_6T{s2mFP-@x$!Wd}c&zd2rqqDvN5g5PW72XurXbFc_@>FiUhWaQuLG<}d_e4C%B} zKU5|iB)@3clPsY)W@>KfKJLfv3_v z#NPb&GVemW8;@vlM~&z2d@q{W?(bG~SS2-&hMW{c|cZ;8}&G zXbHD#7p-I@qN~N&>W81FVWb;K=DuqKt zEV!$6qe3#!1PDxU~O2PD_S))hnCMmPAA|jWwNB=kNp1>E`xabY%)cmAo zIVpy3MjlVaF>db@^lo9lyvO)g&e(@KG?wtcIqwaMO9NkgO%bXBXwtQ_kC9rfiwK5v z1A-x&YYQpls*tjIq27*0?)1^uW>CCnYESvT=>)C%f@ri%`JitSi^ZFZW#Jvq6w8>z z7CUFxEj0F)gm2HFOlp^^!k&p=^-Ah7MX=SoDVTQxGI_h7b8S+Vor2@445j zZ+80W`7vo|lyGX#lA@STYqCFFMyN=8UFhGG4$v!>F~%d#rGAhWDoz)LFjK&cXt?o& zrLgm^>x~XheY;#m^*^}oRQ}z0;PIo2-@mox&7O=<;*4RHV>GjWn1(vo=8e%y zr7_Ofk>_CHpcY!NqBAxdL+R2u9tjSv?hggMU;@+1t$uNAM0g#b(1X~wOKy+k6c@sL zb_d)T1W>jEitx9F0VD@~r{SuC=`K6Vx5iGM_TRbkve+PZV~c!TijaxXpOe(|)PCl= zCAZ-=mhTp-gs+Xww1-86EpfbA4>^oXdx3hUKt zw0%Izi{wfR3mnheSUVcN?Qf0MRWeZJCj*X6b@z0cj~OS|S7i0bmTl*;nKp(fl}GV> z4mG5X?+#AG@8Bf%$tZe)^{eK-Zj+ZcT$dUNzL?ZuKI|Ie;LQGs+4_~AKZ~{$duz^j z(IhY-)H}HDt3f<-nbs|FDG z_Xsv9Y{QE4Dam#mJ8c}J=2*lK(UjQ14xW0c4LY$Ol)us35{l*2`)UO`@~KFQWN=wB zHrujK!8Z59i>>+78=X3(`NQdjCrAHQ(xd;15H2N6@Dh)zz$)(*TW0<)Ez{ zq01tI=wAf8GI#O@OZ`cWmgww|py6thfyVS^y)Inyu4nRid;9t;MZ-sCk5sSp1nL@Q zMCC@Fp)qWL#ph=t!;AJ80VGP zMf(;yne4cIEUZ7&ng@Hm#ei3Ta4Yg=#RWY!H*9yyl8jYI?!8}C-nMUl8PnBl(>Mc* zx8&pdbCP6@Q13-#39GAK)X1`1QE%jiOy4s7p~0v%SuI(yq1ZPcc|0+0R&_w<`9e6}Li3yyvLMBd^=w9~+yONa zxZP{9SheFqYStdFX24%qagD(#qq+n9$B@0fVY4hZkW_60*JtK3ZK8ge>-pU>BHoZL!txRpCluGo30g4t<<;(UYt950F4OMHhgVy}B}Fz)ZC!RMOce6w!WgsMzpC7+s&inWsW z5~gO&^^|04n7q0vZj}sTSE%s^ryr;!8TU>tK40m3I}mIGH~YHthUwKT6DUSG45Nng zqlBr;mfpMF3?AMpDS8WX1aa$M_u0aSUu*^~b-iaKdb;Nov%sW0FVS@z?P?>kmb zn~SDM>sp4Q-yPewW8RG-jcymH3>D_cyxoQ>h8xWBf)k=xrCryw83hPKsSTleB?W+h zRob#t0Kwt)3W-=K4uXtZ!xqUK(k;OatI%?*9BXq$2RQ%kd? zfXtKZad{VOF}*7EDMfn(>MZ0w6|CVLoQiV{2n~=dSHa(Ambn#GH}MA>e`1ap;En2^ zpoD>AE_2*DpZ0*Y75&D`#9KXI{Y}uYQQxy|v`G&ua+SW5j*I9TT|)e}Dzsj$XbfX0 zj;TucV)^}Iecj_=%})Q%5132@%&=Ays?n2#s>x}wtEb*(1tgOXOBnt{HhaZulu5)7 zfQETjR%+?AypmOTX{kvf-cvz{?jhfy5$)KJUJ?cM?A7t_)!qqcc%KSVkI+jz?k3E4 zngR8W{u?aT58tnwQ)<2~JG_y2NVhZ1fLY1vDyPJhfclqFlucChE!W3B( z8TsJJI_sL4h= z|9OHAT6=c6HlSPxhtL| zmm4>_Oz%_OctnoWekGnRB!%{rikDR}`BZLb@(cxCbX7>#xmMfyDU-qKwzO31D$1P4 z{QYQYjn!%MOH<6&qcsf&sxRv*FwG)^OE2|kzk?~Se1|t)j$W<~77t@T9ku7PY(E}o zTH}97GwgRPAWrE2Q@(&f&yr)xrB~Qxu#w49Po6owSEw9;&5Lpn_tUWkK`F=PH1V=v zECMasVY&7}N-(6bMUVDh@;iFuMXSr!Mu?|C=UW7^2qdkJVsRD>K&w?%!qRdFqWe1pJxkXHEY_OpjtkU1u7(o5OvIEbk3F_jRizZTHF z8@Q-==~A%dS7uRX8%Vk3**D_rZLc_im<&{xWl3Zqal~&zZo3Y=i8xY;b~irz2KliE zo*GCYa*mryL5a@-z#iO!V^vKyFl$e#;4_vIr1it&6txsKWT7Q?c9gT#?j#sN20HO) z7je}qk>|LgZ`2UHs#LY}2`d}+mL>=IuY$8#a*>T#5WV7kHkMJK_FdH^a}NGlDF8q8 zg+SFGTm5Q5gp#s^Z-4UKDFGGt{M`fswniNK)ZAd+Oe8cDfVp7#btR@)TX`yDxhvis zp^eK0Z|2){$us|ObCGwUU1Gpf04<(p_j(iCP0?wHf>!pUAp+0AYu&eB=u=%fhj3{r zW8v91Ftym(aTg9YHqdB(lHPB|?P=psp?Wn=r`lZ7OYLDBw04HHto>eBZz>`)+0LtH0p~$+UqD*0lF%KU|j|2VaIc*KSp5o+%$i zE}Bp@n3di#?$<1~@atEz-;Tg#`Dgess6VbOT8A*Q;!AyzWyF~7Ar|s>WA~TsF#P4S z`kl|`HT~rPcC;2Vzvtuv?73mnKNVdfo6I(MqBI{AK(@Nx_7^)z&CS#D=4Fyv{L+sn z>$yMnPt}5$<1mlG#*LxS0`51N*Xa z$+@SOq5~Wdr-?!7=kR#tolN^|;3SlPK{&!ib^L@c0E!Z!G8|)%F4Zf=;6>#CSLKJwTl*g{ zDO5;fO7aO;GKEOg1Tr~7OssL;BaX0~JPbV0^!C5xs|5aj!YE6wF#5``-WOWc%o9t| zq`vgiVrq1_vjE^B>RhJiA1#pL*tfns1Uk6H0Eq zF1?vt*VYkXH{u+*9;64a`a5m6(k9c6@pyA{vV9l6?WWB6Q?FkVnX#3`L?VOa}VTo3D|1HVB~1N;Mo~op+b}`pF#UDUR6)H zBb?>yy2~ZbEg(y6|1i577cBTioD#6lc&QJW;j=!oF88rQ+E;!FdIe2LON3|>i_IGteB-?O zBLsCL@+!gKxH5+zc&=y)cYyI4iys8M6{(+Cnh+Z?A1hUqN9Kg5}iaH{cj`^=Df4-*y2+cTxB zXEv*6jIP|U)lIbrfvyNu3Xn--Nxk%ePrV=B9h z$nsLDGZ+>J`pC5$H-iIgjRX*rSmkjVQ<4!c|FT?rVc?priCa>;S(6^4YE2}Pn9nbN zaeyhO6o(+V3@%)i))~-x6{CAiWR-8b03zrm4FY*4CmsuP&w|m-$2l4^uuJL=1DC~l zoCvyfSIN>Qv{-?@2G*|b@5Tre(OJn_Z?%=X{JTcd8<3;6Rz7NAPpJ2+F;@1wW38;3 zcGjGbzn&usthpw$psIQXD(eWUz62iCa%W2=H(t4ok$?-d{1g6JP^Lg{Ywu?_Nxy(8 zMBIW25)uqBY{G6X4@x$cQ)^IaNEwox<@QMlTSDG!0kEV(b#4=G(-{~fZ9NP(wjhki zj@i7CAR1uvP=;|)fB*V4z#l!PKH!?@2j`h;q$0mlkRaHnBE+nhmHsk^ZO9fuYEe+m zYHR|BpV(OI`O})L7rS{@gaXRT#{LY{OW#0+j40@^RpUXd(m*5ttt!ldXfvn;f_cZY zYoR6c26CoDYZ~Ey>x~IxbyI?~ozYhsz;@8YxG|W+-rS6H(cd!M34L5SkEo(q3=j}7 zVuFX!^#l~_Ef8ih&Xr)3{&tEo_AB1lC7i?1=qM6|k;f$eCVhhvIH~^A&vHtKf7E}P zEivwox{ut--+2(9n>rb`V?Gq7LY2i>wMpkm5>Tsl_*I3u9mfRXCnYOdJ~2rKgLHdY z;-UzNI{k#b(_$cLOl=Iv3@^e29ZGDyX)xct4vR^QZ_IcG56TZFApUQ<^%$KECjRjX zE59>==(TRDnG8%57sGi1Ws@a{+%eWaQ_o0H-;$&GP3#~Rk7BpntpR#LQK%-88ayKu z8{p!YSSl&ZKsqN-9cLW66vLopEchnrQqx4@5zSB|EGX!@5i)#;8p;|eZ{d|v%Fswx zrTn_S*`DqG>Nh7xZ|K8tP{cO%BwB)f0)7Q@*A$x&XVH6)!+AcR=pAk-ml7~-y?R|) zpL?&WIK#&e)8}ygIptD630}~>bdE~M|7op29v}-L?r*v(elPt^0nd}_i6t) zVv_gOGW-^X&~WM}LBObYb``Qdze$2DzT86^$8ITBWXpGw{53rmv#dpnlGMgI7QiX> zqBv58P9;q;pA5T|xn!Mc4JE@@35*eEBqn#_P?ggtCd9%3Ihi3LT&xmU`>SRaXTnLt zSh<)Gtmnz$QTN-1%_6Du%nU$ZMfqZJf>&MWVmfVcy-7)nQ@VmG5w(A~P?GY1-wP05H=(keCQo!clC|1N2PFG&+#s`j~fq!XuyeMFh)H z&rod8c6Y8EoWGrFmb51j=t@#Osxe8dlCiuLtMzvc$nU;?U#pZ_bRH~tAXJ);@!v;2 zo0`?y%w2U`jwk3SO!42h%jx>u{ES6ZlLEK>mGC3U>0PV^$KdDJ9EIG}MlmL7tYgLKMVhw(6nJ2Ga-b)!|1V|vkyE5sPkyakXpl_=zvWu^Bpko=y*K@nAy`?#5y-_$2;35X`Wq_>c%J~cN z(J*X=9C1sc=uUSZaOK1hOSDh*+c@iQB{uH zn84mLQoWf)4M(y`ywtPqkHF~1R3*C6PYz;8oT>8DuSSBJB+@9Rzf-;+(1k1t3H;^_ zXEsPFDhs9H!`*jU1kR%m`Tc4Sr4Hq1G((pv;bc2;7=1bUCd44s@0zLnh#S=fnp&oo z&sH9_9*2$;bQ`z)H2#JAnS4ky>H(hS`G68)j_`Ss)P!=zee9~ z!W~bQzkw51HfB&KVoVegF+;&0XGaq~QDmocNkxGt%l!d00?W!d^vGOV*}{HrLx02v zb8>kP(1=DjF(lp8=))lQm4#+cE2fi9iliL2hHo6~SKZT@d=hQ(^WGtGa+@?as??EHDwVXdGH>;KnH;;9|=cdQS&gUcH zM+xgMRs{Dw07W07n%woyk0_5RSTY^EFW_qM5MOWjANhVHQwW*!HlAL!Y$dQqInnJH*L3%L|lL+ z@p768fd2{H3}4DDr8^Ukr!55ummj%nJI;j_Zm6!Q(#=oUg!HjSYbUd8;CS$L{op#g zVawt=mf?P3@J!CJBI6#T>W0B+bg1CtXm9;Xyu-|Q(*Qmua=pJOEpESaA=&YZtCGlYRRPWmRdlMtvg;)8Ir8)dk-e+Ldx^A4>cJ>Ay z*sS6YO{_Fo+xDKV?~c_UJP2ZV{qz(BEBfHu#WiMVY9h@s(5-*XTg>Kwi^D7-X=9p- zmYk8%eZFI2l<0e4DbXxC?k>ZfV{_TS+|=|r;pNB2saJP$!%k5-<;<=nidldkZN3qb%`?YZz+xRKOeTD zHaAA*;(SDymg1WtmfI{D#5A{nF*D>3FvcE&fvNjQl3K^$)?P@Q&rb7$*l9YPYx*$l z#hLMDB8N%-ARDo04W4fE`go|U9qvv&{NPF6W;>VF&bdeddt@Vf-&iFq-Lcrc5&R0c ztdxhS%3UdZn}D`kcB`{HHK!mNlq>rr3BQ?LQB|O+`j`3yh5NMV^+pYFi?nJ=x{ONH znd`gV=j{pUxz*JDJI3G(^2athbBcbzWvXW#{NOtJv{?vRz4n&#@e79F)EE(C5pra> z*BzpR<*QZ=SuqJ;mh?rr+Z4B%@5nRu-CjF#bV`$T&yo0*<6@|8X;Q5#v*fEw7LZ8O zT6rJ*tJ4OCUdMacq;UuENWCflqwMr_ml=S3M-xUWcD?DRf$Q`Bu9Jt_Jb*Ao4Zei0 zGFjL$R((o%B-v~PMcdQC*pSz!b=c($W&eH0k>{-{Q);**s``0PdGv&jB>m=d}>6r z!)ow3&*}Sq8q*MI*yA@Txy^Ml)s48A6q=|iqrj{O4(VeLm%BuQUe(_oE@~Im{Je%S zB>VIYc>zoth`4+}`nYHSWxf?++>i6k$M8S}#(d+%adpULr;`JgHSEiIjwz;7PyRrcRn|c9#bFU@h!cSAlNLDqZ`X)O>lz%75VpKEbBr=RKuhE(Yn!?kB@-2`r_9S zndG{ILd&x4miPC3i7e$uu;#aZb7&j&L5jun{=TIKW$L^;u3u|{j)s_;sHthl4|O+t zs6Cue+|2!2lD?ypSs?mWdhPp$C+cMS1CsdX(h$d5mX4@1sVI~^#Q z+#gcNgSTt@ORy3&o|4&kh>IYHsYYObniB855Z1Z;SJnkisOv|u`03~96kq~--$QX< z_Z5mv(n#9*?~M}lli{qtaQoU2$hDc?svTRnzV+`6L7VOJlN`fOZ-JjzF&1yym_OC* z$he;YkvrDl_c|`*S5LyyK@DyN>^xD`?qw(rM{Rb<<;{b|^uSsFSAbcxn9#pi%xq;S z<|V>L`%3VPhFeZcGX4e0BlT;}gU2%I;a9qfUdSBH_-fiE6moylS-{HX>w zP7~E#rRu)N`SZZJD+$#uJb=M~q%v1K;Ji|V=>>ZZ@T4;aylGp8dzq{^{-k`eRKhmyHXKk+H zCRQCXaT%dIuIk5wS@zQx8K2Dw^zgzGtC@As$657BerH5rX*m&URq2{L?>o=|B=A=# z+%hwJFoYM&lw0a~`l-`=TkfFAqIv0y$*inWnyQrjkl?UMiu#M(Fm4<_P-_*?CzGT+ z#Mp|QbNa8=R)ddEW3aR<+k6!0`;~2~;jf4prZhV*%RRFgNwsFvnsiMSkfs?}_UbT0?l1*i6Ji}HAKUm30FUgm}hOwDeU7jT}u8wp1%sS1(( zKAkWkqv&M&?0A>d$}pSX7Y|yjvj3J*;ZWxZwEts36&2TT=+)lzy}kh%Qf_&K7KD

wu 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 diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index c8ebb42..d57e21c 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -387,8 +387,11 @@ function readWorkflowPlan(root) { } function lastSkillFromEvents(events) { for (const e of events) { - if (e.tool === "Skill" && e.skill) - return { skill: e.skill, sessionId: e.session_id ?? "" }; + if (e.tool !== "Skill") + continue; + const sk = e.skill || e.file || ""; + if (sk) + return { skill: sk, sessionId: e.session_id ?? "" }; } return { skill: "", sessionId: "" }; } @@ -884,9 +887,11 @@ class DashboardPanel { : allSEvents; const sFileMap = new Map(); for (const ev of [...sEvents].reverse()) { - if (!ev.file && !ev.cmd) + // Skill events may only have ev.skill (not ev.file) — normalize to displayable key + const skillName = ev.tool === 'Skill' ? (ev.skill || ev.file || "") : ""; + if (!ev.file && !ev.cmd && !skillName) continue; - const k = ev.file ?? `$ ${(ev.cmd ?? "").slice(0, 60)}`; + const k = skillName ? `/${skillName}` : (ev.file ?? `$ ${(ev.cmd ?? "").slice(0, 60)}`); const ex = sFileMap.get(k); if (!ex || ev.ts > ex.lastTs) sFileMap.set(k, { tool: ev.tool, count: (ex?.count ?? 0) + 1, lastTs: ev.ts }); @@ -1181,13 +1186,15 @@ class DashboardPanel { const evs = getEventsForRoot(sess.root).filter(e => e.session_id === sess.sessionId); const nick = sessionNick(sess.sessionId); for (const ev of evs) { - if (ev.tool === 'Skill' && ev.skill) { - const sk = ev.skill; - if (!skillUsage.has(sk)) - skillUsage.set(sk, []); - if (!skillUsage.get(sk).includes(nick)) - skillUsage.get(sk).push(nick); - sessionLastSkillMap.set(sess.sessionId, sk); // last wins = most recent + if (ev.tool === 'Skill') { + const sk = ev.skill || ev.file || ""; + if (sk) { + if (!skillUsage.has(sk)) + skillUsage.set(sk, []); + if (!skillUsage.get(sk).includes(nick)) + skillUsage.get(sk).push(nick); + sessionLastSkillMap.set(sess.sessionId, sk); // last wins = most recent + } } // RoleAdopt: main session read a role file — slug-keyed if (ev.tool === 'RoleAdopt' && ev.role) { diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 9a26cab..d2c9f76 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -328,8 +328,9 @@ function readWorkflowPlan(root: string): WorkflowPlan | null { function lastSkillFromEvents(events: ActivityEvent[]): { skill: string; sessionId: string } { for (const e of events) { - if (e.tool === "Skill" && (e as {skill?: string}).skill) - return { skill: (e as {skill?: string}).skill!, sessionId: e.session_id ?? "" }; + if (e.tool !== "Skill") continue; + const sk = (e as {skill?: string}).skill || e.file || ""; + if (sk) return { skill: sk, sessionId: e.session_id ?? "" }; } return { skill: "", sessionId: "" }; } @@ -789,8 +790,10 @@ export class DashboardPanel { : allSEvents; const sFileMap = new Map(); for (const ev of [...sEvents].reverse()) { - if (!ev.file && !ev.cmd) continue; - const k = ev.file ?? `$ ${(ev.cmd ?? "").slice(0, 60)}`; + // Skill events may only have ev.skill (not ev.file) — normalize to displayable key + const skillName = ev.tool === 'Skill' ? ((ev as {skill?: string}).skill || ev.file || "") : ""; + if (!ev.file && !ev.cmd && !skillName) continue; + const k = skillName ? `/${skillName}` : (ev.file ?? `$ ${(ev.cmd ?? "").slice(0, 60)}`); const ex = sFileMap.get(k); if (!ex || ev.ts > ex.lastTs) sFileMap.set(k, { tool: ev.tool, count: (ex?.count ?? 0) + 1, lastTs: ev.ts }); else sFileMap.set(k, { ...ex, count: ex.count + 1 }); @@ -1051,11 +1054,13 @@ export class DashboardPanel { const evs = getEventsForRoot(sess.root).filter(e => e.session_id === sess.sessionId); const nick = sessionNick(sess.sessionId); for (const ev of evs) { - if (ev.tool === 'Skill' && (ev as {skill?: string}).skill) { - const sk = (ev as {skill?: string}).skill!; - if (!skillUsage.has(sk)) skillUsage.set(sk, []); - if (!skillUsage.get(sk)!.includes(nick)) skillUsage.get(sk)!.push(nick); - sessionLastSkillMap.set(sess.sessionId, sk); // last wins = most recent + if (ev.tool === 'Skill') { + const sk = (ev as {skill?: string}).skill || ev.file || ""; + if (sk) { + if (!skillUsage.has(sk)) skillUsage.set(sk, []); + if (!skillUsage.get(sk)!.includes(nick)) skillUsage.get(sk)!.push(nick); + sessionLastSkillMap.set(sess.sessionId, sk); // last wins = most recent + } } // RoleAdopt: main session read a role file — slug-keyed if (ev.tool === 'RoleAdopt' && (ev as {role?: string}).role) { From 09c4239e073ce1d4bae9df4992e099758d0ee284 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 09:30:18 -0400 Subject: [PATCH 20/29] =?UTF-8?q?feat:=20refactor=20action=20in=20file=20m?= =?UTF-8?q?enu=20=E2=80=94=20send=20to=20session=20or=20spawn=20new=20clea?= =?UTF-8?q?nup=20terminal=20with=205-phase=20prompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 55422 -> 57821 bytes extensions/vscode/media/dashboard.js | 42 +++++++-- extensions/vscode/out/dashboardPanel.js | 116 ++++++++++++++++++++++++ extensions/vscode/src/dashboardPanel.ts | 105 +++++++++++++++++++++ 4 files changed, 255 insertions(+), 8 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 4e480db43fcbe385bbd2be350cb11066e21c5e9c..fbb5dee5c22a151693590f473d090286c36d8217 100644 GIT binary patch delta 38652 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 delta 36253 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' + ''+icon+'' @@ -662,7 +667,12 @@ function applyUpdate(d){ var rowBg = f.isNew ? 'background:rgba(40,200,80,.07);border-left:2px solid rgba(40,200,80,.35);padding-left:4px;' : f.isDeleted ? 'background:rgba(220,60,60,.07);border-left:2px solid rgba(220,60,60,.35);padding-left:4px;' : ''; const diffAttrs = isEdited - ? ' data-open-diff="'+esc(f.file)+'" data-session-root="'+esc(sessRoot)+'"'+(f.isNew?' data-is-new="1"':'')+(f.isDeleted?' data-is-deleted="1"':'')+' title="Click for options" style="cursor:pointer;'+rowBg+'"' + ? ' data-open-diff="'+esc(f.file)+'" data-session-root="'+esc(sessRoot)+'"'+(f.isNew?' data-is-new="1"':'')+(f.isDeleted?' data-is-deleted="1"':'') + +' data-line-count="'+(f.lineCount||0)+'"' + +' data-session-id="'+esc(s.sessionId||'')+'"' + +' data-shell-pid="'+(s.shellPid||0)+'"' + +' data-session-nick="'+esc(s.nick||'')+'"' + +' title="Click for options" style="cursor:pointer;'+rowBg+'"' : (rowBg ? ' style="'+rowBg+'"' : ''); return '

' + '' + icon + '' @@ -803,6 +813,10 @@ document.addEventListener('click',function(e){ vscode.postMessage({command:'openDiff',filePath:fp,sessionRoot:sr,isNew:menu._isNew||false}); } else if(fm.dataset.fm==='copy'){ vscode.postMessage({command:'copyPath',filePath:fp,sessionRoot:sr}); + } else if(fm.dataset.fm==='refactor-here'){ + vscode.postMessage({command:'refactorInSession',filePath:fp,sessionRoot:sr,lineCount:menu._lineCount||0,shellPid:menu._shellPid||0,sessionNick:menu._sessionNick||'',sessionId:menu._sessionId||''}); + } else if(fm.dataset.fm==='refactor-new'){ + vscode.postMessage({command:'refactorNewSession',filePath:fp,sessionRoot:sr,lineCount:menu._lineCount||0}); } menu.style.display='none'; } @@ -821,20 +835,32 @@ document.addEventListener('click',function(e){ if(!menu){ menu=document.createElement('div'); menu.id='_file-menu'; - menu.style.cssText='position:fixed;z-index:9999;background:#252526;border:1px solid rgba(255,255,255,.12);border-radius:5px;box-shadow:0 4px 16px rgba(0,0,0,.6);display:none;flex-direction:column;min-width:170px;overflow:hidden;padding:3px 0'; - menu.innerHTML='
Open diff
' - +'
Copy path
'; + menu.style.cssText='position:fixed;z-index:9999;background:#252526;border:1px solid rgba(255,255,255,.12);border-radius:5px;box-shadow:0 4px 16px rgba(0,0,0,.6);display:none;flex-direction:column;min-width:200px;overflow:hidden;padding:3px 0'; document.body.appendChild(menu); } menu._filePath=diffEl.dataset.openDiff||''; menu._sessionRoot=diffEl.dataset.sessionRoot||''; menu._isNew=diffEl.dataset.isNew==='1'; menu._isDeleted=diffEl.dataset.isDeleted==='1'; - var diffItem=menu.querySelector('[data-fm="diff"]'); - if(diffItem) diffItem.innerHTML=(menu._isNew||menu._isDeleted)?'Open file':'Open diff'; + menu._lineCount=parseInt(diffEl.dataset.lineCount||'0',10); + menu._sessionId=diffEl.dataset.sessionId||''; + menu._shellPid=parseInt(diffEl.dataset.shellPid||'0',10); + menu._sessionNick=diffEl.dataset.sessionNick||''; + var _fmItem=function(fm,icon,label,color){ + return '
'+icon+''+label+'
'; + }; + var _mHtml = _fmItem('diff', menu._isNew||menu._isDeleted?'↗':'⇄', menu._isNew||menu._isDeleted?'Open file':'Open diff'); + _mHtml += _fmItem('copy','⧉','Copy path'); + if(menu._lineCount>=500){ + var _lTier=menu._lineCount>=1000?'🔴':menu._lineCount>=800?'🟠':'🟡'; + _mHtml += '
'; + _mHtml += _fmItem('refactor-here','⚡',_lTier+' Refactor in this session','#c792ea'); + _mHtml += _fmItem('refactor-new','◈','Refactor in new session','#82aaff'); + } + menu.innerHTML=_mHtml; var rect=diffEl.getBoundingClientRect(); menu.style.display='flex'; - menu.style.left=Math.min(e.clientX, window.innerWidth-180)+'px'; + menu.style.left=Math.min(e.clientX, window.innerWidth-220)+'px'; menu.style.top=(rect.bottom+2)+'px'; return; } diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index d57e21c..7acae37 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -564,6 +564,122 @@ class DashboardPanel { terminal.sendText(`claude "${escaped}"`, true); return; } + if (msg.command === "refactorInSession" || msg.command === "refactorNewSession") { + const filePath = msg.filePath ?? ""; + const sessRoot = msg.sessionRoot ?? this._workspaceRoot; + const lineCount = msg.lineCount ?? 0; + if (!filePath) + return; + const absPath = path.isAbsolute(filePath) ? filePath : path.join(sessRoot, filePath); + const tier = lineCount >= 1000 ? "CRITICAL — extreme monolith (1000+ lines)" + : lineCount >= 800 ? "HIGH — large file (800–999 lines)" + : "MODERATE — growing file (500–799 lines)"; + const refactorPrompt = `/ab-cleanup + +Refactor this file — ${lineCount} lines flagged ${tier}: + ${absPath} + +Follow every phase of the ab-cleanup protocol. This is a production-grade refactor — Silicon Valley standard. + +═══ PHASE 0 — SAFETY NET (before reading a single line of code) +• Run the existing test suite → record baseline: X passing / Y failing / Z skipped +• grep / find every file that imports or references this module +• List every public export — these are the sacred API contract, do NOT rename without full grep verification of zero callers +• Note any runtime-critical paths (called on startup, hot path, etc.) + +═══ PHASE 1 — AUDIT (read the ENTIRE file, then classify) +• Map every class, function, and responsibility line-by-line +• Identify: God class/component, >3-level nesting, copy-paste blocks, mixed concerns (UI+logic, IO+transform), side effects inside pure functions, magic numbers/strings +• Classify each violation by type: DRY / SRP / coupling / testability / readability / complexity + +═══ PHASE 2 — PLAN ← STOP HERE AND PRESENT BEFORE ANY CODE CHANGES +For every planned extraction, state: + • New filename and target directory + • Lines extracted (source range) + • Why this is safe (callers unaffected, contract unchanged) + • Resulting line count for source file + new file (both must be <300 lines) + • New test(s) required to cover the extracted module + +Murphy's Law check: what is the most fragile thing about this refactor? How will you guard against it? + +DO NOT proceed to Phase 3 until the plan is approved. + +═══ PHASE 3 — EXECUTE (only after plan approval) +• One extraction at a time — tests must pass green after EVERY extraction +• Leave the original file as a thin orchestrator/re-export barrel during transition +• Apply: Single Responsibility, Open/Closed, DRY, Law of Demeter, immutability-first +• Zero magic numbers — extract to named constants with intent-revealing names +• Zero copy-paste — extract to shared utils or helpers +• Every new function: pure where possible, side-effect-free, single responsibility + +═══ PHASE 4 — REGRESSION +• Run the FULL test suite — zero new failures allowed +• For every new module created: write minimum 1 happy-path test + 1 edge/error-case test +• Pre-existing failures: flag as pre-existing, never hide, do NOT count as regressions from this refactor +• Explicitly test the path most likely to break under Murphy's Law + +═══ PHASE 5 — REPORT +• Before/after line counts for every file touched (table format) +• Complete list of new files created +• Any refactors intentionally skipped — reason required (public API contract, legitimate complexity, etc.) +• Public API contract status: UNCHANGED / EXTENDED (never broken)`; + if (msg.command === "refactorInSession") { + // Send prompt to existing session terminal + const shellPid = msg.shellPid ?? 0; + const sessionNick = msg.sessionNick ?? ""; + const terminals = [...vscode.window.terminals]; + void (async () => { + try { + const termPids = await Promise.all(terminals.map(t => t.processId)); + let target; + if (shellPid > 0) { + const byPid = terminals.find((_, i) => termPids[i] === shellPid); + if (byPid) { + try { + const { execSync: _ex } = require("child_process"); + const children = _ex(`pgrep -P ${shellPid} 2>/dev/null`).toString().trim().split("\n"); + for (const childPid of children) { + if (!childPid) + continue; + const found = terminals.find((_, i) => String(termPids[i]) === childPid); + if (found) { + target = found; + break; + } + } + } + catch { /* fall through */ } + } + } + if (!target && sessionNick) { + const nickLower = sessionNick.toLowerCase(); + target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); + } + if (!target && terminals.length === 1) + target = terminals[0]; + if (target) { + target.show(false); + target.sendText(refactorPrompt, true); + } + else { + void vscode.window.showErrorMessage("Could not find the session terminal — use 'chat' button first to open it, then retry."); + } + } + catch (err) { + void vscode.window.showErrorMessage(`Refactor error: ${err instanceof Error ? err.message : String(err)}`); + } + })(); + } + else { + // Spawn new Claude terminal with Code Cleanup role + const cwd = sessRoot || this._workspaceRoot; + const terminal = vscode.window.createTerminal({ name: "Claude · Code Cleanup", cwd }); + terminal.show(); + const escaped = refactorPrompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); + terminal.sendText(`claude "${escaped}"`, true); + } + return; + } if (msg.command === "copyPath") { const relPath = msg.filePath ?? ""; const sessRoot = msg.sessionRoot ?? this._workspaceRoot; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index d2c9f76..b91210a 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -501,6 +501,111 @@ export class DashboardPanel { terminal.sendText(`claude "${escaped}"`, true); return; } + if (msg.command === "refactorInSession" || msg.command === "refactorNewSession") { + const filePath = (msg as {filePath?: string}).filePath ?? ""; + const sessRoot = (msg as {sessionRoot?: string}).sessionRoot ?? this._workspaceRoot; + const lineCount = (msg as {lineCount?: number}).lineCount ?? 0; + if (!filePath) return; + const absPath = path.isAbsolute(filePath) ? filePath : path.join(sessRoot, filePath); + const tier = lineCount >= 1000 ? "CRITICAL — extreme monolith (1000+ lines)" + : lineCount >= 800 ? "HIGH — large file (800–999 lines)" + : "MODERATE — growing file (500–799 lines)"; + const refactorPrompt = `/ab-cleanup + +Refactor this file — ${lineCount} lines flagged ${tier}: + ${absPath} + +Follow every phase of the ab-cleanup protocol. This is a production-grade refactor — Silicon Valley standard. + +═══ PHASE 0 — SAFETY NET (before reading a single line of code) +• Run the existing test suite → record baseline: X passing / Y failing / Z skipped +• grep / find every file that imports or references this module +• List every public export — these are the sacred API contract, do NOT rename without full grep verification of zero callers +• Note any runtime-critical paths (called on startup, hot path, etc.) + +═══ PHASE 1 — AUDIT (read the ENTIRE file, then classify) +• Map every class, function, and responsibility line-by-line +• Identify: God class/component, >3-level nesting, copy-paste blocks, mixed concerns (UI+logic, IO+transform), side effects inside pure functions, magic numbers/strings +• Classify each violation by type: DRY / SRP / coupling / testability / readability / complexity + +═══ PHASE 2 — PLAN ← STOP HERE AND PRESENT BEFORE ANY CODE CHANGES +For every planned extraction, state: + • New filename and target directory + • Lines extracted (source range) + • Why this is safe (callers unaffected, contract unchanged) + • Resulting line count for source file + new file (both must be <300 lines) + • New test(s) required to cover the extracted module + +Murphy's Law check: what is the most fragile thing about this refactor? How will you guard against it? + +DO NOT proceed to Phase 3 until the plan is approved. + +═══ PHASE 3 — EXECUTE (only after plan approval) +• One extraction at a time — tests must pass green after EVERY extraction +• Leave the original file as a thin orchestrator/re-export barrel during transition +• Apply: Single Responsibility, Open/Closed, DRY, Law of Demeter, immutability-first +• Zero magic numbers — extract to named constants with intent-revealing names +• Zero copy-paste — extract to shared utils or helpers +• Every new function: pure where possible, side-effect-free, single responsibility + +═══ PHASE 4 — REGRESSION +• Run the FULL test suite — zero new failures allowed +• For every new module created: write minimum 1 happy-path test + 1 edge/error-case test +• Pre-existing failures: flag as pre-existing, never hide, do NOT count as regressions from this refactor +• Explicitly test the path most likely to break under Murphy's Law + +═══ PHASE 5 — REPORT +• Before/after line counts for every file touched (table format) +• Complete list of new files created +• Any refactors intentionally skipped — reason required (public API contract, legitimate complexity, etc.) +• Public API contract status: UNCHANGED / EXTENDED (never broken)`; + + if (msg.command === "refactorInSession") { + // Send prompt to existing session terminal + const shellPid = (msg as {shellPid?: number}).shellPid ?? 0; + const sessionNick = (msg as {sessionNick?: string}).sessionNick ?? ""; + const terminals = [...vscode.window.terminals]; + void (async () => { try { + const termPids = await Promise.all(terminals.map(t => t.processId)); + let target: vscode.Terminal | undefined; + if (shellPid > 0) { + const byPid = terminals.find((_, i) => termPids[i] === shellPid); + if (byPid) { + try { + const { execSync: _ex } = require("child_process") as typeof import("child_process"); + const children = _ex(`pgrep -P ${shellPid} 2>/dev/null`).toString().trim().split("\n"); + for (const childPid of children) { + if (!childPid) continue; + const found = terminals.find((_, i) => String(termPids[i]) === childPid); + if (found) { target = found; break; } + } + } catch { /* fall through */ } + } + } + if (!target && sessionNick) { + const nickLower = sessionNick.toLowerCase(); + target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); + } + if (!target && terminals.length === 1) target = terminals[0]; + if (target) { + target.show(false); + target.sendText(refactorPrompt, true); + } else { + void vscode.window.showErrorMessage("Could not find the session terminal — use 'chat' button first to open it, then retry."); + } + } catch (err) { + void vscode.window.showErrorMessage(`Refactor error: ${err instanceof Error ? err.message : String(err)}`); + } })(); + } else { + // Spawn new Claude terminal with Code Cleanup role + const cwd = sessRoot || this._workspaceRoot; + const terminal = vscode.window.createTerminal({ name: "Claude · Code Cleanup", cwd }); + terminal.show(); + const escaped = refactorPrompt.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/`/g, "\\`"); + terminal.sendText(`claude "${escaped}"`, true); + } + return; + } if (msg.command === "copyPath") { const relPath = (msg as {filePath?: string; sessionRoot?: string}).filePath ?? ""; const sessRoot = (msg as {filePath?: string; sessionRoot?: string}).sessionRoot ?? this._workspaceRoot; From bd468bfd22544bdc3c0ba50e931603df1499c5cd Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 09:38:45 -0400 Subject: [PATCH 21/29] =?UTF-8?q?fix:=20refactorInSession=20terminal=20mat?= =?UTF-8?q?ch=20=E2=80=94=20use=20byPid=20directly=20(Claude=20runs=20insi?= =?UTF-8?q?de=20the=20shell=20terminal)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 57821 -> 57931 bytes extensions/vscode/out/dashboardPanel.js | 13 +++++++++---- extensions/vscode/src/dashboardPanel.ts | 12 +++++++++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index fbb5dee5c22a151693590f473d090286c36d8217..9605e36858026bc3fd90b1e2c9cd1796f20a9f56 100644 GIT binary patch delta 13852 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 Yw4m=PCPxyW6DgHPOizRB+NlxXc6%lbO=uf*6 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 Xf<`6J?@NH{Bx4;gL2YdPcj^BC+I_XV diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index 7acae37..eda88bc 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -632,9 +632,11 @@ DO NOT proceed to Phase 3 until the plan is approved. try { const termPids = await Promise.all(terminals.map(t => t.processId)); let target; + // Strategy 1: terminal whose shell PID matches — Claude runs INSIDE this terminal if (shellPid > 0) { - const byPid = terminals.find((_, i) => termPids[i] === shellPid); - if (byPid) { + target = terminals.find((_, i) => termPids[i] === shellPid); + // Also check children (handles when status-bridge logs shell's parent PID) + if (!target) { try { const { execSync: _ex } = require("child_process"); const children = _ex(`pgrep -P ${shellPid} 2>/dev/null`).toString().trim().split("\n"); @@ -651,12 +653,15 @@ DO NOT proceed to Phase 3 until the plan is approved. catch { /* fall through */ } } } + // Strategy 2: nick name in terminal name if (!target && sessionNick) { const nickLower = sessionNick.toLowerCase(); target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); } - if (!target && terminals.length === 1) - target = terminals[0]; + // Strategy 3: any terminal named "claude" or "Claude ·" + if (!target) { + target = terminals.find(t2 => /claude/i.test(t2.name)); + } if (target) { target.show(false); target.sendText(refactorPrompt, true); diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index b91210a..cd5e61b 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -568,9 +568,11 @@ DO NOT proceed to Phase 3 until the plan is approved. void (async () => { try { const termPids = await Promise.all(terminals.map(t => t.processId)); let target: vscode.Terminal | undefined; + // Strategy 1: terminal whose shell PID matches — Claude runs INSIDE this terminal if (shellPid > 0) { - const byPid = terminals.find((_, i) => termPids[i] === shellPid); - if (byPid) { + target = terminals.find((_, i) => termPids[i] === shellPid); + // Also check children (handles when status-bridge logs shell's parent PID) + if (!target) { try { const { execSync: _ex } = require("child_process") as typeof import("child_process"); const children = _ex(`pgrep -P ${shellPid} 2>/dev/null`).toString().trim().split("\n"); @@ -582,11 +584,15 @@ DO NOT proceed to Phase 3 until the plan is approved. } catch { /* fall through */ } } } + // Strategy 2: nick name in terminal name if (!target && sessionNick) { const nickLower = sessionNick.toLowerCase(); target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); } - if (!target && terminals.length === 1) target = terminals[0]; + // Strategy 3: any terminal named "claude" or "Claude ·" + if (!target) { + target = terminals.find(t2 => /claude/i.test(t2.name)); + } if (target) { target.show(false); target.sendText(refactorPrompt, true); From 75472856c80e3d2572150688ca932e3b90e58435 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 09:41:57 -0400 Subject: [PATCH 22/29] =?UTF-8?q?fix:=20refactorInSession=20=E2=80=94=20?= =?UTF-8?q?=5Fshell=5Fpid=20is=20Claude=20PID=20not=20shell=20PID,=20use?= =?UTF-8?q?=20ps=20ppid=20+=20quickpick=20fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 57931 -> 58199 bytes extensions/vscode/out/dashboardPanel.js | 66 ++++++++++++++---------- extensions/vscode/src/dashboardPanel.ts | 58 +++++++++++++-------- 3 files changed, 76 insertions(+), 48 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 9605e36858026bc3fd90b1e2c9cd1796f20a9f56..fec5c1e71d87a0e0058c110bfb10ef94b664e5a8 100644 GIT binary patch delta 23301 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 delta 22969 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
qh}J_iGLONcW|YN4r$Mz=NH>oLXo* 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 { try { + const { execSync: _ex } = require("child_process"); const termPids = await Promise.all(terminals.map(t => t.processId)); let target; - // Strategy 1: terminal whose shell PID matches — Claude runs INSIDE this terminal - if (shellPid > 0) { - target = terminals.find((_, i) => termPids[i] === shellPid); - // Also check children (handles when status-bridge logs shell's parent PID) - if (!target) { - try { - const { execSync: _ex } = require("child_process"); - const children = _ex(`pgrep -P ${shellPid} 2>/dev/null`).toString().trim().split("\n"); - for (const childPid of children) { - if (!childPid) - continue; - const found = terminals.find((_, i) => String(termPids[i]) === childPid); - if (found) { - target = found; - break; - } - } - } - catch { /* fall through */ } + // Strategy 1: _shell_pid is Claude's PID → find its parent (the shell terminal) + if (claudePid > 0) { + try { + const ppidStr = _ex(`ps -p ${claudePid} -o ppid= 2>/dev/null`).toString().trim(); + const parentPid = parseInt(ppidStr, 10); + if (parentPid > 0) + target = terminals.find((_, i) => termPids[i] === parentPid); } + catch { /* fall through */ } + // Also try direct match in case shellPid IS the terminal PID in some setups + if (!target) + target = terminals.find((_, i) => termPids[i] === claudePid); + } + // Strategy 2: cached terminal map from previous focusTerminal calls + if (!target && sessionNick && this._sessionTerminalMap.has(sessionNick)) { + const cachedName = this._sessionTerminalMap.get(sessionNick); + target = terminals.find(t2 => t2.name === cachedName); } - // Strategy 2: nick name in terminal name + // Strategy 3: nick in terminal name if (!target && sessionNick) { const nickLower = sessionNick.toLowerCase(); target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); } - // Strategy 3: any terminal named "claude" or "Claude ·" - if (!target) { - target = terminals.find(t2 => /claude/i.test(t2.name)); + // Strategy 4: CWD match (same as focusTerminal strategy 3) + if (!target && sessRootForTerm) { + const sameCwd = []; + for (const term of terminals) { + try { + const wd = term.shellIntegration?.cwd?.fsPath ?? ""; + if (wd && (wd === sessRootForTerm || wd.startsWith(sessRootForTerm + "/"))) + sameCwd.push(term); + } + catch { /* */ } + } + if (sameCwd.length === 1) + target = sameCwd[0]; } if (target) { target.show(false); target.sendText(refactorPrompt, true); } else { - void vscode.window.showErrorMessage("Could not find the session terminal — use 'chat' button first to open it, then retry."); + // Offer a quick-pick as final fallback + const picked = await vscode.window.showQuickPick(terminals.map(t2 => ({ label: t2.name, terminal: t2 })), { placeHolder: "Pick the Claude terminal to send the refactor prompt to" }); + if (picked) { + picked.terminal.show(false); + picked.terminal.sendText(refactorPrompt, true); + } } } catch (err) { diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index cd5e61b..f6c8af5 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -561,43 +561,57 @@ DO NOT proceed to Phase 3 until the plan is approved. • Public API contract status: UNCHANGED / EXTENDED (never broken)`; if (msg.command === "refactorInSession") { - // Send prompt to existing session terminal - const shellPid = (msg as {shellPid?: number}).shellPid ?? 0; + // _shell_pid is Claude's PID; terminal.processId is the SHELL's PID (Claude's parent) + const claudePid = (msg as {shellPid?: number}).shellPid ?? 0; const sessionNick = (msg as {sessionNick?: string}).sessionNick ?? ""; + const sessRootForTerm = sessRoot; const terminals = [...vscode.window.terminals]; void (async () => { try { + const { execSync: _ex } = require("child_process") as typeof import("child_process"); const termPids = await Promise.all(terminals.map(t => t.processId)); let target: vscode.Terminal | undefined; - // Strategy 1: terminal whose shell PID matches — Claude runs INSIDE this terminal - if (shellPid > 0) { - target = terminals.find((_, i) => termPids[i] === shellPid); - // Also check children (handles when status-bridge logs shell's parent PID) - if (!target) { - try { - const { execSync: _ex } = require("child_process") as typeof import("child_process"); - const children = _ex(`pgrep -P ${shellPid} 2>/dev/null`).toString().trim().split("\n"); - for (const childPid of children) { - if (!childPid) continue; - const found = terminals.find((_, i) => String(termPids[i]) === childPid); - if (found) { target = found; break; } - } - } catch { /* fall through */ } - } + + // Strategy 1: _shell_pid is Claude's PID → find its parent (the shell terminal) + if (claudePid > 0) { + try { + const ppidStr = _ex(`ps -p ${claudePid} -o ppid= 2>/dev/null`).toString().trim(); + const parentPid = parseInt(ppidStr, 10); + if (parentPid > 0) target = terminals.find((_, i) => termPids[i] === parentPid); + } catch { /* fall through */ } + // Also try direct match in case shellPid IS the terminal PID in some setups + if (!target) target = terminals.find((_, i) => termPids[i] === claudePid); } - // Strategy 2: nick name in terminal name + // Strategy 2: cached terminal map from previous focusTerminal calls + if (!target && sessionNick && this._sessionTerminalMap.has(sessionNick)) { + const cachedName = this._sessionTerminalMap.get(sessionNick)!; + target = terminals.find(t2 => t2.name === cachedName); + } + // Strategy 3: nick in terminal name if (!target && sessionNick) { const nickLower = sessionNick.toLowerCase(); target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); } - // Strategy 3: any terminal named "claude" or "Claude ·" - if (!target) { - target = terminals.find(t2 => /claude/i.test(t2.name)); + // Strategy 4: CWD match (same as focusTerminal strategy 3) + if (!target && sessRootForTerm) { + const sameCwd: vscode.Terminal[] = []; + for (const term of terminals) { + try { + const wd = (term as unknown as { shellIntegration?: { cwd?: vscode.Uri } }).shellIntegration?.cwd?.fsPath ?? ""; + if (wd && (wd === sessRootForTerm || wd.startsWith(sessRootForTerm + "/"))) sameCwd.push(term); + } catch { /* */ } + } + if (sameCwd.length === 1) target = sameCwd[0]; } if (target) { target.show(false); target.sendText(refactorPrompt, true); } else { - void vscode.window.showErrorMessage("Could not find the session terminal — use 'chat' button first to open it, then retry."); + // Offer a quick-pick as final fallback + const picked = await vscode.window.showQuickPick( + terminals.map(t2 => ({ label: t2.name, terminal: t2 })), + { placeHolder: "Pick the Claude terminal to send the refactor prompt to" } + ); + if (picked) { picked.terminal.show(false); picked.terminal.sendText(refactorPrompt, true); } } } catch (err) { void vscode.window.showErrorMessage(`Refactor error: ${err instanceof Error ? err.message : String(err)}`); From edab976f7eddf8d74230e67a818b4cd58ad6c380 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 10:08:36 -0400 Subject: [PATCH 23/29] =?UTF-8?q?feat:=20log=20AgentDone=20on=20PostToolUs?= =?UTF-8?q?e=20Agent=20=E2=80=94=20dashboard=20now=20shows=20accurate=20ru?= =?UTF-8?q?nning=20vs=20done=20counts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 58199 -> 58195 bytes extensions/vscode/out/dashboardPanel.js | 8 ++++---- extensions/vscode/src/dashboardPanel.ts | 8 ++++---- .../platform/scripts/hooks/event-logger.sh | 11 +++++++++++ templates/root/.claude/settings.json | 10 ++++++++++ 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index fec5c1e71d87a0e0058c110bfb10ef94b664e5a8..80dcea53520fe48738589f2a025d16b4338af231 100644 GIT binary patch delta 21805 zcmV)GK)%1%#skyF0}N100|XQR00;;G_)xJ7=K=!wP_y*{jspVtP_u;wh6n=pP_qpW zrvw7`P_woZ2m}K6P_w`nYy<-LP?Ihklmhoqli!{kv)~+{1OoR^vw|U11_Jj`lh`Ll ze^=9%^i-1ErM~`pmfUswNoots1WB}#iL69Ylv>t1z3SC0-g)=VndO`_tJ%-uE@pRs zO8t^~5dbognaE^HcK5q;X4qX8nF$1dKp+qZ#7Ac-8Ifti{j~Gq!Mn+ynV)(AoAQXg zPeja;^t#KgVv(e>PdcAIG5JOW%aC>Yf8>T-(s0SfBu$o#-1c5P&;`AHD(4eHli)p# zSV*?WrQiV>y?Ee@NT%dc`XXRtizMvlB~Mtlqn>nnro>d*Z>KVUBMNVX^(Ln2+yKnc8$QC(ye?SN! zHzcA9HYOb&@wC$?0h4~hioXvq(rr49>}%(J-A?0ZbCksvUZt@F;7QU>P3G$TSfP^23M2 zgIC@nsKPS1sA6g^RvIZ5!j_8#O|Bg%4~1kE7<=%P&?q1@@#p-K5n7Aqe-%yrc?H5x z@RU$Lh03a`L=-RMfTm1V;Vk$JrlkVuje2f|1e7CT-u-2gun6aEK^;^ruOojTFL)R_ zaC9B{1mEH8D_qkVi&A7ORbZDigZbmq~={^?f21T(WLAVN!&btWOdK z>%T{~wsmRvD0Y*upUD;i^=1YtR4f&SPsmadkS)^byeK?RnDj){?F2NXoj&RMsxAr0 zlP%(VsW?g#9?iPF7s$(9Raq23O{}PU-3@wHVY_0&e)c3wkNJX$e`VTTNK^9$Ujg`Ga>z$RuI zQnlm-hm9MEe{i4oN@&TE67Zx?rls|l*YU}g>G3NbGVHQ}( zw!BQq7U@nGoy6&dFI_-zFlsh6QZV>tHZ2D;L-C&d{P-f5+&UBHAs|oiiG+#KlaDRbrZI zQvASX2Ul_T{8ztvLb^NSM>iUTn#9iMPVcsNdMdv?MRsy3PZdMy?rfc&M!)*i=SRKs zKIw2*@2ug&AT@7_Y1-TIPBzYV^g>m$QLTPkH(r6VJ#6<|WV-P3pF2AS7u}Oi_82B? zCTIwMf31xW7wMdW0N61?%ULasL0;Q6Xr3-S`2C5h2Zd(gg}0;L0BH4FrYy!^Vukdh zB#MUij6C&$uE>@J-V(+-p_nO{AmzX)lwjxWzzY}X;ZQ9a0yIthgr_Xwl%Oyia+%gG zRbB9hQ1};x-T)kL$Gk@bo7Lj`EKX_UW6Ikql`c0KsQID-nwqtL_040%HeEmHuTM`@UhJUT;%?P5Fw+H>EGaKPxEZ@ z@Bc$WJW;n}N7f2%c{US9dOAcB>_l&ar8xP34jl7p)>p?-?8 z8J&c9NS92XsK|mQ7lBx*t%m&a*MC*=7VKs`n#n$y0NeO^3CyxjP;E11kq=Zs8w0-Nq~B2yaSz7x}g&Jr5W$y6+(f56M- zNT&My9(vk^p7n`=N4CgwpeI|f#7>YcwOv|MZi|s>)LR*L;FQFpJ*9`5(onLB(4Np0 zbRMBs1$9tsC3K~!y(poFz#)=UOO5B}=S4{$iz@r{+Z_f3_4ZNOYRAgsj-(OGbPVhRjb{pr)=osBgYe&%KaEvvgkU$|Pa*qBJGN5~^;zl=E)r zI@hT8nlad1!O&qZoA~ni2Q?aZIR5w{T?V+{Yh}otPb>QP0UO!fP9XaDf9p6?lnx{S z8qQb$bolzU+9vOL*3bv>x>`s8uk4d~vv~jbaj&ufOZ`}e;eIZ@lC2_h(G50<6k00; z(kmc%XGdd0NfhdPK~pqcc-C*I@c41R(vdIQB5u}o;_>5#7Vf-{6e#?I2-$tl_aM{M zQ2202-lLe!uHumU9FAK&f01gZI()l-@Xy{N7?X1VF@SNOKcN$)KrHJ}Ky~sSE34BQ ztPX36t4qSFx7T(}bWERWSA#h;^5g?>`r&!^gbx042LBAsp7hR7pA;VqXT|!kM=gqv zR&yRQ((S6%1%N$v#r&?_^PT8C<>*a`ky-V+yGU7)EN zr5&=YkaFyp{bGOrqa3jcTjMScK&ikBJ7kd)XzGBQ#K!esf2$$ylUxn%Vh>gWM{1Sh z_l)$uJ^l75zpfj@?^F5hIlw+0c2E9ve)gny>Mervp;9`Qm5sw8F&ArNJq~@pwphxP zuq%$+Damy3gi5%k7STW{fpzhMh@N$~ylZL3lPNFng|GZNpn1FIa@RCOwRXf(B1o}d zT|BEeRmFz2f8%;mS1hXX=Z?~*`B2Z-3~?Q21~?}hwJLC}h0^7|t6#JV+}4&w5Z`=b zs>5wYdv!fjDeuCi-*`UNNUSm^quDk+Db^hh$qz_PTtff;2Zx69;*>{$J}ee4tP2!Y zfaAD&t4?OUaP%K$0s)uO%oqGc;p0f(^y5WTxSSP^f9wM#r?j12P_||_XO6jcA*n=K zjys4(F|EK_K~UqfNF*$m(KKveIOW5&($!lGwr>nG4ud{nmn=%<9`)zU^m{lY8y-16 z`U44txLC%di-a^-fqHSU;*so=I8haep9m=j#?k}i8@k{Th30#;Y&?~hcV0@kL9XSL#_ zS&*tkY!qJQ)5E=X+4Dy?(DW^c4mmmZtgDO`(p6rltaxBPi_!y}Cfy4-Eo_e5QdaSp z*K#0=2)sW_5rx)@EX?kZh3RCHSX4=6VH$Gs{?)W%T%yYN zGmuUJ_|IaQL^O0%)qq(~#N_l^}T$p@5#y>(Hd;V@LKRV7d~`{-Fnx&nCfa#JqtL{Lm|KX?Z4|X#xi!D zcyABUwFA3Vae0qm_Ud`9{Xtnkf8FMT5RlCg3IU!TfmlojdE@0Rk#Uv^yId>mUC%uLIX871ta$|El4EI=KgSf&Kzd=NQ-9q56-ARs@bpppP?QFA!se{vsK$ySCg zPUt!YAm?$GM$Jb zSHGZPbrg4?V#~E>T2eTff0uTI5)AjkB-YH+;57sB^bL%1!J{rrWFJ9$lK-WSz2qP! zOVAGfu$)d=;?Xb^epf?XTXh<@}c z8bG$)TAG}jvV}#>I2__r`LljPN!?DUJJ^5@dpyhoVMnHP5wGt%_6&H2RjYL~+2*&D zEYVxvf=O`C*iq-rnzx?0c>~=TGRAciRm4w%wx!TM=nN`QwM+n%)M*73K08%Ft?Q0S zcQ;AswZ|p??N&hbe_ZfA(5hzY%nX}gp4sW`c<2R&8x$G4t*Bie%iipG_voL-N(A6j zP_aoCrG3Ie$q4uys@)B41lS@@ud(DEW&t)nyaCf@So&rITRoNEc2E9v8lBy2^fxv~ zx4mJ@?wf5g2fmYk2iFa4dOgM_i=uH9C{x+c=!UC?kQ;1h5=7;J&uc5aBF%34qXtO7+ z_lM%9zu7mvf5)9)ciBP!8IX44XeOg}G6AW|1)E>itaFpsBd!PwciH#J*V_9@>;0d! zo@4UmasaunEI{rh50DyO*uKp#~_j3N+4`}Sn@2}EZvD1?@qDflN?gab?AR0JHG0 zxT*uCe>0PA1%L6zWjG}JT>3N#0G`t0r*j&Srz6l^FF~t=j^wr?D!UhW1I)0XQU-M? zJm?0V){uRoX%Ey&;AdU-LkNtg67mK`6W@HJA%nDIE2LYDMn4Q%P(WU>Km)LUq5;>d zL@e}8p1N`~gkWFG=C`so+thmtFdbzM0q{EOf1DAFH!(6(6vC9~n{FL`1zB~ly0EIN;)TT$;*4@BidNRrh@8_(s;kMtkSh5 zDn7=sapWdX$VzW78@*oc`T}EB2!8W!fB)e1r?A`IZBVh$4pGsv=(EmFb-F zizR%S!d{3z#W5C`u?3Gf8X}2+U7|FveRJy?IWlVkc z0rvrRm9hxd)5nBY*oFPBu&j%%d3Hf%h@AZ_vl1VL9u>LBTk$9mD^D4j9kZ+Se<0wg zNOrtS&Q^OOTrSYeRhRxl_RxD5l^nK89n!lt{wT|iZi&7DfcGiJKVXtT!>%vNqOH@2 z7DOAYM;7#&Oc)8cjM0d*BHAdjcG@UtUkDu!s(>{$t3R;`APYO%wKnx^JZQz4$AAHM z#IRpN0E>Xmj!+1bDl%2S+(Qc9e{&e-=%+c0e&j*GB3IE+_%!^$q*x}3#^ks_5M+m( z=z)ApIIb8tZx@KIPdZ?GKs&uNGA1Wyc?-7KRh`I&Nz`kvSfY!VRafEJnrJW<>9Qm# zlarziJ-M!XTM;sksQ@h}`TU%fS1e9-vV>SnWJ-C+f^nx$ph35d*lQQch(u_*pN$VqLR2)Lr35oDzzKx50q@h5A|;!1Ohw|ej|i#AILfTzVbcO^ zB=*LIS7=k;SZ2R-7#Jw65s<=$nVwsFj0u}2OwPOIA+;XS{aUx?+f9a6chWhR-X}$4 zuu{u*FX}zSPUAG>e?dzEf6F^plgoRS4E$?9WJ)?DKG^Jy6-j{UfVLWh07)z*jQVpj zS@JL-SgBWP&9eJ*+bw{f2`D56GYYm1*qX9QOlZQw>w!O~(F|^xfdEU;wS{K}z93NR zBIwc3R07@R+y&5N8a@9t7AVf5jOhvveq_eMzL6!@WMd>tU{%Nfe*-s*=LfPWFuRc* zOk_ADZ4->jeEgckEWybt&qSmeXqXCB z4(6snc-#Ni^YPc+02b~h%%fs7LZFx7T`rR03RsjI~1@>7K(U?A@SCCTcgo5 z)7+^akB{FIuyhsEf9aS=Fj_zdd_EJtzj~ z1GXLLvi2||m~mK(DNDeHIz+!AH3LKnG8O((9-DVy@{2b(f3O7@+g|`tUMcF8srQD) z6%(RL!>E)h!D-2jRbeBv;NP+os9DuM>^xhB9)Q=t6Vz8!s8{W?dXMtv=_1T(&RBXh zXJOd2!1hU@LIqrrS%Mf-ptp~bkx3$GKxUzsz%EKt6)Q4fGnxb;gdY@B@GSKq5(BCz z{%}MvJi(kwe*)JE4U&ouuel5`q998w>CPZk3wTO{BU84}MZ2AEza3iIoB1*rD20Vq z+!RHSybVu8`#jjg1>99Z<&YOCgqS_5kDRh!-E-E##om57+{$~U?#r8NGUf%Ld!;d| zgea7SP$=S2%92Z1HUdnG2~UfXxSfL#!z$Ns34M4~OuPH;f zI(sF!id(5gQaZR8!(}sdp@;9!#D?n6L78#%dPM-V1UxMFj zcN+J+e{{~GZXocUpm^w#bFnHE4}{;&%C9WR^aW~vMP`0K9 ze<^d88a`pLR5MrZn=~~0xpTWe(FD#gW}`VrTx13wWAf-m)6K2RLbSd&bqljv8gvs7 zg%9wF6UHSm6Fs@c!_|aM!Fv(BrWP^U8V7tjtw365fPOYhUf2YaOR=*Fz^+m0zR7{s6ye+l7`GZ;V_gUt@v+#Uw(atMOXdC!UsTpP-P zn7aZczuC47J3Gxb5g?>ys|S`yY1#D2pTViTuyFpK6igZ@gxvjBcnYTH={yn3*&LKp zKplo!+?T^@B4=FlBGX+D&Zaey7^OdF7`u7~QRkgSeqOTVdaUj{m3<0B_ z%LGn59g_~=ze8@F@fYhhP?(pu7=x-5Q>31G+OwsF1&IM|mMPm)zfE!g5AfFMYqaz; ztf14OY5I1oDCd{I{VRd1W>}5K31jD45?V$owLy@@qFygx-JOVBD7vT6r0kh=!25c^ zDfdJzNI{1|o$RD;)G|lBJ8?;Uf39I6OHJ2+F?VxtH51(=-G2d&Lb{CnIk>|%VMsX= zB64)Fl6sj^MN-4UCdi4~(cR%}+XjQ$u*YaW-1i|y$E5{>xLPGD63{lwL64 zXHo_CNd(M z^whq9?ZDH=r>C9A*28mMM)cgZP3IH9q5#-Q_gvkc!tSfvzwMm&QH}HUR!G986x8#F zkzpkuQPviF%U0`IjupN9f5Krc(*SEo`R|<_GO9bh=sw<)t3)4vJ{%q&?(M!t5eXt> zu>~Uw5s45~)?Fy}Lpev`wgca&44_da7iLpmAwV70J}A3XS=Un{PIu%WR> zH`$18brjfXNN1pb)qivYxV#-dAYeVGChzvagI59+F8Wp?o`c3;$EVGk%h;1gj-fdY zp^M@~1WPpd7|aqHu&l?}ks}^*UqlcTDP-3K84+kSA3XTwfBkRj|K$CTyGI9Pq{{EU zIyn9#d3$h7y88T(sF1r5=7LAFkY%2&K1O=|<*)w-`LK+C^eqdQc+ddz4s6;}1G~TbasTj`pywS9;Nb1?;fDi6k=|a=Y=uv+ z)g-~4ghB;AhcIT!P{^^zDX*8o%Pu&mDjjLx`EqUB=35;;@{2Zi)KJ#KZuddWqoCTMc4gP!ky_#+vT zqYv+Y$&mPB8EfhTs-=4TLmije{DPr|5bFNAIv<-jAMao9z9r&1IJbd z%mS&2t#E#k8e!5>V2!C()(CV)S7Z+yM}uL10qH7J5t6{YL{As`X@0HN3y4c}$}}w| zk}M;Ns0TU4tOWw1EZ$3+`XA6r7chqm!AJHD;*@R-*Xk3z1XDbBBGS1E!!}{$<fbCS@(`|pqspq@kZ>OHdPrv#RD zh;6~_Axn2a=;BSBUsRfHP^>!5>v9z7A$2+ zpYX+EX_njob;=0#zW^I8tnW;=08&f^9y|iIMN_b-z}s<-4hREfL@F zviJ_W^Work9}bR=4&S{k?5VFlzJ6WUPyhO_YMa3xQ64T6Fx6JqHCQueC{RQ#6>Xpx zj4|#20~2q)ST4v0nbR1tlFn6sD^JJ@iEFaKuNLn zx=$kL1ex=IWgDqt5)_smrb195P$7Xq>uAg2wdxqIG3X{P>X2VBcq3Fyb#=}n zHb1E1`I*M^`*$CXv56m0!WpV%lXEd;LSsuDV(CNdhHi?E6Do0>TBUn`xG$t26@e;n zn(;enP_7mVhyZ$YQWGi{%709YJlMH}QHe&@n*VjR*isZrLN?%m(p8f+Ng$V8&v6oMd3>u=rw)hYlLP~TPcaXGODdJY zV@cj0?!U;7pIVcA7#I$Je)QwP>({Cn>1LH;3Z`G~9d?gallaQ_KNmDH|eiQAssCLQTIs!2gqr>V_$XnQ`JtVE1 z?Y@@QzdFMAJiu_nE6P)oWf1&IyV(HI4m^bsq&X?LE`RM0M)*K~L8!SLhG&6{kh5#D zF>atoJhR}bgQtepNEZ(YP$iqKW}h@zF*y}(lePZ4LZ!Q86Ek_=+<=q79T zmJ9?I+PdG(NlmMW61BL{L+LO|ySgiVve6V`ql}>(6kw=THTY=3cPn2x%I~oI3DOB7 z0cnCe;b+LKvW8lJbnZ?beuZn4wVr-N5#nwr1x~gS-L;Jw2crEY~)M3MPfFmVqzsjM|LazR0iHUY?s{Wsn!-LtoHXNeU1Ym5ZgUSn7pg zGd3(tpnJW=*1!3t){YOuD_Lb*Im+ri2#26=o@(J^%ytVPehY``ni)zradtM<-2l!^ z)`PD$HBZONk`Y4I+ZL4flUq!D3V$Z6z_uhP7kEOG;Y?Klcat|wBmq5>TuoDda-T>= z^{#d0PmO^IWD7qw<__2anh zxpwzz*@k5V+b(z?p^m0Ze5gT0--11T+Xl7*O&SK=f3l0?&!5{}6O((JS#)wU3%j2k zw6&;R9BWN0h{MjHNV$Ipdjs-G6>JW^ngKZIg+WsIk7odWe^c&t#sOc!@Y?1TEV}gk zkjFaO3Fw${MvaA?vU0ntX&Xyb`i~!I&V2Sn%o&>4n#=R^z6y`_cawKcI)DGJnnRU; z<=_fcGH)VxW3si*g$RYK#;{($QA&zf37dd-sNv(8g!;&;%pn=V>ev<$wEkl}QX@921$ZxPow0!^(LN2FMe$`%ATh+8icTlmKy~}94OA6NJi%F|_ zsOwO}Hj|AB@8(k0!eWbZC)Nn{&hQNPPIKx|=If@?t>Y5he3}#yYKujc`Z%ag|K5PU@V1w9d1j>nfN-3z|{s| z5qBzn1(*V6YAt;_ROvn)XGEi*&b8C3Xnwq_hGBT<6d+yb$yGG_JZa3!M(xOM9kbh( zm0E6D-?|!`qC`+lm8QGU=r8>cE89^RR2Y(aS-Dv@Zhv#^UKit5_q(qK)|3jq2)8k` zt!wasXIbi?CCB>X>r{Hn2(ofFcX|!OY~>qhK5YXvleY1po03ym00N#UXSHZngtK

Y!UBZ~wnd0#O3(X{rwc94zUn_fDn3^!0&{fD(Z(7TgR#Ki zH+@Vr!qE~I4cpOZ7`mkMJyvBbSP2O7Q=)^sSid0JutT5hOgHBYGnK=t-9+*!%4ttr zWRXEICMBW-EoKXpI2>A8bkSc0%YiXZu_KkB6MxA3=F7@@cQY_GAq{i7Ce}x%DdbZf z71S4m2~JN2+OhQcs-CYmA(z$XBWp_MlB z=}3}GPL)a))k$7yU8#6*WD78*BmZBeJDz@=T}oKd_dIO!MP)*&wZHkM7!bS)DwR5s zNqMUyq7)OnCz$RiD`Nh*Kgq$zvzCLZBpMI|k5eG=ZE(b^pWH6wU3H(gh6n*hK za5G)!rQAnX3$aYcWaHUr1kAMii6sd*)(02c!ZWS{S`8 zk)1n6mokhI$witl6T=d4m#_u+q~t*njeoWgBZZg>I>-e+0Dpiv*q6(+1YX4wR>7_C zu8;=1)+5*2ssy-~S*B8A6IsRNj!CoqBX+C93!^Nk=m1JB3K%_@#%rw<=>2GW{rnygM@8$)e9M zWl%Q`C`h)l>L%4Q*&*kT9^L52UMgOJ`(XEJ@All;ys@oRNpow5o~I{(Gg%(geZCBe z*P4+~k6F#VGC8$D?n;f`~-g$exugZpDB^AN&>=qQ|Oj(B=K)*)m5_TR}(iuupb z0a+!jJeFlf0ENq;#j_%IeyU4Q#DR%d0bysDUj-B+6>T#zG3#cIo*Ghc4Z% zSXRwmU_5sNWe3D}^5~|kKC%>Reigg>uKKu z^~m!)cnZ!2g~g{e6kzQGS$8lc7O=002(AfFDR{^ik~`ZX|2~sGFc_EhBGO$!AyKz~ zmG7F}dP}XGgKjn5xU@ZVVBkr+dl2Y3C$e>kSlhXGXdy zP4Q2=hsU3e-@SWX%onyRFFs0^{AV4%57RoSN0xULl4Gcl{3g5Hv7=@muHoY z6VUfoL|6tlgWQQS+YY0^?7(>nL#%+g86TGVhSHlV+UwP6cA!~=|5_(7uk>Tbt3=J+ zDMe|m)WIs{4cGzMUsQ8#?^FwaLb;s#Jac%VJE5Z(?$q+`kn`cAn`%2)zK{+W_7V|y z$Vvs#Rz^qK1ddArSN#}XMkKgu2#?}rO1h=hS(Yui{7F@OB@!s-LJQe{v6em(aCMT9 zpvkx#T;DWu7`+zJ>>bEpM)wDcqtZIM-&RnasW#oOx5;lu75?WN6*VyneoP9y09}`O zL^kJrRNk{FfXFc-!E8RW1WjyIELtK{I9=%6yEzImNIy1WAXjc?p~$Dz6k9~1E55Es zp9StxmcTMv+?|P5*)dUn!m7`ZX+D@zQ3-I$ZKKFEHQJ%kmt>QCtCD@fb={C`&dGva zDb|gtX13JHr?OfLNWgwoH`EF)-R26~camLtYEOd|Ycd7b1j|OX@17P4FVz+Jr(7^~ zS4xeH>V9o!i@mJqk{yw@*UGuI^8kBQz4J`4)TW7BHkNnl$-pLmk-UaoU`!69DP$tL zc6(Q4P1amZW_Wk54j>!|A*C0YnL8bo34%XWa94SfACb+CR7%YhGQ5wS{sk6K??XOae9g37El#n*5r z_&|nmy(PN~wK#jbCkpb?-)WxeUGglwMK&F7#RbW-|Ee0T=d`FBP*?%W-#aJ+64Z?1 z*kJ=x8RX$y+|AlUdj#3-WzHwG&N}lB%ZavHP5OvfpmDtYtu%+7q2A zMi4&}qI>#(S}{>{5{(rTF#2?God}vk38YtuJ$>yDSh~4ggC(_mWzie}YSxA9so0G8 z>6Nwv`TUt=CJ#ILv*ww~tv#gM)T24fqP{Vb+Jtd!bMi=;V(g~6>y{lyvH!&vYoP8K zI~)Mn()z{$=0Mqzz<~08?zq*5j_S;B#Y1!0>p7`^{mHp1d5LEpG_AR@8iZFvRLL(0 zq-65RugUY#tprOOS4liL-OfqjRaezhhbj%N#)}FxeI#nxhpjhLG|KPo`PO3(d;=?%a*UNON_jxyANr7#`JM zB`P3)$c?mZsLoHNT$J$w2Kan!BT7Hc{ruWb?NDQ-xYUYF42qJu6z1dh)^y%+(RbAL zrmto?GF%j3*VZEDw(rPs-B-EYlXaeN=`?Ww^QpO*#IIS~>wU)C`HE|qAJ%;~ETzoNexvPS_fB`5t>WV{lmK4Y z_nj?#2p_Vm;=QN2TU(2etSLNPG+uw+`Qo$uf#cUbI)rB(>jt#p?$iF%J1J(&U&Yve z^E?mN+N{v>IrSV4xa6fhm^QwDyt;8>g0*_Bdh=C63Fb|=*r&`#`{*lNzgwc! zSB(z_95A&X29nZXV2G*ce<4dA7eD}g!XjUQG0|8bL|cXbvvyOHrYP^K9arOSQB4*) z_f>W~-aQST^iEUr$9vLyG`vGR4u{1+-A7Lnvc<*8)3eM!rvfq36 z=FQ>p@xlJRWcz=@+qZ`7IgUEPUbe2apRE~wzPb(Y7H5MDd1yJ?_K2`o#|!o}GbrGt zU0{BHyB`@F*hAL1re9y>uu$oMu}o~S*3j!93M|4>`=h2hovspSPk+UbY+$_vN+~!j z{MU`OjlgVS13v)#tyXcKtj%(wQ?8zLRD!&r?i{Fd^%LkI{8Sz4oc(>08`xuLK3ScE zIAh@yGt57_f$tC$_pYa_J0$`l<|Jc!d$(kN2bi?&Yl)1c$W>F!e0Q~mkG2P29Oj+2 zO0Zvj2U^%xQ)v##bioFwyM1(%wR`J%FunJf)^=ES9h`ON?{jR|WkUlj&f0*;wz&?^I}}h?!^)FUfc9m{$7$#;T`R*M^nmzEZ6< zw$oT80oW*NgMvu>3ZMxI**2bebRZf(NQe2>7LpK7X^BOrhzf;>>$6qx;`15X{$u@ zU?Y3bj+#{OxP&~~TWA%yzAKqwq}74_atHSB*n#~_LAbsX|I^tndUDO?!m=fQ9D^MN z?p^vW9kRF^D+z5}M7B4cp%ECJi8|09!5=L%27;)cc>8W!t$_n~)pksRW#?lsK4rRZ zkl>kLHkpuR4ee?Jx`G|j9n6VZna|}nsaELP5xQ3t`>{XNjh@?E z+wON$@Uk(*=UhT;nm$e}ga`6}Y21X%-A23f3NqRm^vK<&*Z}M9Dyzos8Mrn|-G@cT z4rMc7J$Ts02!^!Yv+imX?`Y*NM)KuPHi2!-;qA|TOylj(oy_D5J-(aCy#2||=hvIb z+n+BxS=`5@zWm9}ZPppsyK5?&ncae|eM^l!yK1+ml_<$FOKC8^FMsZTy2;gVRwBU@ z0+Zz<)X(!lS-W}VL2_2U4V zavR5~hC158vV+cHmn`v&%{Yfpu#!$0S;k;VGs)tgL(UrX6vvK{l*$YDSPG60he4>e zdo*ZAY28@RueX_R0bW7_xh=bHZkucr?B<*7Xm@{i@b>uA(edto>w`~kj_?YgP}MT1 zj}1wfbK%-Oy5zx;$3li{|=*S#_esx1efjfytHDV2N-CAUG2;+d;<~n-JrRb`-PJS;>11MjWqb~=V6^2iT);r0Uhs)FopJ+*`xp5m zm6rEs$%npD+7#W*oSHEe)%pr1oJ5_hpbFPItJ|MDNbswF>A_`#@ZL!Knf>`C8lYb~ zEYR`Ju*rK}Tl%`4s@F818ImKzjlf6QrWn#y6WruML0rcW#7Qf&lKO$QkrfNG+4dMv zq{enC5jRmfTAq=IM}(H~SS zRON;U1Y|P6ATBFL7JN3>b|*BChtSn~4MZxOFxX6Lj|Px&6(TuVZ9-7PWjYrLPbuuC z;WY`ez))PJdn_DDtQaRvGIZWVCQK@~#2xgVGWb4!E)_GTX`nA5<27z%b1FZmo|M4g zEEWMP-zbzxsi$vGa6OyjM7~>&Bn5#(q2m4NZ6q{ESA_q8ryyS+CkSqKOmR( z$sBTjeokmGs~>)0B;R~folmVC-Bzm6hhGC-4eZX1ucAl0@_cD%Ee{2AZ`a3q)f0La zk6T2RuLq&Mj++aNGv{PL{hBcH^`Is?Ne2vEo64czT2q(|ks8yCdK~N2n+nBQYNOAe z>%#ZIM<<4Pi<#gJmnz0d(^72nnDhj`Hj!q3v9$g41FA3^K^PVP*t%q>FK%fZ>I=~s zJ7T_w0y(z*pp`B|`!_etIXZEVjW>5w*C8I_xWMN1($L8(a^Bvrlk;1m_!vVx8_)2D zp=YsRvs;x$JVl`J)#{J>g7chfj0-%ZzRId19gSTg(|Q1}l@`4yF|Dsw-e<=ZhPobq z#`};)W9KdoZ}KIAnXzg#3hUw(5mL?IwV)xy;AF1!M^y+Vo?KE?P%m3yC4I#te^d7E zLq$a97Ej*2ef>u~tmzQV=+*%4tUA24VrM;_?iy5`AkCL9Im->0ICG$^TY@zJCQn9j z&QyIYRX_|C?}Kzz8bt8VN0?+wcc|xom4P3xgwlV;G@)V0!aS_BmL_#Z@EK^l!I*TZ zu05}bWKgH9`_+2FP&D7g*4yzIzUEtn^s@cbl}@%2 zHb{3?IWH>sHIaj|u*Y?xg8?OTP<>JkX|+5|U$ovoJkYfjbs_Yx>#bMZMeLyH;yuWSC)PaYuz`<}5KDXU;yM;6cX?28^ffIL#!{q|6I5;bdYHxmt6HUq&VnB~-eIO^E>8*~&E zv`^7afZ=r|Geeg`hEbDYL1nkiOk5yY2V6r=g-BUaj&@r>k&3Zm{4q+{gKI7cD6uvp zd)(7y+wW{!Q(!8?9*@of8~l#Q}{ATK>ve} z<}``n%LQW*{9SQX=jSD7x-7k9e+Wg05KGWRK@$qtl*&}qlvplaCipjC>V3#4LWYdW z@Hb)Dz$9Ga&zbJzpJ{-rFaaH-xbgiuq!CmhFc!BeKDOvVatp_(!t`ExZ_3#wjB68th_{)JHUPdQ>MO~eu_ zEqHWcP;I_Yd;``7SV=}af5rwEuy!K_ISK@JQ^+`Bh~g2qi>#$MGHEqnEzDIryzfBn@ zOS70pcBEDDg0|YGL@Bcz9RS{n;Z%vHcw_9EGRD}qHB8ylJpbLT4*iFZUnOFpQ~0>L z?hJBo!-F|+wDHY1?y*#hs%(xHUvw04ry_(hA2HLr^Wc#uYFb;Utgxv)%v6elCZ|pC zT&eA7nomA>>VTqnf7H2KVi;C)ZJI$_6P*jn<(rqQg^2qXxtR*iRb#EnJtlMCVwSJg zbXco8sn^WDy6baCy=u6IzG#xB)dXaOg(NF4*4+DASmiZq9yaREc z1$nXYOHik8e^-ZBnby3K|9@T^8gxu9GOr?ou5b415l8Wt4IpDX`7To6M6*hRPJf>= zNS#*NF@hEV-FYA(9E*_})RX*-*G1bp*@qkS;0L%;DDh$sNL#r!mEQnAgBOn<<9kR+ zSxTt&1`oz6z2xK?8KANkBHfI^nG0l0#uP4RJ#9{=elm)@l>WVRNu?9k^wm9VA1_J!_H|V;&3fNT zh1R#yf28+qalR}O7h6;pbLP6CPyAS4fEzCbOOrY3R}$3~ffeOb*E{zem(IRAb|hon z!JMdSN{f~3BzXNo(EMV#Vuq`}ol2>1r3)%ng4?PzVdVkhk~9}@YGtc4T^~tNzfmhe zzo^!i<1(L6wdJ_9s7f;>77L2kue(2d+IxNYe+eR#?7rPUDi$kTLl>`~UD-|Z%9@51 zOZzmZQ4lh46r9l%=eld}n%V-*dVPoB{-&CatDmnI+>54CB~XwUvdC_tv;nErmDdIZ zKtfmfgQ^d8LRXHkNOl`FIryg1TSg&|E~=eEQCF#nHLum#STJE!e&Hu#hPhr<!elHW$tOJIDQB|W)|rFYe>}}y zVbKJhxuUPTfX2&(Epn1o>t~g~LD$uHZSQnulr2990UGq4VyYcvEG`p6M7EOj z&rhQtX%vX*6q^U=@V64<`qnWxom`>104(@4(1kw&@?puU(W%ATSYuaSkOd=~ zzx?%Io|38XLBN8no%Di{pLIe(f2mDLQ;c;VF&0SThcw|+;IO%4#DvXw$F&wm*Cac%7Zj5 z#^O|vF|lxdHH^cs*FjZae<%tz({-payZTH-6*@`ni!FVeP|Ye|iI4fu_{U9ux&- zji5A*Ur`?7f$#$Iaa9aH6xb8_fv);w^?|O=;7SRSxRUpYSa8Wa8iw8KP7Sbs$I@;G zzKn;%jm_V9BX8twjDPd}cbmhEHX$MSsOKS>=zKb0z2`6oT>~*2X-kl0C7QlOi>`m< zn7QZ!UBONbV|K{Df2y1_W0wQ9Po6Ywpfxrs&N-@FUlu{RBR?r8IJ#<9UB*ShA1l;Y zU|D2XZ{Tmyv9j&p690B%*pXsLv=Mt*A*Hpsn}*NgE#jhRu5k-%77#l&YY>977*B~T z3^cClY{@R8l!uUGhei5gAQUtxXYr2dH9Us2ub|L@WoD^9e{7wH`IepY^W}M4VMGi< zz$7RzsP(1hKc*22y%n2Wa<=kfA=5WZ!U4al`%yjuXMoDH?SeN?7h%T!W-L7ddvyc3 z@2XN^@_H}JDl2@L($#G&fn-?v^^WJu_(&`hpSkl{`x2<~JYZA04ATKrejJI2J$^y> zVpjMq)9a9_e<#ZbeDDVx_9pfiGF~PA?F*u8jj@P%7W8|t3zX@7~morq8?=X(G4zLnI=4%@#!^AgC$44e>@#3aNENf?~~5U)9gW~cl*+O zFJ><<-hG1`^Hs_c5b$)@fJ#_^G3@k=l8+w_NtcG9Sg`=q$k_y!HaP@vOlKumJ0M{L z>YH!KK9zHnXWk4eg>TuD@q4P%wHxvy&k+5 zA@{F4c$3ef6nf{&_!dYTx2TteFqzP*`PZ*sq^@g+^VgMmWzfCW4i$sm8-d*O>vB+gQ~H&^e)R7B}uN*6r5 z9uI)n*+5>)lr8!{fVlaF`bYTlm59>*<0Cc`jC?$N+?OwLCB`*m@ZTC!lDWE^8oA2DAkB)hXFNM9?e<8P0c|<1HP2w?<_2D##aQe?k^K5 zl5s3JPDZhRqc5-*9Oqb%hIkuN_kTQx39lvOkjr#{Me_98JyTU(PUI+hcKg6f=|mQ( zOAVAZN zdkx(_0Ilypc@Vc|NqT|mo<2tk3PgId;z2qe|0ZXVzsZNC*V?nuukBv{>N}rKpN(G7 zh%Zoo1R2LmIKgaq&m>_~g5Wg}%M|jL!HJz!SXm&_$^d`${P}YWBut<+Pz3)F>h)AFo?{Uvw_urM!^L#Wis9@iJ!~b-HVCZ6xc4VIaVv4#^c>DL2#=BQZV5ukt`WDi*w z@>p_d`jCnkn4y_l5zRzgZct-$I{hu=FSjZJf@~I4fMT;8RUYLR%X_!QW!R7R5hzRJ-Jtw0ku zcSrR-_Kg-oE0Blc=bM|bn%54(CaBGS(Fn=jjA{&gZGa)civ!ezZORQmFs|7rM_+ND zEHawSp4|nwPH43gRvGZ~!k`DUga;WU`0)b%8Ki6hcZO`BFfGT=Pz0DNs73&-h{hRM z;{{%pTg=QDjC~hh5n!3xie->gWDt!>;5PSK)C+o*&G@F7asTFPOql}Zpc@T;BO@Gt zkfxQbr_GLztQ$okxN{j}kVT(LmTv)1pOxnK`&h|#XxN)&8vl0qz?;%G6AehqCVE5) zyClw5EuxTWH#WcToBzDgZ+hj!6?9`Q#-?<@eM^ppjjnvU0n8xL8**2SV8c2nS$o@* z)@(A0H|m|UR*o5=aFDYb*Jd<-rC%u0wA{BHJHEAB>i((z_)%J>x}0$80NH};lnxpo zIHivg2=F>oYa3}$-d(5gRftX|>z8RV$j=AQ^7Fwn=lP(FDVZpye1Cz~eZXr?1bH7k zeL%0*ojf1uE`xTpNhGe09hR4C*2_XL&b!Js`2d4Iwccq84CraiIUiPkreW(F9!U7| z;>M=T61#BV%afNkRoPu$4ivo>(Fdgma8Yg^|JHv_r@z6+XrFjv9lpN*4#%%zza|i| z3Xni&xVyF8wZAI)tG3rJ0XiGt(N-^l=lLS2o{d@_lD+R+o{{NnfVR^{V))0iQPqh% z@;f*Yq*sMypLM3Zr4KfL95NGZ)#wwA2LSc8NF-&7cwUlNT8lZ;FOmoB2U^sQ-$gs>!u{}DxD%zJm?8Fjn%18s9mhwS;&Db7XmQ}U{~5E= z>bm0w6uXZK{)^5aF-)zK27D-g_tek(ym&N3 zwafikX=&4~?v_4R3Mxl?E(ZF&tvhmW%PraW?E`Ni5|+)$Z_J$3smh+}H*n)O<|z%i zfBV2=izcDLQR6>duW50cLI143TPm_}gBDdkoNZpk{^zx;21Q=!X$ zc(?mu|K$)$Y!}K&7I(J){onMfG8DKH>!?Ns_FDzsU#n;N?)&*naSG zlQMll0mGAYeJufflcIeu0Tq+deKk7$SLIZW4!&T?X|j(%ZueRG;D)F<%Yg zTC*<jx|0Zhg?~Sw zkJ}n}$`P(pSnFSS&fAFHUAzZbgSzxyD-NSfU@p@zY(?hkv>-yJseUd0)?X^}c_!Xl zB6_DFiW?P^Lmt>Qy@1h#u)Iff|tva6yr+ zaOJ~%WBtzd$i>CWeMjD=PTn&=u(zk(y-`6he3M}^{aBp+*-Y4GOy#G;t#TgL2{=&VnNv%PdSlf{YY|#stZ)e zaVV||f{TSL_A+q6sMN81=WZX|K44d|NK)w)`;I>J_JbD>{vS|F2MC#kaht1H005U{ z0RT`-0|XQR2nYxO_fV6z6CjhV;S#e3fm&Sx_)wE#-a-QSP?M(Kg97+alPljp0{2jp zY~M}-_fV6(-%JAcP?HMaO#=5&lUd+J0{2jppx{UX_fV7S;6@GiP}N+Sg>jp!SO5T* zlRe=;0{2jpf8iVf#FL!iO#<VO|!rkYy<)^O_MGhlmanLliQvgv)~+{1OhQlvw|U11_Cin zlh`Lle^t|#^khlyQeS^POYXY;B(()*f+SkWL{=gxN-gW1UiE4g@4S2G%yQ0|)$C_+ z7qh!RrGCl02mqPLOk^@;yZYTZGwd#l%me~JAP@)y;-j;ajL04M%qmGg<9 zN$`$FEF@dxQt*I`p560BBvW!JeGxFSMH2S&k|(U&QBOKOQ(`LZw^NzF5rsFxdK1%h zZoh-y`P+G##`atIoxkIOQT5lg^P(r&AFI#EV0kPDQd95+0?3(CC`Pi2&?( z$Zfv}Dq^dFOcO>I6@YJJ77Jjz-nScXS4GEKyS zym)_j@X}iZRagcWRZPvrN+ZQW*mAL;$+ZLJp^&TsV-KDZ8U=(V{+wSjLTmB7f1;^B zuR!<-o)YS(P+3)#h~i}&(3Ht4oCTl3v{WFyR?p3lfN~_vyT42l7U8@tsDrBIb>t7^ z1rI|9j;i! ztANQg5!cY18h00va*!k<>2}giuhb2wf?a?DoeWp102I8NvL~>by6SPrBSyrOe=JTm&O8~1JneQ)qfW0^nP^V7u(ZdcfL*;wVHko&AV>J#4c(u6O%y))B>dd0~jvSHqN35!GOv+nTE zC!L39pWvSd!&#qnOgCZPZ$l36ffx}LX;35aKH|1%idoEe~++4pLDXVu+t|U z*u+djs+PRquyF%%9I>=}(#cqEpLC87UcY;_dwigO9;Gy0O8sMZ@A&YK_~uLlOp|L1 z-+Ba7=|Q&xo&eM720ZC`Qyv1@Oo3Xb9*Y9`6Hn*e4gl+sZ@wY-p;z9V%I>t+^QIw9 zU(;BXFD}Mnlf|h9f9~^62`xEN0-p5Aw6y;6IzHJlJ$}hUhFvyr`lPc=r$2ORD^C~L zRC#gKmX|5nBHii2lZaQcvjbG%rQ(%Xv1E@*)^*ec5IXSEA+e8G{uz)Rk9SjC$<>ETt8Cq29e;6H8M7u@0b4CM}xR`0N zN=#EtitpL%;41E(|K>N3NOx!a;6{T`li2yx>D~5DPvy6#$WBh>sbVPIovqW;=r_Ol z^q_a%CmrtUoi%(Iq~=XAO?x}u$;R1^UZ`p|s?~4n#w$>^hwXlgOc!4Mb7#lkqI=TG z9>avq1P$S@f3*?fBArtZ06Ru#IjhAn$ZNX>&C`Vkzdus-pwKM5@OIQ20Ihz@l*RZ< ztdM?`MA6Wmk*D6%71^@DTf$f;6f*@Aq#PK9670Mkc;Ny)9I8b_fToF`@RTK-5)_6* zF4MZDstdjdg?~}#4Z!hs%zH$zSuMWL;*>@{{>oZ_e;@3Mr>U90066)5)!3H|)K~ zaJdkue)#88`RxD*_GIX#Os3ti*Yg%MRw>`(m4ZCo66FxFr&c;B3@C9fOS?+{N20~wV3L6n{cXy`|0y04b zBj<-ye=nBWYUy>%uo8U1Dk+s04HXg*stWK$t@8T9lY~b89E+>3>nddHdz^pGMTEzr zQ3D3@)jYPo+cb4D%J@?bbaOQ7t?QOewBy3B9L~mOL*L8_AKN^@MeZ+z2pNq`{|1kH znrD-L|2NVpb-TX3Y}0j?xGn8lw?$D6&t6qpf34Z{^2)ab5v&ZRRQ>ke?Y-fU99*Rd z^;4A1=p@8Lx@7u9MHV!<2*gTlHRPAS{i~9eXZ?l>4~?;$~eZ9zJYn;m-R=fx_R5kbUm? z9%Pyt3Lg&1I~23oRUC4k!*Poze^TvKhi~=|{@GguV{#541~BgPM|7eTh-DoLs7~Ht zWp!GE)nQF>bxBzD_S&wAj_FhFYA}aJp1cQ6KRoZA(7|8N;Ge}&OcA%%+<&h2r#0`L{#wiyPeNOD2ciELu;}5Cyk^Oa<b*yUpet*;rwS>71w>=d^VB0p4;r>Z>rgEfJHda;d*Xtt z3p7=uv_qB^QjQ(7U+nLHlp|JQYuv>FC>3~Nhb(deO&xHP*tq^{e>LQNlB>a8?7?c_ zNUd`Go{`?Sr{5ms*L7p~eJZ~_2iT{>?#Z9e&mQ$oy+v?7R7%IPvT-;h=3;HE$D!}n z7E75DcExc!C7BMMPzl%6A{r(KCm7x3y&v z#5doV>TsLUUR@7W%DZssH=a*5606L~XtqsHigkxW@&c)eOX%PK;Lvbhobo8phsDB$ zb%DYPa2!`})yb?Ej{d_;AmCD(`GUVFd>rYUe!PeZm$Sl=e|@0jl(w@A%GT`W%rVz4 zB$Y_ZaR<>TrWIH#2x@#5iG<}cnuZMwr+m0px_XPj_Kji2VbCY+l0~W9qyC(keh-Ia z!z0H>eVR&P>VE zZD_L|>80}0f612|gq+IDOvPGH%v#Flf!dDGO5}W+mbo7;+W^@_hEYRywaXZ(uPoiw z%yJ~ig2pkJ&RnxJpY7q0Ynfv#bd?t>D;}87qVxc#N%sOy3!5Xi zlvO@o;jm zbY+>jfADBk2PJ@2h1`~Up}XB>c=ye6#le?I!9R)QVj7CoaY7>{zVFVgIm?z!lW?q! zA+_`h74viE=@1Q4233i7HGM%*&7V)QkltJ@SiqBRuc&U-O~56v)mmXg>B!{-&CaAD zau}B^TjboIN)KgTi4>-KQBsUJP99pWMfld$e*`Hqr`7bO2m_V?iz=xsOhZoIznWHz zOH}!O2GS`2|3xg5h=z{J+Q>u~Fl(f`jg-(~0dy#fs@DcYZ3>4|(-ktOGJ2Sj31bmi zh=5Ny!^8X&vfxpln0W!I5%1_hXry6iP>Yge{YYP@e4)=3AoNuF>@A?cYuSLTBa~IQ ze@J(qrp$}Ps@o%j0{kA?CQrz>m2j&>u-t(*f)dBo+M1*iiQ%anke4yf9?Y- z*~-ubN^gT(xDd6Me%%RABQysBn!^l8jRhB8rc-m`{jZNlqY;^0rwlcJX||^#>cEzS zgml6}@(5TX3oGE@7D1J$+60^TShL~1w!AtPqNx-vXxB@9P|CVqySJPpZUzr-48K#G z%(;X5>K8Puj^YkfY`OMKOA06Rf6|Ung5h46#F}{;yka1pzJ^gQc+`c7>?3GT^1s%x zmmI`o3EIII%juLQ9t}g`cQw?tRi}aKy@*-l=sjG-)tMeP^>PafUh!+3@ndm7`A8}wHLbe&uYo|{VXG}&6_NzxdD9bWlPq6!A9hjf8K!*);j%? z{XtPl1IV^pOOta`wy>xfheLcSf7VYZsoM#42OH2~kB506?8uZZ;`M#Uo&nFWYPD`A z+x(W2C3@>yFbVD%JLXQv9N zb=@)P?j{Mn_PE5q-3q9le+#|`TGdRQnPC&mGdsN<552%}gCb+M6}9VQ*_$2j9{tl; zi2!^GDmKZYv`<(l83CU|wY$NM09(ZAHI}@?EWpNxH(=TfOW$l@tEckY?#Z7|qqCch z{>J9$wl{3qeX~vGz<2WR;JTqrugBPAQ8bPMWhxsQ-Eh?qa$|E;f4k|IKlPl;eAGI~ zNM3E>K-2iG-Rd*@{&bPPhOZXwC@9SxZSJHc4WdzDMG|ZW%7{ZD%@{T?VB=nvf=r@i zAHWG{0r9rC7ND|bP~x4|l;eg>w!!{&w2m9-a|e}aX@B2ry}uX1yr}N;8hR@b(_r(9 zHha=~e<*JHn|;%Jf86Y9V{FR(lxu)n%ZAUv4f#jAfqX6}L7@d$L+OVH||Be|`J%I*bT12ZhB zltEnz54wS;HDn)Y+5@!`_*s|z5CY?=guFq~#5dn)$RO?53h5T3(GP@)#A=uZl`K_$YHuc^DOh=hR0KCpRe`f^aO^nP`g%y z2<2#Yap6SBjWU)U6M13X6oJy#x*S&Lrdx+!K~^2CF0AURcww=GIHO#OqLsBYBIh&| zBI$PB93FX2o{lPa#BhOoD+!&6^J3Y@Pe;zuR#zk$0?6BiRlT+# z!n>X8f1=jFSx95a;Eua1i+9?!7uxw^UXK`Aj}~WNgKSU_ZUXXK@^o}7iyh9S24Ej{ zhv9c!myP>8U0LR{>S}T@Z3Lc~o3Ve+F#0SMadz(NEl`b%Q z8B?FV$9;fZr7VK=^daFDc45COEbC%xo?TEGB4IHdh&GC>oi+;E7edE_Dqu~`>Q8I}$ij|xtxY`}4_a~N zF<`(QG3=KRz#^ctBNW1Ye;S4? zAd~AH!6X)8h&TBZ7xf-ur*RtczoI39f90L4$>kkO2L81lG9?`nA8huW#R3&^D;3-BTufDe@N9SYbb3q?G{ka+96 ztRAsU7=VT#` z9ux!g0ox9AS$mif%s8yYlqFz89ircmngJpOnF@a?kIg$U`NbO?f7k+y?Js~RuN3vl z)O$_iiV0DrVN^<$;I!n%s<07S@NZcP)U0YBcAhOm55Q~S3F<2<)T{Pcy+?WTbP;AX zXDmIMvoP#hVEd#{p#rYREJ2JZ(Ax*e$RrUoAhS?RU>BvSiWQl#8BKx^!Viimc$WGQ zi2+p@@>o?uQTe}QX-21!MS*IWh|QII8;bZ3yN1w5s}ktti~qTSB7-wrM9&3qXQ zl)^$QZi*sE-i9ZleID%L0`97ya>$DmLd+i3M^4$V?m6q=VsF13ZsomF_vOts8S{eB zz0w#}LKMnEC=~H1WyvKh8v&-pgr`MG+|Y$C1%~SBq5jo0f2=3@S-6f`5kX*w%`e$& zrIGG-7jotZoduG|Le4y3zaXb+OEnZxI#oThqeoTC(h5Ah^HT0G_3k`V;1c@21|VdC z*OZ}KoxKuV#jVt$axe|>1&-}I8&{!6%En2uxF%4VX+uFP`5V{W6(FiAiwsZ!C(nK1 zFTwA%JB@o@e>!JTHxPJFP&{am`#EATHmq74Rqx34fz+YEk~Q2YFxjxG9KTje#FV&xGw=gv*qv z=*6(Yfx~8FLL&*_G%PCaQ5BeAe@7?MwyfiFS3~cbe{PbU498>3{LZx3H*agGwPe_> z+pDEhvy9S$t)F8`n%X5!i#{6GMGk~djtCk$=G$?JqsWiX=BZNrSm$~m!)&O|$$Z0B z!({|!FW@n*q{}(PLyiRb@nCnK0G9@d2Id!*fewfif+{6pei~Mt(3KaZp-8xdxEt;r zC|gs5f0Q{(4WBSrs+lYIO&Xg0+_~MKXaZ*#v(cO*E;0j;F?n#K>E_mDAzI&?x`kOS z4Y~=4!Uy=o3FDHOiJn~J;cCLB;JpZ5Q;QgFjRQWNRv@i2K))dn$OC3-Og^$Ja@!b$ zydF;GRQi!!bAzeoP9Nb}> zFr*v_5ji?oNxe*|BB^0v6XeA0=sr5&>$i56BZI0(jFFIo}OLoFdcJE$Y}g;CV9VneVlyEHv|^e-@~( z9OllzSmRnO6AbDC4Wt5ZZ*)+YK5Ft4CS%ZjO?b#t&ZI|npF>*2XBMtbhrrt=A4Q2^|ud#-LzVfWST-*(RXsK)tvDu>~Uw5s45~)?Fy}NCzu*J06USaDPx>e?0vCj|eiP5K0S$-0lyf(Jz1dm*4&F zcZ~oQ&<@xIyx%=OKq#|BtS~zY!g+#lzR%&*JIX22dzZ1EA)O3-uv%Eg_wK#duNBup z*wEO6n`}h4ItuJGq%+We>OZ&vT;7iF5wM<9lXrXX-b(=r7kw)c&q3p_id5|d&!su2zHjRm<&~v9fcS~Fe-}q0y8=h zxa(q5mSF5(H46*O1BDP?acM4@;^iddK2e#VltN?9AXiPouxr7pQ(1K*+j(>GhcWUIYrn&=-qXMCd-V z{df?<l4WXM%Z);Q4k1^@MpYCSk`9%MrYh7(Q+|ii5#kfgF^bA9=Ez+z2qWP6EwNjLC^Q! z|A`FA(ffCQWJr9mj5YNE)lxnFp^i&!e!);f2z7s5osUhNk9V(j-w^W4-~SsqI)3|( z{CM#Gfb726C-2@L938wlCNBB71N556Iq+yKjDfaCGmbNDPUFG>TYYq735H zz_FD9vp{NME1X}XMwqk|SYxV{H3FT{71;yF(O_7AK)T9Qgd}h;(bI)~nqRB+0^$;# zGEIw#B+G~*>OoF1Yk`0$i}#YI{(H321`-9Q^aa-iPA@(iIWhqhe@jtgLF%P_5Uu5wj=(!ctR$ z0U?lgF_}t*OyH!zjUe9|!aDfl!TUd1RTU?HWT5wheu{+8P`bxi!SHv086py}9!L|K zie#9uf##GGnj|bF!7@R{4vUm$PpPPzfD}`K2aiB)(G)By@OGS|1HwQVkwI^vl*}Q2 zS{$haPR=P%+cM=LZYgsX#)gF-;Mzno*34(Dc+qOk5=LSnC7%G#1uivEOlvSr7(PL~ z6j^JPEWX3;yg&H;`-7vS!?$k=d+N&%uU-}Q)4%4_k|Rs zB2WcRGkzxx%GE*v5kQYlYC`2g`HyLl2RoNAD$&SV^S`bZTZ&>y$Ywm{3&Ea;)s${d(?2`s7Ca1z}veti>e1!CfUEP&F*=P!}QN~aX3NX~F8ho_iyOpmT<#*Wq z2Y^ zLKcXVM+AcXg6+&QmTMbB1(QNo%fJ_RMr}rIU*y+pFVD@fGRO<^p)Y8xBn1eH%EeMv zEcL>$85)(7+YsZJ-m8`O@9A)($ghS9bPqpwdX1fI-zlFne%?zcRI6Ir_ zZUAQ{>%mu>n#W^h$p|6qZ41iJlUq!D3VkB0z_uhP7kEUI;Y?Klx05$bBmo_hTuoDd z@;Q-;>Rs!~pBe)b%zmC(yJeSNs3HPuHc?^0bM5ZcvJJ}!wq5W(LLE(+_)vq0z6E>wwhe3rnluc!|6~`(pFXv_CMKV4X3@#b zEbM-E(AJ`MajZ41APzf&BIW)H_6FohE7%--H3M+a3xlNaAI|{%^G&(e83%j?!)u#Y zu;|kBLmumBC!k}-88sGm%F6Aorfn=$=|5i3ocZjDm@_o7HJ9h-eH9+f^L10{)^Q1LK23@UwZ)>!ea&c9 zsn+Xg-P&m+&c_}pD@iT2GrIqQG13am1{ugi;WdGXjTza1omix;G=E%fp7!vQQfw91 zCp$yuX=rVFL7vxwVo2#Yo_-x&uqGy7>4E*Cwl^t8Fmip?X{wMXXJap_Puq+*s|wN5 z{&5mo{hJ!S(P5-)Ww?m41KcnF%l}FCz(z0gmqbydqt@PS$0I+1*aOe9OZfwvsyGO z!dbiQRnc-#APci-r?R5g5(x&*-$-{lLk0*9sJ?W@>oI|P)cObUp%AVI&YkmRPzf5Q zJ&Z#!fs|>N&3_paiz_qhpG|{xVSz#g+akm=rRROf(}fmiU-cg#6`!jVfjPS7Xk(3v z!B}AMn?5EQ;b;kqhV5uH3|-Rs9;-4ItONx4G0{O@tX~jq*r88$rkitynaW|+ZX)>< z<+LX*vdAD9lM+#a7PAFP91g84y6CTh<-nMy*pW)m34dgM^JQhdyBV08kcK&36YHbX z6!NK#3ThXoxG1eh8y_kH+!&0R;4b&a5Bm^u2ReI=^up7goqAXsLtz*^6HSo?;1htx z&`KNmcqGXsr%EM@>LjnUu2eiYvIUsZk^isK9Zx^bE+wq!dmc9VtTG|h+TVOr34OK<015$ww zEsWll$j%+3OBu$9yc}1RRY}0EK{_GV5N?BPKVuS1=@TWXi!L+s_aJ<41dQv8J+D^5B|6eL?&b(89u?2z*Z4{r2hFBLDreX#qucYE$^-q=>Eq`9?2&(jmYnJf?L zK3@jK@_4q+a~U|>oKvaAl&-5meXxg1Ie*BrJF1La#jriHqGS|jvKYI+eoUnh|Ih5b z<~;_Rja{K>OUFMe;H(Ee$4Mzf=$_h!R9ILQOF=uJW*&$Ha}qz(&b7)BMg^nQH-^3P ztRb-SA{Lr=c6xQJR|Tho*P_X}B)F#VGC8$D?n;f`~-g$aFu!Tm9mc?e-bbQDfCM?AeA>yR;j|L^1` z#r$XJfUJ^M9?LQ#fWqa_;#m*JW(7ZFFJRBu43b0zGViCtNwyrI|47?&q~9r zT`DDmdFClJy7XWMvQ&^k7XTA5Mi}`_j3Gsj0tQmKiQ@!Gi8jnEjdi>A`RYi$U9zJe zp6BIG^tu<>h*TfINxw~cJZ+OBQW}1U_|HoWbuKN$LORs)B7=9knn1OspefFxG~rBk zduN4zradW=wA-b9GC}4)ft17wIUXtoA!Z^tV0LN#ro{Dg!q_bNfuhMv_e2G@;n7r_ z^|bGSdgOT?JOyWi!s62!3b6KptUH(z3)t601lNS86g=b$$(?PHf1gPo7>vt$5$Ud= zkf__g%6H9fy`@&pLARQ2T-qKwFz}?^JqUDvciwbEqk9WIF!`$g{IPrT=Z|NPdLM_2 z-i~*&ac0s+yYA4PO3=1Qu?V+UI&khYWfZ_vUI%q@RY@p;-MxAHlhSCZbUZTK^#+Q$ zGb7!Urue7b!{d*~Z{NNu<_p`E7at@`{R^@f2JC?BFRHn=cd7+{p=o;bYFozPJXcWQZe$ocTWO|>1YaeMBp z<7@)w!KtLn5Q}M0TvesJqGY~2;*rl@83?+*fwt2kSD{tjm9>zJtEqsFmT?RbUq}ZG zdx?lUWTk>=E2ATA0>>qRt9}eGBNALSgh%l*CEe2MEX$T${-i3t6bY1bp@r;!SW6!X zxH?Hl&}3W=u5TJSj9!Uo_7-F?qx*x!QE46BZ!4(IRGaSC+vInn3jgzsikg@OKPClU zfUZkCBAfF*D(_hoK;#&aU^bswf+jX97A=t}oGx_k-5iA&q#qkGkSjN{P~_ukiY+41 z6<=4R&jNQTOJEr-?#@K3?3gHjVby2IG#^Zz6zj%RGh6E9Q(3JABw)X)8)^lYZgU0gJIO9RwWq;~HJO5If@P!HcTWq2m+A`q zV=kDwE2Tz8b-%W=#a>o)$&N_dYvtV9d4RpD-gzciYSY9m8_PTOWMGqjNM6G(FeZo5 z6fzNAyS=NjCTp%HGrT)j2M`W~kkX6H%$<(P1i_ywxT`$L5M~V-oX_10!8yuaHD_|Y z3*?ImQFwz$Dh2@%E^DO;EHZ5)i2FbDjs~WB6wx}ae*Z~XR zJ17Mb)Q}<$U?WqRyWOs^sg{i})vxo@Wf)uSsp$(^D*P1jgvaM;9)!jas z*4jN4p@ST)lGvhCyh_!mttL^SD!uZP<~VwE#$KDFjRCwv>W?G3OxvxWm^5eDOl9}1 zWki|!6P+qX5JwY#qI~*VK~Z!TjTI9xdUbH22%19*q*sVNefdbG&Lvz@F>p7|Y$+;?dj%ObqZKcRkn##ordj9<&C2`k9FD|Db#*4X z#rA0!9@SreDJmeyjkJxZ&QqmamGL45_9%H{Q6JrP-CUQ)Cx@uj*__+=HvF( zbl!2{chvUAuVy+jToho})*|NC@5piOSGnbrbt#9;XKaC5+trs%*LCHO`}%I}#a;QM zl+$6RieAubHItb4FB8eTs3=l5bv;cp$pVx0s#IWqG7jlAMmxS>)g*w9!2($A_-RYo z53x57fd^)dtDCy1&L7z6G;sj)skxxUuUXsceaGARjBA-6)_pcCrPR%SqYYyBPIsNH z;^Z=v0AAYno-KR{@3X7o{inHOTZ@paDLh;>UW4BG0<`>rW7ubO2+um!O=!a%sQsyT zR?L`xzlyczc^4SMVCI*a_3y^LhO9bvSxv7vzLto$Fwn3-ge0Y6yynFl+a@ubxeO#M0qkCj5o^(%h zdm;ILy~l3I)Hq+$c>QwI4OX;t>Ny;6$#Z*uFl~H#b>qYYZS`99=BtDh%$shpPnnPQ z)mONFyF}}+8ea@JU}}F1B&ET?5L3|)LzX-*fB^c0MZN%|qOm@Rwh9Ai?WQJOQQlQM zzQ*06n=Et=tn8M&dm23Iou=lG_o(+^c!#(g4$FbMkDerCi;I)TXPKYK4WU5*5wWs= zNZgB)jWZ0x-6tv;V)5msdf5t(>w|DO)|@nJ4!4tn8%sYUwsoyHw`@yG5wI6f{~EU5 zW=>J<1~n~(An-s;Kv#Z&e9`&lHKf47dUqovKo$tGW>$esDcC5HwWlBibe9+|sud&| zb;XrR^{ZW*IS5T!84&%u9hhG)xXZeKD46J*2dror(M!rhlyNbOSS+lN1RxTlZ!U5y zHC>IdVe+jMCBnicYAh_RL`ixN0nu>X?x`r|)#00ik9%)FyfNG3)8_5*i&jX!I$$t` zq{$CR2VOA+BI#Mx`){EmVLAOeRLzc5I7aequS_YnNB^MNbC$jC* zRpYm_OKPAh4UHtZ|kpjtk+ebYQVo%{XU8=Ck73Ui2wJ^{veg zN1VvT`d^CG_7SLn=;5S}r*gR0A=j)X2lsm5!y$Q1lM8(vf!PxA@DK4UA*^AbJ+Z(v zTv_*P7v4)r0?6Sf;vwig$$}++Gluc3zF4x~d;9wJ;qmdo{%6Vd|Ae=14Ow&?b%MQY zU2A_^GyHsY8{jR@1{w0ug0}4uVXuxC>}h6Dz)QOT{dPYxHn4}RaZSIz%3-0>0b`-q zVy&U~K@?borS?ZnbvkV&(4PK^q1nKS36xTBSop6SYa4;t!UkRd{H<1h@t&;Ba-vhO zo^({AyrJ$KsB`rb=pg)59qOF@I!O-fF*Kj7&Ow~9aEh7cAKbuq2#$N#)77040ughP zF}=N8(gRH1_O(PtQsk;BX282z!$;eLFAnogTP4`Bz6C98tEn`HWV&Dj)ZIR~$=bd3 zJec0knAUb!b{(8`=RfCv*qozax@peNpF>{L&AZW6kxRh=2SEH|&L*TB=%KjrNNeM9 zNifLB$7MeI|JCENf{=?YTji-mGxWQhod2N*%Uagsewv&7Mr<`SCu}9iL1-5MuWSs+ zU=WMMXCdX06I81!#{YO{@&4;k2C55oCj>$e?8hYPvra1DHaA@{O-c_&S#gWY9g zy(_;{A(|p)qCPw)-?d{}?E@LBo?cxWR+{@vwbs~9W0erVs{c3(Je(zO_;aW0ecS6i z81_l$!A3{jFvHaTyc8*uI(s<^Z|ID)J`Y_sImiH~D#7{HI??-AW@{Ec^Zu1|ad6*N z_p*{11JXXV4KfOU^a4!-W8B$6etC6$GCI@NiRQsZ_Mja#sorr3`LwstDsX*QG6PAg z1N-F;?BB5i`vt9J)n$3k}OE?BQ3f#N&T{>iQH&znbxQJ|TJV7HcIumuE zKY(9aW()+;Kk@e6wps&6?yBvW1k28cV0_AS-yqR5zicvpAmoN1AZl?40CpV*CZ!T|tzU*Z2C8qV|Pi}Uz&d}anQ`ye! z7HsZYYVO%pyS=SMQI>g1gAsoDbJxwTe$x^Oo)nl&2WavLaa&>t3;AT^Hq9Fj$?-}I zQqB_P-WD+_$8|+FJaS}=mxGXz?G0t|4Dl*JGZ(Xe2*Z77HVhdJRJ4$;W%C>`8VqB) zgecE-4Q+bJ))CG)-&?hTHJu41YDU8N9|3IWg=(%CfY#cgQ&x)xLNcExBA1ha9zz6% zc3?ls$U7m^VC; zO*RVl^G)`&yT3npbNun>c=y%8$Ja-A6;P;Z8P>;!B+U76?Ot8-WXV@+=E_pL^w6Nn z;oxF_&||=ZmEO!Pw4F7rX9LQu%fe|ZfXHlrXpz^fvqD7#8ex#4Uw92Elst3R3V}*!Q?0<^Q*!*{;ZZJoLKNu8xN;j$ z(OUMTB}7aTV=?$=MMuryK@^af@?!nMxp_U8_g{Azk|*&xI>(tc)#eu;+YmkvvGygO|2X4e+KZYS$C&1VMX$Z#X@ zS+*&Lbkzhmc~TJ9aRhPF%Dkk0U~Oc7#lmd1Jq{G9v7KtfO_UDT`#XR#$WB(95ae)~&PBpg3cG1|O@b^?6j$jV3r7+w=1G$boi~vQ zlgd4D2YsjvzK=`AjENfPO~`nSJK3Dd_o^o)FgS}vz{*DoWm4+tTNGT+<~UI=guK0E zNx}m*27FkkgMd`h;6fv*pU=yG;gJzgV1l5o2?7ajMCqI*D_&y_1gp1pa7}BuHCL{s z$--c>v8<@Hmr^$pcBl@ECH9cUc3-`6&^6Ex$fbQUha8|28qDg4Ul_?Z-&E&QD@nJN ziuC^1Kvx61bK|S%*{(cb8d}Rk!+f?2WW5RsJ&eaKBF)!>(B8+*1;&|wlQN)wO<4JQ zP!pZB0|u^5=FoqwDQt#FjfqA*j&&+dh2kvL(Wg&!;e6nu6UDs2%m!bWf8|ECHxyQz< zyQ%9CA8}k@^LlCMWEMGpZ|~R1`7Kd=j3J+mhj_!#v)HiN?Mfq_B2fHl^+$cddCoP) z1s+mgWmS=m#x9X*J%CqAn_iTd)>kXt|FoufzLAoj}BKYYeOtPgr z)bq-~k5@wJKVzEEFl1pKW?D;=Iz#vjG~QrTx>VPn*F-X?Q`Y@zJz*%CZ}hAaEe@zS zH}w&M0I;%CK7Vk3BRxRt?RX4d^Q}U9*?#IuFIx#8q&use7!~}Q2trvH#Hsx3%K^6>#2g`{_=d}W^sPG8$+1}& zBQ$LS$@?s#2^Ywousdk}s)#|4v3{F%Q8-q;Q+n7nX7J6NseneZj9^_XG4M8AV%Hl< znZ7HFzlODc?iwuc8&v@rj-mjI(exEjd>%ASJ2tet;q(ssp0Ob*t6*G57SHqSiyl3I zJYw1B?V;|ZYS!LvCK|GC27*a2_PvGY0TXewx@qMZT5>q@4EE`^MvCgXz2cAJ^H zK=KZ_hMWqKvZNgSwtylPYsL6wl&}ZaToO=XZASKgxTnhj>=YC0$j9qd{T6cCcdHp! z^=01vA0U9v!-)ukhkf$Ur{Mzr$`zlc@MV&K{s$k;X%fSi3&tY&yW*T}9xs?n7Qr`QWR3)P_MrNZx2T;b@M z>eQUBuoK~RgwOqiMp!|lsR9-A3w$tV8ZoOxLAvCze=0HIQoUISp{9UOIF8|hr%X+m zj1}HOHDx^V=W4DNRK1ua_+`fY3!&zpa>Q1eh$U89@aV#z+I*q-2CNORl8kta4K85q zMhbEi2<)bial#PAQj^XclZBr zGAF-@fW*f(X2v2SabvZr}IyjvXt5Ffux#6qX^e{pr)8T8(U2Xo+PtmfJ@ zgSIA07nI94FINi@_b+lY6`ZTaT9tcD=Dx)&U#;ozR&`RZnSFKF=Z=2Wa1DLYBu%Rc zf5-?6NmgF0x%aioqnv!vCnskOl3}?KJc(ZPJRbSsGGMX`h;HAesg5EXR&5YUtAwul zT$sl`kr(O?8}$q;j?r4JSb(1;rV@SGB|^3vh&UY=EWcC^Yl`btCvXCFO1PX2F4(mr zG zs%*$JZ{+`<*Mc27l=yM>l6>|wL_1ZeH6x}{ z0aAJ$!}Xogzn3nlbOM{cx`*xKC28Njt}3Qo?^~(S`c~TXzAes|CE{X>>SE4ZH}r`g z>kDw>tzc;~NBv6Tx+1WmeCm4VzT?u_SjUd!tUH(^RZVHJlARQwTf_O7Wd(5%;Y z2=Z^L>G=BjdcnPDDpeu{e~F=s>?TSZkXl`NZBPItbd^7-`cfx!INfX`om}A0ckx0Nmh; z*`1y0;O!^)25`$abZDNKSJ}#u}qY&X`F~u z_z*dH!L|K7+)gJ<#v+n@!b6^NCd+M|If%{E+!Yp0;F&A>x(jH$T-YKfS+#yv2~3`h z@e*`heb@F*XGYobLI}{H_Y_m@AY*Zv7$UNjq+{0Wc`OID3eE#Af&yYhl87}@;gZ~yX`Ooa~u7G&|H7mWO@6AVgi zN}6KK`-rhX5TS|zx^ z>FMcd#|qNWe}ShDPft4!t%v8j=()QQe+3QbmHo{(q_qDj^&8nSCC09$?}7{Fw|e28 z>s*fi{%`h@bEbM$M!OUaS(nlm0rOTo3dG9u69!yMzwX}PIboc&(#LU>O>+!153F3v zOfG-PqTrZarQLI1^|SNfMx*|=bKXY-RA-`iBN%Hyf9BY!I6*(_+qyf%+%%{lnJ66+ z57pJ6-t4jqMJ*?(jbDqrC?;8_#j?BvufA43q-ilGr-F=$hV!do9EQCPssck%u$ity zmD$y2BC6nm%InA{I-yWOT10U}O&NHvam;EEG)r@;xJwKzV*(EdS!6-T@4in{isLDs zj(ap=Fu?hR(EQE{d<;ne>?DHJRELpe(#OEk+(7a{)g{2hZ$`` zg78t#Lo(5Mb-;ShVGgdR zf3iYKYjZaZpT%3mMbTX27S=2vc5K!l1Zgpz5?MHCT-DiU{LEz&3{ZI7J4f-x#Vo+#X_d9 znS=v=SNEfQ1kM1JXWIpDo-V?S{moc_%Nlb+gJigvGnU5 z&zJF$SSCJm=ePDHP~~~RrgRym1E~Bk5)pg&jPS**@LQ(WAyZG55%}N_IP6XAA!NQv z{M%tX11Qo#1>jbP#!4~3MKnY`$o7L9T)Hw% zcr@eFYn%p4j(mPPRN%IUGu|hi=cn0&PVe@)`CiOsUcCDTH|DF9B_QDGt^t*>0Atzd z86_XyACfK&L$P83sFAY?E^TrMf8dzTO0IT5!Uohg-;jMO=P1v-LmJGM=7)s4cdBK= zbMo@2{7HTLknpY+Nk1eU#h!OGop&4H_elpND~d`dQ_TB|tfWq~hmuX2O#H3RgPUc- zy;L0GtaN*~o$VacE@4UQe9xcX-+#Mz{HJ#Z1QzJ_bNw%)!S?e7ODTkWe@-Mzw>lq= zUk-lg=%=t(4A{?0e!11zgOgU24vv_=On7=dcqc;cUw7~(pG7J3&X@5mkd7k5+vm81 zw(os=GZ9w<$^QzP+=)m6mJBB1>e+%OGaijc&tk}i8O_F{+j|ocT;Jq=S>sEZbO!^4 z>H!OQDw09|y7$Z%p-7yie{yfG-m|HQ(!rE2cz8V?0I{=yyp}0j^k0Cu`I`Di`17TR z(*DCEHWQ3|IDFWbG?D|!5yWLZ#<5#p3NCpu8lWFqs#d-eOob}hV1GY{4)r6 z!q84`?2B-@h@Oc{mY{dVoCg7mZtwkO9waw~iZtZ2XuwmpkYmsv6tm>njK2*1gdWY+)l}Bfh%zB#UnZ zlt{0~-sY2A)Gy>uo<6Z_Y(kAmlE4104DX(oOw#B^(Z(QT({xOisd#451p0Y^b!L=m zM6|egn7}Z-11RX|}SlH_nx<0YJCx`MJF}{Fc0V`xBXj!UtLM-ftqInyF3!p!T!Z zwS}`}Hlf|`zw2*2`Juo09ihCK+-bmLw_xA#EnJ5V0Ptyz*@pt`3|k%9t| z-mG|#&d1;9Eb{w&SbD8J8U5Do^>4oO>Ga9y8IAY?MSqZSyo3|XhWA7gMkNSd1F=jY zj~SfUS%sAaBCQPYH&35FwLroIS_5S_rPaKS^=+_4Mo`#Y8<=Wbzkd4ksr63Ylva?< z7;Pq})*w^^#eDrVzy%tJp*RswD-)4}fh)-yd*gF&lG*$I!-a?hYVjWS>~;TL2|Z6o zBZCU|1AqKaHwcC<_Gm{IO9e`PS|J3a_!9X7-J1Wr(GR^s(@#bQ?{p^0Q)ulemEB`C z=PAS4WaCJz5*lkb0h4|`peK%s6&?W!=t1_7g&~h6m!=P?h=CcJxfRh&#N`GxHmB3y zK^}9fA|S|SK?Nu_%Rw%KJO>0Qf}x3#>A=}-fPX?&MMxQMJX`Q+pqJ^WDx!G42nV5J zjgPabQ*uum&SU@%uGJ*07n5|GiE4B6vmk&D72=3zt`Q-<2JTV7hKEIN+RADg6l^fE zipT+w#TaQrtyC=%j}@N+yOqjFvfo!Zx}gpQrV6SNKr5ng2G)3im*o~SGX`Vd#a9GarnX`kBo!G% zV-mQ{XD#Xly~<{M)6BSk^EIYSfpXA|hJTR}jz37#%GT3nM@QC;q7dA6(iWN4ocSEHl;P2jN*-Y=d6`uMkpNQ?8dbjO@HYZ ziZm_vZO4vp?UuTKsy}{|mZ>f$oH{_Z;5wy)1_(~+qXYuH4%OO58kBd}DSQ>8lgavJ znhf&u!IS)a@WgpOC}T<{iYb4-K


wI+hR51u}t*XvH6j&zqnyV@iYSH}*^%Qfp| zAsFXfWu3f-!Jk_1GzA9qxaOP>D}U3l^$iase0gzWQ)Y=>IPm4k%bTj~E-wd)UW@31 z(gV0CH;;ekKc&;}@iE#b-dKmPAHKu!tJtpzM63cN&>8M-ZFlXjO8%J8@oZFe;*R_dP6X*yVcBP$DR1e64S$Es1Y0%w zMB@QKeJv76nIfK+B$n2qQBkletq=z(7S9f_9q=1l2f6mZTkp2rqVLW85mf4X4T(}XS{hZOFV zqu=&7Mx)2KFyIX z7&Av;81sjdK7LRh!NrlukS>&`-@j4Uou8e1*KtU`(=}?ejf)tib5vX z@}rZ|ej^Z*vY1wq#7AW@+-&WNsbJcZ1%HKqFVM$r4Ls!t*D0*^FFfaM#O^MB23do; z^s`nRMw!5zreWBM%++Z@giKTYTK=uSROItaythR3PC*nmDkg_Kt`$2@?yj{to#Isb zD57f&6_lx{bk0P|VkOk8bhZ&a(pdsEA{pRHW~89!Z+o0*kQq+UJ@)fZqO1NxF`_OTnlZAcBO%;@P!!Y*DgGk(Oq{5i zcUgc+|DDyj_uwY8HU|X>szja-(LDUz4#5EIMaZfno$;efS#n9kq7xkk?LE}5$|ZAa z^^(cFj(>_j$QB04o$`nUWoJC)M3VJM%NeRJP$9>mxGD%P7P8pOzy+gH$MT)Ky?1+$ zUBx0vrC01b`q0}Cp56O@08mQ@2v6e10Iyg80H rlMCW10Zo%O;!**TlZoO^0t23t8=e}I^WrK2(~}> "$log_file" 2>/dev/null + exit 0 +fi + # Skip Bash events that are ab meta-calls — those commands produce # their own structured events (Reason, checkpoint, etc.) which are the signal. if [[ "$tool" == "Bash" ]]; then diff --git a/templates/root/.claude/settings.json b/templates/root/.claude/settings.json index 1261b02..022b39e 100644 --- a/templates/root/.claude/settings.json +++ b/templates/root/.claude/settings.json @@ -48,6 +48,16 @@ } ], "PostToolUse": [ + { + "matcher": "Agent", + "hooks": [ + { + "type": "command", + "command": "bash -c 'ROOT=$(git rev-parse --show-toplevel 2>/dev/null); [ -n \"$ROOT\" ] && [ -f \"$ROOT/.platform/scripts/hooks/event-logger.sh\" ] && { cd \"$ROOT\" && AGENTBOARD_HOOK_TYPE=agent_done bash \".platform/scripts/hooks/event-logger.sh\"; } || exit 0'", + "timeout": 3 + } + ] + }, { "hooks": [ { From 335fd7374512fa4576cb87b777c8f7963cd3ec79 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 10:15:25 -0400 Subject: [PATCH 24/29] =?UTF-8?q?feat:=20add=20Explain=20this=20change=20m?= =?UTF-8?q?enu=20item=20for=20files=20with=20=E2=9A=A0=20large=20diffs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 58195 -> 59363 bytes extensions/vscode/media/dashboard.js | 14 +++- extensions/vscode/out/dashboardPanel.js | 94 ++++++++++++++++++++++++ extensions/vscode/src/dashboardPanel.ts | 84 +++++++++++++++++++++ 4 files changed, 191 insertions(+), 1 deletion(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 80dcea53520fe48738589f2a025d16b4338af231..a940a2b70a37694b0458bb9e2f9edc34dc35f5e8 100644 GIT binary patch delta 40875 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 delta 39674 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 + var _warnTier=menu._totalChanged>=150?'🔴':'⚠'; + _mHtml += '
    '; + _mHtml += _fmItem('explain-change','🔍',_warnTier+' Explain this change','#89ddff'); + } if(menu._lineCount>=500){ var _lTier=menu._lineCount>=1000?'🔴':menu._lineCount>=800?'🟠':'🟡'; - _mHtml += '
    '; + if(menu._totalChanged<50) _mHtml += '
    '; _mHtml += _fmItem('refactor-here','⚡',_lTier+' Refactor in this session','#c792ea'); _mHtml += _fmItem('refactor-new','◈','Refactor in new session','#82aaff'); } diff --git a/extensions/vscode/out/dashboardPanel.js b/extensions/vscode/out/dashboardPanel.js index d3b9905..ae2a7dc 100644 --- a/extensions/vscode/out/dashboardPanel.js +++ b/extensions/vscode/out/dashboardPanel.js @@ -564,6 +564,100 @@ class DashboardPanel { terminal.sendText(`claude "${escaped}"`, true); return; } + if (msg.command === "explainChange") { + const filePath = msg.filePath ?? ""; + const sessRoot = msg.sessionRoot ?? this._workspaceRoot; + const added = msg.added ?? 0; + const deleted = msg.deleted ?? 0; + const totalChanged = msg.totalChanged ?? 0; + const claudePid = msg.shellPid ?? 0; + const sessionNick = msg.sessionNick ?? ""; + if (!filePath) + return; + const absPath = path.isAbsolute(filePath) ? filePath : path.join(sessRoot, filePath); + const diffStat = (added ? `+${added}` : "") + (added && deleted ? " / " : "") + (deleted ? `-${deleted}` : ""); + const explainPrompt = `/ab-review + +A reviewer is auditing \`${absPath}\` and sees ⚠ **${totalChanged} lines changed** (${diffStat}). + +You made these changes — walk through your decisions clearly and directly. No preamble. Assume the reviewer is a senior engineer. + +═══ 1. PROBLEM & APPROACH +What problem were you solving in this file specifically, and why did you choose this approach over the alternatives you considered? + +═══ 2. KEY CHANGES — section by section +For each significant block you added or rewrote: +• What was there before (brief) +• What you changed it to +• Why this is strictly better + +═══ 3. WHAT WAS REMOVED AND WHY +For every significant deletion: what did you remove, why was it wrong/redundant/dead, and what (if anything) replaces it? + +═══ 4. DESIGN DECISIONS +Any non-obvious architectural choices — naming, structure, data flow, abstraction boundaries, dependency direction. State the reasoning and the tradeoff you accepted. + +═══ 5. RISK SURFACE +What is the most fragile thing about these changes? Any edge cases, regressions, or coupling risks introduced? What guards did you put in place? + +═══ 6. WHAT TO WATCH NEXT +Anything in this file that is still wrong, incomplete, or will need follow-up attention?`; + const terminals = [...vscode.window.terminals]; + void (async () => { + try { + const { execSync: _ex } = require("child_process"); + const termPids = await Promise.all(terminals.map(t => t.processId)); + let target; + if (claudePid > 0) { + try { + const ppidStr = _ex(`ps -p ${claudePid} -o ppid= 2>/dev/null`).toString().trim(); + const parentPid = parseInt(ppidStr, 10); + if (parentPid > 0) + target = terminals.find((_, i) => termPids[i] === parentPid); + } + catch { /* fall through */ } + if (!target) + target = terminals.find((_, i) => termPids[i] === claudePid); + } + if (!target && sessionNick && this._sessionTerminalMap.has(sessionNick)) { + const cachedName = this._sessionTerminalMap.get(sessionNick); + target = terminals.find(t2 => t2.name === cachedName); + } + if (!target && sessionNick) { + const nickLower = sessionNick.toLowerCase(); + target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); + } + if (!target && sessRoot) { + const sameCwd = []; + for (const term of terminals) { + try { + const wd = term.shellIntegration?.cwd?.fsPath ?? ""; + if (wd && (wd === sessRoot || wd.startsWith(sessRoot + "/"))) + sameCwd.push(term); + } + catch { /* */ } + } + if (sameCwd.length === 1) + target = sameCwd[0]; + } + if (target) { + target.show(false); + target.sendText(explainPrompt, true); + } + else { + const picked = await vscode.window.showQuickPick(terminals.map(t2 => ({ label: t2.name, terminal: t2 })), { placeHolder: "Pick the Claude terminal to send the explanation request to" }); + if (picked) { + picked.terminal.show(false); + picked.terminal.sendText(explainPrompt, true); + } + } + } + catch (err) { + void vscode.window.showErrorMessage(`Explain change error: ${err instanceof Error ? err.message : String(err)}`); + } + })(); + return; + } if (msg.command === "refactorInSession" || msg.command === "refactorNewSession") { const filePath = msg.filePath ?? ""; const sessRoot = msg.sessionRoot ?? this._workspaceRoot; diff --git a/extensions/vscode/src/dashboardPanel.ts b/extensions/vscode/src/dashboardPanel.ts index 1adbe9c..6666dde 100644 --- a/extensions/vscode/src/dashboardPanel.ts +++ b/extensions/vscode/src/dashboardPanel.ts @@ -501,6 +501,90 @@ export class DashboardPanel { terminal.sendText(`claude "${escaped}"`, true); return; } + if (msg.command === "explainChange") { + const filePath = (msg as {filePath?: string}).filePath ?? ""; + const sessRoot = (msg as {sessionRoot?: string}).sessionRoot ?? this._workspaceRoot; + const added = (msg as {added?: number}).added ?? 0; + const deleted = (msg as {deleted?: number}).deleted ?? 0; + const totalChanged = (msg as {totalChanged?: number}).totalChanged ?? 0; + const claudePid = (msg as {shellPid?: number}).shellPid ?? 0; + const sessionNick = (msg as {sessionNick?: string}).sessionNick ?? ""; + if (!filePath) return; + const absPath = path.isAbsolute(filePath) ? filePath : path.join(sessRoot, filePath); + const diffStat = (added ? `+${added}` : "") + (added && deleted ? " / " : "") + (deleted ? `-${deleted}` : ""); + const explainPrompt = `/ab-review + +A reviewer is auditing \`${absPath}\` and sees ⚠ **${totalChanged} lines changed** (${diffStat}). + +You made these changes — walk through your decisions clearly and directly. No preamble. Assume the reviewer is a senior engineer. + +═══ 1. PROBLEM & APPROACH +What problem were you solving in this file specifically, and why did you choose this approach over the alternatives you considered? + +═══ 2. KEY CHANGES — section by section +For each significant block you added or rewrote: +• What was there before (brief) +• What you changed it to +• Why this is strictly better + +═══ 3. WHAT WAS REMOVED AND WHY +For every significant deletion: what did you remove, why was it wrong/redundant/dead, and what (if anything) replaces it? + +═══ 4. DESIGN DECISIONS +Any non-obvious architectural choices — naming, structure, data flow, abstraction boundaries, dependency direction. State the reasoning and the tradeoff you accepted. + +═══ 5. RISK SURFACE +What is the most fragile thing about these changes? Any edge cases, regressions, or coupling risks introduced? What guards did you put in place? + +═══ 6. WHAT TO WATCH NEXT +Anything in this file that is still wrong, incomplete, or will need follow-up attention?`; + + const terminals = [...vscode.window.terminals]; + void (async () => { try { + const { execSync: _ex } = require("child_process") as typeof import("child_process"); + const termPids = await Promise.all(terminals.map(t => t.processId)); + let target: vscode.Terminal | undefined; + if (claudePid > 0) { + try { + const ppidStr = _ex(`ps -p ${claudePid} -o ppid= 2>/dev/null`).toString().trim(); + const parentPid = parseInt(ppidStr, 10); + if (parentPid > 0) target = terminals.find((_, i) => termPids[i] === parentPid); + } catch { /* fall through */ } + if (!target) target = terminals.find((_, i) => termPids[i] === claudePid); + } + if (!target && sessionNick && this._sessionTerminalMap.has(sessionNick)) { + const cachedName = this._sessionTerminalMap.get(sessionNick)!; + target = terminals.find(t2 => t2.name === cachedName); + } + if (!target && sessionNick) { + const nickLower = sessionNick.toLowerCase(); + target = terminals.find(t2 => t2.name.toLowerCase().includes(nickLower)); + } + if (!target && sessRoot) { + const sameCwd: vscode.Terminal[] = []; + for (const term of terminals) { + try { + const wd = (term as unknown as { shellIntegration?: { cwd?: vscode.Uri } }).shellIntegration?.cwd?.fsPath ?? ""; + if (wd && (wd === sessRoot || wd.startsWith(sessRoot + "/"))) sameCwd.push(term); + } catch { /* */ } + } + if (sameCwd.length === 1) target = sameCwd[0]; + } + if (target) { + target.show(false); + target.sendText(explainPrompt, true); + } else { + const picked = await vscode.window.showQuickPick( + terminals.map(t2 => ({ label: t2.name, terminal: t2 })), + { placeHolder: "Pick the Claude terminal to send the explanation request to" } + ); + if (picked) { picked.terminal.show(false); picked.terminal.sendText(explainPrompt, true); } + } + } catch (err) { + void vscode.window.showErrorMessage(`Explain change error: ${err instanceof Error ? err.message : String(err)}`); + } })(); + return; + } if (msg.command === "refactorInSession" || msg.command === "refactorNewSession") { const filePath = (msg as {filePath?: string}).filePath ?? ""; const sessRoot = (msg as {sessionRoot?: string}).sessionRoot ?? this._workspaceRoot; From f8642a4949c8931783480d6ed0b04a1e8fce2eaf Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:36:04 -0400 Subject: [PATCH 25/29] =?UTF-8?q?fix:=20consistent=20menu=20icons=20?= =?UTF-8?q?=E2=80=94=20all=20thin=20unicode,=20tier=20info=20as=20right=20?= =?UTF-8?q?hint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 59363 -> 59397 bytes extensions/vscode/media/dashboard.js | 24 +++++++++++++----------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index a940a2b70a37694b0458bb9e2f9edc34dc35f5e8..1a2fabcf694f6ce95ddc942ff4bf697c5f86df30 100644 GIT binary patch delta 16639 zcmV)LK)Ju;&jW?f0}N100|XQR00;;Gd0ep!=K=zGT(k88jspUDT(gA+mI#ynp}+!i zT$8|}W`D2+7&0Xi76{OKG5jvTlx=_y)St{3_!EqC;*t@OnN>BHT~RP8ak?TSPMo-% zIB~9fdxTC|R*rL8#3ZJCCjMHn@nynRghxfPD9PKO|1C*#8nc*CPS{n+ij1aYlBA53 zIpMTS_~e@W`2~5D$BaC>_~Opq_sKNP$2280`hV#%DcGNL`1W9tkniu^xfA6XFUcj3 zpnh1Z;|HTVt0ar_RsS1ZN&GP)dwXO~Uo%3Zh;g2b1rkY?CK)4n7Ntq_n$WT=lJT-+ zT=wYoo_ zrH0Ck)o_x}LBPL^3zCVzQG7>|4&yeU|@EHZLY7D+bsdC)J|BBc@Y z_jdQDU2m7p7bDLoy^p17X%(Jf;nXhN!NQ*|bGz8X;!h4g9eKg%w!&vt&Qm{$yR+bp zm>HIaaULz_EGzp{Rz67?{Q2k%l=Eo_hxR6mW(blgX#2gMrr_r+M_6#ZYo|ba;5;br*EWu>erGeZ~9G^^&*X73Udy zlrOUqhm5~qyB7&1=T1R?lB6Xos;RruJN61Ij&1|FOk_v~W-n!4(sbKyntwqoB4}#> zIwJ#ePClpQtY75IEcUCR?3wkxPxc3cfDB2tOj7~zk``pfXv|3BPYm)9u^ccNv%^J2Kjfy@-6IN^(wUJoZJyBg6nnP$DD zWOF`@7=EA9#qeZtHCoU(PJgl~{7sG)SEF%W#H{EQG)|U$2qk4fGoHXS563imJ;foC z{{AuFIrDH3gmj2^pD$>pkXa>hIUC+vT#aTdna)c5(*}J!_}-|3H}pDw!XKRL4L6K} zjyD4Adwf{uTI>!GFLTdPjqS2jC+( z26oq{N3f@(DDqVQ!~Icy$%;vuuZFWEj#)M;*;U!og)B{z1yA^BHA_m?;|m(GVV187 zy4X4MI!ICR2nQXnHUfVUm3PAscEow>XaWqKG_DA!I5Oe{ z=p(c4T&RPfRvF2ZH}tYRW4Oj@^aI%cjctn* zyK&?4evzka{ic04%p@12agx6)Y@oxSWrzE`KQ3q%%|0qdf_tkl62Ap$nb3KXUJvJa zmgAYP@Dzx&VQOz@U^93>AOD2mRUEW!A!8i-=9xJ;uJ4=?FtR;KdiVRs6=u4hK2MW~ z`GfAkU=SdtHGiC}yK#57`EpbYOY7EeJL`wXf{fzzGRceiaJg8pBBGp)QdX9%KuQX0 z)gPR&xiiWmI3JJmjFCtpWR1W?$HCj;xuPOa_!FCSn3d!p7`yaW(QfepFz$ z=UzqKykYg@6lhO%!W&PydHGd$l?JS@O7D}ClM@Ng_<#QPH^20N+5b;o{roodXST(q ziCL5v$mb1lLzS~4UruMZn=2v_6@94P-iN&|w?Y3Wd6M~_7l@);W6Ndis(gSe(|Qi% zWS6-lq918{?VLShS0ysoc_vXdPHg)@l!QTW!6O5^1K6Q&fAL?4I(x?8ob$GMsHXtz z{&-oIc~>S_!hFH9o_I&V(upqMJ^ckOf%NQbAb^K((G40ozAXr#XoOT$T#WL=(b33e zM0d`fFPM7pi1+^6U;O(1o*2qm>ol0Ym@D%L;;4AGO8ti zbeS+wjb1Wno#!chr3C`X5yph_5}RUF)G zzJ@+7uc1mx;h%ZVIp9fG&~LHirT6uJ$e6Wf&!2^_JTaYK*DI4LcCgCR3G_#&DUOI< z;(Sf=D;OEW&S!K5-KEzV6h;NjplS{W8YU=t4L@g0jCfTbfXifoU&jf@;(4CqbSC2j z(0rYg3@4s1a57Sy_#}&FIOTJSrQ-trowDe4j*CYVn1iy&mr#A4WUuAS$$u$-6vIh_ z>O4yp(8rt>C88ANS)2n-IbReE=4`@>0#_w3V12OibdfMz#_19VKc_{SWH6UnoFVt@ zvm|;A8yRFEcq8M(l7!;rI>`&-LrH=qBq8@n63ZKWM3PP?z{)ma?eKiw9}y zdwq~zdO?4Z7f)z3^Do1*%RbVcrwK3n1)JxW%=hxl3-BIW2dboF15z1(o|Rics*lrX zM&nqt8I8-VvD}=_f~7AL*d06%glx;d3xA6h^pIGJiJtQ?V=MBQmZCObflU#&Wa20M z8GYu@d7v7f8?AYWJ7|*TdExs2q@U$0Kj_VQu(v-L3=|Z8f1uj`WXVgC~kyt%I2R0Z31yqTy>T92dx0t0gWEe~X&>+CzGO1*hM{j17D?|bSU z0SmUbM_%M9BPm^G(To+SN#eMBDCliKBtRls#GI^>az@gBBzw(b!a=*iNk_ILg5A^_ zApwBJ2s$K<#Wy!nPOH8`SNt(8DIrE1v-IYMy!v`nQ#JrN{wPm~ zE3y0;*&mo)UsU6-rXmap4o2uuZf*obV3iC!VBbBwR%pmys(0~Ib$V{qaYgxZ_entF z*M-=M3Y=N!0JZ85#a2>~VT)hDAp)VNBkOkr>&7F0??6iR#Y=M7gWtV%LVZ3mL_pP) z21ftzJTqR1#dJ*l{o|AF{@|p0aCEQR-w#IlvIL2N@jk3qJ3J1cGd;p0U%5JvDA}om z6B+|}+u{=#CaouyT0MdFQs3NE3vD-mBCEPxC!(diC$UlzBi)l%U%px|+BFp|W6Bv! zLW{hAw+_^zzzO21WGp706?IhWB#%+xfU3R!KQ#p;2PhTv#fd$~`+bOaePb75zv~|4 znXpJkrgd=Z`ZwjT$2IB0sVk~BNTemKw#wHiUNUnuHPMrvFIV`9^Bq?t$DP`0m7tQf zN=7S9VD}HCjCJ$MDRqY2ddNC9>oUZ;)zld(ZF1t{V@E1{VhXE(CYZChC>UT9X0s-(es{BSTEwvwrL#~FWhl-JG` zZz`OUY{rVD1YPO>BWO6f9YU|iL7V@PSMp1;Ovy=|w7a@Q33swP$?!bC^0wlg7V zbvWQhw4`Z1HF;pXBpY~O@sj!c!H-D@eCg!p~`CaI* ziQjE3zZ=R1@#f0S%&}&0u}Oc$;2J+GUev6k7~CznG`VYGp48n&&WR^?u}6jkgx7SL zmLA9!8+k6$!HI{j|B`$cpur>D7~&iWUDn6ryy{y8Vef5G%12iDw`;=!Ezu8|i@ zqSw|{^RXE-K;AgIH#geQ5s|MrwG9=USvNWNVidKxXw@OMvUBd?*~ov+nTy}V&=KV5 zw%rk$r>nMh3twmN3BlXJt`OWEPS|(D-)&g7W`@t4HJ65g$)DQT=Ed^Pw~bm)UQs$A z=VVsRwOr15Ua+0Bj+j)lMNhQo5RX6|qwlp>8C@*W>mMy*5RHR~_zrTdLi>1!pvuCV zf$`)|yl&iwe_2#MqjP_DbAy6DLr^y^+U2yf-nj6BE@z8%bvRobs0s1M#qKU=i{Q<; zumrfVv_t`hd&Jqok&DLKVn#h6z)}`RRnjrn*p^W{CM6vM`G(tFqf&e%wd-oG@66(X0pm4o0&3XV1SRxcl)PFkhx+(vzC5A>n_sd`0+jKBvWXpYSA` zq8PyZnhNV%uwClwVPyI0NxL-P%alx9nWL6#>-OTjH0wieYyf<<&C~+V`XK z>I-cNxVvigI3 z@^f{!8+EGBG)v}a2o!pYWy%@Z?;mr*C}+JS>*dRmB-td%K#^X}id_6JXi@U;Rm*nj zcuIxML9Z<}QhGwq27v{qzgY5_@BN83dF5rl%zuzvvDiNdI-XbxL${@9ToV}mP1HsL zu1+cUx>kP!aRnj$5^CC8!eAn>iy7rl!FKP>$Jya{wDgfxTwKFe2)!?#zxcBsJbnJ9 zH)>gKacOI#xRwQ%wbm^7pntMNZ1%Y_>B#)Z5WwMunqvxb;ha<_8q(tIEb|dmMt{<9LcZNGJ7NW z>d=2{0}lnSE7??Qi*1dYXV5LUfSz2ktb9txEY)N{>VoMYjM3Z=EDA4^@)~#s^Y^R4 z*CVS*!cnsnPUv8FcR~mKGS5@c(POdaR{m1B`-Cnc(Bc7q{Ugqbf4gKHy?}0R*3@z! z%fYYblVBi~7*IEaJ-fakjHzl^&AVacD@%W@)zrg1_v9aFGj*LW3j!``*WS<_;iv}C zJn9BObaWcZ*|)q**eU$CCe+j$3d~fx%5=x*|0NHcA;QEMLlhT?K)@&_Y7X6`qQUWj$?Irv%!@l=u9J6>Y z7QX_a)1j9%Nx_Cg+9iA=E*Rhs!4&abo+O~<-w()nt-`Cp*M^QBdjXUcjU=Jf>pAg_ zpM5=AX$cazphVpld0wsuR6q?W02vao_YnY%N}wDtUK_8Q8)8#)Wm+N|BA0)wn#O(n z`J*iP>5_@Uo0|%_nxvZ>VYMkxpXIAe_r10%jRe61v9Cs_oF!Z>yr;x6CR%4?pahT= z1dz}m7XlWcMrC-rAjt<&jrjp2-}@j6<0uBJju=dEHH7;nw7~7qhnjF&uv?>9hj@Wz zx$tmLXs;|&uUmnrG#u~|L_>e_t2JTgMv*0momf_X+N=AUi;M5bvD>)PqZ~99CJwJA zNRH7VSC^ZG-XDHvnHVPg(HwLl6WpBO9afb5%cO)S8BwdFs>1kCQ{xMWcuYMg^#Hb6 zh~ux7B8P|d133M6v3JYjahijzjl3ZzctgJAwTJnPW>bX-QX<^oAOL^#Cw)njL{Zg} z#Yy=kEnvnxQAmvz|ILs$;4RG;j9)^6>HSslk*-nF?uMr z`({;ISG`-GkB*#$ms&finFH;-o|KOFw5EJ@z#Gw#f4*9afEJ$-P1w0 zKe!jP=p5XdU>{~F89;{tQx6?U#-gdSgM&f$1pjYSXGYD|&OAe)6(^I)gR(5(&Qydz zPRcp)47V((sEh~%sjQ3*leb$mIQ=MrkdK{Ofe?C%KYJKvZCqmHCy zx}M&i9a#r8L=k@+zfkm|k0S^kq3c=`B$%=`{w-^YuewM4E`M1ykXH31ajFxqh91=n zNi!%O`6f5DyKAymvhHVbAdQNe;LTW?_7(!%I#^Keiv&Qm%!R@X6qB2AL-l1NT9Pz8 z!ZP zfF{7djh_7$T%p)p2M>d|NTvg*THcXu~$e$7YR4e>=F7#GD!$inLMov$~ys;j`= zxEHoZt?qxl23Q$jp_CL`UGqOk4!)pVg%%jl%VCSp{ z2+F!^QLMWbn{}|uNQPqBuR5*vT$GhNXaD?b=q|FOWH^9oE%7>})4X9zRCj(yGix?R z^LbL1YGTD4hjPbQbFB)`9p2%QhEV22=qh#^*Lr^|#!g*BZn-oa~X6)OQH`&pQ>158v16RYeW)G&6+CqWERG zxh1^#jE1X4SQ9>gaJ5nN5QgD?aNZzx=&SL3k4^`BU;2h?IzYk6P)-%Dx-IREHcru6)C`&>pRvb)I1fP>Cf=@kI zh7-X@ZAE3wBEqTlP>tWbA;B;OgQqx0YiOTBI_)90I}Jv?R&#TFU{mmtPDA=#M=7E8 zC?y}U?^FEGfeHr!zjw~E9EaO94JdpS^T2 z;v1~$AjzV188hyC`C`ev;9Q3S95&RM(d6|KD@l#*(2>|09l@ekL;9HO?sck>SWkaY zvsmqd3I#hHjzx=Rl*_}4e{LBF>+sk@{HSs|kZ{_2%$DI&9GrI5|HB*DV8^rN zyo1D471*IoM7XnRhz9T3Sr-Jw47GoDJQ%!xz_falABd&1IVR1>in3#}^i*D;9hbFv zC%+33<&93R26 zd|B|oIHh3bq%>V2X)tFqbwV|Mse&_}N+*estQOE_wUDflkTWB5B+K=nbu~F~xqk5a z(^g_eeZxkK^oUub0%6vHX;gpl5Gs*52DI9QsT~!QC1s}ya+jd|;7!rFD;#@~3mGc2&U1|7(a&pV2$uPcDQrxQ9 z+u!_>C<`g_`1!LZ!o>c!|41skDJ|U-Gp2y}aspu;@UMQEKh0O*%EEtP{XjEiOb^Oo z>KBS6iAO*Zjcd!fY@9$<=rQEPsInh%##JYf3!De7)qvNU4Ih$)w-TL)3FV3VI5q-=y>uK*Azz2SS~SI@by6|`~~<=o3=Eo#qREE zA$S6A{Hc8MltRF4{b7Gjd8cOdMnG0~X=w)+mT`t+hG6%GtA#iu0$=fG&8(Gbe?H0a zgkiV=-NitFZj?wjy7Fni$noNb10T3Eb`L*f3rI23vvU(Ch1cLbOE!GRI8b#ojt zWW^K!AOwOhfHSkGv1i0~Dsg;MZ}tAdKobpHtG-mu))Eb?&#-?DoJV}kr$rl>I`qCe zAeAm_Z;yOwT&P%eyab~ug2WtSt``(zB47j!Z6z<{W@xp+UxPdo9_q2y5ck_VO^PK4=LAJ@`eUQIOb={*ENS_edW7&p)gJ$#;I5d&{XfxF9yfpF_V zQPAr?a8>>rv0#5g5iw|eEcDtz2+_(B`2#KXgNE_r1l|AlhvpsHA6SPRutNr@}FzxDiyd7oR6WBVphK^;c z5TqkF!s3HCCifu{&>5bZA=v?rfB0j#nULon{ssIAq5Xe%?(bnm5Y6IN@dLED61=R4 zWW;SUVjIs%TCz=y*CYG&Cqm4N-Hx(V#fLOdE%mf8ZvE<-!<@K}nuSc7$`G_4DvmxrKHfqWUD25~sq>l3D*W*Ym>tyq$b`OC)PeSE^2`%rsrm(m zgxClJ>m+Y(<5(d^Eo2as9*Z zggx;7fXtK4hqXzi$Cu-tyla4QlyN5HrGtD{p60Gh3!}MQ!)*@&vZ3w4NuoSm&NEIf zx$9KI7im&fu_&RH)TzCnlVT-DdYH%8>s(Brj*Qc2_;d=WkMfkScTiD=AyJ-k+bIG(#PajgAaAi7*?e0rsXh00)JO;!tBnR;6SbXsi&%^Ik!Ii#%WK#ur zMMp)Rreu+e@Nb;t69SF`NCkT0D@Io2ED{yQYyxpS3f2=ZR*mF0qV@$ygdmyFZPS19 zw}tzpQHkfRxAS#Zl&mIBfz;2-!p4}Om6rvE0PYKnUgis7fNo;=3X(#_Uz3oS^%PZa zLR}NarWLazD+S~YDT{0KJ^pVB#xf9R!WtSZ69I-Oxr9t;(nXyt(a#tk;Yo&KeWcpp zu;Gg;y>XF%rHPQHqj-nFWvbXdw6K4zJeEJ_nBBvvz&G0jTj-~sCBXh(oQ|Ci6tSKM>RDw%G9NznGEe3QpqgD?m`kL%+pOpbEC8# zcZ(~nKR!No+C=5mkAyIZ%LoQ2O;=`7R-q1lU?De`6@CbXgjKK~gF*+5hMFIgyQ(4VltJ3uKvVXo3P(vW+wn7_2Tt;6$$KJ62u;D1 zzR_-9gNEN|oD$qhEQWCiC<4w&zWt25}20O6gbL&e_|){vUt1FjZ*A)(sh@IoB^_ zYvC2^Q(ySU37;ptVmZ-pL?`EMT6dh!1ua-sT9GTArPlE+kB$$mwLEm!vKE8dlx0{F zxYjk2EyAz7{Wa5H)#@L^)c*6YTPC%p{%O8HrbQCl_Xi#_%wN=M6o0gHCNc!HN4=NK zlu4GjOgC%LCC7jG9Xp2*A8WgYFgRw%MiWFXF} zbtRi_7>zKLU)#Y$tkSerjhX%G?2;b0iY~Mcr*=G^QhVWQb!4DOicSVimsd6Q01Fcr ztQ+`?%1*dxi^?dr?r`7!`macBsa1d5?k=d0zRBxPkzs$n+opy&J*r{2*Nh)R+q5_h zbivj!g5{i$fQs1E=un=?CcV4F6#ZToTr8yOQpS&K=AQn+YdO- zs#3Egu?ef{b?q3@5yq5~jhKcTS|U}4Wy+$6_L3FvHGSvUpIJRDF9OqndBKdT=>rDI z-~fqgYka zEoZBtI#U{It~r1D_=(ephC6+6$RT2nX(Wp3rb-M4#-Vzg^;4Ut@q6{|-^KoKZZ`LS z7FGxZbqp>Oo{UqbDTlqTQJzJ#^s9MtS|iRc@)fkSAi2t6%fv&_p3_Z9!XFx)T-_L44K0{yZ`=6--P(g1Pf^e&>53W1MQ!Xo2s z%i#<`TFl1FsT8D1X%5)OZqpQm^$_i&CaJ4M^i$XgVL~X^+p?K)kNx|*cG)tKM&-K6 zxinhv48KckwidS3wftn8guq)^bseHrmt%j~BjPKIqj^qDRkkVgaZI0x>A0cF8cn!9 zBwxK`ql5~*k?9m2%YFO~m&#UA#j8{1N_VU;6{6A{VhxYiI8n`k*$-Ri#4-(7Gc9ZF z)2c$?`y?T6VD*SWB-`_8J0az53rRK8(lN;jdtqJM#{v2SBmZn;q;F=zAnzzE>O+6K zW8tgWTNB^y?HTujdOmCbB*IWgUtKdx0C4+|@6;4!z3cHjh5Q>w^@JNs4%$#uTMAnW zC0coj7#L;|8R-V8LTm+J z`_bv81-t(REjWXSMRDeV+rpw;7K|ii&?V1bh}H=wSuTuiv2Z+b&Jn&$$Zf?xU zx?4@w%?-J$UC|EQwN#vQ1K+~#Qm3}BnmIXNQ^`@ktCi5bYeawGrDd*5CHJa+ z89f?RL=Qn@7upk1^?0uTRGf^pj7B3P=wEHaE3g{-bN%O9V{~yc?ivnObt%-a5!nxi zTFDa6*GdO!=J(Y^)#n3PLT8S}&z>_`_LdgfeKH1)fY+y3$+4XI{)jRvuOrEh6{J9y zHJS3;$ka{w8zfRYH9O*e8O`@0j4$#^5qeZO7d8 zE_ULM+kluGU*iLX7ILGwaYkywCS|>%D!5U`S}?A?Ogj4f)SQ2yiNm{_BvGF;c#t$7 zEh}M|vWVSq5WJ3Go#BR*u=;^x*OSj1SPyRqubYlHn$s(#!9O^`g^~-TNO2h%T?bnS*?X5IPon^uW~iMa||r8$;+G&djji2 zt_#^}4+V74uKc)_$FpSpl1#dvjw)3bit&=HLF1)g&tiWEH@&%?FK&|6>U>YCCxyd- z*OfUE=`Sa>d2G|>;V;r5LnWI?kfx6xva zCAS$ctig)AJye+0fqFDctVFT`yB?$@QtzLjY9anGv~My}+TIqC()MJeG*Mhf3*4-q zIy%3boA-az_*DwOo0~eYdgpvOevGHceggWmA1w=7WjyE(F)m4UYE$2q`SHhUSpAbK#ve+#jv-BJPa~ zMqdx{e}OxX8?#btrp~34Lk;Zx!-1{uus%#FFTQ^$3u~Ado=3fGh;2VYTt%OFj7)@N zy(a{`@EF0VZF`3x_Yo(BaGDwl7e{15_KnNxXmf}M`;~VTI8(4=2ahguX(6+xNPWY7 zwVnR59&@e{lo_A)g^n}!zPeoNJ-%6=Ye)WUQ12dWQt!45NV^wT=cIBd)^sT7v>2{o zO8b9m?-{Pc+w^KPHf!E&r_LOikI)m4V6+<(VYmK#eK5$)8rzdvD9DB|kWB)Xlfj@C z)mj9IYzPh+)aR?F9}xr6RQh}yCF!9Z<6pe%KJ?kCQK-TOts8>P3O1;QMfx{`foWu+ zDn93PxUqTYz9uXPwU-SI-r&U_I*bTjkfVQO;?H+?E8zVki`muli9ZkS4+5hc(`e3v z+M{6YtF29geQHNJAqUm&+e(XFKV`_EcN*qW3drjF$rziC(Sc$Tq< z3zw~6ueB0uwiEl#c*gfN5j)ogV#9Yd4>Q>RM$@qOw_!S7XTwzU86@>vO)vw;6*Ex3 zO+Jhn_~^I)#}Y)k;YVszW<$)F_qc}j&a-Y}qjX*Ln2&H*>C@SKSN)6J2Nm^qu+!?1 z&4k(^#1E@*w`xd3GNVNXK^VkI<0OBX&sm(%l3}!49h45_GDf)EMUh90a~nQT@+>E_ zJb$f-J9zw)1uMjJq$_grLWlqna8-ow^OK2E`A-mfQU;*lf1Ty4%pueXe>nYevW4kG zqc&eYj$ebLrBDf)VqL^35T5xh>Q-m-2yEVSzu2mTV@oDD*g0!htrk9Vs||l?g^N3? z`7RzeP(-4l{D}4ENz8EVw9$szJFxIc7AKcU48f5hR3ir0S!Oy-Ci-yJ;w>}YZyHU* z)~+}Yy?92F#t)kL!(&Ixej>s%>Yh||Mz2%#em4yF&pocv^}r0QjNH3T5%ko5CVAnb z7BdM4qg8TWyYOq^-P2&SN;-cXcX;ojP}tVEx4!Ow#CKs+)Wy}tu!{{tvZF=T-F^?Z z&|t6ct!d?N>pS}6>|aYlvvXDprV85=x3HwR%M5Aj`a5KeiVxeZG4RuwRwqnL>D(lu zPoF<}@bo*(BPwY><6P#vHB;LRo&Wx@*E(5Wd&Dp{8(RW)o&mTCh2789nDbxBiA96mg8 zD%m=DDw1HYa}MlWe^Y9(*AL*#7i&&<;*^0Bsd_Ted6$-950WhL*Lnw6|g&q_Li zb82^#S(m1@1@^y8s#Xz)3ivtae$okBZ4W?sFk6TIA*ox*$4=i$-Zh0Q>FC^{8+;r; zelAxHbL)Jrh^?x<8Qo?PX=6&+t@68K_oC*y&Rg=lqI*`}x{oxQVwF0XUk!Z!wPk-L zWP4XMBNHsV$ee$;(XMBmvcMLJ3)F+~nw1V%v~-C|=^zFXVp}}KWJSX!=B^Ge5<##% znXd$VlA1mUQyJ_jz{nAjlOk~I+kI4a@@9uE(MVJqDH=6izvspe!`Z@V_(LQ7p}4Q3 z(lLjZSbu;${7H*Fe7kJjvEg59IsdKN%^MP%oiimOX^MY}q!(d(J9Nw^6Kybre{X-* zLj}IoY`lKT5csk773^W`FPOCnlEGoKlOk=Em+-*^XhDi$|2$CIMS z3z?A_3GZIV52U$(42Cklrmk@Bf7O9&~N>(^=xSx+9 z9&-ORyXL+b?YbdYb`tAg*(m;L&x~z&%wkyWzzUfiT2Zx=`0FZ$wi<$ng@>ldLL-0y z(j6~ltSsZ?7ca~7U~Po_0`hbp*og>v0TJjowS#}m;JP7-HL$lzrXhYS_7sUCoHt1q z^-h-6%&6er0}=O2My)44hI^H9{md{=fz0y&#}|fzB)vxqGewjcI_2%J{>gpCD=b+F zFN0*fESc}gM;Ss(VlYZk12&QwsMkMAZHi5q5E=o%wB40$!C*y9yg7v~*a*^$G6~uD z;^cp_dijXjeR0j({W(=y;`PHGi}Wo&zE=0QZj9*lMLf%AdCdAr##vE5#8CFW0N&O0 zGImv7B;z#6rq+as%>s1;jkB@(;uy-k?(1dmR>9&$e8$iojU14@IK=vL6Fh;FIcoGVMnB(aEGQ~7w-a~Cz>?OyTBu`(b_!k6$XKcPRmrP zge#f`Ig_-Y6YJbzExJ@d7bYa0qZe25)BNJk>PB>o$L7 zl%ZB1@af;Zw{Be_l6X>||l?HzIaZ(&jy*iuZ~c~jGa z`%g{3N?}vdvc3plwGrsqzU-mRrPqzM@#Wi}|E(B=sv-LD9Q2xMLWozW2mdyGFOxZg z??#ALvznaf%SYwant8tLMdg);rlEgWHNgKhrdPyf^!T8v@}pM*WDEgRsk8=|JFZy%Nd^#;$F!uF=LLUNKw-Xk1yW)yt97;c zn;)GC(j6@ z(M%H{$ms~AMo?k_8whcu0Pw&~ECw6dTr`l*;@n9y=xUiDIs(jr`ruv@6@k|q^7hUh zIp;KvpMZTE&}f#i!uRAW$?I0heek&=wKgH^!>~tqh|22)1CLaZH^+Yq#Cr}_fG!s4 zwa7!`!y^VCCE$_F3XWZsq?7@?Fl&*|m&Ijr$$0gw;=!Hf7`AP(ZEb(Z)<{Kbf*9El z?r54;pQYFAI?h*FZIH)q*W(DivRcL;-|1h;w` z5gP)6%PHCr;hvq*EQWu5P|`8)%2k)M%)2O2lb2Z+6t4y2Gi??rYONb^1PYm!O;Lud zUxH>A_2c+*M({+0e;3nI_LCT9MRwgAmzj5SQ}!{eJ}-Um6Z1l7qkSH z!y9R)Qht;q^M!v*;bF);CUYb=oR$5_9KGoixHXKRXY1w^_WWaL&{f?JCyTDp+mIJs zR1FUWBKY^s4K7~g4N;kF*3g0Z-x?jL3`nd)XRBV>)gq-yCiTBt_b;0XE%DkpK`n`# z6Q!Q+NxH&clDkRv$Wk14;QW)@i)u47m?5$ob-n zB41E(&-uZK)TrYlpk$E$kqO!e&%9-cHr{w^>3fP@B{0r+p=5BMt5&JT$jtKJwO=?6Rm`ZCvKnzhlQX}WuYUbOd6Rr;7#4;zzS2jeVSE^N85DYbX|3pMG@#R<~;H!gZT8-o?i4 z=++m7Vd(8Ub)`X7y}tTTYojSfh(0u*Wu@;lHfV}B@VfiTl-9VZTHDHdtf8GUw`yyt zueyJRw&q3G3c$V%8=z>4-m)5k)LSj&4bs|Yb;Y#z2RBShkLvQNsKPg#EyAXFa~qw& z?gi5LLHTJ|8bO3TnSWNYc~}{w&%0no)kPP+E?QZ1XGvCS5>t;9F`0vEelqXWBMRSZ z(X>0s`jkPakAK|Uc%Q^a@LyEXZlm3Ys8)a5Wjbq|rEPPYL3XW{#68EZ;#&|O96W0C z5p#ueEf7Ew87lF{h;1@5gOStShjm%&LuvYVG<$0T2-_9X@jJOS_R3twK9rlr7jJ^D z_x3;hd#`Jfs+${!7M*+gX7z^RZ}Fbc_t?7D!J4jr@oTSZ0G9w|{f^N99}HdZ?SFs# zUtZUHq+V||3`~k~79I~Qjqx{S6xOSa#JANC6L^|-ypBN>J0961Jyj&>nYwKZEIC^= zlq%evX9tYpzj|Hoi71vyUDUTvPCt!fm>hwTqtEjliVtIS2AM`U5~pIvduqN9>(g)_ z{35muMk6avDgrU`^MXORvK*2Hfc3E+*-U_%pXPd?U<5Y~^o zN^FM6dNAz8vmLI+h~GUFPwVmb+|KSqQ$9Towxue!Cev-=*OTwqbwKIDYRj6?2-d8I#PGv|&(Dn$#!87*G|?s~TGK=@1WG zt!!69Rhfz!KEnI_VVN}@2rF%AbsWrQ8{dR$g<1*_60u5DVRoQTm08&oUeqO?ko}ja z?7!}qCuPfE?WDogXtBWu4HF^1lz=@;_JP3L-cOczr?F-w=20>t&C-86^<9o$!M;$L zhnqXNFcTBE&bTJQQWsEBTajs{E;4rFM4O~mG%+YGM%4?|hl<8B!&tiJzukcSyz{f+GNKbHWl97G+h3|NI29$EAfOXvFffr28IE$GNLyd z!vsD_jlQ-%2eN1DAke79lOVrsJ_@oy@TReaJ_Ai|0eE@K5ea`tVl09Ft6@7U(K77j zwm#J+Zt7GqLhsb??^VAoo3Kg^RojNs)?H}k*fKWav_@7rY^ABYld!qFna1mPl9`~X z!>yeZX@aV|+Il06-CYC{$#A^Y{>g1ZT5qJ9jJG7Bw2ANKE)mkh4Wjp;olRKEP1lHK zmD*|(zHlbq2ibousU@bY7O`wxc1x7Duw3FJ+T-Z0N_^c!nI^v<*CoIJYF?M8%jr198(cLQYhgf< zF0oCpa4H|?ko8K6YB4%u33+SymREKz$^}nFTD$GdL z%{u9U=~;hehz^L42vnW}2pdQ)K(13U5$N3_(M`2N3FBPW1-C6p{xo4Hz8piK24j*e z69iCN;oA3myFFeFP3xkldV~&zNSm8#0WFO*Ep4HQFX>oPLSC6V(Q*C0zD(Gvx~5Ay z4&LxpQbx0vbPPZBHh_v<_^wQR6q6uqwPqqylf!=}%;KWnrFJ!``klo^@J5sicu-=f zpy0!2vD-Dutfj3OYMdR~4>SF+%<32z_GA?fvUc!hqgl>{G^^GI1+uB7x)hae4V;w$ z9K=#05J)Sbsj$PG6#1O6`Iw=D@1I^ge@2)%PQ<5|c@l#c6h?`WdEFjed_fYwRWj&=?0nb4&5=t}v<$4Wmle zl#-BJG;vf($9@1|9ULN^ySoK pS$>ttRzRbDE>2E+638^+*5sW}R7F_XKrRpj!nZ683`~zfJOF;!FpU5J delta 16617 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 RfdmDC@GT1i!-Gd49so9UF=PM$ diff --git a/extensions/vscode/media/dashboard.js b/extensions/vscode/media/dashboard.js index 647550e..980c5ff 100644 --- a/extensions/vscode/media/dashboard.js +++ b/extensions/vscode/media/dashboard.js @@ -853,21 +853,23 @@ document.addEventListener('click',function(e){ menu._sessionId=diffEl.dataset.sessionId||''; menu._shellPid=parseInt(diffEl.dataset.shellPid||'0',10); menu._sessionNick=diffEl.dataset.sessionNick||''; - var _fmItem=function(fm,icon,label,color){ - return '
    '+icon+''+label+'
    '; + var _sep='
    '; + var _fmItem=function(fm,icon,label,color,hint){ + return '
    '+icon+''+label+''+(hint?''+hint+'':'')+'
    '; }; - var _mHtml = _fmItem('diff', menu._isNew||menu._isDeleted?'↗':'⇄', menu._isNew||menu._isDeleted?'Open file':'Open diff'); - _mHtml += _fmItem('copy','⧉','Copy path'); + var _mHtml = _fmItem('diff','⇄', menu._isNew||menu._isDeleted?'Open file':'Open diff'); + if(menu._isNew||menu._isDeleted) _mHtml = _fmItem('diff','↗','Open file'); + _mHtml += _fmItem('copy','⊹','Copy path'); if(menu._totalChanged>=50){ - var _warnTier=menu._totalChanged>=150?'🔴':'⚠'; - _mHtml += '
    '; - _mHtml += _fmItem('explain-change','🔍',_warnTier+' Explain this change','#89ddff'); + var _tc=menu._totalChanged; var _wHint='+'+menu._added+' / -'+menu._deleted; + _mHtml += _sep; + _mHtml += _fmItem('explain-change','⊙','Explain this change','#89ddff',_wHint); } if(menu._lineCount>=500){ - var _lTier=menu._lineCount>=1000?'🔴':menu._lineCount>=800?'🟠':'🟡'; - if(menu._totalChanged<50) _mHtml += '
    '; - _mHtml += _fmItem('refactor-here','⚡',_lTier+' Refactor in this session','#c792ea'); - _mHtml += _fmItem('refactor-new','◈','Refactor in new session','#82aaff'); + var _lcHint=menu._lineCount+'L'; + if(menu._totalChanged<50) _mHtml += _sep; + _mHtml += _fmItem('refactor-here','↺','Refactor in this session','#c792ea',_lcHint); + _mHtml += _fmItem('refactor-new','⊕','Refactor in new session','#82aaff'); } menu.innerHTML=_mHtml; var rect=diffEl.getBoundingClientRect(); From 689dadc6dfba193dca4878287d14ceb0ddaf77b0 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:40:35 -0400 Subject: [PATCH 26/29] fix: consistent emoji icons in file menu, colored +/- diff stats in hints --- extensions/vscode/agentboard-2.3.0.vsix | Bin 59397 -> 59495 bytes extensions/vscode/media/dashboard.js | 26 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 1a2fabcf694f6ce95ddc942ff4bf697c5f86df30..1eee43808eec66f236d758008a02bf05f113a666 100644 GIT binary patch delta 16481 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 JQXVq^0RUhx1keBg delta 16389 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'+icon+''+label+''+(hint?''+hint+'':'')+'
'; + return '
'+icon+''+label+''+(hint?''+hint+'':'')+'
'; }; - var _mHtml = _fmItem('diff','⇄', menu._isNew||menu._isDeleted?'Open file':'Open diff'); - if(menu._isNew||menu._isDeleted) _mHtml = _fmItem('diff','↗','Open file'); - _mHtml += _fmItem('copy','⊹','Copy path'); + var _diffHint=''; + if(menu._added||menu._deleted){ + _diffHint=(menu._added?'+'+menu._added+'':'') + +(menu._added&&menu._deleted?' / ':'') + +(menu._deleted?'-'+menu._deleted+'':''); + } + var _mHtml = _fmItem('diff', menu._isNew||menu._isDeleted?'↗️':'↔️', menu._isNew||menu._isDeleted?'Open file':'Open diff','#d4d4d4',_diffHint); + _mHtml += _fmItem('copy','📋','Copy path'); if(menu._totalChanged>=50){ - var _tc=menu._totalChanged; var _wHint='+'+menu._added+' / -'+menu._deleted; + var _wHint=(menu._added?'+'+menu._added+'':'') + +(menu._added&&menu._deleted?' / ':'') + +(menu._deleted?'-'+menu._deleted+'':''); _mHtml += _sep; - _mHtml += _fmItem('explain-change','⊙','Explain this change','#89ddff',_wHint); + _mHtml += _fmItem('explain-change','🔍','Explain this change','#89ddff',_wHint); } if(menu._lineCount>=500){ - var _lcHint=menu._lineCount+'L'; + var _lcTier=menu._lineCount>=1000?'🔴':menu._lineCount>=800?'🟠':'🟡'; + var _lcHint=''+_lcTier+' '+menu._lineCount+'L'; if(menu._totalChanged<50) _mHtml += _sep; - _mHtml += _fmItem('refactor-here','↺','Refactor in this session','#c792ea',_lcHint); - _mHtml += _fmItem('refactor-new','⊕','Refactor in new session','#82aaff'); + _mHtml += _fmItem('refactor-here','⚡','Refactor in this session','#c792ea',_lcHint); + _mHtml += _fmItem('refactor-new','✨','Refactor in new session','#82aaff'); } menu.innerHTML=_mHtml; var rect=diffEl.getBoundingClientRect(); From bf81bb8ecfb47a399f96ec4f29dc8807f98779f7 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:42:37 -0400 Subject: [PATCH 27/29] =?UTF-8?q?feat:=20hover=20effects=20on=20file=20men?= =?UTF-8?q?u=20items=20=E2=80=94=20colored=20left=20accent=20+=20icon=20sc?= =?UTF-8?q?ale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 59495 -> 59614 bytes extensions/vscode/media/dashboard.js | 10 +++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 1eee43808eec66f236d758008a02bf05f113a666..c929b8ec0b4b7fde5ab9c82e0b39b6af2db51035 100644 GIT binary patch delta 15694 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'+icon+''+label+''+(hint?''+hint+'':'')+'

Ju*I(R!Qu0a;B>M()egU0m{zpyYMVK9kbRVAg}a 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 R7#RA$aq;ir5ElQ_{tqtEnB4#X delta 16587 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 if(isWorkflow){ stateEl.textContent='WORKFLOW';stateEl.style.color='#4a9eff'; dot.style.background='#4a9eff';dot.style.animation='pulse 0.6s ease-in-out infinite'; - } else if(isCompact){ - stateEl.textContent='COMPACTING';stateEl.style.color='#9c6af7'; - dot.style.background='#9c6af7';dot.style.animation='pulse 0.6s ease-in-out infinite'; } else { stateEl.textContent='LIVE';stateEl.style.color='#4caf50'; dot.style.background='#4caf50';dot.style.animation='pulse 1.5s ease-in-out infinite'; @@ -243,14 +239,10 @@ function applyUpdate(d){ } } txt('now-desc',d.streamDesc||''); - const ctxUsed=d.ctxPct!==null&&d.ctxPct!==undefined?Math.round(100-d.ctxPct):0; - const isCompacting=d.isInLongOp&&ctxUsed>=75; if(lopEl){ lopEl.className='now-longop'+(d.isInLongOp?' on':''); - lopEl.textContent=isCompacting - ?'⟳ Context at '+ctxUsed+'% — compaction in progress (will update when complete)' - :'⟳ Running long operation — last tool call completed >90s ago'; - lopEl.style.color=isCompacting?'#9c6af7':'#ff9800'; + lopEl.textContent='⟳ Running long operation — last tool call completed >90s ago'; + lopEl.style.color='#ff9800'; } } From 1c994eab83d54f629bd290456087eae2537e9f82 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 08:58:44 -0400 Subject: [PATCH 19/29] fix: surface skill name from ev.file fallback and include skill-only events in activity feed --- extensions/vscode/agentboard-2.3.0.vsix | Bin 55309 -> 55422 bytes extensions/vscode/out/dashboardPanel.js | 29 +++++++++++++++--------- extensions/vscode/src/dashboardPanel.ts | 23 +++++++++++-------- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index 07a543728db5abc02c4b6abfba752189f4f1c107..4e480db43fcbe385bbd2be350cb11066e21c5e9c 100644 GIT binary patch delta 15570 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 ZX+fitlU60b^iq@8R~eyv7ymcw{{Xw_@Gt-X delta 15367 zcmV+iJov-@umg>-0}N100|XQR00;;G89uQL=K=y5KC|@#jspT2KC^`elpq5bKGl;B z4;!;LCyN9E7(SC~k07(;E9e6P7(TPkFKh$?7(SCcG?W4uKC{v^yaWOmKC_THR0aYV zKC|XO2orx~I_M4o@bnoET}7QExmI4TBU8w-^Wd}Gw5v`%Ye!T-1_OL1tm>+Gfz%_M z4=zQ~M_L+zaS{oUc%FN5p;|ttT{2J;q=uEI;>cD!Th?Ggigg-vFzigLuYBL zE0PQV z6A^#M3}a2jVu=RN8Rh3o_%eZ=3?qUUSYXQLJm%;|BtmwH(WpU0r6i@)KMJA1g?K;$ zP`k4a31mR=fK|%{4cI5-;_NbIF|4Pb6JA;D_PfH`F1F^|1(h3d_Os0T0~A?Q-XVX* z<4~-8(F4I>bPerolUvRcM5YcjuPO5*p^q;ba{)e~}ZdK}#-gEIsS@Lts;|&1( z&kOtm4h1yw0#O!Boi4B-m|#6Jr&namNXX>^T`((xi6U#Khk=e{(Ak^{SW~n53mXHn zu%n)}C1>M7AIv<13j`BJy%GXg40LvgB9v5lrF!KaQiy%SBt^f>So{+YLl(P=Mk0Tp z(I+OwGEp=pM+Jf)d*oOT*04a(tS%U<*yviENlez4nSF zJjARrWM^xl!PUcKNm3>!MH_l@T~=2SF`udQD#!W!oR(KCPIa<`OiE-zdBnm|r$?Yc zw};nYKn`dWv5<_fas-owh$6JZ>wJGg=y;!v4;?yGE}o?XCoaGVB&LDb(Ul@4n{!M= z60n~UQju|#S;gI^1=vXJjSH{PrnWa`zjGLv=ByEr!iJfiwLQj!O%f(&UU^8ZM|8W^ zt@(D7q1Byq#-;yR(HN}Mve$}w51G$6jrd>D55S78)#UP#CH>$kh?tV?NC1BxcOyj- zVEETQe~{jYrG(L7M#f7Xg#;^gORZU6dv31-h!O#HLVrrZGXYyu9)$@_Saj77W;C9H zjTi{91YP@QX5b6rur7k}2u&q0=*?XK9iB06Ut@vdEXoC4!Lf}@Id~_s2fsbq$iejw&^o@O&Q(h0_J(pX3?B$-1DP#+?gROC;{ zE?6WM159YQx!W3zrkUnW{d9Enk$|77m`p}Qg3AGh&+`e9EV*C_t|xykK}8c?5jvK( zDMvL3S-f6T9-$j2SRaQK3{jcBWDx_3{TFtntm@Ew=Q+^Q?w99amDuf&kcG=dL**lh z;Grs8h+szM(r7U;y&kabP?xob8N-ajT1;629?%g+{iqorQjm!Vmh#BF1BYF-zrYq? zJa+*^d8MdVrrtZcs5pNBRT@T>QVC8=ZmbF$p#}ezr9jQ9Uc%0^W9R{R4Lm_@Lxp

'; + var c=color||'#d4d4d4'; + var base='padding:7px 14px;cursor:pointer;font-size:12px;color:'+c+';display:flex;align-items:center;gap:8px;transition:background .1s,border-color .1s;border-left:2px solid transparent;box-sizing:border-box'; + var over='this.style.background=\'rgba(255,255,255,.09)\';this.style.borderLeftColor=\''+c+'\''; + var out='this.style.background=\'\';this.style.borderLeftColor=\'transparent\''; + return '
' + +''+icon+'' + +''+label+'' + +(hint?''+hint+'':'') + +'
'; }; var _diffHint=''; if(menu._added||menu._deleted){ From 32fe7df03ef32794535357be7828052089444d2f Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:47:45 -0400 Subject: [PATCH 28/29] =?UTF-8?q?fix:=20use=20onmouseenter/onmouseleave=20?= =?UTF-8?q?for=20menu=20hover=20=E2=80=94=20prevents=20bubble=20cancel=20f?= =?UTF-8?q?rom=20child=20spans?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/vscode/agentboard-2.3.0.vsix | Bin 59614 -> 59620 bytes extensions/vscode/media/dashboard.js | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/vscode/agentboard-2.3.0.vsix b/extensions/vscode/agentboard-2.3.0.vsix index c929b8ec0b4b7fde5ab9c82e0b39b6af2db51035..742af1779e44fd78e10b233f252fc64144e54125 100644 GIT binary patch delta 16857 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

=ac68P#0tQS`D(LvXlkGC5c*$Vt)#s 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 delta 16853 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' - +''+icon+'' + return '

' + +''+icon+'' +''+label+'' +(hint?''+hint+'':'') +'
'; From 52b956a0be0e4975d8eaf06482ad3eda4d7ac2f9 Mon Sep 17 00:00:00 2001 From: Danil Ulmashev <44625595+da0101@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:57:51 -0400 Subject: [PATCH 29/29] chore: bump extension version to 2.3.1 --- extensions/vscode/agentboard-2.3.1.vsix | Bin 0 -> 59621 bytes extensions/vscode/package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 extensions/vscode/agentboard-2.3.1.vsix diff --git a/extensions/vscode/agentboard-2.3.1.vsix b/extensions/vscode/agentboard-2.3.1.vsix new file mode 100644 index 0000000000000000000000000000000000000000..eb62bc16fb19f234eb3c07b0e9e124f894ff80da GIT binary patch literal 59621 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 literal 0 HcmV?d00001 diff --git a/extensions/vscode/package.json b/extensions/vscode/package.json index a676c56..795d756 100644 --- a/extensions/vscode/package.json +++ b/extensions/vscode/package.json @@ -2,7 +2,7 @@ "name": "agentboard", "displayName": "Agentboard", "description": "Live agentboard session status — streams, agents, cost, risk", - "version": "2.3.0", + "version": "2.3.1", "publisher": "da0101", "license": "MIT", "engines": {