feat(panel): island, rail by day, companion mode beside a deep note, cached index and threads, obsidian skin for strips
This commit is contained in:
+10
-6
@@ -64,11 +64,6 @@ async function main(): Promise<void> {
|
||||
});
|
||||
await wait(80);
|
||||
|
||||
if (scene.startsWith("closed")) {
|
||||
press(document.querySelector('[aria-label="Switch conversation"]'));
|
||||
await wait(60);
|
||||
press(document.querySelector('[title="Show closed conversations"]'));
|
||||
}
|
||||
if (scene.startsWith("switcher")) {
|
||||
document
|
||||
.querySelector<HTMLButtonElement>('[aria-label="Switch conversation"]')
|
||||
@@ -104,13 +99,22 @@ async function main(): Promise<void> {
|
||||
}
|
||||
if (scene.startsWith("activity")) {
|
||||
for (const trigger of document.querySelectorAll<HTMLButtonElement>(
|
||||
'[data-slot="tabs-trigger"]'
|
||||
".rule-word"
|
||||
)) {
|
||||
if (trigger.textContent?.trim() === "Activity") {
|
||||
press(trigger);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (scene.startsWith("context")) {
|
||||
for (const trigger of document.querySelectorAll<HTMLButtonElement>(
|
||||
".rule-word"
|
||||
)) {
|
||||
if (trigger.textContent?.trim() === "Context") {
|
||||
press(trigger);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (scene.startsWith("branch")) {
|
||||
document
|
||||
.querySelector<HTMLButtonElement>(
|
||||
|
||||
@@ -23,6 +23,7 @@ function summary(
|
||||
): ConversationSummary {
|
||||
return {
|
||||
agent: "beaver-dispatcher",
|
||||
context_tokens: 84_000,
|
||||
created_at: ago(9 * HOUR),
|
||||
flags: {},
|
||||
last_activity_at: ago(4 * MINUTE),
|
||||
@@ -66,6 +67,7 @@ const ROWS: ConversationSummary[] = [
|
||||
status: "done",
|
||||
text: "правило для 62990 добавлено, проверь снаружи",
|
||||
},
|
||||
parent: MASTER,
|
||||
parent_row: 1,
|
||||
title: "ufw на dell",
|
||||
}),
|
||||
@@ -73,6 +75,7 @@ const ROWS: ConversationSummary[] = [
|
||||
id: BRANCH_BLASTER,
|
||||
kind: "branch",
|
||||
last_activity_at: ago(3 * HOUR),
|
||||
parent: MASTER,
|
||||
parent_row: 1,
|
||||
pending_question: true,
|
||||
title: "бластер - что заказать",
|
||||
@@ -292,6 +295,87 @@ export class FakeClient extends ApiClient {
|
||||
method: "GET",
|
||||
pattern: /^\/api\/agents$/,
|
||||
},
|
||||
{
|
||||
handle: () => ({ conversations: [], files: [], query: "" }),
|
||||
method: "GET",
|
||||
pattern: /^\/api\/search/,
|
||||
},
|
||||
{
|
||||
handle: () => ({ edges: [], nodes: [], root: "" }),
|
||||
method: "GET",
|
||||
pattern: /^\/api\/vault\/graph/,
|
||||
},
|
||||
{
|
||||
handle: ([, id]) => ({
|
||||
agent: {
|
||||
effort: "high",
|
||||
model: "claude-opus-5",
|
||||
name: "beaver-dispatcher",
|
||||
},
|
||||
context_tokens: 84_000,
|
||||
files: [
|
||||
{
|
||||
last_at: ago(MINUTE),
|
||||
other: 0,
|
||||
path: "📅 дни/2026-08-29.md",
|
||||
reads: 1,
|
||||
writes: 0,
|
||||
},
|
||||
{
|
||||
last_at: ago(5 * MINUTE),
|
||||
other: 0,
|
||||
path: "👤 люди/Марта Ветрова.md",
|
||||
reads: 2,
|
||||
writes: 1,
|
||||
},
|
||||
],
|
||||
history_tokens_est: 60_000,
|
||||
id,
|
||||
kind: "master",
|
||||
prompt: {
|
||||
bytes: 24_000,
|
||||
granules: [
|
||||
{
|
||||
bytes: 9000,
|
||||
path: "мета/бобер/промпты/гранулы/голос/role.md",
|
||||
tag: "role",
|
||||
tokens_est: 2800,
|
||||
},
|
||||
{
|
||||
bytes: 15_000,
|
||||
path: "мета/бобер/промпты/гранулы/диспетчер.md",
|
||||
tag: "dispatcher",
|
||||
tokens_est: 4700,
|
||||
},
|
||||
],
|
||||
tokens_est: 7500,
|
||||
},
|
||||
skills: [
|
||||
{
|
||||
path: "мета/бобер/скиллы/общие",
|
||||
set: "общие",
|
||||
skills: [
|
||||
{
|
||||
description: "серверы и стеки",
|
||||
name: "ops",
|
||||
path: "мета/бобер/скиллы/общие/ops",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
skills_tokens_est: 20,
|
||||
tool_counts: { Bash: 1, Read: 3 },
|
||||
tools: {
|
||||
allowed: null,
|
||||
disallowed: [],
|
||||
gateway: ["say", "spawn"],
|
||||
mcps: ["komodo"],
|
||||
},
|
||||
turns: 4,
|
||||
}),
|
||||
method: "GET",
|
||||
pattern: /^\/api\/conversations\/([^/]+)\/context/,
|
||||
},
|
||||
{
|
||||
handle: () => ({ conversations: this.rows }),
|
||||
method: "GET",
|
||||
|
||||
Reference in New Issue
Block a user